ååãããããã¯JPEGã¢ã«ãŽãªãºã ã®éåžžã®èª¬æã§ã¯ãªãããšãæ£ããç解ãããŸããïŒ ãJPEG Decoding for Dummiesãã§ãã¡ã€ã«åœ¢åŒã«ã€ããŠè©³ãã説æããŸããïŒã ãŸã第äžã«ãéžã°ããæ瀺æ¹æ³ã¯ãJPEGã ãã§ãªããããŒãªãšå€æãšãããã³ã³ãŒãã£ã³ã°ã«ã€ããŠãäœãç¥ããªãããšã瀺åããŠããŸãã ãããŠãäžè¬çã«ãè¬çŸ©ããã»ãšãã©èŠããŠããŸããã 圌ãã¯åçãæ®ãããããã©ã®ããã«å§çž®ã§ããããèãå§ããŸããã ãããã£ãŠãç§ã¯ã¢ã¯ã»ã¹å¯èœãªæ¹æ³ã§æ¬è³ªã ããè¡šçŸããããšããŸããããèªè ã¯ã¢ã«ãŽãªãºã ã®ããªãæ·±ãããããŠæãéèŠãªãçŽæçãªç解ãçºå±ãããŸãã æ°åŒãšæ°åŠèšç®-æäœéãäœãèµ·ãã£ãŠããã®ããç解ããããã«éèŠãªãã®ã®ã¿ã
JPEGã¢ã«ãŽãªãºã ã®ç¥èã¯ãç»åå§çž®ã ãã§ãªãéåžžã«åœ¹ç«ã¡ãŸãã ããžã¿ã«ä¿¡å·åŠçãæ°åŠçåæãç·åœ¢ä»£æ°ãæ å ±çè«ãç¹ã«ããŒãªãšå€æããã¹ã¬ã¹ã³ãŒãã£ã³ã°ãªã©ã®çè«ã䜿çšããŸãããããã£ãŠãåŸãããç¥èã¯ã©ãã§ã圹ç«ã¡ãŸãã
åžæãããå Žåã¯ãèšäºãšäžŠè¡ããŠç¬ç«ããŠåãæé ãå®è¡ããããšãææ¡ããŸãã äžèšã®æšè«ãããŸããŸãªç»åã«ã©ã®ããã«é©ããŠãããã確èªããã¢ã«ãŽãªãºã ã«å€æŽãå ããŠã¿ãŠãã ããã ããã¯éåžžã«èå³æ·±ãã§ãã ããŒã«ãšããŠãPython + NumPy + Matplotlib + PILïŒPillowïŒã®ãã°ãããæããå§ãããŸãã ç§ã®ã»ãšãã©ã®äœæ¥ïŒã°ã©ãã£ãã¯ã¹ãã¢ãã¡ãŒã·ã§ã³ãå«ãïŒã¯ããããã䜿çšããŠè¡ãããŸããã
èŠåãã©ãã£ãã¯ïŒ å€ãã®ã€ã©ã¹ããã°ã©ããã¢ãã¡ãŒã·ã§ã³ïŒã10MbïŒã ç®èãªããšã«ãJPEGã«é¢ããèšäºã«ã¯ããã®åœ¢åŒã®ç»åã50åãããããŸããã
æ å ±ãå§çž®ããããã®ã¢ã«ãŽãªãºã ãäœã§ããããã®åçã¯åžžã«åãã§ã-ãã¿ãŒã³ãèŠã€ããŠèšè¿°ããŸãã ãã¿ãŒã³ãå€ãã»ã©ãåé·æ§ââãé«ããªããæ å ±ãå°ãªããªããŸãã ã¢ãŒã«ã€ããšãšã³ã³ãŒãã¯éåžžãç¹å®ã®çš®é¡ã®æ å ±ã«åãããŠã調æŽããããŠããããããã®å Žæãç¥ã£ãŠããŸãã å Žåã«ãã£ãŠã¯ãããšãã°é空ã®åçã®ããã«ããã¿ãŒã³ãããã«è¡šç€ºãããŸãã ãã®ããžã¿ã«è¡šçŸã®åè¡ã¯ãçŽç·ã§éåžžã«æ£ç¢ºã«èšè¿°ã§ããŸãã
ãã¯ãã«ãã¥ãŒ
ãŸããé£æ¥ãã2ã€ã®ãã¯ã»ã«ã®äŸåé¢ä¿ã確èªããŸãã ã»ãšãã©ã®å Žåããããã¯éåžžã«é¡äŒŒããŠãããšæ³å®ããã®ã¯çã«ããªã£ãŠããŸãã ãã¹ãŠã®ç»åãã¢ã«ã€ããŠããã確èªããŠãã ããã X軞ã«æ²¿ã£ããã€ã³ãã®å€ãæåã®ãã¯ã»ã«ã®å€ã§ãããY軞ã«æ²¿ã£ãŠ2çªç®ã®ãã¯ã»ã«ã®å€ã«ãªãããã«ã座æšå¹³é¢äžã«ãããã§ããŒã¯ããŸãã ãµã€ãº256 x 256ã®ç»åã®å Žåã256 * 256/2ãã€ã³ããååŸããŸãã
ã»ãšãã©ã®ãã€ã³ãã¯ãçŽç·y = xäžãŸãã¯ãã®è¿ãã«äœçœ®ããããšãäºæž¬å¯èœã§ãïŒãŸããå³ã«èŠããããããå€ãã®ãã€ã³ãããããŸãããããã®ãã€ã³ãã¯äœåºŠãéãªããããã«åéæã§ããããã§ãïŒã ãããããªãããããã45°å転ãããããšã§äœæ¥ãããããªããŸãã ãããè¡ãã«ã¯ãããããç°ãªã座æšç³»ã§è¡šçŸããå¿ èŠããããŸãã
æ°ããã·ã¹ãã ã®åºæ¬ãã¯ãã«ã¯æããã«æ¬¡ã®ãšããã§ãã ã æ£èŠçŽäº€ã·ã¹ãã ãåŸãããã«ã2ã®æ ¹ã§é€ç®ããå¿ èŠããããŸãïŒåºåºãã¯ãã«ã®é·ãã¯1ã«çãããªããŸãïŒã ããã§ã¯ãæ°ããã·ã¹ãã ã®ããã€ãã®ãã€ã³ãp =ïŒxãyïŒããã€ã³ãïŒa 0 ãa 1 ïŒãšããŠè¡šãããããšã瀺ããŠããŸãã æ°ããä¿æ°ãç¥ã£ãŠããã°ãéå転ã«ããå€ãä¿æ°ãç°¡åã«ååŸã§ããŸãã æããã«ãæåã®ïŒæ°ããïŒåº§æšã¯äžå€®ã§ã2çªç®ã¯xãšyã®å·®ã§ãïŒãã ãã2ã®æ ¹ã§é€ç®ãããŸãïŒã 0ãŸãã¯1ã®ããããã®å€ïŒã€ãŸããããäžæ¹ã¯ãŒãã«çããïŒã®ããããã®ã¿ãæ®ãããã«æ±ããããŠãããšããŸãã 0ãéžæãããšã 1ã®å€ããŒãã«è¿ããªãå¯èœæ§ãé«ããããéžæããããšããå§ãããŸãã 0ã§ã®ã¿ã€ã¡ãŒãžã埩å ãããšã次ã®ããã«ãªããŸã ã
4åã®åçïŒ
æ£çŽãªãšããããã®å§çž®ã¯ããŸãå°è±¡çã§ã¯ãããŸããã åæ§ã«ãç»åã3åã®ãã¯ã»ã«ã«åå²ãã3次å 空éã§è¡šçŸããããšããå§ãããŸãã
ããã¯åããã£ãŒãã§ãããç°ãªã芳ç¹ããã®ãã®ã§ãã èµ€ãç·ã¯ãããèªäœã瀺åãã軞ã§ãã ãã¯ãã«ã¯ãããã«å¯Ÿå¿ããŸãïŒ ã ãã¯ãã«ã®é·ãã1ã«çãããªãããã«ãããã€ãã®å®æ°ã§é€ç®ããå¿ èŠãããããšãæãåºããŠãã ããã ãããã£ãŠããã®ãããªåºåºã«æ²¿ã£ãŠå±éãããšãa 0 ãa 1 ãa 2ã® 3ã€ã®å€ãåŸãããa 0ã¯a 1ãããéèŠã§ãããa 1㯠a 2ãããéèŠã§ãã 2ãæšãŠããšãã°ã©ãã¯ãã¯ãã«e 2ã®æ¹åã«ãå¹³åŠåããããŸãã ããã¯ããã§ã«ããªãåããªãäžæ¬¡å ã·ãŒããå¹³ãã«ãªããŸãã 圌ã¯å€ãã倱ãããšã¯ãããŸããããå€ã®3åã®1ãåãé€ããŸãã ããªãã«ããåæ§æãããç»åãæ¯èŒããŸãïŒïŒa 0ã0ã0 ïŒãïŒa 1 ãa 2ã0ïŒãããã³ïŒa 0 ãa 1 ãa 2 ïŒã åŸè ã®ããŒãžã§ã³ã§ã¯ãäœãç Žæ£ããªãã£ãããããªãªãžãã«ãååŸããŸãã
4åã®åçïŒ
2çªç®ã®å³é¢ã¯ãã§ã«è¯å¥œã§ãã ã·ã£ãŒããªéšåã¯å°ãæ»ããã«ãªããŸããããå šäœçã«ã¯éåžžã«ããä¿åãããŠããŸãã ãããŠä»ãåãããã«4ã€ã«åå²ããèŠèŠçã«4次å 空éã®åºç€ãå®çŸ©ããŸã...ãããã¯ãã ãã ããåºåºã®ãã¯ãã«ã®1ã€ãïŒ1,1,1,1ïŒ/ 2ã«ãªãããšãæšæž¬ã§ããŸãã ãããã£ãŠããã¯ãã«ïŒ1,1,1,1ïŒã«åçŽãªç©ºéãžã®4次å 空éã®æ圱ãèŠãŠãä»ã®ãã¯ãã«ãæããã«ããããšãã§ããŸãã ããããããã¯æåã®æ¹æ³ã§ã¯ãããŸããã
ç§ãã¡ã®ç®æšã¯ãïŒx 0 ãx 1 ã...ãx n-1 ïŒãïŒa 0 ãa 1 ã...ãa n-1 ïŒã«å€æããŠãåå€a iã®éèŠæ§ã次第ã«å°ãããªãããã«ããæ¹æ³ãåŠã¶ããšã§ãåã®ãã®ã ãããè¡ãããšãã§ããã°ãããããæåŸã®ã·ãŒã±ã³ã¹å€ãå®å šã«æšãŠãããšãã§ããŸãã äžèšã®å®éšã¯ããããå¯èœã§ããããšã瀺åããŸããã ããããæ°åŠçãªè£ 眮ãªãã§ã¯ã§ããŸããã
ãããã£ãŠããã€ã³ããæ°ããåºæºã«å€æããå¿ èŠããããŸãã ãã ããæåã«é©åãªåºç€ãèŠã€ããå¿ èŠããããŸãã æåã®ãã¢ãªã³ã°å®éšã«æ»ããŸãã äžè¬åããããã®ãšèããŸãã åºåºãã¯ãã«ã決å®ããŸããïŒ
ããããéããŠãã¯ãã«pãè¡šçŸããŸããïŒ
ãŸãã¯åº§æšã§ïŒ
0ãš1ãèŠã€ããã«ã¯ã pãããããe 0ãše 1ã«å°åœ±ããå¿ èŠããããŸãã ãã®ããã«ã¯ãã¹ã«ã©ãŒç©ãèŠã€ããå¿ èŠããããŸã
åæ§ã«ïŒ
座æšã§ïŒ
å€ãã®å Žåããããªãã¯ã¹åœ¢åŒã§å€æãå®è¡ããæ¹ã䟿å©ã§ãã
次ã«ãA = EXããã³X = E TA ãããã¯ãçŸããå¿«é©ãªåœ¢ç¶ã§ãã è¡åEã¯å€æè¡åãšåŒã°ããçŽäº€ããŸãããããã§ãæºããããšãã§ããŸãã
ãã¯ãã«ããé¢æ°ãžã®ç§»è¡ã
å°ãã次å ã®ãã¯ãã«ã䜿çšãããšäŸ¿å©ã§ãã ãã ãããã倧ããªãããã¯ã§ãã¿ãŒã³ãæ€çŽ¢ãããããN次å ã®ãã¯ãã«ã®ä»£ããã«ãã€ã¡ãŒãžãè¡šãã·ãŒã±ã³ã¹ãæäœããæ¹ã䟿å©ã§ãã 以äžã®èæ ®äºé ãé£ç¶é¢æ°ã«é©çšãããããããã®ãããªã·ãŒã±ã³ã¹ãé¢æ£é¢æ°ãšåŒã³ãŸãã
äŸã«æ»ããšãfïŒ0ïŒ= xãšfïŒ1ïŒ= yã®2ç¹ã®ã¿ã§å®çŸ©ãããŠããé¢æ°fïŒiïŒãæ瀺ããŸãã åæ§ã«ãåºåºe 0ããã³e 1ã«åºã¥ããŠåºåºé¢æ°e 0 ïŒiïŒããã³e 1 ïŒiïŒãå®çŸ©ããŸãã ååŸãããã®ïŒ
ããã¯éåžžã«éèŠãªçµè«ã§ãã ããã¯ãã«ã®æ£èŠçŽäº€ãã¯ãã«ãžã®å解ããšãããã¬ãŒãºã§ã¯ãããã¯ãã«ããšããåèªããé¢æ°ãã«çœ®ãæããŠããé¢æ°ã®æ£èŠçŽäº€é¢æ°ãžã®å解ããšããéåžžã«æ£ããè¡šçŸãåŸãããšãã§ããŸãã åãæšè«ãNå€ã®é¢æ£é¢æ°ãšããŠè¡šãããšãã§ããN次å ãã¯ãã«ã«å¯ŸããŠãæ©èœããããããã®ãããªä¹ããé¢æ°ãååŸããããšã¯éèŠã§ã¯ãããŸããã ãŸããé¢æ°ã®æäœã¯ãN次å ãã¯ãã«ã®æäœãããèŠèŠçã§ãã ãã®ãããªé¢æ°ããã¯ãã«ãšããŠæ³åããããšã¯å¯èœã§ãããéããŸãåæ§ã§ãã ããã«ãéåžžã®é£ç¶é¢æ°ã¯ç¡é次å ã®ãã¯ãã«ã§è¡šãããšãã§ããŸãããçå®ã¯ãŠãŒã¯ãªããã§ã¯ãªãããã«ãã«ã空éã«ãããŸãã ããããããã«ã¯è¡ããŸãããé¢æ£é¢æ°ã«ã®ã¿èå³ããããŸãã
ãããŠãåºåºãèŠã€ãããšããç§ãã¡ã®ä»äºã¯ãæ£èŠçŽäº€é¢æ°ã®é©åãªã·ã¹ãã ãèŠã€ãããšããåé¡ã«å€ãããŸãã 以äžã®æšè«ã§ã¯ãå解ããåºåºé¢æ°ã®ã»ãããäœããã®æ¹æ³ã§å®çŸ©ãããšä»®å®ããŸãã
ä»ã®é¢æ°ã®åèšãšããŠè¡šçŸãããé¢æ°ïŒå€ãªã©ïŒããããšããŸãã ãã®ããã»ã¹ããã¯ãã«åœ¢åŒã§è¡šãããšãã§ããŸãã é¢æ°ãå解ããã«ã¯ãåºæ¬é¢æ°ã«é çªã«ãæ圱ãããå¿ èŠããããŸãã ãã¯ãã«ã®æå³ã§ã¯ãæ圱ã®èšç®ã«ãããå ã®ãã¯ãã«ãšè·é¢ã®å¥ã®ãã¯ãã«ã®æå°è¿äŒŒãåŸãããŸãã è·é¢ã¯ãã¿ãŽã©ã¹ã®å®çã䜿çšããŠèšç®ãããããšã念é ã«çœ®ããŠãé¢æ°ã®åœ¢åŒã®åæ§ã®è¡šçŸã¯ãå¥ã®é¢æ°ã®é¢æ°ã®æè¯ã®å¹³åäºä¹è¿äŒŒãæäŸããŸãã ãããã£ãŠãåä¿æ°ïŒkïŒã¯é¢æ°ã®ãè¿æ¥åºŠãã決å®ããŸãã ããæ£åŒã«ã¯ãk * eïŒxïŒã¯ãl * eïŒxïŒã®äžã§fïŒxïŒã«æé©ãªrmsè¿äŒŒã§ãã
次ã®äŸã¯ãé¢æ°ã2ç¹ã®ã¿ã§è¿äŒŒããããã»ã¹ã瀺ããŠããŸãã å³åŽã¯ãã¯ãã«è¡šçŸã§ãã
ãã¢ãªã³ã°å®éšã«é©çšãããããã«ããããã®2ã€ã®ãã€ã³ãïŒæšªåº§æšã®0ãš1ïŒã¯ãé£æ¥ãããã¯ã»ã«ã®ãã¢ïŒxââãyïŒã§ãããšèšããŸãã
ã¢ãã¡ãŒã·ã§ã³ã§ãåãããšïŒ
3ç¹ãåãå Žåã3次å ãã¯ãã«ãèæ ®ããå¿ èŠããããŸãããè¿äŒŒã¯ããæ£ç¢ºã«ãªããŸãã ãŸããNå€ãæã€é¢æ£é¢æ°ã®å ŽåãN次å ãã¯ãã«ãèæ ®ããå¿ èŠããããŸãã
ååŸããä¿æ°ã®ã»ããããããšã察å¿ããä¿æ°ã§ååŸããåºåºé¢æ°ãåèšããããšã«ãããåæé¢æ°ãç°¡åã«ååŸã§ããŸãã ãããã®ä¿æ°ã®åæã¯ãå€ãã®æçšãªæ å ±ãæäŸã§ããŸãïŒåºç€ã«å¿ããŠïŒã ãããã®èæ ®äºé ã®ç¹å¥ãªã±ãŒã¹ã¯ãããŒãªãšå±éã®åçã§ãã çµå±ãç§ãã¡ã®æšè«ã¯ããããåºç€ã«é©çšå¯èœã§ãããããŒãªãšçŽæ°ã«å±éãããšããéåžžã«å ·äœçãªãã®ãæ¡çšãããŸãã
é¢æ£ããŒãªãšå€æïŒDFTïŒ
åã®ããŒãã§ã¯ãé¢æ°ãã³ã³ããŒãã³ãã«å解ããã®ãããã ãããšããçµè«ã«éããŸããã 19äžçŽåé ãããŒãªãšãããã«ã€ããŠèããŸããã 確ãã«ã圌ã¯ã¢ã©ã€ã°ãã®çµµãæã£ãŠããªãã£ãã®ã§ãéå±ãªã³ã°ã«æ²¿ã£ãç±ã®ååžãç 究ããªããã°ãªããŸããã§ããã ãããã圌ã¯ããªã³ã°ã®åç¹ã®æž©åºŠïŒããã³ãã®å€åïŒãç°ãªãåšæã®æ£åŒŠæ³¢ã®åèšãšããŠè¡šçŸããããšãéåžžã«äŸ¿å©ã§ããããšãçºèŠããŸããã ãFourierã¯ã2çªç®ã®é«èª¿æ³¢ãæåã®é«èª¿æ³¢ããã4åéãæžè¡°ããé«æ¬¡ã®é«èª¿æ³¢ãããã«éãæžè¡°ããããšã確èªããŸããïŒãèªã¿ãã ãã ãèå³æ·±ãïŒãã
äžè¬ã«ãåšæé¢æ°ã¯æ£åŒŠæ³¢ã®åèšã«èããå解ãããããšãããã«å€æããŸããã èªç¶çã«ã¯åšæé¢æ°ã§èšè¿°ãããå€ãã®ãªããžã§ã¯ããšããã»ã¹ãããããããããã®åæã®ããã®åŒ·åãªããŒã«ãç»å ŽããŸããã
ããããæãæãããªåšæçããã»ã¹ã®1ã€ã¯å¥å šã§ãã
- æåã®ãã£ãŒã-åšæ³¢æ°ã2500ãã«ãã®çŽé³ã
- 2çªç®âãã¯ã€ããã€ãºã ã€ãŸããç¯å²å šäœã«åçã«åæ£ãããåšæ³¢æ°ãæã€ãã€ãºã§ãã
- 3çªç®âæåã®2ã€ã®åèšã
ãªãæ£åŒŠæ³¢ãåºæºã«ããŠã¿ãŸãããïŒ å®éãå®éã«ãããè¡ã£ãŠããŸãã 3ã€ã®åºåºãã¯ãã«ãžã®å解ãæãåºããŠãããããã°ã©ãã§è¡šããŸãã
ã¯ããã¯ããç§ã¯ç¥ã£ãŠããŸããããã¯ãã£ããã®ããã«èŠããŸããã3ã€ã®ãã¯ãã«ã§ã¯ãã以äžãæåŸ ããã®ã¯é£ããã§ãã ããããä»ã§ã¯ãããšãã°8ã€ã®åºåºãã¯ãã«ãååŸããæ¹æ³ãæ確ã«ãªã£ãŠããŸãã
ããã»ã©è€éã§ã¯ãªããã§ãã¯ã¯ããããã®ãã¯ãã«ããã¢ã¯ã€ãºåçŽãã€ãŸãçŽäº€ã§ããããšã瀺ããŠããŸãã ããã¯ãããããåºç€ãšããŠäœ¿çšã§ããããšãæå³ããŸãã ãã®ãããªããŒã¹ã®å€æã¯åºãç¥ãããŠãããé¢æ£ã³ãµã€ã³å€æïŒDCTïŒãšåŒã°ããŸãã ã°ã©ãããDCTå€æåŒãã©ã®ããã«ååŸããããã¯æããã ãšæããŸãã
ããã¯åãåŒã§ãïŒA = EXã眮æåºåºã æå®ãããDCTã®åºæ¬ãã¯ãã«ïŒãããã¯è¡åEã®è¡ãã¯ãã«ã§ããããŸãïŒã¯çŽäº€ããŸãããæ£èŠçŽäº€ã§ã¯ãããŸããã ããã¯éå€æã§èŠããŠããå¿ èŠããããŸãïŒããã«ã€ããŠã¯è©³ãã説æããŸãããããŒãåºåºãã¯ãã«ã¯ä»ã®ãã¯ãã«ããã倧ãããããéDCTã®çšèªã¯0.5 * a 0ã§ãïŒã
次ã®äŸã¯ãå°èšãå ã®å€ã«è¿äŒŒããããã»ã¹ã瀺ããŠããŸãã åå埩ã§ã次ã®åºåºã«æ¬¡ã®ä¿æ°ãä¹ç®ãããäžéåèšã«å ç®ãããŸãïŒã€ãŸããã¢ã©ã€ã°ãã§ã®ä»¥åã®å®éšã®ããã«ãå€ã®3åã®2ã3åã®2ïŒã
ããããããã«ããããããããã®ãããªåºç€ãéžæããããšã®åŠ¥åœæ§ã«ã€ããŠã®ããã€ãã®è°è«ã«ãããããããå®éã®è°è«ã¯ãŸã ãããŸããã å®éãé³ãšã¯ç°ãªããç»åãåšæé¢æ°ã«å解ããããšã®åŠ¥åœæ§ã¯ããã»ã©æçœã§ã¯ãããŸããã ãã ããç»åã¯å®éã«ã¯å°ããªé åã§ãäºæž¬äžå¯èœãªå ŽåããããŸãã ãããã£ãŠãç»åã¯ååã«å°ããªæçã«åå²ãããŸãããéåžžã«å°ããã¯ãªããããå解ã¯çã«ããªã£ãŠããŸãã JPEGã§ã¯ãç»åã¯8x8ã®æ£æ¹åœ¢ã«ãã¹ã©ã€ã¹ããããŸãã ãã®ãããªäœåã®äžã§ãåçã¯éåžžéåžžã«åäžã§ãïŒèæ¯ãšããããªå€åã ãã®ãããªé åã¯ãæ£åŒŠæ³¢ã«ãã£ãŠãšã¬ã¬ã³ãã«è¿äŒŒãããŸãã
ããŠããã®äºå®ã¯å€ããå°ãªããçŽæçã ãšããŸãããã ããããé¢æ°ããã£ãããšå€æŽããŠãç§ãã¡ãæãããšãã§ããªãã®ã§ãã·ã£ãŒããªè²ã®å€åã«ã€ããŠã¯æªãæãããããŸãã äœæ¥ã«å¯ŸåŠããããŸããŸãªé«åšæ³¢æ©èœãè¿œå ããå¿ èŠããããŸãããåãèæ¯ã«äžŠãã§è¡šç€ºãããŸãã 2ã€ã®å¯Ÿç §çãªé åãæã€256x256ã®ç»åãæ®åœ±ããŸãã
DCTã䜿çšããŠåè¡ãå解ããè¡ããšã«256ã®ä¿æ°ãååŸããŸãã
次ã«ãæåã®nåã®ä¿æ°ã®ã¿ãæ®ããæ®ãããŒãã«èšå®ããŸãããããã£ãŠãç»åã¯æåã®é«èª¿æ³¢ã®ã¿ã®åèšãšããŠè¡šç€ºãããŸãã
åçã®æ°åã¯ãæ®ã£ãŠããä¿æ°ã®æ°ã§ãã æåã®ç»åã«ã¯å¹³åå€ã®ã¿ãæ®ããŸãã 2çªç®ã®ãã®ã¯æ¢ã«1ã€ã®äœåšæ³¢æ£åŒŠæ³¢ãªã©ãè¿œå ããŠããŸãããšããã§ãå¢çã«æ³šæããŠãã ãããæè¯ã®è¿äŒŒã«ããããããã2ã€ã®ã¹ããªããã察è§ç·ã®é£ã«ã¯ã£ãããšèŠãã1ã€ã¯ããæããããã1ã€ã¯ããæãã§ãã æåŸã®ç»åã®äžéšã4åã«æ¡å€§ïŒ
ãããŠäžè¬ã«ãå¢çããé¢ãããšæåã®åäžãªèæ¯ãèŠããããã«è¿ã¥ããšæ¯å¹ ãå¢å€§ãå§ããæçµçã«ãã®æå°å€ã«éãããã®åŸæ¥æ¿ã«æ倧ã«ãªããŸãã ãã®çŸè±¡ã¯ã®ãã¹å¹æãšããŠç¥ãããŠããŸãã
é¢æ°ã®äžé£ç¶ã®è¿ãã«çŸãããããã®ãã¶ã®é«ãã¯ãé¢æ°ã®é ã®æ°ãå¢ããŠãæžå°ããŸããã é¢æ£å€æã§ã¯ãã»ãŒãã¹ãŠã®ä¿æ°ãä¿åãããŠããå Žåã«ã®ã¿æ¶ããŸãã ããæ£ç¢ºã«ã¯ãèŠããªããªããŸãã
次ã®äŸã¯ãäžèšã®äžè§åœ¢ã®å解ã«å®å šã«äŒŒãŠããŸããããã§ã«å®éã®ã¢ã©ã€ã°ãã«ãããŸãã
DCTãç 究ãããšããæåã®ããã€ãã®ïŒäœåšæ³¢ïŒä¿æ°ã ãã§åžžã«ååã§ãããšãã誀ã£ãå°è±¡ãäžããå ŽåããããŸãã ããã¯ãå€ãåçã«å€åããªãå€ãã®åçã«åœãŠã¯ãŸããŸãã ãã ããå¯Ÿç §çãªé åã®å¢çã§ã¯ãå€ããµãããŠãžã£ã³ãããæåŸã®ä¿æ°ã§ãã倧ãããªããŸãã ãããã£ãŠãDCTã®ãšãã«ã®ãŒä¿åç¹æ§ã«ã€ããŠèããå Žåããã¹ãŠã§ã¯ãªããå€ãã®çš®é¡ã®ä¿¡å·ã«é©çšããããšããäºå®ãèæ ®ããŠãã ããã äŸãšããŠãæåŸã®å Žåãé€ããæ¡åŒµä¿æ°ããŒãã«çããé¢æ£é¢æ°ãã©ã®ããã«èŠããããèããŠãã ããã ãã³ãïŒãã¯ãã«åœ¢åŒã®å解ãæ³åããŠãã ããã
æ¬ ç¹ã«ãããããããéžã°ããåºç€ã¯å®éã®åçã§æé«ã®ãã®ã®äžã€ã§ãã å°ãåŸã«ãä»ãšã®å°ããªæ¯èŒã衚瀺ãããŸãã
DCT vsãã®ä»
æ£çŽã«èšããšãçŽäº€å€æã®åé¡ãç 究ãããšããåšå²ã®ãã¹ãŠã調åæ¯åã®åèšã§ãããšããè°è«ã«ããŸãçŽåŸããŠããªãã£ãã®ã§ãåçãæ£åŒŠæ³¢ã«å解ããå¿ èŠããããŸãã ãããšããããã€ãã®ã¹ãããé¢æ°ãåªããŠããŸããïŒ ãã®ãããå®ç»åã§ã®DCTã®æé©æ§ã«é¢ããç 究çµæãæ¢ããŠããŸããã ãããšãã«ã®ãŒå§çž®ãç¹æ§ã®ããã«å®éã®ã¢ããªã±ãŒã·ã§ã³ã§æãããèŠãããã®ã¯DCTã§ãããšããäºå®ã¯ãè³ãæã«æžãããŠããŸãã ãã®ããããã£ã¯ãæ倧éã®æ å ±ãæåã®ä¿æ°ã«å«ãŸããããšãæå³ããŸãã ãªãã§ïŒ 調æ»ãå®æœããã®ã¯é£ãããããŸãããããŸããŸãªç»åãããŸããŸãªæ¢ç¥ã®ããŒã¹ãçšæããããŸããŸãªä¿æ°ã®å®éã®ç»åããã®æšæºåå·®ãæ€èšãå§ããŸãã ãã®ãã¯ããã¯ã«é¢ããèšäº ïŒ ããã§äœ¿çšãããŠããç»åïŒã§ãå°ãã®ç 究ãèŠã€ããŸããã ç°ãªãåºåºã®æåã®å解ä¿æ°ã®æ°ã«å¯Ÿããèç©ãšãã«ã®ãŒã®äŸåæ§ã®ã°ã©ããå«ãŸããŠããŸãã ã°ã©ããèŠããšãDCTãäžè²«ããŠåèªãã...ãããš... 3äœã«ãªããšç¢ºä¿¡ããŸããã ã©ãããŠïŒ ã©ã®ãããªKLTå€æã§ããïŒ DCTã称è³ããããã«...
KLT
KLTãé€ããã¹ãŠã®å€æã¯ãå®æ°åºåºå€æã§ãã ãŸããKLTïŒKarunen-Loevå€æïŒã§ã¯ãããã€ãã®ãã¯ãã«ã®æé©ãªåºåºãèšç®ãããŸãã æåã®ä¿æ°ããã¹ãŠã®ãã¯ãã«ã®åèšã§æå°ã®æšæºèª€å·®ãäžããããã«èšç®ãããŸãã 以åã«åæ§ã®äœæ¥ãæåã§è¡ããåºç€ãèŠèŠçã«æ±ºå®ããŸããã æåã¯å¥å šãªã¢ã€ãã¢ã®ããã«æããŸãã ããšãã°ãç»åãå°ããªã»ã¯ã·ã§ã³ã«åå²ããããããã®åºæºãèšç®ã§ããŸãã ãããããã®åºç€ãä¿åããããšãžã®æžå¿µãããã ãã§ãªãããããèšç®ããæäœãéåžžã«æéãããããŸãã ãŸããDCTã®æ倱ã¯ãããã§ãããããã«ãDCTã«ã¯é«éå€æã¢ã«ãŽãªãºã ããããŸãã
DFT
DFTïŒé¢æ£ããŒãªãšå€æïŒ-é¢æ£ããŒãªãšå€æããã®ååã¯ãç¹å®ã®å€æã ãã§ãªããé¢æ£å€æïŒDCTãDST ...ïŒã®ã¯ã©ã¹å šäœãæãããšããããŸãã DFTåŒãèŠãŠã¿ãŸããããã
æ³åã®ãšãããããã¯ããçš®ã®è€éãªåºåºãæã€çŽäº€å€æã§ãããã®ãããªè€éãªåœ¢åŒã¯ããã€ããããå°ãé »ç¹ã«èŠã€ããããããã®çµè«ãç 究ããããšã¯çã«ããªã£ãŠããŸãã
DCTå解äžã®ïŒæŽæ°åšæ³¢æ°ã®ïŒçŽç²ãªé«èª¿æ³¢ä¿¡å·ã¯ããã®é«èª¿æ³¢ã«å¯Ÿå¿ãã1ã€ã®éãŒãä¿æ°ã®ã¿ãçæããããã«èŠãããããããŸãããåšæ³¢æ°ã«å ããŠããã®ä¿¡å·ã®äœçžãéèŠãªã®ã§ãããã¯ããã§ã¯ãããŸãããããšãã°ãäœåŒŠã§ã®æ£åŒŠã®å±éïŒé¢æ£çãªå±éãšåæ§ïŒã¯æ¬¡ã®ããã«ãªããŸãã
ããã«çŽç²ãªããŒã¢ãã«ããããŸãã圌女ã¯ããããã®äººãè²ãŠãŸãããã¢ãã¡ãŒã·ã§ã³ã¯ãDCTæ£åŒŠæ³¢ä¿æ°ãããŸããŸãªãã§ãŒãºã§ç€ºããŠããŸãã
åã軞ã®åšããå転ããŠããããã«æããå Žåãããã¯ããªãã«ã¯èŠããŸããã§ããã
ãã®ãããé¢æ°ãç°ãªãåšæ³¢æ°ã®æ£åŒŠæ³¢ã®åèšã«å解ããã ãã§ãªããããäœçžã ãã·ããããŸããã³ãµã€ã³ã®äŸã䜿çšããŠäœçžã·ãããæ€èšããæ¹ã䟿å©ã§ãïŒ
åçŽãªäžè§é¢æ°ã®ã¢ã€ãã³ãã£ãã£ã¯éèŠãªçµæããããããŸãïŒäœçžã·ããã¯ãä¿æ°cosïŒbïŒãšsinïŒbïŒã§åŸããããµã€ã³ãšã³ãµã€ã³ã®åèšã§çœ®ãæããããŸãããã®ãããé¢æ°ããµã€ã³ãšã³ãµã€ã³ã®åèšã«å解ã§ããŸãïŒãã§ãŒãºãªãïŒãããã¯äžè¬çãªäžè§é¢æ°åœ¢åŒã§ãããã ããçµ±åãã¯ããã«äžè¬çã«äœ¿çšãããŠããŸããååŸããã«ã¯ããªã€ã©ãŒå ¬åŒã䜿çšããå¿ èŠããããŸããå°åºãããåŒããµã€ã³ãšã³ãµã€ã³ã«çœ®ãæããã ãã§ã次ã®ããã«
ãªããŸããäžç·ã¯å ±åœ¹æ°ã§ãã
æçµçãªçåŒãååŸããŸã
ãcã¯è€çŽ ä¿æ°ã§ããã®å®æ°éšã¯ã³ãµã€ã³ä¿æ°ã«çãããèæ°éšã¯ãµã€ã³ã§ãããããŠãç¹ã®ã»ããïŒcosïŒbïŒãsinïŒbïŒïŒã¯åã§ãããã®ãããªèšé²ã§ã¯ãåé«èª¿æ³¢ã¯æ£ãšè² ã®äž¡æ¹ã®åšæ³¢æ°ã§å解ã«å ¥ããŸãããããã£ãŠãããŒãªãšè§£æã®ããŸããŸãªåŒã§ã¯ãéåžžããã€ãã¹ãããã©ã¹ã®ç¡é倧ãŸã§ã®åèšãŸãã¯ç©åãçºçããŸããå€ãã®å Žåããã®ãããªè€éãªåœ¢åŒã§èšç®ãè¡ãæ¹ã䟿å©ã§ãã
å€æã¯ãä¿¡å·ããä¿¡å·é åã§1ãNåã®æ¯åã®åšæ³¢æ°ãæã€é«èª¿æ³¢ã«å解ããŸãããã ããä¿¡å·é åã®ãµã³ããªã³ã°ã¬ãŒãã¯Nã§ãããŸããã³ãã«ãã³ãã®å®çïŒå¥åãã€ãã¹ãã»ã·ã£ãã³ã®å®çïŒã«ããã°ããµã³ããªã³ã°åšæ³¢æ°ã¯å°ãªããšãä¿¡å·åšæ³¢æ°ã®2åã§ãªããã°ãªããŸãããããã§ãªãå Žåã¯ãåœã®åšæ³¢æ°ãæã€ä¿¡å·ã®åºçŸã®å¹æãåŸãããŸãã
ç Žç·ã¯ã誀ã£ãŠåŸ©å ãããä¿¡å·ã瀺ããŠããŸããããªãã¯ãã°ãã°ãã®çŸè±¡ã«åºããããŸãããããšãã°ããããªã§ã®è»ã®è»èŒªã®å€ãªåãããŸãã¯ã¢ã¢ã¬å¹æã
ããã¯ãNè€çŽ æ¯å¹ ã®åŸåãä»ã®åšæ³¢æ°ã§æ§æãããŠããããã«èŠãããšããäºå®ã«ã€ãªãããŸããåŸåã®ãããã®æ¬äŒŒé«èª¿æ³¢ã¯ãååã®é¡åã§ãããè¿œå æ å ±ãäŒããŸããããããã£ãŠãN / 2åã®ã³ãµã€ã³ãšN / 2åã®ãµã€ã³ïŒçŽäº€åºåºã圢æïŒãæ®ã£ãŠããŸãã
ããŠãåºç€ããããŸãããã®æåã¯ãä¿¡å·é åã«æŽæ°åã®æ¯åããã€é«èª¿æ³¢ã§ããã€ãŸããé«èª¿æ³¢ã®æ¥µå€ã¯çãããªããŸããããæ£ç¢ºã«ã¯ãæåŸã®å€ããšããžããå®å šã«ååŸãããªãããããããã¯ã»ãŒçãããªããŸããããã«ãåé«èª¿æ³¢ã¯ããã®äžå¿ã«é¢ããŠã»ãŒé¡é¢å¯Ÿç§°ã§ãããããã®çŸè±¡ã¯ãã¹ãŠãäœåšæ³¢æ°ã§ç¹ã«åŒ·ããªããŸããããã¯ãã³ãŒãã£ã³ã°ã«ãããŠéèŠã§ãããããã¯ã®å¢çç·ãå§çž®ãããç»åäžã§ç®ç«ã€ããããããæªãã§ãã N = 8ã®DFTåºåºã説æããŸããæåã®2è¡ã¯äœåŒŠæåã§ãæåŸã¯æ£åŒŠæåã§ãã
é »åºŠãé«ããªãã«ã€ããŠãéè€ããã³ã³ããŒãã³ãã®åºçŸã«æ³šæããŠãã ããã
ä¿¡å·ãã©ã®ããã«å解ããããã粟ç¥çã«èããããšãã§ããŸããä¿¡å·ã®å€ã¯ãæåã®æ倧å€ããæåŸã®æå°å€ãŸã§åŸã ã«æžå°ããŸããå€ããå°ãªããé©åãªè¿äŒŒã¯ãé«èª¿æ³¢ãæåŸã«è¿ã¥ããããšããã§ããŸãããå·Šã®å³ã§ã¯ãã·ã³ã°ã«ãšã³ãä¿¡å·ã®è¿äŒŒãå³åŽ-察称ïŒ
æåã®ãã®ã§ã¯ãäºæ ã¯éåžžã«æªãã§ãã
ã ãããDCTã®ããã«è¡ãããšãã§ããŸã-åšæ³¢æ°ã2åãŸãã¯å¥ã®åæ°ã ãæžããããšã§ãããã€ãã®æ¯åã®æ°ãåæ°ã«ãªããå¢çãç°ãªãäœçžã«ãªããŸããïŒãã®å Žåãã³ã³ããŒãã³ãã¯éçŽäº€ã«ãªããŸãããããŠãäœãããããšã¯ãããŸããã
DST
DCTã§ã³ãµã€ã³ã®ä»£ããã«ãµã€ã³ã䜿çšãããšã©ããªããŸããïŒé¢æ£æ£åŒŠå€æïŒDSTïŒãååŸããŸãããããããµã€ã³ã®æéã®å šäœãšååãå¢çã§ãŒãã«è¿ããããç§ãã¡ã®ã¿ã¹ã¯ã§ã¯ããããã¯ãã¹ãŠé¢çœããããŸãããã€ãŸããDFTãšã»ãŒåãäžé©åãªå解ãè¡ãããŸãã
DCTã«æ»ã
圌ã¯åœå¢ã§ã©ãããŠããŸããïŒ ããã éäœçžãããããŒãã¯ãããŸããã
æ®ããã¹ãŠ
éããŒãªãšå€æã説æããŸããã
WHT-ãããªãã¯ã¹ã¯ãå€ã-1ããã³1ã®ã¹ãããã³ã³ããŒãã³ãã®ã¿ã§æ§æãããŸã
ãHaar-åæã«çŽäº€ãããŠã§ãŒãã¬ããå€æã
DCTããå£ããŸãããèšç®ã¯ç°¡åã§ãã
ã ãããããªãèªèº«ã®å€é©ãæãä»ããšããèããããªãã«æ¥ãŸããããããèŠããŠãããŠãã ããïŒ
- åºç€ã¯çŽäº€ããŠããå¿ èŠããããŸãã
- åºå®ããŒã¹ã§ã¯ãå§çž®å質ã§KLTã«åããã®ã¯ãããŸãããäžæ¹ãå®éã®åçã§ã¯ãDCTã¯ã»ãšãã©å£ã£ãŠããŸãã
- DFTããã³DSTã®å Žåãå¢çãèŠããŠãããŠãã ããã
- ãŸããDCTã«ã¯å¥ã®åªããå©ç¹ãããããšãå¿ããªãã§ãã ãããæ§æå°é¢æ°ã®å¢çä»è¿ã§ã¯ãŒãã«çãããããé£æ¥ãããããã¯éã®é·ç§»ã¯éåžžã«ã¹ã ãŒãºã«ãªããŸãã
- ããŒãªãšå€æã«ã¯ãé¡ã®èšç®ãšã¯å¯Ÿç §çã«ãè€é床OïŒN * logNïŒã®é«éã¢ã«ãŽãªãºã ããããŸãïŒOïŒN 2ïŒã
ç°¡åã§ã¯ãªãã§ãããïŒãã ããç»åã®çš®é¡ã«ãã£ãŠã¯ãDCTãããåªããåºæºãéžæã§ããŸãã
ãã®ã»ã¯ã·ã§ã³ã¯ãé¢æ£ã³ãµã€ã³å€æåºåã«äŒŒãŠããããšãå€æããŸãããããããããã¯æ¬åœã«ã¯ãŒã«ã§ãïŒ
äºæ¬¡å å€æ
ããã§ã¯ããã®ãããªå®éšãè¡ã£ãŠã¿ãŸããããäŸãã°ãäžæã®ç»åãåããŸãã
圌ã®3Dã°ã©ãïŒ
åè¡ã§DCTïŒN = 32ïŒãèŠãŠã¿ãŸãããã
ããã§ãååŸããä¿æ°ã®ååãã€ãŸãäžããäžã«ç®ãéããŠãã ãããéèŠãªå€ãåé€ããŠãã§ããã ãå°ãªãå€ãæ®ãããšãç®æšã§ããããšãå¿ããªãã§ãã ããã確ãã«ãååŸããä¿æ°ã®ååã®å€ã¯ãå ã®ç»åã®å€ãšãŸã£ããåãæ¹æ³ã§å解ã§ãããšæšæž¬ããŸãããçŽäº€å€æè¡åã®éžæãå¶éãã人ã¯ããŸããããDCTïŒN = 8ïŒã䜿çšããŠå床è¡ããŸãã
ä¿æ°ïŒ0,0ïŒã¯å€§ããããããšãå€æãããããã°ã©ãäžã§ã¯4åæžå°ããŸãã
ããã§äœãèµ·ãã£ãã®ã§ããïŒ
å·Šäžé ã¯ãæãéèŠãªä¿æ°ã®æãéèŠãªå解ä¿æ°ã§ãã
å·Šäžé ã¯ãæãéèŠãªä¿æ°ã®æãéèŠã§ãªãå解ä¿æ°ã§ãã
å³äžé ã¯ãæãéèŠã§ãªãä¿æ°ã®æãéèŠãªå解ä¿æ°ã§ãã
å³äžé ã¯ãæãéèŠã§ãªãä¿æ°ã®æãéèŠã§ãªãå解ä¿æ°ã§ãã
å·Šäžããå³äžã«æãã«ç§»åãããšãä¿æ°ã®æææ§ãäœäžããããšã¯æããã§ãããããŠãã©ã¡ããããéèŠã§ãïŒïŒ0ã7ïŒãŸãã¯ïŒ7ã0ïŒïŒåœŒãã¯ã©ãããæå³ã§ããïŒ
æåã®è¡ããšïŒA 0 =ïŒEX TïŒT = XE TïŒåŒA = EXã«ã©ã ã®ã§ã転眮ïŒæ¬¡ãã§ã«ã©ã ïŒA = EA 0 = EXE Tãæ éã«èšç®ãããšãåŒãåŸãããŸãã
ãããã£ãŠããã¯ãã«ãæ£åŒŠæ³¢ã«å解ãããå Žåãé¢æ°cosïŒaxïŒ* cosïŒbyïŒã®è¡åã«ãªããŸãã JPEGã®å8x8ãããã¯ã¯ã次ã®åœ¢åŒã®64åã®é¢æ°ã®åèšãšããŠè¡šãã
ãŸãããŠã£ãããã£ã¢ããã³ãã®ä»ã®ãœãŒã¹ã§ã¯ããã®ãããªé¢æ°ã¯ãã䟿å©ãªåœ¢åŒã§è¡šç€ºãããŸãã
ãããã£ãŠãä¿æ°ïŒ0ã7ïŒãŸãã¯ïŒ7ã0ïŒãåæ§ã«åœ¹ç«ã¡ãŸãã
ãã ããå®éã«ã¯ãããã¯64åã®64次å ããŒã¹ãžã®éåžžã®1次å å解ã§ããäžèšã®ãã¹ãŠã¯ãDCTã ãã§ãªããçŽäº€å解ã«ãé©çšãããŸããé¡æšã«ãããäžè¬çãªå ŽåãN次å ã®çŽäº€å€æãååŸããŸãã
次ã«ã2次å ã®ã¢ã©ã€ã°ãå€æïŒDCT 256x256ïŒã瀺ããŸããåã³ãŒãå€ã§ãæ°å€-ãã¹ãŠã®éãŒãä¿æ°ã®æ°ïŒå·Šäžé ã®äžè§åœ¢é åã«ããæãéèŠãªå€ãæ®ã£ãŠããŸããïŒã
ä¿æ°ïŒ0ã0ïŒã¯DCãšåŒã°ããæ®ãã¯63-ACãšåŒã°ããããšã«æ³šæããŠãã ããã
ãããã¯ãµã€ãºã®éžæ
å人ãå°ããïŒãªãJPEGã¯8x8åå²ã«ç¹ã«äœ¿çšãããã®ã§ããïŒãã©ã¹ã®çãããïŒ
DCTã¯ããããã¯ãåšæçã§ãããã®ããã«ãããã¯ãåŠçããçµæã®ãžã£ã³ããå¢çã§åæ§ç¯ããå¿ èŠããããŸãã64x64ãããã¯ã䜿çšããå Žåãå¢çã§å€§ããªãžã£ã³ããçºçããå¯èœæ§ãé«ãããããååãªç²ŸåºŠã§åæ§ç¯ããã«ã¯å€ãã®é«åšæ³¢ã³ã³ããŒãã³ããå¿ èŠã«ãªããŸãåæ§ã«ãDCTã¯åšæé¢æ°ã§ã®ã¿ããŸãæ©èœããŸãããµã€ãºã倧ãããããšããããã¯ã®å¢çã倧ããè·³ãäžããããããã«ããŒããããã«å€ãã®é«åšæ³¢ã³ã³ããŒãã³ããå¿ èŠã«ãªããŸããããã¯ééã£ãŠããŸãïŒãã®èª¬æã¯DFTãšéåžžã«ãã䌌ãŠããŸãããDCTãšã¯ç°ãªããŸããæåã®ã³ã³ããŒãã³ãã§ãã®ãããªé£èºãå®å šã«ã«ããŒããŠããããã§ãã
åãããŒãžã«ã¯ãMPEG FAQããã®åçãããã倧ããªãããã¯ã«å¯Ÿããäž»ãªè°è«ããããŸãã
- 倧ããªãããã¯ã«åå²ããå Žåãã»ãšãã©å©çããããŸããã
- èšç®ã®è€éãã®å¢å ã
- , .
ãããèªåã§èª¿æ»ããããšãææ¡ããŸããæåã®ãã®ããå§ããŸãããã
氎平軞ã¯ãæåã®éãŒãä¿æ°ã®å²åã§ããåçŽ-ãªãªãžãã«ããã®ãã¯ã»ã«ã®æšæºåå·®ãå¯èœãªæ倧åå·®ã¯åäœãšããŠåãããŸãããã¡ããã1ã€ã®åçã ãã§ã¯è©æ±ºã«ã¯äžååã§ããããã«ãç§ã¯æ£ããè¡åããŠãããããã ãŒãã«ããã ãã§ããå®éã®JPEGã§ã¯ãéååãããªãã¯ã¹ã«å¿ããŠãé«åšæ³¢æåã®å°ããªå€ã®ã¿ããªã»ãããããŸãããããã£ãŠã次ã®å®éšãšçµè«ã¯ãååãšãã¿ãŒã³ãè¡šé¢çã«èå¥ããããã«èšèšãããŠããŸãã
ä¿æ°ã®å·Šã®25ïŒ ã§ç°ãªããããã¯ãžã®åå²ãæ¯èŒã§ããŸãïŒå·Šããå³ãžã次ã«å³ããå·ŠãžïŒã
32x32ãšèŠèŠçã«ã»ãšãã©åºå¥ã§ããªãããã倧ããªãããã¯ã¯è¡šç€ºãããŸããã次ã«ãå ã®ç»åãšã®çµ¶å¯ŸçãªéããèŠãŠã¿ãŸãããïŒ2åã«å¢å¹ ãããŸããããã§ãªããã°ãå®éã«ã¯äœãèŠããŸããïŒ
ã8x8ã¯4x4ãããè¯ãçµæããããããŸãããµã€ãºãããã«å€§ããããŠããæ確ãªå©ç¹ã¯ãããŸããã 8x8ã®ä»£ããã«16x16ã«ã€ããŠçå£ã«èããŸããã33ïŒ ã®è€éãã®å¢å ïŒæ¬¡ã®æ®µèœã®è€éãã«ã€ããŠïŒã¯ãåãæ°ã®èŠå ã§ãå°ãããªãããç®ã«èŠããæ¹åããããããŸãããã ãã8x8ã®éžæã¯éåžžã«åççã§ãããããããé»éã®å¹³åå€ã§ãã JPEGã¯1991幎ã«å ¬éãããŸããããã®ãããªå§çž®ã¯ãåœæã®ããã»ããµã«ãšã£ãŠéåžžã«å°é£ã ã£ããšæããŸãã
第äºåŒæ°ããããã¯ãµã€ãºã倧ãããªããšãããå€ãã®èšç®ãå¿ èŠã«ãªãããšã«æ³šæããŠãã ããããããèŠç©ããããé¡ãžã®å€æã®è€éãããã§ã«ããã£ãŠããããã«ãOïŒN 2ïŒãåä¿æ°ã¯Né ã§æ§æãããŠããŸãããããå®éã«ã¯ãå¹æçãªé«éããŒãªãšå€æã¢ã«ãŽãªãºã ïŒFFTãé«éããŒãªãšå€æãFFTïŒã䜿çšãããŸãã圌ã®èª¬æã¯èšäºã®ç¯å²ãè¶ ããŠããŸãããã®è€éãïŒOïŒN * logNïŒã2次å å解ã®å ŽåãNå2å䜿çšããå¿ èŠããããŸãããããã£ãŠã2D DCTã®è€éãã¯OïŒN 2 logNïŒã§ãã次ã«ã1ã€ã®ãããã¯ãšããã€ãã®å°ããªãããã¯ã§ç»åãèšç®ããè€éããæ¯èŒããŸãã
- 1ãããã¯ïŒkNïŒxïŒkNïŒïŒOïŒïŒkNïŒ2 logïŒkNïŒïŒ= OïŒk 2 N 2 logïŒkNïŒïŒ
- k * kãããã¯N * NïŒOïŒk 2 N 2 logNïŒ
ããã¯ãããšãã°ã64x64ã«å²ã蟌ããšãã®èšç®ã8x8ã®2åé£ããããšãæå³ããŸãã
3çªç®ã®åŒæ°ãç»åã«è²ã®å¢çç·ãã¯ã£ããããŠããå Žåããããã¯å šäœã«åœ±é¿ããŸããããããããã®ãããã¯ãååã«å°ããæ¹ãè¯ãã§ãããããªããªããå€ãã®è¿é£ã®ãããã¯ã§ã¯ããã®ãããªå¢çã¯ãããããã¯ããªãããã§ãããã ããå¢çããé¢ãããšãæžè¡°ã¯ããªãéãçºçããŸããããã«ãå¢çç·èªäœã®èŠæ ããè¯ããªããŸããã³ã³ãã©ã¹ãã®ãã©ã³ãžã·ã§ã³ãå€æ°ãããä¿æ°ã1/4ã ãã§ããäŸã確èªããŸããã
ã16x16ãããã¯ã®æªã¿ã¯8x8ã®æªã¿ãããé ããŸã§åºãããŸãããè¡šèšã¯ããæ»ããã§ãããããã£ãŠãæåã®2ã€ã®åŒæ°ã®ã¿ãç§ãçŽåŸãããŸããããããã16x16åå²ã®ã»ãã奜ãã§ãã
éåå
ãã®æ®µéã§ã¯ãã³ãµã€ã³å€æä¿æ°ãæã€8x8ãããªãã¯ã¹ã®æããããŸãã åãã«è¶³ããªãä¿æ°ãåãé€ãæãæ¥ãŸããã äžèšã§è¡ã£ãããã«ãææ°ã®ãªããºããŒãã«ããããããšã¬ã¬ã³ããªãœãªã¥ãŒã·ã§ã³ããããŸãã ãŒã以å€ã®å€ã¯é床ã®ç²ŸåºŠã§ä¿åãããäžéãªäººã®äžã«ã¯éåžžã«éèŠãªãã®ãããå¯èœæ§ãããããããã®æ¹æ³ã«ã¯æºè¶³ã§ããŸããã åºå-éååãããªãã¯ã¹ã䜿çšããå¿ èŠããããŸãã æ倱ã¯ââãã®æ®µéã§æ£ç¢ºã«çºçããŸãã åããŒãªãšä¿æ°ã¯ãéååãããªãã¯ã¹å ã®å¯Ÿå¿ããæ°ã§é€ç®ãããŸãã äŸãèããŠã¿ãŸãããã ã¢ã©ã€ã°ãããæåã®ãããã¯ãåãåºããŠéååããŸãã JPEGä»æ§ã¯ãæšæºãããªãã¯ã¹ãæäŸããŸãã
æšæºãããªãã¯ã¹ã¯ãFastStoneããã³IrfanViewã®50ïŒ å質ã«å¯Ÿå¿ããŠããŸãã ãã®ãããªããŒãã«ã¯ãå質ãšå§çž®çã®ãã©ã³ã¹ã®èŠ³ç¹ããéžæãããŸããã DCTã¯æ£èŠåãããŠããããæåã®å€ãå¿ èŠä»¥äžã«ååŸãããŠãããããDCä¿æ°ã®å€ã¯é£æ¥ããä¿æ°ããã倧ãããšæããŸãã é«åšæ³¢ä¿æ°ã¯éèŠåºŠãäœããããããç²ããªããŸãã å質ã®å£åãæããã«é¡èã§ããããããã®ãããªãããªãã¯ã¹ã¯ã»ãšãã©äœ¿çšãããªããšæããŸãã ç¬èªã®ããŒãã«ïŒ1ã255ã®å€ïŒã®äœ¿çšãçŠæ¢ãã人ã¯ããŸãã
ãã³ãŒãæã«ã¯ãéã®ããã»ã¹ãè¡ãããŸããéååãããä¿æ°ã¯ãçšèªããšã«éååãããªãã¯ã¹ã®å€ã§ä¹ç®ãããŸãã ãã ããå€ãäžžãããããå ã®ããŒãªãšä¿æ°ãæ£ç¢ºã«åŸ©å ããããšã¯ã§ããŸããã éååæ°ã倧ããã»ã©ããšã©ãŒã倧ãããªããŸãã ãããã£ãŠãåæ§æãããä¿æ°ã¯æãè¿ãåæ°ã«ãªããŸãã
å¥ã®äŸïŒ
ãã¶ãŒãã«ã€ããŠã¯ã5ïŒ ã®å質ãèæ ®ããŠãã ããïŒFast Stoneã§ã³ãŒãã£ã³ã°ããå ŽåïŒã
ãã®ãããã¯ã埩å ãããšãå¹³åå€ã«å ããŠåçŽæ¹åã®åŸé ã ããååŸãããŸãïŒå€ã-1ã«ä¿åãããŠããããïŒã ãããã圌ã«ãšã£ãŠã¯ã7ãš-1ã®2ã€ã®å€ã®ã¿ãä¿åãããŠããŸãã ä»ã®ãããã¯ã§ã¯ãç¶æ³ã¯è¯ããããŸããã埩å ãããç»åã¯æ¬¡ã®ãšããã§ãã
ã¡ãªã¿ã«ãå質ã¯çŽ100ïŒ ã§ãã ãæ³åã®ãšããããã®å Žåãéååè¡åã¯å®å šã«ãŠãããã§æ§æãããŠããŸããã€ãŸããéååã¯è¡ãããŸããã ãã ããä¿æ°ã®æŽæ°ãžã®äžžãã«ãããå ã®ç»åãæ£ç¢ºã«åŸ©å ããããšã¯ã§ããŸããã ããšãã°ãã¢ã©ã€ã°ãã¯96ïŒ ã®ãã¯ã»ã«ãæ£ç¢ºã«ä¿æãã4ïŒ ã¯1/256ã®å·®ããããŸããã ãã¡ããããã®ãããªãæªã¿ãã¯èŠèŠçã«ã¯èŠãããšãã§ããŸããã
ãããŠã ããã§ã¯ãããŸããŸãªã«ã¡ã©ã®éååãããªãã¯ã¹ãèŠãããšãã§ããŸãã
ã³ãŒãã£ã³ã°
å ã«é²ãåã«ãç°¡åãªäŸã䜿çšããŠãååŸããå€ãå§çž®ããæ¹æ³ãç解ããå¿ èŠããããŸãã
äŸ0 ïŒãŠã©ãŒã ã¢ããçšïŒ
ããªãã®å人ãããªãã®å®¶ã§ãªã¹ãä»ãã®ãªãŒãã¬ãããå¿ããé»è©±ã§ãããå£è¿°ããããã«ããªãã«é Œãç¶æ³ãæ³åããŠãã ããïŒä»ã®ã³ãã¥ãã±ãŒã·ã§ã³æ¹æ³ã¯ãããŸããïŒã
ãªã¹ãïŒ
- d9rg3
- wfr43gt
- wfr43gt
- d9rg3
- d9rg3
- d9rg3
- wfr43gt
- d9rg3
ä»äºãã©ã®ããã«ç·©åããŸããïŒ ããããã¹ãŠã®èšèãçã ããã»ã©å£è¿°ãããšããç¹å¥ãªæ¬²æ±ã¯ãããŸããã ãããããããã¯2ã€ãããªããç¹°ãè¿ãããŸãã ãããã£ãŠãæåã®2ã€ã®åèªãäœããã®åœ¢ã§æ瀺ããããã«ãd9rg3ããæåã®åèªãšåŒã°ãããwfr43gtãã2çªç®ã®åèªãšåŒã°ããããšã«åæããŸãã 次ã«ãæ瀺ããã®ã«ååã§ãïŒ1ã2ã2ã1ã1ã1ã2ã1ã
åæ§ã®åèªãAãBãC ...ãšè¡šããããããã·ã³ãã«ãšåŒã³ãŸãã ã·ã³ãã«ã®äžã«ã¯ãã¢ã«ãã¡ãããã®æåãåç©åã®åèªãã«ããªã©ãäœã§ãé ãããšãã§ããŸãã äž»ãªãã®ã¯ãåãæŠå¿µãåãæŠå¿µã«å¯Ÿå¿ããç°ãªã-ç°ãªãããšã§ãã ã¿ã¹ã¯ã¯å¹ççãªã³ãŒãã£ã³ã°ïŒå§çž®ïŒã§ããããããããã¯æ å ±è¡šçŸã®æå°åäœã§ããããããããã䜿çšããŸãã ãããã£ãŠããªã¹ããABBAAABAãšããŠèšè¿°ããŸãã ãæåã®åèªããšã2çªç®ã®åèªãã®ä»£ããã«ãããã0ãš1ã䜿çšããããšãã§ããABBAAABAã¯01100010ïŒ8ããã= 1ãã€ãïŒãšããŠãšã³ã³ãŒããããŸãã
äŸ1
ABCããšã³ã³ãŒãããŸãã
3ã€ã®ç°ãªãæåïŒAãBãCïŒã2ã€ã®å¯èœãªãããå€ïŒ0ããã³1ïŒãšäžèŽãããããšã¯ã§ããŸããã ãã®å Žåãæåããšã«2ãããã䜿çšã§ããŸãã äŸïŒ
- AïŒ00
- BïŒ01
- CïŒ10
ã·ã³ãã«ã«é¢é£ä»ãããããããã®ã·ãŒã±ã³ã¹ã¯ãã³ãŒããšåŒã°ããŸãã ABCã¯000110ãšããŠãšã³ã³ãŒããããŸãã
äŸ2
AAAAAABCããšã³ã³ãŒãããŸãã
æåAããšã«2ãããã䜿çšããã®ã¯å°ãç¡é§ã§ãã ãã®ããã«ããããšããå ŽåïŒ
- AïŒ0
- BïŒ1
- CïŒ00
ã³ãŒãåãããã·ãŒã±ã³ã¹ïŒ000000100ã
æããã«ããã®ã·ãŒã±ã³ã¹ã®æåã®2ãããããã³ãŒãããæ¹æ³ãæ確ã§ã¯ãªãããããã®ãªãã·ã§ã³ã¯é©åã§ã¯ãããŸããïŒAAãŸãã¯Cã®ãããªïŒ ã³ãŒãéã«ã»ãã¬ãŒã¿ã䜿çšããã®ã¯éåžžã«ç¡é§ã§ãããã®é害ãå¥ã®æ¹æ³ã§åé¿ããæ¹æ³ãèããŸãã ãã®ãããCã³ãŒãã¯ã³ãŒãAã§å§ãŸãããããšã©ãŒãçºçããŸããããã ããBãšCããããã2ã§ãã£ãŠããAã1ãããã§ãšã³ã³ãŒãããããšã«ããŸããã ãã®ãããªåžæã«åºã¥ããŠãAã¯ã³ãŒã0ãæäŸããŸãããã®åŸãã³ãŒãBãšCã¯0ã§éå§ã§ããŸããã
- AïŒ0
- BïŒ10
- CïŒ11
ã·ãŒã±ã³ã¹ã¯0000001011ãšããŠãšã³ã³ãŒããããŸãã粟ç¥çã«ãã³ãŒãããŠã¿ãŠãã ããã ããã¯1ã€ã®æ¹æ³ã§ã®ã¿å®è¡ã§ããŸãã
2ã€ã®ã³ãŒãã£ã³ã°èŠä»¶ãäœæããŸããã
- æåã®éã¿ã倧ããã»ã©ãã³ãŒãã¯çããªããŸãã ãããŠãã®éã
- æ確ãªãã³ãŒãã®å Žåãæåã³ãŒãã¯ä»ã®æåã®ã³ãŒãã§éå§ã§ããŸããã
æããã«ãæåã®é åºã¯éèŠã§ã¯ãããŸãããæåã®åºçŸé »åºŠã«ã®ã¿é¢å¿ããããŸãã ãããã£ãŠãåã·ã³ãã«ã«ã¯ãéã¿ãšåŒã°ããç¹å®ã®çªå·ãé¢é£ä»ããããŠããŸãã ã·ã³ãã«ã®éã¿ã¯ãçºçã®å²åãåæ ããçžå¯Ÿå€ããŸãã¯æåæ°ã«çãã絶察å€ã®ããããã§ãã äž»ãªããšã¯ãéã¿ãæåã®åºçŸã«æ¯äŸããããšã§ãã
äŸ3
ä»»æã®éã¿ãæã€4æåã®äžè¬çãªã±ãŒã¹ãèããŸãã
- AïŒpa
- BïŒé
- CïŒpc
- DïŒpd
äžè¬æ§ã倱ãããšãªããpaâ¥pbâ¥pcâ¥pdã«èšå®ããŸãã é·ããæ ¹æ¬çã«ç°ãªã2ã€ã®ãªãã·ã§ã³ã®ã¿ããããŸãã
ã©ã¡ãã奜ãŸããã§ããïŒ ãããè¡ãã«ã¯ãååŸãããšã³ã³ãŒããããã¡ãã»ãŒãžã®é·ããèšç®ããŸãã
W1 = 2 * pa + 2 * pb + 2 * pc + 2 * pd
W2 = pa + 2 * pb + 3 * pc + 3 * pd
W1ãW2ããå°ããïŒW1-W2 <0ïŒå Žåãæåã®ãªãã·ã§ã³ã䜿çšããããšããå§ãããŸãã
W1-W2 = pa-ïŒpc + pdïŒ<0 => pa <pc + pd
CãšDãäžç·ã«é »ç¹ã«åºçŸããå Žåããããã®å ±éé ç¹ã¯1ãããããæçã³ãŒããååŸããŸãã ãã以å€ã®å Žåã1ãããã¯æåAã«éãããŸãããããã£ãŠãæåã®çµã¿åããã¯ç¬ç«ããæåãšããŠåäœããçä¿¡æåã®åèšã«çããéã¿ãæã¡ãŸãã
äžè¬ã«ãpããã®çºççïŒ0ãã1ïŒã§è¡šãããæåã®éã¿ã§ããå Žåãæé©ãªã³ãŒãé·ã¯s = -log 2 pã§ãã
ãããåçŽãªã±ãŒã¹ã§èããŠã¿ãŸãããïŒããªãŒã®åœ¢ã§æ³åããã®ã¯ç°¡åã§ãïŒã ãããã£ãŠãçããéã¿ïŒ1/2 s ïŒã§2 sæåããšã³ã³ãŒãããå¿ èŠããããŸãã éã¿ãçãããããã³ãŒãã®é·ãã¯åãã«ãªããŸãã åæåã«ã¯sããããå¿ èŠã§ãã ãããã£ãŠãã·ã³ãã«ã®éã¿ã1/2 sã§ããå Žåããã®é·ãã¯sã§ãã éã¿ãpã«çœ®ãæãããšãã³ãŒãé·
ããã«ãã1ã€ãéã¿ãæå°ã®2æåã¯åžžã«æ倧ã§ãããã³ãŒãé·ã¯åãã§ãã ããã«ãæåŸã®ããããé€ããããã®ãããã¯äžèŽããŸãã ãããåœãŠã¯ãŸããªãå Žåããã¬ãã£ãã¯ã¹ã«éåããããšãªããå°ãªããšã1ã€ã®ã³ãŒãã1ãããççž®ã§ããŸãã ããã¯ãã³ãŒãããªãŒå ã§æå°ã®éã¿ãæã€2ã€ã®æåã®å ±éã®èŠªã¬ãã«ãé«ãããšãæå³ããŸãã ããã¯äžèšã®Cããã³Dã§ç¢ºèªã§ããŸãã
äŸ4
åã®äŸã§åŸãããçµè«ã«åºã¥ããŠã次ã®äŸã解決ããŠã¿ãŸãããã
- ãã¹ãŠã®æåã¯ãéã¿ã®éé ã§ãœãŒããããŸãã
- æåŸã®2æåã¯ã°ã«ãŒãã«çµåãããŸãã ãã®ã°ã«ãŒãã«ã¯ããããã®èŠçŽ ã®éã¿ã®åèšã«çããéã¿ãå²ãåœãŠãããŸãã ãã®ã°ã«ãŒãã¯ãã·ã³ãã«ããã³ä»ã®ã°ã«ãŒããšãšãã«ã¢ã«ãŽãªãºã ã«åå ããŸãã
1ã€ã®ã°ã«ãŒãã®ã¿ãæ®ããŸã§ããã®æé ãç¹°ãè¿ãããŸãã åã°ã«ãŒãã§ã¯ã1ã€ã®æåïŒãŸãã¯ãµãã°ã«ãŒãïŒã«ããã0ãšä»ã®ããã1ãå²ãåœãŠãããŸãã
ãã®ã¢ã«ãŽãªãºã ã¯ããããã³ã³ãŒãã£ã³ã°ãšåŒã°ããŸãã
ãã®å³ã¯ã5æåïŒAïŒ8ãBïŒ6ãCïŒ5ãDïŒ4ãEïŒ3ïŒã®äŸã瀺ããŠããŸãã ã·ã³ãã«ïŒãŸãã¯ã°ã«ãŒãïŒã®ééãå³åŽã«è¡šç€ºãããŸãã
ä¿æ°ãã³ãŒãã£ã³ã°ããŸã
æ»ã£ãŠã㊠ããã§ãããããã«64åã®ä¿æ°ãæã€å€ãã®ãããã¯ãã§ããŸããããããã¯äœããã®åœ¢ã§ä¿åããå¿ èŠããããŸãã æãåçŽãªè§£æ±ºçã¯ãä¿æ°ããšã«åºå®ãããæ°ã䜿çšããããšã§ã-æããã«å€±æããŸãã åŸããããã¹ãŠã®å€ã®ãã¹ãã°ã©ã ïŒã€ãŸããä¿æ°ã®æ°ã®å€ãžã®äŸåæ§ïŒãäœæããŸãã
泚æããŠãã ãã-ã¹ã±ãŒã«ã¯å¯Ÿæ°ã§ãïŒ 200ãè¶ ããå€ã®èç©ã®çç±ã説æã§ããŸããïŒ ãããã¯DCä¿æ°ã§ãã ãããã¯ä»ã®ãã®ãšã¯éåžžã«ç°ãªããããããããå¥ã ã«ãšã³ã³ãŒããããããšã¯é©ãããšã§ã¯ãããŸããã 以äžã¯DCã§ãã
ã°ã©ãã®åœ¢ç¶ã¯ããã¯ã»ã«ã®ãã¢ãšããªãã«ã«åå²ããåæã®å®éšã®åœ¢ç¶ã«äŒŒãŠããããšã«æ³šæããŠãã ãã
äžè¬ã«ãDCä¿æ°ã®å€ã¯ã0ãã2047ïŒããæ£ç¢ºã«ã¯ã-PEGãDCãã1024ãæžç®ããããšã«å¯Ÿå¿ãããã¹ãŠã®å ã®å€ãã128ãæžç®ãããã-1024ãã1023ãŸã§ïŒã§å€åããå°ããªããŒã¯ã§ããªãåçã«ååžããŸãã ãããã£ãŠããããã³ã³ãŒãã£ã³ã°ã¯ããã§ã¯ããŸã圹ã«ç«ã¡ãŸããã ãããŠãã³ãŒãã£ã³ã°ããªãŒã®å€§ãããæ³åããŠã¿ãŠãã ããïŒ ãããŠããã³ãŒãäžã«ããã®äžã®å€ãæ¢ãå¿ èŠããããŸãã ãšãŠãé«äŸ¡ã§ãã ããã«èããŸãã
DCä¿æ°ã¯ã8x8ãããã¯ã®å¹³åå€ã§ãã åçã«ããèŠãããåŸé é·ç§»ïŒå®å šã§ã¯ãããŸãããïŒãæ³åããŠãã ããã DCå€èªäœã¯ç°ãªããŸãããç®è¡çãªé²è¡ãè¡šããŸãã ãã®ããããããã®å·®ã¯ã»ãŒäžå®ã§ãã å·®åã®ãã¹ãã°ã©ã ãäœæããŸãããïŒ
äžè¬ã«ãå€ã¯ãŒãä»è¿ã«éäžããŠãããããããã¯ãã§ã«åªããŠããŸãïŒãã ãããããã³ã¢ã«ãŽãªãºã ã§ã¯ãããªãŒã倧ãããªããããŸãïŒã å°ããªå€ïŒçµ¶å¯Ÿå€ïŒã¯äžè¬çã§ããã倧ããªå€ã¯ãŸãã§ãã ãŸããå°ããªå€ã¯å°ããªãããã䜿çšããããïŒå è¡ãŒããåé€ããå ŽåïŒãå§çž®ã«ãŒã«ã®1ã€ãé©åã«å®è¡ãããŸãã倧ããªã³ãŒããçãã³ãŒãã«å²ãåœãŠãŸãïŒéãåæ§ïŒã ãããŸã§ã®ãšãããå¥ã®ã«ãŒã«ã®å€±æãã€ãŸãæ確ãªãã³ãŒããäžå¯èœã§ããããšã«ãã£ãŠå¶éãããŠããŸãã äžè¬ã«ããã®åé¡ã¯æ¬¡ã®æ¹æ³ã§è§£æ±ºã§ããŸãïŒã»ãã¬ãŒã¿ã³ãŒããšæ··åãããã³ãŒãé·ã瀺ãããã¬ãã£ãã¯ã¹ã³ãŒãã䜿çšããïŒãã§ã«ç¥ã£ãŠãã-ããã¯å¥ã®ã³ãŒãã§å§ãŸãã³ãŒãããªãå ŽåïŒã åçŽãª2çªç®ã®ãªãã·ã§ã³ãèŠãŠã¿ãŸããããã€ãŸããåä¿æ°ïŒããæ£ç¢ºã«ã¯ãé£æ¥ããä¿æ°ã®å·®ïŒã¯æ¬¡ã®ããã«èšè¿°ãããŸãïŒïŒé·ãïŒïŒå€ïŒããã®ãããªãã¬ãŒãã«åŸã£ãŠïŒ
ã€ãŸããæ£ã®å€ã¯ãã®ãã€ããªè¡šçŸã«ãã£ãŠçŽæ¥ãšã³ã³ãŒããããè² ã®å€ã¯çŽæ¥ãšã³ã³ãŒããããŸãããå é ã®1ã0ã«çœ®ãæããããŸããé·ãã®ãšã³ã³ãŒãæ¹æ³ã決å®ããå¿ èŠããããŸãã 12ã®å¯èœãªå€ãããããã4ãããã䜿çšããŠé·ããæ ŒçŽã§ããŸãã ãã ããããã§ã¯ãããã³ã³ãŒãã£ã³ã°ã䜿çšããæ¹ãé©åã§ãã
é·ã4ããã³6ã®å€ãæã倧ãããããæçã®ã³ãŒãïŒ00ããã³01ïŒãååŸããŸããã
JPEGã§ã®å®è£ ã®æ©èœïŒ
åé¡ãçºçããå¯èœæ§ããããŸãïŒããšãã°ãå€9ã®ã³ãŒãã1111111ã§ã¯ãªã1111110ã§ããçç±ã¯ïŒ çµå±ã®ãšãããã0ãã®æšªã«ããã9ããããé«ãã¬ãã«ã«å®å šã«äžããããšãã§ããŸããïŒ å®éãJPEGã§ã¯ããŠãããã®ã¿ã§æ§æãããã³ãŒãã䜿çšããããšã¯ã§ããŸããããã®ãããªã³ãŒãã¯äºçŽãããŠããŸãã
ãã1ã€ã®æ©èœããããŸãã 説æãããŠãããããã³ã¢ã«ãŽãªãºã ã«ãã£ãŠååŸãããã³ãŒãã¯ãé·ããåãã§ãã£ãŠããJPEGã®ã³ãŒããšããããäžèŽããªãå ŽåããããŸãã ãããã³ã¢ã«ãŽãªãºã ã䜿çšããŠã圌ãã¯ã³ãŒãã®é·ããååŸããã³ãŒãèªäœãçæãããŸãïŒã¢ã«ãŽãªãºã ã¯åçŽã§ã-çãã³ãŒãããå§ããŠããã¬ãã£ãã¯ã¹ããããã£ãä¿åããªãããå¯èœãªéãå·Šã«ããªãŒã«è¿œå ããŸãïŒã ããšãã°ããªã¹ãã®äžã®ããªãŒã®å Žåã0,2,3,1,1,1,1,1,1,1ãä¿åãããŸãã ãããŠããã¡ãããå€ã®ãªã¹ããæ ŒçŽãããŸãïŒ4,6,3,5,7,2,8,1,0,9ã ãã³ãŒããããšããã³ãŒãã¯åãæ¹æ³ã§çæãããŸãã
ä»æ³šæã DCãã©ã®ããã«ä¿åãããããèŠã€ããŸããã
[DC diffã®é·ãã®ãããã³ã³ãŒãïŒãããåäœïŒ] [DC diff ]
ããã§ãDC diff = DC é»æµ -DC å
ACãèŠãïŒ
ã°ã©ãã¯DCå·®ã®ã°ã©ããšéåžžã«äŒŒãŠãããããåçã¯åãã§ãïŒ[ACé·ãã®ãããã³ã³ãŒãïŒãããåäœïŒ] [AC]ã ããããããã§ã¯ãããŸããïŒ ã°ã©ãã®ã¹ã±ãŒã«ã¯å¯Ÿæ°ã§ããããã次ã®é »åºŠã®2ã®çŽ0åã®ãŒãå€ãããããšã¯ããã«ã¯ããããŸããã ããã¯ç解ã§ããããšã§ã-ãã¹ãŠã®äººãéååãçã延ã³ãããã§ã¯ãããŸããã éåå段éã§åŸãããå€ã®ãããªãã¯ã¹ã«æ»ããŸãããïŒFastStoneéååãããªãã¯ã¹ã90ïŒ ã䜿çšïŒã
é£ç¶ãããŒãã®ã°ã«ãŒããå€æ°ãããããã°ã«ãŒãå ã®ãŒãã®æ°ã®ã¿ãèšé²ãããšããèãæ¹ã§ãã ãã®å§çž®ã¢ã«ãŽãªãºã ã¯RLEïŒRun-length encodingïŒãšåŒã°ããŸãã ãé£ç¶ããŠæ¥ããã©ãŠã³ãã®æ¹åãç¥ãããšã¯æ®ã£ãŠããŸã-誰ã誰ã«åŸããïŒ éãŒãä¿æ°ã¯å·Šäžé ä»è¿ã«éäžããå³äžé ã«è¿ã¥ãã»ã©ãŒããå¢ãããããå·Šããå³ãäžããäžãžã®æžã蟌ã¿ã¯ããŸãå¹æçã§ã¯ãããŸããã
ãã®ãããJPEGã§ã¯ããžã°ã¶ã°ããšåŒã°ããé åºã䜿çšãããŸããããã¯å·Šå³ã«ç€ºãããŠããŸãã ãã®æ¹æ³ã¯ããŒãã®ã°ã«ãŒããæ確ã«åºå¥ããŸãã å³å³-JPEGã«é¢é£ãããã®ã§ã¯ãªãã奜å¥å¿ããããååïŒ èšŒæ ïŒãæã€ä»£æ¿ã®åé¿çã ã€ã³ã¿ãŒã¬ãŒã¹ãããªãå§çž®ãããšãã«MPEGã§äœ¿çšã§ããŸãã ãã€ãã¹ã¢ã«ãŽãªãºã ã®éžæã¯ç»è³ªã«åœ±é¿ããŸãããããšã³ã³ãŒãããããŒãã®ã°ã«ãŒãã®æ°ãå¢ããå¯èœæ§ããããæçµçã«ãã¡ã€ã«ãµã€ãºã«åœ±é¿ããå¯èœæ§ããããŸãã
ã¬ã³ãŒããå€æŽããŸãã åéãŒãAC-ä¿æ°ã«ã€ããŠïŒ
[ACã®åã®ãŒãã®æ°] [ACé·ã®ãããã³ã³ãŒãïŒãããåäœïŒ] [AC]
ããã«èšããšæããŸã-ãŒãã®æ°ããããã³ã«ãã£ãŠå®å šã«ãšã³ã³ãŒããããŸãïŒ ããã¯éåžžã«è¿ãé©åãªçãã§ãã ãã ããå°ãæé©åã§ããŸãã ããã€ãã®ACä¿æ°ãããããã®åã«ãŒãã7ã€ãã£ããšæ³åããŠãã ããïŒãã¡ããããžã°ã¶ã°ã«æžããšïŒã ãããã®ãŒãã¯ãéååã«èããããªãå€ã®ç²Ÿç¥ã§ãã ãããããç§ãã¡ã®ä¿æ°ãã²ã©ãããããã§ãå°ãããªããŸãããããã¯ããã®é·ããçãããšãæå³ããŸãã ãããã£ãŠãACã®åã®ãŒãã®æ°ãšACã®é·ãã¯äŸåå€ã§ãã ãããã£ãŠã次ã®ããã«èšè¿°ããŸãã
[ïŒACã®åã®ãŒãã®æ°ãACã®é·ãïŒãããåäœïŒ]ã®ãããã³ã³ãŒã] [AC]
ã³ãŒãã£ã³ã°ã¢ã«ãŽãªãºã ã¯åããŸãŸã§ããé »ç¹ã«çºçãããã¢ïŒACã®åã®ãŒãã®æ°ãACã®é·ãïŒã¯ãçãã³ãŒããåãåãããã®éãåæ§ã§ãã
ãããã®ãã¢ãšãããã³ããªãŒã®éã®äŸåé¢ä¿ã®ãã¹ãã°ã©ã ãäœæããŸãã
é·ããå±±ã®ç¯å²ãã¯ãç§ãã¡ã®ä»®å®ãè£ä»ããŠããŸãã
JPEGã§ã®å®è£ ã®æ©èœïŒ
ãã®ãã¢ã«ã¯1ãã€ããå¿ èŠã§ãããŒãã®æ°ã«4ããããACã®é·ãã«4ãããã§ãã 4ãããã¯0ãã15ãŸã§ã®å€ã§ããACã®é·ãã«ã€ããŠã¯ãäœå°ã¯ååã«ãããŸããã15åãè¶ ãããŒãã¯ååšã§ããŸããïŒ ãã®åŸãããã«ãã¢ã䜿çšãããŸãã ããšãã°ã20åã®ãŒãã®å ŽåïŒïŒ15ã0ïŒïŒ5ãACïŒã ã€ãŸãã16çªç®ã®ãŒãã¯éãŒãä¿æ°ãšããŠãšã³ã³ãŒããããŸãã ãããã¯ã®çµããã«åãã£ãŠãåžžã«å€ãã®ãŒããååšãããããæåŸã®éãŒãä¿æ°ã®åŸããã¢ïŒ0,0ïŒã䜿çšãããŸãã ãã³ãŒãäžã«çºçããå Žåãæ®ãã®å€ã¯0ã§ãã
ãšã³ã³ãŒããããåãããã¯ã¯ã次ã®ãããªãã¡ã€ã«ã«ä¿åãããŠããããšãããããŸããã
[DC diffã®é·ãã®ãããã³ã³ãŒã]
[DC diff ]
[ïŒAC 1ã®åã®ãŒãã®æ°ãé·ãAC 1ã®ãããã³ã³ãŒãïŒ
[AC 1 ]
...
[ïŒAC nã®åã®ãŒãã®æ°ãé·ãAC nã®ãããã³ã³ãŒãïŒ
[AC n ]
AC iã¯éãŒãã®ACä¿æ°ã§ãã
ã«ã©ãŒç»å
ã«ã©ãŒç»åã®è¡šç€ºæ¹æ³ã¯ãéžæããã«ã©ãŒã¢ãã«ã«ãã£ãŠç°ãªããŸãã ç°¡åãªè§£æ±ºçã¯ãRGBã䜿çšããŠãç»åã®åã«ã©ãŒãã£ã³ãã«ãåå¥ã«ãšã³ã³ãŒãããããšã§ãã ãã®å Žåããšã³ã³ãŒãã£ã³ã°ã¯ã°ã¬ãŒç»åã®ãšã³ã³ãŒãã£ã³ã°ãšå€ããããããã3åã®äœæ¥ã§ãã ããããç®ãè²ãããæããã®å€åã«ææã§ããããšãèŠããŠããã°ãç»åã®å§çž®ãå¢ããããšãã§ããŸãã ããã¯ãæããããã倧ããªæ倱ã§è²ãä¿åã§ããããšãæå³ããŸãã RGBã«ã¯ç¬ç«ããèŒåºŠãã£ã³ãã«ã¯ãããŸããã åãã£ãã«ã®å€ã®åèšã«äŸåããŸãã ãããã£ãŠãRGBãã¥ãŒãïŒããã¯ãã¹ãŠã®å¯èœãªå€ã®è¡šçŸã§ãïŒã¯ã察è§ç·äžã«åã«ãé 眮ããããŸã-é«ãã»ã©ãæãããªããŸãã ãããããããã¯ããã«éå®ãããŸãã-ç«æ¹äœã¯åŽé¢ãããããã«çµãåºããããããå¹³è¡å é¢äœã«ãªããŸãããããã¯ç®ã®ç¹åŸŽãèæ ®ããããšã ãã§ãã ããšãã°ãéãããç·ã®åœ±é¿ãåããããã§ãã ããã§ãYCbCrã¢ãã«ãç»å ŽããŸããã
ïŒIntel.comããã®ç»åïŒ
Yã¯èŒåºŠæåãCbãšCrã¯éãšèµ€ã®è²å·®æåã§ãã ãããã£ãŠãç»åããã匷ãå§çž®ããå Žåã¯ãRGBãYCbCrã«å€æãããCbããã³Crãã£ãã«ãéåŒãããŸãã ã€ãŸãã2x2ã4x2ã1x2ãªã©ã®å°ããªãããã¯ã«åå²ããã1ã€ã®ãããã¯ã®ãã¹ãŠã®å€ãå¹³åããŸãã ãŸãã¯ãèšãæãããšããã®ãã£ã³ãã«ã®ç»åãµã€ãºãåçŽæ¹åããã³/ãŸãã¯æ°Žå¹³æ¹åã«2ãŸãã¯4åçž®å°ããŸãã
å8x8ãããã¯ã¯ãšã³ã³ãŒãããïŒDCT +ãããã³ïŒããšã³ã³ãŒããããã·ãŒã±ã³ã¹ã¯æ¬¡ã®é åºã§æžã蟌ãŸããŸãã
JPEGä»æ§ãã¢ãã«ã®éžæãå¶éããªãããšã¯èå³æ·±ãã§ããã€ãŸãããšã³ã³ãŒããŒå®è£ ã¯ç»åãè²æåïŒãã£ãã«ïŒã«ä»»æã«åå²ã§ãããããããåå¥ã«ä¿åãããŸãã ã°ã¬ãŒã¹ã±ãŒã«ïŒ1ãã£ã³ãã«ïŒãYCbCrïŒ3ïŒãRGBïŒ3ïŒãYCbCrKïŒ4ïŒãCMYKïŒ4ïŒã®äœ¿çšãèªèããŠããŸãã æåã®3ã€ã¯ã»ãšãã©ã®äººããµããŒãããŠããŸãããæåŸã®4ãã£ãã«ã§ã¯åé¡ããããŸãã FastStoneãGIMPã¯ããããæ£ãããµããŒãããéåžžã®Windowsãpaint.netããã°ã©ã
è²ãç°ãªãå ŽåããŸãã¯ç»åã1ã€ãã衚瀺ãããªãå Žåã¯ãIEïŒä»»æã®ããŒãžã§ã³ïŒïŒUPDãã³ã¡ã³ãã§ããŸãã¯Safariããšèšã£ãŠããå¯èœæ§ããããŸãïŒã å¥ã®ãã©ãŠã¶ã§èšäºãéãããšãã§ããŸãã
ãããŠããäžã€
è¿œå æ©èœã«ã€ããŠç°¡åã«èª¬æããŸãã
ããã°ã¬ãã·ãã¢ãŒã
çµæã®DCTä¿æ°ããŒãã«ãããŒãã«ã®åèšã«å解ããŸãïŒïŒDCã-19ã-22ã2ã1ïŒ=ïŒDCã0ã0ã0ã0ïŒ+ïŒ0ã-20ã-20ã0ã0ïŒ +ïŒ0ã1ã-2ã2ã1ïŒïŒã æåã«ãæåã®ãã¹ãŠã®çšèªïŒæ¢ã«åŠãã ããã«ïŒãããã³ããã³ãžã°ã¶ã°ãã©ããŒãµã«ïŒã次ã«2çªç®ãªã©ããšã³ã³ãŒãããŸãããã®ãããªããªãã¯ã¯ãDCä¿æ°ã®ã¿ãæåã«èªã¿èŸŒãŸãã8x8ãã¯ã»ã«ã®å€§ãŸããªç»åãæ§ç¯ããããã«äœ¿çšããããããäœéã®ã€ã³ã¿ãŒãããã¢ã¯ã»ã¹ã«åœ¹ç«ã¡ãŸãã次ã«ãACä¿æ°ãäžžããŠç»åã調æŽããŸãã次ã«ããããã«å¯Ÿãã倧ãŸããªä¿®æ£ãè¡ããããã«æ£ç¢ºã«ããŸãããŸããªã©ã ããŒãã®åæ段éã§ã¯ç²ŸåºŠã¯ããã»ã©éèŠã§ã¯ãªããããä¿æ°ã¯äžžããããŸãããå段éã§ã¯ç¬èªã®ãããã³ããŒãã«ã䜿çšããããããäžžãã¯ã³ãŒãã®é·ãã«ãã©ã¹ã®åœ±é¿ãäžããŸãã
ãã¹ã¬ã¹ã¢ãŒã
ãã¹ã¬ã¹å§çž®ãDCTçªå· 3ã€ã®é£æ¥ãããã€ã³ãã®4çªç®ã®ãã€ã³ãã®äºæž¬ã䜿çšãããŸããäºæž¬ãšã©ãŒã¯ãããã³ã«ãã£ãŠãšã³ã³ãŒããããŸããç§ã®æèŠã§ã¯ãããã¯æ±ºããŠé »ç¹ã«äœ¿çšãããããšã¯ãããŸããã
éå±€ã¢ãŒã
ç»åããç°ãªã解å床ã®è€æ°ã®ã¬ã€ã€ãŒãäœæãããŸããæåã®ç²ãã¬ã€ã€ãŒã¯éåžžã©ãããšã³ã³ãŒããããã¬ã€ã€ãŒéã®éãïŒç»åã®æŽç·ŽïŒã®ã¿ããšã³ã³ãŒããããŸãïŒHaarãŠã§ãŒãã¬ããã®ãµããããŸãïŒãã³ãŒãã£ã³ã°ã«ã¯ãDCTãŸãã¯Losslessã䜿çšãããŸããç§ã®æèŠã§ã¯ãããã¯æ±ºããŠäœ¿ãããããšã¯ãããŸããã
ç®è¡ã³ãŒãã£ã³ã°
ãããã³ã¢ã«ãŽãªãºã ã¯ãæåã®éã¿ã«æé©ãªã³ãŒããäœæããŸãããããã¯æåãšã³ãŒãã®åºå®äžèŽã«å¯ŸããŠã®ã¿åœãŠã¯ãŸããŸããç®è¡æŒç®ã¯ããããã®å°æ°éšã®ããã«ã³ãŒãã䜿çšã§ããã»ã©ç·å¯ãªçµåãæã¡ãŸãããHuffmanãšæ¯èŒããŠããã¡ã€ã«ãµã€ãºãå¹³å10ïŒ åæžããããšèšãããŠããŸããç¹èš±åé¡ã®ããäžè¬çã§ã¯ãªãããã¹ãŠããµããŒããããŠããããã§ã¯ãããŸããã
JPEGã¢ã«ãŽãªãºã ãçŽæçã«ç解ããŠããã ããã°å¹žãã§ããèªãã§ãããŠããããšãïŒ
UPD
vanwinã¯ã䜿çšãããœãããŠã§ã¢ãæå®ããããšãææ¡ããŸããããã¹ãŠãç¡æã§å©çšã§ããããšããç¥ããããŸãã
- + + numpyã®Pythonã®matplotlibã®+ PILïŒæïŒãã¡ã€ã³ããŒã«ããMatlab free alternativeãã®çºè¡ã§çºèŠãããŸããããå§ãã§ãïŒ Python, .
- JpegSnoop . jpeg-.
- yEd . .
- Inkscape . , . , .
- Daum Equation Editor . , Latex- . Daum Equation â , . , Latex.
- FastStone . , .
- PicPick . SnagIt. , . , , , .