METHOD, DEVICE AND COMPUTER PROGRAM PRODUCT FOR COMPRESSING AN INPUT DATA SET

DE502016016873D1Active Publication Date: 2025-01-30ANMELDERANGABEN UNKLAR UNVOLLSTANDIG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE502016016873
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2015-08-10
Filing Date
2016-08-05
Publication Date
2025-01-30
Estimated Expiration
2036-08-05

AI Technical Summary

Technical Problem

Conventional lossy compression methods often compromise quality at higher compression rates, leading to noticeable distortions and artifacts in images, videos, and audio, which can be unacceptable for technical applications.

Method used

A method that determines a tolerance range for each input value, generates encoded lossy values, calculates difference values, and adds correction values only when the differences exceed the tolerance range, ensuring the output data set meets specific quality requirements by combining encoded lossy and correction values.

Benefits of technology

This approach effectively reduces perceptible distortions associated with conventional lossy compression without significantly increasing the compression rate, thereby improving the quality-compression ratio compared to conventional methods.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

[0001] The invention relates to a method, a device and a computer program product for compressing an input data set.

[0002] Data compression is a process by which the amount of digital data is reduced. Data compression is used in almost every digital data transmission today. It helps conserve resources during data transmission by transmitting the data in a format that, depending on the application, requires the lowest possible bandwidth, the shortest possible transmission time, and / or the least possible storage space.

[0003] Essentially, data compression attempts to transmit superfluous information using as few bits as possible. To achieve this, the data is converted into a representation that allows all, or at least most, of the information to be represented in a shorter format. This process is performed by an encoder, and the process is called compression. A decoder reverses the process, which is called decompression. Compression can be lossless or lossy.

[0004] Lossless compression occurs when all the original data can be recovered from the compressed data. This is necessary, for example, when compressing executable program files.

[0005] In contrast, with lossy compression, the original data cannot be recovered from the compressed data, meaning that some of the information is lost. Lossy compression primarily removes information that is unimportant or irrelevant for the perception of that information. These lossy compression methods are used primarily for image or video compression (e.g., JPEG) or audio data compression (e.g., MP3).

[0006] Depending on the compression rate, more or less information is removed during lossy compression. Especially at higher compression rates, the information reduction used can be so great that it is perceptible to a user or unacceptable for a technical application that further processes this data. This becomes noticeable, for example, in compressed images, videos, or music files through a perceptibly reduced quality or the appearance of perceptible artifacts. In technical applications, lossy compression can also lead to incorrect results. For example, the values ​​determined when determining object sizes can be falsified by lossy compression and thus potentially become unusable.

[0007] The publication Z. Wang et al: "SSPQ - spatial domain perceptual image codec based on subsampling and perceptual quantization", 19th IEEE International Conference on Image Processing (ICIP), 2012, IEEE, 30 September 2012, pages 1061-1064, XP032333358, DOI: 10.1109 / ICIP.2012.6467046, ISBN: 978-1-4673-2534-9, discloses an algorithm for image compression based on subsampling and perceptual quantization.

[0008] The publication J. Sole et al: "Transform Coefficient Coding in HEVC", IEEE Transactions on circuits and systems for video technology, IEEE Service center, Piscataway, NJ, US, Vol. 22, No. 12, 1 December 2012, pages 1765-1777, XP011487805, ISSN: 1051-8215, DOI: 10.1109 / TCSVT.2012.2223055, discloses a method for High Efficiency Video Coding (HEVC).

[0009] The document WO 2005 / 036528 A1 discloses a method for encoding a digital signal into a scalable bitstream.

[0010] The publication K. Liu: "A Just Noticeable-Distortion Based Perceptually Lossless Image Compression Codec", June 1, 2012, XP055313903, DOI: http: / / dx.doi.org / 10.18419 / opus-2894, discloses a study on an image compression method based on a Just-Noticeable-Distortion (JND) algorithm.

[0011] It is an object of the present invention to provide a method for compressing an input data set with which the ratio of quality to compression rate can be improved or increased compared to conventional lossy compression methods. Furthermore, it is an object of the present invention to provide a corresponding device and a corresponding computer program product.

[0012] This object is achieved by the subject matter of the independent claims. Advantageous embodiments are the subject matter of the dependent claims.

[0013] A first independent aspect for solving the problem relates to a method for compressing an input data set which comprises one or more input values, in particular a plurality of input values.

[0014] The procedure includes the following steps: for each input value, determining, i.e. determining, measuring or calculating, a tolerance range; generating encoded lossy values ​​by lossy encoding of the input values; generating decoded lossy values ​​associated with the input values, in particular by decoding the encoded lossy values; generating difference values ​​by subtracting each decoded lossy value from the respectively associated input value; comparing each difference value with the respectively associated determined tolerance range in order to establish whether the difference value lies within the respectively associated tolerance range; generating encoded correction values ​​or correction values ​​associated with the encoded lossy values.Refinement values ​​based on the difference values, wherein the encoded correction values ​​are offset values ​​that can be added to the associated encoded lossy values, wherein encoded correction values ​​are only generated for those difference values ​​that lie outside the respectively associated determined tolerance range; and providing an output data set depending on the comparison of the difference values ​​with the tolerance ranges, wherein the provision of the output data set comprises providing combined encoded values, wherein the combined encoded values ​​are obtained by combining the encoded lossy values ​​and those encoded correction values ​​whose associated difference values ​​lie outside the associated determined tolerance range.

