Data compression and decompression method, device, system, medium and program product

By splitting the total codebook into multiple subcodebooks and generating the first-level sequence and the second-level sequence, the problem of insufficient use of data transmission resources in the prior art is solved, and more efficient data compression and decompression is achieved.

CN119997095APending Publication Date: 2025-05-13HUAWEI TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202311507445.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-10
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

There is room for optimization for existing data compression and decompression technologies, especially in reducing the use of data transmission resources.

Method used

By obtaining codebook splitting information, the total codebook is split into multiple subcodebooks, and a first-level sequence and a second-level sequence are generated for the original sequence, and the compressed sequence obtained based on these sequences is sent.

Benefits of technology

It effectively reduces the amount of resources required for data transmission, improves data compression efficiency, and avoids unnecessary data losses caused by excessive compression.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119997095A_ABST
    Figure CN119997095A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a method, device and system for data compression or data decompression, a medium and a program product. In the method, a compression device obtains codebook splitting information, where the codebook splitting information indicates that a total codebook is split into a plurality of sub-codebooks. For an original sequence obtained based on a total codebook, a compression device obtains a first-level sequence and a second-level sequence, the first-level sequence including a number of one of a plurality of sub-codebooks to which each element in the original sequence belongs, and the second-level sequence including a position of each element in the sub-codebook to which the element belongs. Further, the compression device transmits a compressed sequence obtained on the basis of the first-level sequence and the second-level sequence. In this way, when data is transmitted in a data communication process, the data to be transmitted can be compressed more effectively, and the amount of resources required for transmitting the data is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communications, and more specifically, to a method, an apparatus, a system, a computer-readable storage medium, and a computer program product for data compression or data decompression in the field of communications. Background Art

[0002] In data communication scenarios, it is usually necessary for users to compress a large amount of data before transmitting it to the cloud. Data compression is also often required in other technical scenarios. Generally speaking, compression is used to reduce the amount of data to be stored or transmitted. However, there is still room for further optimization and improvement in data compression or decompression technology. Summary of the invention

[0003] In general, example embodiments of the present application provide a method, apparatus, system, computer-readable storage medium, and computer program product for data compression or data decompression.

[0004] In a first aspect of the present application, a method is provided. The method includes: obtaining codebook splitting information, the codebook splitting information indicating that the total codebook is split into multiple sub-codebooks; obtaining a first-level sequence and a second-level sequence for an original sequence obtained based on the total codebook, wherein the first-level sequence includes the number of a sub-codebook in the multiple sub-codebooks to which each element in the original sequence belongs, and the second-level sequence includes the position of each element in the sub-codebook to which it belongs; and sending a compressed sequence obtained based on the first-level sequence and the second-level sequence. In this way, the amount of data of the compressed sequence obtained based on the first-level sequence and the second-level sequence determined from the original sequence can be further reduced relative to the compressed sequence obtained based on the original sequence, thereby effectively reducing the amount of resources required for data transmission.

[0005] In some implementations, the method may further include: determining a sequence to be transmitted corresponding to the original sequence based on the first level sequence and the second level sequence, wherein the compressed sequence is obtained based on the sequence to be transmitted. In this way, after the original sequence is classified into the first level sequence and the second level sequence, some sequences among the sequences obtained after the classification may be sent, thereby improving data transmission efficiency.

[0006] In some implementations, the sequence to be transmitted is obtained based on a multi-layer sequence, the first-level sequence is a first-level sequence of a first layer in the multi-layer sequence, the second-level sequence is a second-level sequence of a first layer in the multi-layer sequence, the above-mentioned one subcodebook is a first-layer subcodebook, and the multi-layer sequence is generated by: determining a sequence to be classified in the sequence of the first layer; based on the sequence to be classified in the first layer, obtaining a first-level sequence of the second layer and a second-level sequence of the second layer, wherein the first-level sequence of the second layer includes the number of a second-layer subcodebook in a plurality of subcodebooks to which each element in the sequence to be classified in the first layer belongs, and the second-level sequence of the second layer includes the position of each element in the second-layer subcodebook to which it belongs. In this way, the original sequence can be classified into multiple layers of first-level sequences and second-level sequences, and the classification of each layer can achieve further compression of the original sequence, thereby further improving the data compression efficiency.

[0007] In some implementations, the sequence to be transmitted may include a first-level sequence and a second-level sequence, and the compressed sequence is obtained by: performing entropy coding on the first-level sequence and the second-level sequence respectively; or performing entropy coding on the first-level sequence and the second-level sequence together. In this way, the entropy coding efficiency of the data can be improved.

[0008] In some implementations, determining the sequence to be transmitted may include: determining at least one of the first-level sequence and the second-level sequence that are determined not to belong to the sequence to be classified in the multi-layer sequence as the sequence to be transmitted, and the compressed sequence is obtained by: performing entropy coding on the first-level sequence and the second-level sequence in the sequence to be transmitted respectively; or performing entropy coding on the first-level sequence and the second-level sequence in the sequence to be transmitted together. In this way, entropy coding can be more effectively used to achieve compression of the multi-layer sequence.

[0009] In some implementations, performing entropy coding on the second-level sequence may include: performing entropy coding on multiple sequences belonging to different subcodebooks in the second-level sequence respectively. In this way, the compression efficiency of the second-level sequence can be further improved.

[0010] In some implementations, sending the compressed sequence may further include: sending sequence information associated with the sequence to be transmitted, wherein the sequence information includes: sequence length information for indicating the sequence length of the sequence to be transmitted. In this way, the receiving device of the data transmission can effectively recover the data in each sequence according to the sequence length information.

[0011] In some implementations, when the sequence to be transmitted is obtained based on a multi-layer sequence, the sequence information may further include: sequence position information, which is used to indicate the layer where the sequence in the sequence to be transmitted is located, the position in the layer where the sequence is located, and the position of the corresponding upper layer sequence in the upper layer. In this way, the receiving device for data transmission can further restore the corresponding upper layer sequence level by level based on the sequence position information of each hierarchical sequence, thereby accurately restoring the original sequence.

[0012] In some implementations, the sequence information may further include: sequence symbol indication information, which is used to indicate whether the sequence in the sequence to be transmitted is a first-level sequence or a second-level sequence. In this way, the receiving device of the data transmission can effectively distinguish the first-level sequence from the second-level sequence, and restore the previous layer sequence step by step based on the corresponding subcodebook, thereby accurately restoring the original sequence.

[0013] In some implementations, sending the compressed sequence may include: sending the compressed sequence through multiple transmissions, and one of the multiple transmissions may include: determining a portion of the sequence to be transmitted to be sent for the current transmission based on the amount of resources allocated for the current transmission; and sending a portion of the compressed sequence obtained based on the portion of the sequence to be transmitted. In this way, even if the amount of resources allocated during data transmission is insufficient, there is no need to further compress the sequence to an amount of data that can be sent at one time with the allocated amount of resources, but these sequences can be transmitted through multiple transmissions, thereby avoiding unnecessary data loss caused by over-compression.

[0014] In some implementations, a portion of the sequence to be transmitted may include: a portion of the first-level sequence in the unsent portion of the first-level sequence in the sequence to be transmitted and a portion of the second-level sequence in the unsent portion of the second-level sequence, wherein the elements in the portion of the first-level sequence correspond to the elements in the portion of the second-level sequence, and wherein the amount of resources required to transmit the portion of the first-level sequence and the portion of the second-level sequence is less than the amount of resources allocated. In this way, only a portion of the first-level sequence and the second-level sequence corresponding to each other may be transmitted in each transmission process, so that the receiving device of the data transmission can restore a portion of the original sequence based on the portion of the first-level sequence and the second-level sequence corresponding to each other without waiting for the reception of the entire sequence, thereby improving the data processing efficiency at the receiving device.

[0015] In some implementations, sending a portion of the compressed sequence obtained based on a portion of the sequence to be transmitted may further include: sending sequence information associated with the portion of the sequence to be transmitted, wherein the sequence information associated with the portion of the sequence to be transmitted may include: sequence symbol indication information for indicating whether the sequence to which the portion of the sequence to be transmitted belongs is a first-level sequence or a second-level sequence. In this way, the receiving device of the data transmission can effectively distinguish whether each received partial sequence belongs to a first-level sequence or a second-level sequence, thereby accurately restoring the original sequence of the corresponding portion.

[0016] In some implementations, when the sequence to be transmitted is obtained based on a multi-layer sequence, the sequence information associated with a portion of the sequence to be transmitted may also include: sequence position information of a sequence to which the portion of the sequence to be transmitted belongs. In this way, the receiving device of the data transmission can effectively determine the position of each received partial sequence, thereby restoring the previous layer sequence step by step based on their respective corresponding subcodebooks, so as to accurately restore the original sequence of the corresponding portion.

[0017] In some implementations, determining a portion of the sequence to be transmitted to be transmitted in the current transmission may include: determining whether there is a first type sequence that has not been transmitted, the first type sequence including a first level sequence or a second level sequence; and based on determining that there is a first type sequence that has not been transmitted: determining whether the amount of resources allocated for the current transmission is sufficient to transmit the first type sequence that has not been transmitted, in response to the amount of resources allocated for the current transmission being insufficient to transmit the first type sequence that has not been transmitted, selecting at least one first type subsequence in the first type sequence that has not been transmitted as a portion of the sequence to be transmitted to be transmitted in the current transmission, wherein the amount of resources required to transmit the selected at least one first type subsequence is less than the amount of resources allocated; in response to the amount of resources allocated for the current transmission being sufficient to transmit the first type sequence that has not been transmitted, determining the first type sequence that has not been transmitted as a portion of the sequence to be transmitted to be transmitted in the current transmission. In this way, even if the amount of resources allocated during data transmission is insufficient, there is no need to over-compress the data for the amount of resources allocated, but these sequences can be transmitted through multiple transmissions, with a portion of the sequence being transmitted in each transmission, thereby avoiding unnecessary data loss caused by over-compression.

[0018] In some implementations, selecting at least one first-type subsequence in the first-type sequence that has not been transmitted may include: selecting at least one first-type subsequence according to a subcodebook corresponding to the first-type sequence that has not been transmitted. In this way, a transmitting device for data transmission can more effectively determine a transmittable partial sequence based on the allocated resources.

[0019] In some implementations, when the amount of resources allocated for the current transmission is sufficient to send the unsent first type sequence, determining a portion of the sequence to be transmitted to be sent for the current transmission may further include: determining the remaining available resource amount based on the amount of resources allocated for the current transmission and the amount of resources used to send the unsent first type sequence; in response to the remaining available resource amount being sufficient to send at least one second type subsequence of the unsent second type sequence, the portion of the sequence to be transmitted may further include at least one second type subsequence, wherein the second type sequence is a sequence different from the first type sequence among the first level sequence and the second level sequence. In this way, the amount of resources allocated for each transmission can be maximized to transmit more data.

[0020] In some implementations, at least one second type subsequence may be determined according to a subcodebook corresponding to a second type sequence that is not sent, wherein sending a portion of the compressed sequence further includes: sending a number of a subcodebook corresponding to a second type subsequence in at least one second type subsequence. In this way, a receiving device for data transmission can effectively distinguish the corresponding subcodebooks of each received sequence or subsequence, thereby accurately recovering the original sequence.

[0021] In some implementations, when the sequence to be transmitted is obtained based on a multi-layer sequence, determining a portion of the sequence to be transmitted to be transmitted in the current transmission may include: determining, in order from high to low order of the layers in which the sequence to be transmitted that has not been transmitted is located in the multi-layer sequence, a sequence of the number of layers that can be transmitted with the amount of resources allocated for the current transmission as a portion of the sequence to be transmitted to be transmitted in the current transmission. In this way, even if the amount of resources allocated during data transmission is insufficient, there is no need to over-compress the data with respect to the amount of resources allocated, but these sequences may be transmitted through multiple transmissions, with a portion of the sequence being transmitted each time, thereby avoiding unnecessary data loss caused by over-compression.

[0022] In some implementations, sending a portion of the compressed sequence may also include: sending sequence symbol indication information, sequence length information, and sequence position information of a portion of the sequence to be transmitted. In this way, the receiving device of the data transmission can accurately restore the original sequence using this sequence information.

[0023] In some implementations, determining a portion of the sequence to be transmitted to be sent for the current transmission may further include: determining the remaining available resources based on the amount of resources allocated for the current transmission and the amount of resources used to send the sequence of the number of layers; and in response to the remaining available resources being sufficient to send at least one subsequence of a sequence of a next layer of the sequence of the number of layers, the portion of the sequence to be transmitted further includes at least one subsequence, wherein the at least one subsequence may include: at least one subsequence of a first-level sequence or a second-level sequence of a next layer. In this way, the amount of resources allocated for each transmission can be maximized to transmit more data.

[0024] In some implementations, at least one subsequence may be determined according to a subcodebook corresponding to a first-level sequence or a second-level sequence of a next layer, wherein if the at least one subsequence is at least one subsequence of a second-level sequence, sending a portion of a compressed sequence further includes: sending a subcodebook number corresponding to a subsequence in the at least one subsequence and a position of a sequence to which the at least one subsequence belongs in the next layer. In this way, a data transmission transmitting device can more efficiently determine a partial sequence to be sent based on the amount of allocated resources, and also enables a data transmission receiving device to effectively distinguish the corresponding subcodebooks of each received sequence or subsequence, thereby accurately recovering the original sequence.

[0025] In some implementations, determining the sequence to be classified in the sequence of the first layer includes: performing entropy coding on the first-level sequence and the second-level sequence of the second layer corresponding to the sequence of the first layer, respectively, to obtain a first length corresponding to the encoded sequence; performing entropy coding on the sequence of the first layer to obtain a second length corresponding to the encoded sequence; and determining the sequence of the first layer whose first length is less than the second length as the sequence to be classified. In this way, the sequence can be classified only when the amount of data can be reduced by classification, thereby improving the compression efficiency.

[0026] In some implementations, determining the sequence to be classified in the sequence of the first layer includes: determining whether the first layer has reached the number of layers of the multi-layer sequence; determining that there is no sequence to be classified based on determining that the first layer has reached the number of layers; or determining the sequence to be classified in the sequence of the first layer based on determining that the first layer has not reached the number of layers. In this way, classification can be performed more effectively and compression efficiency can be improved.

[0027] In some implementations, sending the compressed sequence may further include: combining a plurality of adjacent elements in the sequence to be transmitted into a single element with a preset number of elements as a group to obtain a combined sequence to be transmitted; and sending the compressed sequence obtained based on the combined sequence to be transmitted. In this way, the number of data elements to be entropy encoded can be reduced, further improving the compression efficiency of entropy encoding.

[0028] In some implementations, the codebook splitting information is obtained in one of the following ways: preconfigured; determined by a device that sends a compressed sequence; or received from a device that receives a compressed sequence. In this way, the sending device and the receiving device of data transmission can use the same codebook or subcodebook to effectively implement compression and decompression of the data sequence.

[0029] In a second aspect of the present application, a method is provided. The method includes: obtaining codebook splitting information, the codebook splitting information indicating that the total codebook is split into multiple sub-codebooks; receiving a compressed sequence, wherein the compressed sequence is generated based on a first-level sequence and a second-level sequence, the first-level sequence includes the number of a sub-codebook in a plurality of sub-codebooks to which each element in the original sequence belongs, and the second-level sequence includes the position of each element in the sub-codebook to which it belongs, and the original sequence is generated based on the total codebook; and obtaining the original sequence based on the codebook splitting information and the compressed sequence. In this way, relative to the compressed sequence obtained based on the original sequence, the amount of data of the compressed sequence obtained based on the first-level sequence and the second-level sequence determined from the original sequence can be further reduced, thereby being able to effectively reduce the amount of resources required for data transmission.

[0030] In some implementations, the compressed sequence may be generated based on a sequence to be transmitted corresponding to the original sequence determined from the first-level sequence and the second-level sequence. In this way, after the original sequence is classified into the first-level sequence and the second-level sequence, the necessary classified sequence among the sequences obtained after the classification may be sent, thereby improving data transmission efficiency.

[0031] In some implementations, the sequence to be transmitted may include a first-level sequence and a second-level sequence, and the compressed sequence may be generated by: performing entropy coding on the first-level sequence and the second-level sequence respectively; or performing entropy coding on the first-level sequence and the second-level sequence together. In this way, the entropy coding efficiency of the data may be improved.

[0032] In some implementations, the sequence to be transmitted may include at least one of the first-level sequence and the second-level sequence in the multi-layer sequence that is determined not to belong to the sequence to be graded, and the compressed sequence is generated by: performing entropy coding on the first-level sequence and the second-level sequence in the sequence to be transmitted respectively; or performing entropy coding on the first-level sequence and the second-level sequence in the sequence to be transmitted together. In this way, entropy coding can be more effectively used to achieve compression of the multi-layer sequence.

[0033] In some implementations, multiple sequences belonging to different subcodebooks in the second-level sequence may be entropy encoded separately. In this way, the compression efficiency of the second-level sequence can be further improved.

[0034] In some implementations, receiving the compressed sequence may further include: receiving sequence information associated with the sequence to be transmitted, wherein the sequence information includes: sequence length information for indicating the sequence length of the sequence to be transmitted. In this way, the receiving device for data transmission can effectively recover the data in each sequence according to the sequence length information.

[0035] In some implementations, when the sequence to be transmitted is obtained based on a multi-layer sequence, the sequence information may further include: sequence position information, which is used to indicate the layer where the sequence in the sequence to be transmitted is located, the position in the layer where the sequence is located, and the position of the corresponding upper layer sequence in the upper layer. In this way, the receiving device for data transmission can further restore the corresponding upper layer sequence level by level based on the sequence position information of each hierarchical sequence, thereby accurately restoring the original sequence.

[0036] In some implementations, the sequence information may further include: sequence symbol indication information, which is used to indicate whether the sequence in the sequence to be transmitted is a first-level sequence or a second-level sequence. In this way, the receiving device for data transmission can effectively distinguish the first-level sequence from the second-level sequence, and restore the sequence of the next previous level based on the corresponding sub-codebook, thereby accurately restoring the original sequence.

[0037] In some implementations, receiving the compressed sequence may include: receiving the compressed sequence through multiple transmissions, wherein one of the multiple transmissions includes: receiving a portion of the compressed sequence generated based on a portion of the sequence to be transmitted, wherein the portion of the sequence to be transmitted is determined based on the amount of resources allocated for the current transmission. In this way, even if the amount of resources allocated during the data transmission is insufficient, there is no need to further compress the sequence to an amount of data that can be sent at one time with the allocated amount of resources, but these sequences can be transmitted through multiple transmissions, thereby avoiding unnecessary data loss caused by over-compression.

[0038] In some implementations, a portion of the sequence to be transmitted may include: a portion of the first-level sequence in the unsent portion of the first-level sequence in the sequence to be transmitted and a portion of the second-level sequence in the unsent portion of the second-level sequence, wherein the elements in the portion of the first-level sequence correspond to the elements in the portion of the second-level sequence, and wherein the amount of resources required to transmit the portion of the first-level sequence and the portion of the second-level sequence is less than the amount of resources allocated. In this way, only a portion of the first-level sequence and the second-level sequence corresponding to each other can be transmitted in each transmission process, so that the receiving device of the data transmission can restore a portion of the original sequence based on the portion of the first-level sequence and the second-level sequence corresponding to each other without waiting for the reception of the entire sequence, thereby improving the data processing efficiency at the receiving device.

[0039] In some implementations, receiving a portion of the compressed sequence obtained based on a portion of the sequence to be transmitted may further include: receiving sequence information associated with the portion of the sequence to be transmitted, wherein the sequence information associated with the portion of the sequence to be transmitted includes: sequence symbol indication information for indicating whether the sequence to which the portion of the sequence to be transmitted belongs is a first-level sequence or a second-level sequence. In this way, the receiving device of the data transmission can effectively distinguish whether each received partial sequence belongs to a first-level sequence or a second-level sequence, thereby accurately restoring the original sequence of the corresponding portion.

[0040] In some implementations, when the sequence to be transmitted is obtained based on a multi-layer sequence, the sequence information associated with a portion of the sequence to be transmitted may also include: sequence position information of a sequence to which the portion of the sequence to be transmitted belongs. In this way, the receiving device of the data transmission can effectively determine the position of each received partial sequence, thereby restoring the sequence of the previous level step by step based on their respective corresponding subcodebooks, so as to accurately restore the original sequence of the corresponding portion.

[0041] In some implementations, in the case of a first type sequence that has not been transmitted, in response to the amount of resources allocated for the current transmission being insufficient to transmit the first type sequence that has not been transmitted, a portion of the sequence to be transmitted may include: at least one first type subsequence selected from the first type sequence that has not been transmitted, wherein the amount of resources required to transmit the selected at least one first type subsequence is less than the amount of resources allocated; and in response to the resources allocated for the current transmission being sufficient to transmit the first type sequence that has not been transmitted, a portion of the sequence to be transmitted includes: the first type sequence that has not been transmitted, wherein the first type sequence includes a first-level sequence or a second-level sequence. In this way, even if the amount of resources allocated during data transmission is insufficient, there is no need to over-compress the data for the amount of resources allocated, but these sequences can be transmitted through multiple transmissions, with a portion of the sequence being sent each time, thereby avoiding unnecessary data loss caused by over-compression.

[0042] In some implementations, at least one first type subsequence may be selected according to a subcodebook corresponding to a first type sequence that has not yet been received. In this way, a transmitting device for data transmission can more effectively determine a transmittable partial sequence based on the allocated resources.

[0043] In some implementations, when the amount of resources allocated for the current transmission is sufficient to send the unsent first type sequence, in response to the remaining available resources determined based on the amount of resources allocated for the current transmission and the amount of resources used to send the unsent first type sequence being sufficient to send at least one second type subsequence of the unsent second type sequence, the portion of the sequence to be transmitted further includes at least one second type subsequence, wherein the second type sequence is a sequence different from the first type sequence among the first level sequence and the second level sequence. In this way, the amount of resources allocated for each transmission can be maximized to transmit more data.

[0044] In some implementations, at least one second type subsequence may be determined according to a subcodebook corresponding to a second type sequence that has not yet been received, wherein receiving a portion of the compressed sequence may further include: receiving a subcodebook number corresponding to a second type subsequence in the at least one second type subsequence. In this way, a receiving device for data transmission can effectively distinguish the corresponding subcodebooks of each received sequence or subsequence, thereby accurately recovering the original sequence.

[0045] In some implementations, when the sequence to be transmitted is obtained based on a multi-layer sequence, a portion of the sequence to be transmitted may include: a sequence of the number of layers that can be transmitted for the amount of resources allocated for the current transmission, in order from high to low, in which the sequence to be transmitted that has not been transmitted is located in the multi-layer sequence. In this way, even if the amount of resources allocated during data transmission is insufficient, there is no need to over-compress the data for the amount of resources allocated, but these sequences can be transmitted through multiple transmissions, with a portion of the sequence being sent each time, thereby avoiding unnecessary data loss caused by over-compression.

[0046] In some implementations, receiving a portion of the compressed sequence further includes: receiving sequence symbol indication information, sequence length information, and sequence position information of a portion of the sequence to be transmitted. In this way, the receiving device of the data transmission can accurately restore the original sequence using this sequence information.

[0047] In some implementations, in response to determining that the remaining available resources are sufficient to transmit at least one subsequence of a sequence of a next layer of a sequence of a number of layers based on the amount of resources allocated for the current transmission and the amount of resources used to transmit the sequence of the number of layers, a portion of the sequence to be transmitted further includes at least one subsequence, wherein the at least one subsequence includes: at least one subsequence of a first-level sequence or a second-level sequence of a next layer. In this way, the amount of resources allocated for each transmission can be maximized to transmit more data.

