WO2023285469A1 - Procédé d'encodage et décodage vidéo à faible latence - Google Patents

Procédé d'encodage et décodage vidéo à faible latence Download PDF

Info

Publication number
WO2023285469A1
WO2023285469A1 PCT/EP2022/069479 EP2022069479W WO2023285469A1 WO 2023285469 A1 WO2023285469 A1 WO 2023285469A1 EP 2022069479 W EP2022069479 W EP 2022069479W WO 2023285469 A1 WO2023285469 A1 WO 2023285469A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
pixel
video stream
sub
frame
Prior art date
Application number
PCT/EP2022/069479
Other languages
English (en)
Inventor
Matthieu BOUILLOUX
Original Assignee
Towards Conseil
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Towards Conseil filed Critical Towards Conseil
Publication of WO2023285469A1 publication Critical patent/WO2023285469A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1883Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets

Definitions

  • the invention relates to a video encoding and decoding method, in particular for the processing of low latency video streams of the live video stream type, for applications such as streaming and streaming. live or via videoconference.
  • the inventors sought to propose an encoding method and a decoding method making it possible to obtain data rates comparable to the H.264 and H.265 coding standards with better fidelity of the information contained in the image and with a low latency and resource-efficient and with adaptable stream, for use for low latency streaming, especially for point-to-point streaming. Objectives of the invention
  • the aim of the invention is to provide a video encoding method for a low latency video stream.
  • the invention aims in particular to provide, in at least one embodiment, a video encoding method making it possible to obtain a totally or partially recomposable video stream to allow an adaptable bit rate from a single processing.
  • the invention also aims to provide, in at least one embodiment of the invention, a video encoding method making it possible to obtain high fidelity in the rendering of the information contained in the image, in particular the texts and outlines.
  • the invention also aims to provide, in at least one embodiment of the invention, a video encoding method making it possible to obtain a high compression rate.
  • the invention also aims to provide, in at least one embodiment of the invention, a video encoding method allowing fast processing for live stream encoding, while consuming few computing resources.
  • the invention relates to a method for encoding a video stream characterized in that it comprises, for each video frame of said video stream, the following encoding steps: a two-dimensional wavelet transform step for each red, green and blue color space of each video frame of the video stream, so as to obtain at each repetition a sub-sampled image and three sub-bands representing respectively horizontal, vertical and diagonal details allowing a reconstruction of the frame original video from the sub-sampled image, said wavelet transform being performed once on the frame then Nl times on each sub-sampled image with N greater than or equal to two, the sub-sampled image obtained at the last repetition forming the reduced image; a step of calculating an approximation of a luminance of each pixel of each reduced image, by weighting each color value of each pixel with a predetermined and constant weighting coefficient for each color, to obtain an approximate luminance table for each pixel; a step of reducing the red and blue color values of each pixel of each reduced image by subtracting the luminance app
  • a first comparison value being the average of the luminance approximations of the pixel in the encoded frame and in the three previous frames of the video stream;
  • ⁇ a second comparison value being the absolute value of the difference between the approximation of the luminance of the encoded frame and of the previous frame of the video stream;
  • a third comparison value being the absolute value of the difference between the approximation of the luminance of the encoded frame and the approximation of the luminance of the frame located two frames before in the video stream;
  • ⁇ a fourth comparison value being the absolute value of the difference between the luminance approximation of the encoded frame and the first value comparison
  • a fifth comparison value being the absolute value of the difference between the second comparison value and the third comparison value; o a sub-step of creating a table of coordinates comprising the pixels to be modified for which at least one of the comparison values is greater than a predefined threshold from among a set of predefined thresholds comprising at least one predefined threshold; a step of grouping, in a table called complete table, at least the table of coordinates, the table of approximate luminance, the table of red chrominance and the table of blue chrominance and, for an image definition greater than the definition of the reduced image, of at least two sub-bands representing the horizontal and vertical details; a step of lossless compression of said complete table by a lossless compression algorithm.
  • An encoding method makes it possible, thanks to a plurality of optimizations, to obtain a stream with a high restored bit rate with high fidelity of the information contained in the image.
  • the encoding process is particularly suitable for low-latency live stream encoding, thanks to fast data processing.
  • the weight reduction of the flow and the preservation of its coherence are made possible by an approach to information through its simplified description.
  • An approach similar to dynamic vectorization applied to a video signal is applied to the stream.
  • the use of the wavelet transform makes it possible to limit the processing to under-sampled images, the complete video frame being reconstituted at the end of the processing by the sub-bands representing the details of the image.
  • the loss applied to the video stream becomes an element of simplification and optimization of the signal as well as a compression factor.
  • the different Simplifications also allow the simplification of calculation steps, in particular calculations on integer values and the reduction of the amplitudes of values, which reduces the necessary calculation resources.
  • the objective is that the encoding and decoding process be within the scope of execution in a Web browser, and preferably without the use of a graphics card, at least for certain levels of image definition.
  • the encoded video stream is recomposable to allow an adaptable bit rate from a single processing. It also has high fidelity in the rendering of the information contained in the image, via a precise selection of the criteria allowing the reduction of the size of the data to be stored.
  • the luminance approximation calculation step and the value reduction step make it possible to reduce the amount of information to be stored and make it possible to ensure overall consistency of the video stream despite the reduction in the precision of each unit information.
  • the fidelity is superior to processes using the Discrete Cosine Transform (DCT) which degrades texts and contours.
  • DCT Discrete Cosine Transform
  • the motion detection step makes it possible to identify the geometric zones constituting the video stream to be updated in the restitution of the stream.
  • the high compression rate is obtained thanks to the taking into account of the movements between two frames and thanks to the particular structure for storing the data relating to the pixels to be modified and to the value of the said modified pixels, the said structure being optimized to be compressed by lossless compression algorithms.
  • the complete table includes different information depending on the desired definition of each frame of the video stream. For a minimum definition, that is to say equal to the definition of the reduced image, only the coordinate, approximate luminance, red chrominance and blue chrominance tables are transmitted in the complete table. For each doubling of the definition, the complete table further includes the sub-bands representing the horizontal and vertical details obtained at the last repetition of the wavelet transform, i.e. N horizontal sub-bands and N vertical sub-bands for N doubling of definition. The sub-bands representing the diagonal details may not be transmitted because they contain little information.
  • the different comparison values make it possible to obtain relevant criteria for defining a movement in a frame compared to the previous frame(s), in a limited time and requiring few resources.
  • the wavelet transform step uses Haar wavelets for each repetition.
  • the use of a Haar wavelet transform makes it possible to obtain an algorithm that can be easily implemented and used for encoding the video stream.
  • the luminance approximation is calculated using the following weighting coefficients: coefficient equal to 0.25 for the red value, coefficient equal to 0.6875 for the green value, coefficient equal to 0.065 for the blue value.
  • the luminance approximation is thus calculated in a simple way while remaining close to the classic definition of luminance.
  • the coefficients are chosen to speed up encoding processing by G using quotients based on multiples of one sixteenth, respectively four sixteenths for the coefficient assigned to the red value, eleven sixteenths for the coefficient assigned to the green value and one sixteenth for the coefficient assigned to the blue value.
  • the sub-step (144) for creating the table of coordinates includes a sub-step (146) for defining the pixels to be modified according to the following criteria: - an incoming movement criterion, a pixel being at modify according to this criterion if the second comparison value is greater than the third comparison value, and if the fourth comparison value is greater than a first predefined threshold or the fifth comparison value is greater than a second predefined threshold; an outgoing movement criterion, a pixel being to be modified according to this criterion if the second comparison value is less than the third comparison value, and if the fourth comparison value is greater than a third predefined threshold or the fifth comparison value is greater than a fourth predefined threshold; an error correction criterion, a pixel being to be modified according to this criterion if the pixel with the same coordinate has not been selected as being to be modified in the previous frame of the video stream and if the second comparison value is greater than one fifth predefined threshold.
  • the entering (or beginning) motion criterion makes it possible to detect an increase in the value of the pixel large enough to be encoded as equivalent to a beginning of motion
  • the exiting (or ending) motion criterion makes it possible to detect a decrease in the value of the pixel large enough to be encoded as equivalent to an end of movement
  • the error correction criterion makes it possible to correct an error due to the approximation of the criteria of movement entering and leaving with respect to a conventional technique of motion detection by second derivative, which is more resource-consuming.
  • a method comprises a step of encoding the approximate luminance table, the red chrominance table and/or of the blue chrominance table according to the following sub-steps, for each encoded table: a sub-step of detecting a sequence of pixel values of the encoded table contained in a predetermined interval, said sequence of values forming a strip ; a sub-step of encoding an identification value of a start of the strip; a sub-step of encoding the minimum pixel value of the strip; a sub-step of encoding the value of each pixel from which the minimum value is subtracted; if at least three following pixels have the same value, a sub-step of encoding a repetition value followed by the number of repetitions replacing the value of each of the repeated pixels.
  • the strip formation makes it possible to reduce the quantity of data necessary (the number of bits) to store the information.
  • This use of a strip is relevant because of the succession of previous treatments which make it possible to reduce the range of stored values, by thresholding the values and by smoothing the values.
  • a strip comprises a series of close values, that is to say which can be expressed in a limited number of bits with respect to a minimum value of the series.
  • a four-bit value is used to store the identification value of the strip (e.g. the value fourteen indicates that a strip is starting), a four-bit value is used to indicate one repetition (e.g. the value fifteen indicates that one repetition follows and the next value indicates the number of repetitions), and fourteen four-bit values remain (e.g. from zero to thirteen) to express the value of each pixel relative to at the minimum value.
  • a strip then comprises values which follow one another extending in the interval [minimum value; minimum value + 13].
  • the lossless compression algorithm is the Deflate algorithm or a derivative.
  • the Deflate compression algorithm uses the LZ77 algorithm and Huffman coding to achieve a high compression rate with low computing power required for encoding and decoding.
  • the particular structure of the data obtained by the method according to the invention makes it possible to obtain a data structure remarkably comparable to a series of sentences, comprising patterns and repetitions, which means that the Deflate algorithm is particularly effective on this structure. of data.
  • the compression rate of the video stream is therefore particularly optimized by this lossless compression.
  • Other derived compression algorithms can be used, in particular efficient algorithms on data structures comparable to a series of sentences, in particular algorithms using coding trees as implemented in Huffman coding.
  • said table of coordinates comprises at least one definition group of the pixels to be modified comprising a value corresponding to the number of pixels not to be modified and to the number of pixels to be modified in the subsampled image, in the frame reading order.
  • the table of coordinates can also be noted dynamically on 4, 8, 12, 16 or 20 bits, according to the intervals [0.7] [8.63] [64, 512] [512 , 4096] [4096, 65536]
  • an encoding method comprises a step of deleting data by deleting definition groups comprising a number of pixels to be modified lower than a sixth predefined threshold.
  • this deletion makes it possible to reduce the number of definition groups to be encoded by deleting the groups comprising a reduced number of pixels, for which a modification of the value of the pixels would have a limited impact on the video stream.
  • the pixel group is deleted if the number of pixels to modify in the group is strictly less than two, lone pixels are removed (the sixth threshold is one in this example).
  • the next definition group is updated to add the number of pixels not to modify and the number of pixels to modify of the deleted definition group to the value corresponding to the number of pixels to do not modify.
  • an encoding method comprises a step of reducing data by modifying the value of a pixel to be modified by the value of the previous pixel to be modified if the difference in value between the pixel to be modified and the pixel to modify previous is less than a seventh predefined threshold.
  • the data reduction makes it possible to standardize close pixel values, corresponding to variations of low amplitude
  • an encoding method comprises a step of reducing the definition of the pixel values to be modified.
  • the reduction of the definition makes it possible to reduce the size of the data to be kept to encode the video stream.
  • a reduction in the definition of the pixel values can be achieved by dividing by two the set of pixel values to be modified, so that the interval between the minimum value and the maximum value that the pixels can take is reduced and therefore can be encoded with one bit less.
  • the invention also relates to a method for decoding a video stream encoded by an encoding method according to the invention comprising, for each video frame of said video stream, the following decoding steps: a lossless decompression step of the video stream encoded by a lossless decompression algorithm; a reading step, for each frame, of the complete table; a step of generating a frame by modifying the pixels to modify according to the previous frame and the table of coordinates, by the values defined in the table of integers; a step of reconstructing a reduced image for each color space from the approximate luminance, blue chrominance and red chrominance values; an inverse wavelet transform step based on the reduced image and the sub-bands representing the horizontal and vertical details available in the encoded video stream.
  • a decoding method therefore allows the decoding of the video stream.
  • Decoding requires little computing power and can therefore be performed with low latency, frame by frame and as the stream is received. Despite the different approximations used during encoding, the decoded video stream is faithful to the video stream before encoding.
  • the inverse wavelet transform is performed according to the number of sub-bands received which may differ depending on the definition of the desired image, as explained above.
  • the decoding method can comprise a final step of adding Gaussian blur.
  • This step is intended to reduce the formation of dithering in the images of the video stream which may appear due to the use of the wavelet transform, in particular by the use of Haar wavelets.
  • the invention also relates to a device for encoding a video stream, characterized in that it comprises a module for receiving a raw video stream and a module for encoding the raw video stream to obtain an encoded video stream, said encoding module being configured to implement the steps of an encoding method according to the invention.
  • the invention also relates to an encoding method, a decoding method and an encoding device, characterized in combination by all or some of the characteristics mentioned above or below.
  • FIG. 1 is a schematic view of an encoding method according to one embodiment of the invention.
  • FIG.2 is a schematic view of a wavelet transformation of the encoding method according to one embodiment of the invention.
  • FIG. 3 is a schematic view of a portion of a video frame as recorded in an encoding method according to one embodiment of the invention.
  • FIG. 4 is a schematic view of a decoding method according to one embodiment of the invention.
  • FIG. 1 schematically represents an encoding method 10 according to one embodiment of the invention, making it possible to encode each frame of a video stream.
  • Each frame or image of the video stream forms a matrix comprising the values of each pixel that makes up the frame.
  • each pixel is coded on 8 bits, ie one byte in the original frame intended to be encoded.
  • the encoding method 100 comprises, for each video frame of the video stream, a set of steps making it possible to obtain an encoded video stream.
  • the encoding method 100 includes a two-dimensional wavelet transform step 110 for each red, green and blue color space of each video frame of the video stream.
  • the step makes it possible to obtain at each repetition, from an original frame 10 in one of the color spaces, an image 12 under-sampled and three under -bands, a first sub-band 14 representing horizontal details, a second sub-band 16 representing vertical details and a third sub-band 18 representing diagonal details.
  • the three sub- bands allow a reconstruction of the original video frame from the downsampled frame 12.
  • the transform comprises an intermediate step comprising two intermediate sub-bands relating to the horizontal details, a first intermediate sub-band corresponding to the average of the pixels of the original frame 10 two by two along the horizontal axis, and a second sub-band.
  • intermediate band 22 corresponding to an error corresponding to the error between the original frame 10 and the image 12 sub-sampled in the horizontal direction.
  • the following step corresponds to the same operation in the vertical direction, where the sub-sampled image 12 corresponds to the average of the pixels of the first intermediate sub-band 20 two by two along the vertical axis, the first sub-band 14 corresponding to the average of the pixels of the second intermediate sub-band 20 two by two along the vertical axis, the second sub-band 16 corresponding to the error of the first intermediate sub-band 20 and the image 12 sub- sampled in the vertical direction, and the third sub-band 18 corresponding to the error of the second intermediate sub-band 22 and the image 12 sub-sampled in the vertical direction.
  • the sub-sampled image 12 corresponds to the average of the pixels of the first intermediate sub-band 20 two by two along the vertical axis
  • the first sub-band 14 corresponding to the average of the pixels of the second intermediate sub-band 20 two by two along the vertical axis
  • the second sub-band 16 corresponding to the error of the first intermediate sub-band 20 and the image 12 sub- sampled in the vertical direction
  • the first, second and third sub-bands 14, 16, 18 can have their notation refocused on unsigned integers, in particular on 8 bits, in order to improve processing efficiency.
  • the information contained in the third sub-band 18 can be deleted to gain compression, because the information transmitted by this third sub-band 18 is low compared to the other sub-bands.
  • said wavelet transform is performed once on the original frame 10, then repeated Nl times on each subsampled image 12, so as to reach a total of N repetitions of the transform, with N greater than or equal to two.
  • the wavelet transform is performed for example by Haar wavelets.
  • the resulting downsampled image at the last repetition is called reduced image.
  • the method comprises a step 120 of calculating an approximation of a luminance of each pixel of each reduced image 12, by weighting each color value of each pixel with a predetermined weighting coefficient and constant for each color.
  • weighting coefficients make it possible to simplify the calculation of the luminance, by using values close to the conventional values for calculating the luminance but allowing simplified calculations thanks to the multiples of sixteenths.
  • the approximate luminance values for each pixel are stored in an approximate luminance table.
  • the luminance approximation thus calculated also allows the implementation in the encoding method of a step 130 of reducing the red and blue color values of each pixel of each frame by subtracting the luminance approximation to the initial color value of the pixel, to obtain respectively a red chroma table and a blue chroma table for each pixel.
  • the coherence of the whole is preserved.
  • the values thus obtained are in a reduced interval between a minimum value and a maximum value.
  • the difference in color values between two different pixels is reduced, which can make it possible to encode close color values by repeating the same value.
  • the encoding method 100 then comprises a step 140 of motion detection between the encoded frame and at least one previous frame in the video stream.
  • This motion detection step 140 makes it possible to select only the pixels corresponding to a movement, that is to say the pixels whose value changes sufficiently significantly from one frame to another in the video stream.
  • the objective is not to encode the value of a pixel that has not been modified from one frame to another to reduce the amount of information to be encoded. To reduce latency, calculations are not made from future frames of the video stream.
  • Step 140 of motion detection includes in particular a sub-step 142 of calculation, for each pixel, of one or more of the comparison values.
  • Step 140 of motion detection further comprises a sub-step 144 of creation of a table of coordinates comprising the pixels to be modified according to certain criteria, for example the pixels for which at least one of the comparison values is greater than a threshold predefined from among a set of predefined thresholds comprising at least one predefined threshold, said table of coordinates comprising for example at least one definition group of the pixels to be modified comprising a value corresponding to the number of pixels not to be modified and to the number of pixels to be modified , in frame reading order.
  • the predefined thresholds are for example the following: a first threshold si, for example equal to 4 in a preferred embodiment; a second threshold avgl, for example equal to 2 in a preferred embodiment; a third threshold s2, for example equal to 6 in a preferred embodiment; a fourth threshold avg2, for example equal to 3 in a preferred embodiment; a fifth threshold adj, for example equal to 10 in a preferred embodiment.
  • the comparisons of the comparison values with the different thresholds are preferably combined to detect particular types of movements, so as to specify the criteria defining the pixels to be modified.
  • the sub-step 144 for creating the table of coordinates includes a sub-step 146 for defining the pixels to be modified according to the following criteria: an entering movement criterion, a pixel being to be modified according to this criterion if the second value of comparison is greater than the third comparison value, and if the fourth comparison value is greater than a first predefined threshold or the fifth comparison value is greater than a second predefined threshold.
  • the criterion can be written according to the following formula:
  • criterion (m4(x) > s2 OR m3(x) > avg2) AND ml(x) ⁇ m2(x) an error correction criterion, a pixel being modified according to this criterion if the pixel with the same coordinate has not not been modified in the previous frame of the video stream and if the second comparison value is greater than a fifth predefined threshold.
  • the criterion can be written according to the following formula:
  • the coordinate table is made up of the pixels to be modified in the reduced image, and is for example formed of definition groups comprising a value corresponding to the number of pixels not to be modified and a value corresponding to the number of pixels to be modified. It thus forms a sequence table as follows: [ [ Number of pixels not to modify, Number of pixels to modify ], [ Number of pixels not to modify, Number of pixels to modify ], etc. ].
  • the encoding method 100 then comprises several optional steps, allowing to increase the compression rate if necessary by adding losses representative of low impact data.
  • the encoding method 100 comprises a step 150 of deleting data by deleting the definition groups comprising a number of pixels to be modified lower than a sixth predefined threshold.
  • the threshold can be equal to 2, which makes it possible to eliminate definition groups with solitary pixel, that is to say comprising only one pixel to be modified. If a definition group is modified, the next definition group is updated to include the pixels of the modified definition group in the term corresponding to the pixels not to be modified.
  • the encoding method 100 can also comprise a step 160 of reducing data by modifying the value of a pixel to be modified by the value of the previous pixel to be modified if the difference in value between the pixel to be modified and the pixel to be modified previous is less than a seventh predefined threshold.
  • the method may also include a step 170 of reducing the definition of the pixel values to be modified.
  • the value of the pixels to be modified can be encoded on a number of bits lower than the number of initial bits on the matrix frame, for example 6 bits instead of 8 bits. The loss of data is insignificant due to previous processing.
  • the encoding method 100 then comprises a step 180 of encoding the approximate luminance table, the red chrominance table and/or the blue chrominance table according to the following sub-steps, for each encoded table: a sub-step of detection of a sequence of pixel values of the encoded table contained in a predetermined interval, said sequence of values forming a strip; a sub-step of encoding an identification value of a start of the strip; a substep of encoding the minimum pixel value of the strip; a sub-step of encoding the value of each pixel from which the minimum value is subtracted; if at least three following pixels have the same value, a sub-step of encoding a repetition value followed by the number of repetitions replacing the value of each of the repeated pixels.
  • FIG. 3 schematically represents a portion 300 of a video frame as it is recorded in an encoding method according to one embodiment of the invention.
  • the portion 300 here comprises two rows 302, 304 of eight pixels whose values are represented as lying between Vmin and Vmax.
  • the video frame as encoded at this stage of the encoding process shows strips 306 grouping together a series of values contained in a predetermined interval, for example a maximum difference of thirteen between the maximum value and the minimum value of the pixels of the strip, so that it can be encoded on four bits while keeping two bits for the notation of the start of the strip and the repetitions.
  • Values that cannot be grouped together in a strip are encoded in the conventional way, the value of the pixel being recorded as it is.
  • the encoding method 100 then comprises a step 190 of grouping together, in a so-called complete table table, at least the coordinate table, the approximate luminance table, the red chrominance table and the blue chrominance table and, for an image definition greater than the definition of the reduced image, of at least two sub-bands representing the horizontal and vertical details.
  • the encoding method 100 comprises a step 200 of lossless compression of said complete table by a lossless compression algorithm.
  • Lossless compression is preferably carried out using a Deflate type algorithm, particularly suited to the data format of the complete table.
  • FIG. 4 schematically represents a decoding method 400 according to one embodiment of the invention.
  • the method comprises the following decoding steps: a lossless decompression step (410) of the video stream encoded by a lossless decompression algorithm; a step (420) of reading, for each frame, the complete table; a step (430) of generating a frame by modifying the pixels to be modified according to the previous frame and the table of coordinates, by the values defined in the table of integers; a step (440) of reconstructing a reduced image for each color space from the approximate luminance, blue chrominance and red chrominance values; - a step (450) of inverse wavelet transform from the reduced image and the sub-bands representing the horizontal and vertical details available in the encoded video stream.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne un procédé d'encodage d'un flux vidéo permettant d'obtenir un flux vidéo à faible latence. Le procédé d'encodage comprend plusieurs étapes, notamment une étape (110) de transformée en ondelettes pour chaque espace de couleur de chaque trame vidéo du flux vidéo, une étape (120) d'approximation de luminance pour permettre la réduction (130) de l'information colorimétrique de chaque information de couleur, une étape de réduction du nombre de données par détection (140) de mouvement par rapport aux frames passées du flux vidéo, puis un codage des pixels à mettre à jour par un tableau de coordonnées, une étape optionnelle de suppression de données par perte d'information à faible impact (valeurs de pixels solitaires, faibles amplitudes, définition), une étape (180) d'identification et notation de bandelettes et de répétition, et une dernière étape (200) de compression sans perte grâce à un algorithme de compression sans perte de type Deflate.

Description

DESCRIPTION
TITRE DE L’INVENTION : PROCÉDÉ D’ENCODAGE ET DÉCODAGE
VIDÉO À FAIBLE LATENCE
Domaine technique de l’invention L’invention concerne un procédé d’encodage et de décodage vidéo, en particulier pour le traitement de flux vidéo à faible latence de type flux vidéo en direct, pour des applications telle qu’une diffusion en continu et en direct ou une visioconférence.
Arrière-plan technologique Les normes de codage actuelles pour les flux vidéo sont particulièrement utilisées pour la transmission de flux vidéo de haute qualité avec un débit relativement faible, mais peu de normes de codage cherchent à optimiser l’encodage et le décodage d’un flux vidéo avec pour objectif d’obtenir une latence faible pour permettre G utilisation pour des flux vidéo en direct point à point. En particulier, les principaux formats d’encodage et de décodage vidéo, notamment le format AVI de l’Alliance for Open Media et les formats H.264 et H.265 du groupement MPEG sont concentrés sur une restitution des formats à haute- définition avec une compression efficace, ce qui nécessite d’importantes ressources de calcul. De plus, ces formats n’ont pas pour objectif une réduction de la latence, notamment car ils utilisent des prédictions utilisant des trames futures dans l’étude du mouvement des trames actuelles, ce qui retarde le calcul de la trame actuelle, généralement d’un quart de seconde ou d’une demi-seconde. En outre, la qualité d’encodage est déterminée en amont et le flux n’est pas adaptable de façon simple.
Les inventeurs ont cherché à proposer un procédé d’encodage et un procédé de décodage permettant d’obtenir des débits comparables aux normes de codage H.264 et H.265 avec une meilleure fidélité de l’information contenue dans l’image et avec une faible latence et utilisant peu de ressources et avec un flux adaptable, pour une utilisation pour une diffusion en continu de faible latence, en particulier pour une diffusion point à point. Objectifs de l’invention
L’invention vise à fournir un procédé d’encodage vidéo pour un flux vidéo à faible latence.
L’invention vise en particulier à fournir, dans au moins un mode de réalisation, un procédé d’encodage vidéo permettant l’obtention d’un flux vidéo recomposable totalement ou partiellement pour permettre un débit binaire adaptable à partir d’un traitement unique.
L’invention vise aussi à fournir, dans au moins un mode de réalisation de l’invention, un procédé d’encodage vidéo permettant d’obtenir une fidélité élevée dans le rendu de l’information contenue dans l’image, en particulier les textes et les contours.
L’invention vise aussi à fournir, dans au moins un mode de réalisation de l’invention, un procédé d’encodage vidéo permettant d’obtenir un taux de compression élevé.
L’invention vise aussi à fournir, dans au moins un mode de réalisation de l’invention, un procédé d’encodage vidéo permettant un traitement rapide pour un encodage de flux en direct, en consommant peu de ressources de calcul.
Exposé de l’invention
Pour ce faire, l’invention concerne un procédé d’encodage d’un flux vidéo caractérisé en ce qu’il comprend, pour chaque trame vidéo dudit flux vidéo, les étapes d’encodage suivantes : une étape de transformée en ondelettes à deux dimensions pour chaque espace de couleur rouge, vert et bleu de chaque trame vidéo du flux vidéo, de sorte à obtenir à chaque répétition une image sous- échantillonnée et trois sous-bandes représentant respectivement des détails horizontaux, verticaux et diagonaux permettant une reconstruction de la trame vidéo d’origine à partir de l’image sous- échantillonnée, ladite transformée en ondelettes étant réalisée une fois sur la trame puis N-l fois sur chaque image sous-échantillonnée avec N supérieur ou égal à deux, l’image sous-échantillonnée obtenue à la dernière répétition formant l’image réduite ; une étape de calcul d’une approximation d’une luminance de chaque pixel de chaque image réduite, par pondération de chaque valeur de couleur de chaque pixel avec un coefficient de pondération prédéterminé et constant pour chaque couleur, pour obtenir un tableau de luminance approximée pour chaque pixel ; une étape de réduction des valeurs de couleur rouge et bleu de chaque pixel de chaque image réduite par soustraction de l’approximation de la luminance à la valeur de couleur initiale du pixel, pour obtenir respectivement un tableau de chrominance rouge et un tableau de chrominance bleu pour chaque pixel ; une étape de détection de mouvement entre la trame encodée et au moins une trame précédente dans le flux vidéo, comprenant : o une sous-étape de calcul, pour chaque pixel, d’une ou plusieurs des valeurs de comparaison suivantes :
une première valeur de comparaison étant la moyenne des approximations de luminance du pixel dans la trame encodée et dans les trois trames précédentes du flux vidéo ;
une deuxième valeur de comparaison étant la valeur absolue de la différence entre l’approximation de la luminance de la trame encodée et de la trame précédente du flux vidéo ;
une troisième valeur de comparaison étant la valeur absolue de la différence entre l’approximation de la luminance de la trame encodée et l’approximation de la luminance de la trame située deux trames avant dans le flux vidéo ;
une quatrième valeur de comparaison étant la valeur absolue de la différence entre l’approximation de la luminance de la trame encodée et la première valeur de comparaison ;
une cinquième valeur de comparaison étant la valeur absolue de la différence entre la deuxième valeur de comparaison et la troisième valeur de comparaison; o une sous-étape de création d’un tableau de coordonnées comprenant les pixels à modifier pour lesquels au moins une des valeurs de comparaison est supérieure à un seuil prédéfini parmi un ensemble de seuils prédéfinis comprenant au moins un seuil prédéfini ; une étape de regroupement, dans un tableau dit tableau complet, d’au moins le tableau de coordonnées, le tableau de luminance approximée, le tableau de chrominance rouge et du tableau de chrominance bleu et, pour une définition d’image supérieure à la définition de l’image réduite, d’au moins deux sous- bandes représentant les détails horizontaux et verticaux ; une étape de compression sans perte dudit tableau complet par un algorithme de compression sans perte.
Un procédé d’encodage selon l’invention permet, grâce à une pluralité d’optimisations, d’obtenir un flux avec un débit binaire restitué élevé avec une fidélité élevée de l’information contenue dans l’image. Le procédé d’encodage est particulièrement adapté à l’encodage de flux en direct à faible latence, grâce au traitement rapide des données. La réduction de poids du flux et la conservation de sa cohérence sont permises par une approche de l’information par sa description simplifiée. On applique au flux une approche similaire à une vectorisation dynamique appliquée à un signal vidéo.
L’utilisation de la transformée en ondelettes permet de limiter les traitements aux images sous-échantillonnées, la trame vidéo complète étant reconstituée en fin de traitement par les sous-bandes représentant les détails de l’image.
La perte appliquée au flux vidéo devient un élément de simplification et d’optimisation du signal ainsi qu’un facteur de compression. Les différentes simplifications permettent en outre la simplification d’étapes de calcul, en particulier les calculs sur des valeurs entières et la réduction des amplitudes de valeurs, ce qui réduit les ressources de calcul nécessaires. L’objectif est que le procédé d’encodage et de décodage soit à la portée d’une exécution dans un navigateur Web, et de préférence sans utilisation de carte graphique, au moins pour certains niveaux de définition d’image.
En particulier, le flux vidéo encodé est recomposable pour permettre un débit binaire adaptable à partir d’un traitement unique. Il présente en outre une fidélité élevée dans le rendu de l’information contenue dans l’image, via une sélection précise des critères permettant la réduction de la taille des données à stocker. En particulier, l’étape de calcul d’approximation de la luminance et l’étape de réduction des valeurs permettent de réduire le nombre d’informations à stocker et permettent de s’assurer d’une cohérence globale du flux vidéo malgré la réduction de la précision de chaque information unitaire. En outre, la fidélité est supérieure aux procédés utilisant la transformée en cosinus discrète (DCT pour Discrète Cosine Transform en anglais) qui dégrade les textes et les contours.
L’étape de détection de mouvement permet d’identifier les zones géométriques constitutives du flux vidéo à mettre à jour dans la restitution du flux.
Le taux de compression élevé est obtenu grâce à la prise en compte des mouvements entre deux trames et grâce à la structure particulière de stockage des données relatives aux pixels à modifier et à la valeur desdits pixels modifiés, ladite structure étant optimisée pour être compressée par des algorithmes de compression sans perte.
Le tableau complet comprend des informations différentes selon la définition souhaitée de chaque trame du flux vidéo. Pour une définition minimale, c’est-à-dire égale à la définition de l’image réduite, seuls les tableaux de coordonnée, de luminance approximée, de chrominance rouge et de chrominance bleu sont transmis dans le tableau complet. Pour chaque doublement de la définition, le tableau complet comprend en outre les sous-bandes représentant les détails horizontaux et verticaux obtenus à la dernière répétition de la transformée en ondelettes, soit N sous-bandes horizontales et N sous-bandes verticales pour N doublement de définition. Les sous-bandes représentant les détails diagonaux peuvent ne pas être transmises car elles contiennent peu d’informations.
Les différentes valeurs de comparaison permettent d’obtenir des critères pertinents de définition d’un mouvement dans une trame par rapport à la ou les trames précédentes, dans un temps limité et en nécessitant peu de ressources.
Avantageusement et selon l’invention, l’étape de transformée en ondelettes utilise des ondelettes de Haar pour chaque répétition.
Selon cet aspect de l’invention, l’utilisation d’une transformée par ondelettes de Haar permet l’obtention d’un algorithme facilement implémentable et utilisable pour l’encodage du flux vidéo.
Avantageusement et selon l’invention, l’approximation de la luminance est calculée en utilisant les coefficients de pondération suivants : coefficient égal à 0,25 pour la valeur rouge, coefficient égal à 0,6875 pour la valeur verte, coefficient égal à 0,065 pour la valeur bleue.
Selon cet aspect de l’invention, l’approximation de la luminance est ainsi calculée de façon simple tout en restant proche de la définition classique de la luminance. Les coefficients sont choisis pour accélérer le traitement de l’encodage grâce à G utilisation de quotients basés sur des multiples d’un seizième, respectivement quatre seizièmes pour le coefficient affecté à la valeur rouge, onze seizièmes pour le coefficient affecté à la valeur verte et un seizième pour le coefficient affecté à la valeur bleue.
Avantageusement et selon l’invention, la sous-étape (144) de création du tableau de coordonnées comprend une sous-étape (146) de définition des pixels à modifier selon les critères suivants : - un critère de mouvement entrant, un pixel étant à modifier selon ce critère si la deuxième valeur de comparaison est supérieure à la troisième valeur de comparaison, et si la quatrième valeur de comparaison est supérieure à un premier seuil prédéfini ou la cinquième valeur de comparaison est supérieure à un deuxième seuil prédéfini ; un critère de mouvement sortant, un pixel étant à modifier selon ce critère si la deuxième valeur de comparaison est inférieure à la troisième valeur de comparaison, et si la quatrième valeur de comparaison est supérieure à un troisième seuil prédéfini ou la cinquième valeur de comparaison est supérieure à un quatrième seuil prédéfini ; un critère de correction d’erreur, un pixel étant à modifier selon ce critère si le pixel de même coordonnée n’a pas été sélectionné comme étant à modifier dans la trame précédente du flux vidéo et si la deuxième valeur de comparaison est supérieure à un cinquième seuil prédéfini.
Selon cet aspect de l’invention, le critère de mouvement entrant (ou débutant) permet de détecter une augmentation de la valeur du pixel suffisamment importante pour être encodée comme équivalent à un début de mouvement, le critère de mouvement sortant (ou finissant) permet de détecter une diminution de la valeur du pixel suffisamment importante pour être encodée comme équivalent à une fin de mouvement, et le critère de correction d’erreur permet de corriger une erreur du fait de l’approximation des critères de mouvement entrant et sortant par rapport à une technique classique de détection de mouvement par dérivée seconde, qui est plus consommatrice de ressources.
En utilisant les mêmes valeurs pour le premier seuil prédéfini et le troisième seuil prédéfini d’une part, et pour le deuxième seuil prédéfini et le quatrième seuil prédéfini d’autre part, il est possible de réunir les critères de mouvement entrant et sortant dans un même critère de mouvement.
Avantageusement, un procédé selon l’invention comprend une étape d’encodage du tableau de luminance approximée, du tableau de chrominance rouge et/ou du tableau de chrominance bleu selon les sous-étapes suivantes, pour chaque tableau encodé : une sous-étape de détection d’une suite de valeurs de pixel du tableau encodé contenues dans un intervalle prédéterminé, ladite suite de valeurs formant une bandelette ; une sous-étape d’encodage d’une valeur d’identification d’un début de la bandelette ; une sous-étape d’encodage de la valeur minimale de pixel de la bandelette ; une sous-étape d’encodage de la valeur de chaque pixel auquel est soustraite la valeur minimale ; si au moins trois pixels se suivant ont la même valeur, une sous-étape d’encodage d’une valeur de répétition suivie du nombre de répétition en remplacement de la valeur de chacun des pixels répétés.
Selon cet aspect de l’invention, la formation de bandelette permet de réduire la quantité de données nécessaire (le nombre de bits) pour stocker l’information. Cette utilisation de bandelette est pertinente du fait de la succession des traitements précédents qui permettent de réduire l’intervalle des valeurs stockées, par seuillage des valeurs et par lissage des valeurs.
Une bandelette comprend une série de valeurs proches, c’est-à-dire qui peuvent être exprimées dans un nombre de bit limité par rapport à une valeur minimale de la série. Par exemple, pour un codage sur quatre bits, on utilise une valeur sur quatre bits pour stocker la valeur d’identification de la bandelette (par exemple la valeur quatorze indique qu’une bandelette débute), une valeur sur quatre bits est utilisée pour indiquer une répétition (par exemple la valeur quinze indique qu’une répétition suit et la valeur suivante indique le nombre de répétitions), et il reste quatorze valeurs sur quatre bits (par exemple de zéro à treize) pour exprimer la valeur de chaque pixel par rapport à la valeur minimale. Une bandelette comprend alors des valeurs qui se suivent s’étendant dans l’intervalle [valeur minimale ; valeur minimale + 13]. Avantageusement et selon l’invention, l’algorithme de compression sans perte est l’algorithme Deflate ou un dérivé.
Selon cet aspect de l’invention, l’algorithme de compression Deflate utilise l’algorithme LZ77 et le codage de Huffman pour obtenir un taux de compression important avec une faible puissance de calcul nécessaire pour l’encodage et le décodage. La structure particulière des données obtenues par le procédé selon l’invention permet d’obtenir une structure de donnée remarquablement comparable à une série de phrases, comprenant des motifs et des répétitions, ce qui entraîne que l’algorithme Deflate est particulièrement efficace sur cette structure de données. Le taux de compression du flux vidéo est donc particulièrement optimisé par cette compression sans perte. D’autres algorithmes de compression dérivés peuvent être utilisés, en particulier les algorithmes efficaces sur les structures de données comparable à une série de phrase, notamment les algorithmes utilisant des arbres de codage tel que mis en œuvre dans le codage de Huffman.
Avantageusement et selon l’invention, ledit tableau de coordonnées comprend au moins un groupe de définition des pixels à modifier comprenant une valeur correspondant au nombre de pixels à ne pas modifier et au nombre de pixels à modifier dans l’image sous-échantillonnée, dans l’ordre de lecture de la trame.
De par sa répartition statistique, le tableau de coordonnées peut en outre être noté de façon dynamique sur 4, 8, 12, 16 ou 20 bits, suivant les intervalles [0,7] [8,63] [64, 512] [512, 4096] [4096, 65536]
Avantageusement, un procédé d’encodage selon cette dernière variante de l’invention comprend une étape de suppression de données par suppression des groupes de définition comprenant un nombre de pixel à modifier inférieur à un sixième seuil prédéfini.
Selon cet aspect de l’invention, cette suppression permet de réduire le nombre de groupe de définition à encoder en supprimant les groupes comprenant un nombre réduit de pixel, pour lesquels une modification de la valeur des pixels aurait un impact limité sur le flux vidéo. Par exemple, le groupe de pixel est supprimé si le nombre de pixel à modifier dans le groupe est strictement inférieur à deux, les pixels solitaires sont supprimés (le sixième seuil est égal à un dans cet exemple).
Lorsqu’un groupe de définition est supprimé, le groupe de définition suivant est mis à jour pour additionner le nombre de pixels à ne pas modifier et le nombre de pixel à modifier du groupe de définition supprimé à la valeur correspondant au nombre de pixels à ne pas modifier.
Avantageusement, un procédé d’encodage selon l’invention comprend une étape de réduction de données par modification de la valeur d’un pixel à modifier par la valeur du pixel à modifier précédent si la différence de valeur entre le pixel à modifier et le pixel à modifier précédent est inférieure à un septième seuil prédéfini.
Selon cet aspect de l’invention, la réduction de donnée permet d’uniformiser des valeurs de pixel proches, correspondant à des variations de faible amplitude,
Avantageusement, un procédé d’encodage selon l’invention comprend une étape de réduction de la définition des valeurs de pixel à modifier.
Selon cet aspect de l’invention, la réduction de la définition permet de réduire la taille des données à conserver pour encoder le flux vidéo. Par exemple, une réduction de la définition des valeurs de pixels peut être réalisée en divisant par deux l’ensemble des valeurs de pixel à modifier, de sorte à ce que l’intervalle entre la valeur minimale et la valeur maximale que peuvent prendre les pixels est réduit et donc peut être encodé avec un bit en moins.
L’invention concerne également un procédé de décodage d’un flux vidéo encodé par un procédé d’encodage selon l’invention comprenant, pour chaque trame vidéo dudit flux vidéo, les étapes de décodage suivantes : une étape de décompression sans perte du flux vidéo encodé par un algorithme de décompression sans perte ; une étape de lecture, pour chaque trame, du tableau complet ; une étape de génération d’une trame par modification des pixels à modifier selon la trame précédente et le tableau de coordonnées, par les valeurs définies dans le tableau d’entiers ; une étape de reconstruction d’une image réduite pour chaque espace de couleur à partir des valeurs de luminance approximée, de chrominance bleu et de chrominance rouge ; une étape de transformée en ondelettes inverse à partir de l’image réduite et des sous-bandes représentant les détails horizontaux et verticaux disponibles dans le flux vidéo encodé.
Un procédé de décodage selon l’invention permet donc le décodage du flux vidéo. Le décodage nécessite peu de puissance de calcul et peut donc être réalisé avec une faible latence, trame par trame et au fur et à mesure de la réception du flux. Malgré les différentes approximations utilisées lors de l’encodage, le flux vidéo décodé est fidèle au flux vidéo avant l’encodage. La transformée en ondelettes inverse s’effectue en fonction du nombre de sous-bandes reçues qui peut différer selon la définition de l’image souhaitée, comme explicité plus haut.
Avantageusement et selon l’invention, le procédé de décodage peut comprendre une étape finale d’ajout de flou gaussien. Cette étape est destinée à réduire la formation de tramage dans les images du flux vidéo qui peut apparaître du fait de l’utilisation de la transformée en ondelettes, notamment par l’utilisation d’ ondelettes de Haar.
L’invention concerne également un dispositif d’encodage d’un flux vidéo, caractérisé en ce qu’il comprend un module de réception d’un flux vidéo brut et un module d’encodage du flux vidéo brut pour obtenir un flux vidéo encodé, ledit module d’encodage étant configuré pour mettre en œuvre les étapes d’un procédé d’encodage selon l’invention.
L’invention concerne également un procédé d’encodage, un procédé de décodage et un dispositif d’encodage, caractérisés en combinaison par tout ou partie des caractéristiques mentionnées ci-dessus ou ci-après.
Liste des figures
D'autres buts, caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante donnée à titre uniquement non limitatif et qui se réfère aux figures annexées dans lesquelles :
[Fig. 1] est une vue schématique d’un procédé d’encodage selon un mode de réalisation de l’invention ;
[Fig.2] est une vue schématique d’une transformation en ondelettes du procédé d’encodage selon un mode de réalisation de l’invention ;
[Fig. 3] est une vue schématique d’une portion d’une trame vidéo telle qu’elle est enregistrée dans un procédé d’encodage selon un mode de réalisation de l’invention.
[Fig. 4] est une vue schématique d’un procédé de décodage selon un mode de réalisation de l’invention.
Description détaillée d’un mode de réalisation de l’invention
Sur les figures, les échelles et les proportions ne sont pas strictement respectées et ce, à des fins d’illustration et de clarté.
En outre, les éléments identiques, similaires ou analogues sont désignés par les mêmes références dans toutes les figures.
La figure 1 représente schématiquement un procédé 10 d’encodage selon un mode de réalisation de l’invention, permettant d’encoder chaque trame d’un flux vidéo. Chaque trame (frame en anglais) ou image du flux vidéo forme une matrice comprenant les valeurs de chaque pixel qui compose la trame. Dans le mode de réalisation décrit, chaque pixel est codé sur 8 bits soit un octet dans la trame originale destinée à être encodée.
Le procédé 100 d’encodage comprend, pour chaque trame vidéo du flux vidéo, un ensemble d’étape permettant d’obtenir un flux vidéo encodé.
Le procédé 100 d’encodage comprend une étape 110 de transformée en ondelettes à deux dimensions pour chaque espace de couleur rouge, vert et bleu de chaque trame vidéo du flux vidéo. En référence avec la figure 2 représentant une telle transformation en ondelettes, l’étape permet d’obtenir à chaque répétition, à partir d’une trame 10 d’origine dans un des espaces de couleur, une image 12 sous- échantillonnée et trois sous-bandes, une première sous-bande 14 représentant des détails horizontaux, une deuxième sous-bande 16 représentant des détails verticaux et une troisième sous-bande 18 représentant des détails diagonaux. Les trois sous- bandes permettent une reconstruction de la trame vidéo d’origine à partir de l’image sous-échantillonnée 12.
La transformée comprend une étape intermédiaire comprenant deux sous- bandes intermédiaires relatives aux détails horizontaux, une première sous-bande 20 intermédiaire correspondant à la moyenne des pixels de la trame 10 d’origine deux à deux suivant l’axe horizontal, et une deuxième sous-bande 22 intermédiaire correspondant à une erreur correspondant à l’erreur entre la trame 10 d’origine et l’image 12 sous-échantillonnées dans le sens horizontal. L’étape suivante correspond à la même opération dans le sens vertical, où l’image 12 sous- échantillonnée correspond à la moyenne des pixels de la première sous-bande 20 intermédiaire deux à deux suivant l’axe vertical, la première sous-bande 14 correspondant à la moyenne des pixels de la deuxième sous-bande 20 intermédiaire deux à deux suivant l’axe vertical, la deuxième sous-bande 16 correspondant à l’erreur de la première sous-bande 20 intermédiaire et l’image 12 sous- échantillonnées dans le sens vertical, et la troisième sous-bande 18 correspondant à l’erreur de la deuxième sous-bande 22 intermédiaire et l’image 12 sous- échantillonnées dans le sens vertical. Pour chaque pixel, on ne conserve pour chaque couleur que la partie entière du calcul. Les valeurs sont recentrées pour conserver uniquement des données sous forme d’entiers non-signés.
Les premières, deuxièmes et troisième sous-bandes 14, 16, 18 peuvent avoir leur notation recentrée sur des entiers non-signés, en particulier sur 8 bits, afin d’améliorer l’efficacité du traitement.
Dans certains modes de réalisation, l’information contenue dans la troisième sous-bande 18 peut être supprimée pour gagner en compression, car l’information transmise par cette troisième sous-bande 18 est faible par rapport aux autres sous- bandes.
Selon le taux de compression souhaité, ladite transformée en ondelettes est effectuée une fois sur la trame 10 d’origine, puis répétée N-l fois sur chaque image 12 sous-échantillonnée, de sorte à atteindre un total de N répétitions de la transformée, avec N supérieur ou égal à deux. La transformée en ondelettes est effectuée par exemple par ondelettes de Haar. L’image sous-échantillonnée obtenue à la dernière répétition est appelée image réduite.
Une fois la transformée en ondelettes obtenue, le procédé comprend une étape 120 de calcul d’une approximation d’une luminance de chaque pixel de chaque image 12 réduite, par pondération de chaque valeur de couleur de chaque pixel avec un coefficient de pondération prédéterminé et constant pour chaque couleur.
En particulier, on peut utiliser les coefficients de pondération suivants : coefficient égal à 0,25=4/16 pour la valeur rouge, coefficient égal à 0,6875=11/16 pour la valeur verte, coefficient égal à 0,065=1/16 pour la valeur bleue.
Ces coefficients de pondération permettent de simplifier le calcul de la luminance, en utilisant des valeurs proches des valeurs classiques de calcul de la luminance mais permettant des calculs simplifiés grâce aux multiples de seizièmes.
Les valeurs de luminance approximée pour chaque pixel sont stockées dans un tableau de luminance approximée.
L’approximation de la luminance ainsi calculée permet en outre la mise en œuvre dans le procédé d’encodage d’une étape 130 de réduction des valeurs de couleur rouge et bleu de chaque pixel de chaque trame par soustraction de l’approximation de la luminance à la valeur de couleur initiale du pixel, pour obtenir respectivement un tableau de chrominance rouge et un tableau de chrominance bleu pour chaque pixel.
En particulier, avec L(x) l’approximation de la luminance, Xrouge une valeur de couleur rouge d’un pixel, Xbleu une valeur de couleur bleue d’un pixel et Xvert une valeur de couleur verte d’un pixel, on obtient :
L(x) = ((4 * Xrouge) + (11 * Xvert) + Xbleu) / 16), avec L(x) calculé en valeur absolue et ramené à une valeur entière dans l’intervalle [0 ; 255] pour être encodé dans un octet, et la réduction des valeurs Xrouge et Xbleu prenant la forme de deux fonctions f : f(Xrouge) = 128 + ((L(x) - Xrouge) / 2), et f (Xbleu) = 128 + ((L(x) - Xbleu) / 2), le résultat étant calculé en valeur absolue et ramené à une valeur entière dans l’intervalle [0 ; 255] pour être encodé dans un octet.
Ainsi, malgré une réduction de précision de l’information unitaire, la cohérence de l’ensemble est conservée. Les valeurs ainsi obtenues sont dans un intervalle réduit entre une valeur minimale et une valeur maximale. En outre, la différence de valeurs de couleur entre deux pixels différents est réduite ce qui peut permettre d’encoder des valeurs de couleur proches par répétition d’une même valeur.
Le procédé 100 d’encodage comprend ensuite une étape 140 de détection de mouvement entre la trame encodée et au moins une trame précédente dans le flux vidéo. Cette étape 140 de détection de mouvement permet de sélectionner uniquement les pixels correspondant à un mouvement, c’est-à-dire les pixels dont la valeur se modifie de façon suffisamment importante d’une trame à l’autre dans le flux vidéo. L’objectif est de ne pas encoder la valeur d’un pixel qui n’a pas été modifié d’une trame à l’autre pour réduire le nombre d’information à encoder. Pour réduire la latence, les calculs ne s’effectuent pas à partir de trames futures du flux vidéo.
L’étape 140 de détection de mouvement comprend notamment une sous- étape 142 de calcul, pour chaque pixel, d’une ou plusieurs des valeurs de comparaison. En particulier, la sous-étape 142 de calcul d’au moins une valeur de comparaison, pour chaque pixel, comprend le calcul d’une ou plusieurs des valeurs de comparaison suivantes : une première valeur de comparaison, notée avg(x), étant la moyenne des approximations de luminance L(x) du pixel dans l’image réduite de la trame encodée et dans les images réduites des n trames précédentes du flux vidéo, avec par exemple n=3 ; une deuxième valeur de comparaison, notée ml(x), étant la valeur absolue de la différence entre l’approximation de la luminance de l’image réduite de la trame encodée et de l’image réduite de la trame précédente du flux vidéo ; une troisième valeur de comparaison, notée m2(x), étant la valeur absolue de la différence entre l’approximation de la luminance de la l’image réduite de la trame encodée et l’approximation de la luminance de l’image réduite de la trame située deux trames avant dans le flux vidéo ; une quatrième valeur de comparaison, notée m3(x), étant la valeur absolue de la différence entre l’approximation de la luminance de la l’image réduite de la trame encodée et la première valeur de comparaison ; une cinquième valeur de comparaison, notée m4(x) étant la valeur absolue de la différence entre la deuxième valeur ml(x) de comparaison et la troisième valeur m2(x) de comparaison.
L’étape 140 de détection de mouvement comprend en outre une sous-étape 144 de création d’un tableau de coordonnées comprenant les pixels à modifier selon certains critères par exemple les pixels pour lesquels au moins une des valeurs de comparaison est supérieure à un seuil prédéfini parmi un ensemble de seuils prédéfinis comprenant au moins un seuil prédéfini, ledit tableau de coordonnées comprenant par exemple au moins un groupe de définition des pixels à modifier comprenant une valeur correspondant au nombre de pixels à ne pas modifier et au nombre de pixels à modifier, dans l’ordre de lecture de la trame. Les seuils prédéfinis sont par exemple les suivants : un premier seuil si, par exemple égal à 4 dans un mode de réalisation préférentiel ; un deuxième seuil avgl, par exemple égal à 2 dans un mode de réalisation préférentiel ; un troisième seuil s2, par exemple égal à 6 dans un mode de réalisation préférentiel ; un quatrième seuil avg2, par exemple égal à 3 dans un mode de réalisation préférentiel ; un cinquième seuil adj, par exemple égal à 10 dans un mode de réalisation préférentiel.
Les comparaisons des valeurs de comparaison avec les différents seuils sont de préférence combinées pour détecter des types de mouvements particuliers, de sorte à préciser les critères définissant les pixels à modifier. En particulier, la sous- étape 144 de création du tableau de coordonnées comprend une sous-étape 146 de définition des pixels à modifier selon les critères suivants : un critère de mouvement entrant, un pixel étant à modifier selon ce critère si la deuxième valeur de comparaison est supérieure à la troisième valeur de comparaison, et si la quatrième valeur de comparaison est supérieure à un premier seuil prédéfini ou la cinquième valeur de comparaison est supérieure à un deuxième seuil prédéfini. En résumé, le critère peut être écrit selon la formule suivante :
(m4(x) > si OU m3(x) > avgl) ET ml(x) > m2(x) un critère de mouvement sortant, un pixel étant à modifier selon ce critère si la deuxième valeur de comparaison est inférieure à la troisième valeur de comparaison, et si la quatrième valeur de comparaison est supérieure à un troisième seuil prédéfini ou la cinquième valeur de comparaison est supérieure à un quatrième seuil prédéfini. En résumé, le critère peut être écrit selon la formule suivante :
(m4(x) > s2 OU m3(x) > avg2) ET ml(x) < m2(x) un critère de correction d’erreur, un pixel étant à modifier selon ce critère si le pixel de même coordonnée n’a pas été modifié dans la trame précédente du flux vidéo et si la deuxième valeur de comparaison est supérieure à un cinquième seuil prédéfini. En résumé, le critère peut être écrit selon la formule suivante :
(pixel modifié à T-l) ET ml(x) > adj
Le tableau de coordonnées est composé des pixels à modifier dans l’image réduite, et est par exemple formé de groupes de définition comprenant une valeur correspondant au nombre de pixels à ne pas modifier et une valeur correspondant au nombre de pixels à modifier. Il forme ainsi une table séquentielle comme suit : [ [ Nombre de pixels à ne pas modifier, Nombre de pixels à modifier ], [ Nombre de pixels à ne pas modifier, Nombre de pixels à modifier ], etc. ].
Le procédé 100 d’encodage comprend ensuite plusieurs étapes optionnelles, permettant d’augmenter le taux de compression si nécessaire par ajout de pertes représentatives de données à faible impact.
Par exemple, le procédé 100 d’encodage comprend une étape 150 de suppression de données par suppression des groupes de définition comprenant un nombre de pixel à modifier inférieur à un sixième seuil prédéfini. En particulier, le seuil peut être égal à 2, ce qui permet de supprimer les groupes de définition à pixel solitaire, c’est-à-dire comprenant uniquement un pixel à modifier. Si un groupe de définition est modifié, le groupe de définition suivant est mis à jour pour inclure les pixels du groupe de définition modifié dans le terme correspondant aux pixels à ne pas modifier.
Le procédé 100 d’encodage peut comprendre également une étape 160 de réduction de données par modification de la valeur d’un pixel à modifier par la valeur du pixel à modifier précédent si la différence de valeur entre le pixel à modifier et le pixel à modifier précédent est inférieure à un septième seuil prédéfini.
Ainsi, on peut réunir des valeurs proches de pixels à modifier pour faciliter l’encodage des valeurs de pixels à modifier pour obtenir des répétitions.
Le procédé peut également comprendre une étape 170 de réduction de la définition des valeurs de pixel à modifier. En particulier, la valeur des pixels à modifier peut être encodée sur un nombre de bits inférieur au nombre de bit initial sur la trame matricielle, par exemple 6 bits au lieu de 8 bits. La perte de données est peu significative du fait des traitements précédents.
Le procédé 100 d’encodage comprend ensuite une étape 180 d’encodage du tableau de luminance approximée, du tableau de chrominance rouge et/ou du tableau de chrominance bleu selon les sous-étapes suivantes, pour chaque tableau encodé : une sous-étape de détection d’une suite de valeurs de pixel du tableau encodé contenues dans un intervalle prédéterminé, ladite suite de valeurs formant une bandelette ; une sous-étape d’encodage d’une valeur d’identification d’un début de la bandelette ; une sous-étape d’encodage de la valeur minimale de pixel de la bandelette ; une sous-étape d’encodage de la valeur de chaque pixel auquel est soustraite la valeur minimale ; si au moins trois pixels se suivant ont la même valeur, une sous-étape d’encodage d’une valeur de répétition suivie du nombre de répétition en remplacement de la valeur de chacun des pixels répétés.
L’étape 180 d’encodage dans un tableau d’entier permet ainsi de réduire les données à stocker à une valeur de chaque pixel par rapport à une valeur minimale stockée indépendamment de manière unique pour chaque bandelette. La figure 3 représente schématiquement une portion 300 d’une trame vidéo telle qu’elle est enregistrée dans un procédé d’encodage selon un mode de réalisation de l’invention. La portion 300 comprend ici deux lignes 302, 304 de huit pixels dont les valeurs sont représentées comme comprises entre Vmin et Vmax.
La trame vidéo telle qu’encodée à ce stade du procédé d’encodage fait apparaître des bandelettes 306 regroupant une suite de valeurs contenues dans un intervalle prédéterminé, par exemple une différence maximale de treize entre la valeur maximale et la valeur minimale des pixels de la bandelette, pour pouvoir être encodé sur quatre bits en conservant deux bits pour la notation du début de bandelette et des répétitions. Les valeurs qui ne peuvent pas être regroupées dans une bandelette sont encodées de façon classique, la valeur du pixel étant enregistrée telle quelle.
Le procédé 100 d’encodage comprend ensuite une étape 190 de regroupement, dans un tableau dit tableau complet, d’au moins le tableau de coordonnées, le tableau de luminance approximée, le tableau de chrominance rouge et du tableau de chrominance bleu et, pour une définition d’image supérieure à la définition de l’image réduite, d’au moins deux sous-bandes représentant les détails horizontaux et verticaux. En particulier, pour une définition d’image égale à la définition de l’image réduite, seuls les tableaux de coordonnée, de luminance approximée, le tableau de chrominance rouge et du tableau de chrominance bleu sont encodés, pour une définition deux fois plus importante (en largeur et en hauteur), deux sous-bandes représentant les détails horizontaux et verticaux sont ajoutées, et pour une définition N fois plus importante (le maximum permis par la répétition des N transformées en ondelettes), l’intégralité des sous-bandes représentant les détails horizontaux et verticaux sont ajoutées.
Enfin, le procédé 100 d’encodage comprend une étape 200 de compression sans perte dudit tableau complet par un algorithme de compression sans perte. La compression sans perte s’effectue de préférence grâce à un algorithme de type Deflate, particulièrement adapté au format de donnée du tableau complet.
La figure 4 représente schématiquement un procédé 400 de décodage selon un mode de réalisation de l’invention. Le procédé comprend les étapes de décodages suivantes : une étape (410) de décompression sans perte du flux vidéo encodé par un algorithme de décompression sans perte ; une étape (420) de lecture, pour chaque trame, du tableau complet ; une étape (430) de génération d’une trame par modification des pixels à modifier selon la trame précédente et le tableau de coordonnées, par les valeurs définies dans le tableau d’entiers ; une étape (440) de reconstruction d’une image réduite pour chaque espace de couleur à partir des valeurs de luminance approximée, de chrominance bleu et de chrominance rouge ; - une étape (450) de transformée en ondelettes inverse à partir de l’image réduite et des sous-bandes représentant les détails horizontaux et verticaux disponibles dans le flux vidéo encodé.
Si des valeurs de pixels ont été réunies sous forme de bandelette, ces bandelettes sont interprétées lors de l’étape de lecture du tableau complet.