[0015] For the purposes of this description, the term "value" generally encompasses information. One or more values ​​can also be referred to as data. One or more, in particular a plurality of values, constitute a data set.

[0016] The input data set can, for example, include values ​​or data of an image, in particular grayscale values ​​of all pixels of a black-and-white image or color values ​​of a color image. The input data set can also, for example, include the grayscale values ​​of all voxels of a 3D computed tomography data set. The input data set can equally well include level and / or frequency values ​​of a piece of music as values ​​within the meaning of the present description.

[0017] The values ​​can, in particular, be sample values, for example, from a sensor that determines a physical quantity temporally and / or spatially. Sensors can, for example, be image sensors or point sensors for a physical quantity such as an electric field, a magnetic field, an electric charge, a mechanical force, etc.

[0018] The input data set preferably comprises only a subset of values ​​or data from an overall data set, e.g., an image or a sensor. In other words, the plurality of values ​​of the input data set is only a subset of an overall data set. The input data set can, for example, comprise one or more bit sequences representing the values ​​of the input data set. In particular, the input data set can comprise a bit data stream, ie, an input bit data stream.

[0019] The input data set can, for example, in the case of an image sensor, comprise a block of 8x8 pixel gray values ​​or a block of 16x16 pixel color values ​​or an image line or even just a single pixel or multiple pixels.

[0020] For a point sensor, the input data set can, for example, comprise a certain number of temporally or spatially adjacent samples. For example, the input data set can comprise ten samples from a photodiode or twenty samples from a Hall sensor.

[0021] A tolerance range is generally understood to be a range of values, i.e., a range between a minimum and a maximum value. The tolerance ranges are determined or specified in such a way that visually lossless compression can be guaranteed or that, for a technical application that further processes the compressed data, no or only an insignificant change in the results obtained or generated by the technical application. In particular, the tolerance ranges are determined in such a way that a compressed and lossy value generated by a lossy encoder that lies within a corresponding tolerance range leads to no or only an insignificant or imperceptible degradation or distortion of the respective or associated input value.In particular, the tolerance ranges are determined in such a way that a compressed and lossy value generated by a lossy encoder, which lies within a corresponding tolerance range, leads only to an acceptable degradation or distortion of the respective or corresponding input value. Acceptable distortion is understood to be a distortion that, depending on the respective technical application, is irrelevant or, at most, is so large that the results, i.e., the compressed values ​​obtained by the lossy compression, are only insignificantly or to an acceptable extent influenced. A compressed and lossy value that lies outside the corresponding tolerance range, on the other hand, can cause a perceptible or unacceptable degradation or distortion of the corresponding input value.For technical applications, a compressed value that lies outside the tolerance range may lead to different, particularly incorrect and / or unacceptable, results.

[0022] The tolerance range(s) are preferably determined based on the input values. Further preferably, a so-called just-noticeable distortion algorithm is used to determine the tolerance ranges. With such an algorithm, it is advantageously possible to determine the tolerance range based on the input values ​​in such a way that visually lossless compression is ensured. In other words, with a just-noticeable distortion algorithm, it is possible to determine the tolerance ranges in such a way that the compressed and lossy values ​​generated by a lossy encoder that lie within the tolerance ranges lead to no degradation or distortion of the input data set, or only to an insignificant or imperceptible degradation or distortion, or to a still acceptable degradation or distortion.

[0023] A tolerance range can, for example, be defined by a maximum and minimum value. However, it is also possible for the tolerance range to be defined solely by a tolerance limit and / or by a threshold value, in particular by a perception or acceptance threshold value. Such a perception or acceptance threshold value specifies the deviation or difference of a lossy value from the original value, above which a perceptible or unacceptable deterioration or distortion occurs. In other words, a perception or acceptance threshold value specifies the deviation or difference of a lossy value from the original value that is possible or permissible, so that this deviation or difference is just no longer perceptible or just barely acceptable. If the tolerance range is defined using a threshold value, the tolerance range can, for example, be given by all values ​​below or above the threshold value.The threshold itself can be within or outside the tolerance range.

[0024] The tolerance range can, for example, define a maximum permissible deviation of a pixel gray value compressed by a lossy encoder from the original gray value, or, for example, define a maximum permissible deviation of a sample value of a sensor signal compressed by a lossy encoder from the original value of the sensor signal.

[0025] The tolerance range can be different for each value. For example, with a blood pressure sensor, the maximum and minimum values ​​are primarily relevant and can be determined with a measurement uncertainty of 10%, while the accuracy of the sampled values ​​between these values ​​is of little relevance. Thus, the tolerance range for the intermediate values ​​can be larger than for the edge values. For thermography used to analyze human body temperature, temperature ranges outside the temperature range of 35°C to 42°C are less relevant and can therefore have a larger tolerance range and thus be compressed with higher losses. For example, for dimensional measurements based on images, the tolerance range for image edges is preferably zero, since the image edges are used for object measurement.However, outside the image edge areas, the tolerance ranges may be different from zero, provided that they have no or only an insignificant influence on the measurement result.

