Livrable 2.1 Rapport d analyse et de restructuration de code monothread des modules P, T, Q et F de l encodage MPEG-4 AVC



Documents pareils
ISO/CEI NORME INTERNATIONALE

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

Codage vidéo par block matching adaptatif

DEVANT L UNIVERSITE DE RENNES 1

Quantification Scalaire et Prédictive

En DV (PAL ou NTSC), la largeur est toujours de 720 pixels, c'est la proportion du pixel qui change la proportion de l'image.

Technique de compression des images médicales 4D

Mesure agnostique de la qualité des images.

Cinéma Numérique : État de l art d un point de vue Art et Essai

Présent et futur dans la normalisation de la compression 3D

QoS et Multimédia SIR / RTS. Introduction / Architecture des applications multimédia communicantes

Chaine de transmission

Multimedia. Systèmes, Communications et Applications. Ahmed MEHAOUA

L EXPORTATION d un PROJET.MVP

Formats d images. 1 Introduction

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

Transmission d informations sur le réseau électrique

MASTER. Transmission Vidéo dans les Réseaux Sans Fils et Mobiles. Challenges et Solutions

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

IPHONE BANNIÈRE CLASSIQUE DIMENSIONS. Standard : 320 x 53 (portrait) 20Ko Jpeg/Gif/Png. HD : 640 x 106 (portrait) 20Ko Jpeg/Gif/Png DESCRIPTION

Preliminary Spec Sheet

Communications immersives : Enjeux et perspectives

EXPERT FINAL CUT STUDIO

Un schéma de compression avec pertes efficace pour les images médicales volumiques

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Approche par marquage pour l évaluation de la qualité d image dans les applications multimédias

1 THALES Land & Joint Systems, EDS/SPM WaveForm Design group

Compression scalable d'images vidéo par ondelettes 2D+t

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Codage d information. Codage d information : -Définition-

ITIL Gestion de la capacité

Note technique. Formats de compression vidéo utilisés par CamTrace V11 avantages et inconvénients.

Chapitre 18 : Transmettre et stocker de l information

DOCUMENT DE SYNTHÈSE. Accéder facilement à la vidéo sur IP Les encodeurs vidéo offrent instantanément les avantages de la surveillance sur IP

Fiche d identité produit

données en connaissance et en actions?

Spécification fonctionnelle joyn France

Glossaire technique Veditec

Maintenir un service de traitement de son ou d image d ordinateur

Université de Lausanne

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

Enregistrement et transformation du son. S. Natkin Novembre 2001

Rapport de stage. Implantation en virgule fixe d un codeur audio. Romain Serizel

DE LA CAMÉRA SOMMAIRE

Tutoriel PowerPoint. Fréquences, puissance et modulation. Benoît Volet 25/02/2010

Transmission de données. A) Principaux éléments intervenant dans la transmission

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

La couche physique de l ADSL (voie descendante)

Réseaux Multimédia et Qualité de Service

Les réseaux cellulaires vers la 3G

Représentation des Nombres

Dans la série Les tutoriels libres présentés par le site FRAMASOFT. <Handbrake> <Utilisation d'handbrake pour les débutants> Par <OLIVIER LECLERCQ>

Alcatel Premium Reflexes. Alcatel OmniPCX Office ARCHITECTS OF AN INTERNET WORLD

Le signal GPS. Les horloges atomiques à bord des satellites GPS produisent une fréquence fondamentale f o = Mhz

Guide de la solution SYSTIMAX GigaSPEED X10D FTP

Norme comptable internationale 33 Résultat par action

Récupérer au format AVI un extrait d'un DVD à l'aide du logiciel FlaskMpeg

Groupe Eyrolles, 2000, 2004, ISBN :

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test

nom : Collège Ste Clotilde

Outils permettant la diffusion de l information. Un point sur le droit numérique

NFC Near Field Communication

INF6304 Interfaces Intelligentes

Limitations of the Playstation 3 for High Performance Cluster Computing


Post-production ~ captation audio/vidéo ~ RMLL 2010, Bordeaux

Réseaux TP4 Voix sur IP et Qualité de service. Partie 1. Mise en place du réseau et vérification de la connectivité

TELEVISION NUMERIQUE

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

Projet de Traitement du Signal Segmentation d images SAR

Completed Projects / Projets terminés

CAHIER DES CHARGES CONCERNANT «La communication web 2013 de la Maison de l Emploi de Marseille»

EFFETS D UN CHIFFRAGE DES DONNEES SUR

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Outils informatiques de manipulation de la vidéo et du son : une introduction

Production des Services d Assurance non-vie selon le SCN 2008

H.323. Internet Multimédia. Sommaire

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

la solution vidéo numérique qui offre une surveillance simple et puissante t: +44 (0) e: w:

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

SIMULATION HYBRIDE EN TEMPOREL D UNE CHAMBRE REVERBERANTE

Introduction au Data-Mining

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

CAP CAMION A ASSISTANCE PNEUMATIQUE


Pour vos questions ou une autorisation d utilisation relative à cette étude vous pouvez contacter l équipe via contact@4gmark.com

Interception des signaux issus de communications MIMO

Projet Gestion des Formats de Fichier

Performance et usage. La différence NETGEAR - R7000. Streaming HD illimitée

Cryptographie Quantique

QU EST-CE QUE LA VISIOCONFERENCE?

Service d'installation et de démarrage de la solution de stockage réseau HP StoreEasy 1000/3000

BACCALAURÉAT PROFESSIONNEL EPREUVE DE TRAVAUX PRATIQUES DE SCIENCES PHYSIQUES SUJET A.1

Logiciel MAXPRO NVR SOLUTION D ENREGISTREMENT VIDÉO RÉSEAU

Chapitre 1: Introduction générale

CORBA haute performance

Extrait des Exploitations Pédagogiques

Security Products Actualités produits Juin 2014

CONDITIONS GENERALES D UTILISATION

Gestion électronique des procurations

Transcription:

Groupe des Ecoles des Télécommunications Institut National des Télécommunications Département ARTEMIS Advanced Research & TEchniques for Multidimensional Imaging Systems Livrable 2.1 Rapport d analyse et de restructuration de code monothread des modules P, T, Q et F de l encodage MPEG-4 AVC Projet PARA Auteurs : Son Minh Tran, Marius Preda Participants : INT/ARTEMIS, UVSQ, IRISA CAPS, CAPS ENTREPRISE Octobre 2006

Sommaire 1. INTRODUCTION... 3 2. LES COMPOSANTES DE L ENCODAGE MPEG-4 AVC... 4 3. RESULTATS... 5 3.1 L EFFICACITE DE L ENCODEUR MPEG-4 AVC... 5 3.2 LA COMPLEXITE DE L ENCODEUR AVC... 6 3.3 BASE DES DONNEES VIDEOS... 7 3.4 PLATE-FORME LOGICIELLE... 7 3.5 ANALYSE DE L IMPLANTATION X264... 9 4. SOMMAIRE ET PERSPECTIVES... 13 REFERENCES... 13

1. Introduction Selon les prévisions dans le developement materiel, les encodeurs implantant la nouvelle norme MPEG-4 AVC (Advanced Video Coding) seront capables d encoder la vidéo en temps réel, en qualité HD avec un débit de 1 Mbps à l horizon 2009. Cette hypothèse a comme base principale les prévisions en développement matériel concernant la puissance de calcul. L objectif du projet PARA est de prouver l hypothèse q un développement joint matériel et logiciel peut avancer cette prévision. En effet, l encodage MPEG-4 AVC, le dernier dans la famille des encodeurs MPEG-4 fournit des outils efficaces pour obtenir une compression vidéo meilleure (au moins 50%) par rapport au MPEG-2 et MPEG-4 v2 faisant appel a une complexité augmenté (10 fois plus pour les encodeurs) des calculs. Ce livrable présent une analyse de l encodeur MPEG-4 AVC en spécifiant et détaillent les parties qui nécessitent le plus de temps de calcul. Ce rapport servira comme base dans l étape de l optimisation du code, prévue aussi au niveau algorithmique que celui de l implantation logicielle. Les participants à ce projet sont les suivants: INT Evry Son Minh Tran Marius Preda Université de Versailles Saint-Quentin en Yvelines Denis Barthou Henri-Pierre Charles Minhaj Khan Jean-Thomas Aquaviva IRISA Rennes Sébastien Matz Les partenaires ont collaborés et ont partagés leurs savoir-faire sur des sujets qu ils expertisent et qui sont liés à réaliser le but commun final. L INT, l UVSQ et l IRISA ont apporté son expertise sure les algorithmes de compression MPEG, l optimisation de code et le calcul sur carte graphique dédiées respectivement.

2. Les composantes de l encodage MPEG-4 AVC MPEG-4 AVC, également connue sous les nomes H264 et JVT, est une norme de codage vidéo développée conjointement par l'uit-t Q.6/SG16 Video Coding Experts Group (VCEG) et ISO/IEC Moving Picture Experts Group (MPEG). Les standards UIT-T H.264 et ISO/IEC MPEG-4 Part 10 (ISO/IEC 14496-10) sont techniquement identiques. La première version du standard a été approuvée en mai 2003 et la plus récente date de mars 2005. Figure 1 illustre les composantes de base de l encodeur AVC. Comme les normes précédentes de la famille MPEG, le codeur AVC est implanté selon un schéma classique contenant 4 modules principaux: Prédiction, Transformé, Quantification, Codage entropique. La nouvelle norme AVC comporte les améliorations dans chacune des composantes. Dans le module Prédiction, le standard introduit les prédictions spatiales pour le mode Intra (bloc Sélection du mode Intra), les tailles variables (de 16x16 au 4x4) pour le mode Inter (les blocs Estimation du Mouvement EM et Compensation du Mouvement CM). De plus, la prédiction Inter peut être effectué sur des séquences plus longues, et chaque block prédit peut dépendre des plusieurs blocks, dans la même ou dans différentes images de référence. Cela implique une recherche des vecteurs de mouvement plus étendu, d où la nécessité d une puissance de calcule plus importante dans le cas de codage temps réel. Le module Transformée (T) consiste dans la décomposition du signal vidéo comme une somme pondérée des signaux à fréquence unique. En MPEG-4 AVC deux transformées sont retenues: l approximation pour des nombres entières de la DCT (la transformée C) et la transformée Hadamard. L utilisation de la transformée C à la place de la DCT permet des calculs plus rapides. L introduction de la transformée Hadamard sur les coefficients DC de la transformée initiale (C) augmente la compression dans les parties uniformes de l image. Le module Quantification (Q) introduit un contrôle plus large que les standards précédents, permettant ainsi de couvrir bas et haut débit. Le module Codage entropique implante un codeur arithmétique avec contexte. La probabilité de chaque symbole est calculée et un code de dimension optimale et obtenu. Pour une présentation plus complète sur les quatre modules, on renvoie aux [1] et [2].

(Courant) Mettre en ordre Codage entropique EM (Référence) 1 ou 2 trame(s) préalablement codée(s) Sélection du mode intra MC Intra prédiction Reconstruit Filtrage Figure 1: Schéma de l encodeur AVC. 3. Résultats 3.1 L efficacité de l encodeur MPEG-4 AVC MPEG-4 AVC inclut de nombreuses techniques nouvelles qui permettent de compresser les vidéos beaucoup plus efficacement que les normes précédentes (H.261, MPEG-1, MPEG-2, MPEG-4) et fournit plus de flexibilité aux applications en environnement réseau. Figure 2 montre l efficacité de la compression MPEG-4 AVC Main Profile (MP) en terme du PSNR luminance / débit par rapport aux normes précédentes telles que MPEG-4 Advanced Simple Profile, H.263 High Latency Profile et MPEG-2. Figure 2: PSNR par rapport au débit moyen pour différentes nomes de compression, mesuré sur le vidéo Tempete.

Figure 3 montre l efficacité du profile Base Profile du MPEG-4 AVC par rapport aux H.263 Baseline, H.263 Conversation High Compression et MPEG-4 Simple Profile. Figure 3: PSNR par rapport au débit moyen pour différentes nomes de compression, mesuré sur le vidéo Paris. La tendance ne change pas dans la Figure 4, où la comparaison est effectuée entre MPEG-4 AVC en intra mode uniquement et Motion JPEG2000. En général, en utilisant le codeur MPEG-4 AVC le gain en débit est approximativement de 30% et 50% par rapport aux MPEG-4 ASP et MPEG-2 respectivement. Figure 4: PSNR par rapport au débit moyen pour MPEG-4 H264 et MJP2000, mesuré sur le vidéo Canoe. 3.2 La complexité de l encodeur AVC Bien que la norme MPEG-4 AVC n apporte pas une rupture technologique par rapport aux normes de codage vidéo précédentes, elle comporte plusieurs modifications impliquent des calculs très complexes, a toutes les niveaux du schéma générale de codage.

Tableau 1 résume les performances des fonctionnalités principales de l encodeur AVC [4]. Il résulte le choix de prédiction (qui contient Sélection du mode intra, Intra prédiction, EM et CM) et le Codage entropique permettent la réduction du débit en s appuyant sur une complexité supérieur de calcul. Pour cette raison, nous considérons ces modules en détails, étant parmi les candidates à l amélioration algorithmiques et en ce qui concerne l implantation logicielle. Tableau 1: Complexité du calcul par rapport de débit gagné pour les principales fonctionnalités de MPEG-4 AVC Outils MPEG-4 AVC Variété de formes et de tailles de blocs Bloc fonctionnel (Figure 1) Compensation du mouvement et Estimation du mouvement Augmentation en complexité Réduction de débit (pour qualité égale) 2,5% 4-20% Transformée Hadamard T et T -1 20% inconnu Optimisation liée à la relation 120% 9% débit-distortion Codage entropique CABAC Précision fine des vecteurs de mouvement Champ élargi de recherche des vecteurs de mouvement Plusieurs images de référence Compensation du mouvement, Estimation du mouvement et Sélection du mode intra Codage Entropique Estimation du mouvement Estimation du mouvement Estimation du mouvement 25-30% 16% 10% 30% 60% inconnu 25% 2-14% 3.3 Base des données vidéos Afin de tester des conditions diverses qu on puisse retrouver dans les vidéos naturelles, nous avons mise en place une base des données. Nous avons sélectionné des vidéos qui contiennent du mouvement rapide ou/et lent, dont les textures sont complexes ou simples, et des vidéos qui contient des components synthétiques. Les détails concernant les vidéos de la base sont décrites dans [6] et les vidéos sont disponibles sur le site web suivant: http://www-artemis.intevry.fr/~preda/myprojects/para/ 3.4 Plate-forme logicielle La première étape dans le choix de la plateforme logicielle à été l analyse des différentes implantations du codec MPEG-4 AVC. Nous avons examiné 5 encodeurs AVC [5]: x264 [7], ArtSoft [8], Elecard [10], Ateme [9] et Fraunhofer IIS [11]. Pour comparer aux performances du MPEG-4 V2, nous avons considéré l implantation Divx [12]. Les résultats suivants sont obtenus par les encodeurs avec le réglage de meilleure

qualité. On peut observer les différences entre les codeurs selon plusieurs critères: PSNR pour la composante luminance Figure 5, l effet de block Figure 6 et le temps de calcul Figure 7. Des comportements similaires sont retrouvés pour vidéos différentes [5]. Notons une bonne performance du l encodeur x264 en ce qui concerna le débit. Ce codeur, disponible en source libre comporte toutefois un traitement trop long, d où la nécessite d améliorer son implantation. Figure 5: Performance des encodeurs AVC concernant le PSNR pour la luminance. Les réglages pour chaque encodeur sont pour la meilleure qualité. La vidéo testée est Foreman. Figure 6: Performance des encodeurs AVC concernant l effet block. Les réglages pour chaque encodeur sont pour la meilleure qualité. La vidéo testée est Foreman.

Figure 7: Temps de calcul Les réglages pour chaque encodeur sont pour la meilleure qualité. La vidéo testée est Foreman. 3.5 Analyse de l implantation x264 Les performances de l implantation x264 en termes de débit nous a conduit à la choisir comme point de départ. Afin d optimiser l exemption de l encodeur nous avons mis en évidence les procédures les plus coûteuses en temps de calcul. L étude porte sur la structure de l encodeur et les opérations par trame vidéo afin d identifier les outils prévues par le standard MPEG-4 AVC. Figure 8 indique les opérations effectuées par l encodeur pour chaque trame vidéo.

Trame Initialisation x264_slicetype_decide Encodeur initialisation x264_ratecontrol_threads_start Pas dernier processus Processus simple Dernier processus Copiant contexte x264_slice_write x264_slice_write Joindrant contexte Mettant à jour l'état du encodeur x264_reference_update Figure 8: Principe de l encodage des trames en x264. La décision du type de trame (x264_slicetype_decide), première étape de la compensation en mouvement est détaillée dans la Figure 9. Elle est basée sur l évaluation d un coût pour chaque type de prédiction et est dépendante des paramètres de codage. Besoin d'idr Devant IDR Statique Autrement x264_ratecontrol_slice_type x264_lowres_context_init Choisissant type P x264_slicetype_frame_cost x264_slicetype_mb_cost Choisissant le type prope Verifiant les constraintes statique Figure 9: Procédure pour sélectionner le type de prédiction (x264_slicetype_decide).

Les blocs des trames, dont le type a été décidé est encodé comme illustré dans la Figure 10. x264_nal_start x264_slice_header_write Non CABAC? Oui x264_cabac_context_init x264_cabac_encoder_init Dernier MB? Non x264_macroblock_cache_load Oui x264_macroblock_analyse x264_macroblock_encode Oui CABAC? Non x264_cabac_encode_terminal x264_cabac_mb_skip x264_macroblock_write_cavlc x264_macroblock_write_cabac x264_macroblock_cache_save x264_ratecontrol_mb x264_cabac_encode_terminal Oui CABAC? Non bs_write_ue x264_cabac_encode_flush bs_rbsp_trailling x264_nal_end Figure 10: Procédure de encodage appliquée au chaque tranche. La fonction x264_macroblock_analyse contient toutes les fonctionnalités de l Estimation du Mouvement, la Compensation du Mouvement, la Sélection du mode Intra et la Prédiction Intra telles que présentés dans Figure 1. Les blocs T, Q, T -1 et Q -1 sont réalisés par la fonction x264_macroblock_encode. On retrouve également les fonctions Mettre en Ordre et Codage Entropique en Figure 10. Le choix du type du bloc est illustré dans Figure 11 et Figure 12 respectivement. Dans le livrable [6] nous présentons une liste détaillée de temps d exécution de chaque fonction.

Pskipped Bskipped Macroblock ty pe I Autrement x264_macroblock_encode_pskip Encodage I16x16 x264_mb_mc x264_mb_encode_i16x16 x264_mb_mc x264_mb_encode_i8x8 x264_mb_encode_i4x4 Non Sans perd Oui x264_macroblock_encode_skip Macroblock encodage x264_denoise_dct sub_zigzag_4x4full sub16x16_dct8 x264_quant_8x8_trellis quant_8x8 scan_zigzag_8x8full sub16x16_dct x264_quant_4x4_trellis quant_4x4 scan_zigzag_4x4full Macroblock decodage dequant_8x8 dequant_4x4 add8x8_idct8 add8x8_idct x264_mb_encode_8x8_chrome Calcul de motif array_non_zero_count array_non_zero Figure 11: Procédure de transformation, quantification et leur inverses appliqués à chaque bloc P type I type B type x264_macroblock_probe_pskip Choisissant la taille (16x16,8x8,16x8,8x16) Verifiant le mode SKIP Choisissant la taille (16x16,8x8,16x8,8x16) Choisissant la taille (16,8,4) Figure 12: Procédure pour choisir le type / taille de bloc.

Pskipped Bskipped Macroblock ty pe I Autrement x264_macroblock_encode_pskip Encodage I16x16 x264_mb_mc x264_mb_encode_i16x16 x264_mb_mc x264_mb_encode_i8x8 x264_mb_encode_i4x4 Non Sans perd Oui x264_macroblock_encode_skip Macroblock encodage x264_denoise_dct sub_zigzag_4x4full sub16x16_dct8 x264_quant_8x8_trellis quant_8x8 scan_zigzag_8x8full sub16x16_dct x264_quant_4x4_trellis quant_4x4 scan_zigzag_4x4full Macroblock decodage dequant_8x8 dequant_4x4 add8x8_idct8 add8x8_idct x264_mb_encode_8x8_chrome Calcul de motif array_non_zero_count array_non_zero Figure 13: Procédure de transformation, quantification et leur inverses appliqués à chaque bloc. 4. Sommaire et perspectives Ce rapport décrit en détails les principes que nous avons appliqués pour le choix d un encodeur MPEG-4 AVC. Une analyse de l implantation retenue, x264, nous a permis d identifier les points clef à optimiser et notamment les procédures concernant la prédiction et l encodage arithmétique. L optimisation sera réalisée au niveau algorithmique et implantation logicielle et fera l objet de livrable 2.2. Références [1] T. Wiegand, G. J. Sullivan, G. Bjontegaard, A. Luthra, Overview of the H.264/AVC Video Coding Standard, IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, No. 7, July 2003. [2] Draft of version 4 of ISO/IEC 14496-10, April 2005, Busan, Korea. [3] Report on the formal verification tests on AVC, MPEG2003/N6231, Dec 2003. [4] J. Ostermann, J. Bormans, P. List, D. Marpe, M. Narroschke, F. Pereira, T. Stockhammer, T. Wedi, Video Coding with H.264/AVC: Tools, Performance and Complexity, IEEE Circuits and Systems Magazine, first quarter 2004. [5] http://compression.ru/video/codec_comparison/mpeg-4_avc_h264_2005_en.html, second annual MSU MPEG-4 AVC/H.264 Video Codec Comparison, December 2005. [6] H-P. Charles, Projet FAME 2 livrable 4.2.1, Août 2006. [7] http://developers.videolan.org/x264.html, hompage of x264 Open Source Code project

[8] http://www.arcsoft.com/, homepage of ArcSoft,Inc. [9] http://www.ateme.com/, homepage of Ateme. [10] http://www.elecard.com/, homepage if Elecard Ltd. [11] http://www.iis.fraunhofer.de/, homepage of Fraunhofer Institute for Integrated Circuits. [12] http://www.divx.com/ homepage of Divx Inc.