JPEG изображение (.jpg)

ISO/IEC Стандарт

JPEG е най-широко възприетият стандарт за компресия със загуби за дигитална фотография и уеб изображения, който се възползва от по-високата чувствителност на човешкото око към яркостта спрямо цветността.

Конвертиране от PNG към JPG

Безплатен конвертор от PNG към JPG в браузъра. Конвертирайте файлове незабавно на вашето устройство.

Компресирайте JPG онлайн

Поверително - файловете никога не напускат устройството ви

Проверка и метаданни

Операционните системи и файловите анализатори идентифицират JPG файлове чрез проверка на началната двоична байтова последователност:

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

Операционните системи и файловите анализатори идентифицират JPG файлове чрез проверка на началната двоична байтова последователност:

HEX ПОДПИС (ОФСЕТ 0):

FF D8 FF

ASCII ПРЕДСТАВЯНЕ: ÿØÿ

Стандартизация: ISO/IEC 10918-1 / ITU-T T.81

Технически спецификации

Контейнерна архитектураМаркерно-ограничен двоичен поток (с префикс 0xFF), опакован в JFIF или EXIF заглавки
КомпресияДискретно косинусово преобразуване (DCT) със загуби + кодиране по дължина на серията и ентропийно кодиране по Хъфман
Поредност на байтовете (Endianness)Обратен ред от старшия към младшия байт (Big-Endian) за дължините на маркерите и таблиците за квантуване; Exif може да бъде Little-Endian (II) или Big-Endian (MM)
Цветови пространстваsRGB, Adobe RGB, CMYK, Y'CbCr, Сива скала
Канали и структура8 бита на канал (24-битов пълен цвят) или 8-битови нюанси на сивото
Максимални размери65 535 x 65 535 пиксела (2-байтови беззнакови цели числа)
ПрозрачностНяма (изображенията са само непрозрачни; няма поддръжка на алфа канал)
Поточно предаване и прогресивно зарежданеПрогресивното JPEG кодиране съхранява множество спектрални проходи, които постепенно повишават разделителната способност

Техническа сравнителна матрица: JPG спрямо конкуренти

Технически атрибутJPG (Текущ)WebPAVIFPNG
Парадигма на компресияDCT със загуби + кодиране по ХъфманСъс загуби (VP8) и без загубиСъс загуби (AV1) и без загубиБез загуби (Deflate)
Алфа прозрачностНяма поддръжка на алфа канал (изображението винаги е непрозрачно)8-битова алфа прозрачност8-битова / 10-битова / 12-битова алфаПълна 8-битова / 16-битова алфа
Хардуерно декодиранеПоддръжката на специализирано хардуерно декодиране на JPEG зависи от чипа и устройството.Широко разпространено хардуерно декодиране в съвременните SoCБързо разширяващо се хардуерно декодиране в съвременните графични процесориБързо декодиране, базирано на процесора (CPU)
Ефективност на компресиятаДобро базово ниво за фотографииМоже да е по-малък от JPEG; резултатът зависи от изображението и кодера.Може да е по-малък от JPEG; резултатът зависи от изображението и кодера.Неефективен за фотографско съдържание
Дълбочина на цветаСтандартна 8-битова дълбочина на канал (24-битов пълен цвят)8-битова на канал10-битова и 12-битова HDR широка цветова гама8-битова и 16-битова на канал

Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни

Програмата за преглед показва грешка „Premature end of JPEG file" или долната част на снимката е изцяло сива или с цветни ивици.

Първопричина: Прекъснато изтегляне или непълен запис във файловото хранилище, при който липсват маркерът за край на потока 0xFFD9 (EOI) и данните от сканирането на изображението.

Възстановяване: Добавете маркер 0xFFD9 в края на прекъснатия поток, за да позволите на декодерите да покажат запазената горна част на снимката.

Цветовете на изображението изглеждат силно изместени, обърнати или психеделични.

Първопричина: Обърната заглавка на цветовото пространство CMYK или невалиден вграден ICC профил.

Възстановяване: Конвертирайте цветовото пространство от CMYK в sRGB с помощта на ImageMagick („magick broken.jpg -colorspace sRGB fixed.jpg").

Файлът не се отваря и дава грешка „Invalid marker found".

Първопричина: Повреда на битове в заглавките на таблицата за квантуване (DQT 0xFFDB) или таблицата на Хъфман (DHT 0xFFC4).

Възстановяване: Заменете повредените маркери на заглавките със стандартни базови JFIF таблици на Хъфман и за квантуване, извлечени от цял JPEG файл.

Анализ на сигурността и вектори на атака към парсера

Основните рискове за сигурността на JPEG са изтичането на лични данни в метаданните (EXIF) и препълването на буфери в стари C декодери (libjpeg).

Известни вектори на атака

  • Разкриване на чувствителни метаданни: неизчистени EXIF заглавки, съдържащи GPS координати, серийни номера на камерите и миниатюри.
  • Четене извън границите на буфера и препълване на цели числа в старите анализатори на libjpeg при обработка на повредени маркери за рестартиране (RST) или скриптове за прогресивно сканиране.
  • Полиглот файлове, съчетаващи JPEG заглавки с изпълними ZIP или RAR архиви.

Най-добри практики за защита: Винаги премахвайте EXIF и GPS метаданните за местоположение, когато публикувате потребителски снимки, за да защитите личните данни на потребителите. Използвайте съвременни декодери с безопасно управление на паметта (като image-rs в Rust) или декодери WebAssembly, изпълнявани в изолирана среда.

Исторически произход и етапи

1998Стандартите за контейнери JFIF и EXIF утвърждават господството на JPEG при цифровите фотоапарати.
1992Спецификацията на JPEG е ратифицирана като ISO/IEC 10918-1.
1986Съвместната група от експерти по фотография (JPEG) е основана под егидата на ISO и CCITT.

Основни предимства

  • Декодирането на JPEG се поддържа широко от софтуер и устройства за изображения, но съвместимостта зависи от устройството и приложението.
  • Отлични коефициенти на компресия (от 10:1 до 20:1) за фотографски непрекъснати тонове.
  • Малък обем на полезния товар с възможност за постепенно визуализиране.

Технически ограничения и минуси

  • Компресията със загуби води до артефакти при компресия (назъбване и накъсване на блокове) по острите ръбове.
  • Липса на поддръжка за канал за прозрачност.
  • Влошаване на качеството при всяко декомпресиране, редактиране и повторно запазване на файла.

Интересни технически факти

  • Класическото тестово изображение „Лена“, използвано за разработване на JPEG компресията, е сканирано от брой на списание Playboy от ноември 1972 г.
  • Субдискретизацията JPEG 4:2:0 намалява наполовина цветната разделителна способност както хоризонтално, така и вертикално с почти нулево перцептивно влошаване.
  • Всеки стандартен JPEG започва с маркер 0xFFD8 (Начало на изображението) и завършва с маркер 0xFFD9 (Край на изображението).

Често задавани технически въпроси

Защо многократното запазване на JPEG файл намалява качеството на изображението?

JPEG е формат за компресия със загуби, която не може да бъде възстановена. Всеки път, когато декомпресирате и запишете отново JPEG файл, стъпката на DCT квантуване отхвърля високочестотните пространствени детайли и преизчислява приближението на блоковете от 8x8 пиксела, което води до натрупване на артефакти от многократно запазване.

Какво представлява прогресивният JPEG и защо е полезен?

Стандартният базов JPEG се декодира ред по ред отгоре надолу. Прогресивният JPEG кодира данните на изображението в множество спектрални проходи, което позволява на браузърите незабавно да покажат цялото изображение размазано и с ниска разделителна способност, а след това постепенно да го изострят с изтеглянето на данните.

Какво представлява субдискретизацията на цвета (4:2:0 спрямо 4:4:4)?

В човешката ретина има повече пръчици (отговорни за яркостта), отколкото колбички (отговорни за цвета). JPEG използва това, като запазва пълната разделителна способност на яркостта (Y), а намалява наполовина хоризонтално и вертикално разделителната способност на цветовите компоненти (Cb, Cr) (4:2:0). Така преди компресиране се премахват 50% от суровите данни при почти незабележима загуба.

Може ли JPEG изображение да има прозрачен фон?

Не. Стандартът JPEG не предвижда алфа канал. Ако е необходима прозрачност, трябва да преобразувате изображението във формат WebP, AVIF или PNG.

Свързани двойки за конвертиране на JPG

PNG до JPG

Конвертирането на PNG растерни изображения в JPEG формат намалява размера на файла чрез прилагане на компресия със загуба, което прави изображенията по-бързи за зареждане в уеб сайтове и заема по-малко място за съхранение.

JPG до PNG

Конвертирането на растерно JPEG изображение със загуба на данни в запазващ качеството PNG формат предотвратява последващо влошаване на детайлите и добавя поддръжка на прозрачност чрез алфа канал.

JPG до WEBP

Конвертирането на JPEG в WebP може да намали размера на файла при сходно визуално качество, но резултатите зависят от съдържанието на изображението и настройките за кодиране.

WEBP до JPG

Конвертирането на WebP в JPEG може да улесни използването на неподвижно изображение в програми, които не поддържат WebP; JPEG не запазва прозрачността и анимацията.

HEIC до JPG

Конвертирането на HEIC снимки в JPEG изображения преобразува стандартния формат на камерата на Apple в растерни файлове, които се поддържат навсякъде, включително в по-стар софтуер и уеб браузъри.

AVIF до JPG

Конвертирането на AVIF в JPEG може да улесни работата със стар софтуер, който не поддържа формата AV1 Image File Format.

JPG до AVIF

Конвертирането на старо JPEG изображение в AVIF формат значително намалява размера на файла, като същевременно запазва високо визуално качество чрез модерни технологии за видео кодиране.

PSD до JPG

Конвертирайте големи композиции във формат PSD, създадени с Adobe Photoshop в компактни JPEG снимки, които могат да се преглеждат навсякъде.