ืืขืื ืืืืืขืจ! ืืื ืืขืคึฟืื ืขื ืืขื ืึทืจืืืงื ืืขืฉืจืืื ืืื ืืื 2019. ืืึธืก ืืื ืึท ืงืึทื ืืื ืืืืืฉืึทื ืคืื ืึท ืกืขืจืืข ืคืื โโโโืึทืจืืืงืืขื ืืืขืื WAVE ืืื JPEG, ืืึธ
ื ืงื ืืคึผ ืคืื ืืขืฉืืืืข
ื ืืขืคื ืคืื ืืืืงืืคืขืืืข ืึทืจืืืงื:
JPEG (Joint Photographic Experts Group) ืืื ืืืื ืขืจ ืคืื ืื ืคืึธืืงืก ืจืึทืกืืขืจ ืืจืึทืคืืงืก ืคืึธืจืืึทืฅ ืืขื ืืฆื ืคึฟืึทืจ ืกืืึธืจืื ื ืคืึธืืืึทืืจืึทืคืก ืืื ืขื ืืขื ืืืืืขืจ.
ืืขืจ ื ืึธืจืืึทื ืืื ืืขืืืขืืึธืคึผืขื ืืืจื ืื ืืืฉืึธืื ื ืคืึธืืึธืืจืึทืคืืง ืขืงืกืคึผืขืจืฅ ืืจืืคืข ืืื 1991 ืคึฟืึทืจ ืขืคืขืงืืืื ืืืื ืงืึทืืคึผืจืขืฉืึทื.
ืืื ืืึธื ืืืืืขืจ ืืืื ืคืื ืจืื ืฆื JPEG?
ืขืืืขืืข ืืขื ืืฉื ืืจืึทืืื ืึทื JPEG ืืืืืขืจ ืืขื ืขื ืจืื ืืึทืื ืงืึทืืคึผืจืขืกื ืืื ืื Huffman ืืืคึฟื, ืึธืืขืจ ืืึธืก ืืื ื ืืฉื ืืืช. ืืืืืขืจ ืงืึธื ืืจืึธื ืงืึทืืคึผืจืขืฉืึทื, ืืึทืื ืืจืึทืืืึทืื ืึท ืืึทื ื ืืืขื.
ืขืจืฉืืขืจ, ืื ืงืึธืืืจ ืืึธืืขื ืืื ืืฉืืื ืืืฉื ืคืื RGB ืฆื YCbCr. ืขืก ืืื ืืคืืื ืึท ืกืคึผืขืฆืืขื ืึทืืืขืจืืืึทื ืคึฟืึทืจ ืืขื -
ืืขืจ ืขืจืฉืืขืจ ืืึทื ืฆื ืืึธื ืืื ืื ืืืื ืืื "ืืื ืขืจ" (ืกืึทืืกืืึทืืคึผืืื ื). ืขืก ืืื ืืจืื ื ืฆื ืคึฟืึทืจืฉืืืื: ืึท 2x2 ืืขื ืืข ืคืื โโืืืืืฆืขืื ืืื ืืขื ืืืขื, ืืื Cb ืืื Cr ืืขื ืขื ืืขื ืืืขื - ืื ืืืจืืฉื ืืืืขื ืืืึทืืืขืก ืคืื ืืขืืขืจ ืคืื ืื YCbCr ืงืึทืืคึผืึธืื ืึทื ืฅ ืคืื ืื 4 ืืืืืฆืขืื. ืืืื, ืืืจ ืืืึทื 6 ืืืืขืก, ืึทื ืฉืืึธื ืคืื 4 ื, 4 ืงื, 4 ืงืจ ืืืจ ืืึทื 4 ื ืืื ืื ืืขืืืข ืงื ืืื ืงืจ ืคึฟืึทืจ ืืขืืขืจ ืคืื ืืื (4 + 4 + 4 = 12; 4 + 1 + 1 = 6; 12 - 6 = 6). ืืื ืืคืืื 2x2 ืืืึธื, ืืึธืกืกื ืงืึทืืคึผืจืขืฉืึทื ืืื ืึท 2:1 ืงืึทืืคึผืจืขืฉืึทื ืคืึทืจืืขืืืขื ืืฉ ืกืึธืื ืืก ืืึทืจื. ืืึธืก ืึทืคึผืืืื ืฆื ืื ืืื ืฆืข ืืืื. ืืื ืึทืืื - ืืื ืืจืึทืคึผื ืืึทืื ืึท ืืจืืืก. ืืื ืืืจ ืงืขื ืขื ื ืืฆื ืืขื ืืขืื ืืง ืืึทื ืง ืฆื ืืื ืืืขืจ ืงืึธืืืจ ืืขืจืงืื ื. ื ืืขื ืืฉ ืืืขื ืืืืื ืืึทืืขืจืงื ืึท ืืืืืง ืืื ืืจืืืื ืึทืก, ืึธืืขืจ ื ืืฉื ืืื ืงืึธืืืจื, ืืืื ืขืก ืืื ืึทืืืจืืืืฉื ืืืืขืจ ืึท ืงืืืื ืืืึธืง ืคืื ืืืืืฆืขืื. ืืื ืื ื ืงืขื ืขื ืืืื ืืืื ืืขืืื ืืื ืึท ืฉืืจื, 4 ืืืืืฆืขืื ืืึธืจืืืึทื ืืึทืื ืืื ืืืขืจืืืงืื. ืืขืจ ืขืจืฉืืขืจ ืึธืคึผืฆืืข ืืื ืึธืคื ืืขื ืืฆื. ืืืื ืืืื ืงืืืึทืืืืขื ืืื ืืืืืืืง, ืืึทืกืึทืืืืฉืึทื ืืื ื ืืฉื ืืขืืื ืืืึท ืึทืืข.
ื ืืืืกืืึทื ืืขืืขื ืคืื ืืื ืื ื (ืืึทืืจ ืืื ื ืืฉื ืืึธืื ืืืจ ืฆื ืึทืจืืึทื ืืืืื ืึท ืืืฃ) -
ืืขืจ ืืืืคึผื ืืืื ืคืื ืืขืจ ืฆืืืจืืืืื ื
ืืงืคึผ
ืืืฆื ืงืืื ืื ืืึทืจืืึทืกื ืืื ืืขืจืกื ื ืืืืืง ืืืื. ืื ืืื ืฆืข ืืืื ืืื ืฆืขืืืืื ืืื 8x8 ืืืึทืงืก (ืคืืืื ื ืืื ืืขื ืืฆื ืืืื ืื ืืึทืืืึธืืข ืืื ื ืืฉื ืึท ืงืืืคื ืคืื ืื ืืืึธืง ืืืึทื).
ืืืฆื ืฆืืืืืื ืฆื ืืขืืขืจ ืืืึธืง DCT (ืืืกืงืจืขืืข ืงืึธืกืื ืข ืืจืึทื ืกืคืึธืจืืึทืฆืืข). ืืื ืืขื ืืืื, ืึทืืฅ ืืื ืืืืืง ืืื ืืขื ืืืขื ืืืืก ืคืื ืื ืืืื. ื ืืฆื DCT, ืืืจ ืืึทืจืคึฟื ืฆื ืคึฟืึทืจืฉืืืื ืฆื ืึท ืืขืืขืื ืืืึธืง (8 ร 8) ืืืฉืจืืืื ืงืืื ืืึทื ืึทืืึทื ืึทืก ืืืื ืคืื ืื ืืืื: ืืขืจ ืืืื, ืื ืืืึทื ื; ืึธืืขืจ ืขืก ืึผืืื ืงืึธืืคึผืืขืงืก ืกืืจืืงืืืจ (ืืึธืจ, ืกืืืืึธืืก, ืืื"ื ื). ืขืก ืืื ืืึทืืืฉืืงืึทื ืึทื 64 ืืืืืฆืขืื ืคืื ืขื ืืขื ืงืึธืืืจ ืงืขื ืขื ืืืื ืืืกืงืจืืืื ืืืจื ืืืืื 1, ืืืืึทื ืื ืืืึธืง ืืจืืืก ืืื ืฉืืื ืืืงืื ื. ืึทืืื ืคืื ืคึฟืึทืจ ืื ืงืึทืืคึผืจืขืฉืึทื: 64 ืฆื 1.
ื.ืง.ื ืคืืจืืืื ืืื ืืขื ืืืึธืง ืืื ื ืกืคึผืขืงืืจืื, ืืื ืืืื ืื ืจืืืื ืื ืืืืฉื ืืื ืฉืืจืฃ, ืืืขืจื ืืขืจ ืงืืืคืืฆืืื ื ืคืืืืืืื, ืืื ืืืืก ืฉืึทืจืคืขืจ ืืขืจ ืืืืขืจืืึทื ื, ืึทืืฅ ืืขืืขืจ ืืืขื ืืขืจ ืจืขืืืืืึทื ืืืื. ืืืขื ืื ืงืึธืืึทืคืืฉืึทื ื ืืื ืืขืืขืจ, ืื ืืืื ืืืืืื ืงืืึธืจ ืืจืึทื ืืืฉืึทื ื ืืื ืงืึธืืืจ ืืื ืืจืืืื ืึทืก, ืืื ืขืก ืืื ื ืืืขืจืืงืขืจ - ืฉืืืึทื (ืืืึทื) ืขื ืืขืจืื ืืขื ืืื ืื ืืืึทืืืขืก ืคืื ืื YCbCr ืงืึทืืคึผืึธืื ืึทื ืฅ ืืื ืื ืืืึธืง.
ืงืืืึทื ืืืืึทืืืึธื
ืงืึทืืคึผืจืขืฉืึทื ืกืขืืืื ืืก ืืขื ืขื ืฉืืื ืืขืืืขื ืื ืืึธ. ืืขืืขืจ ืคืื ืื ืงืึธืืึทืคืืฉืึทื ืฅ ืืื ืืขืืขืจ ืคืื ืื 8x8 ืืึทืืจืืฅ ืืื ืฆืขืืืืื ืืืจื ืึท ืืืืขืจ ื ืืืขืจ. ืืืื ืืืจ ืืืขื ื ืืฉื ืจืขืืืฆืืจื ืื ืืืื ืงืืืึทืืืืขื ื ืึธื ืึทืืข ืื ืืึธืืืคืืงืึทืืืึธื ืก, ืื ืืืืืืืืขืจ ืืึธื ืืืื ืืืื ืขืจ. ืืืื ืืขืจ ืืึผืจืื ืคืึทืจื ืืืขื ืืืจื ืืขื ืคืึธืืึธ ืืื ืืขืจ ืืืืืืืง ืคึฟืึทืจ ืืืจ, ืื ืืืืืืืืขืจ ืืืขื ืืืื ืืขืจ ืืื 1, ืืื ืื ืงืืืึธืืืขื ื ืืืขื ืืืื ืจืึทืื ืืื. ืขืก ืืืจื ืก ืืืืก ืึทื ื ืึธื ืจืึทืื ืืื ื ืืืจ ืึธืคื ืขื ืืืงื ืืื ืึท ืคึผืืึทืฅ ืคืื ืืขืจืึธืก.
ืงืืืึทื ืืืืึทืืืึธื ืืื ืืขืืื ืฆื ืืึทืื ืื ืืขืืืขืืงืืื ืคืื ืืคืืื ืืจืขืกืขืจ ืงืึทืืคึผืจืขืฉืึทื. ืืึธ ืก ืืื ืขืก ืงืืงื ืืื ื ืืฆื ืืขื ืืืึทืฉืคึผืื ืคืื ืงืืืึทื ืืืืืื ื ืื ืืจืึทืคืืง ื = ืืื ื (ืจืขื ืืืขื ):
ืฆืืืืืงืืืขืืฉื
ืขืจืฉืืขืจ ืืืจ ืืืื ืืืจื ืื ืืึทืืจืืฅ ืืื ืึท ืืื-ืืึทื ืืืกืืขืจ:
ืืืจ ืืึทืงืืืขื ืึท ืืืื-ืืืืขื ืฉืึทื ืึทื ืืขื ืืข ืืื ื ืืืขืจื. ืืืจ ืืขื ืึทื ืขืก ืืขื ืขื ืึท ืคึผืืึทืฅ ืคืื ืืขืจืึธืก ืืื ืขืก, ืืื ืงืขื ืขื ืืืื ืึทืืืขืงืืขื ืืืขื. ืฆื ืืึธื ืืึธืก, ืึทื ืฉืืึธื ืคืื ืึท ืกืืงืืืึทื ืก ืคืื ืคืืืข ืืขืจืึธืก, ืืืจ ืึทืจืืึทื 1 ื ืื ืืื ื ืึธื ืขืก ืึท ื ืืืขืจ ืืืึธืก ืื ืืืงืืืฅ ืืืืขืจ ื ืืืขืจ ืืื ืื ืกืืงืืืึทื ืก. ืืขื ืืืขื ืืืจ ืงืขื ืขื ืืึทืฉืืขืืืง ืฆื 1/3 ืื ืืจืืืก ืคืื ืื ืืื ืฆืข ืืขื ืืข. ืืื ืืขืืึธืื ืืืจ ืคืฉืื ืงืึธืืคึผืจืขืก ืืขื ืืขื ืืข ื ืืฆื ืื Huffman ืืืคึฟื ืืื ืฉืจืืึทืื ืขืก ืืื ืืขืจ ืืขืงืข ืืื.
ืืื ืืื ืืขืืืืื ื
ืืืืขืืื. ืืื PNG, JPEG ืืื ืืขื ืืฆื ืืื ืงืึทืืขืจืึทืก, ืึธืกืขืก (ืืื ืคืืจืืข ืืึธืืึธืก, ืึทืคึผืืึทืงืืืฉืึทื ืืืงืึทื ื, ืืืืืื ืึทืืืก) ืืื ืืื ืึทืืข ืืขืืืขื ืืขืืืื ืืื ืืืืืขืจ ืืึทืจืคึฟื ืฆื ืืืื ืกืืึธืจื.
ืจืขืืืืืึทื
ืืื ืืขืจ ืืึธืืขื ื, ืืืืกื ืืืขืื JPEG ืืื ืืืฆื ืืืขืจืืคืื ืืืืื ืคึฟืึทืจ ืืืืืื ืืงืจืืื ืฆืืืขืงื, ืืืืึทื ืขืก ืืื ืฉืืื ืืขืืืื ืืื ืืืืขืืื ืืื ืึธืคึผืืืืืืขื ืืืจื ืืจืืืก ืืจืืคึผืขืก ืคืื ืืขื ืืฉื, ืึธืืขืจ ืื ืืจืึทื ืื ืคืื ืืืืกื ืฉืึทืคึฟื ืืื ื ืึธื ืืขืฉืืึทืง.
ืงืืืืื
ืืงืืจ: www.habr.com