[0026] The generation of encoded lossy values ​​by lossy encoding of the input values ​​is preferably carried out using a lossy encoder such as a JPEG encoder or an MP3 encoder. It should be understood that, depending on the specific application, any existing CODEC or lossy encoder can be used for this purpose.

[0027] The generation of decoded lossy values ​​corresponding to the input values ​​can be achieved using a decoding unit or a corresponding decoder. In particular, the decoded lossy values ​​corresponding to the input values ​​can be generated by decoding the encoded lossy values.

[0028] By generating difference values ​​by subtracting each decoded lossy value from the corresponding input value, the loss or distortion resulting from the lossy compression or encoding performed is determined.

[0029] By comparing each difference value with the corresponding determined tolerance range, it is determined whether the difference value lies within the corresponding tolerance range or within the corresponding tolerance limit. Thus, the tolerance range associated with the respective difference value is always used for the comparison, i.e., the tolerance range that corresponds to the input value from which the respective difference value was generated.

[0030] The generated encoded correction values ​​are, in particular, offset values ​​or refinement values, which can be added or summed to the corresponding encoded lossy input values ​​in such a way that the distortion of the output values ​​provided by the method is limited or that the decoded values ​​provided by the method lie within the tolerance range. With the help of the correction or refinement values, the distortion caused by the lossy compression or

[0031] The distortion caused by encoding the input values ​​can be at least partially compensated.

[0032] A correction value associated with an input value can, for example, be the corresponding difference value. Alternatively, a correction value associated with an input value can be the difference between the corresponding difference value and a corresponding tolerance limit.

[0033] Like the input data set, the output data set preferably comprises one or more output values. The output data set may, for example, comprise one or more bit sequences representing the values ​​of the output data set. In particular, the output data set may comprise a bit data stream.

[0034] The provision of the output data set may in particular comprise outputting and / or transmitting and / or displaying.

[0035] With the aid of the method according to the invention, lossy compression can be carried out very effectively, e.g. using a known CODEC. With the aid of the tolerance range determined from the input data set, it can advantageously be ensured that the output data set provided by the method meets a specific quality requirement. In particular, with the aid of the method according to the invention, perceptible distortions or artifacts that accompany the lossy compression of a conventional encoder can be reduced or avoided in a very efficient manner, i.e. without significantly increasing the compression rate. Consequently, with the method according to the invention, the ratio of quality to compression rate can be improved or increased compared to conventional lossy compression methods.

[0036] In a preferred embodiment of the method according to the invention, the generation of the encoded correction values ​​comprises a lossless or lossy encoding and / or compression of the difference values.

[0037] For lossy compression, the correction values ​​or difference values ​​can be quantized. Alternatively or additionally, the quantized correction values ​​can be encoded or compressed using an entropy encoder.

[0038] In a further preferred embodiment, the generation of the encoded correction values ​​comprises a lossless encoding and / or compression of the difference between the difference values ​​and a tolerance limit, which is preferably determined using a just-noticeable distortion algorithm.

[0039] Lossless encoding advantageously ensures that all distortions of decoded output values ​​lie within the respective tolerance ranges or tolerance limits.

[0040] In a further preferred embodiment, the generation of encoded correction values ​​takes place as a function of the comparison of the difference values ​​with the tolerance ranges.

[0041] An encoded correction value is only generated if the corresponding difference value lies outside the determined tolerance range or tolerance limit. This advantageously saves computing time and computing power. Furthermore, the data volume resulting from the generated correction values ​​can be kept to a minimum. In other words, encoded correction values ​​are only generated for those difference values ​​that lie outside the respective determined tolerance range. In other words, encoded correction values ​​are only generated for those input values ​​whose corresponding difference values ​​lie outside the respective determined tolerance range.

[0042] In a further preferred embodiment, providing or outputting the output data set comprises providing or outputting the encoded lossy values. Alternatively or additionally, providing or outputting the output data set comprises providing or outputting the encoded correction values. Further alternatively or additionally, providing or outputting the output data set comprises providing or outputting combined encoded values, wherein the combined encoded values ​​represent a combination of the encoded lossy values ​​and the encoded correction values.

[0043] By providing or outputting the encoded lossy values, it can advantageously be ensured that even a conventional decoder, such as a standard JPEG decoder, can decode or decompress the output data or the output data set. Although no improvement in quality is achieved, the output data set can still be decoded with a conventional decoder at the conventional quality and used further.

[0044] Providing or outputting the encoded correction values ​​and / or combined encoded values ​​is particularly advantageous if the encoded correction values ​​and / or the combined encoded values ​​can be processed by a decoder, so that the decoder is able to provide decoded data with improved quality.

[0045] Providing or outputting the output data set comprises providing or outputting combined encoded values, wherein the combined encoded values ​​are obtained by combining, in particular transmitting and / or adding, the encoded lossy values ​​and those encoded correction values ​​whose associated difference values ​​lie outside the associated determined tolerance range. The combining, transmitting, or adding can be performed, for example, using a multiplexer.

