WO2021145105A1 - データ圧縮装置、およびデータ圧縮方法 - Google Patents

データ圧縮装置、およびデータ圧縮方法 Download PDF

Info

Publication number
WO2021145105A1
WO2021145105A1 PCT/JP2020/045668 JP2020045668W WO2021145105A1 WO 2021145105 A1 WO2021145105 A1 WO 2021145105A1 JP 2020045668 W JP2020045668 W JP 2020045668W WO 2021145105 A1 WO2021145105 A1 WO 2021145105A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
compression
residual
unit
feature amount
Prior art date
Application number
PCT/JP2020/045668
Other languages
English (en)
French (fr)
Inventor
朋紀 佐藤
悠二 西牧
義己 田中
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Publication of WO2021145105A1 publication Critical patent/WO2021145105A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3002Conversion to or from differential modulation
    • H03M7/3004Digital delta-sigma modulation
    • H03M7/3015Structural details of digital delta-sigma modulators
    • H03M7/302Structural details of digital delta-sigma modulators characterised by the number of quantisers and their type and resolution
    • H03M7/3022Structural details of digital delta-sigma modulators characterised by the number of quantisers and their type and resolution having multiple quantisers arranged in cascaded loops, each of the second and further loops processing the quantisation error of the loop preceding it, i.e. multiple stage noise shaping [MASH] type