Claims

REVENDICATIONS
1. Procédé d’encodage d’un flux vidéo caractérisé en ce qu’il comprend, pour chaque trame vidéo dudit flux vidéo, les étapes d’encodage suivantes : une étape ( 110) de transformée en ondelettes à deux dimensions pour chaque espace de couleur rouge, vert et bleu de chaque trame vidéo du flux vidéo, de sorte à obtenir à chaque répétition une image (12) sous-échantillonnée et trois sous-bandes (14, 16, 18) représentant respectivement des détails horizontaux, verticaux et diagonaux permettant une reconstruction de la trame vidéo d’origine à partir de l’image (12) sous-échantillonnée, ladite transformée en ondelettes étant réalisée une fois sur la trame puis N-l fois sur chaque image sous-échantillonnée avec N supérieur ou égal à deux, l’image sous- échantillonnée obtenue à la dernière répétition formant l’image réduite ; une étape (120) de calcul d’une approximation d’une luminance de chaque pixel de chaque image (12) réduite, par pondération de chaque valeur de couleur de chaque pixel avec un coefficient de pondération prédéterminé et constant pour chaque couleur, pour obtenir un tableau de luminance approximée pour chaque pixel ; une étape (130) de réduction des valeurs de couleur rouge et bleu de chaque pixel de chaque image (12) réduite par soustraction de l’approximation de la luminance à la valeur de couleur initiale du pixel, pour obtenir respectivement un tableau de chrominance rouge et un tableau de chrominance bleu pour chaque pixel ; une étape (140) de détection de mouvement entre la trame encodée et au moins une trame précédente dans le flux vidéo, comprenant :
- une sous-étape (142) de calcul, pour chaque pixel, d’une ou plusieurs des valeurs de comparaison suivantes :
- une première valeur de comparaison étant la moyenne des approximations de luminance du pixel dans la trame encodée et dans les trois trames précédentes du flux vidéo ;
- une deuxième valeur de comparaison étant la valeur absolue de la différence entre l’approximation de la luminance de la trame encodée et de la trame précédente du flux vidéo ;
- une troisième valeur de comparaison étant la valeur absolue de la différence entre l’approximation de la luminance de la trame encodée et l’approximation de la luminance de la trame située deux trames avant dans le flux vidéo ;
- une quatrième valeur de comparaison étant la valeur absolue de la différence entre l’approximation de la luminance de la trame encodée et la première valeur de comparaison ;
- une cinquième valeur de comparaison étant la valeur absolue de la différence entre la deuxième valeur de comparaison et la troisième valeur de comparaison ;
- une sous-étape (144) de création d’un tableau de coordonnées comprenant les pixels à modifier pour lesquels au moins une des valeurs de comparaison est supérieure à un seuil prédéfini parmi un ensemble de seuils prédéfinis comprenant au moins un seuil prédéfini ; une étape (190) de regroupement, dans un tableau dit tableau complet, d’au moins le tableau de coordonnées, le tableau de luminance approximée, le tableau de chrominance rouge et du tableau de chrominance bleu et, pour une définition d’image supérieure à la définition de l’image réduite, d’au moins deux sous- bandes représentant les détails horizontaux et verticaux ; une étape (200) de compression sans perte dudit tableau complet par un algorithme de compression sans perte.
2. Procédé d’encodage selon la revendication 1, caractérisé en ce que l’étape (110) de transformée en ondelettes utilise des ondelettes de Haar pour chaque répétition.
3. Procédé d’encodage selon l’une des revendications 1 ou 2, caractérisé en ce que l’approximation de la luminance est calculée en utilisant les coefficients de pondération suivants : coefficient égal à 0,25 pour la valeur rouge, coefficient égal à 0,6875 pour la valeur verte, coefficient égal à 0,065 pour la valeur bleue.
4. Procédé d’encodage selon la revendication 1, caractérisé en ce que la sous-étape (144) de création du tableau de coordonnées comprend une sous-étape (146) de définition des pixels à modifier selon les critères suivants : un critère de mouvement entrant, un pixel étant à modifier selon ce critère si la deuxième valeur de comparaison est supérieure à la troisième valeur de comparaison, et si la quatrième valeur de comparaison est supérieure à un premier seuil prédéfini ou la cinquième valeur de comparaison est supérieure à un deuxième seuil prédéfini ; un critère de mouvement sortant, un pixel étant à modifier selon ce critère si la deuxième valeur de comparaison est inférieure à la troisième valeur de comparaison, et si la quatrième valeur de comparaison est supérieure à un troisième seuil prédéfini ou la cinquième valeur de comparaison est supérieure à un quatrième seuil prédéfini ; un critère de correction d’erreur, un pixel étant à modifier selon ce critère si le pixel de même coordonnée n’a pas été sélectionné comme étant à modifier dans la trame précédente du flux vidéo et si la deuxième valeur de comparaison est supérieure à un cinquième seuil prédéfini.
5. Procédé d’encodage selon l’une des revendications 1 à 4, caractérisé en ce qu’il comprend une étape (180) d’encodage du tableau de luminance approximée, du tableau de chrominance rouge et/ou du tableau de chrominance bleu selon les sous-étapes suivantes, pour chaque tableau encodé : une sous-étape de détection d’une suite de valeurs de pixel du tableau encodé contenues dans un intervalle prédéterminé, ladite suite de valeurs formant une bandelette ; une sous-étape d’encodage d’une valeur d’identification d’un début de la bandelette ; une sous-étape d’encodage de la valeur minimale de pixel de la bandelette ; une sous-étape d’encodage de la valeur de chaque pixel auquel est soustraite la valeur minimale ; si au moins trois pixels se suivant ont la même valeur, une sous-étape d’encodage d’une valeur de répétition suivie du nombre de répétition en remplacement de la valeur de chacun des pixels répétés.
6. Procédé d’encodage selon l’une des revendications 1 à 5, caractérisé en ce que l’algorithme de compression sans perte est l’algorithme Deflate ou un dérivé.
7. Procédé d’encodage selon l’une des revendications 1 à 6, caractérisé en ce que le tableau de coordonnées comprend au moins un groupe de définition des pixels à modifier comprenant une valeur correspondant au nombre de pixels à ne pas modifier et au nombre de pixels à modifier dans l’image sous- échantillonnée, dans l’ordre de lecture de la trame.
8. Procédé d’encodage selon la revendication 7, caractérisé en ce qu’il comprend une étape (150) de suppression de données par suppression des groupes de définition comprenant un nombre de pixel à modifier inférieur à un sixième seuil prédéfini.
9. Procédé d’encodage selon l’une des revendications 1 à 8, caractérisé en ce qu’il comprend une étape (160) de réduction de données par modification de la valeur d’un pixel à modifier par la valeur du pixel à modifier précédent si la différence de valeur entre le pixel à modifier et le pixel à modifier précédent est inférieure à un septième seuil prédéfini.
10. Procédé d’encodage selon l’une des revendications 1 à 9, caractérisé en ce qu’il comprend une étape (170) de réduction de la définition des valeurs de pixel à modifier.
11. Procédé de décodage d’un flux vidéo encodé par un procédé d’encodage selon l’une des revendications 1 à 10 comprenant, pour chaque trame vidéo dudit flux vidéo, les étapes de décodage suivantes : une étape (410) de décompression sans perte du flux vidéo encodé par un algorithme de décompression sans perte ; une étape (420) de lecture, pour chaque trame, du tableau complet ; une étape (430) de génération d’une trame par modification des pixels à modifier selon la trame précédente et le tableau de coordonnées, par les valeurs définies dans le tableau d’entiers ; une étape (440) de reconstruction d’une image réduite pour chaque espace de couleur à partir des valeurs de luminance approximée, de chrominance bleu et de chrominance rouge ; une étape (450) de transformée en ondelettes inverse à partir de l’image réduite et des sous-bandes représentant les détails horizontaux et verticaux disponibles dans le flux vidéo encodé.
12. Dispositif d’encodage d’un flux vidéo, caractérisé en ce qu’il comprend un module de réception d’un flux vidéo brut et un module d’encodage du flux vidéo brut pour obtenir un flux vidéo encodé, ledit module d’encodage étant configuré pour mettre en œuvre les étapes d’un procédé d’encodage selon l’une des revendications 1 à 10.
PCT/EP2022/069479 2021-07-13 2022-07-12 Procédé d'encodage et décodage vidéo à faible latence WO2023285469A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2107590A FR3125375B1 (fr) 2021-07-13 2021-07-13 Procédé d’encodage et décodage vidéo à faible latence
FRFR2107590 2021-07-13