[0046] A further independent aspect of solving the problem concerns a device for compressing an input data set comprising one or more input values. The device comprises: a tolerance range determination unit for determining a tolerance range or a tolerance limit; an encoder for generating encoded lossy values ​​by lossy encoding of the input values; a decoding unit for generating decoded lossy values ​​associated with the input values, in particular by decoding the encoded lossy values; a subtraction unit for subtracting each decoded lossy value from the respective associated input value and generating difference values; a comparison unit for comparing each difference value with the respective associated determined tolerance range to determine whether the difference value lies within the respective associated tolerance range;a correction value generation unit for generating encoded correction values ​​associated with the encoded lossy values ​​on the basis of the difference values, wherein the encoded correction values ​​are offset values ​​that can be added to the associated encoded lossy values, wherein the correction value generation unit is designed to generate encoded correction values ​​only for those difference values ​​that lie outside the respectively associated determined tolerance range;and an output data set provision unit for providing or outputting an output data set depending on a comparison of the difference values ​​with the tolerance ranges, wherein the output data set comprises combined encoded values, wherein the combined encoded values ​​are composed of the encoded lossy values ​​and those encoded correction values ​​whose associated difference values ​​lie outside the associated determined tolerance range. ;

[0047] In a preferred embodiment, the encoder for generating encoded lossy values ​​is a JPEG encoder, an MP3 encoder, an MPEG encoder, or an H265 encoder. In particular, the encoder for generating encoded lossy values ​​can be a JPEG 2000, JPEG XR, or JPEG LS encoder. Alternatively or additionally, the decoding unit for generating decoded lossy values ​​associated with the input values ​​is preferably a decoder, e.g., a JPEG decoder, an MP3 decoder, an MPEG decoder, or an H265 decoder. In particular, the decoding unit for generating decoded lossy values ​​associated with the input values ​​can be a JPEG 2000, JPEG XR, or JPEG LS decoder. Alternatively or additionally, the tolerance range determination unit is preferably designed to determine the tolerance range based on a just-noticeable distortion algorithm.Alternatively or additionally, the correction value generation unit preferably comprises a quantization unit, in particular a perceptual quantization unit, and / or an entropy encoder. Alternatively or additionally, the output data set output unit preferably comprises a multiplexer, in particular for generating and / or outputting combined encoded values ​​and / or for providing the output data set, e.g., in the form of a bit data stream.

[0048] A further independent aspect for solving the problem relates to a computer program product which comprises machine-readable program code which, when loaded onto a computer, is suitable for carrying out a method according to the invention.

[0049] The above-mentioned further independent aspects and in particular the related preferred embodiments are also subject to the above-mentioned or below statements regarding the embodiments of the first aspect. In particular, the above-mentioned and below statements regarding the embodiments of the respective other aspects also apply to an independent aspect of the present invention and the related preferred embodiments.

[0050] In the following, individual embodiments for achieving the object are described by way of example with reference to the figures. In some cases, the individual embodiments described have features that are not absolutely necessary to carry out the claimed subject matter, but which provide desired properties in certain applications. Thus, embodiments that do not have all the features of the embodiments described below are to be regarded as falling within the scope of the described technical teaching. Furthermore, to avoid unnecessary repetition, certain features are only mentioned in relation to individual embodiments described below. It is pointed out that the individual embodiments should therefore not only be considered in isolation but also in conjunction with one another.Based on this overview, those skilled in the art will recognize that individual embodiments may also be modified by incorporating one or more features of other embodiments. It is noted that a systematic combination of the individual embodiments with one or more features described with reference to other embodiments may be desirable and useful, and should therefore be considered and considered to be encompassed by the description. Short description of the drawings

[0051] Figure 1 shows a schematic representation of the fundamental blocks of a JND model in the pixel domain; Figure 2 shows matrices for calculating the average background luminescence and the local contrast in four directions; Figure 3 shows a schematic representation of the method and device according to an embodiment of the invention; Figure 4 shows a schematic representation of the method and device according to the invention based on an exemplary image compression using JPEG; Figure 5 shows photographic images of the perceptible distortion in an exemplary standard JPEG-compressed image, wherein a) shows three original images, b) an enlarged section of each of the three original images, c) the corresponding enlarged sections of the JPEG-compressed image, and d) the visually perceptible distortions of the JPEG-compressed images in the corresponding enlarged sections according to JND.Figure 6a shows a schematic representation of a quadtree division of an 8 x 8 block into 2 x 2 sub-blocks; Figure 6b shows an exemplary raster scan in a 2 x 2 sub-block for determining correction or refinement values; Figure 7 shows the 16 possible fixed patterns of a 2 x 2 sub-block; Figure 8 shows a table with a probability distribution of the fixed patterns and the associated Huffman codeword; Figure 9 shows a table for the compression performance of the method according to the invention.of the device according to the invention compared to the compression performance of a standard JPEG image; Figure 10 shows photographs for visual comparison of an image compressed using the method according to the invention with a corresponding JPEG compressed image, wherein a) shows the original test image, b) an enlarged section of the original test image, c) a visually lossless JPEG image of the enlarged section, d) a JPEG image of the enlarged section with medium quality, and e) an image of the enlarged section compressed using the method according to the invention. Detailed description of the drawings

