EP4014494A1 - Verfahren zur bereitstellung von inhalt mit mindestens einem bild und dateiformat - Google Patents
Verfahren zur bereitstellung von inhalt mit mindestens einem bild und dateiformatInfo
- Publication number
- EP4014494A1 EP4014494A1 EP20768276.6A EP20768276A EP4014494A1 EP 4014494 A1 EP4014494 A1 EP 4014494A1 EP 20768276 A EP20768276 A EP 20768276A EP 4014494 A1 EP4014494 A1 EP 4014494A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- coefficients
- file
- image
- sets
- computer
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000013139 quantization Methods 0.000 claims description 28
- 238000011144 upstream manufacturing Methods 0.000 claims description 22
- 230000001131 transforming effect Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000006835 compression Effects 0.000 description 18
- 238000007906 compression Methods 0.000 description 18
- 238000004590 computer program Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 239000003086 colorant Substances 0.000 description 10
- 230000009466 transformation Effects 0.000 description 10
- 230000000750 progressive effect Effects 0.000 description 8
- 230000008707 rearrangement Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006837 decompression Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
- H04N19/645—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/164—Feedback from the receiver or from the transmission channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the present invention relates to a method for encoding an image-type computer file, a method for decoding an image-type computer file and a file format obtained by implementing the method that is the subject of the present invention. It applies, in particular, to the encoding of images intended for digital transmission.
- JPEG Joint Photography Experts Group
- PNG Portable Network Graphie
- GIF Graphics Interchange Format
- JPEG is excellent for photos but handles synthetic images very poorly (drawings, graphics, etc.). It does not manage transparency. A progressive mode and a lossless version exist, but are not universally supported. The compression speed is excellent, as is the decompression speed.
- PNG is a lossless format which therefore renders an identical pixel-to-pixel image to the original. It handles synthetic images very well (including those with transparency), and photos well in cases where it is necessary to keep the original quality. A progressive mode is possible, as well as using indexed colors.
- An unofficial variant not supported by browsers, called APNG for "Animated Portable Network Graphics", translated as “Animated Portable Network Image"
- APNG for "Animated Portable Network Graphics", translated as “Animated Portable Network Image”
- Its compression speed is average (5 to 10x slower than the JPEG), that of excellent decompression.
- GIF is particularly intended for moving images. Using 8-bit indexed colors, it is limited to 255 colors + transparency or 256 colors, which sometimes gives visually poor results with video content. It does not support progressive display. This format is also very fast to compress as to decompress.
- WebP is newer than previous formats, it brings together most of the capabilities of each of the previous formats, while improving compression rates. It allows to compress with or without loss (s), supports the alpha channel as well as the indexed colors, and manages the animations. However, it does not have a progressive mode. Its compression speed is poor (up to 60x slower than JPEG), and its decompression speed good.
- the present invention aims to provide a format combining the qualities of all existing formats without their drawbacks or restrictions, i.e. a format managing lossy or lossless compression, photos such as synthetic images, indexed colors and transparency. , animations, progressive display, while providing interesting compression rates and excellent compression and decompression speeds. It also aims to expand the possibilities by relying on the capabilities of modern browsers, which are further made available for dedicated and cross-platform applications by technologies like npm / electron (a package manager) or webview.
- the present invention is aimed at a method of providing content comprising at least one image, which comprises: a step of hosting, in a computer memory, a computer file representative of at least one graphic element of at least one image, called a “permanent file”, said file storing, in a single frame, at least two distinct packets representative of the same graphic element, each said packet being representative of the graphic element according to a resolution of different image, a step of sending, by computer equipment, a request to receive a temporary computer file, said request comprising at least one resolution value and / or at least one graphic element identifier to be included in the temporary file, a step of generation, of a temporary computer file from the permanent file according to at least one resolution value and / or at least one graphic element identifier compo rtée in the reception request, said generation step comprising: a step of selective duplication of at least one packet, as a function of at least one resolution value and / or at least one graphic element identifier included in the request reception, in the
- This invention differs from the prior art, in particular, in that a file contains all the tiles (indicated as picture elements which can be used as tiles), and that the data of a tile is not. not independent.
- the permanent file includes header information comprising at least one byte offset value between two packets representative of the graphic element according to a different image resolution, the method which is the subject of the present document.
- the invention further comprising a step of converting a resolution value of the request sent by the computer equipment into a byte offset value in the frame, said offset value being implemented during the process. selective duplication step.
- the method that is the subject of the present invention comprises a step of encoding a computer file of image type, which comprises: a step of discrete wavelet transform of the image to produce: a first set of coefficients of wavelets, a second set of wavelet coefficients, a third set of wavelet coefficients and a fourth set of wavelet coefficients, for each set of coefficients, a step of quantizing the coefficients, an independent arithmetic coding step for each of the first, second, third and fourth sets of quantized coefficients and a step of recording the first encoded set and a step of recording at least one grouping of the second, third and fourth sets encoded in independent data packets of a single data frame, forming with the first recorded set a so-called "permanent file", each set enco dice being associated in the frame with an offset value to be applied during the reading of the frame in order to selectively decode a set of coefficients.
- the generated file format allows progressive display of the image by selecting the data packet or packets required for displaying the image according to determined display criteria. This saves processing time since all the data of a frame representative of the image does not necessarily have to be read in order to display the image according to the criteria determined.
- the file format thus generated comprises, within it, several versions of the same image according to determined display criteria, one version being able to be read independently of the other versions contained by the file format.
- This format is particularly suitable for display in an internet browser because, depending on the display needs on an internet page, this or that version of the image encoded and generated by the method which is the subject of the present invention can be used.
- a thumbnail for example, may implement a low-dimensional version of the image while clicking on the thumbnail may result in a higher-dimensional version of the image being displayed, both versions being included in the same image file.
- the wavelet transform step is iterative, each iteration forming a set of higher order coefficients, the iterations subsequent to the first using the first set of coefficients or the image as an image. initial, at least one set of coefficients obtained for a determined iteration being recorded in an independent data packet and associated with an offset value.
- the method that is the subject of the present invention comprises, downstream of the wavelet transform step and steps of quantization of the second, third and fourth sets of coefficients and upstream of the step of quantization of the first set of coefficients, a step of compensating the first set as a function of the second, third and third quantized sets.
- the method that is the subject of the present invention comprises: a step of dequantization of the first compensated set, for each second, third and fourth quantized sets of a determined order, a step of dequantization of said second, third and fourth sets quantized, an additional step of inverse discrete wavelet transform as a function of said second, third and fourth dequantized sets and of the first dequantized compensated set, for each second, third and fourth sets of quantized coefficients, a step of classifying the coefficients as a function of the result of the inverse discrete wavelet transform step and the arithmetic encoding steps being configured to encode the second, third and fourth classified sets.
- the method that is the subject of the present invention comprises, upstream of the wavelet transform step, a step of converting color space and indexing the colors of each component.
- the advantage of these embodiments comes from the fact that the starting space being generally the RGB (for “Red Green Blue”), there is a strong correlation between the values in the components, since a variation in luminosity induces a proportional change in red, green and blue. Thus, changing the space so that it looks like the brightness on the one hand and two components that define the color on the other hand reduces the number of values to be processed.
- the method that is the subject of the present invention comprises, upstream of the step of recording the first quantized set, a step of pixel prediction in the first quantized set.
- Pixel prediction uses neighboring pixels (or coefficients) known by the decoder (so that it can make the same prediction) to predict the current pixel.
- the method that is the subject of the present invention comprises, upstream of a recording step, a step of rearranging the data to be recorded.
- Such a step consists in the rearrangement of the coefficients to be encoded in order to maximize the length of the strings of harmful coefficients which are encoded by group.
- a W rearrangement is used. Such a rearrangement arranges the coefficients for a group of rows, before changing columns, then again a group of rows.
- the method that is the subject of the present invention comprises a step of decoding a computer file of image type encoded according to an encoding method, which comprises: a step of decoding a first, second, third and fourth set of wavelet coefficients and an inverse discrete wavelet transform step to provide an image.
- the present invention relates to an image file format obtained by implementing the method that is the subject of the present invention, which comprises: a set of data packets, each representative of an independent set of coefficients obtained by a discrete wavelet transform, each said packet being arithmetically encoded, at least one offset value to be applied to selectively read a said data packet.
- the advantages, aims and drawbacks of the format which is the subject of the present invention being similar to those of the encoding method which is the subject of the present invention, they are not recalled here.
- FIG. 1 represents, schematically, and in the form of a flowchart, a succession of particular steps of an encoding step of the method that is the subject of the present invention
- FIG. 2 represents, schematically and in the form of a flowchart, a succession of particular steps of a decoding step of the method which is the subject of the present invention
- FIG. 3 diagrammatically represents an image decomposed into first order wavelets
- FIG. 4 diagrammatically represents an image decomposed into second order wavelets
- FIG. 5 represents, schematically, an image decomposed into third order wavelets
- FIG. 6 represents an example of an image decomposed into third order wavelets
- Figure 7 shows an example of a frame obtained by the encoding method of the present invention.
- FIG. 8 represents, schematically and in the form of a flowchart, a succession of particular steps of the method which is the subject of the present invention.
- FIG. 8 schematically shows a particular embodiment of the method 500 which is the subject of the present invention.
- This method 500 of providing content comprising at least one image comprises: a step 505 of hosting, in a computer memory, a computer file representative of at least one graphic element of at least one image, called "Permanent file", said file storing, in a single frame, at least two distinct representative packets of the same graphic element, each said packet being representative of the graphic element according to a different image resolution, a step 510 of sending, by computer equipment, a request to receive a temporary computer file, said request comprising at least one resolution value and / or at least one graphic element identifier to be included in the temporary file, a step 515 of generation, of a temporary computer file from the permanent file according to at least a resolution value and / or at least one graphic element identifier included in the reception request, said generation step comprising: a step 520 of selective duplication of at least one packet, as a function of at least one value of resolution and / or at least one graphic
- the hosting step 505 is carried out, for example, by the implementation of a computer server accessible on an Internet type data network.
- permanent file is used here as a file from which at least one temporary file can be generated by selective duplication of at least part of the data of the permanent file.
- temporary file refers to a file with a short lifespan, that is, a file configured to be read and then deleted within a period of time that is generally shorter than the useful life and then deletion of a permanent file.
- a "temporary file” is thus stored, preferably, in a memory of the cache or random access type of computer equipment, while a “permanent file” is preferably stored in the storage memory of the computer equipment.
- Such a temporary file can be generated by an encoding step 100 as described with reference to FIG. 1.
- the transmission step 510 is performed, for example, by a means of communication from the computer equipment to the computer unit to which the computer memory belongs.
- a means of communication can be a network card allowing access to a computer server associated with the computer memory.
- computer equipment any equipment capable of using a temporary file generated by the method 500.
- This computer equipment may be of the terminal or network node type, depending on the use.
- the provided request has at least one resolution value and / or at least one graphic element identifier to be included in the temporary file.
- a resolution value may consist, for example, of a resolution indicator while the element may correspond, for example, to an indicator designating a graphic set of the image independent of other graphic sets, such as for example a character present. on a layer of the image.
- Generation step 515 is performed, for example, by using an electronic computing device configured to perform selective duplication and creation steps 520 525.
- the duplication step 520 is carried out, for example, by the use of an electronic calculation device configured to select all or part of the packets representative of a predetermined or determined graphic element as a function of the element identifier graph contained in the query.
- Each packet can be selected based on an associated packet identifier, in a header of the permanent file, with a tag in the data frame.
- the permanent file includes header information comprising at least one byte offset value between two packets representative of the graphic element according to a different image resolution, the method comprising, moreover, a step 519 of converting a resolution value of the request sent by the computer equipment into a byte offset value in the frame, said offset value being implemented during step 520 of selective duplication .
- the conversion step 519 is carried out, for example, by the use of an electronic calculation device configured to execute a computer program associating, with each packet, a position in number of bits in the data frame corresponding to the start of the packet to be duplicated allowing a reading then a copy during the step 520 of selective duplication.
- the creation step 525 is carried out, for example, by the implementation of an electronic computing device configured to format a file according to a frame typology determined by including in particular each duplicated packet.
- the sending step 530 is carried out, for example, by a communication means associated with the computer memory configured to send the temporary file to the computer equipment.
- the method 500 includes a step 300 of decoding, as described with reference to FIG. 2, of the temporary file by the computer equipment.
- the method 500 includes a step 535 of reading, or of display, the execution of which depends on the modes of reading or display.
- a reading step 535 implements, for example, a screen.
- the method 500 includes a step 540 of deleting the temporary file in a RAM or cache temporarily storing said file.
- This step 100 for encoding an image-type computer file comprises: a step 105 of discrete wavelet transform of the image to produce: a first set 110 of wavelet coefficients, a second set 115 of wavelet coefficients , a third set 120 of wavelet coefficients and a fourth set 125 of wavelet coefficients, for each set of coefficients, a step, 130, 135, 140 and 150, of quantizing the coefficients, a step, 245, 250, 255 and 260, of independent arithmetic coding for each of the first, second, third and fourth sets, 110 , 115, 120 and 125, of quantized coefficients and a step 172 for recording the first encoded set and a step, 175, 180 and 185, for recording at least one grouping of the second, third and fourth sets, 115, 120 and 125, encoded in data packets independent of a single data frame, forming with the
- Each grouping of second, third and fourth sets, 115, 120 and 125, of coefficients is here obtained by the implementation of successive iterations of wavelet transforms.
- the same permanent file comprises a single first set 110 which is invariable regardless of the number of groupings, and at least one grouping of second, third and fourth sets, 115, 120 and 125, of coefficients.
- a frame can thus be constituted by a set of bytes representative of the first set 110, then of a first set of bytes representative of a first grouping of second, third and fourth sets, 115, 120 and 125, of coefficients then a second set of bytes representative of a first grouping of second, third and fourth sets, 115, 120 and 125.
- Each grouping is associated with an offset value of bytes with respect to the first set 110 for a reading simple and fast.
- the image can be of any type generated by a computer program for creating or processing images.
- the method 500 comprises, upstream from the wavelet transform step 105, a step 210 of transforming the image into a plurality of components, each component being supplied to the transform into wavelet step. wavelets.
- component generally initially defined by chromatic values of red (R), green (V) and blue (B) and potentially transparency (A), then, after transformation, luminosity, the components defining the color (usually, we denote by Y Cb and Cr), and always the transparency left unchanged.
- the transformation step 210 is for example implemented by an electronic circuit executing a computer program for transforming the image into a plurality of components.
- the method 500 comprises, upstream of the wavelet transform step 105, a step 215 of converting color space and indexing the colors of each component.
- the conversion step 215 is for example implemented by an electronic circuit executing a computer program for converting color space and / or indexing the colors.
- a program is for example configured to convert the image from an RGB format (for “Red Green Blue”) to a YUV format.
- the discrete wavelet transform step 105 is performed, for example, by an electronic circuit executing a computer program configured to produce: the first set 110 of wavelet coefficients, the second set 115 of wavelet coefficients, the third set 120 of wavelet coefficients and the fourth set 125 of wavelet coefficients.
- a discrete wavelet transform can be used.
- a discrete wavelet transform works like this: a low pass filter and a high pass filter are chosen such that they halve the frequency range between them exactly. This pair of filters is called the analysis filter pair.
- the low pass filter is applied for each row of data, which results in the low frequency components of the row. But since the low-pass filter is a half-band filter, the output data only contains frequencies in the first half of the original frequency range. So, according to Shannon's sampling theorem, they can be downsampled in half, so that the output data only contains half of the original number of samples.
- the high pass filter is applied for the same row of data, and likewise the high pass components are separated and placed to the side of the low pass components. This procedure applies to all lines.
- the resulting two-dimensional array of coefficients contains four bands of data, each labeled LL (low-low) 110, HL (high-low) 115, LH (low-high) 120, and HH (high-high) 125.
- the band LL 110 can be decomposed again in the same way, thus producing even more subbands. This can be done up to any level, thus resulting in a pyramidal decomposition as shown in figures 3, 4, 5 and 6.
- the quantization steps, 130, 135, 140 and 150 are for example implemented by an electronic circuit executing a quantization computer program.
- Quantization The process of approximating the continuous set of values in the image data with a finite (preferably small) set of values is called "quantization".
- Input data of a quantizer is the original data, and the output is always one of a finite number of levels.
- Quantization is a function whose set of output values are discrete and generally finite. Obviously, this is an approximation process, and good quantization is quantization that represents the original signal with minimal loss or distortion.
- scalar quantization there are two types of quantization: scalar quantization and vector quantization.
- scalar quantization each input symbol is processed separately in producing the output, while in vector quantization, input symbols are grouped into groups called vectors, and processed to give the output. This grouping of data and their processing into a single unit increases the optimality of the vector quantizer, but at the cost of increased computational complexity.
- the coefficients whose value is less than a determined limit value can be canceled, that is to say set to 0.
- All of the steps, 245, 250, 255, 260, of encoding are carried out, for example, by implementing an electronic circuit configured to execute a computer program for encoding information.
- the arithmetic coding is a variable length code, that is to say that a symbol of fixed size (in bits) will be coded by a variable number of bits, preferably less than or equal to its original size.
- the density of symbols is therefore not modified, but their coding in order to reduce the space they occupy.
- arithmetic coding encodes the message in pieces (theoretically it can encode an entire message of any size, but in practice we can only encode pieces of about fifteen symbols on average ) and represent each of these pieces by a number n (floating point) where Huffman codes each symbol by a specific code.
- n floating point
- Huffman codes each symbol by a specific code.
- the resulting problem for Huffman encoding is that a character with a very high probability of occurrence will be encoded on at least one bit. For example, if one seeks to code a character represented at 90%, the optimal size of the character code will be 0.15 bit while Huffman will code this symbol on at least 1 bit, ie six times more. It is this gap that arithmetic coding fills thanks to an algorithm close to interval coding.
- At least one of the steps, 245, 250, 255 and 260 implements a double table system generated by at least one classification step, 160, 165, 170, corresponding.
- the method 500 comprises at least one final transformation step, such as: a first transformation step consisting in amalgamating the chains of zeros (the size of which is greater than a parameter “p” generally fixed at 6) to produce the group [0, n- p] where "n" is the number of consecutive zeros.
- a first transformation step consisting in amalgamating the chains of zeros (the size of which is greater than a parameter “p” generally fixed at 6) to produce the group [0, n- p] where "n” is the number of consecutive zeros.
- n-126 are transformed into the group [254, n-126] where n is the value of the coefficient.
- n-126 is encoded by group of seven bits.
- a third transformation step applies to the coefficients ⁇ -127.
- a fourth transformation step corresponds to the translation of all the other coefficients (-126 to 125) from +128 (2 to 253).
- the value 255 is reserved to signal a restart of the coding, in order to be able to separate the stream into “independent” blocks (ie which can be decoded individually), to increase the resilience to errors.
- All of the recording steps 172, 175, 180 and 185 are, for example, carried out by implementing an electronic circuit configured to record the data to be recorded in a memory.
- the nature of the memory varies depending on the intended use of the data.
- the wavelet transform step 105 is iterative, each iteration forming a set of coefficients of a higher order, the iterations subsequent to the first using as an image the first set of coefficients or l 'initial image, at least one set of coefficients obtained for a determined iteration being recorded in an independent data packet and associated with an offset value.
- the method 500 comprises, downstream of the wavelet transform step 105 and of the steps, 130, 135 and 140, of quantization of the second, third and fourth sets of coefficients and upstream of the. step 150 of quantizing the first set of coefficients, a step 145 of compensating the first set as a function of the second, third and third quantized sets.
- the compensation step 150 is for example implemented by an electronic circuit executing a computer compensation program.
- the objective of this compensation step 150 is to reduce the error rate contained in the first set 110.
- the compensation consists of the following steps, for example: wavelet transformation of the image or of the 1st set of coefficients of the previous iteration, quantization, 130, 135, 140, of the coefficients of the second, 115, third, 120, and fourth, 125, sets of coefficients, dequantization of the coefficients of the second, 115, third, 120, and fourth, 125, sets of coefficients, inverse wavelet transformation of the coefficients of the second, 115, third, 120, and fourth, 125, sets of coefficients, addition of the difference between the original data and the reconstructed data to the original data, wavelet transformation of the previous result (origin + difference), the coefficients of the first set of coefficients obtained are used instead of the initially calculated coefficients, and the coefficients of the second, 115, third, 120, and fourth, 125, sets of coefficients are not used.
- the method 500 comprises: a step 155 of dequantization of the first compensated set, for each second, third and fourth quantized sets of a determined order, a step of dequantization 190, 195, 200 of said second, third and fourth quantized sets, an additional step of transform 205 into an inverse discrete wavelet as a function of said second, third and fourth dequantized sets and of the first dequantized compensated set, for each second, third and fourth sets of quantized coefficients, a classification step 160, 165, 170 of the coefficients as a function of the result of the inverse discrete wavelet transform step and the arithmetic encoding steps 245, 250, 255, 260 being configured to encode the second, third and fourth classified sets.
- the classification steps, 160, 165 and 170 are for example implemented by an electronic circuit executing a computer program for classifying the data.
- the classification, 160, 165 and 170 consists in estimating from the coefficients of the first set which of the coefficients of the second, third and fourth set will be “large”, in order to form two classes.
- the base of the arithmetic encoding being the probability of appearance of a value, the fact of being able to predict (without being too much wrong statistically) that it will be "large” allows more compression by assigning fewer bits to the most. probable of the "large” values that it would have been assigned without separation.
- the steps of transform 105 into wavelets, of quantization, 130, 135 and 140, of the second, third and fourth sets of coefficients and of compensation 145 are iterative, each iteration forming a set of products of a higher order, the first compensated set being able to be substituted for the component upstream of a step wavelet transform 105, the first compensated set of the highest order being provided to step 150 of quantization of the first compensated set.
- the iterative character is here to be understood in the sense of iteration of the succession of steps formed by the steps of transform 105 in wavelets, of quantization, 130, 135 and 140, of the second, third and fourth sets of coefficients and of compensation 145 .
- a second, third and fourth set of coefficients of a determined order (order 1 for the first iteration, order 2 for the second and so on) is produced and recorded during steps, 175, 180 and 185 , recording.
- the method 500 comprises a step 270 of bypassing the steps of transform 105 in wavelets, of quantization, 130, 135 and 140, of the second, third and fourth sets of coefficients and of compensation 145.
- This step 270 is triggered, for example, by a parameter value specifying a bypass criterion.
- the data stream is provided in step 150 of quantization.
- the method 500 includes a step 270 of stopping the iterations according to a predetermined stopping criterion. For example, a number of iterations can be specified, and when that number of iterations has occurred, the data stream is provided to step 150 of quantization.
- the data output from quantization step 150 is saved during recording step 172.
- the method 500 comprises, upstream of the step of recording the first quantized set, a step of prediction 220 of a pixel in the first quantized set.
- a step of prediction 220 of a pixel in the first quantized set is described, for example, in document US Pat. No. 9,628,806, published on April 18, 2017.
- the method 500 comprises, upstream of a recording step, 172, 175, 180 and / or 185, a step, 225, 230, 235 and / or 240, of rearranging the data. to save.
- the method 500 comprises, upstream of a recording step, 172, 175, 180 and / or 185, a step, 245, 250, 255 and / or 260, of arithmetic coding of the data to be saved.
- the data at the output of quantization step 150 is further dequantized during dequantization step 155.
- the quantization step 155 is for example implemented by an electronic circuit executing a computer program for dequantization.
- a dequantization step receives the output levels of a quantization step and converts them to normal data, translating each level into a "point. reproduction "within the actual range Datas. It appears from the literature that the optimal quantizer (encoder) and dequantizer (decoder) must meet the following conditions:
- the best decoder is the one that places the reproduction points on the centers of mass of the partitions. This is called the centroid condition.
- the best encoder is the one which places the boundaries of the partitions exactly in the middle of the reproduction points, that is, each value is translated to its closest reproduction point. This is called the nearest neighbor condition.
- the inverse discrete wavelet transform step 205 is carried out, for example, by the implementation of an electronic circuit configured to execute a computer program for calculating an inverse discrete wavelet transform from sets of determined coefficients .
- This method 300 for decoding a computer file of image type encoded according to a method as described with reference to FIG. 1, comprises:
- Each dequantization step, 305, 310, 315 and 320 operates similarly to the dequantization steps, 155, 190, 195 and 200, as described with reference to Figure 1.
- the inverse discrete wavelet transform step 325 operates similarly to the inverse discrete wavelet transform step 205 as described with reference to Figure 1.
- each step, 310, 315 and 320, of dequantization of the second, third and fourth sets and the inverse transform step 325 are iterative and each step of dequantization of the second, third and fourth sets performed according to of the first dequantized set and / or of the result of the preceding inverse discrete wavelet transform step.
- the method 300 comprises, upstream of a step, 305, 310, 315 and 320, of dequantization, a step, 330, 380, 385 and 390, of arithmetic decoding of the data to be dequantized.
- Each step, 330, 380, 385 and 390, of decoding is carried out, for example, by the implementation of an electronic computing device configured to execute an arithmetic decoding computer program.
- the method 300 comprises, upstream of a step, 305, 310, 315 and 320, of dequantization, a step, 335, 365, 370 and 375, of reverse rearrangement of the data to be dequantized.
- This step, 335, 365, 370 and 375 operates in reverse with respect to the arrangement steps described above.
- This step, 335, 365, 370 and 375 consists in reordering the coefficients in columns.
- a post-classification rearrangement can take place in the decoding, without being an error. This involves reorganizing the class data in the same order as the coefficients implicitly contained in the file, the decoder having to use the correct probability table to decode a coefficient.
- Each step, 335, 365, 370 and 375, is performed, for example, by the operation of an electronic computing device configured to execute a data rearrangement computer program.
- the method 300 comprises, upstream of the dequantization step 305, a step 340 of inverse pixel prediction of the data to be dequantized.
- This inverse pixel prediction step 340 consists of generating a pixel from the prediction and the difference (which is what has been transmitted in the file) predicted.
- This reverse pixel prediction step 340 is performed, for example, by an electronic computing device configured to execute an inverse pixel prediction computer program.
- the method 300 comprises, upstream of a step, 310, 315 and 320, of dequantization, a step of classifying, 350, 355 and 360, data.
- This classification step, 350, 355 and 360 is identical to that carried out during encoding, the aim being to know the class of the coefficient to be decoded in the arithmetic decoder, in order to know which probability table must be used to do this. .
- the method 300 includes a step 420 for bypassing an iteration of steps 305, 310, 315 and 320, dequantization and reverse transform 325.
- the method 300 includes a step 420 of stopping the iterations according to a predetermined stopping criterion. For example, a number of iterations can be specified.
- the method 300 includes a step 415 for converting color space conversion and / or deindexing the colors of each component.
- the wavelet transform 105, compensation 145, pixel prediction 220 steps, as well as rearrangement 225 or classification steps, 160, 165 and 170, are all applicable tools or not, depending on whether they provide a gain. compression or a particular technical advantage (such as progressive display).
- wavelet transform steps 105 The iterative use of wavelet transform steps 105 is very suitable for lossy photo compression, and even necessary if progressive display is desired.
- the pixel prediction 220 is generally applied without a wavelet transform for the compression of synthetic images, or on the first set of coefficients 110 resulting from the last iteration of the wavelet transform step 105.
- a corrective layer applied after the decoding of a wavelet layer, and this is also potentially transformed by the pixel prediction step 220, although this is most often without obtaining the best compression.
- the utility of this corrective layer is to make it possible to add quality from a wavelet transform order chosen when the smaller layers have been altered (intentionally). Thus, one can imagine transmitting a compressed image with losses, and optionally transmitting the last correction layer to obtain a lossless image.
- the classification provides a gain in compression, but induces a strong dependence between the encoding of the coefficients of the second, third and fourth sets and the coefficients of the first set. This means that in the event of a transmission error, the coefficients of the first set being altered, it is no longer possible to decode the coefficients of the 2nd, 3rd and 4th set. This is why this classification can be deactivated if there is a need for resilience (eg transfer from a space probe).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Facsimiles In General (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1909186A FR3099975B1 (fr) | 2019-08-13 | 2019-08-13 | Procédé de fourniture d’un contenu comportant au moins une image, format de fichier |
| PCT/EP2020/072802 WO2021028550A1 (fr) | 2019-08-13 | 2020-08-13 | Procédé de fourniture d'un contenu comportant au moins une image, format de fichier |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4014494A1 true EP4014494A1 (de) | 2022-06-22 |
Family
ID=68281696
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP20768276.6A Withdrawn EP4014494A1 (de) | 2019-08-13 | 2020-08-13 | Verfahren zur bereitstellung von inhalt mit mindestens einem bild und dateiformat |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4014494A1 (de) |
| FR (1) | FR3099975B1 (de) |
| WO (1) | WO2021028550A1 (de) |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5682441A (en) * | 1995-11-08 | 1997-10-28 | Storm Technology, Inc. | Method and format for storing and selectively retrieving image data |
| US5710835A (en) | 1995-11-14 | 1998-01-20 | The Regents Of The University Of California, Office Of Technology Transfer | Storage and retrieval of large digital images |
| CA2481752A1 (en) | 2002-04-08 | 2003-10-23 | Peros Systemes Technologies Inc. | Composition for modulating a physiological reaction or inducing an immune response |
| US7200277B2 (en) * | 2003-07-01 | 2007-04-03 | Eastman Kodak Company | Method for transcoding a JPEG2000 compressed image |
| US8064733B2 (en) * | 2008-06-24 | 2011-11-22 | Microsoft Corporation | Variable resolution images |
| FR2996706A1 (fr) | 2012-10-05 | 2014-04-11 | I Ces Innovative Compression Engineering Solutions | Procede de codage d'une matrice, notamment d'une matrice representative d'une image fixe ou video. |
-
2019
- 2019-08-13 FR FR1909186A patent/FR3099975B1/fr not_active Expired - Fee Related
-
2020
- 2020-08-13 EP EP20768276.6A patent/EP4014494A1/de not_active Withdrawn
- 2020-08-13 WO PCT/EP2020/072802 patent/WO2021028550A1/fr not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| FR3099975A1 (fr) | 2021-02-19 |
| FR3099975B1 (fr) | 2021-09-17 |
| WO2021028550A1 (fr) | 2021-02-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0294357B1 (de) | Kodierungsverfahren von Bildsignalen | |
| EP2981088B1 (de) | Aufzeichnungsmedium zur speicherung von kodierten bilddaten | |
| US20120308128A1 (en) | Image data coding apparatus, method of controlling operation of same, and program therefor | |
| CN115361556A (zh) | 一种基于自适应的高效视频压缩算法及其系统 | |
| CN102656884A (zh) | 使用像素流执行视频编码 | |
| CA2346342C (fr) | Compression et codage de reseau maille tridimensionnel | |
| RU2683614C2 (ru) | Кодер, декодер и способ работы с использованием интерполяции | |
| EP3180914B1 (de) | Bildcodierungs- und decodierungsverfahren, bildcodierungs- und decodierungsvorrichtung sowie entsprechende computerprogramme | |
| EP3632103B1 (de) | Verfahren und vorrichtungen zur kodierung und dekodierung eines datenstroms, der für mindestens ein bild repräsentativ ist | |
| EP4014494A1 (de) | Verfahren zur bereitstellung von inhalt mit mindestens einem bild und dateiformat | |
| EP1525663B1 (de) | Kompression gegen lärmübertragung robuster digitaler daten | |
| EP3409016A1 (de) | Verfahren zur codierung und decodierung von daten, vorrichtung zur codierung und decodierung von daten und entsprechende computerprogramme | |
| Ravi et al. | A study of various Data Compression Techniques | |
| FR3103342A1 (fr) | Procede et dispositif de compression d'images numeriques et procede et dispositif de decompression associes | |
| FR3119959A1 (fr) | Procédé de fourniture d’un contenu comportant au moins une image, format de fichier | |
| Hussin et al. | A comparative study on improvement of image compression method using hybrid DCT-DWT techniques with Huffman encoding for wireless sensor network application | |
| Reddy et al. | A novel approach of lossless image compression using hashing and Huffman coding | |
| WO2020058593A1 (fr) | Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image | |
| US8260070B1 (en) | Method and system to generate a compressed image utilizing custom probability tables | |
| FR3164087A1 (fr) | Procédé et dispositif de codage et décodage d’images | |
| WO2006053842A1 (fr) | Procede de codage d'images codees par ondelettes a controle de debit, dispositif de codage et programme d'ordinateur correspondants | |
| WO2024260629A1 (fr) | Procédé et dispositif de codage et décodage de séquences d'images | |
| FR3164086A1 (fr) | Procédé et dispositif de codage et décodage d’images | |
| FR3164089A1 (fr) | Procédé et dispositif de codage et décodage d’images | |
| Siddeq | Novel methods of image compression for 3D reconstruction |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20220516 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20240301 |