Multimediáln´I Kontejnery, Kodeky a Frameworky

Multimediáln´I Kontejnery, Kodeky a Frameworky

Multimedi´aln´ıkontejnery, kodeky a frameworky David Baˇrina Multimedi´aln´ıkontejnery, kodeky a frameworky 1 / 44 Obsah Pˇrehled Uvod´ Kontejnery Kodeky Frameworky Shrnut´ı Multimedi´aln´ıkontejnery, kodeky a frameworky 2 / 44 Multim´edia • multim´edia: text, zvuk, statick´yobraz, video, metainformace, . • potˇreba: • z´ısk´avat(kamera), • ukl´adat(pevn´ydisk, komprese), • vyhled´avat(podle popisu), • pˇrehr´avat, • upravovat (stˇrihvidea), . • ukl´ad´an´ı:kontejner + kodeky Multimedi´aln´ıkontejnery, kodeky a frameworky 3 / 44 Pojmy • kontejner • datov´eproudy (audio, video, titulky, kapitoly) • napˇr.AVI, Matroska, MPEG-TS • form´atvidea • ztr´atov´a,bezeztr´atov´akomprese • napˇr.H.264, MPEG-4 ASP • kodek • kompresor + dekompresor • napˇr.x264, DivX, libavcodec • profily (z´achytn´ebody) • FourCC (4CC, four character code) • AVI • napˇr. DIVX oznaˇcujeDivX Multimedi´aln´ıkontejnery, kodeky a frameworky 4 / 44 Kontejnery AVI (Audio Video Interleave) • pˇr´ıpona .avi • spoleˇcnostMicrosoft, od roku 1992 • implementace RIFF (Resource Interchange File Format) • k identifikace kodeku FourCC (napˇr. DIVX = DivX) • nen´ımoˇzn´euloˇzittitulky, kapitoly, menu (tˇret´ıstrany) • p˚uvodn´ıomezen´ı1 GB • index podle ˇc´ıslasn´ımku (ne ˇcasu)na konci souboru (nevhodn´yke streamov´an´ı) • ˇsirok´apodpora • nem´apodporu B-sn´ımk˚u Multimedi´aln´ıkontejnery, kodeky a frameworky 5 / 44 Kontejnery Matroska • pˇr´ıpona .mkv • otevˇren´yform´at,ozn´amen2002 • podporuje vˇse,neomezen´ypoˇcetstop • zaloˇzenna EBML (Extensible Binary Meta Language) • kodek urˇcenCodecID (ˇretˇezec) • napˇr. V MPEG4/ISO/AVC = H.264 • typ V MS/VFW/FOURCC zaobaluje FourCC • http://haali.su/mkv/codecs.pdf • WebM (pˇr´ıpona .webm) je profil form´atuMatroska • Google, 2010, urˇcenpro web (HTML5) • kodeky pouze VP8 + Vorbis Multimedi´aln´ıkontejnery, kodeky a frameworky 6 / 44 Kontejnery MP4 (MPEG-4 Part 14) • pˇr´ıpona .mp4 • standard ISO, od roku 2003 (verze 2) • zaloˇzenna MPEG-4 Part 12, kter´yje zaloˇzenna QuickTime • k identifikaci objekt˚u(tak´ekodek˚u)ˇctyˇrznakov´eidentifik´atory • napˇr. avc1 pro MPEG-4 AVC • code-points, http://www.mp4ra.org/codecs.html • podporuje libovoln´ekodeky (priv´atn´ıa registrovan´e), z registrovan´ychje ˇsiroce podporovan´ychpouze p´ar Multimedi´aln´ıkontejnery, kodeky a frameworky 7 / 44 Kontejnery ASF (Advanced Systems Format) • pˇr´ıpony .asf, .wma, .wmv • Microsoft • objekty (tak´epouˇzit´ekodeky) identifikov´any GUID • zaobaluje FourCC, napˇr. DEFINE GUID(CLSID XVID, mmioFOURCC('D','I','V','X'), ... • teoreticky libovoln´ykodek • index pˇriˇrazenkl´ıˇcov´ymsn´ımk˚um,m˚uˇzeb´ytpodle ˇcasu, ˇc´ısla sn´ımkunebo ref. ˇcas.raz´ıtka Multimedi´aln´ıkontejnery, kodeky a frameworky 8 / 44 Kontejnery QuickTime • pˇr´ıpona .mov • spoleˇcnostApple, tak´eQuickTime File Format (QTFF) • je na nˇemzaloˇzenMPEG-4 Part 12 Ogg • pˇr´ıpony .ogv, .oga, .ogx, .ogg • otevˇren´yform´at • souˇc´astprojektu Ogg, zastˇreˇsen´eXiph.Org Foundation • dˇr´ıveve specifikace HTML5 • hack OGM (Ogg Media) Multimedi´aln´ıkontejnery, kodeky a frameworky 9 / 44 Kontejnery Flash Video • pˇr´ıpony .flv, .f4v • spoleˇcnostAdobe Systems (p˚uvodnˇeMacromedia) • dvˇeverze: FLV (SWF) a F4V (MPEG-4 Part 12) • omezen´apodpora kodek˚u 3GP, 3G2 • pˇr´ıpony .3gp, .3g2 • zaloˇzenyna MPEG-4 Part 12 • pro mobiln´ızaˇr´ızen´ı • omezen´apodpora kodek˚u Multimedi´aln´ıkontejnery, kodeky a frameworky 10 / 44 Kontejnery MPEG-PS • ISO, specifikov´anv MPEG-1 Part 1 a MPEG-2 Part 1 • VOB, EVO (s omezen´ımi) { DVD-Video a HD DVD • omezen´apodpora kodek˚u+ priv´atn´ıproudy MPEG-TS • ISO, 1995, specifikov´anv MPEG-2 Part 1 • m˚uˇzen´estv´ıcePS (Program Streams) • omezen´apodpora kodek˚u+ priv´atn´ıproudy • televizn´ıvys´ıl´an´ı Multimedi´aln´ıkontejnery, kodeky a frameworky 11 / 44 Multim´edia • multim´edia: text, zvuk, statick´yobraz, video, metainformace, . • potˇreba: • z´ısk´avat(kamera), • ukl´adat(pevn´ydisk, komprese), • vyhled´avat(podle popisu), • pˇrehr´avat, • upravovat (stˇrihvidea), . • ukl´ad´an´ı:kontejner + kodeky Multimedi´aln´ıkontejnery, kodeky a frameworky 12 / 44 Pojmy • sn´ımek(frame) • sn´ımkov´afrekvence • index (podle ˇcasu,ˇc´ıslasn´ımku) • typy sn´ımk˚u • kl´ıˇcov´esn´ımky(I-sn´ımky) • rozd´ılov´esn´ımky(predikce, P-sn´ımky, B-sn´ımky) • frame reordering • GOP (skupina sn´ımk˚u) Multimedi´aln´ıkontejnery, kodeky a frameworky 13 / 44 Pojmy Multimedi´aln´ıkontejnery, kodeky a frameworky 14 / 44 Techniky 0 • barevn´ymodel: Y CbCr + podvzorkov´an´ı(sub-sampling) • rozdˇelen´ına bloky • intra-sn´ımkov´ek´odov´an´ı(prostorov´aredundance) • predikce • rozdˇelitsn´ımekna bloky • transformace (DCT, DWT) • kvantizace, k´odov´an´ı 0011010 1100011 1001101 01110... 1 2 3 4 5 Multimedi´aln´ıkontejnery, kodeky a frameworky 15 / 44 Techniky • inter-sn´ımkov´ek´odov´an´ı(ˇcasov´aredundance) • kompenzace pohybu • glob´aln´ı • blokov´a{ pohybov´yvektor • s pˇresahuj´ıc´ımibloky Multimedi´aln´ıkontejnery, kodeky a frameworky 16 / 44 Form´aty videa, kodeky MPEG-1 Part 2 • vytvoˇrenMPEG, standard ISO • DCT • form´at:VCD • libavcodec MPEG-2 Part 2/H.262 • form´at • SVCD, DVD, DVB, HD DVD, Blu-ray • DCT, VBR (na rozd´ılod MPEG-1) • ˇsirok´apodpora • libavcodec Multimedi´aln´ıkontejnery, kodeky a frameworky 17 / 44 Form´aty videa, kodeky MPEG-4 Part 2 ASP/MPEG-4 ASP • form´at • zaloˇzenna ITU-T H.263, ISO, 1999 • B-sn´ımkyaˇzASP (ne SP), DCT • kodeky • libavcodec • DivX • Xvid • 3ivx • Nero Digital Multimedi´aln´ıkontejnery, kodeky a frameworky 18 / 44 Form´aty videa, kodeky MPEG-4 Part 10/H.264/MPEG-4 AVC • form´at • ISO, 2003 • Blu-ray, HD DVD, DVB (CTˇ HD + Nova HD) • I/P/B-sn´ımky, DCT/WHT • kodeky • libavcodec (pouze dekomprese) • x264 (pouze komprese) • DivX (H.264) • Nero Digital • CoreAVC (pouze dekomprese) Multimedi´aln´ıkontejnery, kodeky a frameworky 19 / 44 Form´aty videa, kodeky H.265/HEVC • ve v´yvoji,vˇetˇs´ıvelikost transformace, adaptivn´ıv´ybˇer kvantizaˇcn´ımatice, . • HM-1.0 VP8 • form´at • Google, HTML5 • DCT/WHT (Walsh{Hadamard transform) • nejsou B-sn´ımky, zav´ad´ıgolden sn´ımkya altref sn´ımky • libvpx Multimedi´aln´ıkontejnery, kodeky a frameworky 20 / 44 Form´aty videa, kodeky Theora • urˇcenpro Ogg, Xiph.org Foundation • form´atzaloˇzenna VP3; DCT, I/P-sn´ımky(ne B-sn´ımky) • libtheora Dirac • BBC • DWT, I/P/B-sn´ımky • podmnoˇzina standardizov´anajako VC-2 • kodeky Schr¨odingera Dirac (dirac-research) Multimedi´aln´ıkontejnery, kodeky a frameworky 21 / 44 Form´aty videa, kodeky Windows Media Video + VC-1/SMPTE 421M • Microsoft; VC-1 (zaloˇzenona WMV 9) pozdˇejiSMPTE • HD DVD, Blu-ray; DCT, ∼MPEG • nˇekolik profil˚u,nˇekolik kodek˚uod Microsoftu (WMV 9) nestandardizovan´e • Huffyuv • Lagarith • MJPEG Multimedi´aln´ıkontejnery, kodeky a frameworky 22 / 44 Multim´edia • multim´edia: text, zvuk, statick´yobraz, video, metainformace, . • potˇreba: • z´ısk´avat(kamera), • ukl´adat(pevn´ydisk, komprese), • vyhled´avat(podle popisu), • pˇrehr´avat, • upravovat (stˇrihvidea), . • ukl´ad´an´ı:kontejner + kodeky Multimedi´aln´ıkontejnery, kodeky a frameworky 23 / 44 Multimedi´aln´ıframework • vˇsezaobaluje • knihovny (API), n´astroje(pˇrehr´avaˇc,CLI) • form´aty: kontejnery, kodeky, protokoly, . • poˇzadavky:modularita, ˇsirok´apodpora form´at˚u,intuitivn´ı pouˇzit´ı,dokumentace, v´ykon, platforma, . • probl´em:ˇz´adn´yneum´ıvˇse Multimedi´aln´ıkontejnery, kodeky a frameworky 24 / 44 Pojmy 0 • barevn´ymodel (RGB, Y CbCr) • form´atpixelu (RGB24) • framebuffer skutečný obraz pixel{ bajt }řádek framebuffer: ... šířka řádku délka kroku Multimedi´aln´ıkontejnery, kodeky a frameworky 25 / 44 Pˇrehr´avaˇc,kodek pˇrehr´avaˇcvidea: dekóduj inicializace destrukce snímek zobraz snímek funkce kodeku: • inicializace (alokace pamˇeti{ rozd´ılov´esn´ımky, parametry) • odhad maxim´aln´ıvelikosti zkomprimovan´ehosn´ımku • komprese sn´ımku • dekomprese sn´ımku Multimedi´aln´ıkontejnery, kodeky a frameworky 26 / 44 Multimedi´aln´ıframework nˇekter´ev´yznamn´eframeworky: • Video for Windows (VirtualDub, Media Player) • DirectShow (WMP, BSPlayer, Media Player Classic) • FFmpeg (MPlayer, VLC, ffdshow) • QuickTime (QuickTime) • Media Foundation (Windows Media Player 11/12) • GStreamer • xine, libvlc, Phonon a dalˇs´ı.. Multimedi´aln´ıkontejnery, kodeky a frameworky 27 / 44 Frameworky Video for Windows (VfW) / Video Compression Manager (VCM) • vyvinul Microsoft jako reakci na QuickTime (Apple) • prvn´ıverze (verze 1.0), listopad 1992 • vlastn´ısouborov´yform´atAudio Video Interleave (AVI) • n´astupcem se stal DirectShow • dokumentace na MSDN LONG hr ; PAVIFILE pfile ; AVIFileInit (); hr = AVIFileOpen(&pfile , szFile , OF SHARE DENY WRITE , 0L ) ; i f ( hr != 0) f r e t u r n ; g AVIFileRelease(pfile ); AVIFileExit (); Multimedi´aln´ıkontejnery, kodeky a frameworky 28 / 44 Frameworky Video for Windows (VfW) / Video Compression Manager (VCM) #i n c l u d e <vfw . h> LRESULT WINAPI DriverProc( DWORD dwDriverId , HDRVR hdrvr , UINT msg , LONG lParam1 , LONG lParam2) f s w i t c h ( msg ) f case ICM COMPRESS : // komprimuj snimek r e t u r n Compress ( ( ICCOMPRESS∗)lParam1 , (DWORD)lParam2 ); case ICM DECOMPRESS : // dekomprimuj snimek r e t u r n Decompress ( (ICDECOMPRESS∗)lParam1 , (DWORD)lParam2 ); g g kodek: zkompilovat jen plugin Multimedi´aln´ıkontejnery, kodeky a frameworky 29 / 44 Frameworky Video for Windows (VfW) / Video Compression Manager (VCM) Multimedi´aln´ıkontejnery, kodeky a frameworky 30 / 44 Frameworky DirectShow (DShow, DS) • n´astupce VfW; n´astupcem Media Foundation • zaloˇzenna objektov´emmodelu COM (Component Object Model) • graf sloˇzen´yz filtr˚u • automatick´akonverze barevn´ychmodel˚u(proti

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    44 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us