[0052] The Figure 1shows a schematic representation of the fundamental blocks of a Just-Noticeable Distortion (JND) algorithm in the pixel domain using an example image. The image is evaluated using luminescence masking on the one hand and texture masking on the other, e.g., contrast measurement, edge detection, or texture classification. The resulting evaluation results f 1 and f 2 are combined using a nonlinear additive function, which calculates a Just-Noticeable Distortion or a JND value.

[0053] The JND value is a perceptual threshold that indicates the degree to which a value deviates from an original value, e.g., a compressed pixel grayscale value from the original grayscale value, a perceptible deterioration in quality, e.g., image quality, occurs. In particular, the JND model takes into account known properties of the human visual system (HVS).

[0054] There are several mathematical models available in the state of the art for calculating the JND value. In the spatial domain, the JND value is typically determined based on an N x N block of the original image by measuring known HVS masking effects such as luminescence masking and texture masking. The main differences between the previously proposed JND models in the pixel domain lie in the different approaches for evaluating texture masking effects and in the additive function used.

[0055] In the following, an exemplary JND model is briefly described: Let bg ( i,j ) the average local background luminescence and mg(i, j ) the maximum local luminescence activity within a block, which is located at the pixel location ( i , j ) is centered. It should also be p a pixel value. Then: bg i j = 1 32 ∑ m = 1 5 ∑ n = 1 5 p i − 3 + m , j − 3 + n ⋅ B m n and mg i j = max k = 1 , 2 , 3,4 grad k i j where grad k i j = 1 16 ∑ m = 1 5 ∑ n = 1 5 p i − 3 + m , j − 3 + n ⋅ G k m n

[0056] In the Figure 2 are the values ​​for B and G k shown. Furthermore, f 1 ( i , j ) a model for the texture masking effect and f 2 ( i , j ) a model for the luminescence masking effect, then the JND threshold is: JND i j = max f 1 bg i j , mg i j , f 2 bg i j

[0057] As equation (4) shows, the JND value is determined by the effect of texture masking and the effect of luminescence masking. For further details, especially on the calculations of f 1 and f 2, reference is made to the publication by C.-H. Chou and Y.-C. Li, "A perceptually tuned subband image coder based on the measure of just-noticeable-distortion profile", Circuits and Systems for Video Technology, IEEE Transactions on, vol. 5, no. 6, pp. 467-476, December 1995.

[0058] For the method and device according to the invention, the JND algorithm described above can be used to determine the tolerance ranges or tolerance limits. However, it is understood that other algorithms or models can also be used to determine the tolerance range. This applies in particular to technical applications for which no JND function exists.

[0059] The Figure 3 shows a schematic representation of the method or device 100 according to an embodiment of the invention.

[0060] The device 100 can compress an input data set 10 and provide or output an output data set 90. The device 100 comprises a tolerance range determination unit 20, a lossy encoder 30, a decoding unit 40, a subtraction unit 50, a correction value generation unit 60, a comparison unit 70, and an output data set provision unit 80 for providing the output data set 90. The lossy encoder 30 and the decoder 40 form a lossy CODEC 35.

[0061] With the help of the tolerance range determination unit 20, a tolerance range T(i) is determined for each i-th value of the input data set 10. The tolerance range can be determined for each value of the input data set 10 depending on the location and on values ​​adjacent to the respective value. The determination of the tolerance range can be based in particular on a just-noticeable distortion algorithm, as is exemplified by the Figures 1 and 2 As explained above, it is also possible for the tolerance ranges to be determined, specified, or defined in a different way. For example, in thermography, the tolerance range may depend on the temperature value itself. For example, for dimensional measurement of images, the tolerance range at the edges of the images may be equal to or almost zero, i.e., very small, since the image edges can influence the measured values.

[0062] Encoder 30 generates encoded lossy values ​​based on the input values ​​or input data set 10. One or more of these lossy values ​​may violate the tolerance range, i.e., lie outside the tolerance range and thus cause perceptible distortion.

[0063] To identify these values ​​that lie outside the tolerance range, decoded lossy values ​​associated with the input values ​​are generated with the aid of the decoding unit 40. The decoding unit 40 is a unit for generating decoded values. Preferably, the decoding unit 40 is a decoder.

[0064] The decoded data or the decoded lossy values ​​can be generated, for example, by decoding the encoded lossy values. However, the decoded data can be generated not only by direct or complete decoding, but also in other ways. Two examples are given below: Typically, an encoder consists of three parts. In the first part, a signal transformation is calculated or the difference between an i-th input value and an estimated value is calculated. In the second part, quantization is performed, which generates the losses, and in the third part, lossless entropy coding is carried out. If, instead of the data at the output of the entropy encoder, the data after quantization, i.e. before entropy coding, is passed to the decoding unit 40, no entropy decoding needs to be carried out in this unit 40.

[0065] Another example of a decoding unit 40 that determines the decoded data without decoding using a decoder is a unit that can calculate the decoded data directly from the original data using an analytical formula. An example of such a formula would be to increase each i-th value with an odd i by one grayscale value and to decrease each i-th value with an even i by one grayscale value. The prerequisite for using this formula is that it exactly describes the change in the values ​​at the input due to the lossy encoding.

