ΠΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ JPEG Π΄Π»Ρ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ² / Habr
[FF D8]
ΠΠ°ΠΌ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΡΠ·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½ jpg-ΡΠ°ΠΉΠ»? Π‘Π΅ΠΉΡΠ°Ρ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ! ΠΡΠΎΠ³ΡΠ΅Π²Π°ΠΉΡΠ΅ Π²Π°Ρ Π»ΡΠ±ΠΈΠΌΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΈ hex-ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, Π±ΡΠ΄Π΅ΠΌ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ:
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π²Π·ΡΠ» ΡΠΈΡΡΠ½ΠΎΠΊ ΠΏΠΎΠΌΠ΅Π½ΡΡΠ΅. ΠΡΠΎ Π·Π½Π°ΠΊΠΎΠΌΡΠΉ, Π½ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΆΠ°ΡΡΠΉ favicon ΠΡΠ³Π»Π°:
ΠΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΏΡΠΎΡΠ΅Π½ΠΎ, ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π΅ ΠΏΠΎΠ»Π½Π°Ρ, Π½ΠΎ Π·Π°ΡΠΎ ΠΏΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
ΠΠ°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΌΡ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠΎΠ΅-ΡΡΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π°.
[FF D8] β ΠΌΠ°ΡΠΊΠ΅Ρ Π½Π°ΡΠ°Π»Π°. ΠΠ½ Π²ΡΠ΅Π³Π΄Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ Π²ΡΠ΅Ρ jpg-ΡΠ°ΠΉΠ»ΠΎΠ².
Π‘Π»Π΅Π΄ΠΎΠΌ ΠΈΠ΄ΡΡ Π±Π°ΠΉΡΡ [FF FE]. ΠΡΠΎ ΠΌΠ°ΡΠΊΠ΅Ρ, ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠΉ Π½Π°ΡΠ°Π»ΠΎ ΡΠ΅ΠΊΡΠΈΠΈ Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ 2 Π±Π°ΠΉΡΠ° [00 04] β Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΊΡΠΈΠΈ (Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠΈ 2 Π±Π°ΠΉΡΠ°). ΠΠ½Π°ΡΠΈΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π΄Π²ΡΡ [3A 29] β ΡΠ°ΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ. ΠΡΠΎ ΠΊΠΎΠ΄Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² «:» ΠΈ «)», Ρ.Π΅. ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ°ΠΉΠ»ΠΈΠΊΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΅Π³ΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ hex-ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΎΡΠΈΠΈ
ΠΡΠ΅Π½Ρ ΠΊΡΠ°ΡΠΊΠΎ:
- ΠΠ±ΡΡΠ½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΈΠ· ΡΠ²Π΅ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° RGB Π² YCbCr.
- Π§Π°ΡΡΠΎ ΠΊΠ°Π½Π°Π»Ρ Cb ΠΈ Cr ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°ΡΡ, ΡΠΎ Π΅ΡΡΡ Π±Π»ΠΎΠΊΡ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΡΡΡΠ΅Π΄Π½Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π² 2 ΡΠ°Π·Π° ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ, ΠΏΠΈΠΊΡΠ΅Π»ΠΈ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅:
- ΠΠ°ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡΡΡ Π½Π° Π±Π»ΠΎΠΊΠΈ 8×8 (Π²ΡΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΡΠΈ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΠΊΠΈ Π½Π° ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠΆΠ°ΡΠΎΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ).
- ΠΠ°ΠΆΠ΄ΡΠΉ Π±Π»ΠΎΠΊ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°Π΅ΡΡΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎ-ΠΊΠΎΡΠΈΠ½ΡΡΠ½ΠΎΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ (ΠΠΠ), ΡΠ²Π»ΡΡΡΠ΅ΠΌΡΡ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π€ΡΡΡΠ΅. ΠΠΎΠ»ΡΡΠΈΠΌ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅ΡΠΎΠ² 8×8. ΠΡΠΈΡΠ΅ΠΌ Π»Π΅Π²ΡΠΉ Π²Π΅ΡΡ Π½ΠΈΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ DC-ΠΊΠΎΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠΌ (ΠΎΠ½ ΡΠ°ΠΌΡΠΉ Π²Π°ΠΆΠ½ΡΠΉ ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ΅Π΄Π½Π΅Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ), Π° ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ 63 β AC-ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ°ΠΌΠΈ.
- ΠΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠ΅ΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΊΠ²Π°Π½ΡΡΡΡΡΡ, Ρ.Π΅. ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΡΡΡ Π½Π° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ (ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²ΠΎΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ).
- ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ ΠΊΠΎΠ΄ΠΈΡΡΡΡΡΡ ΠΊΠΎΠ΄Π°ΠΌΠΈ Π₯Π°ΡΡΠΌΠ°Π½Π°.
ΠΠ°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎ, Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΡΠ°ΡΡΡΠΌΠΈ:
ΠΠ°ΠΆΠ΄ΡΠΉ Π±Π»ΠΎΠΊ Yij, Cbij, Crij β ΡΡΠΎ ΠΌΠ°ΡΡΠΈΡΠ° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΠΠ (ΡΠ°ΠΊ ΠΆΠ΅ 8×8), Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΊΠΎΠ΄Π°ΠΌΠΈ Π₯Π°ΡΡΠΌΠ°Π½Π°. Π ΡΠ°ΠΉΠ»Π΅ ΠΎΠ½ΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅: Y00Y10Y01Y11Cb00Cr00Y20…
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°
Π€Π°ΠΉΠ» ΠΏΠΎΠ΄Π΅Π»Π΅Π½ Π½Π° ΡΠ΅ΠΊΡΠΎΡΡ, ΠΏΡΠ΅Π΄Π²Π°ΡΡΠ΅ΠΌΡΠ΅ ΠΌΠ°ΡΠΊΠ΅ΡΠ°ΠΌΠΈ. ΠΠ°ΡΠΊΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ Π΄Π»ΠΈΠ½Ρ 2 Π±Π°ΠΉΡΠ°, ΠΏΡΠΈΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ Π±Π°ΠΉΡ [FF]. ΠΠΎΡΡΠΈ Π²ΡΠ΅ ΡΠ΅ΠΊΡΠΎΡΡ Ρ ΡΠ°Π½ΡΡ ΡΠ²ΠΎΡ Π΄Π»ΠΈΠ½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ 2 Π±Π°ΠΉΡΠ° ΠΏΠΎΡΠ»Π΅ ΠΌΠ°ΡΠΊΠ΅ΡΠ°. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠΌ ΠΌΠ°ΡΠΊΠ΅ΡΡ:
ΠΠ°ΡΠΊΠ΅Ρ [FF DB]: DQT β ΡΠ°Π±Π»ΠΈΡΠ° ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ
- [00 43] ΠΠ»ΠΈΠ½Π°: 0x43 = 67 Π±Π°ΠΉΡ
- [0_] ΠΠ»ΠΈΠ½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ°Π±Π»ΠΈΡΠ΅: 0 (0 β 1 Π±Π°ΠΉΡ, 1 β 2 Π±Π°ΠΉΡΠ°)
- [_0] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ: 0
ΠΡΡΠ°Π²ΡΠΈΠΌΠΈΡΡ 64-ΠΌΡ Π±Π°ΠΉΡΠ°ΠΌΠΈ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ 8×8.
[A0 6E 64 A0 F0 FF FF FF]
[78 78 8C BE FF FF FF FF]
[8C 82 A0 F0 FF FF FF FF]
[8C AA DC FF FF FF FF FF]
[B4 DC FF FF FF FF FF FF]
[F0 FF FF FF FF FF FF FF]
[FF FF FF FF FF FF FF FF]
[FF FF FF FF FF FF FF FF]
ΠΡΠΈΠ³Π»ΡΠ΄ΠΈΡΠ΅ΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠΎΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ zigzag order:
ΠΠ°ΡΠΊΠ΅Ρ [FF C0]: SOF0 β Baseline DCT
ΠΡΠΎΡ ΠΌΠ°ΡΠΊΠ΅Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ SOF0, ΠΈ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΎ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ. ΠΠ½ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½. ΠΠΎ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ Π·Π½Π°ΠΊΠΎΠΌΡΠΉ Π²Π°ΠΌ progressive-ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΠ³Π΄Π° ΡΠ½Π°ΡΠ°Π»Π° Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ Π½ΠΈΠ·ΠΊΠΈΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π° ΠΏΠΎΡΠΎΠΌ ΠΈ Π½ΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΡ ΡΡΠΎ ΡΠ°ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΎ, Π½Π΅ Π΄ΠΎΠΆΠΈΠ΄Π°ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ. Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
- [00 11] ΠΠ»ΠΈΠ½Π°: 17 Π±Π°ΠΉΡ.
- [08] Precision: 8 Π±ΠΈΡ. Π Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ Π²ΡΠ΅Π³Π΄Π° 8. ΠΡΠΎ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΠ°Π½Π°Π»ΠΎΠ².
- [00 10] ΠΡΡΠΎΡΠ° ΡΠΈΡΡΠ½ΠΊΠ°: 0x10 = 16
- [00 10] Π¨ΠΈΡΠΈΠ½Π° ΡΠΈΡΡΠ½ΠΊΠ°: 0x10 = 16
- [03] ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ°Π½Π°Π»ΠΎΠ²: 3. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ Y, Cb, Cr ΠΈΠ»ΠΈ R, G, B
1-ΠΉ ΠΊΠ°Π½Π°Π»:
- [01] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ: 1
- [2_] ΠΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (h2): 2
- [_2] ΠΠ΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (V1): 2
- [00] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ: 0
2-ΠΉ ΠΊΠ°Π½Π°Π»:
- [02] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ: 2
- [1_] ΠΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (h3): 1
- [_1] ΠΠ΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (V2): 1
- [01] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ: 1
3-ΠΉ ΠΊΠ°Π½Π°Π»:
- [03] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ: 3
- [1_] ΠΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (h4): 1
- [_1] ΠΠ΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (V3): 1
- [01] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ: 1
ΠΠ°Ρ
ΠΎΠ΄ΠΈΠΌ H
ΠΠ°ΡΠΊΠ΅Ρ [FF C4]: DHT (ΡΠ°Π±Π»ΠΈΡΠ° Π₯Π°ΡΡΠΌΠ°Π½Π°)
ΠΡΠ° ΡΠ΅ΠΊΡΠΈΡ Ρ ΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Ρ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π₯Π°ΡΡΠΌΠ°Π½Π°.
- [00 15] ΠΠ»ΠΈΠ½Π°: 21 Π±Π°ΠΉΡ
- [0_] ΠΠ»Π°ΡΡ: 0 (0 β ΡΠ°Π±Π»ΠΈΡΠ° DC ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ², 1 β ΡΠ°Π±Π»ΠΈΡΠ° AC ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ²).
- [_0] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ: 0
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ 16 Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
ΠΠ»ΠΈΠ½Π° ΠΊΠΎΠ΄Π° Π₯Π°ΡΡΠΌΠ°Π½Π°: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄ΠΎΠ²: [01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00]
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄ΠΎΠ² ΡΠ°ΠΊΠΎΠΉ Π΄Π»ΠΈΠ½Ρ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ΅ΠΊΡΠΈΡ Ρ
ΡΠ°Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»ΠΈΠ½Ρ ΠΊΠΎΠ΄ΠΎΠ², Π° Π½Π΅ ΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄Ρ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΠΉΡΠΈ ΠΊΠΎΠ΄Ρ ΡΠ°ΠΌΠΈ. ΠΡΠ°ΠΊ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ΄ Π΄Π»ΠΈΠ½Ρ 1 ΠΈ ΠΎΠ΄ΠΈΠ½ β Π΄Π»ΠΈΠ½Ρ 2. ΠΡΠΎΠ³ΠΎ 2 ΠΊΠΎΠ΄Π°, Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ² Π² ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ Π½Π΅Ρ.
- [03] β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1-Π³ΠΎ ΠΊΠΎΠ΄Π°
- [02] β Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 2-Π³ΠΎ ΠΊΠΎΠ΄Π°
ΠΠ°Π»Π΅Π΅ Π² ΡΠ°ΠΉΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ Π΅ΡΠ΅ 3 ΠΌΠ°ΡΠΊΠ΅ΡΠ° [FF C4], Ρ ΠΏΡΠΎΠΏΡΡΡ ΡΠ°Π·Π±ΠΎΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΡΠ΅ΠΊΡΠΈΠΉ, ΠΎΠ½ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡ.
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π΄Π΅ΡΠ΅Π²Π° ΠΊΠΎΠ΄ΠΎΠ² Π₯Π°ΡΡΠΌΠ°Π½Π°
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΏΠΎ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π² ΡΠ΅ΠΊΡΠΈΠΈ DHT. Π ΡΠΆΠ΅ ΠΏΠΎ ΡΡΠΎΠΌΡ Π΄Π΅ΡΠ΅Π²Ρ ΠΌΡ ΡΠ·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ΄. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΊΠ°Π·Π°Π½Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΡΡ: Π² ΠΊΠ°ΠΊΠΎΠΌ Π±Ρ ΡΠ·Π»Π΅ ΠΌΡ Π½ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ, Π²ΡΠ΅Π³Π΄Π° ΠΏΡΡΠ°Π΅ΠΌΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π»Π΅Π²ΡΡ Π²Π΅ΡΠ²Ρ. Π Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π·Π°Π½ΡΡΠ°, ΡΠΎ Π² ΠΏΡΠ°Π²ΡΡ. Π Π΅ΡΠ»ΠΈ ΠΈ ΡΠ°ΠΌ Π½Π΅Ρ ΠΌΠ΅ΡΡΠ°, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΡΠ΅, ΠΈ ΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΎΡΡΡΠ΄Π°. ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ Π½ΡΠΆΠ½ΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ°Π²Π½ΠΎΠΌ Π΄Π»ΠΈΠ½Π΅ ΠΊΠΎΠ΄Π°. ΠΠ΅Π²ΡΠΌ Π²Π΅ΡΠ²ΡΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0, ΠΏΡΠ°Π²ΡΠΌ β 1.
ΠΠ΅ΡΠ΅Π²ΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°Π±Π»ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
Π ΠΊΡΡΠΆΠΊΠ°Ρ β Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ΄ ΠΊΡΡΠΆΠΊΠ°ΠΌΠΈ β ΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄Ρ (ΠΏΠΎΡΡΠ½Ρ, ΡΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΈΡ , ΠΏΡΠΎΠΉΠ΄Ρ ΠΏΡΡΡ ΠΎΡ Π²Π΅ΡΡΠΈΠ½Ρ Π΄ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ·Π»Π°). ΠΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΎ ΡΠ°ΠΌΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΈΡΡΠ½ΠΊΠ°.
ΠΠ°ΡΠΊΠ΅Ρ [FF DA]: SOS (Start of Scan)
ΠΠ°ΠΉΡ [DA] Π² ΠΌΠ°ΡΠΊΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ β Β«ΠΠ! ΠΠ°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΡΠΎ ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ ΠΊ ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΊΡΠΈΠΈ!Β». ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ΠΊΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ SOS.
- [00 0C] ΠΠ»ΠΈΠ½Π°: 12 Π±Π°ΠΉΡ.
- [03] ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ°Π½Π°Π»ΠΎΠ². Π£ Π½Π°Ρ 3, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π½Π° Y, Cb, Cr.
1-ΠΉ ΠΊΠ°Π½Π°Π»:
- [01] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ°Π½Π°Π»Π°: 1 (Y)
- [0_] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ Π₯Π°ΡΡΠΌΠ°Π½Π° Π΄Π»Ρ DC ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ²: 0
- [_0] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ Π₯Π°ΡΡΠΌΠ°Π½Π° Π΄Π»Ρ AC ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ²: 0
2-ΠΉ ΠΊΠ°Π½Π°Π»:
- [02] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ°Π½Π°Π»Π°: 2 (Cb)
- [1_] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ Π₯Π°ΡΡΠΌΠ°Π½Π° Π΄Π»Ρ DC ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ²: 1
- [_1] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ Π₯Π°ΡΡΠΌΠ°Π½Π° Π΄Π»Ρ AC ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ²: 1
3-ΠΉ ΠΊΠ°Π½Π°Π»:
- [03] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ°Π½Π°Π»Π°: 3 (Cr)
- [1_] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ Π₯Π°ΡΡΠΌΠ°Π½Π° Π΄Π»Ρ DC ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ²: 1
- [_1] ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ Π₯Π°ΡΡΠΌΠ°Π½Π° Π΄Π»Ρ AC ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ²: 1
[00], [3F], [00] β Start of spectral or predictor selection, End of spectral selection, Successive approximation bit position. ΠΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°, ΡΡΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΡΠ°ΡΡΠΈ.
ΠΡΡΡΠ΄Π° ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° (ΠΌΠ°ΡΠΊΠ΅ΡΠ° [FF D9]) Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΠ°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
ΠΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π±ΠΈΡΠΎΠ²ΡΠΉ ΠΏΠΎΡΠΎΠΊ. ΠΠ΅ΡΠ²ΡΡ 33 Π±ΠΈΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ²:
ΠΠ°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ DC-ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ°
1) Π§ΠΈΡΠ°Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±ΠΈΡΠΎΠ² (Π΅ΡΠ»ΠΈ Π²ΡΡΡΠ΅ΡΠΈΠΌ 2 Π±Π°ΠΉΡΠ° [FF 00], ΡΠΎ ΡΡΠΎ Π½Π΅ ΠΌΠ°ΡΠΊΠ΅Ρ, Π° ΠΏΡΠΎΡΡΠΎ Π±Π°ΠΉΡ [FF]). ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΠΈΡΠ° ΡΠ΄Π²ΠΈΠ³Π°Π΅ΠΌΡΡ ΠΏΠΎ Π΄Π΅ΡΠ΅Π²Ρ Π₯Π°ΡΡΠΌΠ°Π½Π° (Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ) ΠΏΠΎ Π²Π΅ΡΠ²ΠΈ 0 ΠΈΠ»ΠΈ 1, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΡΠΎΡΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΡΠ°. ΠΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΠ·Π»Π΅.
2) ΠΠ΅ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ·Π»Π°. ΠΡΠ»ΠΈ ΠΎΠ½ΠΎ ΡΠ°Π²Π½ΠΎ 0, ΡΠΎ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΡΠ°Π²Π΅Π½ 0, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π² ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ². Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ β 02. ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β Π΄Π»ΠΈΠ½Π° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ° Π² Π±ΠΈΡΠ°Ρ . Π’. Π΅. ΡΠΈΡΠ°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ 2 Π±ΠΈΡΠ°, ΡΡΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ:
3) ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΡΠΈΡΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ β 1, ΡΠΎ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π΅ΡΡΡ: DC = <Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅>
. ΠΠ½Π°ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ: DC = <Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅>-2^<Π΄Π»ΠΈΠ½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ>+1
. ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ Π² ΡΠ°Π±Π»ΠΈΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ Π·ΠΈΠ³Π·Π°Π³Π° β Π»Π΅Π²ΡΠΉ Π²Π΅ΡΡ
Π½ΠΈΠΉ ΡΠ³ΠΎΠ».
ΠΠ°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ AC-ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ²
1) ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΏ. 1, Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ DC ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ°. ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΡΠΈΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ:
2) ΠΠ΅ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ·Π»Π°. ΠΡΠ»ΠΈ ΠΎΠ½ΠΎ ΡΠ°Π²Π½ΠΎ 0, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π½ΡΠ»ΡΠΌΠΈ. ΠΠ°Π»ΡΡΠ΅ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π° ΡΠΆΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΌΠ°ΡΡΠΈΡΠ°. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ·Π»Π°: 0x31.
- ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΠ»ΡΠ±Π°ΠΉΡ: 0x3 β ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠ»Π΅ΠΉ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΌΠ°ΡΡΠΈΡΡ. ΠΡΠΎ 3 Π½ΡΠ»Π΅Π²ΡΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ°.
- ΠΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»ΡΠ±Π°ΠΉΡ: 0x1 β Π΄Π»ΠΈΠ½Π° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ° Π² Π±ΠΈΡΠ°Ρ . Π§ΠΈΡΠ°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π±ΠΈΡ.
- ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΏ. 3 Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ DC-ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ°.
Π§ΠΈΡΠ°ΡΡ AC-ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΡΠΊΠ½Π΅ΠΌΡΡ Π½Π° Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡΡ ΠΌΠ°ΡΡΠΈΡΠ°.
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ:
ΠΈ ΠΌΠ°ΡΡΠΈΡΡ:
[2 0 3 0 0 0 0 0]
[0 1 2 0 0 0 0 0]
[0 -1 -1 0 0 0 0 0]
[1 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
ΠΡ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ Π² ΡΠΎΠΌ ΠΆΠ΅ Π·ΠΈΠ³Π·Π°Π³ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅? ΠΡΠΈΡΠΈΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΏΡΠΎΡΡΠ°Ρ β ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ v ΠΈ u, ΡΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ΠΉ Π·Π½Π°ΡΠΈΠΌΠΎΡΡΡΡ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ Svu Π² Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎ-ΠΊΠΎΡΠΈΠ½ΡΡΠ½ΠΎΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠΎΡΡΠΎΠΌΡ, ΠΏΡΠΈ Π²ΡΡΠΎΠΊΠΈΡ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ ΡΠΆΠ°ΡΠΈΡ ΠΌΠ°Π»ΠΎΠ·Π½Π°ΡΠ°ΡΠΈΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΎΠ±Π½ΡΠ»ΡΡΡ, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠΌΠ΅Π½ΡΡΠ°Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π°.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΅ΡΠ΅ 3 ΠΌΠ°ΡΡΠΈΡΡ Y-ΠΊΠ°Π½Π°Π»Π°β¦
[-4 1 1 1 0 0 0 0] [ 5 -1 1 0 0 0 0 0] [-4 2 2 1 0 0 0 0] [ 0 0 1 0 0 0 0 0] [-1 -2 -1 0 0 0 0 0] [-1 0 -1 0 0 0 0 0] [ 0 -1 0 0 0 0 0 0] [ 0 -1 0 0 0 0 0 0] [-1 -1 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [-1 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
ΠΠΎ! ΠΠ°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ DC-ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ β ΡΡΠΎ Π½Π΅ ΡΠ°ΠΌΠΈ DC-ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ, Π° ΠΈΡ ΡΠ°Π·Π½ΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ (ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠ°Π½Π°Π»Π°)! ΠΡΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ ΠΌΠ°ΡΡΠΈΡΡ:
- DC Π΄Π»Ρ 2-ΠΎΠΉ: 2 + (-4) = -2
- DC Π΄Π»Ρ 3-ΠΎΠΉ: -2 + 5 = 3
- DC Π΄Π»Ρ 4-ΠΎΠΉ: 3 + (-4) = -1
[-2 1 1 1 0 0 0 0] [ 3 -1 1 0 0 0 0 0] [-1 2 2 1 0 0 0 0] [ 0 0 1 0 0 0 0 0] [-1 -2 -1 0 0 0 0 0] [-1 0 -1 0 0 0 0 0] [ 0 -1 0 0 0 0 0 0] [ 0 -1 0 0 0 0 0 0] [-1 -1 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [-1 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ. ΠΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π°.
β¦ ΠΈ ΠΏΠΎ ΠΌΠ°ΡΡΠΈΡΠ΅ Π΄Π»Ρ Cb ΠΈ Cr:
[-1 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0] [ 1 1 0 0 0 0 0 0] [1 -1 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [1 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0]
ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΡ
ΠΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΡΠ° ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΡΠ°ΠΏ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ? ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ½ΠΎΠΆΠΈΡΡ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΡΠ°Π»ΠΎΡΡ Π²ΡΠ±ΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΡ. Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ ΠΏΡΠΎΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠ°Π½Π°Π». ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ 0 (Ρ Π½Π°Ρ ΠΎΠ½Π° ΠΏΠ΅ΡΠ²Π°Ρ ΠΈΠ· Π΄Π²ΡΡ ). ΠΡΠ°ΠΊ, ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ 4 ΠΌΠ°ΡΡΠΈΡΡ Y-ΠΊΠ°Π½Π°Π»Π°:
[320 0 300 0 0 0 0 0] [-320 110 100 160 0 0 0 0]
[ 0 120 280 0 0 0 0 0] [ 0 0 140 0 0 0 0 0]
[ 0 -130 -160 0 0 0 0 0] [ 0 -130 0 0 0 0 0 0]
[140 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
[ 480 -110 100 0 0 0 0 0] [-160 220 200 160 0 0 0 0]
[-120 -240 -140 0 0 0 0 0] [-120 0 -140 0 0 0 0 0]
[ 0 -130 0 0 0 0 0 0] [-140 -130 0 0 0 0 0 0]
[-140 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
β¦ ΠΈ ΠΏΠΎ ΠΌΠ°ΡΡΠΈΡΠ΅ Π΄Π»Ρ Cb ΠΈ Cr.
[-170 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
[ 180 210 0 0 0 0 0 0] [180 -210 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0] [240 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0] [ 0 0 0 0 0 0 0 0]
Π Π΅ΡΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌ DC-ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠ±Π°Π²ΠΈΡΡ 1024:
- 320 + 1024 = 1344
- -320 + 1024 = 704
- 480 + 1024 = 1504
- -160 + 1024 = 864
- -170 + 1024 = 854
- 0 + 1024 = 1024
ΠΠ±ΡΠ°ΡΠ½ΠΎΠ΅ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎ-ΠΊΠΎΡΠΈΠ½ΡΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅
Π€ΠΎΡΠΌΡΠ»Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. Svu β Π½Π°ΡΠ° ΠΏΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ². u β ΡΡΠΎΠ»Π±Π΅Ρ, v β ΡΡΡΠΎΠΊΠ°. syx β Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ².
ΠΡΠΈΠ²Π΅Π΄Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠ°Π½Π°Π»Π° Y (Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠΊΡΡΠ³Π»Π΅Π½Ρ):
[138 92 27 -17 -17 28 93 139]
[136 82 5 -51 -55 -8 61 111]
[143 80 -9 -77 -89 -41 32 86]
[157 95 6 -62 -76 -33 36 86]
[147 103 37 -12 -21 11 62 100]
[ 87 72 50 36 37 55 79 95]
[-10 5 31 56 71 73 68 62]
[-87 -50 6 56 79 72 48 29]
ΠΈ Π΄Π»Ρ Cb Cr:
[ 60 52 38 20 0 -18 -32 -40] [ 19 27 41 60 80 99 113 120]
[ 48 41 29 13 -3 -19 -31 -37] [ 0 6 18 34 51 66 78 85]
[ 25 20 12 2 -9 -19 -27 -32] [-27 -22 -14 -4 7 17 25 30]
[ -4 -6 -9 -13 -17 -20 -23 -25] [-43 -41 -38 -34 -30 -27 -24 -22]
[ -37 -35 -33 -29 -25 -21 -18 -17] [-35 -36 -39 -43 -47 -51 -53 -55]
[ -67 -63 -55 -44 -33 -22 -14 -10] [ -5 -9 -17 -28 -39 -50 -58 -62]
[ -90 -84 -71 -56 -39 -23 -11 -4] [ 32 26 14 -1 -18 -34 -46 -53]
[-102 -95 -81 -62 -42 -23 -9 -1] [ 58 50 36 18 -2 -20 -34 -42]
4 ΠΌΠ°ΡΡΠΈΡΡ Y, ΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ Cb ΠΈ Cr, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°Π»ΠΈ ΠΊΠ°Π½Π°Π»Ρ ΠΈ 4 ΠΏΠΈΠΊΡΠ΅Π»ΡΠΌ Y ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Cb ΠΈ Cr. ΠΠΎΡΡΠΎΠΌΡ Π²ΡΡΠΈΡΠ»ΡΡΡ ΡΠ°ΠΊ: YCbCrToRGB(Yij, Cb[i/2][j/2], Cr[i/2][j/2])
YCbCr Π² RGB
R = Y + 1.402 * Cr
G = Y - 0.34414 * Cb - 0.71414 * Cr
B = Y + 1.772 * Cb
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠΉΠ΄ΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° [0, 255], ΡΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π³ΡΠ°Π½ΠΈΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠΎΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ ΠΊΠ°Π½Π°Π»ΠΎΠ² R, G, B Π΄Π»Ρ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ° 8×8 Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
255 248 194 148 169 215 255 255
255 238 172 115 130 178 255 255
255 208 127 59 64 112 208 255
255 223 143 74 77 120 211 255
237 192 133 83 85 118 184 222
177 161 146 132 145 162 201 217
56 73 101 126 144 147 147 141
0 17 76 126 153 146 127 108
231 185 117 72 67 113 171 217
229 175 95 39 28 76 139 189
254 192 100 31 15 63 131 185
255 207 115 46 28 71 134 185
255 241 175 125 112 145 193 230
226 210 187 173 172 189 209 225
149 166 191 216 229 232 225 220
72 110 166 216 238 231 206 186
255 255 249 203 178 224 255 255
255 255 226 170 140 187 224 255
255 255 192 123 91 138 184 238
255 255 208 139 103 146 188 239
255 255 202 152 128 161 194 232
255 244 215 200 188 205 210 227
108 125 148 172 182 184 172 167
31 69 122 172 191 183 153 134
ΠΠΎΠ½Π΅Ρ
ΠΠΎΠΎΠ±ΡΠ΅ Ρ Π½Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΏΠΎ JPEG, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΡΠ΄ Π»ΠΈ ΡΠΌΠΎΠ³Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ. ΠΡΠΎΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΠΈΡΠ°Π» ΡΠ²ΠΎΠΉ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ, ΠΌΠ½Π΅ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ. Π ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, Ρ Π½Π΅ Π·Π½Π°Π» Π³Π΄Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠ» ΠΎΡΠΈΠ±ΠΊΡ. ΠΠΎΠΆΠ΅Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΡΠΎΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°Π» Π±ΠΈΡΡ, Π° ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΠΠ. ΠΡΠ΅Π½Ρ Π½Π΅ Ρ Π²Π°ΡΠ°Π»ΠΎ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ, Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠ°. ΠΡΠΌΠ°Ρ, ΠΎΠ½Π° ΠΏΠΎΠΊΡΡΠ²Π°Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, Π½ΠΎ Π²ΡΠ΅-ΡΠ°Π²Π½ΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΠΉ. ΠΡΠ΅Π΄Π»Π°Π³Π°Ρ Π²Π°ΠΌ ΡΡΡΠ»ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΈ ΠΌΠ½Π΅:
- ru.wikipedia.org/JPEG β Π΄Π»Ρ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ½ΠΎΠ³ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ
- en.wikipedia.org/JPEG β Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π°Ρ ΡΡΠ°ΡΡΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ/Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- JPEG Standard (JPEG ISO/IEC 10918-1 ITU-T Recommendation T.81) β Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· 186-ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
- impulseadventure.com/photo β Π₯ΠΎΡΠΎΡΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΡΠ°ΡΡΠΈ. ΠΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌ Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΡΡ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΈΡΡ Π΄Π΅ΡΠ΅Π²ΡΡ Π₯Π°ΡΡΠΌΠ°Π½Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΠΈΠΈ
- JPEGsnoop β ΠΠ° ΡΠΎΠΌ ΠΆΠ΅ ΡΠ°ΠΉΡΠ΅ Π΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Π΅Ρ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ jpeg-ΡΠ°ΠΉΠ»Π°
[FF D9]
JPEG — ΡΡΠΎ… Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ JPEG?
JPEG (ΠΏΡΠΎΠΈΠ·Π½ΠΎΡΠΈΡΡΡ Β«Π΄ΠΆΠ΅ΠΉΠΏΠ΅Π³Β»[1], Π°Π½Π³Π».Β Joint Photographic Experts Group, ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°)Β β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ², ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΎΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΈΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. Π€Π°ΠΉΠ»Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ JPEG, ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ (ΡΡΡΡΠΈΠΊΡΡ) .jpeg, .jfif, .jpg, .JPG, ΠΈΠ»ΠΈ .JPE. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠ· Π½ΠΈΡ .jpg ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ Π½Π° Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ . MIME-ΡΠΈΠΏΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ image/jpeg.
Π€ΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ Π·Π°ΠΊΠ°ΡΠ° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JPEG Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΡΠΆΠ°ΡΠΈΡ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎΠΠ»Π³ΠΎΡΠΈΡΠΌ JPEG ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ, ΡΠ°ΠΊ ΠΈ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ (ΡΠ΅ΠΆΠΈΠΌ ΡΠΆΠ°ΡΠΈΡ lossless JPEG). ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 65535 Γ 65535 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ.
ΠΠ±Π»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ
ΠΠ»Π³ΠΎΡΠΈΡΠΌ JPEG Π² Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΏΡΠΈΠ³ΠΎΠ΄Π΅Π½ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ ΠΈ ΠΊΠ°ΡΡΠΈΠ½, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΠ΅ ΡΡΠ΅Π½Ρ Ρ ΠΏΠ»Π°Π²Π½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°ΠΌΠΈ ΡΡΠΊΠΎΡΡΠΈ ΠΈ ΡΠ²Π΅ΡΠ°. ΠΠ°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ JPEG ΠΏΠΎΠ»ΡΡΠΈΠ» Π² ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΈ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠΈ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ.
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, JPEG ΠΌΠ°Π»ΠΎΠΏΡΠΈΠ³ΠΎΠ΄Π΅Π½ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΡΠ΅ΡΡΠ΅ΠΆΠ΅ΠΉ, ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΈ Π·Π½Π°ΠΊΠΎΠ²ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ, Π³Π΄Π΅ ΡΠ΅Π·ΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΠ°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠ΅Π΄Π½ΠΈΠΌΠΈ ΠΏΠΈΠΊΡΠ΅Π»Π°ΠΌΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π·Π°ΠΌΠ΅ΡΠ½ΡΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ². Π’Π°ΠΊΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ°Ρ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ TIFF, GIF ΠΈΠ»ΠΈ PNG.
JPEG (ΠΊΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΡΠΊΠ°ΠΆΠ°ΡΡΠ΅Π³ΠΎ ΡΠΆΠ°ΡΠΈΡ) Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΏΠ΅Π½ΡΠ°ΡΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π²Π½ΠΎΡΠΈΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
JPEG Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ Π΄Π°ΠΆΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠ΅ΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠΆΠ°ΡΠΈΠΈ Π°ΡΡΡΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ»ΠΈ ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ JPEG ΡΠ΅ΠΆΠΈΠΌ ΡΠΆΠ°ΡΠΈΡ Lossless JPEG (ΠΊΠΎΡΠΎΡΡΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ²) ΠΈΠ»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡ ΡΠΆΠ°ΡΠΈΡ JPEG-LS.
Π‘ΠΆΠ°ΡΠΈΠ΅
ΠΡΠΈ ΡΠΆΠ°ΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΈΠ· ΡΠ²Π΅ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° RGB Π² YCbCr (YUV). Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡ JPEG (ISO/IEC 10918-1) Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½ΡΠΈΡΡΠ΅Ρ Π²ΡΠ±ΠΎΡ ΠΈΠΌΠ΅Π½Π½ΠΎ YCbCr, Π΄ΠΎΠΏΡΡΠΊΠ°Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΠΈΡΠ»ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²[2], ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΠΎΡ ΡΡΡΡ ), ΠΈ ΡΠΆΠ°ΡΠΈΠ΅ Π±Π΅Π· ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ (Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² RGB), ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ JFIF (JPEG File Interchange Format, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π² 1991 Π³ΠΎΠ΄Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ C-Cube Microsystems, ΠΈ ΡΡΠ°Π²ΡΠ°Ρ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π΄Π΅-ΡΠ°ΠΊΡΠΎ) ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ RGB->YCbCr.
ΠΠΎΡΠ»Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ RGB->YCbCr Π΄Π»Ρ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Cb ΠΈ Cr, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΡ Π·Π° ΡΠ²Π΅Ρ, ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Β«ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅Β» (subsampling[3]), ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ Π±Π»ΠΎΠΊΡ ΠΈΠ· 4 ΠΏΠΈΠΊΡΠ΅Π»ΠΎΠ² (2Ρ 2) ΡΡΠΊΠΎΡΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° Y ΡΡΠ°Π²ΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΡΡΠ΅Π΄Π½ΡΠ½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Cb ΠΈ Cr (ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Β«4:2:0Β»[4]). ΠΡΠΈ ΡΡΠΎΠΌ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° 2Ρ 2 Π²ΠΌΠ΅ΡΡΠΎ 12 Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (4 Y, 4 Cb ΠΈ 4 Cr) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΡΠ΅Π³ΠΎ 6 (4 Y ΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΡΡΠ΅Π΄Π½ΡΠ½Π½ΠΎΠΌΡ Cb ΠΈ Cr). ΠΡΠ»ΠΈ ΠΊ ΠΊΠ°ΡΠ΅ΡΡΠ²Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π»ΠΈΡΡ Π² ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΠΎΠ΄Π½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈΒ β ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ (ΡΡ Π΅ΠΌΠ° Β«4:4:0Β») ΠΈΠ»ΠΈ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ (Β«4:2:2Β»), ΠΈΠ»ΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²ΠΎΠ²ΡΠ΅ (Β«4:4:4Β»).
Π‘ΡΠ°Π½Π΄Π°ΡΡ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Ρ ΡΡΡΠ΅Π΄Π½Π΅Π½ΠΈΠ΅ΠΌ Cb ΠΈ Cr Π½Π΅ Π΄Π»Ρ Π±Π»ΠΎΠΊΠ° 2Ρ 2, Π° Π΄Π»Ρ ΡΠ΅ΡΡΡΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ (ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ) ΠΏΠΈΠΊΡΠ΅Π»ΠΎΠ², ΡΠΎ Π΅ΡΡΡ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΎΠ² 1Ρ 4, 4Ρ 1 (ΡΡ Π΅ΠΌΠ° Β«4:1:1Β»), Π° ΡΠ°ΠΊΠΆΠ΅ 2Ρ 4 ΠΈ 4Ρ 2 (ΡΡ Π΅ΠΌΠ° Β«4:1:0Β»). ΠΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΏΡΠΎΡΠ΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Cb ΠΈ Cr, Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΡΡ Π΅ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π΄ΠΊΠΎ.
ΠΠ°Π»Π΅Π΅ ΡΡΠΊΠΎΡΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Y ΠΈ ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ Π·Π° ΡΠ²Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Cb ΠΈ Cr ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡΡΡ Π½Π° Π±Π»ΠΎΠΊΠΈ 8Ρ 8 ΠΏΠΈΠΊΡΠ΅Π»ΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΊΠΎΠΉ Π±Π»ΠΎΠΊ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°Π΅ΡΡΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΊΠΎΡΠΈΠ½ΡΡΠ½ΠΎΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ (ΠΠΠ). ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΠΠ ΠΊΠ²Π°Π½ΡΡΡΡΡΡ (Π΄Π»Ρ Y, Cb ΠΈ Cr Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ) ΠΈ ΠΏΠ°ΠΊΡΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠΈΠΉ ΠΈ ΠΊΠΎΠ΄ΠΎΠ² Π₯Π°ΡΡΠΌΠ°Π½Π°. Π‘ΡΠ°Π½Π΄Π°ΡΡ JPEG Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ·-Π·Π° ΠΏΠ°ΡΠ΅Π½ΡΠ½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ (ΠΏΠ°ΡΠ΅Π½Ρ Π½Π° ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ JPEG Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ QM-ΠΊΠΎΠ΄Π΅Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ IBM) Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΎΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅Π΄ΠΊΠΎ. Π ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ libjpeg ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠΌ ΡΠΆΠ°ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈΡ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠ°ΡΡΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΠΠ, Ρ ΡΠ°Π½ΡΡΡΡ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ JPEG-ΡΠ°ΠΉΠ»Π°. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ ΡΡΡΠΎΡΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ Π²ΡΡΠΎΠΊΠΎΡΠ°ΡΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠ»ΡΠ½ΠΎΠΌΡ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΅ΠΌ Π½ΠΈΠ·ΠΊΠΎΡΠ°ΡΡΠΎΡΠ½ΡΠ΅. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΠ³ΡΡΠ±Π»Π΅Π½ΠΈΡ ΠΌΠ΅Π»ΠΊΠΈΡ Π΄Π΅ΡΠ°Π»Π΅ΠΉ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ. Π§Π΅ΠΌ Π²ΡΡΠ΅ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠ»ΡΠ½ΠΎΠΌΡ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°ΡΡΡΡ Π²ΡΠ΅ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ.
ΠΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² JPEG-ΡΠ°ΠΉΠ»Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΠΉ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ»ΠΎΠ²Π½ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΠ°Ρ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡ 1 Π΄ΠΎ 100 ΠΈΠ»ΠΈ ΠΎΡ 1 Π΄ΠΎ 10. ΠΠΎΠ»ΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΡΡΡΠ΅ΠΌΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Ρ (ΠΈ Π±ΠΎΠ»ΡΡΠ΅ΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΆΠ°ΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°). ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°ΠΈΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° (ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΡΠ΅ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΡΡΠΎΡΡΠ΅ΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ) Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ, ΡΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ ΠΊΠ°ΠΊ Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΠΠ, ΡΠ°ΠΊ ΠΈ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Y, Cb, Cr ΠΈ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΠΠ Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ. Π Π΅ΠΆΠΈΠΌ ΡΠΆΠ°ΡΠΈΡ Lossless JPEG, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΠΠΠ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΎΡΠ½ΠΎΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅Π³ΠΎ ΠΌΠ°Π»Π°Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ (ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ ΡΠ΅Π΄ΠΊΠΎ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 2) ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ Lossless JPEG.
Π Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΠΈ ΡΡ Π΅ΠΌ ΡΠΆΠ°ΡΠΈΡ JPEG
Π‘ΡΠ°Π½Π΄Π°ΡΡ JPEG ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠΌ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ², ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ (sequential JPEG) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡΠ΅Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠ±Ρ ΠΎΠ΄ ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ±Π»ΠΎΡΠ½ΠΎ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ, ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·. ΠΠ°Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΠΌΡΠΌ Π±Π»ΠΎΠΊΠΎΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π² Π²ΠΈΠ΄Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Β«ΡΠΊΠ°Π½Π°Β», ΡΠΎ Π΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠΉΠ΄Π΅Π½Π½ΠΎΠΌΡ (Β«ΠΏΡΠΎΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡΒ») ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ»ΠΈ Β«Π±Π°Π·ΠΎΠ²ΡΠΉΒ» (baseline) ΡΠ΅ΠΆΠΈΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ (extended) ΡΠ΅ΠΆΠΈΠΌ Π½Π°ΡΡΠ΄Ρ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎΠ΅ (progressive JPEG) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ .
Π ΡΠ»ΡΡΠ°Π΅ progressive JPEG ΡΠΆΠ°ΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡΠ° ΡΠΊΠ°Π½ΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Ρ Π²ΡΡ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΏΡΡΡΠΌ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΊΠ°Π½ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΠΠ, Π° Π»ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΈΡ ΡΠ°ΡΡΠΈ: ΡΠ½Π°ΡΠ°Π»Π°Β β Π½ΠΈΠ·ΠΊΠΎΡΠ°ΡΡΠΎΡΠ½ΡΡ , Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΊΠ°Π½Π°Ρ Β β Π²ΡΡΠΎΠΊΠΎΡΠ°ΡΡΠΎΡΠ½ΡΡ (ΠΌΠ΅ΡΠΎΠ΄ Β«spectral selectionΒ» ΡΠΎ Π΅ΡΡΡ ΡΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ Π²ΡΠ±ΠΎΡΠΎΠΊ), Π»ΠΈΠ±ΠΎ ΠΏΡΡΡΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ, ΠΎΡ ΡΠΊΠ°Π½Π° ΠΊ ΡΠΊΠ°Π½Ρ, ΡΡΠΎΡΠ½Π΅Π½ΠΈΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠ² ΠΠΠ (ΠΌΠ΅ΡΠΎΠ΄ Β«successive approximationΒ», ΡΠΎ Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΉ). Π’Π°ΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠΆΠ°ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΠΈΠ·ΠΊΠΎΡΠΊΠΎΡΠΎΡΡΠ½ΡΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΡΠ²ΡΠ·ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎ Π²ΡΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ JPEG-ΡΠ°ΠΉΠ»Π°.
ΠΠ±Π΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΡ Π΅ΠΌΡ (ΠΈ sequential, ΠΈ progressive JPEG) Π±Π°Π·ΠΈΡΡΡΡΡΡ Π½Π° ΠΠΠ ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ°Π½Π΄Π°ΡΡ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΆΠ°ΡΠΈΠ΅, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π΅ ΠΠΠ, Π° ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΠΎΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ (lossless, ΡΠΎ Π΅ΡΡΡ Β«Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡΒ», JPEG), Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡΠ΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠ΅, Π±ΠΈΡ-Π²-Π±ΠΈΡ, ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΡΠΆΠ°ΡΠΈΡ Π΄Π»Ρ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ΅Π΄ΠΊΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ 2, Π½ΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠΌ. ΠΠ°ΠΌΠ΅ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΡΠΆΠ°ΡΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ Π² Π½Π°Π·Π²Π°Π½ΠΈΡΡ , Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΡ JPEG ISO/IEC 10918-1 (ITU T.81 Recommendation) ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΆΠ°ΡΠΈΡ JPEG-LS, ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ ISO/IEC 14495-1 (ITU T.87 Recommendation).
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΡΡΡΡΠΊΡΡΡΠ°
Π€Π°ΠΉΠ» JPEG ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π±Π°ΠΉΡΠ° 0xFF, ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΎ Π½Π°ΡΠ°Π»Π΅ ΠΌΠ°ΡΠΊΠ΅ΡΠ°, ΠΈ Π±Π°ΠΉΡΠ°-ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ°ΡΠΊΠ΅ΡΡ ΡΠΎΡΡΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΡΠΎΠΉ ΠΏΠ°ΡΡ Π±Π°ΠΉΡΠΎΠ², Π΄ΡΡΠ³ΠΈΠ΅ ΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎΡΡΠΎΡΡΠΈΠ΅ ΠΈΠ· Π΄Π²ΡΡ Π±Π°ΠΉΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Ρ Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΌΠ°ΡΠΊΠ΅ΡΠ° (Π²ΠΊΠ»ΡΡΠ°Ρ Π΄Π»ΠΈΠ½Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, Π½ΠΎ Π·Π° Π²ΡΡΠ΅ΡΠΎΠΌ Π΄Π²ΡΡ Π±Π°ΠΉΡΠΎΠ² Π½Π°ΡΠ°Π»Π° ΠΌΠ°ΡΠΊΠ΅ΡΠ° ΡΠΎ Π΅ΡΡΡ 0xFF ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°) ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π΄Π°Π½Π½ΡΡ . Π’Π°ΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΎΡΡΡΠΊΠ°ΡΡ ΠΌΠ°ΡΠΊΠ΅Ρ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π΄Π»ΠΈΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΠΈΡΠ»ΠΎΠΌ ΡΡΡΠΎΠΊ ΠΈ ΡΠΈΡΠ»ΠΎΠΌ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠΆΠ°ΡΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ).
ΠΠ°ΡΠΊΠ΅Ρ | ΠΠ°ΠΉΡΡ | ΠΠ»ΠΈΠ½Π° | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ | ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ |
---|---|---|---|---|
SOI | 0xFFD8 | Π½Π΅Ρ | ΠΠ°ΡΠ°Π»ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ | |
SOF0 | 0xFFC0 | ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ | ΠΠ°ΡΠ°Π»ΠΎ ΡΡΠ΅ΠΉΠΌΠ° (Π±Π°Π·ΠΎΠ²ΡΠΉ, ΠΠΠ) | ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΠΠ ΠΈ ΠΊΠΎΠ΄Π° Π₯Π°ΡΡΠΌΠ°Π½Π°. ΠΠ°ΡΠΊΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΡΠ»ΠΎ ΡΡΡΠΎΠΊ ΠΈ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (Π΄Π²ΡΡ Π±Π°ΠΉΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ ΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ 5 ΠΈ 7 ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΠ°Π»Π° ΠΌΠ°ΡΠΊΠ΅ΡΠ°), ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (Π±Π°ΠΉΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ 8 ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΠ°Π»Π° ΠΌΠ°ΡΠΊΠ΅ΡΠ°), ΡΠΈΡΠ»ΠΎ Π±ΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ (Π±Π°ΠΉΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ 4 ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΡΠ°Π»Π° ΠΌΠ°ΡΠΊΠ΅ΡΠ°), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 4:2:0). |
SOF1 | 0xFFC1 | ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ | ΠΠ°ΡΠ°Π»ΠΎ ΡΡΠ΅ΠΉΠΌΠ° (ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ, ΠΠΠ, ΠΊΠΎΠ΄ Π₯Π°ΡΡΠΌΠ°Π½Π°) | ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ Π² ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΌ (extended) ΡΠ΅ΠΆΠΈΠΌΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΠΠ ΠΈ ΠΊΠΎΠ΄Π° Π₯Π°ΡΡΠΌΠ°Π½Π°. ΠΠ°ΡΠΊΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΡΠ»ΠΎ ΡΡΡΠΎΠΊ ΠΈ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΡΠΈΡΠ»ΠΎ Π±ΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 4:2:0). |
SOF2 | 0xFFC2 | ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ | ΠΠ°ΡΠ°Π»ΠΎ ΡΡΠ΅ΠΉΠΌΠ° (ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ²Π½ΡΠΉ, ΠΠΠ, ΠΊΠΎΠ΄ Π₯Π°ΡΡΠΌΠ°Π½Π°) | ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ Π² ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΠΠ ΠΈ ΠΊΠΎΠ΄Π° Π₯Π°ΡΡΠΌΠ°Π½Π°. ΠΠ°ΡΠΊΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΡΠ»ΠΎ ΡΡΡΠΎΠΊ ΠΈ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΡΠΈΡΠ»ΠΎ Π±ΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 4:2:0). |
DHT | 0xFFC4 | ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ Π₯Π°ΡΡΠΌΠ°Π½Π° | ΠΠ°Π΄Π°Π΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π±Π»ΠΈΡ Π₯Π°ΡΡΠΌΠ°Π½Π°. |
DQT | 0xFFDB | ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ | ΠΠ°Π΄Π°Π΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π±Π»ΠΈΡ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ. |
DRI | 0xFFDD | 4 Π±Π°ΠΉΡΠ° | Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΠΉ | ΠΠ°Π΄Π°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ°ΡΠΊΠ΅ΡΠ°ΠΌΠΈ RST n Π² ΠΌΠ°ΠΊΡΠΎΠ±Π»ΠΎΠΊΠ°Ρ . |
SOS | 0xFFDA | ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ | ΠΠ°ΡΠ°Π»ΠΎ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ | ΠΠ°ΡΠ°Π»ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ ΡΠ²Π΅ΡΡ Ρ Π²Π½ΠΈΠ·. ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ°Π½. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ²Π½ΡΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π½ΠΎΠ². ΠΠ°ΡΠΊΠ΅Ρ SOS ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΠΈΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎΠΉ (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ) ΠΈ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ (ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΆΠ°ΡΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ) ΡΠ°ΡΡΡΠΌΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. |
RSTn | 0xFFDn | Π½Π΅Ρ | ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ | ΠΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ r ΠΌΠ°ΠΊΡΠΎΠ±Π»ΠΎΠΊΠ΅, Π³Π΄Π΅ rΒ β ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° DRI ΠΌΠ°ΡΠΊΠ΅ΡΠ°. ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ DRI ΠΌΠ°ΡΠΊΠ΅ΡΠ°. n, ΠΌΠ»Π°Π΄ΡΠΈΠ΅ 3 Π±ΠΈΡΠ° ΠΌΠ°ΡΠΊΠ΅ΡΠ° ΠΊΠΎΠ΄Π°, ΡΠΈΠΊΠ»Ρ ΠΎΡ 0 Π΄ΠΎ 7. |
APPn | 0xFFEn | ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ | ΠΠ°Π΄Π°ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ | ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² EXIF JPEG-ΡΠ°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ°ΡΠΊΠ΅Ρ APP1 Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ , ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΡΡ Π² ΡΡΡΡΠΊΡΡΡΠ΅, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° TIFF. |
COM | 0xFFFE | ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ | ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ | Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅ΠΊΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. |
EOI | 0xFFD9 | Π½Π΅Ρ | ΠΠΎΠ½Π΅Ρ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. |
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
Π Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌ ΡΠΆΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ JPEG ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠ½Π΅ΡΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΡ ΠΏΡΠΈ Π²ΡΡΠΎΠΊΠΈΡ ΡΡΠ΅ΠΏΠ΅Π½ΡΡ ΡΠΆΠ°ΡΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ²: ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΡΠΏΠ°Π΅ΡΡΡ Π½Π° Π±Π»ΠΎΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 8×8 ΠΏΠΈΠΊΡΠ΅Π»ΠΎΠ² (ΡΡΠΎΡ ΡΡΡΠ΅ΠΊΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π·Π°ΠΌΠ΅ΡΠ΅Π½ Π½Π° ΠΎΠ±Π»Π°ΡΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠ»Π°Π²Π½ΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ ΡΡΠΊΠΎΡΡΠΈ), Π² ΠΎΠ±Π»Π°ΡΡΡΡ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΊΠΎΠ½ΡΡΠ°ΡΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΠ°Ρ ΠΈ Π³ΡΠ°Π½ΠΈΡΠ°Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ) Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠΌΠΎΠ²ΡΡ ΠΎΡΠ΅ΠΎΠ»ΠΎΠ². Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡ JPEG (ISO/IEC 10918-1, Annex K, ΠΏ. K.8) ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ²ΡΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ², Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΈΡ Π²ΡΡΠΎΠΊΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, JPEG ΠΏΠΎΠ»ΡΡΠΈΠ» ΠΎΡΠ΅Π½Ρ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·-Π·Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠΎΠΉ (ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π²ΡΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²) ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΡΠΆΠ°ΡΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΡΠΆΠ°ΡΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΠ²Π΅ΡΠ½ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π²ΡΡΠΎΠΊΠΎΠΉ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΆΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ JPEG
ΠΠ»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΆΠ°ΡΠΈΡ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ JPEG ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ β ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΠΠ. ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΎΠΏΡΡΠΎΠΊ ΡΡΠΊΠΎΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΆΠ°ΡΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΎΠΏΠΈΡΠ°Π½Π° Π² ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ Π² 1993 Π³. ΡΡΠ°ΡΡΠ΅ ΠΠ°ΡΠΏΠ΅ΡΠΎΠ²ΠΈΡΠ° ΠΈ ΠΠ°Π±ΠΊΠΈΠ½Π° [6], Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π»Π°ΡΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°Ρ Π°ΠΏΠΏΡΠΎΠΊΡΠΈΠΌΠ°ΡΠΈΡ ΠΠΠ, Π΄Π΅Π»Π°ΡΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Intel 80386. ΠΠΎΡΠ²ΠΈΠ²ΡΠΈΠ΅ΡΡ ΠΏΠΎΠ·ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡ Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ SIMD-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ x86. ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΡΡΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΡ Π΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ (ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ NVIDIA CUDA ΠΈ AMD FireStream) Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΠΠ, Π½ΠΎ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ°ΠΏΠΎΠ² ΡΠΆΠ°ΡΠΈΡ JPEG (ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ², run-level, ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ.ΠΏ.), ΠΏΡΠΈΡΡΠΌ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° 8Ρ 8 ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π ΡΡΠ°ΡΡΠ΅ [7] Π±ΡΠ»Π° Π²ΠΏΠ΅ΡΠ²ΡΠ΅[ΠΈΡΡΠΎΡΠ½ΠΈΠΊ?] ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΡΠ°Π΄ΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° JPEG ΠΏΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ CUDA, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΠ»ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΆΠ°ΡΠΈΡ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΡ JPEG.
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΡΠ°ΠΊΡΡ
Π 2010 Π³ΠΎΠ΄Ρ ΡΡΠ΅Π½ΡΠ΅ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° PLANETS ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠ° JPEG Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠ°ΠΏΡΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ»ΠΈ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π±ΡΠ½ΠΊΠ΅Ρ Π² ΡΠ²Π΅ΠΉΡΠ°ΡΡΠΊΠΈΡ ΠΠ»ΡΠΏΠ°Ρ . Π‘Π΄Π΅Π»Π°Π½ΠΎ ΡΡΠΎ Π±ΡΠ»ΠΎ Ρ ΡΠ΅Π»ΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π² Π½Π°ΡΠ°Π»Π΅ XXI Π²Π΅ΠΊΠ° ΡΠΈΡΡΠΎΠ²ΡΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ .[8]
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ
Π‘ΡΡΠ»ΠΊΠΈ
Π‘ΠΊΡΡΡΡΠ΅ Π°ΡΡ ΠΈΠ²Ρ Π² jpg ΡΠ°ΠΉΠ»Π°Ρ
Β Π― ΡΠ΅ΡΠΈΠ» Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ Π½Π΅Π·Π°ΡΠ΅ΠΉΠ»ΠΈΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Ρ ΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠ΅ΡΡ. Π‘ΠΏΠΎΡΠΎΠ±, ΡΠ΅ΡΡΠ½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ, Π½ΠΎ ΡΡΠΎΠ±Ρ Π΄ΠΎΠ΄ΡΠΌΠ°ΡΡΡΡ Π΄ΠΎ Π½Π΅Π³ΠΎ, Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΠΊΠΎΠΏΠ°ΡΡΡΡ Π² ΠΊΠ½ΠΈΠΆΠΊΠ°Ρ ΠΈ ΠΌΠ°Π½ΡΠ°Π»Π°Ρ . ΠΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠΏΠΎΡΠΎΠ± ΡΡΡΠ΅ΠΊΡΠ½ΡΠΉ. Π― ΡΠ°Π±ΠΎΡΠ°Ρ Π² ΠΊΡΡΠΏΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Π Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ Π»ΡΠ΄Π΅ΠΉ ΠΈΠ· ΠΠ΅ΠΏΠ°ΡΡΠ°ΠΌΠ΅Π½ΡΠ° ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄ΠΈΠ²ΠΈΠ», Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΡΡΠΎΡΠΎΠΆΠΈΠ».
ΠΠ°ΡΠ½Ρ Ρ ΡΠ΅ΠΎΡΠΈΠΈ:
ΠΠ°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠ·Π½Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π²ΡΡ ΡΠΈΠΏΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ² JPEG ΠΈ RAR.
ΠΠ±ΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΡΠ°ΠΉΠ»Π° JPEG:
Β
- Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ — FFh D8h;
- ΠΌΠ°ΡΠΊΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
- Β ΠΌΠ°ΡΠΊΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ;
- Β Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
Β
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ:
β¦
3. ΠΡΠΈ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Π²ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΌΠΎΠ·Π°ΠΈΠΊΠΈ 8Ρ
8, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅.
4. ΠΡΠΈ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π²Π΅ΡΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ½ΠΈΠΆΠ°ΡΡ, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡ ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ ΡΠΏΠ΅ΠΊΡΡΠ°. ΠΠ΅Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΠ΅ Π³Π»Π°Π·ΠΎΠΌ ΡΠ²Π΅ΡΠ° ΡΠ΄Π°Π»ΡΡΡΡΡ.
5. ΠΡΠ±ΡΠ°Π½Π½Π°Ρ Π²Π΅ΡΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΡΠ΅ΡΠ°Π΅ΡΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠΆΠ°ΡΠΈΡ.
Π‘ΠΌΡΡΠ», Π² ΡΠΎΠΌ, ΡΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΠΎΠ·Π½Π°Π΅Ρ, ΡΡΠΎ Π² Π±Π»ΠΎΠΊΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±Π°ΠΉΡ(ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΌΠ°ΡΡΠΈΡ). Π’.Π΅. ΠΈΠ΄ΡΡ Π±Π»ΠΎΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π° ΠΏΠΎΡΠ»Π΅ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ Π²ΡΡ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»Π° ΡΠΈΠΏΠ° RAR.
========================================================================== RAR archive file format Β ========================================================================== Β Archive file consists of variable length blocks. The order of these blocks may vary, but the first block must be a marker block followed by an archive header block. Β Each block begins with the following fields: Β HEAD_CRC 2 bytes CRC of total block or block part HEAD_TYPE 1 byte Block type HEAD_FLAGS 2 bytes Block flags HEAD_SIZE 2 bytes Block size ADD_SIZE 4 bytes Optional field - added block size Β Field ADD_SIZE present only if (HEAD_FLAGS & 0x8000) != 0 Β Total block size is HEAD_SIZE if (HEAD_FLAGS & 0x8000) == 0 and HEAD_SIZE+ADD_SIZE if the field ADD_SIZE is present - when (HEAD_FLAGS & 0x8000) != 0. Β In each block the followings bits in HEAD_FLAGS have the same meaning: Β 0x4000 - if set, older RAR versions will ignore the block and remove it when the archive is updated. if clear, the block is copied to the new archive file when the archive is updated; Β 0x8000 - if set, ADD_SIZE field is present and the full block size is HEAD_SIZE+ADD_SIZE. Β Declared block types: Β HEAD_TYPE=0x72 Β Β Β Β Β Β Β Β marker block HEAD_TYPE=0x73 archive header HEAD_TYPE=0x74 file header HEAD_TYPE=0x75 old style comment header HEAD_TYPE=0x76 old style authenticity information HEAD_TYPE=0x77 old style subblock HEAD_TYPE=0x78 old style recovery record HEAD_TYPE=0x79 old style authenticity information HEAD_TYPE=0x7a subblock Β Comment block is actually used only within other blocks and doesn't exist separately. Β Archive processing is made in the following manner: Β 1. Read and check marker block 2. Read archive header 3. Read or skip HEAD_SIZE-sizeof(MAIN_HEAD) bytes 4. If end of archive encountered then terminate archive processing, else read 7 bytes into fields HEAD_CRC, HEAD_TYPE, HEAD_FLAGS, HEAD_SIZE. 5. Check HEAD_TYPE. if HEAD_TYPE==0x74 read file header ( first 7 bytes already read ) read or skip HEAD_SIZE-sizeof(FILE_HEAD) bytes if (HEAD_FLAGS & 0x100) read or skip HIGH_PACK_SIZE*0x100000000+PACK_SIZE bytes else read or skip PACK_SIZE bytes else read corresponding HEAD_TYPE block: read HEAD_SIZE-7 bytes if (HEAD_FLAGS & 0x8000) read ADD_SIZE bytes 6. go to 4. Β Β ========================================================================== Block Formats Β ========================================================================== Β Β Marker block ( MARK_HEAD ) Β Β HEAD_CRC Always 0x6152 2 bytes Β HEAD_TYPE Header type: 0x72 1 byte Β HEAD_FLAGS Always 0x1a21 2 bytes Β HEAD_SIZE Block size = 0x0007 2 bytes Β The marker block is actually considered as a fixed byte sequence: 0x52 0x61 0x72 0x21 0x1a 0x07 0x00 Β Β Β Archive header ( MAIN_HEAD ) Β Β HEAD_CRC CRC of fields HEAD_TYPE to RESERVED2 2 bytes Β HEAD_TYPE Header type: 0x73 1 byte Β HEAD_FLAGS Bit flags: 2 bytes 0x0001 - Volume attribute (archive volume) 0x0002 - Archive comment present RAR 3.x uses the separate comment block and does not set this flag. Β 0x0004 - Archive lock attribute 0x0008 - Solid attribute (solid archive) 0x0010 - New volume naming scheme ('volname.partN.rar') 0x0020 - Authenticity information present RAR 3.x does not set this flag. Β 0x0040 - Recovery record present 0x0080 - Block headers are encrypted 0x0100 - First volume (set only by RAR 3.0 and later) Β other bits in HEAD_FLAGS are reserved for internal use Β HEAD_SIZE Archive header total size including archive comments 2 bytes Β RESERVED1 Reserved 2 bytes Β RESERVED2 Reserved 4 bytes Β Β Β File header (File in archive) Β Β HEAD_CRC CRC of fields from HEAD_TYPE to FILEATTR 2 bytes and file name Β HEAD_TYPE Header type: 0x74 1 byte Β HEAD_FLAGS Bit flags: 2 bytes 0x01 - file continued from previous volume 0x02 - file continued in next volume 0x04 - file encrypted with password Β 0x08 - file comment present RAR 3.x uses the separate comment block Β Β Β Β Β Β Β Β Β Β and does not set this flag. Β 0x10 - information from previous files is used (solid flag) (for RAR 2.0 and later) Β bits 7 6 5 (for RAR 2.0 and later) Β 0 0 0 - dictionary size 64 KB 0 0 1 - dictionary size 128 KB 0 1 0 - dictionary size 256 KB 0 1 1 - dictionary size 512 KB 1 0 0 - dictionary size 1024 KB Β Β Β Β 1 0 1 - dictionary size 2048 KB 1 1 0 - dictionary size 4096 KB 1 1 1 - file is directory Β 0x100 - HIGH_PACK_SIZE and HIGH_UNP_SIZE fields are present. These fields are used to archive only very large files (larger than 2Gb), for smaller files these fields are absent. Β 0x200 - FILE_NAME contains both usual and encoded Unicode name separated by zero. In this case NAME_SIZE field is equal to the length of usual name plus encoded Unicode name plus 1. Β 0x400 - the header contains additional 8 bytes after the file name, which are required to increase encryption security (so called 'salt'). Β 0x800 - Version flag. It is an old file version, a version number is appended to file name as ';n'. Β Β Β Β Β Β Β 0x1000 - Extended time field present. Β 0x8000 - this bit always is set, so the complete block size is HEAD_SIZE + PACK_SIZE (and plus HIGH_PACK_SIZE, if bit 0x100 is set) Β HEAD_SIZE File header full size including file name and comments 2 bytes Β PACK_SIZE Compressed file size 4 bytes Β UNP_SIZE Uncompressed file size 4 bytes Β HOST_OS Operating system used for archiving 1 byte 0 - MS DOS Β Β Β Β Β Β Β Β Β 1 - OS/2 2 - Win32 3 - Unix 4 - Mac OS 5 - BeOS Β FILE_CRC File CRC 4 bytes Β FTIME Date and time in standard MS DOS format 4 bytes Β UNP_VER RAR version needed to extract file 1 byte Version number is encoded as 10 * Major version + minor version. Β METHOD Packing method 1 byte 0x30 - storing 0x31 - fastest compression 0x32 - fast compression 0x33 - normal compression 0x34 - good compression 0x35 - best compression Β NAME_SIZE File name size 2 bytes Β ATTR File attributes 4 bytes Β HIGH_PACK_SIZE High 4 bytes of 64 bit value of compressed file size. 4 bytes Optional value, presents only if bit 0x100 in HEAD_FLAGS is set. Β HIGH_UNP_SIZE High 4 bytes of 64 bit value of uncompressed file size. 4 bytes Optional value, presents only if bit 0x100 in HEAD_FLAGS is set. Β FILE_NAME File name - string of NAME_SIZE bytes size Β SALT present if (HEAD_FLAGS & 0x400) != 0 8 bytes Β EXT_TIME present if (HEAD_FLAGS & 0x1000) != 0 variable size
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΉΠ» ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π±Π»ΠΎΠΊΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ Π±Π»ΠΎΠΊ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, Π° ΡΠ°ΠΌΡΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ Π±Π»ΠΎΠΊ ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠΊΠ΅ΡΠ°. Π’ΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠ°ΡΠΊΠ΅ΡΠ° Π²ΡΡΠ°Π²ΠΈΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΡ. ΠΡΡ ΡΠ°Π²Π½ΠΎ ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ½ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΌΠ΅ΡΡΠ° ΠΌΠ°ΡΠΊΠ΅ΡΠ°. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΊ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ JPEG ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄ RAR ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠ°Π±ΠΎΡΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΎΠ±Π΅ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎ Π½Π° ΠΏΡΠΎΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» HEX ΡΠ΅Π΄Π°ΠΊΡΠΎΡ WinHEX. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°ΠΉΠ» JPEG ΠΈ RAR Π°ΡΡ ΠΈΠ², Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ Π² ΡΠ΅Π±Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
ΠΠ°ΡΠ° ΡΠ΅Π»Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΉΠ» ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ
ΠΡΠ°ΠΊ, ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π² WinHex ΡΠ°ΠΉΠ» JPEG
Π’Π΅ΠΏΠ΅ΡΡ ΠΈΠ΄ΡΠΌ Π² ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°. ΠΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΌΡΡΠΎΡ ΠΈΠ»ΠΈ Π½ΡΠ»Π΅Π²ΡΠ΅ Π±Π°ΠΉΡΡ.Π ΠΏΠΎΡΠΎΠΌ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ rar ΡΠ°ΠΉΠ».
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π²ΡΡ Π² ΡΠ°ΠΉΠ» JPEG.
Π§ΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ.
Π Π°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ ΡΡΠΌΠΌΠ°ΡΠ½ΡΠΌ ΠΈΠ· ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎ Ρ Π±Ρ Π½Π΅ ΡΠΊΠ°Π·Π°Π», ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° JPEG.
ΠΡΠ°ΠΊ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΌΡ. ΠΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΠ΅ΠΎΡΠΈΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
Π‘Π½Π°ΡΠ°Π»Π° ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΎΡΠΊΡΡΡΠΈΠ΅ΠΌ. ΠΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° rar. ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ β¦ ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ rar Π°ΡΡ ΠΈΠ². ΠΡΠΈΡΡΠΌ Π² ΡΡΠΎΡ Π°ΡΡ ΠΈΠ² ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π‘ΡΠ°Π²ΠΈΡΡ ΠΏΠ°ΡΠΎΠ»Ρ ΠΈ Ρ.Π΄. Π ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΏΠΎ ΠΏΠΎΡΡΠ΅, Π²ΡΡΠ°Π²Π»ΡΡΡ Π½Π° web ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠΎΡΠΎΠΌ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ ΠΈ ΡΠΈΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠΎΠΆΠ΅Ρ ΡΡΠΎ Π²ΡΡ ΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΠΎ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ.
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ SoftKey β ΡΡΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠΊΡΠΏΠ°ΡΠ΅Π»Π΅ΠΉ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π΄ΠΈΠ»Π΅ΡΠΎΠ² ΠΈ Π°ΡΡΠΈΠ»ΠΈΠ°ΡβΠΏΠ°ΡΡΠ½Π΅ΡΠΎΠ². ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΡΡΡΠΈΡ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ² ΠΠ Π² Π ΠΎΡΡΠΈΠΈ, Π£ΠΊΡΠ°ΠΈΠ½Π΅, ΠΠ°Π·Π°Ρ ΡΡΠ°Π½Π΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΏΠΎΠΊΡΠΏΠ°ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠΎΠΊΠΈΠΉ Π°ΡΡΠΎΡΡΠΈΠΌΠ΅Π½Ρ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΠΏΠ»Π°ΡΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ (ΡΠ°ΡΡΠΎ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΡ) ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π·Π°ΠΊΠ°Π·Π°, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΊΠ°Π·Π° Π² ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
Π‘Π°ΡΠΊΠΎΠ² ΠΠ»ΡΡ. (Sachkov, Iliya K. )
jpg ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ
JPEG (ΠΏΡΠΎΠΈΠ·Π½ΠΎΡΠΈΡΡΡ Β«Π΄ΠΆΠ΅ΠΉΠΏΠ΅Π³Β»[1], Π°Π½Π³Π».Β Joint Photographic Experts Group, ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°) β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠ°ΡΡΡΠΎΠ²ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ², ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΈΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. Π€Π°ΠΉΠ»Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ JPEG, ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ (ΡΡΡΡΠΈΠΊΡΡ) .jpg, .jfif, .jpe ΠΈΠ»ΠΈ .jpeg. ΠΠ΄Π½Π°ΠΊΠΎ .jpg ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΠΈΠ· Π½ΠΈΡ Π½Π° Π²ΡΠ΅Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ . MIME-ΡΠΈΠΏ β image/jpeg.
Π€ΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡ Π·Π°ΠΊΠ°ΡΠ° Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JPEG Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΡΠΆΠ°ΡΠΈΡ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎΠΠ»Π³ΠΎΡΠΈΡΠΌ JPEG ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΆΠΈΠΌΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ, ΡΠ°ΠΊ ΠΈ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ (ΡΠ΅ΠΆΠΈΠΌ ΡΠΆΠ°ΡΠΈΡ lossless JPEG). ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 65535 Γ 65535 ΠΏΠΈΠΊΡΠ΅Π»ΠΎΠ².
Π 2010 Π³ΠΎΠ΄Ρ Ρ ΡΠ΅Π»ΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π² Π½Π°ΡΠ°Π»Π΅ XXI Π²Π΅ΠΊΠ° ΡΠΈΡΡΠΎΠ²ΡΡ ΡΠΎΡΠΌΠ°ΡΠ°Ρ ΡΡΡΠ½ΡΠ΅ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° PLANETS Π·Π°Π»ΠΎΠΆΠΈΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΡΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠ° JPEG Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠ°ΠΏΡΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ»ΠΈ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π² ΡΠ²Π΅ΠΉΡΠ°ΡΡΠΊΠΈΡ ΠΠ»ΡΠΏΠ°Ρ [2][3].
ΠΠ±Π»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ[ | ]
ΠΠ»Π³ΠΎΡΠΈΡΠΌ JPEG Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ ΠΈ ΠΊΠ°ΡΡΠΈΠ½, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΠ΅ ΡΡΠ΅Π½Ρ Ρ ΠΏΠ»Π°Π²Π½ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°ΠΌΠΈ ΡΡΠΊΠΎΡΡΠΈ ΠΈ ΡΠ²Π΅ΡΠ°. ΠΠ°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ JPEG ΠΏΠΎΠ»ΡΡΠΈΠ» Π² ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΈ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°.
Π€ΠΎΡΠΌΠ°Ρ JPEG Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΆΠ°ΡΠΈΡ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ ΠΌΠ°Π»ΠΎΠΏΡΠΈΠ³ΠΎΠ΄Π΅Π½ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΡΠ΅ΡΡΠ΅ΠΆΠ΅ΠΉ, ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΈ Π·Π½Π°ΠΊΠΎΠ²ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ, Π³Π΄Π΅ ΡΠ΅Π·ΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΠ°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠ΅Π΄Π½ΠΈΠΌΠΈ ΠΏΠΈΠΊΡΠ΅Π»Π°ΠΌΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π·Π°ΠΌΠ΅ΡΠ½ΡΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ². Π’Π°ΠΊΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ°Ρ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ JPEG-LS, TIFF, GIF, PNG, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΆΠΈΠΌ ΡΠΆΠ°ΡΠΈΡ Lossless JPEG.
JPEG (ΠΊΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΡΠΆΠ°ΡΠΈΡ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ) Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ°ΠΏΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π²Π½ΠΎΡΠΈΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
JPEG Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ Π΄Π°ΠΆΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΠ΅ΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈ ΡΠΆΠ°ΡΠΈΠΈ Π°ΡΡΡΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ»ΠΈ ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ JPEG ΡΠ΅ΠΆΠΈΠΌ ΡΠΆΠ°ΡΠΈΡ Lossless JPEG (ΠΊΠΎΡΠΎΡΡΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π΅ΠΊΠΎΠ²) ΠΈΠ»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡ ΡΠΆΠ°ΡΠΈΡ JPEG-LS.
Π‘ΠΆΠ°ΡΠΈΠ΅[ | ]
ΠΡΠΈ ΡΠΆΠ°ΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΈΠ· ΡΠ²Π΅ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° RGB Π² YCbCr. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡ JPEG (ISO/IEC 10918-1) Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½ΡΠΈΡΡΠ΅Ρ Π²ΡΠ±ΠΎΡ ΠΈΠΌΠ΅Π½Π½ΠΎ YCbCr, Π΄ΠΎΠΏΡΡΠΊΠ°Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΠΈΡΠ»ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²[4], ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΠΎΡ ΡΡΡΡ ), ΠΈ ΡΠΆΠ°ΡΠΈΠ΅ Π±Π΅Π· ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ (Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² RGB), ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ JFIF (JPEG File Interchange Format, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π² 1991 Π³ΠΎΠ΄Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ C-Cube Microsystems, ΠΈ ΡΡΠ°Π²ΡΠ°Ρ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ Π΄Π΅-ΡΠ°ΠΊΡΠΎ) ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ RGB->YCbCr.
ΠΠΎΡΠ»Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ RGB->YCbCr Π΄Π»Ρ ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Cb ΠΈ Cr, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΡ Π·Π°
JPEG 2000, JPEG-XR ΠΈ WebP Π² ΡΡΡΠ°Π½Π΅ ΡΠΏΡΡΠ΅Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ / .io corporate blog / Habr
ΠΠΈ Π΄Π»Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅ ΡΠ΅ΠΊΡΠ΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΡΠ½ΠΊΡΠΎΠΌ Π² ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΉΡΠΎΠ² ΡΡΠΎΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠ°. ΠΠΎΡΠΎΠΌΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠΈ Π³ΠΎΠ΄Π°ΠΌΠΈ ΠΏΡΡ ΡΡΡ Π½Π°Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ², Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΡΠΏΠΎΡΠΎΠ±Π½ΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈ ΡΠ°Π·ΠΎΠΌ ΠΎΡΡΠ°ΡΡΠ»ΠΈΠ²ΠΈΡΡ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΎ Π»ΡΠ³ΡΡΠΊΠ° Π²ΡΠ΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡΡ Π² ΡΠ°ΡΠ΅Π²Π½Ρ, ΠΈ Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΏΠΎ ΡΠ΅ΡΠΈ ΠΈΠ· Π³ΠΎΠ΄Π° Π² Π³ΠΎΠ΄ Π½ΠΈΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ:ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ JPEG 2000, JPEG-XR ΠΈ WebP Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΠ°ΡΡΡ Π·Π°Π΄Π½ΠΈΡ
, ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΈ ΠΎΠ½ΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ½ΡΠ΅, ΠΊΠ°ΠΊ Π·Π°ΡΠ²Π»Π΅Π½ΠΎ.
JPEG 2000
ΠΡΠ»ΠΈΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠΆΠ°ΡΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΈΡ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°, ΡΠ°ΠΊ ΠΈ Π±Π΅Π·, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅. ΠΠ°ΡΠ²Π»Π΅Π½ΠΎ ΡΠΆΠ°ΡΠΈΠ΅ Π½Π° 20% Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ JPEG, ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΈΡΠΊΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ² ΠΏΡΠΈ ΡΠΈΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΈΠΈ.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ β ΡΠ»Π°Π±Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°, ΠΈ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΎΡΠ΅Π½Ρ ΡΠΊΡΠ΄Π½ΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² ΡΠ΅ΡΠΈ.
JPEG-XR
ΠΠΌΠ΅Ρ ΡΠΎΡΠΊΠΈ Π΅ΡΠ΅ Π»ΡΡΡΠ΅ ΠΈ Π΅ΡΠ΅ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ JPEG 2000, Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π²Π°ΡΠΈΠ°Π½Ρ lossless, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅. Π‘ΠΆΠΈΠΌΠ°Π΅Ρ ΡΠΊΠΎΠ±Ρ Π½Π° 50β¦75% Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ JPEG, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ. Π’Π°ΠΊ Π·Π°ΡΠ²Π»Π΅Π½ΠΎ. Π ΠΊΠΎΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, Π½Π΅ ΡΠ°Π·Π²ΠΎΠ΄ΡΡ Π»ΠΈ Π½Π°Ρ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° β ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ°ΡΡΠΌ Π΄ΠΎΠ±ΡΡΠΌ IE 9 ΠΈ ΡΡΠ°ΡΡΠ΅.
WebP
Π―Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠ°ΠΊ lossy, ΡΠ°ΠΊ ΠΈ lossless, ΠΈ ΠΊΠΎΠΌΠΏΡΠ΅ΡΡΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π½Π° 30β¦40% Π»ΡΡΡΠ΅ JPEGβΠ°. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠΈΠ½ΡΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄Π²ΡΠΌΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌΠΈ β Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΆΠ°ΡΠΈΠ΅. ΠΠ°ΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ²Π΅ΡΠ»ΠΎΠ΅ Π±ΡΠ΄ΡΡΠ΅Π΅.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
ΠΠ΅ ΡΠΌΠΎΡΡΡ Π½Π° ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°, Π½ΠΈ JPEG 2000, Π½ΠΈ JPEG-XR, Π½ΠΈ WebP ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ²Π΅ΡΠΈΡ Π·Π°Π½ΡΡΡ ΠΌΠ΅ΡΡΠΎ ΡΡΠ΅Π΄ΠΈ ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΡΠ΅ΡΠΈ. ΠΠΎΡΠ΅ΠΌΡ? ΠΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ:
<img src="myimage.webp"/>
Π’Π°ΠΊ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ:
<picture>
<source srcset='myimage.jxr' type='image/vnd.ms-photo'>
<source srcset='myimage.jp2' type='image/jp2'>
<source srcset='myimage.webp' type='image/webp'>
<img srcset='myimage-quant.png' alt='myimage'> </picture>
ΠΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ <picture> ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Chrome, Opera ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Firefox, Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ picturefill ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΈ ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΈΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΡ. ΠΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠ° Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊ <head> ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
<script async=true src=/path/to/js/picturefill.js></script>
Π‘ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ WEBP and SVG. ΠΠ»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³Π° <script> Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ:
<script async=true src=/path/to/picturefill.js></script>
<script async=true src=/path/to/jxr.js></script>
<script async=true src=/path/to/jp2.js></script>
Π£ΡΠ°. ΠΠ°ΡΡΠΈΠ½ΠΊΠ° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ Π² ΡΠ°Π·Π½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ .
Π‘ΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ JPEG-XR ΠΈ Webp
ΠΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΡΠΎ ΠΆΠ΅ Π»ΡΡΡΠ΅ ΠΆΠΌΠ΅Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ β JPEG-XR ΠΈΠ»ΠΈ WebP. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΡΠΎΠ±ΡΠ°Π»ΠΈ JPEG-ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈΠ· Π»ΡΡΡΠΈΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΉ Π₯Π°Π±ΡΡ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΌΠ΅ΡΡΡ, ΠΈ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎ ΡΠΆΠ°Π»ΠΈ Π² WebP ΠΈ Π² JPEG-XR Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΈ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
Π‘ΡΠ΅Π΄Π½ΠΈΠΉ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΠΆΠ°ΡΠΈΡ Π΄Π»Ρ JPEG-XR ΡΠΎΡΡΠ°Π²ΠΈΠ» 48%, Π° Π΄Π»Ρ WebP β 60%. ΠΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, ΡΠΎ Π² 80% ΡΠ»ΡΡΠ°Π΅Π² WebP ΡΠΏΡΠ°Π²ΠΈΠ»ΡΡ Ρ Π·Π°Π΄Π°ΡΠ΅ΠΉ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ JPEG-XR Π½Π° 10…25%.
ΠΠΎΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΌΠ°Π½ΡΠ», ΡΠΆΠ°ΡΡΠΉ Π² JPEG-XR ΠΈ Π² WebP.
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ Π·Π°ΡΠ²Π»Π΅Π½Π½ΡΡ .
ΠΠΎΠ½ΡΠΏΠ΅ΠΊΡ
- JPEG 2000, JPEG-XR ΠΈ WebP β ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ, Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ·Π½Π°Π½ΠΈΡ Π² Π²Π΅Π±Π΅.
- ΠΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Ρ ΠΎΡΡ Π±Ρ Π΄Π²Π° ΠΈΠ· ΡΡΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ².
- Π ΠΎΠ±ΡΠ΅ΠΌΡ Π·Π½Π°ΠΌΠ΅Π½Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΉΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ picturefill.
- ΠΠΎΠΏΡΠ΅ΠΊΠΈ Π·Π°ΡΠ²Π»Π΅Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ, WebP ΡΠΆΠΈΠΌΠ°Π΅Ρ ΡΠΎΡΠΊΠΈ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ Π½Π° 10…25% Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ JPEG-XR.
Π€Π°ΠΉΠ»:Π‘ΡΡΡΠΊΡΡΡΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ Π² ΠΌΠ°ΡΡΡΠ°Π±Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.jpg β ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ
ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΈΠ· ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ β ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΡΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΠΈ
ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΏΠΎΠΈΡΠΊΡΠΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅Π‘ΡΡΡΠΊΡΡΡΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ Π² ΠΌΠ°ΡΡΡΠ°Π±Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.jpg | Π ΡΡΡΠΊΠΈΠΉ: Π‘ΡΡΡΠΊΡΡΡΠ°_ΠΈ_ΡΡΠ½ΠΊΡΠΈΠΈ_ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ_ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ_Π²_ΠΌΠ°ΡΡΡΠ°Π±Π΅_ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ Π²ΡΡΡΠΈΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ ΡΡΠ΅Π΄Π½Π΅Π³ΠΎ ΠΈ Π½ΠΈΠ·ΠΎΠ²ΠΎΠ³ΠΎ Π·Π²Π΅Π½Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. |
ΠΠ°ΡΠ° | 12 11 2012; 16 11 2012 |
ΠΡΡΠΎΡΠ½ΠΈΠΊ | Template:ΠΠΎΡ ΠΊΠ½ΠΈΠ³Π° Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ 2-Π΅ ΠΈΠ·Π΄ ΠΠΠΠΠΠΠ, Π‘ΠΠ±, 1999 |
ΠΠ²ΡΠΎΡ | Vitaly yurjevich |
ΠΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ Ρ ΠΎΡΠΎΡΠΎ Π±Ρ Π²ΠΎΡΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ»ΠΈ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² Π²Π΅ΠΊΡΠΎΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ SVG. ΠΡΠΎ Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ², ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Commons:Media for cleanup. ΠΡΠ»ΠΈ Π²Π°ΠΌ ΡΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° Π²Π΅ΠΊΡΠΎΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ Π΅Ρ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°. ΠΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ: {{Vector version available|ΠΠΌΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.svg}}. |
ΠΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (ΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ) Π±ΡΠ»ΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JPEG. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΎΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠ³Π»Π° Π±Ρ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ PNG ΠΈΠ»ΠΈ SVG. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠ°ΠΊΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ PNG- ΠΈΠ»ΠΈ SVG-Π²Π΅ΡΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ² ΡΠΆΠ°ΡΠΈΡ, ΠΏΠΎΠ»ΡΡΠΈΠ² Π΅Π³ΠΎ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π½Π΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ JPEG, Π»ΠΈΠ±ΠΎ ΡΠ±ΡΠ°Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°:
|
ΠΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π―, Π²Π»Π°Π΄Π΅Π»Π΅Ρ Π°Π²ΡΠΎΡΡΠΊΠΈΡ ΠΏΡΠ°Π² Π½Π° ΡΡΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅, Π΄ΠΎΠ±ΡΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠ±Π»ΠΈΠΊΡΡ Π΅Π³ΠΎ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ:
ΠΡΠΎΡ ΡΠ°ΠΉΠ» Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Creative Commons Attribution-Share Alike 3.0 Unported | ||
https://creativecommons.org/licenses/by-sa/3.0 CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 truetrue |
ΠΡΡΠΎΡΠΈΡ ΡΠ°ΠΉΠ»Π°
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° Π΄Π°ΡΡ/Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π·Π°Π³ΡΡΠΆΠ΅Π½ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΠ°ΡΠ°/Π²ΡΠ΅ΠΌΡ | ΠΠΈΠ½ΠΈΠ°ΡΡΡΠ° | Π Π°Π·ΠΌΠ΅ΡΡ | Π£ΡΠ°ΡΡΠ½ΠΈΠΊ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ | |
---|---|---|---|---|---|
ΡΠ΅ΠΊΡΡΠΈΠΉ | 03:28, 1 Π½ΠΎΡΠ±ΡΡ 2014 | 1261 Γ 904 (387 ΠΠ±) | Brattarb | Π‘ΡΡΡΠΊΡΡΡΠ°_ΠΈ_ΡΡΠ½ΠΊΡΠΈΠΈ_ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ_ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ_Π²_ΠΌΠ°ΡΡΡΠ°Π±Π΅_ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.jpg | |
20:00, 16 Π½ΠΎΡΠ±ΡΡ 2012 | 1261 Γ 1597 (516 ΠΠ±) | Vitaly yurjevich | Π‘ΡΡΡΠΊΡΡΡΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ Π€Π°ΠΉΠ» ΠΏΠΎΠΊΠ°Π·ΡΠ²Π΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ [[ΠΠΈ… | ||
10:41, 12 Π½ΠΎΡΠ±ΡΡ 2012 | 1680 Γ 1941 (553 ΠΠ±) | Vitaly yurjevich | {{Information |Description ={{ru|1=Π‘ΡΡΡΠΊΡΡΡΠ°_ΠΈ_ΡΡΠ½ΠΊΡΠΈΠΈ_ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ_ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ_Π²_ΠΌΠ°ΡΡΡΠ°Π±Π΅_ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΎ ΡΡ… |
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ 1 ΡΡΡΠ°Π½ΠΈΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ»:
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ
Π€Π°ΠΉΠ» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ±ΡΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ ΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΊΠ°Π½Π΅ΡΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π»ΡΡ, ΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠΎΠ³ΡΡ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π€Π°ΠΉΠ»:Π‘ΡΡΡΠΊΡΡΡΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ· Π₯Π°ΠΉΠΊΡ.jpg β ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ
ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΈΠ· ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ β ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΡΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΠΈ
ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΏΠΎΠΈΡΠΊΡΠΠΏΠΈΡΠ°Π½ΠΈΠ΅Π‘ΡΡΡΠΊΡΡΡΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ· Π₯Π°ΠΉΠΊΡ.jpg | English: Analysis of haiku. Π ΡΡΡΠΊΠΈΠΉ: Π°Π½Π°Π»ΠΈΠ· Ρ Π°ΠΉΠΊΡ ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ 5-7-5 | |||||
ΠΠ°ΡΠ° | 02 ΠΌΠ°ΡΡΠ° 2008 Π³. | |||||
ΠΡΡΠΎΡΠ½ΠΈΠΊ | Transferred from ru.wikipedia | |||||
ΠΠ²ΡΠΎΡ | Π‘Π°ΡΠ° ΠΠ°ΡΠΏΠ΅Π½ΠΊΠΎ. Original uploader was Sasha1648 at ru.wikipedia | |||||
ΠΡΠ°Π²Π° (ΠΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°) | CC-BY-SA-3.0,2.5,2.0,1.0; Released under the GNU Free Documentation License. | |||||
ΠΡΡΠ³ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ |
|
ΠΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π―, Π²Π»Π°Π΄Π΅Π»Π΅Ρ Π°Π²ΡΠΎΡΡΠΊΠΈΡ ΠΏΡΠ°Π² Π½Π° ΡΡΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅, Π΄ΠΎΠ±ΡΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠ±Π»ΠΈΠΊΡΡ Π΅Π³ΠΎ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ:
Π Π°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ, ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡ ΠΈ/ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ GNU Free Documentation License Π²Π΅ΡΡΠΈΠΈ 1.2 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ Π€ΠΎΠ½Π΄ΠΎΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π±Π΅Π· Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ², Π±Π΅Π· ΡΠ΅ΠΊΡΡΠΎΠ², ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΎΠ±Π»ΠΎΠΆΠΊΠ΅. ΠΠΎΠΏΠΈΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π² ΡΠ°Π·Π΄Π΅Π», ΠΎΠ·Π°Π³Π»Π°Π²Π»Π΅Π½Π½ΡΠΉ GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
ΠΡΠΎΡ ΡΠ°ΠΉΠ» Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ Creative Commons Attribution-Share Alike 3.0 Unported, 2.5 Generic, 2.0 Generic ΠΈ 1.0 Generic. | ||
https://creativecommons.org/licenses/by-sa/3.0 CC BY-SA 3.0 Creative Commons Attribution-Share Alike 3.0 truetrue |
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π»ΡΠ±ΡΡ ΠΈΠ· ΡΡΠΈΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΉ.
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΆΡΡΠ½Π°Π» Π·Π°Π³ΡΡΠ·ΠΎΠΊ
ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»Π°ΡΡ Π·Π΄Π΅ΡΡ. ΠΡΠ΅ Π½ΠΈΠΆΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ru.wikipedia.- 2008-03-06 10:42 Sasha1648 1608Γ2299Γ (316075 bytes) {{ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ = Π°Π½Π°Π»ΠΈΠ· Ρ Π°ΠΉΠΊΡ ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ 5-7-5 | ΠΠ²ΡΠΎΡ = Π‘Π°ΡΠ° ΠΠ°ΡΠΏΠ΅Π½ΠΊΠΎ | ΠΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ = 02 ΠΌΠ°ΡΡΠ° 2008 Π³. | ΠΡΡΠΎΡΠ½ΠΈΠΊ = ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°οΏ½
ΠΡΡΠΎΡΠΈΡ ΡΠ°ΠΉΠ»Π°
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° Π΄Π°ΡΡ/Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π·Π°Π³ΡΡΠΆΠ΅Π½ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΠ°ΡΠ°/Π²ΡΠ΅ΠΌΡ | ΠΠΈΠ½ΠΈΠ°ΡΡΡΠ° | Π Π°Π·ΠΌΠ΅ΡΡ | Π£ΡΠ°ΡΡΠ½ΠΈΠΊ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ | |
---|---|---|---|---|---|
ΡΠ΅ΠΊΡΡΠΈΠΉ | 16:07, 4 Π½ΠΎΡΠ±ΡΡ 2009 | 1608 Γ 2299 (309 ΠΠ±) | Rubinbot | {{BotMoveToCommons|ru.wikipedia|year={{subst:CURRENTYEAR}}|month={{subst:CURRENTMONTHNAME}}|day={{subst:CURRENTDAY}}}} {{Information |Description={{ru|Π°Π½Π°Π»ΠΈΠ· Ρ Π°ΠΉΠΊΡ ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ 5-7-5}} |Source=Transferred from [http://ru.wikipedia.org |
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ 1 ΡΡΡΠ°Π½ΠΈΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ»:
- Π£ΡΠ°ΡΡΠ½ΠΈΠΊ:Sasha1648