EP2332335A1 - System and method for determining encoding parameters - Google Patents

System and method for determining encoding parameters

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)
French (fr)
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/en
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.

Abstract

The invention relates to a method for optimising a video transmission in a difficult environment, said method including a video encoder for encoding video data to be transmitted, characterised in that said method comprises at least one step for determining one or more compression parameters for the video encoder in question in order to transmit said video data at a given rate Di or for a given quality Qi by executing at least the following steps: defining and using reference nomograms for the encoder in question; predicting, for the portion of the video sequence being compressed and using said reference nomograms, compression parameters to be used, i.e. at least the quantification rate QP, by selecting a nomogram in the representation (QP, flow) or (QP; PSNR) which, for the flow Di or quality Qi target range, is the closest in terms of distance from said portion of the sequence to be compressed while respecting a given margin; updating the prediction step by an iterative method in order to close in on the best parameter choice, said iteration method including at least one compression step followed by a verification step; and compressing the video data to be transmitted using said parameters.

Description

SYSTEME ET PROCEDE DE DETERMINATION DE PARAMETRES DE SYSTEM AND METHOD FOR DETERMINING PARAMETERS OF
CODAGECODING
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.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. simplification, 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 ...) 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.
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.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.
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 :In the description, 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:
• 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.• The separation theorem (established by Shannon) that says that an independent optimization of each element of the chain of transmission is sufficient; • Implementation of possible tandem coding solutions, ie concatenation of source coder and channel coder, for one or more pre-established operating points. This second approach has the disadvantage of being static in the sense that it does not allow adaptation to variations in the transmission conditions.
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.In general, 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. In addition, 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. When the transmission conditions are better than the selected operating point, a part of the available bit rate is allocated unnecessarily to the protection of the transmitted stream, whereas it could either be saved or used to transmit to a different transmission. useful bit more important. Conversely, when the transmission conditions are worse than the operating point chosen, too much of the bit rate is used by the unprotected payload, which leads to unavoidable losses in reception, that is to say that some of the data can not be protected because the debit allocation for protection turns out to be insufficient in practice.
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.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 .
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.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. Thus, 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. In the remainder of the description, the term "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. For example, the sequence 'Foreman' is the best known and most used in this technical field.
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é,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. for 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,
- 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,predicting, for the part of the video sequence being compressed, and by means of said reference charts, compression parameters to be used, at least the quantization step QP, by selecting an abacus in the representation (QP, flow rate) or (QP, PSNR) which for the range of flow Di or quality referred Qi, is the closest in distance from said part of the sequence to compress, respecting a given margin,
- 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.updating the prediction step by an iterative method in order to converge on the best choice of parameterization, said iteration method consisting of at least one compression step followed by a verification step, compressing the data video to be transmitted with said parameters. According to one embodiment, 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.
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,Other characteristics and advantages of the present invention will appear better from reading the description of an exemplary embodiment given by way of illustration and in no way limiting attached to the figures which represent: FIG. 1, a representative diagram of an example of system according to the invention,
• La figure 2, le principe d'un premier type d'abaque représentant la qualité vidéo en fonction des pas de quantification,FIG. 2, the principle of a first type of abacus representing the video quality as a function of the quantization steps,
• La figure 3, le principe d'un deuxième type d'abaques schématisant le débit exprimé en fonction des pas de quantification,FIG. 3, the principle of a second type of charts schematizing the flow rate expressed as a function of the quantization steps,
• La figure 4, une manière de sélectionner un pas de quantification d'un abaque de référence,FIG. 4, a way of selecting a quantization step of a reference chart,
• 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,FIGS. 5A, 5B, 5C and 5D, a refinement of the choice of quantization step to be used when several quantization parameters can be used,
• La figure 6, deux exemples de raffinement du choix du pas de quantification à utiliser lorsque plusieurs paramètres de quantification sont candidats,FIG. 6, two examples of refinement of the choice of the quantization step to be used when several quantization parameters are candidates,
• La figure 7, l'illustration de l'impact de la perte de trames dans un GOP ; distorsions correspondantes à des pertes de trames ou• Figure 7, the illustration of the impact of the loss of frames in a GOP; distortions corresponding to frame losses or
PSNR sur GOP partiel,PSNR on partial GOP,
• La figure 8, un organigramme montrant les étapes exécutées dans le mode « total »,FIG. 8, a flowchart showing the steps executed in the "total" mode,
• 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 »,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,
• 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),• Figure 11, an example of the evolution of PSNR over time for the "total" mode and in the non-adaptive case for a bit rate of 180 kbps and a variable signal-to-noise ratio on the wireless channel (ITU-T video sequence, 'Foreman', QCIF 15 Hz, first 17 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),• Figure 12, an example of the evolution of PSNR over time for the "partial mode and tests" in the non-adaptive case, for a target rate of 180 kbps and a variable signal-to-noise ratio on the wireless channel ( ITU-T 'Foreman' video sequence, QCIF 15 Hz, first 17 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,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,
• 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, etFIG. 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, and
• 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).• Figure 17, an example of estimation of PSNR, a comparison of the results of experimental with the prediction obtained thanks to the charts (1 θr GOP of the sequence of reference ITU-T 'Foreman' in 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.In order to better understand the idea implemented by the invention, 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. For example, 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.
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.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 .
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.Without departing from the scope of the invention, 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.
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é.FIG. 1 schematizes an example of a transmission device, in which the method and the tool according to the invention can be implemented. Such a 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.
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.At least two hardware configurations are conceivable, a computer performing the coding operation via software, which software is then actually controlled by a controller / supervisor choosing the parameters or a video compression card, which must also integrate a processor. hosting the software part of the controller / supervisor. Since the steps of transmitting, receiving and transmitting video data are known to those skilled in the art, they will not be described in this document. Only the steps constituting the originality of the method and of its tool according to the invention making it possible to allocate an available bit rate between, on the one hand, the source coding of the video data to be transmitted and, on the other hand, the addition of protection to this data to fight against transmission errors will be detailed. 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. In practice, by comparing to a non-optimized case (for which, the device parameters are set to default values), 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.
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 : In the example taken to illustrate the present patent application, 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:
où MSE = y Y (p/ (*' j) ~ pl{h j)) , M, Q sont les dimensions (largeur etwhere MSE = y Y (p / ( * ' j) ~ pl {hj)) , M, Q are the dimensions (width and
hauteur) des images vidéo, et pl(i, j) { pi* ) donne la luminance du pixel à position (i,j) original (ou reconstruit) dans l'image.height) of the video images, and pl (i, j) {pi * ) gives the luminance of the original (or reconstructed) position pixel (i, j) in the 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.To illustrate the method and implementation tool, the description will now detail three embodiments to cover a large number of scenarios. These modes are only illustrative and to enable the reader to better understand the 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.Principle 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.
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.By carefully considering the different modes of operation that can be discriminated, it is possible to distinguish three main cases: from the optimal case (from a control point of view) where the prior knowledge about the multimedia data flow to transmit is complete, in case some information on the flow is known but for which time constraints will allow the controller or device according to the invention to test some configurations before deciding on the parameters to be used, in the most difficult case where the controller must immediately decide which parameters to use with only limited knowledge of past configurations.
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 »In practice, depending on the scenario considered for an application, the best possible mode of operation is selected and the control / optimization choices made according to this embodiment of the invention. 1 - "total" mode
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.This term is used for the case where the controller, which is the mechanism controlling and directing the operation of the source coder, has a complete knowledge of the sequence of data to transmit the information. For example, in the case of a video data server, 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. More generally, 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.
2 - Mode « partiel et essais »2 - "Partial mode and tests"
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é.This case corresponds to a mode for which the control mechanisms will have a basic knowledge of the video coding itself. Typically, 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. Of course, only a limited number of tests is to be considered, typically a set of three tests can be considered. 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.
3 - Mode « aveugle »3 - "blind" mode
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.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. . Notably having the knowledge of the coding parameters of the previous GOP, 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.
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.In all the aforementioned cases, the 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.
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.For "partial and trial" modes and "blind" mode, 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.
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.The description will now explain the tools and the steps implemented by the method according to the invention and by the supervision or control tool.
Outils et fonctions pour une adaptation pour une définition spatiale et une résolution temporelleTools and functions for adaptation for spatial definition and temporal resolution
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 GOPThe 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. As proposed in reference [2], 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. So as to obtain enough data to operate, especially in the case of an application with unequal error protection, for which it is important to predict the relative proportions of each of the parts, but to ensure that the prediction of the compression rate works and above all is averaged over several frames, the optimization proposed in the following is executed on the basis of a calculated image group rate (GOP) per image group. Without departing from the scope of the invention, it is understood that with minor modifications, the explanations that follow may apply for images which are not constituted in a group of images but which are in another format . More generally, the data may be audio data or video data. Thus, 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. In practice, 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
Dgop = fl a-PyΛ -Do + ∑[Y[ {l-Pe)β' n' .{l-{l-Pe)β'n' ).DlosSι ] (1 )D gop = fl a-Py Λ -D o + Σ [Y [{lP e ) β ' n '. {L- {lP e ) β ' n ') .D losSι ] (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 .with H 1 size t P-frame, with D lossi the observed distortion when the i 'h P-frame is lost while the preceding frame is correct, with D 0 = D 0N average distortion GOP without error, with β t the fraction of the frame that can be partially noiseless without desynchronization of the stream and for a channel without memory with an error probability for the bit P e .
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 .With the experimental values estimated in [5] for the parameters P 1 , ie: I- β 0 ≈ 0.25 and \ - β ι ι ≈ 0.15), it appears that the equation (1) is exploitable once are known, for all i, the values of the size of the i 'h P-frame n t, the observed distortion when the i' h P-frame is lost while the preceding frame is correct D hss and finally the mean distortion of the GOP without error D o .
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]:Naturally, in the case where an error correction is introduced, the expression of the probability of error P will also have to be established. For example, the use of Gaussian Gaussian compatible-input compatible punched convolutional codes with soft-input decoding will allow us to use the error probability bound in [6]:
P, ≤ ^ ∑ ad.Pd P, ≤ ^ Σ a d .P d
^ d=dr,,. avec dfree la distance libre du code, ad le nombre de chemins existants,^ d = d r ,,. with d free the code free distance, a d the number of existing paths,
Pd la probabilité pour qu'un chemin erroné à la distance d soit sélectionné lorsque SNR = E5IN0.P d the probability that an erroneous path at distance d is selected when SNR = E 5 IN 0 .
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 »Similar expressions can also be established [2] for data partitioning or frame mixing modes, which modes can be particularly used in the case where unequal error protection is considered, such as that described in FIG. Applicant's patent application FR 2 903 253. Flow and quality prediction for modes other than the "total" mode
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.While for 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. In these last two modes, 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. Of course, statistical knowledge can also be obtained from more theoretical approaches, but the principle remains the same. For these last two modes, the representation of the video encoder statistics will be more easily managed by using as a reference parameter the compression parameter (in particular, the quantization step (QP) for the different possible temporal and spatial configurations. Figure 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.
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 :It should be noted that 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:
QP1 = QP QPP = QP + 2QP 1 = QP QP P = QP + 2
QPB = QP + 2 (si utilisé) pour respectivement les trames Intra, les trames prédites P et les trames bidirectionnelles B.QP B = QP + 2 (if used) for Intra frames, P predicted frames, and bidirectional B frames, respectively.
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.These proposed rules are based on tests and simulations performed to establish interesting rules for quantization, except that the least important frames should be quantized using equal or larger quantization steps. In addition, it has been established that the established principles remain valid for the other rules, as well in the case where non-pre-defined rules exist, in this case, the abacus and the interpolation are not in 2D 2D but in three-dimensional 3D or four-dimensional 4D (if a QP B exists and is different from other QPs). 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.
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 :These charts allow, for any starting point (default values, previous GOP information, ..) to establish the reference curve that will be used to determine the expected rate based on the possible QP quantization parameters and the expected video quality. The use of the curves practically can be as follows:
- Trouver le paramètre de quantification QP possible pour un débit cible sur une courbe identifiée,- Find the quantization parameter QP possible for a target flow on an identified curve,
- 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 :- For an identified curve, the abacus is read and the best corresponding QP (the candidate closest to the abacus) is selected for the test. Although the abacus covers a wide range of possible QP and flow rates, these values are not continuous, so basically it is possible either:
1 ) de trouver une réalisation du débit assez proche du débit cible pour respecter sa définition à la marge près,1) to find a realization of the flow rather close to the target flow to respect its definition to the margin,
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.2) not being in a position to select a candidate immediately. In the first case, illustrated by the candidate QP B in Figure 4, 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. In other cases, a refinement step must be performed which is specified below.
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 significativeRefinement of the selection of the best quantization parameter QP 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. However, because of the limited number of trials that the constraints of real time and practical operation necessarily impose, 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. done with only the knowledge available. Different cases can be envisaged which have been represented in FIGS. 5A, 5B, 5C, 5D and 6: 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
Cas 3 - le débit de la cible est trouvé entre 2 QP, trouvé au-dessus une courbe uniqueCase 3 - target flow is found between 2 QP, found above a single curve
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 :Case 4 - the target rate is found between 2 QP, found above two different curves, For cases 1 and 2, 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. A video sequence that can greatly change from one moment to another (scene change, sharp increase or decrease of the movement, new details introduced, ...) the abacus valid at a certain time t may indeed prove to be false at the moment following t + 1, and thus not allow a good prediction. In the rest of the description, an approach with a controlled risk level will be used:
- 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 :- in case 1, use QP | θp ι U sprochθ + 1 - in case 2, use QP | θp iusprochθ -1 knowing that other adaptations can be considered; for example by choosing the increment as a function of the relative distance between the flow achieved with QPiepiusprochθ compared to the target flow rate; - in case 3, use a centroid relationship:
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é ;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;
- 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.- In 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. Here again, 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.
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:Estimation of length and partial distortion information Having established the need to estimate the respective lengths of each frame (",), the distortion observed when the P-frame is lost (D loss ) and the distortion of the GOP {D o ), and having proposed the use of an abacus to predict flow and quality for "partial and trial" approaches and "blind", the rest of the description details how to obtain the missing information:
- Do (la distorsion du GOP) est facilement connue grâce à l'abaque- D o (the distortion of the GOP) is easily known thanks to the abacus
(type 1 ) puisqu'il s'agit de la valeur du PSNR du GOP pour le QP 5 considéré,(type 1) since this is the PSNR value of the GOP for the QP 5 considered,
- 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.- 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. In the example of FIG. implementation, the fraction in addition to the information of the abacus is stored, as illustrated in the 15 figures above.
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:The remaining question is to express the relative contribution for each frame in terms of length, that is to say l P and in terms of distortion, that is to say Z) foss . As illustrated in FIG. 7, the partial quality (expressed in terms of partial distortion) is an increasing function with the number of decoded images. Following experimental observations (including the remarks made in reference [2]) the following expressions are proposed:
" DlosSo = ^D0 ,"D losSo = ^ D 0 ,
- Dl0SSl = Kss0 + * X fc>0 - D1OSS0 ) >- D l0SSl = Kss 0 + * X fc> 0 - D 1 OSS 0 )>
LjO^slze LjO ^ s l ze
~r J ''total ''Intra~ r J '' total '' Intra
P' ~ GOP -1 Contraintes imposées et définition d'une marge de fonctionnement P ' ~ GOP -1 Imposed constraints and definition of an operating margin
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.Having defined the parameters and the data, and how to obtain them, the description will now give the margins to be respected. 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.
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.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). Indeed, 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. In addition, 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. In the case of 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.
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.Adaptation to Variable Sequence: Defining the Acceptable Margin Having established the importance of performing a relatively regular flow control, it is also important to remember that margins need to be set to avoid having to apply post-treatments too much. strict or too frequent (as will be detailed below). In practice, a margin of tolerance of 10%, which has been used successfully in Experiments implemented by the Applicant, some examples of which are given later in the description and illustrated in FIGS. 11 to 17. It is recommended to implement, together with this margin, an observation algorithm that notes the actual rate used in relation to the target rate, and which will then be able to update the target rate based on past reality. Typically, if a rate used for a certain period of time is too low, 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. In the case where the control algorithm targets a target quality and no longer a target rate, 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.
Opérations de post-traitement (pour les modes « partiel et essais » et « aveugle »)Post-processing operations (for "partial and trial" and "blind" modes)
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.Having chosen the parameters to be used for the coding operations (compression, protection), the coding is done, but it can prove that the constraints are not checked. Typically, despite the efforts made, excess flow exceeding the acceptable margin may occur. In order to limit the impact of such prediction errors, a post-processing operation is proposed which will correspond to cutting the last frame (s) (having the least impact on the sequence). This post-processing can be done in a clean way at the encoder, typically leading to the H.264 / AVC encoder at the insertion of artificially empty frames (all the macro-blocks being predicted to have a zero difference with their reference for example) which will allow the decoder to receive the right number of frames, even if it does not have the initial information they contained . There will be no risk of occurrence of a desynchronization.
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, ...).Another specific post-treatment operation is envisaged when the operating conditions are difficult. In practice, it can often be observed that when the total permissible throughput is reduced, the parameter selection obtained leads, for bad transmission conditions, to a very high compression choice, and therefore to sequences with very little useful information which have still a strong risk of arriving corrupted at the reception. As a result, it is proposed to define a minimum PSNR threshold below which transmission will not be attempted, except possibly a few pilot symbols (to maintain the connection, obtain information on the state of the channel, etc.).
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 totalThis approach will recover from the band which may therefore be available for future periods through the average flow observation and control approach. Having introduced the aforementioned tools, the 3 modes of operation can now be defined precisely and their diagram established. Total mode method
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:As mentioned above, the "total" method corresponds to the selection of the best torque (compression, protection) as a function of the available feedback information (channel status, available band, etc.). Figure 8 shows the complete flow diagram of this mode of operation. Step 8.1 Initialization:
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 ? NONTake 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
Etape 8.4 Paramètres de compression:Step 8.4 Compression settings:
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. OUIBased on the available flow, select the torque (flow, QP) on the curve (C) that best fits the flow and video quality constraints. Select the corresponding parameters and start the coding process. YES
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.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.
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.For each element of (S), predict the GOP length and the frame loss distortions (Dloss) and deduce the PSNRgop video measurement from the estimated GOP at reception, compare this value with the best current value 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.Select the best PSNRgop and trigger the process of encoding the data with the corresponding encoding (compression, protection) parameters.
Etape 8.6 Fin du codage du GOP: - Emettre les paquets générésStep 8.6 End GOP coding: - Emit generated packets
- Mémoriser la valeur en cours réelle du couple (débit, QP) dans la liste des couples précédents (débit, QP)- Store the current value of the torque (flow, QP) in the list of previous pairs (flow, 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 »- If there is any, read the new feedback information on the status of the transmission. Step 8.7 Control operation for the next GOP "Partial mode and tests"
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:The "partial and trial" mode is used when a multi-test approach can be used, although limited to a number of cases. The performance of the algorithm and therefore the relevance of the choice of parameters and the final performance naturally depend on the number of authorized tests, which we propose to limit to three tests in our simulations. In practice, the complexity of the coding is multiplied by this number of tests. In order to limit the complexity it is recommended to store each result of the coding process and to use the selected result if the choice of the final coding is one of the previous tests. In addition, if one of the tests (including the first one) offers a result within the constraints, it is recommended to select it and start the process of coding with the parameters in question, without doing any more tests. Figure 9 shows the complete flow chart of this mode of operation. Step 9.1 Initialization:
Prendre les valeurs par défaut pour les paramètres de compression et l'information de retour sur l'état de la transmissionTake default values for compression settings and feedback information on the status of the transmission
Etape 9.2 Identification de Séquence :Step 9.2 Sequence Identification:
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 += 1From the last {n} pairs (flow, QP), identify the most probable flow curve (C) for the current sequence Step 9.3 Nb tests + = 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.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.
Sélectionner les paramètres correspondants et déclencher le procédé de codage. OUISelect the corresponding parameters and start the coding process. YES
Etape 9.6 Répartition de débit Compression/Protection : Pour chaque rendement de protection, sélectionner un jeu (S) de couplesStep 9.6 Compression / Protection Flow Rate Distribution: For each protection performance, select a set (S) of pairs
(débit, QP) sur la courbe (C) permettant de respecter les contraintes de débit.(flow, QP) on the curve (C) to respect the flow constraints.
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.For each element of (S), predict the GOP length and the frame loss distortions (Dloss) and deduce the PSNRgop video measurement from the estimated GOP at reception, compare this value with the best current value 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.Select the best PSNRgop and trigger the process of encoding the data with the corresponding encoding (compression, protection) parameters.
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).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.
Au contraire, si le couple de valeurs actuelles (débit, QP) satisfait aux contraintes, mettre le nombre d'essais à MAX.On the contrary, if the pair of current values (flow, QP) satisfies the constraints, put the number of tests at 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 OUIStep 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
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 ? NONStep 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
Etape 9.1 1 Contrôle a posteriori du codage:Step 9.1 1 Post coding check:
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:Limit the flow rate used to a maximum value + margin either by inserting a QP control within the encoder, or by post-processing by deleting the frames causing to exceed the limit of the flow + margin. YES Step 9.12 End GOP coding:
- Emettre les paquets générés- Emit the generated packets
- Mémoriser la valeur en cours réelle du couple (débit, QP) dans la liste des couples précédents (débit, QP)- Store the current value of the torque (flow, QP) in the list of previous pairs (flow, QP)
- S'il y en a, lire les nouvelles informations de retour sur l'état de la transmission.- If there is any, read the new feedback information on the status of the 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.Control operation for the next GOP 9.13 Blind mode It is important to understand that the term "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.
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.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.
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 :As in "partial testing" mode, the "blind" process will rely on statistical knowledge of the video codec to ensure that the parameters are not totally unrealistic. Choosing settings such as the initial QP without a minimum of precautions can indeed lead to poor results for the first GOP. Step 10.1 Initialization: Take the default values for the compression parameters and the transmission state feedback information Step 10.2 Sequence Identification:
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 ? NONFrom the last {n} pairs (flow, QP), identify the most probable flow curve (C) for the current sequence. Step 10.3 Should we introduce protection at the application level? NO
Etape 10.4 Paramètres de compression:Step 10.4 Compression settings:
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. OUIBased on the available flow, select the torque (flow, QP) on the curve (C) that best fits the flow and video quality constraints. Select the corresponding parameters and start the coding process. YES
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.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.
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? OUIFor each element of (S), to predict the GOP length and the frame loss distortions (D | 0SS ) and to deduce the estimated GOP PSNRgop video measurement at reception, compare this value with the best current value PSNR . Select the best PSNR gop and trigger the process of encoding the data with the corresponding encoding (compression, protection) parameters. Step 10.6 During the coding process, check if the flow produced respects flow and margin constraints? YES
Etape 10.7 Contrôle a posteriori du codage:Step 10.7 A posteriori check of the coding:
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:Limit the flow rate used to a maximum value + margin either by inserting a QP control within the encoder, or by post-processing by deleting the frames causing to exceed the limit of the flow + margin. NO Step 10.8 End GOP coding:
- Emettre les paquets générés- Emit the generated packets
- Mémoriser la valeur en cours réelle du couple (débit, QP) dans la liste des couples précédents (débit, QP)- Store the current value of the torque (flow, QP) in the list of previous pairs (flow, QP)
- S'il y en a, lire les nouvelles informations de retour sur l'état de la transmission.- If there is any, read the new feedback information on the status of the transmission.
Etape 10.9 Opération de contrôle pour le GOP suivantStep 10.9 Control operation for the next GOP
Extension permettant la comparaison de différents modes de co- dage: normal, partitionnement de données et mélange de tramesExtension allowing the comparison of different coding modes: normal, data partitioning and frame mixing
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.As mentioned above, 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.
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.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. Naturally, optimization is supposed to work better, except in a few exceptional cases where unexpected channel realizations may, by chance, favor the non-adapted case. Figure 11 illustrates the gains obtained with this mode in the case of an ITU-T Foreman sequence, Qcif, 15 Hz, first 17 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.The "partial tests" procedure introduced in this patent can be compared on the one hand with the non-adapted mode described above, and on the other hand with the "total" mode, which represents the maximum quality achievable on average, since it corresponds to to the best possible prediction. The dis- Between the results of the "partial and tests" mode and the "total" mode, it will be possible to indicate the effectiveness of the prediction algorithm and also allowed us to validate the definition of certain parameters such as the number of recommended tests. Figure 12 illustrates the gains obtained with this procedure. The evolution example for PSNR is given with a Foreman ITU-T reference sequence, Qcif, 15 Hz and 17 first 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.In order to show the effectiveness of the proposed flow control method, some figures are given below for illustrative purposes.
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.First, the charts that were used are provided in Figure 14 and Figure 15 for the expression of PSNR (video quality) as a function of rate and flow as a function of 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 figureAs previously mentioned, the information of the proportion of Intra frames in the sequences is also kept, which can be seen as a specific chart for the Intra, as illustrated in FIG. 16 and FIG.
17.17.
Ces abaques permettent de prédire un PSNR cible précis, comme illustré par la figure 17.These charts predict a specific target PSNR, as shown in 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.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.
RéférencesReferences
[1] M. G. Martini, M. Mazzotti, C. Lamy-Bergot, J. Huusko and P. Amon,[1] 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."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, "Modeling 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. [5] C. Bergeron and C. Lamy-Bergot, "Selective Compiler 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é,1 - Method for optimizing video transmission in a constrained medium comprising a video encoder adapted to code the video data to be transmitted, characterized in that it comprises at least one step of determining one or more compression parameters for the video coder considered in order to transmit 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,
- 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,predicting, for the part of the video sequence being compressed, and by means of said reference charts, compression parameters to be used, at least the quantization step QP, by selecting an abacus in the representation (QP, flow rate) or (QP, PSNR) which for the range of flow Di or quality referred Qi, is the closest in distance from said part of the sequence to compress, respecting a given margin,
- 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,updating, by an iterative method, the prediction step in order to converge on the best choice of parameterization, said iteration method consisting of at least one compression step followed by a verification step,
- compresser les données vidéo à transmettre avec lesdits paramètres.compressing the video data to be transmitted with said parameters.
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.2 - Process according to claim 1 characterized in that it comprises a step of protection against transmission errors, the protection parameters being determined with the compression parameters taking into account the data transmission channel.
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:3 - Process according to claim 1 characterized in that it comprises a post-treatment step after the final compression. 4 - Process according to claim 1 characterized in that the data to be transmitted can be in the form of GOP or group of images and that in the total mode, the process steps performed are as follows: Step 8.1 Initialization:
Prendre les valeurs par défaut pour les paramètres de compression et l'information de retour sur l'état de la transmissionTake default values for compression settings and feedback information on the status of the transmission
Etape 8.2 Paramètres de la séquenceStep 8.2 Parameters of the sequence
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.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.
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.Step 8.3 Should we introduce protection at the application level? NO Step 8.4 Compression settings: Based on the available flow, select the torque (flow, QP) on the curve (C) that best fits the flow and video quality constraints.
Sélectionner les paramètres correspondants et déclencher le procédé de codage. OUISelect the corresponding parameters and start the coding process. YES
Etape 8.5 Répartition de débit Compression/Protection :Step 8.5 Flow Distribution Compression / Protection:
Pour chaque rendement de protection, sélectionner un jeu (S) de couplesFor each protection performance, select a set (S) of pairs
(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:(flow, QP) on the curve (C) to respect the flow constraints. For each element of (S), predict the GOP length and the frame loss distortions (Dloss) and deduce the PSNRgop video measurement from the estimated GOP at reception, compare this value with the best current value PSNR. Select the best PSNRgop and trigger the process of encoding the data with the corresponding encoding (compression, protection) parameters. Step 8.6 End GOP coding:
- Emettre les paquets générés- Emit the generated packets
- 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- Store the current value of torque (flow, QP) in the list of previous pairs (flow, QP) - If there is any, read the new information on the status of the transmission. Step 8.7 Control operation for the next GOP
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:5 - Process according to claim 1 characterized in that the data to be transmitted are video data transiting within a transmission channel and in that it comprises at least the following steps:
Etape 9.1 Initialisation:Step 9.1 Initialization:
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 :Take the default values for the compression parameters and the feedback information on the transmission status Step 9.2 Sequence Identification:
A partir des {n} dernières couples (débit, QP), identifier la courbe de débitFrom the last {n} pairs (flow, QP), identify the flow curve
(C) la plus probable pour la séquence courante(C) most likely for the current sequence
Etape 9.3 Nb essais += 1Step 9.3 Nb tests + = 1
Etape 9.4 Doit-on introduire de la protection au niveau applicatif ? NONStep 9.4 Should we introduce protection at the application level? NO
Etape 9.5 Paramètres de compression:Step 9.5 Compression Settings:
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.Based on the available flow, select the torque (flow, QP) on the curve (C) that best fits the flow and video quality constraints. Select the corresponding parameters and start the coding process.
OUIYES
Etape 9.6 Répartition de débit Compression/Protection :Step 9.6 Compression / Protection Flow Rate Distribution:
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.For each protection efficiency, select a set (S) of pairs (flow, QP) on the curve (C) to comply with the flow constraints. For each element of (S), predict the GOP length and the frame loss distortions (Dloss) and deduce the PSNRgop video measurement from the estimated GOP at reception, compare this value with the best current value PSNR. Select the best PSNRgop and trigger the process of encoding the data with the corresponding encoding (compression, protection) parameters.
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).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.
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:On the contrary, if the pair of current values (flow, QP) satisfies the constraints, put the number of tests at MAX. 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 (flow, QP) and their corresponding protection, find the best combination that respects the constraints and if it exists, trigger the process encoding data with encoding parameters (compression, protection). correspondents. If not, proceed to refining, if necessary, the choice of the best coding parameters according to the applicable method (center of gravity or nearest QP value +/- 1) and start the process of coding the data with the parameters. coding (compression, protection). Step 9.10: Does the coding process respect the constraints? NO Step 9.1 1 Post coding check: Limit the flow rate used to a maximum value + margin either by inserting a QP control within the encoder, or by post-processing by deleting the frames causing to exceed the limit of the flow + margin. YES Step 9.12 End GOP coding:
- Emettre les paquets générés- Emit the generated packets
- Mémoriser la valeur en cours réelle du couple (débit, QP) dans la liste des couples précédents (débit, QP)- Store the current value of the torque (flow, QP) in the list of previous pairs (flow, QP)
- S'il y en a, lire les nouvelles informations de retour sur l'état de la trans- mission.- If there is any, read the new feedback information on the status of the transmission.
Etape 9.13 Opération de contrôle pour le GOP suivant.Step 9.13 Control operation for the next GOP.
6 - Procédé selon la revendication 5 caractérisé en ce que le nombre d'essais est choisi au plus égal à 3.6 - Process according to claim 5 characterized in that the number of tests is chosen at most equal to 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 suivantes7 - Process according to claim 1 characterized in that the data to be transmitted are in the form of grouping images and which comprises at least the following steps
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 transmissionStep 10.1 Initialization: Take the default values for the compression parameters and the feedback information on the status of the transmission
Etape 10.2 Identification de Séquence :Step 10.2 Sequence Identification:
A partir des {n} dernières couples (débit, QP), identifier la courbe de débitFrom the last {n} pairs (flow, QP), identify the flow curve
(C) la plus probable pour la séquence courante Etape 10.3 Doit-on introduire de la protection au niveau applicatif ?(C) most likely for the current sequence Step 10.3 Should we introduce protection at the application level?
NONNO
Etape 10.4 Paramètres de compression:Step 10.4 Compression settings:
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.Based on the available flow, select the torque (flow, QP) on the curve (C) that best fits the flow and video quality constraints. Select the corresponding parameters and start the coding process.
OUIYES
Etape 10.5 Répartition de débit Compression/Protection : Pour chaque rendement de protection, sélectionner un jeu (S) de couplesStep 10.5 Compression / Protection Flow Distribution: For each protection output, select a set (S) of couples
(débit, QP) sur la courbe (C) permettant de respecter les contraintes de débit.(flow, QP) on the curve (C) to respect the flow constraints.
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.For each element of (S), to predict the length of the GOP and the distortions corresponding to the frame losses (D | 0SS ) and to deduce the video measurement of the PSNRgop of the GOP estimated at the reception, compare this value with the best value current 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?Select the best PSNR gop and trigger the process of encoding the data with the corresponding encoding (compression, protection) parameters. Step 10.6 During the coding process, check if the flow produced respects flow and margin constraints?
OUIYES
Etape 10.7 Contrôle a posteriori du codage:Step 10.7 A posteriori check of the coding:
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.Limit the flow rate used to a maximum value + margin either by inserting a QP control within the encoder, or by post-processing by deleting the frames causing to exceed the limit of the flow + margin.
NONNO
Etape 10.8 Fin du codage du GOP:Step 10.8 End GOP coding:
- 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)- Emit the generated packets - Store the current value of the actual torque (flow, QP) in the list of previous pairs (flow, QP)
- S'il y en a, lire les nouvelles informations de retour sur l'état de la transmission.- If there is any, read the new feedback information on the status of the 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).Step 10.9 Control operation for the next GOP 8 - Method according to one of claims 5 and 7 characterized in that having chosen the parameters to be used for the coding operations (compression, protection), the coding is performed, a post-processing operation is executed which will correspond to cut the last frame (s) (having the least impact on the sequence).
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.9 - Process according to claim 8 characterized in that the post-processing step is performed at the encoder, typically leading to the H.264 / AVC encoder insertion of artificially empty frames.
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.10 - Method according to one of claims 4 to 7 characterized in that the error correcting code used is a convolutional code punched compatible performance.
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. 11 - System for optimizing video transmission in a constrained medium comprising a video encoder adapted to code the video data to be transmitted, the data being transmitted via a communication channel characterized in that it comprises at least one encoder provided with a suitable processor performing the steps of the method according to one of claims 1 to 9.
EP09783744A 2008-10-06 2009-10-05 System and method for determining encoding parameters Withdrawn EP2332335A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0805513A FR2936926B1 (en) 2008-10-06 2008-10-06 SYSTEM AND METHOD FOR DETERMINING ENCODING PARAMETERS
PCT/EP2009/062905 WO2010040715A1 (en) 2008-10-06 2009-10-05 System and method for determining encoding parameters

Publications (1)

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

Family

ID=40908913

Family Applications (1)

Application Number Title Priority Date Filing Date
EP09783744A Withdrawn EP2332335A1 (en) 2008-10-06 2009-10-05 System and method for determining encoding parameters

Country Status (6)

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

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2954036B1 (en) 2009-12-11 2012-01-13 Thales Sa METHOD AND SYSTEM FOR DETERMINING ENCODING PARAMETERS ON VARIABLE RESOLUTION FLOWS
US9215466B2 (en) * 2011-01-31 2015-12-15 Apple Inc. Joint frame rate and resolution adaptation
CN102186098B (en) * 2011-05-05 2012-11-28 西北工业大学 Objective assessment method for encoding quality of video sequence
EP2536144A1 (en) * 2011-06-17 2012-12-19 Thomson Licensing Method and device of lossy compress-encoding an image
EP2761869A4 (en) * 2011-09-30 2015-03-18 Intel Corp Software based wireless channel-aware adaptive video bit rate encoding
CN102868907A (en) * 2012-09-29 2013-01-09 西北工业大学 Objective evaluation method for quality of segmental reference video
US10003792B2 (en) 2013-05-27 2018-06-19 Microsoft Technology Licensing, Llc Video encoder for images
WO2015139165A1 (en) 2014-03-17 2015-09-24 Microsoft Technology Licensing, Llc Encoder-side decisions for screen content encoding
CN106416254B (en) 2015-02-06 2019-08-02 微软技术许可有限责任公司 Evaluation stage is skipped during media coding
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
BR112019021687A2 (en) 2017-04-21 2020-05-12 Zenimax Media Inc. SYSTEMS AND METHODS FOR CODIFIER-GUIDED ADAPTIVE QUALITY RENDERING
CN113472479B (en) * 2020-03-31 2022-11-22 维沃移动通信有限公司 Transmission processing method and equipment
CN111966648B (en) * 2020-07-29 2023-09-08 国机智能科技有限公司 Industrial data processing method and electronic equipment
US20220156982A1 (en) * 2020-11-19 2022-05-19 Nvidia Corporation Calculating data compression parameters
CN112584147B (en) * 2020-11-30 2023-05-05 北京金山云网络技术有限公司 Method, apparatus, computer device and storage medium for adjusting encoder parameters

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2862168B1 (en) * 2003-11-06 2006-05-19 Canon Kk METHOD AND DEVICE FOR CONTROLLING THE FLOW OF AN IMAGE SEQUENCE
GB0428156D0 (en) * 2004-12-22 2005-01-26 British Telecomm Buffer overflow prevention
AR052601A1 (en) * 2005-03-10 2007-03-21 Qualcomm Inc CLASSIFICATION OF CONTENTS FOR MULTIMEDIA PROCESSING
US20070201388A1 (en) * 2006-01-31 2007-08-30 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
FR2902266B1 (en) * 2006-06-13 2008-10-24 Canon Kk METHOD AND DEVICE FOR DISTRIBUTING THE COMMUNICATION BANDWIDTH
FR2903253A1 (en) 2006-06-29 2008-01-04 Thales Sa METHOD FOR DETERMINING COMPRESSION AND PROTECTION PARAMETERS FOR TRANSMITTING MULTIMEDIA DATA ON A WIRELESS CHANNEL.
FR2903272B1 (en) * 2006-06-29 2008-09-26 Thales Sa METHOD FOR DETERMINING COMPRESSION AND PROTECTION PARAMETERS FOR TRANSMITTING MULTIMEDIA DATA ON A WIRELESS CHANNEL.

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
FR2936926B1 (en) 2010-11-26
IL212095A (en) 2015-05-31
IL212095A0 (en) 2011-06-30
US20110268187A1 (en) 2011-11-03
CA2739856A1 (en) 2010-04-15
US8798144B2 (en) 2014-08-05
FR2936926A1 (en) 2010-04-09
WO2010040715A1 (en) 2010-04-15

Similar Documents

Publication Publication Date Title
EP2332335A1 (en) System and method for determining encoding parameters
EP2510701B1 (en) Method and apparatus for determining coding parameters of bitstreams of variable resolution
EP2036359B1 (en) Method for determining protection and compression parameters for the transmission of multimedia data over a wireless channel
EP1997254B1 (en) Method for protecting multimedia data using additional network abstraction layers (nal)
WO2006064098A1 (en) Method for a variable bit rate transmission through a transmission channel
FR2944938A1 (en) METHOD AND DEVICE FOR CORRECTING ERRORS.
WO2009147182A1 (en) Method and system making it possible to protect a compressed video stream against errors arising during a transmission
WO2010146314A1 (en) Encoding motion vectors using competition between predictors
FR2959636A1 (en) Method for accessing spatio-temporal part of video image sequence in e.g. mobile telephone of Internet, involves obtaining selection zone updating information, where information is decoding function of data corresponding to selection zone
EP2704344B1 (en) Method for optimising resources of a data transmission and device implementing the method
EP1302078B1 (en) Method and apparatus for coding a video image flux
EP1172958A1 (en) Communication system, transmitter and method against transmission errors
EP3840335B1 (en) Reception of digital content in trick mode
WO2012160313A1 (en) Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs
FR2942095A1 (en) METHOD AND DEVICE FOR IDENTIFYING VIDEO LOSSES
EP1241894A1 (en) Method of coding digital images based on error concealment
EP2025174A1 (en) Use of a feedback channel for image broadcasting
EP2920889A1 (en) Method and system for transmitting video data over a channel for transmission by powerline communication
EP1289307B1 (en) Video coding method
FR2903272A1 (en) Operating parameter e.g. compression rate, determining method for transmitting e.g. multimedia data, involves selecting optimal sensitivity value that is defined by taking into account of desired source flow and compression rate
FR2941110A1 (en) Communication network's loss state predicting method, involves determining set of parameters of predicting algorithm of loss states of communication network, and implementing predicting algorithm using set of determined parameters
FR2728129A1 (en) DEVICE FOR DIGITAL MULTIPLEXING OF VIDEO PROGRAMS
FR2953675A1 (en) Method for controlling transfer of video sequence transmitted over set of broadcasting sessions in communication network, involves adapting subscription to sub assembly of broadcasting sessions based on importance of loss of data
FR3107383A1 (en) Multi-view video data processing method and device
Abid Joint source-channel coding/decoding of multimedia contents

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