Compression vidéo Adéquation Algorithme / Architecture

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

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

ISO/CEI NORME INTERNATIONALE

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.

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

DEVANT L UNIVERSITE DE RENNES 1

Les techniques de multiplexage

Université de La Rochelle. Réseaux TD n 6

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

Vers du matériel libre

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

Vidéo Haute définition pour Station Service

Chaine de transmission

Chap17 - CORRECTİON DES EXERCİCES

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

TV NUMERIQUE MOBILE : DU DVB-T AU DVB-H

Chapitre 13 Numérisation de l information

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

Enregistrement et transformation du son. S. Natkin Novembre 2001

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Cours Informatique 1. Monsieur SADOUNI Salheddine

Errata et mises à jour

Comparatif entre Matrox RT.X2 et Adobe Premiere Pro CS3 (logiciel seul)

La vidéosurveillance sur réseau qui surpasse vos attentes

11 Février 2014 Paris nidays.fr. france.ni.com

TVTools Cloud Edition

Numérisation du signal

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

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

Fiche technique CPU 314SC/DPM (314-6CG13)

Chapitre 1. Introduction aux applications multimédia. 1. Introduction. Définitions des concepts liés au Multimédia (1/2)

xdsl Digital Suscriber Line «Utiliser la totalité de la bande passante du cuivre»

Creation de Contenus Numériques pour

H.323. Internet Multimédia. Sommaire

SNC-RZ25P. Caméra réseau motorisée MJPEG / MPEG-4

Pré-requis techniques

Transmission d informations sur le réseau électrique

CONFERENCE EXPO-PROTECTION

Fonctions de la couche physique

Programmation C. Apprendre à développer des programmes simples dans le langage C

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

Informatique Générale

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

Pré-requis techniques. Yourcegid Secteur Public On Demand Channel

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

ENREGISTREURS NUMÉRIQUES AVEC SORTIE HDMI GGM NVR4250HDMI, GGM NVR8500HDMI & GGM NVR2112PRO

Quantification Scalaire et Prédictive

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

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

Traitement bas-niveau

Communications immersives : Enjeux et perspectives

NVR Fusion IV. Pour quels marchés? Caractéristiques Matériel. Logiciel

Potentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés

Réseaux Multimédia et Qualité de Service

Milestone XProtect Professional

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

Conversion d un entier. Méthode par soustraction

Communications numériques

Systèmes de communications numériques 2

Architecture des ordinateurs

Exclusivite magasin DISTRICOUNT. with you. with you. always. always

Signage Manager Express Manuel utilisateur du logiciel

AXIS Camera Station Logiciel de gestion vidéo complet pour la surveillance, l enregistrement, la lecture et la gestion d événements

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

Codage vidéo par block matching adaptatif

Pré-requis installation

Présentation du système informatique utilisé et éléments d architecture des ordinateurs

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

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

récepteurs et accessoires

MANUELS NUMÉRIQUES PROCÉDURE DE TÉLÉCHARGEMENT

TD : Codage des images

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

Technique de compression des images médicales 4D

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

LA COUCHE PHYSIQUE EST LA COUCHE par laquelle l information est effectivemnt transmise.

Exigences système Commercial & Digital Printing

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

PARAMÉTRAGE BOSCH SOMMAIRE DE LA CAMÉRA OSCH DINION-IP-NWC : CONFIGURATION POUR DE L ENREGISTREMENT PERMANENT... 2

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

Exigences système Commercial & Digital Printing

Stockage des machines virtuelles d un système ESXi jose.tavares@hesge.ch & gerald.litzistorf@hesge.ch

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

PREREQUIS TECHNIQUES. Yourcegid Etafi Start

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Janvier 2013 AUDIO/VIDEO PLAYER AUDIO VIDEO OEM DIVERS

La tablette grand écran pour partager votre expérience sous Android Honeycomb!

Pierre De Dobbeleer. Spécialiste Project Management, Electronique, Réseaux et télécommunications

Groupe Eyrolles, 2000, 2004, ISBN :

Architecture des Ordinateurs. Partie II:

DVR08IP-8POE. DVR08IP-8POE DVR Série Neptune IP. NVR (Network Video Recorder) 8 canaux pour caméras IP avec 8 ports réseau PoE intégrés

Leçon 1 : Les principaux composants d un ordinateur

Robot WIFIBOT Lab V3. 4 roues motrices

Cours de numérisation sur Epson Perfection

La technologie Java Card TM

Introduction au Massive Data

Eternelle question, mais attention aux arnaques Question qui est souvent mise en premier plan => ce n est pas une bonne idée

Transcription:

Compression vidéo Adéquation Algorithme / Architecture Introduction Explosion du multimédia. Vidéo composante maîtresse. Différents types d applications. Généralisation de l utilisation de l image dans les appareils mobiles

Introduction Bande passante énorme (28 Mb/s pour un format 720x576). Réseaux sans fils à débit limité. Développer des algorithmes de codage : Réduire au maximum le flux de données Garder la meilleure qualité visuelle de la séquence reconstruite Des volumes de calculs de plus en plus importants. Les systèmes embarqués à ressources limitées. Introduction Trouver le meilleur compromis. Débit/Qualité/Complexité MPEG MPEG2 H26 MPEG MJPEG H263 H26 MJPEG2000 Normes de codage vidéo 2

Historique Les premier codecs des images animées : 97 : pour un service des visioconférence à 6 puis à 2 Mbit/s 98 : nouvelle génération de codecs pour la visioconférence (début de l étude) : TCD, Compensation du mouvement. Normes et standards 989 : norme H.26 couvrant les débits de 6 Kbit/s à 2 Mbit/s (CCITT- IUT-T) nx6 Kbit/s 992 : ISO MPEG : codage des images animées pour le stockage, le débit -.5 Mbit/s (dérivé de H. 26) optimisé pour CD-I - ISO/IEC 72, 992 993-95: ISO MPEG2 : Le codage générique de haute qualité pour TV numérique et TVHD ISO/IEC 388, 995 Video : ITU T H.262 993-97 : ISO MPEG (version ) : Le codage générique multifonctionnel, avec éléments d analyse / synthèse à bas débit et manipulation des scènes vidéo. ISO/IEC 96- : 998 IT Coding of Audio-Visual Objects H.263 : recommendation IUT-T Histoire: recherche de la meilleure qualité 3

Le codage vidéo Redondance spatiale et temporelle des données Compacter les données Filtre physiologique L essentiel pour compresser

Transformé de couleur RGB YUV Echantillonage 5

6 23 5 96 98 78 5 70 90 78 56 23 3 98 90 98 5 89 78 5 90 5 97 78 5 98 20 23 90 89 67 5 23 23 20 76 5 89 3 56 89 90 56 98 76 3 87 90 67 25 20 23 20 98 78 5 3 56 2 23 3 23 67 2 220 0 0 0 0 0 0 2-2 - 2 3 - -7-2 - 0 9 23 2 2 3 2 3-23 - 2 3 6 5 23 2 5 2 23 2 5 3 2 8 7 3 2 2 5 22 56 2 23 2 5 6 32 2 6 ) cos(2 cos 6 ) cos(2 7 0 7 0 v y u x S C C S x x y yx v u uv π π + + = = = = Haute fréquence Basse fréquence Amplitude/ fréquence Image de la base de l espace transformé La DCT MPEG 200 7 89 2 2 20 0 8 23 5 89 23 2 3 3 2 3 2 5 H263 La quantification

Bruit de prédiction Codeur Décodeur P P Image : instant t- Image reconstruite instant t- Décodage locale Bruit du canal Bruit de différence de précisions Bruit de quantification Image t Image t - P Image reconstruite t- Décoder image t- 7

Codage : idée de base La probabilité des niveaux de gris est différentes Il y a intérêt à accorder un nombre différent de digits binaires telle que : Si la probabilité P le nombre de bits accordé Questions? Comment peut connaître les frontières des différents codes? Quelle est le nombre de bits moyen minimum qui donnera une séquence décodable? 8

Réponse question : La synchronisation est l opération permettant de remplacer les frontières lors du décodage 00000000000000000 Mémoire Décodeur Code à longueur variable préfixé La théorie de l information : Base théorique : Shanon Définir, quantifier, chiffrer l information reçue. 9

L information & l entropie P(ni) L information propre de ni est définie d par : I ( n ) = log L entropie H(P) s écrit : i p ( n i ) H m ( p ) = p ( n i ). I ( n i ) = p ( n i ). log 2 P m ( n i = i = i ) Réponse question 2 L entropie est la limite inférieure du nombre moyen de bits juste nécessaires n au codage binaire d une d image. L algorithme d huffman 0

Algorithme d Huffman 8 niveaux de gris Codage sur 3 bits N N N3 N2 N7 N N5 N N N5 N N6 N2 N8 N N3 Ni N N2 N3 N N5 N6 N7 N8 P(ni) 0.3 0.8 0.5 0.0 0.0 0.07 0.05 0.05 Détermination des mots binaires N N2 N3 N N5 N6 N7 N8 0.3 0.8 0.5 0.0 0.0 0.07 0.05 0.05 0 0 0 0 0.38 0.2 0 0.32 0 0.7 0. 0 0.62

Gain Mots binaires 0 n 00 n2 0 n3 00 n 0 n5 0 n7 n8 H(p) = 2.7 bits lm : Longueur moyenne VLC l vlc = l i. p ( n i i = ) = 2.79 Combinaisons de code La taille de code la plus petite que nous pouvons attribué est de bit Seulement quelque coefficients correspondant à des fréquences faibles sont non nul dans une transformation typique. Codage de combinaisons de codes (,) = 0x00 0 0 0 0 0 0 2 0 0 0 0 2

Codage dans MPEG 2 problèmes : Calcul Bande passante Codage non adaptative Tableaux VLC (Run, Level) 0 0 0 0 0 0 2 0 0 0 0 Table VLC (,) = 0x00 (2,2) = 0x0 (,) = 0x000 Correspondes au probabilités Tab VLC Intra Tab VLC Inter Tab VLC EOB Représentent tout les messages 3 Escape Mode 3

Schéma bloc d un codeur Codage Intra Codage Prédictif Contrôle de codage Macrobloc Prédiction - Spatiale DCT Quantification Scrutation + Codage Flux de sortie Prédiction temporelle Estimation de mvt Compensation de mvt Stockage images Quantification inverse DCT Inverse + ITU MPEG H26 H263 H263+ H263++ MPEG MPEG2 MPEG H26 MPEG

Introduction MPEG Standard ISO/IEC développé par MPEG (Moving Picture Experts Group) Succède aux normes : MPEG pour la compression et le transfert audio vidéo. MPEG 2 pour la télévision numérique. Objectif Fusionner 3 mondes : L informatique, Les télécommunications, La télévision. Codage orienté objet Coder séparément les éléments d une scène Un descripteur de scène décrit les relations des objets dans l espace L utilisateur peut interagir avec la scène Débit : de 5 Kbits/s à Mbits/s Applications : Vidéo téléphonie Multimédia mobile, surveillance Diffusion vidéo Internet, bornes 5

Exemple Les 3 parties de la norme Système Audio Vidéo Synthétique Naturelle 6

Codeur vidéo MPEG Codeur Basique MPEG Image Intra Image Inter Codage Objet Outils Scalabiliy error résilience Codage en résolution réduite sprite Spatiale Temporelle PSNR Codage de forme codage du background Codage objet 7

Codeur open source MOMuSys FFMPEG Microsoft Xvid La plateforme européenne de MPEG : MoMusys (Mobile Multimédia Systems) Bosch, Philips, Simens, Deutsche telekom, France telecom,. Nombre de lignes de code : 87959 (Codeur). Performances (Processeur 3 GHz avec GO de RAM, sans optimisation) QCIF : 0 ms CIF : 620 ms Structure d un codeur VS V0 V0 VOL VOL2 VOL3 GOV GOV2 VOP VOP2 VOP3 8

VOP Slice Slice Macroblock 9

Macroblock 6 8 8 6 Luminance Chrominance Structure VO * config * VO Identificateur VO Nombre de layers * Layer Identificateur layer Paramètres du layer Nombre de VOP * VOP Identificateur VOP Valeur de quantification Types de codage I, P ou B * Y * U * V 20

Codage image Intra DCT + Quantification Pour chaque block du macro block : La DCT quantification stockage déquantification DCT inverse Macroblock reconstruit 2

Prédiction spatiale - - Mise en Zigzag Scan horizontal AC/DC = 0 Scan Vertical 22

Codage entropique Intra : Coeff AC 0 0 0 0 2 0 0 0 0 22 0 2 0 0 Escape 2 Tab_intra_run [0][level] 000000 + code Run - 3 (,2)? OK (3,2)? Tab VLC Intra (0, ) = 0s (0,2) = s (0, 3) = 000s Level 2-7 Tab_intra_Level [0][run] (,7)? OK 000000 + code Escape Echec Escape 3 7 bits en-tête 6 bits Run (Run,Level) bit marker 30 bits 2 bits Level bit marker 23

Image Inter 6 6 6 x 6 2 23 65 55 99 23 3 6 2 56 78 65 2 3 y Image actuelle 6 98 23 2 5 7 9 90 98 5 5 65 2 56 Err_min_6 : 23 Tab Mv_6 [i] Mv_x : Image t- reconstruite Mv_y : 3 Recherche au niveau du block 2 2 2 2 Block correspondant Tab_Mv_8 Mv_8_ Mv_8_2 Mv_8_3 Mv_8_ Erreur_minimale_8 = erreur8_+ erreur8_2 + erreur8_3 + erreur8_ Erreur_minimale = MIN(Erreur_min_8, Erreur_min6) 2

Décision du mode de codage 6 6 Moyenne *6 x( i) = i = 0 256 *6 i = 0 ABS ( x( i) Moyenne ) < Erreur_min - 2 * 256 Intra Arrêter l estimation *6 i = 0 ABS ( x( i) Moyenne ) > Erreur_min - 2 * 256 Inter continuer Nombre de MB codés Nombre des MB Codés en Intra dans les images P 60 50 0 Q 30 20 0 0 2 3 5 6 7 8 9 0 2 3 NbF Série Changement de plan 25

Recherche au niveau du /2 pixels Interpolation bilinéaire 2 * ( largeur + 2 * 6 ) 2 * (longeur + 2 *6) 2 c2 8 b 5 d5 23 23 b = (2+5 + ) / 2 c = (2+8+) / 2 d = (2+5+8+23+2) / Image t- reconstruite Calcul des Mv_6 Niveau du ½ pixels Tab Mv_6 [i] Mv_x : 3 Mv_y : Mv_x_interp = 2 * mv_x_6 Mv_y_interp = 2 * mv_y_6 Image actuelle Image t- reconstruite interpolé 26

Calcul des Mv niveau du ½ pixels Mv_8_ Mv_8_2 Mv_8_3 Mv_8_ X 2 Mv_8 int Mv_8_2_int Mv_8_3_int Mv_8 int Image t- interpolé Image actuelle Erreur_minimale_8 = erreur8_+ erreur8_2 + erreur8_3 + erreur8_ Décision Mv/Mb ou Mv/Mb Erreur_min 8 > Erreur_min 6-27 Codage Inter 6 (Mv/mb) Erreur_min 8 < Erreur_min 6-27 Codage Inter 8 (Mv/mb) 27

Récapitulation MB intra MB inter_6 0 vecteurs de mouvements 2 vecteurs de mouvements mv_x mv_y MB inter_8 8 vecteurs de mouvements mv_x mv_y + Tab_mode_codage Image de référence Image P courante 28

Compensation de mvt Image t interpolé 0 0 0 0 Intra Inter_8 Image Compensée Mv_x_8_ * 2 Mv_y_8_ * 2 Mv_x_6 * 2 Mv_y_6 * 2 Inter_6 la matrice de l erreur Image présente Image compensée Image erreur - = Inter Block match différence 29

Codage de la matrice de l erreur La DCT Image erreur quantification stockage déquantification DCT inverse Macroblock reconstruit Codage des vecteurs de mvt PMv = Mv + Mv2 + Mv3 - Max - Min Mv Mv 2 Mv3 V / Macroblock Mv 2 Mv 2 Mv3 Mv Mv b 2 Mv3 b2 Mv Mv b3 b V / Macroblock Matrices des vecteurs de mouvement 30

Reconstruction de l image Image erreur reconstruite + Image Compensée = Image présente reconstruite H26 3

Performances du codeur H26 JM92 Ericsson, Nokia, Siemens, Motorola, Microsoft, Apple, RealNetwork, Thomson, Nombre de ligne de code : 3520. Durée de traitement : Processeur cadencé à 3GHz avec GO de RAM. QCIF : 22 ms CIF : 786ms H26 Control de codage - DCT Quantification Choix entre codage entropique et codage adaptative Scrutation + Codage entropique Bitstream Out Détection de mvt Compensation de mvt Stockage images Quantification inverse DCT Inverse + 5 images de référence 8 mode de partionnement Estimation au niveau du /8 de pixels 32

Performances Codeur JPEG2000 MPEG2 H263 MPEG H26 200-600% 65% 8% 37% PSNR 33

Implémentations électronique des codeurs vidéo Introduction Evaluation sur des plateformes embarquées. DSP FPGA 3

Choix : Plateforme DSP Architecture choisie le TMSVC550 Consommation faible (20 mw). Elément essentiel dans la plateforme embarquée adaptée à l image OMAP50. Architecture du C550 3 Bus de lecture de données BB CB DB 3 Bus d adresses pour la lecture de données BAB CAB DAB Bus de lecture de Programme PB Bus d adresses pour la lecture de programme PAB CPU Mémoire Données/Programme Décodeur d instructions Unité centrale Générateur d adresses programme Générateur d adresses de données & ALU (6bits) ALU(0bit) décaleur 2MAC 2 Bus d écriture de données EB FB 2 Bus d adresses pour l écriture de données EAB FAB 35

Choix 2 DSP FPGA Processeur «SOFTCORE» IP Choix 2 : processeur Soft Core 36

Choix 3 : DSP FPGA Processeur «SOFTCORE» IP Développement d IP Consortium mené par Xilinx ayant pour but de viser un codage temps réel pour des grands formats d images. Software + HW Accel Opt SW Virtual socket Plateforme 37

MCP 38