EP2332335A1 - Systeme et procede de determination de parametres de codage - Google Patents

Systeme et procede de determination de parametres de codage

Info

Publication number
EP2332335A1
EP2332335A1 EP09783744A EP09783744A EP2332335A1 EP 2332335 A1 EP2332335 A1 EP 2332335A1 EP 09783744 A EP09783744 A EP 09783744A EP 09783744 A EP09783744 A EP 09783744A EP 2332335 A1 EP2332335 A1 EP 2332335A1
Authority
EP
European Patent Office
Prior art keywords
flow
parameters
compression
video
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP09783744A
Other languages
German (de)
English (en)
Inventor
Catherine Lamy-Bergot
Benjamin Gadat
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
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 Thales SA filed Critical Thales SA
Publication of EP2332335A1 publication Critical patent/EP2332335A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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
    • 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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/164Feedback from the receiver or from the transmission channel
    • 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/177Methods 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 group of pictures [GOP]
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive

Definitions

  • the invention relates in particular to a tool for monitoring and determining the coding parameters for an available bit rate allocation between a source coding operation and a protection operation by adding error correction coding, called for reasons of error.
  • a joint controller for efficiently and realistically realizing an allocation of the available bit rate during the transmission of data between, on the one hand, the compression (coding of source of the video data) and, on the other hand, the addition of protection ( channel coding or redundancy insertion) for video data that may be in the form of images or frames or a group of images, better known by the abbreviation GOP.
  • the architecture proposed according to the invention fits in particular in the world of joint coding, where quality information of the transmission channel (whether a bit rate, an error rate, a loss rate 7) allows the implementation of a strategy for optimizing the video data transmitted to cope with the estimated transmission channel, in order to obtain at the receiver a better quality of perceived video image by the user.
  • the invention finds particular application in a video data server, acting as an intelligent diffusion pump that will control the compression and protection levels introduced to improve the average quality received, this depending on the information on the data. transmission conditions received.
  • the term "constrained medium” corresponds to conditions of transmission of video data through a channel with errors or losses and also to the fact that the bit rate is not unlimited (existence of a limitation or maximum flow constraint ).
  • the concept of a point of The system operating point or point of reference refers to the transmission conditions for which system tuning is performed.
  • the methods generally used in the prior art to provide optimized optimized coding in order to efficiently achieve an available bit rate allocation between on the one hand compression and on the other hand the addition of protection are mainly based on:
  • the methods and devices of the prior art do not allow rapid adaptation to changes in transmission conditions that are often common during wireless transmission.
  • the adaptation is generally done for a given operating point, typically corresponding to an average authorized / available rate for a residual loss or error rate experienced by the transmitted stream.
  • the protocol layer separation approach introduced by the OSI model well known to those skilled in the art leads to privileging an approach without inter-layer communication, leading to requiring each lower layer to perform perfectly (without losses). or errors) which is generally not effective in the case of multimedia transmissions and which unlike non-multimedia data transmissions may accept errors.
  • the idea of the invention is based on a new approach making it possible to optimize the use of the resources (radio in particular) used and allowing, in comparison with the case adapted for a fixed operating point, to provide an increase in the quality perceived by the end user for a similar use of the resources to use only a part of the available resources while providing an identical perceived quality. That is to say that there is a gain obtained either by using less band of the same perceived quality, or by obtaining a better quality using the band initially allocated, compared to the uncontrolled case according to the invention .
  • the object of the invention is to propose a method and a device which no longer only work on the videos to be compressed themselves.
  • the method implements reference files or charts used as models of the behavior of the encoder and an iteration loop which makes it possible to adapt the prediction to the video sequence being processed.
  • the proposed approach is valid for any encoder and for any existing standard in the field of coding, by making a chart change.
  • the invention also offers additional features.
  • the device according to the invention can not only perform a rate prediction following the compression, but also determine the optimal ratio between the bit rate allocated to the compressed data item and that allocated to a corrector coding insertion in the case where the point of system operation involves the presence of losses or errors caused by transmission.
  • reference videos refers to all the references that are used to create the charts and which are files provided, for example, by the ITU-T as a common reference for the set of the video processing community to perform tests.
  • sequence 'Foreman' is the best known and most used in this technical field.
  • the object of the present invention relates to a method for optimizing video transmission in a constrained medium comprising a video coder adapted to code the video data to be transmitted, characterized in that it comprises at least one step of determining one or more parameters.
  • a video coder adapted to code the video data to be transmitted, characterized in that it comprises at least one step of determining one or more parameters.
  • the video encoder considered for transmitting said video data at a given bit rate Di or for a given quality Qi by performing at least the following steps: - defining and using reference charts for said considered coder,
  • the method comprises a step of protection against transmission errors, the protection parameters being determined taking into account the data transmission channel and the compression parameters.
  • the invention also relates to a system for optimizing video transmission in a constrained medium comprising a video coder adapted to code the video data to be transmitted, the data being transmitted via a possibly non-perfect communication channel, characterized in that it comprises at least one encoder provided with a processor adapted to perform the steps of the method according to the invention.
  • FIG. 1 a representative diagram of an example of system according to the invention
  • FIG. 2 the principle of a first type of abacus representing the video quality as a function of the quantization steps
  • FIG. 3 the principle of a second type of charts schematizing the flow rate expressed as a function of the quantization steps
  • FIG. 4 a way of selecting a quantization step of a reference chart
  • FIGS. 5A, 5B, 5C and 5D a refinement of the choice of quantization step to be used when several quantization parameters can be used
  • FIG. 6 two examples of refinement of the choice of the quantization step to be used when several quantization parameters are candidates
  • FIG. 8 a flowchart showing the steps executed in the "total" mode
  • FIG. 9 a flowchart showing the steps performed for the "partial and trial” mode
  • Figure 10 a flowchart describing the steps performed for the "blind” mode
  • FIG. 13 a set of charts plotting the PSNR as a function of the bit rate obtained for QCIF 15 Hz PSNR video sequences;
  • FIG. 14 a set of charts plotting the flow rate according to the QP obtained for sequences video format QCIF 15 Hz,
  • FIG. 15 a set of graphs plotting the Intra function in the GOP rate as a function of the total bit rate obtained for video sequences in 15 Hz QCIF format
  • FIG. 16 a set of graphs plotting the fraction; of Intra in the GOP rate as a function of the PSNR obtained for QCIF 15 Hz video sequences
  • the following example to illustrate it in a non-limiting way uses reference videos, which are those used to create charts and which are provided by the ITU-T as a common reference for test for the entire video processing community.
  • reference videos which are those used to create charts and which are provided by the ITU-T as a common reference for test for the entire video processing community.
  • the 'Foreman' sequence that is used in the example is the best known.
  • the charts may also be within the scope of the invention, be constructed from a set of sequences representative of the type of data corresponding to the scenario of the system set up.
  • These reference charts are determined in advance once and for all. They are preferably performed on the video encoder that will actually be used in the system, so that the prediction is of good quality.
  • the elements involved in the present description are either the sequence that is to be transmitted which may be any sequence, or the reference sequences that have been used previously and once and for all, to establish abacuses. It is the use of these various charts constructed from reference video files or extracts of typical sequences of the application in question which, thanks to the prediction loop introduced in the method according to the invention, makes it possible in particular to predict precisely the parameters to be used to obtain a target video quality, a target bit rate, even when working on a non-perfect channel, and therefore in the face of losses or errors, to which will be added the prediction of the level of protection to be applied .
  • the method can be used at a video data server, acting as an intelligent broadcast pump which will control the levels and modes (eg routing choice, type of coding,. ..) compression and protection introduced, in order to improve the average quality received, this according to the information on the transmission conditions received.
  • levels and modes eg routing choice, type of coding,. ..
  • compression and protection introduced, in order to improve the average quality received, this according to the information on the transmission conditions received.
  • FIG. 1 schematizes an example of a transmission device, in which the method and the tool according to the invention can be implemented.
  • a transmission device will comprise a source encoder 1, receiving the data or the data stream F 1 , and adapted to perform the compression operation, op- tionally a processor 2 for implementing error correction coding, and a processor 3 adapted to perform the steps according to the invention, a transmission channel 4 which can be a physical link or a wireless transmission medium, a receiver 5 including a decoding function of the data or the video sequence having passed through the transmission channel and generating a flux F 2 .
  • the device also comprises means for storing one or more video sequence charts, as well as tables or charts containing the bit rates and the video quality to be applied to a data sequence.
  • the control word will be used in the description to denote the processor implementing the process steps.
  • the constraints on the optimization method are given in terms of the expected bit rate or video quality, that is to say a quality level estimated by an objective measurement intended to represent human vision.
  • this corresponds to making good use of the resources (radio in particular) used and allowing either to provide an increase in the quality perceived by the end user for similar use of resources either use only a portion of available resources while providing the same perceived quality.
  • the measure used to estimate the perceived quality is, for example, the PSNR acronym for Peak Signal to Noise Ratio, which is an objective measure of distortion used in a digital image, particularly in image compression. It is defined by:
  • MSE y Y (p / ( * ' j) ⁇ pl ⁇ hj))
  • M, Q are the dimensions (width and
  • pl (i, j) ⁇ pi * ) gives the luminance of the original (or reconstructed) position pixel (i, j) in the image.
  • the parameters to be considered will depend on the application, that is to say the constraints to be taken into account when carrying out a multimedia type application (where the video and audio parts are for example multiplexed ) or video data streams alone, and information available for the optimization to be performed. These different conditions, including in particular the constraints of complexity and operation in real-time (depending on whether there is a low or high delay, and depending on the bit rate to be delivered) but also the operating life of the video itself. -Even (by going from the pre-recorded stream that can be regularly downloaded for a real-time transmission performed a unique times), will require different practical strategies for the optimization method according to the invention.
  • controller which is the mechanism controlling and directing the operation of the source coder
  • controller has a complete knowledge of the sequence of data to transmit the information.
  • different compressed versions of a sequence can be stored at different bit rates and / or resolutions of the same original sequence, or simply can be stored the little or no compressed sequence as well.
  • a table or chart containing precisely the bit rates and video quality expected for a set of compression parameters to be applied to the sequence.
  • the term "knowledge of the sequence” means knowing the bit rate obtained for different coding configurations (quantization parameter, spatial resolution, time resolution, etc.) as well as the relative proportions of the different parts of the stream (frame intra I, predicted frame P, ..) for these different confi- configurations.
  • This mode is realistic when we consider stored broadcast sequences term better known under the name Anglo-Saxon "streaming / broadcasting" which may for example have been pre-coded with different rates, and for which the controller can simply choose most suitable for transmission on the channel at a time t.
  • This case corresponds to a mode for which the control mechanisms will have a basic knowledge of the video coding itself.
  • the knowledge is based on the charts providing statistical information on video quality rates and curves for given compression parameters (quantization parameter, spatial resolution, temporal resolution, etc.) and uses an approach based on a or several tests to reach the optimum operating point.
  • quantization parameter quantization parameter, spatial resolution, temporal resolution, etc.
  • This mode is realistic when considering flows with limited time constraints, ie when the execution time required to execute the encoding process more than once is acceptable, and when the statistical information has been pre-determined. -determined for the standard or video encoder.
  • This mode corresponds to the case where the control mechanism according to the invention must work without the complete knowledge of the coming stream, or without the possibility of testing several configurations before having to choose the use of one of them. .
  • the blind mode is the least efficient but also the simplest and fastest to implement. It will rely largely on the use of default parameters (especially at the beginning of a sequence) or on the parameters of the previous moments to determine the best coding parameters to use at a given time t.
  • This mode corresponds to solutions of low complexity time- real and it is particularly suitable for a real-time data stream such as video conferencing.
  • control method will result in the decision, the best choice of parameters for the data compression and possibly protection addition parameters for the flow conditions and the transmission conditions (state of the network and / or channel status information) available.
  • a second adaptation step may be performed to ensure that the target rate is respected.
  • This post-processing step will apply, for example, by deleting a number of frames or packets which, if retained, would cause the target rate to be exceeded excessively.
  • This cutting operation is used only when it is necessary, with a margin of adaptation defined (5 to 10% exceedable that can be declared acceptable). This margin can often in practice be compensated on average over the duration of the sequence either by taking advantage of also having some predictions leading to lower bit rates than the target, or by setting stricter constraints on the later parts of the video sequence when the overtaking becomes too important.
  • the measures used to optimize the transmission of video data are: the quality of the video perceived on reception, or PQoS quality of service perceived by the end user.
  • the expression of the expected average for end-to-end distortion after source coding, packetization in the network, channel coding operation, followed by channel impact (modeled) and conversational operations can be used as a measure to compare different implementations in the compression / protection choices for the sequence to be transmitted.
  • the optimization proposed in the following is executed on the basis of a calculated image group rate (GOP) per image group.
  • GOP image group rate
  • the explanations that follow may apply for images which are not constituted in a group of images but which are in another format .
  • the data may be audio data or video data.
  • one possibility is to implement the method on an MPEG-4 type encoder.
  • the document [2] teaches that the "sensitivity" for a GOP made of intra I frames followed by N predicted frames P is expressed taking into account that, in practice, the sensitivities of the P frames depend on the previous frames: if a frame P is not correctly received, so the following, even if correctly transmitted, will not be rebuilt correctly.
  • the term sensitivity for an image or a frame here refers to the measurement of the distortion introduced with respect to the original uncompressed video sequence in the case where the image or frame in question is lost or erroneous.
  • the sensitivity calculation assumes that when a frame is lost, its partial distortion degrades the average distortion of the GOP sufficiently so that the contribution of the distortion of the following possible frames become negligible.
  • the impact of previous frames that have not been correctly received is therefore taken into account by using a conditional probability on the previous ones to be corrected. This leads to the expression for the standard IP-coded sequence N (Intra, Pre-called) for the average distortion of a GOP
  • the "total" mode the knowledge of the flow is perfect, and as a result all the necessary values to determine the quality of the metric are available
  • the "partial and tests" mode and the "blind” mode are causal and the future information is not available per se.
  • the statistical knowledge of the mode of video coding of the operation can be obtained, for example, via a set of charts, which will indicate, for a choice of temporal resolution and spatial resolution (corresponding to the choice of format and rate of the image) as well as for a given compression choice, a prediction of the video quality obtained after reconstruction and the rate obtained.
  • a choice of temporal resolution and spatial resolution corresponding to the choice of format and rate of the image
  • a prediction of the video quality obtained after reconstruction and the rate obtained a prediction of the video quality obtained after reconstruction and the rate obtained.
  • statistical knowledge can also be obtained from more theoretical approaches, but the principle remains the same.
  • FIG. 2 illustrates the principle of the first set of graphs, which give information on the video quality as a function of the quantization parameter for different video stream realizations.
  • Figure 3 illustrates the principle of the second set of charts, providing rate information as a function of the quantization parameter for the same video stream realizations.
  • the abacus here considered can only be a two-dimensional abacus if a predefined rule is established to link the quantization parameters used for the different frame types (for standards offering potentially different quantization steps depending on the types of frames). Typically, in the tests performed, the following rules will be used:
  • QP B QP + 2 (if used) for Intra frames, P predicted frames, and bidirectional B frames, respectively.
  • FIGS. 2 and 3 respectively represent the expression of the video quality as a function of the quantization parameter and the expression of the bit rate as a function of the quantization parameter.
  • the abacus is read and the best corresponding QP (the candidate closest to the abacus) is selected for the test.
  • the abacus covers a wide range of possible QP and flow rates, these values are not continuous, so basically it is possible either:
  • the candidate QPciosest is immediately selected and can be used for the encoding of the sequence.
  • the candidate QP B is the candidate closest to the target rate D C ibie for the abacus i, in the present example, this corresponds to the target rate.
  • a refinement step must be performed which is specified below.
  • a refinement step may be necessary, either when it is not possible to find an intermediate candidate from the initial chart of the read operation, or when having performed several tests with the algorithm "partial and tests", different pairs of achievements (flow, QP) were obtained from the tests on the current portion of the sequence.
  • Several tests can be run, which will make it possible to determine more precisely the behavior of the portion (GOP) of the current sequence, typically if the choice of the initial prediction curve was not good.
  • the final choice of QP quantization parameter will often have to be made without having found a QP corresponding perfectly to the target rate or quality, which means that a choice must be made.
  • Case 1 all the QP tested (on one or more curves) significantly exceed the target
  • Case 2 all QP tested (on one or more curves) arrive below the target significantly
  • Case 4 the target rate is found between 2 QP, found above two different curves.
  • different strategies from the safest to the most risky, can be implemented. These strategies correspond to a similar approach: either take the closest tested value and use it, or try with another, with full confidence in the supposed best chart. Indeed, while one might at first believe that the abacus must immediately give the best QP, we must not forget that the real problem is to determine from the information of the previous GOP, which abacus corresponds best for the Current GOP of the video sequence to be encoded.
  • spleen sup - rate mt where spleen C ibi ⁇ is the target flow rate, and for both candidate pairs (QP1, flow rate) and (QP2, flow rate2), rate in f represents the lowest flow rate, spleen sup the highest flow rate, QP inf represents the lowest quantization step and QP sup the highest step;
  • case 4 which corresponds to the most difficult case, which in practice corresponds to a scenario where the correct chart for the sequence to be coded could not be determined.
  • the operation of calculating the center of gravity proposed for case 3 is possible, but may be less effective if the optimal curve has a slope very different from the selected curve or the two selected curves.
  • Another solution is, for example, to insert in the interpolation a third point (if it is available): the three couples (flow, QP) being used to define a curve on which an interpolation can be carried out directly. In the tests described below, it is the barycenter formula that will be used.
  • the total length / tofa , GOP is easily known thanks to the chart (type 2) by simply dividing the rate by the number of frames per second. Indeed, the temporal resolution of the sequence is known for each chart.
  • the length Intra l Intm is also known from the chart (type 2) as additional information (the ratios for the in- tra / predicted are stored), as illustrated by FIGS. 16 and 17.
  • the fraction in addition to the information of the abacus is stored, as illustrated in the 15 figures above.
  • Target Flow The concept of flow control is not new, and many algorithms have been proposed in the video coding literature. Their common goal is to ensure that a given sequence reaches an average target rate over the duration of the sequence, and their overall approach is to react without abrupt change despite the quality of bandwidth limitations and complex evolutions. of the sequence.
  • the controller that will use the algorithm proposed in this patent is intended in particular to be more responsive (in the sense of a rapid evolution to meet or reach the target rate).
  • the conditions of the channel state can be strong and impose strong variations in protection rates, which would introduce large imbalances for the compressed sequence (too much flow consumed or on the contrary too little) if the Slow rate adaptation algorithms (such as those proposed in the H.264 reference coder) were expected to adapt to these variations.
  • the Slow rate adaptation algorithms such as those proposed in the H.264 reference coder
  • a slow adaptation is only valid when the transmission or flow conditions vary even more slowly, and always goes through an initial phase with inadequate parameters.
  • a variable channel wireless transmission including when the residual error rate is negligible and the problem of the introduction of protection does not arise, such an approach may provide very good results. bad.
  • the target rate for the subsequent GOPs could be increased or inversely reduced in the case where the rate actually used previously would be too great.
  • this flow rate observation algorithm used would also have a meaning, since the quality-oriented practical applications still have in general a maximum flow constraint. not to exceed.
  • An interesting remark considering the definition of the margin and the rules for a possible improvement of the video quality perceived by the user could be to recommend, when different candidates QP are found equivalent by the joint controller, to select the one that is closest (ideally equal) to the last used, to limit the possible flicker effects when quantization changes too often.
  • Step 8.1 Initialization:
  • Step 8.2 Take the default values for the compression parameters and the feedback information on the transmission status
  • Step 8.2 Parameters of the sequence Read for each available GOP output the information (throughput, QP) in order to obtain the actual accurate flow curve (C) for the next GOP of the current sequence.
  • Step 8.3 Should we introduce protection at the application level? NO
  • Step 8.5 Flow distribution Compression / Protection: For each protection efficiency, select a set (S) of pairs (flow, QP) on the curve (C) to comply with the flow constraints.
  • Step 8.6 End GOP coding: - Emit generated packets
  • Step 8.7 Control operation for the next GOP "Partial mode and tests"
  • Step 9.4 Should we introduce protection at the application level? NO Step 9.5 Compression settings: Based on available flow, select the torque (rate, QP) on the curve (C) that best fits the flow and video quality constraints.
  • Step 9.6 Compression / Protection Flow Rate Distribution: For each protection performance, select a set (S) of pairs
  • Step 9.7 Checking the result of the coding process: Save the current value of the actual torque (flow, QP) and compare it with the curve (C). If there is no match, determine the new best curve (Cgop) for the current GOP and update the value (C) accordingly.
  • Step 9.8 Is the maximum number of tests reached, is it greater than a predetermined value? NO then go back to step 9.3 YES
  • Step 9.9 Select the best coding parameters: Among the pairs of actual values (bit rate, QP) and their corresponding protection, find the best combination that respects the constraints and if it exists, trigger the process of coding the data with the coding parameters (compression, protection) corresponding. If this is not the case, refinement, if necessary, of the choice of the best coding parameters according to the applicable method (barycentre or closest QP value +/- 1) and trigger the coding process of the data with the coding parameters (compression, protection).
  • Step 9.10 Does the coding process respect the constraints? NO
  • Step 9.1 1 Post coding check:
  • blind refers to the fact that the controller is not aware of the future, not that he has no information. Obviously a controller with strictly no information in terms of available bit rate for transmission, knowledge of the transmission conditions or the multimedia coder itself could simply offer something different from the default setting, which is unlikely to to be really close to the optimum for transmission.
  • the controller In practice, therefore, in the "blind" mode the controller has information on the transmission conditions but also has statistical information on the video coding. It is even possible that he has knowledge on the choice of previously coded steps (parameters used and results obtained with these parameters, in terms of flow and quality Z). Naturally, the multimedia data vary over time, which means that the settings may no longer be representative of the current data to be transmitted, making the second step of the mentioned adaptation (post-treatment operation with cuts) above even more necessary.
  • Step 10.1 Initialization: Take the default values for the compression parameters and the transmission state feedback information
  • Step 10.5 Compression / Protection flow rate distribution: For each protection efficiency, select a set (S) of pairs (flow, QP) on the curve (C) to comply with the flow constraints.
  • Step 10.6 For each element of (S), to predict the GOP length and the frame loss distortions (D
  • Step 10.7 A posteriori check of the coding:
  • Step 10.9 Control operation for the next GOP
  • the different algorithms presented can be used either with a "normal" coding mode, that is to say for the most usual compression case, with Intra, Predicted and possibly Bidirectional frames, or with a mode allowing a partition of data (for example the H.264 standard DP mode as part of the extended X-profile) which allows the data to be separated according to their importance for the reconstruction or according to the frame mix mode (FS) defined in the Applicant's patent application EP 1 779 689 or the publication of THALES [3] since the mode in question has its abacus games.
  • a simple extension of the patent therefore consists in calculating the results obtained for two or more of these configurations during the "distribution of flow between compression and protection" phase, and in choosing the best mode. In practice other constraints may be introduced to prevent the change of mode is too common.
  • FIGS. 11 to 17 illustrate various tests carried out using the method according to the invention.
  • the simulations presented below were carried out for the one hand the "total" operating mode and on the other hand the “partial and tests” operating mode. In both cases, gains of several dBs on average could be observed compared to the case without adaptation (use of the default parameters).
  • the “total” mode is clearly optimal, in the sense that a complete knowledge of the compression possibilities is available, as well as statistical information on the state of the channel. Nevertheless, the system remains realistic in the sense that it remains causal, knowledge of the real channel not being available in advance (only statistical values are known). This mode can be compared to the case without adaptation, for which the compression and protection parameters are set with reference to a given operating point for the system.
  • Figure 11 illustrates the gains obtained with this mode in the case of an ITU-T Foreman sequence, Qcif, 15 Hz, first 17 GOPs.
  • the method and the system according to the invention have the following advantages: in the more general case of taking into account an erroneous channel, it is possible to achieve an optimized distribution of the available flow rate between the compression and the addition of protection thanks to the double prediction of the video bit rate and the impact of errors.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Procédé pour optimiser une transmission vidéo en milieu contraint comprenant un codeur vidéo adapté pour coder les données vidéo à transmettre, caractérisé en ce qu'il comporte au moins une étape de détermination d'un ou plusieurs paramètres de compression pour le codeur vidéo considéré afin de transmettre lesdites données vidéo à un débit donné Di ou pour une qualité donnée Qi en exécutant au moins les étapes suivantes : définir et utiliser des abaques de référence pour ledit codeur considéré, prédire pour la partie de la séquence vidéo en cours de compression, et au moyen des dites abaques de références, des paramètres de compression à utiliser, au moins le pas de quantification QP, par sélection d'un abaque dans la représentation (QP, débit) ou (QP, PSNR) qui pour la gamme de débit Di ou de qualité visée Qi, est le plus proche en distance de ladite partie de la séquence à compresser, en respectant une marge donnée, mettre à jour par un procédé itératif l'étape de prédiction afin de converger sur le meilleur choix de paramétrage, ledit procédé d'itération étant composé d'au moins une étape de compression suivie d'une étape de vérification, compresser les données vidéo à transmettre avec lesdits paramètres.

Description

SYSTEME ET PROCEDE DE DETERMINATION DE PARAMETRES DE
CODAGE
L'invention concerne notamment un outil de supervision et de détermina- tion des paramètres de codage pour une allocation de débit disponible entre une opération de codage de source et une opération de protection par ajout de codage correcteur d'erreur, appelé pour des raisons de simplification, contrôleur conjoint permettant de réaliser efficacement et de manière réaliste une allocation du débit disponible lors de la transmission de données entre d'une part la compression (codage de source de la donnée vidéo) et d'autre part l'ajout de protection (codage de canal ou insertion de redondance) pour des données vidéo pouvant se présenter sous la forme d'images ou trames ou encore d'un groupement d'images, plus connu sous l'abréviation anglo-saxonne GOP. L'architecture proposée selon l'invention s'inscrit notamment dans le monde du codage conjoint, où une information de qualité du canal de transmission (qu'il s'agisse d'un débit, d'un taux d'erreur, d'un taux de perte...) permet la mise en place d'une stratégie d'optimisation de la donnée vidéo transmise pour faire face au canal de transmission estimé, afin d'obtenir au niveau du récepteur une meilleure qualité d'image vidéo perçue par l'utilisateur.
L'invention trouve notamment son application au niveau d'un serveur de données vidéo, agissant comme une pompe de diffusion intelligente qui contrôlera les niveaux de compression et de protection introduits afin d'améliorer la qualité moyenne reçue, ceci en fonction des informations sur les conditions de transmission reçues.
Dans la description, l'expression « milieu contraint » correspond à des conditions de transmission de données vidéo au travers un canal avec erreurs ou pertes et aussi au fait que le débit ne soit pas illimité (existence d'une limitation ou contrainte de débit maximal). La notion de point de tra- vail ou de point de fonctionnement d'un système fait référence aux conditions de transmission pour lesquelles le réglage su système est effectué. Les procédés généralement mis en œuvre dans l'art antérieur pour offrir un codage conjoint optimisé afin de réaliser efficacement une allocation de débit disponible entre d'une part la compression et d'autre part l'ajout de protection reposent principalement sur :
• Le théorème de séparation (établi par Shannon) qui dit qu'une optimisation indépendante de chacun des éléments de la chaîne de transmission est suffisante ; • La mise en place d'éventuelles solutions de codage tandem, c'est- à-dire, la concaténation de codeur de source et de codeur de canal, pour un ou plusieurs points de fonctionnement pré-établis. Cette seconde approche présente comme inconvénient d'être statique au sens où elle ne permet pas de s'adapter aux variations des condi- tions de transmission.
En général, les procédés et les dispositifs selon l'art antérieur ne permettent pas de s'adapter rapidement aux variations des conditions de transmission qui sont souvent fréquentes au cours d'une transmission sans fil. L'adaptation se fait en général pour un point de fonctionnement donné, correspondant typiquement à un débit moyen autorisé/disponible pour un taux de pertes ou d'erreur résiduelles subies par le flux transmis. De plus, l'approche de séparation en couches protocolaires introduites par le modèle OSI bien connu de l'Homme de l'art conduit à privilégier une approche sans communication inter-couche, amenant à requérir de chaque couche inférieure un fonctionnement parfait (sans pertes ou erreurs) qui n'est généralement pas efficace dans le cas des transmissions multimédia et qui contrairement aux transmissions de données non multimédia peuvent accepter des erreurs. Lorsque les conditions de transmission sont meilleures que le point de fonctionnement retenu, une partie du débit dis- ponible est allouée inutilement à la protection du flux transmis, alors qu'elle pourrait, soit être épargnée, soit être utilisée pour émettre à un dé- bit utile plus important. Inversement, lorsque les conditions de transmission sont moins bonnes que le point de fonctionnement retenu, une trop grande partie du débit est employée par la donnée utile non protégée, ce qui conduit à des pertes inévitables en réception, c'est-à-dire qu'une partie des données ne peut être protégée car l'allocation de débit pour la protection se révèle en pratique insuffisante.
L'idée de l'invention repose sur une nouvelle approche permettant d'optimiser l'utilisation des ressources (radio en particulier) utilisées et permettant, par comparaison avec le cas adapté pour un point de fonc- tionnement fixe, soit de fournir une augmentation dans la qualité perçue par l'utilisateur final pour une utilisation similaire des ressources soit de n'utiliser qu'une partie des ressources disponibles tout en fournissant une qualité perçue identique. C'est-à-dire que qu'il y a un gain obtenu soit en utilisant moins de bande à même qualité perçue, soit en obtenant une meilleure qualité en utilisant la bande allouée initialement, par rapport au cas non contrôlé selon l'invention.
L'objet de l'invention est de proposer un procédé et un dispositif qui ne travaillent plus uniquement sur les vidéos à compresser elles-mêmes. Le procédé met en œuvre des fichiers de référence ou abaques utilisés comme modèles de comportement du codeur et une boucle d'itération qui permet d'adapter la prédiction à la séquence vidéo en cours de traitement. L'approche proposée est valable pour n'importe quel codeur et pour tout standard existant actuellement dans le domaine du codage, en effectuant un changement d'abaques. L'invention offre aussi des fonctionnalités supplémentaires. Ainsi, le dispositif selon l'invention peut non seulement effectuer une prédiction de débit suite à la compression, mais aussi déterminer le rapport optimal entre le débit alloué à la donnée compressée et celui alloué à une insertion de codage correcteur dans le cas où le point de fonctionnement du système implique la présence de pertes ou d'erreurs causées par la transmission. Dans la suite de la description, l'expression « vidéos de référence » concerne toutes les références qui sont utilisées pour créer les abaques et qui sont des fichiers fournis, par exemple, par l'ITU-T comme référence commune pour l'ensemble de la communauté du traitement vidéo pour réaliser des tests. Par exemple, la séquence 'Foreman' est la plus connue et la plus utilisée dans ce domaine technique.
L'objet de la présente invention concerne un procédé pour optimiser une transmission vidéo en milieu contraint comprenant un codeur vidéo adapté pour coder les données vidéo à transmettre, caractérisé en ce qu'il comporte au moins une étape de détermination d'un ou plusieurs paramètres de compression pour le codeur vidéo considéré afin de transmettre lesdi- tes données vidéo à un débit donné Di ou pour une qualité donnée Qi en exécutant au moins les étapes suivantes : - définir et utiliser des abaques de référence pour ledit codeur considéré,
- prédire pour la partie de la séquence vidéo en cours de compression, et au moyen des dites abaques de références, des paramètres de compression à utiliser, au moins le pas de quantification QP, par sélection d'un abaque dans la représentation (QP, débit) ou (QP, PSNR) qui pour la gamme de débit Di ou de qualité visée Qi, est le plus proche en distance de ladite partie de la séquence à compresser, en respectant une marge donnée,
- mettre à jour par un procédé itératif l'étape de prédiction afin de converger sur le meilleur choix de paramétrage, ledit procédé d'itération étant composé d'au moins une étape de compression suivie d'une étape de vérification, - compresser les données vidéo à transmettre avec lesdits paramètres. Selon un mode de réalisation, le procédé comprend une étape de protection contre les erreurs de transmission, les paramètres de protection étant déterminés en tenant compte du canal de transmission des données et des paramètres de compression. L'invention concerne aussi un système pour optimiser une transmission vidéo en milieu contraint comprenant un codeur vidéo adapté pour coder les données vidéo à transmettre, les données étant transmises via un canal de communication éventuellement non parfait, caractérisé en ce qu'il comporte au moins un codeur pourvu d'un processeur adapté à exécuter les étapes du procédé selon l'invention.
D'autres caractéristiques et avantages de la présente invention apparaîtront mieux de la lecture de la description d'un exemple de réalisation donné à titre illustratif et nullement limitatif annexé des figures qui représentent : • La figure 1 , un schéma représentatif d'un exemple de système selon l'invention,
• La figure 2, le principe d'un premier type d'abaque représentant la qualité vidéo en fonction des pas de quantification,
• La figure 3, le principe d'un deuxième type d'abaques schématisant le débit exprimé en fonction des pas de quantification,
• La figure 4, une manière de sélectionner un pas de quantification d'un abaque de référence,
• Les figures 5A, 5B, 5C et 5D, un raffinement du choix de pas de quantification à utiliser lorsque plusieurs paramètres de quantifica- tion peuvent être utilisés,
• La figure 6, deux exemples de raffinement du choix du pas de quantification à utiliser lorsque plusieurs paramètres de quantification sont candidats,
• La figure 7, l'illustration de l'impact de la perte de trames dans un GOP ; distorsions correspondantes à des pertes de trames ou
PSNR sur GOP partiel,
• La figure 8, un organigramme montrant les étapes exécutées dans le mode « total »,
• La figure 9, un organigramme montrant les étapes exécutées pour le mode « partiel et essais », • La figure 10, un organigramme décrivant les étapes exécutées pour le mode « aveugle »,
• La figure 1 1 , un exemple de l'évolution du PSNR avec le temps pour le mode « total » et dans le cas non adaptatif pour un débit ci- ble de 180 kbps et un rapport signal à bruit variable sur le canal sans fil (séquence vidéo ITU-T, 'Foreman', QCIF 15 Hz, 17 premiers GOPs),
• La figure 12, un exemple de l'évolution du PSNR avec le temps pour le mode « partiel et essais » dans le cas non adaptatif, pour un débit cible de 180 kbps et un rapport signal à bruit variable sur le canal sans fil (séquence vidéo ITU-T 'Foreman', QCIF 15 Hz, 17 premiers GOPs),
• La figure 13, un jeu d'abaques traçant le PSNR en fonction du débit obtenu pour des séquences vidéo au format QCIF 15 Hz PSNR, • La figure 14, un jeu d'abaques traçant le débit en fonction du QP obtenu pour des séquences vidéo au format QCIF 15 Hz,
• La figure 15, un jeu d'abaques traçant la fonction d'Intra dans le débit du GOP en fonction du débit total obtenu pour des séquences vidéo au format QCIF 15 Hz, • La figure 16, un jeu d'abaques traçant la fraction d'Intra dans le débit du GOP en fonction du PSNR obtenu pour des séquences vidéo au format QCIF 15 Hz, et
• La figure 17, un exemple d'estimation de PSNR, une comparaison des résultats d'expérimentaux avec la prédiction obtenue grâce aux abaques (1 θr GOP de la séquence de référence ITU-T 'Foreman' au format QCIF 15 Hz).
De manière à mieux faire comprendre l'idée mise en œuvre par l'invention, l'exemple qui suit pour l'illustrer à titre non limitatif fait appel à des vidéos de référence, qui sont celles utilisées pour créer des abaques et qui sont des fichiers fournis par l'ITU-T comme référence commune de test pour l'ensemble de la communauté de traitement vidéo. Par exemple, la séquence 'Foreman' qui est utilisée dans l'exemple est la plus connue. Les abaques peuvent aussi sans sortir du cadre de l'invention, être construites à partir d'un jeu de séquences représentatives du type de données correspondant au scénario du système mis en place.
Ces abaques de référence sont déterminés à l'avance une fois pour toutes. Elles sont réalisées, de préférence, sur le codeur vidéo qui sera effectivement utilisé dans le système, afin que la prédiction soit de bonne qualité. Les éléments intervenant dans la présente description sont soit la séquence que l'on cherche à transmettre qui peut être une séquence quelconque, soit les séquences de référence qui auront servi au préalable et une unique fois pour toute, à établir des abaques. C'est l'utilisation de ces diverses abaques construits à partir de fichiers vidéos de référence ou extraits de séquences typiques de l'application considérée qui, grâce à la boucle de prédiction introduite dans le procédé selon l'invention, permet notamment de prédire précisément les paramètres à utiliser pour obtenir une qualité vidéo cible, un débit cible et ce, y compris lorsque l'on travaille sur un canal non parfait, et donc face à des pertes ou erreurs contre lesquelles on ajoutera la prédiction du niveau de protection à appliquer.
Sans sortir du cadre de l'invention le procédé peut être utilisé au niveau d'un serveur de données vidéo, agissant comme une pompe intelligente de diffusion qui contrôlera les niveaux et les modes (e.g. choix de paquéti- sation, type de codage, ...) de compression et de protection introduits, afin d'améliorer la qualité moyenne reçue, ceci en fonction des informations sur les conditions de transmission reçues.
La figure 1 schématise un exemple de dispositif de transmission, dans lequel le procédé et l'outil selon l'invention peuvent être mis en œuvre. Un tel dispositif va comporter un codeur 1 de source, recevant les données ou le flux de données F1, et adapté à réaliser l'opération de compression, op- tionnellement un processeur 2 permettant de mettre en œuvre un codage correcteur d'erreur, et un processeur 3 adapté à exécuter les étapes selon l'invention, un canal de transmission 4 qui peut être un lien physique ou un médium sans fil de transmission, un récepteur 5 ayant notamment une fonction de décodage des données ou de la séquence vidéo ayant transitées par le canal de transmission et générant un flux F2. Le dispositif comporte aussi des moyens de stockage d'une ou plusieurs abaques de séquences vidéo, ainsi que des tables ou des abaques contenant les débits et la qualité vidéo à appliquer à une séquence de données. Le mot contrô- leur sera utilisé dans la description pour désigner le processeur mettant en œuvre les étapes du procédé.
Deux configurations matérielles au moins sont envisageables, un ordinateur réalisant l'opération de codage via un logiciel, ce logiciel étant alors de fait commandé par un contrôleur/superviseur choisissant les paramè- très ou une carte de compression vidéo, qui doit également intégrer un processeur accueillant la partie logicielle du contrôleur/superviseur. Les étapes d'émission, de réception et de transmission de données vidéo étant connues de l'Homme du métier, elles ne seront pas décrites dans ce document. Seules les étapes constituant l'originalité du procédé et de son outil selon l'invention permettant d'allouer un débit disponible entre d'une part le codage de source de la donnée vidéo à transmettre et d'autre part l'ajout de protection à ces données pour lutter contre les erreurs de transmission seront détaillées. Les contraintes sur le procédé d'optimisation sont données en termes de débit ou de qualité vidéo espérée, c'est-à-dire un niveau de qualité estimée par une mesure objective ayant pour but de représenter la vision humaine. En pratique, en comparant à un cas non optimisé (pour lequel, les paramètres du dispositif sont fixés à des valeurs par défaut), ceci correspond à faire une bonne utilisation des ressources (radio en particulier) uti- usées et permettant, soit de fournir une augmentation dans la qualité perçue par l'utilisateur final pour une utilisation similaire des ressources soit de n'utiliser qu'une partie des ressources disponibles tout en fournissant une qualité perçue identique.
Dans l'exemple pris pour illustrer la présente demande de brevet, la mesure utilisée pour estimer la qualité perçue est, par exemple, le PSNR acronyme de Peak Signal to Noise Ratio, qui est une mesure objective de distorsion utilisée en image numérique tout particulièrement en compression d'image. Elle est définie par :
où MSE = y Y (p/ (*' j) ~ pl{h j)) , M, Q sont les dimensions (largeur et
hauteur) des images vidéo, et pl(i, j) { pi* ) donne la luminance du pixel à position (i,j) original (ou reconstruit) dans l'image.
Afin d'illustrer le procédé et l'outil de mise en œuvre, la description va maintenant détailler trois modes de réalisation permettant de couvrir un nombre important de scénarios. Ces modes ne sont donnés qu'à titre illus- tratif et pour permettre au lecteur de mieux comprendre l'invention.
Principe Les paramètres à prendre en considération seront fonction de l'application, c'est-à-dire des contraintes à prendre en compte pour la réalisation d'une application de type multimédia (où les parties vidéo et au- dio sont par exemple multiplexées) ou de flux de données vidéo seules, et de l'information disponible pour l'optimisation à réaliser. Ces différentes conditions, incluant en particulier les contraintes de complexité et de fonctionnement en temps-réel (selon que l'on dispose d'un délai faible ou élevé, et selon le débit à délivrer) mais aussi la vie de fonctionnement de la vidéo elle-même (en allant du flux pré-enregistré qui peut être régulièrement téléchargé pour une transmission en temps réel réalisée une unique fois), vont nécessiter différentes stratégies pratiques pour le procédé d'optimisation selon l'invention.
En considérant prudemment les différents modes d'opération qui peuvent être discriminés, il est possible de distinguer trois cas principaux : en allant du cas optimal (d'un point de vue du contrôle) où la connaissance a priori sur le flux de données multimédia à transmettre est complète, au cas où certaines informations sur le flux sont connues mais pour lequel les contraintes temporelles permettront au contrôleur ou dispositif selon l'invention de tester quelques configurations avant de décider des paramè- très à utiliser, au cas le plus difficile où le contrôleur doit décider immédiatement des paramètres à utiliser en ayant seulement une connaissance limitée des configurations passées.
En pratique, en fonction du scénario considéré pour une application, le meilleur mode possible d'opération est sélectionné et les choix de contrôle/optimisation effectués en fonction de ce mode de réalisation de l'invention. 1 - Mode « total »
Ce terme est retenu pour le cas où le contrôleur, qui est le mécanisme contrôlant et dirigeant le fonctionnement du codeur de source a une connaissance totale de la séquence des données pour transmettre l'information. Par exemple, dans le cas d'un serveur de données vidéos, pourront être stockées différentes versions compressées d'une séquence à des débits et/ou résolutions différentes de la même séquence originale, ou simplement pourra être stockée la séquence peu ou pas compressée ainsi qu'une table ou abaque contenant précisément les débits et qualité vidéo attendus pour un ensemble de paramètres de compression à appliquer à la séquence. Plus généralement, on entend donc par connaissance de la séquence le fait de connaître le débit obtenu pour différentes configurations de codage (paramètre de quantification, résolution spatiale, ré- solution temporelle..) mais aussi les proportions relatives des différentes parties du flux (trame intra I, trame prédite P,..) pour ces différentes confi- gurations. Ce mode est réaliste lorsque l'on considère des séquences mémorisées de diffusion terme plus connu sous la dénomination anglo- saxonne « streaming/broadcasting » qui pourront par exemple avoir été pré-codées avec des débits différents, et pour lesquelles le contrôleur pourra simplement choisir le plus adapté pour la transmission sur le canal à un temps t.
2 - Mode « partiel et essais »
Ce cas correspond à un mode pour lequel les mécanismes de contrôle auront une connaissance de base sur le codage vidéo lui-même. Typi- quement la connaissance repose sur les abaques fournissant une information statistique sur les débits et les courbes de qualité vidéo pour des paramètres de compression donnés (paramètre de quantification, résolution spatiale, résolution temporelle,...) et utilise une approche reposant sur un ou plusieurs essais pour atteindre le point de fonctionnement optimal. Naturellement, seul un nombre limité de tests est à considérer, typiquement un ensemble de trois tests peut être considéré. Ce mode est réaliste lorsque l'on considère des flux avec des contraintes de délais limitées, i.e. lorsque le temps d'exécution nécessaire pour exécuter plus d'une fois le procédé d'encodage est acceptable, et lorsque l'information statistique a été pré-déterminée pour le standard ou le codeur vidéo considéré.
3 - Mode « aveugle »
Ce mode correspond au cas où le mécanisme de contrôle selon l'invention doit travailler sans la connaissance complète du flux à venir, ou sans la possibilité de tester plusieurs configurations avant d'avoir à choisir l'utilisation de l'une d'entre elle. Notamment ayant la connaissance des paramètres de codage du précédent GOP, le mode aveugle est le moins efficace mais aussi le plus simple et le plus rapide à implémenter. Il reposera largement soit sur l'usage de paramètres par défaut (en particulier au début d'une séquence) soit sur les paramètres des moments précédents pour déterminer les meilleurs paramètres de codage à utiliser à un instant t donné. Ce mode correspond à des solutions de faible complexité temps- réel et il est particulièrement adapté pour un flux de données en temps réel tel que la vidéo conférence.
Dans tous les cas précités, le procédé de contrôle résultera dans la déci- sion, des meilleurs choix de paramètres pour la compression des données et éventuellement de paramètres d'ajout de protection pour les conditions de débit et des conditions de transmission (état du réseau et/ou information de l'état du canal) disponibles.
Pour les modes « partiel et essais » et le mode « aveugle », une seconde étape d'adaptation pourra être exécutée afin de s'assurer que le débit cible est respecté. Cette étape de post-traitement s'appliquera, par exemple, en supprimant un nombre de trames ou paquets qui, s'ils étaient conservés, amèneraient à dépasser de manière exagérée le débit cible. Cette opération de coupe est utilisée seulement lorsqu'elle est nécessaire, une marge d'adaptation étant définie (5 à 10% de dépassement pouvant être déclaré acceptable). Cette marge pourra souvent en pratique être compensée en moyenne sur la durée de la séquence soit en tirant partie d'avoir également certaines prédictions amenant des débits inférieurs à la cible, soit en fixant des contraintes plus strictes sur les parties ultérieures de la séquence vidéo lorsque le dépassement devient trop important.
La description va maintenant expliciter les outils et les étapes mis en œuvre par le procédé selon l'invention et par l'outil de supervision ou de contrôle.
Outils et fonctions pour une adaptation pour une définition spatiale et une résolution temporelle
Les mesures utilisées pour l'optimisation de la transmission des données vidéo sont : la qualité de la vidéo perçue à la réception, ou PQoS qualité de service perçue par l'utilisateur final. Comme il a été proposé dans la référence [2], l'expression de la moyenne espérée pour la distorsion de bout en bout après le codage de la source, la mise en paquets dans le réseau, l'opération de codage canal, suivi par l'impact du canal (modélisé) et des opérations converses, peuvent être utilisées comme une mesure pour comparer différentes réalisations dans les choix de compression/protection pour la séquence à transmettre. De façon à obtenir assez de données pour opérer, ceci en particulier dans le cas d'une application avec protection inégale aux erreurs, pour laquelle il est important de prédire les proportions relatives de chacune des parti- tions, mais pour assurer que la prédiction du débit de compression fonctionne et surtout est moyennée sur plusieurs trames, l'optimisation proposée dans ce qui suit est exécutée sur la base d'un débit calculé groupe d'image (GOP) par groupe d'image. Sans sortir du cadre de l'invention, il est bien entendu qu'avec des modifications mineures, les explications qui vont suivre peuvent s'appliquer pour des images qui ne sont pas constituées en groupe d'image mais qui se présentent sous un autre format. De manière plus générale, les données peuvent être des données audio ou des données vidéo. Ainsi, une possibilité est de mettre en œuvre le procédé sur un codeur de type MPEG-4. Le document [2] enseigne que la « sensibilité » pour un GOP fait de trames intra I suivies par N trames prédites P est exprimée en tenant compte du fait que, en pratique, les sensibilités des trames P dépendent des trames précédentes : si une trame P n'est pas correctement reçue, alors les suivantes, même si elles ont été transmises correctement ne seront pas reconstruites correctement. Le terme de sensibilité pour une image ou une trame fait ici référence à la mesure de la distorsion introduite par rapport à la séquence vidéo originale non compressée dans le cas où l'image ou trame en question est perdue ou erronée. En pratique, on retient dans le calcul de la sensibilité l'hypothèse que lorsqu'une trame est perdue, sa distorsion partielle dégrade suffisamment la distorsion moyenne du GOP pour que la contribution de la distorsion des trames suivantes éventuelles devienne négligeable. L'impact des trames précédentes qui n'ont pas été correctement reçues est en conséquence pris en compte en utilisant une probabilité conditionnelle sur les précédentes à corriger. Ceci conduit à l'expression pour la séquence codée standard au format I PN (Intra, Pré- dite) pour la distorsion moyenne d'un GOP
Dgop = fl a-PyΛ -Do + ∑[Y[ {l-Pe)β' n' .{l-{l-Pe)β'n' ).DlosSι ] (1 )
avec H1 la taille de la t P-trame, avec DlosSi la distorsion observée lorsque la i'h P-trame est perdue alors que les trames précédentes sont correctes, avec D0 = D0N la distorsion moyenne du GOP sans erreur , avec βt la fraction de la trame qui peut être partiellement bruitée sans désynchronisation du flux et pour un canal sans mémoire avec une probabilité d'erreur pour le bit Pe .
Avec les valeurs expérimentales estimées dans [5] pour les paramètres P1 , soit : I- β0 ≈ 0.25 et \ - βι ≈ 0.15 ), il apparaît que l'équation (1 ) est exploitable une fois que sont connues, pour tous les i, les valeurs de la taille de la i'h P-trame nt , la distorsion observée lorsque la i'h P-trame est perdue alors que les trames précédentes sont correctes Dhss et enfin la distorsion moyenne du GOP sans erreur Do .
Naturellement, dans le cas où une correction d'erreur est introduite, l'expression de la probabilité d'erreur P devra aussi être établie. Par exemple, l'emploi de codes convolutifs poinçonnés à rendements compatibles (RCPC) sur canal Gaussien avec décodage à entrées souples nous permettra d'utiliser la borne de la probabilité d'erreur établie dans [6]:
P, ≤ ^ ∑ ad.Pd
^ d=dr,,. avec dfree la distance libre du code, ad le nombre de chemins existants,
Pd la probabilité pour qu'un chemin erroné à la distance d soit sélectionné lorsque SNR = E5IN0.
Des expressions similaires peuvent aussi être établies [2] pour un parti- tionnement de données ou des modes de mélange de trames, modes qui peuvent être en particulier utilisés dans le cas où une protection inégale aux erreurs est considérée, telle que celle décrite dans la demande de brevet du Demandeur FR 2 903 253. Prédiction de débit et de qualité pour les modes autres que le mode « total »
Alors que pour le mode « total », la connaissance du flux est parfaite, et en conséquence toutes les valeurs nécessaires pour déterminer la qualité de la métrique sont disponibles, le mode « partiel et essais » et le mode « aveugle » sont causals et l'information future n'est pas disponible per se. Dans ces deux derniers modes, la connaissance statistique du mode de codage vidéo de l'opération peut être obtenue, par exemple, via un ensemble d'abaques, qui indiqueront, pour un choix de résolution temporelle et de résolution spatiale (correspondant au choix de format et rythme de l'image) ainsi que pour un choix de compression donné, une prédiction de la qualité vidéo obtenue après reconstruction et le débit obtenu. Bien entendu, la connaissance statistique pourra aussi être obtenue d'approches plus théoriques, mais le principe reste le même. Pour ces deux derniers modes, la représentation des statistiques du co- deur vidéo sera plus facilement gérée en utilisant comme paramètre de référence le paramètre de compression (en particulier, le pas de quantification (QP) pour les différentes configurations temporelles et spatiales possibles. La figure 2 illustre le principe du premier ensemble d'abaques, qui donnent l'information sur la qualité vidéo en fonction du paramètre de quantification pour différentes réalisations de flux vidéo. La figure 3 illustre le principe du second ensemble d'abaques, fournissant une information sur le débit en fonction du paramètre de quantification pour les mêmes réalisations de flux vidéo.
Il doit être noté que l'abaque ici considéré peut seulement être un abaque à deux dimensions si une règle prédéfinie est établie pour lier les paramètres de quantification utilisés pour les différents types de trame (pour les standards offrant des pas de quantification potentiellement différents selon les types de trames). Typiquement, dans les tests effectués, les règles suivantes seront utilisées :
QP1 = QP QPP = QP + 2
QPB = QP + 2 (si utilisé) pour respectivement les trames Intra, les trames prédites P et les trames bidirectionnelles B.
Ces règles proposées reposent sur des essais et simulations réalisées pour établir des règles intéressantes pour la quantification, en dehors du fait que les trames les moins importantes devraient être quantifiées en utilisant des étapes de quantification égales ou plus grandes. De plus, il a été établi que les principes établis restent valables pour les autres règles, aussi bien dans le cas où les règles non pré-définies existent, dans ce cas, l'abaque et l'interpolation ne sont pas en deux dimensions 2D mais en trois dimensions 3D ou quatre dimensions 4D (si un QPB existe et est différent des autres QPs). Les figures 2 et 3 représentent respectivement l'expression de la qualité vidéo en fonction du paramètre de quantification et l'expression du débit en fonction du paramètre de quantification.
Ces abaques permettent, pour tout point de départ (valeurs par défaut, information du GOP précédente, ..) d'établir la courbe de référence qui sera utilisée pour déterminer le débit espéré basé sur les paramètres de quantification QP possibles et la qualité vidéo correspondante espérée. L'utilisation des courbes pratiquement peut être la suivante :
- Trouver le paramètre de quantification QP possible pour un débit cible sur une courbe identifiée,
- Pour une courbe identifiée, l'abaque est lu et le meilleur QP correspondant (le candidat le plus proche de l'abaque) est sélectionné pour l'essai. Bien que l'abaque porte sur une large gamme de QP et de débit possibles, ces valeurs ne sont pas continues, ainsi basiquement il est possible soit :
1 ) de trouver une réalisation du débit assez proche du débit cible pour respecter sa définition à la marge près,
2) de ne pas être en position pour sélectionner un candidat immédiatement. Dans le premier cas, illustré par le candidat QPB sur la figure 4, le candidat QPciosest est immédiatement sélectionné et peut être utilisé pour l'encodage de la séquence. Le candidat QPB est le candidat le plus proche du débit cible DCibie pour l'abaque i, dans le présente exemple, ceci correspond au débit cible. Dans les autres cas, une étape de raffinement doit être exécutée qui est précisée ci-dessous.
Raffinement de la sélection du meilleur paramètre de quantification QP Une étape de raffinement peut être nécessaire, soit lorsqu'il n'est pas possible de trouver un candidat intermédiaire à partir de l'abaque initial de l'opération de lecture, ou encore lorsque ayant exécuté plusieurs essais avec l'algorithme « partiel et essais », différents couples de réalisations (débit, QP) ont été obtenus à partir des essais sur la portion courante de la séquence. Plusieurs essais peuvent être exécutés, qui permettront de déterminer plus précisément le comportement de la portion (GOP) de la séquence courante, typiquement si le choix de la courbe initiale de prédiction n'était pas bon. Toutefois, du fait du nombre limité d'essais qu'imposent nécessairement les contraintes du temps réel et d'exploitation pratique, le choix final du paramètre de quantification QP devra souvent être fait sans avoir trouvé de QP correspondant parfaitement à la cible débit ou qualité, ce qui signifie qu'un choix doit être fait avec seulement la connaissance disponible. Différents cas peuvent être envisagés qui ont été représentés sur les figures 5A, 5B, 5C, 5D et 6 : Cas 1 - tous les QP testés (sur une ou plusieurs courbes) dépassent la cible de manière significative, Cas 2 - tous les QP testés (sur une ou plusieurs courbes) arrivent en dessous de la cible de manière significative
Cas 3 - le débit de la cible est trouvé entre 2 QP, trouvé au-dessus une courbe unique
Cas 4 - le débit cible est trouvé entre 2 QP, trouvés au-dessus de deux courbes différentes, Pour les cas 1 et 2, différentes stratégies, de la plus sécuritaire à la plus risqué, peuvent être implémentées. Ces stratégies correspondent à une approche similaire : soit prendre la valeur testée la plus proche et l'utiliser, ou essayer avec une autre, en faisant totalement confiance à l'abaque supposée le meilleur. En effet, alors qu'on pourrait croire au premier abord que l'abaque doit donner immédiatement le meilleur QP, il ne faut pas oublier que le vrai problème est de déterminer à partir des informations des GOP précédents, quel abaque correspond le mieux pour le GOP courant de la séquence vidéo à coder. Une séquence vidéo pouvant grandement changer d'un moment à un autre (changement de scène, augmentation ou diminution forte du mouvement, détails nouveaux introduits, ...) l'abaque valable à un certain instant t peut en effet se révéler fausse au moment suivant t+1 , et donc ne pas permettre une bonne prédiction. Dans la suite de la description, une approche ayant un niveau de risque contrôlé sera utilisée :
- dans le cas 1 , utiliser QP|θpιUsprochθ+1 - dans le cas 2, utiliser QP|θpiusprochθ -1 sachant que d'autres adaptations peuvent être considérées ; par exemple en choisissant l'incrément en fonction de la distance relative entre le débit atteint avec QPiepiusprochθ comparé au débit cible ; - dans le cas 3, utiliser une relation de barycentre :
ratesup - ratemt où rateCibiθ est le débit cible, et pour les deux couples candidats (QP1 , débiti ) et (QP2, débit2), rateinf représente le débit le plus faible, ratesup le débit le plus élevé, QPinf représente le pas de quantification le plus faible et QPsup le pas le plus élevé ;
- dans le cas 4 qui correspond au cas le plus difficile, ce qui en pratique correspond à un scénario où l'abaque correct pour la séquence devant être codée n'a pu être déterminé. Ici à nouveau, l'opération de calcul du barycentre proposé pour le cas 3 est possible, mais pourra se révéler moins efficace si la courbe optimale a une pente très différente de la courbe sélectionnée ou bien des deux courbes sélectionnés. Une autre solution consiste, par exemple, à insérer dans l'interpolation un troisième point (s'il est disponible) : les trois couples (débit, QP) étant utilisés pour définir une courbe sur Ia- quelle une interpolation peut être effectuée directement. Dans les tests décrits ci-après, c'est la formule du barycentre qui sera utilisée.
Estimation de la longueur et des informations de distorsions partielles Ayant établi la nécessité d'estimer les longueurs respectives de chaque trame («, ), la distorsion observée lorsque la f P-trame est perdue {Dloss ) et la distorsion du GOP { Do ), et ayant proposé l'utilisation d'un abaque pour prédire le débit et la qualité pour les approches "partiel et essais" et "aveugle", la suite de la description détaille comment obtenir l'information manquante:
- Do (la distorsion du GOP) est facilement connue grâce à l'abaque
(type 1 ) puisqu'il s'agit de la valeur du PSNR du GOP pour le QP 5 considéré,
- La longueur totale /tofa,du GOP est facilement connue grâce à l'abaque (type 2) en faisant une simple division du débit par le nombre d'images par seconde. En effet, la résolution temporelle de la séquence est connue pour chaque abaque. 10 - La longueur Intra lIntm est aussi connue de l'abaque (type 2) comme une information supplémentaire (les rapports pour les in- tra/prédites sont mémorisés), comme illustré par les figures 16 et 17. Dans l'exemple de mise en œuvre, la fraction en plus des informations de l'abaque est stockée, comme illustrée au niveau des 15 figures précitées.
La question qui reste est d'exprimer la contribution relative pour chaque trame en terme de longueur, c'est à dire lP et en terme de distorsion, c'est-à-dire Z)foss . Comme illustré à la figure 7, la qualité partielle (exprimée en termes de distorsion partielle) est une fonction croissante avec le nom- 20 bre d'images décodées. Faisant suite à des observations expérimentales (incluant les remarques faites dans la référence [2]) les expressions suivantes sont proposées:
" DlosSo = ^D0 ,
- Dl0SSl = Kss0 + * X fc>0 - D1OSS0 ) >
LjO^slze
~r J ''total ''Intra
P' ~ GOP -1 Contraintes imposées et définition d'une marge de fonctionnement
Ayant définis les paramètres et les données, et comment les obtenir, la description va maintenant donner les marges à respecter. Débit cible Le concept de contrôle de débit n'est pas nouveau, et de nombreux algorithmes ont été proposés dans la littérature du codage vidéo. Leur but commun est d'assurer qu'une séquence donnée atteigne un débit cible moyen sur la durée de la séquence, et leur approche générale est de réagir sans changement brutal en dépit de la qualité des limitations de la largeur de bande et des évolutions complexes de la séquence.
Le contrôleur qui utilisera l'algorithme proposé dans ce brevet a notamment pour but d'être plus réactif (dans le sens d'une évolution rapide pour satisfaire ou atteindre le débit cible). En effet, les conditions de l'état du canal peuvent être fortes et imposer de fortes variations des débits de pro- tection, ce qui introduirait de gros déséquilibres pour la séquence compressée (trop de débit consommé ou au contraire trop peu) si l'on attendait que les algorithmes d'adaptation lente du débit (tels que ceux proposés dans le codeur de référence H.264) s'adaptent à ces variations. De plus, une adaptation lente n'est valable que lorsque les conditions de transmission ou de débit varient encore plus lentement, et passe toujours par une phase initiale avec des paramètres peu adéquats. Dans le cas d'une transmission sans fil sur canal variable, y compris lorsque le taux d'erreur résiduel est négligeable et que le problème de l'introduction de protection ne se pose pas, une telle approche risque de fournir des résul- tats très mauvais.
Adaptation à une séquence variable : définition de la marge acceptable Ayant établi l'importance de réaliser un contrôle de débit relativement régulier, il est aussi important de se rappeler que des marges doivent être définies pour éviter d'avoir à appliquer des post-traitements trop stricts ou trop fréquents (comme il sera détaillé ci-après). En pratique, on utilisera une marge de tolérance de 10%, qui a été employée avec succès dans les expériences mises en œuvre par le Demandeur dont certains exemples sont donnés plus loin dans la description et illustrés aux figures 11 à17. Il est recommandé d'implémenter, ensemble, avec cette marge, un algorithme d'observation qui note le débit réel utilisé par rapport au débit cible, et qui sera ensuite capable de mettre à jour le débit cible en fonction de la réalité passée. Typiquement, si un débit utilisé pour un certain laps de temps est trop faible, le débit cible pour les GOP suivants pourrait être augmenté ou inversement réduit dans le cas où le débit réellement utilisé précédemment serait trop important. Dans le cas où l'algorithme de contrôle vise une qualité cible et non plus un débit cible, cet algorithme d'observation du débit utilisé aurait aussi un sens, puisque les applications pratiques orientées qualité ont tout de même en général une contrainte de débit maximal à ne pas dépasser. Une remarque intéressante considérant la définition de la marge et des règles pour une amélioration possible de la qualité vidéo perçue par l'utilisateur pourrait être de recommander, lorsque différents candidats QP sont trouvés équivalent par le contrôleur joint, de sélectionner celui qui est le plus proche (idéalement qui est égal) au dernier utilisé, afin de limiter les effets de scintillement possibles lorsque la quantification varie trop souvent.
Opérations de post-traitement (pour les modes « partiel et essais » et « aveugle »)
Ayant choisi les paramètres à utiliser pour les opérations de codage (compression, protection), le codage est réalisé, mais il peut s'avérer que les contraintes ne soient pas vérifiées. Typiquement, en dépit des efforts faits, un excès de débit dépassant la marge acceptable peut apparaître. De façon à limiter l'impact de telles erreurs de prédiction, une opération de post traitement est proposée, qui correspondra à couper la ou les dernière^) trame(s) (ayant le moins d'impact sur la séquence). Ce post-traitement pourra être fait d'une manière propre au niveau du codeur, conduisant typiquement pour le codeur H.264/AVC à l'insertion de trames artificiellement vides (tous les macro-blocks se voyant prédire une différence nulle avec leur référence par exemple) ce qui permettra au décodeur de recevoir le bon nombre de trames, même s'il n'a pas l'information initiale qu'elles contenaient. Il n'y aura alors pas de risque d'apparition d'une désynchronisation.
Une autre opération spécifique de post-traitement est envisagée lorsque les conditions opératoires sont difficiles. En pratique, il peut être souvent observé que lorsque le débit total autorisé est réduit, la sélection de paramètres obtenue amène pour des conditions de transmissions mauvaises à un choix de très forte compression, donc à des séquences avec très peu d'information utiles qui ont tout de même un fort risque d'arriver corrompues à la réception. De ce fait, il est proposé de définir un seuil PSNRmini au-dessous duquel la transmission ne sera pas tentée, sauf éventuellement quelques symboles pilotes (pour maintenir la connexion, obtenir des informations sur l'état du canal, ...).
Cette approche permettra de récupérer de la bande qui pourra en conséquence être disponible pour les futures périodes grâce à l'approche de d'observation et contrôle du débit moyen. Ayant introduit les outils mentionnés précédemment, les 3 modes d'opération peuvent maintenant être définis précisément et leur diagramme établi. Procédé mode total
Comme il a été mentionné ci-dessus, le procédé "total" correspond à la sélection du meilleur couple (compression, protection) en fonction de l'information de retour (état de canal, bande disponible, ...) disponible. La figure 8 présente l'organigramme complet de ce mode d'opération. Etape 8.1 Initialisation:
Prendre les valeurs par défaut pour les paramètres de compression et l'information de retour sur l'état de la transmission Etape 8.2 Paramètres de la séquence Lire pour chaque réalisations disponibles du GOP entrant les informations (débit, QP) afin d'obtenir la courbe réelle précise (C) de débit pour le prochain GOP de la séquence courante. Etape 8.3 Doit-on introduire de la protection au niveau applicatif ? NON
Etape 8.4 Paramètres de compression:
En fonction du débit disponible, sélectionner le couple (débit, QP) sur la courbe (C) qui correspond le mieux aux contraintes de débit et de qualité vidéo. Sélectionner les paramètres correspondants et déclencher le procédé de codage. OUI
Etape 8.5 Répartition de débit Compression/Protection : Pour chaque rendement de protection, sélectionner un jeu (S) de couples (débit, QP) sur la courbe (C) permettant de respecter les contraintes de débit.
Pour chaque élément de (S), prédire la longueur du GOP et les distorsions correspondants aux pertes de trames (Dloss) et en déduire la mesure vidéo du PSNRgop du GOP estimée à la réception, comparer cette valeur avec la meilleure valeur courante PSNR.
Sélectionner le meilleur PSNRgop et déclencher le procédé de codage des données avec les paramètres de codage (compression, protection) correspondantes.
Etape 8.6 Fin du codage du GOP: - Emettre les paquets générés
- Mémoriser la valeur en cours réelle du couple (débit, QP) dans la liste des couples précédents (débit, QP)
- S'il y en a, lire les nouvelles informations de retour sur l'état de la transmission. Etape 8.7 Opération de contrôle pour le GOP suivant Mode « partiel et essais »
Le mode « partiel et essais » est utilisé lorsqu'une approche en plusieurs essais peut être utilisé, bien que limité à un certain nombre de cas. La performance de l'algorithme et donc la pertinence des choix de paramètres et la performance finale dépendent naturellement du nombre d'essais autorisés, que nous proposons de limiter à trois tests dans nos simulations. En pratique, la complexité du codage est multipliée par ce nombre d'essai. De façon à limiter la complexité il est recommandé de stocker chaque résultat du procédé de codage et d'utiliser le résultat sélectionné si le choix du codage final est l'un des essais précédents. De plus, si un des tests (y compris le premier) offre un résultat dans les contraintes fixées, il est recommandé de le sélectionner et de lancer le processus de codage avec les paramètres en question, sans plus faire d'essais. La figure 9 présente l'organigramme complet de ce mode d'opération. Etape 9.1 Initialisation:
Prendre les valeurs par défaut pour les paramètres de compression et l'information de retour sur l'état de la transmission
Etape 9.2 Identification de Séquence :
A partir des {n} dernières couples (débit, QP), identifier la courbe de débit (C) la plus probable pour la séquence courante Etape 9.3 Nb essais += 1
Etape 9.4 Doit-on introduire de la protection au niveau applicatif ? NON Etape 9.5 Paramètres de compression: En fonction du débit disponible, sélectionner le couple (débit, QP) sur la courbe (C) qui correspond le mieux aux contraintes de débit et de qualité vidéo.
Sélectionner les paramètres correspondants et déclencher le procédé de codage. OUI
Etape 9.6 Répartition de débit Compression/Protection : Pour chaque rendement de protection, sélectionner un jeu (S) de couples
(débit, QP) sur la courbe (C) permettant de respecter les contraintes de débit.
Pour chaque élément de (S), prédire la longueur du GOP et les distorsions correspondantes aux pertes de trames (Dloss) et en déduire la mesure vidéo du PSNRgop du GOP estimée à la réception, comparer cette valeur avec la meilleure valeur courante PSNR.
Sélectionner le meilleur PSNRgop et déclencher le procédé de codage des données avec les paramètres de codage (compression, protection) correspondantes.
Etape 9.7 Contrôle du résultat du procédé de codage: Mémoriser la valeur en cours réelle du couple (débit, QP) et la comparer avec la courbe (C). S'il n'y a pas correspondance, déterminer la nouvelle meilleure courbe (Cgop) pour le GOP courant et mettre à jour en fonction la valeur (C).
Au contraire, si le couple de valeurs actuelles (débit, QP) satisfait aux contraintes, mettre le nombre d'essais à MAX.
Etape 9.8 Le nombre d'essais maximal est-il atteint , est-il supérieur à une valeur prédéterminée? NON alors retour à l'étape 9.3 OUI
Etape 9.9 Sélectionner les meilleurs paramètres de codage: Parmi les couples de valeurs réelles (débit, QP) et leur protection correspondante, chercher la meilleure combinaison qui respecte les contraintes et si elle existe, déclencher le procédé de codage des données avec les paramètres de codage (compression, protection) correspondants. Dans le cas contraire, procéder au raffinement, si nécessaire, du choix des meilleurs paramètres de codage selon la méthode applicable (barycentre ou valeur de QP la plus proche +/- 1 ) et déclencher le procédé de codage des données avec les paramètres de codage (compression, protection). Etape 9.10 : Le processus de codage respecte-t-il les contraintes ? NON
Etape 9.1 1 Contrôle a posteriori du codage:
Limiter le débit utilisé à une valeur maximale +marge soit en insérant un contrôle de QP au sein du codeur, soit par post-traitement en supprimant les trames amenant à dépasser la limite du débit + marge. OUI Etape 9.12 Fin du codage du GOP:
- Emettre les paquets générés
- Mémoriser la valeur en cours réelle du couple (débit, QP) dans la liste des couples précédents (débit, QP)
- S'il y en a, lire les nouvelles informations de retour sur l'état de la transmission.
Opération de contrôle pour le GOP suivant 9.13 Mode aveugle II est important de comprendre que le terme "aveugle" se réfère au fait que le contrôleur n'est pas conscient du futur, et non qu'il ne dispose pas d'information. Manifestement un contrôleur avec strictement aucune information en termes de débit disponible pour la transmission, de connaissance des conditions de transmission ou du codeur multimédia lui-même ne pourrait simplement offrir quelque chose de différent du paramétrage par défaut, ce qui a peu de chance d'être réellement proche de l'optimum pour la transmission.
En pratique donc, dans le mode "aveugle" le contrôleur dispose d'une information sur les conditions de transmission mais possède aussi une in- formation statistique sur le codage vidéo. Il est même possible qu'il ait une connaissance sur le choix des étapes codées précédemment (paramètres employés et résultats obtenus avec ces paramètres, en termes de débit et qualité Z)J. Naturellement les données multimédia varient dans le temps, ce qui signifie que les paramétrages peuvent ne plus être représentatifs de la donnée courante à transmettre, rendant la seconde étape de l'adaptation mentionnée (opération de post-traitement avec coupes) ci- dessus encore plus nécessaire.
Comme dans le mode "partiel et essais", le procédé « aveugle » reposera sur la connaissance statistique du codée vidéo de façon à assurer que les paramètres ne sont pas totalement irréalistes. Choisir les paramètres tels que le QP initial sans un minimum de précautions peut en effet conduire à de mauvais résultats pour le premier GOP. Etape 10.1 Initialisation: Prendre les valeurs par défaut pour les paramètres de compression et l'information de retour sur l'état de la transmission Etape 10.2 Identification de Séquence :
A partir des {n} dernières couples (débit, QP), identifier la courbe de débit (C) la plus probable pour la séquence courante Etape 10.3 Doit-on introduire de la protection au niveau applicatif ? NON
Etape 10.4 Paramètres de compression:
En fonction du débit disponible, sélectionner le couple (débit, QP) sur la courbe (C) qui correspond le mieux aux contraintes de débit et de qualité vidéo. Sélectionner les paramètres correspondants et déclencher le procédé de codage. OUI
Etape 10.5 Répartition de débit Compression/Protection : Pour chaque rendement de protection, sélectionner un jeu (S) de couples (débit, QP) sur la courbe (C) permettant de respecter les contraintes de débit.
Pour chaque élément de (S), prédire la longueur du GOP et les distorsions correspondantes aux pertes de trames (D|0SS) et en déduire la mesure vidéo du PSNRgop du GOP estimée à la réception, comparer cette valeur avec la meilleure valeur courante PSNR. Sélectionner le meilleur PSNRgop et déclencher le procédé de codage des données avec les paramètres de codage (compression, protection) correspondantes. Etape 10.6 Lors du procédé de codage, vérifier si le flux produit respecte le débit et les contraintes de marges? OUI
Etape 10.7 Contrôle a posteriori du codage:
Limiter le débit utilisé à une valeur maximale +marge soit en insérant un contrôle de QP au sein du codeur, soit par post-traitement en supprimant les trames amenant à dépasser la limite du débit + marge. NON Etape 10.8 Fin du codage du GOP:
- Emettre les paquets générés
- Mémoriser la valeur en cours réelle du couple (débit, QP) dans la liste des couples précédents (débit, QP)
- S'il y en a, lire les nouvelles informations de retour sur l'état de la transmission.
Etape 10.9 Opération de contrôle pour le GOP suivant
Extension permettant la comparaison de différents modes de co- dage: normal, partitionnement de données et mélange de trames
Comme mentionné précédemment, les différents algorithmes présentés peuvent être employés soit avec un mode de codage "normal", c'est à dire pour le cas de compression le plus habituel, avec des trames Intra, Prédites et éventuellement Bidirectionnelles, ou avec un mode permettant un partition- nement de données (par exemple le mode DP du standard H.264 faisant partie du profil X étendu) qui permet de séparer les données selon leur importance pour la reconstruction ou encore selon le mode mélange de trames (FS) défini dans la demande de brevet du demandeur EP 1 779 689 ou la publication de THALES [3] dès lors que le mode en question possède ses jeux d'abaques. Une extension simple du brevet consiste donc à calculer les résultats obtenus pour deux ou plusieurs de ces configurations lors de la phase « répartition du débit entre compression et protection », et à choisir le meilleur mode. En pratique d'autres contraintes pourront être introduites pour éviter que le changement de mode soit trop fréquent.
Les figures 1 1 à 17 illustrent différents essais effectués au moyen du procédé selon l'invention. Les simulations présentées ci-dessous ont été réalisées pour d'une part le mode opératoire « total » et d'autre part le mode opératoire « partiel et essais ». Dans les deux cas, des gains de plusieurs dBs en moyenne ont pu être observés par rapport au cas sans adaptation (utilisation des paramètres par défaut). Le mode « total » est clairement optimal, dans le sens où une connais- sance complète des possibilités de compression est disponible, ainsi qu'une information statistique sur l'état du canal. Néanmoins, le système demeure réaliste dans le sens où il reste causal, la connaissance du canal réel n'étant pas disponible à l'avance (seules des valeurs statistiques sont connues). Ce mode peut être compare au cas sans adaptation, pour lequel les paramètres de compression et de protection sont fixés en référence à un point de fonctionnement donné pour le système. Naturellement, l'optimisation est supposée fonctionner mieux, sauf dans quelques cas exceptionnels pour lesquels des réalisations inattendues du canal peu- vent, par hasard, favoriser le cas non-adapté. La figure 11 illustre les gains obtenus avec ce mode dans le cas d'une séquence Foreman ITU-T, Qcif, 15 Hz, 17 premiers GOPs.
Le mode opératoire « partiel et essais » introduit dans ce brevet peut être comparé d'une part au mode non adapté décrit précédemment, et d'autre part au mode « total », qui représente la qualité maximale atteignable en moyenne, puisqu'il correspond à la meilleure prédiction possible. La dis- tance entre les résultats du mode « partiel et essais » et du mode « total » permettra de nous indiquer l'efficacité de l'algorithme de prédiction et nous a également permis de valider la définition de certains paramètres comme le nombre de tests recommandés. La figure 12 illustre les gains obtenus avec ce mode opératoire. L'exemple de l'évolution pour le PSNR est donné avec une séquence de référence Foreman ITU-T, Qcif, 15 Hz et 17 premiers GOPs.
Afin de montrer l'efficacité de la méthode de contrôle de débit proposé, quelques figures sont données ci-après à titre illustratif.
Tout d'abord, les abaques qui ont été utilisées sont fournies en figure 14 et figure 15 pour l'expression du PSNR (qualité vidéo) en fonction du débit et du débit en fonction du QP.
Comme mentionné précédemment, on garde également l'information de la proportion de trames Intra dans les séquences, ce qui peut être vu comme une abaque spécifique pour l'Intra, comme illustré en figure 16 et en figure
17.
Ces abaques permettent de prédire un PSNR cible précis, comme illustré par la figure 17.
Le procédé et le système selon l'invention présentent notamment les avantages suivants : permettre, dans le cas plus général de la prise en compte d'un canal erroné de réaliser une répartition optimisée du débit disponible entre la compression et l'ajout de protection grâce à la double prédiction du débit vidéo et de l'impact des erreurs.
Références
[1] M. G. Martini, M. Mazzotti, C. Lamy-Bergot, J. Huusko and P. Amon,
"Content adaptive network aware joint optimization of wireless video transmission", IEEE Communications Magazine, pp.84-90, January 2007. [2] C. Bergeron and C. Lamy-Bergot, "Modelling H.264/AVC sensitivity for error protection in wireless transmissions", Proceedings of the International Workshop on Multimedia Processing (MMSP^Oβ), pp.302-305, Victoria, Canada, Oct 2006. [3] C. Bergeron, C. Lamy-Bergot, G. Pau and B. Pesquet-Popescu, Temporal Scalability through Adaptive M-Band Filter Banks for Robust H.264/MPEG-4 AVC Video Coding, EURASIP Journal on Applied Signal Processing 2006 (2006), Article ID 21930, 1 1 pages. [4] ITU-T and ISO/IEC JTC 1 , Advanced video coding for generic audio- visual services, ITU-T Recommendation H.264 and ISO/IEC 14496-10 (MPEG-4 AVC), Version 1 : May 2003.
[5] C. Bergeron and C. Lamy-Bergot, "Compilant sélective encryption for H.264/AVC video streams", Proc. Int. Workshop on Multimedia Processing (MMSP'05), pp. 477-480, Shanghai, China, Oct-Nov 2005. [6] J. Hagenauer, "Rate-compatible punctured convolutional codes (RCPC codes) and their application," in IEEE Trans. on Comm., vol. 36, n. 4, pp. 339-400, April 1988.

Claims

REVENDICATIONS
1 - Procédé pour optimiser une transmission vidéo en milieu contraint comprenant un codeur vidéo adapté pour coder les données vidéo à transmettre, caractérisé en ce qu'il comporte au moins une étape de détermination d'un ou plusieurs paramètres de compression pour le codeur vidéo considéré afin de transmettre lesdites données vidéo à un débit donné Di ou pour une qualité donnée Qi en exécutant au moins les étapes suivantes : - définir et utiliser des abaques de référence pour ledit codeur considéré,
- prédire pour la partie de la séquence vidéo en cours de compression, et au moyen des dites abaques de références, des paramètres de compression à utiliser, au moins le pas de quantification QP, par sélection d'un abaque dans la représentation (QP, débit) ou (QP, PSNR) qui pour la gamme de débit Di ou de qualité visée Qi, est le plus proche en distance de ladite partie de la séquence à compresser, en respectant une marge donnée,
- mettre à jour par un procédé itératif l'étape de prédiction afin de converger sur le meilleur choix de paramétrage, ledit procédé d'itération étant composé d'au moins une étape de compression suivie d'une étape de vérification,
- compresser les données vidéo à transmettre avec lesdits paramètres.
2 - Procédé selon la revendication 1 caractérisé en ce qu'il comporte une étape de protection contre les erreurs de transmission, les paramètres de protection étant déterminés avec les paramètres de compression en tenant compte du canal de transmission des données.
3 - Procédé selon la revendication 1 caractérisé en ce qu'elle comporte une étape de post traitement après la compression finale. 4 - Procédé selon la revendication 1 caractérisé en ce que les données à transmettre peuvent se mettre sous la forme de GOP ou groupement d'images et en ce que dans le mode total, les étapes du procédé exécutées sont les suivantes: Etape 8.1 Initialisation:
Prendre les valeurs par défaut pour les paramètres de compression et l'information de retour sur l'état de la transmission
Etape 8.2 Paramètres de la séquence
Lire pour chaque réalisations disponibles du GOP entrant les informations (débit, QP) afin d'obtenir la courbe réelle précise (C) de débit pour le prochain GOP de la séquence courante.
Etape 8.3 Doit-on introduire de la protection au niveau applicatif ? NON Etape 8.4 Paramètres de compression: En fonction du débit disponible, sélectionner le couple (débit, QP) sur la courbe (C) qui correspond le mieux aux contraintes de débit et de qualité vidéo.
Sélectionner les paramètres correspondants et déclencher le procédé de codage. OUI
Etape 8.5 Répartition de débit Compression/Protection :
Pour chaque rendement de protection, sélectionner un jeu (S) de couples
(débit, QP) sur la courbe (C) permettant de respecter les contraintes de débit. Pour chaque élément de (S), prédire la longueur du GOP et les distorsions correspondantes aux pertes de trames (Dloss) et en déduire la mesure vidéo du PSNRgop du GOP estimée à la réception, comparer cette valeur avec la meilleure valeur courante PSNR. Sélectionner le meilleur PSNRgop et déclencher le procédé de codage des données avec les paramètres de codage (compression, protection) correspondantes. Etape 8.6 Fin du codage du GOP:
- Emettre les paquets générés
- Mémoriser la valeur en cours réelle du couple (débit, QP) dans la liste des couples précédents (débit, QP) - S'il y en a, lire les nouvelles informations de retour sur l'état de la transmission. Etape 8.7 Opération de contrôle pour le GOP suivant
5 - Procédé selon la revendication 1 caractérisé en ce que les données à transmettre sont des données vidéo transitant au sein d'un canal de transmission et en ce qu'il comporte au moins les étapes suivantes:
Etape 9.1 Initialisation:
Prendre les valeurs par défaut pour les paramètres de compression et l'information de retour sur l'état de la transmission Etape 9.2 Identification de Séquence :
A partir des {n} dernières couples (débit, QP), identifier la courbe de débit
(C) la plus probable pour la séquence courante
Etape 9.3 Nb essais += 1
Etape 9.4 Doit-on introduire de la protection au niveau applicatif ? NON
Etape 9.5 Paramètres de compression:
En fonction du débit disponible, sélectionner le couple (débit, QP) sur la courbe (C) qui correspond le mieux aux contraintes de débit et de qualité vidéo. Sélectionner les paramètres correspondants et déclencher le procédé de codage.
OUI
Etape 9.6 Répartition de débit Compression/Protection :
Pour chaque rendement de protection, sélectionner un jeu (S) de couples (débit, QP) sur la courbe (C) permettant de respecter les contraintes de débit. Pour chaque élément de (S), prédire la longueur du GOP et les distorsions correspondantes aux pertes de trames (Dloss) et en déduire la mesure vidéo du PSNRgop du GOP estimée à la réception, comparer cette valeur avec la meilleure valeur courante PSNR. Sélectionner le meilleur PSNRgop et déclencher le procédé de codage des données avec les paramètres de codage (compression, protection) correspondantes.
Etape 9.7 Contrôle du résultat du procédé de codage: Mémoriser la valeur en cours réelle du couple (débit, QP) et la comparer avec la courbe (C). S'il n'y a pas correspondance, déterminer la nouvelle meilleure courbe (Cgop) pour le GOP courant et mettre à jour en fonction la valeur (C).
Au contraire, si le couple de valeurs actuelles (débit, QP) satisfait aux contraintes, mettre le nombre d'essais à MAX. Etape 9.8 Le nombre d'essais maximal est-il atteint , est-il supérieur à une valeur prédéterminée? NON alors retour à l'étape 9.3 OUI Etape 9.9 Sélectionner les meilleurs paramètres de codage: Parmi les couples de valeurs réelles (débit, QP) et leur protection correspondante, chercher la meilleure combinaison qui respecte les contraintes et si elle existe, déclencher le procédé de codage des données avec les paramètres de codage (compression, protection). correspondants. Dans le cas contraire, procéder au raffinement, si nécessaire, du choix des meil- leurs paramètres de codage selon la méthode applicable (barycentre ou valeur de QP la plus proche +/- 1 ) et déclencher le procédé de codage des données avec les paramètres de codage (compression, protection). Etape 9.10 : Le processus de codage respecte-t-il les contraintes ? NON Etape 9.1 1 Contrôle a posteriori du codage: Limiter le débit utilisé à une valeur maximale +marge soit en insérant un contrôle de QP au sein du codeur, soit par post-traitement en supprimant les trames amenant à dépasser la limite du débit + marge. OUI Etape 9.12 Fin du codage du GOP:
- Emettre les paquets générés
- Mémoriser la valeur en cours réelle du couple (débit, QP) dans la liste des couples précédents (débit, QP)
- S'il y en a, lire les nouvelles informations de retour sur l'état de la trans- mission.
Etape 9.13 Opération de contrôle pour le GOP suivant.
6 - Procédé selon la revendication 5 caractérisé en ce que le nombre d'essais est choisi au plus égal à 3.
7 - Procédé selon la revendication 1 caractérisé en ce que les données à transmettre se présentent sous la forme de groupement d'images et en qui comporte au moins les étapes suivantes
Etape 10.1 Initialisation: Prendre les valeurs par défaut pour les paramètres de compression et l'information de retour sur l'état de la transmission
Etape 10.2 Identification de Séquence :
A partir des {n} dernières couples (débit, QP), identifier la courbe de débit
(C) la plus probable pour la séquence courante Etape 10.3 Doit-on introduire de la protection au niveau applicatif ?
NON
Etape 10.4 Paramètres de compression:
En fonction du débit disponible, sélectionner le couple (débit, QP) sur la courbe (C) qui correspond le mieux aux contraintes de débit et de qualité vidéo. Sélectionner les paramètres correspondants et déclencher le procédé de codage.
OUI
Etape 10.5 Répartition de débit Compression/Protection : Pour chaque rendement de protection, sélectionner un jeu (S) de couples
(débit, QP) sur la courbe (C) permettant de respecter les contraintes de débit.
Pour chaque élément de (S), prédire la longueur du GOP et les distorsions correspondantes aux pertes de trames (D|0SS) et en déduire la mesure vi- déo du PSNRgop du GOP estimée à la réception, comparer cette valeur avec la meilleure valeur courante PSNR.
Sélectionner le meilleur PSNRgop et déclencher le procédé de codage des données avec les paramètres de codage (compression, protection) correspondantes. Etape 10.6 Lors du procédé de codage, vérifier si le flux produit respecte le débit et les contraintes de marges?
OUI
Etape 10.7 Contrôle a posteriori du codage:
Limiter le débit utilisé à une valeur maximale +marge soit en insérant un contrôle de QP au sein du codeur, soit par post-traitement en supprimant les trames amenant à dépasser la limite du débit + marge.
NON
Etape 10.8 Fin du codage du GOP:
- Emettre les paquets générés - Mémoriser la valeur en cours réelle du couple (débit, QP) dans la liste des couples précédents (débit, QP)
- S'il y en a, lire les nouvelles informations de retour sur l'état de la transmission.
Etape 10.9 Opération de contrôle pour le GOP suivant 8 - Procédé selon l'une des revendications 5 et 7 caractérisé en ce qu'ayant choisi les paramètres à utiliser pour les opérations de codage (compression, protection), le codage est réalisé, une opération de post traitement est exécutée qui correspondra à couper la ou les dernière(s) trame(s) (ayant le moins d'impact sur la séquence).
9 - Procédé selon la revendication 8 caractérisé en ce que l'étape de post traitement est exécuté au niveau du codeur, conduisant typiquement pour le codeur H.264/AVC à l'insertion de trames artificiellement vides.
10 - Procédé selon l'une des revendications 4 à 7 caractérisé en ce que le code correcteur d'erreur utilisé est un code convolutif poinçonné à rendement compatible.
11 - Système pour optimiser une transmission vidéo en milieu contraint comprenant un codeur vidéo adapté à coder les données vidéo à transmettre, les données étant transmises via un canal de communication caractérisé en ce qu'il comporte au moins un codeur pourvu d'un processeur adapté à exécuter les étapes du procédé selon l'une des revendications 1 à 9.
EP09783744A 2008-10-06 2009-10-05 Systeme et procede de determination de parametres de codage Withdrawn EP2332335A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0805513A FR2936926B1 (fr) 2008-10-06 2008-10-06 Systeme et procede de determination de parametres de codage
PCT/EP2009/062905 WO2010040715A1 (fr) 2008-10-06 2009-10-05 Systeme et procede de determination de parametres de codage

Publications (1)

Publication Number Publication Date
EP2332335A1 true EP2332335A1 (fr) 2011-06-15

Family

ID=40908913

Family Applications (1)

Application Number Title Priority Date Filing Date
EP09783744A Withdrawn EP2332335A1 (fr) 2008-10-06 2009-10-05 Systeme et procede de determination de parametres de codage

Country Status (6)

Country Link
US (1) US8798144B2 (fr)
EP (1) EP2332335A1 (fr)
CA (1) CA2739856A1 (fr)
FR (1) FR2936926B1 (fr)
IL (1) IL212095A (fr)
WO (1) WO2010040715A1 (fr)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2954036B1 (fr) 2009-12-11 2012-01-13 Thales Sa Procede et systeme pour la determination de parametres de codage sur des flux a resolution variable
US9215466B2 (en) * 2011-01-31 2015-12-15 Apple Inc. Joint frame rate and resolution adaptation
CN102186098B (zh) * 2011-05-05 2012-11-28 西北工业大学 视频序列编码质量客观评价方法
EP2536144A1 (fr) * 2011-06-17 2012-12-19 Thomson Licensing Procédé et dispositif pour compression/encodage d'une image avec perte
EP2761869A4 (fr) * 2011-09-30 2015-03-18 Intel Corp Encodage de débit binaire vidéo adaptatif sans fil tenant compte du canal, basé sur logiciel
CN102868907A (zh) * 2012-09-29 2013-01-09 西北工业大学 部分参考视频质量客观评价方法
WO2014190468A1 (fr) 2013-05-27 2014-12-04 Microsoft Corporation Codeur video pour images
EP3120556B1 (fr) 2014-03-17 2021-01-13 Microsoft Technology Licensing, LLC Décisions côté codeur pour codage de contenu d'écran
WO2016123792A1 (fr) 2015-02-06 2016-08-11 Microsoft Technology Licensing, Llc Omission d'étapes d'évaluation durant l'encodage de supports
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
RU2730435C1 (ru) * 2017-04-21 2020-08-21 Зенимакс Медиа Инк. Системы и способы рендеринга с адаптируемым качеством под управлением кодировщика
CN113472479B (zh) * 2020-03-31 2022-11-22 维沃移动通信有限公司 一种传输处理方法及设备
CN111966648B (zh) * 2020-07-29 2023-09-08 国机智能科技有限公司 一种工业数据的处理方法和电子设备
US20220156982A1 (en) * 2020-11-19 2022-05-19 Nvidia Corporation Calculating data compression parameters
CN112584147B (zh) * 2020-11-30 2023-05-05 北京金山云网络技术有限公司 调节编码器参数的方法、装置、计算机设备和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2862168B1 (fr) * 2003-11-06 2006-05-19 Canon Kk Procede et dispositif de regulation de debit d'une sequence d'images.
GB0428156D0 (en) * 2004-12-22 2005-01-26 British Telecomm Buffer overflow prevention
JP5318561B2 (ja) * 2005-03-10 2013-10-16 クゥアルコム・インコーポレイテッド マルチメディア処理のためのコンテンツ分類
US20070201388A1 (en) * 2006-01-31 2007-08-30 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
FR2902266B1 (fr) * 2006-06-13 2008-10-24 Canon Kk Procede et dispositif de repartition de la bande passante de communication
FR2903253A1 (fr) 2006-06-29 2008-01-04 Thales Sa Procede permettant de determiner des parametres de compression et de protection pour la transmission de donnees multimedia sur un canal sans fil.
FR2903272B1 (fr) * 2006-06-29 2008-09-26 Thales Sa Procede permettant de determiner des parametres de compression et de protection pour la transmission de donnees multimedia sur un canal sans fil.

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CAI J ET AL: "Two-pass video encoding for low-bit-rate streaming applications", VISUAL COMMUNICATIONS AND IMAGE PROCESSING; 21-1-2002 - 23-1-2002; SAN JOSE,, 21 January 2002 (2002-01-21), XP030080516 *

Also Published As

Publication number Publication date
IL212095A (en) 2015-05-31
CA2739856A1 (fr) 2010-04-15
US20110268187A1 (en) 2011-11-03
FR2936926B1 (fr) 2010-11-26
US8798144B2 (en) 2014-08-05
IL212095A0 (en) 2011-06-30
WO2010040715A1 (fr) 2010-04-15
FR2936926A1 (fr) 2010-04-09

Similar Documents

Publication Publication Date Title
EP2332335A1 (fr) Systeme et procede de determination de parametres de codage
EP2510701B1 (fr) Procede et systeme pour la determination de parametres de codage sur des flux a resolution variable
EP2036359B1 (fr) Procede permettant de determiner des parametres de compression et de protection pour la transmission de donnees multimedia sur un canal sans fil
EP1997254B1 (fr) Procede de protection de donnees multimedia au moyen de couches d'abstraction reseau (nal) supplementaires
WO2006064098A1 (fr) Procede de transmission a debit binaire variable a travers un canal de transmission
FR2944938A1 (fr) Procede et dispositif de correction d'erreurs.
EP3707900B1 (fr) Procédé de formation d'une séquence d'images de sortie à partir d'une séquence d'images d'entrée, procédé de reconstruction d'une séquence d'images d'entrée à partir d'une séquence d'images de sortie, dispositifs, equipement serveur, equipement client et programmes d'ordinateurs associés
WO2009147182A1 (fr) Procede et systeme permettant de proteger un flux video compresse contre les erreurs survenant lors d'une transmission
WO2010146314A1 (fr) Codage de vecteurs mouvement par competition de predicteurs
FR2959636A1 (fr) Procede d'acces a une partie spatio-temporelle d'une sequence video d'images
EP2704344B1 (fr) Méthode d'optimisation des ressources d'une transmission de données et dispositif mettant en oeuvre la méthode
EP1302078B1 (fr) Procede et dispositif de codage d'un flux d'images video
EP3840335B1 (fr) Réception d'un contenu numérique en mode truque
EP2716045A1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
FR2942095A1 (fr) Procede et dispositif d'identification de pertes de donnees video
EP1241894A1 (fr) Procédé de codage d'images numériques basé sur la dissimulation d'erreurs
EP2025174A1 (fr) Utilisation d'un canal de retour pour la diffusion d'images
EP1289307B1 (fr) Méthode de codage vidéo
EP2920889A1 (fr) Procédé et système de transmission de données vidéo sur un canal de transmission par courants porteurs en ligne
FR2903272A1 (fr) Procede permettant de determiner des parametres de compression et de protection pour la transmission de donnees multimedia sur un canal sans fil.
FR2728129A1 (fr) Dispositif de multiplexage numerique de programmes video
FR2953675A1 (fr) Procede de controle par un dispositif client du transfert d'une sequence video
FR2964520A1 (fr) Procede de detection d'erreurs lors de la diffusion de contenu dans un reseau de communication
Abid Joint source-channel coding/decoding of multimedia contents
FR2958473A1 (fr) Procede et dispositif pour adapter des codes de correction d'erreur dans un reseau de communication

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20110331

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR

AX Request for extension of the european patent

Extension state: AL BA RS

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20130718

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20171011