WebCodecs VideoEncoder Quality Predictor ãæ¢æ±ããŸããããåç»ãšã³ã³ãŒãã£ã³ã°åè³ªãæšå®ãã匷åãªããŒã«ã§ããäžçäžã®éçºè åãã®ä»çµã¿ãå©ç¹ãå¿çšãçè§£ããŸãããã
WebCodecs VideoEncoder Quality Predictor: ãšã³ã³ãŒãã£ã³ã°å質æšå®ã®ãã¹ã¿ãŒ
ãŠã§ãéçºã®çµ¶ãéãªãé²åããç¶æ³ã«ãããŠãé«å質ãªãããªãšã¯ã¹ããªãšã³ã¹ãæäŸããããšã¯æéèŠäºé ã§ããã¹ããªãŒãã³ã°ããããªäŒè°ãã³ã³ãã³ãäœæãã€ã³ã¿ã©ã¯ãã£ããªã¢ããªã±ãŒã·ã§ã³ã®ãããã«ãããŠãããããªãšã³ã³ãŒãã£ã³ã°ã®å¿ å®åºŠãšå¹çæ§ã¯ããŠãŒã¶ãŒãšã³ã²ãŒãžã¡ã³ããšæºè¶³åºŠã«çŽæ¥åœ±é¿ããŸããWebCodecs API ã¯ã匷åãªããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã«ãããããªãšã³ã³ãŒãã£ã³ã°ãšãã³ãŒãã£ã³ã°æ©èœããã©ãŠã¶ã«çŽæ¥ããããç»æçãªãã¯ãããžãŒãšããŠç»å ŽããŸããããã®äžå¿ã«ã¯ãéçºè ãããã°ã©ã çã«ãšã³ã³ãŒãã£ã³ã°ããã»ã¹ãå¶åŸ¡ã§ããã³ã³ããŒãã³ãã§ãã VideoEncoder ããããŸãããããããšã³ã³ãŒããããåºåã®å質ãçè§£ããäºæž¬ããããšã¯è€éãªèª²é¡ãšãªãå¯èœæ§ããããŸããããã§ãWebCodecs VideoEncoder Quality Predictor ã®æŠå¿µãéåžžã«éèŠã«ãªããŸãã
ãããªã«ããããšã³ã³ãŒãã£ã³ã°å質ã®éèŠæ§
äºæž¬ã®è©³çްã«å ¥ãåã«ããšã³ã³ãŒãã£ã³ã°å質ããªãããã»ã©éèŠã§ãããã匷調ããŸãããã
- ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ (UX): ãŒãããããã¯ã»ã«åãããããŸãã¯ã¢ãŒãã£ãã¡ã¯ãã ããã®ãããªã¯ãããã«ãŠãŒã¶ãŒãã€ã©ã€ã©ãããã¢ããªã±ãŒã·ã§ã³ããµãŒãã¹ã®æŸæ£ã«ã€ãªããå¯èœæ§ããããŸãã
- 垯åå¹ æ¶è²»é: äœå質ã¯ãã°ãã°ã垯åå¹ ãäœãããšãæå³ããäžçã®å€ãã®å°åã§äžè¬çãªã·ããªãªã§ãããã€ã³ã¿ãŒãããæ¥ç¶ãéãããŠãããŠãŒã¶ãŒã«ãšã£ãŠæçã§ããéã«ã管çå¯èœãªãããã¬ãŒãã§ã®é«å質ãçæ³ã§ãã
- ã¹ãã¬ãŒãžèŠä»¶: ãããªã®ä¿åãŸãã¯é åžãå«ãã¢ããªã±ãŒã·ã§ã³ã®å Žåãå¹ççãªãšã³ã³ãŒãã£ã³ã°ã¯ã¹ãã¬ãŒãžã³ã¹ãã®åæžãšã¢ããããŒã/ããŠã³ããŒãæéã®ççž®ã«çŽæ¥ã€ãªãããŸãã
- èšç®ãªãœãŒã¹: ãªã¢ã«ã¿ã€ã ãšã³ã³ãŒãã£ã³ã°ãšãã³ãŒãã£ã³ã°ã¯èšç®è² è·ã®é«ãåŠçã§ãããšã³ã³ãŒãã£ã³ã°ãã©ã¡ãŒã¿ãæé©åãããšããµãŒããŒãšã¯ã©ã€ã¢ã³ãããã€ã¹ã®äž¡æ¹ã® CPU è² è·ãå€§å¹ ã«åæžã§ããŸããããã¯ãã¢ãã€ã«ãŠãŒã¶ãŒãå€ãããŒããŠã§ã¢ã«ãšã£ãŠç¹ã«éèŠã§ãã
- ã³ã³ãã³ãã¯ãªãšã€ã¿ãŒã®æºè¶³åºŠ: ãŠãŒã¶ãŒããããªã³ã³ãã³ããã¢ããããŒããããã©ãããã©ãŒã ã®å Žåããšã³ã³ãŒãã£ã³ã°å質ã«é¢ããããŒã«ããã£ãŒãããã¯ãæäŸããããšã§ãã¯ãªãšã€ã¿ãŒã¯ãããã§ãã·ã§ãã«ãªçµæãçæããã®ã«åœ¹ç«ã¡ãŸãã
WebCodecs VideoEncoder ã®çè§£
WebCodecs API ã¯ãWebã¢ããªã±ãŒã·ã§ã³ããããªã³ãŒããã¯ãšå¯Ÿè©±ããããã®æšæºåãããæ¹æ³ãæäŸãããšã³ã³ãŒãã£ã³ã°ãšãã³ãŒãã£ã³ã°ããã现ããå¶åŸ¡ã§ããŸããVideoEncoder ã¯ç¹ã«ãçã®ãããªãã¬ãŒã ãå§çž®ããããããã¹ããªãŒã ã«å§çž®ããåŠçãè¡ããŸããäž»ãªåŽé¢ã«ã¯ä»¥äžãå«ãŸããŸãã
- ã³ãŒããã¯ãµããŒã: WebCodecs ã¯ããã©ãŠã¶ãšããŒããŠã§ã¢ã®ãµããŒãã«å¿ããŠãAV1ãVP9 ãªã©ã®ææ°ã®ã³ãŒããã¯ãšãH.264 ãªã©ã®ã¬ã¬ã·ãŒã³ãŒããã¯ããµããŒãããŠããŸãã
- èšå®: éçºè ã¯ãè§£å床ããã¬ãŒã ã¬ãŒããã³ãŒããã¯ããããã¬ãŒãããšã³ã³ãŒãã£ã³ã°ãããã¡ã€ã«ãªã©ã®ãã©ã¡ãŒã¿ã§ãšã³ã³ãŒããèšå®ããŸãã
- ãšã³ã³ãŒãã£ã³ã°ããã»ã¹: çã®ãããªãã¬ãŒã ããšã³ã³ãŒãã«æž¡ããããšã³ã³ãŒããããããŒã¿ã®ãã£ã³ã¯ãåºåãããŸãã
- å質ã®å¶åŸ¡: ãšã³ã³ãŒãã¯æå®ããããããã¬ãŒããæºããããšãç®æããŠããŸããã䞻芳çãªèŠèŠå質ã®çŽæ¥çãªå¶åŸ¡ã¯éæ¥çã§ãããå€ãã®å Žåããããã¬ãŒããConstant Rate Factor (CRF)ããŸãã¯ãã®ä»ã®é«åºŠãªèšå®ã調æŽããããšã§å®çŸãããŸãã
課é¡ã¯ããšã³ã³ãŒãã®ãã©ã¡ãŒã¿ãšç¥èŠãããèŠèŠå質ã®é¢ä¿ãå¿ ãããç·åœ¢ãŸãã¯çŽæçã§ã¯ãªããšããäºå®ã«ãããŸããã·ãŒã³ã®è€éããåãããªãŒãã£ãªã®åæãªã©ã®å€éšèŠå ã圹å²ãæãããŸãã
VideoEncoder Quality Predictor ãšã¯ïŒ
WebCodecs VideoEncoder Quality Predictor ã¯ãéžæããããšã³ã³ãŒãã£ã³ã°ãã©ã¡ãŒã¿ãšãæœåšçã«ä»ã®ã³ã³ããã¹ãæ å ±ãåºã«ããšã³ã³ãŒãããããããªãã©ã®çšåºŠè¯å¥œã«èŠããããããšã³ã³ãŒãã£ã³ã°ããã»ã¹åãŸãã¯äžã«æšå®ããããã«èšèšãããã·ã¹ãã ãŸãã¯ã¢ã«ãŽãªãºã ã§ãã以äžã®ãããªè³ªåãžã®åçãç®çãšããŠããŸãã
- ããã®ãããªãã¿ãŒã²ãããããã¬ãŒã5 Mbpsã§ãšã³ã³ãŒãããå ŽåãèŠèŠå質ã¯ã©ã®ããã«ãªãã§ããããïŒã
- ããã®çš®ã®ã³ã³ãã³ãã«å¯ŸããŠãèŠèŠçã«ãã¹ã¬ã¹ãªå§çž®ãå®çŸããã«ã¯ãAV1 ã«ã©ã® CRF å€ã䜿çšããã°ããã§ããããïŒã
- ããã®ã©ã€ãã¹ããªãŒã ã30fps ã§ã¯ãªã60fps ã§ãšã³ã³ãŒããããšããŠãŒã¶ãŒã®å質ãå€§å¹ ã«äœäžããŸããïŒã
ãã®ãããªäºæž¬ã¯ã以äžã®ãããªããŸããŸãªã¢ãããŒãã䜿çšããŠæ§ç¯ã§ããŸãã
- çµéšçããŒã¿ãšãã³ãããŒã¯: ããŸããŸãªã³ãŒããã¯ããã©ã¡ãŒã¿ãã³ã³ãã³ãã¿ã€ãã«ããã倿°ã®ãšã³ã³ãŒãã£ã³ã°ãã¹ãã®çµæãåæããŸãã
- æ©æ¢°åŠç¿ã¢ãã«: ãšã³ã³ãŒãããããããªããã®ãã©ã¡ãŒã¿ãããã³é¢é£ããåè³ªææšïŒPSNR/SSIM ãªã©ã®å®¢èŠ³çææšãš MOS ãªã©ã®äž»èŠ³çææšã®äž¡æ¹ïŒã®ããŒã¿ã»ããã§ã¢ãã«ããã¬ãŒãã³ã°ããŸãã
- ãã¥ãŒãªã¹ãã£ãã¯ã¢ã«ãŽãªãºã : æ¢ç¥ã®ãšã³ã³ãŒãã®åäœãšç¥èŠçãªãããªå質ã®ååã«åºã¥ããçµéšåãéçºããŸãã
ãªããã°ããŒãã« Web ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠåè³ªäºæž¬ãäžå¯æ¬ ãªã®ãïŒ
ã°ããŒãã«ãªèŠèŽè ãèæ ®ãããšãåè³ªäºæž¬ã®å¿ èŠæ§ãå¢å¹ ãããŸãã
1. ããžã¿ã«ããã€ããžã®æ¶ãæ©ïŒå€æ§ãªãããã¯ãŒã¯ç°å¢ãžã®æé©å
ã€ã³ã¿ãŒãããã€ã³ãã©ã¯äžçäžã§åçã«ç°ãªããŸããäžéšã®å°åã§ã¯é«éãããŒããã³ããäžè¬çã§ãããå€ãã®ãŠãŒã¶ãŒã¯äŸç¶ãšããŠäœéã§å®å®æ§ã®äœãæ¥ç¶ã«é Œã£ãŠããŸããåè³ªäºæž¬ã¯ãéçºè ãæ¯æŽããŸãã
- ã¢ãããã£ããããã¬ãŒãã¹ããªãŒãã³ã° (ABS): äºæž¬ãããå質ãšå©çšå¯èœãªåž¯åå¹ ã«åºã¥ããŠãšã³ã³ãŒãã£ã³ã°ãããã¬ãŒããåçã«èª¿æŽããæ¥ç¶ãéãããŠããå°åã®ãŠãŒã¶ãŒã«ã¹ã ãŒãºãªåçãšã¯ã¹ããªãšã³ã¹ãä¿èšŒããŸãã
- ã³ã³ãã³ãé ä¿¡ãããã¯ãŒã¯ (CDN) æŠç¥: CDN ãæäŸããããŸããŸãªå°ççå°åã«æé©ãªãšã³ã³ãŒãã£ã³ã°ãããã¡ã€ã«ãéžæããå質ãšåž¯åå¹ ã®ããŒãºã®ãã©ã³ã¹ãåããŸãã
- äºåãšã³ã³ãŒãã£ã³ã°ã®æ±ºå®: ã³ã³ãã³ãã¯ãªãšã€ã¿ãŒãŸãã¯ãããªãäºåãšã³ã³ãŒããããã©ãããã©ãŒã ã®å Žåãå質ãã©ã®ããã«èªèãããããçè§£ããããšã§ãããŸããŸãªåž¯åå¹ å±€ã«æé©åãããè€æ°ã®ããŒãžã§ã³ãäœæããããå¹ åºãèŠèŽè ã«å¯Ÿå¿ã§ããŸãã
äŸïŒ ã°ããŒãã«ãªåç»å ±æãã©ãããã©ãŒã ã§ã¯ãäºæž¬ã䜿çšããŠãçºå±éäžåœã®ãŠãŒã¶ãŒã«ãæ¥ç¶ã«é©ãã2 Mbps ã§ã®720p ãšã³ã³ãŒããæšå¥šããå ŽåããããŸããããã¯ã8 Mbps ã§ã®1080p ãšã³ã³ãŒãã§ã¯ãšã³ãã¬ã¹ãããã¡ãªã³ã°ãçºçããå¯èœæ§ããããŸããããã®æ¥ç¶ã«ã¯ãååããšèŠãªãããå¯èœæ§ããããŸãã
2. ããŒããŠã§ã¢ã®å¯å€æ§ãšããã€ã¹ã®ããã©ãŒãã³ã¹
äžçäžã®ããã€ã¹ã®å€æ§æ§ã¯é©ãã¹ããã®ã§ãããã€ãšã³ãã®ã¹ããŒããã©ã³ããå€ããã¹ã¯ãããã³ã³ãã¥ãŒã¿ãŸã§ãåŠçèœåã¯å€§ããç°ãªããŸãããšã³ã³ãŒãã£ã³ã°å質ã¯å¹çæ§ã«é¢é£ä»ããããŠããŸãã
- ã¯ã©ã€ã¢ã³ãåŽã®ãšã³ã³ãŒãã£ã³ã°: Web ã¢ããªã±ãŒã·ã§ã³ããªã¢ã«ã¿ã€ã ãšã³ã³ãŒãã£ã³ã°ïŒã©ã€ããããªé話ããŠãŒã¶ãŒçæã³ã³ãã³ãã®ã¢ããããŒããªã©ïŒãå®è¡ããå Žåãäœé»åããã€ã¹ã®å質ãžã®åœ±é¿ãäºæž¬ããããšã§ããšã³ã³ãŒãã£ã³ã°ãã©ã¡ãŒã¿ã段éçã«å£åãããã¢ããªã±ãŒã·ã§ã³ãããªãŒãºãããã¯ã©ãã·ã¥ãããããã®ãé²ãããšãã§ããŸãã
- ãµãŒããŒåŽã®æé©å: ãããªåŠçãµãŒãã¹ã®å Žåãç¹å®ã®ãšã³ã³ãŒãã£ã³ã°ãã©ã¡ãŒã¿ããšã³ã³ãŒãã£ã³ã°ãµãŒããŒã® CPU è² è·ã«ã©ã®ããã«åœ±é¿ããããçè§£ããããšã¯ãããŸããŸãªé»æ°æéããµãŒããŒããã©ãŒãã³ã¹ã®æåŸ ãæã€å¯èœæ§ãããããŸããŸãªå°åå šäœã§ã®ã³ã¹ã管çãšã¹ã±ãŒã©ããªãã£ã«ãšã£ãŠéåžžã«éèŠã§ãã
äŸïŒ ãããªäŒè°ãµãŒãã¹ã¯ããŠãŒã¶ãŒã®ããã€ã¹ãé«è§£å床ãšã³ã³ãŒãã£ã³ã°ã«èŠåŽããŠããããšãæ€åºããå ŽåããããŸããäºæž¬ã䜿çšãããšããµãŒãã¹ã¯ãèŠèŠçãªæçãããããã«äœäžããããšãæå³ããå Žåã§ããã³ãŒã«å®å®æ§ãç¶æããããã«ãäœè§£å床ãŸãã¯èšç®è² è·ã®å°ãªãã³ãŒããã¯ïŒå©çšå¯èœã§é©åãªå ŽåïŒã«èªåçã«åãæ¿ããããšãã§ããŸãã
3. ã³ã¹ãå¹çãšãªãœãŒã¹ç®¡ç
ã¯ã©ãŠãã³ã³ãã¥ãŒãã£ã³ã°ã³ã¹ãã¯é«é¡ã«ãªãå¯èœæ§ãããããšã³ã³ãŒãã£ã³ã°ã¯ãªãœãŒã¹ã倧éã«æ¶è²»ããæäœã§ããæ£ç¢ºãªåè³ªäºæž¬ã¯ã以äžã«åœ¹ç«ã¡ãŸãã
- åé·ãªãšã³ã³ãŒãã£ã³ã°ã®åæž: äºæž¬ãããåè³ªãæ¢ã«èš±å®¹ã§ããå Žåã¯ãäžèŠãªåãšã³ã³ãŒããåé¿ããŸãã
- ã¯ã©ãŠãå©çšæéã®æé©å: å¿ èŠãªå質ãæãäœãã³ã³ãã¥ãŒãã£ã³ã°ã³ã¹ããšã¹ãã¬ãŒãžã³ã¹ãã§æäŸãããšã³ã³ãŒãã£ã³ã°èšå®ãéžæããŸããããã¯ãããŸããŸãªã¯ã©ãŠããµãŒãã¹äŸ¡æ Œèšå®ãæã€åœéçã«äºæ¥ãå±éããäŒæ¥ã«ãšã£ãŠç¹ã«éèŠã§ãã
äŸïŒ ã°ããŒãã«é ä¿¡ã®ããã«å€§éã®ãããªã¢ãŒã«ã€ããæºåããŠããã¡ãã£ã¢äŒæ¥ã¯ãäºæž¬ã䜿çšããŠãèŠèŽè ã®èªèã«ç®ç«ã£ã圱é¿ãäžããããšãªãããããã«äœãå質èšå®ã§ãšã³ã³ãŒãã§ãããããªãç¹å®ããåŠçæéãšã¯ã©ãŠããªãœãŒã¹ãå€§å¹ ã«ç¯çŽã§ããŸãã
4. ããŸããŸãªã³ã³ãã³ãèŠä»¶ãžã®å¯Ÿå¿
ããŸããŸãªçš®é¡ã®ãããªã³ã³ãã³ãã¯ãããŸããŸãªãšã³ã³ãŒãã£ã³ã°æŠç¥ãå¿ èŠãšããŸãã
- é«éãªã¢ã¯ã·ã§ã³ãšéæ¢ã³ã³ãã³ã: é«éãªåãã®ãããããªã¯ã鿢ãã話ãé ã®ãããªãšæ¯èŒããŠãå質ãç¶æããããã«ããå€ãã®ããããå¿ èŠã§ããäºæž¬ã¯ããããã®ã³ã³ãã³ãç¹æ§ãèæ ®ã«å ¥ããããšãã§ããŸãã
- ããã¹ããšã°ã©ãã£ãã¯: 现ããããã¹ããã·ã£ãŒããªã°ã©ãã£ãã¯èŠçŽ ãå«ãã³ã³ãã³ãã¯ãå§çž®ã¢ã«ãŽãªãºã ã«ãšã£ãŠç¹ã«å°é£ãªå ŽåããããŸããã³ãŒããã¯ããããã®èŠçŽ ãã©ã®ããã«åŠçããããçè§£ããããšãäžå¯æ¬ ã§ãã
äŸïŒ 詳现ãªå³ã䜿çšãã補åãã¢ã玹ä»ããäŒæ¥ã¯ãäºæž¬ã䜿çšããŠããšã³ã³ãŒãã£ã³ã°æŠç¥ããäœãããã¬ãŒãã§ããããã®ã°ã©ãã£ãã¯ã®å¯èªæ§ãç¶æããããã«ããå¿ èŠããããŸããããã¯ãããå°ããªç»é¢ã§è¡šç€ºããŠããå¯èœæ§ã®ããå°åã®ãŠãŒã¶ãŒã«ãšã£ãŠéèŠãªèŠçŽ ã§ãã
5. ãããªãšã¯ã¹ããªãšã³ã¹ã®åœéåãšããŒã«ã©ã€ãº
èšèªç¿»èš³ãšã¯çŽæ¥é¢ä¿ãããŸããããäžè²«ããé«å質ã®ãããªãšã¯ã¹ããªãšã³ã¹ãæäŸããããšã¯ãããŒã«ã©ã€ãºã®äžåœ¢æ ã§ããåè³ªäºæž¬ã¯ãããã«è²¢ç®ããŸãã
- ãã©ã³ãã®äžè²«æ§ã®ç¢ºä¿: çŸå°ã®æè¡çãªå¶çŽã«é¢ä¿ãªãããã¹ãŠã®åžå Žã§äžå®ã®èŠèŠåè³ªåºæºãç¶æããŸãã
- å°åæšæºãžã®å¯Ÿå¿: çŸä»£ã®ã³ãŒããã¯ã§ã¯äžè¬çã§ã¯ãããŸããããç¹å®ã®å°åãæŽå²çã«ãããªå質ã«å¯ŸããããŸããŸãªæåŸ ãæã£ãŠããå¯èœæ§ãããããšãçè§£ãããšãæææ±ºå®ã«åœ¹ç«ã¡ãŸãã
WebCodecs VideoEncoder Quality Predictor ãæ§ç¯ããããã®ã¢ãããŒã
å ç¢ãªåè³ªäºæž¬ãéçºããããšã¯ã容æãªããšã§ã¯ãããŸãããäžè¬çãªã¢ãããŒãã以äžã«ç€ºããŸãã
1. çµéšçåæãšãã³ãããŒã¯
ãã®æ¹æ³ã¯ãåºç¯ãªãã¹ããè¡ããŸãã
- ãã¹ãã¹ã€ãŒã: ããŸããŸãªãããªã³ã³ãã³ãïŒããŸããŸãªãžã£ã³ã«ãè§£å床ããã¬ãŒã ã¬ãŒããã¢ãŒã·ã§ã³ã¬ãã«ïŒãéžæããŸãã
- ãã©ã¡ãŒã¿ã¹ã€ãŒã: WebCodecs API ã䜿çšããŠãããŸããŸãªãã©ã¡ãŒã¿ã®çµã¿åããïŒãããã¬ãŒããCRFããããã¡ã€ã«ãã¬ãã«ãã³ãŒããã¯ããšã³ã³ãŒãããªã»ããïŒã䜿çšããŠåãããªããšã³ã³ãŒãããŸãã
- å質è©äŸ¡: 客芳çãªææšïŒPSNRãSSIMãVMAF â VMAF ã¯ã¯ã©ã€ã¢ã³ãåŽã§å®è¡ããã®ãè€éãªå ŽåããããŸãïŒãšäž»èгçãªæ¹æ³ïŒããšãã°ã人éã®è©äŸ¡è ããåéããå¹³åæèŠã¹ã³ã¢ â MOSïŒã®äž¡æ¹ã䜿çšããŠåºåãè©äŸ¡ããŸãã
- ã¢ãã«æ§ç¯: åéããããŒã¿ã䜿çšããŠãå ¥åãã©ã¡ãŒã¿ãšã³ã³ãã³ãç¹æ§ãäºæž¬ãããå質ã¹ã³ã¢ã«ãããã³ã°ããçµ±èšã¢ãã«ãŸãã¯ã«ãã¯ã¢ããããŒãã«ãæ§ç¯ããŸãã
å©ç¹: ãã³ãããŒã¯ãå æ¬çã§ããã°ãéåžžã«æ£ç¢ºã«ããããšãã§ããŸãããã¹ãã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãããã°ãå®è£ ãæ¯èŒçç°¡åã§ãã
æ¬ ç¹: æéãšãªãœãŒã¹ãããããŸãããŸã£ããæ°ããã³ã³ãã³ãã¿ã€ãããšã³ã³ãŒãããŒãžã§ã³ã«ã¯ããŸãäžè¬åãããªãå¯èœæ§ããããŸãã
2. æ©æ¢°åŠç¿ (ML) ã¢ãã«
ML ã¯ãããæŽç·Žãããã¢ãããŒããæäŸããŸãã
- ç¹åŸŽæœåº: çã®ãããªãã¬ãŒã ããïŒããšãã°ããã¯ã¹ãã£ãã¢ãŒã·ã§ã³ãã¯ãã«ãè²ååžãã·ãŒã³ã®è€éãã®ææšïŒãšãšã³ã³ãŒãã£ã³ã°ãã©ã¡ãŒã¿ããç¹åŸŽãæœåºããŸãã
- ãã¬ãŒãã³ã°ããŒã¿: ãšã³ã³ãŒãããããããªããã®ãœãŒã¹ãããªã¢ã«ããšã³ã³ãŒãã£ã³ã°ãã©ã¡ãŒã¿ãããã³å¯Ÿå¿ããå質ã©ãã«ïŒããšãã°ãMOS ã¹ã³ã¢ïŒã®å€§ããªããŒã¿ã»ãããäœæããŸãã
- ã¢ãã«éžæ: ãããã®ç¹åŸŽã«åºã¥ããŠå質ã¹ã³ã¢ãäºæž¬ããããã«ãååž°ã¢ãã«ïŒããšãã°ãRandom ForestsãGradient BoostingãNeural NetworksïŒããã¬ãŒãã³ã°ããŸãã
- 深局åŠç¿: ç³ã¿èŸŒã¿ãã¥ãŒã©ã«ãããã¯ãŒã¯ (CNN) ããã¬ãŒãã³ã°ããŠããããªãã¬ãŒã ãçŽæ¥åŠçããå質ãäºæž¬ãã埮åŠãªç¥èŠã®è©³çްããã£ããã£ããããšãã§ããŸãã
å©ç¹: ããŸããŸãªããŒã¿ã»ããã§ãã¬ãŒãã³ã°ããã°ãé«ã粟床ãéæããæªè¡šç€ºã®ããŒã¿ã«ãããŸãäžè¬åã§ããŸããè€éãªãéç·åœ¢ãªé¢ä¿ãåŠã¶ããšãã§ããŸãã
æ¬ ç¹: MLãå€§èŠæš¡ãªããŒã¿ã»ãããããã³ãã¬ãŒãã³ã°ã®èšç®ãªãœãŒã¹ã«é¢ããå°éç¥èãäžå¯æ¬ ã§ããWebãã©ãŠã¶ïŒã¯ã©ã€ã¢ã³ãåŽïŒã«è€é㪠ML ã¢ãã«ããããã€ããããšã¯ãããã©ãŒãã³ã¹ãšãµã€ãºã®å¶çŽã«ããå°é£ã«ãªãå¯èœæ§ããããŸãã
3. ãã¥ãŒãªã¹ãã£ãã¯ããã³ã«ãŒã«ããŒã¹ã®ã·ã¹ãã
ãããªã³ãŒããã¯ã®æ¢ç¥ã®åäœã掻çšããïŒ
- ã³ãŒããã¯ã®ç¹æ§: ç¹å®ã®ã³ãŒããã¯ïŒAV1 ãªã©ïŒãç¹å®ã®ãããã¬ãŒãã§ããå¹ççã§ããããšããŸãã¯ç¹å®ã®ã³ã³ãã³ãã¿ã€ãã«å¯ŸããŠããåªããå§çž®ãæäŸããããšãçè§£ããŠãã ããã
- ãã©ã¡ãŒã¿ã®åœ±é¿: ãããã¬ãŒããCRFãGOP æ§é ãªã©ã®ãã©ã¡ãŒã¿ã®å€æŽããèŠèŠå質ã«ã©ã®ããã«åœ±é¿ãããã«é¢ããã«ãŒã«ãå®è£ ããŸããããšãã°ãåçŽãªã«ãŒã«ã¯æ¬¡ã®ããã«ãªããŸãããã³ã³ãã³ãã®è€éããäžå®ã®å Žåããããã¬ãŒãã X% å¢å ããããšãSSIM ã Y% åäžããŸããã
- ã³ã³ãã³ãåæ: ãã¬ãŒã ã³ã³ãã³ãã®ç°¡åãªåæïŒããšãã°ãé«ã¢ãŒã·ã§ã³ã·ãŒã³ã®æ€åºïŒã«ãããäºæž¬ãããå質ã®èª¿æŽãããªã¬ãŒã§ããŸãã
å©ç¹: å®è£ ãšçè§£ãç°¡åã§ããè¿ éãªæšå®ãæäŸã§ããŸããæåã®æåŸ ãèšå®ããã®ã«åœ¹ç«ã¡ãŸãã
æ¬ ç¹: äžè¬çã«ãML ãŸãã¯çµéšçãªæ¹æ³ãããæ£ç¢ºæ§ãäœããªããŸãã埮åŠãªå質ã®éããäºæããªããšã³ã³ãŒãã®åäœã«èŠåŽããå¯èœæ§ããããŸãã
WebCodecs ã¯ãŒã¯ãããŒãžã®åè³ªäºæž¬ã®çµ±å
WebCodecs ã¢ããªã±ãŒã·ã§ã³å ã§åè³ªäºæž¬ã掻çšããããã®å®éçãªæ¹æ³ã次ã«ç€ºããŸãã
1. ã€ã³ããªãžã§ã³ããšã³ã³ãŒãã£ã³ã°ãã©ã¡ãŒã¿ã®éžæ
æšæž¬ããããéçãªããªã»ããã䜿çšããããã代ããã«ãäºæž¬ã䜿çšããŠæé©ãªãã©ã¡ãŒã¿ãåçã«éžæããŸãã
- ã¿ãŒã²ãããããã¬ãŒã/å質ã®ãã¬ãŒããªã: ãŠãŒã¶ãŒã¯ãåžæã®å質ã¬ãã«ïŒãé«ãããäžãããäœããªã©ïŒãŸãã¯æå€§ãããã¬ãŒããæå®ããŸããäºæž¬ã¯ããããå®çŸããããã®æé©ãªãšã³ã³ãŒãæ§æïŒã³ãŒããã¯ãCRFãããªã»ãããªã©ïŒãææ¡ããŸãã
- ãªã¢ã«ã¿ã€ã 調æŽ: ã©ã€ããšã³ã³ãŒãã£ã³ã°ã®å Žåããããã¯ãŒã¯ã®ç¶æ ãããã€ã¹ã®ããã©ãŒãã³ã¹ãç¶ç¶çã«ç£èŠããŸããäºæž¬ã¯ãã¿ãŒã²ããå質ãŸãã¯ãããã¬ãŒããç¶æããããã«ããšã³ã³ãŒãã®ãã©ã¡ãŒã¿ã®èª¿æŽãææ¡ã§ããŸãã
äŸïŒ WebããŒã¹ã®ãã©ãããã©ãŒã ã䜿çšããŠããã©ã€ãã¹ããªãŒããŒã¯ãäºæž¬ã«ãã£ãŠæäŸããããå質ã¢ã·ã¹ã¿ã³ãããå©çšã§ããŸããäºæž¬ããããã¯ãŒã¯ã®äžå®å®æ§ãæ€åºããå Žåãæ°ããå¶çŽã§å¯èœãªéãæé«ã®å質ãç®æããªããããšã³ã³ãŒãã£ã³ã°è§£å床ãäžããããããŒãã¬ãŒã ã®ééãé·ãããŠãã¬ãŒã ã®ãããããé²ãããšãææ¡ããå ŽåããããŸãã
2. ã³ã³ãã³ãã¯ãªãšã€ã¿ãŒåãã®äºåãšã³ã³ãŒãã£ã³ã°å質è©äŸ¡
ã³ã³ãã³ãã¯ãªãšã€ã¿ãŒã«ããããªã®æœåšçãªå質ã«é¢ããæŽå¯ãæäŸããŸãã
- ãWhat Ifãã·ããªãª: ã¯ãªãšã€ã¿ãŒãææ¡ããããšã³ã³ãŒãã£ã³ã°èšå®ãå ¥åããé·æéã®ãšã³ã³ãŒããè¡ãåã«ãäºæž¬å質ã¹ã³ã¢ãŸãã¯èŠèŠçãªäŸã確èªã§ããããã«ããŸãã
- èªåå質ãã§ãã¯: ã³ã³ãã³ããã¢ããããŒãããããšãäºæž¬ã¯ãšã³ã³ãŒãã£ã³ã°ã®åé¡ãŸãã¯æé©ã§ã¯ãªãå質èšå®ãããå¯èœæ§ã®ãããããªã«ãã©ã°ãç«ãŠãã¬ãã¥ãŒãä¿ãããšãã§ããŸãã
äŸïŒ ãããªå¶äœã®æè²ãã©ãããã©ãŒã ã¯ãäºæž¬ãçµ±åã§ããŸããåŠçãç·Žç¿ãããªãã¢ããããŒããããšããã©ãããã©ãŒã ã¯ããçŸåšã®èšå®ã§ã¯ãåãã®éãã·ãŒã³ã§é¡èãªãããã¯ã¢ãŒãã£ãã¡ã¯ããçºçããŸãããããã¬ãŒããäžããããAV1 ã³ãŒããã¯ã䜿çšããŠå¹çãåäžãããããšãæ€èšããŠãã ãããã®ãããªãã£ãŒãããã¯ãæäŸã§ããŸãã
3. ãŠãŒã¶ãŒäžå¿ã®å質管ç
ç°å¢ã«åºã¥ããŠãŠãŒã¶ãŒã®ãšã¯ã¹ããªãšã³ã¹ãåªå ããŸãã
- ã¯ã©ã€ã¢ã³ãåŽã®é©å¿: ãšã³ã³ãŒãã£ã³ã°ãã¯ã©ã€ã¢ã³ãåŽã§è¡ãããå Žåãäºæž¬ã¯ãã©ãŠã¶ API ãšé£æºããŠããã€ã¹ã®æ©èœãšãããã¯ãŒã¯é床ãçè§£ãããšã³ã³ãŒãã£ã³ã°ãã©ã¡ãŒã¿ãåçã«èª¿æŽã§ããŸãã
- ãµãŒããŒåŽã®é©å¿: ãµãŒããŒã§ã¬ã³ããªã³ã°ãããã³ã³ãã³ããŸãã¯äºåãšã³ã³ãŒããããã³ã³ãã³ãã®å Žåãäºæž¬ã¯ãæ€åºããããããã¯ãŒã¯ã®ç¶æ ã«åºã¥ããŠãç¹å®ã®ãŠãŒã¶ãŒã«æäŸãããããªã®ããŒãžã§ã³ã«é¢ããæ±ºå®ã«åœ¹ç«ã¡ãŸãã
äŸïŒ WebããŒã¹ã®ãããªãšãã£ã¿ãŒã¯ãäºæž¬ã䜿çšããŠãæçµçãªå質ããã°ããã·ãã¥ã¬ãŒããããã¬ã³ããªã³ã°ãã¬ãã¥ãŒããæäŸã§ããŸããããã«ãããç¹ã«åž¯åå¹ ãéãããŠããå°åã®ãŠãŒã¶ãŒã¯ããã¹ãŠã®è»œåŸ®ãªå€æŽã«ã€ããŠå®å šã§é«å質ã®ãšã³ã³ãŒããåŸ ã€ããšãªããç·šéãç¹°ãè¿ãããšãã§ããŸãã
4. ãã³ãããŒã¯ããã³æé©åããŒã«
éçºè ããã³ãããªãšã³ãžãã¢åãïŒ
- ã³ãŒããã¯ã®æ¯èŒ: äºæž¬ã䜿çšããŠãç¹å®ã®ãã©ã¡ãŒã¿ãšã³ã³ãã³ãã®ã»ããã«å¯ŸããŠãããŸããŸãªã³ãŒããã¯ïŒAV1 察 VP9 察 H.264 ãªã©ïŒã®äºæ³ãããå質ã®çµæãæ¯èŒããŸãã
- ãã©ã¡ãŒã¿ã®èª¿æŽ: ãã©ã¡ãŒã¿ç©ºéãäœç³»çã«æ¢çŽ¢ããŠããããã¬ãŒãããšã³ã³ãŒãã£ã³ã°é床ãåè³ªã®æé©ãªãã©ã³ã¹ãèŠã€ããŸãã
äŸïŒ ã°ããŒãã«ãããã€ã¡ã³ãçšã®åç»ã¹ããªãŒãã³ã°ã¢ããªã±ãŒã·ã§ã³ãæé©åããŠããéçºè ã¯ãäºæž¬ã䜿çšããŠãç¹å®ã®ã³ã³ãã³ããšã¿ãŒã²ãããªãŒãã£ãšã³ã¹ã®å žåçãªãããã¯ãŒã¯ç¶æ ã®å ŽåãAV1 ãåãç¥èŠå質ã«å¯Ÿã㊠VP9 ããã 20% ã®ãããã¬ãŒãåæžãæäŸããæœåšçã«ãšã³ã³ãŒãã£ã³ã°ã®è€éããé«ããªãã«ããããããããã®äœ¿çšãæ£åœåã§ãããšå€æã§ããŸãã
課é¡ãšä»åŸã®æ¹åæ§
èšãç¥ããªãå¯èœæ§ã«ãããããããããã€ãã®èª²é¡ãæ®ã£ãŠããŸãã
- å質ã®äž»èгæ§: ç¥èŠããããããªåè³ªã¯æ¬è³ªçã«äž»èгçã§ãããå人ãæåçãªèæ¯ã«ãã£ãŠå€§ããç°ãªãå¯èœæ§ããããŸããPSNR ã SSIM ãªã©ã®å®¢èгçãªææšã¯ãå¿ ããã人éã®èªèãšäžèŽãããšã¯éããŸããã
- ãªã¢ã«ã¿ã€ã äºæž¬: è€éãªåè³ªäºæž¬ããªã¢ã«ã¿ã€ã ã§å®è¡ããããšãç¹ã«äœé»åããã€ã¹äžãŸãã¯ãã©ãŠã¶ç°å¢å ã§ã¯ãèšç®è² è·ãé«ããªããŸãã
- ã³ãŒããã¯ãšãšã³ã³ãŒãã®é²å: ãããªã³ãŒããã¯ãšãšã³ã³ãŒãã¯åžžã«æŽæ°ãããæ¹åãããŠããŸããäºæž¬ã¯ãæ£ç¢ºæ§ãç¶æããããã«ç¶ç¶çã«ä¿å®ããã³åãã¬ãŒãã³ã°ããå¿ èŠããããŸãã
- ã³ã³ãã³ãã®å€æ§æ§: ãããªã³ã³ãã³ãã®å€æ§æ§ã«ããããã¹ãŠã®ã¿ã€ãã®ããããŒãžã§åãããã«ããŸãæ©èœããæ®éçãªäºæž¬ãäœæããããšãå°é£ã«ãªããŸãã
- ãã©ãŠã¶/ããŒããŠã§ã¢ã®äŸåé¢ä¿: WebCodecs ã®æ©èœãšããã©ãŒãã³ã¹ã¯ãåºç€ãšãªããã©ãŠã¶ã®å®è£ ãšããŒããŠã§ã¢ã®ãµããŒãã«çµã³ä»ããããŠãããäºæž¬ãèæ ®ããå¿ èŠã®ããå€åæ§ãå°å ¥ãããŸãã
WebCodecs VideoEncoder Quality Predictor ã®ä»åŸã®æ¹åæ§ã«ã¯ã次ã®ãã®ãå«ãŸããŸãã
- æšæºåãããåè³ªææš: 人éã®å€æãšããããçžé¢ãããããç¥èŠçã«é¢é£æ§ã®é«ãå®¢èŠ³çææšã®æ¥çå šäœã§ã®æ¡çšã
- ãªã³ããã€ã¹ ML æé©å: ãªã³ããã€ã¹æ©æ¢°åŠç¿ãã¬ãŒã ã¯ãŒã¯ïŒTensorFlow.js Lite ãªã©ïŒã®é²æ©ã«ãããããæŽç·Žãããäºæž¬ã¢ãã«ãã¯ã©ã€ã¢ã³ãåŽã§å¹ççã«å®è¡ã§ããããã«ãªãå¯èœæ§ããããŸãã
- AI ãæŽ»çšããã³ã³ãã³ãåæ: AI ã䜿çšããŠãããªã®ã»ãã³ãã£ãã¯ã³ã³ãã³ãïŒé¡ãããã¹ãããŸãã¯è€éãªã·ãŒã³ã®èå¥ãªã©ïŒãæ·±ãçè§£ããåè³ªäºæž¬ã«åœ¹ç«ãŠãŸãã
- ã¯ãã¹ãã©ãããã©ãŒã ãã³ãããŒã¯: ã°ããŒãã«ãªãããªæ¶è²»ãã¿ãŒã³ãåæ ãããå€§èŠæš¡ã§å€æ§ãªãã³ãããŒã¯ããŒã¿ã»ãããæ§ç¯ããã³ç¶æããããã®å ±åäœæ¥ã
çµè«
WebCodecs API ã¯ãWebäžã®ãããªã«ãšã£ãŠå€§ããªé£èºã§ããã匷åãªãšã³ã³ãŒãã£ã³ã°ãšãã³ãŒãã£ã³ã°ã®æ©èœãžã®ã¢ã¯ã»ã¹ãæ°äž»åããŸãããã ãããã®ãã¯ãŒã广çã«æŽ»çšããã«ã¯ããšã³ã³ãŒãã£ã³ã°å質ãšãã®ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãžã®åœ±é¿ã«ã€ããŠæ·±ãçè§£ããå¿ èŠããããŸããWebCodecs VideoEncoder Quality Predictor ã¯ãåãªãæè¡çãªå°éå ·ã§ã¯ãããŸãããåªãããã°ããŒãã«ã«ã¢ã¯ã»ã¹å¯èœãªãããªãšã¯ã¹ããªãšã³ã¹ãæäŸããããšãç®çãšããéçºè ã«ãšã£ãŠäžå¯æ¬ ãªããŒã«ã§ããã€ã³ããªãžã§ã³ããªãã©ã¡ãŒã¿éžæãå¯èœã«ããã³ã³ãã³ãã¯ãªãšã€ã¿ãŒã®ãã£ãŒãããã¯ãä¿é²ãããŠãŒã¶ãŒäžå¿ã®é©å¿ãå¯èœã«ããããšã§ãåè³ªäºæž¬ã¯ã倿§ãªãããã¯ãŒã¯æ¡ä»¶ãããŒããŠã§ã¢ã®å¶éãããã³ããŸããŸãªã³ã³ãã³ãã¿ã€ãã®èª²é¡ãå æããããšãå¯èœã«ããŸãããã¯ãããžãŒãæçããã«ã€ããŠããããã®äºæž¬ã¯ããŠã§ãéçºè ã®ããŒã«ãããã®äžå¯æ¬ ãªéšåã«ãªãããããªå質ããã·ã³ã ãã§ãªããã©ãã«ããŠããã¹ãŠã®èŠèŽè ã«å¯ŸããŠæé©åãããããã«ãªããŸãã
åè³ªäºæž¬ã«æè³ããæŽ»çšããããšã§ãéçºè ã¯ãã°ããŒãã«ãªèŠèŽè ã«æ¬åœã«é¿ããããå ç¢ã§å¹ççããŠãŒã¶ãŒãã¬ã³ããªãŒãªãããªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã