EP1900223A2 - Procede et dispositif de codage video - Google Patents

Procede et dispositif de codage video

Info

Publication number
EP1900223A2
EP1900223A2 EP06778946A EP06778946A EP1900223A2 EP 1900223 A2 EP1900223 A2 EP 1900223A2 EP 06778946 A EP06778946 A EP 06778946A EP 06778946 A EP06778946 A EP 06778946A EP 1900223 A2 EP1900223 A2 EP 1900223A2
Authority
EP
European Patent Office
Prior art keywords
image
identification
images
lost
decoder
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.)
Ceased
Application number
EP06778946A
Other languages
German (de)
English (en)
Inventor
Joël JUNG
Marc Baillavoine
Patrick Boissonade
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.)
Orange SA
Original Assignee
France Telecom 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 France Telecom SA filed Critical France Telecom SA
Publication of EP1900223A2 publication Critical patent/EP1900223A2/fr
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6583Acknowledgement

Definitions

  • the present invention relates to video coding techniques.
  • Inter-coding in which the motion between successive frames of a video clip is estimated so that the most recent image is coded relative to one or more previous images.
  • a motion estimate is made in the sequence, the estimation parameters are sent to the decoder, and the estimation error is transformed, quantized and sent to the decoder.
  • Each image of the sequence can also be coded without reference to others. This is called intra-frame coding.
  • This mode of coding exploits the spatial correlations within an image. For a given transmission rate from the encoder to the decoder, it provides a lower video quality than the Inter encoding since it does not take advantage of temporal correlations between the successive images of the video sequence.
  • a portion of video sequence has its first image coded in Intra then the following images encoded either in Intra or Inter.
  • Information included in the output stream of the encoder indicates the macroblocks encoded in Intra and Inter and, in the latter case, the reference image (s) to be used.
  • a problem of Inter coding is its behavior in the presence of transmission errors or packet losses on the communication channel between the encoder and the decoder.
  • the degradation or loss of an image propagates on subsequent images until a new Intra coded image occurs.
  • the mode of transmission of the coded signal between the encoder and the decoder causes total or partial losses of certain images.
  • Such losses result, for example, from the loss or the late arrival of certain data packets when the transmission takes place on a packet network without guarantee of delivery such as an IP (Internet Protocol) network. Losses can also result from errors introduced by the transmission channel beyond the correction capabilities of the error correction codes employed.
  • the information is not precise temporally, that is to say that the number of the image is not known,
  • the information is not spatially precise, that is to say that the decoder does not distinguish between the parts of images received and lost.
  • the encoder Upon receipt of this information, the encoder makes coding choices to correct or at least reduce the effects of transmission errors.
  • Current encoders simply return an Intra encoded image, that is, without reference to images previously encoded in the stream and possibly containing errors.
  • Intra images can refresh the display and correct errors due to transmission losses. But they are of a lower quality than Inter images. Thus, the usual mechanism of compensating for image loss still gives rise to a degradation of the quality of the signa! restituted for a certain time after the loss.
  • Mechanisms are also known according to which the decoder is able to signal more finely (better localized spatially and temporally) to the coder the parts of lost images. For example, if during the processing of an image N by the decoder, the latter analyzes that the macroblocks /, j, and k, of the image N are lost, the decoder then informs the encoder of the loss of these macroblocks .
  • Such mechanisms are described in particular in the following documents:
  • ITU-T Video Coding Experts Group
  • VCEG-Y15 "Definition of a back channel for H.264: some results", Baillavoine, Jung, January 2004
  • ITU-T "Control protocol for multimedia communication
  • An object of the present invention is to improve the quality of a video signal due to transmission errors when a return channel is present from the decoder to the encoder.
  • the invention thus proposes a video coding method, comprising the following steps:
  • step d coding the current image of the video sequence according to a coding mode which is a function of the identification or the non-identification of at least one lost part as performed in step d).
  • Such an arrangement thus makes it possible, at the encoder level, to adopt a coding mode (Intra, Inter 16x16, Inter 8x8,%) That is most appropriate as a function of the result of the analysis of the feedback information.
  • the current image is encoded with reference to the preceding images of the video sequence, excluding said lost identified in step d1), as well as the portions of coded images identified in step d2) as referring to said lost portion; - during the analysis step d):
  • the identification step d1) comprises storing an identifier associated with the restored image, in correspondence with at least one state parameter that indicates either the loss or the absence of loss, of at least one part of the restored image,
  • the identification step d2) comprises updating the correspondence stored in step d1), depending on the identification or not, among the successive coded images, at least a part of image which refers to the lost part identified in step d1);
  • the analysis step d) further comprises an identification, among the restored images, portions of images that are received at the decoder;
  • the identification step d1) comprises the storage of an identifier associated with the restored image, in correspondence with a plurality of state parameters, some of which are intended to indicate respectively the parts of the rendered image that are received. at the level of the decoder, and some of which are intended to indicate respectively the parts of the rendered image which are lost at the decoder,
  • the identification step d2) includes updating the correspondence memorized in step d1), depending on the identification or not, among the successive coded images, of at least a part of image which refers to the lost part identified in step d1); the updating step consists in assigning to a given state parameter a real value of between 0 and 1, where:
  • the selection of the coding mode, for a given image part of the current image to be encoded consists in weighting, by means of the value of the state parameter associated with the given image part, a value which is a function the distortion of the current image to be encoded and the number of encoding bits thereof.
  • Another aspect of the invention relates to a computer program for installation in a video processing apparatus, comprising instructions for implementing the steps of a video encoding method as defined above in a execution of the program by a computing unit of said apparatus.
  • Another aspect of the invention relates to a video encoder, comprising:
  • means for coding successive images of a video sequence to generate coding parameters means for forming an encoder output stream to be transmitted to a station including a decoder, the output stream including said coding parameters;
  • reception means from said return information station on the rendering of the images of the video sequence by the decoder; and means for analyzing the return information which comprise:
  • First identification means for identifying, among the returned images, whether at least one image comprises at least one part that has been lost at the decoder, second identification means for identifying, among the coded images, being succeeded between, on the one hand, said rendered image and, on the other hand, a current image to be encoded, at least one image part which refers to said lost part identified by the first means of identification; encoding means of said current image of the video sequence according to a coding mode which is a function of the identification or non-identification, by said first means of identification, of at least one lost part.
  • the first identification means furthermore identify, among the rendered images, portions of images which are received at the decoder;
  • said first identification means comprise means for storing an identifier associated with said restored image, in correspondence with a plurality of state parameters, some of which are intended to indicate respectively the parts of said restored image which are received at the level of said restored image. of the decoder, and some of which are intended to indicate respectively the parts of said restored image which are lost at the decoder,
  • said second identification means comprise means for updating said correspondence stored by said storage means, depending on the identification or not, among the successive coded images, of at least a part of image that refers to said lost portion identified by said first identifying means;
  • said updating means comprise means for assigning to a given state parameter a real value of between 0 and 1, where:
  • the value 0 indicates, on the one hand, the identification of at least one part lost in said restored image and, on the other hand, the identification of at least one coded picture part which refers to said part lost,
  • the value 1 indicates the identification of at least one part received in said restored image
  • coding mode selection means are provided which are intended to select, for a given image part of the current image to be coded, a coding mode chosen from at least two coding modes, by weighting, by means of the value of the state parameter associated with said given image part, a value which is a function of the distortion of said current image to be encoded and the number of coding bits thereof.
  • FIG. 1 is a diagram showing two stations in communication, provided with video coders / decoders;
  • FIG. 2 is a block diagram of a video encoder according to the invention.
  • FIG. 3 is a block diagram of a video decoder capable of reproducing images coded by the coder of FIG. 2,
  • FIGS. 4a to 4d illustrate the implementation of the analysis in the coder of FIG. 2 of the feedback information according to a first embodiment
  • FIGS. 5a to 5d illustrate the implementation of the analysis in the coder of FIG. 2 of the feedback information according to a second embodiment
  • the coding method according to the invention is for example applicable to videoconferencing over an IP network (subject to packet loss), between two stations A and B (FIG. 1). These stations communicate directly, in the sense that no video transcoding equipment participates in their communication.
  • Each station A, B uses video media compressed according to a standard that is based on the prediction (difference between the current image and a previous image) whose purpose is to transmit only what has changed between the two images to increase the image. compression.
  • a standard is for example the ITU-T H.264 standard.
  • a preliminary negotiation phase for example carried out using the well-known ITU-T H.323 protocol in the field of IP videoconferencing, the stations A, B have agreed on a dialogue configuration, and, ITU-T H.241 agreed on an H.264 configuration with long-term tagging, as well as on the establishment of a return channel, eg ITU-T H.245.
  • each station A, B is naturally equipped with both an encoder and a decoder (encoded).
  • station A is the transmitter that contains video encoder 1 (FIG. 2) and station B is the receiver that contains decoder 2 (FIG. 3).
  • decoder 2 FIG. 3
  • Stations A, B are for example made of personal computers, as in the illustration of Figure 1.
  • the computers A and B are each equipped with systems for taking and restoring video images, a network interface 3, 4 for connection to the IP network, as well as videoconferencing software run by the central computer unit.
  • video these programs are based on H.264 programs.
  • the program is adapted to include the features described hereinafter.
  • the codec can also be implemented using a specialized processor or a specific circuit. The described method can also accommodate coding standards other than H.264.
  • the video image reconstruction module of the decoder 2 is also in the encoder 1.
  • This reconstruction module 5 is visible in each of FIGS. 2 and 3; it is composed of substantially identical elements bearing the same reference numerals 51-57.
  • the prediction residue of a current image F that is to say the difference calculated by a subtractor 6 between the image F and a predicted image P, is transformed and quantized by the encoder 1 (modules 7, 8 of Figure 2).
  • An entropy coding module 9 constructs the output stream ⁇ of the coder 1 which includes the coding parameters of the successive images of the video sequence (parameters for predicting and quantifying the transformed residue) as well as various control parameters obtained by a module of control 10 of the encoder 1.
  • control parameters indicate in particular what is the encoding mode (Inter or Intra) used for the current image and, in the case of Inter coding, the reference image or images to be used.
  • each usable reference image F R is stored in a buffer 51 of the reconstruction module 5. This contains a window of N reconstructed images immediately preceding the current image (short-term images) and possibly one or more images that the encoder has specially marked (long-term images).
  • the number N of short-term images stored in memory is controlled by the coder 1. It is usually limited so as not to occupy too many resources of the stations A, B. The refreshing of these short-term images occurs after N images. of the video stream.
  • control parameters obtained by the module 10 and inserted in the stream ⁇ also include the commands for marking and marking the images in the long term.
  • the prediction parameters for the Inter coding are calculated in a known manner by a motion estimation module 15 as a function of the current image F and of one or more reference images F R.
  • the predicted picture P is generated by a motion compensation module 52 on the basis of the reference picture (s) F R and the prediction parameters calculated by the module 15.
  • the reconstruction module 5 comprises a module 53 which retrieves the transformed and quantized parameters from the quantization indexes produced by the quantization module 8.
  • a module 54 operates the inverse transformation of the module 7 to retrieve a quantized version of the prediction residue. . This is added to the blocks of the predicted picture P by an adder 55 to provide the blocks of a pre-processed picture PF '.
  • the pretreated image PF * is finally processed by a deblocking filter 57 to provide the reconstructed image F 'delivered by the decoder and stored in its buffer memory 51.
  • a spatial prediction is made in a known manner as the block coding of the current image F proceeds. This prediction is performed by a module 56 on the basis of the already available blocks of the pre-processed image. PF '.
  • Intra coded parameters For a given coding quality, the transmission of Intra coded parameters generally requires a higher rate than that of Inter coded parameters. In other words, for a given transmission rate, the Intra coding of an image of a video sequence provides a poorer quality than its Inter coding.
  • the selection between the Intra and Inter modes for a current image is performed by the control module 10 of the encoder 1 (FIG. 2), which, according to the invention, is based on the feedback information coming from the control module 12 decoder 2 ( Figure 3), such as in particular the loss of part or more parts of an image, but also the identification of the received parts of an image.
  • Such provisions are for example used in ITU-T H.263 + (Appendix N) and can be transposed to other standards such as H.264.
  • a first embodiment will now be described, mainly with reference to FIGS. 2 and 4, in which the coder 1 performs, for a current image, the selection between the modes Intra and Inter, following the reception of feedback information. from the decoder 2 ( Figure 3) which indicate the loss of one or more parts of images processed by the latter.
  • the lost parts of the image are the macroblocks of this image.
  • the encoder 1 comprises:
  • a storage module 16 in which is stored a correspondence table TC which, for a given short-term or long-term reference image, associates its lost macrocblocks with the decoder 2, an updating module 17 intended to update the correspondence table TC as a function of the result of the analysis of the return information carried out by the control module 10.
  • the update module 17 contains a TMAJ update table which, for a given short-term or long-term reference image, associates with it one or more state parameters indicating whether the decoder 2 has identified or no, in this image, respectively one or more macroblocks lost.
  • the correspondence table TC of the module 16 comprises three short-term reference images n-1, n-2, n-3, and a long-term reference image LT identified. each by their number in a field entitled "Image Number” and each associated with one or more macroblocks lost in a "Lost Macroblocks" field.
  • the coder 1 processes the image n and the decoder 2 did not report any loss to the coder 1.
  • the encoder 1 chooses to code the image n in Inter mode, via the motion compensation module 52, because of the absence of degradation of previous reference images n-1, n-2, n-3 and LT.
  • the decoder 2 processes the image n-1, while the encoder processes the image n + 1.
  • the decoder 2 identifies the loss of a macroblock of the n-1 image, for example the macroblock MB 1 .
  • the decoder 2 then sends this information to the coder 1, via the control module 12 and the network interface 4 (FIG. 3).
  • the control module 10 of the encoder 1 analyzes this information and detects the identification of the loss of the MB macroblock, the n-1 image. As can be seen in FIG. 4b, the correspondence table TC is then modified at time t + 1 so that the image n-1 is associated with its lost macroblock MB 1 .
  • the coder 1 identifies that the image n + 1 to be encoded must exclude the macroblock MB, from the image n-1, but also all the macroblocks of the image n which refer to the macroblock / of the n-1 image, such as, for example, the macroblocks MB 1 , MB, + 1, MB 1 + 8 , MB 1 + 9 .
  • the control module 10 activates the update module 17 to update the correspondence table TMAJ.
  • the correspondence table TMAJ is updated at the instant t + 1 so that, on the one hand, the image n-1 is associated with a state parameter that indicates the loss of macroblock MB , and that, on the other hand, the image n is associated with state parameters that indicate the exclusion of its macroblocks MB ,, MB, + i, MB 1 + S , MB 1+ 9 .
  • each state parameter is represented by the index of the macroblock to be excluded, namely "i" for the lost macroblock MB 1 of the image n-1 and "i", "i + 1" ,
  • the encoder 1 On the basis of the content of the update table TMAJ at time t + 1, the encoder 1 then chooses to code the image n + 1 in Inter mode, via the motion compensation module 52, in order to to minimize the degradation of the quality of the n + 1 image following the detection of the loss of the MB macroblock, indicated by the decoder 2, and the decision of the exclusion of the macroblocks MB 1 , MBi + i, MB 1+ S, MB, + 9 supra.
  • the method thus promotes the resumption of coding not in fntra, as current encoders do in case of transmission errors, but rather in Inter mode.
  • the management of the TC and TMAJ tables is thus performed for each image of the video sequence.
  • a second embodiment will now be described, mainly with reference to FIGS. 2 and 5, in which the coder 1 performs, for a current image, the selection between the modes Intra and Inter, following the reception of feedback information. from the decoder 2 ( Figure 3) which indicate not only the loss of one or more parts of images processed by the latter, as in the case of the first embodiment mentioned above, but also the received parts of images processed by the decoder 2.
  • the storage module 16 comprises a correspondence table TC whose content differs from that of the aforementioned correspondence table TC,
  • the update module 17 includes a TMAJ update table 1 whose content differs from that of the aforementioned update table TMAJ.
  • the correspondence table TC associates, for a given short-term or long-term reference image, its macroblocks lost at the decoder 2, as well as its macroblocks received by the latter,
  • This confidence index I is a real value in the interval [0; 1] where:
  • the value 0 indicates, for a given macroblock, that this macroblock must not be trusted
  • the value 1 indicates, for a given macroblock, that this macroblock is reliable and that it is even advisable to use it as a reference macroblock.
  • the correspondence table TC of the module 16 comprises two short-term reference images n-2, n-3, and a long-term reference image LT each identified by their number. in a field entitled "Image number” and each associated, in a field entitled “Macroblocks" to one or more lost macroblocks, but also to one or more macroblocks received.
  • the coder 1 processes the image n and that the decoder 2 processes the image n-2.
  • the decoder 2 reports no loss to the encoder 1 on the image n-2.
  • the correspondence table TC at time t is as shown in FIG. 5a.
  • the update module 17 updates the table TMAJ ', so that for each reference image indicated in the field "Image number” is associated with each macroblock of this reference image a value confidence index I in a field titled "Confidence Index".
  • n- 3 and LT are associated with the confidence index I of value 1, which ensures the reliability of such macrobfocs.
  • the decoder 2 has not yet processed at time t, a value of confidence index I is then associated with each macroblock of image n-1, this value being fixed at 0.5, in the example shown, so as to indicate an uncertainty the encoding mode that will be chosen for this image.
  • - 1 is the index of confidence associated with the macroblock identified
  • - D is the distortion of the macroblock identified, that is to say its degradation related to the coding Inter or Intra
  • -R is the number of bits of the identified macroblock to be coded in Inter or Intra mode.
  • the cost criterion J calculated by the motion estimation module 52 is the lowest.
  • the image n is encoded in Inter mode.
  • the decoder 2 identifies the loss of a macroblock of the n-1 image, for example the macroblock MB 2 .
  • the decoder 2 then sends this information to the coder 1, via the control module 12 and the network interface 4 (FIG. 3).
  • the control module 10 of the encoder 1 analyzes this information and detects the identification of the loss of the ME $ 2 macroblock.
  • the correspondence table TC is then modified at the instant t + 1 so that the loss of the macroblock MB2 of the n-1 image is identified by means of the state parameter "empty".
  • the coder 1 identifies that the image n + 1 to be encoded must exclude the macroblock MB2 of the image n-1, but also all the macroblocks of the image n which refer to the macroblock MB 2 of the image n-1, such as for example the macroblocks MB 2 and MBi.
  • the control module 10 activates the update module 17 to update the correspondence table TMAJ 1 .
  • TMAJ ' is updated at time t + 1 such that: for each macroblock associated with the images n-2, n-3 and LT is associated with the value 1 of the confidence index I, which ensures the reliability of such macroblocks, - for the macroblock MB2 associated with the image n-1 is associated the value 0, pusique this macroblock has been lost, the other macroblocks of the image n-1 being each associated with the value 1 of the index of confidence,
  • the value 0 of the confidence index I is associated with them, the other macroblocks of the image n 1 being in addition each associated with the uncertainty value 0.5 of the confidence index I since the decoder 2 has not yet processed the image n at time t + 1.
  • the motion compensation module 52 and the intra prediction module 56 respectively calculate, for each macroblock identified in the table TMAJ ", the cost criterion J cited above. In the example shown, it is the cost criterion J calculated by the Intra prediction module 56 which is the lowest. As a result, the n + 1 image is encoded in Intra mode.
  • This second embodiment thus makes it possible to further optimize the coding strategy at the level of the coder 1, thanks to the weighting of the cost criterion by the confidence index, which gives rise to the choice of the most suitable coding mode.
  • This second embodiment advantageously makes it possible to compromise between coding efficiency and robustness (error resistance).

Abstract

L'invention concerne un procédé de codage vidéo au cours duquel: - a) on code des images successives (F) d'une séquence vidéo pour générer des paramètres de codage, - b) on inclut les paramètres de codage dans un flux de sortie (Φ) à transmettre à une station (B) comportant un décodeur (2), - c) on reçoit de ladite station des informations de retour sur la restitution des images de la séquence vidéo par le décodeur, - d) on analyse les informations de retour pour : • d1 ) identifier, parmi les images restituées, si au moins une image comprend au moins une partie qui a été perdue au niveau du décodeur, • d2) identifier, parmi les images codées s'étant succédées entre, d'une part, ladite image restituée et, d'autre part, une image courante à coder, au moins une partie d'image qui se réfère à ladite partie perdue identifiée à l'étape d1 ), - e) on code ladite image courante de la séquence vidéo selon un mode de codage qui est fonction de l'identification ou de la non identification d'au moins une partie perdue telle qu'effectuée à l'étape d).

Description

PROCEDE ET DISPOSITIF DE CODAGE VIDEO
La présente invention concerne les techniques de codage vidéo.
Elle s'applique à des situations où un codeur produisant un flux de signal vidéo codé émis vers un décodeur vidéo bénéficie d'un canal de retour, sur lequel le côté décodeur fournit de l'information indiquant, explicitement ou implicitement, si les images du signal vidéo ont pu ou non être convenablement reconstruites.
Beaucoup de codeurs vidéo supportent un mode de codage interimages ("inter-frame coding", ci-après codage en Inter), dans lequel le mouvement entre les images successives d'une séquence vidéo est estimé afin que l'image la plus récente soit codée relativement à une ou plusieurs images précédentes. Une estimation de mouvement est effectuée dans la séquence, les paramètres d'estimation sont envoyés au décodeur, et l'erreur d'estimation est transformée, quantifiée et envoyée au décodeur.
Chaque image de la séquence peut aussi être codée sans référence aux autres. C'est ce qu'on appelle le codage en Intra ("intra-frame coding"). Ce mode de codage exploite les corrélations spatiales au sein d'une image. Pour un débit de transmission donné du codeur vers le décodeur, il procure une moins bonne qualité vidéo que le codage en Inter puisqu'il ne tire pas parti des corrélations temporelles entre les images successives de la séquence vidéo.
Couramment, une portion de séquence vidéo a sa première image codée en Intra puis les images suivantes codées soit en Intra, soit en Inter. Des informations incluses dans le flux de sortie du codeur indiquent les macroblocs codés en Intra et en Inter et, dans ce dernier cas, la ou les images(s) de référence à employer.
Un problème du codage en Inter est son comportement en présence d'erreurs de transmission ou de pertes de paquets sur le canal de communication entre Ie codeur et le décodeur. La dégradation ou Ia perte d'une image se propage sur les images suivantes jusqu'à ce que survienne une nouvelle image codée en Intra. Il est courant que le mode de transmission du signal codé entre le codeur et le décodeur engendre des pertes totales ou partielles de certaines images. De telles pertes résultent par exemple de la perte ou de l'arrivée trop tardive de certains paquets de données lorsque la transmission a lieu sur un réseau de paquets sans garantie de délivrance tel qu'un réseau IP (Internet Protocol). Des pertes peuvent aussi résulter d'erreurs introduites par le canal de transmission au-delà des capacités de correction des codes correcteurs d'erreurs employés.
Dans un environnement sujet à des pertes diverses de signal, il est nécessaire de fournir des mécanismes pour améliorer la qualité de l'image au décodeur. L'un de ces mécanismes est l'utilisation d'un canal de retour, du décodeur vers le codeur, sur lequel le décodeur informe le codeur qu'il a perdu tout ou partie de certaines images. L'inconvénient de cette disposition réside dans le fait que :
- l'information n'est pas précise temporellement, c'est-à-dire que le numéro de l'image n'est pas connu,
- l'information n'est pas précise spatialement, c'est-à-dire que le décodeur ne fait pas de distinction entre les parties d'images reçues et perdues.
Suite à la réception de ces informations, le codeur fait des choix de codage pour corriger ou du moins réduire les effets des erreurs de transmission. Les codeurs actuels renvoient simplement une image codée en Intra, c'est-à-dire sans référence aux images précédemment codées dans le flux et pouvant contenir des erreurs.
Ces images Intra permettent de rafraîchir l'affichage et de corriger les erreurs dues aux pertes de transmission. Mais elles sont d'une moins bonne qualité que les images Inter. Ainsi, le mécanisme habituel de compensation des pertes d'image donne malgré tout lieu à une dégradation de la qualité du signa! restitué pendant un certain temps après la perte. On connaît par ailleurs des mécanismes selon lesquels le décodeur est capable de signaler de manière plus fine (mieux localisée spatialement et temporellement) au codeur les parties d'images perdues. Par exemple, si au cours du traitement d'une image N par le décodeur, ce dernier analyse que les macroblocs /, j, et k, de l'image N sont perdus, le décodeur informe alors le codeur de la perte de ces macroblocs. De tels mécanismes sont notamment décrits dans les documents suivants:
- IETF/AVT Draft, Εxtended RTP Profile for RTCP-based Feedback (RTP/AVPF)", Ott, Wenger, Sato, Burmeister, Rey, août 2004 ; - ITU-T Video Coding Experts Group (ITU-T SG 16 Q.6), VCEG-X09,
"Introduction of a back channel for H.264", Loras, octobre 2004;
- ITU-T Video Coding Experts Group (ITU-T SG16 Q.6), VCEG-Y15, "Définition of a back channel for H.264: some results", Baillavoine, Jung, janvier 2004; - ITU-T, "Control protocol for multimédia communication,
Recommandation H.245", juillet 2003.
L'inconvénient de ce type de mécanisme réside dans l'absence de réaction, et donc, de traitement du codeur, suite à la réception par ce dernier de l'information selon laquelle des parties d'images ont été perdues.
Un but de la présente invention est d'améliorer la qualité d'un signal vidéo suite à des erreurs de transmission lorsqu'un canal de retour est présent du décodeur vers le codeur.
L'invention propose ainsi un procédé de codage vidéo, comprenant les étapes suivantes:
- a) coder des images successives d'une séquence vidéo pour générer des paramètres de codage, - b) inclure les paramètres de codage dans un flux de sortie à transmettre à une station comportant un décodeur,
- c) recevoir de ladite station des informations de retour sur ia restitution des images de la séquence vidéo par Ie décodeur,
- d) analyser les informations de retour pour : • d1 ) identifier, parmi les images restituées, si au moins une image comprend au moins une partie qui a été perdue au niveau du décodeur,
• d2) identifier, parmi les images codées s'étant succédées entre, d'une part, l'image restituée et, d'autre part, une image courante à coder, au moins une partie d'image qui se réfère à la partie perdue identifiée à l'étape d1 ),
- e) coder l'image courante de la séquence vidéo selon un mode de codage qui est fonction de l'identification ou de la non identification d'au moins une partie perdue telle qu'effectuée à l'étape d).
Une telle disposition permet ainsi, au niveau du codeur, d'adopter un mode de codage (Intra, Inter 16x16, Inter 8x8,...) qui soit le plus approprié en fonction du résultat de l'analyse des informations de retour.
Une telle disposition permet en particulier d'éviter, au niveau du codeur, le choix systématique du codage Intra en présence d'erreurs de transmission.
Dans des modes de réalisation du procédé selon l'invention, on a recours à l'une ou l'autre des dispositions suivantes :
- si au moins une partie perdue a été identifiée au cours de l'étape d1 ), l'image courante est codée en référence aux images précédentes de la séquence vidéo, en excluant ladite perdue identifiée à l'étape d1 ), ainsi que les parties d'images codées identifiées à l'étape d2) comme se référant à ladite partie perdue; - au cours de l'étape d'analyse d):
• l'étape d'identification d1 ) comprend la mémorisation d'un identifiant associé à l'image restituée, en correspondance avec au moins un paramètre d'état qui indique soit la perte, soit l'absence de perte, d'au moins une partie de l'image restituée,
• l'étape d'identification d2) comprend la mise à jour de la correspondance mémorisée à l'étape d1 ), en fonction de l'identification ou non, parmi les images codées qui se sont succédées, d'au moins une partie d'image qui se réfère à la partie perdue identifiée à l'étape d1 );
- l'étape d'analyse d) comprend en outre une identification, parmi les images restituées, des parties d'images qui sont reçues au niveau du décodeur;
- au cours de l'étape d'analyse d):
• l'étape d'identification d1 ) comprend la mémorisation d'un identifiant associé à l'image restituée, en correspondance avec une pluralité de paramètres d'état dont certains sont destinés à indiquer respectivement les parties de l'image restituée qui sont reçues au niveau du décodeur, et dont certains autres sont destinés à indiquer respectivement les parties de l'image restituée qui sont perdues au niveau du décodeur,
• l'étape d'identification d2) comprend Ia mise à jour de la correspondance mémorisée à l'étape d1 ), en fonction de l'identification ou non, parmi les images codées qui se sont succédées, d'au moins une partie d'image qui se réfère à la partie perdue identifiée à l'étape d1 ); - l'étape de mise à jour consiste à affecter à un paramètre d'état donné une valeur réelle comprise entre 0 et 1 , où:
• la valeur 0 indique, d'une part, l'identification d'au moins une partie perdue dans l'image restituée et, d'autre part l'identification d'au moins une partie d'image codée qui se réfère à la partie perdue,
• la valeur 1 indique l'identification d'au moins une partie reçue dans l'image restituée;
- la sélection du mode codage, pour une partie d'image donnée de l'image courante à coder, consiste à pondérer, au moyen de la valeur du paramètre d'état associé à la partie d'image donnée, une valeur qui est fonction de la distorsion de l'image courante à coder et du nombre de bits de codage de cette dernière.
Un autre aspect de l'invention se rapporte à un programme d'ordinateur à installer dans un appareil de traitement vidéo, comprenant des instructions pour mettre en œuvre les étapes d'un procédé de codage vidéo tel que défini ci-dessus lors d'une exécution du programme par une unité de calcul dudit appareil.
Un autre aspect de l'invention se rapporte à un codeur vidéo, comprenant:
- des moyens de codage d'images successives d'une séquence vidéo pour générer des paramètres de codage; - des moyens de formation d'un flux de sortie du codeur à transmettre à une station comportant un décodeur, le flux de sortie incluant lesdits paramètres de codage ;
- des moyens de réception depuis ladite station d'informations de retour sur la restitution des images de la séquence vidéo par Ie déœdeur; et - des moyens d'analyse des informations de retour qui comprennent:
• des premiers moyens d'identification pour identifier, parmi les images restituées, si au moins une image comprend au moins une partie qui a été perdue au niveau du décodeur, • des seconds moyens d'identification pour identifier, parmi les images codées s'étant succédées entre, d'une part, ladite image restituée et, d'autre part, une image courante à coder, au moins une partie d'image qui se réfère à ladite partie perdue identifiée par les premiers moyens d'identification, - des moyens de codage de ladite image courante de la séquence vidéo selon un mode de codage qui est fonction de l'identification ou de la non identification, par lesdits premiers moyens d'identification, d'au moins une partie perdue.
Dans des modes de réalisation du codeur selon l'invention, on a recours à l'une ou l'autre des dispositions suivantes :
- les premiers moyens d'identification identifient en outre, parmi les images restituées, des parties d'images qui sont reçues au niveau du décodeur;
- lesdits premiers moyens d'identification comprennent des moyens de mémorisation d'un identifiant associé à ladite image restituée, en correspondance avec une pluralité de paramètres d'état dont certains sont destinés à indiquer respectivement les parties de ladite image restituée qui sont reçues au niveau du décodeur, et dont certains autres sont destinés à indiquer respectivement les parties de ladite image restituée qui sont perdues au niveau du décodeur,
- lesdits seconds moyens d'identification comprennent des moyens de mise à jour de ladite correspondance mémorisée par Sesdits moyens de mémorisation, en fonction de l'identification ou non, parmi iesdîtes images codées qui se sont succédées, d'au moins une partie d'image qui se réfère à ladite partie perdue identifiée par lesdits premiers moyens d'identification;
- lesdits moyens de mise à jour comprennent des moyens d'affectation à un paramètre d'état donné d'une valeur réelle comprise entre 0 et 1 , où:
- la valeur 0 indique, d'une part, l'identification d'au moins une partie perdue dans ladite image restituée et, d'autre part l'identification d'au moins une partie d'image codée qui se réfère à ladite partie perdue,
- la valeur 1 indique l'identification d'au moins une partie reçue dans ladite image restituée;
il est prévu en outre des moyens de sélection de mode de codage qui sont destinés à sélectionner, pour une partie d'image donnée de l'image courante à coder, un mode de codage choisi parmi au moins deux modes de codage, par pondération, au moyen de la valeur du paramètre d'état associé à ladite partie d'image donnée, d'une valeur qui est fonction de la distorsion de ladite image courante à coder et du nombre de bits de codage de cette dernière.
D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels :
- la figure 1 est un schéma montrant deux stations en communication, pourvues de codeurs/décodeurs vidéo; - la figure 2 est un schéma synoptique d'un codeur vidéo selon l'invention;
- la figure 3 est un schéma synoptique d'un décodeur vidéo apte à restituer des images codées par le codeur de la figure 2,
- les figures 4a à 4d illustrent l'implémentation de l'analyse dans le codeur de la figure 2 des informations de retour selon un premier mode de réalisation; - les figures 5a à 5d illustrent l'implémentation de l'analyse dans le codeur de la figure 2 des informations de retour selon un second mode de réalisation;
Le procédé de codage selon l'invention est par exemple applicable à la visioconférence sur un réseau IP (sujet à des pertes de paquets), entre deux stations A et B (figure 1 ). Ces stations communiquent directement, en ce sens qu'aucun équipement de transcodage vidéo ne participe à leur communication.
Chaque station A, B utilise des média vidéo compressés selon une norme qui se base sur la prédiction (différence entre l'image courante et une image précédente) dont le but est de ne transmettre que ce qui a changé entre les deux images pour augmenter la compression. Une telle norme est par exemple la norme ITU-T H.264.
Dans une phase préalable de négociation, par exemple effectuée au moyen du protocole ITU-T H.323 bien connu dans le domaine de la visioconférence sur IP, les stations A, B se sont mises d'accord sur une configuration de dialogue, et, au moyen du protocole ITU-T H.241 , se sont mises d'accord sur une configuration de H.264 avec marquage à long terme, ainsi que sur l'établissement d'un canal de retour, par exemple de type ITU-T H.245.
Dans l'exemple d'application à la visioconférence, chaque station A, B est naturellement équipée à la fois d'un codeur et d'un décodeur (codée). Ici, nous supposerons que la station A est l'émetteur qui contient le codeur vidéo 1 (figure 2) et que la station B est le récepteur qui contient le décodeur 2 (figure 3). On s'intéresse donc au flux H.264 émis de A vers B et au canal de retour de B vers A.
Les stations A, B sont par exemple constituées d'ordinateurs personnels, comme dans l'illustration de la figure 1.
Comme on peut le voir sur (es figures 2 et 3, les ordinateurs A et B sont équipés chacun de systèmes de prise et de restitution d'images vidéo, d'une interface réseau 3, 4 pour le raccordement au réseau IP, ainsi que de logiciels de visioconférence exécutés par ['unité centrale de l'ordinateur. Pour fe codée vidéo, ces logiciels reposent sur des programmes implémeπtant H.264. Du côté du codeur, le programme est adapté pour inclure les particularités décrites ci- après. Bien entendu, le codée peut aussi être implémenté à l'aide d'un processeur spécialisé ou d'un circuit spécifique. Le procédé décrit peut aussi s'adapter à des normes de codage autres que H.264.
Dans H.264, le module de reconstruction d'images vidéo du décodeur 2 se trouve aussi dans le codeur 1. Ce module de reconstruction 5 est visible sur chacune des figures 2 et 3; il est composé d'éléments sensiblement identiques portant les mêmes références numériques 51-57. Le résidu de prédiction d'une image courante F, c'est-à-dire la différence calculée par un soustracteur 6 entre l'image F et une image prédite P, est transformé et quantifié par le codeur 1 (modules 7, 8 de la figure 2).
Un module de codage entropique 9 construit le flux de sortie Φ du codeur 1 qui inclut les paramétres de codage des images successives de la séquence vidéo (paramètres de prédiction et de quantification du résidu transformé) ainsi que divers paramètres de contrôle obtenus par un module de contrôle 10 du codeur 1.
Ces paramètres de contrôle indiquent en particulier quel est le mode de codage (Inter ou Intra) utilisé pour l'image courante et, dans le cas du codage Inter, la ou les images de référence à employer.
Du côté du décodeur 2, le flux Φ reçu par l'interface réseau 4 est soumis à un décodeur entropique 11 qui récupère les paramètres de codage et les paramètres de contrôle, ces derniers étant fournis à un module de contrôle 12 du décodeur 2. Les modules de contrôle 10, 12 supervisent respectivement le codeur 1 et le décodeur 2 en leur fournissant les commandes nécessaires pour connaître le mode de codage employé, désigner les images de référence en codage Inter, configurer et paramétrer les éléments de transformation, quantification et filtrage, etc. Pour le codage Inter, chaque image de référence utilisable FR est stockée dans une mémoire tampon 51 du module de reconstruction 5. Celle-ci contient une fenêtre de N images reconstruites précédant immédiatement l'image en cours (images à court terme) et éventuellement une ou plusieurs images que le codeur a spécialement marquées (images à long terme).
Le nombre N d'images à court terme conservées en mémoire est contrôlé par le codeur 1. Il est habituellement limité pour ne pas occuper trop de ressources des stations A, B. Le rafraîchissement de ces images à court terme intervient au bout de N images du flux vidéo.
Chaque image marquée à long terme est conservée dans la mémoire tampon 51 du décodeur 2 (et dans celle du codeur 1 ) jusqu'à ce que le codeur produise une commande de démarquage correspondante. Ainsi, les paramètres de contrôle obtenus par le module 10 et insérés dans le flux Φ comportent également les commandes de marquage et de démarquage des images à long terme.
Les paramètres de prédiction pour le codage Inter sont calculés de façon connue par un module d'estimation de mouvement 15 en fonction de l'image courante F et d'une ou plusieurs images de référence FR. L'image prédite P est générée par un module de compensation de mouvement 52 sur la base de la ou des images de référence FR et des paramètres de prédiction calculés par le module 15.
Le module de reconstruction 5 comporte un module 53 qui récupère les paramètres transformés et quantifiés d'après les index de quantification produits par le module de quantification 8, Un module 54 opère la transformation inverse du module 7 pour récupérer une version quantifiée du résidu de prédiction. Celle-ci est ajoutée aux blocs de l'image prédite P par un additionneur 55 pour fournir les blocs d'une image pré-traitée PF'. L'image prétraitée PF* est finalement traitée par un filtre de déblocage 57 pour fournir l'image reconstruite F' délivrée par Ie décodeur et enregistrée dans sa mémoire tampon 51. En mode Intra, une prédiction spatiale est effectuée de façon connue au fur et à mesure du codage par blocs de l'image courante F. Cette prédiction est effectuée par un module 56 sur la base des blocs déjà disponibles de l'image pré-traitée PF'.
Pour une qualité de codage donnée, la transmission de paramètres codés en Intra requiert généralement un débit plus important que celle de paramètres codés en Inter. En d'autres termes, pour un débit de transmission donné, le codage en Intra d'une image d'une séquence vidéo procure une moins bonne qualité que son codage en Inter.
La sélection entre les modes Intra et Inter pour une image courante est effectuée par le module de contrôle 10 du codeur 1 (figure 2), lequel, conformément à l'invention, se fonde sur les informations de retour en provenance du module de contrôle 12 du décodeur 2 (figure 3), telles qu'en particulier la perte d'une partie ou de plusieurs parties d'une image, mais également l'identification des parties reçues d'une image. De telles dispositions sont par exemple employées dans la norme ITU-T H.263+ (Annexe N) et sont transposables à d'autres normes telles que H.264.
Premier mode de réalisation
On va maintenant décrire, principalement en référence aux figures 2 et 4, un premier mode de réalisation dans lequel le codeur 1 effectue, pour une image courante, la sélection entre les modes Intra et Inter, suite à la réception d'informations de retour en provenance du décodeur 2 (figure 3) qui indiquent la perte d'une ou de plusieurs parties d'images traitées par ce dernier.
Dans l'exemple représenté, on suppose que les parties perdues de l'image sont les macroblocs de cette image.
Dans le mode de réalisation représenté sur la figure 2, le codeur 1 comprend :
- un module de mémorisation 16 dans lequel est stockée une table de correspondance TC qui, pour une image de référence à court terme ou long terme donnée, lui associe ses macrocblocs perdus au niveau du décodeur 2, - un module de mise à jour 17 destiné à mettre à jour Ia table de correspondance TC en fonction du résultat de l'analyse des informations de retour effectuée par le module de contrôle 10.
En particulier, le module de mise à jour 17 contient une table de mise à jour TMAJ qui, pour une image de référence à court terme ou long terme donnée, lui associe un ou plusieurs paramètres d'état indiquant si le décodeur 2 a identifié ou non, dans cette image, respectivement un ou plusieurs macroblocs perdus.
Supposons que dans l'exemple représenté à la figure 4a, la table de correspondance TC du module 16 comprend trois images de référence à court terme n-1, n-2, n-3, et une image de référence à long terme LT identifiées chacune par leur numéro dans un champ intitulé "Numéro d'image" et associées chacune à un ou plusieurs macroblocs perdus dans un champ "Macroblocs perdus".
Supposons maintenant qu'à l'instant t, le codeur 1 traite l'image n et que le décodeur 2 n'a signalé aucune perte au codeur 1.
En conséquence, en référence à la figure 4b, le module de mise à jour
17 actualise la table TMAJ, de telle façon que pour chaque image de référence indiquée dans le champ "Numéro d'image" soit associé un paramètre d'état indiqué dans un champ "Macroblocs exclus", ce paramètre d'état étant intitulé par exemple "vide", puisque aucune perte n'a été signalée par le décodeur 2.
Sur la base du contenu de la table de mise à jour TMAJ à l'instant t, le codeur 1 choisit alors de coder l'image n en mode Inter, via le module de compensation de mouvement 52, du fait de l'absence de dégradation des images de référence précédentes n-1 , n-2, n-3 et LT.
Supposons maintenant, en référence à la figure 4c, qu'à l'instant t+1, le décodeur 2 traite l'image n-1, tandis que le codeur traite l'image n+1. Au cours du traitement, le décodeur 2 identifie la perte d'un macrobloc de l'image n-1 , par exemple le macrobloc MB1. Le décodeur 2 envoie alors cette information au codeur 1 , via le module de contrôle 12 et l'interface réseau 4 (figure 3).
Le module de contrôle 10 du codeur 1 analyse cette information et détecte l'identification de la perte du macrobloc MB, de l'image n-1. Comme on peut le voir à la figure 4b, la table de correspondance TC est alors modifiée à l'instant t+1 de telle façon que l'image n-1 soit associée à son macrobloc MB1 perdu.
Dans le même instant t+1 , le codeur 1 identifie que l'image n+1 à coder doit exclure le macrobloc MB, de l'image n-1 , mais aussi tous les macroblocs de l'image n qui se réfèrent au macrobloc / de l'image n-1, tels que par exemple les macroblocs MB1, MB,+i, MB1+8, MB1+9. A cet effet, le module de contrôle 10 active le module de mise à jour 17 pour actualiser la table de correspondance TMAJ.
Comme on peut le voir à la figure 4d, la table de correspondance TMAJ est actualisée à l'instant t+1 de telle façon que d'une part, l'image n-1 soit associée à un paramètre d'état qui indique la perte du macrobloc MB,, et que, d'autre part, l'image n soit associée à des paramètres d'état qui indiquent l'exclusion de ses macroblocs MB,, MB,+i, MB1+S, MB1+9. Dans l'exemple représenté, chaque paramètre d'état est représenté par l'indice du macrobloc à exclure, à savoir "i" pour le macrobloc perdu MB1 de l'image n-1 et "i", "i+1",
"i+8", et "i+9" pour les macroblocs à exclure de l'image n.
Sur la base du contenu de la table de mise à jour TMAJ à l'instant t+1 , le codeur 1 choisit alors de coder l'image n+1 en mode Inter, via le module de compensation de mouvement 52, ceci afin de minimiser la dégradation de qualité de l'image n+1 suite à la détection de la perte du macrobloc MB,, signalée par le décodeur 2, et à la décision de l'exclusion des macroblocs MB1, MBi+i, MB1+S, MB,+9 précités. Le procédé favorise ainsi la reprise du codage non pas en fntra, comme procèdent les codeurs actuels en cas d'erreurs de transmission, mais plutôt en mode Inter. La gestion des tables TC et TMAJ est ainsi effectuée pour chaque image de la séquence vidéo.
Second mode de réalisation
On va maintenant décrire, principalement en référence aux figures 2 et 5, un second mode de réalisation dans lequel le codeur 1 effectue, pour une image courante, la sélection entre les modes Intra et Inter, suite à la réception d'informations de retour en provenance du décodeur 2 (figure 3) qui indiquent non seulement la perte d'une ou de plusieurs parties d'images traitées par ce dernier, comme dans le cas du premier mode de réalisation précité, mais également les parties reçues d'images traitées par le décodeur 2.
Dans l'exemple représenté, on suppose à nouveau que les parties perdues de l'image sont les macroblocs de cette image.
Le second mode de réalisation se distingue également du premier mode de réalisation en ce sens que :
- le module de mémorisation 16 comporte une table de correspondance TC dont le contenu diffère de celui de la table de correspondance TC précitée,
- le module de mise à jour 17 comporte une table de mise à jour TMAJ1 dont le contenu diffère de celui de la table de mise à jour TMAJ précitée.
Plus précisément: - la table de correspondance TC associe, pour une image de référence à court terme ou long terme donnée, ses macroblocs perdus au niveau du décodeur 2, ainsi que ses macroblocs reçus par ce dernier,
- la table de mise à jour TMAJ" qui, pour une image de référence à court terme ou long terme donnée, associe à chacun de ses macroblocs perdus ou reçus MB0, MBi,..., MBn, un paramètre d'état ! qui sera indiqué par la suite "indice de confiance". Cet indice de confiance I est une valeur réelle comprise dans l'intervalle [0;1] où :
- la valeur 0 indique, pour un macrobloc donné, qu'il ne faut pas faire confiance à ce macrobloc, - la valeur 1 indique, pour un macrobloc donné, que ce macrobloc est fiable et qu'il est même conseillé de l'utiliser en tant que macrobloc de référence.
Supposons que dans l'exemple représenté à la figure 5a, la table de correspondance TC du module 16 comprend deux images de référence à court terme n-2, n-3, et une image de référence à long terme LT identifiées chacune par leur numéro dans un champ intitulé "Numéro d'image" et associées chacune, dans un champ intitulé "Macroblocs " à un ou plusieurs macroblocs perdus, mais également à un ou plusieurs macroblocs reçus.
Supposons maintenant qu'à l'instant t, le codeur 1 traite l'image n et que le décodeur 2 traite l'image n-2.
Supposons en outre qu'à cet instant t, le décodeur 2 ne signale aucune perte au codeur 1 sur l'image n-2.
En conséquence, la table de correspondance TC à l'instant t est comme représenté à la figure 5a.
A l'instant t, le module de mise à jour 17 actualise la table TMAJ', de telle façon que pour chaque image de référence indiquée dans le champ "Numéro d'image" soit associé à chaque macrobloc de cette image de référence une valeur d'indice de confiance I dans un champ intitulé "Indice de confiance".
Comme représenté sur la figure 5b, du fait qu'aucune perte n'a été signalée par le décodeur 2 en ce qui concerne les images n-2, n-3 et LT, pour chaque macrobloc associé aux images n-2, n-3 et LT, est associé l'indice de confiance I de valeur 1 , ce qui assure la fiabilité de tels macrobfocs. En revanche, en ce qui concerne l'image n-1 , que le décodeur 2 n'a pas encore traitée à l'instant t, une valeur d'indice de confiance I est alors associée à chaque macrobloc de l'image n-1 , cette valeur étant fixée à 0,5, dans l'exemple représenté, de façon à indiquer une incertitude sur le mode de codage qui sera choisi pour cette image.
Sur la base du contenu de la table de mise à jour TMAJ' à l'instant t, le module de compensation de mouvement 52 et le module de prédiction intra 56 calculent respectivement, pour chaque macrobloc identifié dans la table TMAJ1, un critère de coût J= — • (D + λR) où:
- 1 est l'indice de confiance associé au macrobloc identifié, - D est la distorsion du macrobloc identifié, c'est-à-dire sa dégradation liée au codage Inter ou Intra
-R est le nombre de bits du macrobloc identifié à coder en mode Inter ou Intra.
Le choix du codage à l'instant t de l'image n en mode Inter ou Intra est ensuite effectué en fonction du critère de coût J évalué le plus bas.
Dans l'exemple représenté, c'est le critère de coût J calculé par le module d'estimation de mouvement 52 qui est le plus bas. En conséquence, l'image n est codée en mode Inter.
Supposons maintenant, en référence à la figure 5c, qu'à l'instant t+1, le décodeur 2 traite l'image n-1, tandis que le codeur traite l'image n+1.
Au cours du traitement, le décodeur 2 identifie la perte d'un macrobloc de l'image n-1 , par exemple le macrobloc MB2. Le décodeur 2 envoie alors cette information au codeur 1 , via le module de contrôle 12 et l'interface réseau 4 (figure 3). Le module de contrôle 10 du codeur 1 analyse cette information et détecte l'identification de la perte du macrobloc ME$2. Comme on peut le voir à la figure 5c, la table de correspondance TC est alors modifiée à l'instant t+1 de telle façon que la perte du macrobloc MB2 de l'image n-1 soit identifiée au moyen du paramètre d'état "vide".
Dans le même instant t+1 , le codeur 1 identifie que l'image n+1 à coder doit exclure le macrobloc MB2 de l'image n-1 , mais aussi tous les macroblocs de l'image n qui se réfèrent au macrobloc MB2 de l'image n-1, tels que par exemple les macroblocs MB2 et MBi. A cet effet, le module de contrôle 10 active le module de mise à jour 17 pour actualiser la table de correspondance TMAJ1.
Comme on peut le voir à la figure 5d, la table de correspondance
TMAJ' est actualisée à l'instant t+1 de telle façon que : pour chaque macrobloc associé aux images n-2, n-3 et LT est associée la valeur 1 de l'indice de confiance I, ce qui assure la fiabilité de tels macroblocs, - pour le macrobloc MB2 associé à l'image n-1 est associée la valeur 0, pusique ce macrobloc a été perdu, les autres macroblocs de l'image n-1 étant associés chacun à la valeur 1 de l'indice de confiance,
- pour chaque macrobloc de l'image n qui se réfère au macrobloc MB2, en particulier les macroblocs MB2 et MB1, la valeur 0 de l'indice de confiance I leur est associée, les autres macroblocs de l'image n-1 étant par ailleurs chacun associés à la valeur d'incertitude 0,5 de l'indice de confiance I puisque le décodeur 2 n'a pas encore traitée l'image n à l'instant t+1.
Sur la base du contenu de la table de mise à jour TMAJ* à l'instant t+1 , le module de compensation de mouvement 52 et le module de prédiction intra 56 calculent respectivement, pour chaque macrobloc identifié dans la table TMAJ", le critère de coût J précité. Dans l'exemple représenté, c'est le critère de coût J calculé par le module de prédiction Intra 56 qui est le plus bas. En conséquence, l'image n+1 est codée en mode Intra.
Ce second mode de réalisation permet ainsi d'optimiser encore davantage la stratégie de codage au niveau du codeur 1 , grâce à la pondération du critère de coût par l'indice de confiance, ce qui engendre le choix du mode de codage le plus adapté.
Ce second mode de réalisation permet avantageusement d'effectuer un compromis entre efficacité de codage et robustesse (résistance aux erreurs).

Claims

R E V E N D I C A T I O N S
1. Procédé de codage vidéo, comprenant les étapes suivantes:
- a) coder des images successives (F) d'une séquence vidéo pour générer des paramètres de codage, - b) inclure les paramètres de codage dans un flux de sortie (Φ) à transmettre à une station (B) comportant un décodeur (2),
- c) recevoir de ladite station des informations de retour sur la restitution des images de la séquence vidéo par le décodeur,
- d) analyser les informations de retour pour : • d1 ) identifier, parmi les images restituées, si au moins une image comprend au moins une partie qui a été perdue au niveau du décodeur,
• d2) identifier, parmi les images codées s'étant succédées entre, d'une part, ladite image restituée et, d'autre part, une image courante à coder, au moins une partie d'image qui se réfère à ladite partie perdue identifiée à l'étape d1 ),
- e) coder ladite image courante de la séquence vidéo selon un mode de codage qui est fonction de l'identification ou de la non identification d'au moins une partie perdue telle qu'effectuée à l'étape d).
2. Procédé selon la revendication 1 , dans lequel si au moins une partie perdue a été identifiée au cours de l'étape d1 ), l'image courante est codée en référence aux images précédentes de la séquence vidéo, en excluant ladite perdue identifiée à l'étape d1 ), ainsi que les parties d'images codées identifiées à l'étape d2) comme se référant à ladite partie perdue;
3. Procédé selon Ia revendication 1 ou la revendication 2, dans lequel:
- ladite étape d'identification d1 ) comprend la mémorisation d'un identifiant associé à ladite image restituée, en correspondance avec au moins un paramètre d'état qui indique soit la perte, soit l'absence de perte, d'au moins une partie de l'image restituée,
- ladite étape d'identification d2) comprend la mise à jour de ladite correspondance mémorisée à l'étape d1 ), en fonction de l'identification ou non, parmi lesdites images codées qui se sont succédées, d'au moins une partie d'image qui se réfère à ladite partie perdue identifiée à l'étape d1 )
4. Procédé selon la revendication 1 , dans lequel l'étape d'analyse d) comprend en outre une identification, parmi les images restituées, des parties d'images qui sont reçues au niveau du décodeur.
5. Procédé selon la revendication 4, dans lequel, au cours de l'étape d'analyse d):
- ladite étape d'identification d1 ) comprend la mémorisation d'un identifiant associé à ladite au moins une image restituée, en correspondance avec une pluralité de paramètres d'état dont certains sont destinés à indiquer respectivement les parties de ladite image restituée qui sont reçues au niveau du décodeur, et dont certains autres sont destinés à indiquer respectivement les parties de ladite image restituée qui sont perdues au niveau du décodeur,
- ladite étape d'identification d2) comprend la mise à jour de ladite correspondance mémorisée à l'étape d1 ), en fonction de l'identification ou non, parmi lesdites images codées qui se sont succédées, d'au moins une partie d'image qui se réfère à ladite partie perdue identifiée à l'étape d1 ).
6. Procédé selon la revendication 5, dans lequel ladite étape de mise à jour consiste à affecter à un paramètre d'état donné une valeur réelle comprise entre 0 et 1 , où:
- la valeur 0 indique, d'une part, l'identification d'au moins une partie perdue dans ladite image restituée et, d'autre part l'identification d'au moins une partie d'image codée qui se réfère à ladite partie perdue,
- la valeur 1 indique l'identification d'au moins une partie reçue dans ladite image restituée.
7. Procédé selon les revendications 1 et 6, dans lequel la sélection du mode codage, pour une partie d'image donnée de l'image courante à coder, consiste à pondérer, au moyen de la valeur du paramètre d'état associé à ladite partie d'image donnée, une valeur qui est fonction de la distorsion de ladite image courante à coder et du nombre de bits de codage de cette dernière.
8. Programme d'ordinateur à installer dans un appareil de traitement vidéo (A), comprenant des instructions pour mettre en œuvre les étapes d'un procédé de codage vidéo selon l'une quelconque des revendications 1 à 7 lors d'une exécution du programme par une unité de calcul dudit appareil.
9. Codeur vidéo (1 ), comprenant:
- des moyens (5-8, 10, 15) de codage d'images successives d'une séquence vidéo pour générer des paramètres de codage;
- des moyens (9) de formation d'un flux de sortie (Φ) du codeur à transmettre à une station (B) comportant un décodeur (2), le flux de sortie incluant fesdits paramètres de codage ;
- des moyens de réception depuis ladite station d'informations de retour sur la restitution des images de la séquence vidéo par le décodeur; et
- des moyens (10) d'analyse des informations de retour qui comprennent: • des premiers moyens d'identification (16) pour identifier, parmi les images restituées, si au moins une image comprend au moins une partie qui a été perdue au niveau du décodeur,
• des seconds moyens d'identification (17) pour identifier, parmi les images codées s'étant succédées entre, d'une part, ladite image restituée et, d'autre part, une image courante à coder, au moins une partie d'image qui se réfère à ladite partie perdue identifiée par les premiers moyens d'identification (16),
- des moyens de codage de ladite image courante de la séquence vidéo selon un mode de codage qui est fonction de l'identification ou de la non identification, par lesdits premiers moyens d'identification (16), d'au moins une partie perdue.
10. Codeur vidéo selon la revendication 9, dans lequel lesdits premiers moyens d'identification (16) identifient en outre, parmi les images restituées, des parties d'images qui sont reçues au niveau du décodeur (2).
11. Codeur vidéo selon la revendication 9 ou la revendication 10, dans lequel:
- lesdits premiers moyens d'identification (16) comprennent des moyens de mémorisation d'un identifiant associé à ladite au moins une image restituée, en correspondance avec une pluralité de paramètres d'état dont certains sont destinés à indiquer respectivement les parties de ladite image restituée qui sont reçues au niveau du décodeur, et dont certains autres sont destinés à indiquer respectivement les parties de ladite image restituée qui sont perdues au niveau du décodeur,
- lesdits seconds moyens d'identification (17) comprennent des moyens de mise à jour de ladite correspondance mémorisée par lesdits moyens de mémorisation, en fonction de l'identification ou non, parmi fesdites images codées qui se sont succédées, d'au moins une partie d'image qui se réfère à ladite partie perdue identifiée par lesdits premiers moyens d'identification (16).
12. Codeur selon la revendication 11 , dans lequel lesdits moyens de mise à jour comprennent des moyens d'affectation à un paramètre d'état donné d'une valeur réelle comprise entre 0 et 1 , où:
- la valeur 0 indique, d'une part, l'identification d'au moins une partie perdue dans ladite image restituée et, d'autre part l'identification d'au moins une partie d'image codée qui se réfère à ladite partie perdue, - la valeur 1 indique l'identification d'au moins une partie reçue dans ladite image restituée.
13. Codeur selon les revendications 9 et 12, comprenant en outre des moyens de sélection de mode de codage (10, 52, 56) qui sont destinés à sélectionner, pour une partie d'image donnée de l'image courante à coder, un mode de codage, par pondération, au moyen de la valeur du paramètre d'état associé à ladite partie d'image donnée, d'une valeur qui est fonction de la distorsion de ladite image courante à coder et du nombre de bits de codage de cette dernière.
EP06778946A 2005-06-30 2006-06-19 Procede et dispositif de codage video Ceased EP1900223A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0506693 2005-06-30
PCT/FR2006/050568 WO2007003836A2 (fr) 2005-06-30 2006-06-19 Procede et dispositif de codage video

Publications (1)

Publication Number Publication Date
EP1900223A2 true EP1900223A2 (fr) 2008-03-19

Family

ID=35953959

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06778946A Ceased EP1900223A2 (fr) 2005-06-30 2006-06-19 Procede et dispositif de codage video

Country Status (6)

Country Link
US (1) US8396135B2 (fr)
EP (1) EP1900223A2 (fr)
JP (1) JP5122448B2 (fr)
KR (1) KR101092684B1 (fr)
CN (1) CN101213843B (fr)
WO (1) WO2007003836A2 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG10201507816SA (en) * 2010-09-30 2015-10-29 Mitsubishi Electric Corp Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
GB2536059B (en) 2015-03-06 2017-03-01 Garrison Tech Ltd Secure control of insecure device
GB2545010B (en) 2015-12-03 2018-01-03 Garrison Tech Ltd Secure boot device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3630474B2 (ja) 1995-07-14 2005-03-16 沖電気工業株式会社 動画像伝送システム及び動画像伝送装置
JP3606306B2 (ja) * 1998-10-08 2005-01-05 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
GB2343321B (en) * 1998-11-02 2003-03-26 Nokia Mobile Phones Ltd Error concealment in a video signal
US6658618B1 (en) * 1999-09-02 2003-12-02 Polycom, Inc. Error recovery method for video compression coding using multiple reference buffers and a message channel
KR100677083B1 (ko) * 2000-01-27 2007-02-01 삼성전자주식회사 디지털 영상 데이터 통신 시스템에서의 오류 전파 억제를위한 송수신 데이터의 처리 방법 및 이를 위한 기록 매체
GB2381403B (en) * 2000-05-10 2004-12-01 Picturetel Corp Video coding using multiple buffers
RU2297729C2 (ru) * 2002-01-23 2007-04-20 Нокиа Корпорейшн Группирование кадров изображения на видеокодировании
PT1474920E (pt) * 2002-02-01 2016-06-09 Koninklijke Philips Nv Aparelho e suporte de gravação e método de gravação de uma sequência de sinais de dados vídeo
CN100375520C (zh) * 2002-08-22 2008-03-12 皇家菲利浦电子有限公司 减少经信道发送的编码视频信号中数据损失的视频编码和解码方法及其系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2007003836A2 *

Also Published As

Publication number Publication date
US20090213939A1 (en) 2009-08-27
JP2008545309A (ja) 2008-12-11
KR101092684B1 (ko) 2011-12-09
KR20080031324A (ko) 2008-04-08
JP5122448B2 (ja) 2013-01-16
WO2007003836A3 (fr) 2007-03-22
WO2007003836A2 (fr) 2007-01-11
US8396135B2 (en) 2013-03-12
CN101213843B (zh) 2010-09-29
CN101213843A (zh) 2008-07-02

Similar Documents

Publication Publication Date Title
EP1834488A1 (fr) Procede et dispositif de codage video
EP3182707B1 (fr) Procédé et support d'enregistrement mémorisant un flux de données d'images codées
US8638851B2 (en) Joint bandwidth detection algorithm for real-time communication
FR2894421A1 (fr) Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique
FR2904494A1 (fr) Procede et dispositif de compression d'image, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede
FR2851397A1 (fr) Procede et dispositif d'analyse de sequences video dans un reseau de communication
EP1834489A1 (fr) Procede et dispositif de codage video
FR2959636A1 (fr) Procede d'acces a une partie spatio-temporelle d'une sequence video d'images
EP1900223A2 (fr) Procede et dispositif de codage video
EP1972156B1 (fr) Codage et decodage adaptatifs
EP3972246A1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
EP1172958A1 (fr) Système de communication, émetteur, mèthode de protection contre des erreurs de transmission
US20200084467A1 (en) Low light compression
EP2025174A1 (fr) Utilisation d'un canal de retour pour la diffusion d'images
EP1241894A1 (fr) Procédé de codage d'images numériques basé sur la dissimulation d'erreurs
WO2009004255A1 (fr) Selection de fonctions de decodage distribuee au decodeur
EP3542533B1 (fr) Procédé et dispositif de codage et de décodage d'une séquence multi-vues
FR2728129A1 (fr) Dispositif de multiplexage numerique de programmes video
WO2016059196A1 (fr) Decodeur, procede et systeme de decodage de flux multimedia
FR2926177A1 (fr) Procede et disositif de transmission de donnees avec partage specifique des ressources de debit d'un reseau.
FR2851109A1 (fr) Procede et dispositif de determination de parametres d'un modele d'estimation de la distorsion d'une sequence d'images
Yu Statistic oriented Video Coding and Streaming Methods with Future Insight
FR2832582A1 (fr) Procede et dispositif de determination d'au moins un parametre de codage de donnees multimedia
FR2832581A1 (fr) Procede et dispositif de determination d'au moins un parametre de codage de donnees multimedia
FR2906102A1 (fr) Procede et dispositif de controle d'erreur de donnees dans un flux video

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: 20080121

AK Designated contracting states

Kind code of ref document: A2

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

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

Effective date: 20090717

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

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

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20121123