Data processing method and data processing system

By generating fixed input shape compressors and decompressors, the method addresses the high resource usage of learning-based image compression, achieving faster and more cost-effective processing for images of varying sizes.

JP7776411B2Active Publication Date: 2025-11-26HITACHI VANTARA LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2022212266
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-12-28
Publication Date
2025-11-26
Estimated Expiration
2042-12-28

AI Technical Summary

Technical Problem

Learning-based image compression methods require significant computational resources, leading to high processing times and costs, regardless of whether CPUs or GPUs are used, which can offset the cost savings from reduced data storage and transfer.

Method used

A data processing method that generates fixed input shape compressors and decompressors to optimize neural network processing for image data of varying sizes, allowing for faster and more cost-effective compression and decompression.

Benefits of technology

Enables image data compression and decompression in a shorter time and at a lower cost by optimizing neural network processing for specific image sizes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007776411000001
    Figure 0007776411000001
  • Figure 0007776411000002
    Figure 0007776411000002
  • Figure 0007776411000003
    Figure 0007776411000003
Patent Text Reader

Abstract

To perform a series of compression or decompression processing of image data in a shorter time or at a lower cost.SOLUTION: A data processing method executed by a data processing system that executes compression and / or decompression of image data includes: acquiring a shape of a tensor that represents the data to be compressed; and generating an input shape fixing and compression unit that executes a series of compression processing using the data to be compressed having a fixed input shape for each shape as an input to output the compressed data. The data processing system executes the compression processing of the data to be compressed using the generated input shape fixing and compression unit to generate a piece of compressed data.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a data processing method and a data processing system in a storage system. [Background technology]

[0002] For example, Non-Patent Document 1 discloses a technology for acquiring the ability to reduce data volume through learning, such as constructing a data volume reduction process (hereinafter referred to as "compression process") using a neural network. A learning-type compressor / decompressor (hereinafter referred to as "learning compressor") constructed using a neural network in this way is known to be capable of converting the same amount of data into higher image quality, or a smaller amount of data into the same image quality, compared to compression technologies such as JPEG. [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] Johannes Balle´, Valero Laparra, “END-TO-END OPTIMIZED IMAGE COMPRESSION”, ICLR (International Conference on Learning Representations) 2017. Summary of the Invention [Problem to be solved by the invention]

[0004] Compared to conventional image compression, learning-based compressors require a large amount of calculations in the neural network that constitutes the compressor and decompressor. Therefore, if a CPU (Central Processing Unit) is used for learning-based image compression processing, the processing time increases, resulting in a higher charge for resource usage. Furthermore, if a GPU (Graphics Processing Unit) is used for learning-based image compression processing, the processing time is shortened, but since GPUs are more expensive as computational resources than CPUs, the charge for resource usage also increases. Thus, regardless of the computational resource used, learning-based compressors incur a high charge for resource usage.

[0005] For this reason, when using a learning compressor to reduce the billing costs of storage services provided by public clouds, the billing for the server time that performs the compression process may offset the reduction in the billing for the storage service, meaning that the compression process may not be effective enough to reduce data retention and data transfer costs.

[0006] Therefore, to fully realize the reduction in data storage costs and data transfer costs that can be achieved through compression processing, it is necessary to either shorten the neural network processing time, which accounts for a large portion of the processing time for compression and decompression processing, or to use computational resources that are less expensive than GPUs.

[0007] For example, libraries (such as TensorRT) that optimize the inference process of neural networks on GPUs have been released as a way to shorten the processing time of neural networks on GPUs. Also, libraries have been released for processing neural networks using dedicated inference processing resources (AWS (registered trademark, hereinafter the same) Inferentia) that are lower cost than GPUs. These libraries require a fixed input size to the neural network in order to optimize for the hardware.

[0008] The neural network used for image compression is a convolutional neural network rather than a fully connected one, allowing it to compress images of various sizes, and it can input images of any size.

[0009] However, when using the aforementioned library that requires a fixed input size, it is necessary to generate a neural network optimized for the size of each image in the group of images to be compressed, which takes time to optimize the neural network and results in the intended cost reduction effect not being achieved.

[0010] The present invention has been made in view of the above-mentioned background, and has as its object to make it possible to perform compression or decompression processing of image data in a shorter time or at a lower cost. [Means for solving the problem]

[0011] In one aspect of the present invention, there is provided a data processing method executed by a data processing system having a processor that performs compression and / or decompression of image data, characterized in that the processor obtains the shape of a tensor representing data to be compressed, generates a fixed input shape compressor that uses data having a fixed input shape for each shape of the data to be compressed as input, performs a compression process on the data to be compressed, and outputs compressed data, and uses the generated fixed input shape compressor to perform the compression process on the data to be compressed to generate the compressed data. [Effects of the Invention]

[0012] According to one aspect of the present application, image data compression or decompression can be performed in a shorter time or at a lower cost. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 is a diagram illustrating the configuration of a system according to an embodiment. [Figure 2] FIG. 10 is a diagram showing a modified example of the system configuration. [Figure 3] FIG. 2 is a schematic diagram of a compressor and expander according to an embodiment. [Figure 4]1A and 1B are schematic diagrams of a general-purpose shape compressor / decompressor, an input fixed-shape compressor, and an output fixed-shape decompressor according to an embodiment. [Figure 5] FIG. 2 is a schematic diagram of a compression process according to the embodiment. [Figure 6] FIG. 2 is a schematic diagram of a decompression process according to the embodiment. [Figure 7] FIG. 2 is a schematic diagram of a compressed file according to the embodiment. [Figure 8] FIG. 4 is a diagram showing usage frequency management information of compressors and decompressors according to the embodiment. [Figure 9] 10 is a flowchart showing a registration process to a compression queue according to the embodiment. [Figure 10] FIG. 2 is a diagram showing the configuration of a compressed request according to the embodiment. [Figure 11] 10 is a flowchart showing a compression process according to the embodiment. [Figure 12] 10 is a flowchart showing an update process of an input shape fixed compressor according to an embodiment. [Figure 13] 10 is a flowchart showing a registration process to a decompression queue according to the embodiment. [Figure 14] FIG. 2 is a diagram showing the configuration of a decompression request according to the embodiment. [Figure 15] 10 is a flowchart showing a decompression process according to the embodiment. [Figure 16] 10 is a flowchart showing an update process of an output shape fixed decompressor according to the embodiment. [Figure 17] FIG. 4 is a diagram showing a user interface screen according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0014] Hereinafter, embodiments according to the disclosure of the present application will be described with reference to the drawings. The embodiments, including the drawings, are examples for explaining the present application. In the embodiments, appropriate omissions and simplifications have been made for clarity of explanation. Unless otherwise specified, components of the embodiments may be singular or plural. Furthermore, a combination of one embodiment with another embodiment is also included in the embodiments according to the present application.

[0015] Identical or similar components are given the same reference numerals, and in the following embodiments and examples, their description may be omitted or only the differences may be described. Furthermore, when there are multiple identical or similar components, they may be described with the same reference numerals but with different subscripts. Furthermore, when it is not necessary to distinguish between these multiple components, the subscripts may be omitted. The number of each component may be singular or plural unless otherwise specified.

[0016] In the embodiments, there may be a case where a process performed by executing a program is described. A computer performs the process defined by the program using a processor (e.g., a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit)) while using memory in a main storage device, etc. Therefore, the processor may be the entity that performs the process by executing the program. The processor executes the program, thereby realizing a functional unit that performs the process.

[0017] Similarly, the entity that executes a program and performs processing may be a controller, device, system, computer, or node having a processor. The entity that executes a program and performs processing may be any computing unit, and may include a dedicated circuit that performs specific processing. Examples of dedicated circuits include an FPGA (Field Programmable Gate Array) and an ASIC (Application Specific Integrated Circuit).

[0018] A program may be installed on a computer from a program source. The program source may be, for example, a program distribution server or a non-transitory storage medium readable by a computer. When the program source is a program distribution server, the program distribution server may include a processor and a storage resource (storage) for storing the program to be distributed, and the processor of the program distribution server may distribute the program to be distributed to other computers. In addition, in an embodiment, two or more programs may be realized as one program, or one program may be realized as two or more programs.

[0019] In the embodiments, the term "size" refers not to the amount of data but to the shape of the data array. For example, in the case of an image, the size refers to the shape of a four-dimensional tensor (e.g., the number of images, color information (3 for color images), vertical length, and horizontal length).

[0020] (1-1) System configuration FIG. 1 is a configuration diagram of a system S according to an embodiment. The system S is an example of a system to which the embodiment is applied. The system S includes a user server 100, a user storage 101, and a compression / decompression server 121. The compression / decompression server 121 is an example of a data processing system. The user storage 101 stores images. The user server 100 acquires images stored in the user storage 101 and compresses and decompresses them. The compression / decompression server 121 is connected to the user server 100 via a network 110.

[0021] The user server 100, the user storage 101, and the compression / decompression server 121 may be a physical server or physical storage operating in an on-premise environment, or an instance (virtual server or virtual storage) on a public cloud service.

[0022] The user server 100 is a server that mounts a volume provided by the user storage 101 and uses it as a secondary storage area. In this embodiment, the user server 100 is a general server equipped with a CPU, memory, network interface, etc. The user server 100 transfers a compression / decompression request to the compression / decompression server 121 via the network 110. The user server 100 also transfers images to be compressed and compressed data to be decompressed to the compression / decompression server 121 via the network 110.

[0023] It should be noted that system S is not limited to the configuration shown in Fig. 1. Fig. 2 is a diagram showing a modified example of the system configuration. For example, system 2S shown in Fig. 2 is entirely published on a public cloud service, and is divided into resources of a user's account in the public cloud service (resources for which the user pays a fee to the public cloud service provider for use) and resources of a compression service's account (resources for which the provider providing the compression service pays a fee to the public cloud service provider for use).

[0024] The user may record the compression / decompression request as a message via the network 110 in the message service 1503, which is a resource of the compression service account. The compression / decompression server 121 may periodically poll the message service 1503 to obtain the image to be compressed or the compressed data to be decompressed that is stored in the storage service 1501. The completion response to the compression / decompression request notified as a message from the message service 1503 may be sent by the compression / decompression server to the event service 1502 in Fig. 2 as an asynchronous event, which may be used as a trigger to start other processing, and does not necessarily have to be returned to the user server.

[0025] The network 110 is a network capable of transmitting and receiving various types of data, and may be a public network such as the Internet, or a closed network within a public cloud. The network 110 is not limited to an IP communication network, and may be a network that connects the user server 100 and the compression / decompression server 121 using a standard such as PCI-Express.

[0026] The compression / decompression server 121 is a server on which a program to which this embodiment is applied runs. The compression / decompression server 121 includes a processor 1211, a coprocessor 1212, a memory 1213, a storage 1214, and a network I / F 1215. The processor 1211 executes the processing of the compression / decompression server 121 in cooperation with the memory 1213. The coprocessor 1212 executes specific processing on behalf of the processor 1211 under the control of the processor 1211. The storage 1214 is a secondary storage device that manages various types of information used in the execution of the processing of the compression / decompression server 121. The network I / F 1215 is a device that enables the compression / decompression server 121 to communicate with external devices.

[0027] The compression / decompression server 121 performs various compression / decompression processes based on compression / decompression requests from the user server 100. The compression / decompression server 121 is equipped with a CPU, a GPU, or hardware dedicated to neural network processing (AWS Inferentia, Intel (registered trademark) Neural Compute Stick, etc.) that processes neural networks. The CPU is an example of a processor 1211. The GPU and hardware dedicated to neural network processing are examples of a coprocessor 1212.

[0028] The compression / decompression server 121 also includes a software library that enables more efficient processing by fixing the shape of the data array input to the neural network when processing the neural network in hardware. Examples of such software libraries include NVIDIA (registered trademark, hereinafter the same) TensorRT, AWS Neuron SDK, and Intel OpenVINO. The compression / decompression server 121 also has the function of using these software libraries to generate compressors and decompressors that use neural networks with fixed input shapes from compressors and decompressors that can process general-purpose input shapes.

[0029] Note that the "input shape" is the shape of the image before compression, and the "output shape" is the shape of the image after expansion. Therefore, the "input shape" and the "output shape" are the same.

[0030] The compression / decompression server 121 also has a function to manage multiple compressors / decompressors with fixed input shapes that have been generated. The function to manage compressors / decompressors is provided by the storage 1214. The compression / decompression server 121 has a function to search for shapes with a high occurrence rate and generate compressors / decompressors with fixed input shapes based on the search results, in order to efficiently compress and decompress images of shapes with different vertical and horizontal lengths.

[0031] (1-2) Overview of Compressors and Decompressors 3 is a schematic diagram of a compressor / decompressor according to the embodiment. The compressor 210 according to the present embodiment includes an encoding filter 211, a predictor 212, and an entropy encoder 213.

[0032] The encoding filter 211 is configured with a neural network and generates array data called a feature map from an input image. This feature map is data that retains many of the features of the original image while reducing the amount of data, and allows the decompressor 220, described below, to obtain a decompressed image that is very close to the original image. The encoding filter 211 is generated by learning.

[0033] The predictor 212 is configured with a neural network and predicts the value of the feature map from the context of the feature map. For example, if the value 1 appears twice in a row in the arrangement order of the elements of the feature map array, there is a high probability that the data in the next array will also have a value of 1. The predictor 212 has a function to predict such a probability. The predictor 212 converts the feature map into an efficient data format by inputting this prediction information into the next entropy encoding.

[0034] The entropy encoder 213 is a lossless compressor that converts values ​​to be compressed into a smaller data format using the probability of those values. Known examples of such lossless compressors include algorithms such as Asymmetric Numeral Systems (ANS) and range-coder. In this embodiment, compressed data is created by reducing the amount of data in the feature map using prediction information, which is the output value of the predictor 212.

[0035] In this embodiment, image data stored in the user storage 101 is compressed by the compressor 210 of the compression / decompression server 121, the compressed data is stored in the user storage 101, and the original image data is deleted. This reduces the amount of data stored in the user storage 101, thereby achieving various cost reductions.

[0036] The decompressor 220 in this embodiment is made up of a decode filter 221, a predictor 212, and an entropy decoder 223. The decode filter 221 is made up of a neural network, and generates a decompressed image from a feature map.

[0037] The predictor 212 is the same as the predictor that constitutes the compressor 210, and therefore a description thereof will be omitted. The compressor 210 and decompressor 220, which share this predictor 212, are paired, and it is not possible to decompress a compressed file created by a compressor 210 that uses a different predictor 212.

[0038] The entropy decoder 223 decompresses the compressed data created by the entropy encoder 213 to generate a feature map. At this time, the following loop is repeated to decompress all feature maps: "decompress a portion of the feature map from the compressed data, input the decompressed partial feature map to the predictor 212, create prediction information for the other portion, and decompress a portion of the feature map using the partial prediction information."

[0039] In this embodiment, the decompressor 220 performs decompression processing based on a request from the user server 100 .

