Data processing method and device, equipment, storage medium and program product

By segmenting cloud gaming data and reconfiguring CGRA, the bandwidth pressure problem of cloud gaming data transmission was solved, achieving efficient data compression and decompression and improving the gaming experience.

CN121664666APending Publication Date: 2026-03-13CHINA MOBILEHANGZHOUINFORMATION TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-29
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

In cloud gaming scenarios, the high bandwidth pressure on data transmission leads to latency and a decline in the gaming experience. Existing technologies struggle to efficiently accelerate both video and audio streams simultaneously.

Method used

By segmenting the data to be processed, identifying the data type, and determining the corresponding processing algorithm and configuration data, the coarse-grained reconfigurable array (CGRA) is reconfigured and routed to achieve data compression and decompression.

Benefits of technology

It improves the efficiency of data compression and decompression in cloud gaming scenarios, reduces data transmission bandwidth pressure, and enhances the user gaming experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121664666A_ABST
    Figure CN121664666A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of transmission and bearing, and provides a data processing method and device, equipment, a storage medium and a program product, and the method comprises the steps: carrying out the block processing of to-be-processed data based on the data type of the to-be-processed data, and obtaining at least one data block; the to-be-processed data is data in a cloud game scene; based on the data type, determining a processing algorithm of each data block and configuration data of each data block; the configuration data is used for performing reconstruction and wiring configuration on a PE array in the CGRA; based on the CGRA, the processing algorithm and the configuration data, performing data processing on each data block to obtain a data processing result; the data processing is data compression or data decompression. The data compression and decompression efficiency in the cloud game scene is effectively improved, the data transmission bandwidth pressure in the cloud game scene can be reduced, and then the game experience of a user is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of transmission and transmission technology, and in particular to a data processing method, apparatus, device, storage medium, and program product. Background Technology

[0002] In cloud gaming scenarios, large video streams often lead to increased bandwidth pressure, resulting in latency, stuttering, or degraded image quality. This is because high-quality video streams require higher bandwidth, especially when multiple users are using the service simultaneously, where network resources may be insufficient to support a smooth experience. Therefore, it is necessary to reduce bandwidth pressure by improving the efficiency of data compression and decompression in cloud gaming scenarios. Current existing technologies for improving compression and decompression efficiency mainly involve two directions: improving efficiency through encoding methods and improving efficiency through hardware architecture optimization.

[0003] However, simply reducing data transmission volume by optimizing data encoding leads to increased computational complexity and latency. While using a Field-Programmable Gate Array (FPGA) to accelerate data encoding can improve efficiency, its limited flexibility and poor adaptability to various data formats in cloud gaming scenarios prevent it from simultaneously accelerating the processing of video and audio streams.

[0004] This makes it difficult to reduce the data transmission bandwidth pressure in cloud gaming scenarios, thereby reducing the user's gaming experience. Summary of the Invention

[0005] This application aims to address at least one of the technical problems existing in the related art. To this end, this application proposes a data processing method, apparatus, device, storage medium, and program product to solve the problem of difficulty in reducing data transmission bandwidth pressure in cloud gaming scenarios, thereby reducing data transmission bandwidth pressure in cloud gaming scenarios and improving the user's gaming experience.

[0006] The data processing method according to the first aspect of this application includes: The data to be processed is divided into blocks based on the data type of the data to be processed, resulting in at least one data block; the data to be processed is data from a cloud gaming scenario. Based on the data type, the processing algorithm for each data block and the configuration data for each data block are determined; the configuration data is used to reconstruct and configure the computing unit PE array in the coarse-grained reconfigurable array CGRA. Based on the CGRA, the processing algorithm, and the configuration data, each data block is processed to obtain the data processing result; the data processing is data compression or data decompression.

[0007] According to one embodiment of this application, the step of processing each data block based on the CGRA, the processing algorithm, and the configuration data to obtain a data processing result includes: The configuration data is simplified to obtain the target configuration data; Based on the CGRA, the processing algorithm, and the target configuration data, data processing is performed on each of the data blocks to obtain the data processing results.

[0008] According to one embodiment of this application, the step of simplifying the configuration data to obtain target configuration data includes: The PE in the configuration data is converted into position coordinates to obtain coordinate data; Based on the coordinate data, differential encoding is performed to obtain the target configuration data.