Publications (1)

Publication Number Publication Date
WO2023285469A1 true WO2023285469A1 (fr) 2023-01-19

Family

ID=77711084

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2022/069479 WO2023285469A1 (fr) 2021-07-13 2022-07-12 Procédé d'encodage et décodage vidéo à faible latence

Country Status (2)

Country Link
FR (1) FR3125375B1 (fr)
WO (1) WO2023285469A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117376565A (zh) * 2023-12-04 2024-01-09 深圳市路通网络技术有限公司 一种hdr视频优化编码方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "YUV, Wikipedia, The Free Encyclopedia", INTERNET ARCHIVE WAYBACK MACHINE, 19 December 2018 (2018-12-19), pages 1 - 11, XP055776674, Retrieved from the Internet <URL:https://web.archive.org/web/20181219064923/https://en.wikipedia.org/wiki/YUV> [retrieved on 20210216] *
JIN TAE KIM ET AL: "SUBBAND CODING USING HUMAN VISUAL CHARACTERISTICS FOR IMAGE SIGNALS", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, IEEE SERVICE CENTER, PISCATAWAY, US, vol. 11, no. 1, 1 January 1993 (1993-01-01), pages 59 - 64, XP000377997, ISSN: 0733-8716, DOI: 10.1109/49.210544 *
KAZUNARI IRIE ET AL: "DESIGN OF A PERFECT RECONSTRUCTIVE SUBBAND IMAGE CODING SCHEME", ELECTRONICS & COMMUNICATIONS IN JAPAN, PART I - COMMUNICATIONS, WILEY, HOBOKEN, NJ, US, vol. 75, no. 10, 1 October 1992 (1992-10-01), pages 67 - 78, XP000367692, ISSN: 8756-6621 *
KONDO T ET AL: "ADAPTIVE DYNAMIC RANGE CODING SCHEME FOR FUTURE HDTV DIGITAL VTR", SIGNAL PROCESSING OF HDTV, 3. TURIN, SEPT. 4 - 6, 1991; [PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON HDTV AND BEYOND], AMSTERDAM, ELSEVIER, NL, vol. WORKSHOP 4, 4 September 1991 (1991-09-04), pages 43 - 50, XP000379937 *
SEELMANN G ED - WERNER R: "PROGRESSIVE FARBFERNSEHSTANDBILDUBERTRAGUNG MIT 64 KBIT/S UBERTRAGUNGSBITRATE", 1 January 1985, WEGE ZUM INTEGRIERTEN KOMMUNIKATIONSNETZ. BERLIN, 25 - 27 MAR., 1985; [NTG FACHTAGUNGEN], BERLIN, VDE VERLAG, DE, PAGE(S) 304 - 315, XP000041103 *
WESTERINK P H ET AL: "Subband coding of image sequences at low bit rates", SIGNAL PROCESSING. IMAGE COMMUNICATION, ELSEVIER SCIENCE PUBLISHERS, AMSTERDAM, NL, vol. 2, no. 4, 1 December 1990 (1990-12-01), pages 441 - 448, XP026678001, ISSN: 0923-5965, [retrieved on 19901201], DOI: 10.1016/0923-5965(90)90029-H *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117376565A (zh) * 2023-12-04 2024-01-09 深圳市路通网络技术有限公司 一种hdr视频优化编码方法
CN117376565B (zh) * 2023-12-04 2024-03-22 深圳市路通网络技术有限公司 一种hdr视频优化编码方法

