VP8ã®
æåã®ã¬ãã¥ãŒãæžããŠããç¬éã§ãããå
¬åŒã®ãã³ãŒããŒ
libvpxãéåžžã«é
ãããšã«æ°ä»ããŸããã åªãã
H.264ãã³ãŒããŒããã倧å¹
ã«é«éã§ããå¿
èŠãããç¹å¥ãªçç±ã¯ãããŸããããããã»ã©é
ããªãããšã¯ãããŸããïŒ ã ããç§ã¯ããã«ãã»ãã«ãžã§ãšããããã»ã³ã³ã©ãããšãšãã«
FFmpegã®ãã¹ãããŒãžã§ã³ãæžãèšç»ãæã£ãŠããŸããã ãã®ãã³ãŒããŒã®å®è£
ã¯ãlibvpxã©ã€ãã©ãªãŒã§ãããããã©ã€ãšã¿ãªã³ãŒãã®ãã³ããšã¯å¯Ÿç
§çã«ãã³ãã¥ããã£ã«ãã£ãŠéçºãããæåããèªç±ã§ãããšæ³å®ãããŠããŸããã æ°é±éåããã³ãŒããŒã¯ãããªã¹ããªãŒã ãšlibvpxã®ãã€ããªäºææ§ã確ä¿ããããã«ååã«å®æã
ãVP8ãã³ãŒããŒã®æåã®ç¬ç«ããç¡æã®å®è£
ã«ãªããŸãã ã æé©åã®æåã®ãµã€ã¯ã«ãå®äºããã®ã§ãå®éã®æ¡ä»¶ã§äœ¿çšããæºåãã§ããŠããã¯ãã§ãã éçºããã»ã¹ã®è©³çŽ°ã«ã€ããŠã¯åŸã§èª¬æããŸããã次ã«ããã®æçš¿ã®æ žå¿ã§ããã³ãŒããã¯ããã©ãŒãã³ã¹ã®æ¯èŒãã¹ãã®çµæã«ç§»ããŸãããã
2ã€ã®1080pã¯ãªããã§ãã³ãŒããŒããã¹ãããŸããïŒ
Parkjoy ïŒã©ã€ãã·ã§ããïŒãš
Sintel trailer ïŒã³ã³ãã¥ãŒã¿ãŒã§äœæïŒã ãã¹ãã¯æ¬¡ã®ããã«å®è¡ãããŸããã
time ffmpeg -vcodec {libvpx or vp8} -i input -vsync 0 -an -f null -
ãã®æçš¿ã®æç¹ã§SVNããã®ææ°ã®FFmpegãã«ãã䜿çšããŸãããVP8ãã³ãŒããŒã®æé©åãå«ãæåŸã®ãªããžã§ã³ã¯r24471ã§ããã
ãããã®ã°ã©ãã瀺ãããã«ãç¹ã«64ããããã©ãããã©ãŒã ã§ã¯ãffvp8ã¯libvpxãããã¯ããã«é«éã§ãã Atomããã»ããµäžã§ããAtomå°çšã«æé©åããããŠããªãã«ãããããããéåžžã«é«éã«åäœããŸãã å€ãã®å Žåããã®ããã©ãŒãã³ã¹ã®éãã«ãããç¹ã«ãšã³ãžã³ãããã»ããµã®ãªãœãŒã¹ã®ããªãã®éšåãæ¶è²»ããææ°ã®ãã©ãŠã¶ã§ããããªãåçãããŠãããã©ããã決ãŸããŸãã VP8ãããªãããéãåçãããã§ããïŒ FFmpegããŒã¹ã®ãã¬ãŒã€ãŒã®æ°ããããŒãžã§ã³ïŒããã¯ããç¥ãããŠãã
VLCããã³ä»ã®å€ãã®ããŒãžã§ã³ã§ãïŒã«ã¯ãffvp8ã©ã€ãã©ãªãå«ãŸããŸãã ãã©ãŠã¶ã§VP8ãããªãããéããã³ãŒããããã§ããïŒ éçºè
ãšéä¿¡ããlibvpxã®ä»£ããã«ffvp8ã䜿çšããããšã䞻匵ããŸãã ãããªåçãµãã·ã¹ãã ã§æ¢ã«libavcodecã䜿çšããŠãããããChromeãffvp8ãæåã«äœ¿çšãããšä¿¡ããŠããŸãã
ffvp8ã®éçºã¯ããã§çµããã§ã¯ãªãããšãå¿ããªãã§ãã ãããæ¹åãšã¹ããŒãã¢ãããç¶ããŸãã ã¡ã€ã³ã®éçºãã©ã³ãã«ã¯ãŸã å«ãŸããŠããªãæé©åã®ãã¥ãŒããŸã ãããŸãã
FFVP8éçº
DavidãšRonaldãå§ããæåã®ã¿ã¹ã¯ã¯ããã³ãŒããŒã®ã³ã¢ãåäœæããlibvpxãšã¹ããªãŒã ã®ãã€ããªãŒäºææ§ãå®çŸããããšã§ããã å
¬åŒä»æ§ãäžå®å
šã§ãããããããã¯ç°¡åã§ã¯ãããŸããã§ããã ä»æ§ã®å€ãã®éšåã¯äžè¬çã«æ£ãããªããlibvpxã³ãŒããšççŸããŠããŸããã ãããŠãã¡ãããå
¬åŒã®äºææ§ãã¹ãã®ã»ãããå
¬åŒã®ãšã³ã³ãŒããŒã䜿çšãããã¹ãŠã®æ©èœãã«ããŒããŠããªããšããäºå®ã¯ãç§ãã¡ã®ä»äºãå©ããŸããïŒ ãã®ç¶æ³ã§äœããã®åœ¢ã§ããã«æ©èœããããã«ã¯ãç¬èªã®ãã¹ãã®è¿œå ãéå§ããå¿
èŠããããŸããã ããããç§ã¯ä»¥åã®æçš¿ã§å質ä»æ§ã®æ¬ åŠã«ã€ããŠãã§ã«äžæºãèšã£ãŠããã®ã§ããã¥ã¢ã³ã¹ã«ç§»ããŸãããã
次ã®ã¹ãããã¯ããã¹ãŠã®éèŠãª
DSPæ©èœã«
SIMDã³ãŒããè¿œå ããããšã§ããã åºæ¬çã«ãVP8ãã³ãŒããŒã®ããã»ããµãŒã®è² è·ã¯ãH.264ãšåãããã«ãåãè£åãšãããããã³ã°ãã£ã«ã¿ãŒïŒ
ãšã³ã³ãŒãã¢ãŒãã£ãã¡ã¯ãã®è£åããã©ã³ã¹ ïŒã«ãã£ãŠäœæãããŸãã ãã ããH.264ãšã¯ç°ãªãããããããã³ã°ãã£ã«ã¿ãŒã¯
飜åã®å
éš
æŒç®ã«äŸåããŸããããã¯ãSIMDå®è£
ã§ã¯ã³ã¹ããããããŸããããCã®å®è£
ã®ããã»ããµãŒã«é¢ããŠã¯éåžžã«ãé£ãããåãã§ãããã¡ãããã©ã¡ããæ·±å»ãªåé¡ã¯ãããŸããããã¹ãŠã®éåžžã®ã³ãŒããã¯ã§ã¯ããããã®ããã»ã¹ã¯SIMDã³ãŒããšããŠå®è£
ãããŠããããã§ãã
Ronaldãx86ã®SIMDãæäŒã£ãã»ããã»ãšãã©ã®åãè£åãå
éšäºæž¬ãããã³éå€æã®äžéšãæžããŸããã ããã«ãã¯ãéå€æã®æ®ããšåãè£åéšåãæžããŸããã 圌ã¯ãŸããæãé£ããéšåã§ãããããããã³ã°ãã£ã«ã¿ãŒãè¡ããŸããã ãããã®ãã£ã«ã¿ãŒã¯ãã³ãŒããã¯ããšã«ç°ãªããããåžžã«é£ããéšåã§ãã æ¯èŒãããšãåãè£åã®å®è£
ã¯ãéåžžãã³ãŒããã¯ãç°ãªãã°ããã»ã©éãã¯ãããŸããã6ã¿ãããã£ã«ã¿ãŒã¯ãããã®å Žåã6ã¿ãããã£ã«ã¿ãŒã«ãªããéåžžã¯ä¿æ°ã®ã¿ãç°ãªããŸãã
SIMDãããããã³ã°ãã£ã«ã¿ãŒã®æ倧ã®é£ç¹ã¯ããã¢ã³ããã¯ããåé¿ããããšã§ããã 8ããããã16ãžã®é·ç§»ã ãã®ãããªãã£ã«ã¿ãŒã®å€ãã®æäœã§ã¯ãæåã¯8ããã以äžã®ç²ŸåºŠãå¿
èŠãšæãããŸãã x86ã®ç°¡åãªäŸã¯absïŒabïŒã§ãaãšbã¯8ãããã®ç¬Šå·ãªãæŽæ°ã§ãã çµæã®ãabãã«ã¯ã笊å·ä»ãã®9ãããã®ç²ŸåºŠãå¿
èŠã§ãïŒ-255ã255ã®éã«ããå¯èœæ§ãããããïŒããããã£ãŠã8ãããã«ã¯åãŸããŸããã ãããããã¢ã³ããã¯ããªãã§ãã®åé¡ã解決ããããšã¯éåžžã«å¯èœã§ãïŒïŒsatsubïŒaãbïŒ| satsubïŒbãaïŒïŒãããã§ããsatsubãã¯2ã€ã®å€ã®éã®é£œåã®å·®ãèšç®ããŸãã å·®ãæ£ã®å Žåãçµæãè¿ããããã以å€ã®å Žåã¯ãŒãã§ãããããã£ãŠããããã®é¢æ°ã®çµæã®è«çORãå®è¡ãããšãå¿
èŠãªãã®ãåŸãããŸãã ããã«ã¯4ã€ã®x86ã¢ã»ã³ãã©ãŒåœä»€ãå¿
èŠã§ããå®éã®ãã¢ã³ããã¯ãããã³ããããã³ã°ãã¹ããããå«ãããã¢ã³ããã¯ãã«ã¯å°ãªããšã10ãå¿
èŠã§ãã
ããã«ç¶ããŠãCã³ãŒãã®SIMDæé©åãè¡ããããã®å®è¡ã¯äŸç¶ãšããŠãã³ãŒãæéã®ããªãã®éšåãå ããŸããã ç§ã®æ倧ã®æé©åã®1ã€ã¯ããã£ãã·ã¥ãã¹ã®æ°ãæžããã¹ããŒãããªãã§ããã®è¿œå ã§ããã ffvp8ã¯ãçŸåšã®ãã¬ãŒã ã§åç
§ãããŠãããã¬ãŒã ïŒãåããããŽãŒã«ãããã代æ¿ãªã³ã¯ããåããŽãŒã«ããALTREFïŒãäºåã¯ãšãªããŸããããã®ãã¬ãŒã ã§å®éã«äœ¿çšãããŠããå Žåã®ã¿ã§ãã ããã«ãããå¿
èŠãªãã¹ãŠãäºåã«ç
§äŒã§ãã䜿çšããå¯èœæ§ãäœããã®ãèŠæ±ããããšã¯ã§ããŸããã ååãšããŠãlibvpxã¯ãGOLDENãŸãã¯ALTREFãã¬ãŒã ãã»ãšãã©äœ¿çšããªãïŒããŸã£ãã䜿çšããªãããšç解ããªãïŒãã¬ãŒã ããšã³ã³ãŒãããããããã®æé©åã«ãããå€ãã®å®éã®ãããªã§ã®äºåèŠæ±ã«ãããæéã倧å¹
ã«åæžãããŸãã ããã«ãã³ãŒãã®ããŸããŸãªå Žæã§å€ãã®æé©åãè¡ã£ããããããšãã°Davidãäœæãããšã³ããããŒãã³ãŒããŒã®æé©åãªã©ããã¹ãŠãããã«ãªã¹ãããããšã¯ã§ããŸããã ãŸãããããã®æ¹åã®ã»ãšãã©ã®ããã©ãŒãã³ã¹ããã¹ãããéã«è²Žéãªå©ããããŠãããEli Friedmanã«ãæè¬ããŸãã
次ã¯ïŒ Altivecã¢ã»ã³ããªã³ãŒãïŒ
PPC ïŒã¯å®è³ªçã«ååšãããDavidã®åãè£åã³ãŒãã«ã¯ããã€ãã®æ©èœãããããŸããã NEONïŒ
ARM ïŒã®ã¢ã»ã³ããªã³ãŒãã¯ãŸã£ãããªããã¢ãã€ã«ããã€ã¹ã§è¿
éã«åäœããããã«å¿
èŠã§ãã ãã¡ãããããã¯ãã¹ãŠæéã®çµéãšãšãã«è¡ããããã€ãã®ããã«ãç§ãã¡ã¯åžžã«ãããã«æºè¶³ããŠããŸãïŒ
ã¢ããªã±ãŒã·ã§ã³ïŒè£žã®æ°å
以äžã¯ãäžèšã®ã°ã©ãã«å¯Ÿå¿ããæ°å€ã§ã1ç§ãããã®ãã¬ãŒã æ°ãš
æšæºèª€å·®ã瀺ããŠããŸãã
Core i7 620QMïŒ1.6GhzïŒãWindows 7ã32ãããïŒ
Parkjoy ffvp8ïŒ44.58±0.44
Parkjoy libvpxïŒ33.06±0.23
Sintel ffvp8ïŒ74.26±1.18
Sintel libvpxïŒ56.11±0.96
Core i5 520MïŒ2.4GhzïŒãLinuxã64ãããïŒ
Parkjoy ffvp8ïŒ68.29±0.06
Parkjoy libvpxïŒ41.06±0.04
ã·ã³ãã«ffvp8ïŒ112.38±0.37
Sintel libvpxïŒ69.64±0.09
Core 2 T9300ïŒ2.5GhzïŒãMac OS X 10.6.4ã64ãããïŒ
Parkjoy ffvp8ïŒ54.09±0.02
Parkjoy libvpxïŒ33.68±0.01
ã·ã³ãã«ffvp8ïŒ87.54±0.03
Sintel libvpxïŒ52.74±0.04
Core DuoïŒ2GhzïŒãMac OS X 10.6.4ã32ãããïŒ
Parkjoy ffvp8ïŒ21.31±0.02
Parkjoy libvpxïŒ17.96±0.00
ã·ã³ãã«ffvp8ïŒ41.24±0.01
Sintel libvpxïŒ29.65±0.02
Atom N270ïŒ1.6GhzïŒãLinuxã32ãããïŒ
Parkjoy ffvp8ïŒ15.29±0.01
Parkjoy libvpxïŒ12.46±0.01
ã·ã³ãã«ffvp8ïŒ26.87±0.05
Sintel libvpxïŒ20.41±0.02
翻蚳è
ã¡ã¢
ããšãã°ã6ã¿ãããã£ã«ã¿ãŒã®ãã·ã¢èªã®æ£ãã翻蚳ã誰ããæããŠããããããšãŠãæè¬ããŠããŸãã
以äžã§ã¯ãããŒããžã®ã³ã¡ã³ãã§ãèè
ã¯èªè
ããã®ããã€ãã®è³ªåãžã®åçã瀺ããŠããŸãã ããã¯è³ªåãšåçãçŽæ¥ç¿»èš³ãããã®ã§ã¯ãªããæ¬è³ªãèŠçŽãããã®ã§ãã
QïŒffvp8ã¯ãlibvpxã«å ããããæ¹åã䜿çšã§ããŸããïŒ
AïŒå®éãèå³æ·±ããšæããããã¹ãŠã®æé©åã¯ããã§ã«ããããè¡ãããŠããŸãã ãã ãããã³ãŒãã®ã¢ãŒããã¯ãã£ã¯æ ¹æ¬çã«ç°ãªãããããœãŒã¹ã®åçŽãªããŒãžã§ã¯ååã§ã¯ãªãããšãç解ããå¿
èŠããããŸãã
QïŒffvp8ãlibvpxå®éšéçºãã©ã³ããšã®äºææ§ãç¶æã§ããªããªãå±éºæ§ã¯ãããŸããïŒ
AïŒçŸæç¹ã§ã¯ãå®éšãã©ã³ãã¯å®éã®æ¡ä»¶ã§ã®äœ¿çšãç®çãšããŠããªãããããã®ãããªã¿ã¹ã¯ã¯äŸ¡å€ããããŸããã å®éšãã©ã³ããšçŸåšã®libvpxãšã®äºææ§ããä¿èšŒãããŠããŸããã
QïŒFFmpegã®éçºã®ã¹ãã³ãµãŒã¯èª°ã§ããïŒ
AïŒãããžã§ã¯ãå
šäœã¯èª°ã§ããããŸããããç¹å®ã®é¡§å®¢ãå¿
èŠãšããæ©èœã®å®è£
ã«å¯ŸããŠãéãåãåãéçºè
ãããŸãã èè
ãç¥ãéããffvp8ã®éçºã¯å®å
šã«éå¶å©ã§ããã
QïŒããã©ãŒãã³ã¹ã®åäžã¯ãlibvpxã®ã°ããŒãã«ãªãã¡ãªããã®1ã€ã«ãããã®ã§ããããããšããã¡ãã¡ã§å€ãã®æé©åãè¡ãããã®ã§ããïŒ
AïŒäžè¬çã«ã¯ã2çªç®ã§ãã ããããäž»ãªããã©ãŒãã³ã¹ã®åäžã¯ãlibvpxããã¬ãŒã ãæ°åééãïŒä»¥åã®ãã¹ãŠã®On2ã³ãŒããã¯ãåãããšãè¡ãïŒãffvp8ããã¹ãŠã®æäœã1åã®ãã¹ã§å®è¡ããããã§ãã
QïŒFFmpegã§ç¬èªã®VP8ãšã³ã³ãŒããŒãéçºããäºå®ã§ããïŒ
AïŒããã¯éåžžã«å€§ããªä»äºã§ãããæ£çŽãªãšããããããå®è¡ããããšã¯æããŸããã å®éãFFmpegãæã€å¯äžã®ããã€ãã£ãããšã³ã³ãŒããŒã¯mpegãšã³ã³ãŒããŒã§ãããæ¢åã®ãã¬ãŒã ã¯ãŒã¯ã«åºã¥ããŠVP8ãšã³ã³ãŒããŒãäœæããæ¹æ³ã¯ã»ãšãã©ãããŸããããããã«ããŠãããã®æ¹æ³ã¯åçŽã§ã¯ãããŸããã ãããããã¡ããã誰ããè©ŠããŠã¿ããå Žå...
QïŒããããFFmpegã®ãã€ãã£ããšã³ã³ãŒããŒãmpegã®ã¿ã®å Žåããã®ã©ã€ãã©ãªã¯ãmpegã ãã§ãªããWMV 7/8ãH.261 / 3ãããã³ä»ã®ã©ã€ãã©ãªã䜿çšããªãä»ã®åœ¢åŒã§ããããªãšã³ã³ãŒãã£ã³ã°ããµããŒãããŸãã
AïŒãããã®ãšã³ã³ãŒããŒã¯ãã¹ãŠãå®éã«ã¯å
éšmpegãšã³ã³ãŒããŒã䜿çšããŸããããã©ãŒãããããšã«ããããªããªãšãŒã·ã§ã³ããããŸãã ãšã³ã³ãŒããŒã¯å€ãã®éšåã§æ§æããã倧ããè€éãªããã°ã©ã ã§ããããªã¹ããããŠãã圢åŒã®ãšã³ã³ãŒããŒéã®å¯äžã®éèŠãªéãã¯ãšã³ããããŒãšã³ã³ãŒãã£ã³ã°ã¢ã«ãŽãªãºã ãšããããŒã§ããããšã«çæããŠãã ããã äž¡æ¹ãšããæ®ãã®ã³ãŒããå€æŽããã«ç°¡åã«çœ®ãæããããšãã§ããŸãã FFmpegã«ã¯ããã¹ãŠã¡ã€ã³mpegãšã³ã³ãŒããŒã«åºã¥ãéåžžã«å€ãã®ããšã³ã³ãŒããŒããååšããçç±ã§ããå®éããããã®ã¢ã«ãŽãªãºã ã®éãã¯ããã»ã©éèŠã§ã¯ãããŸããïŒãããã¯ãã¹ãŠã8x8ãã¯ã»ã«ãããã¯ã®
é¢æ£ã³ãµã€ã³å€æã«åºã¥ãMPEGã«äŒŒãŠããŸãïŒãã»ãŒåãã³ãŒãã䜿çšãããŸãã
ã¡ãªã¿ã«ãããã¯FFmpegã«WMV9ãšã³ã³ãŒããŒããªãããšã説æããŠããŸã-ãã®ã¢ã«ãŽãªãºã ã¯ä»¥åã®ããŒãžã§ã³ãšã¯ããŸãã«ãç°ãªããããå
容ã«åºã¥ããŠç°¡åã«å®è£
ã§ããŸãã
QïŒffvp8ã¯VP4ã5ã6ã7ããã³ãŒãã§ããŸããïŒ
AïŒãã¶ãã§ãããVP4ã5ã6ã®ã¿ã§ããVP7ããŸã ãªããŒã¹ãšã³ãžãã¢ãªã³ã°ããŠããªãããã§ãã ããããVP7ãšVP8ãã»ãŒåãã§ãããšç§ã¯çã£ãŠããã®ã§ãVP8ã®ãªãŒãã³ãèæ
®ããŠãVP7ã®ãµããŒãã¯è¿ãå°æ¥ã«ç»å Žããã§ãããã
QïŒMedia Player Classic HomeCinemaãšFFDshowã®æ°ããSVNã¢ã»ã³ããªãã©ãã§å
¥æããŠãæ°ããWindowsãã³ãŒããŒã§èªåã§ç¢ºèªã§ããŸããïŒ
æŠèŠïŒ
xhmikosr.1f0.de
ã¡ã¢ã®äœæè
ã«è³ªåãããå Žåã¯ã翻蚳ããŠåœŒã®ããã°ã«å
¬éããæºåãã§ããŠããŸãã