[0009] According to one embodiment of this application, the step of processing each data block based on the CGRA, the processing algorithm, and the target configuration data to obtain a data processing result includes: Each of the data blocks is converted to a different format to obtain the corresponding converted data blocks. Based on the CGRA, the processing algorithm, and the target configuration data, each of the transformed data blocks is processed to obtain the data processing results.

[0010] According to one embodiment of this application, the step of processing each of the transformed data blocks based on the CGRA, the processing algorithm, and the target configuration data to obtain data processing results includes: The processing algorithm, the target configuration data, and each of the transformation data blocks are input into the CGRA; the CGRA performs parallel data processing on each of the transformation data blocks according to the processing algorithm and the target configuration data.

[0011] According to one embodiment of this application, after processing each data block based on the CGRA, the processing algorithm, and the configuration data, the method further includes: The data processing results are then validated to obtain the data validation results.

[0012] The data processing system according to a second aspect embodiment of this application includes: The data preprocessing module is used to divide the data to be processed into blocks based on the data type of the data to be processed, to obtain at least one data block; the data to be processed is data in a cloud gaming scenario; A configuration module is used to determine the processing algorithm for each data block and the configuration data for each data block based on the data type; the configuration data is used to reconstruct and configure the computing unit PE array in the coarse-grained reconfigurable array CGRA. The processing module is used to process each of the data blocks based on the CGRA, the processing algorithm, and the configuration data to obtain data processing results; the data processing is data compression or data decompression.

[0013] An electronic device according to a third aspect of this application includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement any of the data processing methods described above.

[0014] According to a fourth aspect of this application, the storage medium is a non-transitory computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements any of the data processing methods described above.

[0015] A computer program product according to a fifth aspect of this application includes a computer program that, when executed by a processor, implements any of the data processing methods described above.

[0016] The above-described one or more technical solutions in the embodiments of this application have at least the following technical effects: By identifying the data type of the data to be processed in a cloud gaming scenario, the data can be segmented for processing based on its data type. Simultaneously, based on the data type, the processing algorithm and configuration data for each data segment can be determined, enabling the reconstruction and routing configuration of the PE array in the CGRA (Cloud Computing Accelerator). Furthermore, based on the CGRA, the processing algorithm, and the configuration data, data compression and decompression can be performed on each data segment. Therefore, since the configuration data for the data segments is determined based on the data type, the PE array in the CGRA can be reconstructed and configured, allowing the CGRA to adapt to the corresponding data segment processing algorithms. Thus, the CGRA, acting as a hardware accelerator, can perform parallel processing of different types of data segments, effectively improving the data compression and decompression efficiency in cloud gaming scenarios, reducing data transmission bandwidth pressure, and ultimately enhancing the user's gaming experience.

[0017] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description

[0018] To more clearly illustrate the technical solutions in this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 This is a flowchart illustrating the data processing method provided in the embodiments of this application.

[0020] Figure 2 This is a schematic diagram of the architecture of the data processing system provided in the embodiments of this application.

[0021] Figure 3 This is a schematic diagram of the architecture of the data input and preprocessing modules in the data processing system provided in the embodiments of this application.

[0022] Figure 4 This is a schematic diagram of the architecture of the configuration module in the data processing system provided in the embodiments of this application.

[0023] Figure 5 This is a schematic diagram of the architecture of the processing module in the data processing system provided in the embodiments of this application.

[0024] Figure 6 This is a schematic diagram of the structure of the electronic device provided in this application. Detailed Implementation

[0025] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0026] It should be noted that existing technical solutions for improving compression and decompression efficiency mainly involve two directions: one is improving efficiency through encoding methods, and the other is improving efficiency through hardware architecture optimization. Specifically: Optimizing encoding methods: The principle behind improving compression efficiency through encoding lies in reducing data redundancy and utilizing the statistical characteristics of the data. Key methods, such as Huffman coding and arithmetic coding, analyze the frequency distribution of symbols in the input data, assigning shorter codes to high-frequency symbols and longer codes to low-frequency symbols, thereby reducing the average length of the data. Huffman coding constructs a binary tree, allowing high-frequency symbols to be represented with shorter paths, reducing the length of the encoded data; arithmetic coding achieves compression by progressively narrowing the numerical interval, mapping the data to a smaller range. Furthermore, dictionary-based encoding, such as LZW, further compresses data by dynamically updating the dictionary and replacing recurring strings with indices. These methods are all based on in-depth analysis of data characteristics and repetition patterns, representing information-rich parts with shorter codewords, thus significantly improving compression efficiency. LZW, short for Lempel-Ziv-Welch, is a lossless dictionary compression algorithm.

[0027] Optimizing hardware architecture: The principle of improving efficiency through hardware architecture optimization mainly relies on parallel processing, dedicated hardware units, and data path optimization. Parallel processing allows multiple tasks to run simultaneously, such as by utilizing multi-core processors or dedicated accelerators (Graphics Processing Units (GPUs), FPGAs) to distribute the computational load, thereby significantly improving processing speed. Dedicated hardware units, highly optimized for specific tasks, enable complex operations to be executed quickly at the hardware level without relying on the computing power of general-purpose processors, providing higher performance and lower power consumption. Simultaneously, optimizing the data path reduces bottlenecks in data transfer between the processor and memory, further improving system throughput and overall performance. These optimizations work together to make the hardware system more efficient in processing data.

[0028] However, simply reducing data transmission volume by optimizing data encoding leads to increased computational complexity and latency. While using FPGAs to accelerate data encoding can improve efficiency, the hardware's limited flexibility makes it poorly adaptable to various data formats in cloud gaming scenarios, failing to simultaneously accelerate data processing for video and audio streams.

[0029] Based on this, this application proposes a data processing method, apparatus, device, storage medium, and program product. This data processing method, as a data compression and decompression method based on a cloud gaming scenario, can be used to improve the compression and decompression efficiency of data such as video and audio streams.

[0030] It should be noted that all actions involving the acquisition of signals, information, or data in this application are carried out in compliance with the relevant data protection laws and regulations of the locality and with authorization from the owner of the relevant device.

[0031] Figure 1 This is a flowchart illustrating the data processing method provided in an embodiment of this application, as shown below. Figure 1 As shown, the data processing method includes: Step 110: Based on the data type of the data to be processed, the data to be processed is divided into blocks to obtain at least one data block; the data to be processed is data in the cloud gaming scenario.

[0032] Step 120: Based on the data type, determine the processing algorithm for each data block and the configuration data for each data block; the configuration data is used to reconstruct and configure the computing unit PE array in the coarse-grained reconfigurable array CGRA.

[0033] Step 130: Based on CGRA, processing algorithms, and configuration data, perform data processing on each data block to obtain data processing results; data processing includes data compression or data decompression.

[0034] It should be noted that the execution subject of the data processing method provided in this application embodiment can be a computer device, such as a mobile phone, tablet computer, laptop computer, handheld computer, vehicle electronic device, wearable device, ultra-mobile personal computer (UMPC), netbook, or personal digital assistant (PDA), etc.

[0035] It should be noted that the computer equipment described in this application may include a data processing system. Figure 2 This is a schematic diagram of the architecture of the data processing system provided in the embodiments of this application, such as... Figure 2 As shown, the data processing system may include a data input module, a data preprocessing module, a configuration control and mapping module (which may be referred to as the configuration module or configuration control module in this application), a coarse-grained reconfigurable architecture (CGRA) core processing unit (which may be referred to as the processing module or CGRA in this application), a data postprocessing module, and a data output module.

[0036] The data input module can receive data streams (such as video streams) or data blocks (such as image files) in cloud gaming scenarios, and can also receive document streams (real-time character streams). The received data is then transmitted as data to the data preprocessing module.

[0037] The data preprocessing module can perform data noise removal, data block partitioning, and data format conversion.

[0038] The configuration module can select compression / decompression algorithms, configure CGRA computing units, and map algorithms to CGRA hardware based on data types.

[0039] The processing module can perform parallel processing of data blocks while executing compression / decompression algorithms, and can also perform real-time performance monitoring and optimization.

[0040] The data post-processing module can encapsulate and compress / decompress data, verify data, and format data for output.

[0041] The data output module can store or transmit compressed / decompressed data.

[0042] Based on this, the data processing system in this application can receive data streams or data blocks through the data input module and transmit them as data to be processed to the data preprocessing module.

[0043] Furthermore, the data preprocessing module can identify the data type of the data to be processed, thereby determining whether the data to be processed is video data, image data, or document data.

[0044] It should be noted that this application pre-sets corresponding data segmentation strategies for different data types; that is, there is a data segmentation strategy for video data, a data segmentation strategy for image data, and a data segmentation strategy for document data. The data segmentation strategy can be a fixed-size segmentation strategy or a content-related segmentation strategy.

[0045] Therefore, the data preprocessing module can select the appropriate data segmentation strategy according to the data type to be processed, and divide the data into small data blocks to obtain the corresponding number of data blocks.

[0046] Specifically, Figure 3 This is a schematic diagram of the architecture of the data input and preprocessing modules in the data processing system provided in this application embodiment, as shown below. Figure 3 As shown, the data input module may include a data receiving submodule, which can at least receive streaming data and block data. The data preprocessing module may include a data segmentation submodule, which can segment the data to be processed into blocks according to a strategy of fixed-size blocks or content blocks. After completing data processing, the data preprocessing module can transmit the processed data blocks to the processing module.

[0047] By dynamically adjusting the block size, efficient and optimized data input is provided for subsequent hardware accelerator processing units, enabling them to fully leverage the advantages of parallel computing and dynamic configuration.

[0048] It should be noted that the configuration module in this application is responsible for managing and dynamically configuring the CGRA core processing unit to ensure that the system can flexibly and efficiently handle compression and decompression tasks of different types of data.

[0049] Specifically, the configuration module of this application pre-sets a correspondence between data types and processing algorithms (i.e., compression or decompression algorithms), where each data type corresponds to one processing algorithm. For example, H.264 algorithm can be used for video data, AAC algorithm can be used for audio data, JPEG algorithm can be used for image data, and DEFLATE algorithm can be used for document data, etc. Here, H.264 is an advanced video coding standard, AAC is an advanced audio coding standard, JPEG is a lossy compression algorithm, and DEFLATE is a lossless compression algorithm.

[0050] Therefore, the configuration module can automatically match the most suitable compression or decompression algorithm based on the data type of the data to be processed (or the data type of each data block). This ensures that the system can operate in the most efficient way when processing different types of data (such as images, videos, and documents).

[0051] Furthermore, the configuration module can dynamically configure the processing elements (PEs) and wiring interconnects in the CGRA according to the data type of the data to be processed (or the data type of each data block), matching them with the selected processing algorithm. Specifically, through configuration registers and programmable logic, the configuration module can adjust the function and operating mode of each processing element in real time to adapt to different processing tasks. This dynamic configuration mechanism allows the CGRA to flexibly allocate computing resources according to specific needs, thereby maximizing the system's parallel processing capability. After configuration is completed, configuration data for reconstructing and routing the PE array in the CGRA for each data block can be obtained.

[0052] By precisely configuring processing units and resources, the system can effectively manage power consumption and resource consumption.

[0053] Furthermore, the configuration module can transmit (or map) configuration data and processing algorithms to the processing module.

[0054] Furthermore, the processing module can perform parallel data processing on each data block according to the processing algorithm and configuration data. That is, it can perform parallel data compression or decompression on each data block. This yields compressed or decompressed data, which can then be transmitted as the data processing result to the data post-processing module.

[0055] According to the data processing method of this application embodiment, by identifying the data type of the data to be processed in a cloud gaming scenario, the data can be divided into blocks for processing based on its data type. Simultaneously, based on the data type, the processing algorithm and configuration data for each data block after block processing are determined, enabling the reconstruction and routing configuration of the PE array in the CGRA. Furthermore, based on the CGRA, the processing algorithm, and the configuration data, data compression and decompression can be performed on each data block. Therefore, since the configuration data for the data blocks is determined according to the data type, the PE array in the CGRA can be reconstructed and configured for routing, allowing the CGRA to adapt to the processing algorithm of the corresponding data block. Thus, the CGRA, acting as a hardware accelerator, can complete parallel processing of different types of data blocks, effectively improving the data compression and decompression efficiency in cloud gaming scenarios, reducing data transmission bandwidth pressure in cloud gaming scenarios, and ultimately improving the user's gaming experience.

[0056] In one embodiment, based on CGRA, processing algorithms, and configuration data, data blocks are processed to obtain data processing results, including: The configuration data is simplified to obtain the target configuration data; Based on CGRA, processing algorithms, and target configuration data, data blocks are processed to obtain data processing results.