[0048] In some implementations, at least one subsequence may be determined according to a subcodebook corresponding to a first-level sequence or a second-level sequence of a next layer, wherein if the at least one subsequence is at least one subsequence of a second-level sequence, receiving a portion of a compressed sequence may further include: receiving a subcodebook number corresponding to a subsequence in the at least one subsequence and a position of a sequence to which the at least one subsequence belongs in the next layer. In this way, a data transmission transmitting device can more efficiently determine a partial sequence to be transmitted based on the amount of allocated resources, and also enables a data transmission receiving device to effectively distinguish the corresponding subcodebooks of each received sequence or subsequence, thereby accurately recovering the original sequence.

[0049] In some implementations, obtaining the original sequence may include: entropy decoding the compressed sequence to obtain a combined hierarchical sequence; splitting each element in the combined hierarchical sequence into a set of a predetermined number of adjacent elements to obtain a hierarchical sequence; and obtaining the original sequence based on the codebook splitting information and the hierarchical sequence. In this way, the number of data elements entropy encoded is reduced, further improving the compression and decompression efficiency of entropy encoding and entropy decoding.

[0050] In some implementations, the codebook splitting information may be obtained in one of the following ways: preconfigured; determined by a device receiving a compressed sequence; or received from a device sending a compressed sequence. In this way, a sending device and a receiving device for data transmission can use the same codebook or subcodebook to effectively implement compression and decompression of a data sequence.

[0051] In a third aspect of the present application, a first device is provided, which includes a module for executing the method according to the first aspect of the present application.

[0052] In some implementations, the first device may be a terminal device or a network device, or a device in the terminal device or the network device (e.g., a chip, or a chip system, or a circuit), or a device that can be used in conjunction with the terminal device or the network device.

[0053] In some implementations, the first device may include a module or unit corresponding to the method / operation / step / action described in the first aspect, and the module or unit may be a hardware circuit, or software, or a combination of hardware circuit and software.

[0054] In a fourth aspect of the present application, a second device is provided, including: a module for executing the method according to the second aspect of the present application.

[0055] In some implementations, the second device may be a terminal device or a network device, or a device in the terminal device or the network device (e.g., a chip, or a chip system, or a circuit), or a device that can be used in conjunction with the terminal device or the network device.

[0056] In some implementations, the second device may include a module or unit that corresponds to the method / operation / step / action described in the second aspect. The module or unit may be a hardware circuit, software, or a combination of hardware circuit and software.

[0057] In a fifth aspect of the present application, an electronic device is provided. The electronic device includes: a processor, configured to execute a computer program (or computer executable instructions) stored in a memory, and / or a logic circuit to enable the device to execute the method in the first aspect and each possible implementation of the first aspect or the second aspect and each possible implementation of the second aspect.

[0058] In a possible implementation, the device may further include a memory.

[0059] In one possible implementation, the processor and the memory may be integrated together.

[0060] In another possible implementation, the memory may be located outside the electronic device.

[0061] The communication device may also include a communication interface, which is used for the communication device to communicate with other devices, such as sending or receiving data and / or signals. Exemplarily, the communication interface may be a transceiver, circuit, bus, module or other type of communication interface.

[0062] In a sixth aspect of the present application, a communication device is provided, comprising: a processor and a communication interface, wherein the processor is configured to execute the method according to the first aspect or the second aspect of the present application via the communication interface.

[0063] In a seventh aspect of the present application, a communication system is provided, which includes at least one of a first device and a second device, wherein the first device is configured to execute the method according to the first aspect of the present application, and the second device is configured to execute the method according to the second aspect of the present application.

[0064] In an eighth aspect of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores instructions, and when the instructions are executed by an electronic device, the electronic device executes the method according to the first aspect or the second aspect of the present application.

[0065] In a ninth aspect of the present application, a computer program product is provided, wherein the computer program product comprises instructions, and when the instructions are executed by an electronic device, the electronic device executes the method according to the first aspect or the second aspect of the present application.

[0066] Other features and advantages of the embodiments of the present application will also become apparent from the following description of specific embodiments when read in conjunction with the accompanying drawings, which illustrate, by way of example, the principles of the embodiments of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0067] Embodiments of the present application are presented by way of example and are explained in more detail below with reference to the accompanying drawings, in which:

[0068] Figure 1 An example of a data compression process is shown.

[0069] Figure 2 An example scenario in which an example embodiment according to the present application is applied is shown.

[0070] Figure 3 A flow chart of a data compression method according to an exemplary embodiment of the present application is shown.

[0071] Figure 4A and Figure 4B An example of data compression according to an exemplary embodiment of the present application is shown.

[0072] Figure 5A and Figure 5B Another example of data compression according to an exemplary embodiment of the present application is shown.

[0073] Figure 6 A flow chart showing a method for transmitting a compressed sequence according to an exemplary embodiment of the present application.

[0074] Fig. 7A and Figure 7B An example of a transmission compression sequence according to an exemplary embodiment of the present application is shown.

[0075] FIG. 8A to FIG. 8C Another example of a transmission compression sequence according to an exemplary embodiment of the present application is shown.

[0076] 9A to 9C Another example of a transmission compression sequence according to an exemplary embodiment of the present application is shown.

[0077] Fig.10 is a flowchart illustrating a method of transmitting compressed data according to an exemplary embodiment of the present application.

[0078] Fig.11is a flowchart illustrating a method of receiving compressed data according to an exemplary embodiment of the present application.

[0079] Fig.12 is a schematic block diagram showing an apparatus for transmitting compressed data according to an exemplary embodiment of the present application.

[0080] Fig.13 is a schematic block diagram showing an apparatus for receiving compressed data according to an exemplary embodiment of the present application.

[0081] Fig.14 It is a schematic diagram of the structure of an exemplary electronic device capable of implementing the embodiments of the present application.

[0082] Fig.15 It is a schematic diagram of the structure of an example communication device capable of implementing an embodiment of the present application.

[0083] Throughout the drawings, the same or similar reference numerals refer to the same or similar elements. DETAILED DESCRIPTION

[0084] The embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be construed as being limited to the embodiments described herein. Instead, these embodiments are provided to provide a more thorough and complete understanding of the present application. It should be understood that the drawings and embodiments of the present application are only for exemplary purposes and are not intended to limit the scope of protection of the present application.

[0085] In the description of the embodiments of the present application, the term "including" and similar terms should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0086] The embodiments of the present application may be implemented according to any suitable communication protocol, including but not limited to the fifth generation (5G) th generation, 5G) and the communication protocols that evolve after 5G (for example, the sixth generation (6 th generation, 6G)) and other cellular communication protocols, such as Institute of Electrical and Electronics Engineers (IEEE) 802.11 and other wireless local area network communication protocols, and / or any other protocol currently known or developed in the future.

[0087] The technical solutions of the embodiments of the present application are applied to communication systems that follow any appropriate communication protocols, such as: long term evolution (LTE) systems, frequency division duplex (FDD) systems, time division duplex (TDD) systems, fifth generation (5G) systems (e.g., new radio (NR)) and communication systems that evolve after 5G (e.g., sixth generation (6G) systems), etc.

[0088] The term "terminal" or "terminal device" used in this disclosure refers to any terminal device that can communicate with network devices or each other by wire or wirelessly. Terminal equipment can also be called user equipment (UE), mobile station (MS), mobile terminal (MT), etc., or a device used to provide voice or data connectivity to users, or an Internet of Things device. The terminal device can be any type of mobile terminal, fixed terminal or portable terminal. The terminal device can be various wireless communication devices with wireless communication functions. For example, terminal devices include handheld devices with wireless connection functions, vehicle-mounted devices, etc. At present, the terminal device can be: a mobile cellular phone, a cordless phone, a mobile terminal (mobile terminal, MT), a mobile station, a mobile device, a wireless terminal, a handheld device, a client, a subscription station, a portable subscription station, an Internet node, a communicator, a desktop computer, a laptop computer, a notebook computer, a tablet computer, a personal communication system device, a personal navigation device, a personal digital assistant (personal digital assistant, PDA), a wireless data card, a wireless modem (modulatordemodulator, Modem), a positioning device, a radio broadcast receiver, an e-book device, a gaming device, an Internet of Things (IoT) device, a PDA, a mobile Internet device (mobile internet device, MID), a wearable device (such as a smart watch, a smart bracelet, a pedometer, a smart glasses, etc.), an in-vehicle device (such as a car, a bicycle, an electric car, an airplane, a ship, a train, a high-speed rail, etc.), a satellite terminal, a virtual reality (virtual reality, VR) device, an augmented reality (augmented reality, AR) device, a smart point of sale (point of sale, POS) machine, a customer-premises terminal device (customer-premises equipment, CPE), wireless terminals in industrial control, smart home equipment (for example, refrigerators, televisions, air conditioners, electric meters, etc.), intelligent robots, robotic arms, workshop equipment, wireless terminals in unmanned driving, wireless terminals in telemedicine, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, or wireless terminals in smart homes, flying equipment (for example, intelligent robots, hot air balloons, drones, airplanes), etc.The terminal device may also be a vehicle device, such as a whole vehicle device, a vehicle-mounted module, a vehicle-mounted chip, an on-board unit (OBU) or a telematics box (T-BOX), or any combination thereof. The terminal device may also be other devices with terminal functions, for example, the terminal device may also be a device that serves as a terminal function in D2D communication. In addition, with the rise of the Internet of Things (IOT) technology, more and more devices that did not previously have communication functions, such as but not limited to household appliances, vehicles, tools and equipment, service equipment and service facilities, have begun to obtain wireless communication functions by configuring wireless communication units, so that they can access wireless communication networks and accept remote control. Such devices have wireless communication functions because they are configured with wireless communication units, and therefore also belong to the category of wireless communication devices. The embodiments of the present application do not limit this.

[0089] In addition, the embodiments of the present application do not limit the device form of the terminal. The device for realizing the function of the terminal device can be a terminal device; or it can be a device that can support the terminal device to realize the function, such as a chip system. The device can be installed in the terminal device or used in combination with the terminal device. In the embodiments of the present application, the chip system can be composed of chips, or it can include chips and other discrete devices.

[0090] The term "network node" or "network device" used in this application is an entity or node that can be used to communicate with a terminal device, for example, it can be an access network device. The access network device can be a device deployed in a wireless access network to provide wireless communication functions for mobile terminals, for example, it can be a radio access network (RAN) network device. The access network device may include various types of base stations. The base station is used to provide wireless access services for terminal devices. Specifically, each base station corresponds to a service coverage area, and the terminal device entering the area can communicate with the base station through wireless signals to receive the wireless access service provided by the base station. There may be overlaps between the service coverage areas of the base stations, and the terminal device in the overlapping area can receive wireless signals from multiple base stations, so that multiple base stations can provide services for the terminal device at the same time. Depending on the size of the service coverage area provided, the access network device may include a macro base station providing a macro cell, a micro base station for providing a pico cell, a micro base station for providing a micro cell, and a femto base station for providing a femto cell. In addition, the access network equipment may also include various forms of relay stations, access points, remote radio units (RRU), radioheads (RH), remote radio heads (RRH), etc. In systems using different wireless access technologies, the names of access network equipment may be different, such as evolved NodeB (eNB or eNodeB) in the long term evolution (LTE) network, NodeB (NB) in the 3G network, gNB or NR NB in ​​the 5G network, and so on. In some scenarios, the access network equipment may include a central unit (CU) and / or a distributed unit (DU). The CU and DU can be placed in different places, for example: the DU is remote and placed in an area with high traffic volume, and the CU is placed in a central computer room. Alternatively, the CU and DU can also be placed in the same computer room. The CU and DU can also be different components under one rack.

[0091] In addition, multiple network devices in a communication system can be nodes of the same type or different types. In some scenarios, the roles of network devices and terminals are relative. For example, a network element can be a helicopter or a drone, which can be configured as a mobile base station. For terminals accessed through the network element, the network element is a base station; but for the base station, the network element is a terminal. Network devices and terminals are sometimes referred to as communication devices. Network devices can be understood as communication devices with base station functions, and terminals can be understood as communication devices with terminal functions.

[0092] In one possible scenario, the network device may be a base station, an evolved NodeB (eNodeB), a transmitting and receiving point (TRP), a transmitting point (TP), a next generation NodeB (gNB), a next generation base station in a 6th generation (6G) mobile communication system, a base station in a future mobile communication system, a satellite, or an access point (AP) in a WiFi system, an integrated access and backhaul (IAB) node, a network device in a mobile switching center non-terrestrial network (NTN) communication system, that is, it can be deployed on a high altitude platform or satellite, etc. The network device may be a macro base station, a micro base station or an indoor station, a relay node or a donor node, or a wireless controller in a cloud radio access network (CRAN) scenario. The network device may also be a device that functions as a base station in device to device (D2D) communication, vehicle networking communication, drone communication, and machine communication. Optionally, the network device may also be a server, a wearable device, a vehicle or an onboard device, etc. For example, the access network device in the vehicle to everything (V2X) technology may be a road side unit (RSU).

[0093] In another possible scenario, multiple network devices collaborate to assist the terminal in achieving wireless access, and different network devices respectively implement part of the functions of the base station. For example, the network device may be a CU, a DU, a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU). The CU and the DU may be separately configured, or may be included in the same network element, such as a baseband unit (BBU). The RU may be included in a radio frequency device or a radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH). It is understandable that the network device may be a CU node, a DU node, or a device including a CU node and a DU node. In addition, the CU may be divided into a network device in the access network RAN, or the CU may be divided into a network device in the core network (CN), without limitation here.

[0094] In different systems, CU (or CU-CP and CU-UP), DU or RU may also have different names, but those skilled in the art can understand their meanings. For example, in an open RAN (open RAN, ORAN) system, CU may also be called O-CU (open CU), DU may also be called O-DU, CU-CP may also be called O-CU-CP, CU-UP may also be called O-CU-UP, and RU may also be called O-RU. For the convenience of description, CU, CU-CP, CU-UP, DU and RU are described as examples in this application. Any unit of CU (or CU-CP, CU-UP), DU and RU in this application may be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.

[0095] In the embodiments of the present application, the form of the network device is not limited. The device for realizing the function of the network device can be the network device; or it can be a device that can support the network device to realize the function, such as a chip system. The device can be installed in the network device or used in combination with the network device.

[0096] For the convenience of description, in the subsequent embodiments of this application, the above-mentioned devices providing wireless communication functions for mobile terminals are collectively referred to as network devices, and the embodiments of this application are no longer specifically limited. It can be understood that all or part of the functions of the network devices in this application can also be implemented by software functions running on hardware, or by virtualization functions instantiated on a platform (such as a cloud platform).

[0097] The data compression process may generally include three steps, namely, applying compression to the data, performing quantization, and performing entropy encoding. Figure 1 An example of a data compression process is shown. Figure 1 As shown, the source data sequence is first compressed in compression step S102 by projection, discrete cosine transform (DCT) / discrete Fourier transform (DFT) and dictionary compression algorithms, and then quantized into an index sequence (elements in the codeword table (alphabet) can represent the value range of the index in the index sequence) by quantization step S104, and finally the quantized index sequence is entropy encoded by entropy coding 106 to achieve further compression, and finally obtain the bit stream to be transmitted. If the distribution of the index sequence is known, the data can be compressed approximately to the theoretical limit by entropy coding. However, when the distribution of the index sequence is unknown, the compression performance of entropy coding still has room for improvement.

[0098] In order to further improve the compression performance of entropy coding during data transmission, the frequency of the same elements in the index sequence can be increased. For example, the frequency of the same elements in the index sequence can be increased by reducing the alphabet size of the quantized index sequence. Here, the codeword table refers to the value set of the index in the index sequence. For example, the codeword table {0,1,2,3} represents an element in the index sequence with each index {0,1,2,3}, and the codeword table size refers to the number of elements in the codeword table. For example, when the codeword table is {0,1,2,3}, the codeword table size is 4.

[0099] The embodiment of the present application provides a solution to further reduce the amount of compressed data by reducing the codeword table size of the quantized index sequence before entropy coding. According to the embodiment of the present application, the total codebook corresponding to the index sequence obtained by quantization can be split into multiple sub-codebooks, and then the index sequence is graded into one or more layers of first-level sequences and second-level sequences based on the multiple sub-codebooks, the first-level sequence includes the number of the sub-codebook corresponding to the element in the upper-level sequence associated with it, and the second-level sequence includes the position of the element in the upper-level sequence associated with it in the corresponding sub-codebook. In addition, the exemplary embodiment of the present application can determine the sequence of one or more layers of the first-level sequence and the second-level sequence that is not associated with the next-level hierarchical sequence as the sequence to be transmitted, instead of sending the original index sequence. Since the codeword table size of the sequence to be transmitted obtained by grading is greatly reduced relative to the codeword table size of the original sequence, the compression efficiency of the subsequent entropy coding step can be improved.

[0100] Figure 2 An example scenario of applying an example embodiment according to the present application is shown. Figure 2After the index sequence is obtained through the quantization step S104, the size of the codeword table corresponding to the index sequence can be reduced in step S108 to further process the index sequence, so that the frequency of occurrence of the same elements in the processed index sequence is increased, thereby achieving a higher compression rate in the subsequent entropy encoding step S106. The scheme for reducing the size of the codeword table according to an exemplary embodiment of the present application will be described in more detail below.

[0101] Figure 3 A flow chart of a data compression method 300 according to an exemplary embodiment of the present application is shown. Figure 3 The method 300 shown can be implemented on any device capable of sending and receiving data in data transmission, for example, the device can be a network device, a terminal, etc. Hereinafter, for the sake of convenience of explanation and simplicity, the device that sends data will be referred to as the first device 10, the device that receives data will be referred to as the second device 20, and the original index sequence obtained by quantization will be referred to as the original sequence.

[0102] Reference Figure 3 In step S302, the first device 10 may obtain codebook splitting information, and the codebook splitting information may indicate that the total codebook is split into multiple sub-codebooks.

[0103] In an exemplary embodiment of the present application, the total codebook may refer to a codebook corresponding to the original sequence (i.e., the original index sequence) obtained by the quantization step, and the sub-codebook may refer to a codebook obtained by splitting the total codebook or further splitting the sub-codebook obtained by splitting the total codebook. In addition, the codebook splitting information may indicate information of multiple sub-codebooks obtained by the above splitting, for example, the codebook splitting information includes one or more of the following: a specific codeword of the sub-codebook, a length of the sub-codebook, a position where the sub-codebook is used, etc. As an example only, assuming that a total codebook of a given R bit is where c i As the i-th codeword, the total codebook can be Split into M sub-codebooks The number of codewords in each sub-codebook can be set to be the same or different.

[0104] In step S304, the first device 10 may obtain a first-level sequence and a second-level sequence for the original sequence obtained based on the total codebook. The first-level sequence may include the number of a sub-codebook in the multiple sub-codebooks to which each element in the original sequence belongs, and the second-level sequence may include the position of each element in the sub-codebook to which it belongs. For example, for the total codebook and sub-codebook exemplified above, given a set of data For the kth data s among the total K data k , you can select the appropriate sub-codebook for it (where j∈[0,M-1]) to obtain its corresponding first-level sequence and second-level sequence.

[0105] In step S306, the first device 10 may send a compressed sequence obtained based on the first level sequence and the second level sequence.

[0106] The second device 20 may receive the compressed sequence sent from the first device 10 at step S308, and obtain the original sequence based on the received compressed sequence and the codebook splitting information obtained at step S306. Figure 3 It is shown that the second device 20 obtains the codebook splitting information before receiving the compressed sequence, but the present application is not limited to this. The second device 20 can obtain the codebook splitting information when receiving the compressed sequence or after receiving the compressed sequence. The present application does not limit this point.

[0107] In an exemplary embodiment of the present application, the codebook splitting information may be pre-configured, determined by the first device 10 that sends the compressed sequence and sent to the second device 20, or determined by the second device 20 that receives the compressed sequence and sent to the first device 10. In other words, the codebook splitting information is known or shared between the first device 10 that sends the compressed sequence and the second device 20 that receives the compressed sequence. In addition, the manner of splitting the total codebook to obtain the sub-codebooks may be determined in various ways such as experience, historical data, etc., which is not limited in the present application.

[0108] The following will be combined 4A to 9C Detailed Description Figure 3 The various steps of the data compression method 300.

[0109] Figure 4A An example of data compression according to an exemplary embodiment of the present application is shown.

[0110] exist Figure 4A In the example shown, as an example, it is assumed that the total codebook Split into 3 sub-codebooks as well as Then, for the original sequence {7, 2, 6, 0...}, it can be split into the following hierarchical manner in step 304: Figure 4A The first level sequence is shown as {1, 0, 2, 1....} and the second level sequence is {1, 0, 3, 0....}.

[0111] Figure 4B Another example of data compression according to an exemplary embodiment of the present application is shown.

[0112] like Figure 4BAs shown, the total codebook corresponding to the original sequence {0, 18, 10, 2, 5, 5, 4, 3, 22, 23, 1, 25, 20, 4, 7, 6, 27} is {0, 1, 2, ..., 31}, and the total codebook is divided into 8 sub-codebooks as well as Based on the 8 sub-codebooks, the original sequence is hierarchically divided into two sequences of the next layer, i.e., a first-level sequence and a second-level sequence. The value of the element in the first-level sequence may indicate the number of the sub-codebook to which the element at the corresponding position in the original sequence belongs, and the value of the element in the second-level sequence may indicate the position of the element at the corresponding position in the original sequence in the sub-codebook to which it belongs.

[0113] Just as an example, Figure 4B As shown, the element value "1" at the fifth position in the first-level subsequence indicates the subcodebook to which the element "5" corresponding to the fifth position in the original sequence belongs. The element value "1" at the fifth position in the second-level subsequence indicates that the element "5" at the fifth position in the original sequence is in the codebook to which it belongs. In this hierarchical manner, a first-level sequence {0, 4, 2, 0, 1, 1, 1, 0, 5, 5, 0, 6, 5, 1, 1, 1, 6} and a second-level sequence {0, 2, 2, 2, 1, 1, 0, 3, 2, 3, 1, 1, 0, 0, 3, 2, 3} of the first layer corresponding to the original sequence (assuming it is at the topmost layer 0) can be obtained.

[0114] After obtaining the first-level sequence and the second-level sequence through grading, the first device 10 can determine a sequence to be transmitted corresponding to the original sequence, and thus determine a compressed sequence to be transmitted based on the sequence to be transmitted.

[0115] As an example only, in the case where the codebook splitting information indicates that the total codebook is split only once to obtain a set of sub-codebooks, for example, Figure 4A or Figure 4BIn the case shown, the sequence to be transmitted may be a first-level sequence and a second-level sequence obtained from the original sequence based on the group of sub-codebooks. However, it should be understood that the present application is not limited thereto. In the case where the codebook splitting information indicates that multiple groups of sub-codebooks are obtained by performing multiple nested splittings based on the total codebook, the first device 10 may not only classify the original sequence to obtain a first-level sequence and a second-level sequence (herein referred to as a first-level sequence and a second-level sequence of the first layer), but may also continue to classify at least one of the obtained first-level sequence and the second-level sequence according to the classification method described in step 304 to obtain a first-level sequence of the second layer and a second-level sequence of the second layer. By analogy, the first device 10 may classify at least one of the first-level sequence and the second-level sequence of each layer in the same classification method until the classification end condition is reached, thereby obtaining a multi-layer sequence.

[0116] In an exemplary embodiment of the present application, the sequence to be transmitted may be obtained based on the multi-layer sequence. In detail, for example, the first-level sequence and the second-level sequence obtained by grading the original sequence may be the first-level sequence of the first layer in the multi-layer sequence and the second-level sequence of the first layer in the multi-layer sequence, respectively, and the one or more subcodebooks used to grade the original sequence may be one or more subcodebooks of the first layer. In an exemplary embodiment of the present application, the first device 10 may obtain the multi-layer sequence in the following grading manner: first determine the sequence to be graded in the sequence of the first layer, and then obtain the first-level sequence of the second layer and the second-level sequence of the second layer based on the sequence to be graded in the first layer. The first-level sequence of the second layer may include the number of a second-layer subcodebook in the multiple subcodebooks to which each element in the sequence to be graded in the first layer belongs, and the second-level sequence of the second layer may include the position of each element in the second-layer subcodebook to which it belongs. In other words, the first transposition 10 can determine the numbers of the one or more second-layer subcodebooks to which the multiple elements in the sequence to be classified belong, so as to obtain the first-level sequence of the second layer, and determine the positions of the multiple elements in the sequence to be classified in the one or more second-layer subcodebooks to which they belong, so as to obtain the second-level sequence of the second layer, and classify the sequence layer by layer in a similar nested manner (that is, continue to classify into the first-level sequence and the second-level sequence of the next layer), so as to obtain a multi-layer sequence. Figure 5A and Figure 5B The manner in which the multilayer sequences are obtained is explained in detail.

[0117] Figure 5A and Figure 5B Another example of data compression according to an exemplary embodiment of the present application is shown.

[0118] Figure 5A An example of hierarchical acquisition of a multi-layer sequence is shown. Figure 5A , through Figure 4Aand Figure 4B After the original sequence at the 0th layer is graded into the first-level sequence of the first layer and the second-level sequence of the first layer, the first device 10 can continue to grade. For example, the first-level sequence of the first layer is graded into a first-level sequence and a second-level sequence of the second layer, and the second-level sequence of the first layer is graded into another first-level sequence and another second-level sequence of the second layer. The first device 10 can also continue to grade the first-level sequence of the second layer obtained by grading the second-level sequence of the first layer, to obtain the first-level sequence of the third layer and the second-level sequence of the third layer, and so on.

[0119] Figure 5B An example of obtaining a second layer sequence by hierarchical processing of the first layer sequence is shown. Figure 5B , assuming reference Figure 4B The obtained first-level sequence of the first layer {0, 4, 2, 0, 1, 1, 1, 0, 5, 5, 0, 6, 5, 1, 1, 1, 6} can be further hierarchical, and according to the codebook splitting information, the subcodebook used by the first-level sequence of the first layer is According to the hierarchical manner of the embodiment of the present application, the first-level sequence of the second layer {0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1} and the second-level sequence of the second layer {0, 3, 2, 0, 1, 1, 1, 0, 1, 1, 0, 2, 1, 1, 1, 1, 2} can be obtained. For example, for the element "4" at the second position in the first-level sequence of the first layer, the subcodebook of the second layer to which it belongs is And the position in it is the fourth position (that is, the position numbered 3), so in the first-level sequence of the second layer, the corresponding second element is The number "0", and in the second level sequence of the second layer, the corresponding second element is element "4" in The number of the position in is "3".

[0120] In an exemplary embodiment of the present application, the method for determining whether a sequence in a layer is a sequence to be classified can be pre-specified. For example, it can be directly specified based on experience which positions in the multi-layer sequence need to be classified and to which layers the original sequence needs to be classified. As an example only, it can be indicated that the sequence at the position does not need to be classified by not configuring the subcodebook of the corresponding position. For example, referring to Figure 5B , for the second level sequence of the first layer, if there is no available sub-codebook according to the codebook splitting information, the first device 10 may determine that the second level sequence of the first layer will not be classified as a sequence of the next layer. Figure 5B As shown, since there are available sub-codebooks according to the codebook splitting information, the first device 10 can determine that the first level sequence of the first layer is to be classified as a sequence of the next layer.

[0121] In addition, the sequence position to be graded in the multi-layer sequence may not be determined in advance, but the first device 10 may dynamically determine whether the sequence of each layer is a sequence to be graded that needs to be further graded. For example, when determining the sequence to be graded in a sequence of a certain layer (e.g., the first layer, the second layer, etc.), the first device 10 may first determine whether the layer has reached the number of layers of the multi-layer sequence (the number of layers may be determined based on the hierarchical situation of the codebook in the codebook splitting information). If the layer has reached the number of layers of the multi-layer sequence (e.g., the maximum number of layers), it may be determined that there is no sequence to be graded, that is, all sequences do not need to be graded. However, if the layer has not reached the number of layers of the multi-layer sequence, the first device 10 may determine the sequence to be graded in the layer. For example, the first device 10 may perform entropy coding on the first-level sequence and the second-level sequence of the next layer corresponding to each sequence of the layer (which can be obtained using the subcodebook corresponding to each sequence of the layer) to obtain a first length corresponding to the coded sequence, and may also perform entropy coding on each sequence of the layer to obtain a second length corresponding to the coded sequence. The first device 10 may determine a sequence whose first length is less than the second length as a sequence to be classified, and may determine a sequence whose first length is greater than the second length as no longer to be classified, that is, not belonging to a sequence to be classified. Figure 5B The first device 10 may classify the second-level sequence of the first layer in the data structure of the first device 10 into the first-level sequence and the second-level sequence of the second layer using the corresponding subcodebook (if any), and then perform entropy coding on the first-level sequence and the second-level sequence of the second layer obtained by classification to obtain data of the first length. In addition, the first device 10 may also perform entropy coding on the second-level sequence of the first layer itself to obtain data of the second length. If the first length is less than the second length, it means that continuing the classification can further reduce the amount of data, so the first device 10 may determine the second-level sequence of the first layer as the sequence to be classified. Otherwise, it means that the amount of data can no longer be reduced by classification, and the first device 10 may determine that classification is no longer performed. The first device 10 may repeat the above steps of determining the sequence to be classified for each layer sequence after classification until the predetermined number of layers of the multi-layer sequence is reached, or until it is determined that there is no sequence to be classified.

[0122] In an exemplary embodiment of the present application, the first device 10 may determine the sequence that is no longer to be classified as the sequence to be transmitted, and obtain a compressed sequence by performing entropy coding on it. Figure 4B In the case where the original sequence is only hierarchical into a single-layer hierarchical sequence, both the first-level sequence and the second-level sequence obtained by hierarchical transmission will be sent. Figure 5A In the case where the original sequence shown is classified into multiple layers of sequences, the first-level sequence and the second-level sequence in the multiple layers of sequences that are determined not to belong to the sequence to be classified can be determined as the sequence to be sent, that is, the sequence to be transmitted. Figure 5A The first level sequence at position 0 of the second layer, the second level sequence 2 at position 1 and the second level sequence at position 3, and the first level sequence at position 4 and the second level sequence at position 5 of the third layer may be sequences to be transmitted.

[0123] In an exemplary embodiment of the present application, the first device 10 may perform entropy coding on the first level sequence and the second level sequence in the sequence to be transmitted, respectively, or may perform entropy coding on the first level sequence and the second level sequence together. In a possible implementation, the first device 10 may also perform entropy coding on multiple sequences or subsequences belonging to different subcodebooks in the second sequence in the sequence to be transmitted, respectively, according to the subcodebook.

[0124] In an exemplary embodiment of the present application, before performing entropy coding, a plurality of adjacent elements in the sequence to be transmitted may be grouped into a single element with a preset number of elements as a group to obtain a combined sequence to be transmitted, and the combined sequence to be transmitted may be entropy coded to obtain a compressed sequence. For example, assuming that the sequence to be transmitted is {0, 0, 1, 1, 0, 0, 1, 0, 1, 0, ...}, two adjacent elements in the sequence may be combined in pairs to obtain a combined sequence to be transmitted {0, 3, 0, 2, 2, ...} (for example, two adjacent elements "0" are combined to obtain "00", which may be represented as "0" in the combined sequence to be transmitted, and two adjacent elements "1" are combined to obtain "11", which may be represented as "3" in the combined sequence to be transmitted), thereby reducing the sequence length (i.e., reducing the number of elements in the sequence) and further improving the degree of compression. In this case, when the second device 20 receives the compressed sequence, the second device 20 may first entropy decode the compressed sequence to obtain a combined hierarchical sequence. Then, the second device 20 may split each element in the combined hierarchical sequence into a set of a predetermined number of elements to obtain the original hierarchical sequence. For example, the second device 20 may split "11" representing "3" into two elements "1" and "1", thereby obtaining the original hierarchical sequence. Afterwards, the second device 20 may restore the first-level sequences and second-level sequences of the upper layer layer by layer, starting from the bottom-level hierarchical sequence, based on the codebook splitting information and the original hierarchical sequence, thereby finally obtaining the original sequence. This method of combining and splitting elements is known or shared between the first device 10 and the second device 20, and is not limited in the present application.

[0125] In an exemplary embodiment of the present application, the first device 10 may also send sequence information associated with the sequence to be transmitted corresponding to the compressed sequence when sending the compressed sequence. For example, the sequence information may include sequence length information, which may indicate the sequence length of each sequence in the sequence to be transmitted, for example, Figure 5AThe length of each of the five sequences sent may be [50, 100, 32, 51, 44] respectively. In addition, when the sequence to be transmitted is obtained based on a multi-layer sequence, the sequence information sent may also include sequence position information, which may indicate the layer where each sequence in the sequence to be transmitted is located (i.e., which layer in the multi-layer sequence it is in), the position in the layer where it is located, and the position of the corresponding upper layer sequence in the upper layer. For example only, refer to Figure 5A , the sequence position information of the first-level sequence at position 4 of the third layer may include the layer where it is located (i.e., the third layer), the position in the layer where it is located (i.e., position 4,), and the position of the corresponding upper-layer sequence (i.e., the first-level sequence at position 2 of the second layer) in the upper layer (i.e., position 2 of the second layer). In addition, in the present application, a tree structure or any other feasible method may also be used to indicate such position information, which is not limited in the present application.

[0126] In addition, the sequence information may also include sequence symbol indication information, which may indicate whether the sequence in the sequence to be transmitted is a first-level sequence or a second-level sequence. For example, 0 may indicate a first-level sequence, 1 may indicate a second-level sequence, or vice versa. Figure 5A The sequence symbol indication of the five sequences sent may be [0, 1, 1, 0, 1]. However, in the case where the hierarchical sequences of each layer (i.e., the first-level sequence and the second-level sequence) are arranged in a preset manner, for example, in the case where the first-level sequence corresponding to the same upper-level sequence is always arranged on the left or right side of the second-level sequence, since the first-level sequence / second-level sequence is always in an odd or even position, the position of the sequence can indicate whether the sequence is a first-level sequence or a second-level sequence, and thus the sequence symbol indication information may be omitted.

[0127] In addition, in the exemplary embodiment of the present application, the sequence symbol indication information and the sequence length information can also be combined together for indication, still in the form of Figure 5A For example, the combined indication information may be [(0,50), (1,100), (1,32), (0,51), (1,44)]. However, it should be understood that other indication methods are also feasible, and the present application is not limited in this regard.

[0128] After the sequence to be transmitted is determined as above and entropy encoded into a compressed sequence, Figure 3The compressed sequence is sent as in step S308 of . In an exemplary embodiment of the present application, when the amount of resources (for example, the amount of time-frequency resources) used for data transmission is sufficient, all compressed sequences can be sent through one transmission. However, when the amount of resources (for example, the amount of time-frequency resources) used for data transmission is insufficient, the compressed sequence can be sent through multiple transmissions through incremental transmission. In each transmission, a part of the sequence to be transmitted to be sent for the current transmission can be determined based on the amount of resources allocated for the current transmission, and then a part of the compressed sequence obtained based on this part of the sequence to be transmitted is sent (for example, a part of the corresponding compressed sequence obtained by entropy encoding this part of the sequence to be transmitted). In this way, even if the amount of resources allocated for data transmission is insufficient, there is no need to continue to compress the resources to be transmitted to adapt to the allocated amount of resources, thereby avoiding distortion or loss caused by continued compression.

[0129] Figure 6 An exemplary flow chart of a method 600 for transmitting a compressed sequence according to an exemplary embodiment of the present application is shown. Figure 6 In the embodiment, it is assumed that the first device 10 (eg, a terminal) sends a sequence to be transmitted to the second device 20 (eg, a network device).

[0130] like Figure 6As shown, in step S602, the first device 10 may upload a request to the second device 20 (for example, through a scheduling request (SR)), requesting the second device 20 to allocate transmission resources. Thereafter, in step S604, the second device 20 may send the resources allocated for the current transmission to the first device 10. For example, in the first transmission, the second device 20 may determine the total resources R required for the first device 10 to upload all data and the resources R1 that can be allocated to the first device 10 for the first transmission, and send resource information (R, R1), and similarly, in the second transmission, the second device 20 may send resource information (R, R2), R2 is the resource that can be allocated to the first device 10 for the second transmission, and so on. Optionally, the required total resources R may be sent separately from the resources allocated for each transmission, for example, the required total resources R may be sent before the first transmission, and the resources that can be allocated for each transmission may be sent at the beginning of each transmission. Here, R can be the total amount of resources (e.g., R bits) required to achieve a specific indicator (e.g., distortion indicator) using, for example, data type, relevant prior experience (e.g., historical information, the size of data of this type uploaded by other devices, etc.), which should be allocated to the first device 10 to perform quantization to obtain the original sequence of R bits. R1 is the amount of resources that can be allocated to the current transmission due to factors such as resource limitations. Here, the first device 10 and the second device 20 can implicitly obtain the data type through information such as the time-frequency resources of the SR. In a possible implementation, a new SR type can also be defined to indicate different data types.

[0131] In step S606, the first device 10 may perform operations such as quantization and hierarchical compression according to the allocated resources based on the instruction of the second device 20. In the exemplary embodiment of the present application, for example, the first device 10 may perform operations such as quantization and hierarchical compression based on the instruction of the second device 20. Figure 1 and Figure 2 In the quantization step of , a quantizer with an accuracy of R is used for quantization to obtain an R-bit original sequence. In addition, the first device 10 can also classify the original sequence obtained by quantization based on the hierarchical compression mode indicated by the second device 20 (for example, based on the codebook splitting information), for example, into one or more layers of first-level sequences and second-level sequences.

[0132] In step S608, the first device 10 may upload a portion of the sequence to be transmitted based on the allocated resources (eg, R1), for example, a portion of the first-level sequence and a corresponding portion of the second-level sequence.

[0133] Afterwards, in step S610, the second device 20 may again send down the resources and resource information allocated for the second transmission (which may be the same or different from the amount of resources allocated for the previous transmission), and in step S612, the first device 10 may determine a portion of the sequence to be transmitted in the current transmission from the remaining sequences that have not been sent based on the resources sent down in step S610, and upload the portion of the sequence to be transmitted. If there are still sequences to be transmitted left after step S612, steps S610 and S612 may be repeated until the sequence to be transmitted is sent. 7A to 9C Examples of various example incremental transfer approaches are described in detail.

[0134] Fig. 7A and Figure 7B An example of a transmission compression sequence according to an exemplary embodiment of the present application is shown. Fig. 7A shows an incremental transmission scenario where the original sequence is hierarchical into a single-layer hierarchical sequence, and Figure 7B An incremental transmission scenario is shown in which an original sequence is hierarchical into a multi-layer hierarchical sequence.

[0135] exist Fig. 7A and Figure 7B In the incremental transmission shown, a part of the sequence to be transmitted determined in one transmission may include: a part of the first-level sequence in the untransmitted part of the first-level sequence in the sequence to be transmitted and a part of the second-level sequence in the untransmitted part of the second-level sequence, the elements in the determined part of the first-level sequence correspond to the elements in the determined part of the second-level sequence, and the amount of resources required to send the determined part of the first-level sequence and the determined part of the second-level sequence is less than the amount of resources allocated for the current transmission.

[0136] For example only, refer to Fig. 7A , the determined part of the sequence to be transmitted may be the first N elements of the part of the first-level sequence that has not been sent and the first N elements of the part of the second-level sequence that has not been sent (N is a positive integer). Based on the previous description of the grading, it can be known that the elements at each position in the first-level sequence and the second-level sequence (for example, the element at the Xth position) are determined based on the elements at the corresponding positions in the original sequence (for example, the element at the Xth position), so there is a corresponding relationship between them, and after the second device 20 receives these elements, the corresponding original sequence elements can be easily restored based on the codebook splitting information. In an exemplary embodiment of the present application, as Fig. 7A As shown, these elements may correspond to the same or different sub-codebooks, which is not limited in the present application.

[0137] Similarly, in the case where the sequence to be transmitted is obtained based on a multi-layer sequence, a portion of the sequence to be transmitted determined in one transmission may be the first N elements in the portion that has not been sent in each first-level sequence in the sequence to be transmitted and the first N elements in the portion that has not been sent in each second-level sequence. Based on the previous description of the hierarchy, it can be seen that the elements at the same position of the first-level sequence and the second-level sequence obtained from the same sequence hierarchy are determined based on the elements at the corresponding same position in the same sequence, so the elements at the same position in the three sequences have a corresponding relationship. After the second device 20 receives these elements, it can easily restore the corresponding elements in the corresponding sequence of the previous layer layer by layer based on the codebook splitting information until the corresponding elements in the original sequence are restored.

[0138] Furthermore, in the exemplary embodiment of the present application, Fig. 7A In the incremental transmission scenario of a single-layer hierarchical sequence, when sending a part of the compressed sequence obtained from a determined part of the sequence to be transmitted, the first device 10 may also send sequence information associated with the determined part of the sequence to be transmitted. For example, the sequence information may include sequence symbol indication information for indicating whether the sequence to which the part of the sequence to be transmitted belongs is a first-level sequence or a second-level sequence, so that the second device 10 receiving the part of the sequence can distinguish whether the received part of the sequence is a first-level sequence or a second-level sequence, thereby being able to use the corresponding sub-codebook to restore the corresponding part of the original sequence. In addition, optionally, the sequence information may also include the sequence length of the part of the sequence to be transmitted, for example, the length of each part of the first-level sequence or the second-level sequence determined.

[0139] Furthermore, in the exemplary embodiment of the present application, Figure 7B In an incremental transmission scenario of a multi-layer hierarchical sequence, when sending a part of a compressed sequence obtained from a determined part of the sequence to be transmitted, the sequence information sent by the first device 10 may include not only the above-mentioned sequence symbol indication information, but also the sequence position information of each sequence to which this part of the sequence to be transmitted belongs, so that the second device 10 that receives this part of the sequence can use the corresponding sub-codebook to restore the corresponding part of the original sequence step by step. FIG. 8A to FIG. 8C Another example of a transmission compression sequence according to an exemplary embodiment of the present application is shown.

[0140] exist FIG. 8A to FIG. 8C In the example shown, the first device 10 may first transmit the first-level sequence, and after the first-level sequence is transmitted, the second-level sequence is transmitted, or may first transmit the second-level sequence, and after the second-level sequence is transmitted, the first-level sequence is transmitted, and the present application does not impose any restrictions on this.

[0141] In an exemplary embodiment of the present application, when determining a portion of the sequence to be transmitted to be transmitted for each transmission, the first device 10 may first determine whether there is a first type sequence that has not been transmitted (i.e., a sequence determined to be transmitted first), and the first type sequence may be a first-level sequence or a second-level sequence, which is not limited here. If it is determined that there is a first type sequence that has not been transmitted, the first device 10 may determine whether the amount of resources allocated for the current transmission is sufficient to transmit the first type sequence that has not been transmitted. If the amount of resources allocated for the current transmission is insufficient to transmit the first type sequence that has not been transmitted, the first device 10 may select at least one first type subsequence from the first type sequence that has not been transmitted as a portion of the sequence to be transmitted to be transmitted for the current transmission, and the subsequence may be a sequence composed of a portion of elements in the first type sequence. Here, the amount of resources required to transmit the selected at least one first type subsequence should be less than the amount of resources allocated. In addition, if the resources allocated for the current transmission are sufficient to transmit the first type sequence that has not been transmitted, the first device 10 may determine the first type sequence that has not been transmitted as a portion of the sequence to be transmitted to be transmitted for the current transmission.

[0142] In an exemplary embodiment of the present application, optionally, when selecting at least one first type subsequence in the first type sequence that has not been transmitted, the first device 10 may select at least one first type subsequence according to the subcodebook corresponding to the first type sequence that has not been transmitted. For example only, Fig. 8A As shown, assuming that the second-level sequence is the first type sequence that has not been sent, the subcodebooks F0, F1, ..., F corresponding to the second-level sequence can be used. M-1 , select a subsequence consisting of elements corresponding to at least one of the subcodebooks as at least one second-level subsequence to be sent (the amount of resources required should be less than the amount of resources allocated), for example, a subsequence R consisting of elements corresponding to subcodebook F0 may be selected. (0)As at least one second-level subsequence to be sent. In addition, if the resources allocated for the current transmission are sufficient to send the first type sequence that has not been sent, the first device 10 may also determine the remaining available resource amount based on the amount of resources allocated for the current transmission and the amount of resources used to send the first type sequence that has not been sent. If the remaining available resource amount is sufficient to send at least one second type subsequence of the second type sequence that has not been sent, the first device 10 may determine that a part of the sequence to be transmitted to be sent for the current transmission may also include the least one second type subsequence. Here, the second type sequence is a sequence different from the first type sequence among the first-level sequence and the second-level sequence. Optionally, the first device 10 may select at least one second type subsequence according to the subcodebook corresponding to the second type sequence that has not been sent, and in this case, when sending a part of the compressed sequence obtained based on the determined part of the sequence to be transmitted, the first device 10 may also send the number of the subcodebook corresponding to each second type subsequence in the selected at least one second type subsequence.

[0143] Figure 8B and Figure 8C The incremental transmission according to the exemplary embodiment of the present application is explained by taking the example of sending the sequence to be transmitted by two transmissions. Figure 8B As shown, all first-level sequences may be transmitted in a first transmission (ie, initial transmission), and second-level sequences may be transmitted in a second transmission (ie, incremental transmission). Figure 8C As shown, all first-level sequences and part of the second-level sequences may be transmitted in a first transmission (ie, initial transmission), and the remaining untransmitted second-level sequences may be transmitted in a second transmission (ie, incremental transmission).

[0144] In an exemplary embodiment of the present application, the length of the sequence corresponding to different subcodebooks in the first-level sequence or the second-level sequence after compression (that is, the length after entropy coding) can be determined according to Figure 8B still Figure 8C way to transmit.

[0145] As an example, take the first-level sequence as an example, assuming that the length of the first-level sequence after entropy coding is L1 and the amount of resources allocated for the current transmission is R1 bits, then if L1≤R1 and R1-L1≤R (i) (like Fig. 8A As shown, R (i) is the subcodebook in the second-level sequence The entropy coded length of the corresponding subsequence, and i∈[0,M-1]), that is, the remaining resources for sending the first-level sequence are not enough to send the subsequence corresponding to any subcodebook in the second-level sequence, then Figure 8BAs shown, the first device 10 can pad the first-level sequence after entropy coding to R1 with zeros and send it. Optionally, the first device 10 may not need to pad with zeros, but may only send the first-level sequence during initial transmission.

[0146] In addition, if L1≤R1 and there is at least one second-level subsequence with an entropy-coded length R (i) Satisfy ∑R (i) ≤R1-L1, the at least one second-level subsequence may also be sent during the initial transmission. In addition, in order to enable the second device 20 to identify the received at least one second-level subsequence, such as Figure 8C As shown, the first device 10 may also send the number of the corresponding subcodebook of the at least one second-level subsequence during the initial transmission. In addition, if the length of the first-level sequence and the at least one second-level subsequence after entropy coding is still less than R1, then Figure 8C As shown, the first device 10 can fill the first-level sequence and the at least one second-level subsequence after entropy coding with zeros to R1 and send them. Optionally, zero filling is not required.

[0147] In addition, in the exemplary embodiment of the present application, FIG. 8A to FIG. 8C When transmitting multiple layers of first-level sequences and second-level sequences in a manner, the first device 10 may also send sequence position information corresponding to a portion of the sequence to be transmitted in each transmission. Figure 8B In the scenario of , the first device 10 may also send sequence position information corresponding to each first-level sequence during the initial transmission. Figure 8C In the scenario, the first device 10 may also send sequence position information corresponding to each first-level sequence and sequence position information of at least one selected second-level subsequence (the second-level sequence) during initial transmission.

[0148] 9A to 9C Another example of a transmission compression sequence according to an exemplary embodiment of the present application is shown. 9A to 9C The example shown is for a scenario where the sequence to be transmitted is obtained based on a multi-layer sequence.

[0149] exist 9A to 9C In the example shown, in each transmission, the first device 10 can determine the sequence of the number of layers (for example, the maximum number of layers) that can be sent with the amount of resources allocated for the current transmission as a part of the sequence to be transmitted to be transmitted in the current transmission in order from high to low in the layers in the multi-layer sequence where the sequence to be transmitted that has not been sent is located.

[0150] For example, refer to Fig. 9A, the first device 10 may start from the current highest layer in one or more layers of the sequence to be transmitted (for example, if it is the first transmission, the current highest layer may be the second layer shown in FIG. 9 ; if it is the second transmission, and the sequences to be transmitted in the second and third layers have been sent in the first transmission, the current highest layer may be the fourth layer shown in FIG. 9 ), and determine whether the length of the sequence to be transmitted in the layer after entropy coding is less than the amount of resources R1 allocated for the current transmission. If so, proceed to the next layer, and determine whether the total length of the sequences to be transmitted in the current highest layer and the next layer after entropy coding is less than the amount of resources R1 allocated for the current transmission, and so on, until it is determined at the i+1 layer that the total length of the sequence to be transmitted in the first i+1 layer after entropy coding is greater than R1. At this time, the length of the sequence to be transmitted in the first i layers after entropy coding is less than R1. The first device 10 may send a compressed sequence obtained (for example, obtained by entropy coding) from the sequence to be transmitted in the first i layers based on the allocated amount of resources. In addition, when sending the compressed sequence obtained from the first i layers of sequences to be transmitted, the first device 10 may also send sequence symbol indication information (optional), sequence length information, and sequence position information of each sequence in the first i layers of sequences to be transmitted.

[0151] In addition, in an exemplary embodiment of the present application, the first device 10 may also determine the remaining available resource amount based on the resource amount R1 allocated for the current transmission and the resource amount actually used for sending the compressed sequence obtained from the first i-th layer sequence to be transmitted. If the remaining available resource amount is sufficient to send at least one subsequence of the sequence to be transmitted of the i+1th layer (for example, the remaining resource amount is greater than R (i+1,j,k) , R (i+1,j,k) is the length of the subsequence corresponding to any one subcodebook k in the jth second-level sequence from left to right in the i+1th layer after entropy coding), the first device 10 may also send the corresponding compressed sequence of the at least one subsequence of the sequence to be transmitted in the i+1th layer in the current transmission. In an exemplary embodiment of the present application, the first device 10 may Figure 8B and Figure 8C In the example of , at least one subsequence of the sequence to be transmitted in the i+1th layer is selected according to the subcodebook. In addition, if the at least one subsequence belongs to the second-level sequence, in the current transmission, the first device 10 may also send the number of the subcodebook corresponding to the at least one subsequence and the position of the second-level sequence to which it belongs in the i+1th layer. If the at least one subsequence belongs to the first-level sequence, in the current transmission, the first device 10 may also send the position of the first-level sequence to which the at least one subsequence belongs in the i+1th layer.

[0152] Fig.10 1 is a flow chart showing a method 1000 for sending compressed data according to an exemplary embodiment of the present application. In a possible implementation, the method 1000 may be Figure 3In other possible implementations, the method 1000 may also be implemented by other electronic devices. As an example, the method 1000 will be implemented by the first device 10 in the following. Figure 3 The method 1000 is described by taking the first device 10 in FIG. 1 as an example.

[0153] In step S1005, the first device 10 may obtain codebook splitting information, and the codebook splitting information indicates that the total codebook is split into multiple sub-codebooks. In step S1010, the first device 10 may obtain a first-level sequence and a second-level sequence for the original sequence obtained based on the total codebook. The first-level sequence may include the number of a sub-codebook in the multiple sub-codebooks to which each element in the original sequence belongs, and the second-level sequence may include the position of each element in the sub-codebook to which it belongs. Thereafter, in step S1015, the first device 10 may send a compressed sequence obtained based on the above-mentioned first-level sequence and second-level sequence.

[0154] The above has been combined Figure 3 9 has described in detail the specific operations of the above steps of the first device 10, which will not be repeated here for the sake of brevity.

[0155] Fig.11 1 is a flow chart showing a method 1100 for receiving compressed data according to an exemplary embodiment of the present application. In one possible implementation, the method 1100 may be Figure 3 In other possible implementations, the method 1100 may also be implemented by other electronic devices. As an example, the method 1100 will be implemented by the second device 20 in the following. Figure 3 The method 1100 is described by taking the second device 20 in FIG. 1 as an example.

[0156] In step S1105, the second device 20 may obtain codebook splitting information, and the codebook splitting information may indicate that the total codebook is split into multiple sub-codebooks. In step S1110, the second device 20 may receive a compressed sequence, which may be generated by the first device 10 based on the first-level sequence and the second-level sequence, the first-level sequence may include the number of one of the multiple sub-codebooks to which each element in the original sequence belongs, and the second-level sequence may include the position of each element in the sub-codebook to which it belongs. For example, the first-level sequence may be generated by the first device 10 in the following manner: determining the number of one or more sub-codebooks in the multiple sub-codebooks to which the multiple elements in the original sequence belong, and the second-level sequence may be generated by the first device 10 in the following manner: determining the position of the multiple elements in the one or more sub-codebooks. The original sequence may be generated based on the total codebook. Thereafter, in step S1115, the second device 20 may obtain the original sequence based on the codebook splitting information and the compressed sequence.

[0157] The above has been combined Figure 3 9 , the specific operations of the above steps of the second device 20 are described in detail, which will not be repeated here for the sake of brevity.

[0158] Fig.12 1 is a schematic block diagram showing an apparatus 1200 for sending compressed data according to an exemplary embodiment of the present application. In a possible implementation, the apparatus 1200 may correspond to Figure 3 In other possible implementations, the device 1200 may also be implemented by other electronic devices.

[0159] Reference Fig.12 The device 1200 includes a first obtaining module 1205 , a second obtaining module 1210 and a sending module 1215 . Fig.12 The configuration of the device 1200 shown is only an example, and the present application is not limited thereto. The device 1200 may also have other structures and module divisions, as long as the operations described herein can be implemented. As an example only, although not shown, the device 1200 may include a transceiver module and a processing module, the transceiver module may be used to implement the functions of the sending module 1215 shown, and the processing module may be used to implement the functions of the first obtaining module 1205 and the second obtaining module 1210 described above.

[0160] In some embodiments of the present application, the first acquisition module 1205 may obtain codebook splitting information. Here, the codebook splitting information may indicate that the total codebook is split into multiple sub-codebooks. The second acquisition module 1210 may obtain a first-level sequence and a second-level sequence for the original sequence obtained based on the total codebook. The first-level sequence may include the number of a sub-codebook in the multiple sub-codebooks to which each element in the original sequence belongs, and the second-level sequence may include the position of each element in the sub-codebook to which it belongs. The sending module 1215 may send a compressed sequence obtained based on the first-level sequence and the second-level sequence. In addition, although not shown, the device 1200 may also include an entropy coding module (not shown) and the like for performing entropy coding and other operations on the sequence to be sent to obtain a compressed sequence.

[0161] The above has been combined Figure 3 9 have described in detail the specific functions and operations of the various modules of the device 1200, which will not be repeated here for the sake of brevity.

[0162] Fig.13 1 is a schematic block diagram showing an apparatus 1300 for receiving compressed data according to an exemplary embodiment of the present application. In a possible implementation, the apparatus 1300 may correspond to Figure 3 In other possible implementations, the device 1300 may also be implemented by other electronic devices.

[0163] Reference Fig.13 , the device 1300 may include a first obtaining module 1305 , a receiving module 1310 , and a second obtaining module 1315 .

[0164] In some embodiments of the present application, the first acquisition module 1305 may obtain codebook splitting information, which may indicate that the total codebook is split into multiple sub-codebooks. The receiving module 1310 may receive a compressed sequence from, for example, the device 1200, which may be generated based on the first-level sequence and the second-level sequence, and the first-level sequence may include the number of a sub-codebook in the multiple sub-codebooks to which each element in the original sequence belongs, and the second-level sequence may include the position of each element in the sub-codebook to which it belongs. The original sequence may be generated based on the total codebook. The second acquisition module 1315 may obtain the original sequence based on the codebook splitting information and the compressed sequence. In addition, although not shown, the device 1300 may also include an entropy decoding module (not shown) for performing operations such as entropy decoding on the received compressed sequence.

[0165] The above has been combined Figure 3 9 have described in detail the specific functions and operations of the various modules of the device 1300, which will not be repeated here for the sake of brevity.

[0166] Fig.14 The electronic device 1400 is a schematic diagram of an exemplary electronic device that can implement the embodiments of the present application. The electronic device 1400 can implement the functions of the device for sending compressed data and the device for receiving compressed data in the above method embodiments.

[0167] like Fig.14 As shown, the electronic device 1400 may include a processor 1405. The processor 1405 may enable the electronic device 1400 to perform the operations of the first device 10 (or device 1200) or the second device 20 (or device 1300) described above by executing a computer program (or computer executable instructions) stored in the memory, and / or through a logic circuit. In addition, optionally, the electronic device 1400 may also include a memory 1410 (optional) to store instructions, which may enable the electronic device 1400 to perform the operations of the first device 10 (or device 1200) or the second device 20 (or device 1300) described above when executed by the processor 1405. The processor 1405 and the memory 1410 may be integrated into one, or the memory 1410 may be located outside the electronic device.

[0168] Fig.15 FIG. 1 is a schematic diagram of the structure of an exemplary communication device 1500 capable of implementing an embodiment of the present application. Fig.15, the communication device 1500 may include a processor 1505 and a communication interface 1510. The processor 1505 and the interface circuit 1510 may be coupled to each other. It is understood that the communication interface 1510 may be a transceiver, an input / output interface, or various physical or virtual interfaces defined in the communication protocol. Optionally, the communication device 1500 may also include a memory 1515 for storing instructions executed by the processor 1505 or storing input data required by the processor 1505 to execute instructions or storing data generated after the processor 1505 executes instructions.

[0169] When the communication device 1500 is used to implement the method in the above method embodiment, the processor 1505 can work together with the communication interface 1510 (for example, via the communication interface 1510) to implement the various operations of the first device 10 (or device 1200) or the second device 20 (or device 1300) described above.

[0170] The embodiment of the present application also provides a communication system. The communication system may include the above Figures 3 to 13 Optionally, the device in the communication system may execute Figures 3 to 13 Any of the methods shown in .

[0171] It should be understood that the processor mentioned in the embodiments of the present application may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0172] It should also be understood that the memory mentioned in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (doubledatarate SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous link dynamic random access memory (synchlink DRAM, SLDRAM), compact disc read-only memory (CD-ROM), and direct rambus RAM (DR RAM).

[0173] It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, the memory (storage module) is integrated in the processor.

[0174] It should be noted that the memory described herein is intended to include, without being limited to, these and any other suitable types of memory.

[0175] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0176] Those of ordinary skill in the art will appreciate that the modules and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0177] 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 modules described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0178] In the several embodiments provided in the present application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the module is only a logical function division. There may be other division methods in actual implementation, such as multiple modules 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.

[0179] The modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical modules, 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.

[0180] In addition, each functional module in each embodiment of the present application may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.

[0181] If the function is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method in each embodiment of the present application. The aforementioned computer-readable storage medium can be any available medium that can be accessed by a computer. Take this as an example but not limited to: the computer-readable medium can include RAM, ROM, EEPROM, CD-ROM, universal serial bus flash disk, mobile hard disk, or other optical disk storage, disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of an instruction or data structure and can be accessed by a computer.

[0182] As used herein, the term "including" and similar terms should be understood as open inclusion, i.e., "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc. can refer to different or identical objects, and are only used to distinguish the objects referred to, without implying a specific spatial order, temporal order, order of importance, etc. of the objects referred to. In some embodiments, values, processes, selected items, determined items, equipment, devices, means, components, assemblies, etc. are referred to as "best", "lowest", "highest", "minimum", "maximum", etc. It should be understood that such descriptions are intended to indicate that a selection can be made among many available functional options, and such selections do not need to be better, lower, higher, smaller, larger or otherwise preferred than other options in other aspects or all aspects. As used herein, the term "determine" can cover a variety of actions. For example, "determine" can include calculation, calculation, processing, export, investigation, search (e.g., search in a table, database or another data structure), ascertainment, etc. Additionally, "determining" may include receiving (eg, receiving information), accessing (eg, accessing data in a memory), etc. Furthermore, "determining" may include resolving, selecting, choosing, establishing, etc.

[0183] The above is only a specific implementation of the present application, but the protection scope of the embodiments of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the embodiments of the present application, which should be included in the protection scope of the embodiments of the present application. Therefore, the protection scope of the embodiments of the present application shall be based on the protection scope of the claims.

Claims

1. A method comprising: Obtaining codebook splitting information, where the codebook splitting information indicates splitting a total codebook into a plurality of sub-codebooks; For an original sequence obtained based on the total codebook, a first-level sequence and a second-level sequence are obtained, wherein the first-level sequence includes a number of a sub-codebook of the multiple sub-codebooks to which each element in the original sequence belongs, and the second-level sequence includes a position of each element in the sub-codebook to which it belongs; as well as A compressed sequence obtained based on the first-level sequence and the second-level sequence is sent.

2. The method according to claim 1, further comprising: Based on the first level sequence and the second level sequence, determining a sequence to be transmitted corresponding to the original sequence, The compressed sequence is obtained based on the sequence to be transmitted.

3. The method according to claim 2, wherein the sequence to be transmitted is obtained based on a multi-layer sequence, the first-level sequence is a first-level sequence of a first layer in the multi-layer sequence, the second-level sequence is a second-level sequence of a first layer in the multi-layer sequence, the sub-codebook is a first-layer sub-codebook, and the multi-layer sequence is generated in the following manner: Determining a sequence to be classified in the sequence of the first layer; Based on the sequence to be classified in the first layer, a first-level sequence in the second layer and a second-level sequence in the second layer are obtained, wherein: The first level sequence of the second layer includes a number of a second layer sub-codebook of the multiple sub-codebooks to which each element in the sequence to be ranked in the first layer belongs, and the second level sequence of the second layer includes a position of each element in the second layer sub-codebook to which it belongs.

4. The method according to claim 2 or 3, wherein sending the compressed sequence further comprises: sending sequence information associated with the sequence to be transmitted, The sequence information includes: The sequence length information is used to indicate the sequence length of the sequence to be transmitted.

5. The method according to claim 4, wherein when the sequence to be transmitted is obtained based on a multi-layer sequence, the sequence information further includes: The sequence position information is used to indicate the layer where the sequence in the sequence to be transmitted is located, the position in the layer where the sequence is located, and the position of the corresponding upper layer sequence in the upper layer.

6. The method according to claim 4 or 5, wherein the sequence information further comprises: The sequence symbol indication information is used to indicate whether the sequence in the sequence to be transmitted is a first-level sequence or a second-level sequence.

7. The method according to any one of claims 4 to 6, wherein sending the compressed sequence comprises: The compressed sequence is sent via multiple transmissions, one of the multiple transmissions comprising: Determine, based on the amount of resources allocated for the current transmission, a portion of the sequence to be transmitted to be sent for the current transmission; and Sending a portion of the compressed sequence obtained based on the portion of the sequence to be transmitted.

8. The method according to claim 7, wherein the portion of the sequence to be transmitted comprises: a portion of the first-level sequence in the unsent portion of the first-level sequence and a portion of the second-level sequence in the unsent portion of the second-level sequence among the sequences to be transmitted, wherein the elements in the portion of the first-level sequence correspond to the elements in the portion of the second-level sequence, and The amount of resources required to send the portion of the first-level sequence and the portion of the second-level sequence is less than the allocated amount of resources.

9. The method according to claim 8, wherein sending a portion of the compressed sequence obtained based on the portion of the sequence to be transmitted further comprises: sending sequence information associated with the portion of the sequence to be transmitted, The sequence information associated with the part of the sequence to be transmitted includes: sequence symbol indication information used to indicate whether the sequence to which the part of the sequence to be transmitted belongs is a first-level sequence or a second-level sequence.

10. The method according to claim 9, wherein when the sequence to be transmitted is obtained based on a multi-layer sequence, the sequence information associated with the portion of the sequence to be transmitted further includes: The sequence position information of the sequence to which the part of the sequence to be transmitted belongs.

11. The method according to claim 7, wherein determining a portion of the sequence to be transmitted to be sent in the current transmission comprises: determining whether there is a first type sequence that has not been sent, the first type sequence comprising a first level sequence or a second level sequence, and Based on determining that there is the unsent first type sequence: determining whether the amount of resources allocated for the current transmission is sufficient to send the unsent first type sequence, In response to the amount of resources allocated for the current transmission being insufficient to send the unsent first type sequence, selecting at least one first type subsequence from the unsent first type sequence as the part of the to-be-transmitted sequence to be sent for the current transmission, wherein the amount of resources required to send the selected at least one first type subsequence is less than the amount of allocated resources; In response to the resource allocated for the current transmission being sufficient to transmit the untransmitted first type sequence, the untransmitted first type sequence is determined as the part of the to-be-transmitted sequence to be transmitted for the current transmission.

12. The method according to claim 7, wherein: In a case where the sequence to be transmitted is obtained based on a multi-layer sequence, determining a portion of the sequence to be transmitted to be sent for the current transmission includes: According to the order of the layers where the unsent sequences to be transmitted are located in the multi-layer sequences from high to low, the sequences of the layers that can be transmitted by the amount of resources allocated for the current transmission are determined as a part of the sequences to be transmitted to be transmitted for the current transmission.

13. The method according to any one of claims 3 to 12, wherein determining the sequence to be ranked in the sequence of the first layer comprises: Perform entropy coding on the first-level sequence and the second-level sequence of the second layer respectively corresponding to the sequence of the first layer to obtain a first length corresponding to the coded sequence; Perform entropy coding on the sequence of the first layer to obtain a second length corresponding to the coded sequence; as well as A sequence of the first layer whose first length is smaller than the second length is determined as a sequence to be classified.

14. The method according to claim 13, characterized in that Before determining the sequence to be classified in the sequence of the first layer, the method further includes: determining whether the first layer has reached the number of layers of the multi-layer sequence; Based on determining that the first layer has reached the number of layers, determining that there is no sequence to be classified; or Based on determining that the first layer does not reach the number of layers, a sequence to be ranked in the sequence of the first layer is determined.

15. The method according to any one of claims 1 to 14, wherein the codebook splitting information is obtained by one of the following ways: Pre-configured; determined by a device that sends the compressed sequence; or Received from a device that receives the compressed sequence.

16. A method comprising: Obtaining codebook splitting information, where the codebook splitting information indicates splitting a total codebook into a plurality of sub-codebooks; receiving a compressed sequence, wherein the compressed sequence is generated based on a first-level sequence and a second-level sequence, the first-level sequence includes a number of a subcodebook of the multiple subcodebooks to which each element in the original sequence belongs, and the second-level sequence includes a position of each element in the subcodebook to which it belongs, and the original sequence is generated based on the total codebook; as well as The original sequence is obtained based on the codebook splitting information and the compressed sequence.

17. The method according to claim 16, wherein: The compressed sequence is generated based on a to-be-transmitted sequence corresponding to the original sequence determined from the first-level sequence and the second-level sequence.

18. The method of claim 17, wherein receiving the compressed sequence further comprises: receiving sequence information associated with the sequence to be transmitted, The sequence information includes: The sequence length information is used to indicate the sequence length of the sequence to be transmitted.

19. The method according to claim 18, wherein when the sequence to be transmitted is obtained based on a multi-layer sequence, the sequence information further includes: The sequence position information is used to indicate the layer where the sequence in the sequence to be transmitted is located, the position in the layer where the sequence is located, and the position of the corresponding upper layer sequence in the upper layer.

20. The method according to claim 18 or 19, wherein the sequence information further comprises: The sequence symbol indication information is used to indicate whether the sequence in the sequence to be transmitted is a first-level sequence or a second-level sequence.

21. The method of any one of claims 18 to 20, wherein receiving the compressed sequence comprises: receiving the compressed sequence via a plurality of transmissions, One of the multiple transmissions includes: receiving a portion of a compressed sequence generated based on a portion of a sequence to be transmitted, The part of the sequence to be transmitted is determined based on the amount of resources allocated for the current transmission.

22. The method according to claim 21, wherein the portion of the sequence to be transmitted comprises: a portion of the first-level sequence in the unsent portion of the first-level sequence and a portion of the second-level sequence in the unsent portion of the second-level sequence among the sequences to be transmitted, wherein the elements in the portion of the first-level sequence correspond to the elements in the portion of the second-level sequence, and The amount of resources required to transmit the portion of the first-level sequence and the portion of the second-level sequence is less than the allocated amount of resources.

23. The method according to claim 22, wherein receiving a portion of the compressed sequence obtained based on the portion of the sequence to be transmitted further comprises: receiving sequence information associated with the portion of the sequence to be transmitted, The sequence information associated with the part of the sequence to be transmitted includes: sequence symbol indication information used to indicate whether the sequence to which the part of the sequence to be transmitted belongs is a first-level sequence or a second-level sequence.

24. The method according to claim 23, wherein when the sequence to be transmitted is obtained based on a multi-layer sequence, the sequence information associated with the portion of the sequence to be transmitted further comprises: The sequence position information of the sequence to which the part of the sequence to be transmitted belongs.

25. The method of claim 21 , wherein in the presence of a first type sequence that is not transmitted: In response to the amount of resources allocated for the current transmission being insufficient to transmit the first type sequence that has not been transmitted, the part of the sequence to be transmitted includes: at least one first type subsequence selected from the first type sequences that have not been transmitted, wherein an amount of resources required to transmit the selected at least one first type subsequence is less than the allocated amount of resources; In response to the resource allocated for the current transmission being sufficient to transmit the untransmitted first type sequence, the part of the sequence to be transmitted includes: the untransmitted first type sequence, The first type of sequence includes a first level sequence or a second level sequence.

26. The method according to claim 21, wherein: In the case where the sequence to be transmitted is obtained based on a multi-layer sequence, the part of the sequence to be transmitted includes: A sequence of the number of layers that can be transmitted for the amount of resources allocated for the current transmission, in order from high to low of the layers where the to-be-transmitted sequence that has not been transmitted is located in the multi-layer sequence.

27. The method according to claims 16 to 26, wherein the codebook splitting information is obtained by one of the following ways: Pre-configured; determined by a device receiving the compressed sequence; or Received from a device that sent the compressed sequence.

28. A first device, comprising: A module for executing the method of any one of claims 1 to 15.

29. A second device, comprising: Module for performing the method of any one of claims 16 to 27.

30. An electronic device, comprising a processor, configured to execute instructions stored in a memory, so that the electronic device performs the method according to any one of claims 1 to 15 or claims 16 to 27.

31. A communication device, comprising a processor and a communication interface, wherein the processor is configured to execute the method according to any one of claims 1 to 15 or the method according to any one of claims 16 to 27 via the communication interface.

32. A communication system, comprising at least one of a first device and a second device, the first device being configured to perform the method according to any one of claims 1 to 15, and the second device being configured to perform the method according to any one of claims 16 to 27.

33. A computer-readable storage medium storing instructions, which, when executed by an electronic device, cause the electronic device to perform the method according to any one of claims 1 to 15 or claims 16 to 27.

34. A computer program product comprising instructions which, when executed by an electronic device, cause the electronic device to perform a method according to any one of claims 1 to 15 or claims 16 to 27.

Citation Information

Cited By

  • Data compression method, apparatus and system, data decompression method, apparatus and system, medium and program product

    EP4801106A1

  • Data compression method, apparatus and system, data decompression method, apparatus and system, medium and program product

    WO2025098409A1