[0040] (1-3) Management of general-purpose shape compressors / decompressors and fixed-shape input compressors / decompressors Fig. 4 is a schematic diagram of a general-purpose shape compressor / decompressor, an input shape process compressor, and an output shape fixed decompressor according to an embodiment. Fig. 4 is a diagram for explaining management of compressors and decompressors in this embodiment. In this embodiment, two types of compressors and decompressors are managed.

[0041] The first of the two types is a general-purpose shape compressor / general-purpose shape decompressor, and the general-purpose shape compressor holding area 310 and the general-purpose shape decompressor holding area 330 hold general-purpose shape compressors 311 to 313 that can compress images of various general-purpose shapes.

[0042] The "compression level" and "type" vary depending on the type of compressor and decompressor. The "compression level" is a value that defines the relative amount of data reduction; in this embodiment, the higher the compression level, the smaller the amount of data when compressed, and the more the image quality deteriorates.

[0043] The "type" specifies the image quality index to be prioritized. For example, MS-SSIM (Multi Scale-Structual Simularity Index Measure) indicates a compressor that reduces the amount of data so as not to deteriorate the MS-SSIM.

[0044] The learning compressor is capable of generating compressors that prioritize various image quality indices, and is capable of generating compressors and decompressors that are optimized for image quality indices that are less likely to affect the results of image analysis, and image quality indices that do not appear strange to the human eye.

[0045] The decompressors are managed as pairs of compressors, and manage general-purpose shape decompressors 331 to 333 corresponding to the general-purpose shape compressors 311 to 313.

[0046] The compression / decompression server 121 of this embodiment has a plurality of compression levels and a plurality of types of general-purpose shape compressors and general-purpose shape decompressors, and performs compression / decompression processing using the compressors and decompressors in response to requests from users.

[0047] Another type of compressor / decompressor is the fixed-input-shape compressor / decompressor. This is based on the general-shape compressor / decompressor, but the neural network that makes up its internal encoding filter, decoding filter, and predictor is optimized specifically for data of a specific input shape. This optimization allows it to perform the same processing as the general-shape compressor / decompressor, but operate faster or with cheaper hardware resources.

[0048] The fixed input shape compressors create data for each input shape, and even if they have the same compression level and type, they are stored as individual fixed input shape compressors 321 to 325 for each input shape. Furthermore, the fixed input shape compressors process multiple images of the same shape together.

[0049] For example, the fixed input shape compressor 321 shown in FIG. 4 is a compressor that can only handle input shapes of (4,3,768,1024) and processes four three-primary RGB color images, each 768 vertically and 1024 horizontally, at once. Processing multiple images at once enables more efficient processing. The number of images to be processed at once varies depending on the image size and the memory of the processing hardware. The compression / decompression server in this embodiment investigates in advance the number of images that can be generated at once for each image size, and based on the results, generates a fixed input shape compressor and a fixed output shape decompressor with the maximum number of images that can be generated at once.

[0050] In addition, in this embodiment, for the sake of simplicity, an example is shown in which the number of fixed-shape input compressors and decompressors stored is five, but this embodiment is not limited to this number. Any number of fixed-shape input compressors may be stored depending on the generation time and storage area of ​​the compressors.

[0051] Compressed data compressed by a fixed-shape input compressor can be decompressed by a general-purpose shape decompressor as long as the data has the same compression level and type, and the stored fixed-shape input compressor and decompressor do not need to be paired. Appropriate fixed-shape input compressors and fixed-shape output decompressors are managed independently depending on frequency of use. Details of the update process for fixed-shape input compressors and fixed-shape output decompressors will be described later.

[0052] (1-4) Overview of compression processing Fig. 5 is a schematic diagram of the compression process according to the embodiment. An overview of the compression process will be described with reference to Fig. 5. In this embodiment, five fixed-shape compressors are managed, and compression queues 410 to 414 are provided to register images for each fixed-shape compressor. A compression queue 420 for a general-purpose shape compressor is also provided.

[0053] 5 have a shape of 3×768×1024 (RGB color image 3, 768 vertically and 1024 horizontally), and are therefore stored in the compression queue 410 for the 3×768×1024 input shape fixed compressor. Also, images 3 and 5 have a shape of 3×1024×1024, and are therefore stored in the compression queue 413 for the input shape fixed compressor.

[0054] Image 6 has a shape of 3×1000×1000. However, in the example of FIG. 5, there is no input fixed-shape compressor for 3×1000×1000. 3×1000×1000 is slightly smaller than the fixed-shape compressor for 3×1024×1024. Therefore, a padding process 430 is used to pad the image with an array of zeros so that the image has 1024 pixels vertically and 1024 pixels horizontally, and the resulting image is stored in the compression queue 413 of the fixed-shape compressor as 3×1000×1000 → 3×1024×1024.

[0055] In this embodiment, if a shape is missing 32 or less vertically and 32 or less horizontally from the shape of any of the five input shape-fixed compressors under management, the missing pixels are padded with 0 values ​​so that the shape can be processed by any of the shape-fixed compressors.

[0056] In this embodiment, the threshold value for determining whether or not to perform padding is set to 32, but is not limited to this example. The threshold value may be larger or smaller than 32, but should be a value that does not increase the amount of padding, increase the amount of calculation, and reduce processing performance.

[0057] The shapes of image 7 and image 8 in Figure 5 are 3x2048x1024 and 3x512x512, respectively, and there is no corresponding input shape fixed compressor in the example of Figure 5. Therefore, image 7 and image 8 are stored in the compression queue 420 for the general shape compressor.

[0058] As shown in Fig. 5, each image is stored in a compression queue, and in the compression process described below, images are extracted from each compression queue and compressed by the associated input-shape-fixed compressor or general-purpose shape compressor. At this time, a predetermined number of images stored in the compression queues 410-414 of the shape-fixed compressors may be compressed at once. Furthermore, in the input-shape-fixed compressor update process described below, the input-shape-fixed compressor associated with each compression queue is updated to an input-shape-fixed compressor that processes a larger number of images at once.

[0059] (1-5) Overview of compression processing Fig. 6 is a schematic diagram of the decompression process according to the embodiment. As shown in Fig. 6, the decompression process is similar to the compression process in Fig. 5. There are decompression queues 510 for multiple fixed-shape output decompressors and a decompression queue 520 for a general-purpose shape decompressor, and compressed images are stored in the decompression queues.

[0060] 7, compressed with padding, has a data shape of 3×1000×1000 before compression, but is managed as compressed data of 3×1024×1024 due to padding with 0 values. Therefore, after decompressing as compressed data of 3×1024×1024, the decompression process is completed by referencing the pre-compression image shape 610 and padding shape 611 included in the header of the compressed data, which will be described later, and deleting the padding area included in the decompressed image data.

[0061] (1-6) Compressed file format 7 is a schematic diagram of a compressed file according to this embodiment. The compressed file according to this embodiment includes at least a pre-compression image shape 610, a padding shape 611, compressor header information 612, and compressed data 613 of image data.

[0062] The pre-compression image shape 610 is a field that holds the shape of the image before compression. The value obtained by adding the padding shape 611 to the pre-compression image shape 610 becomes the output shape of the decompressor. Therefore, the pre-compression image shape 610 is referenced together with the padding shape 611 when padded image data is stored in a decompression queue. In this embodiment, the output shape of the decompressor is used to store compressed data in the decompression queues 510-514 of the fixed output shape decompressors and the decompression queue 520 of the general-purpose shape decompressor.