[0066] Each decoded lossy value is subtracted from the respective corresponding input value of the input data set 10 by means of the subtraction unit 50, thereby generating difference values.

[0067] Each of the difference values ​​generated is compared with the respective associated determined tolerance range using the comparison unit 70, ie such a comparison is carried out for each value of the input data set 10 and, for example, a comparison value is determined.

[0068] With the aid of the correction value generation unit 60, encoded correction values ​​are generated based on the difference values. For example, a lossless or lossy compression of the difference value of one or each i-th lossy value is performed.

[0069] Depending on the comparison result of the comparison unit 70, an output data set 90 is provided by the output data set provision unit 80. If a value decoded by the decoding unit or the decoder 40 does not lie within the tolerance range, the corresponding correction value, in particular the corresponding lossless or lossy compressed difference value, is transferred to the lossy values ​​compressed by the encoder 30 or to the corresponding lossy value compressed by the encoder 30. This decision criterion is in the Figure 3 indicated by switch 75.

[0070] The output data set 90 can thus comprise the lossy values ​​compressed with the encoder 30 and / or the transmitted correction values ​​and / or a combination thereof. In particular, the output data set can comprise a bit data stream composed of a bit data stream of the lossy compressed values ​​that partially violate the tolerance range and an additional bit data stream of compressed correction values ​​or difference values.

[0071] For example, in a time-division multiplexing process, data from the lossy values ​​and the correction values ​​can be transmitted alternately. To characterize the start and end of the alternating data from the lossy values ​​and the correction values ​​of these transmissions, markers in the form of passwords can be inserted into the data stream, or time allocations for the transmission of the data can be defined.

[0072] The Figure 4shows a schematic representation of a method and apparatus 200 according to an exemplary embodiment of the present invention. In this exemplary embodiment, image compression is performed using the JPEG codec. The apparatus 200 can therefore also be referred to as a visually lossless encoder.

[0073] The device 200 comprises a standard JPEG encoder 130 and a standard JPEG decoder 140, a spatial domain just-noticeable distortion measuring unit 120, a decision or comparison unit 170 which performs a pixel-by-pixel comparison of the distortion caused by the JPEG compression and the perception threshold determined by the JND measuring unit 120, and a correction value generation unit which, in this embodiment, comprises a quantization unit 160 and an encoding unit 165 and which provides or encodes refinement information for those JPEG-encoded pixels whose distortion exceeds the perception threshold.

[0074] The entrance of the Figure 4The device 200 shown is a set of original pixels (SOP) to be encoded. An SOP can, for example, in the case of JPEG, be an 8 x 8 block of an original image. The SOP forms the input data set of the standard JPEG encoder 130, which generates a JPEG-encoded bit stream for the SOP. The encoded bit stream or an equivalent set of information, e.g., quantized coefficients of a discrete cosine transform, is then forwarded to the online JPEG decoder 140, which reconstructs a set of decoded pixels (SDP). The distortion D resulting from the JPEG compression is given by the difference between SOP and SDP. In the meantime or at the same time, a visibility threshold (VT for short) is determined or measured for each pixel of the SOP using the JND model in the pixel domain or using the JND unit 120.After a pixel-by-pixel comparison between D and VT, locations where distortions occur that exceed the perception threshold are marked as locations exhibiting perceptual or visual distortion. The visual quality at such locations must therefore be improved for visually lossless encoding or compression. If a pixel location or a pixel needs to be refined, the distortion associated with the pixel is first compressed using quantization or a quantization unit 160 and then entropy-encoded with the entropy encoder 165 together with other additional information such as location, quantization threshold, etc. During quantization, it should be ensured that the finally decoded pixels exhibit a maximum distortion, which is given by VT.

[0075] All encoded information used to refine pixel quality beyond standard JPEG is referred to as the visual refinement bitstream. Finally, the bitstream generated by the JPEG encoder 130 is combined with the visual refinement bitstream using a multiplexer 180 to form the visual lossless bitstream for the SOP.

[0076] Unlike conventional image encoders, which use the original image only for compression, the inventive method additionally uses the original image to determine the distortion caused by standard JPEG compression and to determine a perceptual threshold based on a known JND model. Encoding the visual refinement information for JPEG-encoded pixels with distortions beyond the perceptual threshold is based on quantizing the distortion and transmitting the location of the perceptual or visible distortion.

[0077] The effectiveness of using the JND model described above to locate pixels with perceptible distortions in a standard JPEG-decoded image is in the Figure 5 illustrated.

[0078] The Figure 5shows photographic images of the perceptible distortion in an exemplary standard JPEG compressed image. Figure 5a ) three original images were shown, while in the Figure 5b ) an enlarged section of the three original images is shown. In the Figure 5c ) The corresponding enlarged sections of the JPEG compressed image with a quality factor of 85 are shown, and in the Figure 5d ) The visually perceptible distortions of the JPEG-compressed images are shown in the corresponding enlarged sections, which were determined using the JND model.