Definitions

  • This disclosure relates to a data compression device and a data compression method. More specifically, the present invention relates to a data compression device that executes data compression processing, and a data compression method.
  • a compression method using a machine learning model has been proposed as one aspect of a technique for compressing data generated from a sensor or a mobile device.
  • the compression method using the machine learning model there is a method of extracting important feature data from the data to be compressed and performing compression processing of the extracted feature data to realize a high compression rate.
  • data other than the feature data selected from the data to be compressed is not included in the compression result data, and information loss occurs.
  • Patent Document 1 Japanese Unexamined Patent Publication No. 2019-14680 discloses a configuration that reduces missing data.
  • This Patent Document 1 proposes a compression system with less information loss and high compression efficiency.
  • an autoencoder which is one of the machine learning methods, is used to extract features of a plurality of scales to restore a high-definition image from a small amount of information.
  • Lossless compression is essential for such data compression and restoration.
  • Non-Patent Document 1 "Lossless Compression of Curated Erythrocyte Images Using Deep Autoencoders for Malaria Infection Diagnosis” Published in 2016 Picture Coding Symposium 4-7 December 2016.Hongda Shen et al.).
  • non-extracted data other than the feature data not included in the compressed data to which the machine learning model is applied is extracted as residual data, and the residual data is further compressed and remains.
  • Generate difference data compressed data That is, the final compressed data is a combination of compressed data to which the machine learning model is applied and residual data compressed data.
  • Non-Patent Document 1 the amount of the compressed data of the residual data becomes large, and the compressed data to which the machine learning model, which is the finally generated compressed data, is applied, and the residual data compression. There is also a problem that the amount of data is large and the compression efficiency is lowered as a result.
  • This disclosure is made in view of the above problems, for example, and describes a data compression device and a data compression method that perform compression processing applying a machine learning model and realize lossless compression with an improved compression rate.
  • the purpose is to provide.
  • the first aspect of the disclosure is A feature compression unit that applies a learning model to generate feature compression data for input data, A feature restoration unit that generates feature restoration data by executing restoration processing on the feature compression data, and a feature restoration unit.
  • a difference calculation unit that calculates residual data, which is the difference data between the input data and the feature amount restoration data,
  • a residual data block division unit that divides the residual data into blocks to generate a plurality of residual division blocks, and a residual data block division unit.
  • a residual division block unit encoder that executes compression processing for each of the plurality of residual division blocks and generates multiple residual division block compression data.
  • An output compression data generation unit that generates output compression data by synthesizing the feature amount compression data generated by the feature amount compression unit and a plurality of residual division block compression data generated by the residual division block unit encoder. It is in the data compression device that has.
  • the second aspect of the present disclosure is It is a data compression method executed in a data compression device.
  • the feature compression process that the feature compression unit applies the learning model to generate the feature compression data of the input data
  • the feature amount restoration process in which the feature amount restoration unit executes the restoration process for the feature amount compressed data to generate the feature amount restoration data and
  • the difference calculation unit calculates the residual data, which is the difference data between the input data and the feature amount restoration data, and the difference calculation process.
  • Residual data block division processing in which the residual data block division unit divides the residual data into blocks to generate a plurality of residual division blocks, and
  • the residual division block unit encoder executes the compression processing of each of the plurality of residual division blocks to generate a plurality of residual division block compression data, and the residual division block unit encoding processing.
  • the output compression data generation unit generates the output compression data by synthesizing the feature amount compression data generated by the feature amount compression unit and a plurality of residual division block compression data generated by the residual division block unit encoder. There is a data compression method that executes the output compression data generation process.
  • system is a logical set configuration of a plurality of devices, and the devices having each configuration are not limited to those in the same housing.
  • a configuration and processing with improved compression efficiency are realized in a lossless compression process for generating feature amount compressed data and residual data compressed data to which a learning model is applied.
  • a feature quantity compression unit that applies a learning model to generate feature quantity compressed data of input data
  • a feature quantity restoration unit that generates feature quantity restoration data by restoring feature quantity compressed data
  • an input an input.
  • a difference calculation unit that calculates the residual data that is the difference between the data and the feature amount restoration data, a residual data block division unit that generates a plurality of residual division blocks from the residual data, and a compression process of the residual division block.
  • Residual division block unit encoder that generates multiple residual division block compression data
  • output compression data generator that synthesizes feature amount compression data and residual division block compression data to generate output compression data.
  • Example 2 Example of generating residual data that enhances compression efficiency, that is, a learning model that generates residual data for enabling generation of residual compressed data with a smaller amount of data 4-3.
  • Example 3 Example of determining the optimum block division mode of residual data that enhances compression efficiency, that is, determining the block division mode that enables generation of residual compressed data with a smaller amount of data.
  • Example 3 Example of determining the optimum block division mode of residual data that enhances compression efficiency, that is, determining the block division mode that enables generation of residual compressed data with a smaller amount of data.
  • Non-Patent Document 1 The outline of the data compression configuration disclosed in Non-Patent Document 1 is as follows. First, feature quantities are extracted from the data using an autoencoder that executes compression processing using a machine learning model, and feature quantity compression data is generated. Further, the residual data which is the difference between the restored data based on the feature amount compressed data and the input data is calculated, and the residual compressed data which is the compressed data of the residual data is generated. Finally, the data including the feature amount compressed data and the residual compressed data is generated as the final compressed data.
  • This final compressed data is data obtained by adding residual compressed data that is not included in this feature amount compressed data to the feature amount compressed data generated by the compression process using the machine learning model. Therefore, by the final restoration process of the compressed data, it is possible to generate the same restoration data as the original input data before the compression process. That is, lossless compression is realized. This has made it possible to apply it to medical images for which reversibility is strongly required.
  • Non-Patent Document 1 With reference to FIG. 1, the configuration and processing of the data compression device proposed by Shen et al. Disclosed in Non-Patent Document 1 will be described.
  • the data compression device 20 shown in FIG. 1 is a configuration example of a data compression device that executes a data compression process using a machine learning model as a lossless compression process.
  • the data compression device 20 shown in FIG. 1 performs compression processing on the compression target data 10 which is input data.
  • the compression target data 10 shown in FIG. 1 is image data.
  • the image data is an example of the compression target data 10, and the compression target data 10 is not limited to the image data but can be various data such as numerical string data.
  • the compression target data 10 is first input to the feature amount encoder 21.
  • the feature amount encoder 21 generates the feature amount compression data acquired from the image data which is the compression target data 10, that is, the feature amount compression data 11 shown in FIG.
  • the feature amount acquired from the image data is various information such as edge information, color information, and shading information of the image.
  • the feature amount encoder 21 generates the feature amount compressed data 11 by using a machine learning model (hereinafter, described as a “learning model”) generated in advance.
  • the learning model is a learning model generated in advance based on various sample data, and is a learning model for generating feature-compressed data.
  • This learning model includes, for example, parameter information for applying to compression processing.
  • the feature amount encoder 21 uses this learning model to generate the feature amount compressed data 11.
  • the feature amount encoder 21 finally generates the feature amount compressed data 11 having a data amount corresponding to an image of 30 pixels.
  • the feature amount compressed data 11 generated by the feature amount encoder 21 is input to the feature amount decoder 22. Similar to the feature encoder 21, the feature decoder 22 executes a restoration process (decompression process) of the feature compressed data 11 by using a learning model generated in advance.
  • the learning model is a learning model for generating feature restoration (elongation) data generated based on various sample data, and is a learning model having parameter information to be applied to the restoration process.
  • the feature amount restoration (elongation) data 12 is an image similar to the compression target data 10 before compression, but is not exactly the same image. The reason is that the feature amount encoder 21 generates the feature amount compressed data 11 using only the feature amount selected from the compression target data 10, and the feature amount decoder 22 restores the feature amount compressed data 11 to restore the feature amount. This is because the (extended) data 12 is generated. That is, the feature amount restoration (extension) data 12 does not include information that has not been selected as the feature amount.
  • the feature amount restoration (decompression) data 12 is different from the compression target data 10 before compression, and the lossless compression processing cannot be realized by the data compression processing using the learning model.
  • the data compression device 20 shown in FIG. 1 further executes the following processing in order to realize the lossless compression processing.
  • the difference calculation unit 23 calculates the difference between the feature amount restoration (elongation) data 12 and the compression target data 10, that is, the residual data 13.
  • the residual encoder 24 executes the compression process of the residual data 13.
  • the data compression process executed by the residual encoder 24 is not a compression process to which a learning model is applied, but a compression process whose reversibility is guaranteed. Specifically, for example, a dictionary-type compression process or a compression process to which an entropy coding process such as a Golomb coding process is applied is executed.
  • the residual encoder 24 generates the residual compressed data 14 by the compression process of the residual data 13.
  • the output compressed data generation unit (bitstream generation unit) 25 (A) Feature amount compressed data 11 generated by the feature amount encoder 21. (B) Residual compression data 14 generated by the residual encoder 24, These two compressed data are input, and the output compressed data 15 is generated by combining them.
  • the output compressed data 15 is a set data of each of the compressed data (a) and (b), that is, feature amount compressed data + residual compressed data.
  • the output compressed data 15 is transmitted to an external device via, for example, the communication unit 26. Alternatively, it is stored in the storage unit 27.
  • the output compressed data 15 includes the feature amount compressed data 11 compressed by applying the learning model and the residual compressed data 14 which is the compressed data of the residual data 13 not included in the feature amount compressed data 11. It is data, and by the restoration process (decompression process) using the output compressed data 15, it is possible to reproduce the same data as the compressed target data 10 (input image) before compression. That is, lossless compression processing is realized.
  • the data restoration device 50 shown in FIG. 2 receives the output compressed data 15 generated by the data compression device 20 shown in FIG. 1 via a network, for example, and executes a restoration process (decompression process).
  • the data restoration device 50 shown in FIG. 2 inputs the output compressed data (feature amount compressed data + residual compressed data) 61 shown in FIG. 2 via the communication unit 51.
  • the output compressed data 61 corresponds to the output compressed data 15 generated by the data compression device 20 shown in FIG.
  • the output compressed data 61 is input to the data separation unit 52 and is separated into the feature amount compressed data 62 and the residual compressed data 63.
  • the feature amount compressed data 62 is input to the feature amount decoder 53. Similar to the feature amount decoder 22 of the data compression device 20 described above with reference to FIG. 1, the feature amount decoder 53 uses a learning model generated in advance to restore the feature amount compressed data 62 (decompression processing). To execute.
  • the learning model is a learning model for generating feature restoration (elongation) data generated based on various sample data, and is a learning model having parameter information to be applied to the restoration process.
  • the residual compressed data 63 separated by the data separation unit 52 is input to the residual decoder 54.
  • the residual decoder 54 executes a restoration process (decompression process) on the residual compressed data 63.
  • the restoration process executed by the residual decoder 54 is a data restoration process corresponding to the data compression process executed by the residual encoder 24 of the data compression device 20 described above with reference to FIG. 1, and has reversibility. It is executed as a restoration process of compressed data.
  • the residual decoder 54 generates the residual data 65 by the restoration process (decompression process) of the residual compressed data 63.
  • the residual data 65 is the same data as the residual data 13 shown in FIG.
  • the feature amount restoration (extension) data 64 generated by the feature amount decoder 53 and the residual data 65 generated by the residual decoder 54 are input to the compositing unit 55.
  • the compositing unit 55 executes a compositing process of the feature amount restoration (elongation) data 64 and the residual data 65 to generate the restoration (elongation) data 66.
  • the restored (decompressed) data 66 is the same data as the compression target data 10 before the compression process input by the data compression device 20 shown in FIG.
  • the compressed data (compressed data 50 for output) generated by the data compression device 20 shown in FIG. 1 is restored by the restoration process executed by the data restoration device 50 shown in FIG. 2, and the data before compression (data 10 to be compressed). ), It is possible to generate the same restored (decompressed) data 66, and reversible compression is realized.
  • the output compressed data 15 which is the final output generated by the data compression device 20 shown in FIG. 1 is (A) Feature amount compressed data 11 generated by the feature amount encoder 21. (B) Residual compression data 14 generated by the residual encoder 24, It is compressed data that combines these two compressed data.
  • the residual encoder 24 compresses the residual data by using, for example, an entropy code that utilizes the frequency of occurrence of numerical values.
  • the amount of data of the residual compression data 14 generated by the residual encoder 24 of the data compression device 20 shown in FIG. 1 will be considered.
  • the residual encoder 24 performs a compression process of the residual data 13.
  • the residual data 13 corresponds to the difference pixel value of each of the corresponding pixels of the compression target data (input image) 10 and the feature amount restoration data (feature amount restoration image) 12 calculated by the difference calculation unit 23.
  • each pixel value of the compression target data (input image) 10 and the feature amount restoration data (feature amount restoration image) 12 is 32-bit int type (integer type) data.
  • the value of the residual data of each pixel is -2,147,483,648 (-2 32 ) to 2,147,483,647 (2 32 -1) It may be set to such a wide range of values.
  • the residual data of each pixel may spread over an extremely wide range of values in this way, the frequency of appearance of numerical values is unlikely to be biased, and the compression rate of the entropy code does not improve. That is, the amount of residual compressed data 14 generated by the residual encoder 24 increases.
  • the compression process applying the learning model executed in the feature amount encoder 21 of the data compression device 20 shown in FIG. 1 realizes a high compression rate, the final output is as long as the residual data is difficult to compress. It becomes difficult to significantly reduce the amount of data of the output compressed data 15.
  • Non-Patent Document 1 also has a problem in a learning model generation method, that is, a learning method, which is applied to the feature amount compression process in the feature amount encoder 21.
  • the output compressed data 15, which is the final output of the data compression device 20 shown in FIG. 1, is dominated by residual compressed data, and how to reduce the residual compressed data is the key to improving the compression rate. Therefore, the learning model should be optimized in consideration of increasing the compression efficiency of the residual data.
  • Non-Patent Document 1 is a model that minimizes the error between the compression target data 10 and the feature amount restoration (elongation) data 12, that is, learning that improves the quality of the extracted features. It is a model and does not consider the compression efficiency of residual data. As a result, the amount of residual compressed data in the output compressed data 15 which is the final output has increased.
  • the data size of the feature amount compressed data 11 generated by the feature amount encoder 21 is constant regardless of the quality of the features of the compression target data 10, and from the viewpoint of improving the compression rate, reducing the data amount of the residual compressed data is the key. Therefore, it is considered that there is room for improvement.
  • Non-Patent Document 1 has been described with reference to FIGS. 1 and 2.
  • FIGS. 3 and 3 feature amount compression processing using a learning model and residual data compression
  • the configuration and processing sequence of data compression and data restoration using processing will be described.
  • FIG. 3 is a diagram showing a configuration example of a data compression device 100 that performs data compression processing using both feature amount compression processing using a learning model and residual data compression processing.
  • the data compression device 100 shown in FIG. 3 includes a learning model application feature amount compression unit 101, a learning model application feature amount restoration unit 102, a difference calculation unit 103, a residual encoder 104, and an output compression data generation unit (bitstream generation unit). It has 105 and a learning model storage unit 110.
  • the data compression device 100 shown in FIG. 3 inputs the input data 121, which is the data to be compressed, into the learning model application feature amount compression unit 101.
  • the learning model application feature amount compression unit 101 applies the learning model stored in the learning model storage unit 110 to generate the feature amount compression data acquired from the input data 121, that is, the feature amount compression data 122.
  • the learning model stored in the learning model storage unit 110 is a learning model for generating feature amount compressed data generated based on various sample data, and is a learning model having parameter information and the like for applying to compression processing. It is a model.
  • the learning model application feature amount compression unit 101 uses this learning model to generate feature amount compression data 122.
  • the feature amount compression data 122 generated by the learning model application feature amount compression unit 101 is input to the learning model application feature amount restoration unit 102.
  • the learning model application feature amount restoration unit 102 also applies the learning model stored in the learning model storage unit 110 to execute the restoration process (decompression process) of the feature amount compression data 122, and the feature amount restoration (elongation) data 123. To generate.
  • the learning model used by the learning model application feature restoration unit 102 is a learning model for generating feature restoration (elongation) data generated based on various sample data, and is a parameter for being applied to the restoration process. It is a learning model with information.
  • the learning model application feature amount restoration unit 102 performs a data restoration process to which the learning model is applied, and generates feature amount restoration (elongation) data 123.
  • the feature amount restoration (extension) data 123 generated by the learning model application feature amount restoration unit 102 is input to the difference calculation unit 1103.
  • the difference calculation unit 103 calculates the difference between the feature amount restoration (elongation) data 123 generated by the learning model application feature amount restoration unit 102 and the input data 121 before the compression process, that is, the residual data 124.
  • the residual data 124 calculated by the difference calculation unit 103 is input to the residual encoder 104.
  • the residual encoder 104 executes the compression process of the residual data 124 to generate the residual compressed data 125.
  • the data compression process executed by the residual encoder 104 is not a compression process to which a learning model is applied, but a compression process whose reversibility is guaranteed. Specifically, for example, a dictionary-type compression process or a compression process to which an entropy coding process such as a Golomb coding process is applied is executed.
  • the data compression process executed by the residual encoder 104 does not realize a sufficient reduction in the amount of data. That is, for example, assuming that each element value of the compression target data (input data) 121 is 32-bit int type (integer type) data, the residual data with the feature amount restoration data 123 is -2,147,483. may take a wide range of values of 648 2,147,483,647 from (-2 32) (2 32 -1). If each element of the residual data may spread over an extremely wide range of values in this way, the frequency of occurrence of numerical values is unlikely to be biased, and the compression rate of the entropy code does not improve. That is, the amount of residual compressed data 125 generated by the residual encoder 104 becomes large.
  • the residual compressed data 125 generated by the residual encoder 104 is input to the output compressed data generation unit (bitstream generation unit) 105.
  • the output compressed data generation unit (bitstream generation unit) 105 is (A) Feature compression data 122 generated by the learning model application feature compression unit 101, (B) Residual compression data 125 generated by the residual encoder 104, These two compressed data are input to generate output compressed data 126 in which they are combined.
  • the output compressed data 126 is a set data of each of the compressed data (a) and (b), that is, feature amount compressed data + residual compressed data.
  • the output compressed data 126 is transmitted to an external device via, for example, a communication unit. Alternatively, it is stored in the storage unit.
  • the output compressed data 126 includes the feature amount compressed data 122 that has been compressed by applying the training model and the residual compressed data 125 that is the compressed data of the residual data 124 that is not included in the feature amount compressed data 122. It is data, and by the restoration process (decompression process) using the output compressed data 126, it is possible to reproduce the same data as the input data 121 before compression. That is, lossless compression processing is realized.
  • Step S101 First, the data compression device 100 inputs the data to be compressed in step S101.
  • Step S102 Next, in step S102, the data compression device 100 acquires a learning model (feature amount compression learning model, feature amount restoration learning model).
  • Step S103 the data compression device 100 executes a compression process applying the feature amount compression learning model to the input data (compression target data) to generate the feature amount compression data.
  • This process is a process executed by the learning model application feature amount compression unit 101 of the data compression device 100 shown in FIG.
  • Step S104 the data compression device 100 executes a restoration process in which the feature amount restoration learning model is applied to the feature amount compression data generated in step S103 to generate the feature amount restoration data.
  • This process is a process executed by the learning model application feature amount restoration unit 102 of the data compression device 100 shown in FIG.
  • Step S105 the data compression device 100 calculates the difference (residual) between the input data (compression target data) and the feature amount restoration data generated in step S104 in step S105.
  • This process is a process executed by the difference calculation unit 103 of the data compression device 100 shown in FIG.
  • step S106 the data compression device 100 executes a compression process for the difference (residual) calculated in step S105 to generate residual compression data.
  • This process is a process executed by the residual encoder 104 of the data compression device 100 shown in FIG.
  • the data compression process executed by the residual encoder 104 does not realize a sufficient reduction in the amount of data, that is, the compression efficiency is poor.
  • step S107 the data compression device 100 combines the feature amount compression data generated by the learning model application feature amount compression unit 101 in step S103 with the residual compression data generated by the residual encoder 104 in step S106. , Generate compressed data for output.
  • This process is a process executed by the output compressed data generation unit 105 of the data compression device 100 shown in FIG.
  • the output compression data generated by the output compression data generation unit 105 is the feature amount compression data generated by the learning model application feature amount compression unit 101 in step S103 and the residual compression data generated by the residual encoder 104 in step S106. It is the data that combines. Since the output compressed data includes residual compressed data with poor compression efficiency generated by the residual encoder 104, the amount of data becomes large.
  • the data restoration device 150 includes a data separation unit 151, a learning model application feature amount restoration unit 152, a residual decoder 153, a synthesis unit 154, and a learning model storage unit 160.
  • the output compressed data 171 which is the data to be restored is input to the data separation unit 151 of the data restoration device 150 shown in FIG.
  • the data separation unit 151 separates the two types of compressed data included in the output compressed data 171, that is, the feature amount compressed data 172 and the residual compressed data 173.
  • the feature amount compressed data 172 is input to the learning model application feature amount restoration unit 152.
  • the learning model applied feature amount restoring unit 152 uses the learning model generated in advance to generate the feature amount compressed data.
  • the restoration process (decompression process) of 172 is executed.
  • the learning model is a learning model for generating feature restoration (elongation) data generated based on various sample data, and is a learning model having parameter information to be applied to the restoration process.
  • the learning model application feature amount restoration unit 152 performs a data restoration process to which this learning model is applied, and generates feature amount restoration (extension) data 174.
  • the residual compressed data 173 separated by the data separation unit 151 is input to the residual decoder 153.
  • the residual decoder 153 executes a restoration process (decompression process) on the residual compressed data 173.
  • the restoration process executed by the residual decoder 153 is a data restoration process corresponding to the data compression process executed by the residual encoder 104 of the data compression device 100 described above with reference to FIG. 3, and has reversibility. It is executed as a restoration process of compressed data.
  • the residual decoder 153 generates the residual data 175 by the restoration process (decompression process) for the residual compressed data 173.
  • the residual data 175 is the same data as the residual data 124 shown in FIG.
  • the feature amount restoration (extension) data 174 generated by the learning model application feature amount restoration unit 152 and the residual data 175 generated by the residual decoder 153 are input to the synthesis unit 154.
  • the synthesizing unit 154 executes a synthesizing process of the feature amount restoration (elongation) data 174 and the residual data 175 to generate the restoration (elongation) data 176.
  • the restored (decompressed) data 176 is the same data as the input data 121, which is the data to be compressed before the compression process, which is input by the data compression device 100 shown in FIG.
  • the compressed data (output compressed data 126) generated by the data compression device 100 shown in FIG. 3 is restored to the input data 121 before compression by the restoration process executed by the data restoration device 150 shown in FIG.
  • the same restored (decompressed) data 175 can be generated, and reversible compression is realized.
  • Step S121 First, the data restoration device 150 inputs the restoration target data in step S121.
  • the data to be restored to be input is data composed of feature amount compressed data and residual compressed data.
  • step S122 the data restoration device 150 separates the restoration target data input in step S121 into feature amount compressed data and residual compressed data.
  • This process is a process executed by the data separation unit 151 of the data restoration device 150 shown in FIG.
  • Step S123 Next, the data restoration device 150 acquires a learning model (a learning model for feature amount restoration) in step S123.
  • step S124 the data restoration device 150 executes a restoration process in which the feature amount restoration learning model is applied to the feature amount compressed data separated from the input data in the data separation process of step S122. Generate feature restoration data.
  • This process is a process executed by the learning model application feature amount restoration unit 152 of the data restoration device 150 shown in FIG.
  • step S125 the data restoration device 150 executes a restoration process (decompression process) on the residual compressed data separated from the input data in the data separation process of step S122 to generate residual restoration data.
  • a restoration process decompression process
  • This process is a process executed by the residual decoder 153 of the data restoration device 150 shown in FIG.
  • step S126 the data restoration device 150 executes a synthesis process of the feature amount restoration data generated in step S124 and the residual restoration data generated in step S125 to generate output restoration data.
  • This restored (decompressed) data is the same data as the input data 121, which is the data to be compressed before the compression process, which is input by the data compression device 100 shown in FIG.
  • the compressed data (output compressed data 126) generated by the data compression device 100 shown in FIG. 3 is restored by the restoration process executed by the data restoration device 150 shown in FIG. 5, and the data before compression (input data). It is possible to generate the same restored (decompressed) data 175 as in 121), and reversible compression is realized.
  • the processing of each step of the flowchart shown in FIG. 7 will be sequentially described.
  • the process according to the flow shown in FIG. 7 can be executed by the data compression device 100 shown in FIG. 3, the data restoration device 150 shown in FIG. 5, or other device, and the process according to the flow shown in FIG.
  • the learning model generated and updated by the data is stored in the learning model storage unit 110 of the data compression device 100 shown in FIG. 3 and the learning model storage unit 160 of the data restoration device 150 shown in FIG.
  • Step S151 First, in step S151, a learning model as a template is input.
  • the learning model that serves as a template includes a learning model for compression processing for generating feature amount compressed data and a learning model for restoration processing for generating restoration data from feature amount compression data.
  • the learning model for compression processing includes various parameters applied to the compression processing, and the learning model for restoration processing includes various parameters applied to the restoration processing.
  • the parameters of the initial template learning model can be set to any value.
  • Step S152 the loss function of the learning model input in step S151 is defined.
  • the loss function is a function for quantitatively evaluating the performance of the learning model.
  • an index value calculation function for measuring the distance between an input and an output to a data processing unit that executes data processing to which a learning model is applied for example, a square error calculation function, a cross entropy error calculation function, or the like is used. ..
  • step S153 the parameters of the current learning model input in step S151 are evaluated using the loss function defined in step S152.
  • a feature amount is extracted from the input data, and the degree of deviation between the data restored from the extracted feature amount and the input data is evaluated by a loss function.
  • a loss function is defined in which a value with a smaller loss (higher evaluation value) is calculated as the deviation between the restored data and the input data is smaller, and the parameters of the learning model are evaluated using this loss function.
  • Step S154 the parameter update amount is calculated based on the evaluation value calculated in step S153, and in step S155, the parameter is updated based on the calculation result.
  • the evaluation and update processing of these parameters is repeatedly executed a predetermined number of times.
  • Step S156 If it is determined in step S156 that the parameter evaluation and update processing of steps S154 to S155 has reached a predetermined number of times, the process proceeds to step S157.
  • Step S157 a learning model in which the finally updated parameters are set is generated by iterative processing of the specified number of sentences of the parameter evaluation and update processing of steps S154 to S155, and the learning model storage unit (FIG. 3). It is stored in the learning model storage unit 110 and the learning model storage unit 160) in FIG.
  • the learning model generated in this way is the learning of the learning model application feature amount compression unit 101 of the data compression device 100 shown in FIG. 3, the learning model application feature amount restoration unit 102, and the data restoration device 150 shown in FIG. It is used in the model application feature amount restoration unit 151, and the feature amount is compressed and restored.
  • this training model is a model that minimizes the error between the data to be compressed and the feature restoration (decompression) data, that is, a training model that improves the quality of the extracted features.
  • the ease of compression of residual data is not considered. That is, since the amount of residual compressed data included in the output compressed data 126, which is the final output of the data compression device 100 shown in FIG. 3, is not taken into consideration, it does not become a learning model that contributes to the improvement of compression efficiency. There is a problem.
  • the lossless compression method using the existing learning model has the following problems. (1) Poor compression efficiency of residual data (2) The learning method of the learning model is not optimal There are these two problems.
  • the learning method of the learning model is not optimal. Specifically, this problem is solved. (2) The model is trained to generate good quality features, and the model is not trained for the original purpose of improving the overall compression ratio. It is caused by such factors.
  • the data compression apparatus of the present disclosure described below solves these problems. Similar to the data compression device described above with reference to FIGS. 1 and 3, the data compression device of the present disclosure also performs data compression processing using both feature amount compression processing using a learning model and residual data compression processing. Execute.
  • the data compression device of the present disclosure has improved the mode of compressing the residual data, and the amount of residual compressed data is greatly reduced as compared with the data compression device shown in FIGS. 1 and 3. .. As a result, a lossless compression process that reduces the data size of the output compression data (feature amount compression data + residual compression data) that is the final output is realized.
  • Example 1 An embodiment of a data compression device that divides each element of residual data into blocks of several bits (bit) and performs compression processing in block units when compressing residual data.
  • Example 2 An example of generating residual data that enhances compression efficiency, that is, a learning model that generates residual data for enabling generation of residual compressed data with a smaller amount of data.
  • Example 3 Example of determining the optimum block division mode of residual data that enhances compression efficiency, that is, determining the block division mode that enables generation of residual compressed data with a smaller amount of data.
  • Example 1 Example of a data compression device that divides each element of residual data into blocks of several bits (bit) and performs compression processing in block units when compressing residual data]
  • Example 1 an embodiment of a data compression device that divides each element of residual data into blocks of several bits (bits) and performs compression processing in block units when compressing residual data. explain.
  • each element of the residual data is divided into blocks of several bits (bit), and compression processing is performed for each divided block, thereby narrowing the range in which the numerical value of each block can be taken.
  • the configuration is such that the amount of residual compressed data is reduced by improving the compression efficiency using the appearance rule and frequency of numerical values.
  • FIG. 8 shows a configuration example of the data compression device 200 of the first embodiment of the present disclosure.
  • the data compression device 200 of the present disclosure shown in FIG. 8 is data compression using both feature amount compression processing using a learning model and residual data compression processing, similar to the data compression devices of FIGS. 1 and 3 described above. Perform processing.
  • the data compression device 200 shown in FIG. 8 includes a learning model application feature amount compression unit 201, a learning model application feature amount restoration unit 202, a difference calculation unit 203, a residual data block division unit 204, a residual division block unit encoder 205, and an output. It has a compressed data generation unit (bitstream generation unit) 206 and a learning model storage unit 210.
  • bitstream generation unit bitstream generation unit
  • the data compression device 200 shown in FIG. 8 inputs the input data 221 which is the data to be compressed into the learning model application feature amount compression unit 201.
  • the learning model application feature amount compression unit 201 applies the learning model stored in the learning model storage unit 210 to generate the feature amount compression data acquired from the input data 221, that is, the feature amount compression data 222.
  • the learning model stored in the learning model storage unit 210 is a learning model for generating feature amount compressed data generated based on various sample data, and is a learning model having parameter information for applying to compression processing. Is.
  • the learning model application feature amount compression unit 201 uses this learning model to generate feature amount compression data 222.
  • the compression process generated by the learning model application feature amount compression unit 201 is a lossy compression process.
  • the feature amount compression data 222 generated by the learning model application feature amount compression unit 201 is input to the learning model application feature amount restoration unit 202.
  • the learning model application feature amount restoration unit 202 also applies the learning model stored in the learning model storage unit 210 to execute the restoration process (decompression process) of the feature amount compression data 222, and the feature amount restoration (elongation) data 223. To generate.
  • the learning model used by the learning model application feature restoration unit 202 is a learning model for generating feature restoration (elongation) data generated based on various sample data, and is a parameter for being applied to the restoration process. It is a learning model with information.
  • the learning model application feature amount restoration unit 202 performs a data restoration process to which the learning model is applied, and generates feature amount restoration (elongation) data 223.
  • the feature amount restoration (extension) data 223 generated by the learning model application feature amount restoration unit 202 is input to the difference calculation unit 203.
  • the difference calculation unit 203 calculates the difference between the feature amount restoration (elongation) data 223 generated by the learning model application feature amount restoration unit 202 and the input data 221 before the compression process, that is, the residual data 224.
  • the residual data 224 calculated by the difference calculation unit 203 is input to the residual data block division unit 204.
  • the residual data block division unit 204 divides the residual data 224 calculated by the difference calculation unit 203 into a plurality of blocks, and a plurality of (n) residual division blocks-n, 225-1 to n shown in the figure. To generate.
  • the input data 221 shown in FIG. 8 is assumed to be 4-pixel image data.
  • the residual data 224 input to the residual data block dividing unit 204 is composed of the residual data of each of the four pixels a to d shown in FIG.
  • the residual data 224 shown in FIG. 9 is composed of the residual data of each of the pixels a to d. These correspond to the difference pixel values of each of the four corresponding pixels a to d of the input data 221 and the feature amount restoration data 223 calculated by the difference calculation unit 203.
  • each pixel value of the input data 221 and the feature amount restoration data 223 is 32-bit int type (integer type) data, and the residual data of each of the pixels a to d is also 2. It is shown as a forward bit string (32 bits).
  • the residual data block partitioning unit 204 divides these 32-bit bit strings into a plurality of blocks.
  • the residual data block division unit 204 divides the bit strings at the same division position for all the elements (all pixels) of the residual data, and the configuration data of all the elements in the same division position is used as the configuration data of one residual division block. , Generate multiple residual partition blocks.
  • all the elements (all pixels) of the residual data 224 are divided into four blocks in 8-bit units from the most significant bit to the least significant bit.
  • it may be set to divide into two blocks in units of 16 bits, or it may be set to divide by a different number of bits such as 15 bits from the upper bit, the next 10 bits, and the last 7 bits.
  • the optimization process for the number of divided bits will be described in Example 3 described later.
  • the residual data block dividing unit 204 transmits the 32-bit data of the residual data (271, 15, 29, 32) of each pixel a to d in 8-bit units from the upper bit to the lower bit. It is divided into four blocks, and four residual division blocks 1,225-1 to residual division blocks 4,225-4 are generated.
  • the residual division blocks 1,225-1 are residual division blocks composed of 8 bits from the most significant bit of the residual data of the pixels a to d.
  • the residual division blocks 2, 225-2 are residual division blocks composed of 8-bit data of 9 bits to 16 bits from the upper end of each residual data of pixels a to d.
  • the residual division blocks 3, 225-3 are residual division blocks composed of 8-bit data of 17 bits to 24 bits from the upper side of the residual data of the pixels a to d.
  • the residual encoder 104 of the conventional data compression device 100 performs entropy such as dictionary-type compression processing and Golomb coding processing on these 32-bit numerical strings.
  • entropy such as dictionary-type compression processing and Golomb coding processing
  • the code is executed, there is a problem that the data compression process executed by the residual encoder 104 does not realize a sufficient reduction in the amount of data.
  • residual data of each pixel may take a wide variety of values -2,147,483,648 2,147,483,647 from (-2 32) (2 32 -1), such If the residual data of each pixel spreads over an extremely wide range of values, the frequency of appearance of the numerical values is unlikely to be biased, and the compression rate of the entropy code does not improve.
  • the data compression device 200 of the present disclosure shown in FIG. 8 is configured to perform the following processing.
  • the residual data block dividing unit 204 converts a plurality of 32-bit data (271, 15, 29, 32) of the residual data (271, 15, 29, 32) of each pixel a to d from the upper bit to the lower bit (four in the example shown in FIG. 9). ) Is divided into blocks. In the example shown in FIG. 9, four residual division blocks 1,225-1 to residual division blocks 4,225-4 are generated. Further, the next residual division block unit encoder 205 executes the compression process in these plurality of residual division block units.
  • the plurality of residual division blocks 1,225-1 to the residual division blocks n, 225-n generated by the residual data block division unit 204 are input to the residual division block unit encoder 205. NS.
  • the residual division block unit encoder 205 individually compresses these plurality of residual division blocks 1,225-1 to the residual division blocks n and 225-n, and the residual division block compression data according to the number of division blocks. -1,226-1 to Residual division block compression data -n, 226-n is generated.
  • FIG. 10 four residual division blocks generated by the residual data block division unit 204 described with reference to FIG. 9, that is, residual data of 4 pixels a to d (271, 15, 29, 32).
  • the three residual division blocks 1,225-1 to the residual division blocks 4,225-4 are shown in which the 32-bit data of No. 1 is divided from the upper bit to the lower bit in 8-bit units.
  • the residual division block unit encoder 205 individually executes compression processing (encoding processing) on these four residual division blocks 1,225-1 to residual division blocks 4,225-4.
  • the residual division block unit encoder 205 performs lexicographic compression or entropy code compression for each residual division block.
  • the compression process executed by the residual division block unit encoder 205 is a lossless compression process in the residual division block unit. As a result of this compression processing, residual division block compression data-1,226-1 to residual division block compression data-4,226-4 according to the number of division blocks are generated.
  • the number of bits of each element (each pixel) included in each block is 8 bits, and the range in which the numerical value of this 8-bit data can be taken is narrower than that of the conventional method described above with reference to FIG. 3 and the like.
  • the residual encoder 104 of the conventional data compression device 100 performs entropy such as dictionary-type compression processing and Golomb coding processing on these 32-bit numerical strings. Execute the code.
  • residual data of each pixel may take a wide variety of values -2,147,483,648 2,147,483,647 from (-2 32) (2 32 -1), such If the residual data of each pixel spreads over an extremely wide range of values, the frequency of appearance of the numerical values is unlikely to be biased, and the compression rate of the entropy code does not improve.
  • the 32-bit data string of each pixel is divided into 8-bit units for the data to be compressed.
  • 8 Possible numerical range of bit data is significantly reduced and -128 (-2 8) and 127 (2 8).
  • bit values 0
  • the compression efficiency due to entropy encoding is greatly improved. That is, the data compression efficiency is increased, and the amount of compressed data can be reduced.
  • the block of the high-order bit has a value of almost all 0.
  • the block in which all the bits are 0 can be reduced to the minimum number of bits as compressed data. That is, when the value of the residual data of each pixel is small, the amount of compressed data of the block of the high-order bit can be significantly reduced, and the compression rate can be improved.
  • the data to be compressed is the residual data 224 calculated by the difference calculation unit 203 shown in FIG. This is the difference data between the feature amount restoration (extension) data 223 generated by the learning model application feature amount restoration unit 202 and the input data 221 before the compression process.
  • This difference data is unlikely to take a large value and is likely to take a small value.
  • the reason for this is that the data compression and restoration processing executed by the learning model application feature amount compression unit 201 and the learning model application feature amount restoration unit 202 is processing using the learning model, and this learning model inputs and restores data. This is because it is a learning model set to be close to each other. Therefore, as shown in FIG. 10, most of the high-order bits of each pixel are likely to be set to 0, and the compression efficiency can be significantly improved.
  • the residual division block unit encoder 205 includes a plurality of residual division blocks 1,225-1 to residual division blocks n, 225- input from the residual data block division unit 204. n is individually compressed to generate residual divided block compressed data-1,226-1 to residual divided block compressed data -n, 226-n according to the number of divided blocks.
  • the plurality of residual division block compression data-1,226-1 to the residual division block compression data -n, 226-n generated by the residual division block unit encoder 205 are output compression data generation units (bitstream generation units). ) 206 is input.
  • the output compressed data generation unit (bitstream generation unit) 206 is (A) Feature compression data 222 generated by the learning model application feature compression unit 201, (B) Multiple residual division block compression data-1,226-1 to residual division block compression data-n, 226-n generated by the residual division block unit encoder 205, These compressed data are input to generate output compressed data 227 in which they are combined.
  • the output compressed data 227 is a set data of each of the compressed data (a) and (b), that is, feature amount compressed data + residual division block compressed data.
  • the output compressed data 227 is transmitted to an external device via, for example, a communication unit. Alternatively, it is stored in the storage unit.
  • the output compression data 227 includes the feature amount compression data 222 that has been compressed by applying the learning model and the residual division block compression data 226 that is the compression data of the residual data 224 that is not included in the feature amount compression data 222. It is compressed data including, and by the restoration process (decompression process) using the output compressed data 227, it is possible to reproduce the same data as the input data 221 before compression. That is, lossless compression processing is realized.
  • Step S201 First, the data compression device 200 inputs the data to be compressed in step S201.
  • Step S202 Next, in step S202, the data compression device 200 acquires a learning model (feature amount compression learning model, feature amount restoration learning model).
  • Step S203 the data compression device 200 executes a compression process applying the feature amount compression learning model to the input data (compression target data) to generate the feature amount compression data.
  • This process is a process executed by the learning model application feature amount compression unit 201 of the data compression device 200 shown in FIG.
  • Step S204 the data compression device 200 executes a restoration process applying the feature amount restoration learning model to the feature amount compression data generated in step S203 to generate the feature amount restoration data.
  • This process is a process executed by the learning model application feature amount restoration unit 202 of the data compression device 200 shown in FIG.
  • Step S205 the data compression device 200 calculates the difference (residual) between the input data (compression target data) and the feature amount restoration data generated in step S204 in step S205.
  • This process is a process executed by the difference calculation unit 203 of the data compression device 200 shown in FIG.
  • step S206 the data compression device 200 determines the number of division bits of the residual data calculated in step S205.
  • This process is a process executed by the residual data block partitioning unit 204 of the data compression device 200 shown in FIG.
  • the residual data block division unit 204 determines the number of division bits of the residual data calculated in step S205. Specifically, as described above with reference to FIG. 9, a predetermined number of divided bits such as a block of 8 bits from the high-order bit is used. Alternatively, the optimum number of division bits for minimizing the compressed data of the residual data may be calculated and determined. This division bit number optimization process will be described in the latter part (Example 3).
  • step S207 the data compression device 200 divides the residual data according to the number of division bits of the residual data determined in step S206, and generates a plurality of residual division blocks.
  • This process is a process executed by the residual data block partitioning unit 204 of the data compression device 200 shown in FIG. Specifically, for example, as described above with reference to FIG. 9, a plurality of residual division blocks of 8 bits each are generated from the high-order bits.
  • step S208 the data compression device 200 executes compression processing in units of the plurality of residual division block generated in step S207 to generate a plurality of residual division block compressed data.
  • This process is a process executed by the residual division block unit encoder 205 of the data compression device 200 shown in FIG.
  • the residual division block unit encoder 205 executes compression processing in a plurality of residual division block units generated by the residual data block division unit 204, as described above with reference to FIG. 10, and a plurality of residual division block units encoder 205. Generate residual split block compressed data.
  • the data compression device 200 includes the feature amount compression data generated by the learning model application feature amount compression unit 201 in step S203 and a plurality of residuals generated by the residual division block unit encoder 205 in step S208. Combine the divided block compressed data to generate output compressed data.
  • This process is a process executed by the output compressed data generation unit 206 of the data compression device 200 shown in FIG.
  • the output compression data 227 generated by the output compression data generation unit 206 of the data compression device 200 shown in FIG. 8 includes the feature amount compression data 222 that has been compressed by applying the learning model. It is the compressed data including the residual division block compressed data 226 which is the compressed data of the residual data 224 not included in the feature amount compressed data 222.
  • the restoration process decompression process
  • the output compressed data 227 it is possible to reproduce the same data as the input data 221 before compression. That is, lossless compression processing is realized.
  • Example 2 About an example of generating residual data that enhances compression efficiency, that is, a learning model that generates residual data for enabling generation of residual compressed data with a smaller amount of data]
  • Example 2 regarding an example of generating residual data that enhances compression efficiency, that is, a learning model that generates residual data for enabling generation of residual compressed data with a smaller amount of data. explain.
  • the learning model generated according to the second embodiment can be used in the data compression device 200 shown in FIG. 8 described in the first embodiment. It can also be used in data compression processing according to the processing flow described with reference to FIG. That is, the learning model generated according to the second embodiment described below is the learning model used in the learning model applied feature amount compression unit 201 and the learning model applied feature amount restoring unit 202 of the data compression device 200 shown in FIG. Is.
  • the learning model application feature amount compression unit 201 of the data compression device 200 shown in FIG. 8 applies the learning model stored in the learning model storage unit 210, and compresses the feature amount acquired from the input data 221, that is, the feature. Amount compressed data 222 is generated.
  • the learning model stored in the learning model storage unit 210 is a learning model for generating feature amount compressed data generated based on various sample data, and is a learning model having parameter information for applying to compression processing. Is.
  • the learning model application feature amount compression unit 201 uses this learning model to generate feature amount compression data 222.
  • the learning model application feature amount restoration unit 202 also applies the learning model stored in the learning model storage unit 210 to execute the restoration process (decompression processing) of the feature amount compression data 222, and the feature amount restoration (elongation). Generate data 223.
  • the learning model used by the learning model application feature restoration unit 202 is a learning model for generating feature restoration (elongation) data generated based on various sample data, and is a parameter for being applied to the restoration process. It is a learning model with information.
  • the learning model application feature amount restoration unit 202 performs a data restoration process to which the learning model is applied, and generates feature amount restoration (elongation) data 223.
  • the second embodiment is an example relating to the generation processing of the learning model used by the learning model application feature amount compression unit 201 and the learning model application feature amount restoration unit 202.
  • the compression efficiency is improved by devising the learning model used by the learning model applied feature amount compression unit 201 and the learning model applied feature amount restoring unit 202.
  • the residual data 224 generated by the difference calculation unit 203 includes the feature amount restoration (elongation) data 223 generated by the learning model application feature amount restoration unit 202. This is the difference data from the input data 221 before the compression process.
  • the parameters of the learning model used by the learning model applied feature amount compression unit 201 and the learning model applied feature amount restoration unit 202 are the feature amount restoration (expansion) data 223 generated by the learning model applied feature amount restoration unit 202 and the compression processing. It is determined by how to evaluate the degree of deviation from the previous input data 221. That is, it depends on how the loss function corresponding to the learning model is defined.
  • the loss function is defined in step S152, and the parameters of the learning model are evaluated using the loss function defined in step S153. Is going.
  • the degree of deviation between the data restored from the feature quantity and the input data is evaluated by the loss function.
  • a loss function is defined in which a value with a smaller loss (higher evaluation value) is calculated as the deviation between the restored data and the input data is smaller, and the parameters of the learning model are evaluated using this loss function. ..
  • the loss function for evaluating the parameters of the learning model used when generating and updating a general learning model, it is an error calculation that calculates the degree of deviation between the restored data from the feature quantity and the input data.
  • a square error calculation function is known.
  • epsilon-insensitive loss is used as a loss function for evaluating the parameters of the learning model used by the learning model application feature amount compression unit 201 and the learning model application feature amount restoration unit 202.
  • an error function called a calculation function.
  • FIG. 12 shows the following two error functions.
  • Square error calculation function (2) Epsilon-insensitive loss calculation function
  • the vertical axis (y) is the loss and the horizontal axis (x) is the difference (deviation degree) of the input / output data. ) Is shown.
  • the difference (degree of deviation) of the input / output data on the horizontal axis of each graph corresponds to the difference between the input data 221 of the data compression device 200 shown in FIG. 8 and the feature amount restoration data 223, that is, the residual data 224. ..
  • i is an identifier of a component of the residual data.
  • the data to be compressed is an image, it is a pixel identifier of the image constituent pixels.
  • the loss increases significantly as the input / output difference, that is, the value of each element of the residual data increases (evaluation). The value drops significantly). That is, when the squared error calculation function is used as the loss function, the learning model is generated and updated so as to make each element of the residual as small as possible.
  • the epsilon-insensitive loss calculation function shown in FIG. 12 (2) is used as the loss function for evaluating the parameters of the training model, the absolute value of the input / output difference, that is, the residual It can be seen that the loss increases (the evaluation value decreases) when the value of each element of the data becomes larger than the specified value ( ⁇ : epsilon).
  • the epsilon-insensitive loss calculation function shown in FIG. 12 (2) is used as the loss function for evaluating the parameters of the training model, the value of each element of the residual data is the specified value.
  • the training model is generated and updated so that it fits within ( ⁇ : epsilon).
  • the size of the value does not matter. , There are less restrictions on the size of the value.
  • each element is 32-bit data
  • the epsilon-insensitive loss calculation function shown in FIG. 12 (2) is used as the loss function for evaluating the parameters of the learning model, and the specified value ( ⁇ : epsilon) is further divided into the residual division block.
  • the learning model is generated and updated by setting it as a value that can be expressed by the number of bits included in the block on the least significant bit side of.
  • the learning model generated and updated in this way As the learning model to be used in the learning model applied feature amount compression unit 201 of the data compression device 200 shown in FIG. 8 and the learning model applied feature amount restoring unit 202, the remaining It is possible to set the value of each element of the difference data to fit in the number of bits included in the block on the least significant bit side.
  • the learning model generated and updated according to the flowchart shown in FIG. 13 is stored in the learning model storage unit 210 of the data compression device 200 described above with reference to FIG. 8 (Example 1), and the learning model application feature amount. It is used for feature amount data compression and feature amount data restoration processing in the compression unit 201 and the learning model application feature amount restoration unit 202.
  • the process according to the flow shown in FIG. 13 can be executed by the data compression device 200 shown in FIG. 8 or another device. The processing of each step of the flowchart shown in FIG. 13 will be sequentially described.
  • Step S251 First, in step S251, a learning model as a template is input.
  • the learning model that serves as a template includes a learning model for compression processing for generating feature amount compressed data and a learning model for restoration processing for generating restoration data from feature amount compression data.
  • the learning model for compression processing includes various parameters applied to the compression processing
  • the learning model for restoration processing includes various parameters applied to the restoration processing.
  • the parameters of the learning model of the initial template can be set to any value.
  • Step S252 the epsilon-insensitive loss calculation function used as the loss function of the learning model input in step S251, that is, the epsilon-insensitivity booros calculation shown in FIG. 12 (2).
  • step S253 the present input in step S251 using the loss function in which the parameter ( ⁇ : epsilon) determined in step S252 is set, that is, the epsilon-insensitive loss calculation function is used. Evaluate the parameters of the learning model of.
  • the feature amount is extracted from the input data, and the loss according to the degree of deviation between the data restored from the extracted feature amount and the input data is determined by the function represented by the function (Equation 2) described above, that is, , Calculated and evaluated using the epsilon-insensitivity boulos calculation function shown in FIG. 12 (2).
  • the parameters of the learning model are evaluated using such a loss function.
  • Step S254 the parameter update amount is calculated based on the evaluation value calculated in step S253, and in step S255, the parameter is updated based on the calculation result.
  • the evaluation and update processing of these parameters is repeatedly executed a predetermined number of times.
  • Step S256 When it is determined in step S256 that the parameter evaluation and update processing of steps S254 to S255 has reached a predetermined number of times, the process proceeds to step S257.
  • Step S257 a learning model in which the finally updated parameters are set is generated by iterative processing of the specified number of sentences of the parameter evaluation and update processing of steps S254 to S255, and the learning model storage unit (FIG. 8). It is stored in the learning model storage unit 210).
  • the learning model generated in this way is used in the learning model applied feature amount compression unit 201 and the learning model applied feature amount restoration unit 202 of the data compression device 200 shown in FIG. 8, and the feature amount is compressed and restored. It is said.
  • This learning model is a learning model in which the difference between each element (for example, a pixel) of the compression target data and the feature amount restoration (elongation) data is set to a specified value ( ⁇ ) or less as much as possible.
  • the difference calculated by the difference calculation 203 shown in FIG. 8 is calculated by performing the processing applying this learning model in the learning model applied feature amount compression unit 201 and the learning model applied feature amount restoring unit 202 of the data compression device 200 shown in FIG.
  • the difference (residual) of each element of the data 224 is substantially equal to or less than the specified value ( ⁇ ).
  • Example 3 Regarding the process of determining the optimum block division mode of residual data that enhances compression efficiency, that is, the embodiment of determining the block division mode that enables generation of residual compressed data with a smaller amount of data]
  • Example 3 an embodiment of determining the optimum block division mode of residual data that enhances compression efficiency, that is, determining a block division mode that enables generation of residual compressed data with a smaller amount of data.
  • Example 3 corresponds to an example of the process of generating the residual data block in the residual data block division part 204 of the data compression apparatus 200 shown in FIG. 8 described in Example 1. This is an example of the processing of steps S206 to S207 in the processing flow described above with reference to FIG.
  • the residual data block division 204 of the data compression device 200 shown in FIG. 8 has a residual error.
  • the semi-optimal number of bits that separate each element is determined.
  • each element (pixel) of the input data 221 and the feature amount restoration data 223 is an int type (integer type) of 32 bits.
  • int type integer type
  • bit division processing example shown in FIG. 9 is an example, and various division modes are possible. For example, it is possible to set to divide into two blocks in units of 16 bits, or to divide by a different number of bits such as 15 bits from the upper bit, the next 10 bits, and the last 7 bits.
  • the number of bits that divide each element of the residual data determines the range of values that each block can take and the number of blocks in which all the bits in the block are 0. Therefore, the number of divided bits is an important parameter that affects the compression efficiency.
  • the third embodiment is an example of a data compression device that determines a quasi-optimal number of bits for dividing each element of the residual in the residual data block partitioning unit 204 of the data compression device 200 shown in FIG.
  • the residual data block division unit 204 determines the semi-optimal number of division bits based on a value called "redundancy" which is a guideline for the compression ratio.
  • processing according to the third embodiment is not an essential configuration of the data compression device 200 shown in FIG. 8 according to the first embodiment described above, and is an option when the calculation resources of the data compression device 200 are sufficient. It can be executed as.
  • the flowchart shown in FIG. 14 is a processing sequence for determining the number of divided bits of the residual data 224 executed by the residual data block dividing unit 204 of the data compression device 200 shown in FIG. 8 according to the third embodiment. Hereinafter, the processing of each step of the flowchart shown in FIG. 14 will be described.
  • Step S301 First, in step S301, the residual data block division unit 204 of the data compression device 200 shown in FIG. 8 determines a plurality of “residual data delimiter bit number candidates” for dividing the residual data into a plurality of blocks.
  • Step S302 the residual data block division unit 204 selects one “residual data delimiter bit number candidate” from the plurality of “residual data delimiter bit number candidates” determined in step S301.
  • Step S303 the residual data block division unit 204 applies one “residual data delimiter bit number candidate” selected in step S302 to the residual data 224 input from the difference calculation unit 203 in step S303. To generate a residual division block.
  • Step S304 the residual data block division unit 204 calculates the redundancy of each of the residual division blocks generated in step S303, and calculates the average redundancy which is the average value of all the calculated redundancy blocks. do.
  • Equation 3 The entropy shown in the above (Equation 3) is defined by the following (Equation 4).
  • Entropy: H - ⁇ k p i log 2 p i ... (Equation 4)
  • p i represents the probability of occurrence of a certain numerical value contained in the residual division blocks. For example, suppose that the residual division block contains four numerical values 1, 2, 2, and 4. At this time, the appearance probabilities of the numerical values 1, 2, and 4 are 1/4, 1/2, and 1/4, respectively.
  • the maximum entropy is assumed to be 1/3 in the example when the appearance probabilities of all the numerical values are equal, that is, when four numerical values of 1, 2, 2, and 4 are included in the residual division block. It is the value of entropy when.
  • step S304 the residual data block division unit 204 calculates the redundancy of the residual division block generated in step S303 using the above (Equation 3).
  • step S304 the residual data block division unit 204 calculates the redundancy of the residual division block for all of the plurality of residual division blocks, and also calculates the average value (average redundancy) thereof.
  • the calculated average redundancy can be regarded as an evaluation value for estimating the ease of compressing the residual data, that is, how much the compression rate can be increased.
  • Step S305 the residual data block division unit 204 determines whether or not the redundancy calculation process for all the candidates of the plurality of “residual data delimiter bit number candidates” determined in step S301 has been completed. do.
  • step S302 If there is an unprocessed "residual data delimiter bit number candidate", the process returns to step S302, and the processes of steps S302 to S304 are executed for the unprocessed "residual data delimiter bit number candidate".
  • step S305 If it is determined in step S305 that the redundancy calculation process for all the candidates of the plurality of "residual data delimiter bit number candidates" determined in step S301 is completed, the process proceeds to step S306.
  • Step S306 the residual data block division unit 204 applies the “candidate for the number of residual data delimiter bits” having the highest average calculated average redundancy to the final “residual” for generating the residual division block. It is determined as "the number of bits separated by difference data”.
  • the number of bits when the average value of the redundancy of each block is the largest can be regarded as the number of block division bits of the semi-optimal residual data.
  • the reason why the "quasi" optimum is used is that the lexicographic compression method and the entropy code cannot always compress the data according to the redundancy.
  • FIG. 15 is one specific hardware configuration example of the data compression device 200 described with reference to FIG. 8 above.
  • the CPU (Central Processing Unit) 301 functions as a control unit or a data processing unit that executes various processes according to a program stored in the ROM (Read Only Memory) 302 or the storage unit 308. For example, the process according to the sequence described in the above-described embodiment is executed.
  • the RAM (Random Access Memory) 303 stores programs and data executed by the CPU 301. These CPU 301, ROM 302, and RAM 303 are connected to each other by a bus 304.
  • the CPU 301 is connected to the input / output interface 305 via the bus 304, and the input / output interface 305 is connected to an input unit 306 consisting of various switches, a keyboard, a mouse, a microphone, a sensor, etc., and an output unit 307 consisting of a display, a speaker, and the like. Has been done.
  • the CPU 301 executes various processes in response to a command input from the input unit 306, and outputs the process results to, for example, the output unit 307.
  • the storage unit 308 connected to the input / output interface 305 is composed of, for example, a hard disk or the like, and stores programs executed by the CPU 301 and various data.
  • the communication unit 309 functions as a transmission / reception unit for Wi-Fi communication, Bluetooth (registered trademark) (BT) communication, and other data communication via a network such as the Internet or a local area network, and communicates with an external device.
  • Wi-Fi Wi-Fi
  • BT registered trademark
  • the drive 310 connected to the input / output interface 305 drives a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card, and records or reads data.
  • a removable medium 311 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card
  • a feature amount compression unit that applies a learning model to generate feature amount compression data of input data
  • a feature restoration unit that generates feature restoration data by executing restoration processing on the feature compression data
  • a feature restoration unit that calculates residual data, which is the difference data between the input data and the feature amount restoration data
  • a residual data block division unit that divides the residual data into blocks to generate a plurality of residual division blocks
  • a residual data block division unit that executes compression processing for each of the plurality of residual division blocks and generates multiple residual division block compression data.
  • An output compression data generation unit that generates output compression data by synthesizing the feature amount compression data generated by the feature amount compression unit and a plurality of residual division block compression data generated by the residual division block unit encoder.
  • Data compression device to have.
  • the feature amount compression unit is The data compression device according to (1), wherein a feature amount included in the input data is selected and a lossy compression process for generating the feature amount compression data is executed.
  • the residual division block unit encoder is The data compression device according to (1) or (2), which executes a lossless compression process.
  • the feature amount restoration unit is The data compression device according to any one of (1) to (3), wherein a learning model is applied to execute a restoration process on the feature amount compressed data.
  • the data compression device is The data compression device according to any one of (1) to (4), which has a learning model storage unit that stores the learning model.
  • the feature amount compression unit is The data compression device according to any one of (1) to (5), which is configured to generate the feature amount compression data by applying a learning model including parameters applied to the feature amount compression process of input data.
  • the parameters included in the learning model are The data compression device according to (6), which is a parameter generated based on the evaluation result using the epsilon-insensitive loss calculation function, which is a loss function for evaluating the performance of the training model. ..
  • the residual data block partitioning portion is The data compression device according to any one of (1) to (7), wherein the residual data is divided into blocks for each element to generate a plurality of residual division blocks.
  • the residual data block partitioning portion is The data compression according to any one of (1) to (8), wherein the bit string constituting each element of the residual data is divided into a plurality of blocks from the most significant bit to the least significant bit to generate a plurality of residual division blocks. Device.
  • the residual data block partitioning portion is For all the elements of the residual data, the bit strings are separated at the same delimiter position.
  • the data compression device according to any one of (1) to (9), wherein a plurality of residual division blocks are generated by using the configuration data of all the elements in the same division position as the configuration data of one residual division block.
  • the residual data block partitioning portion is The data compression device according to any one of (1) to (10), which executes a process of determining the number of delimiter bits for generating the residual division block.
  • the residual data block partitioning portion is The redundancy of the residual division block generated by applying a plurality of different delimiter bits to the same residual data is calculated.
  • the redundancy is a redundancy that shows a larger value as the compression efficiency is higher.
  • the residual data block partitioning unit The data compression device according to (12), wherein the number of delimiter bits having the maximum calculated redundancy is determined as the optimum number of delimiter bits.
  • the residual division block unit encoder is Any one of (1) to (13), in which lossless compression processing is individually executed for each of the plurality of residual division blocks generated by the residual data block division unit to generate a plurality of residual division block compressed data.
  • a data compression method executed in a data compression device executed in a data compression device.
  • the feature compression process that the feature compression unit applies the learning model to generate the feature compression data of the input data The feature amount restoration process in which the feature amount restoration unit executes the restoration process for the feature amount compressed data to generate the feature amount restoration data, and
  • the difference calculation unit calculates the residual data, which is the difference data between the input data and the feature amount restoration data, and the difference calculation process.
  • Residual data block division processing in which the residual data block division unit divides the residual data into blocks to generate a plurality of residual division blocks
  • the residual division block unit encoder executes the compression processing of each of the plurality of residual division blocks to generate a plurality of residual division block compression data, and the residual division block unit encoding processing.
  • the output compression data generation unit generates the output compression data by synthesizing the feature amount compression data generated by the feature amount compression unit and a plurality of residual division block compression data generated by the residual division block unit encoder.
  • Output compression A data compression method that executes data generation processing.
  • the series of processes described in the specification can be executed by hardware, software, or a composite configuration of both.
  • executing processing by software install the program that records the processing sequence in the memory in the computer built in the dedicated hardware and execute it, or execute the program on a general-purpose computer that can execute various processing. It can be installed and run.
  • the program can be pre-recorded on a recording medium.
  • LAN Local Area Network
  • the various processes described in the specification are not only executed in chronological order according to the description, but may also be executed in parallel or individually as required by the processing capacity of the device that executes the processes.
  • the system is a logical set configuration of a plurality of devices, and the devices having each configuration are not limited to those in the same housing.
  • the configuration and processing in which the compression efficiency is improved in the lossless compression processing for generating the feature amount compressed data and the residual data compressed data to which the learning model is applied is realized.
  • a feature quantity compression unit that applies a learning model to generate feature quantity compressed data of input data
  • a feature quantity restoration unit that generates feature quantity restoration data by restoring feature quantity compressed data
  • an input e.g., a difference calculation unit that calculates the residual data that is the difference between the data and the feature amount restoration data, a residual data block division unit that generates a plurality of residual division blocks from the residual data, and a compression process of the residual division block.
  • Residual division block unit encoder that generates multiple residual division block compression data
  • output compression data generator that synthesizes feature amount compression data and residual division block compression data to generate output compression data.
  • Data compression device 21 Feature encoder 22 Feature decoder 23 Difference calculation unit 24 Residual encoder 25 Output compression data generation unit (bitstream generation unit) 26 Communication unit 27 Storage unit 50 Data restoration device 51 Communication unit 52 Data separation unit 53 Feature amount decoder 54 Residual decoder 55 Synthesis unit 100 Data compression device 101 Learning model application feature amount compression unit 102 Learning model application feature amount restoration unit 103 Difference Calculation unit 104 Residual encoder 105 Output compressed data generation unit (bit stream generation unit) 110 Learning model storage unit 150 Data restoration device 151 Data separation unit 152 Learning model application feature amount restoration unit 153 Residual decoder 154 Synthesis unit 160 Learning model storage unit 200 Data compression device 201 Learning model application feature amount compression unit 202 Learning model application feature Amount restoration unit 203 Difference calculation unit 204 Residual data block division unit 205 Residual division block unit encoder 206 Compressed data generation unit for output (bit stream generation unit) 210 Learning model storage 301 CPU 302 ROM 303 RAM 304 Bus 305 Input / output

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

学習モデルを適用した特徴量圧縮データと残差データ圧縮データを生成する可逆圧縮処理において圧縮効率を向上させた構成、処理を実現する。学習モデルを適用して入力データの特徴量圧縮データを生成する特徴量圧縮部と、特徴量圧縮データの復元により特徴量復元データを生成する特徴量復元部と、入力データと特徴量復元データとの差分である残差データを算出する差分算出部と、残差データから複数の残差分割ブロックを生成する残差データブロック分割部と、残差分割ブロックの圧縮処理により、複数の残差分割ブロック圧縮データを生成する残差分割ブロック単位エンコーダと、特徴量圧縮データと残差分割ブロック圧縮データを合成して出力用圧縮データを生成する出力用圧縮データ生成部を有する。

Description

データ圧縮装置、およびデータ圧縮方法
 本開示は、データ圧縮装置、およびデータ圧縮方法に関する。さらに詳細には、データ圧縮処理を実行するデータ圧縮装置、およびデータ圧縮方法に関する。
 近年、スマートフォン等のモバイルデバイスや、カメラ等のセンサーの利用が急激に増加している。これらの装置(デバイス)は、様々なデータ、例えば通信データ、画像データを生成し、生成したデータを、ネットワークを介して他の装置に転送する処理や、フラッシュメモリ、光ディスク、ハードディスク等の記録メディアに記録する処理等を行なう。
 大容量のデータを転送あるいは記録する場合、データ圧縮処理により、データ転送速度の向上、データ記録容量の削減が実現され、圧縮率を高めた効率的な圧縮処理技術が求められている。
 センサーやモバイルデバイスから生成されたデータを圧縮する技術の一態様として、機械学習モデルを用いた圧縮手法が提案されている。
 機械学習モデルを用いた圧縮手法の一例として、圧縮対象データから重要な特徴データを抽出し、抽出した特徴データの圧縮処理を行なうことで高い圧縮率を実現する手法がある。
 しかし、この手法では、圧縮対象となるデータから選択された特徴データ以外のデータが圧縮結果データに含まれないことになり、情報の欠損が発生する。
 すなわち、圧縮データに含まれない特徴データ以外のデータの復元は不可能となり、復元データ(伸長データ)は、圧縮前の元データと異なるデータとなってしまう。すなわち、上記のような単に機械学習を適用した圧縮処理は非可逆圧縮処理になってしまうという問題がある。
 欠損データをより少なくする構成を開示した従来技術として特許文献1(特開2019-140680号公報)がある。この特許文献1は、情報の欠損が少なく、かつ、圧縮効率の高い圧縮システムを提案している。
 具体的には、機械学習手法のひとつであるオートエンコーダを用い、複数のスケールの特徴量を抽出することで、少ない情報から高精細な画像の復元を行なう構成である。
 しかし、この特許文献1に記載の構成を適用しても、欠損データを完全になくすことはできない。すなわち可逆圧縮処理を実現するには至っていない。
 医療用画像など、データの利用目的によっては情報の欠損が許容されない場面が存在する。このようなデータの圧縮、復元には、可逆圧縮が必須となる。
 機械学習モデルを用いた圧縮手法において可逆圧縮を実現する構成を開示した従来技術として、Shenらが提案した圧縮システムがある。
 この構成は、非特許文献1("Lossless Compression of Curated Erythrocyte Images Using Deep Autoencoders for Malaria Infection Diagnosis" Published in 2016 Picture Coding Symposium 4-7 December 2016.Hongda Shen et al.)に記載されている。
 この非特許文献1には、機械学習モデルを適用した圧縮データに含まれない特徴データ以外の非抽出データを残差データとして抽出し、この残差データに対して、さらに圧縮処理を行ない、残差データ圧縮データを生成する。
 すなわち、最終的な圧縮データは、機械学習モデルを適用した圧縮データと、残差データ圧縮データの組みデータとする。この組みデータを送信、あるいは記憶部に格納し、復元(伸長)する場合は、組データの構成データである機械学習モデルを適用した圧縮データと、残差データ圧縮データを個別に取り出して、個別に復元した後、これらの復元データを組み合わせて圧縮処理前のデータを復元する構成である。
 しかし、この非特許文献1に記載の構成は、残差データの圧縮データのデータ量が大きくなり、最終的に生成される圧縮データである機械学習モデルを適用した圧縮データと、残差データ圧縮データの組みデータについてもデータ量がおおきくなり、結果的に圧縮効率が低下するという問題がある。
