תמונת JPEG (.jpg)
ISO/IEC תקןJPEG הוא תקן דחיסת הנתונים באובדן (Lossy) הנפוץ ביותר לצילום דיגיטלי ותמונות רשת, ומנצל את רגישותו הגבוהה יותר של העין האנושית לבהירות (לומיננס) בהשוואה לצבע (כרומיננס).
המר PNG ל-JPG
ממיר חינמי מ-PNG ל-JPG פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.
כיווץ JPG אונליין
פרטי - הקבצים לעולם אינם עוזבים את המכשיר שלך
בדיקה ומטא-נתונים
מערכות הפעלה ומנתחי קבצים מזהים קבצי JPG על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי JPG על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
FF D8 FFייצוג ASCII: ÿØÿ
תקינה: ISO/IEC 10918-1 / ITU-T T.81
מפרט טכני
| מבנה המכולה | זרם בינארי מופרד סמנים (קידומת 0xFF) העטוף בכותרות JFIF או EXIF |
| דחיסה | המרת קוסינוס בדידה (DCT) בשיטת אובדן נתונים + קידוד אנטרופיה לפי אורך ריצה והופמן |
| סדר בתים (Endianness) | Big-Endian עבור אורכי סמנים וטבלאות קוונטיזציה; Exif יכול להיות Little (II) או Big (MM) |
| מרחבי צבע | sRGB, Adobe RGB, CMYK, Y'CbCr, גווני אפור |
| ערוצים ומבנה | 8 סיביות לערוץ (צבע מלא של 24 סיביות) או גווני אפור של 8 סיביות |
| ממדים מרביים | 65,535 x 65,535 פיקסלים (מספרים שלמים ללא סימן בני 2 בתים) |
| שקיפות | ללא (אטום בלבד; אין תמיכה בערוץ אלפא) |
| הזרמה ופרוגרסיביות | קידוד JPEG מדורג (Progressive) שומר מספר מעברים ספקטרליים מרזולוציה נמוכה לגבוהה |
מטריצת השוואה טכנית: JPG מול מתחרים
| תכונה טכנית | JPG (נוכחי) | WebP | AVIF | PNG |
|---|---|---|---|---|
| פרדיגמת דחיסה | DCT עם אובדן + קידוד הופמן | דחיסה מאבדת נתונים (VP8) ודחיסה ללא אובדן | דחיסה מאבדת נתונים (AV1) ודחיסה ללא אובדן | ללא אובדן Deflate |
| שקיפות אלפא | אין תמיכה בערוץ אלפא (אטום תמיד) | שקיפות אלפא של 8 ביט | תמיכת אלפא של 8, 10 או 12 סיביות | ערוץ אלפא מלא של 8 או 16 סיביות |
| פענוח חומרתי | תמיכה בפענוח JPEG ייעודי בחומרה תלויה בשבב ובהתקן. | פענוח חומרתי נפוץ במעבדי SoC מודרניים | פענוח חומרתי מתרחב במהירות במעבדים גרפיים מודרניים | פענוח מהיר מבוסס מעבד מרכזי (CPU) |
| יעילות דחיסה | בסיס טוב לתמונות | עשוי להיות קטן יותר מקובץ JPEG; התוצאה תלויה בתמונה ובמקודד | עשוי להיות קטן יותר מקובץ JPEG; התוצאה תלויה בתמונה ובמקודד | לא יעיל עבור תכנים צילומיים |
| עומק סיביות צבע | תקן 8 ביט לכל ערוץ (24-bit Truecolor) | 8 ביט לכל ערוץ | טווח דינמי רחב (HDR) של 10 ביט ו-12 ביט | 8 ביט ו-16 ביט לכל ערוץ |
מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)
מציג התמונות מציג את השגיאה '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 שלם.
ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)
אבטחת JPEG סובבת בעיקר סביב דליפות פרטיות של מטא-דאטה (EXIF) וחריגות חוצץ (buffer overflows) במפענחי C ישנים (libjpeg).
ווקטורי תקיפה ידועים
- חשיפת מטא-דאטה רגיש: כותרות EXIF שלא נוקו המכילות קואורדינטות GPS, מספרים סידוריים של המצלמה ותמונות ממוזערות מקדימות.
- קריאות מעבר לסוף החוצץ וגלישות מספרים שלמים בניתוח של libjpeg ישן עלולות לפגוע בסמני הפעלה מחדש (RST) או בסקריפטים של סריקה מתקדמת.
- קבצי פוליגלוט המשלבים כותרות JPEG עם ארכיוני ZIP או RAR בני הרצה.
שיטות מומלצות להגנה: בעת פרסום תמונות משתמש, הסר תמיד מהן מטא-נתוני EXIF ונתוני מיקום GPS כדי להגן על פרטיות המשתמשים. השתמש במפענחים מודרניים בטוחים מבחינת זיכרון (כגון image-rs ב-Rust) או במפענחי WebAssembly מבודדים.
היסטוריה ואבני דרך
יתרונות מרכזיים
- תוכנות והתקני תמונה רבים תומכים בפענוח JPEG, אך התאימות משתנה לפי ההתקן והיישום.
- יחסי דחיסה מצוינים (10:1 עד 20:1) עבור גוונים רציפים בצילום.
- נפח מטען קטן עם יכולת רינדור מדורג (Progressive).
מגבלות טכניות וחסרונות
- דחיסה באובדן גורמת לארטיפקטים של דחיסה (צלצולים וריבועיות) לאורך קצוות חדים.
- אין תמיכה בערוץ שקיפות (אלפא).
- אובדן דורות מתרחש בכל פעם שקובץ עובר פענוח, עריכה ושמירה מחדש.
עובדות טכניות מעניינות
- תמונת הבדיקה הקלאסית 'לנה' (Lenna) ששימשה לפיתוח דחיסת JPEG נסרקה מגיליון נובמבר 1972 של מגזין פלייבוי.
- דגימת משנה של JPEG 4:2:0 מקצצת בחצי את רזולוציית הצבע הן אופקית והן אנכית עם פגיעה תפיסתית אפסית כמעט.
- כל קובץ JPEG תקני מתחיל בסמן 0xFFD8 (תחילת תמונה - Start of Image) ומסתיים ב-0xFFD9 (סוף תמונה - End of Image).
שאלות טכניות נפוצות
מדוע שמירת קובץ JPEG פעמים רבות מפחיתה את איכות התמונה?
JPEG הוא פורמט דחיסה מאבד נתונים ובלתי הפיך. בכל פעם שמפענחים ושומרים מחדש קובץ JPEG, שלב קוונטיזציית ה-DCT משמיט פרטים מרחביים בתדרים גבוהים ומקרב מחדש בלוקי פיקסלים בגודל 8x8, וכך נוצרים פגמים מצטברים של 'אובדן דורות'.
מהו JPEG מדורג (Progressive) ולמה הוא שימושי?
קובץ JPEG סטנדרטי (Baseline) מפוענח שורה אחר שורה מלמעלה למטה. JPEG מדורג מקודד את נתוני התמונה במספר מעברים ספקטרליים, ומאפשר לדפדפנים להציג מיד טשטוש ברזולוציה נמוכה של כל התמונה ולחדד אותה בהדרגה ככל שהבתים יורדים מהרשת.
מהי דגימת משנה של צבע (Chroma Subsampling - 4:2:0 לעומת 4:4:4)?
ברשתית העין האנושית יש תאי קנים (לומיננס/בהירות) רבים יותר מתאי מדוכים (צבע). JPEG מנצל זאת על ידי שמירה על רזולוציית הבהירות המלאה (Y) תוך הפחתת רזולוציית הצבע (Cb, Cr) בחצי הן אופקית והן אנכית (4:2:0), וכך מסיר 50% מהנתונים הגולמיים לפני הדחיסה, כמעט ללא פגיעה נראית לעין.
האם תמונת JPEG יכולה לכלול רקע שקוף?
לא. מפרט ה-JPEG התקני אינו מכיר כלל מושג של ערוץ אלפא. אם נדרשת שקיפות, עליך להמיר את התמונה לפורמט WebP, AVIF או PNG.
זוגות המרה קשורים ל-JPG
המרת תמונות רסטר מסוג PNG לפורמט JPEG מקטינה את גודל הקובץ באמצעות דחיסה מאבדת נתונים, וכך התמונות נטענות מהר יותר באתרי אינטרנט ותופסות פחות מקום באחסון.
המרת תמונת רסטר מסוג JPEG, המאבדת נתונים, לתמונת רסטר מסוג PNG ללא אובדן נתונים מונעת אובדן איכות נוסף ומוסיפה תמיכה בשקיפות באמצעות ערוץ אלפא.
המרת JPEG ל-WebP יכולה להקטין את גודל הקובץ באיכות חזותית דומה, אך התוצאות משתנות לפי תוכן התמונה והגדרות הקידוד.
המרת תמונת WebP ל-JPEG יכולה להקל על השימוש בתמונה סטטית בתוכנה שאינה תומכת ב-WebP; JPEG אינו שומר על שקיפות או הנפשה.
המרת תמונות HEIC לתמונות JPEG משנה את פורמט ברירת המחדל של המצלמה של Apple לקבצי רסטר הניתנים לקריאה אוניברסלית בתוכנות ישנות יותר ובדפדפני אינטרנט.
המרת תמונות AVIF ל-JPEG יכולה לעזור בתוכנות ישנות שאינן תומכות בפורמט AV1 Image File Format.
המרת תמונת JPEG מדור קודם לתמונת AVIF מצמצמת משמעותית את נפח הקובץ תוך שמירה על נאמנות חזותית גבוהה באמצעות טכנולוגיית קידוד וידאו מתקדמת.
המר קומפוזיציות PSD כבדות של Adobe Photoshop לתמונות JPEG קומפקטיות הניתנות לצפייה אוניברסלית.