WO2019223427A1 - 一种数据块的编译码方法及装置 - Google Patents

一种数据块的编译码方法及装置 Download PDF

Info

Publication number
WO2019223427A1
WO2019223427A1 PCT/CN2019/081151 CN2019081151W WO2019223427A1 WO 2019223427 A1 WO2019223427 A1 WO 2019223427A1 CN 2019081151 W CN2019081151 W CN 2019081151W WO 2019223427 A1 WO2019223427 A1 WO 2019223427A1
Authority
WO
WIPO (PCT)
Prior art keywords
level
data
crc check
level crc
check code
Prior art date
Application number
PCT/CN2019/081151
Other languages
English (en)
French (fr)
Inventor
李庆华
王希
王文静
Original Assignee
大唐移动通信设备有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大唐移动通信设备有限公司 filed Critical 大唐移动通信设备有限公司
Publication of WO2019223427A1 publication Critical patent/WO2019223427A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Definitions

  • the present application relates to computer technology, and in particular, to a method and device for encoding and decoding data blocks.
  • the sender In the transmission data transmission system, the sender usually uses a layered method for data transmission, that is, a specific checksum is added to the transmission data of each layer. Therefore, when the receiver is processing, it usually needs to cache the lower layer in the upper layer. All the data is used for verification at this layer, which will inevitably bring the problems of large data cache and large processing delay.
  • the sender first performs a cyclic redundancy check (CRC) encoding on the initial transmission data, and adds a CRC at the transfer block (TB) level after transmitting the data.
  • CRC cyclic redundancy check
  • TB transfer block
  • CRC cyclic redundancy check
  • CRC cyclic redundancy check
  • the receiving end independently performs a CB-level CRC check for each piece of data. After the check is completed, each piece of data is buffered, and then a TB-level CSC check is performed uniformly.
  • This processing method will always buffer the entire target transmission data received in the processing unit, which will also cause problems such as a large amount of data buffering and a large processing delay.
  • the embodiments of the present application provide a method and a device for encoding and decoding a data block, which are used to solve the problems of a large amount of data cache and a large processing delay during the encoding and decoding process.
  • an embodiment of the present application provides a data block encoding method, including:
  • the sending end obtains the target transmission data and divides the target transmission data into n data blocks; wherein the target transmission data includes initial transmission data, and performs TB-level overall cyclic redundancy of the transmission block for the initial transmission data. I check the CRC code to obtain the corresponding TB-level CRC check code;
  • the transmitting end For the first to n-1 data blocks, the transmitting end performs parallel CRC encoding of the coding block CB level, obtains the corresponding CB level CRC check code, and sequentially adopts an iterative method for the first to n-1 data blocks.
  • the sender performs TB-level CRC encoding on the n-th data block to obtain a corresponding TB-level CRC check code, and according to the TB-level CRC check code corresponding to the n-th data block, C block-level CRC encoding is performed on n data blocks to obtain a corresponding CB-level CRC check code.
  • the transmitting end performs TB-level CRC encoding on the first to n-1 data blocks in an iterative manner in order to obtain a corresponding TB-level CRC check code, including:
  • the TB-level CRC check code obtained after performing TB-level CRC encoding on the i-1 data block is used as the TB-level CRC of the i-th data block.
  • the initial value of the check code is TB-level CRC encoded with the i-th data block to obtain the final TB-level CRC check code, where 1 ⁇ i ⁇ n-1.
  • the sending end performs TB level CRC encoding for the nth data block, and obtains a corresponding TB level CRC check code, including:
  • the sending end acquires a part of the transmission data in the n-th data block except for a TB-level CRC check code corresponding to the target transmission data;
  • the sending end performs TB-level CRC encoding on the TB-level _CRC check code corresponding to the partial transmission data and the n-1th data block to obtain a corresponding TB-level CRC check code.
  • the transmitting end performs CB level CRC encoding for the nth data block according to the TB level CRC check code corresponding to the nth data block, and obtains a corresponding CB level CRC check.
  • Code including:
  • the sending end acquires a part of the transmission data in the n-th data block except for a TB-level CRC check code corresponding to the target transmission data;
  • the sending end performs CB-level CRC encoding on the TB-level _CRC check code corresponding to the partial transmission data and the n-th data block to obtain a corresponding CB-level check code.
  • the transmitting end further includes:
  • an embodiment of the present application provides a method for decoding a data block, which is applied to the foregoing encoding method and includes:
  • the receiver performs CB-level CRC check on the first to n-th data blocks contained in the received target transmission data according to the entire cyclic redundancy check CRC check code of the corresponding CB-level code block;
  • the receiving end After the receiving end determines that the first to nth data blocks all pass the CB-level CRC check, it discards at least the first to n-1th data blocks and transmits the data to the first For each of the n-th data blocks, a TB-level CRC check is performed according to the TB-level CRC check code of the corresponding transmission block.
  • the receiving end determines that any data block fails the CB level CRC check, it notifies the receiving end to retransmit the arbitrary data block, and updates the arbitrary data block after receiving the retransmitted arbitrary data block.
  • a CB level CRC check code corresponding to one data block, and a TB level CRC check code corresponding to any one data block is updated.
  • the receiving end performs a TB-level CRC check on the first to n-th data blocks according to the corresponding TB-level CRC check code of the corresponding transmission block, including:
  • the receiving end discards transmission data in the first to n-1 data blocks, and discards a CB-level CRC check code corresponding to each of the first to n-th data blocks;
  • the receiving end splices a TB-level CRC corresponding to the first to n-1th data blocks, and performs a TB-level CRC check based on the spliced TB-level check code to obtain a TB-level CRC.
  • Initial CRC check result
  • the receiving end splicing the TB-level initial CRC check result with the nth data block, and performing a TB-level CRC check on the splicing result to obtain a TB-level target CRC check result;
  • the receiving end determines that the target CRC check result is zero, it determines that the target transmission data passes a TB-level CRC check.
  • the receiving end determines that the target CRC check result is not zero, it notifies the sending end to perform TB-level retransmission of the entire target transmission data.
  • an embodiment of the present application provides a data block encoding device, including:
  • a first encoding unit configured to obtain target transmission data and divide the target transmission data into n data blocks; wherein the target transmission data includes initial transmission data, and performs a transmission block TB on the initial transmission data Level cyclic redundancy check CRC code to obtain the corresponding TB level CRC check code;
  • a second encoding unit is configured to perform parallel CB-level CRC encoding on the first to n-1 data blocks, obtain corresponding CB-level CRC check codes, and sequentially iteratively target the first one.
  • TB-level CRC coding is performed on the n-1th data block to obtain the corresponding TB-level CRC check code;
  • a third encoding unit configured to perform TB-level CRC encoding for the n-th data block, obtain a corresponding TB-level CRC check code, and according to the TB-level CRC check code corresponding to the n-th data block , Performing CB-level CRC encoding on the n-th data block to obtain a corresponding CB-level CRC check code.
  • the TB-level CRC encoding is sequentially performed on the first to n-1 data blocks in an iterative manner, and when a corresponding TB-level CRC check code is obtained, the second encoding unit is configured to:
  • the TB-level CRC check code obtained after performing TB-level CRC encoding on the i-1 data block is used as the TB-level CRC of the i-th data block.
  • the initial value of the check code is TB-level CRC encoded with the i-th data block to obtain the final TB-level CRC check code, where 1 ⁇ i ⁇ n-1.
  • the third encoding unit when performing TB-level CRC encoding on the n-th data block and obtaining a corresponding TB-level CRC check code, is configured to:
  • TB-level CRC encoding is performed to obtain a corresponding TB-level CRC check code.
  • the third coding unit is configured to:
  • the third encoding unit is further configured to:
  • the encoded target transmission data is sent to a receiving end.
  • an embodiment of the present application provides a data block decoding device, which is applied to the foregoing encoding device and includes:
  • the first decoding unit is configured to perform CB-level CB-level check according to the entire cyclic redundancy check CRC check code of the CB-level corresponding coding block for the first to n-th data blocks included in the received target transmission data.
  • CRC check
  • a second decoding unit configured to receive, after determining that the first to nth data blocks have passed a CB-level CRC check, discard the transmission data in the first to n-1th data blocks, and For the first to n-th data blocks, a TB-level CRC check is performed according to the TB-level CRC check code of the corresponding transmission block.
  • the second decoding unit is further configured to:
  • the receiving end When it is used to determine that any data block fails the CB-level CRC check, the receiving end is notified to retransmit the any data block, and after receiving any retransmitted data block, update the any data A CB level CRC check code corresponding to the block, and updating a TB level CRC check code corresponding to any one of the data blocks.
  • the first decoding unit when performing a TB-level CRC check based on a corresponding TB-level CRC check code of the corresponding transmission block, is configured to:
  • the first decoding unit is further configured to:
  • the interaction unit is configured to, when it is determined that the target CRC check result is not zero, notify the sender to perform TB-level retransmission of the entire target transmission data.
  • an embodiment of the present application provides a storage medium that stores a program for implementing data block encoding.
  • the program is executed by a processor, the following steps are performed:
  • target transmission data and divide the target transmission data into n data blocks, where the target transmission data includes initial transmission data, and perform cyclic redundancy calibration on the transmission block of TB level for the initial transmission data.
  • Check the CRC code to obtain the corresponding TB-level CRC check code;
  • the CB-level CRC encoding of the coding block is performed in parallel to obtain the corresponding CB-level CRC check code, and iteratively is used to sequentially target the first to n-1 data.
  • the block performs TB-level CRC encoding to obtain the corresponding TB-level CRC check code;
  • For the n-th data block perform TB-level CRC encoding to obtain a corresponding TB-level CRC check code, and according to the TB-level CRC check code corresponding to the n-th data block, for the n-th data block
  • the data block is subjected to CB-level CRC encoding to obtain the corresponding CB-level CRC check code.
  • an embodiment of the present application provides a communication device including one or more processors;
  • One or more computer-readable media where instructions are stored on the readable medium, and when the instructions are executed by the one or more processors, cause the apparatus to execute the method according to any one of the foregoing first aspects .
  • an embodiment of the present application provides a storage medium, which is applied to the foregoing storage medium and stores a program for decoding data blocks.
  • the program is run by a processor, the following steps are performed:
  • the CB level CRC check is performed according to the corresponding cyclic redundancy check CRC check code of the corresponding coding block CB level;
  • the transmission data in the first to n-1th data blocks are discarded, and for the first to nth data blocks, For each data block, a TB-level CRC check is performed according to the TB-level CRC check code of the corresponding transmission block.
  • an embodiment of the present application provides a communication device including one or more processors;
  • One or more computer-readable media where instructions are stored on the readable medium, and when the instructions are executed by the one or more processors, cause the apparatus to perform the method according to any one of the second aspects above .
  • the CB-level CRC encoding is performed independently and in parallel for the first n-1 data blocks, and the TB level is iterated.
  • CRC encoding, and the n-th data block is first subjected to TB-level CRC encoding, and then CB-level CRC encoding. In this way, part of the encoding process is processed in parallel and iteratively, which effectively improves the encoding speed and reduces the processing delay.
  • the receiver performs independent CB-level CRC and TB-level CRC checks for each data block, and only caches the TB-level CRC check results, discarding at least the first n-1 data blocks. Data in. In this way, only the summary information of each data block can be retained to complete the final TB-level CRC check, thereby effectively reducing the amount of buffered data and reducing the processing delay.
  • FIG. 1 is a flowchart of encoding a data block by a transmitting end according to an embodiment of the present application
  • FIG. 2 is a schematic diagram of data block division in an encoding stage according to an embodiment of the present application
  • FIG. 3 is a flowchart of decoding a data block by a receiving end according to an embodiment of the present application
  • FIG. 4 is a schematic diagram of data block division in a decoding stage according to an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a functional structure of a transmitting end according to an embodiment of the present application.
  • FIG. 6 is a functional structure diagram of a receiving end according to an embodiment of the present application.
  • processing is performed in parallel and independently during the encoding stage, and only the segmented CRC check result is saved during the decoding stage.
  • the original transmission data is not cached, thereby reducing the amount of data buffering and processing delay.
  • the transmitting end divides the target transmission data into n data blocks, and performs the TB-level CRC in parallel except for the last data block to the first to n-1 data blocks.
  • Encoding and CB-level CRC encoding to generate corresponding CB-level check codes and TB-level check codes for the n-th data block, based on the CB-level CRC of the 1st to n-1th data blocks
  • the check code and the TB-level CRC check code perform TB-level CRC coding and CB-level CRC coding to obtain the CB-level CRC check code and the TB-level CRC check code for the nth data block.
  • Step 100 The transmitting end performs CRC encoding on the initial transmission data (ie, TB) to obtain a corresponding TB-level CRC check code, referred to as TB_CRC, and combines the obtained TB_CRC with the initial transmission data to obtain the target transmission data.
  • TB_CRC TB-level CRC check code
  • the length of the initial transmission data (ie, TB) is A bits
  • the length of the target transmission data is B bits.
  • Step 110 The transmitting end divides the target transmission data into n data blocks.
  • the transmitting end divides the target transmission data into n data blocks, where the data length of each data segment is Kbits.
  • Step 120 The sender performs CB-level CRC encoding on each data block in parallel for each of the first to n-1 data blocks, and obtains a corresponding CB-level CRC check code, which is referred to as CB_CRC for short.
  • Step 130 The sender performs TB-level CRC encoding on the first to n-1 data blocks in an iterative manner for the first to n-1 data blocks in order to obtain the corresponding TB-level CRC check.
  • Code referred to as TB_CRC '.
  • the so-called TB-level CRC encoding is sequentially performed on each data block in an iterative manner, which means that when the TB-level CRC encoding is performed on the i-th data block (1 ⁇ i ⁇ n-1) using a serial pipeline method ,
  • the TB-level CRC check code obtained after performing TB-level CRC encoding on the i-1 data block is used as the initial value of the TB-level CRC check code of the i-th data block, together with the i-th data block Perform TB-level CRC encoding to obtain the final TB-level CRC check code.
  • the sending end obtains n-1 corresponding TB_CRC's for the first to n-1 data blocks.
  • Step 140 For the nth data block, the transmitting end first performs TB-level CRC encoding to obtain a corresponding TB-level CRC check code.
  • the transmitting end first obtains part of the transmission data except the TB-level CRC check code (ie, TB_CRC) corresponding to the target transmission data in the n-th data block, and then transmits for the part
  • the data and the TB-level _CRC check code (TB_CRC ') corresponding to the n-1th data block are subjected to TB-level CRC encoding to obtain a corresponding TB-level CRC, referred to as TB_CRC ".
  • the above-mentioned partial transmission data refers to the CB part except the TB_CRC in the last data block. Since TB_CRC is a CRC check obtained by performing CRC encoding on the entire initial transmission data Therefore, when performing CRC encoding on the transmission data in the last nth data block, the TB_CRC must be removed first.
  • Step 150 The transmitting end performs CB-level CRC encoding for the n-th data block according to the TB-level CRC check code corresponding to the n-th data block, and obtains a corresponding CB-level CRC check code.
  • the transmitting end obtains part of the transmission data except the TB-level CRC check code corresponding to the target transmission data in the nth data block, and then, for the part of the transmission data and the nth data block, The TB-level _CRC check code corresponding to the data block is subjected to the CB-level CRC encoding to obtain the corresponding CB-level check code.
  • the target transmission data has been completely encoded, and the sender can send the encoded target transmission data to the receiver.
  • the receiving end independently performs a CB-level CRC check on each data block, and after all the data blocks have passed the CB-level CRC check , Discard the relevant data, and then perform a TB-level CRC check based on the TB-level CRC check code of each data block, thereby only buffering the TB-level CRC check result.
  • the detailed process for the receiver to decode a data block is as follows:
  • Step 300 The receiving end receives the encoded target transmission data, where the target transmission data includes n data blocks.
  • the target transmission data further includes a TB-level CRC check code (ie, TB_CRC ') and a CB-level CRC check code (ie, CB_CRC) corresponding to each data block, and further includes: TB-level CRC check code (ie, TB_CRC) corresponding to the target transmission data.
  • TB_CRC TB-level CRC check code
  • CB_CRC CB-level CRC check code
  • Step 310 The receiving end performs a CB-level CRC check on the first to n-th data blocks according to the corresponding CB-level CRC check code.
  • the CB-level check polynomial of the i-th data block can be defined as CB_CRC (i), and the CB_CRC of the i-th data block can be substituted into After CB_CRC (i), if the value of CB_CRC (i) is 0, it is determined that the i-th data block passes the CB level CRC check, that is, the data block is correct;
  • the sender When it is determined that any data block does not pass the CB-level CRC check, the sender needs to be notified to re-arrange the any data block, and after receiving any retransmitted data block, update the corresponding data block A CB-level CRC check code, and updating a TB-level CRC check code corresponding to any one data block.
  • Step 320 When the receiving end determines that all n data blocks pass the CB-level CRC check, it discards at least the transmission data in the first n-1 data blocks, and targets the first to n data blocks, respectively.
  • a TB-level CRC check is performed according to the corresponding transmission block TB-level CRC check code.
  • the receiving end will continue to perform the TB-level CRC check only after determining that all n data blocks have passed the CB-level CRC check.
  • the specific process is as follows:
  • the receiving end discards the transmission data for the first to n-1 data blocks. Specifically, as shown in FIG. 4, the receiving end sets the first n-1 data blocks, all of which are set to [0 , CB_CRC (i), NULL], optionally, as shown in Figure 4, the CB-level CRC check codes corresponding to the first to n-1th data blocks can be further discarded, which can further reduce The amount of cached data.
  • the receiving end splices a TB-level CRC check code (ie, TB_CRC ') corresponding to the first n-1 data blocks, and performs a TB-level CRC check based on the spliced TB-level check code (for example, the CRC-24A algorithm is used) to obtain a 24-bit TB-level initial CRC check result, which is optionally recorded as TB_CRC_BUF, and then the TB-level initial CRC check result is performed with the nth data block. Assemble and perform a TB-level CRC check (for example, using the CRC-24A algorithm) on the result of the joint, to obtain the final TB-level target CRC check result. Optionally, record it as TB_CRC_FINAL.
  • TB_CRC_FINAL If the value of TB_CRC_FINAL is 0, it means that the target transmission data as a whole passes the TB-level CRC check. If the value of TB_CRC_FINAL is not zero, the receiver needs to notify the sender to perform TB-level retransmission, that is, retransmit the entire Target transfers data.
  • the receiving end when performing a TB-level CRC check, only stitches the TB-level check code based on the CB-level CRC check result, thereby forming a complete equivalent summary of the target transmission data, and through peer-to-peer
  • the effectiveness summary performs a terabyte-level CRC check to achieve the overall check of the target transmission data.
  • the TB-level initial CRC check result is spliced with the nth data block, and then the TB-level CRC check is performed.
  • the TB-level initial CRC check result may be one of the TB-level CRC check code (ie, TB_CRC) corresponding to the n-th data block except the target transmission data.
  • TB_CRC TB-level CRC check code
  • a TB-level CRC check is performed.
  • the TB-level CRC check result obtained at this time can be recorded as TB_CRC_FINAL '. If TB_CRC_FINAL equals TB_CRC, it means that the target transmission data as a whole passes the TB level. CRC check. If TB_CRC_FINAL is not equal to TB_CRC, the receiver needs to notify the sender to perform TB-level retransmission, that is, retransmit the entire target transmission data.
  • the transmitting end includes at least a first encoding unit 51, a second encoding unit 52, and a third encoding unit 53, where:
  • a first encoding unit 51 is configured to obtain target transmission data and divide the target transmission data into n data blocks; wherein the target transmission data includes initial transmission data, and performs a transmission block on the initial transmission data.
  • TB-level cyclic redundancy check CRC coding to obtain the corresponding TB-level CRC check code;
  • the second encoding unit 52 is configured to perform parallel CB-level CRC encoding on the first to n-1 data blocks, obtain corresponding CB-level CRC check codes, and sequentially use the iterative method for the first TB-level CRC coding is performed on each of the n-1th data blocks to obtain corresponding TB-level CRC check codes;
  • the third encoding unit 53 is configured to perform TB-level CRC encoding for the n-th data block, obtain a corresponding TB-level CRC check code, and perform a TB-level CRC check corresponding to the n-th data block. Code, performing CB-level CRC encoding on the n-th data block to obtain a corresponding CB-level CRC check code.
  • the TB-level CRC encoding is sequentially performed on the first to n-1 data blocks in an iterative manner, and when a corresponding TB-level CRC check code is obtained, the second encoding unit 52 is configured to:
  • the TB-level CRC check code obtained after performing TB-level CRC encoding on the i-1 data block is used as the TB-level CRC of the i-th data block.
  • the initial value of the check code is TB-level CRC encoded with the i-th data block to obtain the final TB-level CRC check code, where 1 ⁇ i ⁇ n-1.
  • the third encoding unit 53 when performing TB-level CRC encoding on the n-th data block and obtaining a corresponding TB-level CRC check code, the third encoding unit 53 is configured to:
  • TB-level CRC encoding is performed to obtain a corresponding TB-level CRC check code.
  • the third encoding unit 53 is configured to:
  • the third encoding unit 53 is further configured to:
  • the encoded target transmission data is sent to a receiving end.
  • the receiving end includes at least a first decoding unit 61 and a second decoding unit 62.
  • the first decoding unit 61 is configured to perform CB level for the first to n data blocks included in the received target transmission data according to the entire cyclic redundancy check CRC check code of the corresponding CB level of the corresponding coding block. CRC check;
  • a second decoding unit 62 configured to receive, after determining that the first to nth data blocks have passed a CB-level CRC check, discard the transmission data in the first to n-1th data blocks, For the first to n-th data blocks, a TB-level CRC check is performed according to the corresponding TB-level CRC check code of the corresponding transmission block.
  • the second decoding unit 62 is further configured to:
  • the receiving end When it is used to determine that any data block fails the CB-level CRC check, the receiving end is notified to retransmit the any data block, and after receiving any retransmitted data block, update the any data A CB level CRC check code corresponding to the block, and updating a TB level CRC check code corresponding to any one of the data blocks.
  • the first decoding unit 61 when performing TB-level CRC check on the first to n-th data blocks according to the corresponding TB-level CRC check code of the corresponding transmission block, the first decoding unit 61 is configured to:
  • the first decoding unit 61 is further configured to:
  • the interaction unit is configured to, when it is determined that the target CRC check result is not zero, notify the sender to perform TB-level retransmission of the entire target transmission data.
  • An embodiment of the present application provides a storage medium that stores a program for implementing data block encoding.
  • the program is run by a processor, the following steps are performed:
  • Target transmission data Acquiring target transmission data, and dividing the target transmission data into n data blocks; wherein the target transmission data includes initial transmission data, and performing cyclic overall calibration of the transmission block TB level for the initial transmission data Check the CRC code to obtain the corresponding TB-level CRC check code;
  • the CB-level CRC encoding of the coding block is performed in parallel to obtain the corresponding CB-level CRC check code, and iteratively is used to sequentially target the first to n-1 data.
  • the block performs TB-level CRC encoding to obtain the corresponding TB-level CRC check code;
  • For the n-th data block perform TB-level CRC encoding to obtain a corresponding TB-level CRC check code, and according to the TB-level CRC check code corresponding to the n-th data block, for the n-th data block
  • the data block is subjected to CB-level CRC encoding to obtain the corresponding CB-level CRC check code.
  • An embodiment of the present application provides a communication device including one or more processors;
  • One or more computer-readable media where instructions are stored on the readable medium, and when the instructions are executed by the one or more processors, cause the apparatus to execute the method according to any one of the foregoing.
  • An embodiment of the present application provides a storage medium, which is applied to the foregoing storage medium and stores a program for decoding a data block.
  • the program is run by a processor, the following steps are performed:
  • the CB level CRC check is performed according to the entire cyclic redundancy check CRC check code of the corresponding coding block CB level;
  • the transmission data in the first to n-1th data blocks are discarded, and for the first to nth data blocks, For each data block, a TB-level CRC check is performed according to the TB-level CRC check code of the corresponding transmission block.
  • An embodiment of the present application provides a communication device including one or more processors;
  • One or more computer-readable media where instructions are stored on the readable medium, and when the instructions are executed by the one or more processors, cause the apparatus to execute the method according to any one of the foregoing.
  • the CB-level CRC encoding is performed independently and in parallel for the first n-1 data blocks and TB-level CRC encoding is performed in an iterative manner, and the n-th data block is first subjected to TB-level CRC encoding and then CB-level CRC encoding.
  • part of the encoding process is processed in parallel and iteratively, which effectively improves the encoding speed and reduces the processing delay.
  • the receiver performs independent CB-level CRC and TB-level CRC checks for each data block, and only caches the TB-level CRC check results, discarding at least the first n-1 data blocks. Data in. In this way, only the summary information of each data block can be retained to complete the final TB-level CRC check, thereby effectively reducing the amount of buffered data and reducing the processing delay.
  • this application may be provided as a method, a system, or a computer program product. Therefore, this application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, this application may take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to work in a specific manner such that the instructions stored in the computer-readable memory produce a manufactured article including an instruction device, the instructions
  • the device implements the functions specified in one or more flowcharts and / or one or more blocks of the block diagram.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of steps can be performed on the computer or other programmable device to produce a computer-implemented process, which can be executed on the computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more flowcharts and / or one or more blocks of the block diagrams.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本申请涉及计算机技术,特别涉及一种数据块的编译码方法及装置,用以解决编译码过程中存在的数据缓存量大,处理时延较大的问题。该方法为:在编码阶段,采用了并行方式进行CB级的CRC编码,以及采用迭代方式进行TB级的CRC编码,从而有效提高了编码速度,降低处理时延,而在译码阶段,确定各个数据块通过CB级的CRC校验后,仅保留每个数据块的摘要信息,以完成最终的TB级的CRC检验,从而有效降低缓存数据量,同时也降低了处理时延。

Description

一种数据块的编译码方法及装置
本申请要求在2018年5月25日提交中国专利局、申请号为201810517289.2、申请名称为“一种数据块的编译码方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术,特别涉及一种数据块的编译码方法及装置。
背景技术
在传输的数据传输系统中,发送端通常会采用分层方式进行数据传输,即在每一层的传输数据中添加特定的校验和,因此,接收端在处理时,通常需要在高层缓存低层的全部数据,用于本层的校验,这必然会带来数据缓存量大,处理时延较大的问题。
例如,对于编码过程而言,发送端会先对初始传输数据进行全体循环冗余校验(Cyclic Redundancy Check,CRC)编码,并在传输数据后添加传输块(Transfer Block,TB)级的CRC校验码,获得目标传输数据,然后,再对目标传输数据进行分段,并针对每一段数据再进行CRC编码,分别获得每一段数据编码块(Code Block,CB)级的CRC校验码,然后,再进行传输。这种处理方式,需要两倍的CRC处理时长,会在编码过程中造成数据缓存量大,处理时延较大的问题。
又例如,对于译码过程而言,接收端对针对每一段数据独立进行CB级的CRC校验,校验完毕后,会将各段数据进行缓存,然后,统一进行TB级的CSC校验。这种处理方式,会将接收的全体目标传输数据在一直缓存在处理单元中,从而也会造成数据缓存量大,处理时延较大的问题。
有鉴于此,需要设计一种新的数据块的编译码方法,以克服上述缺陷。
发明内容
本申请实施例提供一种数据块的编译码方法及装置,用以解决编译码过程中存在的数据缓存量大,处理时延较大的问题。
本申请实施例提供的具体技术方案如下:
第一方面,本申请实施例提供一种数据块的编码方法,包括:
发送端获取目标传输数据,并将所述目标传输数据划分为n个数据块;其中,所述目 标传输数据中包含初始传输数据,以及针对所述初始传输数据进行传输块TB级的全体循环冗余校验CRC编码,获得相应的TB级的CRC校验码;
发送端针对第1个至第n-1个数据块,并行进行编码块CB级的CRC编码,获得相应的CB级的CRC校验码,以及采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码;
发送端针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,并根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。
可选的,所述发送端采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码,包括:
针对第i个数据块进行TB级的CRC编码时,将针对i-1个数据块进行TB级的CRC编码后获得的TB级的CRC校验码,作为第i个数据块的TB级的CRC校验码初始值,与第i个数据块一起进行TB级的CRC编码,获得最终的TB级的CRC校验码,其中,1≤i≤n-1。
可选的,所述发送端针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,包括:
所述发送端获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据;
所述发送端针对所述部分传输数据和所述第n-1个数据块对应的TB级的_CRC校验码,进行TB级的CRC编码,获得相应的TB级的CRC校验码。
可选的,所述发送端根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码,包括:
所述发送端获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据;
所述发送端针对所述部分传输数据和所述第n个数据块对应的TB级的_CRC校验码,进行CB级的CRC编码,获得相应的CB级的校验码。
可选的,所述发送端在对所述第n个数据块进行TB级的CRC编码以及CB级的CRC编码之后,进一步包括:
将编码完毕的所述目标传输数据,发往接收端。
第二方面,本申请实施例提供一种数据块的译码方法,应用于上述编码方法,包括:
接收端针对接收的目标传输数据中包含的第1个至第n个数据块,分别根据相应的编 码块CB级的全体循环冗余校验CRC校验码进行CB级的CRC校验;
所述接收端确定所述第1个至第n个数据块均通过CB级的CRC校验后,至少丢弃第1个至第n-1个数据块中的传输数据,并针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。
可选的,进一步包括:
所述接收端确定任意一个数据块未通过CB级的CRC校验时,通知接收端重新传输所述任意一个数据块,并在接收到重新传输的所述任意一个数据块后,更新所述任意一个数据块对应的CB级的CRC校验码,以及更新所述任意一个数据块对应的TB级的CRC校验码。
可选的,所述接收端针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验,包括:
所述接收端丢弃第1个至第n-1个数据块中的传输数据,以及丢弃所述第1个至第n个数据块各自对应的CB级的CRC校验码;
所述接收端对所述第1个至第n-1个数据块对应的TB级的CRC进行拼接,并基于拼接后的TB级的校验码进行TB级的CRC校验,获得TB级的初始CRC校验结果;
所述接收端将所述TB级的初始CRC校验结果与第n个数据块进行拼接,并针对拼接结果进行TB级的CRC校验,获得TB级的目标CRC校验结果;
所述接收端确定所述目标CRC校验结果为零时,确定所述目标传输数据通过TB级的CRC校验。
可选的,进一步包括:
若所述接收端确定所述目标CRC校验结果不为零,则通知发送端进行TB级重新传输整个的目标传输数据。
第三方面,本申请实施例提供一种数据块的编码装置,包括:
第一编码单元,用于获取目标传输数据,并将所述目标传输数据划分为n个数据块;其中,所述目标传输数据中包含初始传输数据,以及针对所述初始传输数据进行传输块TB级的全体循环冗余校验CRC编码,获得相应的TB级的CRC校验码;
第二编码单元,用于针对第1个至第n-1个数据块,并行进行编码块CB级的CRC编码,获得相应的CB级的CRC校验码,以及采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码;
第三编码单元,用于针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,并根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个 数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。
可选的,采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码时,所述第二编码单元用于:
针对第i个数据块进行TB级的CRC编码时,将针对i-1个数据块进行TB级的CRC编码后获得的TB级的CRC校验码,作为第i个数据块的TB级的CRC校验码初始值,与第i个数据块一起进行TB级的CRC编码,获得最终的TB级的CRC校验码,其中,1≤i≤n-1。
可选的,所述针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码时,所述第三编码单元用于:
获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据;
针对所述部分传输数据和所述第n-1个数据块对应的TB级的_CRC校验码,进行TB级的CRC编码,获得相应的TB级的CRC校验码。
可选的,所述根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码时,所述第三编码单元用于:
获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据;
针对所述部分传输数据和所述第n个数据块对应的TB级的_CRC校验码,进行CB级的CRC编码,获得相应的CB级的校验码。
可选的,所述第三编码单元进一步用于:
在对所述第n个数据块进行TB级的CRC编码以及CB级的CRC编码之后,将编码完毕的所述目标传输数据,发往接收端。
第四方面,本申请实施例提供一种数据块的译码装置,应用于上述编码装置,包括:
第一译码单元,用于针对接收的目标传输数据中包含的第1个至第n个数据块,分别根据相应的编码块CB级的全体循环冗余校验CRC校验码进行CB级的CRC校验;
第二译码单元,用于接收端确定所述第1个至第n个数据块均通过CB级的CRC校验后,丢弃第1个至第n-1个数据块中的传输数据,并针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。
可选的,所述第二译码单元进一步用于:
用于确定任意一个数据块未通过CB级的CRC校验时,通知接收端重新传输所述任意 一个数据块,并在接收到重新传输的所述任意一个数据块后,更新所述任意一个数据块对应的CB级的CRC校验码,以及更新所述任意一个数据块对应的TB级的CRC校验码。
可选的,针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验时,所述第一译码单元用于:
丢弃第1个至第n-1个数据块中的传输数据,以及丢弃所述第1个至第n个数据块各自对应的CB级的CRC校验码;
对所述第1个至第n-1个数据块对应的TB级的CRC进行拼接,并基于拼接后的TB级的校验码进行TB级的CRC校验,获得TB级的初始CRC校验结果;
将所述TB级的初始CRC校验结果与第n个数据块进行拼接,并针对拼接结果进行TB级的CRC校验,获得TB级的目标CRC校验结果;
确定所述目标CRC校验结果为零时,确定所述目标传输数据通过TB级的CRC校验。
可选的,所述第一译码单元进一步用于:
交互单元,用于在确定所述目标CRC校验结果不为零时,通知发送端进行TB级重新传输整个的目标传输数据。
第五方面,本申请实施例提供一种存储介质,存储有用于实现数据块的编码的程序,所述程序被处理器运行时,执行以下步骤:
获取目标传输数据,并将所述目标传输数据划分为n个数据块,其中,所述目标传输数据中包含初始传输数据,以及针对所述初始传输数据进行传输块TB级的全体循环冗余校验CRC编码,获得相应的TB级的CRC校验码;
针对第1个至第n-1个数据块,并行进行编码块CB级的CRC编码,获得相应的CB级的CRC校验码,以及采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码;
针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,并根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。
第六方面,本申请实施例提供一种通信装置,包括一个或多个处理器;以及
一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述第一方面任一项所述的方法。
第七方面,本申请实施例提供一种存储介质,应用于上述的存储介质,存储有用于数据块的译码的程序,所述程序被处理器运行时,执行以下步骤:
针对接收的目标传输数据中包含的第1个至第n个数据块,分别根据相应的编码块CB 级的全体循环冗余校验CRC校验码进行CB级的CRC校验;
确定所述第1个至第n个数据块均通过CB级的CRC校验后,至少丢弃第1个至第n-1个数据块中的传输数据,并针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。
第八方面,本申请实施例提供一种通信装置,包括一个或多个处理器;以及
一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述第二方面任一项所述的方法。
本申请有益效果如下:
本申请实施例中,在编码阶段,发送端将目标传输数据划分为n个数据块后,针对前n-1个数据块,各自独立并行进行CB级的CRC编码,以及采用迭代方式进行TB级的CRC编码,而第n个数据块,则先进行TB级的CRC编码,然后,再进行CB级的CRC编码。这样,由于部分编码过程采用了并行方式及迭代方式进行处理,从而有效提高了编码速度,降低处理时延。
而在译码阶段,接收端针对每个数据块进行独立的CB级的CRC校验以及TB级的CRC校验,并只缓存TB级的CRC校验结果,至少丢弃前n-1个数据块中的传输数据。这样,仅保留每个数据块的摘要信息即可完成最终的TB级的CRC检验,从而有效降低缓存数据量,同时也降低了处理时延。
附图说明
图1为本申请实施例中发送端对数据块进行编码流程图;
图2为本申请实施例中编码阶段数据块划分示意图;
图3为本申请实施例中接收端对数据块进行译码流程图;
图4为本申请实施例中译码阶段数据块划分示意图;
图5为本申请实施例中发送端功能结构示意图;
图6为本申请实施例中接收端功能结构示意图。
具体实施方式
为了解决编译码过程中存在的数据缓存量大,处理时延较大的问题,本申请实施例中,在编码阶段并行独立处理,在译码阶段,仅保存分段的CRC校验结果,而不缓存原始传输数据,从而降低了数据缓存量降低,减小了处理时延。
下面结合附图对本申请优选的实施方式作出进一步详细说明。
本申请实施例中,在编码阶段,发送端会将目标传输数据划分为n个数据块,并且除最后一个数据块之外第1个至第n-1个数据块,并行进行TB级的CRC编码和CB级的CRC编码,生成相应的CB级的校验码和TB级的校验码而针对第n个数据块,则基于第1个至第n-1个数据块的CB级的CRC校验码和TB级的CRC校验码,进行TB级的CRC编码和CB级的CRC编码,获得第n个数据块的CB级的CRC校验码和TB级的CRC校验码。
具体的,参阅图1所示,本申请实施例中,发送端针对数据块进行编码的详细流程如下:
步骤100:发送端将初始传输数据(即TB)进行CRC编码,获得相应的TB级的CRC校验码,简称为TB_CRC,并将获得的TB_CRC与初始传输数据进行合并,获得目标传输数据。
例如,参阅图2所示,假设初始传输数据(即TB)的长度为A bits,进行TB级的CRC编码后,初始传输数据与TB_CRC进行合并后,目标传输数据的长度为B bits。
步骤110:发送端将目标传输数据划分为n个数据块。
例如,参阅图2所示,发送端将目标传输数据划分为n个数据块,其中,每个数据段的数据长度为K bits。
步骤120:发送端针对第1个至第n-1个数据块,并行针对每一个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码,简称为CB_CRC。
步骤130:发送端针对第1个至第n-1个数据块,采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码,简称TB_CRC’。
其中,所谓采用迭代方式依次针对每一个数据块进行TB级的CRC编码,是指:采用串行流水方式,针对第i个数据块(1≤i≤n-1)进行TB级的CRC编码时,将针对i-1个数据块进行TB级的CRC编码后获得的TB级的CRC校验码,作为第i个数据块的TB级的CRC校验码初始值,与第i个数据块一起进行TB级的CRC编码,获得最终的TB级的CRC校验码。
本申请实施例中,发送端针对第1个至第n-1个数据块,获得n-1个相应的TB_CRC’。
步骤140:发送端针对第n个数据块,先进行TB级的CRC编码,获得相应的TB级的CRC校验码。
具体的,发送端针对第n个数据块,先获取第n个数据块中除了目标传输数据对应的TB级的CRC校验码(即TB_CRC)之外的部分传输数据,然后针对所述部分传输数据和所述第n-1个数据块对应的TB级的_CRC校验码(TB_CRC’),进行TB级的CRC编码, 获得相应的TB级的CRC,简称TB_CRC”。
本申请实施例中,参阅图2所示,上述部分传输数据,即是指最后一个数据块中除了TB_CRC之外的CB部分,由于TB_CRC是针对初始传输数据的全体进行CRC编码获得的CRC校验码,因此,在针对最后第n个数据块中的传输数据进行CRC编码时,要先把TB_CRC刨除。
步骤150:发送端根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。
具体的,发送端会获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据,然后,再针对所述部分传输数据和所述第n个数据块对应的TB级的_CRC校验码,进行CB级的CRC编码,获得相应的CB级的校验码。
至此,目标传输数据已经全部编码完毕,发送端可以将编码后的目标传输数据发往接收端。
相应的,对应于上述编码过程,本申请实施例中,在译码阶段,接收端对每个数据块独立进行CB级的CRC校验,而在全体数据块均通过CB级的CRC校验后,丢弃相关数据,再基于每个数据块的TB级的CRC校验码,进行TB级的CRC校验,从而仅缓存TB级的CRC校验结果。
具体的,参阅图3所示,本申请实施例中,接收端针对数据块进行译码的详细流程如下:
步骤300:接收端接收经编码的目标传输数据,所述目标传输数据中包含有n个数据块。
进一步地,所述目标传输数据中还包含有每一个数据块对应的TB级的CRC校验码(即,TB_CRC’)和CB级的CRC校验码(即,CB_CRC),进一步地,还包括,目标传输数据对应的TB级的CRC校验码(即,TB_CRC)。
步骤310:接收端针对第1个至第n个数据块,分别根据相应的CB级的CRC校验码进行CB级的CRC校验。
具体的,以任意一个数据块(以下称为第i个数据块)为例,可以将第i个数据块的CB级校验多项式定义为CB_CRC(i),将第i个数据块的CB_CRC代入CB_CRC(i)后,若CB_CRC(i)取值为0,则确定第i个数据块通过CB级的CRC校验,即数据块正确;
确定任意一个数据块未通过CB级的CRC校验时,需要通知发送端重新所述任意一个数据块,并在接收到重新传输的所述任意一个数据块后,更新所述任意一个数据块对应的CB级的CRC校验码,以及更新所述任意一个数据块对应的TB级的CRC校验码。
步骤320:接收端确定所有n个数据块均通过CB级的CRC校验时,至少丢弃所述前n-1个数据块中的传输数据,并针对第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。
本申请实施例中,接收端只有确定所有n个数据块均通过CB级的CRC校验时,才会继续进行TB级的CRC校验,具体过程如下:
首先,接收端针对第1个至第n-1个数据块,均丢弃其中的传输数据,具体的,参阅图4所示,接收端将前n-1个数据块,均设定为[0,CB_CRC(i),NULL],可选的,如图4所示,还可以进一步丢弃第1个至第n-1个数据块各自对应的CB级的CRC校验码,这样,可以进一步降低缓存数据量。
然后,接收端将所述前n-1个数据块对应的TB级的CRC校验码(即TB_CRC’)进行拼接,并基于拼接后的TB级的校验码进行TB级的CRC校验(如,采用CRC-24A算法),获得一个24bit的TB级的初始CRC校验结果,可选的,记为TB_CRC_BUF,然后,将所述TB级的初始CRC校验结果与第n个数据块进行拼接,并针对拼接结果进行TB级的CRC校验(如,采用CRC-24A算法),获得最终的TB级的目标CRC校验结果,可选的,记为TB_CRC_FINAL。
若TB_CRC_FINAL的取值0,则表示目标传输数据整体上通过TB级的CRC校验,若TB_CRC_FINAL的取值0不为零,则接收端需要通知发送端进行TB级重传,即重新传输整个的目标传输数据。
显然,在进行TB级的CRC校验时,接收端仅根据CB级的CRC校验结果对TB级的校验码进行拼接,从而形成了完整的目标传输数据的等效摘要,并通过对等效摘要进行TB级的CRC校验,实现针对目标传输数据的整体校验。
本申请实施例中,是将所述TB级的初始CRC校验结果与第n个数据块进行拼接后,进行TB级的CRC校验的。另一实现方式下,可选的,也可以将所述TB级的初始CRC校验结果,与第n个数据块中除了目标传输数据对应的TB级的CRC校验码(即,TB_CRC)之外的传输数据进行拼接后,再进行TB级的CRC校验,此时获得的TB级的CRC校验结果可记为TB_CRC_FINAL’,若TB_CRC_FINAL等于TB_CRC,则表示表示目标传输数据整体上通过TB级的CRC校验,若TB_CRC_FINAL不等于TB_CRC,则接收端需要通知发送端进行TB级重传,即重新传输整个的目标传输数据。
基于上述实施例,参阅图5所示,本申请实施例中,发送端至少包括第一编码单元51、第二编码单元52和第三编码单元53,其中,
第一编码单元51,用于获取目标传输数据,并将所述目标传输数据划分为n个数据块; 其中,所述目标传输数据中包含初始传输数据,以及针对所述初始传输数据进行传输块TB级的全体循环冗余校验CRC编码,获得相应的TB级的CRC校验码;
第二编码单元52,用于针对第1个至第n-1个数据块,并行进行编码块CB级的CRC编码,获得相应的CB级的CRC校验码,以及采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码;
第三编码单元53,用于针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,并根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。
可选的,采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码时,所述第二编码单元52用于:
针对第i个数据块进行TB级的CRC编码时,将针对i-1个数据块进行TB级的CRC编码后获得的TB级的CRC校验码,作为第i个数据块的TB级的CRC校验码初始值,与第i个数据块一起进行TB级的CRC编码,获得最终的TB级的CRC校验码,其中,1≤i≤n-1。
可选的,所述针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码时,所述第三编码单元53用于:
获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据;
针对所述部分传输数据和所述第n-1个数据块对应的TB级的_CRC校验码,进行TB级的CRC编码,获得相应的TB级的CRC校验码。
可选的,所述根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码时,所述第三编码单元53用于:
获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据;
针对所述部分传输数据和所述第n个数据块对应的TB级的_CRC校验码,进行CB级的CRC编码,获得相应的CB级的校验码。
可选的,所述第三编码单元53进一步用于:
在对所述第n个数据块进行TB级的CRC编码以及CB级的CRC编码之后,将编码完毕的所述目标传输数据,发往接收端。
相应的,参阅图6所示,本申请实施例中,接收端至少包括第一译码单元61和第二 译码单元62,其中,
第一译码单元61,用于针对接收的目标传输数据中包含的第1个至第n个数据块,分别根据相应的编码块CB级的全体循环冗余校验CRC校验码进行CB级的CRC校验;
第二译码单元62,用于接收端确定所述第1个至第n个数据块均通过CB级的CRC校验后,丢弃第1个至第n-1个数据块中的传输数据,并针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。
可选的,所述第二译码单元62进一步用于:
用于确定任意一个数据块未通过CB级的CRC校验时,通知接收端重新传输所述任意一个数据块,并在接收到重新传输的所述任意一个数据块后,更新所述任意一个数据块对应的CB级的CRC校验码,以及更新所述任意一个数据块对应的TB级的CRC校验码。
可选的,针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验时,所述第一译码单元61用于:
丢弃第1个至第n-1个数据块中的传输数据,以及丢弃所述第1个至第n个数据块各自对应的CB级的CRC校验码;
对所述第1个至第n-1个数据块对应的TB级的CRC进行拼接,并基于拼接后的TB级的校验码进行TB级的CRC校验,获得TB级的初始CRC校验结果;
将所述TB级的初始CRC校验结果与第n个数据块进行拼接,并针对拼接结果进行TB级的CRC校验,获得TB级的目标CRC校验结果;
确定所述目标CRC校验结果为零时,确定所述目标传输数据通过TB级的CRC校验。
可选的,所述第一译码单元61进一步用于:
交互单元,用于在确定所述目标CRC校验结果不为零时,通知发送端进行TB级重新传输整个的目标传输数据。
本申请实施例提供一种存储介质,存储有用于实现数据块的编码的程序,所述程序被处理器运行时,执行以下步骤:
获取目标传输数据,并将所述目标传输数据划分为n个数据块;其中,所述目标传输数据中包含初始传输数据,以及针对所述初始传输数据进行传输块TB级的全体循环冗余校验CRC编码,获得相应的TB级的CRC校验码;
针对第1个至第n-1个数据块,并行进行编码块CB级的CRC编码,获得相应的CB级的CRC校验码,以及采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码;
针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,并 根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。
本申请实施例提供一种通信装置,包括一个或多个处理器;以及
一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述任一项所述的方法。
本申请实施例提供一种存储介质,应用于上述的存储介质,存储有用于数据块的译码的程序,所述程序被处理器运行时,执行以下步骤:
针对接收的目标传输数据中包含的第1个至第n个数据块,分别根据相应的编码块CB级的全体循环冗余校验CRC校验码进行CB级的CRC校验;
确定所述第1个至第n个数据块均通过CB级的CRC校验后,至少丢弃第1个至第n-1个数据块中的传输数据,并针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。
本申请实施例提供一种通信装置,包括一个或多个处理器;以及
一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述任一项所述的方法。
综上所述,本申请实施例中,在编码阶段,发送端将目标传输数据划分为n个数据块后,针对前n-1个数据块,各自独立并行进行CB级的CRC编码,以及采用迭代方式进行TB级的CRC编码,而第n个数据块,则先进行TB级的CRC编码,然后,再进行CB级的CRC编码。这样,由于部分编码过程采用了并行方式及迭代方式进行处理,从而有效提高了编码速度,降低处理时延。
而在译码阶段,接收端针对每个数据块进行独立的CB级的CRC校验以及TB级的CRC校验,并只缓存TB级的CRC校验结果,至少丢弃前n-1个数据块中的传输数据。这样,仅保留每个数据块的摘要信息即可完成最终的TB级的CRC检验,从而有效降低缓存数据量,同时也降低了处理时延。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流 程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

  1. 一种数据块的编码方法,其特征在于,包括:
    发送端获取目标传输数据,并将所述目标传输数据划分为n个数据块;其中,所述目标传输数据中包含初始传输数据,以及针对所述初始传输数据进行传输块TB级的全体循环冗余校验CRC编码,获得相应的TB级的CRC校验码;
    发送端针对第1个至第n-1个数据块,并行进行编码块CB级的CRC编码,获得相应的CB级的CRC校验码,以及采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码;
    发送端针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,并根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。
  2. 如权利要求1所述的方法,其特征在于,所述发送端采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码,包括:
    针对第i个数据块进行TB级的CRC编码时,将针对i-1个数据块进行TB级的CRC编码后获得的TB级的CRC校验码,作为第i个数据块的TB级的CRC校验码初始值,与第i个数据块一起进行TB级的CRC编码,获得最终的TB级的CRC校验码,其中,1≤i≤n-1。
  3. 如权利要求1或2所述的方法,其特征在于,所述发送端针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,包括:
    所述发送端获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据;
    所述发送端针对所述部分传输数据和所述第n-1个数据块对应的TB级的_CRC校验码,进行TB级的CRC编码,获得相应的TB级的CRC校验码。
  4. 如权利要求3所述的方法,其特征在于,所述发送端根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码,包括:
    所述发送端获取所述第n个数据块中除了目标传输数据对应的TB级的CRC校验码之外的部分传输数据;
    所述发送端针对所述部分传输数据和所述第n个数据块对应的TB级的_CRC校验码,进行CB级的CRC编码,获得相应的CB级的校验码。
  5. 如权利要求1或2所述的方法,其特征在于,所述发送端在对所述第n个数据块 进行TB级的CRC编码以及CB级的CRC编码之后,进一步包括:
    将编码完毕的所述目标传输数据,发往接收端。
  6. 一种数据块的译码方法,应用于如权利要求1所述的编码方法,其特征在于,包括:
    接收端针对接收的目标传输数据中包含的第1个至第n个数据块,分别根据相应的编码块CB级的全体循环冗余校验CRC校验码进行CB级的CRC校验;
    所述接收端确定所述第1个至第n个数据块均通过CB级的CRC校验后,至少丢弃第1个至第n-1个数据块中的传输数据,并针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。
  7. 如权利要求6所述的方法,其特征在于,进一步包括:
    所述接收端确定任意一个数据块未通过CB级的CRC校验时,通知接收端重新传输所述任意一个数据块,并在接收到重新传输的所述任意一个数据块后,更新所述任意一个数据块对应的CB级的CRC校验码,以及更新所述任意一个数据块对应的TB级的CRC校验码。
  8. 如权利要求6或7所述的方法,其特征在于,所述接收端针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验,包括:
    所述接收端丢弃第1个至第n-1个数据块中的传输数据,以及丢弃所述第1个至第n个数据块各自对应的CB级的CRC校验码;
    所述接收端对所述第1个至第n-1个数据块对应的TB级的CRC进行拼接,并基于拼接后的TB级的校验码进行TB级的CRC校验,获得TB级的初始CRC校验结果;
    所述接收端将所述TB级的初始CRC校验结果与第n个数据块进行拼接,并针对拼接结果进行TB级的CRC校验,获得TB级的目标CRC校验结果;
    所述接收端确定所述目标CRC校验结果为零时,确定所述目标传输数据通过TB级的CRC校验。
  9. 如权利要求8所述的方法,其特征在于,进一步包括:
    若所述接收端确定所述目标CRC校验结果不为零,则通知发送端进行TB级重新传输整个的目标传输数据。
  10. 一种数据块的编码装置,其特征在于,包括:
    第一编码单元,用于获取目标传输数据,并将所述目标传输数据划分为n个数据块;其中,所述目标传输数据中包含初始传输数据,以及针对所述初始传输数据进行传输块TB级的全体循环冗余校验CRC编码,获得相应的TB级的CRC校验码;
    第二编码单元,用于针对第1个至第n-1个数据块,并行进行编码块CB级的CRC编码,获得相应的CB级的CRC校验码,以及采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码;
    第三编码单元,用于针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,并根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。
  11. 一种数据块的译码装置,应用于如权利要求10所述的编码装置,其特征在于,包括:
    第一译码单元,用于针对接收的目标传输数据中包含的第1个至第n个数据块,分别根据相应的编码块CB级的全体循环冗余校验CRC校验码进行CB级的CRC校验;
    第二译码单元,用于接收端确定所述第1个至第n个数据块均通过CB级的CRC校验后,丢弃第1个至第n-1个数据块中的传输数据,并针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。
  12. 一种存储介质,其特征在于,存储有用于实现数据块的编码的程序,所述程序被处理器运行时,执行以下步骤:
    获取目标传输数据,并将所述目标传输数据划分为n个数据块;其中,所述目标传输数据中包含初始传输数据,以及针对所述初始传输数据进行传输块TB级的全体循环冗余校验CRC编码,获得相应的TB级的CRC校验码;
    针对第1个至第n-1个数据块,并行进行编码块CB级的CRC编码,获得相应的CB级的CRC校验码,以及采用迭代方式依次针对第1个至第n-1个数据块进行TB级的CRC编码,获得相应的TB级的CRC校验码;
    针对第n个数据块,进行TB级的CRC编码,获得相应的TB级的CRC校验码,并根据所述第n个数据块对应的TB级的CRC校验码,针对所述第n个数据块进行CB级的CRC编码,获得相应的CB级的CRC校验码。
  13. 一种通信装置,其特征在于,包括一个或多个处理器;以及
    一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行如权利要求1至5中任一项所述的方法。
  14. 一种存储介质,其特征在于,应用于如权利要求12所述的存储介质,存储有用于数据块的译码的程序,所述程序被处理器运行时,执行以下步骤:
    针对接收的目标传输数据中包含的第1个至第n个数据块,分别根据相应的编码块CB级的全体循环冗余校验CRC校验码进行CB级的CRC校验;
    确定所述第1个至第n个数据块均通过CB级的CRC校验后,至少丢弃第1个至第n-1个数据块中的传输数据,并针对所述第1个至第n个数据块,分别根据相应的传输块TB级的CRC校验码进行TB级的CRC校验。
  15. 一种通信装置,其特征在于,包括一个或多个处理器;以及
    一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行如权利要求6至9中任一项所述的方法。
PCT/CN2019/081151 2018-05-25 2019-04-02 一种数据块的编译码方法及装置 WO2019223427A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810517289.2 2018-05-25
CN201810517289.2A CN110535554B (zh) 2018-05-25 2018-05-25 一种数据块的编译码方法及装置

Publications (1)

Publication Number Publication Date
WO2019223427A1 true WO2019223427A1 (zh) 2019-11-28

Family

ID=68615693

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/081151 WO2019223427A1 (zh) 2018-05-25 2019-04-02 一种数据块的编译码方法及装置

Country Status (2)

Country Link
CN (1) CN110535554B (zh)
WO (1) WO2019223427A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988236B (zh) * 2021-04-20 2023-04-14 浙江华忆芯科技有限公司 数据存储方法及装置、存储介质、电子装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478369A (zh) * 2009-01-05 2009-07-08 深圳华为通信技术有限公司 一种crc校验的方法和系统及crc初值影响矩阵
CN105119694A (zh) * 2015-09-11 2015-12-02 烽火通信科技股份有限公司 一种计算高速网络中crc值的方法及系统
CN107294652A (zh) * 2016-04-13 2017-10-24 中兴通讯股份有限公司 一种数据混合重传处理方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8379738B2 (en) * 2007-03-16 2013-02-19 Samsung Electronics Co., Ltd. Methods and apparatus to improve performance and enable fast decoding of transmissions with multiple code blocks
US7853857B2 (en) * 2007-09-14 2010-12-14 Motorola Mobility, Inc. Multi-layer cyclic redundancy check code in wireless communication system
KR101633326B1 (ko) * 2009-02-27 2016-06-24 엘지전자 주식회사 전송 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478369A (zh) * 2009-01-05 2009-07-08 深圳华为通信技术有限公司 一种crc校验的方法和系统及crc初值影响矩阵
CN105119694A (zh) * 2015-09-11 2015-12-02 烽火通信科技股份有限公司 一种计算高速网络中crc值的方法及系统
CN107294652A (zh) * 2016-04-13 2017-10-24 中兴通讯股份有限公司 一种数据混合重传处理方法和装置

Also Published As

Publication number Publication date
CN110535554B (zh) 2020-11-06
CN110535554A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
US9785674B2 (en) Query-aware compression of join results
US11191049B1 (en) Systems and methods for improving wireless performance
US9569400B2 (en) RDMA-optimized high-performance distributed cache
US10031691B2 (en) Data integrity in deduplicated block storage environments
US20170180329A1 (en) Receiving apparatus and packet processing method thereof
JP2016519481A (ja) 多段ソフト入力デコードのためのシステムおよび方法
US20110113313A1 (en) Buffer transfer check on variable length data
US9632720B2 (en) Data de-duplication
WO2017028494A1 (zh) 一种数据恢复的方法、存储的方法相应的装置及系统
US11409688B1 (en) System and method for checking data to be processed or stored
CN111078672B (zh) 数据库的数据对比方法及装置
US10891082B2 (en) Methods for accelerating compression and apparatuses using the same
US10884886B2 (en) Copy-on-read process in disaster recovery
WO2019223427A1 (zh) 一种数据块的编译码方法及装置
CN103152606B (zh) 视频文件处理方法及装置、系统
US8868584B2 (en) Compression pattern matching
JP2012164130A (ja) データ分割プログラム
WO2014180414A1 (zh) 基于管理数据输入输出多源协议的传输方法及装置
US20230353511A1 (en) Packet Payload Mapping for Robust Transmission of Data
US10901952B2 (en) Method for transferring a difference file
US8327252B2 (en) Data receiving apparatus, data receiving method, and computer-readable recording medium
JP7047110B2 (ja) コンテンツ非依存のファイルインデックス化の方法及びシステム
CN116389455A (zh) 一种文件传输方法、系统及电子设备
WO2018133415A1 (zh) 一种物理编码子层的数据编解码方法和装置、存储介质
WO2011144179A2 (zh) 对数据包进行循环冗余校验的方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19807436

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19807436

Country of ref document: EP

Kind code of ref document: A1