WO2008101815A1 - Procede de reduction de debit - Google Patents

Procede de reduction de debit Download PDF

Info

Publication number
WO2008101815A1
WO2008101815A1 PCT/EP2008/051517 EP2008051517W WO2008101815A1 WO 2008101815 A1 WO2008101815 A1 WO 2008101815A1 EP 2008051517 W EP2008051517 W EP 2008051517W WO 2008101815 A1 WO2008101815 A1 WO 2008101815A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
image
error
intra
coefficients
Prior art date
Application number
PCT/EP2008/051517
Other languages
English (en)
Inventor
Philippe Bordes
Anita Orhand
Ronan Poullaouec
Original Assignee
Thomson Licensing
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 Thomson Licensing filed Critical Thomson Licensing
Publication of WO2008101815A1 publication Critical patent/WO2008101815A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/172Methods 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 picture, frame or field
    • 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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the invention relates to a method for reducing the bit rate of an encoded video data stream using intra and inter modes from reference images. It applies more particularly to video streams of type
  • H.264 or AVC or MPEG-4 This standard is described for example in ITU-T Rec. H264 / ISO / IEC 14496-10 AVC (MPEG4).
  • the field is that of the broadcasting of television programs by radio channel, satellite or cable known under the name “broadcast”, also that of the broadcasting of television programs according to the Internet protocol or IP, by wire or wireless, on ADSL, also called “broadband”.
  • the English-language "transrating" method consists in changing the transmission rate of a data stream coded according to a standard to another data stream coded generally according to the same standard, the reduction being made in the transformed domain. It is to be differentiated from the transcoding process, which consists of decoding the images and then re-encoding them with an encoder. Coding and decoding are done at the pixel level, which is why this process is also called transcoding in the pixel domain.
  • the rate reduction method is also sometimes referred to as "transcoding in the transformed domain”
  • the term "transcoding” will later be reserved for the pixel domain.
  • bit rate reduction is generally relative to images of the same standard
  • transcoding can provide images to a new standard.
  • the bit rate reduction may consist of a partial decoding of the data, for example a dequantization of the DCT coefficients as in the MPEG standard, and then an inverse partial recoding, a requantization of these data according to the desired bit rate.
  • the chain of transporting video from its place of creation, storage or transmission to its destination, at the end user (s), can involve many stakeholders and several transformations. In particular it may be necessary to transform the content, the video, to adapt it to the constraints of transport, available bandwidth, or to take into account economic or commercial considerations, for example the insertion of advertisements. These transformations sometimes require to reduce the bit rate of the transported video and a technique of reduction of bit rate or transcoding of video stream is then necessary. It consists in transforming, on the fly, an incident encoded video stream into another encoded video stream with a lower bit rate.
  • Video transcoding involves cascading a decoder and a video encoder.
  • This technique has the advantage of being flexible, it is possible to easily change the encoding parameters, the format, the standard, the coding modes ..., or to insert a logo.
  • the amount of calculations, there is a decoder and an encoder is important, especially with respect to a rate reduction solution.
  • the calculations at the encoder can be reduced by reusing information such as motion fields, coding modes ... of the first encoding pass but the quality of the image is deteriorated. Indeed, the further one moves away from the flow of the original stream, the less the assumption that the coding decisions exploited are adapted, is verified.
  • FIG. 1 represents a device for transcoding video streams according to the prior art, not using the information of the first encoding pass.
  • the encoder referenced 1 receives the video data of the source image. It comprises, in a conventional manner, a motion estimator 3 for the calculation of the motion vectors used for coding in inter mode and a decision block of coding modes 4, for example as a function of cost.
  • the circuit 2 is the coding heart exploiting, among others, the discrete cosine transform and the quantization.
  • the thus encoded data stream or original stream, if referred to transcoding, is then transmitted to a decoder 5 which performs the inverse operations of the encoder to provide the decoded images.
  • a second encoder 6 of the encoder type 1 performs the coding operations from its coding core 7 exploiting the information of its motion estimation circuit 8 and of its coding mode decision circuit 9, to provide a transcoded stream at the desired rate.
  • FIG. 2 represents a video stream transcoding device according to the prior art, using information from the first encoding pass.
  • the circuits upstream of the decoder 5 are identical. Movement information and coding mode decisions are transmitted by the decoder 5, together with the decoded images, to a new simplified coding circuit 10, to provide a transcoded stream at the desired rate.
  • the motion estimation and coding mode decision circuits are not necessary because this information comes from the decoder 5.
  • the coding heart 11 processes this information in a manner similar to the coding heart 7 for those of the circuits 8 and 9.
  • FIG. 3 represents the main blocks that make up a decoder and a video encoder, surrounded in dashed lines in the figure, of the MPEG-2 or AVC type, cascades.
  • the source signal is transmitted to the input of the encoder which is also the input of a variable length decoding circuit VLD 15.
  • VLD 15 This signal then passes through an inverse quantization circuit IQ1 16, a discrete inverse cosine transformation circuit.
  • IDCT 17 an adder 28, a filter 18.
  • the output of the filter is the output of the decoding circuit. It is connected to the input of a circuit 19 consisting of a memory and a motion compensation circuit MC or Intra prediction. The compensation is made from the decoded V motion vectors of the stream received via the VLD circuit.
  • the Intra prediction is constructed from the neighboring blocks and the decoded Intra prediction mode of the stream received via the VLD circuit.
  • To the decoded block of residues at the input of the adder 28 is added the block predicted from the image or blocks of the reconstructed reference image stored at 19, and of the motion vector or vectors V, or of the prediction mode Intra, associated with the decoded block.
  • the decoded image at the output of the filter is transmitted to the input of an encoder for successively feeding a subtractor 29, a discrete cosine transformation circuit DCT 20, a quantizer Q2 21, a variable length coding circuit VLC 22 whose output is the data stream encoded at the new rate.
  • the transformed and quantized coefficient blocks, at the output of the quantizer Q2 are reconstructed by means of an inverse quantizer IQ2, 23, an inverse discrete cosine transform circuit IDCT 24.
  • At the residue block thus reconstructed and transmitted on a first input of an adder 30 is added the predicted block transmitted on a second input of this adder 30.
  • the reconstructed block, obtained at the output of this adder, is filtered via the filter 25 and then stored in the circuit 26 which therefore stores the reconstructed image being encoded.
  • the motion compensation circuit and Intra prediction associated with the memory circuit, the assembly constituting the referenced circuit 26 performs the motion compensation according to the motion vectors received, the case of the Inter prediction, or the Intra prediction, to define the predicted block in the image. .
  • This predicted block is transmitted on a second input of the subtracter 29 which supplies at its output the block of residues in inter coding mode or intra prediction mode.
  • Either the motion vectors are calculated by the encoder which then comprises a motion estimation circuit 27. Let these vectors come from the decoding circuit, thus saving this motion estimator, to the detriment of the quality as indicated above. .
  • FIG. 4 represents such a simplified architecture for reducing T2 flow.
  • a feedback loop of the quantization error is added.
  • the stream of compressed video data is transmitted to the input of the variable-length decoding circuit VLD 40, then to an inverse quantization circuit IQ1 41 which performs dequantization, generally at the quantization step corresponding to the coding of the received data.
  • the dequantized coefficient blocks transmitted on a first input of a subtractor 42 are subtracted from predictions of requantification errors from the discrete cosine transformation circuit DCT 49 transmitted on the second input of the subtracter.
  • inter mode when the dequantized coefficient blocks are inter residue blocks, it is the error predictions computed from a requantification error image of the stored reference image, for a block of requantification errors of this error image mapped to the current block by the associated motion vector.
  • intra mode when the blocks of dequantized coefficients are intra residue blocks, they are requantification errors computed from blocks or macroblocks of the current image previously processed and exploited for the intra-used predictive coding mode. for this block of coefficients current.
  • the predefined requantiation error block thus calculated in the spatial domain undergoes a discrete cosine transformation 49 to give an error block in the transformed domain, block subtracted from the dequantized current block.
  • the corrected coefficient block then obtained is transmitted to a quantization circuit Q2 43 and then to a variable length coding circuit VLC 44 to give the transcoded video data stream, converted to the desired bit rate by the choice of the intermediate quantization step Q2 of FIG. quantizer 43.
  • the signal is also transmitted to an inverse quantizer IQ2 referenced 45.
  • the output of this circuit gives blocks of corrected coefficients reconstructed after quantization and quantization quantization Q2 subtracted, by via a subtracter 46, the blocks of coefficients corrected after quantization and dequantization at the quantization step Q1.
  • the difference represents the requantification error that is made.
  • the reconstructed requantization error block at the output of this subtractor 46 consisting of the requantification errors of these corrected coefficient blocks, is transmitted to an inverse discrete cosine transformation circuit.
  • the circuit 48 For coding in inter mode, an image of errors in the spatial domain, errors that have been made by requantifying the coefficients.
  • the errors made on a reference image are stored in order to be exploited during the inter coding of images, for example of bidirectional type or of type P based on reference images.
  • These requantization errors of the coefficient blocks are translated into the spatial domain in order to be able to exploit the motion compensation, the information relating to the motion vectors being transmitted to this circuit 48 comprising the memory block and the motion compensation block.
  • intra mode it is therefore the neighboring blocks that are stored in the spatial domain in order to be able to calculate the requantization error as a function of the luminance values of the neighboring blocks exploited for intra prediction.
  • the intra prediction block thus calculated or the motion compensated block for the inter prediction is extracted from the circuit
  • the memory includes the number of reference pictures used for the inter coding.
  • the decoder will provide these references with this requantification error.
  • This simplification can be applied to MPEG 2 or MPEG 4 part 2 transcoding, then without intra prediction operation or to MPEG4 part 10 or AVC coding, the absence of filters in the loop, however, introducing a slight degradation.
  • This simplified architecture T2 makes it possible to delete a motion compensation block and an inverse quantization block on the one hand, and to delete one of the two image storage modules on the other hand. This architecture therefore requires less computing power and less memory resources. The decoded image is never rebuilt, and the storage module is used to store errors due to requantification.
  • This architecture is not quite identical to the transcoding scheme because the quantization and inverse quantization operations on the one hand, and the discrete cosine transformation and inverse transformation calculations, which are linear combinations, on the other hand, cause rounding.
  • operations in the spatial domain of motion compensation that exploit linear interpolations or calculations operations for blocks predicted from linear combinations on luminance values of neighboring blocks generate, due to rounding calculations, errors. that we can not take into account with T2 architecture.
  • Degradation is therefore introduced, which accumulates throughout a group of images or GOP, called drift degradation or "drift" in English, because some images are used as a prediction for coding subsequent images. In the case of coding using the inter prediction mode, this degradation propagates on the images exploiting these references, it is propagation of temporal error.
  • IDR image defined in the MPEG4 part 10, acronym for Instantaneous Decoding Refresh, for refreshing instant decoding, is an intra key image below which no subsequent image can refer.
  • the subject of the invention is a method for reducing the bit rate of a first video data stream encoded in a second stream, by dequantizing a block of coefficients according to a first quantization step and then requantizing a block according to a second step.
  • quantization method exploiting the predictive mode calculating a predicted block from a reference image, characterized in that it comprises a test step for determining whether the image to which the coefficient block belongs is of intra type. or has a number of macroblocks of intra type greater than a threshold, and in that,
  • a coding mode without correction of the requantization error is chosen, the block of coefficients to be requantized according to the second step being the block of coefficients dequantized at the first step, if so, a coding mode with requantization error correction is chosen, the coefficient block to be requantized according to the second step being the coefficient block dequantized at the first step corrected by means of a predefined requantiation error block relative to the current image if the coefficient block is coded in intra mode, calculated from reconstructed and stored requantization error blocks relating to the block (s) used to calculate the predicted block.
  • the test step forces the error correction encoding mode, the coefficient block to be requantized according to the second step being the block of coefficients dequantized at the first step corrected using a block of errors of predictive requantization relative to the current image if the coefficient block is encoded in intra mode or at least a previous reference image if the coefficient block is coded in inter mode, calculated from reconstructed requantification error blocks and stored, relative to the block (s) used to calculate the predicted block.
  • the test step forces the coding mode without error correction .
  • a reconstructed requantization error block is obtained by subtracting the corrected coefficient block from the quantized corrected coefficient block then dequantized at the second quantization step.
  • the predefined requantization error block is obtained by compensation in motion, from a movement vector associated with the block, of the error image formed of the reconstructed error blocks of the reference image relative to the motion vector.
  • the predefined requantiation error block is obtained by Intra prediction, calculated from the intra prediction mode associated with the current block and reconstructed error blocks of the current image.
  • the test step comprises a check of the contents of the nal_ref_idc field in the first data stream.
  • the test step comprises a verification of the type of the image to which the block to be encoded belongs.
  • the video data streams are coded according to the MPEG 4 part 10, MPEG 4 part 2 or MPEG 2 standard.
  • the method performs a correction of the quantization step, with intra prediction, for the requantification errors relating to the intra blocks, from the requantification errors stored for blocks of the image being processed, if it is a question of an intra predictive type image.
  • One variant consists in making this correction also for images comprising a number of macroblocks of intra type greater than a predetermined threshold or for reference images comprising a number of macroblocks of intra type greater than a predetermined threshold.
  • An alternative is to perform requantization step correction with motion compensation or intra prediction for reference image requantization errors from stored quantization errors for one or more previous reference images that are reference being processed.
  • One variant consists in taking into account the number of images to be coded before the next intra-type image in order to decide on the correction of the requantification errors, for example by not performing correction on the last images of a GOP. Indeed, the drift will only apply for some images, before the next refresh in intra.
  • An alternative is to modify the value of the requantization step according to the type of requantified macroblock.
  • the same quantization step as the one used for coding is used for intra-type macroblocks.
  • the increase of the quantization step is less severe for intra-type macroblocks, so as to maintain a good quality of coding and prediction for this macroblock and intra blocks.
  • the decision or level of modification of the quantization step with respect to the requantization step originally calculated may depend on the number of intra-coded macroblocks in the image.
  • FIG. 1 a transcoding method according to the prior art
  • FIG. 2 a transcoding method according to the prior art using information of a first pass
  • FIG. 3 a transcoding architecture AVC according to the prior art
  • FIG. 4 a simplified speed reduction architecture according to the prior art
  • FIG. 5 a speed reduction architecture according to the invention
  • FIG. 6 a comparison of the performances.
  • FIG. 5 represents an example of a speed reduction architecture according to the invention.
  • the reference numbers are taken from Figure 4 for similar circuits.
  • This architecture corresponds to the architecture T2 in which three switches 50, 51 and 52 are added.
  • a circuit for processing the flow restrictor not shown in the figure, controls these switches or switching circuits according to whether the treated current block belongs to or not to an intra-type image, to an image comprising a number of blocks greater than a threshold, to a reference image optionally including this threshold condition, exclusive or combined conditions according to the strategy adopted.
  • the following description considers switching in the case where the block belongs to a reference image, the other cases can be easily deduced.
  • the output of the subtractor 42 which is connected to the quantizer Q2 43, is also connected to the first input of the subtractor 46 via a switch 50 which is in the closed or pass position when the current block is a block of a reference image, and which is in the open position when the block does not belong to a reference image.
  • the output of the quantizer Q2 43 connected to the variable length coder 44, is also connected to the input of the IQ2 dequantizer 45 through a switch 51 which is in the closed or pass position when the current block is a block of a reference image and which is in the open position when the block does not belong to an image reference.
  • the output of the cosine transformation circuit 49 is connected to the second input of the subtractor 42 via a switch 52 which is in the closed or passable position when the current block is a block of a reference image and which is is in the open position when the block does not belong to a reference image.
  • the reference images are images of type I or P.
  • the processing circuit takes into account the image type to define the position of the switches.
  • the processing circuit will not take into account the type of slice to which the macroblock belongs but a particular field, in the data stream, which makes it possible to know if the slice of macroblocks belongs to a reference image or not. If a slice of macroblocks belongs to a reference image, the switches will be in the closed position, in the open position otherwise.
  • nal_ref_idc a field in the header of the macroblock slices.
  • This field indicates whether or not the macroblock slice belongs to a reference image.
  • Paragraph 7.4.1 of the aforementioned normative document H264 defines the field nal_ref_idc as being different from zero when the contents of a NAL unit contain a set of parameters of a sequence or an image or a slice of an image of reference, or a data partition of a slice of a reference image.
  • a "NAL”, an acronym for Network Abstraction Layer, is an abstraction layer for the network.
  • a NAL unit is a group or piece of the elementary stream.
  • Each unit has a header and, in this header, a nal_ref_idc field, allowing inter alia to facilitate the interface with the network transport layers, for example to encapsulate the elements of the elementary stream.
  • This field is read here to determine if the slice relating to this NAL unit is a slice of a reference picture.
  • information is therefore assigned to each image, image type I, P or B in the case of the MPEG2 standard, or to each slice, value of a field nal_ref_idc, case of the MPEG4 standard, to indicate whether this image or the image to which the slice belongs can be exploited as a reference image, for the predictive coding.
  • the processing circuit extracts this information from the data field of the stream relative to the current image or slice to control the various switching circuits.
  • the block of coefficients to be requantized according to the second step is the block of coefficients dequantized at the first step
  • the coefficient block to be requantized according to the second step is the coefficient block dequantized at the first step corrected by means of a predefined requantization error block relating to this reference image if the coefficient block is coded in intra mode or at least a previous reference image if the coefficient block is coded in inter mode, calculated from reconstructed and stored requantization error blocks relating to x) block (s) used to calculate the predicted block.
  • This architecture makes it possible to simply remove the motion compensation loop from requantification errors when the blocks processed are not blocks belonging to reference images. It is then enough to requantize the coefficients. The requantification error is not corrected for non-reference images.
  • requantification errors are corrected, avoiding error accumulation.
  • the residuals which make the link between the current block and a predicted block of a previous image in inter mode or a current image in intra predictive mode, have an additional function which is to correct the error made on this predicted block.
  • the correction of requantification errors is performed and stored only for blocks that will serve as a reference. It should be noted that the requantification error correction relating to a current block of a reference image is not done on this current block, during its coding, but on a next block of a reference image, or the same intra predictive mode image, exploiting this current block as a reference for its prediction.
  • Images that are not reference images are encoded with a lower quality, which is not very inconvenient because they are stealthy images.
  • the method implemented introduces a slight degradation or drift that accumulates throughout the group of images or GOP. This drift is reset for each Type I or IDR image for the AVC standard. In “broadcast” or “broadband” mode, there is generally an image of type IDR or I every second, in fact between 0.5 or 2 seconds. Thus, the drift remains acceptable because it is reset regularly.
  • FIG. 6 represents an example of performances obtained with this new architecture according to the invention.
  • the curves represent the quality or signal-to-noise ratio of a reference sequence of 100 images whose first image is of intra I type, the following 39 of type P or B.
  • the measurements are made on images consisting of a single image. slice or "slice" in English, whose type is attributed to the image.
  • a first curve is obtained after a flow reduction according to the T2 type architecture, a second curve is obtained by exploiting the architecture according to the invention.
  • the curves are not referenced because they are very close. There is practically no difference in terms of quality whereas in terms of computing power, a gain of about 10% is obtained.
  • FIG. 7 makes it possible to compare the performances of our invention, in terms of quality, with respect to a very simplified architecture consisting of dequantization at quantization step Q1 then quantization quantization quantization Q2.
  • the curve referenced 53 corresponds to this architecture, only the images of intra type being coded according to the T2 architecture.
  • the curve referenced 54 corresponds to the architecture according to the invention.
  • the difference between the curves shows the interest of correcting the requantification error for all the reference images in order to avoid that it accumulates on these images used as prediction.
  • the offset between the two curves increases as one moves away from an intra I or IDR type image in the case of the AVC standard, because of the accumulation of this error.
  • the two curves meet when coding an image in intra mode, for example during a sequence cut detection or at the beginning of a group of images or GOP.
  • the invention can be applied to data coded in MPEG 4 part 10 or H264 format using predictive intra-coding modes, for MPEG 4 part 2 or even MPEG 2 or MPEG1 format.
  • the information stored in the memory 48 is used for a next image.
  • this information is also used for the current image.

Landscapes

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

Abstract

Le procédé est caractérisé en ce qu'il comporte une étape de test pour déterminer si l'image à laquelle appartient le bloc de coefficients est une image de référence ou non, et en ce que, s'il ne s'agit pas d'une image de référence, le bloc de coefficients à requantifier selon un deuxième pas est le bloc de coefficients déquantifié au premier pas, s'il s'agit d'une image de référence, le bloc de coefficients à requantifier selon un deuxième pas est le bloc de coefficients déquantifié au premier pas corrigé à l'aide d'un bloc d'erreurs de requantification prédit (48, 49) relatif à l'image de référence si le bloc de coefficients est codé en mode intra ou à au moins une précédente image de référence si le bloc de coefficients est codé en mode inter, calculé à partir de blocs d'erreurs de requantification reconstruits (43, 45, 47) et mémorisés (48), relatifs au(x) bloc(s) servant au calcul du bloc prédit. Les applications concernent la diffusion de programmes par satellite, câble, internet.

Description

PROCEDE DE REDUCTION DE DEBIT
L'invention concerne un procédé de réduction de débit d'un flux de données vidéo codées selon un codage exploitant les modes intra et inter à partir d'images de référence. Elle s'applique plus particulièrement aux flux vidéo de type
H.264 ou AVC ou MPEG-4. Ce standard est décrit par exemple dans le document ITU-T Rec. H264/ISO/IEC 14496-10 AVC (MPEG4).
Le domaine est celui de la diffusion de programmes de télévision par canal hertzien, satellite ou câble connue sous l'appellation anglaise « broadcast», également celui de la diffusion de programmes de télévision selon le protocole internet ou IP, par fil ou sans fil, sur ADSL, aussi appelée « broadband ».
Le procédé de réduction de débit ou « transrating » en anglais, et tel que défini ici, consiste à changer le débit de transmission d'un flux de données codées selon un standard en un autre flux de données codées généralement selon le même standard, la réduction étant faite dans le domaine transformées. Il est à différencier du procédé de transcodage, « transcoding » en anglais, qui consiste à décoder les images puis à les réencoder avec un encodeur. Le codage et décodage se font au niveau des pixels, raison pour laquelle ce procédé est également appelé transcodage dans le domaine pixels. Bien que le procédé de réduction de débit soit aussi appelé quelquefois « transcodage dans le domaine transformées », le terme « transcodage » sera réservé, par la suite, au domaine pixels.
Il est à noter que si, comme indiqué plus haut, la réduction de débit est relative en général à des images d'un même standard, le transcodage peut fournir des images à un nouveau standard. La réduction de débit peut consister en un décodage partiel des données, par exemple une déquantification des coefficients DCT comme dans le standard MPEG, puis un recodage partiel inverse, une requantification de ces données selon le débit souhaité.
La chaîne de transport de la vidéo depuis son lieu de création, de stockage ou d'émission jusqu'à son lieu de destination, chez le ou les utilisateurs finaux, peut impliquer de nombreux intervenants et plusieurs transformations. En particulier il peut être nécessaire de transformer le contenu, la vidéo, pour l'adapter aux contraintes du transport, bande passante disponible, ou pour tenir compte de considérations économiques ou commerciales, par exemple l'insertion de publicités. Ces transformations exigent parfois de réduire le débit de la vidéo transportée et une technique de réduction de débit ou de transcodage de flux vidéo est alors nécessaire. Elle consiste à transformer, à la volée, un flux vidéo encodé incident en un autre flux vidéo encodé avec un débit inférieur.
Le transcodage de vidéo consiste à cascader un décodeur et un encodeur vidéo. Cette technique a l'avantage d'être souple, il est possible de changer facilement les paramètres d'encodage, le format, le standard, les modes de codages..., ou d'insérer un logo. Cependant la quantité de calculs, il y a un décodeur et un encodeur, est importante, en particulier par rapport à une solution de réduction de débit. Bien sûr, les calculs au niveau de l'encodeur peuvent être réduits en réutilisant des informations telles que champs de mouvement, modes de codage... de la première passe d'encodage mais la qualité de l'image est détériorée. En effet, plus on s'éloigne du débit du flux original, moins l'hypothèse que les décisions de codage exploitées sont adaptées, est vérifiée.
La figure 1 représente un dispositif de transcodage de flux vidéo selon l'art antérieur, n'utilisant pas les informations de la première passe d'encodage.
L'encodeur référencé 1 reçoit les données vidéo de l'image source. Il comprend, de manière classique, un estimateur de mouvement 3 pour le calcul des vecteurs mouvement exploités pour le codage en mode inter et un bloc de décision de modes de codage 4, par exemple en fonction du coût. Le circuit 2 est le cœur de codage exploitant, entre autres, la transformée cosinus discrète et la quantification. Le flux de données ainsi codé ou flux original si l'on se réfère au transcodage, est ensuite transmis à un décodeur 5 qui effectue les opérations inverses de l'encodeur pour fournir les images décodées. Un deuxième encodeur 6 du type de l'encodeur 1 effectue les opérations de codage à partir de son cœur de codage 7 exploitant les informations de son circuit d'estimation de mouvement 8 et de son circuit de décision de modes de codage 9, pour fournir un flux transcodé, au débit souhaité.
La figure 2 représente un dispositif de transcodage de flux vidéo selon l'art antérieur, utilisant des informations de la première passe d'encodage. Les circuits en amont du décodeur 5 sont identiques. Les informations de mouvement et les décisions de modes de codage sont transmises par le décodeur 5, en même temps que les images décodées, à un nouveau circuit de codage 10 simplifié, pour fournir un flux transcodé au débit souhaité. Ici, les circuits d'estimation de mouvement et de décision de modes de codage ne sont pas nécessaires car ces informations proviennent du décodeur 5. Le cœur de codage 11 traite ces informations d'une manière similaire au coeur de codage 7 pour celles des circuits 8 et 9.
La figure 3 représente les principaux blocs qui composent un décodeur et un encodeur vidéo, entourés en pointillés sur la figure, de type MPEG-2 ou AVC, cascades. Le signal source est transmis à l'entrée de l'encodeur qui est également l'entrée d'un circuit de décodage en longueur variable VLD 15. Ce signal traverse ensuite un circuit de quantification inverse IQ1 16, un circuit de transformation cosinus discrète inverse IDCT 17, un additionneur 28, un filtre 18. La sortie du filtre est la sortie du circuit de décodage. Elle est reliée à l'entrée d'un circuit 19 constitué d'une mémoire et d'un circuit de compensation de mouvements MC ou de prédiction Intra. La compensation est faite à partir des vecteurs mouvement V décodés du flux reçu par l'intermédiaire du circuit VLD. La prédiction Intra est construite à partir des blocs voisins et du mode de prédiction Intra décodé du flux reçu par l'intermédiaire du circuit VLD. Au bloc de résidus décodé en entrée de l'additionneur 28 est ajouté le bloc prédit à partir de l'image ou des blocs de l'image de référence reconstruite mémorisée en 19, et du ou des vecteurs mouvement V, ou du mode de prédiction Intra, associés au bloc décodé.
L'image décodée en sortie du filtre est transmise à l'entrée d'un encodeur pour alimenter successivement un soustracteur 29, un circuit de transformation cosinus discrète DCT 20, un quantificateur Q2 21 , un circuit de codage en longueur variable VLC 22 dont la sortie est le flux de donnée codées au nouveau débit. Les blocs de coefficients transformés et quantifiés, en sortie du quantificateur Q2, sont reconstruits par l'intermédiaire d'un quantificateur inverse IQ2, 23, un circuit de transformée cosinus discrète inverse IDCT 24. Au bloc de résidus ainsi reconstruit et transmis sur une première entrée d'un additionneur 30 est ajouté le bloc prédit transmis sur une deuxième entrée de cet additionneur 30. Le bloc reconstruit, obtenu en sortie de cet additionneur, est filtré par l'intermédiaire du filtre 25 puis mémorisé dans le circuit 26 qui mémorise donc l'image reconstruite en cours de codage. Le circuit de compensation de mouvement et de prédiction Intra associé au circuit mémoire, l'ensemble constituant le circuit référencé 26, effectue la compensation en mouvement en fonction des vecteurs mouvement reçus, cas de la prédiction Inter, ou la prédiction Intra, pour définir le bloc prédit dans l'image. Ce bloc prédit est transmis sur une deuxième entrée du soustracteur 29 qui fournit en sa sortie le bloc de résidus en mode de codage inter ou en mode de prédiction intra.
Soit les vecteurs mouvements sont calculés par le codeur qui comprend alors un circuit d'estimation de mouvement 27. Soit ces vecteurs proviennent du circuit de décodage, faisant ainsi l'économie de cet estimateur de mouvement, au détriment de la qualité comme indiqué plus haut.
Une architecture simplifiée est proposée par GJ. Keesman, dans le document intitulé « Multi-program Video Data Compression »,
Thesis Technische Universitàt Delft. ISBN 90-74445-20-9, 1995, qui prend en compte la linéarité de la transformation DCT et de la compensation de mouvement.
La figure 4 représente une telle architecture simplifiée de réduction de débit T2. Une boucle de rétroaction de l'erreur de quantification est ajoutée. Le flux de données vidéo comprimées est transmis à l'entrée du circuit de décodage en longueur variable VLD 40, puis d'un circuit de quantification inverse IQ1 41 qui effectue une déquantification, généralement au pas de quantification correspondant au codage des données reçues. Aux blocs de coefficients déquantifiés transmis sur une première entrée d'un soustracteur 42 sont soustraits les prédictions d'erreurs de requantification provenant du circuit de transformation cosinus discrète DCT 49 transmis sur la deuxième entrée du soustracteur. En mode inter, donc lorsque les blocs de coefficients déquantifiés sont des blocs de résidus inter, il s'agit des prédictions d'erreur calculées à partir d'une image d'erreurs de requantification de l'image de référence mémorisée, pour un bloc d'erreurs de requantification de cette image d'erreurs mis en correspondance avec le bloc courant par le vecteur mouvement associé. En mode intra, lorsque les blocs de coefficients déquantifiés sont des blocs de résidus intra, il s'agit d'erreurs de requantification calculées à partir des blocs ou macroblocs de l'image courante précédemment traités et exploités pour le mode de codage prédictif intra utilisé pour ce bloc de coefficients courant. Le bloc d'erreurs de requantification prédit ainsi calculé dans le domaine spatial subit une transformation cosinus discrète 49 pour donner un bloc d'erreurs dans le domaine transformée, bloc soustrait au bloc courant déquantifié. Le bloc de coefficients corrigés alors obtenu est transmis à un circuit de quantification Q2 43 puis à un circuit de codage en longueur variable VLC 44 pour donner le flux de données vidéo transcodées, converti au débit souhaité par le choix du pas de quantification intermédiaire Q2 du quantificateur 43. En sortie de ce quantificateur Q2 43, le signal est également transmis à un quantificateur inverse IQ2 référencé 45. La sortie de ce circuit donne des blocs de coefficients corrigés reconstruits après quantification et déquantification au pas de quantification Q2 auxquels sont soustraits, par l'intermédiaire d'un soustracteur 46, les blocs de coefficients corrigés après quantification et déquantification au pas de quantification Q1 . La différence représente l'erreur de requantification qui est faite. Le bloc d'erreurs de requantification reconstruit en sortie de ce soustracteur 46, constitué des erreurs de requantification de ces blocs de coefficients corrigés, est transmis à un circuit de transformation cosinus discrète inverse
47 et le bloc d'erreurs obtenu dans le domaine spatial est mémorisé par le circuit 48. On obtient ainsi, pour le codage en mode inter, une image d'erreurs dans le domaine spatial, erreurs que l'on a faites en requantifiant les coefficients. Les erreurs faites sur une image de référence sont mémorisées afin d'être exploitées lors du codage inter des images par exemple de type bidirectionnel ou de type P s'appuyant sur des images de référence. Ces erreurs de requantification des blocs de coefficients sont traduites dans le domaine spatial afin de pouvoir exploiter la compensation de mouvement, les informations relatives aux vecteurs mouvement étant transmises à ce circuit 48 comprenant le bloc mémoire et le bloc compensation de mouvement. En mode intra, ce sont donc les blocs voisins qui sont mémorisés dans le domaine spatial afin de pouvoir calculer l'erreur de requantification en fonction des valeurs de luminance des blocs voisins exploitées pour la prédiction intra. Le bloc de prédiction intra ainsi calculé ou le bloc compensé en mouvement pour la prédiction inter est extrait du circuit
48 pour être transformé par le circuit de transformation cosinus discrète 49 avant d'être transmis sur la deuxième entrée du soustracteur 42. Bien sûr, la mémoire comporte le nombre d'images de référence utilisées pour le codage inter. Lorsqu'un bloc courant est requantifié, il est ainsi possible de retrancher l'erreur qui a été faite sur les images de référence ou blocs voisins sur lesquels s'était appuyé ce bloc courant lors de son codage. En effet, le décodeur fournira ces références avec cette erreur de requantification.
Cette simplification peut être appliquée au transcodage de type MPEG 2 ou MPEG 4 part 2 alors sans exploitation de prédiction intra ou bien au codage MPEG4 part 10 ou AVC, l'absence de filtres dans la boucle introduisant cependant une légère dégradation. Cette architecture simplifiée T2 permet de supprimer un bloc de compensation de mouvement et un bloc de quantification inverse d'une part, et de supprimer un des deux modules de stockage d'images d'autre part. Cette architecture nécessite donc moins de puissance de calcul et moins de ressource mémoire. L'image décodée n'est jamais reconstruite, et le module de stockage est utilisé pour stocker les erreurs dues à la requantification.
Cette architecture n'est pas tout à fait identique au schéma de transcodage car les opérations de quantification et de quantification inverse d'une part, et les calculs de transformation cosinus discrète et transformation inverse, qui sont des combinaisons linéaires, d'autre part, entraînent des arrondis. De même, les opérations dans le domaine spatial de compensation de mouvement qui exploitent des interpolations linéaires ou les opérations de calculs de blocs prédits à partir de combinaisons linéaires sur des valeurs de luminance de blocs voisins génèrent, de par les arrondis de calculs, des erreurs que l'on ne peut pas prendre en compte avec l'architecture T2. Une dégradation est donc introduite, qui s'accumule tout au long d'un groupe d'images ou GOP, dégradation appelée dérive ou « drift » en anglais, car certaines images sont utilisées comme prédiction pour le codage des images suivantes. Dans le cas du codage utilisant le mode de prédiction inter, cette dégradation se propage sur les images exploitant ces références, il s'agit de propagation d'erreur temporelle. Cependant, cette propagation ou cumul des erreurs, ou dérive, est remise à zéro pour chaque image de type intra, I ou IDR pour l'AVC, qui n'exploite pas d'image de référence pour son codage. Une image IDR, définie dans la norme MPEG4 part 10, acronyme de l'anglais Instantaneous Decoding Refresh, pour rafraîchissement de décodage instantané, est une image clé intra en deçà de laquelle aucune image suivante ne peut se référer.
Dans le cas de réduction de débit AVC exploitant le codage prédictif intra, cette dérive est beaucoup plus importante. En effet, une dégradation sur le macrobloc qui sert de prédiction s'accumule sur le ou les bloc(s) voisin(s). Dans le cas des images de type I ou IDR, tous les macroblocs de l'image utilisent ce mode de prédiction, la dérive s'accumule donc au sein de l'image potentiellement autant de fois que l'image contient de macroblocs, il s'agit de propagation d'erreur spatiale. Les performances de l'algorithme traditionnel de réduction de débit pour ces images sont alors très inférieures à celles du transcodage.
Un des buts de l'invention est de pallier les inconvénients précités. L'invention a pour objet un procédé de réduction de débit d'un premier flux de données vidéo codées en un deuxième flux, par déquantification d'un bloc de coefficients selon un premier pas de quantification puis requantification d'un bloc selon un deuxième pas de quantification, le codage exploitant le mode prédictif calculant un bloc prédit à partir d'une image de référence, caractérisé en ce qu'il comporte une étape de test pour déterminer si l'image à laquelle appartient le bloc de coefficients est de type intra ou comporte un nombre de macroblocs de type intra supérieur à un seuil, et en ce que,
- dans la négative, un mode de codage sans correction d'erreur de requantification est choisi, le bloc de coefficients à requantifier selon le deuxième pas étant le bloc de coefficients déquantifié au premier pas, - dans l'affirmative, un mode de codage avec correction d'erreur de requantification est choisi, le bloc de coefficients à requantifier selon le deuxième pas étant le bloc de coefficients déquantifié au premier pas corrigé à l'aide d'un bloc d'erreurs de requantification prédit relatif à l'image courante si le bloc de coefficients est codé en mode intra, calculé à partir de blocs d'erreurs de requantification reconstruits et mémorisés, relatifs au(x) bloc(s) servant au calcul du bloc prédit.
Selon une mise en oeuvre particulière, lorsque l'image à laquelle appartient le bloc de coefficient est une image de référence, l'étape de test force le mode de codage avec correction d'erreur, le bloc de coefficients à requantifier selon le deuxième pas étant le bloc de coefficients déquantifié au premier pas corrigé à l'aide d'un bloc d'erreurs de requantification prédit relatif à l'image courante si le bloc de coefficients est codé en mode intra ou à au moins une précédente image de référence si le bloc de coefficients est codé en mode inter, calculé à partir de blocs d'erreurs de requantification reconstruits et mémorisés, relatifs au(x) bloc(s) servant au calcul du bloc prédit.
Selon une mise en oeuvre particulière, lorsque l'image à laquelle appartient le bloc de coefficient est à une distance d'une prochaine image de rafraîchissement inférieure à un seuil prédéterminé, l'étape de test force le mode de codage sans correction d'erreur. Selon une mise en oeuvre particulière, un bloc d'erreurs de requantification reconstruit est obtenu par soustraction du bloc de coefficients corrigés au bloc de coefficients corrigés quantifié puis déquantifié au deuxième pas de quantification.
Selon une mise en oeuvre particulière, le bloc d'erreurs de requantification prédit est obtenu par compensation en mouvement, à partir d'un vecteur mouvement associé au bloc, de l'image d'erreurs formée des blocs d'erreurs reconstruits de l'image de référence relative au vecteur mouvement.
Selon une mise en oeuvre particulière, le bloc d'erreurs de requantification prédit est obtenu par prédiction Intra, calculée à partir du mode de prédiction intra associé au bloc courant et des blocs d'erreur reconstruits de l'image courante.
Selon une mise en oeuvre particulière, l'étape de test comprend une vérification du contenu du champ nal_ref_idc dans le premier flux de données.
Selon une mise en oeuvre particulière, l'étape de test comprend une vérification du type de l'image à laquelle appartient le bloc à coder.
Selon une mise en oeuvre particulière, les flux de données vidéo sont codés selon le standard MPEG 4 part 10, MPEG 4 part 2 ou MPEG 2.
Le procédé effectue une correction du pas de quantification, avec prédiction intra, pour les erreurs de requantification relatives aux blocs intra, à partir des erreurs de requantification mémorisées pour des blocs de l'image en cours de traitement, s'il s'agit d'une image de type intra prédictif. Une variante consiste à réaliser cette correction également pour des images comportant un nombre de macroblocs de type intra supérieur à un seuil prédéterminé ou pour des images de référence comportant un nombre de macroblocs de type intra supérieur à un seuil prédéterminé.
Une variante consiste à effectuer une correction du pas de requantification avec compensation en mouvement ou prédiction intra pour les erreurs de requantification relatives aux images de référence à partir des erreurs de quantification mémorisées pour une ou plusieurs images de référence précédentes auxquelles fait appel l'image de référence en cours de traitement.
Une variante consiste à prendre en compte le nombre d'images à coder avant la prochaine image de type intra pour décider de la correction des erreurs de requantification, par exemple en n'effectuant pas de correction sur les dernières images d'un GOP. En effet, la dérive ne va s'appliquer que pour quelques images, avant le prochain rafraîchissement en intra.
Une variante consiste à modifier la valeur du pas de requantification en fonction du type de macrobloc requantifié. Dans un exemple, le même pas de quantification que celui au codage est exploité pour les macroblocs de type intra. Dans un autre exemple, l'augmentation du pas de quantification est moins sévère pour les macroblocs de type intra, de manière à conserver une bonne qualité de codage et de prédiction pour ce macrobloc et blocs intra. La décision ou le niveau de modification du pas de quantification par rapport au pas de requantification calculé à l'origine, peut dépendre du nombre de macroblocs codés en intra dans l'image.
Ainsi, alors que le schéma mettant en œuvre un tel procédé est simplifié par rapport à une architecture faisant systématiquement une telle correction, la qualité des images obtenues est très voisine. La complexité, nombre de calculs ou nombre de cycles du processeur de traitement, la capacité mémoire, sont moindres pour une légère dégradation de l'image, pratiquement invisible car elle ne s'accumule pas avec les erreurs précédentes. Par rapport à une architecture que l'on pourrait qualifier de basique, exploitant uniquement la déquantification et requantification pour la réduction de débit, la dégradation de qualité des images est fortement atténuée, du fait de la prise en compte de la dérive pour les images de référence.
D'autres particularités et avantages de l'invention apparaîtront clairement dans la description suivante donnée à titre d'exemple non limitatif, et faite en regard des figures annexées qui représentent :
- la figure 1 , un procédé de transcodage selon l'art antérieur,
- la figure 2, un procédé de transcodage selon l'art antérieur utilisant des informations d'une première passe,
- la figure 3, une architecture de transcodage AVC selon l'art antérieur,
- la figure 4, une architecture simplifiée de réduction de débit selon l'art antérieur,
- la figure 5, une architecture de réduction de débit selon l'invention, - la figure 6, une comparaison des performances.
La figure 5 représente un exemple d'architecture de réduction de débit selon l'invention. Les numéros de référence sont repris de la figure 4 pour les circuits similaires. Cette architecture correspond à l'architecture T2 dans laquelle sont ajoutés trois commutateurs 50, 51 et 52. Un circuit de traitement du réducteur de débit, non représenté sur la figure, commande ces commutateurs ou circuits de commutation selon que le bloc courant traité appartienne ou pas à une image de type intra, à une image comportant un nombre de blocs intra supérieur à un seuil, à une image de référence comportant éventuellement cette condition de seuil, conditions exclusives ou combinées selon la stratégie adoptée. Par simplification, la description suivante considère la commutation dans le cas où le bloc appartient à une image de référence, les autres cas pouvant être facilement déduits.
Ainsi, la sortie du soustracteur 42, qui est reliée au quantificateur Q2 43, est également reliée à la première entrée du soustracteur 46 par l'intermédiaire d'un commutateur 50 qui se trouve en position fermée ou passante lorsque le bloc courant est un bloc d'une image référence, et qui se trouve en position ouverte lorsque le bloc n'appartient pas à une image de référence. La sortie du quantificateur Q2 43, reliée au codeur à longueur variable 44, est également reliée à l'entrée du déquantificateur IQ2 45 par l'intermédiaire d'un commutateur 51 qui se trouve en position fermée ou passante lorsque le bloc courant est un bloc d'une image de référence et qui se trouve en position ouverte lorsque le bloc n'appartient pas à une image de référence. La sortie du circuit de transformation cosinus 49 est reliée à la deuxième entrée du soustracteur 42 par l'intermédiaire d'un commutateur 52 qui se trouve en position fermée ou passante lorsque le bloc courant est un bloc d'une image de référence et qui se trouve en position ouverte lorsque le bloc n'appartient pas à une image de référence. Dans le cadre de la norme MPEG 2, les images de référence sont des images de type I ou P. Ainsi, le circuit de traitement prend en compte le type d'image pour définir la position des commutateurs.
Dans le cadre de la norme H264, les type lntra (I), prédictif (P) et bi-prédictifs (B) ne sont plus attribués à une image mais à une tranche de macroblocs ou supermacroblocs d'une image. Aussi, le circuit de traitement ne va pas prendre en compte le type de tranche auquel appartient le macrobloc mais un champ particulier, dans le flux de données, qui permet de savoir si la tranche de macroblocs appartient ou non à une image de référence. Si une tranche de macroblocs appartient à une image de référence, les commutateurs seront en position fermée, en position ouverte dans le cas contraire.
Ainsi, lors de la réception du flux de données, le contenu d'un champ appelé nal_ref_idc, dans l'entête des tranches de macroblocs, est lu. Ce champ indique si la tranche de macroblocs appartient ou non à une image de référence. Le paragraphe 7.4.1 du document normatif H264 déjà mentionné définit le champ nal_ref_idc comme étant différent de zéro lorsque le contenu d'une unité NAL renferme un jeu de paramètres d'une séquence ou d'une image ou une tranche d'une image de référence, ou bien une partition de données d'une tranche d'une image de référence. Un « NAL », acronyme de l'appellation anglaise Network Abstraction Layer, est une couche d'abstraction pour le réseau. Une unité NAL est un groupe ou morceau du flux élémentaire. Chaque unité possède une entête et, dans cette entête, un champ nal_ref_idc, permettant entre autres de faciliter l'interface avec les couches transport réseau, par exemple pour encapsuler les éléments du flux élémentaire. Ce champ est lu ici pour déterminer si la tranche relative à cette unité NAL est une tranche d'une image de référence. Dans le flux de données, une information est donc affectée à chaque image, type d'image I, P ou B dans le cas de la norme MPEG2, ou à chaque tranche, valeur d'un champ nal_ref_idc, cas de la norme MPEG4, pour indiquer si cette image ou l'image à laquelle appartient la tranche peut être exploitée comme image de référence, pour le codage prédictif. Le circuit de traitement extrait cette information du champ de données du flux relatif à l'image ou à la tranche courante pour commander les divers circuits de commutation.
D'une autre manière, concernant cette architecture, on peut dire que, lorsqu'il ne s'agit pas d'une image de référence, le bloc de coefficients à requantifier selon le deuxième pas est le bloc de coefficients déquantifié au premier pas, s'il s'agit d'une image de référence, le bloc de coefficients à requantifier selon le deuxième pas est le bloc de coefficients déquantifié au premier pas corrigé à l'aide d'un bloc d'erreurs de requantification prédit relatif à cette image de référence si le bloc de coefficients est codé en mode intra ou à au moins une précédente image de référence si le bloc de coefficients est codé en mode inter, calculé à partir de blocs d'erreurs de requantification reconstruits et mémorisés, relatifs au(x) bloc(s) servant au calcul du bloc prédit. Cette architecture permet de supprimer tout simplement la boucle de compensation de mouvement des erreurs de requantification lorsque les blocs traités ne sont pas des blocs appartenant à des images de référence. On se contente alors de requantifier les coefficients. L'erreur de requantification n'est pas corrigée pour les images qui ne sont pas de référence.
Lorsque les blocs traités peuvent être utilisés pour une prédiction temporelle ou pour une prédiction spatiale, les erreurs de requantification sont corrigées, évitant une accumulation des erreurs. Les résidus, qui font le lien entre le bloc courant et un bloc prédit d'une image précédente en mode inter ou d'une image courante en mode intra prédictif, ont une fonction supplémentaire qui est de corriger l'erreur faite sur ce bloc prédit lorsque le bloc courant appartient à une image de référence. Ainsi, la correction d'erreurs de requantification n'est effectuée et mémorisée que pour des blocs qui serviront de référence. Il faut remarquer que la correction d'erreur de requantification relative à un bloc courant d'une image de référence ne se fait pas sur ce bloc courant, lors de son codage, mais sur un prochain bloc d'une image de référence, ou de la même image en mode intra prédictif, exploitant ce bloc courant comme référence pour sa prédiction.
Les images qui ne sont pas des images de référence sont codées avec une qualité moindre, ce qui n'est pas très gênant car il s'agit d'images furtives.
Le procédé mis en œuvre introduit une légère dégradation ou dérive qui s'accumule tout au long du groupe d'images ou GOP. Cette dérive est remise à zéro pour chaque image de type I ou IDR pour la norme AVC. En mode « broadcast » ou « broadband », il y a en général une image de type IDR ou I toutes les secondes, en fait entre 0.5 ou 2 secondes. Ainsi, la dérive reste acceptable car elle est remise à zéro régulièrement.
La figure 6 représente un exemple de performances obtenues avec cette nouvelle architecture selon l'invention.
En abscisse est indiqué le nombre d'images et en ordonnées le rapport signal à bruit ou psnr en décibels. Les courbes représentent la qualité ou rapport signal à bruit d'une séquence de référence de 100 images dont la première image est de type intra I, les 39 suivantes de type P ou B. Les mesures sont faites sur des images constituées d'une seule tranche ou « slice » en anglais, dont le type est attribué à l'image.
Une première courbe est obtenue après une réduction de débit selon l'architecture de type T2, une deuxième courbe est obtenue en exploitant l'architecture selon l'invention. Les courbes ne sont pas référencées car elles sont très voisines. Il n'y a pratiquement pas de différence en terme de qualité alors qu'en termes de puissance de calcul, un gain d'environ 10% est obtenu.
La figure 7 permet de comparer les performances de notre invention, en termes de qualité, par rapport à une architecture très simplifiée consistant en une déquantification au pas de quantification Q1 puis une requantification au pas de quantification Q2. La courbe référencée 53 correspond à cette architecture, seules les images de type intra étant codées selon l'architecture T2. La courbe référencée 54 correspond à l'architecture selon l'invention. L'écart entre les courbes montre l'intérêt de corriger l'erreur de requantification pour l'ensemble des images de référence afin d'éviter qu'elle s'accumule sur ces images utilisées comme prédiction. Le décalage entre les deux courbes augmente au fur et à mesure que l'on s'éloigne d'une image de type intra I ou IDR dans le cas de la norme AVC, du fait de l'accumulation de cette erreur. Les deux courbes se rejoignent lors du codage d'une image en mode intra, par exemple lors d'une détection de coupure de séquence ou en début d'un groupe d'images ou GOP.
L'invention peut s'appliquer aussi bien à des données codées selon un format MPEG 4 part 10 ou H264 exploitant les modes de codage intra prédictifs, que pour un format MPEG 4 part 2 ou même MPEG 2 ou MPEG1. Dans le cas où le format MPEG2 est exploité, l'information mémorisée dans la mémoire 48 est exploitée pour une image suivante. Dans le cas du format H264, cette information est également exploitée pour l'image courante.

Claims

REVENDICATIONS
1. Procédé de réduction de débit d'un premier flux de données vidéo codées en un deuxième flux, par déquantification (41 ) d'un bloc de coefficients selon un premier pas de quantification puis requantification (43) d'un bloc selon un deuxième pas de quantification, le codage exploitant le mode prédictif calculant un bloc prédit à partir d'une image de référence, caractérisé en ce qu'il comporte une étape de test pour déterminer si l'image à laquelle appartient le bloc de coefficients comporte un nombre de macroblocs de type intra supérieur à un seuil, et en ce que,
- dans la négative, un mode de codage sans correction d'erreur de requantification est choisi, le bloc de coefficients à requantifier selon le deuxième pas étant le bloc de coefficients déquantifié au premier pas, - dans l'affirmative, un mode de codage avec correction d'erreur de requantification est choisi, le bloc de coefficients à requantifier selon le deuxième pas étant le bloc de coefficients déquantifié au premier pas corrigé à l'aide d'un bloc d'erreurs de requantification prédit (48, 49) relatif à l'image courante si le bloc de coefficients est codé en mode intra, calculé à partir de blocs d'erreurs de requantification reconstruits (43, 45, 47) et mémorisés (48), relatifs au(x) bloc(s) servant au calcul du bloc prédit.
2. Procédé selon la revendication 1 , caractérisé en ce que, lorsque l'image à laquelle appartient le bloc de coefficient est une image de référence, l'étape de test force le mode de codage avec correction d'erreur, le bloc de coefficients à requantifier selon le deuxième pas étant le bloc de coefficients déquantifié au premier pas corrigé à l'aide d'un bloc d'erreurs de requantification prédit (48, 49) relatif à l'image courante si le bloc de coefficients est codé en mode intra ou à au moins une précédente image de référence si le bloc de coefficients est codé en mode inter, calculé à partir de blocs d'erreurs de requantification reconstruits (43, 45, 47) et mémorisés (48), relatifs au(x) bloc(s) servant au calcul du bloc prédit.
3. Procédé selon la revendication 1 , caractérisé en ce que, lorsque l'image à laquelle appartient le bloc de coefficient est à une distance d'une prochaine image de rafraîchissement inférieure à un seuil prédéterminé, l'étape de test force le mode de codage sans correction d'erreur.
4. Procédé selon la revendication 1 , caractérisé en ce qu'un bloc d'erreurs de requantification reconstruit est obtenu par soustraction (46) du bloc de coefficients corrigés au bloc de coefficients corrigés quantifié (43) puis déquantifié (45) au deuxième pas de quantification.
5 Procédé selon la revendication 1 , caractérisé en ce que le bloc d'erreurs de requantification prédit est obtenu par compensation en mouvement (48), à partir d'un vecteur mouvement associé au bloc, de l'image d'erreurs formée des blocs d'erreurs reconstruits de l'image de référence relative au vecteur mouvement.
6. Procédé selon la revendication 1 , caractérisé en ce que le bloc d'erreurs de requantification prédit est obtenu par prédiction Intra (48), calculée à partir du mode de prédiction intra associé au bloc courant et des blocs d'erreur reconstruits de l'image courante.
7. Procédé selon la revendication 1 , caractérisé en ce que l'étape de test comprend une vérification du contenu du champ nal_ref_idc dans le premier flux de données.
8. Procédé selon la revendication 1 , caractérisé en ce que l'étape de test comprend une vérification du type de l'image à laquelle appartient le bloc à coder.
9. Procédé selon la revendication 1 , caractérisé en ce que les flux de données vidéo sont codés selon le standard MPEG 4 part 10, MPEG 4 part 2 ou MPEG 2.
PCT/EP2008/051517 2007-02-16 2008-02-07 Procede de reduction de debit WO2008101815A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0753306 2007-02-16
FR0753306A FR2912861A1 (fr) 2007-02-16 2007-02-16 Procede de reduction de debit

Publications (1)

Publication Number Publication Date
WO2008101815A1 true WO2008101815A1 (fr) 2008-08-28

Family

ID=38799312

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2008/051517 WO2008101815A1 (fr) 2007-02-16 2008-02-07 Procede de reduction de debit

Country Status (2)

Country Link
FR (1) FR2912861A1 (fr)
WO (1) WO2008101815A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001052549A1 (fr) * 2000-01-14 2001-07-19 Koninklijke Philips Electronics N.V. Procede et dispositif de transcodage
US20040081237A1 (en) * 2002-10-28 2004-04-29 Roger Kingsley Transcoder system for compressed digital video bitstreams
US20050147163A1 (en) * 2003-12-30 2005-07-07 Microsoft Corporation Scalable video transcoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001052549A1 (fr) * 2000-01-14 2001-07-19 Koninklijke Philips Electronics N.V. Procede et dispositif de transcodage
US20040081237A1 (en) * 2002-10-28 2004-04-29 Roger Kingsley Transcoder system for compressed digital video bitstreams
US20050147163A1 (en) * 2003-12-30 2005-07-07 Microsoft Corporation Scalable video transcoding

Also Published As

Publication number Publication date
FR2912861A1 (fr) 2008-08-22

Similar Documents

Publication Publication Date Title
US7330509B2 (en) Method for video transcoding with adaptive frame rate control
JP4362259B2 (ja) ビデオ符号化方法
EP0690392B1 (fr) Procédé et dispositif de transcodage d'une séquence de signaux numériques codés
CA2562172C (fr) Procede et dispositif de prevision de trames en compression video hybride rendant possible un redimensionnement temporel
AU726129B2 (en) Video coding
US20080198926A1 (en) Bitrate reduction method by requantization
JP3861698B2 (ja) 画像情報符号化装置及び方法、画像情報復号装置及び方法、並びにプログラム
US20040240560A1 (en) Video decoder architecture and method for using same
EP1445958A1 (fr) Procédé et système de quantification, par example pour applications MPEG, et programme informatique correspondant
US6961377B2 (en) Transcoder system for compressed digital video bitstreams
US7792374B2 (en) Image processing apparatus and method with pseudo-coded reference data
US7826529B2 (en) H.263/MPEG video encoder for efficiently controlling bit rates and method of controlling the same
FR2952497A1 (fr) Procede de codage et de decodage d'un flux d'images; dispositifs associes
US7079578B2 (en) Partial bitstream transcoder system for compressed digital video bitstreams
US8442113B2 (en) Effective rate control for video encoding and transcoding
US20050013496A1 (en) Video decoder locally uses motion-compensated interpolation to reconstruct macro-block skipped by encoder
JP2004343278A (ja) 画像処理装置および画像処理方法、情報処理装置、記録媒体、並びに、プログラム
US20100329340A1 (en) Method and apparatus for eliminating encoding delay when a telecine source material is detected
WO2008101815A1 (fr) Procede de reduction de debit
JP2005012249A (ja) 画像処理装置および画像処理方法、情報処理装置、記録媒体、並びに、プログラム
FR2908259A1 (fr) Procede de reduction de debit d'un premier flux de donnees video codees en un deuxieme flux
US20060109906A1 (en) Methods and apparatus for dynamically adjusting f-codes for a digital picture header
Wee et al. Efficient processing of compressed video
Xin Improved standard-conforming video transcoding techniques
US8233709B2 (en) Color effects for compressed digital video

Legal Events

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

Ref document number: 08708796

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08708796

Country of ref document: EP

Kind code of ref document: A1