Jpg структура Ρ„Π°ΠΉΠ»Π°: Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ JPEG для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² / Habr – CΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° хранСния jpg Ρ„Π°ΠΉΠ»ΠΎΠ² Β· lanit-tercom-school/grouplock Wiki Β· GitHub

Jpg структура Ρ„Π°ΠΉΠ»Π°: Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ JPEG для Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² / Habr – CΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° хранСния jpg Ρ„Π°ΠΉΠ»ΠΎΠ² Β· lanit-tercom-school/grouplock Wiki Β· GitHub

alexxlab 27.03.2020

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ 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

max=2 ΠΈ Vmax=2. Канал i Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ€Π΅ΠΆΠ΅Π½ Π² Hmax/Hi Ρ€Π°Π· ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈ Vmax/Vi Ρ€Π°Π· ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ.


ΠœΠ°Ρ€ΠΊΠ΅Ρ€ [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 ΠΊΠΎΠ΄Π°, большС ΠΊΠΎΠ΄ΠΎΠ² Π² этой Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½Π΅Ρ‚.

Π‘ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ сопоставлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π² Ρ„Π°ΠΉΠ»Π΅ ΠΎΠ½ΠΈ пСрСчислСны слСдом. ЗначСния ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅, поэтому Ρ‡ΠΈΡ‚Π°Π΅ΠΌ 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 β€” Π΄Π»ΠΈΠ½Π° коэффициСнта Π² Π±ΠΈΡ‚Π°Ρ…. Π§ΠΈΡ‚Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±ΠΈΡ‚.


  1. АналогичСн ΠΏ. 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 ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°) ΠΈ собствСнно Π΄Π°Π½Π½Ρ‹Ρ…. Вакая структура Ρ„Π°ΠΉΠ»Π° позволяСт быстро ΠΎΡ‚Ρ‹ΡΠΊΠ°Ρ‚ΡŒ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с Π΄Π»ΠΈΠ½ΠΎΠΉ строки, числом строк ΠΈ числом Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² сТатого изобраТСния).

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹ JPEG[5]
ΠœΠ°Ρ€ΠΊΠ΅Ρ€Π‘Π°ΠΉΡ‚Ρ‹Π”Π»ΠΈΠ½Π°ΠΠ°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ
SOI0xFFD8нСтНачало изобраТСния
SOF00xFFC0ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ размСрНачало Ρ„Ρ€Π΅ΠΉΠΌΠ° (Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ, Π”ΠšΠŸ)ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ с использованиСм Π”ΠšΠŸ ΠΈ ΠΊΠΎΠ΄Π° Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°. ΠœΠ°Ρ€ΠΊΠ΅Ρ€ содСрТит число строк ΠΈ Π΄Π»ΠΈΠ½Ρƒ строки изобраТСния (Π΄Π²ΡƒΡ…Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ поля со смСщСниСм соотвСтствСнно 5 ΠΈ 7 ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°), количСство ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ со смСщСниСм 8 ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°), число Π±ΠΈΡ‚ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ (Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ со смСщСниСм 4 ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ‡Π°Π»Π° ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 4:2:0).
SOF10xFFC1ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ размСрНачало Ρ„Ρ€Π΅ΠΉΠΌΠ° (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ, Π”ΠšΠŸ, ΠΊΠΎΠ΄ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°)ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΌ (extended) Ρ€Π΅ΠΆΠΈΠΌΠ΅ с использованиСм Π”ΠšΠŸ ΠΈ ΠΊΠΎΠ΄Π° Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°. ΠœΠ°Ρ€ΠΊΠ΅Ρ€ содСрТит число строк ΠΈ Π΄Π»ΠΈΠ½Ρƒ строки изобраТСния, количСство ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², число Π±ΠΈΡ‚ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 4:2:0).
SOF20xFFC2ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ размСрНачало Ρ„Ρ€Π΅ΠΉΠΌΠ° (прогрСссивный, Π”ΠšΠŸ, ΠΊΠΎΠ΄ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°)ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ Π² прогрСссивном Ρ€Π΅ΠΆΠΈΠΌΠ΅ с использованиСм Π”ΠšΠŸ ΠΈ ΠΊΠΎΠ΄Π° Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°. ΠœΠ°Ρ€ΠΊΠ΅Ρ€ содСрТит число строк ΠΈ Π΄Π»ΠΈΠ½Ρƒ строки изобраТСния, количСство ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², число Π±ΠΈΡ‚ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 4:2:0).
DHT0xFFC4ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°Π—Π°Π΄Π°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‚Π°Π±Π»ΠΈΡ† Π₯Π°Ρ„Ρ„ΠΌΠ°Π½Π°.
DQT0xFFDBΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ квантованияЗадаСт ΠΎΠ΄Π½Ρƒ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‚Π°Π±Π»ΠΈΡ† квантования.
DRI0xFFDD4 Π±Π°ΠΉΡ‚Π°Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉΠ—Π°Π΄Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°ΠΌΠΈ RST n Π² ΠΌΠ°ΠΊΡ€ΠΎΠ±Π»ΠΎΠΊΠ°Ρ….
SOS0xFFDAΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ размСрНачало сканированияНачало ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ скана изобраТСния с Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±Ρ…ΠΎΠ΄Π° слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ свСрху Π²Π½ΠΈΠ·. Если использовался Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ кодирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ΄ΠΈΠ½ скан. ΠŸΡ€ΠΈ использовании прогрСссивных Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСсколько сканов. ΠœΠ°Ρ€ΠΊΠ΅Ρ€ SOS являСтся Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎΠΉ (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ) ΠΈ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ (собствСнно сТатыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ) частями изобраТСния.
RSTn0xFFDnΠ½Π΅Ρ‚ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ’ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ r ΠΌΠ°ΠΊΡ€ΠΎΠ±Π»ΠΎΠΊΠ΅, Π³Π΄Π΅ rΒ β€” ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» пСрСзапуска DRI ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°. НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ отсутствии DRI ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°. n, младшиС 3 Π±ΠΈΡ‚Π° ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° ΠΊΠΎΠ΄Π°, Ρ†ΠΈΠΊΠ»Ρ‹ ΠΎΡ‚ 0 Π΄ΠΎ 7.
APPn0xFFEnΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ размСрЗадаётся прилоТСниСмНапримСр, Π² EXIF JPEG-Ρ„Π°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ APP1 для хранСния ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, располоТСных Π² структурС, основанной Π½Π° TIFF.
COM0xFFFEΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉΠ‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ тСкст коммСнтария.
EOI0xFFD9Π½Π΅Ρ‚ΠšΠΎΠ½Π΅Ρ† Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ части изобраТСния.

Достоинства ΠΈ нСдостатки

К нСдостаткам сТатия ΠΏΠΎ стандарту 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:
Β 

  1. Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ — FFh D8h;
  2. ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ прилоТСния;
  3. Β ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ;
  4.  графичСская информация.
    Β 

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ:

…
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>

Π’ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ &ltpicture&gt ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Chrome, Opera ΠΈ послСдняя вСрсия Firefox, Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ picturefill подстраиваСмся ΠΈ ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹. ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ скрипта Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊ &lthead&gt ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:
<script async=true src=/path/to/js/picturefill.js></script>

Π‘Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для WEBP and SVG. Для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² сразу послС Ρ‚Π΅Π³Π° &ltscript&gt добавляСм:
<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
Converted to SVG.svgΠ­Ρ‚Ρƒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π±Ρ‹ Π²ΠΎΡΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ SVG. Π­Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ нСсколько прСимущСств, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° страницС Commons:Media for cleanup. Если Π²Π°ΠΌ ΡƒΠΆΠ΅ сСйчас доступна вСкторная вСрсия Π΄Π°Π½Π½ΠΎΠ³ΠΎ изобраТСния, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π΅Ρ‘, поТалуйста. ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ этот шаблон Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ: {{Vector version available|Имя Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.svg}}.
No JPG.svgΠ­Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (ΠΈΠ»ΠΈ всС изобраТСния Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ) Π±Ρ‹Π»ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JPEG. Однако, ΠΎΠ½ΠΎ содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, которая ΠΌΠΎΠ³Π»Π° Π±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PNG ΠΈΠ»ΠΈ SVG. Если Ρƒ вас имССтся такая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, поТалуйста, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ PNG- ΠΈΠ»ΠΈ SVG-Π²Π΅Ρ€ΡΠΈΡŽ этого изобраТСния Π±Π΅Π· Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ² сТатия, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² Π΅Π³ΠΎ ΠΈΠ· исходного ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π½Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JPEG, Π»ΠΈΠ±ΠΎ ΡƒΠ±Ρ€Π°Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ это Π±ΡƒΠ΄Π΅Ρ‚ сдСлано, поТалуйста:
  1. НайдитС всС страницы Π²ΠΎ всСх ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Ρ„ΠΎΠ½Π΄Π° Π’ΠΈΠΊΠΈΠΌΠ΅Π΄ΠΈΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ это ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ староС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹ΠΌ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницС.
  2. ΠŸΠΎΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ это ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½Ρ‘Π½Π½ΠΎΠ΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих шаблонов.
  3. Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ссылкой Β«ΠΠΎΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅Β» Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ старого изобраТСния (эта ссылка добавляСтся Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΎΠΌ; Ссли Π²Ρ‹ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ Π΅Π³ΠΎ, Ρ‚ΠΎ запроситС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ: Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½Π° страницу изобраТСния шаблон {{Delete}}, ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ запрос Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π° страницу Commons:Deletion requests).
Badjpeg.jpg

Π›ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π―, Π²Π»Π°Π΄Π΅Π»Π΅Ρ† авторских ΠΏΡ€Π°Π² Π½Π° это ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅, Π΄ΠΎΠ±Ρ€ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽ Π΅Π³ΠΎ Π½Π° условиях ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ:

w:ru:Creative Commons

атрибуцияраспространСниС Π½Π° Ρ‚Π΅Ρ… ΠΆΠ΅ условиях

Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» доступСн ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ 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 ноября 20141261 Γ— 904 (387 Кб)BrattarbΠ‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°_ΠΈ_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_управлСния_качСством_Π²_ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅_ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.jpg
20:00, 16 ноября 20121261 Γ— 1597 (516 Кб)Vitaly yurjevichΠ‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ управлСния качСством Π€Π°ΠΉΠ» ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π΅Ρ‚ структуру ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ управлСния качСством Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ [[Π›ΠΈ…
10:41, 12 ноября 20121680 Γ— 1941 (553 Кб)Vitaly yurjevich{{Information |Description ={{ru|1=Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°_ΠΈ_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ_управлСния_качСством_Π²_ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅_ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ руководства качСством со ст…

ИспользованиС Ρ„Π°ΠΉΠ»Π°

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ 1 страница ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»:

  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ качСством

Π€Π°ΠΉΠ» содСрТит Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ добавляСмыС Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ ΠΊΠ°ΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈΠ»ΠΈ сканСрами. Если Ρ„Π°ΠΉΠ» послС создания рСдактировался, Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ.

Π€Π°ΠΉΠ»:Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈ Π°Π½Π°Π»ΠΈΠ· Π₯Π°ΠΉΠΊΡƒ.jpg β€” ВикипСдия

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΈΠ· Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ β€” свободной энциклопСдии

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ поиску
ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈ Π°Π½Π°Π»ΠΈΠ· Π₯Π°ΠΉΠΊΡƒ.jpg

English: Analysis of haiku.

Русский: Π°Π½Π°Π»ΠΈΠ· Ρ…Π°ΠΉΠΊΡƒ ΠΏΠΎ систСмС 5-7-5

Π”Π°Ρ‚Π°

02 ΠΌΠ°Ρ€Ρ‚Π° 2008 Π³.

( (original upload date))
Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Transferred from ru.wikipedia

(Original textΒ : собствСнная Ρ€Π°Π±ΠΎΡ‚Π°)
Автор

Баша ΠšΠ°Ρ€ΠΏΠ΅Π½ΠΊΠΎ.

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.
Π”Ρ€ΡƒΠ³ΠΈΠ΅ вСрсии
Converted to SVG.svgΠ­Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ нСизвСстного Ρ‚ΠΈΠΏΠ° Β«textΒ» Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π±Ρ‹ Π²ΠΎΡΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ SVG. Π­Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ нСсколько прСимущСств, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° страницС Commons:Media for cleanup. Если Π²Π°ΠΌ ΡƒΠΆΠ΅ сСйчас доступна вСкторная вСрсия Π΄Π°Π½Π½ΠΎΠ³ΠΎ изобраТСния, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π΅Ρ‘, поТалуйста. ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ этот шаблон Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ: {{Vector version available|Имя Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.svg}}.
No JPG.svgΠ­Ρ‚ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (ΠΈΠ»ΠΈ всС изобраТСния Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ) Π±Ρ‹Π»ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JPEG. Однако, ΠΎΠ½ΠΎ содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, которая ΠΌΠΎΠ³Π»Π° Π±Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PNG ΠΈΠ»ΠΈ SVG. Если Ρƒ вас имССтся такая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, поТалуйста, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ PNG- ΠΈΠ»ΠΈ SVG-Π²Π΅Ρ€ΡΠΈΡŽ этого изобраТСния Π±Π΅Π· Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ² сТатия, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² Π΅Π³ΠΎ ΠΈΠ· исходного ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π½Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JPEG, Π»ΠΈΠ±ΠΎ ΡƒΠ±Ρ€Π°Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ это Π±ΡƒΠ΄Π΅Ρ‚ сдСлано, поТалуйста:
  1. НайдитС всС страницы Π²ΠΎ всСх ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Ρ„ΠΎΠ½Π΄Π° Π’ΠΈΠΊΠΈΠΌΠ΅Π΄ΠΈΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ это ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ староС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹ΠΌ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницС.
  2. ΠŸΠΎΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ это ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½Ρ‘Π½Π½ΠΎΠ΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих шаблонов.
  3. Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ссылкой Β«ΠΠΎΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅Β» Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ старого изобраТСния (эта ссылка добавляСтся Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π³Π°Π΄ΠΆΠ΅Ρ‚ΠΎΠΌ; Ссли Π²Ρ‹ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ Π΅Π³ΠΎ, Ρ‚ΠΎ запроситС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ: Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½Π° страницу изобраТСния шаблон {{Delete}}, ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ запрос Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π° страницу Commons:Deletion requests).
Badjpeg.jpg

Π›ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π―, Π²Π»Π°Π΄Π΅Π»Π΅Ρ† авторских ΠΏΡ€Π°Π² Π½Π° это ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅, Π΄ΠΎΠ±Ρ€ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽ Π΅Π³ΠΎ Π½Π° условиях ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ:

GNU headΠ Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈ/ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ этот Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π² соотвСтствии с условиями GNU Free Documentation License вСрсии 1.2 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ Π€ΠΎΠ½Π΄ΠΎΠΌ свободного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π±Π΅Π· нСизмСняСмых Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ², Π±Π΅Π· тСкстов, ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Ρ… Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈ послСднСй ΠΎΠ±Π»ΠΎΠΆΠΊΠ΅. Копия Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Ρ€Π°Π·Π΄Π΅Π», ΠΎΠ·Π°Π³Π»Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue
w:ru:Creative Commons

атрибуцияраспространСниС Π½Π° Ρ‚Π΅Ρ… ΠΆΠ΅ условиях

Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» доступСн Π½Π° условиях Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ 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 ноября 20091608 Γ— 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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *