JPEG ç»åã¯ç§ãã¡ã®ããžã¿ã«ç掻ã®ããããšããã«ãããŸããããã®è¡šé¢çãªæèã®èåŸã«ã¯ã人éã®ç®ã«ã¯ç¥èŠã§ããªã现éšãåé€ããã¢ã«ãŽãªãºã ããããŸãã ãã®çµæãæå°ã®ãã¡ã€ã« ãµã€ãºã§æé«ã®ããžã¥ã¢ã«å質ãåŸãããŸããããããããã¯ã©ã®ããã«æ£ç¢ºã«æ©èœããã®ã§ãããã? ç§ãã¡ã®ç®ã«ã¯èŠããªããã®ãæ£ç¢ºã«èŠãŠã¿ãŸããã!
å人ã䜿çšããŠããããã€ã¹ããã©ãŠã¶ããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãæ°ã«ããã«åçãéä¿¡ã§ããæ©èœã¯åœç¶ã®ããšã ãšæãããã¡ã§ãããå¿
ãããããã§ã¯ãããŸããã 1980 幎代åé ãŸã§ã«ãã³ã³ãã¥ãŒã¿ã¯ããžã¿ã«ç»åãä¿åããŠè¡šç€ºã§ããããã«ãªããŸãããããããè¡ãããã®æè¯ã®æ¹æ³ã«ã€ããŠã¯å€ãã®ç«¶åããã¢ã€ãã¢ããããŸããã ããã³ã³ãã¥ãŒã¿ããå¥ã®ã³ã³ãã¥ãŒã¿ã«ç»åãéä¿¡ããã ãã§ããããæ©èœããããšãæåŸ
ããããšã¯ã§ããŸããã
ãã®åé¡ã解決ããããã«ã1986 幎ã«äžçäžã®å°é家ãããªãå§å¡äŒãçµæãããŸããã
JPEG ãšåŒã°ããã°ã«ãŒãã 1992 幎㫠JPEG ããžã¿ã«ç»åå§çž®æšæºãäœæããŸããã ã€ã³ã¿ãŒãããã䜿çšããããšããã人ãªãããããã JPEG ã§ãšã³ã³ãŒããããç»åã«ééããããšãããã§ãããã ããã¯ãç»åããšã³ã³ãŒããéä¿¡ãä¿åããæãäžè¬çãªæ¹æ³ã§ãã Web ããŒãžããé»åã¡ãŒã«ããœãŒã·ã£ã« ã¡ãã£ã¢ã«è³ããŸã§ãJPEG 㯠XNUMX æ¥ã«äœåååã䜿çšãããŠããããªã³ã©ã€ã³ã§ç»åã衚瀺ãããéä¿¡ããããããã³ã«äºå®äžäœ¿çšãããŠããŸãã JPEG ããªããã°ãWeb ã¯è²åœ©è±ãã§ãªããé床ãé ããªããããããç«ã®åçãå°ãªããªã£ãŠããŸãã§ãããã
ãã®èšäºã§ã¯ãJPEG ç»åããã³ãŒãããæ¹æ³ã«ã€ããŠèª¬æããŸãã ã€ãŸããã³ã³ãã¥ãŒã¿ã«ä¿åãããŠããå§çž®ããŒã¿ããç»é¢äžã«è¡šç€ºãããç»åã«å€æããããã«å¿ èŠãªãã®ã§ãã ããã¯ç¥ã£ãŠãã䟡å€ããããŸããç§ãã¡ãæ¯æ¥äœ¿çšããŠãããã¯ãããžãŒãç解ããããšãéèŠã§ããã ãã§ãªããå§çž®ã¬ãã«ã®ããã¯ã解é€ããããšã§ãç¥èŠãšèŠèŠããããŠç®ãæãææã«åå¿ãã现éšã«ã€ããŠããã«åŠã¶ããšãã§ããããã§ãã
ãŸãããã®ããã«ç»åãããã£ãŠã¿ãã®ããšãŠãé¢çœãã§ãã
JPEGã®äžãèŠã
ã³ã³ãã¥ãŒã¿ãŒã§ã¯ããã¹ãŠãäžé£ã® XNUMX é²æ°ãšããŠä¿åãããŸãã éåžžããããã®ããã (XNUMX ãš XNUMX) 㯠XNUMX åã®ã°ã«ãŒãã«ã°ã«ãŒãåãããŠãã€ããæ§æããŸãã ã³ã³ãã¥ãŒã¿ã§ JPEG ç»åãéããšãäœã (ãã©ãŠã¶ããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ããã®ä») ããã€ãããã³ãŒããã衚瀺å¯èœãªè²ã®ãªã¹ããšããŠå ã®ç»åã埩å ããå¿ èŠããããŸãã
ãã®ãèåãããŠã³ããŒããããš
ããã§ã¯ããã¡ã€ã«ã®å
容ã調ã¹ãããã« Notepad++ ã䜿çšããŠããŸããWindows äžã®ã¡ã¢åž³ãªã©ã®éåžžã®ããã¹ã ãšãã£ã¿ã§ã¯ãä¿ååŸã«ãã€ã㪠ãã¡ã€ã«ãç ŽæããJPEG 圢åŒãæºãããªããªãããã§ãã
ã¯ãŒãããã»ããµã§ç»åãéããšãç®ãããã£ãŠè²ã®æç¹ãèŠãå§ããŠè³ãæ··ä¹±ããã®ãšåãããã«ãã³ã³ãã¥ãŒã¿ãæ··ä¹±ããŸãã
ããªããç®ã«ãããããã®ã¹ãããã¯ãšããŠç¥ãããŠããŸã
ã³ã³ãã¥ãŒã¿ãŒãè³ã«ã©ã®ããã«äŒŒãŠããããèããã®ã¯é¢çœãã§ãããããã¯ãããŒã¿ã®æå³ (ç¥çµã«ãã£ãŠäœå ã«éã°ããããã³ã³ãã¥ãŒã¿ãŒã«ä¿åãããã) ãããŒã¿ã®è§£éæ¹æ³ã«ã©ãã ãäŸåãããã説æããã®ã«åœ¹ç«ã€äŸãã§ããããŸãã ãã¹ãŠã®ãã€ã㪠ããŒã¿ã¯ãããããçš®é¡ã®æ å ±ãäŒéã§ããåºæ¬ã³ã³ããŒãã³ãã§ãã XNUMX ãš XNUMX ã§æ§æãããŠããŸãã ã³ã³ãã¥ãŒã¿ãŒã¯å€ãã®å Žåããã¡ã€ã«æ¡åŒµåãªã©ã®æãããã䜿çšããŠããã¡ã€ã«ã解éããæ¹æ³ãèŠã€ããŸãã ããã§ãããã¹ã ãšãã£ã¿ãæåŸ ããŠãããã®ã§ãããããããããããã¹ããšããŠè§£éããããã«åŒ·å¶ããŸãã
JPEG ããã³ãŒãããæ¹æ³ãç解ããã«ã¯ãå
ã®ä¿¡å·èªäœãã€ãŸããã€ã㪠ããŒã¿ã確èªããå¿
èŠããããŸãã ããã¯ãXNUMX é²æ°ãšãã£ã¿ã䜿çšããããçŽæ¥å®è¡ã§ããŸãã
ãã®ãšãã£ã¿ãŒã§éã¶ã ãã§ãå€ãã®ããšãåŠã¶ããšãã§ããŸãã ããšãã°ããã¯ã»ã«ãã©ã®ãããªé åºã§ä¿åãããŠãããããããŸãã?
ãã®äŸã®å¥åŠãªç¹ã¯ãäžéšã®æ°åãå€æŽããŠãç»åã«ã¯ãŸã£ãã圱é¿ããããŸããããããšãã°æåã®è¡ã®æ°å 17 ã 0 ã«çœ®ãæãããšãåçãå®å šã«å°ç¡ãã«ãªã£ãŠããŸãããšã§ãã
7 è¡ç®ã® 1988 ãæ°å€ 254 ã«çœ®ãæãããªã©ã®ä»ã®å€æŽã§ã¯ãè²ãå€ãããŸãããåŸç¶ã®ãã¯ã»ã«ã®ã¿ãå€ãããŸãã
ããããæãå¥åŠãªããšã¯ãäžéšã®æ°å€ã«ãã£ãŠè²ã ãã§ãªãç»åã®åœ¢ç¶ãå€åããããšã§ãã 70 è¡ç®ã® 12 ã 2 ã«å€æŽããç»åã®äžçªäžã®è¡ãèŠãŠãæå³ã確èªããŠãã ããã
ãŸããã©ã®ãã㪠JPEG ç»åã䜿çšããŠãããã€ããç·šéãããšå¿
ããããã®ç¥ç§çãªãã§ã¹ ãã¿ãŒã³ãèŠã€ãããŸãã
JPEG å§çž®ã¯ XNUMX ã€ã®ç°ãªããã¯ãããžãŒã§æ§æãããŠãããã¬ãã«ããšã«é 次é©çšãããããããšãã£ã¿ãŒã䜿çšããå Žåããããã®ãã€ãããåçãã©ã®ããã«åäœæãããããç解ããã®ã¯å°é£ã§ãã ãããããåå¥ã«èª¿æ»ããŠãèŠãããè¬ã®åäœãæããã«ããŸãã
XNUMX ã€ã®ã¬ãã«ã® JPEG å§çž®:
ã«ã©ãŒãµããµã³ããªã³ã° .é¢æ£ã³ãµã€ã³å€æãšãµã³ããªã³ã° .ã©ã³ã¬ã³ã°ã¹ãšã³ã³ãŒãã£ã³ã° ,ãã«ã¿ Оãããã³
å§çž®ã®èŠæš¡ãç解ããã«ã¯ãäžã®ç»åã 79 åã®æ°å€ãã€ãŸãçŽ 819 KB ãè¡šããŠããããšã«æ³šæããŠãã ããã å§çž®ããã«ä¿åããå Žåãåãã¯ã»ã«ã«ã¯èµ€ãç·ãéã®æåã® 79 ã€ã®æ°å€ãå¿ èŠã«ãªããŸãã ããã¯ã917 åã®çªå·ãã€ãŸãçŽ 700 åã®çªå·ã«çžåœããŸãã 917KBã JPEGå§çž®ã®çµæãæçµçãªãã¡ã€ã«ã¯10åã®XNUMX以äžã«çž®å°ãããŸããã
å®éããã®ç»åã¯ããã«å§çž®ããããšãã§ããŸãã 以äžã¯ 16 ã€ã®ç»åã䞊ã¹ããã®ã§ããå³åŽã®åç㯠57 KB ã«å§çž®ãããŠãããéå§çž®ããŒãžã§ã³ã® XNUMX åã® XNUMX ã§ãã
ããèŠããšããããã®ç»åãåäžã§ã¯ãªãããšãããããŸãã ã©ã¡ããJPEGå§çž®ãããç»åã§ãããå³ã®æ¹ã容éãããªãå°ããã§ãã èŠãç®ãå°ãæªããªããŸã (èæ¯è²ã®åè§ãèŠãŠãã ãã)ã JPEG ãéå¯éå§çž®ãšãåŒã°ããã®ã¯ãã®ããã§ãã å§çž®ããã»ã¹äžã«ç»åãå€åããäžéšã®è©³çŽ°ã倱ãããŸãã
1. ã«ã©ãŒãµããµã³ããªã³ã°
ããã¯ãæåã®ã¬ãã«ã®å§çž®ã®ã¿ãé©çšãããç»åã§ãã
ïŒã€ã³ã¿ã©ã¯ãã£ãããŒãžã§ã³ - ã§ïŒ
ããã§ãæ°åãå°ã解èªãããããªããŸããã ããã¯ãã»ãŒåçŽãªè²ã®ãªã¹ãã§ãåãã€ããæ£ç¢ºã« 300 ãã¯ã»ã«ãå€æŽããŸãããåæã«éå§çž®ç»åã®ãµã€ãºããã§ã«ååã«ãªã£ãŠããŸã (ãã®çž®å°ãµã€ãºã§ã¯çŽ XNUMX KB ãå ããããšã«ãªããŸã)ã ãã®çç±ã¯ããããŸãã?
ãã¹ãŠã®æ°å€ããŒãã«çœ®ãæãããšã(çœã§ã¯ãªã) ç·ã®ç»åãåŸãããããããããã®æ°å€ã¯æšæºã®èµ€ãç·ãéã®æåãè¡šããŠããªãããšãããããŸãã
ããã¯ããããã®ãã€ãã Y (æãã) ãè¡šãããã§ãã
Cb (çžå¯Ÿçãªéã)ã
Cr (çžå¯Ÿçèµ€ã¿) ã®åçã
ãªãRGBã䜿çšããªãã®ã§ãããã? çµå±ã®ãšããããããææ°ã®ç»é¢ã®ã»ãšãã©ã®åäœæ¹æ³ã§ãã ã¢ãã¿ãŒã¯ãèµ€ãç·ãéãå«ãããããè²ããã¯ã»ã«ããšã«ç°ãªã匷床ã§è¡šç€ºã§ããŸãã XNUMX ã€ãã¹ãŠãæ倧ã®æããã§ãªã³ã«ãããšçœã«ãªãããªãã«ãããšé»ã«ãªããŸãã
ããã¯äººéã®ç®ã®ä»çµã¿ãšãã䌌ãŠããŸãã ç§ãã¡ã®ç®ã®è²å容äœã¯ãããšåŒã°ããŠããŸãã
ããããç§ãã¡ã®ç®ãè²ã®å€åãããæããã®å€åãæ€åºããæ¹ãã¯ããã«åªããŠããçç±ã§ãã è²ãšæãããåé¢ãããšãå°ãè²ãåãé€ãããšãã§ãã誰ãäœãæ°ä»ããªããªããŸãã ã¯ãã ãµããµã³ããªã³ã°ã¯ãç»åã®è²æåãèŒåºŠæåãããäœã解å床ã§è¡šçŸããããã»ã¹ã§ãã äžã®äŸã§ã¯ãåãã¯ã»ã«ã«ã¯ XNUMX ã€ã® Y ã³ã³ããŒãã³ãããããXNUMX ã€ã®ãã¯ã»ã«ãããªãåã ã®ã°ã«ãŒãã«ã¯ XNUMX ã€ã® Cb ã³ã³ããŒãã³ããš XNUMX ã€ã® Cr ã³ã³ããŒãã³ãããããŸãã ãããã£ãŠãç»åã«å«ãŸããè²æ å ±ã¯å ã® XNUMX åã® XNUMX ã«ãªããŸãã
YCbCr è²ç©ºé㯠JPEG ã ãã§äœ¿çšãããããã§ã¯ãããŸããã ããšããšã¯ 1938 幎ã«ãã¬ãçªçµã®ããã«çºæãããŸããã 誰ããã«ã©ãŒ ãã¬ããæã£ãŠããããã§ã¯ãªããããè²ãšèŒåºŠãåé¢ããããšã§å šå¡ãåãä¿¡å·ãåä¿¡ã§ããããã«ãªããè²ã®ãªããã¬ãã§ã¯åçŽã«èŒåºŠæåã®ã¿ã䜿çšãããŸãã
ãããã£ãŠããšãã£ã¿ãŒãã XNUMX ã€ã®æ°å€ãåé€ãããšããã¹ãŠã®è²ãå®å šã«å°ç¡ãã«ãªããŸãã ã³ã³ããŒãã³ãã¯ãYYYY Cb Cr ã®åœ¢åŒã§ä¿åãããŸã (å®éã«ã¯ãå¿ ããããã®é åºã§ä¿åãããå¿ èŠã¯ãããŸãããä¿åé åºã¯ãã¡ã€ã« ããããŒã§æå®ãããŸã)ã æåã®æ°å€ãåé€ãããšãCb ã®æåã®å€ã YãCr ã Cb ãšããŠèªèãããäžè¬ã«ãç»åã®ãã¹ãŠã®è²ãåãæ¿ãããããå¹æãçºçããŸãã
JPEG ä»æ§ã§ã¯ãYCbCr ã®äœ¿çšã¯åŒ·å¶ãããŠããŸããã ãã ããRGB ãããåªããããŠã³ãµã³ããªã³ã°ç»åãçæããããããã»ãšãã©ã®ãã¡ã€ã«ã§ããã䜿çšãããŸãã ããããç§ã®èšèããã®ãŸãŸä¿¡ããå¿ èŠã¯ãããŸããã 以äžã®è¡šã§ãRGB ãš YCbCr ã®äž¡æ¹ã§åã³ã³ããŒãã³ãã®ãµããµã³ããªã³ã°ãã©ã®ããã«ãªããããèªèº«ã®ç®ã§ç¢ºèªããŠãã ããã
ïŒã€ã³ã¿ã©ã¯ãã£ãããŒãžã§ã³ - ã§ïŒ
éã®é€å»ã¯ãèµ€ãç·ã»ã©ç®ç«ã¡ãŸããã ããã¯ãç®ã«ã¯ 64 äžåã®éäœããããçŽ 32% ãèµ€ã2% ãç·ãXNUMX% ãéã«ææã ããã§ãã
Y ã³ã³ããŒãã³ãã®ããŠã³ãµã³ããªã³ã° (å·Šäž) ãæãããããããŸãã å°ããªå€åã§ãç®ç«ã¡ãŸãã
ç»åã RGB ãã YCbCr ã«å€æããŠããã¡ã€ã« ãµã€ãºã¯æžããŸããããåé€ã§ããç®ç«ããªã詳现ãèŠã€ãããããªããŸãã éå¯éå§çž®ã¯ç¬¬ XNUMX 段éã§çºçããŸãã ããã¯ãããŒã¿ãããå§çž®å¯èœãªåœ¢åŒã§è¡šçŸãããšããèãã«åºã¥ããŠããŸãã
2. é¢æ£ã³ãµã€ã³å€æãšãµã³ããªã³ã°
ã»ãšãã©ã®å Žåããã®ã¬ãã«ã®å§çž®ã JPEG ã®æ¬è³ªã§ãã ã«ã©ãŒã YCbCr ã«å€æããåŸãã³ã³ããŒãã³ãã¯åå¥ã«å§çž®ããããããY ã³ã³ããŒãã³ãã ãã«éäžã§ããŸãããã®ã¬ã€ã€ãŒãé©çšããåŸã® Y ã³ã³ããŒãã³ãã®ãã€ãã¯æ¬¡ã®ããã«ãªããŸãã
ïŒã€ã³ã¿ã©ã¯ãã£ãããŒãžã§ã³ - ã§ïŒ
äžèŠãããšãéåžžã«æªãå§çž®ã®ããã«èŠããŸãã ç»åã«ã¯ 100 åã®ãã¯ã»ã«ãããããã®æãã (Y æå) ãè¡šãã«ã¯ 000 åã®æ°å€ãå¿ èŠã§ããããã¯ãäœãå§çž®ããªããããæªãã§ãã
ãã ãããããã®æ°å€ã®ã»ãšãã©ã¯ãŒãã§ããããšã«æ³šæããŠãã ããã ããã«ãè¡æ«ã®ãŒãã¯ç»åãå€æŽããã«ãã¹ãŠåé€ã§ããŸãã æ®ãã®çªå·ã¯çŽ 26 ã§ãããããã¯ã»ãŒ 000 åã® 4 ã«æžã£ãŠããŸãã
ãã®ã¬ãã«ã«ã¯ãã§ã¹ã®ãã¿ãŒã³ã®ç§å¯ãå«ãŸããŠããŸãã ãããŸã§ã«èŠãŠããä»ã®å¹æãšã¯ç°ãªãããããã®ãã¿ãŒã³ã®åºçŸã¯äžå ·åã§ã¯ãããŸããã ãããã¯ã€ã¡ãŒãžå šäœã®æ§æèŠçŽ ã§ãã ãšãã£ã¿ãŒã®åè¡ã«ã¯ãæ£ç¢ºã« 64 åã®æ°å€ã64 åã®åºæã®ãã¿ãŒã³ã®åŒ·åºŠã«å¯Ÿå¿ããé¢æ£ã³ãµã€ã³å€æ (DCT) ä¿æ°ãå«ãŸããŠããŸãã
ãããã®ãã¿ãŒã³ã¯ã³ãµã€ã³ ããããã«åºã¥ããŠåœ¢æãããŸãã ãã®ãã¡ã®ããã€ãã¯æ¬¡ã®ããã«ãªããŸãã
8 ã®ãªããºäž 64
以äžã¯ã64 ãã¿ãŒã³ãã¹ãŠã瀺ããç»åã§ãã
ïŒã€ã³ã¿ã©ã¯ãã£ãããŒãžã§ã³ - ã§ïŒ
ãããã®ãã¿ãŒã³ã¯ 8x8 ç»åã®åºç€ã圢æãããããç¹ã«éèŠã§ãã ç·åœ¢ä»£æ°ã«è©³ãããªãæ¹ã®ããã«èª¬æãããšãããã¯ãä»»æã® 8x8 ç»åãããã 64 ã®ãã¿ãŒã³ããäœæã§ããããšãæå³ããŸãã DCT ã¯ãç»åã 8x8 ãããã¯ã«åå²ããåãããã¯ãããã 64 åã®ä¿æ°ã®çµã¿åããã«å€æããããã»ã¹ã§ãã
ããããç»åã 64 ã®ç¹å®ã®ãã¿ãŒã³ã§æ§æã§ãããšããã®ã¯éæ³ã®ããã§ãã ããããããã¯ãå°çäžã®ããããå Žæ㯠8 ã€ã®æ°åãã€ãŸã緯床ãšçµåºŠ [åçã瀺ã / çŽ 8 mm ãè¡šã] ã§è¡šçŸã§ãããšèšã£ãŠããã®ãšåãã§ãã 翻蚳]ã ç§ãã¡ã¯å°çã®è¡šé¢ã 64 次å ã§ãããšèããããšãå€ããããå¿ èŠãªæ°å€ã¯ 64 ã€ã ãã§ãã XNUMXxXNUMX ç»åã«ã¯ XNUMX 次å ããããããXNUMX åã®æ°å€ãå¿ èŠã§ãã
ãããå§çž®ãšããç¹ã§ã©ã®ããã«åœ¹ç«ã€ãã¯ãŸã æããã§ã¯ãããŸããã 64x8 ã®ç»åãè¡šãã®ã« 8 åã®æ°å€ãå¿ èŠãªå Žåã64 åã®èŒåºŠæåãåã«ä¿åãããããåªããŠããã®ã¯ãªãã§ãããã? ãããè¡ãã®ã¯ãXNUMX ã€ã® RGB æ°å€ã XNUMX ã€ã® YCbCr æ°å€ã«å€æããã®ãšåãçç±ã§ããããã«ããã埮åŠãªãã£ããŒã«ãåé€ã§ããããã«ãªããŸãã
JPEG 㯠8x8 ãããã¯ã« DCT ãé©çšããããããã®æ®µéã§ã©ã®ãã£ããŒã«ãåé€ãããããæ£ç¢ºã«ç¢ºèªããããšã¯å°é£ã§ãã ãããããããå šäœåã«é©çšããããšã誰ãçŠããŠããŸããã ç»åå šäœã«é©çšããã Y ã³ã³ããŒãã³ãã® DCT ã¯æ¬¡ã®ããã«ãªããŸãã
60 ãè¶
ããæ°åããåçã«ã»ãšãã©å€åãäžããããšãªã端ããåé€ã§ããŸãã
ãã ããæåã® XNUMX ã€ã®æ°å€ããŒãã«ãããšãéããæããã«ãªãããšã«æ³šæããŠãã ããã
å
é ã®æ°åã¯ãç»åå
ã®äœåšæ³¢ã®å€åãè¡šããŠãããç§ãã¡ã®ç®ãæãããæããŸãã æåŸã®ã»ãã®æ°åã¯ãæ°ã¥ãã«ããé«åšæ³¢ã®å€åã瀺ããŠããŸãã ãç®ã«èŠããªããã®ãèŠããã«ã¯ãæåã® 5000 åã®æ°å€ããŒãã«ããããšã§ããããã®é«åšæ³¢ã®è©³çŽ°ãåé¢ã§ããŸãã
ãã¯ã»ã«ããšã«æ倧ã®å€åãçºçããç»åã®ãã¹ãŠã®é åã衚瀺ãããŸãã ç«ã®ç®ãã²ããããªãŒæ¯åžããããŠå·Šäžé
ã®åœ±ãç®ç«ã¡ãŸãã æåã® 10 åã®æ°å€ããŒãã«ããããšã§ãããã«é²ããããšãã§ããŸãã
20 000ïŒ
40 000ïŒ
60 000ïŒ
ãããã®é«åšæ³¢ã®è©³çŽ°ã¯ãå§çž®æ®µé㧠JPEG ã«ãã£ãŠåé€ãããŸãã ã«ã©ãŒã DCT ä¿æ°ã«å€æããŠãæ倱ã¯ãããŸããã æ倱ã¯ââãé«åšæ³¢ãŸãã¯ãŒãã«è¿ãå€ãé€å»ããããµã³ããªã³ã°ã¹ãããã§çºçããŸãã JPEG ã®ä¿åå質ãäžãããšãããã°ã©ã ã«ãã£ãŠåé€ãããå€ã®æ°ã®ãããå€ãå¢å ãããã¡ã€ã« ãµã€ãºãå°ãããªããŸãããç»åã®ãã¯ã»ã«åãé²ã¿ãŸãã ãã®ããã57 åã® 8 ã«çž®å°ãããæåã®ã»ã¯ã·ã§ã³ã®ç»åã¯æ¬¡ã®ããã«ãªããŸããã å 8xXNUMX ãããã¯ã¯ãé«å質ããŒãžã§ã³ãšæ¯èŒããŠã¯ããã«å°ãªã DCT ä¿æ°ã§è¡šãããŸããã
ç»åã段éçã«ã¹ããªãŒãã³ã°ãããããªã¯ãŒã«ãªå¹æãäœæã§ããŸãã ããå€ãã®ä¿æ°ãããŠã³ããŒããããã«ã€ããŠããŒãããç»åããã詳现ã«è¡šç€ºããããšãã§ããŸãã
ã»ãã® 24 åã®æ°å€ã䜿çšããŠåŸãããçµæãããã«ç€ºããŸãã
ãŸã㯠5000 ã ã:
éåžžã«ãŒãããŠããŸãããäœãšãèªèã§ããŸãã
3. ã©ã³ã¬ã³ã°ã¹ãšã³ã³ãŒãã£ã³ã°ããã«ã¿ããããã³
ãããŸã§ã®ãšãããå§çž®ã®ãã¹ãŠã®æ®µéã§éå¯éæ§ãçããŠããŸããã éã«æçµã¹ããŒãžã¯ãã¹ãªãé²ã¿ãŸãã æ å ±ã¯åé€ãããŸãããããã¡ã€ã« ãµã€ãºã¯å€§å¹ ã«åæžãããŸãã
æ å ±ãæšãŠãã«å§çž®ããã«ã¯ã©ãããã°ããã§ãããã? 700 x 437 ã®åçŽãªé»ãé·æ¹åœ¢ãã©ã®ããã«èšè¿°ããããæ³åããŠãã ããã
JPEG ã§ã¯ããã« 5000 ãšããæ°å€ã䜿çšãããŸãããããã«åªããçµæãåŸãããŸãã ãã®ãããªç»åãã§ããã ãå°ãªããã€ãæ°ã§èšè¿°ãããšã³ã³ãŒãæ¹åŒãæ³åã§ããŸãã?
ç§ãæãã€ããæå°éã®ã¹ããŒã 㯠XNUMX ã€ã䜿çšããŸããXNUMX ã€ã¯è²ãè¡šããXNUMX ã€ç®ã¯ãã®è²ã®ãã¯ã»ã«æ°ã瀺ããŸãã ãã®åçž®ãããæ¹æ³ã§ç¹°ãè¿ãå€ãè¡šçŸãããšããèãæ¹ã¯ãã©ã³ã¬ã³ã°ã¹ç¬Šå·åãšåŒã°ããŸãã ãšã³ã³ãŒããããããŒã¿ãå ã®åœ¢åŒã«åŸ©å ã§ããããããã¹ã¬ã¹ã§ãã
é»ãåè§åœ¢ãå«ã JPEG ãã¡ã€ã«ã¯ 4 ãã€ããããã¯ããã«å€§ãããªããŸããDCT ã¬ãã«ã§ã¯ãå§çž®ã 8x8 ãã¯ã»ã« ãããã¯ã«é©çšãããããšã«æ³šæããŠãã ããã ãããã£ãŠãå°ãªããšã 64 ãã¯ã»ã«ããšã« 63 ã€ã® DCT ä¿æ°ãå¿ èŠã§ãã XNUMX ã€ã® DCT ä¿æ°ãšããã«ç¶ã XNUMX åã®ãŒããæ ŒçŽãã代ããã«ãã©ã³ã¬ã³ã°ã¹ ãšã³ã³ãŒãã§ã¯ XNUMX ã€ã®æ°å€ãæ ŒçŽãããä»ã®ãã¹ãŠã¯ãŒããã§ããããšã瀺ãããšãã§ããããããããå¿ èŠã«ãªããŸãã
ãã«ã¿ ãšã³ã³ãŒãã£ã³ã°ã¯ãåãã€ãã«çµ¶å¯Ÿå€ã§ã¯ãªããããå€ãšã®å·®åãå«ããææ³ã§ãã ãããã£ãŠãç¹å®ã®ãã€ããç·šéãããšãä»ã®ãã¹ãŠã®ãã¯ã»ã«ã®è²ãå€æŽãããŸãã ããšãã°ãä¿åãã代ããã«ã
12 13 14 14 14 13 13 14
12 ããå§ããŠã次ã®æ°å€ãåŸãããã«ã©ãã ãå ç®ãŸãã¯æžç®ããå¿ èŠãããããåçŽã«ç€ºãããšãã§ããŸãã ãã«ã¿ã³ãŒãã£ã³ã°ã®ãã®ã·ãŒã±ã³ã¹ã¯æ¬¡ã®åœ¢åŒã«ãªããŸãã
12 1 1 0 0 -1 0 1
å€æãããããŒã¿ã¯å ã®ããŒã¿ããå°ããã¯ãªããŸããããå§çž®ã容æã«ãªããŸãã ã©ã³ã¬ã³ã°ã¹ ãšã³ã³ãŒãã£ã³ã°ã®åã«ãã«ã¿ ãšã³ã³ãŒãã£ã³ã°ãé©çšãããšãå¯éå§çž®ãç¶æããªããéåžžã«åœ¹ç«ã¡ãŸãã
ãã«ã¿ã³ãŒãã£ã³ã°ã¯ã8x8 ãããã¯ã®å€ã§äœ¿çšãããæ°å°ãªãæè¡ã® 64 ã€ã§ãã XNUMX åã® DCT ä¿æ°ã®ãã¡ãXNUMX ã€ã¯åçŽãªå®æ°æ³¢åé¢æ° (åè²) ã§ãã ããã¯ãèŒåºŠã³ã³ããŒãã³ãã®åãããã¯ã®å¹³åèŒåºŠããŸã㯠Cb ã³ã³ããŒãã³ãã®å¹³åéããè¡šããŸãã å DCT ãããã¯ã®æåã®å€ã¯ DC å€ãšåŒã°ããå DC å€ã¯åã®å€ã«å¯ŸããŠãã«ã¿ ãšã³ã³ãŒããããŸãã ãããã£ãŠãæåã®ãããã¯ã®æãããå€æŽãããšããã¹ãŠã®ãããã¯ã«åœ±é¿ããŸãã
æåŸã®è¬ã¯æ®ããŸããåæ°åœ¢ãå€æŽãããšãã©ã®ããã«ããŠå šäœåãå®å šã«å°ç¡ãã«ãªãã®ã§ãããã? ãããŸã§ã®ãšãããå§çž®ã¬ãã«ã«ã¯ãã®ãããªç¹æ§ã¯ãããŸããã çã㯠JPEG ããããŒã«ãããŸãã æåã® 500 ãã€ãã«ã¯ãç»åã«é¢ããã¡ã¿ããŒã¿ (å¹ ãé«ããªã©) ãå«ãŸããŠããŸããããŸã åŠçããŠããŸããã
ããããŒããªããã°ãJPEG ããã³ãŒãããããšã¯ã»ãšãã©äžå¯èœ (ãŸãã¯éåžžã«å°é£) ã§ãã ãŸãã§ç§ããã®çµµã説æããããšããŠããããã«èŠããŸãããç§ã®å°è±¡ãäŒããããã«èšèãèãå§ããŠããŸãã ç§ã¯äŒãããæå³ãæ£ç¢ºã«è¡šçŸã§ããèšèãäœãåºãããšãã§ããã®ã§ããã®èª¬æã¯ããªãåçž®ããããã®ã«ãªãã§ãããããä»ã®äººã«ãšã£ãŠã¯æå³ãéããªãã§ãããã
ã°ãããŠããããã«èãããŸããããŸãã«ãããèµ·ãã£ãŠããããšã§ãã å JPEG ç»åã¯ããã®ç»åã«åºæã®ã³ãŒãã§å§çž®ãããŸãã ã³ãŒãèŸæžã¯ããããŒã«æ ŒçŽãããŸãã ãã®ææ³ã¯ãããã³ ã³ãŒããšåŒã°ããããã£ãã©ãªã¯ãããã³ ããŒãã«ãšåŒã°ããŸãã ããããŒã§ã¯ãããŒãã«ã¯ 255 ãš 196 ã® XNUMX ãã€ãã§ããŒã¯ãããŠããŸããåè²ã³ã³ããŒãã³ãã¯ç¬èªã®ããŒãã«ãæã€ããšãã§ããŸãã
ããŒãã«ã«å€æŽãå ãããšãç»åã«æ ¹æ¬çãªåœ±é¿ãçããŸãã è¯ãäŸã¯ã15 è¡ç®ã 1 ã«å€æŽããããšã§ãã
ããã¯ãããŒãã«ãåã
ã®ãããã®èªã¿åãæ¹æ³ãæå®ããŠããããã«çºçããŸãã ãããŸã§ã®ãšããã1 é²åœ¢åŒã® 00000001 é²æ°ã®ã¿ãæ±ã£ãŠããŸããã ããããããã«ãããæ°å€ XNUMX ã XNUMX ãã€ãã«æ ŒçŽãããå Žåããã㯠XNUMX ã®ããã«èŠãããšããäºå®ãèŠããªããªããŸããããã¯ãããšã XNUMX ã€ã ããå¿
èŠãªå Žåã§ããåãã€ãã«ã¯æ£ç¢ºã« XNUMX ããããå«ãŸããŠããå¿
èŠãããããã§ãã
å°ããªæ°å€ãå€æ°ããå Žåãããã¯ã¹ããŒã¹ãå€§å¹ ã«ç¡é§ã«ããå¯èœæ§ããããŸãã ãããã³ ã³ãŒãã¯ãåæ°å€ã XNUMX ããããå æããå¿ èŠããããšãããã®èŠä»¶ãç·©åã§ããæè¡ã§ãã ããã¯ãXNUMX ãã€ãã衚瀺ãããå Žå:
234 115
ãããŠããããã³ ããŒãã«ã«ãã£ãŠã¯ãããã㯠XNUMX ã€ã®æ°å€ã«ãªãå¯èœæ§ããããŸãã ããããæœåºããã«ã¯ããŸãããããåã ã®ãããã«å解ããå¿ èŠããããŸãã
11101010 01110011
次ã«ãããŒãã«ãèŠãŠãããããã°ã«ãŒãåããæ¹æ³ãèŠã€ããŸãã ããšãã°ãããã¯æåã® 111010 ããã (58)ãã€ãŸã 10011 é²æ°ã® 19ãç¶ã㊠0011 ããã (3)ãã€ãŸã XNUMXãæåŸã«æåŸã® XNUMX ããã (XNUMX)ãã€ãŸã XNUMX ã«ãªããŸãã
ãããã£ãŠãå§çž®ã®ãã®æ®µéã§ãã€ããç解ããããšã¯éåžžã«å°é£ã§ãã ãã€ãã¯èŠãç®ãè¡šããã®ã§ã¯ãããŸããã ãã®èšäºã§ã¯ããŒãã«ã®æäœæ¹æ³ã«ã€ããŠã¯è©³ãã説æããŸãããã
ãã®ç¥èã掻çšããŠå®è¡ã§ããèå³æ·±ãããªãã¯ã® XNUMX ã€ã¯ãJPEG ããããããŒãåé¢ããŠåå¥ã«ä¿åããããšã§ãã å®éããã®ãã¡ã€ã«ãèªã¿åãããšãã§ããã®ã¯ããªãã ãã§ããããšãããããŸãã Facebook ã¯ãã¡ã€ã«ãããã«å°ããããããã«ãããè¡ã£ãŠããŸãã
ä»ã«ã§ããããšã¯ããããã³ ããŒãã«ãããªãå€æŽããããšã§ãã ä»ã®äººã«ãšã£ãŠã¯ãå£ããåçã®ããã«èŠããã§ãããã ãããŠããã解決ããéæ³ã®æ¹æ³ãç¥ã£ãŠããã®ã¯ããªãã ãã§ãã
èŠçŽããŸããã: ã§ã¯ãJPEG ããã³ãŒãããã«ã¯äœãå¿ èŠã§ãããã? å¿ èŠïŒ
- ããããŒãããããã³ ããŒãã«ãæœåºãããããããã³ãŒãããŸãã
- å 8x8 ãããã¯ã®åè²ããã³èŒåºŠã³ã³ããŒãã³ãã®é¢æ£ã³ãµã€ã³å€æä¿æ°ãæœåºããéã©ã³ã¬ã³ã°ã¹ããã³ãã«ã¿ ãšã³ã³ãŒãå€æãå®è¡ããŸãã
- ä¿æ°ã«åºã¥ããŠã³ãµã€ã³ãçµåãã8x8 ãããã¯ããšã®ãã¯ã»ã«å€ãååŸããŸãã
- ãµããµã³ããªã³ã°ãå®è¡ãããå Žåã¯ãã«ã©ãŒã³ã³ããŒãã³ããã¹ã±ãŒã«ããŸã (ãã®æ å ±ã¯ããããŒã«ãããŸã)ã
- çµæãšããŠåŸãããåãã¯ã»ã«ã® YCbCr å€ã RGB ã«å€æããŸãã
- ç»åãã¹ã¯ãªãŒã³ã«è¡šç€ºïŒ
ç«ãšäžç·ã«åçãèŠãã ãã®æ¬æ ŒçãªäœåïŒ ããããç§ãæ°ã«å ¥ã£ãŠããã®ã¯ãJPEG ãã¯ãããžãŒãããã«äººéäžå¿ã§ãããã瀺ããŠããããšã§ãã ããã¯ç§ãã¡ã®ç¥èŠã®ç¹æ§ã«åºã¥ããŠãããåŸæ¥ã®æè¡ãããã¯ããã«åªããå§çž®ãå®çŸã§ããŸãã JPEG ãã©ã®ããã«æ©èœããããç解ããã®ã§ããããã®ãã¯ãããžãŒãä»ã®åéã«ã©ã®ããã«ç§»è»¢ã§ããããæ³åã§ããããã«ãªããŸããã ããšãã°ããããªã®ãã«ã¿ ãšã³ã³ãŒãã£ã³ã°ã§ã¯ããã¬ãŒã ããšã«å€åããªãé åå šäœ (èæ¯ãªã©) ãååšããããšãå€ãããããã¡ã€ã« ãµã€ãºãå€§å¹ ã«åæžã§ããŸãã
åºæïŒ habr.com