เบชเบฐโเบเบฒเบโเบเบตโเบญเบตเบโเบเบฑเปเบ! เบเปเบญเบเบเบปเบเบเบปเบเบเบงเบฒเบกเบเบตเปเบเบทเบเบเบฝเบเบเบทเบเปเบเปเบเบทเบญเบเบเบถเบเบชเบฐเบเบฒ 2019. เบเบตเปเปเบกเปเบเบเบฒเบเบชเบทเบเบเปเปเบเบญเบเบเบปเบเบเบงเบฒเบกเบเปเบฝเบงเบเบฑเบ WAVE เปเบฅเบฐ JPEG, เบเบตเปเบเบตเป
pinch เบเบญเบเบเบฐเบซเบงเบฑเบเบชเบฒเบ
เบเปเบงเบเบเบญเบเบเบปเบเบเบงเบฒเบก Wikipedia:
JPEG (เบเบธเปเบกเบเบนเปเบเปเบฝเบงเบเบฒเบเบเบฒเบเบเปเบฒเบเบฎเบนเบเบฎเปเบงเบก) เปเบกเปเบเบซเบเบถเปเบเปเบเบฎเบนเบเปเบเบเบเบฒเบเบดเบ raster เบเบตเปเบเบดเบเบปเบกเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบฎเบนเบเบเบฒเบเปเบฅเบฐเบฎเบนเบเบเบฒเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบ.
เบกเบฒเบเบเบฐเบเบฒเบเบเบตเปเปเบเปเบเบทเบเบเบฑเบเบเบฐเบเบฒเปเบเบเบเบธเปเบกเบเบนเปเบเปเบฝเบงเบเบฒเบเบเบฒเบเบเปเบฒเบเบฎเบนเบเบฎเปเบงเบกเบเบฑเบเปเบเบเบต 1991 เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเบเบญเบฑเบเบฎเบนเบเบเบฒเบเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบ.
เบฎเบนเบเบเบฒเบเบเบฒเบเบงเบฑเบเบเบธเบเบดเบเปเบเบซเบฒ JPEG เปเบเบงเปเบ?
เบเบฒเบเบเบปเบเบเบดเบเบงเปเบฒเบฎเบนเบเบเบฒเบ JPEG เปเบกเปเบเบเปเปเบกเบนเบเบเบดเบเบเบตเปเบเบทเบเบเบตเบเบญเบฑเบเปเบเบเปเบเปเบงเบดเบเบตเบเบฒเบ Huffman, เปเบเปเบเบตเปเบเปเปเปเบกเปเบเบเบงเบฒเบกเบเบดเบ. เบเปเบญเบเบเบตเปเบเบฐเบเบงเบเบเบธเบกเบเบฒเบเบเบตเบเบญเบฑเบ, เบเปเปเบกเบนเบเบเบฐเปเบเบตเบเบเบฒเบเปเบ.
เบซเบเปเบฒเบเปเบฒเบญเบดเบ, เบฎเบนเบเปเบเบเบชเบตเปเบเปเบเบทเบเบเปเบฝเบเบเบฒเบ RGB เบเบฑเบ YCbCr. เบกเบตโเปเบเบดเบโเปเบกเปเบโเบงเปเบฒโเบงเบดโเบเบตโเบเบฒเบโเบเบดโเปเบชเบโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบเบตเป -
เบชเบดเปเบเบเปเบฒเบญเบดเบเบเบตเปเบเปเบญเบเปเบฎเบฑเบเบเบฑเบเบฎเบนเบเบเบฒเบเปเบกเปเบ "เบเบฒเบเป" (เบเบฒเบเปเบเบฑเบเบเบปเบงเบขเปเบฒเบเบเปเบญเบ). เบเบตเปเปเบกเปเบเบเปเบฒเบเบเบตเปเบเบฐเปเบเบปเปเบฒเปเบ: เบญเบฒเปเบฃ 2x2 เบเบญเบ pixels เปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ Cb เปเบฅเบฐ Cr เบเบทเบเบเบฐเบเบดเบเบฑเบ - เบเปเบฒเบชเบฐเปเบฅเปเบเบเบญเบเปเบเปเบฅเบฐเบญเบปเบเบเบฐเบเบญเบ YCbCr เบเบญเบ 4 pixels เปเบซเบผเบปเปเบฒเบเบตเป. เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฐ 6 bytes, เปเบเบเบเบตเปเบเบฐ 4 Y, 4 Cb, 4 Cr เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบ 4 Y เปเบฅเบฐ Cb เปเบฅเบฐ Cr เบเบฝเบงเบเบฑเบเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเบปเบ (4 + 4 + 4 = 12; 4 + 1 + 1 = 6; 12 - 6 = 6). เปเบกเปเปเบเปเบเบฐเบซเบเบฒเบ 2x2, เบเบฒเบเบเบตเบเบญเบฑเบเบเบฒเบเบชเบนเบเปเบชเบเบเบตเปเบกเบตเบญเบฑเบเบเบฒเบชเปเบงเบเบเบฒเบเบเบตเบเบญเบฑเบ 2: 1 เปเบเบดเปเบเบเบทเบงเปเบฒเปเบเบ. เบเบตเปเปเบเปเบเบฑเบเบฎเบนเบเบเบฒเบเบเบฑเบเบซเบกเบปเบ. เปเบฅเบฐเบเบฑเปเบเบเบฑเปเบ - เบเบงเบเปเบเบปเบฒเบซเบผเบธเบเบฅเบปเบเปเบเบดเปเบเบซเบเบถเปเบ. เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเปเบเบฑเบเบเบดเบเบเบตเปเบเปเบญเบเบเบฒเบเบฎเบฑเบเบฎเบนเปเบชเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบเบธเบเบเบปเบเบเบฐเบชเบฑเบเปเบเบเปเบซเบฑเบเบเบงเบฒเบกเปเบเบเบเปเบฒเบเบเบญเบเบเบงเบฒเบกเบชเบฐเบซเบงเปเบฒเบเปเบเปเบเปเบฒเบ, เปเบเปเบเปเปเบกเบตเบชเบต, เบเปเบฒเบกเบฑเบเบชเบฐเปเบฅเปเบเบซเบผเบฒเบเบเบงเปเบฒ pixels เบเปเบญเบเป. เบเบฒเบเปเบฎเบฑเบเปเบซเปเบเบฒเบเปเบเบฑเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเปเบเบฑเบเปเบชเบฑเปเบ, 4 pixels เบเบฒเบกเปเบเบงเบเบญเบ เปเบฅเบฐเปเบเบงเบเบฑเปเบ. เบเบฒเบเปเบฅเบทเบญเบเบเปเบฒเบญเบดเบเปเบกเปเบเบเบทเบเบเปเบฒเปเบเปเปเบฅเบทเปเบญเบเป. เบเปเบฒเบเบธเบเบเบฐเบเบฒเบเบเบญเบเบฎเบนเบเบเบฒเบเบกเบตเบเบงเบฒเบกเบชเปเบฒเบเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฒเบเบเปเบฒเบฅเบฒเบเบเปเปเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฑเบเบซเบกเบปเบ.
เบฎเบนเบโเบเบฒเบโเบเบตเปโเปเบเบฑเบโเบเบฒเบโเบเบญเบโเบเบฒเบโเปเบฎเบฑเบโเปเบซเปโเบเบฒเบ (Habr เบเปเปโเปเบเปโเบญเบฐโเบเบธโเบเบฒเบโเปเบซเปโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบชเป gif เปเบเปโ) -
เบชเปเบงเบเบเบปเปเบเบเปเบเบญเบเบเบฒเบเบเบฐเบเบฝเบก
Dkp
เบเบฝเบงเบเบตเปเบกเบฒเบชเปเบงเบเบเบตเปเบเบฒเบเบเบตเปเบชเบธเบ เปเบฅเบฐเบเบณเปเบเบฑเบเบเบตเปเบชเบธเบ. เบฎเบนเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเบเบทเบเปเบเปเบเบญเบญเบเปเบเบฑเบ 8x8 เบเบฑเบ (เบเบฒเบเบเบทเปเบกเบเปเปเบกเบนเบเปเบกเปเบเปเบเปเบเปเบฒเบเบงเบฒเบกเบฅเบฐเบญเบฝเบเบเปเปเปเบกเปเบเบซเบผเบฒเบเบเบญเบเบเปเบฒเบเบเบฅเบฑเบญเบ).
เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเปเบเปเบเบฑเบเปเบเปเบฅเบฐเบเบฑเบ DCT (Discrete Cosine Transform). เปเบเบชเปเบงเบเบเบตเป, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบตเปเบเปเปเบเปเบฒเปเบเบฑเบเบเบทเบเปเบญเบปเบฒเบญเบญเบเบเบฒเบเบฎเบนเบ. เบเบฒเบโเบเปเบฒโเปเบเป DCTโ, เบเปเบฒเบโเบเปเบฒโเปเบเบฑเบโเบเปเบญเบโเปเบเบปเปเบฒโเปเบโเบเปเปโเบงเปเบฒโเบเบฐโเปเบเบฑเบโเบเบฑเบโเบเบตเปโเปเบเปโเบฎเบฑเบ (8 ร 8โ) เบญเบฐโเบเบดโเบเบฒเบโเบชเปเบงเบโเบซเบเบถเปเบ monotonous เบเบญเบโเบฎเบนเบโเบเบฒเบโ: เบเปเบญเบโเบเปเบฒโ, เบเปเบฒโเปเบเบโเบซเบตเบโ; เบซเบผเบทเบกเบฑเบเบกเบตเปเบเบเบชเปเบฒเบเบเบตเปเบชเบฑเบเบชเบปเบ (เบเบปเบก, เบชเบฑเบเบเบฒเบฅเบฑเบ, เปเบฅเบฐเบญเบทเปเบเป). เบกเบฑเบเปเบเบฑเบเปเบซเบเบเบปเบเบงเปเบฒ 64 pixels เบเบญเบเบชเบตเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบเบฒเบเบญเบฐเบเบดเบเบฒเบเบเบฝเบเปเบเป 1, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ เบเบฐเบซเบเบฒเบเบเบฑเบเปเบกเปเบเปเบเบฑเบเบเบตเปเบฎเบนเปเบเบฑเบเปเบฅเปเบง. เบเบฑเปเบเบเบฑเปเบเบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเบเบญเบฑเบ: 64 เบเบฑเบ 1.
DCT turns block เปเบเบปเปเบฒเปเบเปเบ spectrum, เปเบฅเบฐเบเปเบญเบเบเบตเปเบเบฒเบเบญเปเบฒเบเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ, coefficient เบเบฒเบเปเบเบฑเบเบเบงเบ, เปเบฅเบฐ sharper เบเบฒเบเบซเบฑเบเบเปเบฝเบ, เบเบปเบเบเบฐเบฅเบดเบเบเบฐเบชเบนเบเบเบถเปเบ. เบเปเบญเบเบเบตเปเบเปเบฒเบชเปเบฒเบเบฐเบชเบดเบเบชเบนเบเบเบงเปเบฒ, เบฎเบนเบเบเบฒเบเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเบเบฑเบเปเบเบเปเบเบชเบตเปเบฅเบฐเบเบงเบฒเบกเบชเบฐเบซเบงเปเบฒเบ, เบเปเบญเบเบเบตเปเบกเบฑเบเบเปเปเบฒ - เบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเบญเปเบญเบเปเบญ (เบเปเบฝเบ) เปเบเบเปเบฒเบเบญเบเบญเบปเบเบเบฐเบเบญเบ YCbCr เปเบเบเบฅเบฑเบญเบ.
เบเบฒเบเบเบดเบเปเบฅเปเบเบฐเบฅเบดเบกเบฒเบ
เบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเบเบตเบเบญเบฑเบเบเบทเบเบเบณเปเบเปเบขเบนเปเบเปเบญเบเบเบตเป. เปเบเปเบฅเบฐเบเบปเบงเบเบนเบเปเบเปเบเปเบฅเบฐ 8x8 matrices เบเบทเบเปเบเปเบเบญเบญเบเบเปเบงเบเบเปเบฒเบเบงเบเบเบตเปเปเบเปเบเบญเบ. เบเปเบฒเบเปเบฒเบเบเบฐเบเปเปเบซเบผเบธเบเบเปเบญเบเบเบธเบเบเบฐเบเบฒเบเบฎเบนเบเบเบฒเบเบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบฑเบเปเบเบเบเบฑเบเบซเบกเบปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบปเบงเปเบเปเบเบเบงเบเบเบฐเปเบเบฑเบเบซเบเบถเปเบ. เบเปเบฒเบเบงเบฒเบกเบเบปเบเบเบณเบเบตเปเบฎเบนเบเบเบตเปเบเบทเปเบญเบปเบฒเปเบงเปเบชเบณเบเบฑเบเบเบงเปเบฒเบชเบณเบฅเบฑเบเปเบเบปเปเบฒ, เบเบปเบงเบซเบฒเบเบเบฐเปเบซเบเปเบเบงเปเบฒ 1, เปเบฅเบฐเบเปเบฒเบเบนเบเบเบฐเบเบทเบเบกเบปเบ. เบกเบฑเบ turns เปเบซเปโเปเบซเบฑเบโเบงเปเบฒโเบซเบผเบฑเบโเบเบฒเบโเบเบฒเบโเบกเบปเบโ, เบเปเบฒเบโเบกเบฑเบโเบเบฐโเบชเบดเปเบโเบชเบธเบโเบฅเบปเบโเบเปเบงเบโเบซเบผเบฒเบโเบเบญเบโเบชเบนเบโ.
Quantization เปเบกเปเบเปเบฎเบฑเบเปเบเบทเปเบญเบชเปเบฒเบเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเบเบตเบเบญเบฑเบเบซเบผเบฒเบเบเบงเปเบฒเปเบเบปเปเบฒ. เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเปเบเบดเปเบเบเบทเบงเปเบฒเบเบฒเบเบเปเบฒเปเบเปเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเบเบดเบเปเบฅเปเปเบชเบฑเปเบเบชเบฐเปเบเบ y = sin(x):
เบเบฒเบเบเบตเบเบญเบฑเบ
เบเปเบฒเบญเบดเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบ matrix เปเบเบฎเบนเบเปเบเบ zig-zag:
เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบ array เบกเบดเบเบดเบซเบเบถเปเบเบเบตเปเบกเบตเบเบปเบงเปเบฅเบ. เบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบเบงเปเบฒเบกเบตเบชเบนเบเบซเบผเบฒเบเบขเบนเปเปเบเบเบฑเปเบ, เบเบงเบเปเบเบปเบฒเบชเบฒเบกเบฒเบเปเบญเบปเบฒเบญเบญเบเปเบเป. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบฅเปเบฒเบเบฑเบเบเบญเบเบชเบนเบเบซเบผเบฒเบ, เบเบงเบเปเบฎเบปเบฒเปเบชเป 1 เบชเบนเบเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบกเบฑเบเปเบเบฑเบเบเบปเบงเปเบฅเบเบเบตเปเบเบตเปเบเบญเบเบเปเบฒเบเบงเบเบเบญเบเบเบงเบเปเบเบปเบฒเปเบเบฅเปเบฒเบเบฑเบ. เบงเบดเบเบตเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฑเบเปเบเบฑเบ 1/3 เบเบฐเบซเบเบฒเบเบเบญเบเบญเบฒเปเบฅเบเบฑเบเบซเบกเบปเบ. เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฝเบเปเบเปเบเบตเบเบญเบฑเบเบญเบฒเปเบฃเบเบตเปเปเบเบเปเบเปเบงเบดเบเบตเบเบฒเบ Huffman เปเบฅเบฐเบเบฝเบเบกเบฑเบเปเบเบปเปเบฒเปเบเปเบเปเบเบฅเปเบเบปเบงเบกเบฑเบเปเบญเบ.
เปเบเปเบขเบนเปเปเบช
เบขเบนเปเบเบปเปเบงเบเบธเบเปเบซเปเบ. เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบ PNG, JPEG เบเบทเบเปเบเปเปเบเบเปเบญเบเบเปเบฒเบเบฎเบนเบ, OSes (เปเบเบฑเบเปเบฅเปเบเปเบเบญเบเบเปเบฅเบดเบชเบฑเบ, เปเบญเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ, เบฎเบนเบเบเบปเบงเบขเปเบฒเบ) เปเบฅเบฐเปเบเบเบธเบเบเบทเปเบเบเบตเปเบเบตเปเปเบเบฑเบเปเบเปเบเปเบเบตเปเบฎเบนเบเบเบฒเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบงเปเบขเปเบฒเบเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบ.
เบชเบฐเบซเบฅเบธเบ
เปเบเบเบฑเบเบเบธเบเบฑเบ, เบเบงเบฒเบกเบฎเบนเปเบเปเบฝเบงเบเบฑเบ JPEG เปเบกเปเบเบกเบตเบเบธเบเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบถเบเบชเบฒเปเบเบปเปเบฒเบเบฑเปเบ, เปเบเบฒเบฐเบงเปเบฒเบกเบฑเบเปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบเบขเบนเปเบเบปเปเบงเบเบธเบเปเบซเปเบเปเบฅเบฐเบเบทเบเบเบฑเบเบเบธเบเปเบซเปเบเบตเบเบตเปเบชเบธเบเปเบเบเบเบฐเบเบฒเบเบปเบเบเบธเปเบกเปเบซเบเป, เปเบเป granite เบเบญเบเบงเบดเบเบฐเบเบฒเบชเบฒเบเบเบฑเบเบกเบตเบฅเบปเบเบเบฒเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com