[0063] The padding shape 611 is a field that holds the shape of the padding applied during compression. The padding shape 611 is used not only when storing compressed data in the decompression queue, but also when deleting padding areas from the output image of the decompressor. The padding shape 611 is composed of four types of information, for example, the amount of padding (number of pixels) in the horizontal direction of the image on the left and right sides of the image to be compressed, and the amount of padding (number of pixels) in the vertical direction of the image on the top and bottom sides of the image to be compressed.

[0064] The compressor header information 612 is a field for storing information about the compressor that performed the compression process. When compressed data is decompressed, the compressor header information 612 is referenced, and the decompression process is performed using a decompressor that is paired with the compressor indicated by the compressor header information 612.

[0065] The compressed data 613 is a field that stores binary data obtained by converting an image into a feature map using an encoding filter and compressing the feature map using entropy coding. During decompression, the compressed data is decompressed using an entropy decoder to generate a feature map.

[0066] (1-7) Compressor / decompressor usage frequency management information 700 FIG. 8 is a diagram showing compressor / decompressor usage frequency management information 700 according to an embodiment. In this embodiment, the number of times a compressor and decompressor are used is counted and stored for each compression level, compression type, and image input shape (vertical length x horizontal length). Then, for compressors and decompressors that are used frequently, fixed-input-shape compressors and decompressors are periodically generated, replacing and updating fixed-input-shape compressors and decompressors whose usage frequency has decreased. The information used in this process is compressor / decompressor usage frequency management information 700 shown in FIG. 8.

[0067] The usage frequency management information 700 includes fields for a compression level 701, a compression type 702, a vertical length 703, a horizontal length 704, a compressor count 705, and a decompressor count 706. Note that only the compressor count 705 and the decompressor count 706 are fields that are updated, and fixed values ​​are stored in the other fields.

[0068] The compressor count 705 is a field that stores the number of times an image of an input shape specified by a vertical length 703 and a horizontal length 704 has been compressed using a compressor specified by a compression level 701 and a compression type 702 in the same row. Note that, although the number of compressions in this embodiment is counted based on the input shape of the image before padding processing, this is not limited to this. For example, the shape of the input image and the input shape taking padding into account may be counted in separate fields.

[0069] In this embodiment, in the update process of the fixed input shape compressor described below, the value of the compressor count 705 of a certain shape is acquired, and the sum of the compressor counts of all shapes within the range of that shape from the padding threshold value of -32 vertically to -32 horizontally is calculated. Then, from all shapes, shapes with the top five sums are selected, and a fixed input compressor is generated based on the general-purpose shape compressor specified by the corresponding compression level and compression type.

[0070] As mentioned above, the padding threshold is not limited to 32 pixels vertically and 32 pixels horizontally. Any value can be used as the padding threshold; for example, 64 pixels vertically and 128 pixels horizontally may be padded. In this case, the compressor count values ​​of 64 x 128 = 8192 different shapes are added together to search for the input shape with the highest number of uses.

[0071] The decompressor count 706 is a field that stores the number of times an output image specified by the vertical length 702 and horizontal length 703 has been decompressed using a decompressor specified by the compression level 701 and compression type 702 in the same row. The value of the decompressor count 706 is counted based on the output shape of the decoding filter including padding, rather than the shape of the image to be decompressed. However, the value of the decompressor count 706 may also be counted based on the shape after removing zero values ​​in a reverse padding process, for example.

[0072] In this embodiment, in the update process of the output fixed-shape decompressor described below, the value of the decompressor count 706 for a certain shape is obtained, a shape with a value that is in the top five is selected, and an output fixed-shape decompressor is generated based on the general-purpose shape decompressor specified by the corresponding compression level and compression type.

[0073] In this embodiment, the compressor / decompressor usage frequency management information 700 is updated after the compression process or decompression process is performed, but this is not limited to this. For example, when a user transmits multiple compression requests, each specifying an image to be compressed, at the time of compression, the following processing may be performed. That is, the shape distribution of the image group may be investigated before the compression process, the compressor / decompressor usage frequency management information 700 may be created, and an input shape fixed compressor may be generated based on the usage frequency management information 700.

[0074] (1-8) Compression queue registration process Fig. 9 is a flowchart showing the process of registering in the compression queue according to the embodiment. The process of registering in the compression queue is executed by the processor 1211 installed in the compression / decompression server 121. Fig. 10 is a diagram showing the configuration of a compression request according to the embodiment.

[0075] First, in step S801, the processor 1211 acquires the compression level 1610 and the compression type 1611 from the compression request 1600 shown in FIG. 10 received from the user.

[0076] 10 shows an example in which the compression request 1600 includes a file path 1612 in the storage service 1501 of the image to be compressed, a file path 1613 in the storage service 1501 of the compressed file after image compression, an event path 1614 in the event service 1502 that notifies a completion event after the compression process is completed, and an access key 1615 for obtaining the image to be compressed from the storage service 1501 and storing the compressed file after compression, but it is not necessarily necessary to include all of the information shown in Fig. 10. The information included in the compression request 1600 varies depending on the system configuration.

[0077] Next, in step S802, the processor 1211 checks whether there is a fixed input shape compressor that matches the compression level and compression type acquired from the compression request received in step S801 among the fixed input shape compressors currently managed by the compression / decompression server 121. If there is a fixed input shape compressor that matches the compression level and compression type acquired from the compression request (step S802: Yes), the processor 1211 proceeds to step S803. On the other hand, if there is not a fixed input shape compressor that matches the compression level and compression type acquired from the compression request (step S802: No), the processor 1211 proceeds to step S808.

[0078] In step S803, the processor 1211 acquires the shape of the image to be compressed. Note that although the shape of the image to be compressed and the input shape may match, if padding is applied in subsequent processing, the shape of the image to be compressed and the input shape will differ.

[0079] Next, in step S804, the processor 1211 checks whether there is a fixed-input-shape compressor with an input shape identical to the shape of the compression target image acquired in step S801. In this embodiment, if the input shape of any of the five fixed-input-shape compressors matches the shape of the compression target image acquired in step S803 (Yes in step S804), the processor 1211 proceeds to step S807. On the other hand, if the input shapes of all the fixed-input-shape compressors do not match the shape of the compression target image acquired in step S803 (No in step S804), the processor 1211 proceeds to step S805.

[0080] In step S805, the processor 1211 compares the shape of the compression target image acquired in step S803 with the input fixed shape of any of the five input shape fixed compressors to determine whether the image is small within the threshold range of 32 cm vertically and 32 cm horizontally. If the image is small within the threshold range of 32 cm vertically and 32 cm horizontally (step S805 Yes), the processor 1211 proceeds to step S806. On the other hand, if the shape of the compression target image acquired in step S803 is larger than all five input shape fixed compressors or is small beyond the threshold range of 32 cm vertically and 32 cm horizontally (step S805 No), the processor 1211 proceeds to step S808.

[0081] In step S806, the processor 1211 performs padding processing on the compression target image acquired in step S803. That is, the processor 1211 performs padding processing on the compression target image so that the input shape becomes equivalent to the input shape of the large input shape fixed compressor within the threshold range found in step S805.

[0082] For example, if the shape of the image to be compressed is 3x1000x1000 (RGB color image 3, 1000 pixels vertically and 1000 pixels horizontally) and the input fixed shape of the input fixed compressor is 3x1024x1024, the processing is as follows: An area of ​​24 pixels vertically and 24 pixels horizontally is padded with zero values ​​to create 3x1024x1024 image data.

[0083] If multiple fixed-shape input compressors with a large input shape within the threshold range for the image to be compressed are found in step S805, a fixed-shape input compressor with an input shape that minimizes the amount of padding is selected.

[0084] In step S807, the processor 1211 registers the image data to be compressed or the padded image data to be compressed in the compression queue of the corresponding input shape-fixed compressor. After step S807, the processor 1211 moves the process to step S809.

[0085] In step S808, the processor 1211 registers the compression target image data that cannot be compressed by the input shape fixed compressor in the compression queue of the general-purpose shape compressor. In step S809, the processor 1211 updates the compressor count 705 in the compressor / decompressor usage frequency management information 700 (FIG. 8). That is, the processor 1211 increments the value of the compressor count 705 that corresponds to the compressor specification information received from the user and the shape of the compression target image (shape excluding padding) acquired in step S803.

[0086] (1-9) Compression processing 11 is a flowchart showing the compression process according to this embodiment. The compression process according to this embodiment is basically executed by the processor 1211 installed in the compression / decompression server 121. Note that, in steps S905 and S907, a part or all of the processing is executed by the coprocessor 1212 installed in the compression / decompression server 121, thereby improving the calculation efficiency.

[0087] The compression process of this embodiment is performed periodically, checking all compression queues and performing compression processing if there are any compression target images stored in the compression queue. At this time, the compression queue of the fixed input shape compressor is processed collectively once a certain number of compression target images have accumulated. The number of compression target images to be collectively processed varies depending on the shape of the compression target images. The larger the shape of the compression target images, the fewer the number of compression target images to be collectively processed. The number of compression target images to be collectively processed also varies depending on the resources of the hardware performing the compression processing. The compression queue is provided in the memory 1213 or the storage 1214.

[0088] First, in step S901, the processor 1211 sets the first compression queue of the ordered multiple compression queues as the reference destination. Next, in step S902, the processor 1211 acquires information about the compression queue that is currently the reference destination. In step S902, the processor 1211 acquires information about whether the compression queue is associated with an input shape fixed compressor or a general-purpose shape compressor, and information about the number of images to be compressed stored in the compression queue.

[0089] Next, in step S903, the processor 1211 determines whether the compression queue whose information was acquired in step S902 is a compression queue associated with an input fixed-shape compressor. If the compression queue is associated with an input fixed-shape compressor (step S903: Yes), the processor 1211 proceeds to step S904. On the other hand, if the compression queue is associated with a general-purpose shape compressor (step S903: No), the processor 1211 proceeds to step S906.

[0090] In step S904, the processor 1211 determines whether the number of images stored in the compression queue is equal to or greater than a specified number for performing compression processing collectively in the input shape fixed compressor. If the number of images stored in the compression queue is equal to or greater than the specified number (step S904: Yes), the processor 1211 proceeds to step S905, and if the number is less than the specified number (step S904: No), the processor 1211 proceeds to step S908.

[0091] In step S905, the processor 1211 and the coprocessor 1212 collectively compress a specified number of images to be compressed using the fixed-shape input compressor. At this time, the process of collectively extracting and compressing only the specified number of images to be compressed stored in the compression queue is repeated until the number of images to be compressed stored in the compression queue falls below the specified number for which the images to be compressed collectively are to be compressed.

[0092] In step S905, the processing of the fixed-shape input compressor is efficiently performed by a GPU or dedicated hardware for neural networks, thereby improving the compression processing performance of the system.

[0093] In step S906, the processor 1211 checks whether the number of images to be compressed stored in the compression queue is at least 1. If the number of images to be compressed stored in the compression queue is at least 1 (step S906: Yes), the processor 1211 proceeds to step S907, and if the number is 0 (step S906: No), the processor 1211 proceeds to step S908.

[0094] In step S907, the coprocessor 1212 compresses the images to be compressed stored in the compression queue one by one using the general-purpose shape compressor, and repeats this operation until there are no more images to be compressed stored in the compression queue.

[0095] In step S908, the processor 1211 determines whether it has checked whether there are images to be compressed for all compression queues managed by the compression / decompression server 121. If it has finished checking all compression queues (step S908 Yes), the processor 1211 ends the compression process, and if there are any unchecked compression queues (step S908 No), the processor 1211 proceeds to step S909.

[0096] In step S909, the processor 1211 sets as the next reference destination the compression queue that is next in order to the compression queue that is set as the current reference destination among the compression queues managed by the compression / decompression server 121. When step S909 ends, the processor 1211 returns the process to step S902.

[0097] (1-10) Update process of fixed input shape compressor FIG. 12 is a flowchart showing the update process for the fixed input shape compressor according to the embodiment. In this embodiment, five fixed input shape compressors are managed as compressors for shapes that are used relatively frequently. During the operation of the system S, the shapes of frequently used images may change, and the fixed input shape compressors are updated to keep up with these changes. The update process for the fixed input shape compressors is performed by a processor 1211 installed in the compression / decompression server 121.

[0098] First, in step S1001, the processor 1211 obtains the value of the compressor count 705 for each shape for all compression levels and compression types of compressors from the compressor / decompressor usage frequency management information 700.

[0099] Next, in step S1002, the processor 1211 calculates, for each of all possible shapes, the sum of the compressor counts 705 of all shapes within a range of −32 vertically and −32 horizontally from that shape, which are the padding thresholds.

[0100] Next, in step S1003, processor 1211 selects a compressor and shape specified by the top five combinations of compression level and compression type based on the total values ​​for all shapes calculated in step S1002. Then, processor 1211 generates an input-shape-fixed compressor specified by the corresponding compression level and compression type based on the general-purpose shape compressor. In step S1003, the old input-shape-fixed compressor is replaced with the newly generated input-shape-fixed compressor.

[0101] Next, in step S1004, the processor 1211 clears the usage counter for the number of compressions. More specifically, the processor 1211 sets the value of the compressor count 705 in the compressor / decompressor usage frequency management information 700 to 0. This step erases the influence of the past and makes it possible to measure the usage frequency of each compressor shape for the period until the next processing.

[0102] In this embodiment, the counter is completely cleared in step S1004, but this is not limiting, and the use frequency for the period until the next process may be counted while retaining the influence of the past use frequency to some extent, for example, by halving the counter value. Also, the counter does not have to be cleared in step S1004.

[0103] (1-11) Registration process to decompression queue Fig. 13 is a flowchart showing the process of registering in the decompression queue according to the embodiment. The process of registering in the decompression queue is performed by the processor 1211 installed in the compression / decompression server 121. Fig. 14 is a diagram showing the configuration of a decompression request 1700 according to the embodiment.

[0104] First, in step S1101, processor 1211 acquires a compressed file from compressed file path 1713 to be decompressed, which is specified in decompression request 1700 received from the user and shown in Fig. 14, and acquires the compression level and compression type stored in the compressed file. More specifically, processor 1211 acquires the compression level and compression type of the decompressor required to decompress the compressed data from the information in compressor header information 612 in compressed file 600.

[0105] 14 shows an example in which the decompression request 1700 includes a file path 1712 in the storage service 1501 that stores the image after decompression processing, a compressed file path 1713 in the storage service 1501 of the compressed file to be decompressed, an event path 1714 in the event service 1502 that notifies a completion event after completion of the decompression processing, and an access key 1715 for obtaining the image to be compressed from the storage service 1501 and storing the compressed file after compression, but it is not necessarily required to include all of the information shown in Fig. 14. The information included in the decompression request 1700 varies depending on the system configuration.

[0106] Next, in step S1102, the processor 1211 checks whether there is an output fixed shape decompressor whose compression level and compression type match those acquired in step S1101 among the five fixed output shape decompressors managed by the compression / decompression server 121. If there is an output fixed shape decompressor whose compression level and compression type match those acquired in step S1101 among the five fixed output shape decompressors (Yes in step S1102), the processor 1211 proceeds to step S1103. On the other hand, if there is not an output fixed shape decompressor whose compression level and compression type match those of the decompressor acquired in step S1101 among the five fixed output shape decompressors (No in step S1102), the processor 1211 proceeds to step S1108.

[0107] In step S1103, the processor 1211 acquires the output shape of the decoding filter for the image to be decompressed. Specifically, the processor 1211 references the information on the pre-compression image shape 610 and padding shape 611 of the compressed file, and acquires the output shape that takes into account the padding of the image to be decompressed. Note that the original shape of the image to be decompressed and the output shape that takes into account the padding may match, but if padding is applied, the shape of the image to be decompressed and the output shape will not match.

[0108] Next, in step S1104, the processor 1211 checks whether a fixed-output-shape decompressor with the same output shape as the shape of the image to be decompressed obtained in step S1101 exists. If a fixed-output-shape decompressor with the same output shape as the shape of the image to be decompressed exists (step S1104: Yes), the processor 1211 proceeds to step S1107. On the other hand, if a fixed-output-shape decompressor with the same output shape as the shape of the image to be decompressed does not exist (step S1104: No), the processor 1211 proceeds to step S1108.

[0109] In step S1107, the processor 1211 registers the image data to be decompressed in the decompression queue of the fixed output shape decompressor having the same output shape as the shape of the image to be decompressed acquired in step S1101. After registering the image data to be decompressed in the decompression queue, the processor 1211 proceeds to step S1109.

[0110] On the other hand, in step S1108, the processor 1211 registers the image data to be decompressed that cannot be decompressed by any of the fixed output shape decompressors in the decompression queue of the general-purpose shape decompressor. After step S1108 is completed, the processor 1211 proceeds to step S1109.

[0111] In step S1109, the processor 1211 updates the decompressor count 706 in the compressor / decompressor usage frequency management information 700. Specifically, the processor 1211 increments the value of the decompressor count 706 that corresponds to the output shape (shape including padding) of the image to be decompressed acquired in step S1103.

[0112] (1-12) Decompression processing 15 is a flowchart showing the decompression process according to this embodiment. The decompression process according to this embodiment is basically executed by the processor 1211 installed in the compression / decompression server 121. Note that, in steps S1205 and S1207, a part or all of the processing is executed by the coprocessor 1212 installed in the compression / decompression server 121, thereby improving the calculation efficiency.

[0113] The decompression process of this embodiment is performed periodically, checking all decompression queues and performing decompression processing if there is image data to be decompressed stored in the decompression queue. At this time, the decompression queue of the fixed output shape decompressor is processed collectively once a certain number of images to be decompressed have accumulated. The number of images to be decompressed that are grouped together varies depending on the output shape of the image to be decompressed (the shape of the image plus the shape of padding). The larger the shape of the image to be decompressed, the fewer the number of images to be decompressed that are grouped together. The number of images to be decompressed that are grouped together also varies depending on the resources of the hardware performing the decompression process. The decompression queue is provided in the memory 1213 or the storage 1214.

[0114] First, in step S1201, the processor 1211 sets the first decompression queue of the ordered multiple decompression queues as the reference destination. Next, in step S1202, the processor 1211 acquires information about the decompression queue that is the current reference destination. In step S1202, the processor 1211 acquires information about whether the decompression queue is associated with a fixed output shape decompressor or a general-purpose shape decompressor, and information about the number of images to be decompressed stored in the decompression queue.

[0115] Next, in step S1203, the processor 1211 determines whether the decompression queue information acquired in step S1202 is a compression queue associated with a fixed output shape decompressor. If the decompression queue is associated with a fixed output shape decompressor (step S1203: Yes), the processor 1211 proceeds to step S1204. On the other hand, if the decompression queue is associated with a general-purpose shape decompressor (step S1203: No), the processor 1211 proceeds to step S1206.

[0116] In step S1204, the processor 1211 determines whether the number of images stored in the decompression queue is equal to or greater than a specified number for performing decompression processing collectively in the fixed output shape decompressor. If the number of images stored in the decompression queue is equal to or greater than the specified number (step S1204: Yes), the processor 1211 proceeds to step S1205, and if the number is less than the specified number (step S1204: No), the processor 1211 proceeds to step S1208.

[0117] In step S1205, the processor 1211 and coprocessor 1212 collectively perform decompression processing on a specified number of images to be decompressed using a fixed output shape decompressor. At this time, the processor 1211 and coprocessor 1212 repeatedly retrieve and decompress a specified number of images to be decompressed stored in the decompression queue in a batch until the number of images to be decompressed stored in the decompression queue falls below the specified number for which decompression processing is to be performed in a batch. In addition, the processor 1211 and coprocessor 1212 reference the padding shape 611 included in the compressed file 600 and generate a decompressed image by deleting the area padded during compression from the decompressed data.

[0118] In step S1205, the processing of the fixed output shape decompressor is efficiently executed by a GPU or dedicated neural network hardware, thereby improving the decompression processing performance of the system.

[0119] In step S1206, processor 1211 checks whether the number of images to be decompressed stored in the decompression queue is at least 1. If the number of images to be decompressed stored in the decompression queue is at least 1 (step S1206 Yes), processor 1211 proceeds to step S1207, and if the number is 0 (step S1206 No), proceeds to step S1208.

[0120] In step S1207, the coprocessor 1212 decompresses the images to be decompressed stored in the decompression queue one by one using the general-purpose shape decompressor. This operation is repeated until there are no more images to be decompressed stored in the decompression queue. The coprocessor 1212 also references the padding shape 611 included in the compressed file 600 and creates a decompressed image by deleting the area padded during compression from the decompressed data. After step S1207 is completed, the processor 1211 proceeds to step S1208.

[0121] In step S1208, the processor 1211 determines whether it has checked whether there are images to be decompressed for all decompression queues managed by the compression / decompression server 121. If it has finished checking all decompression queues (step S1208 Yes), the processor 1211 ends the decompression process, and if there are any unconfirmed decompression queues (step S1208 No), the processor 1211 proceeds to step S1209.

[0122] In step S1209, the processor 1211 sets the next decompression queue to be the decompression queue that is next in order to the decompression queue that is set as the current reference destination among the decompression queues managed by the compression / decompression server 121. When step S1209 ends, the processor 1211 returns the process to step S1202.

[0123] (1-13) Output fixed shape decompressor update process 16 is a flowchart showing the update process for the fixed-shape input compressor according to the embodiment. In this embodiment, five fixed-shape output decompressors are managed as decompressors with shapes that are used relatively frequently. During the operation of the system S, the shapes of frequently used images may change, and the fixed-shape output decompressors are updated to keep up with these changes. The update process for the fixed-shape output decompressors is performed by the processor 1211 installed in the compression / decompression server 121.

[0124] First, in step S1301, the processor 1211 obtains the value of the decompressor count 706 for each shape from the compressor / decompressor usage frequency management information 700 for all compression levels and compression types of compressors.

[0125] Next, in step S1302, the processor 1211 selects a decompressor and shape specified by the top five combinations of compression level and compression type based on all the values ​​of the decompressor count 706 obtained in step S1301. Then, the processor 1211 generates a fixed-shape output decompressor specified by the corresponding compression level and compression type based on the general-shape decompressor. In step S1302, the old fixed-shape output decompressor is replaced with the new fixed-shape output decompressor generated this time.

[0126] Next, in step S1303, the processor 1211 clears the decompression count usage counter. More specifically, the processor 1211 sets the value of the decompressor count 706 in the compressor / decompressor usage frequency management information 700 to 0. This step erases the influence of the past and makes it possible to measure the usage frequency of each decompressor shape for the period until the next processing.

[0127] In this embodiment, the counter is completely cleared in step S1303, but this is not limiting, and the use frequency for the period until the next process may be counted while retaining the influence of the past use frequency to some extent, for example, by halving the counter value. Also, the counter does not have to be cleared in step S1303.

[0128] (1-14) User interface screen 17 is a diagram showing a user interface screen 1400 according to the embodiment. The user interface screen 1400 is an example of a graphical user interface screen for the user to make settings.

[0129] The user interface screen 1400 in this embodiment is a screen provided by the compression / decompression server 121 and displayed on the display unit of the user server 100 connected via the network 110. By operating the user interface screen 1400, the user server 100 can transfer commands to the compression / decompression server 121 and change various settings. The user interface screen 1400 has input fields for an input shape fixed compressor management number 1401, an output shape fixed decompressor management number 1402, a horizontal maximum padding threshold 1403, and a vertical maximum padding threshold 1404.

[0130] The number of fixed-shape input compressors managed 1401 is a field for inputting the maximum number of fixed-shape input compressors managed by the compression / decompression server 121. The user can change the maximum number of fixed-shape input compressors via this interface.

[0131] The number of fixed output shape decompressors managed 1402 is a field for inputting the maximum number of fixed output shape decompressors managed by the compression / decompression server 121. The user can change the maximum number of fixed output shape decompressors via this interface.

[0132] The horizontal maximum padding threshold 1403 is a field for inputting the maximum value of the horizontal padding amount to be implemented in the padding process (step S806 (FIG. 9)). The vertical maximum padding threshold 1404 is a field for inputting the maximum value of the vertical padding amount to be implemented in the padding process. By changing the padding amount via the horizontal maximum padding threshold 1403 and the vertical maximum padding threshold 1404, the user can process multiple shapes using a single fixed-shape input compressor and a single fixed-shape output decompressor. However, if the padding amount is increased excessively, the amount of processing for the padding area may increase, which may increase the time required for image compression and decompression. In addition, the amount of data reduction achieved by compression generally decreases.

[0133] (Effects of the embodiment) Image sizes vary, but when examining the size distribution in a group of images, it is generally found that there are a few specific sizes that are more prevalent. Therefore, we created a compressor / decompressor using a neural network with a fixed input size that is optimized to infer only the sizes that are most prevalent among a group of images to be compressed, which consists of various sizes.

[0134] Images with a high proportion of images are processed using a compressor / decompressor with a neural network of fixed input size. On the other hand, images with a low proportion of images are processed using a compressor / decompressor with a neural network of fixed input size after padding if the size is slightly smaller than the input size of the pre-created neural network of fixed input size. If the size is larger or significantly smaller than the pre-created neural network of fixed input size, the image is processed using a compressor / decompressor configured with a neural network that can input any size.

[0135] This reduces the processing costs and time required for compression and decompression. Furthermore, by reducing the cost of storing image data, it becomes possible to handle larger volumes of data than before. Furthermore, by reducing the cost of storing image data, it becomes possible to store image data for long periods of time. Furthermore, it reduces the cost of transferring data between clouds, which makes it possible to reduce the operational costs of systems that span clouds.

[0136] In addition, the process of regenerating compressors and decompressors using a neural network with a fixed input size optimized for inference only on sizes with a high prevalence rate is repeatedly executed at a predetermined timing. The predetermined timings include "periodically," "every compression or decompression process," "every time," and "when the utilization rate of compressors and decompressors with a fixed input size becomes lower than that of compressors and decompressors with general-purpose sizes." In this way, the utilization rate of compressors and decompressors for each size can be maintained at a constant level, preventing a decrease in processing efficiency.

[0137] Although one embodiment of the present invention has been described above in detail, the present invention is not limited to the above embodiment and can be modified in various ways without departing from the spirit of the present invention. For example, the above embodiment has been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to an embodiment having all of the described configurations. Furthermore, some of the configurations of the above embodiment can be added to, deleted from, or replaced with other configurations.

[0138] Furthermore, the above-described configurations, functional units, processing units, processing means, etc. may be partially or entirely implemented in hardware, for example, by designing them as integrated circuits. The above-described configurations, functions, etc. may also be implemented in software, with a processor interpreting and executing a program that implements each function. Information such as the programs, tables, and files that implement each function can be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), an IC card, an SD card, a DVD, or other recording media.

[0139] In addition, in the above figures, the control lines and information lines shown are those that are considered necessary for explanation, and do not necessarily show all the control lines and information lines that are actually implemented. For example, it may be considered that almost all components are actually connected to each other.

[0140] The above-described arrangement of the functions of the user server 100, the user storage 101, and the compression / decompression server 121 is merely an example. The arrangement of the functions of the user server 100, the user storage 101, and the compression / decompression server 121 can be changed to an optimal arrangement in terms of the performance, processing efficiency, communication efficiency, etc. of the hardware and software that each of them comprises.

[0141] Furthermore, the configuration (schema, etc.) of the database that stores the various types of data described above can be flexibly changed from the viewpoint of efficient use of resources, improved processing efficiency, improved access efficiency, improved search efficiency, and the like. [Explanation of symbols]

[0142] S: System, 100: User server, 121: Compression / decompression server, 1211: Processor, 1212: Coprocessor, 700: Usage frequency management information.

Claims

1. 1. A data processing method executed by a data processing system having a processor that performs compression and / or decompression of image data, comprising: the processor: Obtain the shape of the tensor representing the data to be compressed; generating a fixed-shape input compressor that receives image data having a fixed input shape for each shape of the data to be compressed, performs a compression process, and outputs compressed data; using the generated input shape-fixed compressor to perform the compression process on the compression target data to generate the compressed data; If there is a fixed-shape input compressor corresponding to the input shape that matches the shape of the acquired compression target data, the compression process of the compression target data is performed using the fixed-shape input compressor; If there is no fixed-input-shape compressor corresponding to the input shape that matches the shape of the acquired compression target data, the compression process of the compression target data is performed using a general-purpose shape compressor that inputs data having any of the input shapes, performs the compression process, and outputs the compressed data; Calculating frequency information of the shape of the data to be compressed; generating the fixed-shape input compressor for each shape of the compression target data based on frequency information of the shape of the compression target data; repeating regeneration of the input shape-fixed compressor based on shape frequency information of the data to be compressed at a predetermined opportunity; A data processing method comprising:

2. 2. The data processing method according to claim 1, the processor: Obtaining the shape of a tensor representing image data before the compression process of the data to be decompressed; generating a fixed output shape decompressor that executes a decompression process to output decompressed data having a fixed output shape for each shape of the acquired decompression target data; using the generated fixed-shape output decompressor to perform the decompression process on the data to be decompressed to generate the decompressed data; If there is a fixed-output-shape decompressor corresponding to the output shape that matches the shape of the acquired decompression target data, the decompression process of the decompression target data is performed using the fixed-output-shape decompressor; If there is no fixed output shape decompressor corresponding to the output shape that matches the shape of the acquired decompression target data, the decompression process of the decompression target data is performed using a general-purpose shape decompressor that performs the decompression process of data having any of the output shapes and outputs the decompressed data; Calculating frequency information of the shape of the data to be decompressed; generating the fixed-shape output decompressor for each shape of the data to be decompressed based on frequency information of the shape of the data to be decompressed; repeating regeneration of the fixed-shape output decompressor based on shape frequency information of the data to be decompressed at a predetermined opportunity; A data processing method comprising:

3. A data processing method executed by a data processing system having a processor that executes compression and / or decompression of image data, comprising: the processor: Obtain the shape of the tensor representing the data to be compressed; generating a fixed-shape input compressor that receives image data having a fixed input shape for each shape of the data to be compressed, performs a compression process, and outputs compressed data; using the generated input shape-fixed compressor to perform the compression process on the compression target data to generate the compressed data; Obtaining the shape of a tensor representing image data before the compression process of the data to be decompressed; generating a fixed output shape decompressor that executes a decompression process to output decompressed data having a fixed output shape for each shape of the acquired decompression target data; using the generated fixed-shape output decompressor to perform the decompression process on the data to be decompressed to generate the decompressed data; If there is a fixed-output-shape decompressor corresponding to the output shape that matches the shape of the acquired decompression target data, the decompression process of the decompression target data is performed using the fixed-output-shape decompressor; If there is no fixed output shape decompressor corresponding to the output shape that matches the shape of the acquired decompression target data, the decompression process of the decompression target data is performed using a general-purpose shape decompressor that performs the decompression process of data having any of the output shapes and outputs the decompressed data; Calculating frequency information of the shapes of the data to be compressed and the data to be decompressed; generating the fixed-shape input compressor for each shape of the data to be compressed and the fixed-shape output decompressor for each shape of the data to be decompressed based on the frequency information; repeating regeneration of the input fixed-shape compressor and the output fixed-shape decompressor based on the frequency information at a predetermined opportunity; A data processing method comprising:

4. 4. A data processing method according to claim 2 or 3, the shapes of the data to be compressed and the data to be decompressed include vertical lengths and horizontal lengths of the data to be compressed and the data to be decompressed, A data processing method comprising:

5. 5. A data processing method according to claim 4, the shapes of the data to be compressed and the data to be decompressed include color information of the data to be compressed and the data to be decompressed; A data processing method comprising:

6. 4. A data processing method according to claim 2 or 3, The processor: performing the compression process on a set of a predetermined number of pieces of compression target data for each shape of the compression target data; performing the decompression process on a specified number of pieces of data to be decompressed for each shape of the data to be decompressed; A data processing method comprising:

7. 5. A data processing method according to claim 4, The processor: performing the compression process on a group of the compression target data in a number corresponding to the shape of the compression target data; performing the decompression process on a number of the data to be decompressed corresponding to the shape of the data to be decompressed collectively; A data processing method comprising:

8. 5. A data processing method according to claim 4, The processor: padding the compression target data, and grouping the shapes of the plurality of compression target data into input shapes with high frequencies in frequency information of the shapes of the compression target data; performing the compression process of the compression target data and the decompression process of the decompression target data using the fixed-shape input compressors and the fixed-shape output decompressors for each of the grouped input shapes; A data processing method comprising:

9. 9. A data processing method according to claim 8, The processor: If there is no fixed input shape compressor having an input shape that matches the shape of the acquired compression target data, and the shape of the compression target data is smaller within a predetermined range compared to the input shape of the fixed input shape compressor, padding is applied to the compression target data to match the input shape of the fixed input shape compressor, and the compression process of the padded compression target data is performed using the fixed input shape compressor; When there is no fixed output shape decompressor having an output shape that matches the shape of the acquired decompression target data and the shape of the decompression target data is smaller within a predetermined range compared to the output shape of the fixed output shape decompressor, the decompression process of the decompression target data is performed using the fixed output shape decompressor to generate the decompressed data, and the padding is deleted from the decompressed data to generate the compression target data before compression. A data processing method comprising:

10. 10. A data processing method according to claim 9, The compressed data holds information about the padding applied to the data to be compressed. A data processing method comprising:

11. 4. A data processing method according to claim 2 or 3, the input fixed-shape compressor and the output fixed-shape decompressor are a learning compressor and a learning decompressor, respectively, generated by training a neural network. A data processing method comprising:

12. 1. A data processing system having a processor for performing compression and / or decompression of image data, The processor: Obtain the shape of the tensor representing the data to be compressed; generating a fixed-shape input compressor that receives image data having a fixed input shape for each shape of the data to be compressed, performs a compression process, and outputs compressed data; using the generated input shape-fixed compressor to perform the compression process on the compression target data to generate the compressed data; If there is a fixed-shape input compressor corresponding to the input shape that matches the shape of the acquired compression target data, the compression process of the compression target data is performed using the fixed-shape input compressor; If there is no fixed-input-shape compressor corresponding to the input shape that matches the shape of the acquired compression target data, the compression process of the compression target data is performed using a general-purpose shape compressor that inputs data having any of the input shapes, performs the compression process, and outputs the compressed data; Calculating frequency information of the shape of the data to be compressed; generating the fixed-shape input compressor for each shape of the compression target data based on frequency information of the shape of the compression target data; repeating regeneration of the input shape-fixed compressor based on shape frequency information of the data to be compressed at a predetermined opportunity; A data processing system comprising:

13. 13. The data processing system of claim 12, The processor: Obtaining the shape of a tensor representing image data before the compression process of the data to be decompressed; generating a fixed output shape decompressor that executes a decompression process to output decompressed data having a fixed output shape for each shape of the acquired decompression target data; using the generated fixed-shape output decompressor to perform the decompression process on the data to be decompressed to generate the decompressed data; If there is a fixed-output-shape decompressor corresponding to the output shape that matches the shape of the acquired decompression target data, the decompression process of the decompression target data is performed using the fixed-output-shape decompressor; If there is no fixed output shape decompressor corresponding to the output shape that matches the shape of the acquired decompression target data, the decompression process of the decompression target data is performed using a general-purpose shape decompressor that performs the decompression process of data having any of the output shapes and outputs the decompressed data; Calculating frequency information of the shape of the data to be decompressed; generating the fixed-shape output decompressor for each shape of the data to be decompressed based on frequency information of the shape of the data to be decompressed; repeating regeneration of the fixed-shape output decompressor based on shape frequency information of the data to be decompressed at a predetermined opportunity; A data processing system comprising:

14. A data processing system having a processor that performs compression and / or decompression of image data, comprising: The processor: Obtain the shape of the tensor representing the data to be compressed; generating a fixed-shape input compressor that receives image data having a fixed input shape for each shape of the data to be compressed, performs a compression process, and outputs compressed data; using the generated input shape-fixed compressor to perform the compression process on the compression target data to generate the compressed data; Obtaining the shape of a tensor representing image data before the compression process of the data to be decompressed; generating a fixed output shape decompressor that executes a decompression process to output decompressed data having a fixed output shape for each shape of the acquired decompression target data; using the generated fixed-shape output decompressor to perform the decompression process on the data to be decompressed to generate the decompressed data; If there is a fixed-output-shape decompressor corresponding to the output shape that matches the shape of the acquired decompression target data, the decompression process of the decompression target data is performed using the fixed-output-shape decompressor; If there is no fixed output shape decompressor corresponding to the output shape that matches the shape of the acquired decompression target data, the decompression process of the decompression target data is performed using a general-purpose shape decompressor that performs the decompression process of data having any of the output shapes and outputs the decompressed data; Calculating frequency information of the shapes of the data to be compressed and the data to be decompressed; generating the fixed-shape input compressor for each shape of the data to be compressed and the fixed-shape output decompressor for each shape of the data to be decompressed based on the frequency information; repeating regeneration of the input fixed-shape compressor and the output fixed-shape decompressor based on the frequency information at a predetermined opportunity; A data processing system comprising:

Citation Information

Patent Citations

  • Sensor device and signal processing method

    JP2020205482A

  • Computation apparatus and compression method

    JP2022127884A