[0057] It should be noted that since the processing methods for data of the same type are generally similar, the number of PEs in the PE array that need to change the wiring path is also small, and the PE array of CGRA generally uses a region as a processing unit, this application can use the configuration module to simplify the configuration data of CGRA by using PE position coordinates combined with data differential encoding. Furthermore, the simplified configuration data can be used as the target configuration data.

[0058] Furthermore, CGRA can be used to perform parallel data compression or decompression on each data block by combining processing algorithms and target configuration data.

[0059] This application reduces reconfiguration latency, decreases energy consumption for configuration storage and transportation, and improves array online utilization by streamlining configuration data, thereby increasing effective computing density. This leads to a simultaneous improvement in the overall data-level parallel throughput and energy efficiency of CGRA, which helps to improve data compression and decompression efficiency in cloud gaming scenarios, reduces data transmission bandwidth pressure in cloud gaming scenarios, and thus improves the user's gaming experience.

[0060] In one embodiment, the configuration data is simplified to obtain the target configuration data, including: The PE in the configuration data is converted to coordinates to obtain coordinate data; The target configuration data is obtained by performing differential encoding based on the coordinate data.

[0061] Specifically, this application can perform position coordinates on the PEs in the configuration data. In the traditional CGRA configuration method, PEs are generally configured by number, while the PE position coordinates of this application involve grouping and numbering the PE array, so that PEs with similar functions are grouped together. Although this process cannot reduce the length of the configuration data, it can facilitate subsequent data processing.

[0062] Furthermore, differential encoding is performed on the coordinate data of each PE after coordinateization. Specifically, the coordinateized configuration data can be processed. Based on the characteristic that similar functional modules are grouped in the same way, differential encoding is used to simplify the coordinate data of PEs in the same group, and the simplified configuration data is used as the target configuration data.

[0063] This application simplifies the configuration data by using PE location coordinates and data differential encoding, which can effectively reduce the size of the configuration data.

[0064] Figure 4 This is a schematic diagram of the architecture of the configuration module in the data processing system provided in the embodiments of this application, such as... Figure 4 As shown, in one embodiment, the configuration control module may include an algorithm selection submodule, a PE configuration submodule, a cabling configuration submodule, a task scheduling submodule, and a monitoring and optimization submodule.

[0065] The algorithm selection submodule is used to analyze data types to determine the data type to be processed. The PE configuration submodule is used to configure register management, programmable logic control, and dynamic task allocation. The cabling configuration submodule is used for routing algorithm adjustment, bandwidth management and optimization, and data flow control. The task scheduling submodule is used for task queue management, scheduling strategy selection, and priority and resource scheduling. The monitoring and optimization submodule is used for performance monitoring, real-time data analysis, and dynamic configuration adjustments.

[0066] By managing the interconnection network of CGRA and employing flexible routing algorithms and bandwidth management strategies, efficient data transmission between computing units can be ensured, reducing latency and bottleneck issues.

[0067] Scheduling strategies arrange the execution order of tasks based on their priority, urgency, and resource requirements, ensuring that the system can process high-priority tasks in a timely manner and avoid resource waste.

[0068] Performance monitoring is used to monitor the CGRA's operational status in real time, including key indicators such as processing speed, resource utilization, and power consumption. By collecting and analyzing this data, the module can dynamically adjust system configurations, such as optimizing the use of computing units and adjusting traffic allocation on the interconnect network, to adapt to current load and processing demands. This adaptive optimization capability ensures that the system operates efficiently and stably under different load conditions, improving overall system performance and resource utilization efficiency.

[0069] In one embodiment, based on CGRA, processing algorithms, and target configuration data, data blocks are processed to obtain data processing results, including: Each data block is converted to its format to obtain the corresponding converted data block. Based on CGRA, processing algorithms, and target configuration data, each transformed data block is processed to obtain the data processing results.

[0070] Specifically, after completing the block processing of the data to be processed, the data preprocessing module in this application can also perform data format conversion on each data block according to its data type using the corresponding conversion method, thereby converting each data block into a format suitable for compression or decompression.

[0071] like Figure 3 As shown, the data preprocessing module may include a format conversion submodule. This submodule can then convert the formats of image-type data blocks to a suitable format for compression or decompression; convert the formats of audio-type data blocks to a suitable format for compression or decompression; and convert the formats of document-type data blocks to a suitable format for compression or decompression. The converted data blocks can then be transmitted to the processing module.

[0072] This application converts data blocks into a format suitable for compression or decompression, enabling subsequent processing modules to process each data block in parallel, thereby improving the efficiency of data compression or decompression.

[0073] In one embodiment, based on CGRA, processing algorithms, and target configuration data, each transformed data block is processed to obtain data processing results, including: The processing algorithm, target configuration data, and each transformation data block are input into CGRA; CGRA performs parallel data processing on each transformation data block according to the processing algorithm and target configuration data.

[0074] Specifically, this application allows the processing algorithm, target configuration data, and various transformation data to be input into CGRA in separate blocks.

[0075] It should be noted that the CGRA core processing unit of this application is used in the system to achieve efficient parallel processing of each transformed data block and dynamic configuration of PE and its wiring based on the processing algorithm and target configuration data, so as to cope with various data compression and decompression tasks.

[0076] Figure 5 This is a schematic diagram of the architecture of the processing module in the data processing system provided in the embodiments of this application, such as... Figure 5 As shown, the core modules of the processing module include a data parallel processing submodule, a dynamic reconstruction and configuration submodule, an algorithm execution and optimization submodule, a data flow control and management submodule, and a resource management and load balancing submodule.

[0077] Among these features, the parallel data processing capability significantly improves the system's processing speed through parallel computation of multiple PEs in the PE array, especially when processing large-scale data, such as high-definition video or massive document data. Each PE can process multiple data blocks simultaneously, and pipelined processing technology further enhances processing capacity.

[0078] Dynamic reconfiguration and configuration are among the core features of this module, allowing the system to adjust the configuration and connection methods of the PEs in real time according to different task requirements. Specifically, the functions and operating modes of the PEs can be flexibly modified through configuration registers and programmable logic to adapt to different compression or decompression algorithms. This dynamic configuration not only improves the system's flexibility but also reduces processing time and resource consumption. Furthermore, the dynamic adjustment of the interconnect (cabinet) network ensures efficient data transmission between PEs, optimizes data flow paths, and reduces latency and bottlenecks.

[0079] In terms of algorithm execution and optimization, CGRA integrates dedicated hardware accelerators to improve the execution efficiency of common compression and decompression algorithms. By converting these algorithms into parallel forms and utilizing pipelined processing techniques, the running speed of the algorithms is significantly improved. Simultaneously, the hardware accelerator design enables these algorithms to execute efficiently on PE (Preinstallation Environment), thereby optimizing overall performance.

[0080] The data flow control and management function ensures smooth data flow between PEs by introducing a multi-level caching mechanism, intelligent data flow routing strategy, and data flow control. Multi-level caching reduces data transmission latency, while the data flow routing strategy dynamically adjusts the data transmission path based on the PE's load and task requirements, avoiding data congestion and latency issues. This optimization enables the system to maintain high throughput and low latency when processing large amounts of data.

[0081] Resource management and load balancing ensure efficient utilization of computing resources through task allocation algorithms and real-time monitoring. The load balancing algorithm dynamically distributes tasks corresponding to each data block to different PEs, avoiding system bottlenecks caused by overloading of certain PEs. Simultaneously, the system dynamically adjusts task allocation and resource usage strategies by monitoring the resource usage of each PE in real time, maximizing resource utilization and improving system stability and response speed.

[0082] Under low load conditions, the system can also save power by dynamically adjusting the operating status of the PE (such as reducing the clock frequency or shutting down some PEs).

[0083] This application utilizes multiple computing units of CGRA, enabling the system to parallelize data processing tasks and significantly improve compression and decompression speeds. Furthermore, each computing unit can process different data blocks or algorithm steps simultaneously; this parallelization significantly reduces processing time, allowing the system to efficiently handle large-scale data and real-time application requirements.

[0084] In one embodiment, after processing each data block based on CGRA, processing algorithms, and configuration data, the method further includes: The data processing results are validated to obtain the data validation results.

[0085] Specifically, the data post-processing module and data output module in this application are used to organize the data processed by CGRA (i.e., the data processing results) and output it to a specified medium. The main functions of the data post-processing module and data output module include data post-processing, result format conversion, data output, and system status feedback. Data post-processing involves verifying and correcting the compressed or decompressed data (i.e., the data processing results), for example, through hash checking, CRC checking, and data imputation techniques, to verify and correct each piece of data in the data processing results, thereby ensuring data integrity and correctness.

[0086] In addition, the data post-processing module can remove redundant data and standardize the data format to improve processing efficiency and ensure that the data meets the expected standards.

[0087] Therefore, the ability of this application to process different types of data in parallel enables the system to efficiently handle various compression and decompression tasks.

[0088] The data processing system provided in this application is described below. The data processing system described below can be referred to in correspondence with the data processing method described above.

[0089] Furthermore, this application also provides a data processing system.

[0090] The data processing system includes: The data preprocessing module is used to divide the data to be processed into blocks based on the data type of the data to be processed, to obtain at least one data block; the data to be processed is data in a cloud gaming scenario; A configuration module is used to determine the processing algorithm for each data block and the configuration data for each data block based on the data type; the configuration data is used to reconstruct and configure the computing unit PE array in the coarse-grained reconfigurable array CGRA. The processing module is used to process each of the data blocks based on the CGRA, the processing algorithm, and the configuration data to obtain data processing results; the data processing is data compression or data decompression.

[0091] The data processing system of this application identifies the data type of the data to be processed in a cloud gaming scenario. Based on this data type, it divides the data into blocks for processing. Simultaneously, based on the data type, it determines the processing algorithm and configuration data for each data block, enabling the reconstruction and routing configuration of the PE array in the CGRA (Cloud Computing Accelerator). Then, based on the CGRA, the processing algorithm, and the configuration data, data compression and decompression can be performed on each data block. Therefore, since the configuration data for the data blocks is determined according to the data type, the PE array in the CGRA can be reconstructed and configured, allowing the CGRA to adapt to the processing algorithms for the corresponding data blocks. Thus, the CGRA, acting as a hardware accelerator, can complete parallel processing of different types of data blocks, effectively improving the data compression and decompression efficiency in cloud gaming scenarios, reducing data transmission bandwidth pressure, and ultimately enhancing the user's gaming experience.

[0092] In one embodiment, the data processing system further includes: The data post-processing module is used to verify the data processing results and obtain the data verification results.

[0093] In one embodiment, the configuration module is specifically used for: The configuration data is simplified to obtain the target configuration data.

[0094] In one embodiment, the configuration module is specifically used for: The PE in the configuration data is converted into position coordinates to obtain coordinate data; Based on the coordinate data, differential encoding is performed to obtain the target configuration data.

[0095] In one embodiment, the data preprocessing module is specifically used for: Each of the data blocks is converted into its format to obtain the corresponding converted data block.

[0096] In one embodiment, the processing module is specifically used for: The processing algorithm, the target configuration data, and each of the transformation data blocks are input into the CGRA; the CGRA performs parallel data processing on each of the transformation data blocks according to the processing algorithm and the target configuration data.

[0097] Figure 6 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 6 As shown, the electronic device may include a processor 610, a communications interface 620, a memory 630, and a communication bus 640, wherein the processor 610, communications interface 620, and memory 630 communicate with each other via the communication bus 640. The processor 610 can call logical instructions in the memory 630 to execute the following method: dividing the data to be processed into blocks based on the data type of the data to be processed, obtaining at least one data block; the data to be processed is data from a cloud gaming scenario. Based on the data type, the processing algorithm for each data block and the configuration data for each data block are determined; the configuration data is used to reconstruct and configure the computing unit PE array in the coarse-grained reconfigurable array CGRA. Based on the CGRA, the processing algorithm, and the configuration data, each data block is processed to obtain the data processing result; the data processing is data compression or data decompression.

[0098] Furthermore, the logical instructions in the aforementioned memory 630 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to related technologies, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0099] In another aspect, embodiments of this application also provide a non-transitory computer-readable storage medium storing a computer program thereon, which, when executed by a processor, is implemented to perform the methods provided in the above embodiments, such as: dividing the data to be processed into blocks based on the data type of the data to be processed to obtain at least one data block; the data to be processed is data in a cloud gaming scenario; Based on the data type, the processing algorithm for each data block and the configuration data for each data block are determined; the configuration data is used to reconstruct and configure the computing unit PE array in the coarse-grained reconfigurable array CGRA. Based on the CGRA, the processing algorithm, and the configuration data, each data block is processed to obtain the data processing result; the data processing is data compression or data decompression.

[0100] In another aspect, embodiments of this application also provide a computer program product, on which a computer program is stored. When the computer program is executed by a processor, it is implemented to perform the methods provided in the above embodiments, such as: dividing the data to be processed into blocks based on the data type of the data to be processed to obtain at least one data block; the data to be processed is data in a cloud gaming scenario. Based on the data type, the processing algorithm for each data block and the configuration data for each data block are determined; the configuration data is used to reconstruct and configure the computing unit PE array in the coarse-grained reconfigurable array CGRA. Based on the CGRA, the processing algorithm, and the configuration data, each data block is processed to obtain the data processing result; the data processing is data compression or data decompression.

[0101] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.

[0102] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the parts that contribute to the related technology, can be embodied in the form of software products. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

[0103] Finally, it should be noted that the above embodiments are only used to illustrate this application and are not intended to limit this application. Although this application has been described in detail with reference to the embodiments, those skilled in the art should understand that various combinations, modifications, or equivalent substitutions of the technical solutions of this application do not depart from the spirit and scope of the technical solutions of this application.

Claims

1. A data processing method, characterized in that, include: The data to be processed is divided into blocks based on the data type of the data to be processed, resulting in at least one data block. The data to be processed is data from a cloud gaming scenario; Based on the data type, the processing algorithm for each data block and the configuration data for each data block are determined; the configuration data is used to reconstruct and configure the computing unit PE array in the coarse-grained reconfigurable array CGRA. Based on the CGRA, the processing algorithm, and the configuration data, each data block is processed to obtain the data processing result; the data processing is data compression or data decompression.

2. The data processing method according to claim 1, characterized in that, The process of processing each data block based on the CGRA, the processing algorithm, and the configuration data to obtain data processing results includes: The configuration data is simplified to obtain the target configuration data; Based on the CGRA, the processing algorithm, and the target configuration data, data processing is performed on each of the data blocks to obtain the data processing results.

3. The data processing method according to claim 2, characterized in that, The step of simplifying the configuration data to obtain the target configuration data includes: The PE in the configuration data is converted into position coordinates to obtain coordinate data; Based on the coordinate data, differential encoding is performed to obtain the target configuration data.

4. The data processing method according to claim 2, characterized in that, The process involves processing each data block based on the CGRA, the processing algorithm, and the target configuration data to obtain data processing results, including: Each of the data blocks is converted to a different format to obtain the corresponding converted data blocks. Based on the CGRA, the processing algorithm, and the target configuration data, each of the transformed data blocks is processed to obtain the data processing results.

5. The data processing method according to claim 4, characterized in that, The process involves processing each of the transformed data blocks based on the CGRA, the processing algorithm, and the target configuration data to obtain data processing results, including: The processing algorithm, the target configuration data, and each of the transformation data blocks are input into the CGRA; the CGRA performs parallel data processing on each of the transformation data blocks according to the processing algorithm and the target configuration data.

6. The data processing method according to any one of claims 1 to 5, characterized in that, After processing each data block based on the CGRA, the processing algorithm, and the configuration data, the process further includes: The data processing results are then validated to obtain the data validation results.

7. A data processing system, characterized in that, include: The data preprocessing module is used to divide the data to be processed into blocks based on the data type of the data to be processed, so as to obtain at least one data block; The data to be processed is data from a cloud gaming scenario; A configuration module is used to determine the processing algorithm for each data block and the configuration data for each data block based on the data type; the configuration data is used to reconstruct and configure the computing unit PE array in the coarse-grained reconfigurable array CGRA. The processing module is used to process each of the data blocks based on the CGRA, the processing algorithm, and the configuration data to obtain data processing results; the data processing is data compression or data decompression.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the data processing method as described in any one of claims 1 to 6.

9. A storage medium, said storage medium being a non-transitory computer-readable storage medium, wherein a computer program is stored thereon, characterized in that, When the computer program is executed by a processor, it implements the data processing method as described in any one of claims 1 to 6.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the data processing method according to any one of claims 1 to 6.