Also Published As

Publication number Publication date
FR3125375B1 (fr) 2023-08-04
FR3125375A1 (fr) 2023-01-20

Similar Documents

Publication Publication Date Title
EP2225888B1 (fr) Procédé de codage double passe par macrobloc
CN114631320A (zh) 对图像执行人工智能(ai)编码和ai解码的设备和方法
US20070103484A1 (en) Video to animation conversion with file size constraint
JPS59132291A (ja) 画像のデイジタル処理方法および装置
EP3183879A1 (fr) Procédé de codage d&#39;une image numérique, procédé de décodage, dispositifs, et programmes d&#39;ordinateurs associés
US4776029A (en) Method of compressing image signals
WO2023285469A1 (fr) Procédé d&#39;encodage et décodage vidéo à faible latence
EP3349446A1 (fr) Procédé et dispositif d&#39;encodage dynamique contrôlé d&#39;un signal numérique multidimensionnel, en particulier un signal d&#39;image et procédé et dispositif correspondant de décodage
EP0668004B1 (fr) Procede et dispositif de reduction de debit pour l&#39;enregistrement d&#39;images sur magnetoscope
Alam et al. An improved JPEG image compression algorithm by modifying luminance quantization table
EP3139608A1 (fr) Procédé de compression d&#39;un flux de données vidéo
CN111738951A (zh) 图像处理方法及装置
WO2014118148A1 (fr) Compression et decompression d&#39;un signal d&#39;image par ordonnancement monotone des pixels et approximation de leurs niveaux de composante couleur
CA2346342C (fr) Compression et codage de reseau maille tridimensionnel
WO2004070651A2 (fr) Procede et dispositif de compression de parties d&#39;images
EP3345391A2 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
CN110728726A (zh) 一种基于用户交互与深度神经网络的图像压缩方法
CN113949899B (zh) 视频质量评估方法及装置
US8379715B2 (en) System and method for video compression using non-linear quantization and modular arithmetic computation
FR2717927A1 (fr) Procédé et appareil de compression, de palettisation, d&#39;émission et de réception d&#39;images en couleur.
EP2084910A1 (fr) Procede et dispoitif d&#39;optimisation de la compression d&#39;un flux video
EP1152620A2 (fr) Codage d&#39;images imbriqué dans une opération de matrice
US20010024523A1 (en) Reduction of artifacts in a DWT-based compression scheme by adjusting inverse quantized transform data according to noise values
EP3203737A1 (fr) Procédé et dispositif d&#39;encodage d&#39;un signal numérique multidimensionnel, en particulier un signal d&#39;image, et procédé et dispositif correspondants de décodage
WO2022129737A1 (fr) Procédé et dispositif de compression de données représentatives d&#39; une scène tridimensionnelle volumétrique en vue d&#39;une décompression en temps réel pour un visionnage en ligne

Legal Events

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

Ref document number: 22751038

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE