WO2017109865A1 - Appareil de compression de données, appareil de décompression de données, programme de compression de données, programme de décompression de données, procédé de compression de données, et procédé de décompression de données - Google Patents

Appareil de compression de données, appareil de décompression de données, programme de compression de données, programme de décompression de données, procédé de compression de données, et procédé de décompression de données Download PDF

Info

Publication number
WO2017109865A1
WO2017109865A1 PCT/JP2015/085875 JP2015085875W WO2017109865A1 WO 2017109865 A1 WO2017109865 A1 WO 2017109865A1 JP 2015085875 W JP2015085875 W JP 2015085875W WO 2017109865 A1 WO2017109865 A1 WO 2017109865A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
input
data
external
data string
Prior art date
Application number
PCT/JP2015/085875
Other languages
English (en)
Japanese (ja)
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 三菱電機株式会社
Priority to PCT/JP2015/085875 priority Critical patent/WO2017109865A1/fr
Priority to JP2017555720A priority patent/JP6266193B2/ja
Publication of WO2017109865A1 publication Critical patent/WO2017109865A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing

Definitions

  • This invention relates to a technique for reversibly compressing an integer string.
  • One method for reversibly compressing an integer string is a method for encoding a residual between an input value and a predicted value.
  • a predicted value is calculated for each input value of the input data string to be encoded.
  • a residual with the predicted value is calculated for each input value.
  • the residual is then encoded.
  • the previous value which is the previous value of the input data string, is used as the predicted value, the previous value is subtracted from the input value, and the residual is calculated by gamma.
  • Patent Document 1 describes a technique for compressing and recording stereoscopic video data composed of two channel data. Patent Document 1 describes that, for one channel data, a residual with the other channel data is encoded. In this example, the other channel data corresponds to external data.
  • An object of the present invention is to improve the accuracy of predicting a predicted value when the position of one integer sequence is shifted and the behavior is similar to that of the other integer sequence.
  • the data compression apparatus is The input value d [i] of the target position i in the input data string d is used by using the external value e [im] at a position shifted by a positional difference m from the external value e [i] of the target position i in the external data string e. ]
  • a residual calculator that calculates a difference between the input value d [i] and the predicted value p [i] predicted by the predictor as a residual r [i];
  • An encoding unit that encodes the residual r [i] calculated by the residual calculation unit and generates a code c [i] for the input value d [i].
  • the input of the target position i in the input data string d is performed using the external value e [im] at a position shifted by a positional difference m from the external value e [i] of the target position i in the external data string e.
  • FIG. 1 is a configuration diagram of a data compression system 1 according to Embodiment 1.
  • FIG. FIG. 4 is a diagram illustrating an example of an input data string d and an external data string e according to the first embodiment.
  • 1 is a configuration diagram of a data compression apparatus 10 according to Embodiment 1.
  • FIG. 1 is a configuration diagram of a data decompression device 20 according to Embodiment 1.
  • FIG. 3 is a flowchart showing the operation of the data compression apparatus 10 according to the first embodiment.
  • 5 is a flowchart showing the operation of the data decompression apparatus 20 according to the first embodiment.
  • the block diagram of the data compression apparatus 10 which concerns on the modification 1.
  • FIG. The block diagram of the data expansion
  • FIG. 4 is a configuration diagram of a data compression apparatus 10 according to a second embodiment.
  • FIG. 4 is a configuration diagram of a data decompression apparatus 20 according to a second embodiment.
  • 9 is a flowchart showing the operation of the data compression apparatus 10 according to the second embodiment.
  • 14 is a flowchart showing the operation of the position difference determination unit 116 in step S303 in FIG. 9 is a flowchart showing the operation of the data decompression apparatus 20 according to the second embodiment.
  • FIG. 14 is a flowchart showing the operation of the position difference determination unit 116 according to Modification 4 in step S302 of FIG.
  • FIG. 6 is a configuration diagram of a data compression apparatus 10 according to a third embodiment.
  • FIG. 6 is a configuration diagram of a data decompression device 20 according to a third embodiment.
  • 10 is a flowchart showing the operation of the data compression apparatus 10 according to the third embodiment.
  • 10 is a flowchart showing the operation of the data decompression apparatus 20 according to the third embodiment.
  • the data compression system 1 includes a data compression device 10 and a data decompression device 20.
  • the data compression device 10 and the data decompression device 20 are connected via a network 30.
  • the data compression apparatus 10 is an apparatus that receives an input data string d and an external data string e as input and generates a code data string c obtained by encoding the input data string d.
  • the data decompression device 20 is a device that generates the output data sequence o obtained by decoding the code data sequence c, using the code data sequence c generated by the data compression device 10 and the external data sequence e as inputs.
  • the input data string d is an ordered integer string, and an integer value included in the input data string d is referred to as an input value.
  • the external data string e is an ordered integer string different from the input data string d, and an integer value included in the external data string e is referred to as an external value.
  • the i-th input value in the input data string d is written as an input value d [i]
  • the i-th external value in the external data string e is written as an external value e [i].
  • the input value d [i] at the target position i in the input data string d is the external value e [at a position shifted by m from the target position i in the external data string e.
  • the compression rate can be increased.
  • a sequence of values sampled at a certain time from one of two waveform data having a certain phase difference is an input data string d, and sampled at a certain time from the other.
  • the column of the obtained values is the external data column e.
  • the values sampled from one of the two waveform data at regular time intervals are the input values d [0],. . . , D [X], and values sampled from the other at fixed time intervals are external values e [0],. . . , E [X].
  • the phase difference is the position difference m.
  • the positional difference m is a positive value, but the positional difference m may be a negative value.
  • the number of input values included in the input data string d and the number of external values included in the external data string e are arbitrary. In the first embodiment, description will be made assuming that the number of external values included in the external data string e is equal to or greater than the number of input values included in the input data string d. If the number of external values is less than the number of input values, an arbitrary integer value such as 0 may be added to the external data string e by the number of differences between the number of input values and the number of external values.
  • the data compression apparatus 10 is a computer.
  • the data compression device 10 includes a processor 11, a storage device 12, and a communication device 13.
  • the processor 11 is connected to other hardware via the signal line 14 and controls these other hardware.
  • the data compression apparatus 10 includes an input unit 111, a prediction unit 112, a residual calculation unit 113, an encoding unit 114, and an output unit 115 as functional configurations.
  • the functions of the input unit 111, the prediction unit 112, the residual calculation unit 113, the encoding unit 114, and the output unit 115 are realized by software.
  • the storage device 12 stores a program that realizes the functions of the respective units of the data compression device 10. This program is read into the processor 11 and executed by the processor 11. Thereby, the function of each part of the data compression apparatus 10 is implement
  • the data decompression device 20 is a computer.
  • the data decompression device 20 includes a processor 21, a storage device 22, and a communication device 23.
  • the processor 21 is connected to other hardware via the signal line 24 and controls these other hardware.
  • the data decompression device 20 includes an input unit 211, a prediction unit 212, a decoding unit 213, an output value calculation unit 214, and an output unit 215 as functional configurations.
  • the functions of the input unit 211, the prediction unit 212, the decoding unit 213, the output value calculation unit 214, and the output unit 215 are realized by software.
  • the storage device 22 stores a program that realizes the functions of the respective units of the data decompression device 20. This program is read into the processor 21 and executed by the processor 21. Thereby, the function of each part of data decompression device 20 is realized.
  • the processors 11 and 21 are ICs that perform processing.
  • IC is an abbreviation for Integrated Circuit.
  • the processors 11 and 21 are a CPU, a DSP, and a GPU.
  • CPU is an abbreviation for Central Processing Unit.
  • DSP is an abbreviation for Digital Signal Processor.
  • GPU is an abbreviation for Graphics Processing Unit.
  • the storage devices 12 and 22 are a RAM and an HDD.
  • RAM is an abbreviation for Random Access Memory.
  • HDD is an abbreviation for Hard Disk Drive.
  • the storage device may be configured by other hardware such as a ROM and a flash memory.
  • ROM is an abbreviation for Read Only Memory.
  • the communication devices 13 and 23 are devices including a receiver that receives data and a transmitter that transmits data.
  • the communication devices 13 and 23 are specifically communication chips or NICs.
  • NIC is an abbreviation for Network Interface Card.
  • Information, data, signal values, and variable values indicating the processing results of the functions of the respective units realized by the processor 11 are stored in the storage device 12 or in a register or cache memory in the processor 11. In the following description, it is assumed that information, data, signal values, and variable values indicating the processing results of the functions of the respective units realized by the processor 11 are stored in the storage device 12. Similarly, information, data, signal values, and variable values indicating the processing results of the functions of the respective units realized by the processor 21 are stored in the storage device 22, a register in the processor 21, or a cache memory. In the following description, it is assumed that information, data, signal values, and variable values indicating the processing results of the functions of the respective units realized by the processor 21 are stored in the storage device 22.
  • this program may be stored in a portable storage medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD.
  • FIG. 3 only one processor 11 is shown. However, there may be a plurality of processors 11, and the plurality of processors 11 may execute programs that realize the functions of the respective units in cooperation.
  • FIG. 4 only one processor 21 is shown. However, there may be a plurality of processors 21, and the plurality of processors 21 may execute programs that realize the functions of the respective units in cooperation.
  • the operation of the data compression apparatus 10 according to the first embodiment will be described with reference to FIGS. 3 and 5.
  • the operation of the data compression apparatus 10 according to the first embodiment corresponds to the data compression method according to the first embodiment.
  • the operation of the data compression apparatus 10 according to the first embodiment corresponds to the processing of the data compression program according to the first embodiment.
  • the input unit 111 receives the input data string d and the external data string e via the communication device 13, and writes the input data string d, the external data string e, and the storage device 12. It shall be.
  • the input unit 111 determines whether or not encoding for all input values of the input data string d has been completed. Specifically, the input unit 111 counts the number of input values of the input data string d, and when the variable i is the number of input values, the encoding for all the input values is completed. judge. If the input unit 111 determines that the encoding is complete (YES in step S101), the input unit 111 ends the process. If the input unit 111 determines that the encoding has not been completed (NO in step S101), the process proceeds to step S102.
  • the prediction unit 112 uses the external value e [i ⁇ m] at a position shifted by a positional difference m from the external value e [i] of the target position i in the external data sequence e.
  • the predicted value p [i] of the input value d [i] of the target position i at d is predicted.
  • the prediction unit 112 reads the position difference m from the storage device 12, and reads the external value e [im] at the position shifted by the position difference m from the target position i from the storage device 12.
  • the position difference m is stored in the storage device 12 in advance.
  • the prediction unit 112 writes the calculated predicted value p [i] in the storage device 12. If there is no external value to be used for prediction, such as when the number of external values is less than the number of input values, the external value may be regarded as an arbitrary integer value such as 0.
  • the residual calculation unit 113 calculates the difference between the input value d [i] and the predicted value p [i] predicted by the prediction unit 112 in step S102 as the residual r [i]. Calculate as Specifically, the residual calculation unit 113 reads the input value d [i] written in advance and the predicted value p [i] written in step S102 from the storage device 12. Then, the residual calculation unit 113 calculates the residual r [i] by subtracting the predicted value p [i] from the input value d [i]. The residual calculation unit 113 writes the calculated residual r [i] in the storage device 12.
  • the encoding unit 114 encodes the residual r [i] calculated by the residual calculation unit 113 in step S103, and the code c [i] for the input value d [i]. Is generated. Specifically, the encoding unit 114 reads the residual r [i] written in step S103 from the storage device 12. The encoding unit 114 converts the residual r [i] by an integer encoding method such as a gamma code, a delta code, or a Golomb-Rice code, and generates a code c [i] for the input value d [i]. The encoding unit 114 writes the generated code c [i] in the storage device 12.
  • an integer encoding method such as a gamma code, a delta code, or a Golomb-Rice code
  • the output unit 115 outputs the code c [i] generated by the encoding unit 114 in step S104 as the value of the target position i of the code data string c.
  • step S106 the input unit 111 adds 1 to the value of the variable i, and returns the process to step S101.
  • the operation of the data decompression apparatus 20 according to the first embodiment corresponds to the data decompression method according to the first embodiment.
  • the operation of the data decompression apparatus 20 according to the first embodiment corresponds to the processing of the data decompression program according to the first embodiment.
  • the input unit 211 receives the code data sequence c and the external data sequence e via the communication device 23, and writes the code data sequence c, the external data sequence e, and the storage device 22. It shall be.
  • variable i is set to 0, and the process shown in FIG. 6 is started.
  • the input unit 211 determines whether or not decoding has been completed for all codes of the code data string c. Specifically, the input unit 211 counts the number of codes in the code data string c, and determines that the decoding for all codes is completed when the variable i is the number of codes. If the input unit 211 determines that the decoding is complete (YES in step S201), the process ends. If the input unit 211 determines that the decoding has not been completed (NO in step S201), the process proceeds to step S202.
  • the prediction unit 212 uses the external value e [i ⁇ m] at a position shifted by a positional difference m from the external value e [i] of the target position i in the external data string e.
  • the predicted value p [i] of the output value o [i] of the target position i at o is predicted.
  • the prediction unit 212 reads the position difference m from the storage device 22, and reads the external value e [im] at a position shifted by the position difference m from the target position i from the storage device 22.
  • the prediction unit 212 calculates the predicted value p [i] according to the same formula as that used in step S102 of FIG.
  • the prediction unit 212 writes the calculated predicted value p [i] in the storage device 22.
  • the decoding unit 213 In the decoding process of step S203, the decoding unit 213 generates the residual r [i] by decoding the code c [i]. Specifically, the decoding unit 213 reads the code c [i] from the storage device 22. Then, the decoding unit 213 converts the code c [i] by a decoding method corresponding to the integer coding method used by the coding unit 114 in step S104 of FIG. 5 and calculates a residual r [i]. The decoding unit 213 writes the calculated residual r [i] in the storage device 22.
  • the output value calculation unit 214 uses the prediction value p [i] predicted by the prediction unit 212 in step S202 and the residual r [i] generated by the decoding unit 213 in step S203. Is calculated as an output value o [i]. Specifically, the output value calculation unit 214 stores the prediction value p [i] predicted by the prediction unit 212 in step S202 and the residual r [i] generated by the decoding unit 213 in step S203. 22 is read out. Then, the output value calculation unit 214 calculates the output value o [i] by adding the predicted value p [i] to the residual r [i]. The output value calculation unit 214 writes the calculated output value o [i] in the storage device 22.
  • the output unit 215 outputs the output value o [i] calculated by the output value calculation unit 214 in step S204 as the value of the target position i of the output data string o.
  • step S206 the input unit 211 adds 1 to the value of the variable i, and returns the process to step S201.
  • the external value e [i ⁇ m] at a position shifted by the positional difference m from the target position i in the external data string e is used to input the input data string d.
  • a predicted value p [i] of the input value d [i] is predicted.
  • the predicted value p [i] is predicted using the external value e [im].
  • the external value e [i ⁇ m] not only the external value e [i ⁇ m] but also other external values and at least one of input values whose codes have already been generated in the input data string d are used to predict the predicted value p. [I] may be predicted.
  • the first modification will be described with respect to differences from the first embodiment.
  • the structure of the data compression apparatus 10 which concerns on the modification 1 is demonstrated. 7 is different from FIG. 3 in that the prediction unit 112 receives the input value d [j] of the input data string d and the external data string e.
  • the variable j is an integer value from 0 to i-1.
  • the prediction unit 112 determines not only the external value e [im] but also other external values and the input value d [0] whose code has already been generated in the input data string d. ],. . . ,
  • the predicted value p [i] is predicted using at least one of the input value d [i ⁇ 1].
  • the necessary external value and input value are read from the storage device 12, and the predicted value p [i] is calculated according to an equation using the read external value and input value.
  • decompression apparatus 20 which concerns on the modification 1 is demonstrated. 8 is different from FIG. 4 in that the prediction unit 212 receives the output value o [j] of the output data string o and the external data string e.
  • the variable j is an integer value from 0 to i-1.
  • the prediction unit 212 determines not only the external value e [im] but also other external values and an output value o [0] whose code has already been generated in the output data sequence o. ],. . . ,
  • the predicted value p [i] is predicted using at least one of the output value o [i-1].
  • the prediction unit 212 calculates the prediction value p [i] by the same method as the method by which the prediction unit 112 calculates the prediction value p [i] in step S102 of the first modification. However, when the prediction unit 112 uses the input value d [j] in S102, the output value o [j] corresponding to the input value d [j] is used instead of the input value d [j].
  • the prediction unit 112 of the data compression device 10 cannot use the input value for which the code has not yet been generated for the input data string d to predict the predicted value p [i]. This is necessary so that the data decompression device 20 can correctly decode the code data string c. That is, the prediction unit 212 of the data decompression device 20 needs to predict the prediction value p [i] by the same method as the prediction unit 112 of the data compression device 10. However, when the prediction unit 212 of the data decompression apparatus 20 predicts the predicted value p [i], the output value o [0],. . . , Only the output value o [i ⁇ 1] is obtained.
  • the prediction unit 112 of the data compression apparatus 10 predicts the predicted value p [i], if the input value for which a code has not yet been generated is used, the data decompression apparatus 20 correctly sets the code data string c. It becomes impossible to decrypt.
  • ⁇ Modification 2> the functions of the respective units of the data compression device 10 and the data decompression device 20 are realized by software. However, as a second modification, the functions of the respective units of the data compression device 10 and the data decompression device 20 may be realized by hardware. The second modification will be described with respect to differences from the first embodiment.
  • the data compression device 10 When the function of each unit is realized by hardware, the data compression device 10 includes a communication device 13 and a processing circuit 15.
  • the processing circuit 15 is a dedicated electronic circuit that realizes the functions of the respective units of the data compression device 10 and the functions of the storage device 12.
  • the data decompression device 20 includes a communication device 23 and a processing circuit 25.
  • the processing circuit 25 is a dedicated electronic circuit that implements the functions of each unit of the data decompression device 20 and the function of the storage device 22.
  • processing circuits 15 and 25 a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, and an FPGA are assumed.
  • GA is an abbreviation for Gate Array.
  • ASIC is an abbreviation for Application Specific Integrated Circuit.
  • FPGA is an abbreviation for Field-Programmable Gate Array.
  • the function of each part may be realized by one processing circuit 15 or 25, or the function of each part may be distributed to a plurality of processing circuits 15 and 25.
  • ⁇ Modification 3> As a third modification, some functions may be realized by hardware, and other functions may be realized by software. That is, some of the functions of the data compression apparatus 10 may be realized by hardware, and other functions may be realized by software. Also for the data decompression device 20, some functions may be realized by hardware, and other functions may be realized by software.
  • the processors 11 and 21, the storage devices 12 and 22, and the processing circuits 15 and 25 are collectively referred to as “processing circuitry”. That is, the function of each part is realized by a processing circuit.
  • Embodiment 2 is different from the first embodiment in that the position difference m is appropriately determined and the predicted value p [i] is predicted. In the second embodiment, this different point will be described.
  • the data compression apparatus 10 includes a position difference determination unit 116 in addition to the functional configuration shown in FIG.
  • the function of the position difference determination unit 116 is realized by software.
  • the storage device 12 stores a program that realizes the function of the position difference determination unit 116. This program is read into the processor 11 and executed by the processor 11. Thereby, the function of the position difference determination unit 116 is realized.
  • the data decompression device 20 includes a position difference determination unit 216 in addition to the functional configuration shown in FIG.
  • the function of the position difference determination unit 216 is realized by software.
  • the storage device 22 stores a program that realizes the function of the position difference determination unit 216. This program is read into the processor 21 and executed by the processor 21. Thereby, the function of the position difference determination unit 216 is realized.
  • the operation of the data compression apparatus 10 according to the second embodiment will be described with reference to FIGS. 11 and 13.
  • the operation of the data compression apparatus 10 according to the second embodiment corresponds to the data compression method according to the second embodiment.
  • the operation of the data compression apparatus 10 according to the second embodiment corresponds to the processing of the data compression program according to the second embodiment.
  • step S301 is the same as the processing in step S101 in FIG.
  • step S304 to step S308 is the same as the processing from step S102 to step S106 in FIG.
  • the position difference determination unit 116 determines whether or not to newly determine the position difference m.
  • the reason why the position difference is updated is that the position difference m may also change due to changes in the characteristics of the input data string d and the external data string e. If the position difference determination unit 116 determines to determine the position difference m (YES in step S302), the process proceeds to step S303. On the other hand, if the position difference determination unit 116 determines not to determine the position difference m (NO in step S302), the process proceeds to step S304.
  • the position difference determination unit 116 determines to determine the position difference m every time the reference input value is encoded.
  • the reference piece is an integer of 1 or more. The smaller the reference piece, the higher the frequency of updating the position difference m and the higher the processing load. However, it is expected that the smaller the reference piece is, the higher the ratio at which the position difference m is appropriately set, and the higher the prediction accuracy. Therefore, the reference piece is determined in advance in consideration of both the processing load and the prediction accuracy. If the input data string d is data having periodicity, the position difference m may be determined again for each period of the input data string d. Therefore, in this case, the position difference determination unit 116 receives the input values d [0],. . .
  • the input value d [i ⁇ 1] is read from the storage device 12. Then, the position difference determination unit 116 receives the input values d [0],. . . , The period is specified from the input value d [i ⁇ 1], and the number of input values included in the specified one period is set as a reference value. In this case, the position difference determination unit 116 also specifies the period when determining the position difference m. As a result, even for an input data string d whose cycle varies, the positional difference m can be determined at an appropriate timing following the variation of the cycle.
  • the position difference determination unit 116 shifts the position of the external value of the external data string e corresponding to the input value of the input data string d, thereby changing the input data string d and the external data string e. Is determined as the positional difference m.
  • the input value d [n] and the external value e [n] at the same position originally sampled at the same time correspond to each other. In this state, the input data string d and the external data string e are not correlated. However, if the position of the external value of the external data string e corresponding to the input value of the input data string d is shifted by the phase difference, the input data string d and the external data string e are correlated.
  • the position difference determination unit 116 specifies the shift amount at which the peak, that is, the position of the extreme value approaches the input value for which the code has already been generated in the input data sequence d and the external data sequence e, The specified shift amount is determined as the position difference m.
  • the position difference determination unit 116 overwrites the position difference m stored in the storage device 12 with the determined position difference m.
  • the position difference determination unit 116 receives the input values d [0],. . . , The input value d [i ⁇ 1] is read from the storage device 12. In addition, the position difference determination unit 116 outputs the external values e [0],. . . , The external value e [i ⁇ 1] is read from the storage device 12. In order to reduce the processing load for determining the position difference m, only the most recent input values and external values may be used. If only the most recent k input values and external values are used, the position difference determination unit 116 receives the input values d [i ⁇ k],. . .
  • Input value d [i ⁇ 1] and external value e [ik],. . . , The external value e [i ⁇ 1] is read from the storage device 12.
  • the external value e [i ⁇ 1] is read from the storage device 12.
  • the position difference determination unit 116 receives the input values d [i ⁇ k],. . . , The position of the extreme value is specified from the input value d [i ⁇ 1], and the data string of the specified extreme value is set to the extreme value a [0],. . . , Extreme value a [p ⁇ 1].
  • p is the number of specified extreme values.
  • the position difference determining unit 116 outputs the external values e [ik],. . . , The position of the extreme value from the external value e [i-1], and the data string of the specified extreme value is converted to the extreme value b [0],. . . , Extreme value b [q-1].
  • q is the number of specified extreme values.
  • the operation of the data decompression apparatus 20 according to the second embodiment corresponds to the data decompression method according to the second embodiment.
  • the operation of the data decompression device 20 according to the second embodiment corresponds to the processing of the data decompression program according to the second embodiment.
  • step S401 is the same as the process in step S201 in FIG.
  • step S404 to step S408 is the same as the processing from step S202 to step S206 in FIG.
  • step S402 the position difference determination unit 216 determines whether or not to newly determine the position difference m by the same determination method used by the position difference determination unit 116 in step S302 of FIG. To do. If the position difference determination unit 216 determines to determine the position difference m (YES in step S402), the process proceeds to step S403. On the other hand, if the position difference determination unit 216 determines that the position difference m is not determined again (NO in step S402), the process proceeds to step S404.
  • the position difference determination unit 216 calculates the reference number of output values. Each time the position difference m is determined. When the position difference determination unit 116 re-determines the position difference m for each cycle of the input data string d, the position difference determination unit 216 re-determines the position difference m for each cycle of the output data string o. . In this case, the position difference determination unit 216 outputs the output values o [0],. . . , The output value o [i ⁇ 1] is read from the storage device 22. Then, the position difference determination unit 216 outputs the output values o [0],. . . , The cycle is specified from the output value o [i ⁇ 1], and the number of output values included in the specified cycle is set as a reference value. In this case, the position difference determination unit 216 also specifies the cycle when determining the position difference m.
  • the position difference determination unit 216 determines the position difference m by the same determination method used by the position difference determination unit 116 in step S303 in FIG. That is, the position difference determining unit 216 shifts the position of the external value of the external data string e corresponding to the output value of the output data string o, thereby determining the shift amount where the output data string o and the external data string e are correlated. Determined as difference m. Specifically, the position difference determination unit 216 specifies and specifies the shift amount at which the peak, that is, the position of the extreme value is close, for the output data string o including the already calculated output values and the external data string e. The shifted amount is determined as the position difference m.
  • the position difference determination unit 216 overwrites the position difference m stored in the storage device 22 with the determined position difference m.
  • the process for determining the position difference m is the same as the process of the position difference determination unit 116 described with reference to FIG. However, when the input value d [v] for the integer v with the position difference determination unit 116 is used, the position difference determination unit 216 uses the output value o [v] instead of the input value d [v].
  • step S302 the position difference determination unit 116 determines that the position difference m is newly determined every time the reference input value is encoded.
  • the position difference determination unit 116 may determine that the position difference m is newly determined when the accuracy of predicting the predicted value p [i] continuously falls below the reference accuracy. The fourth modification will be described with respect to differences from the second embodiment.
  • the position difference determination unit 116 uses the accuracy when the input value d [i ⁇ 1] is predicted without using the external data string e as the reference accuracy. Specifically, the position difference determining unit 116, the predicted value of the input value d which is predicted without using external data sequence e [i-1] p * [i-1] as an input value d [i-1] The absolute value of the residual r * [i ⁇ 1] is used as the reference accuracy. When the reference accuracy is smaller than the absolute value of the residual r [i-1] between the input value d [i-1] and the predicted value p [i-1], the accuracy of the predicted value p [i-1] is It will be below the standard accuracy.
  • the position difference determination unit 116 determines that the reference accuracy is smaller than the absolute value of the residual r [i ⁇ 1] between the input value d [i ⁇ 1] and the predicted value p [i ⁇ 1]. When it is continuous, it is determined that the position difference m is newly determined.
  • step S3021 the position difference determination unit 116 determines whether or not the variable L is equal to or greater than the reference number. If the variable L is greater than or equal to the reference time (YES in step S3021), the position difference determination unit 116 advances the process to step S3022. On the other hand, if the variable L is not greater than or equal to the reference number (NO in step S3021), the position difference determination unit 116 advances the process to step S3023.
  • the position difference determination unit 116 determines to newly determine the position difference m. At this time, the position difference determination unit 116 sets 0 to the variable L.
  • the position difference determination unit 116 determines that the position difference m is not newly determined.
  • the position difference determination unit 116 causes the prediction unit 112 to predict the predicted value p [i-1] of the input value d [i-1] using the external data string e. Further, the position difference determination unit 116 causes the prediction unit 112 to predict the predicted value p * [i ⁇ 1] of the input value d [i ⁇ 1] without using the external data string e.
  • the prediction unit 112 predicts the predicted value p [i ⁇ 1] as in step S102 of FIG.
  • the prediction unit 112 inputs the input values d [0],. . . , The predicted value p * [i-1] of the input value d [i-1] is predicted using the input value d [i-2].
  • the prediction unit 112 sets the input value d [i-2] as the predicted value p * [i-1].
  • the position difference determination unit 116 causes the residual calculation unit 113 to send a residual r [i-1] between the predicted value p [i-1] and the input value d [i-1]. Let's calculate. Further, the position difference determination unit 116 causes the residual calculation unit 113 to calculate the residual r * [i ⁇ 1] between the predicted value p * [i ⁇ 1] and the input value d [i ⁇ 1]. Here, the residual calculation unit 113 calculates the residual r [i ⁇ 1] by subtracting the predicted value p [i ⁇ 1] from the input value d [i ⁇ 1] as in step S103 of FIG. To do. The residual calculation unit 113 subtracts the predicted value p * [i-1] from the input value d [i-1] to calculate a residual r * [i-1].
  • the position difference determination unit 116 determines whether or not the absolute value of the residual r * [i ⁇ 1] is smaller than the absolute value of the residual r [i ⁇ 1]. If the absolute value of the residual r * [i ⁇ 1] is smaller than the absolute value of the residual r [i ⁇ 1], the position difference determination unit 116 proceeds with the process to step S3027. On the other hand, if the absolute value of the residual r * [i ⁇ 1] is greater than or equal to the absolute value of the residual r [i ⁇ 1], the position difference determination unit 116 advances the process to step S3028.
  • step S3027 the position difference determination unit 116 adds 1 to the variable L.
  • step S3028 the position difference determination unit 116 sets 0 to the variable L.
  • step S402 in FIG. 15 the position difference determination unit 216 determines whether or not to determine the position difference m by the same determination method used by the position difference determination unit 116 in step S302 in FIG. 13. Therefore, if the position difference determination unit 116 determines whether to determine the position difference m by the determination method described based on FIG. 16, the position difference determination unit 216 also determines the position difference by the determination method described based on FIG. It is determined whether or not m is determined. That is, the position difference determination unit 216 uses the accuracy when the output value o [i ⁇ 1] is predicted without using the external data string e as the reference accuracy.
  • the position difference determination unit 216 predicts the predicted value p * [i ⁇ 1] and the output value o [i ⁇ 1] of the output value o [i ⁇ 1] predicted without using the external data string e.
  • the absolute value of the residual r * [i ⁇ 1] is used as the reference accuracy.
  • the position difference determination unit 216 determines that the reference accuracy is smaller than the absolute value of the residual r [i ⁇ 1] between the output value o [i ⁇ 1] and the predicted value p [i ⁇ 1].
  • the position difference determination unit 216 uses the output value o [v] instead of the input value d [v].
  • the position difference determination unit 116 of the data compression apparatus 10 cannot use the input value for which the code has not yet been generated for the input data string d to determine the position difference m. This is for the same reason that the prediction unit 112 has not been able to use an input value for which a code has not yet been generated in the description of the first modification.
  • the functions of the respective units of the data compression device 10 and the data decompression device 20 are realized by software.
  • the functions of the respective units of the data compression device 10 and the data decompression device 20 may be realized by hardware.
  • the data compression device 10 and the data decompression device 20 may have some functions realized by hardware and other functions realized by software.
  • Embodiment 3 The third embodiment is different from the second embodiment in that when the positional difference m is determined, the determined positional difference m is verified and appropriately determined again. In the third embodiment, this different point will be described.
  • the data compression apparatus 10 includes a verification unit 117 in addition to the functional configuration shown in FIG.
  • the function of the verification unit 117 is realized by software.
  • the storage device 12 stores a program that realizes the function of the verification unit 117. This program is read into the processor 11 and executed by the processor 11. Thereby, the function of the verification unit 117 is realized.
  • the data decompression device 20 includes a verification unit 217 in addition to the functional configuration shown in FIG.
  • the function of the verification unit 217 is realized by software.
  • the storage device 22 stores a program that realizes the function of the verification unit 217. This program is read into the processor 21 and executed by the processor 21. Thereby, the function of the verification unit 217 is realized.
  • the operation of the data compression apparatus 10 according to the third embodiment will be described with reference to FIGS. 17 and 19.
  • the operation of the data compression apparatus 10 according to the third embodiment corresponds to the data compression method according to the third embodiment.
  • the operation of the data compression apparatus 10 according to the third embodiment corresponds to the processing of the data compression program according to the third embodiment.
  • step S501 to step S503 is the same as the processing from step S301 to step S303 in FIG.
  • the processing from step S506 to step S510 is the same as the processing from step S304 to step S308 in FIG.
  • step S504 the verification unit 117 determines whether or not the position difference m determined by the position difference determination unit 116 in step S503 is valid. If the verification unit 117 determines that the positional difference m is not valid (NO in step S504), the verification unit 117 advances the process to step S505. On the other hand, when the verification unit 117 determines that the position difference m is appropriate (YES in step S504), the verification unit 117 advances the process to step S506.
  • the verification unit 117 predicts a certain input value d [j] for which a code has already been generated in the input data string d, using the position difference m determined by the position difference determination unit 116.
  • the absolute value of the residual r [j] between the value p [j] and the input value d [j] is greater than or equal to the reference value, it is determined that the position difference m is not valid.
  • the verification unit 117 determines that the position difference m is appropriate when the residual r [j] is less than the reference value. Specifically, the verification unit 117 reads the position difference m from the storage device 12.
  • the verification unit 117 causes the prediction unit 112 to predict the predicted value p [j] of the input value d [j] using the position difference m.
  • the variable j is an integer of 0 or more and less than the variable i.
  • the verification unit 117 causes the residual calculation unit 113 to calculate the residual r [j] between the predicted value p [j] and the input value d [j].
  • the verification unit 117 determines whether or not the absolute value of the residual r [j] is less than the reference value.
  • the verification unit 117 may determine whether the positional difference m is valid or not, but the input value that can be used for the determination is the input value d for which a code has already been generated. [0],. . . , The input value d [i ⁇ 1].
  • the verification unit 117 determines whether or not to cause the position difference determination unit 116 to re-determine the position difference m. Specifically, the verification unit 117 determines that the position difference m is not re-determined when it is determined that the position difference m is not valid continuously for a predetermined number of times in step S504, and otherwise, the position difference m is determined. It is determined that the difference m is determined again.
  • step S505 When it is determined that the position difference m is determined again (YES in step S505), the verification unit 117 returns the process to step S503. At this time, the verification unit 117 excludes the position difference m determined to be invalid once, so that the position difference determination unit 116 does not select it again. When the process returns to step S503, in step S503, the position difference determination unit 116 determines the largest position difference among the position differences that are not selected as the position difference m.
  • step S505 the verification unit 117 advances the process to step S506.
  • the verification unit 117 sets the positional difference m to unusable.
  • the prediction unit 112 predicts the predicted value p [i] of the input value d [i] without using the position difference m.
  • the input values d [0],. . . , The predicted value p [i] of the input value d [i] is predicted using the input value d [i-1].
  • the operation of the data decompression apparatus 20 according to the third embodiment corresponds to the data decompression method according to the third embodiment.
  • the operation of the data decompression device 20 according to the third embodiment corresponds to the processing of the data decompression program according to the third embodiment.
  • step S601 to step S603 is the same as the processing from step S401 to step S403 in FIG. Also, the processing from step S606 to step S610 is the same as the processing from step S404 to step S408 in FIG.
  • the verification unit 217 uses the same determination method as the determination method used by the verification unit 117 in step S504 of FIG. 19 to determine the positional difference m determined by the positional difference determination unit 216 in step S603. It is determined whether it is appropriate. In other words, in the third embodiment, the verification unit 217 predicts the predicted value p [j] predicted using the position difference m determined by the position difference determination unit 216 for a certain output value o [j] that has already been calculated. When the absolute value of the residual r [j] with respect to the output value o [j] is greater than or equal to the reference value, it is determined that the position difference m is not valid.
  • the verification unit 217 determines that the positional difference m is appropriate when the residual r [j] is less than the reference value. Specifically, the verification unit 217 reads the position difference m from the storage device 22. Then, the verification unit 217 causes the prediction unit 212 to predict the predicted value p [j] of the output value o [j] using the position difference m.
  • the variable j is an integer of 0 or more and less than the variable i.
  • the verification unit 217 causes the residual calculation unit 213 to calculate the residual r [j] between the predicted value p [j] and the output value o [j]. Then, the verification unit 217 determines whether or not the absolute value of the residual r [j] is less than the reference value.
  • step S604 If the verification unit 217 determines that the position difference m is not valid (NO in step S604), the verification unit 217 advances the process to step S605. On the other hand, if the verification unit 217 determines that the positional difference m is appropriate (YES in step S604), the verification unit 217 advances the process to step S606.
  • the verification unit 217 causes the position difference determination unit 216 to re-determine the position difference m using the same determination method as that used by the verification unit 117 in step S505 of FIG. Determine whether or not. That is, the verification unit 217 determines that the position difference m is not re-determined when it is determined in step S604 that the position difference m is not valid continuously for a certain number of times, and otherwise the position difference m is determined. It is determined to be determined again.
  • step S605 When it is determined that the position difference m is to be determined again (YES in step S605), the verification unit 217 returns the process to step S603. At this time, the verification unit 217 excludes the position difference m determined to be invalid once from the selection target so that the position difference determination unit 216 does not select it again.
  • step S605 the verification unit 217 determines that the position difference m is not determined again (NO in step S605).
  • the verification unit 217 advances the process to step S606.
  • the verification unit 217 sets the positional difference m to unusable.
  • the prediction unit 212 predicts the predicted value p [i] of the output value o [i] without using the position difference m. Specifically, the output values o [0],. . . , The predicted value p [i] of the output value o [i] is predicted using the output value o [i-1].
  • the functions of the respective units of the data compression device 10 and the data decompression device 20 are realized by software.
  • the functions of the respective units of the data compression device 10 and the data decompression device 20 may be realized by hardware.
  • the data compression device 10 and the data decompression device 20 may have some functions realized by hardware and other functions realized by software.
  • 1 data compression system 10 data compression device, 11 processor, 12 storage device, 13 communication device, 14 signal line, 15 processing circuit, 111 input unit, 112 prediction unit, 113 residual calculation unit, 114 encoding unit, 115 output Unit, 116 position difference determination unit, 117 verification unit, 20 data decompression device, 21 processor, 22 storage device, 23 communication device, 24 signal line, 25 processing circuit, 211 input unit, 212 prediction unit, 213 decoding unit, 214 output Value calculation part, 215 output part, 216 position difference determination part, 217 verification part, d input data string, e external data string, c code data string, o output data string.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne un appareil de compression de données (10) qui prédit, au moyen d'une valeur externe (e[i−m]) à une position décalée d'une différence de position (m) par rapport à une valeur externe (e[i]) à une position cible (i) dans une chaîne de données externe (e), une valeur prédite (p[i]) d'une valeur d'entrée (d[i]) à la position cible i dans une chaîne de données d'entrée (d). L'appareil de compression de données (10) calcule, en résidu (r[i]), la différence par rapport à la valeur prédite (p[i]) qui a été prédite. L'appareil de compression de données (10) code alors le résidu (r[i]) calculé, et génère un code (c[i]) portant sur la valeur d'entrée (d[i]).
PCT/JP2015/085875 2015-12-22 2015-12-22 Appareil de compression de données, appareil de décompression de données, programme de compression de données, programme de décompression de données, procédé de compression de données, et procédé de décompression de données WO2017109865A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2015/085875 WO2017109865A1 (fr) 2015-12-22 2015-12-22 Appareil de compression de données, appareil de décompression de données, programme de compression de données, programme de décompression de données, procédé de compression de données, et procédé de décompression de données
JP2017555720A JP6266193B2 (ja) 2015-12-22 2015-12-22 データ圧縮装置、データ伸長装置、データ圧縮プログラム、データ伸長プログラム、データ圧縮方法及びデータ伸長方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/085875 WO2017109865A1 (fr) 2015-12-22 2015-12-22 Appareil de compression de données, appareil de décompression de données, programme de compression de données, programme de décompression de données, procédé de compression de données, et procédé de décompression de données

Publications (1)

Publication Number Publication Date
WO2017109865A1 true WO2017109865A1 (fr) 2017-06-29

Family

ID=59089691

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/085875 WO2017109865A1 (fr) 2015-12-22 2015-12-22 Appareil de compression de données, appareil de décompression de données, programme de compression de données, programme de décompression de données, procédé de compression de données, et procédé de décompression de données

Country Status (2)

Country Link
JP (1) JP6266193B2 (fr)
WO (1) WO2017109865A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022024166A1 (fr) * 2020-07-27 2022-02-03 日本電信電話株式会社 Système et procédé de communication optique

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006118178A1 (fr) * 2005-04-28 2006-11-09 Matsushita Electric Industrial Co., Ltd. Dispositif de codage audio et méthode de codage audio
JP2007019862A (ja) * 2005-07-07 2007-01-25 Nippon Telegr & Teleph Corp <Ntt> 多チャネル信号符号化方法、多チャネル信号復号化方法、それらの方法を用いた装置、プログラム、および記録媒体
JP2013528824A (ja) * 2010-04-13 2013-07-11 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン オーディオまたはビデオエンコーダ、オーディオまたはビデオデコーダ、及び予測方向可変の予測を使用したマルチチャンネルオーディオまたはビデオ信号処理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006118178A1 (fr) * 2005-04-28 2006-11-09 Matsushita Electric Industrial Co., Ltd. Dispositif de codage audio et méthode de codage audio
JP2007019862A (ja) * 2005-07-07 2007-01-25 Nippon Telegr & Teleph Corp <Ntt> 多チャネル信号符号化方法、多チャネル信号復号化方法、それらの方法を用いた装置、プログラム、および記録媒体
JP2013528824A (ja) * 2010-04-13 2013-07-11 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン オーディオまたはビデオエンコーダ、オーディオまたはビデオデコーダ、及び予測方向可変の予測を使用したマルチチャンネルオーディオまたはビデオ信号処理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022024166A1 (fr) * 2020-07-27 2022-02-03 日本電信電話株式会社 Système et procédé de communication optique
JP7393699B2 (ja) 2020-07-27 2023-12-07 日本電信電話株式会社 光通信システム及び光通信方法

Also Published As

Publication number Publication date
JPWO2017109865A1 (ja) 2018-02-01
JP6266193B2 (ja) 2018-01-24

Similar Documents

Publication Publication Date Title
KR101353216B1 (ko) 팩토리얼 펄스 코더를 위한 산술 인코딩
KR101353170B1 (ko) 완전히 활용되지 않는 코드 공간을 압축하는데 산술 스테이지를 이용하는 인코더 및 디코더
ES2871859T3 (es) Codificación entre canales de una señal de audio de banda alta
KR101790463B1 (ko) 오디오/비디오 샘플 벡터의 피라미드 벡터 양자화 인덱싱 및 디인덱싱을 위한 방법 및 장치
US7259698B2 (en) Data encoding apparatus, data encoding method, and recording medium recorded with program
RU2016105682A (ru) Устройство и способ кодирования метаданных объекта с малой задержкой
JP2017511997A (ja) データのソース符号化及び復号の装置及びその方法
KR20190040063A (ko) 인덱스 코딩 및 비트 스케줄링을 갖는 양자화기
CN107251438B (zh) 数据压缩装置及方法、数据解压缩装置及方法和记录介质
US8947274B2 (en) Encoding apparatus, decoding apparatus, encoding method, encoding program, decoding method, and decoding program
KR20200012861A (ko) 디지털 오디오 신호에서의 차분 데이터
JP6266193B2 (ja) データ圧縮装置、データ伸長装置、データ圧縮プログラム、データ伸長プログラム、データ圧縮方法及びデータ伸長方法
CN106537914B (zh) 通过限制的进位运算来执行算术编译的方法和设备
US8638243B2 (en) Data compression device, data compression method, and medium
US20190326927A1 (en) Data compression device and data compression method
US11362679B2 (en) Method and apparatus for generating redundant bits for error detection
JP2006157531A (ja) 動画像符号化復号化装置
JP2007336056A (ja) 符号化装置、符号化方法及びプログラム
JP7345831B2 (ja) 情報処理装置、情報処理方法及びプログラム
US8706788B2 (en) Modular calculator, operation method of the modular calculator, and apparatuses having the same
JPWO2013046504A1 (ja) 算術復号装置、画像復号装置、および算術復号方法
US8805904B2 (en) Method and apparatus for calculating the number of leading zero bits of a binary operation
KR101311617B1 (ko) 저전력 대규모 집적 회로 시스템을 위한 어드레스 버스코딩/디코딩 방법 및 장치
KR101578989B1 (ko) 신호들의 저 복잡성 결합 코딩 및 디코딩을 위한 장치 및 방법
US9558109B2 (en) Method and apparatus for flash memory arithmetic encoding and decoding

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: 15911303

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017555720

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15911303

Country of ref document: EP

Kind code of ref document: A1