JPEG áá¯ááºáá¯á¶áá»á¬ážááẠáá»áœááºá¯ááºááá¯á·ááá áºáá»á áºáááºááááœáẠáá±áá¬á¡ááŸá¶á·ááœááºááŸááá±á¬áºáááºáž á€ááááá±ážáá»ááºááá±á¬ááºááœááºááœáẠáá°á·áá»ááºá áááŒáá·áºáááŒááºááá¯ááºáá±á¬á¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠáááºááŸá¬ážáá±ážááá·áº á¡ááºáááá¯áá®áááºáá»á¬ážááŒá áºáááºá ááááºááẠá¡áá±ážáááºáá¯á¶áž ááá¯ááºá¡ááœááºá¡á á¬ážááœáẠá¡ááŒáá·áºáá¯á¶áž áá¯ááºáá¯á¶á¡áááºá¡ááœá±ážááŒá áºááẠ- ááá¯á·áá±á¬áº áááºážá¡á¬ážáá¯á¶ážáááºáá²á·ááá¯á· á¡ááá¡áá» á¡áá¯ááºáá¯ááºááááºážá áá«ááá¯á·áá»ááºá ááá²á· áááŒááºááá²á·á¡áá¬ááᯠááŒáá·áºáá¡á±á¬ááºá
áá°áááºáá»ááºážáá
áºáŠážáᶠáá¬ááºáá¯á¶áá±ážááá¯á·ááẠááœááºáá°ááŒá®áž áááºážááá¯á·á¡áá¯á¶ážááŒá¯áá±ááá·áº á
ááºáá
á¹á
ááºážá ááá±á¬ááºáᬠááá¯á·ááá¯áẠáááºáááºááŸá¯á
áá
áºá¡ááœáẠá
áááºááá°áá«ááŸáá·áºá ááá¯á·áá±á¬áº áááºážááẠá¡ááŒá²áááºážááá¯ááºáá±á 1980 áá¯ááŸá
áºáá»á¬ážá¡á
á±á¬ááá¯ááºážááœáẠááœááºáá»á°áá¬áá»á¬ážááẠáá
áºáá»á
áºáááºáá¯á¶áá»á¬ážááᯠááááºážáááºážááá¯ááºááŒá®áž ááŒáááá¯ááºáá±á¬áºáááºáž áááºážááá¯ááŒá¯áá¯ááºááẠá¡áá±á¬ááºážáá¯á¶ážáááºážáááºážááŸáá·áº áááºáááºá ááŒáá¯ááºááá¯ááºáá±á¬ á
áááºáá°ážáá»á¬ážá
áœá¬ááŸááá²á·áááºá ááœááºááŒá°áá¬áá
áºáá¯á០á¡ááŒá¬ážáá
áºáá¯ááá¯á· áá¯á¶áá
áºáá¯á¶ááᯠáá±ážááá¯á·áá¯á¶áá»áŸáá á¡áá¯ááºááŒá
áºáááºáᯠáá»áŸá±á¬áºááá·áºáá«áááºá
áá®ááŒá¿áá¬ááᯠááŒá±ááŸááºážááá¯á· áááá áá¯ááŸá
áºááŸá¬ ááá¹áá¬áááŸááºážá ááá¬ááŸááºááœá± áá±á¬áºááá®ááááºááᯠááœá²á· á
ááºážáá²á·áá«áááºá
JPEG áá¯áá±á«áºáá±á¬ áá°áá áºá á¯ááẠJPEG áá áºáá»á áºáááºáá¯á¶áá»á¯á¶á·ááŸá¯á á¶ááŸá¯ááºážááᯠ1992 áá¯ááŸá áºááœáẠáááºáá®ážáá²á·áááºá á¡ááºáá¬áááºá¡áá¯á¶ážááŒá¯áá°ážáá°ááá¯ááºáž JPEG áá¯ááºááœááºážáá¬ážáá±á¬áá¯á¶áá»á¬ážááᯠááŒá¯á¶ááœá±á·áá°ážááŒáá±áááºá á€áááºááŸá¬ áá¯á¶áá»á¬ážááᯠá á¬ááŸááºááŒááºážá áá±ážááá¯á·ááŒááºážááŸáá·áº ááááºážáááºážááŒááºážá¡ááœáẠá¡áá¯á¶ážá¡áá»á¬ážáá¯á¶ážáááºážáááºážááŒá áºáááºá áááºá á¬áá»ááºááŸá¬áá»á¬ážá០á¡á®ážáá±ážááºá០ááá¯ááŸááºáá®áá®áá¬ááá¯á· JPEG ááᯠáá áºáá±á·áá»áŸáẠá¡ááŒáááºáá±á«ááºáž áá®áá®áá¶ááŸáá·áºáá»á®á á¡áá¯á¶ážááŒá¯áááºâáá¯á¶ááŸááºá¡á¬ážááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠá¡áœááºááá¯ááºážááœáẠáá¯á¶áá áºáá¯á¶ááᯠááŒáá·áºááŒááºáž ááá¯á·ááá¯áẠáá±ážááá¯á·ááá¯ááºážááá¯ááºážá JPEG áááŸááá«á áááºááẠá¡áá±á¬ááºá¡ááœá±áž áááºážáá«ážááŒá®ážá ááŸá±ážááœá±ážáᬠááŒá±á¬ááºáá¯ááºáá¯á¶áá»á¬áž á¡áááºážáááºáᬠááŸááááºááŒá áºáááºá
á€áá±á¬ááºážáá«ážááẠJPEG áá¯á¶áá áºáá¯á¶ááᯠáá¯ááºáá¯ááºáááºážá¡ááŒá±á¬ááºážááŒá áºáááºá áá áºáááºážááá¯ááá±á¬áºá ááœááºáá»á°áá¬ááœáẠááááºážáááºážáá¬ážáá±á¬ áá»á¯á¶á·áá¬ážáá±á¬áá±áá¬ááᯠá ááááºáá±á«áºááœáẠáá±á«áºáá¬ááá·áºáá¯á¶á¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²ááẠááá¯á¡ááºáá±á¬á¡áá¬ááŒá áºáááºá áá»áœááºá¯ááºááá¯á· áá±á·á ááºá¡áá¯á¶ážááŒá¯áá±ááá·áº áááºážááá¬ááᯠáá¬ážáááºááẠá¡áá±ážááŒá®ážáá±á¬ááŒá±á¬áá·áºáá¬áá ááááááºááŸá¯á¡ááá·áºáá»á¬ážááᯠáá±á¬á·ááœáá·áºááŒááºážááŒáá·áº áá¶áá°áá»ááºááŸáá·áº á¡ááŒááºá¡á¬áá¯á¶áá»á¬ážá¡ááŒá±á¬ááºáž ááá¯ááá¯áá±á·áá¬ááá¯ááºááŒá®áž áá»áœááºá¯ááºááá¯á·ááá»ááºáá¯á¶ážáá»á¬ážááẠá¡ááááá¯ááºááá¶áá¯á¶ážá¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠááááŸáááá¯ááºáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá
ááá¯á·á¡ááŒááºá á€áááºážááŒáá·áº áá¯ááºáá¯á¶áá»á¬ážááŒáá·áº áá á¬ážááŒááºážááẠá¡ááœááºá áááºáááºá á¬ážá áá¬áá±á¬ááºážáááºá
JPEG á¡ááœááºážááá¯á· ááŒáá·áºáá«á
ááœááºááŒá°áá¬ááœáẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠbinary áá¶áá«ááºáá»á¬áž á á¡á á®á¡á á¥áºá¡ááŒá Ạááááºážáááºážáá¬ážáááºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áº á€áá áºáá»á¬ážá áá¯á ááŸáá·áº ones áá»á¬ážááᯠbytes ááŒá¯áá¯ááºáááºá¡ááœáẠááŸá áºá¡á¯ááºá á¯ááŒáá·áº á¡á¯ááºá á¯ááœá²á·áá¬ážáááºá ááœááºáá»á°áá¬áá±á«áºááœáẠJPEG áá¯ááºáá¯á¶áá áºáá¯á¶ááᯠááœáá·áºáá±á¬á¡áá«á áá áºáá¯áᯠ(ááá±á¬ááºáá¬á áááºáááºááŸá¯á áá áºá á¡ááŒá¬ážá¡áá¬áá áºáá¯) ááẠááá¯ááºáá»á¬ážááᯠáá¯ááºáá¯ááºáá¯ááºáá¬á ááŒáááá¯ááºááá·áº á¡áá±á¬ááºá á¬áááºážá¡ááŒá Ạáá°áááºážáá¯á¶ááᯠááŒááºáááºáááºáá±á¬ááºááá«áááºá
áá±á«ááºážáá¯ááºááœá²ááẠááœáŸá±ážáááºá
Windows ááŸá Notepad áá²á·ááá¯á· áá¯á¶ááŸáẠá
á¬áá¬ážáááºážááŒááºáá°áá»á¬ážááẠááááºážáááºážááŒá®ážáá±á¬áẠbinary ááá¯ááºááᯠáá»ááºá
á®ážá
á±ááŒá®áž JPEG áá±á¬áºáááºááᯠáá»á±áááºááá¯ááºáá±á¬á·áááºááá¯ááºáá±á¬ááŒá±á¬áá·áº á€áá±áá¬ááœáẠááá¯ááºáá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠá
á
áºáá±ážááẠNotepad++ ááá¯á¡áá¯á¶ážááŒá¯áá±áá«áááºá
á áá¬ážáá¯á¶ážáááá¯áááºáá¬ááœáẠáá¯á¶áá áºáá¯á¶ááá¯ááœáá·áºááŒááºážááẠáá»ááºáá¯á¶ážáá»á¬ážááá¯ááœááºáááºááŒá®áž á¡áá±á¬ááºá¡á ááºá¡ááŒá±á¬ááºáá»á¬ážááŒááºáá¬áá±á¬á¡áá«ááœáẠááá·áºáŠážááŸá±á¬ááºááᯠááŸá¯ááºááœá±ážá á±ááá²á·ááá¯á· ááœááºááŒá°áá¬ááᯠááŸá¯ááºááœá±ážá á±áááºá
áááºááŒááºáá±ááá±á¬ á¡á
ááºá¡ááŒá±á¬ááºáá»á¬ážááᯠáá±á«áºáááºá
áŠážááŸá±á¬ááºáá²á· ááœááºááŒá°áᬠáááºáá»áŸáááºáá°áááºááᯠááœá±ážááŒáá·áºááẠáááºá áá¬áá±á¬ááºážáá±á¬áºáááºážá á¡á¬áá¯á¶ááŒá±á¬áá»á¬ážááŸáááá·áº ááá¹áá¬ááá¯ááºááᯠáááºáá±á¬ááºááœá¬ážááẠááá¯á·ááá¯áẠááœááºáá»á°áá¬ááœáẠááááºážáááºážáá¬ážáááºâáá±áá¬á á¡áááá¹áá¬ááºáááºáá»áŸ á¡áááá¹áá¬ááºááᯠáá±á¬áºááŒááẠá¡áá¯á¶ážáááºáá±á¬ á¥ááá¬áá áºáá¯áááºáž ááŒá áºáááºá binary data á¡á¬ážáá¯á¶ážááᯠXNUMXs ááŸáá·áº XNUMXs ááá¯á·ááŒáá·áº ááœá²á·á ááºážáá¬ážááŒá®ážá áááºááá·áºá¡áá»ááºá¡áááºááá¯áááᯠááá¯á·áá±á¬ááºáá±ážááá¯ááºááá·áº á¡ááŒá±áᶠá¡á áááºá¡ááá¯ááºážáá»á¬ážááŒá áºáááºá ááá·áºááœááºááŒá°áá¬ááẠááá¯ááºááá¯ážáá»á²á·ááŸá¯áá»á¬ážáá²á·ááá¯á·áá±á¬ áá²ááœááºá áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº áááºážááá¯á·ááᯠáááºááá¯á·á¡áááºááŒááºááá¯ááááºááᯠáááŒá¬áá ááŸá¬ááœá±áááºáá«áááºá ááᯠáááºážááá¯á·ááᯠá á¬áá¬ážá¡ááŒá Ạá¡áááá¹áá¬ááºááœáá·áºááá¯ááẠá¡áááºážá¡ááŒáẠááœááºážá¡á¬ážáá±ážáá±áááºá á¡ááŒá±á¬ááºážááŸá¬ áááºážááẠá á¬áá¬ážáááºážááŒááºáá° áá»áŸá±á¬áºááá·áºáá¬ážááá·áºá¡ááá¯ááºáž ááŒá áºáááºá
JPEG ááᯠáá¯ááºáá±á¬áºáááºážááᯠáá¬ážáááºáááºá áá»áœááºá¯ááºááá¯á·ááẠáá°áááºážá¡áá»ááºááŒááŸá¯áá»á¬ážááᯠáááºážááá¯á·ááá¯ááºááá¯áẠááŒáá·áºááŸá¯ááẠááá¯á¡ááºááẠ- ááœááá±áá¬á áááºážááᯠhexadecimal editor ááᯠá¡áá¯á¶ážááŒá¯á ááá¯á·ááá¯áẠááá¯ááºááá¯ááºááœáẠáá¯ááºáá±á¬ááºááá¯ááºáá«áááºá
á€áááºážááŒááºáá°ááŸáá·áº áá
á¬ážáá¯á¶ááŒáá·áº áááºááẠáá»á¬ážá
áœá¬áááºáá°ááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááá·áº pixels áá»á¬ážááᯠááááºážáááºážáá¬ážááŒá±á¬ááºáž áááºááŒá±á¬ááŒááá¯ááºáá«ááá¬ážá
á€á¥ááá¬ááá°ážáááºážáá±á¬á¡áá»ááºááŸá¬ á¡áá»áá¯á·áá±á¬áá¶áá«ááºáá»á¬ážááá¯ááŒá±á¬ááºážáá²ááŒááºážááẠáá¯ááºáá¯á¶ááá¯áá¯á¶ážááááááá¯ááºá á±áá² á¥ááá¬á¡á¬ážááŒáá·áº áááá á¬ááŒá±á¬ááºážááœáẠ17 ááŸáá·áº 0 áá¶áá«ááºááᯠá¡á á¬ážááá¯ážáá«á áá¬ááºáá¯á¶ááẠáá¯á¶ážááá»ááºá á®ážááœá¬ážáááºááŒá áºáááºá
7 ááœáẠ1988 ááᯠáá¶áá«áẠ254 ááŒáá·áº á¡á
á¬ážááá¯ážááŒááºážáá²á·ááá¯á·áá±á¬ á¡ááŒá¬ážááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááẠá¡áá±á¬ááºááŒá±á¬ááºážáá±á¬áºáááºáž áá±á¬ááºáááºááœá² pixels áá»á¬ážáá¬ááŒá
áºáááºá
á¡áá°ážáááºážáá¯á¶ážá¡áá»ááºááŸá¬ á¡áá»áá¯á·áá±á¬áá¶áá«ááºáá»á¬ážááẠá¡áá±á¬ááºáá¬áá áá¯ááºáá¯á¶ááá¹áá¬ááºááá¯áá« ááŒá±á¬ááºážáá²ááŒááºážááŒá
áºááá¯ááºáááºá á
á¬ááŒá±á¬ááºáž 70 á០12 ááœáẠ2 ááá¯ááŒá±á¬ááºážááŒá®áž áá»áœááºáá±á¬áºáá¬ááá¯ááá¯ááá¯áááºááá¯ááŒáá·áºááẠáá¯á¶áá¡áá±á«áºáá¯á¶ážá¡áááºážááá¯ááŒáá·áºáá«á
áááºááá·áº JPEG áá¯ááºáá¯á¶ááᯠáááºá¡áá¯á¶ážááŒá¯áááºááŒá
áºá
á± ááá¯ááºáá»á¬ážááᯠáááºážááŒááºáá±á¬á¡áá«ááœáẠá€áá»áŸáá¯á·ááŸááºáááºážááŒááºáá±á¬ á
á
áºáá¯áááºáá¯á¶á
á¶áá»á¬ážááᯠáááºá¡ááŒá²ááœá±á·áááá·áºáááºá
áááºážááŒááºáá°ááŸáá·áº áá á¬ážááá·áºá¡áá«á áá¬ááºáá¯á¶áá áºáá¯á¶ááᯠá€ááá¯ááºáá»á¬ážá០áááºááá¯á·ááŒááºáááºáááºáá®ážáá¬ážáááºááᯠáá¬ážáááºáááºáááºáá²áá«áááºá JPEG ááááááºááŸá¯ááœáẠááá°áá®áá±á¬áááºážááá¬áá¯á¶ážáá»áá¯ážáá«áááºááŒá®áž á¡ááá·áºáá»á¬ážááœáẠá ááºáááºáááŒááºá¡áá¯á¶ážááŒá¯ááá¯ááºáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá áá«ááá¯á·ááœá±á·áá±ááá²á· áá»áŸáá¯á·ááŸááºáááºážááŒááºáá²á· á¡ááŒá¯á¡áá°ááœá±ááᯠáá±á¬áºáá¯ááºááá¯á· áá áºáá¯áá»ááºážá á®ááᯠáá®ážááŒá¬ážá á® áá±á·áá¬áááºá
JPEG áá»á¯á¶á·ááŸá¯ á¡ááá·áºáá¯á¶ážááá·áº
á¡áá±á¬ááºááœá²ááá°áᬠ.ááá¯sine á¡ááœááºááŒá±á¬ááºážááŒááºážááŸáá·áº ááá°áá¬áá°ááŒááºáž .á¡ááŸáẠáá¯ááºáá¶áá«ááºááᯠáá¯ááºáá±á¬ááºáá«á ,ááŒá áºááá»áœááºážáá±á«áº Оáááºáááºáž
áá»á¯á¶á·áááŒááºážá¡á¬ážááᯠááá·áºá¡á¬áž áá±ážáá±á¬ááºáááºá á¡áááºáá¯á¶ááẠ79 áá¶áá«ááºáá»á¬áž ááá¯á·ááá¯áẠ819 KB ááá·áºááᯠááá¯ááºá á¬ážááŒá¯ááŒá±á¬ááºáž áááááŒá¯áá«á áá»áœááºá¯ááºááá¯á· áááºážááᯠááááááºááŸá¯áááŸááá² ááááºážáááºážáá¬ážáá«áá pixel áá áºáá¯á á®ááẠá¡áá®áá±á¬ááºá á¡á áááºážááŸáá·áº á¡ááŒá¬á¡á áááºá¡ááá¯ááºážáá»á¬ážá¡ááœáẠááááºážáá¯á¶ážáá¯á¶áž ááá¯á¡ááºáááºááŒá áºáááºá áááºážááẠ79 ááááºážáá»á¬áž ááá¯á·ááá¯áẠááá·áºááŸááºážááŒá± ááá¬áááŒá áºáááºá 917 KB JPEG áá»á¯á¶á·ááŒááºážáááááºá¡áá±ááŒáá·áºá áá±á¬ááºáá¯á¶ážááá¯ááºááᯠ700 ááŒáááºáááºááá¯ááá»áŸá±á¬á·áá»áá²á·áááºá
ááááºáá±á¬á·á áá®áá¯á¶ááá¯ááá¯ááŒá®áž compressed áá¯ááºááá¯ááºáá«áááºá á¡á±á¬ááºááœáẠáá¯á¶ááŸá áºáá¯á¶ááẠáá±ážáá»ááºážááŸááºáá»áẠááŸááá±ááẠ- áá¬áááºááŸá áá¬ááºáá¯á¶ááᯠ16 KB ááá¯á· áá»á¯á¶á·áá¬ážááŒá®ážá ááá¯ááá¯áááºááŸá¬á ááááááºááá¬ážáá±á¬ áá¬ážááŸááºážááẠá á á ááá¯áá±ážáá«áááºá
á¡áá®ážáááºááŒáá·áºáááºááá¯ááẠáá®áá¯á¶ááœá±á áááºáá°ááá»áá¬ááᯠááœá±á·ááá«áááá·áºáááºá áááºážááá¯á·ááŸá
áºáá¯áá¯á¶ážááẠJPEG áá»á¯á¶á·áá¬ážáá±á¬áá¯á¶áá»á¬ážááŒá
áºáááºá ááá¯á·áá±á¬áº áá¬áááºáá¯á¶ááẠáá¯áááºá¡á¬ážááŒáá·áº áá»á¬ážá
áœá¬áá±ážáááºáááºá á¡áááºážáááºááá¯ááá¯ážááẠ(áá±á¬ááºáá¶á¡áá±á¬ááºá
áá¯áááºážáá»á¬ážááá¯ááŒáá·áºáá«)á ááá¯á·ááŒá±á¬áá·áº JPEG ááᯠlossy compression áá¯áá±á«áºáááºá ááááááºááŸá¯áá¯ááºáááºážá
ááºá¡ááœááºážá áá¯á¶ááẠááŒá±á¬ááºážáá²ááœá¬ážááŒá®áž á¡áá»áá¯á·áá±á¬á¡áá±ážá
áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠáá¯á¶ážááŸá¯á¶ážááœá¬ážá
á±áááºá
1. á¡áá±á¬ááºááá°áá¬áá°ááŒááºážá
á€áááºááŸá¬ áá»á¯á¶á·ááŸá¯ áááá¡ááá·áºáᬠááá·áºááœááºážáá¬ážáá±á¬ áá¯á¶ááŒá áºáááºá
(á¡ááŒááºá¡ááŸááºá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯áá¬ážááŸááºáž - in
ááᯠááááºážáá»á¬ážááẠá¡áááá¹áá«ááºáá±á¬áºááẠá¡áááºážááẠááœááºáá°ááœá¬ážáá«ááŒá®á áááºážááẠááá¯ážááŸááºážáá±á¬á¡áá±á¬ááºáá»á¬ážá á¬áááºážáá®ážáá«ážááŒá áºááŒá®ážá ááá¯ááºáá áºáá¯á á®ááœáẠpixel áá áºáá¯á á®á¡ááá¡áá»ááŒá±á¬ááºážáá²ááœá¬ážáá±á¬áºáááºáž áá áºáá»áááºáááºážááŸá¬ááẠáááºážááẠáá»á¯á¶á·ááá¬ážáá±á¬áá¯ááºáá¯á¶ááá áºáááºá¡ááœááºá¡á á¬ážááŒá áºáá±ááŒá® (á€á¡ááœááºá¡á á¬ážááœáẠ300 KB ááá·áºá¡áááá°ááá¯ááºáááº)á áá¬ááŒá±á¬áá·áºáá²ááá¯áᬠááá·áºááŸááºážááá¯ááºáá«ááá¬ážá
áá»áœááºá¯ááºááá¯á·ááẠáá¶áá«ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠáá¯áááŒáá·áº á¡á á¬ážááá¯ážáá«áá á¡á áááºážáá±á¬ááºáá¯á¶ (á¡ááŒá°áááº) ááᯠáááŸááááºááŒá áºáááŒáá·áº á¡ááá¯áá« áá¶áá«ááºáá»á¬ážááẠá á¶á¡áá®á á¡á áááºážááŸáá·áº á¡ááŒá¬áá±á¬áẠá¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠááá¯ááºá á¬ážáááŒá¯ááŒá±á¬ááºáž áááºááœá±á·ááá¯ááºáááºá
á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº á€ááá¯ááºáá»á¬ážááẠY (áá±á¬ááºáááŸá¯) ááᯠááá¯ááºá
á¬ážááŒá¯áá±á¬ááŒá±á¬áá·áºá
Cb (relative blueness)á
ááŸáá·áº Cr (relative redness) áá¯á¶áá»á¬ážá
áá¬ááŒá±á¬áá·áº RGB ááá¯ááá¯á¶ážáá¬áá²á áá±á¬ááºáá¯á¶ážáá±á¬á·á áá«á áá±ááºáá®áááºáá¬ážááŒááºá¡áá»á¬ážá
ᯠá¡áá¯ááºáá¯ááºáá¯á¶áá«áá²á ááá·áºáá±á¬áºáá®áá¬ááẠpixel áá
áºáá¯á
á®á¡ááœáẠááá°áá®áá±á¬ááŒááºážáááºááŸá¯áá»á¬ážááŒáá·áº á¡áá®áá±á¬ááºá á¡á
áááºážááŸáá·áº á¡ááŒá¬á¡áá«á¡ááẠáááºááá·áºá¡áá±á¬ááºááá¯áááᯠááŒáááá¯ááºáááºá áá¯á¶ážáá¯áá¯á¶ážááᯠá¡áááºážá¡ááŸá±á¬ááºá¡ááŒáá·áºááœáá·áºááŒá®áž á¡áááºáá±á¬ááºááᯠááááºááŒááºážááŒáá·áº á¡ááŒá°áá±á¬ááºááᯠáááŸááááºá
áááºážááẠáá°á·áá»ááºáá¯á¶áž á¡áá¯ááºáá¯ááºáá¯á¶ááŸáá·áº á¡ááœááºáááºáá°áááºá áá»áœááºá¯ááºááá¯á·ááá»ááºáá¯á¶ážáá»á¬ážááœáẠá¡áá±á¬ááºáááºáá¶ááá·áºá¡áá¬áá»á¬ážááᯠ"
ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááá»ááºáá¯á¶ážáá»á¬ážááẠá¡áá±á¬ááºááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááẠáá±á¬ááºáááŸá¯ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠáá±á¬ááºááŸááºážáá¬ááœáẠáá»á¬ážá áœá¬áá±á¬ááºážááœááºáá«áááºá á¡áá±á¬ááºááᯠáá±á¬ááºáááŸá¯áá²á· ááœá²ááŒá¬ážáá¬ážáááºá á¡áá±á¬ááºá¡áááºážáááºááᯠáááºááŸá¬ážááá¯ááºááŒá®áž áááºáá°á០ááááá¬ážááááŸá¬ ááá¯ááºáá«áá°ážá Chroma subsampling ááẠá¡áááºážáá±á¬áẠá¡á áááºá¡ááá¯ááºážáá»á¬ážááẠááŒááºáááºááŒááºáá¬ážááŸá¯ áááºážáá«ážáá±á¬ áá¯ááºáá¯á¶áá áºáá¯á¶á á¡áá±á¬ááºá¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠááá¯ááºá á¬ážááŒá¯ááá·áº áá¯ááºáááºážá ááºááŒá áºáááºá á¡áááºáá±á¬áºááŒáá« á¥ááá¬ááœááºá pixel áá áºáá¯á á®ááœáẠY á¡á áááºá¡ááá¯ááºážáá áºáá¯á á® ááŸáááŒá®áž pixel áá±ážáá¯ááŸááá±á¬ á¡á¯ááºá á¯áá áºáá¯á á®ááœáẠCb áá áºáá¯á á®ááŸáá·áº Cr á¡á áááºá¡ááá¯ááºážáá áºáá¯á á® á¡ááá¡áá»ááŸááááºá ááá¯á·ááŒá±á¬áá·áº áá¯á¶ááœáẠáá°áááºážááẠáá±ážááááºážáá±á¬ á¡áá±á¬ááºá¡áá»ááºá¡áááºáá«ááŸááááºá
YCbCr á¡áá±á¬ááºáá±áá¬ááᯠJPEG ááœááºáá¬áááá² á¡áá¯á¶ážááŒá¯áá«áááºá áá¯ááºááŒááºáá¶ááŒá¬ážá¡á á®á¡á ááºáá»á¬ážá¡ááœááºáá°á 1938 ááœááºáá®ááœááºáá²á·áááºá áá°ááá¯ááºážááœáẠá¡áá±á¬ááºááŸááá±á¬ áá®áá®áááŸááá±á¬ááŒá±á¬áá·áº á¡áá±á¬ááºááŸáá·áº áá±á¬ááºáááŸá¯ááᯠááá¯ááºážááŒá¬ážááŒááºážááŒáá·áº áá°ááá¯ááºážááᯠáá°áá®áá±á¬á¡áá»ááºááŒááŸá¯ááᯠáááŸáá á±áá²á·ááŒá®áž á¡áá±á¬ááºááá«áá² áá®áá®áá»á¬ážááẠá¡áááºážá¡ááŸá±á¬ááºá¡á áááºá¡ááá¯ááºážááá¯áᬠá¡áá¯á¶ážááŒá¯áááºá
ááá¯á·ááŒá±á¬áá·áº áááºážááŒááºáá°á០áá¶áá«ááºáá áºáá¯ááᯠáááºááŸá¬ážááŒááºážááẠá¡áá±á¬ááºá¡á¬ážáá¯á¶ážááᯠáá¯á¶ážááá»ááºá á®ážá á±áááºá á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠYYYY Cb Cr áá±á¬ááºááœáẠááááºážáááºážáá¬ážáá«ááẠ(ááááºáá±á¬á· ááá¯á¡áááá·áºá¡ááœáẠáááá¯á¡ááºáá« - ááá¯ááŸá±á¬ááºááŸá¯á¡áááá·áºááᯠááá¯ááºáá±á«ááºážá á®ážááœáẠáááºááŸááºáá¬ážáááº)á ááááá¶áá«ááºááᯠáááºááŸá¬ážááŒááºážá Cb á ááááááºááá¯ážááᯠYá Cr á¡ááŒá ẠCb áᯠáááºááŒááºá á±áááºááŒá áºááŒá®áž áá±áá¯áá»á¡á¬ážááŒáá·áº áááºááẠáá¯á¶áá¡áá±á¬ááºá¡á¬ážáá¯á¶ážááᯠááŒá±á¬ááºážáá±ážááá·áº domino effect ááŸááááºá
JPEG áááºááŸááºáá»ááºááẠááá·áºá¡á¬áž YCbCr ááᯠá¡áá¯á¶ážááŒá¯ááẠá¡áááºážá¡áá»áẠááá¯ááºáá±á¬ááºáá«á ááá¯á·áá±á¬áº ááá¯ááºá¡áá»á¬ážá á¯ááẠRGB ááẠáá¬ááœááºáá±á¬ ááá°áá¬áá¯á¶áá»á¬ážááᯠáá¯ááºáá¯ááºáá±ážáá±á¬ááŒá±á¬áá·áº áááºážááᯠá¡áá¯á¶ážááŒá¯áááºá áá«âáá±ááá·áºâ áááºáž áá«á·á áá¬ážá¡ááœááºâ âááŒá±á¬á áᬠáááá¯áá°ážá RGB ááŸáá·áº YCbCr ááŸá áºáá¯áá¯á¶ážááœáẠá¡á áááºá¡ááá¯ááºážáá áºáá¯á á®á ááá°áá¬áá¯á¶á á¶ááœá²ááŒááºážáá¯á¶á á¶ááᯠá¡á±á¬ááºáá«ááá¬ážááœáẠáááºááá¯ááºááá¯áẠááŒáá·áºááŸá¯áá«á
(á¡ááŒááºá¡ááŸááºá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯áá¬ážááŸááºáž - in
á¡ááŒá¬áá±á¬ááºááᯠáááºááŸá¬ážááŒááºážááẠá¡áá®áá±á¬áẠááá¯á·ááá¯áẠá¡á áááºážáá±á¬ááºáá²á·ááá¯á· áááá¬áááºááŸá¬ážááŒááºážáááŸááá±á á¡á²áá«á ááá·áºáá»ááºáá¯á¶ážááŸá¬ááŸááá²á· ááœááºáá±á«ááºážááŒá±á¬ááºáááºážááŒá±á¬áá·áº 64% áá±á¬ááºá á¡áá®áá±á¬ááºááá± 32% á¡á áááºážáá²á· á¡ááŒá¬ááá± 2% á¡áá áá¶á á¬ážááá¯ááºááá¯á·áá«á
Y á¡á áááºá¡ááá¯ááºáž (áááºáááºá¡á±á¬ááºááŒá±) á ááá°áá¬ááᯠááŸááá·áºáá»ááŒááºážááẠá¡áá±á¬ááºážáá¯á¶ážááŒá áºáááºá áá±ážáááºáá²á· á¡ááŒá±á¬ááºážá¡áá²ááá¯áá±á¬áẠáááá¬áá«áááºá
áá¯á¶áá áºáá¯á¶ááᯠRGB á០YCbCr ááá¯á·ááŒá±á¬ááºážááŒááºážááẠááá¯ááºá¡ááœááºá¡á á¬ážááᯠáá»áŸá±á¬á·áá»ááŒááºážááá¯ááºáá±á¬áºáááºáž áááºááŸá¬ážáá áºááá¯ááºááá·áº áááŒááºáá¬áá±á¬á¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠááŸá¬ááœá±ááẠááá¯ááá¯ááœááºáá°á á±áááºá Lossy compression ááẠáá¯áááá¡ááá·áºááœáẠááŒá áºáá±á«áºáááºá áááºážááẠááá¯ááá¯áá»á¯á¶á·ááá¯ááºáá±á¬áá¯á¶á á¶ááŒáá·áº áá±áá¬áááºááŒááŒááºážá á áááºáá°ážá¡áá±á«áºá¡ááŒá±áá¶áááºá
2. Discrete cosine á¡ááœááºááŒá±á¬ááºážááŒááºážááŸáá·áº ááá°áá¬áá°ááŒááºážá
á€áá»á¯á¶á·ááŸá¯á¡ááá·áºááẠá¡áá»á¬ážá á¯á¡ááœáẠJPEG á¡ááŒá±á¬ááºážááŒá áºáááºá á¡áá±á¬ááºáá»á¬ážááᯠYCbCr ááá¯á·ááŒá±á¬ááºážááŒá®ážáá±á¬ááºá á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠáá áºáá¯áá»ááºážáá»á¯á¶á·ááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠY á¡á áááºá¡ááá¯ááºážááá¯áᬠá¡á¬áá¯á¶á áá¯ááºááá¯ááºáááºááŒá áºáááºá á€á¡ááœáŸá¬ááá¯á¡áá¯á¶ážááŒá¯ááŒá®ážáá±á¬áẠY á¡á áááºá¡ááá¯ááºáž bytes ááá¯á¶á á¶ááẠá€á¡áá¬ááŒá áºáááºá
(á¡ááŒááºá¡ááŸááºá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯áá¬ážááŸááºáž - in
ááááá áºáá»ááºááœááºá áááºážááẠá¡ááœááºááá¯ážááœá¬ážáá±á¬ compression ááŸáá·áºáá°áááºá áá¯á¶áá áºáá¯á¶ááœáẠ100 pixels ááŸáááŒá®áž áááºážááá¯á·ááá±á¬ááºáááŸá¯ (Y-á¡á áááºá¡ááá¯ááºážáá»á¬áž) ááá¯ááá¯ááºá á¬ážááŒá¯ááẠááááºážáá±á«ááºáž 000 ááá¯á¡ááºáááºâáááºážááẠáááºááá·áºá¡áá¬ááá¯áá»áŸ áá»á¯á¶á·ááŒááºážááẠááá¯ááá¯ážáááºá
ááá¯á·áá±á¬áº á€ááááºážá¡áá»á¬ážá á¯ááẠáá¯áááŒá áºááŒá±á¬ááºáž áááááŒá¯áá«á ááá¯á·á¡ááŒááºá áá»ááºážáá»á¬ážá¡áá¯á¶ážááŸá áá¯áá¡á¬ážáá¯á¶ážááᯠáá¯ááºáá¯á¶áááŒá±á¬ááºážáá² áááºááŸá¬ážááá¯ááºáááºá áá¶áá«áẠ26 ááá·áºáá»ááºááŸáááŒá®áž áááºážááẠ000 ááá®ážáá«ážáá»á±á¬á·áááºážáááºá
á€á¡ááá·áºááœáẠá á áºáá¯áááºáá¯á¶á á¶áá»á¬ážá áá»áŸáá¯á·ááŸááºáá»ááºáá«ááŸááááºá áá»áœááºá¯ááºááá¯á·ááŒááºáá°ážááá·áº á¡ááŒá¬ážá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯áá»á¬ážááŸáá·áºááá°áá²á á€áá¯á¶á á¶áá»á¬ážáá¡ááœááºá¡ááŒááºááẠááœá²áá»á±á¬áºááŸá¯ááá¯ááºáá«á áááºážááá¯á·ááẠáá¯ááºáá¯á¶áá áºáá¯áá¯á¶ážá á¡áá±á¬ááºá¡áŠáá»á¬ážááŒá áºáááºá áááºážááŒááºáá°á á á¬ááŒá±á¬ááºážáá áºáá¯á á®ááœáẠáá¶áá«áẠ64 á¡ááá¡áá»áá«áááºáááºá áá®ážááá·áº cosine transform (DCT) coefficients 64 áá¯á ááŒááºážáááºááŸá¯áá»á¬ážááŸáá·áº áááºááá¯ááºáá«áááºá
á€áá¯á¶á á¶áá»á¬ážááẠcosine plot ááᯠá¡ááŒá±áá¶á ááœá²á·á ááºážáá¬ážáá«áááºá áááºážááá¯á·áá²á០á¡áá»áá¯á·ááẠá€á¡áá¬ááŸáá·áºáá°áááº-
8 áá²á 64 áá±á«ááº
á¡á±á¬ááºáá±á¬áºááŒáá«áá¯á¶ááẠáá¯á¶á ᶠáá áá¯á¶ážááᯠááŒááá¬ážáááºá
(á¡ááŒááºá¡ááŸááºá¡áá»áá¯ážáááºáá±á¬ááºááŸá¯áá¬ážááŸááºáž - in
á€áá¯á¶á á¶áá»á¬ážááẠ8x8 áá¯á¶áá»á¬ážáá¡ááŒá±áá¶ááŒá áºáá±á¬ááŒá±á¬áá·áº á¡áá°ážá¡áá±ážááŒá®ážáá«áááºá áááºááẠlinear algebra ááŸáá·áº ááááºážááŸá®ážáá«áá ááá¯ááá¯áááºááŸá¬ 8x8 áá¯ááºáá¯á¶ááᯠဠ64 áá¯á¶á á¶áá»á¬ážá០ááŒá¯áá¯ááºááá¯ááºáááºá DCT ááẠáá¯á¶áá»á¬ážááᯠ8x8 ááá±á¬ááºáá»á¬ážá¡ááŒá Ạááá¯ááºážááŒá¬ážááŒá®áž ááá±á¬ááºáá áºáá¯á á®ááᯠဠ64 coefficients áá±á«ááºážá ááºááŸá¯á¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²ááŒááºážáá¯ááºáááºážá ááºááŒá áºáááºá
áááºááá·áºáá¯ááºáá¯á¶áááᯠáááá»áá±á¬áá¯á¶á ᶠ64 áá»áá¯ážááŒáá·áº ááœá²á·á ááºážáá¬ážááá¯ááºáááºááŸá¬ ááŸá±á¬áºáááºáá¯á¶ááááºá ááá¯á·áá±á¬áºá á€áááºááŸá¬ ááá¹áá¬áá±á«áºááŸá áááºááá·áºáá±áá¬ááá¯áááᯠááááºážááŸá áºáá¯á¶ážááŒáá·áº áá±á¬áºááŒááá¯ááºááẠ- ááá¹áá®ááœááºááŸáá·áº áá±á¬ááºáá»á®ááœáẠ[ hemispheres / approx ááᯠááœáŸááºááŒááẠá áá¬áá¬ááŒááºá] áá»áœááºá¯ááºááá¯á·ááẠááá¹áá¬á áá»ááºááŸá¬ááŒááºááᯠááŸá áºáááºááŒááºáᯠáááŒá¬áá áááºáá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááœáẠááááºážááŸá áºáá¯á¶ážáᬠááá¯á¡ááºáá«áááºá 8x8 áá¯á¶áá áºáá¯á¶ááœáẠá¡ááá¯ááºážá¡áᬠ64 áá«ááŸááá±á¬ááŒá±á¬áá·áº 64 ááááºážáá»á¬áž ááá¯á¡ááºáá«áááºá
ááŸáááºáá»ááŸá¯ááŸáá·áºáááºáááºá áááºážááẠáá»áœááºá¯ááºááá¯á·ááᯠáááºááá¯á·áá°áá®áá±ážáááºááᯠááŸááºážááŸááºážáááºážáááºážáááááá±ážáá«á 64x8 áá¯á¶áá áºáá¯á¶ááᯠááá¯ááºá á¬ážááŒá¯ááẠ8 ááááºážáá»á¬áž ááá¯á¡ááºáá«áá áááºážááẠ64 brightness á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠááááºážáááºážáá¯á¶ááẠá¡áááºááŒá±á¬áá·áº ááá¯áá±á¬ááºážáááºáááºážá áá°áá®áá±á¬á¡ááŒá±á¬ááºážááŒáá»ááºááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠRGB áá¶áá«ááºáá¯á¶ážáá¯ááᯠYCbCr áá¶áá«ááºáá¯á¶ážáá¯á¡ááŒá ẠááŒá±á¬ááºážáá²áá±ážáááºá áááºážááẠááááºááœá±á·áá±á¬á¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠáááºááŸá¬ážááá¯ááºá á±áá«áááºá
JPEG ááẠDCT ááᯠ8x8 ááá±á¬ááºáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áá±á¬ááŒá±á¬áá·áº á€á¡ááá·áºááœáẠáááºááá·áºá¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠáááºááŸá¬ážáá¬ážáááºááᯠá¡ááá¡áá»ááŒáá·áºáááºáááºáá²áá«áááºá ááá¯á·áá¬ááœááºá áá¯ááºáá¯á¶áá áºáá¯áá¯á¶ážááœáẠáááºážááá¯á¡áá¯á¶ážááŒá¯ááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž áááºáá°áá»áŸ áá¬ážááŒá áºáá¬ážáááºá á€áááºááŸá¬ áá¯á¶áá áºáá¯áá¯á¶ážá¡ááœáẠá¡áá¯á¶ážááŒá¯áá¬ážááá·áº Y á¡á áááºá¡ááá¯ááºážá¡ááœáẠDCT ááŸáá·áºáá°áááº-
áá¬ááºáá¯á¶ááœáẠáááá¬áááºááŸá¬ážáá±á¬ ááŒá±á¬ááºážáá²ááŸá¯ áááŸáááá±á¬áẠáá¶áá«áẠ60 áá»á±á¬áºááᯠá¡áá¯á¶ážá០áááºááŸá¬ážááá¯ááºáááºá
ááá¯á·áá±á¬áº áááááááºážáá«ážáá¯á¶ážááᯠáá¯ááá¬ážáá»áŸáẠááŒá¬ážáá¬ážáá»ááºááŸá¬ áááá¬áááºááŸá¬ážáááá·áºáááºááᯠáááááŒá¯áá«á
á¡á
ááŸá ááááºážáá»á¬ážááẠáá¯á¶ááŸá ááŒáááºááŸá¯ááºážáááºážáá±á¬ á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠááá¯ááºá
á¬ážááŒá¯ááŒá®áž áá»áœááºá¯ááºááá¯á·ááá»ááºáá¯á¶ážáá»á¬ážá á¡áá±á¬ááºážáá¯á¶ážááŒá
áºáááºá á¡áá¯á¶ážáá®ááá¯á· áá¶áá«ááºáá»á¬ážááẠáááááŒá¯ááẠááá¯áááºáá²áá±á¬ ááŒáá·áºáá¬ážáá±á¬ ááŒáááºááŸá¯ááºážáá»á¬ážááœáẠá¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠáá±á¬áºááŒáááºá "áá»ááºá
áááŒáá·áºáááŒááºááá¯ááºáá±á¬á¡áá¬ááá¯ááŒááºáááº" áááºá áá»áœááºá¯ááºááá¯á·ááẠá€ááŒáááºááŸá¯ááºážááŒáá·áºá¡áá±ážá
áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠááá 5000 áá¶áá«ááºáá»á¬ážááᯠáááºáá¯ááºááŒááºážááŒáá·áº ááœá²áá¯ááºááá¯ááºáááºá
pixel á០pixel ááá¯á· á¡ááŒá®ážáá»ááºáá¯á¶áž ááŒá±á¬ááºážáá²ááŸá¯ ááŒá
áºáá±á«áºááá·áº áá¯á¶á á§áááá¬á¡á¬ážáá¯á¶ážááᯠáá»áœááºá¯ááºááá¯á· ááŒááºááœá±á·ááááºá ááŒá±á¬ááºááá»ááºáá¯á¶ážáá»á¬ážá áá«ážááá¯ááºážááœáŸá±ážáá»á¬ážá áááºáá®á
á±á¬ááºááŸáá·áº áááºáááºá¡á±á¬ááºáá±á¬áá·áºááŸá á¡ááááºáá»á¬ážááẠáááºááŸá¬ážáá±á«áºááœááºáááºá ááá 10 áá¶áá«ááºáá»á¬ážááᯠáááºáá¯ááºááŒááºážááŒáá·áº áááºááá¯ááá¯ááœá¬ážááá¯ááºáááºá
20 000:
40 000:
60 000:
á€ááŒáááºááŸá¯ááºážááŒáá·áºá¡áá±ážá
áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠááááááºááŸá¯á¡ááá·áºááœáẠJPEG á áááºááŸá¬ážáááºá á¡áá±á¬ááºáá»á¬ážááᯠDCT coefficients ááá¯á·ááŒá±á¬ááºážáá¬ááœáẠáá¯á¶ážááŸá¯á¶ážááŸá¯áááŸááá«á ááŒáááºááŸá¯ááºážááŒáá·áºáá±á¬ ááá¯á·ááá¯áẠáá¯ááááºááá¯ážáá»á¬ážááᯠáááºááŸá¬ážááá·áºááá°áá¬á¡ááá·áºááœáẠáá¯á¶ážááŸá¯á¶ážááŸá¯ááŒá
áºáá±á«áºáááºá JPEG ááŒáœá±áá¬áá±ážá¡áááºá¡ááœá±ážááᯠáááºáá»áŸá±á¬á·áá»áá±á¬á¡áá«á áááá¯ááááºááẠááá¯ááºá¡ááœááºá¡á
á¬ážááᯠáá»áŸá±á¬á·áá»áá±ážááá·áº áááºááŸá¬ážááá¯ááºááá·áº áááºááá¯ážá¡áá±á¡ááœááºá¡ááœáẠáá¶áá«ážáá¯á¶ááᯠááá¯ážá
á±áááºá ááá¯á·áá±á¬áº áá¯ááºáá¯á¶á¡á¬áž ááá¯ááᯠpixelated ááŒá
áºá
á±áááºá ááá¯á·ááŒá±á¬áá·áº á
á áááá¯áá±ážáááºááá·áº áááá¡ááá¯ááºážááŸááá¯á¶ááẠá€áá²á·ááá¯á·ááŒááºááááºá 57x8 ááá±á¬ááºáá
áºáá¯á
á®ááᯠá¡áááºá¡ááœá±ážááŒáá·áºáá¬ážááŸááºážááŸáá·áº ááŸáá¯ááºážááŸááºáá«á DCT ááááºážááááºážáá»á¬áž á¡áááºážáááºáááºážáááºá
áá¯á¶áá»á¬ážááᯠááŒááºážááŒááºážáá»ááºáž ááá¯ááºááá¯ááºááœáŸáá·áºááŒááºážáá²á·ááá¯á· á¡á±ážááŒáá±á¬á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááᯠáááºáááºáá®ážááá¯ááºáááºá ááááºážááááºážáá»á¬ážááᯠáá±á«ááºážáá¯ááºáá¯ááºáá¬áááºááŸáá·áºá¡áá»áŸ ááá¯áááá¯áá¡áá±ážá áááºááŒá áºáá¬ááá·áº ááŸá¯ááºáá«ážáá±á¬áá¯ááºáá¯á¶ááᯠáááºááŒáááá¯ááºáááºá
á€ááœááºá á¡áá»á±á¬áºááá±á¬áá»áŸáá¬ááŒá áºáááºá áá¶áá«áẠ24 ááŒáá·áºáááºáááŸááá±á¬á¡áá¬ááŒá áºáááº
áá«ááŸááá¯áẠ5000 áá²á
á¡ááœááºááŸá¯ááºáá«ážáá±á¬áºáááºáž áá
áºáááºážáááºážááŒáá·áº ááŸááºááááá¯ááºáááºá
3. á¡ááŸááºáá¯ááºááŒá±á¬ááºážááŒááºážá ááŒá áºááá»áœááºážáá±á«áºááŸáá·áº Huffman ááᯠáá¯ááºáá±á¬ááºáá«á
ááá¯á¡áá»áááºá¡áá ááááááºááŸá¯ á¡ááá·áºá¡á¬ážáá¯á¶ážááẠá¡ááŸá¯á¶ážáá±á«áºáá±áá«áááºá áá±á¬ááºáá¯á¶ážá¡ááá·áºá ááá·áºáá»ááºáááºááœááºá á¡ááŸá¯á¶ážáááŸááá² áááºáááºáá¯ááºáá±á¬ááºáááºá áááºážááẠá¡áá»ááºá¡áááºáá»á¬ážááᯠáá»ááºáááºááá¯ááºáá±á¬áºáááºáž áááºážááẠááá¯ááºá¡ááœááºá¡á á¬ážááᯠáááááá¬áᬠáá»áŸá±á¬á·áá»áá±ážáááºá
á¡áá»ááºá¡áááºááœá±ááᯠáá áœáá·áºáá áºáá² áá áºáá¯áá¯ááᯠáááºááá¯áá»á¯á¶á·ááá¯ááºááá²á ááá¯ážááŸááºážáá±á¬á¡áááºáá±á¬ááºá áá¯áᶠ700 x 437 ááᯠáááºááá¯á·áá±á¬áºááŒááááºááᯠá áááºáá°ážááŒáá·áºáá«á
JPEG ááẠáááºážá¡ááœáẠáá¶áá«áẠ5000 ááá¯á¡áá¯á¶ážááŒá¯áá±á¬áºáááºáž áá»á¬ážá áœá¬áá±á¬ááááºáá»á¬ážááᯠáááŸáááá¯ááºáá«áááºá ááá¯ááá¯á·áá±á¬áá¯á¶áá áºáá¯á¶ááᯠááŒá áºááá¯ááºááá»áŸ bytes á¡áááºážáááºááŒáá·áº áá±á¬áºááŒááá·áº áá¯ááºáá¯ááºá áá áºáá áºáá¯ááᯠáááºá áááºáá°ážááŒáá·áºááá¯ááºáá«ááá¬ážá
áá»áœááºá¯ááºáááºáá®ážááá¯ááºááá·áº á¡áááá·áºáá¯á¶ážá¡á á®á¡á ááºááŸá¬ á¡áá±á¬ááºáá áºáá¯á¡á¬áž ááá¯ááºá á¬ážááŒá¯ááẠáá¯á¶ážáá»áá¯ážá ááŸáá·áº á áá¯áá¹ááá áºáá¯ááẠááá¯á¡áá±á¬ááºááŸá pixels áááºáá»áŸááŸááááºááᯠááœáŸááºááŒááẠáá±ážáá¯ááᯠá¡áá¯á¶ážááŒá¯áááºá ဠcondensed áááºážááŒáá·áº áááºáá«ááá²áá² áááºááá¯ážáá»á¬ážááᯠááá¯ááºá á¬ážááŒá¯ááá·áº á¡áá°á¡áááᯠrun-length encoding áá¯áá±á«áºáááºá áá¯ááºááœááºážáá¬ážáá±á¬áá±áá¬ááᯠáááºážááá°áááºážáá¯á¶á á¶ááá¯á· ááŒááºáááºááá°ááá¯ááºáá±á¬ááŒá±á¬áá·áº áááºážááẠáá¯á¶ážááŸá¯á¶ážááŸá¯áááŸááá±á
á¡áááºáá±á¬ááºá áá¯áá¶áá«áá±á¬ JPEG ááá¯ááºááẠ4 bytes ááẠáá»á¬ážá áœá¬ááá¯ááŒá®ážááẠ- DCT á¡ááá·áºááœááºá ááááááºááŸá¯ááᯠ8x8 pixel blocks áá»á¬ážááœáẠáááºáá±á¬ááºáááºááᯠáááááá«á ááá¯á·ááŒá±á¬áá·áºá á¡áááºážáá¯á¶ážá¡á¬ážááŒáá·áº 64 pixels ááá¯ááºážá¡ááœáẠDCT coefficient áá áºáᯠááá¯á¡ááºáá«áááºá 63 áá¯áááŒáá·áº ááá¯ááºáá±á¬ DCT coefficient áá áºáá¯á¡á¬áž ááááºážáááºážááá·áºá¡á á¬ážá á¡áá»á¬ážááá¯ááºáá¯ááºáá¯ááºááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž áá¶áá«ááºáá áºáá¯ááᯠááááºážáááºážááá¯ááºá á±ááŒá®áž "á¡ááŒá¬ážá¡á¬ážáá¯á¶ážááẠáá¯áááŒá áºáááº" áᯠááœáŸááºááŒááá¯ááºáá±á¬ááŒá±á¬áá·áº áá áºáá¯ááá¯á¡ááºáá«áááºá
Delta encoding ááẠabsolute value ááá¯ááºáá² byte áá áºáá¯á á®ááœáẠá¡áá»áá¯á·áá±á¬áááºááá¯ážáá»á¬ážááŸáá·áº ááœá¬ááŒá¬ážáá»ááºáá«ááŸááá±á¬ áááºážáááºážáá áºáá¯ááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áº á¡áá»áá¯á·áá±á¬ááá¯ááºáá»á¬ážááᯠáááºážááŒááºááŒááºážááẠá¡ááŒá¬áž pixels áá»á¬ážá¡á¬ážáá¯á¶ážá á¡áá±á¬ááºááᯠááŒá±á¬ááºážáá²á á±áááºá á¥ááá¬- ááááºážáááºážáá¬áá
12 13 14 14 14 13 13 14
áá»áœááºá¯ááºááá¯á·ááẠ12 ááŒáá·áº á áááºááá¯ááºááŒá®áž áá±á¬ááºááááºážáá áºáá¯áááẠáááºáá»áŸááá·áºáááẠááá¯á·ááá¯áẠáá¯ááºááẠááá¯á¡ááºááŒá±á¬ááºáž ááá¯ážááŸááºážá áœá¬áá±á¬áºááŒááá¯ááºáááºá ááŒá®ážáá±á¬á· áá® sequence á delta coding ááŸá¬ áá¯á¶á á¶áá°áá«áááºá
áá á á á á -á á á
ááŒá±á¬ááºážáá¬ážáá±á¬áá±áá¬ááẠáá°áááºážáá±áá¬ááẠáá±ážáááºáááºááá¯ááºáá±á¬áºáááºáž áááºážááᯠáá»á¯á¶á·áááºááá¯ááá¯ááœááºáá°áááºá á¡ááá¯á¡ááŸáẠáá¯ááºáááá·áºáá® delta áá¯ááºááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááẠáá¯á¶ážááŸá¯á¶ážááŸá¯áááŸááá±á¬ áá»á¯á¶á·áá¬ážáá²ááŒá áºááŒá®áž áá»á¬ážá áœá¬ á¡áá±á¬ááºá¡áá°ááŒá¯ááá¯ááºáááºá
Delta coding ááẠ8x8 blocks ááŒááºáááœááºá¡áá¯á¶ážááŒá¯ááá·áº áááºážááá¬á¡áááºážáááºáá²ááŸáá áºáá¯ááŒá áºáááºá 64 DCT coefficients ááœááºá áá áºáá¯ááẠááá¯ážááá¯ážá¡áááºáááŒááºááŸáá¯ááºážáá¯ááºáá±á¬ááºáá»áẠ(á¡á áá¯ááºá¡áá²á¡áá±á¬ááº) ááŒá áºáááºá áááºážááẠluma á¡á áááºá¡ááá¯ááºážáá»á¬ážá¡ááœáẠááá±á¬ááºáá áºáá¯á á®á áá»ááºážáá»áŸáá±á¬ááºáááŸá¯ááᯠááá¯ááºá á¬ážááŒá¯áááºá ááá¯á·ááá¯áẠCb á¡á áááºá¡ááá¯ááºážáá»á¬ážá¡ááœáẠáá»ááºážáá»áŸá¡ááŒá¬áá±á¬áẠá áááºááá¯á·ááᯠááá¯ááºá á¬ážááŒá¯áááºá DCT ááá±á¬ááºáá áºáá¯á á®á ááááááºááá¯ážááᯠDC áááºááá¯ážáá¯áá±á«áºáááºá DC áááºááá¯ážáá áºáá¯á á®ááẠááááºá¡áá¬áá»á¬ážááŸáá·áºá ááºáá»ááºážá delta áá¯ááºáá¯ááºáá¬ážáááºá ááá¯á·ááŒá±á¬áá·áº áááááá±á¬ááºá áá±á¬ááºáááŸá¯ááᯠááŒá±á¬ááºážáá²ááŒááºážááẠááá±á¬ááºá¡á¬ážáá¯á¶ážá¡áá±á«áº áááºáá±á¬ááºááŸá¯ááŸááááºááŒá áºáááºá
áá±á¬ááºáá¯á¶áž ááá±á ááá áºáᯠáá»ááºáá±áá±ážáááº- á§ááá¯á áºááááºážááᯠááŒá±á¬ááºážáá²ááŒááºážááẠáá¯ááºáá¯á¶áá áºáá¯áá¯á¶ážááᯠáááºááá¯á·áá»ááºá á®ážá á±ááááºážá ááá¯á¡áá»áááºá¡ááá ááááááºááŸá¯á¡ááá·áºááœáẠááá¯áá²á·ááá¯á·áá±á¬ áá¯ááºááá¹áááá»á¬áž áááŸááá²á·áá«á á¡ááŒá±ááẠJPEG áá±á«ááºážá á®ážááœááºááŸááááºá ááá 500 bytes ááœáẠáá¯ááºáá¯á¶ááŸáá·áºáááºáááºáá±á¬ áááºáá¬áá±áá¬áá»á¬áž áá«áááºááẠ- á¡áá»ááºá á¡ááŒáá·áº á áááºááŒáá·áºá áá»áœááºá¯ááºááá¯á· áááºážááá¯á·ááŸáá·áº ááœá²ááá¯ááºááá±ážáá«á
áá±á«ááºážá á®ážááá«áá² JPEG ááá¯áá¯ááºáá»ááºááẠáááŒá áºááá¯ááºááá±á¬áẠ(ááá¯á·ááá¯áẠá¡ááœááºáááºáá²áááº)á áá¯á¶ááŸá¬ áááºážááᯠáá¯á¶áá±á¬áºááá¯á· ááŒáá¯ážá á¬ážáá±áá¯á¶áááŒá®áž áá«á·áá²á· á¡áááºá¡ááŒááºááœá±ááᯠáá±á¬áºááŒááá¯á·á¡ááœáẠá áá¬ážáá¯á¶ážááœá±ááᯠá áááºáá®ááœááºáá±áá«áááºá áá±á¬áºááŒáá»ááºááẠáá»áœááºá¯ááºááŒá±á¬ááŒááá¯áá±á¬ á¡áááá¹áá¬ááºá¡ááá¡áá»ááŒáá·áº á áá¬ážáá¯á¶ážáá»á¬ážááᯠáá®ááœááºááá¯ááºáá±á¬áºáááºáž á¡ááŒá¬ážáá°ááá¯ááºážá¡ááœááºáá° áááºážááá¯á·ááẠá¡áááá¹áá¬ááºáááŸáááá¯ááºáá±á¬ááŒá±á¬áá·áº áá±á¬áºááŒáá»ááºááẠá¡áá±á¬áºáá±áž áá»ááºážááŒá±á¬ááºážááœá¬ážáá±áááºá
ááá¯ááºáááºááá¯á·áááºááá±ááá·áº á¡á²áá«á á¡ááá¡áá»ááŒá áºááœá¬ážáá¬á JPEG áá¯á¶áá áºáá¯á á®ááᯠáááºážááŸáá·áºáááºááá¯ááºáá±á¬ áá¯ááºáá»á¬ážááŒáá·áº áá»á¯á¶á·áá¬ážáááºá áá¯ááºá¡áááá¬ááºááᯠáá±á«ááºážá á®ážááœáẠááááºážáááºážáá¬ážáááºá á€áááºážááá¬ááᯠHuffman code áá¯áá±á«áºááŒá®áž áá±á«áá¬áááᯠHuffman table áá¯áá±á«áºáááºá áá±á«ááºážá á®ážááœááºá ááá¬ážááᯠááŸá áºááá¯áẠ- 255 ááŸáá·áº 196 ááŒáá·áº ááŸááºáá¬ážáá¬ážáááºá á¡áá±á¬ááºáá áºáá¯á á®ááœáẠáááºážáááá¯ááºááá¯ááºááá¬ážááŸáááá¯ááºáááºá
ááá¬ážáá»á¬áž á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááẠáááºááá·áºáá¯ááºáá¯á¶ááá¯áááᯠááŒááºážáááºá áœá¬ áááºáá±á¬ááºááŸá¯ááŸááááá·áºáááºá á¥ááá¬áá±á¬ááºážáá áºáá¯á 15th line ááᯠ1 ááá¯á·ááŒá±á¬ááºážáááºááŒá áºáááºá
ááá¬ážáá»á¬ážááẠáá
áºáŠážáá»ááºážáá
áºáá»á¬ážááᯠáááºááá¯á·áááºááá·áºáááºááᯠááá¬ážáá»á¬ážá áááºááŸááºáá±ážáá±á¬ááŒá±á¬áá·áºááŒá
áºáááºá ááá¯á¡áá»áááºá¡áá áá»áœááºá¯ááºááá¯á·ááẠááœáááááºážáá»á¬ážááᯠáá¿ááá¯á¶á
á¶ááŒáá·áºáᬠáá¯ááºáá±á¬ááºáá±áá«áááºá ááá¯á·áá±á¬áº á¡áááºá áááºááẠáá¶áá«áẠ1 ááᯠbyte áá
áºáá¯ááœáẠááááºážáááºážááá¯áá«áá áááºážááẠ00000001 ááŸáá·áºáá°áááá·áºáááºááŒá
áºáá±á¬ááŒá±á¬áá·áº byte áá
áºáá¯á
á®ááœáẠááŸá
áºáá
áºá¡ááá¡áá»ááŸáááááºá áááºážááá¯á·á¡áááºá០áá
áºáá¯áᬠááá¯á¡ááºáááºááá¯áá»áŸááºááẠáááºážááẠáá»áœááºá¯ááºááá¯á·áá¶á០áá¯á¶ážááœááºáá¬ážáááºá
ááá·áºááœáẠáá±ážáááºáá±á¬ á¡áá±á¡ááœááºáá»á¬ážá áœá¬ááŸááá»áŸáẠá€á¡áá¬ááẠáá±áá¬ááœááºááŒá®ážááŒá®ážáá¬ážáá¬ážááŒá áºááá¯ááºáá»á±ááŸááááºá Huffman áá¯ááºááẠáá¶áá«ááºáá áºáá¯á á®ááœáẠááŸá áºáá áºáá»á¬áž áá¬ážááŸááááá·áº á€ááá¯á¡ááºáá»ááºááᯠááŒá±áá»áŸá±á¬á·ááá¯ááºá á±ááá·áº áááºážáááºážáá áºáá¯ááŒá áºáááºá ááá¯ááá¯áááºááŸá¬ áááºááẠááá¯ááºááŸá áºáá¯ááᯠááŒááºáá«áá
234 115
ááá¯á·áá±á¬áẠHuffman ááá¬ážáá±á«áº áá°áááºá áááºážááá¯á·ááẠááááºážáá¯á¶ážáá¯á¶áž ááŒá áºááá¯ááºáááºá áááºážááá¯á·ááᯠáá¯ááºáá°áááºá áááºážááá¯á·ááᯠáá áºáŠážáá»ááºáž bits áá»á¬ážá¡ááŒá áºááá¯á· áŠážá áœá¬ ááá¯ááºážááŒá¬ážááẠááá¯á¡ááºáááº-
11101010 01110011
ááá¯á·áá±á¬áẠáááºážááá¯á·ááᯠáááºááá¯á·á¡á¯ááºá á¯ááœá²á·ááááºááᯠá¡ááŒá±ááŸá¬ááẠááá¬ážááᯠááŒáá·áºáá«á á¥ááá¬á¡á¬ážááŒáá·áºá áááºážááẠáááááŒá±á¬ááºáá áºá (111010) ááá¯á·ááá¯áẠáá¿á 58 ááŒá áºááá¯ááºááŒá®ážá áá±á¬ááºááœáẠáá«ážáá Ạ(10011) ááá¯á·ááá¯áẠ19 ááŸáá·áº áá±á¬ááºáá¯á¶ážáá±á¬ááºáá¯á¶ážáá±ážáᯠ(0011) ááá¯á·ááá¯áẠ3 ááŒá áºááá¯ááºáááºá
ááá¯á·ááŒá±á¬áá·áºá compression áá€á¡ááá·áºááœáẠbytes ááá¯áá¬ážáááºáááºá¡ááœááºáááºáá²áááºá Bytes ááẠáááºážááá¯á·áá¯á¶ááá¹áá¬ááºááᯠááá¯ááºá
á¬ážáááŒá¯áá«á á€áá±á¬ááºážáá«ážááœááºááá¬ážááŸáá·áºá¡áá¯ááºáá¯ááºááŒááºážáá¡áá±ážá
áááºá¡áá»ááºá¡áááºáá»á¬ážááá¯áá«áááœá¬ážáá«á
á€á¡ááááá¬ááŒáá·áº áááºáá¯ááºáá±á¬ááºááá¯ááºááá·áº á áááºáááºá á¬ážá áá¬áá±á¬ááºážááá·áºááŸáá·áºááœááºáá áºáá¯ááŸá¬ áá±á«ááºážá á®ážá¡á¬áž JPEG á០ááœá²áá¯ááºááŒá®áž áá®ážááŒá¬ážááááºážáááºážáá¬ážááŒááºáž ááŒá áºáááºá ááááºáá±á¬á· ááá¯ááºááᯠáááºáᬠáááºááá¯ááºáááºááá¯áᬠáááºááŸá¬ážáá«áááºá Facebook á ááá¯ááºááœá±ááᯠááá¯áá±ážáááºá¡á±á¬áẠáá¯ááºáá±ážáá«áááºá
á¡ááŒá¬ážáá¯ááºáá±á¬ááºááá¯ááºáááºááŸá¬ Huffman ááá¬ážááᯠá¡áááºážáááºááŒá±á¬ááºážáá²áááºááŒá áºáááºá áááŒá¬ážáá°ááœá±á¡ááœááºáá±á¬á· ááœá²áá±áá²á·áá¯á¶ááá¯áá«áá²á ááŒá¯ááŒááºááẠááŸá±á¬áºáááºáá±á¬áááºážáááºážááᯠáááºáá¬áá»áŸáẠáááááá·áºáááºá
á¡ááŸá áºáá»á¯ááºááŒáá·áºáá¡á±á¬ááº- áá«ááᯠJPEG ááᯠáá¯ááºáá»ááºááá¯á· áá¬ááœá± ááá¯á¡ááºáá²á ááá¯á¡ááºáááº-
- áá±á«ááºážá á®ážá០Huffman ááá¬áž(áá»á¬áž)ááᯠáá¯ááºáá°ááŒá®áž bit áá»á¬ážááᯠáá¯ááºáá¯ááºáá«á
- 8x8 ááá±á¬ááºáá áºáá¯á á®á¡ááœáẠá¡áá±á¬ááºááŸáá·áº áá±á¬ááºáááŸá¯ á¡á áááºá¡ááá¯ááºážáá áºáá¯á á®á¡ááœáẠáá®ážááŒá¬áž cosine á¡ááœááºááŒá±á¬ááºáž coefficients ááᯠáá¯ááºáá°ááŒá®áž ááŒá±á¬ááºážááŒáẠááŒá±áž-á¡ááŸááºááŸáá·áº ááŒá áºááá»áœááºážáá±á«áº áá¯ááºááŒá±á¬ááºážááŒááºážááᯠáá¯ááºáá±á¬ááºáááºá
- 8x8 ááá±á¬ááºáá áºáá¯á á®á¡ááœáẠpixel áááºááá¯ážáá»á¬ážáááŸáááẠcoefficients ááá¯á¡ááŒá±áá¶á cosines áá»á¬ážááᯠáá±á«ááºážá ááºáá«á
- ááá°áá¬áá¯á¶á á¶ááœá²ááŒááºážááᯠáá¯ááºáá±á¬ááºáá«á á¡áá±á¬ááºá¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠá¡ááá¯ááºážá¡áᬠ(á€á¡áá»ááºá¡áááºááẠáá±á«ááºážá á®ážááœááºááŸááááº)á
- pixel áá áºáá¯á á®á¡ááœáẠáááŸááá¬áá±á¬ YCbCr áááºááá¯ážáá»á¬ážááᯠRGB ááá¯á· ááŒá±á¬ááºážáá«á
- áá»ááºááŸá¬ááŒááºáá±á«áºááœáẠáá¯á¶ááá¯ááŒááá«á
ááŒá±á¬ááºáá áºáá±á¬ááºááŸáá·áº áá¬ááºáá¯á¶áá áºáá¯á¶ááᯠááŒáá·áºáá¯á¶ááŒáá·áº áá±ážáááºáá±á¬á¡áá¯ááºá ááá¯á·áá±á¬áºá áááºážááŸáá·áºáááºáááºá áá»áœááºá¯ááºááŸá áºáááºáááºááŸá¬ áá°áá¬ážáááá¯ááŒá¯ JPEG áááºážááá¬ááẠáááºáá²á·ááá¯á·ááŸááááºááᯠááŒáááŒááºážáááºááŒá áºáááºá áá»áœááºá¯ááºááá¯á·ááẠááá¬ážááá¯ážáá»áááºážááá¬áá»á¬ážááẠáá»á¬ážá áœá¬áá¬ááœááºáá±á¬ááºážááœááºáá±á¬ compression ááá¯áááŸáá á±ááá·áº áá»áœááºá¯ááºááá¯á·ááá¶áá°áá»ááºááá°ážááŒá¬ážáá»ááºáá»á¬ážá¡áá±á«áºá¡ááŒá±áá¶áá¬ážáááºá ááᯠáá»áœááºá¯ááºááá¯á· JPEG á¡áá¯ááºáá¯ááºáá¯á¶ááᯠáá¬ážáááºáá¬áá±á¬á¡áá«ááœáẠá€áááºážááá¬áá»á¬ážááᯠá¡ááŒá¬ážáááºáááºáá»á¬ážááá¯á· áááºáá²á·ááá¯á· ááœáŸá²ááŒá±á¬ááºážáá±ážááá¯ááºáááºááᯠáá»áœááºá¯ááºááá¯á· á áááºáá°ážááŒáá·áºááá¯ááºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá®áá®ááá¯ááŸá ááŒá áºááá»áœááºážáá±á«áºááŸá áá¯ááºáá¶áá«ááºááẠááá¯ááºá¡ááœááºá¡á á¬ážááᯠáááá¬áááºááŸá¬ážá áœá¬ áá»áŸá±á¬á·áá»áá±ážááá¯ááºáááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áááááºááŸáá±á¬ááºááá¯á· ááŒá±á¬ááºážáá²ááŒááºážáááŸáááá·áº á§áááá¬áá áºáá¯áá¯á¶áž (á¥ááá¬á áá±á¬ááºáá¶)á
source: www.habr.com