Theora 1.1 : un bond en qualité !

Posté par  (site web personnel) . Modéré par baud123.
Étiquettes :
45
26
sept.
2009
Audiovisuel
La fondation Xiph.org vient d'annoncer la sortie de la version 1.1 de l'encodeur Theora.

Theora est un format d'encodage vidéo comme le H.264 ou le VC-1. Son avantage par rapport aux autres formats est qu'il est totalement libre, sans brevets logiciels connus et qu'il n'est pas nécessaire de payer une licence d'utilisation. Son développement est assuré par la fondation Xiph.org.

Le format Theora, déjà utilisé de façon privilégiée par Wikipedia, est clairement l'alternative libre aux codecs vidéos brevetés. La question de sa qualité d'encodage est donc cruciale si nous voulons qu'il s'impose largement (par exemple comme codec de référence pour la balise "video" de HTML 5). L'encodeur Theora 1.0 est sorti en novembre 2008 et depuis cette date, le travail s'est concentré sur une amélioration drastique de la qualité du codec.
Monty (Chris Montgomery), qui est employé par Red Hat et est le développeur principal de Theora, a publié plusieurs articles sur le site du MIT afin de décrire son travail de refonte de l'encodeur (nom de code Thusnelda). Ces points techniques, au nombre de 8, sont une mine d'informations et de renseignements pour qui veut comprendre en détail la réécriture du codec Theora et comparer la qualité des images entre l'ancienne version et la nouvelle.

Ce qui est annoncé aujourd'hui en version stable c'est la version 1.1 de la bibliothèque libtheora. Cette bibliothèque sous licence BSD constitue l'implémentation de référence du codec Theora. Il est à noter que les vidéos encodées avec libtheora 1.1 restent parfaitement compatibles avec les lecteurs actuels. Pas besoin d'adapter Mplayer, Totem ou VLC donc.

Les nouveautés de la libtheora 1.1 (Thusnelda) :
  • La Transformée en cosinus discrète (DCT en anglais) est utilisée pour transformer mathématiquement les images afin de les compresser. Auparavant c'était une transformée inverse qui était utilisée (iDCT) mais il s'est avérée que la DCT normale était plus adaptée.
  • La quantification est la technique qui permet de faire des approximations sur le fichier non compressé afin d'obtenir un fichier de taille réduite. Cette quantification fonctionne désormais en mode adaptatif dans Theora 1.1 afin d'augmenter la qualité de la vidéo finale.
  • L'optimisation des distorsions du flux (RDO pour Rate-Distortion Optimization) fait son apparition et remplace toutes les heuristiques qui étaient utilisées dans la version 1.0. Le niveau de détail augmente donc en bout de chaîne car de meilleures décisions sont prises automatiquement lors de l'encodage.
  • La détection de mouvement, qui est utilisée pour estimer le taux d'encodage nécessaire à une scène, est améliorée et nécessite moins de calculs qu'avant.
  • Le contrôle de débit pour le streaming est plus précis et il permet de définir des débits maxi et mini ce qui va permettre au flux de rester dans une "bande de sécurité" tout au long de la diffusion. La version 1.1 peut aussi supprimer des images (frames) lors d'une diffusion afin de garder une qualité constante en cas de baisse de débit. C'est un bien meilleur compromis que le gel de la diffusion ou la perte de détail car souvent cela ne se remarque pas.
  • L'encodage en deux passes permet une meilleure prédiction de la taille finale (voir le premier graphique de ce point technique de Monty pour voir la gigantesque différence en précision).
  • La charge processeur au décodage est réduite (les premiers résultats évoquent une amélioration de 1,5x à 2x) et la charge processeur à l'encodage reste bien plus constante (plus de "pics de charge").

Le résultat de toutes ces nouveautés c'est que l'encodeur libtheora 1.1 permet une qualité des vidéos encodées qui est bien meilleure qu'avant pour un même débit ou bien une qualité équivalente avec une réduction de taille d'environ 20%.
En outre, la compatibilité est préservée ce qui signifie que nous pouvons bénéficier dès maintenant des vidéos encodés avec cette nouvelle version de l'encodeur. La fondation Xiph.org annonce toutefois qu'elle travaille sur l'optimisation spéciale des décodeurs dédiés aux plateformes de type ARM ou TI C64x DSP fin d'être compétitive sur le très important marché des téléphones ou des gadgets mobiles.

Google, propriétaire du site de partage de vidéos Youtube, a déclaré en juin par l'entremise de Chris DiBona que "si nous faisions une bascule vers Theora en maintenant un semblant de la qualité actuelle des vidéos de Youtube, alors cela occuperait la plus grande part de la bande passante actuelle d'Internet".
Cette déclaration a provoqué une vive réaction chez les partisans de Theora et une comparaison détaillée a été effectuée afin de vérifier sa véracité. Cette comparaison, un modèle de rigueur et d'honnêteté, a permis de conclure que Theora 1.1 permet de satisfaire aux besoins qualitatifs de Youtube et que l'affirmation de Chris DiBona se base certainement sur des informations inexactes ou valables uniquement pour les anciennes versions de Theora.
Espérons que le bond en avant technique de Theora 1.1 va dissiper les doutes de Google et va entraîner une bascule au profit de cet encodeur gratuit, libre et sans brevets connus.

Aller plus loin

  • # bande passante ?

    Posté par  (site web personnel) . Évalué à 2.

    Chris DiBona voulait peut être parler de la bande passante d'utilisation des cpu des fermes d'encodage ?
    \o/
    • [^] # Re: bande passante ?

      Posté par  (site web personnel) . Évalué à 10.

      Ou alors de la mauvaise foi pure et simple par peur de devoir changer leur petit train train d'encodage ou leurs gros contrats avec adobe?
      • [^] # Re: bande passante ?

        Posté par  (site web personnel) . Évalué à 5.

        ou (très certainement) changer toute une chaîne d'encodage avec du matériel spécialisé contre un codec purement logiciel ne tombe pas sous le sens.
        • [^] # Re: bande passante ?

          Posté par  . Évalué à 10.

          D'un autre côté, Theora reste "purement logiciel" car marginal, et marginal car "purement logiciel". On n'avance pas.

          Il faut que des entreprises décident de soutenir un codec pour qu'il devienne un standard de fait implémenté au niveau hardware.

          Pour les codecs proprios, c'est facile: ils sont soutenus par ceux qui ont des brevets dessus. Microsoft, Apple, le consortium MPEG, Adobe..

          À part Google, je ne vois pas qui pourrait jouer le rôle de "soutien" qui manque à Theora.

          Ou alors il faudrait qu'une masse critique d'utilisateurs se mette à adopter Theora. Pour l'instant on en est loin, très loin, même les purs et durs linuxiens envoient des vidéos en .avi à tata Janine plutôt que de se "compliquer" la vie à lui expliquer comment installer VLC.

          THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

      • [^] # Re: bande passante ?

        Posté par  . Évalué à 4.

        Oui c'est sur, basculer tout un systeme bien rode vers un nouveau codec alors qu'il est encore en developpement (c'etait il y a 3 mois, je rappelle), c'est tout a fait raisonnable...

        Bon maintenant, j'attends les tests comparatifs avec d'autres codecs pour autre chose que des vignettes minuscules, meme si j'ai peu d'espoir (au moins ca sera plus la honte totale comme la derniere fois...). Parce que pour l'instant, on tous les liens sauf 1 vers les gens qui bossent dessus et qui s'autocongratulent (ce qui est bien normal par ailleurs), c'est pas trop ca pour se faire un avis objectif.
        • [^] # Re: bande passante ?

          Posté par  (site web personnel) . Évalué à 10.

          >>> Parce que pour l'instant, on tous les liens sauf 1 vers les gens qui bossent dessus et qui s'autocongratulent (ce qui est bien normal par ailleurs), c'est pas trop ca pour se faire un avis objectif.

          Dans la comparaison avec les codecs de Youtube (H.264 et H.263) la méthodologie du test est complètement détaillée, les hypothèses sont explicites et les conclusions sont prudentes en mesurées.
          L'auteur termine même son article en disant "But please— see and hear for yourself".

          Moi je trouve ça plus convainquant comme comparaison pour se faire un avis objectif que le FUD sans substance de Chris DiBona.
          • [^] # Re: bande passante ?

            Posté par  . Évalué à 0.

            Moi je trouve ça plus convainquant comme comparaison pour se faire un avis objectif que le FUD sans substance de Chris DiBona.

            Tant mieux pour toi, mais aux dernieres nouvelles (ie. l'ancienne version stable) Theora se faisait detruire par 95% des codecs. Je lis le blog de Monty depuis longtemps donc j'ai vu toutes MAJ et ameliorations se faire petit a petit et c'est tres bien pour l'avenir.

            C'est plutot certains defenseurs a tout prix de Theora qui font du FUD en laissant entendre depuis le debut que ca va tout dechirer. Il y a trois mois c'etait encore tout pourri, et de toute facon le support avec la balise video est encore au tout debut avec des problemes de perfs importants restant a regler du cote de Firefox.

            Comme le dit DiBona, c'est en test sur certaines pages, c'est livre avec Chrome et si ca decole YouTube migrera probablement progressivement comme ils ont ajoute le support H264 petit a petit.
            En attendant, par pitie merci d'arreter de nous casser les couilles (par toi en particulier hein), ca vous fait juste passer pour des gens a cote de la plaque a vouloir migrer Youtube du jour au lendemain [1].

            [1] enfin remarque a force de le repeter, dans 1 ou 2 ans ca sera realise, mais bon ca fait deja 7 ans que ca va revolutionner le monde de la video, on attend toujours...
            • [^] # Re: bande passante ?

              Posté par  (site web personnel) . Évalué à 6.

              >>> C'est plutot certains defenseurs a tout prix de Theora qui font du FUD en laissant entendre depuis le debut que ca va tout dechirer.

              Si des gens disent ça alors effectivement ils sont a coté de la plaque.
              Note que ce n'est pas ce que je dis dans la news et surtout ce n'est pas ce que dit Greg Maxwell dans sa comparaison de codec que j'ai donné en lien.
              Il indique clairement que Theora n'est pas le codec qui déchire tout et qui écrase les autres. Il dit juste que sa qualité est largement suffisante pour répondre aux besoins de Youtube (et ce même pas rapport à H264) :

              "Theora isn't the most efficient video codec available right now. But it is by no means bad, and it is substantially better than many other widely used options. By conventional criteria Theora is competitive. It also has the substantial advantage of being unencumbered, reasonable in computational complexity, and entirely open source".

              Comme tu le vois ça me semble raisonnable et mesuré comme analyse non ?
              • [^] # Re: bande passante ?

                Posté par  (site web personnel) . Évalué à 0.

                s/et ce même pas rapport/et ce même par rapport
              • [^] # Re: bande passante ?

                Posté par  . Évalué à -2.

                J'ai rien contre la news elle-meme, je la trouve tres bien. Si il manque un lien vers un comparatif, c'est que malheureusement il n'y a pas eu de mise a jour de l'ancien a ce que je sache (et faire un lien dessus serait ridicule tellement c'est vieux). On revient toujours au meme probleme, entres les gens qui font directement de la technique et ce qui "soutiennent" llibre, ca fait parfois le grand-ecart (et on s'apercois que certains colleurs d'affiche du libre ne font pas beaucoup mieux que les pires marketeux).

                Maintenant, lis le commentaire auquel je repond et tu comprendras pourquoi je parle de FUD (tu pourrais aussi aller regarder les autres etronscommentaires poses par le meme un peu partout ici pour te faire une idee, mais ca serait je pense que perte de temps). On a du FUD, un petit coup de complot et le grand classique des puissances de l'argent avec les "gros contrats".
                • [^] # Re: bande passante ?

                  Posté par  . Évalué à 3.

                  Je ne pense pas que le commentaire insinuait qu'il fallait changer de codec du jour au lendemain mais que Youtube n'avait pas envie de faire l'effort de tester un nouveau codec pour voir si ça valait la peine.

                  « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

                • [^] # Re: bande passante ?

                  Posté par  (site web personnel) . Évalué à 1.

                  Merci pour le "colleur d'affiche du libre" et les "étrons", ça fait tjs plaisir.
                  Moi quant je clique sur ton pseudo et que je vois ta page, je vois quoi ? du Moonlight, du Mircrost declare "odf has clearly won" et du 'donneur de leçon' sur une faille critique dans firefox. S'en suit une ribambelle de commentaires à 0.

                  Donc désolé de n' être qu'un "colleur d'affiche" mais avant de juger les autres, c'est pas mal de balayer devant sa porte.

                  Cordialement quant même
        • [^] # Re: bande passante ?

          Posté par  . Évalué à 4.

          Et puis aussi des tests sur la puissance de décodage nécessaire (notamment pour les plateforme embarqué).

          Sinon en test alternatif, il y a http://x264dev.multimedia.cx/?p=102#more-102 . Mais bon les mauvaises perf de theora Thusnelda (qui fait moins bien que mpeg-2) serait du à un bug du "contrôle de débit"...
    • [^] # Re: bande passante ?

      Posté par  . Évalué à 4.

      Quand on dit la «bande passante d'internet» on ne parle pas d'une ferme d'encodage, non?
      • [^] # Re: bande passante ?

        Posté par  . Évalué à -1.

        Clairement je ne vois pas le rapport non plus :-)
        Que leurs nouvelles vidéos soient dans un nouveau format, pourquoi cela engendrerais la méga-saturation-de-la-mort d'internet ?
        --> argument bidon
  • # Theora n'est pas totalement libre

    Posté par  . Évalué à 0.

    Il est soumis a des brevets. Comme le précise l'article de Wikipédia Theora : 'Le Theora est tout de même soumis à des brevets appartenant à On2 Technologies mais On2 a donné le droit irrévocable d'utiliser les brevets en question sans aucune restriction.'
    Donc c'est difficile de parler de format totalement libre. L'idéal serait un format de compression sans brevets.
    • [^] # Re: Theora n'est pas totalement libre

      Posté par  . Évalué à 7.

      "L'idéal serait un format de compression sans brevets. "

      Dans ce cas, le Dirac est le format qu'il vous faut.

      http://en.wikipedia.org/wiki/Dirac_%28codec%29
    • [^] # Re: Theora n'est pas totalement libre

      Posté par  (site web personnel) . Évalué à 10.

      Quelle est la différence avec un format libre ?

      Utiliser une technologie dont la société détentrice a donné le « droit irrévocable d'utiliser les brevets sans aucune restriction » est équivalent à utiliser une technologie appartenant au domaine public non ?
    • [^] # Re: Theora n'est pas totalement libre

      Posté par  . Évalué à 9.

      Si On2 a donné irrévocablement le droit d'utiliser ces brevets sans restrictions (ils ont le droit de faire ça ?), on ne peut pas vraiment dire que Theora est encore soumis à ces brevets, en aucun cas cela ne remet en cause la liberté de Theora.

      Mes craintes portent plutôt sur l'aspect « soumis à aucun brevet connu » ...
      • [^] # Re: Theora n'est pas totalement libre

        Posté par  . Évalué à 3.

        Tiens, justement... Je me posais les questions suivantes : de quelle façon se sont-ils engagés ? Contrat signé ? Mais avec qui ? Ou bien engagement oral, la main sur le cœur ? Et cette irrévocabilité, supportera-t-elle un éventuel rachat ? De-même pour l'absence totale de restrictions...
  • # utilisation

    Posté par  (site web personnel) . Évalué à 0.

    Quand l'on dit que l'on peut l'utiliser tout de suite je ne comprend pas bien puisque aucun logiciel d'encodage ne l'a déjà intégrée si elle vient de sortir.
    Non ?
    • [^] # Re: utilisation

      Posté par  (site web personnel) . Évalué à 3.

      ça fait un an que Thusnelda est en développement et il y a des vidéos encodés en 1.1 dans les diverses comparaisons disponibles sur le web. Tu peux lire ces vidéos dès maintenant sans mettre à jour ton player car la compatibilité est préservée.
      Maintenant c'est vrai que pour encoder toi même des vidéos en format 1.1 il faut soit que tu télécharges et utilises la libtheora 1.1 soit que tu attende sa disponibilité dans un dépot de distro.
      • [^] # Re: utilisation

        Posté par  (site web personnel) . Évalué à 1.

        si j'installe la dernière version de libtheora à partir de l'archive téléchargée sur le site est-ce que la vidéo que je rippe avec mon logiciel favoris (style dvdrip, thoggen, k3b,...) utilisera la nouvelle version ?
        Parce que 20% en moins et une meilleur qualité c'est pas négligeable (surtout que j'ai déjà ici un dvd de qualité assez dégueulasse alors autant limiter la perte)
        • [^] # Re: utilisation

          Posté par  (site web personnel) . Évalué à 1.

          A mon avis faudra recompiler ton logiciel de rip pour qu'il utilise la nouvelle lib.
          • [^] # Re: utilisation

            Posté par  (site web personnel) . Évalué à 1.

            une simple réinstallation ne suffit pas ?
            comment je peux compiler à partir des sources dans les dépôts (et pas celles que je télécharge sur le site) ?
            comment je peux vérifier qu'il utilise bien la nouvelle lib ?
        • [^] # Re: utilisation

          Posté par  . Évalué à 1.

          Je viens de faire un test avec deux applications (recordmydesktop et ffmpeg2theora).
          => Le résultat est différent entre la libtheora v1.0.1 et v1.1, et ce, que ça soit pour recordmydesktop ou ffmpeg2theora.

          Par contre je ne suis pas aussi optimiste quand à l'évolution de la qualité.
          - avec recordmydesktop, l'encodage est beaucoup plus lent et la vidéo est buguée
          - avec ffmpeg2theora, la vidéo est beaucoup moins lourde mais aussi de moins bonne qualité.

          J'ai fait ces tests rapidement (sans option) donc c'est peut être à creuser mais il faudra t'attendre à un résultat pas forcément positif (à voir si le pb ne viendrait pas des applis elle même ou des paquets).

          Test effectué avec les paquets debian.
          -libtheora0 : comparaison entre v1.1-beta3 de sid et v1.0.1 de testing
          - recordmydesktop et ffmpeg2theora de sid.
          • [^] # Re: utilisation

            Posté par  . Évalué à 2.

            Dans sid tu as la v1.1 finale plutôt que la beta3.
            • [^] # Re: utilisation

              Posté par  . Évalué à 1.

              Le paquet a été mis à jour dans l'intervalle.
              Je viens de refaire les tests, mêmes constats.
          • [^] # Re: utilisation

            Posté par  . Évalué à 1.

            Je confirme le problème pour recordmydesktop. Essai réalisé sous testing avec la 0.3.8.1-2 et les libtheora0 1.0-2.1 et 1.1.0-1 de sid.
            Je trouve aussi que l'encodage semble plus rapide avec la 1.0
      • [^] # Re: utilisation

        Posté par  . Évalué à -1.

        Pitié Patrick, garde le niveau de tes articles (qui sont excellents) en parlant de codage, codeur, et coder, et non ces horribles anglicismes avec "en" devant. Cf mes commentaires tout en bas pour des détails (fax codé, message codé, codec, codage de Huffman, etc.).
  • # charge décodage réduite

    Posté par  . Évalué à 2.

    La charge processeur au décodage est réduite (les premiers résultats évoquent une amélioration de 1,5x à 2x)

    Je vérifierais cette très optimiste affirmation sur mon samsung Q1 ultra qui a très mal digéré les débuts de la balise ....
  • # s/encod/cod/

    Posté par  (site web personnel) . Évalué à 7.

    En français, si je ne me trompe pas, on n'encode pas, on code. Ensuite, on décode, ça c'est comme en anglais.
    • [^] # Re: s/encod/cod/

      Posté par  . Évalué à 4.

      Enfin quelqu'un qui sait utiliser le bon terme !
      Encoder est un barbarisme sans aucune signification en français (malgré les affirmations de certains sites), pour ceux qui en douterai on dit un codec (codeur/decoddeur) et pas un encodec (encodeur/decodeur).
      • [^] # Re: s/encod/cod/

        Posté par  . Évalué à 7.

        Tout à fait, d'ailleurs les anglais, qui disent "to encode", disent un "encodec"...
        • [^] # Re: s/encod/cod/

          Posté par  . Évalué à 3.

          non ils utilisent le terme "endec" qui est différent de codec. "To encode" est différent de "To code"
      • [^] # Re: s/encod/cod/

        Posté par  . Évalué à 2.

        Codec ? C'est pas une vieille chaine de magasins de proximité qui a disparue ?

        J'ai retrouvé un saladier sur lequel était gravé codec ....
    • [^] # Re: s/encod/cod/

      Posté par  . Évalué à 3.

      Tu te trompes.

      [http://194.214.124.200/dendien/scripts/tlfiv5/xxx.exe?mthk=1(...)]

      Encoder est bien le verbe à opposer à décoder, en français comme en anglais.
      • [^] # Re: s/encod/cod/

        Posté par  (site web personnel) . Évalué à 3.

        Et avec un lien plus sérieux ? Le TLFi, d'accord, ça le fait, mais pas avec un site désigné par une adresse IPv4.
        • [^] # Re: s/encod/cod/

          Posté par  . Évalué à 1.

          Rien à faire : sur le TLFi, dès que je fais une requête, je me retrouve redirigé sur une adresse de ce genre.

          Si tu n'es pas convaincu, tu peux toujours aller sur TLFi depuis la page d'accueil et chercher le mot ENCODER.
      • [^] # Re: s/encod/cod/

        Posté par  . Évalué à 0.

        Pas du tout, efface. Jusqu'à l'arrivée de l'informatique et de la compression vidéo et audio, on a toujours parlé de codage : codage de Huffman, codage arithmétique, message codé, fax codé, codec, etc... L'anglicisme s'est répandu au point que certains ont pensé que c'était correct et l'ont mis dans leur dico, mais c'est abusif.
    • [^] # Re: s/encod/cod/

      Posté par  . Évalué à 1.

      Merci pour ce commentaire, Tanguy. Je désespère de voir un jour revenir l'usage normal des mots codage et codeur. C'est moche ces "encodeur".
      De plus, la compression vidéo n'est pas un codage car il ne s'agit pas d'une opération bijective ; pourquoi parle-t-on de codage vidéo ? Il y a d'autres mot plus appropriés : compresseur, convertisseur.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.