特開2019-140680号公報
"Lossless Compression of Curated Erythrocyte Images Using Deep Autoencoders for Malaria Infection Diagnosis" Published in 2016 Picture Coding Symposium 4-7 December 2016.Hongda Shen et al.
 本開示は、例えば、上記問題点に鑑みてなされたものであり、機械学習モデルを適用した圧縮処理を行ない、かつ圧縮率を向上させた可逆圧縮を実現するデータ圧縮装置、およびデータ圧縮方法を提供することを目的とする。
 本開示の第1の側面は、
 学習モデルを適用して入力データの特徴量圧縮データを生成する特徴量圧縮部と、
 前記特徴量圧縮データに対する復元処理を実行して特徴量復元データを生成する特徴量復元部と、
 前記入力データと、前記特徴量復元データとの差分データである残差データを算出する差分算出部と、
 前記残差データをブロック分割して、複数の残差分割ブロックを生成する残差データブロック分割部と、
 前記複数の残差分割ブロック各々の圧縮処理を実行し、複数の残差分割ブロック圧縮データを生成する残差分割ブロック単位エンコーダと、
 前記特徴量圧縮部の生成した特徴量圧縮データと、前記残差分割ブロック単位エンコーダの生成した複数の残差分割ブロック圧縮データを合成して出力用圧縮データを生成する出力用圧縮データ生成部を有するデータ圧縮装置にある。
 さらに、本開示の第2の側面は、
 データ圧縮装置において実行するデータ圧縮方法であり、
 特徴量圧縮部が、学習モデルを適用して入力データの特徴量圧縮データを生成する特徴量圧縮処理と、
 特徴量復元部が、前記特徴量圧縮データに対する復元処理を実行して特徴量復元データを生成する特徴量復元処理と、
 差分算出部が、前記入力データと、前記特徴量復元データとの差分データである残差データを算出する差分算出処理と、
 残差データブロック分割部が、前記残差データをブロック分割して、複数の残差分割ブロックを生成する残差データブロック分割処理と、
 残差分割ブロック単位エンコーダが、前記複数の残差分割ブロック各々の圧縮処理を実行し、複数の残差分割ブロック圧縮データを生成する残差分割ブロック単位エンコード処理と、
 出力用圧縮データ生成部が、前記特徴量圧縮部の生成した特徴量圧縮データと、前記残差分割ブロック単位エンコーダの生成した複数の残差分割ブロック圧縮データを合成して出力用圧縮データを生成する出力用圧縮データ生成処理を実行するデータ圧縮方法にある。
 本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 本開示の一実施例の構成によれば、学習モデルを適用した特徴量圧縮データと残差データ圧縮データを生成する可逆圧縮処理において圧縮効率を向上させた構成、処理が実現される。
 具体的には、例えば、学習モデルを適用して入力データの特徴量圧縮データを生成する特徴量圧縮部と、特徴量圧縮データの復元により特徴量復元データを生成する特徴量復元部と、入力データと特徴量復元データとの差分である残差データを算出する差分算出部と、残差データから複数の残差分割ブロックを生成する残差データブロック分割部と、残差分割ブロックの圧縮処理により、複数の残差分割ブロック圧縮データを生成する残差分割ブロック単位エンコーダと、特徴量圧縮データと残差分割ブロック圧縮データを合成して出力用圧縮データを生成する出力用圧縮データ生成部を有する。
 本構成により、学習モデルを適用した特徴量圧縮データと残差データ圧縮データを生成する可逆圧縮処理において圧縮効率を向上させた構成、処理が実現される。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
学習モデルを用いたデータ圧縮処理を可逆圧縮処理として実行するデータ圧縮装置の構成例について説明する図である。 学習モデルを用いたデータ復元処理を実行するデータ復元装置の構成例について説明する図である。 学習モデルを用いたデータ圧縮処理を可逆圧縮処理として実行するデータ圧縮装置の構成例について説明する図である。 学習モデルを用いたデータ圧縮処理を可逆圧縮処理として実行するデータ圧縮処理のシーケンスについて説明するフローチャートを示す図である。 学習モデルを用いたデータ復元処理を実行するデータ復元装置の構成例について説明する図である。 学習モデルを用いたデータ復元処理を実行するデータ復元装置の実行するデータ復元処理のシーケンスについて説明するフローチャートを示す図である。 学習モデルの生成、更新処理のシーケンスについて説明するフローチャートを示す図である。 本開示のデータ圧縮装置の構成例について説明する図である。 本開示のデータ圧縮装置の残差データブロック分割部の実行する処理の具体例について説明する図である。 本開示のデータ圧縮装置の残差分割ブロック単位エンコーダの実行する処理の具体例について説明する図である。 本開示のデータ圧縮装置が実行するデータ圧縮処理のシーケンスについて説明するフローチャートを示す図である。 機械学習の学習に用いられる誤差関数について説明する図である。 本開示の学習モデルの生成、更新処理のシーケンスについて説明するフローチャートを示す図である。 データ圧縮装置の残差データブロック分割部が実行する残差データの分割ビット数の決定処理シーケンスについて説明するフローチャートを示す図である。 本開示のデータ圧縮装置のハードウェア構成例について説明する図である。
 以下、図面を参照しながら本開示のデータ圧縮装置、およびデータ圧縮方法の詳細について説明する。なお、説明は以下の項目に従って行なう。
 1.機械学習モデルを用いたデータ圧縮処理において、可逆圧縮を実現するための基本構成について
 2.学習モデルを利用した特徴量圧縮処理と、残差データ圧縮処理を併用したデータ圧縮、およびデータ復元処理の構成と処理シーケンスについて
 3.学習モデルの生成シーケンスについて
 4.本開示の学習モデルを利用した特徴量圧縮処理と、残差データ圧縮処理を併用したデータ圧縮装置の構成とデータ圧縮処理シーケンスについて
 4-1.(実施例1)残差データの圧縮処理に際して、残差データの各要素を数ビット(bit)単位のブロックに分割し、ブロック単位で圧縮処理を行なうデータ圧縮装置の実施例について
 4-2.(実施例2)圧縮効率を高める残差データ、すなわち、より小さなデータ量の残差圧縮データを生成可能とするための残差データを生成する学習モデルを生成する実施例について
 4-3.(実施例3)圧縮効率を高める残差データの最適なブロック分割態様の決定処理、すなわち、より小さなデータ量の残差圧縮データを生成可能とするブロック分割態様を決定する実施例について
 5.データ圧縮装置のハードウェア構成例について
 6.本開示の構成のまとめ
  [1.機械学習モデルを用いたデータ圧縮処理において、可逆圧縮を実現するための基本構成について]
 まず、本開示の構成や処理の説明の前に、機械学習モデルを用いたデータ圧縮処理において、可逆圧縮を実現するための基本構成について説明する。
 先に説明したShenらが提案した圧縮システム、すなわち、非特許文献1("Lossless Compression of Curated Erythrocyte Images Using Deep Autoencoders for Malaria Infection Diagnosis" Published in 2016 Picture Coding Symposium 4-7 December 2016.Hongda Shen et al.)に開示された構成に基づいて説明する。
 非特許文献1に開示されたデータ圧縮構成の概要は以下の通りである。
 まず、機械学習モデルを用いた圧縮処理を実行するオートエンコーダを用いてデータから特徴量を抽出して特徴量圧縮データを生成する。
 さらに、特徴量圧縮データに基づく復元データと、入力データとの差分である残差データを計算し、残差データの圧縮データである残差圧縮データを生成する。
 最後に、特徴量圧縮データと残差圧縮データを含むデータを最終的な圧縮データとして生成する。
 この最終的な圧縮データは、機械学習モデルを用いた圧縮処理によって生成された特徴量圧縮データに、この特徴量圧縮データには含まれない残差圧縮データを追加したデータである。従って、最終的な圧縮データの復元処理により、圧縮処理前の元の入力データと同一の復元データを生成することが可能となる。すなわち、可逆圧縮が実現される。これにより、可逆性が強く求められる医療画像への適用が可能となった。
 図1を参照して、非特許文献1に開示されたShenらが提案したデータ圧縮装置の構成と処理について説明する。
 図1に示すデータ圧縮装置20は、機械学習モデルを用いたデータ圧縮処理を可逆圧縮処理として実行するデータ圧縮装置の構成例である。図1に示すデータ圧縮装置20は、入力データである圧縮対象データ10に対する圧縮処理を行なう。
 図1に示す圧縮対象データ10は、画像データである。なお、画像データは圧縮対象データ10の一例であり、圧縮対象データ10は画像データに限らず数値列データ等、様々なデータとすることができる。
 ここでは、圧縮対象データ10は図1に示すように50×50=2500画素の画像データであるとする。
 圧縮対象データ10は、まず、特徴量エンコーダ21に入力される。特徴量エンコーダ21は、圧縮対象データ10である画像データから取得される特徴量の圧縮データ、すなわち図1に示す特徴量圧縮データ11を生成する。
 画像データから取得する特徴量とは、例えば画像のエッジ情報、色情報、濃淡情報等の様々な情報である。
 特徴量エンコーダ21は、予め生成された機械学習モデル(以下、「学習モデル」として説明する)を利用して特徴量圧縮データ11を生成する。
 学習モデルは、様々なサンプルデータに基づいて予め生成された学習モデルであり、特徴量圧縮データを生成するための学習モデルである。この学習モデルには、例えば圧縮処理に適用するためのパラメータ情報等が含まれる。
 特徴量エンコーダ21は、この学習モデルを利用して特徴量圧縮データ11を生成する。
 図1に示す例では、2500画素の画像データを1500画素、1000画素、30画素の順に、順次、圧縮する例を示している。
 特徴量エンコーダ21は、最終的に30画素の画像に相当するデータ量を持つ特徴量圧縮データ11を生成する。
 特徴量エンコーダ21の生成した特徴量圧縮データ11は、特徴量デコーダ22に入力される。特徴量デコーダ22は、特徴量エンコーダ21と同様、予め生成された学習モデルを利用して特徴量圧縮データ11の復元処理(伸長処理)を実行する。
 学習モデルは、様々なサンプルデータに基づいて生成された特徴量復元(伸長)データを生成するための学習モデルであり、復元処理に適用するためのパラメータ情報を有する学習モデルである。
 特徴量デコーダ22は、この学習モデルを適用したデータ復元処理を行ない、特徴量復元(伸長)データ12、すなわち50×50=2500画素の特徴量復元画像を生成する。
 この特徴量復元(伸長)データ12は、圧縮前の圧縮対象データ10と類似する画像となるが、完全に同一の画像とはならない。
 この理由は、特徴量エンコーダ21が圧縮対象データ10から選択した特徴量のみを用いて特徴量圧縮データ11を生成し、特徴量デコーダ22が、この特徴量圧縮データ11を復元して特徴量復元(伸長)データ12を生成しているからである。すなわち、特徴量復元(伸長)データ12には、特徴量として選択されなかった情報が含まれない。
 このように、特徴量復元(伸長)データ12は、圧縮前の圧縮対象データ10と異なってしまい、学習モデルを用いたデータ圧縮処理では、可逆圧縮処理を実現できない。
 図1に示すデータ圧縮装置20は、可逆圧縮処理を実現するため、さらに、以下の処理を実行する。
 まず、差分算出部23において、特徴量復元(伸長)データ12と、圧縮対象データ10との差分、すなわち残差データ13を算出する。
 次に、残差エンコーダ24が残差データ13の圧縮処理を実行する。
 残差エンコーダ24の実行するデータ圧縮処理は、学習モデルを適用した圧縮処理ではなく、可逆性が保証された圧縮処理である。具体的には、例えば辞書式の圧縮処理や、ゴロム符号化処理等のエントロピー符号化処理を適用した圧縮処理を実行する。
 残差エンコーダ24は、残差データ13の圧縮処理により残差圧縮データ14を生成する。
 次に、出力用圧縮データ生成部(ビットストリーム生成部)25が、
 (a)特徴量エンコーダ21が生成した特徴量圧縮データ11、
 (b)残差エンコーダ24が生成した残差圧縮データ14、
 これら2つの圧縮データを入力して、これらを組み合わせた出力用圧縮データ15を生成する。
 出力用圧縮データ15は、上記(a),(b)の各圧縮データの組データ、すなわち、特徴量圧縮データ+残差圧縮データである。
 この出力用圧縮データ15が、例えば通信部26を介して外部装置に送信される。あるいは記憶部27に格納される。
 出力用圧縮データ15は、学習モデルを適用して圧縮処理された特徴量圧縮データ11と、特徴量圧縮データ11に含まれない残差データ13の圧縮データである残差圧縮データ14を含む圧縮データであり、この出力用圧縮データ15を用いた復元処理(伸長処理)により、圧縮前の圧縮対象データ10(入力画像)と同一のデータを再現することが可能となる。
 すなわち可逆圧縮処理が実現される。
 次に、出力用圧縮データ15を入力して復元処理を実行するデータ復元装置の構成と処理について図2を参照して説明する。
 図2に示すデータ復元装置50は、例えばネットワークを介して、図1に示すデータ圧縮装置20が生成した出力用圧縮データ15を受信して復元処理(伸長処理)を実行する。
 図2に示すデータ復元装置50は、通信部51を介して、図2に示す出力用圧縮データ(特徴量圧縮データ+残差圧縮データ)61を入力する。
 この出力用圧縮データ61は、図1に示すデータ圧縮装置20が生成した出力用圧縮データ15に対応する。
 出力用圧縮データ61は、データ分離部52に入力され、特徴量圧縮データ62と、残差圧縮データ63に分離される。
 特徴量圧縮データ62は、特徴量デコーダ53に入力される。
 特徴量デコーダ53は、先に図1を参照して説明したデータ圧縮装置20の特徴量デコーダ22と同様、予め生成された学習モデルを利用して特徴量圧縮データ62の復元処理(伸長処理)を実行する。
 学習モデルは、様々なサンプルデータに基づいて生成された特徴量復元(伸長)データを生成するための学習モデルであり、復元処理に適用するためのパラメータ情報を有する学習モデルである。
 特徴量デコーダ53は、この学習モデルを適用したデータ復元処理を行ない、特徴量復元(伸長)データ64、すなわち50×50=2500画素の特徴量復元画像を生成する。
 一方、データ分離部52が分離した残差圧縮データ63は、残差デコーダ54に入力される。
 残差デコーダ54は、残差圧縮データ63に対する復元処理(伸長処理)を実行する。この残差デコーダ54の実行する復元処理は、先に図1を参照して説明したデータ圧縮装置20の残差エンコーダ24の実行するデータ圧縮処理に対応するデータ復元処理であり、可逆性を持つ圧縮データの復元処理として実行される。
 残差デコーダ54は、残差圧縮データ63に対する復元処理(伸長処理)により、残差データ65を生成する。
 この残差データ65は、図1に示す残差データ13と同一のデータである。
 特徴量デコーダ53が生成した特徴量復元(伸長)データ64と、残差デコーダ54の生成した残差データ65は、合成部55に入力される。
 合成部55は、特徴量復元(伸長)データ64と、残差データ65の合成処理を実行して、復元(伸長)データ66を生成する。
 この復元(伸長)データ66は、図1に示すデータ圧縮装置20が入力した圧縮処理前の圧縮対象データ10と同一のデータとなる。
 すなわち、図1に示すデータ圧縮装置20の生成した圧縮データ(出力用圧縮データ50)に対して、図2に示すデータ復元装置50が実行する復元処理により、圧縮前のデータ(圧縮対象データ10)と同一の復元(伸長)データ66を生成することが可能となり、可逆圧縮が実現される。
 しかし、この図1、図2を参照して説明したデータ圧縮、復元処理手法、すなわち機械学習モデルを用いた可逆圧縮手法には圧縮率が低下してしまうという問題がある。
 前述したように、図1に示すデータ圧縮装置20の生成する最終出力である出力用圧縮データ15は、
 (a)特徴量エンコーダ21が生成した特徴量圧縮データ11、
 (b)残差エンコーダ24が生成した残差圧縮データ14、
 これら2つの圧縮データを組み合わせた圧縮データである。
 (b)残差エンコーダ24は、可逆圧縮処理により残差圧縮データ14を生成しているため、残差圧縮データ14のデータ量が大きくなってしまう傾向がある。
 この結果、上記の(a)のデータ、すなわち、特徴量エンコーダ21が学習モデルを適用して生成した特徴量圧縮データ11のデータ量を小さくしても、最終的な出力用圧縮データ15に含まれる上記(b)のデータ、すなわち、残差エンコーダ24が生成した残差圧縮データ14の影響で、最終的な出力用圧縮データ15のデータ量が大きくなり、圧縮効率が低下してしまうという問題がある。
 前述したように、残差エンコーダ24は、例えば、数値の出現頻度を利用するエントロピー符号を用いて残差データの圧縮を行なう。
 図1に示すデータ圧縮装置20の残差エンコーダ24が生成する残差圧縮データ14のデータ量について考察する。
 残差エンコーダ24は、残差データ13の圧縮処理を行なう。残差データ13は、差分算出部23において算出された圧縮対象データ(入力画像)10と特徴量復元データ(特徴量復元画像)12の対応画素各々の差分画素値に相当する。
 例えば、一例として、圧縮対象データ(入力画像)10と特徴量復元データ(特徴量復元画像)12の各画素値が32bitのint型(整数型)のデータであるとする。
 この場合、各画素の残差データの値は、
 -2,147,483,648(-232)~2,147,483,647(232-1)
 このような広範囲の値に設定される可能性がある。
 このように各画素の残差データが極めて広範囲の値に広がる可能性があると、数値の出現頻度に偏りが発生しづらく、エントロピー符号の圧縮率が向上しない。
 すなわち、残差エンコーダ24が生成する残差圧縮データ14のデータ量が大きくなる。
 従って、図1に示すデータ圧縮装置20の特徴量エンコーダ21において実行される学習モデルを適用した圧縮処理が高い圧縮率を実現したとしても、残差データが圧縮しづらいデータである限り、最終出力である出力用圧縮データ15のデータ量を大幅に削減することは困難となる。
 また、非特許文献1に記載のShenらの手法は、特徴量エンコーダ21における特徴量圧縮処理に適用する学習モデルの生成手法、すなわち学習方法にも課題がある。
 図1に示すデータ圧縮装置20の最終出力である出力用圧縮データ15は、残差圧縮データが大半を占めており、この残差圧縮データをいかに少なくするかが圧縮率向上の鍵となる。従って、本来は残差データの圧縮効率を高めることを考慮して学習モデルを最適化するべきである。
 しかし、非特許文献1に記載の学習モデルは、圧縮対象データ10と、特徴量復元(伸長)データ12との誤差を最小化するモデル、つまり、抽出される特徴の質を向上させるような学習モデルであり、残差データの圧縮効率については考慮されていない。結果として、最終出力である出力用圧縮データ15中の残差圧縮データのデータ量が大きくなってしまっている。
 特徴量エンコーダ21において生成される特徴量圧縮データ11のデータサイズは、圧縮対象データ10の特徴の質に関わらず一定であり、圧縮率向上という観点では、残差圧縮データのデータ量削減が鍵であり、改善の余地があると考えられる。
  [2.学習モデルを利用した特徴量圧縮処理と、残差データ圧縮処理を併用したデータ圧縮、およびデータ復元処理の構成と処理シーケンスについて]
 次に、学習モデルを利用した特徴量圧縮処理と、残差データ圧縮処理を併用したデータ圧縮、およびデータ復元処理の構成と処理シーケンスについて説明する。
 非特許文献1に記載された構成について、図1、図2を参照して説明したが、次に、図3以下を参照して、学習モデルを利用した特徴量圧縮処理と、残差データ圧縮処理を併用したデータ圧縮、およびデータ復元の構成と処理シーケンスについて説明する。
 図3は、学習モデルを利用した特徴量圧縮処理と、残差データ圧縮処理を併用したデータ圧縮処理を行なうデータ圧縮装置100の構成例を示す図である。
 図3に示すデータ圧縮装置100は、学習モデル適用特徴量圧縮部101、学習モデル適用特徴量復元部102、差分算出部103、残差エンコーダ104、出力用圧縮データ生成部(ビットストリーム生成部)105、および学習モデル格納部110を有する。
 図3に示すデータ圧縮装置100は、圧縮対象データである入力データ121を学習モデル適用特徴量圧縮部101に入力する。
 学習モデル適用特徴量圧縮部101は、学習モデル格納部110に格納された学習モデルを適用して、入力データ121から取得される特徴量の圧縮データ、すなわち特徴量圧縮データ122を生成する。
 学習モデル格納部110に格納された学習モデルは、様々なサンプルデータに基づいて生成された特徴量圧縮データを生成するための学習モデルであり、圧縮処理に適用するためのパラメータ情報等を有する学習モデルである。
 学習モデル適用特徴量圧縮部101は、この学習モデルを利用して特徴量圧縮データ122を生成する。
 学習モデル適用特徴量圧縮部101の生成した特徴量圧縮データ122は、学習モデル適用特徴量復元部102に入力される。学習モデル適用特徴量復元部102も、学習モデル格納部110に格納された学習モデルを適用して、特徴量圧縮データ122の復元処理(伸長処理)を実行し、特徴量復元(伸長)データ123を生成する。
 学習モデル適用特徴量復元部102が利用する学習モデルは、様々なサンプルデータに基づいて生成された特徴量復元(伸長)データを生成するための学習モデルであり、復元処理に適用するためのパラメータ情報を有する学習モデルである。
 学習モデル適用特徴量復元部102は、学習モデルを適用したデータ復元処理を行ない、特徴量復元(伸長)データ123を生成する。
 学習モデル適用特徴量復元部102が生成した特徴量復元(伸長)データ123は、差分算出部1103に入力される。
 差分算出部103は、学習モデル適用特徴量復元部102が生成した特徴量復元(伸長)データ123と、圧縮処理前の入力データ121との差分、すなわち残差データ124を算出する。
 差分算出部103が算出した残差データ124は、残差エンコーダ104に入力される。
 残差エンコーダ104は、残差データ124の圧縮処理を実行して、残差圧縮データ125を生成する。
 残差エンコーダ104の実行するデータ圧縮処理は、学習モデルを適用した圧縮処理ではなく、可逆性が保証された圧縮処理である。具体的には、例えば辞書式の圧縮処理や、ゴロム符号化処理等のエントロピー符号化処理を適用した圧縮処理を実行する。
 しかし、先に図1を参照して説明したように、この残差エンコーダ104の実行するデータ圧縮処理では、十分なデータ量削減が実現されないという問題がある。
 すなわち、例えば、圧縮対象データ(入力データ)121の各要素値が32bitのint型(整数型)のデータであるとすると、特徴量復元データ123との残差データは、-2,147,483,648(-232)から2,147,483,647(232-1)の広範囲の値を取り得る。このように残差データの各要素が極めて広範囲の値に広がる可能性があると、数値の出現頻度に偏りが発生しづらく、エントロピー符号の圧縮率が向上しない。
 すなわち、残差エンコーダ104が生成する残差圧縮データ125のデータ量が大きくなってしまう。
 残差エンコーダ104が生成した残差圧縮データ125は、出力用圧縮データ生成部(ビットストリーム生成部)105に入力される。
 出力用圧縮データ生成部(ビットストリーム生成部)105は、
 (a)学習モデル適用特徴量圧縮部101の生成した特徴量圧縮データ122、
 (b)残差エンコーダ104が生成した残差圧縮データ125、
 これら2つの圧縮データを入力して、これらを組み合わせた出力用圧縮データ126を生成する。
 出力用圧縮データ126は、上記(a),(b)の各圧縮データの組データ、すなわち、特徴量圧縮データ+残差圧縮データである。
 この出力用圧縮データ126が、例えば通信部を介して外部装置に送信される。あるいは記憶部に格納される。
 出力用圧縮データ126は、学習モデルを適用して圧縮処理された特徴量圧縮データ122と、特徴量圧縮データ122に含まれない残差データ124の圧縮データである残差圧縮データ125を含む圧縮データであり、この出力用圧縮データ126を用いた復元処理(伸長処理)により、圧縮前の入力データ121と同一のデータを再現することが可能となる。すなわち可逆圧縮処理が実現される。
 次に、図4に示すフローチャートを参照して、図3に示すデータ圧縮装置100が実行するデータ圧縮処理のシーケンスについて説明する。
 図4に示すフローの各ステップの処理について、順次、説明する。
  (ステップS101)
 まず、データ圧縮装置100は、ステップS101において、圧縮対象データを入力する。
  (ステップS102)
 次に、データ圧縮装置100は、ステップS102において、学習モデル(特徴量圧縮用学習モデル、特徴量復元用学習モデル)を取得する。
  (ステップS103)
 次に、データ圧縮装置100は、ステップS103において、入力データ(圧縮対象データ)に対して、特徴量圧縮用学習モデルを適用した圧縮処理を実行して特徴量圧縮データを生成する。
 この処理は、図3に示すデータ圧縮装置100の学習モデル適用特徴量圧縮部101が実行する処理である。
  (ステップS104)
 次に、データ圧縮装置100は、ステップS104において、ステップS103で生成した特徴量圧縮データに対して、特徴量復元用学習モデルを適用した復元処理を実行して特徴量復元データを生成する。
 この処理は、図3に示すデータ圧縮装置100の学習モデル適用特徴量復元部102が実行する処理である。
  (ステップS105)
 次に、データ圧縮装置100は、ステップS105において、入力データ(圧縮対象データ)と、ステップS104で生成した特徴量復元データとの差分(残差)を算出する。
 この処理は、図3に示すデータ圧縮装置100の差分算出部103が実行する処理である。
  (ステップS106)
 次に、データ圧縮装置100は、ステップS106において、ステップS105で算出した差分(残差)に対する圧縮処理を実行して、残差圧縮データを生成する。
 この処理は、図3に示すデータ圧縮装置100の残差エンコーダ104が実行する処理である。
 しかし、先に説明したように、この残差エンコーダ104の実行するデータ圧縮処理では十分なデータ量削減が実現されない、すなわち圧縮効率が悪いという問題がある。
  (ステップS107)
 最後に、データ圧縮装置100は、ステップS107において、ステップS103で学習モデル適用特徴量圧縮部101が生成した特徴量圧縮データと、ステップS106で残差エンコーダ104が生成した残差圧縮データを組み合わせて、出力用圧縮データを生成する。
 この処理は、図3に示すデータ圧縮装置100の出力用圧縮データ生成部105が実行する処理である。
 出力用圧縮データ生成部105が生成する出力用圧縮データは、ステップS103で学習モデル適用特徴量圧縮部101が生成した特徴量圧縮データと、ステップS106で残差エンコーダ104が生成した残差圧縮データを組み合わせたデータである。
 この出力用圧縮データには、残差エンコーダ104が生成した圧縮効率の悪い残差圧縮データが含まれるため、データ量が大きくなってしまう。
 次に、図5を参照して、図3に示すデータ圧縮装置100が生成した出力用圧縮データ105を入力して復元処理を実行するデータ復元装置150の構成について説明する。
 図5に示すように、データ復元装置150は、データ分離部151、学習モデル適用特徴量復元部152、残差デコーダ153、合成部154、さらに学習モデル格納部160を有する。
 図5に示すデータ復元装置150は、例えばネットワークを介して、図3に示すデータ圧縮装置100が生成した出力用圧縮データ171(=図3に示す出力用圧縮データ126)を受信して復元処理(伸長処理)を実行する。
 復元処理対象データである出力用圧縮データ171は、図5に示すデータ復元装置150のデータ分離部151に入力される。
 データ分離部151は、出力用圧縮データ171に含まれる2種類の圧縮データ、すなわち、特徴量圧縮データ172と、残差圧縮データ173との分離処理を行なう。
 特徴量圧縮データ172は、学習モデル適用特徴量復元部152に入力される。
 学習モデル適用特徴量復元部152は、先に図3を参照して説明したデータ圧縮装置100の学習モデル適用特徴量復元部102と同様、予め生成された学習モデルを利用して特徴量圧縮データ172の復元処理(伸長処理)を実行する。
 学習モデルは、様々なサンプルデータに基づいて生成された特徴量復元(伸長)データを生成するための学習モデルであり、復元処理に適用するためのパラメータ情報を有する学習モデルである。
 学習モデル適用特徴量復元部152は、この学習モデルを適用したデータ復元処理を行ない、特徴量復元(伸長)データ174を生成する。
 一方、データ分離部151が分離した残差圧縮データ173は、残差デコーダ153に入力される。
 残差デコーダ153は、残差圧縮データ173に対する復元処理(伸長処理)を実行する。この残差デコーダ153の実行する復元処理は、先に図3を参照して説明したデータ圧縮装置100の残差エンコーダ104の実行するデータ圧縮処理に対応するデータ復元処理であり、可逆性を持つ圧縮データの復元処理として実行される。
 残差デコーダ153は、残差圧縮データ173に対する復元処理(伸長処理)により、残差データ175を生成する。
 この残差データ175は、図3に示す残差データ124と同一のデータである。
 学習モデル適用特徴量復元部152が生成した特徴量復元(伸長)データ174と、残差デコーダ153の生成した残差データ175は、合成部154に入力される。
 合成部154は、特徴量復元(伸長)データ174と、残差データ175の合成処理を実行して、復元(伸長)データ176を生成する。
 この復元(伸長)データ176は、図3に示すデータ圧縮装置100が入力した圧縮処理前の圧縮対象データである入力データ121と同一のデータとなる。
 このように、図3に示すデータ圧縮装置100の生成した圧縮データ(出力用圧縮データ126)に対して、図5に示すデータ復元装置150が実行する復元処理により、圧縮前の入力データ121と同一の復元(伸長)データ175を生成することが可能となり、可逆圧縮が実現される。
 次に、図6に示すフローチャートを参照して、図5に示すデータ復元装置150が実行するデータ復元処理のシーケンスについて説明する。
 図6に示すフローの各ステップの処理について、順次、説明する。
  (ステップS121)
 まず、データ復元装置150は、ステップS121において、復元対象データを入力する。
 入力する復元対象データは、特徴量圧縮データと、残差圧縮データによって構成されたデータである。
  (ステップS122)
 次に、データ復元装置150は、ステップS122において、ステップS121で入力した復元対象データを特徴量圧縮データと、残差圧縮データに分離する。
 この処理は、図5に示すデータ復元装置150のデータ分離部151が実行する処理である。
  (ステップS123)
 次に、データ復元装置150は、ステップS123において、学習モデル(特徴量復元用学習モデル)を取得する。
  (ステップS124)
 次に、データ復元装置150は、ステップS124において、ステップS122のデータ分離処理において、入力データから分離された特徴量圧縮データに対して、特徴量復元用学習モデルを適用した復元処理を実行して特徴量復元データを生成する。
 この処理は、図5に示すデータ復元装置150の学習モデル適用特徴量復元部152が実行する処理である。
  (ステップS125)
 次に、データ復元装置150は、ステップS125において、ステップS122のデータ分離処理において、入力データから分離された残差圧縮データに対する復元処理(伸長処理)を実行して残差復元データを生成する。
 この処理は、図5に示すデータ復元装置150の残差デコーダ153が実行する処理である。
  (ステップS126)
 次に、データ復元装置150は、ステップS126において、ステップS124で生成した特徴量復元データと、ステップS125で生成した残差復元データの合成処理を実行して、出力用復元データを生成する。
 この復元(伸長)データは、図3に示すデータ圧縮装置100が入力した圧縮処理前の圧縮対象データである入力データ121と同一のデータとなる。
 このように、図3に示すデータ圧縮装置100の生成した圧縮データ(出力用圧縮データ126)に対して、図5に示すデータ復元装置150が実行する復元処理により、圧縮前のデータ(入力データ121)と同一の復元(伸長)データ175を生成することが可能となり、可逆圧縮が実現される。
 しかし、前述したように、この図3~図6を参照して説明したデータ圧縮、復元処理手法、すなわち機械学習モデルを用いた可逆圧縮手法では、図3に示すデータ圧縮装置100の生成する圧縮データ(出力用圧縮データ126)に含まれる残差圧縮データのデータ量が多くなり、圧縮効率が低下してしまうという問題がある。
  [3.学習モデルの生成シーケンスについて]
 次に、図7に示すフローチャートを参照して、図3に示すデータ圧縮装置100の学習モデル適用特徴量圧縮部101、学習モデル適用特徴量復元部102、さらに、図5に示すデータ復元装置150の学習モデル適用特徴量復元部151が利用する学習モデルの生成シーケンスについて説明する。
 図7に示すフローチャートの各ステップの処理について、順次、説明する。
 なお、図7に示すフローに従った処理は、図3に示すデータ圧縮装置100や図5に示すデータ復元装置150、あるいはその他の装置において実行可能であり、図7に示すフローに従った処理によって生成、更新された学習モデルが図3に示すデータ圧縮装置100の学習モデル格納部110や、図5に示すデータ復元装置150の学習モデル格納部160に格納される。
  (ステップS151)
 まず、ステップS151において、ひな形としての学習モデルを入力する。
 ひな形となる学習モデルには、特徴量圧縮データを生成するための圧縮処理用学習モデルと、特徴量圧縮データから復元データを生成するための復元処理用学習モデルが含まれる。
 圧縮処理用学習モデルには圧縮処理に適用する様々なパラメータが含まれ、復元処理用学習モデルには復元処理に適用する様々なパラメータが含まれる。
 初期的なひな形の学習モデルのパラメータは、任意の値に設定可能である。
  (ステップS152)
 次に、ステップS152において、ステップS151で入力した学習モデルの損失関数を定義する。
 損失関数は、学習モデルの性能を定量的に評価するための関数である。
 具体的には、例えば、学習モデルを適用したデータ処理を実行するデータ処理部に対する入力と出力の距離を測る指標値算出関数、例えば二乗誤差の算出関数や、クロスエントロピー誤差算出関数等が用いられる。
  (ステップS153)
 次に、ステップS153において、ステップS152で定義した損失関数を用いて、ステップS151で入力した現在の学習モデルのパラメータの評価を行う。
 具体的には、入力データから特徴量を抽出し、抽出された特徴量から復元したデータと入力データとの乖離の度合いを損失関数により評価する。
 例えば、復元データと入力データとの乖離が少ないほど損失が小さい(評価値が高い)値が算出される損失関数を定義して、この損失関数を用いて学習モデルのパラメータの評価を行う。
  (ステップS154~S155)
 次に、ステップS154において、ステップS153で算出した評価値に基づいてパラメータの更新量を計算し、ステップS155において、計算結果に基づくパラメータの更新を行う。
 これらのパラメータの評価と更新処理は、予め規定した回数、繰り返して実行する。
  (ステップS156)
 ステップS156において、ステップS154~S155のパラメータ評価と更新処理が、予め規定した回数に達したと判定されると、ステップS157に進む。
  (ステップS157)
 最後に、ステップS157において、ステップS154~S155のパラメータ評価と更新処理の規定回数文の繰り返し処理によって、最終的に更新されたパラメータを設定した学習モデルを生成して学習モデル格納部(図3の学習モデル格納部110、図5の学習モデル格納部160)に格納する。
 このようにして生成された学習モデルが、図3に示すデータ圧縮装置100の学習モデル適用特徴量圧縮部101、学習モデル適用特徴量復元部102、さらに、図5に示すデータ復元装置150の学習モデル適用特徴量復元部151において利用され、特徴量の圧縮、復元処理が行われる。
 ただし、前述したように、この学習モデルは、圧縮対象データと、特徴量復元(伸長)データとの誤差を最小化するモデル、つまり、抽出される特徴の質を向上させるような学習モデルであり、残差データの圧縮しやすさについては考慮されていない。
 すなわち、図3に示すデータ圧縮装置100の最終出力である出力用圧縮データ126に含まれる残差圧縮データのデータ量については考慮されていないため、圧縮効率の向上に寄与する学習モデルとはならないという問題がある。
  [4.本開示の学習モデルを利用した特徴量圧縮処理と、残差データ圧縮処理を併用したデータ圧縮装置の構成とデータ圧縮処理シーケンスについて]
 次に、本開示の学習モデルを利用した特徴量圧縮処理と、残差データ圧縮処理を併用したデータ圧縮装置の構成とデータ圧縮処理シーケンスについて説明する。
 図1~図7を参照して説明したように、既存の学習モデルを用いた可逆圧縮手法には、以下の問題がある。
 (1)残差データの圧縮効率が悪い
 (2)学習モデルの学習方法が最適でない
 これら2点の問題点が存在する。
 上記問題点の発生する要因は以下のように解析できる。
 (1)残差データの圧縮効率が悪い
 この問題点は、具体的には、
 (1)残差データの各要素が広い範囲の値を取りうるために、既存の辞書式の圧縮やエントロピー符号の圧縮が効きづらい、
 このような要因によって発生している。
 また、(2)学習モデルの学習方法が最適でない
 この問題点は、具体的には、
 (2)質の良い特徴を生成するようにモデルを学習しており、全体の圧縮率向上という本来の目的でモデルを学習していない、
 このような要因によって発生している。
 以下において説明する本開示のデータ圧縮装置は、これらの問題を解決するものである。
 本開示のデータ圧縮装置も、先に図1や図3を参照して説明したデータ圧縮装置と同様、学習モデルを利用した特徴量圧縮処理と、残差データ圧縮処理を併用したデータ圧縮処理を実行する。
 しかし、本開示のデータ圧縮装置は、残差データの圧縮処理態様を改良しており、図1や図3に示すデータ圧縮装置に比較して、残差圧縮データのデータ量が大きく削減される。結果として、最終出力となる出力用圧縮データ(特徴量圧縮データ+残差圧縮データ)のデータサイズを小さくする可逆圧縮処理を実現している。
 なお、本開示のデータ圧縮装置の実施例として、以下の複数の実施例について、順次、説明する。
  (実施例1)残差データの圧縮処理に際して、残差データの各要素を数ビット(bit)単位のブロックに分割し、ブロック単位で圧縮処理を行なうデータ圧縮装置の実施例、
  (実施例2)圧縮効率を高める残差データ、すなわち、より小さなデータ量の残差圧縮データを生成可能とするための残差データを生成する学習モデルを生成する実施例、
  (実施例3)圧縮効率を高める残差データの最適なブロック分割態様の決定処理、すなわち、より小さなデータ量の残差圧縮データを生成可能とするブロック分割態様を決定する実施例
  [4-1.(実施例1)残差データの圧縮処理に際して、残差データの各要素を数ビット(bit)単位のブロックに分割し、ブロック単位で圧縮処理を行なうデータ圧縮装置の実施例について]
 まず、(実施例1)として、残差データの圧縮処理に際して、残差データの各要素を数ビット(bit)単位のブロックに分割し、ブロック単位で圧縮処理を行なうデータ圧縮装置の実施例について説明する。
 この(実施例1)は、残差データを、の各要素を数ビット(bit)単位のブロックに分割し、分割ブロック単位の圧縮処理を行なうことで、各ブロックの数値の取り得る範囲を狭め、数値の出現規則や頻度を用いた圧縮効率を向上させて残差圧縮データのデータ量を削減する構成としたものである。
 本開示の実施例1のデータ圧縮装置200の構成例を図8に示す。
 図8に示す本開示のデータ圧縮装置200は、先に説明した図1や図3のデータ圧縮装置と同様、学習モデルを利用した特徴量圧縮処理と、残差データ圧縮処理を併用したデータ圧縮処理を行なう。
 図8に示すデータ圧縮装置200は、学習モデル適用特徴量圧縮部201、学習モデル適用特徴量復元部202、差分算出部203、残差データブロック分割部204、残差分割ブロック単位エンコーダ205、出力用圧縮データ生成部(ビットストリーム生成部)206、および学習モデル格納部210を有する。
 図8に示すデータ圧縮装置200は、圧縮対象データである入力データ221を学習モデル適用特徴量圧縮部201に入力する。
 学習モデル適用特徴量圧縮部201は、学習モデル格納部210に格納された学習モデルを適用して、入力データ221から取得される特徴量の圧縮データ、すなわち特徴量圧縮データ222を生成する。
 学習モデル格納部210に格納された学習モデルは、様々なサンプルデータに基づいて生成された特徴量圧縮データを生成するための学習モデルであり、圧縮処理に適用するためのパラメータ情報を有する学習モデルである。
 学習モデル適用特徴量圧縮部201は、この学習モデルを利用して特徴量圧縮データ222を生成する。
 なお、学習モデル適用特徴量圧縮部201の生成する圧縮処理は非可逆圧縮処理である。
 学習モデル適用特徴量圧縮部201の生成した特徴量圧縮データ222は、学習モデル適用特徴量復元部202に入力される。学習モデル適用特徴量復元部202も、学習モデル格納部210に格納された学習モデルを適用して、特徴量圧縮データ222の復元処理(伸長処理)を実行し、特徴量復元(伸長)データ223を生成する。
 学習モデル適用特徴量復元部202が利用する学習モデルは、様々なサンプルデータに基づいて生成された特徴量復元(伸長)データを生成するための学習モデルであり、復元処理に適用するためのパラメータ情報を有する学習モデルである。
 学習モデル適用特徴量復元部202は、学習モデルを適用したデータ復元処理を行ない、特徴量復元(伸長)データ223を生成する。
 学習モデル適用特徴量復元部202が生成した特徴量復元(伸長)データ223は、差分算出部203に入力される。
 差分算出部203は、学習モデル適用特徴量復元部202が生成した特徴量復元(伸長)データ223と、圧縮処理前の入力データ221との差分、すなわち残差データ224を算出する。
 差分算出部203が算出した残差データ224は、残差データブロック分割部204に入力される。
 残差データブロック分割部204は、差分算出部203が算出した残差データ224を、複数のブロックに分割し、図に示す複数(n個)の残差分割ブロック-n,225-1~nを生成する。
 図9を参照して、残差データブロック分割部204の実行する処理の具体例について説明する。
 図8に示す入力データ221を4画素の画像データと仮定する。この仮定において、残差データブロック分割部204に入力する残差データ224が、図9に示す4画素a~d各々の残差データによって構成されているとする。
 図9に示す残差データ224は、画素a~d各々の残差データによって構成されている。これらは、差分算出部203において算出された入力データ221と特徴量復元データ223の4つの対応画素a~d各々の差分画素値に相当する。
 図9に示すように、4画素a~d各々の残差データは、以下の通りである。
 画素aの残差(差分画素値)=271
 画素bの残差(差分画素値)=15
 画素cの残差(差分画素値)=29
 画素dの残差(差分画素値)=97
 図9には、この各数値に対応する2進ビット列(32ビット)を示している。
 図9に示す例は、入力データ221と特徴量復元データ223の各画素値が32bitのint型(整数型)のデータであると仮定しており、画素a~d各々の残差データも2進ビット列(32ビット)として示している。
 残差データブロック分割部204は、これらの32ビットのビット列を複数のブロックに分割する。
 残差データブロック分割部204は、残差データの全要素(全画素)について、同一区切り位置でビット列を区切り、同一区切り位置内の全要素の構成データを1つの残差分割ブロックの構成データとして、複数の残差分割ブロックを生成する。
 具体的には、例えば図9に示すように残差データ224の全要素(全画素)について、最上位ビットから最下位ビットまで8ビット単位の4つのブロックに分割する。なお、図9に示す例では、1ブロック当たりのビット数、すなわち分割ビット数=8ビットとしているが、これは、一例であり、様々な分割態様が可能である。
 例えば、16ビット単位の2ブロックに分割する設定、あるいは上位ビットから15ビット、次の10ビット、最後の7ビット等、異なるビット数で分割する設定としてもよい。
 なお、分割ビット数の最適化処理については、後述する実施例3において説明する。
 図9に示す例では、残差データブロック分割部204は、各画素a~dの残差データ(271,15,29,32)の32ビットデータを、上位ビットから下位ビットまで、8ビット単位の4つのブロックに分割し、4つの残差分割ブロック1,225-1~残差分割ブロック4,225-4を生成している。
 残差分割ブロック1,225-1は、画素a~dの残差データ各々の最上位ビットから8ビットのデータによって構成される残差分割ブロックである。
 残差分割ブロック2,225-2は、画素a~dの残差データ各々の上位から9ビット~16ビットの8ビットデータによって構成される残差分割ブロックである。
 残差分割ブロック3,225-3は、画素a~dの残差データ各々の上位から17ビット~24ビットの8ビットデータによって構成される残差分割ブロックである。
 残差分割ブロック4,225-4は、画素a~dの残差データ各々の上位から25ビット~32ビットの8ビットデータ(=下位8ビットデータ)によって構成される残差分割ブロックである。
 先に図3を参照して説明したように、従来のデータ圧縮装置100の残差エンコーダ104は、これらの32ビット数値列に対して、辞書式の圧縮処理や、ゴロム符号化処理等のエントロピー符号を実行するが、残差エンコーダ104の実行するデータ圧縮処理では、十分なデータ量削減が実現されないという問題があった。
 すなわち、各画素の残差データは、-2,147,483,648(-232)から2,147,483,647(232-1)の広範囲の値を取る可能性があり、このように各画素の残差データが極めて広範囲の値に広がると、数値の出現頻度に偏りが発生しづらく、エントロピー符号の圧縮率が向上しない。
 この問題を解決するため、図8に示す本開示のデータ圧縮装置200は、以下の処理を行なう構成としている。
 残差データブロック分割部204が、各画素a~dの残差データ(271,15,29,32)の32ビットデータを、上位ビットから下位ビットまで、複数(図9に示す例では4つ)のブロックに分割する。
 図9に示す例では、4つの残差分割ブロック1,225-1~残差分割ブロック4,225-4を生成する。
 さらに、次の残差分割ブロック単位エンコーダ205が、これらの複数の残差分割ブロック単位で圧縮処理を実行する。
 図8に示すように、残差データブロック分割部204が生成した複数の残差分割ブロック1,225-1~残差分割ブロックn,225-nは、残差分割ブロック単位エンコーダ205に入力される。
 残差分割ブロック単位エンコーダ205は、これらの複数の残差分割ブロック1,225-1~残差分割ブロックn,225-nを個別に圧縮し、分割ブロック数に応じた残差分割ブロック圧縮データ-1,226-1~残差分割ブロック圧縮データ-n,226-nを生成する。
 残差分割ブロック単位エンコーダ205の実行する残差分割ブロック単位の圧縮処理例について、図10を参照して説明する。
 図10には、図9を参照して説明した残差データブロック分割部204の生成した4つの残差分割ブロック、すなわち、4画素a~dの残差データ(271,15,29,32)の32ビットデータを、上位ビットから下位ビットまで、8ビット単位で分割した4つの残差分割ブロック1,225-1~残差分割ブロック4,225-4を示している。
 残差分割ブロック単位エンコーダ205は、これら4つの残差分割ブロック1,225-1~残差分割ブロック4,225-4に対して、個別に圧縮処理(エンコード処理)を実行する。残差分割ブロック単位エンコーダ205は、残差分割ブロックごとに辞書式の圧縮やエントロピー符号による圧縮を行う。
 なお、残差分割ブロック単位エンコーダ205実行する圧縮処理は、残差分割ブロック単位の可逆圧縮処理である。
 この圧縮処理結果として、分割ブロック数に応じた残差分割ブロック圧縮データ-1,226-1~残差分割ブロック圧縮データ-4,226-4を生成する。
 各ブロックに含まれる各要素(各画素)のビット数は8ビットであり、この8ビットデータの数値の取り得る範囲は、先に図3等を参照して説明した従来方式よりも狭まることになる。
 先に図3を参照して説明したように、従来のデータ圧縮装置100の残差エンコーダ104は、これらの32ビット数値列に対して、辞書式の圧縮処理や、ゴロム符号化処理等のエントロピー符号を実行する。しかし、各画素の残差データは、-2,147,483,648(-232)から2,147,483,647(232-1)の広範囲の値を取る可能性があり、このように各画素の残差データが極めて広範囲の値に広がると、数値の出現頻度に偏りが発生しづらく、エントロピー符号の圧縮率が向上しない。
 これに対して、図8に示す本開示のデータ圧縮装置200では、圧縮処理対象となるデータを各画素の32ビットデータ列を8ビット単位で分割している。8ビットデータの取り得る数値範囲は、-128(-2)~127(2)と大幅に削減される。この結果、1つのブロックに同じ値(具体的にはビット値=0)が多数、含まれる確率を大幅に上げることができる。結果としてエントロピー符号化による圧縮効率が大幅に向上することになる。すなわちデータ圧縮効率が上がり、圧縮データのデータ量を小さくすることが可能となる。
 図10に示す各画素a~dの32ビットデータ列の4つのブロック中、上位ビットのブロックは、ほぼオール0の値である。このように全てのビットが0であるブロックは、圧縮データとして最小のビット数に削減することが可能となる。すなわち、各画素の残差データの値が小さい値である場合、上位ビットのブロックの圧縮データのデータ量を大幅に削減でき、圧縮率を向上させることができる。
 圧縮処理対象となるデータは、図8に示す差分算出部203が算出した残差データ224である。これは、学習モデル適用特徴量復元部202が生成した特徴量復元(伸長)データ223と、圧縮処理前の入力データ221との差分データである。
 この差分データは、大きな値をとる可能性は少なく、小さい値をとる可能性が大きい。この理由は、学習モデル適用特徴量圧縮部201や、学習モデル適用特徴量復元部202において実行するデータ圧縮、復元処理が学習モデルを利用した処理であり、この学習モデルが、入力と復元データを近づけるように設定された学習モデルであるからである。
 従って、図10に示すように各画素の上位ビットの多くは0に設定される可能性が高く、圧縮効率を大幅に向上させることができる。
 図8に戻り、本開示のデータ圧縮装置200の構成と処理について説明を続ける。
 図10を参照して説明したように、残差分割ブロック単位エンコーダ205は、残差データブロック分割部204から入力した複数の残差分割ブロック1,225-1~残差分割ブロックn,225-nを個別に圧縮し、分割ブロック数に応じた残差分割ブロック圧縮データ-1,226-1~残差分割ブロック圧縮データ-n,226-nを生成する。
 残差分割ブロック単位エンコーダ205が生成した複数の残差分割ブロック圧縮データ-1,226-1~残差分割ブロック圧縮データ-n,226-nは、出力用圧縮データ生成部(ビットストリーム生成部)206に入力される。
 出力用圧縮データ生成部(ビットストリーム生成部)206は、
 (a)学習モデル適用特徴量圧縮部201の生成した特徴量圧縮データ222、
 (b)残差分割ブロック単位エンコーダ205が生成した複数の残差分割ブロック圧縮データ-1,226-1~残差分割ブロック圧縮データ-n,226-n、
 これらの圧縮データを入力して、これらを組み合わせた出力用圧縮データ227を生成する。
 出力用圧縮データ227は、上記(a),(b)の各圧縮データの組データ、すなわち、特徴量圧縮データ+残差分割ブロック圧縮データである。
 この出力用圧縮データ227が、例えば通信部を介して外部装置に送信される。あるいは記憶部に格納される。
 出力用圧縮データ227は、学習モデルを適用して圧縮処理された特徴量圧縮データ222と、特徴量圧縮データ222に含まれない残差データ224の圧縮データである残差分割ブロック圧縮データ226を含む圧縮データであり、この出力用圧縮データ227を用いた復元処理(伸長処理)により、圧縮前の入力データ221と同一のデータを再現することが可能となる。すなわち可逆圧縮処理が実現される。
 次に、図11に示すフローチャートを参照して、図8に示すデータ圧縮装置200が実行するデータ圧縮処理のシーケンスについて説明する。
 図11に示すフローの各ステップの処理について、順次、説明する。
  (ステップS201)
 まず、データ圧縮装置200は、ステップS201において、圧縮対象データを入力する。
  (ステップS202)
 次に、データ圧縮装置200は、ステップS202において、学習モデル(特徴量圧縮用学習モデル、特徴量復元用学習モデル)を取得する。
  (ステップS203)
 次に、データ圧縮装置200は、ステップS203において、入力データ(圧縮対象データ)に対して、特徴量圧縮用学習モデルを適用した圧縮処理を実行して特徴量圧縮データを生成する。
 この処理は、図8に示すデータ圧縮装置200の学習モデル適用特徴量圧縮部201が実行する処理である。
  (ステップS204)
 次に、データ圧縮装置200は、ステップS204において、ステップS203で生成した特徴量圧縮データに対して、特徴量復元用学習モデルを適用した復元処理を実行して特徴量復元データを生成する。
 この処理は、図8に示すデータ圧縮装置200の学習モデル適用特徴量復元部202が実行する処理である。
  (ステップS205)
 次に、データ圧縮装置200は、ステップS205において、入力データ(圧縮対象データ)と、ステップS204で生成した特徴量復元データとの差分(残差)を算出する。
 この処理は、図8に示すデータ圧縮装置200の差分算出部203が実行する処理である。
  (ステップS206)
 次に、データ圧縮装置200は、ステップS206において、ステップS205で算出した残差データの分割ビット数を決定する。
 この処理は、図8に示すデータ圧縮装置200の残差データブロック分割部204が実行する処理である。
 残差データブロック分割部204は、ステップS205で算出した残差データの分割ビット数を決定する。具体的には、先に図9を参照して説明したように、上位ビットから8ビットずつのブロック等、予め規定された分割ビット数を用いる。
 あるいは、残差データの圧縮データを最小化するための最適な分割ビット数を算出して決定してもよい。この分割ビット数最適化処理については、後段の(実施例3)において説明する。
  (ステップS207)
 次に、データ圧縮装置200は、ステップS207において、ステップS206で決定した残差データの分割ビット数に応じて、残差データを分割し、複数の残差分割ブロックを生成する。
 この処理は、図8に示すデータ圧縮装置200の残差データブロック分割部204が実行する処理である。
 具体的には、例えば先に図9を参照して説明したように、上位ビットから8ビットずつの複数の残差分割ブロックを生成する。
  (ステップS208)
 次に、データ圧縮装置200は、ステップS208において、ステップS207で生成した複数の残差分割ブロック単位で圧縮処理を実行して、複数の残差分割ブロック圧縮データを生成する。
 この処理は、図8に示すデータ圧縮装置200の残差分割ブロック単位エンコーダ205が実行する処理である。
 残差分割ブロック単位エンコーダ205は、例えば先に図10を参照して説明したように、残差データブロック分割部204が生成した複数の残差分割ブロック単位で圧縮処理を実行して、複数の残差分割ブロック圧縮データを生成する。
  (ステップS209)
 最後に、データ圧縮装置200は、ステップS209において、ステップS203で学習モデル適用特徴量圧縮部201が生成した特徴量圧縮データと、ステップS208で残差分割ブロック単位エンコーダ205が生成した複数の残差分割ブロック圧縮データを組み合わせて、出力用圧縮データを生成する。
 この処理は、図8に示すデータ圧縮装置200の出力用圧縮データ生成部206が実行する処理である。
 先に説明したように、図8に示すデータ圧縮装置200の出力用圧縮データ生成部206が生成する出力用圧縮データ227は、学習モデルを適用して圧縮処理された特徴量圧縮データ222と、特徴量圧縮データ222に含まれない残差データ224の圧縮データである残差分割ブロック圧縮データ226を含む圧縮データである。
 この出力用圧縮データ227を用いた復元処理(伸長処理)により、圧縮前の入力データ221と同一のデータを再現することが可能となる。すなわち可逆圧縮処理が実現される。
  [4-2.(実施例2)圧縮効率を高める残差データ、すなわち、より小さなデータ量の残差圧縮データを生成可能とするための残差データを生成する学習モデルを生成する実施例について]
 次に、(実施例2)として、圧縮効率を高める残差データ、すなわち、より小さなデータ量の残差圧縮データを生成可能とするための残差データを生成する学習モデルを生成する実施例について説明する。
 なお、本実施例2に従って生成された学習モデルは、実施例1で説明した図8に示すデータ圧縮装置200において利用可能である。また、図11を参照して説明した処理フローに従ったデータ圧縮処理において利用可能である。
 すなわち、以下において説明する実施例2に従って生成される学習モデルは、図8に示すデータ圧縮装置200の学習モデル適用特徴量圧縮部201と、学習モデル適用特徴量復元部202において利用される学習モデルである。
 図8に示すデータ圧縮装置200の学習モデル適用特徴量圧縮部201は、学習モデル格納部210に格納された学習モデルを適用して、入力データ221から取得される特徴量の圧縮データ、すなわち特徴量圧縮データ222を生成する。
 学習モデル格納部210に格納された学習モデルは、様々なサンプルデータに基づいて生成された特徴量圧縮データを生成するための学習モデルであり、圧縮処理に適用するためのパラメータ情報を有する学習モデルである。
 学習モデル適用特徴量圧縮部201は、この学習モデルを利用して特徴量圧縮データ222を生成する。
 また、学習モデル適用特徴量復元部202も、学習モデル格納部210に格納された学習モデルを適用して、特徴量圧縮データ222の復元処理(伸長処理)を実行し、特徴量復元(伸長)データ223を生成する。
 学習モデル適用特徴量復元部202が利用する学習モデルは、様々なサンプルデータに基づいて生成された特徴量復元(伸長)データを生成するための学習モデルであり、復元処理に適用するためのパラメータ情報を有する学習モデルである。
 学習モデル適用特徴量復元部202は、学習モデルを適用したデータ復元処理を行ない、特徴量復元(伸長)データ223を生成する。
 実施例2は、これらの学習モデル適用特徴量圧縮部201や、学習モデル適用特徴量復元部202が利用する学習モデルの生成処理に関する実施例である。
 学習モデル適用特徴量圧縮部201や、学習モデル適用特徴量復元部202が利用する学習モデルを工夫することで、圧縮効率を向上させるものである。
 本実施例2について説明する前に、学習モデルの生成、更新処理を行なうための学習方法と、図8に示すデータ圧縮装置200を利用したデータ圧縮処理において発生する残差データ224の圧縮効率との関係について説明する。
 図8に示すデータ圧縮装置200を利用したデータ圧縮処理において、差分算出部203が生成する残差データ224は、学習モデル適用特徴量復元部202が生成した特徴量復元(伸長)データ223と、圧縮処理前の入力データ221との差分データである。
 学習モデル適用特徴量圧縮部201や、学習モデル適用特徴量復元部202が利用する学習モデルのパラメータは、学習モデル適用特徴量復元部202が生成した特徴量復元(伸長)データ223と、圧縮処理前の入力データ221との乖離度合いをどのように評価するかによって決定される。すなわち、学習モデル対応の損失関数をどのように定義するかによって異なるものとなる。
 例えば、先に図7を参照して説明した既存の学習モデルの生成、更新処理では、ステップS152で損失関数を定義して、ステップS153で定義した損失関数を用いて学習モデルのパラメータの評価を行っている。
 この既存システムにおけるパラメータ評価処理は、先に図7を参照して説明したように、特徴量から復元したデータと入力データとの乖離の度合いを損失関数により評価している。
 例えば、復元データと入力データとの乖離が少ないほど損失が小さい(評価値が高い)値が算出される損失関数を定義して、この損失関数を用いて学習モデルのパラメータの評価を行っている。
 一般的な学習モデルの生成、更新時に利用される学習モデルのパラメータの評価用の損失関数の代表例として、特徴量からの復元データと入力データとの乖離の度合いをと算出する誤差算出である二乗誤差算出関数が知られている。
 本実施例2では、学習モデル適用特徴量圧縮部201や、学習モデル適用特徴量復元部202が利用する学習モデルのパラメータの評価用の損失関数として、イプシロンーインセンシティブーロス(epsilon-insensitive loss)算出関数と呼ばれる誤差関数を用いる。
 図12を参照して、一般的な機械学習の学習に用いられる誤差関数である二乗誤差算出関数と、本実施例2において利用する誤差関数であるイプシロンーインセンシティブーロス(epsilon-insensitive loss)算出関数について説明する。
 図12には、以下の2つの誤差関数を示している。
 (1)二乗誤差算出関数
 (2)イプシロンーインセンシティブーロス(epsilon-insensitive loss)算出関数
 いずれのグラフも縦軸(y)が損失、横軸(x)が入出力データの差分(乖離度)を示している。
 なお、各グラフの横軸の入出力データの差分(乖離度)は、図8に示すデータ圧縮装置200の入力データ221と、特徴量復元データ223との差分、すなわち残差データ224に相当する。
 二乗誤差算出関数と、イプシロンーインセンシティブーロス(epsilon-insensitive loss)算出関数における損失(y)と、入出力データの差分(乖離度)(x)との関係式は以下の(式1)、(式2)として示すことができる。
Figure JPOXMLDOC01-appb-M000001
 なお、上記(式1),(式2)において、iは、残差データの構成要素の識別子である。例えば、圧縮対象データが画像である場合、画像構成画素の画素識別子である、
 学習モデルのパラメータを評価する損失関数として図12(1)に示す二乗誤差算出関数を用いた場合、入出力差、つまり、残差データの各要素の値が大きくなるほど損失が著しく大きくなる(評価値が著しく下がる)ことがわかる。
 つまり、損失関数として二乗誤差算出関数を用いた場合は、残差の各要素をできるだけ小さくするように学習モデルが生成、更新される。
 一方、学習モデルのパラメータを評価する損失関数として図12(2)に示すイプシロンーインセンシティブーロス(epsilon-insensitive loss)算出関数を用いた場合は、入出力差の絶対値、つまり、残差データの各要素の値が規定値(ε:イプシロン)よりも大きくなった場合に損失が大きくなる(評価値が下がる)ことがわかる。
 つまり、学習モデルのパラメータを評価する損失関数として図12(2)に示すイプシロンーインセンシティブーロス(epsilon-insensitive loss)算出関数を用いた場合は、残差データの各要素の値が規定値(ε:イプシロン)以内に収まるように学習モデルが生成、更新される。
 一例として、規定値(ε:イプシロン)の値を、
 ε=11111111
  =255
 とした場合について考察する。
 この場合、入出力差の絶対値、つまり、残差データの各要素の値が255(=11111111)以下となるように、学習モデルが生成、更新される。
 例えば、先に図9を参照して説明したように、入力データが画像であり、画像の構成画素が32ビットデータである場合、各要素である各画素の残差データの値が255(=11111111)以下となるように、学習モデルが生成、更新される。
 つまり、各画素の残差データの値が0~255(=00000000~11111111)以下、すなわち下位8ビットに値が収まるように学習モデルが生成、更新される。
 各要素の残差データの値が0~255(=00000000~11111111)以下、すなわち、下位8ビットに収まっていれば値の大小は問われないため、前述した二乗誤差算出関数を適用した場合より、値の大小に関する制約が少なくなる。
 前述した実施例1において説明した図8に示すデータ圧縮装置200では、先に図9、図10を参照して説明したように、残差分割ブロックの全てのビットが0となるブロックを多く作ることで圧縮効率が向上する。
 図9、図10を参照して説明したように、各要素(各画素)が32ビットデータである場合、各要素(各画素)の残差データを0~255(=00000000~11111111)の範囲、すなわち下位8ビットで表現可能な値に収束させることができれば、図9、図10に示す残差分割ブロック225-1~4の上位ビット側の3ブロックの構成ビットは全て0となる。
 このような設定とすることで、残差分割ブロックの圧縮効率を著しく高めることが可能となる。
 すなわち、学習モデルのパラメータを評価する損失関数として図12(2)に示すイプシロンーインセンシティブーロス(epsilon-insensitive loss)算出関数を用い、さらに、規定値(ε:イプシロン)を残差分割ブロックの最下位ビット側のブロックに含まれるビット数で表現可能な値として設定して、学習モデルを生成、更新する。
 このようにして生成、更新した学習モデルを図8に示すデータ圧縮装置200の学習モデル適用特徴量圧縮部201や、学習モデル適用特徴量復元部202において利用する学習モデルとして設定することで、残差データの各要素の値が最下位ビット側のブロックに含まれるビット数で収まる設定とすることが可能となる。
 この結果、残差分割ブロックの圧縮効率を著しく高めることが可能となり、図8に示す残差分割ブロックエンコーダ205が生成する残差分割ブロック圧縮データのデータ量を削減することが可能となり、最終的な出力用圧縮データ227のデータ量の削減が実現される。
 次に、図13に示すフローチャートを参照して、本実施例2における学習モデルの生成、更新シーケンスについて説明する。
 図13に示すフローチャートに従って生成、更新された学習モデルは、先に図8を参照して説明した(実施例1)のデータ圧縮装置200の学習モデル格納部210に格納され、学習モデル適用特徴量圧縮部201、学習モデル適用特徴量復元部202における特徴量データ圧縮、特徴量データ復元処理に利用される。
 なお、図13に示すフローに従った処理は、図8に示すデータ圧縮装置200、あるいはその他の装置において実行可能である。
 図13に示すフローチャートの各ステップの処理について、順次、説明する。
  (ステップS251)
 まず、ステップS251において、ひな形としての学習モデルを入力する。
 ひな形となる学習モデルには、特徴量圧縮データを生成するための圧縮処理用学習モデルと、特徴量圧縮データから復元データを生成するための復元処理用学習モデルが含まれる。
 圧縮処理用学習モデルには圧縮処理に適用する様々なパラメータが含まれ、復元処理用学習モデルには復元処理に適用する様々なパラメータが含まれる。
 初期的なひな形の学習モデルのパラメータは、任意の値を設定可能である。
  (ステップS252)
 次に、ステップS252において、ステップS251で入力した学習モデルの損失関数として用いるイプシロンーインセンシティブーロス(epsilon-insensitive loss)算出関数、すなわち、図12(2)に示すイプシロンーインセンシティブーロス算出関数のパラメータ(ε:イプシロン)を決定する。
 例えば、先に説明したような値、すなわち、
 ε=255=11111111
 このようなパラメータ(ε:イプシロン)を決定する。
 なお、このパラメータ(ε:イプシロン)の値は、任意の値に決定可能である。
  (ステップS253)
 次に、ステップS253において、ステップS252で決定したパラメータ(ε:イプシロン)を設定した損失関数、すなわち、イプシロンーインセンシティブーロス(epsilon-insensitive loss)算出関数を用いて、ステップS251で入力した現在の学習モデルのパラメータの評価を行う。
 具体的には、入力データから特徴量を抽出し、抽出された特徴量から復元したデータと入力データとの乖離度合いに応じた損失を、先に説明した(式2)で示される関数、すなわち、図12(2)に示すイプシロンーインセンシティブーロス算出関数を用いて算出し、評価する。
 先に説明したように、イプシロンーインセンシティブーロス算出関数を用いた評価では、復元データと入力データとの乖離が規定値(ε)以下となれば損失=0(評価値=MAX)と評価される。このような損失関数を用いて学習モデルのパラメータの評価を行う。
  (ステップS254~S255)
 次に、ステップS254において、ステップS253で算出した評価値に基づいてパラメータの更新量を計算し、ステップS255において、計算結果に基づくパラメータの更新を行う。
 これらのパラメータの評価と更新処理は、予め規定した回数、繰り返して実行する。
  (ステップS256)
 ステップS256において、ステップS254~S255のパラメータ評価と更新処理が、予め規定した回数に達したと判定されると、ステップS257に進む。
  (ステップS257)
 最後に、ステップS257において、ステップS254~S255のパラメータ評価と更新処理の規定回数文の繰り返し処理によって、最終的に更新されたパラメータを設定した学習モデルを生成して学習モデル格納部(図8の学習モデル格納部210)に格納する。
 このようにして生成された学習モデルが、図8に示すデータ圧縮装置200の学習モデル適用特徴量圧縮部201、学習モデル適用特徴量復元部202において利用され、特徴量の圧縮、復元処理が行われる。
 この学習モデルは、圧縮対象データと、特徴量復元(伸長)データの各要素(例えば画素)の差を、できるだけ規定値(ε)以下とする学習モデルとなる。
 図8に示すデータ圧縮装置200の学習モデル適用特徴量圧縮部201、学習モデル適用特徴量復元部202においてこの学習モデルを適用した処理を行なうことで、図8に示す差分算出203の算出する差分データ224の各要素の差分(残差)は、ほぼ規定値(ε)以下となる。
 すなわち、残差データの各要素の値が最下位ビット側のブロックに含まれるビット数にほぼ収まる設定とすることが可能となる。
 この結果、残差分割ブロックの圧縮効率を著しく高めることが可能となり、図8に示す残差分割ブロックエンコーダ205が生成する残差分割ブロック圧縮データのデータ量を削減することが可能となり、最終的な出力用圧縮データ227のデータ量の削減が実現される。
  [4-3.(実施例3)圧縮効率を高める残差データの最適なブロック分割態様の決定処理、すなわち、より小さなデータ量の残差圧縮データを生成可能とするブロック分割態様を決定する実施例について]
 次に、(実施例3)として圧縮効率を高める残差データの最適なブロック分割態様の決定処理、すなわち、より小さなデータ量の残差圧縮データを生成可能とするブロック分割態様を決定する実施例について説明する。
 なお、本実施例3は、実施例1で説明した図8に示すデータ圧縮装置200の残差データブロック分割部204において、残差データブロックを生成する処理の一例に相当する。
 先に図11を参照して説明した処理フローにおけるステップS206~S207の処理の一実施例である。
 本実施例3は、実施例1で説明した図8に示すデータ圧縮装置200の圧縮効率を向上させるために、図8に示すデータ圧縮装置200の残差データブロック分割部204において、残差の各要素を区切る準最適なビット数を決定する実施例である。
 残差データブロック分割部204の処理例として、先に図9を参照して説明した処理例では、入力データ221と特徴量復元データ223の各要素(画素)が32bitのint型(整数型)のデータであると仮定し、32ビットのビット列を8ビットの4ブロックに分割する例を説明した。
 しかし、この図9に示すビット分割処理例は、一例であり、様々な分割態様が可能である。
 例えば、16ビット単位の2ブロックに分割する設定、あるいは上位ビットから15ビット、次の10ビット、最後の7ビット等、異なるビット数で分割する設定も可能である。
 残差データの各要素を分割するビット数は、各ブロックが取り得る値の範囲や、ブロック内の全てのビットが0となるブロックの数を決定付ける。従って、分割ビット数は、圧縮効率に影響を与える重要なパラメータである。
 本実施例3は、図8に示すデータ圧縮装置200の残差データブロック分割部204において、残差の各要素を区切る準最適なビット数を決定するデータ圧縮装置の実施例である。
 残差データブロック分割部204は、「冗長度」と呼ばれる圧縮率の目安となる値に基づいて、準最適な分割ビット数を決定する。
 なお、本実施例3に従った処理は、先に説明した実施例1に従った図8に示すデータ圧縮装置200の必須構成ではなく、データ圧縮装置200の計算リソースに余裕がある場合にオプションとして実行すればよい。
 図14に示すフローチャートは、図8に示すデータ圧縮装置200の残差データブロック分割部204が本実施例3に従って実行する残差データ224の分割ビット数の決定処理シーケンスである。
 以下、図14に示すフローチャートの各ステップの処理について説明する。
  (ステップS301)
 まず、図8に示すデータ圧縮装置200の残差データブロック分割部204は、ステップS301において、残差データを複数ブロックに区切る「残差データ区切りビット数候補」を、複数、決定する。
  (ステップS302)
 次に、残差データブロック分割部204は、ステップS302において、ステップS301で決定した複数の「残差データ区切りビット数候補」から1つの「残差データ区切りビット数候補」を選択する。
  (ステップS303)
 次に、残差データブロック分割部204は、ステップS303において、差分算出部203から入力する残差データ224に対して、ステップS302で選択した1つの「残差データ区切りビット数候補」を適用して、残差分割ブロックを生成する。
  (ステップS304)
 次に、残差データブロック分割部204は、ステップS304において、ステップS303で生成した残差分割ブロック各々の冗長度を算出し、算出した冗長度の全ブロックの平均値である平均冗長度を算出する。
 なお、冗長度は以下の(式3)で定義される。
 冗長度:r=1-(H/H_max)=1-(エントロピー/最大エントロピー)
   ・・・(式3)
 なお、上記(式3)に示すエントロピーは、以下の(式4)で定義される。
 エントロピー:H=-Σlog ・・・(式4)
 上記(式4)において、
 pは、残差分割ブロックに含まれるある数値の出現確率を表す。
 例えば、残差分割ブロック内に1,2,2,4という4つの数値が含まれているとする。
 このとき、数値1,2,4の出現確率は、それぞれ1/4,1/2,1/4である。
 なお、最大エントロピーは、すべての数値の出現確率が等しい、つまり、残差分割ブロック内に1,2,2,4という4つの数値が含まれている場合の例では、1/3と仮定したときのエントロピーの値である。
 残差データブロック分割部204は、ステップS304において、ステップS303で生成した残差分割ブロックの冗長度を、上記(式3)を用いて算出する。
 なお、残差データブロック分割部204は、ステップS304において、残差分割ブロックの冗長度を複数の残差分割ブロック全てについて算出し、その平均値(平均冗長度)も算出する。
 算出した平均冗長度は、残差データの圧縮しやすさ、すなわち圧縮率をどの程度高めることが可能であるかを推定する評価値とみなすことができる。
  (ステップS305)
 次に、残差データブロック分割部204は、ステップS305において、ステップS301で決定した複数の「残差データ区切りビット数候補」の全ての候補についての冗長度算出処理が完了したか否かを判定する。
 未処理の「残差データ区切りビット数候補」がある場合は、ステップS302に戻り、未処理の「残差データ区切りビット数候補」についてステップS302~S304の処理を実行する。
 ステップS305において、ステップS301で決定した複数の「残差データ区切りビット数候補」の全ての候補についての冗長度算出処理が完了したと判定した場合は、ステップS306に進む。
  (ステップS306)
 次に、残差データブロック分割部204は、ステップS306において、算出された平均冗長度平均が最も高い「残差データ区切りビット数候補」を、残差分割ブロック生成に適用する最終的な「残差データ区切りビット数」として決定する。
 各ブロックの冗長度の平均値が最も大きくなった場合のビット数は準最適な残差データのブロック分割ビット数とみなすことができる。なお、"準"最適としているのは、辞書式の圧縮方式やエントロピー符号が必ずしも冗長度の通りにデータを圧縮できるとは限らないためである。しかし、多くの場合で、図13に示すフローに従って決定されたビット数で、残差データの各要素を区切ることで、先に図8を参照して説明した実施例1のデータ圧縮装置200の圧縮効率を向上させることが期待できる。
  [5.データ圧縮装置のハードウェア構成例について]
 次に、図15を参照して、データ圧縮装置のハードウェア構成例について説明する。
 図15を参照して説明するハードウェアは、先に図8を参照して説明したデータ圧縮装置200の1つの具体的なハードウェア構成例である。
 CPU(Central Processing Unit)301は、ROM(Read Only Memory)302、または記憶部308に記憶されているプログラムに従って各種の処理を実行する制御部やデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)303には、CPU301が実行するプログラムやデータなどが記憶される。これらのCPU301、ROM302、およびRAM303は、バス304により相互に接続されている。
 CPU301はバス304を介して入出力インタフェース305に接続され、入出力インタフェース305には、各種スイッチ、キーボード、マウス、マイクロホン、センサーなどよりなる入力部306、ディスプレイ、スピーカーなどよりなる出力部307が接続されている。CPU301は、入力部306から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部307に出力する。
 入出力インタフェース305に接続されている記憶部308は、例えばハードディスク等からなり、CPU301が実行するプログラムや各種のデータを記憶する。通信部309は、Wi-Fi通信、ブルートゥース(登録商標)(BT)通信、その他インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
 入出力インタフェース305に接続されているドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア311を駆動し、データの記録あるいは読み取りを実行する。
  [6.本開示の構成のまとめ]
 以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
 なお、本明細書において開示した技術は、以下のような構成をとることができる。
 (1) 学習モデルを適用して入力データの特徴量圧縮データを生成する特徴量圧縮部と、
 前記特徴量圧縮データに対する復元処理を実行して特徴量復元データを生成する特徴量復元部と、
 前記入力データと、前記特徴量復元データとの差分データである残差データを算出する差分算出部と、
 前記残差データをブロック分割して、複数の残差分割ブロックを生成する残差データブロック分割部と、
 前記複数の残差分割ブロック各々の圧縮処理を実行し、複数の残差分割ブロック圧縮データを生成する残差分割ブロック単位エンコーダと、
 前記特徴量圧縮部の生成した特徴量圧縮データと、前記残差分割ブロック単位エンコーダの生成した複数の残差分割ブロック圧縮データを合成して出力用圧縮データを生成する出力用圧縮データ生成部を有するデータ圧縮装置。
 (2) 前記特徴量圧縮部は、
 前記入力データに含まれる特徴量を選択して前記特徴量圧縮データを生成する非可逆圧縮処理を実行する(1)に記載のデータ圧縮装置。
 (3) 前記残差分割ブロック単位エンコーダは、
 可逆圧縮処理を実行する(1)または(2)に記載のデータ圧縮装置。
 (4) 前記特徴量復元部は、
 学習モデルを適用して前記特徴量圧縮データに対する復元処理を実行する(1)~(3)いずれかに記載のデータ圧縮装置。
 (5) 前記データ圧縮装置は、
 前記学習モデルを格納した学習モデル格納部を有する(1)~(4)いずれかに記載のデータ圧縮装置。
 (6) 前記特徴量圧縮部は、
 入力データの特徴量の圧縮処理に適用するパラメータを含む学習モデルを適用して、前記特徴量圧縮データを生成する構成である(1)~(5)いずれかに記載のデータ圧縮装置。
 (7) 前記学習モデルに含まれるパラメータは、
 学習モデルの性能評価を行なうための損失関数であるイプシロンーインセンシティブーロス(epsilon-insensitive loss)算出関数を用いた評価結果に基づいて生成されたパラメータである(6)に記載のデータ圧縮装置。
 (8) 前記残差データブロック分割部は、
 前記残差データを要素単位でブロック分割を行い、複数の残差分割ブロックを生成する(1)~(7)いずれかに記載のデータ圧縮装置。
 (9) 前記残差データブロック分割部は、
 前記残差データの各要素を構成するビット列について最上位ビットから最下位ビットまで複数のブロックに分割し、複数の残差分割ブロックを生成する(1)~(8)いずれかに記載のデータ圧縮装置。
 (10) 前記残差データブロック分割部は、
 前記残差データの全要素について、同一区切り位置でビット列を区切り、
 同一区切り位置内の全要素の構成データを1つの残差分割ブロックの構成データとして、複数の残差分割ブロックを生成する(1)~(9)いずれかに記載のデータ圧縮装置。
 (11) 前記残差データブロック分割部は、
 前記残差分割ブロックを生成するための区切りビット数を決定する処理を実行する(1)~(10)いずれかに記載のデータ圧縮装置。
 (12) 前記残差データブロック分割部は、
 同一の残差データに、複数の異なる区切りビット数を適用して生成した残差分割ブロックの冗長度を算出し、
 算出した冗長度に基づいて、最適区切りビット数を決定する(11)に記載のデータ圧縮装置。
 (13) 前記冗長度は、圧縮効率が高いほど大きな値を示す冗長度であり、
 前記残差データブロック分割部は、
 算出した冗長度が最大値の区切りビット数を最適区切りビット数として決定する(12)に記載のデータ圧縮装置。
 (14) 前記残差分割ブロック単位エンコーダは、
 前記残差データブロック分割部が生成した複数の残差分割ブロック各々に対して個別に可逆圧縮処理を実行して、複数の残差分割ブロック圧縮データを生成する(1)~(13)いずれかに記載のデータ圧縮装置。
 (15) データ圧縮装置において実行するデータ圧縮方法であり、
 特徴量圧縮部が、学習モデルを適用して入力データの特徴量圧縮データを生成する特徴量圧縮処理と、
 特徴量復元部が、前記特徴量圧縮データに対する復元処理を実行して特徴量復元データを生成する特徴量復元処理と、
 差分算出部が、前記入力データと、前記特徴量復元データとの差分データである残差データを算出する差分算出処理と、
 残差データブロック分割部が、前記残差データをブロック分割して、複数の残差分割ブロックを生成する残差データブロック分割処理と、
 残差分割ブロック単位エンコーダが、前記複数の残差分割ブロック各々の圧縮処理を実行し、複数の残差分割ブロック圧縮データを生成する残差分割ブロック単位エンコード処理と、
 出力用圧縮データ生成部が、前記特徴量圧縮部の生成した特徴量圧縮データと、前記残差分割ブロック単位エンコーダの生成した複数の残差分割ブロック圧縮データを合成して出力用圧縮データを生成する出力用圧縮データ生成処理を実行するデータ圧縮方法。
 また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
 なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 以上、説明したように、本開示の一実施例の構成によれば、学習モデルを適用した特徴量圧縮データと残差データ圧縮データを生成する可逆圧縮処理において圧縮効率を向上させた構成、処理が実現される。
 具体的には、例えば、学習モデルを適用して入力データの特徴量圧縮データを生成する特徴量圧縮部と、特徴量圧縮データの復元により特徴量復元データを生成する特徴量復元部と、入力データと特徴量復元データとの差分である残差データを算出する差分算出部と、残差データから複数の残差分割ブロックを生成する残差データブロック分割部と、残差分割ブロックの圧縮処理により、複数の残差分割ブロック圧縮データを生成する残差分割ブロック単位エンコーダと、特徴量圧縮データと残差分割ブロック圧縮データを合成して出力用圧縮データを生成する出力用圧縮データ生成部を有する。
 本構成により、学習モデルを適用した特徴量圧縮データと残差データ圧縮データを生成する可逆圧縮処理において圧縮効率を向上させた構成、処理が実現される。
  20 データ圧縮装置
  21 特徴量エンコーダ
  22 特徴量デコーダ
  23 差分算出部
  24 残差エンコーダ
  25 出力用圧縮データ生成部(ビットストリーム生成部)
  26 通信部
  27 記憶部
  50 データ復元装置
  51 通信部
  52 データ分離部
  53 特徴量デコーダ
  54 残差デコーダ
  55 合成部
 100 データ圧縮装置
 101 学習モデル適用特徴量圧縮部
 102 学習モデル適用特徴量復元部
 103 差分算出部
 104 残差エンコーダ
 105 出力用圧縮データ生成部(ビットストリーム生成部)
 110 学習モデル格納部
 150 データ復元装置
 151 データ分離部
 152 学習モデル適用特徴量復元部
 153 残差デコーダ
 154 合成部
 160 学習モデル格納部
 200 データ圧縮装置
 201 学習モデル適用特徴量圧縮部
 202 学習モデル適用特徴量復元部
 203 差分算出部
 204 残差データブロック分割部
 205 残差分割ブロック単位エンコーダ
 206 出力用圧縮データ生成部(ビットストリーム生成部)
 210 学習モデル格納部
 301 CPU
 302 ROM
 303 RAM
 304 バス
 305 入出力インタフェース
 306 入力部
 307 出力部
 308 記憶部
 309 通信部
 310 ドライブ
 311 リムーバブルメディア

Claims (15)

  1.  学習モデルを適用して入力データの特徴量圧縮データを生成する特徴量圧縮部と、
     前記特徴量圧縮データに対する復元処理を実行して特徴量復元データを生成する特徴量復元部と、
     前記入力データと、前記特徴量復元データとの差分データである残差データを算出する差分算出部と、
     前記残差データをブロック分割して、複数の残差分割ブロックを生成する残差データブロック分割部と、
     前記複数の残差分割ブロック各々の圧縮処理を実行し、複数の残差分割ブロック圧縮データを生成する残差分割ブロック単位エンコーダと、
     前記特徴量圧縮部の生成した特徴量圧縮データと、前記残差分割ブロック単位エンコーダの生成した複数の残差分割ブロック圧縮データを合成して出力用圧縮データを生成する出力用圧縮データ生成部を有するデータ圧縮装置。
  2.  前記特徴量圧縮部は、
     前記入力データに含まれる特徴量を選択して前記特徴量圧縮データを生成する非可逆圧縮処理を実行する請求項1に記載のデータ圧縮装置。
  3.  前記残差分割ブロック単位エンコーダは、
     可逆圧縮処理を実行する請求項1に記載のデータ圧縮装置。
  4.  前記特徴量復元部は、
     学習モデルを適用して前記特徴量圧縮データに対する復元処理を実行する請求項1に記載のデータ圧縮装置。
  5.  前記データ圧縮装置は、
     前記学習モデルを格納した学習モデル格納部を有する請求項1に記載のデータ圧縮装置。
  6.  前記特徴量圧縮部は、
     入力データの特徴量の圧縮処理に適用するパラメータを含む学習モデルを適用して、前記特徴量圧縮データを生成する構成である請求項1に記載のデータ圧縮装置。
  7.  前記学習モデルに含まれるパラメータは、
     学習モデルの性能評価を行なうための損失関数であるイプシロンーインセンシティブーロス(epsilon-insensitive loss)算出関数を用いた評価結果に基づいて生成されたパラメータである請求項6に記載のデータ圧縮装置。
  8.  前記残差データブロック分割部は、
     前記残差データを要素単位でブロック分割を行い、複数の残差分割ブロックを生成する請求項1に記載のデータ圧縮装置。
  9.  前記残差データブロック分割部は、
     前記残差データの各要素を構成するビット列について最上位ビットから最下位ビットまで複数のブロックに分割し、複数の残差分割ブロックを生成する請求項1に記載のデータ圧縮装置。
  10.  前記残差データブロック分割部は、
     前記残差データの全要素について、同一区切り位置でビット列を区切り、
     同一区切り位置内の全要素の構成データを1つの残差分割ブロックの構成データとして、複数の残差分割ブロックを生成する請求項1に記載のデータ圧縮装置。
  11.  前記残差データブロック分割部は、
     前記残差分割ブロックを生成するための区切りビット数を決定する処理を実行する請求項1に記載のデータ圧縮装置。
  12.  前記残差データブロック分割部は、
     同一の残差データに、複数の異なる区切りビット数を適用して生成した残差分割ブロックの冗長度を算出し、
     算出した冗長度に基づいて、最適区切りビット数を決定する請求項11に記載のデータ圧縮装置。
  13.  前記冗長度は、圧縮効率が高いほど大きな値を示す冗長度であり、
     前記残差データブロック分割部は、
     算出した冗長度が最大値の区切りビット数を最適区切りビット数として決定する請求項12に記載のデータ圧縮装置。
  14.  前記残差分割ブロック単位エンコーダは、
     前記残差データブロック分割部が生成した複数の残差分割ブロック各々に対して個別に可逆圧縮処理を実行して、複数の残差分割ブロック圧縮データを生成する請求項1に記載のデータ圧縮装置。
  15.  データ圧縮装置において実行するデータ圧縮方法であり、
     特徴量圧縮部が、学習モデルを適用して入力データの特徴量圧縮データを生成する特徴量圧縮処理と、
     特徴量復元部が、前記特徴量圧縮データに対する復元処理を実行して特徴量復元データを生成する特徴量復元処理と、
     差分算出部が、前記入力データと、前記特徴量復元データとの差分データである残差データを算出する差分算出処理と、
     残差データブロック分割部が、前記残差データをブロック分割して、複数の残差分割ブロックを生成する残差データブロック分割処理と、
     残差分割ブロック単位エンコーダが、前記複数の残差分割ブロック各々の圧縮処理を実行し、複数の残差分割ブロック圧縮データを生成する残差分割ブロック単位エンコード処理と、
     出力用圧縮データ生成部が、前記特徴量圧縮部の生成した特徴量圧縮データと、前記残差分割ブロック単位エンコーダの生成した複数の残差分割ブロック圧縮データを合成して出力用圧縮データを生成する出力用圧縮データ生成処理を実行するデータ圧縮方法。
PCT/JP2020/045668 2020-01-15 2020-12-08 データ圧縮装置、およびデータ圧縮方法 WO2021145105A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020004132 2020-01-15
JP2020-004132 2020-01-15

Publications (1)

Publication Number Publication Date
WO2021145105A1 true WO2021145105A1 (ja) 2021-07-22

Family

ID=76864148

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/045668 WO2021145105A1 (ja) 2020-01-15 2020-12-08 データ圧縮装置、およびデータ圧縮方法

Country Status (1)

Country Link
WO (1) WO2021145105A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023166621A1 (ja) * 2022-03-02 2023-09-07 日本電気株式会社 情報処理システム、情報処理装置、情報処理方法、および、プログラム
WO2024084660A1 (ja) * 2022-10-20 2024-04-25 日本電気株式会社 画像符号化装置、画像復号装置、画像処理システム、モデル学習装置、画像符号化方法、画像復号方法、および、コンピュータ可読記憶媒体

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034230A (ja) * 2005-07-29 2007-02-08 Sony Corp 音声符号化装置及び方法、並びに音声復号装置及び方法
JP2011175278A (ja) * 2007-03-02 2011-09-08 Panasonic Corp 符号化装置、復号装置、符号化方法および復号方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034230A (ja) * 2005-07-29 2007-02-08 Sony Corp 音声符号化装置及び方法、並びに音声復号装置及び方法
JP2011175278A (ja) * 2007-03-02 2011-09-08 Panasonic Corp 符号化装置、復号装置、符号化方法および復号方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHEN, HONGDA ET AL.: "Lossless Compression of Curated Erythrocyte Images Using Deep Autoencoders for Malaria Infection Diagnosis", 2016 PICTURE CODEING SYMPOSIUM (PCS), 24 April 2017 (2017-04-24), pages 2 - 3, XP033086948, Retrieved from the Internet <URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7906393> [retrieved on 20210216] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023166621A1 (ja) * 2022-03-02 2023-09-07 日本電気株式会社 情報処理システム、情報処理装置、情報処理方法、および、プログラム
WO2024084660A1 (ja) * 2022-10-20 2024-04-25 日本電気株式会社 画像符号化装置、画像復号装置、画像処理システム、モデル学習装置、画像符号化方法、画像復号方法、および、コンピュータ可読記憶媒体

Similar Documents

Publication Publication Date Title
RU2417518C2 (ru) Эффективное кодирование и декодирование блоков преобразования
JP3017380B2 (ja) データ圧縮方法及び装置並びにデータ伸長方法及び装置
KR101146162B1 (ko) 멀티-레벨 이미지의 적응 압축 용이 방법
US20140072239A1 (en) Image Compression Using Sub-Resolution Images
WO2021145105A1 (ja) データ圧縮装置、およびデータ圧縮方法
CN109600618A (zh) 视频压缩方法、解压缩方法、装置、终端和介质
WO2010050152A1 (ja) 画素予測値生成手順自動生成方法、画像符号化方法、画像復号方法、それらの装置、それらのプログラム、およびこれらのプログラムを記録した記録媒体
CN112188197B (zh) 通道间点云属性解码方法、装置以及可读存储介质
US7583849B2 (en) Lossless image compression with tree coding of magnitude levels
JP6593122B2 (ja) 動画像符号化装置、動画像符号化方法、及びプログラム
US10911066B2 (en) Method and system of content based dynamic data compression
JP2019524007A (ja) 動画圧縮方法及び装置、並びにこれに対するコンピュータプログラム
US20130044961A1 (en) Real-time image compression
JP7233875B2 (ja) 作成方法、コンピュータ及びプログラム
US20100039300A1 (en) Lzw data compression algorithm
JP4893956B2 (ja) 符号化装置、復号化装置、符号化方法及びプログラム
CN108668169B (zh) 图像信息处理方法及装置、存储介质
KR20200121760A (ko) 인코딩된 데이터에 대한 조건부 트랜스코딩
US11967975B1 (en) Method and apparatus for recursive data compression using seed bits
JP2008109478A (ja) 画像符号化装置及び方法及びプログラム及び記憶媒体
US20230268931A1 (en) Data compression system and data compression method
JP4418736B2 (ja) 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4324079B2 (ja) 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
Matos et al. Lossy-to-lossless compression of biomedical images based on image decomposition
US20220269652A1 (en) Computation apparatus and compression method

Legal Events

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

Ref document number: 20913755

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20913755

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP