FR2912861A1 - Procede de reduction de debit - Google Patents

Procede de reduction de debit Download PDF

Info

Publication number
FR2912861A1
FR2912861A1 FR0753306A FR0753306A FR2912861A1 FR 2912861 A1 FR2912861 A1 FR 2912861A1 FR 0753306 A FR0753306 A FR 0753306A FR 0753306 A FR0753306 A FR 0753306A FR 2912861 A1 FR2912861 A1 FR 2912861A1
Authority
FR
France
Prior art keywords
block
image
error
intra
coefficient block
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.)
Pending
Application number
FR0753306A
Other languages
English (en)
Inventor
Philippe Bordes
Anita Orhand
Ronan Poullaouec
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 SAS filed Critical Thomson Licensing SAS
Priority to FR0753306A priority Critical patent/FR2912861A1/fr
Priority to PCT/EP2008/051517 priority patent/WO2008101815A1/fr
Publication of FR2912861A1 publication Critical patent/FR2912861A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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

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

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 io 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 15 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 20 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 25 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 30 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 35 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 io 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 15 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 20 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 coeur de codage exploitant, entre autres, la transformée cosinus discrète et la quantification. Le flux de données ainsi 25 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 coeur de codage 7 exploitant les informations de son circuit d'estimation de 30 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 35 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 coeur 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, cascadés. io 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 15 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 20 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 25 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 30 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 35 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 io estimateur de mouvement, au détriment de la qualité comme indiqué plus haut. Une architecture simplifiée est proposée par G.J. Keesman, dans le document intitulé Multi-program Video Data Compression , Thesis Technische Universitât Delft. ISBN 90-74445-20-9, 1995, qui prend 15 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. 20 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 25 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 30 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 35 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 io 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 15 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 20 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 25 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 30 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 35 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. io 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 15 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 20 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 25 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. 30 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 35 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 io 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 15 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 20 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, 25 - 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é à 30 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 35 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. io 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 15 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 20 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 25 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 30 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 35 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 io 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 15 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 rafraichissement en intra. Une variante consiste à modifier la valeur du pas de requantification en fonction du type de macrobloc requantifié. Dans un 20 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 25 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 oeuvre un tel procédé est simplifié par rapport à une architecture faisant systématiquement une telle 30 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. 35 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 io 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, 15 - 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 20 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 25 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 30 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 35 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. io 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 Intra (I), prédictif (P) et bi-prédictifs (B) ne sont plus attribués à une image mais à une tranche de 15 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 20 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 25 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 30 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 35 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 io 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 15 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. 20 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 25 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 30 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 35 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 oeuvre 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. io 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 15 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. 20 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 25 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 30 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 à 35 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 lo 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. 15

Claims (9)

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 io à 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, 15 - 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, 20 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 25 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 30 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, 35 lorsque l'image à laquelle appartient le bloc de coefficient est à une distance d'une prochaine image de rafraîchissement inférieure à un seuil 15 20pré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 25 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 30 4 part 2 ou MPEG 2.
FR0753306A 2007-02-16 2007-02-16 Procede de reduction de debit Pending FR2912861A1 (fr)

Priority Applications (2)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
FR2912861A1 true FR2912861A1 (fr) 2008-08-22

Family

ID=38799312

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0753306A Pending FR2912861A1 (fr) 2007-02-16 2007-02-16 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
WO2008101815A1 (fr) 2008-08-28

Similar Documents

Publication Publication Date Title
US7330509B2 (en) Method for video transcoding with adaptive frame rate control
EP0690392B1 (fr) Procédé et dispositif de transcodage d'une séquence de signaux numériques codés
EP1145558B1 (fr) Systeme de mise en forme de sequences d'images comprimees
US20080198926A1 (en) Bitrate reduction method by requantization
AU726129B2 (en) Video coding
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
KR20040047977A (ko) 공간적으로 스케일가능한 압축
US6961377B2 (en) Transcoder system for compressed digital video bitstreams
US7792374B2 (en) Image processing apparatus and method with pseudo-coded reference data
JP2000059790A (ja) 動画像符号列変換装置及びその方法
US7826529B2 (en) H.263/MPEG video encoder for efficiently controlling bit rates and method of controlling the same
FR2888424A1 (fr) Dispositif et procede de codage et de decodage de donnees video et train de donnees
US7079578B2 (en) Partial bitstream transcoder system for compressed digital video bitstreams
US8442113B2 (en) Effective rate control for video encoding and transcoding
JP4224778B2 (ja) ストリーム変換装置および方法、符号化装置および方法、記録媒体、並びに、プログラム
US20050013496A1 (en) Video decoder locally uses motion-compensated interpolation to reconstruct macro-block skipped by encoder
EP2410749A1 (fr) Procédé d'encodage adaptatif d'un flux vidéo numérique, notamment pour diffusion sur ligne xDSL
US20050226330A1 (en) Method and apparatus for motion compensated temporal interpolation of video sequences
JP2005012249A (ja) 画像処理装置および画像処理方法、情報処理装置、記録媒体、並びに、プログラム
FR2912861A1 (fr) Procede de reduction de debit
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
Xin Improved standard-conforming video transcoding techniques
JP4539028B2 (ja) 画像処理装置および画像処理方法、記録媒体、並びに、プログラム