[0079] For each pixel in the enlarged section of the Figure 5The difference between the original pixels and the JPEG-decoded pixels was calculated and compared with a perceptual threshold determined by the JND model based on the original image. Those pixel areas for which the JPEG-encoded distortions exceed the perceptual threshold are shown in the Figure 5d ) as white dots. There can be a clear correlation between the pixel locations in the JPEG images of the Figure 5c ), where distortion is noticeable and the pixel locations that are in the Figure 5d ) marked as white dots.

[0080] If a decoded pixel is identified using the JND model with a perceptible distortion due to standard JPEG compression, the invention transmits a correction or refinement value for this pixel in addition to the standard JPEG bit stream. This correction value can be considered a deterministic offset value added to the standard JPEG-decoded pixel value such that the distortion in the final decoded pixel lies within the JND tolerance range or below the JND threshold.

[0081] In principle, there are two options for generating or transmitting the correction value: i) Transmitting the difference between the JPEG-induced distortion and the JND threshold, or ii) Transmitting the JPEG-induced distortion itself.

[0082] In case i), the difference value must be encoded losslessly, otherwise it cannot be guaranteed that the distortion in the decoded pixel lies within the tolerance range of the JND model. In case i), a distortion in the final decoded image is always equal to the JND threshold.

[0083] Case ii), on the other hand, allows for lossy compression, e.g., by quantizing the correction value such that the final decoded pixel value lies within a blur range around the original pixel value, where the blur range is specified by the JND threshold. The quantization unit must then ensure an upper limit for the distortion.

[0084] For example, the following quantization can be used: Q ε i , j = sign ε i , j ε i , j + δ i , j 2 δ i , j + 1 where i, j are the row and column indices of a pixel, and where ε i , jthe JPEG-induced distortion. The lossy coding parameter δ sets the maximum coding error. The size of the quantization step is given by 2 δ + 1. In JPEG-LS, the value of δ for a full scan. Since JND provides the perception threshold for the final decoded distortion, δ i , j = | JND ( i , j )|, which effectively limits the perceptibility of quantization artifacts. Dequantization can be performed as follows: ε ^ i , j = Q ε i , j ⋅ 2 δ i , j + 1 where ε̂ is the dequantized distortion. From equation (6) it is clear that a decoder needs information about both the pixel location and the lossy quantization parameter, which is derived from the signal at the pixel location ( i , j ) measured JND value is required.

[0085] For improved coding efficiency, the transmission of the lossy quantization parameter can be omitted by predefining it as the lower limit of all JND values ​​measured over the entire image. It can be shown that under normal viewing conditions, the lower limit of the JND value is equal to 3. Thus, for the results presented in the present invention, δ i , j = 3, ∀ i , j ∈ 1 ...N set, where N depends on the respective image size.

[0086] The quantized correction value can be encoded using a hardware-efficient entropy encoder. The remaining information required for decoding is the location of the JPEG-decoded pixels whose distortions exceed their respective perceptual thresholds.

[0087] To signal the location of a JPEG decoded pixel whose distortion exceeds its perceptual threshold, a so-called quadtree representation can be used. Figure 6a ) shows an example of a subdivision of an 8 x 8 block 210 into four 4 x 4 sub-blocks 220, wherein each of the four 4 x 4 sub-blocks 220 can in turn be divided into four 2 x 2 sub-blocks 230.

[0088] A first bit is initially sent to indicate whether the current set of JPEG-decoded pixels, i.e., an 8 x 8 block, contains perceptible distortion. If the 8 x 8 block contains perceptible distortion, it is split and the four 4 x 4 sub-blocks are again examined for pixels with perceptible distortion. A single bit is sent for each 4 x 4 sub-block to indicate whether it contains perceptible distortion. If it contains perceptible distortion, the 4 x 4 block is split and each of the resulting 2 x 2 sub-blocks is raster-scanned as described in the Figure 6b shown, examined for pixels with a perceptible distortion.

[0089] After each scan, a refinement pattern consisting of 4 bits is generated, where a bit has the value 1 if the scanned pixel has a perceptible distortion, and 0 otherwise. Figure 7The 16 possible refinement patterns for a 2 x 2 subblock are shown.

[0090] For each set of original pixels, three types of local distortion information can be signaled or transmitted: 1 bit distortion perception for the 8 x 8 block, 1 bit distortion perception for the 4 x 4 block, and 4 bit refinement patterns for each 2 x 2 block.

[0091] At the 8 x 8 block level, the 1-bit distortion perceptual information did not exhibit a significantly unbalanced distribution. Therefore, for the tests conducted within the scope of this invention, this bit was transmitted without entropy coding. Accordingly, no entropy coding was performed for the 1-bit distortion perceptual information of the 4 x 4 subblock. Within the 2 x 2 subblock, however, the refinement patterns exhibited an unbalanced distribution, so entropy coding, e.g., according to Huffman, is appropriate and was applied here.

[0092] The table of Figure 8 shows the probability distribution of the refinement patterns and the corresponding Huffman codewords, noting that the distributions were measured using a medium JPEG quality as the base codec.

[0093] The table of Figure 9shows experimental results of the method according to the invention in comparison to a conventional standard JPEG compression of ITU-T test images. The second and third columns of this table show the compressed size in bits per pixel (bpp) for a JPEG compression with high quality, i.e. for a visually lossless JPEG compression (JPEG VL), and a JPEG compression with medium quality (JPEG MQ). The fourth column of the table shows the size of the additional information (side info) which is generated according to the method according to the invention, e.g. by generating the correction values. The fifth column of the table gives the total size according to the method according to the invention, while the sixth column shows the percentage improvement (gain) of the inventive method compared to the conventional standard JPEG compression with the same image quality.

[0094] As the table in the Figure 9 As can be seen, the performance of the method according to the invention is between 30% and 70% higher, ie on average by about 50%, than that of the conventional standard JPEG codec.

[0095] The Figure 10 shows a visual comparison of an original image (image a and b), the corresponding JPEG compressed image with high quality (image c), the corresponding JPEG compressed image with medium quality (image d), and the corresponding image compressed with the method according to the invention (image e). The Figure 10It can be seen that the image e) compressed using the method according to the invention is qualitatively comparable to the high-quality JPEG-compressed image, ie, image c), and that a difference to the original image b) is barely discernible. Furthermore, it can be seen that perceptible artifacts that occur in the medium-quality JPEG-compressed image, ie, image d), could be effectively reduced or avoided by the method according to the invention.

[0096] The method according to the invention or the device according to the invention can be implemented efficiently in standard software or hardware, in particular in real-time software or hardware, which is also compatible with conventional compression standards. List of reference symbols

[0097] 10Input data set 20Tolerance range determination unit 30Lossy encoder 35Lossy codec 40Decoding unit / Decoder 50Subtraction unit 60Correction value generation unit 70Comparison unit 75Symbolic switch 80Output data set provision unit 90Output data set 100Device / Perceptually lossless encoder 120Just-noticeable distortion unit 130JPEG encoder 140JPEG decoder 150Subtraction unit / Subtractor 160Quantization unit 165Entropy encoder 170Comparison unit 180Multiplexer 200Device / Visually lossless encoder 2108 x 8 block 2204 x 4 sub-block 2302 x 2 sub-block

Claims

1. Method for compressing an input data set (10) which comprises one or more input values, comprising the steps of: - for each input value, determining a tolerance range; - generating encoded lossy values by lossy encoding of the input values; - generating decoded lossy values associated with the input values (10), in particular by decoding the encoded lossy values; - generating difference values by subtracting each decoded lossy value from the respectively associated input value; - comparing each difference value with the respectively associated determined tolerance range in order to ascertain whether the difference value is within the respectively associated tolerance range; - generating encoded correction values associated with the encoded lossy values on the basis of the difference values, wherein the encoded correction values are offset values which can be added to the associated encoded lossy values, wherein encoded correction values are generated only for the difference values that are outside the respectively associated determined tolerance range; and - supplying an output data set (90) based on the comparison of the difference values with the tolerance ranges, wherein supplying the output data set (90) includes supplying combined encoded values, wherein the combined encoded values are obtained by merging the encoded lossy values and the encoded correction values that have associated difference values that are outside the associated determined tolerance range.

2. Method according to claim 1, wherein generating the encoded correction values comprises lossless or lossy encoding and / or compression of the difference values.

3. Method according to claim 1, wherein generating the encoded correction values comprises lossless encoding and / or compression of the difference between the difference values and a tolerance limit.

4. Device (100) for compressing an input data set (10) which comprises one or more input values, comprising: - a tolerance range determination unit (20) for determining a tolerance range; - an encoder (30) for generating encoded lossy values by lossy encoding of the input values; - a decoding unit (40) for generating decoded lossy values associated with the input values, in particular by decoding the encoded lossy values; - a subtraction unit (50) for subtracting each decoded lossy value from the respectively associated input value and generating difference values; - a comparison unit (70) for comparing each difference value with the respectively associated determined tolerance range in order to ascertain whether the difference value is within the respectively associated tolerance range; - a correction value generation unit (60) for generating encoded correction values associated with the encoded lossy values on the basis of the difference values, wherein the encoded correction values are offset values which can be added to the associated encoded lossy values, wherein the correction value generation unit (60) is configured to generate encoded correction values only for the difference values that are outside the respectively associated determined tolerance range; and - an output data set supply unit (80) for supplying an output data set (90) based on a comparison of the difference values with the tolerance ranges, wherein the output data set (90) comprises combined encoded values, wherein the combined encoded values are merged from the encoded lossy values and the encoded correction values that have associated difference values that are outside the associated determined tolerance range.

5. Device according to claim 4, wherein the encoder (30) for generating encoded lossy values is a JPEG encoder, an MP3 encoder, an MPEG encoder or an H265 encoder, and / or wherein the decoding unit (40) for generating decoded lossy values associated with the input values is a decoder, and / or wherein the tolerance range determination unit (20) is configured to determine the tolerance range on the basis of a just-noticeable-distortion algorithm, and / or wherein the correction value generation unit (60) comprises a quantisation unit and / or an entropy encoder, and / or wherein the output data set supply unit (80) comprises a multiplexer.

6. Computer program product which comprises machine-readable program code which, when loaded on a computer, configures the computer to carry out a method according to any of claims 1 to 3.