מפת סיביות ניידת (.pbm)
תקן תקןפורמט מפת סיביות ניידת (PBM) הוא פורמט הגרפיקה הבסיסי בשחור-לבן של 1-bit מתוך חבילת Netpbm, המתוכנן עבור פשטות מרבית, קריאות לבני אדם ויצירה פרוגרמטית.
בדיקה ומטא-נתונים
מערכות הפעלה ומנתחי קבצים מזהים קבצי PBM על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי PBM על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
50 31 / 50 34ייצוג ASCII: P1 / P4
תקינה: תקן ספריית Netpbm
מפרט טכני
| מבנה המכולה | פורמט Netpbm בטקסט ASCII (P1) או בינארי (P4), המגדיר רוחב, גובה ומערך פיקסלים של סיבית אחת |
| דחיסה | ייצוג בינארי גולמי או תווי ASCII, ללא דחיסה |
| סדר בתים (Endianness) | אריזת סיביות Big-Endian (במצב בינארי P4) |
| מרחבי צבע | מונוכרום (שחור ולבן של סיבית אחת) |
| ערוצים ומבנה | ערוץ מונוכרום אחד של סיבית אחת (0 = לבן, 1 = שחור) |
| ממדים מרביים | מגבלות מעשיות כמעט שאינן קיימות (מחרוזת ממדים מספרית ב-ASCII) |
| שקיפות | ללא |
| הזרמה ופרוגרסיביות | הפעלה רציפה בהזרמה, שורה אחר שורה |
מטריצת השוואה טכנית: PBM מול מתחרים
| תכונה טכנית | PBM (נוכחי) | PGM | PPM | BMP |
|---|---|---|---|---|
| עומק צבע | מונוכרום 1-bit (שחור-לבן בלבד) | גווני אפור 8-bit עד 16-bit | צבע RGB 24-bit עד 48-bit | RGBA בגודל 1-bit עד 32-bit |
| אח במשפחת Netpbm | PBM (מפת סיביות ניידת) | PGM (מפת גווני אפור ניידת) | PPM (מפת פיקסלים ניידת) | פורמט שאינו מבית Netpbm |
| בייטי זיהוי (Magic Bytes) | P1 (ASCII) / P4 (בינארי) | P2 (ASCII) / P5 (בינארי) | P3 (ASCII) / P6 (בינארי) | BM (0x42 0x4D) |
| שימוש עיקרי | עיבוד מסמכי OCR ופקס | הדמיה רפואית וגווני אפור | חינוך לגרפיקה ממוחשבת | גרפיקת שולחן עבודה של Windows |
מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)
התמונה מוצגת עם שורות אופקיות מעוותות או פיקסלים חסרים.
גורם שורש: הערות שלא עברו בריחה ('#') או מפרידי רווח לבן חסרים בכותרת ה-ASCII.
שחזור: אמתו את מבנה הכותרת ומעברי השורות באמצעות ממיר ה-Netpbm של File2File.app.
ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)
מנתחי PBM הקוראים מחרוזות מימדים בפורמט ASCII פגיעים לגלישות מספר שלם אם המימדים חורגים ממגבלות הפלטפורמה.
ווקטורי תקיפה ידועים
- גלישת מספר שלם במהלך הקצאת חוצץ סיביות בחישוב רוחב * גובה.
- קריאת יתר של חוצץ בעת קריאת זרמי רווח לבן פגומים בפורמט ASCII.
- מניעת שירות (DoS) באמצעות הצהרות מימדים מוגזמות בגודלן בתוך קבצים זעירים.
שיטות מומלצות להגנה: הגבל את הממדים המרביים המותרים של PBM וודא את גבולות מאגר הסיביות לפני הפענוח.
היסטוריה ואבני דרך
יתרונות מרכזיים
- המבנה הקומפקטי שלו מאפשר לממש בקלות יחסית קוראים וכותבים בסיסיים של PBM, אם כי אורך הקוד תלוי בשפה ובדרישות.
- מצב ASCII (P1) ניתן לקריאה אנושית מלאה וניתן ליצור או לערוך אותו בעורכי טקסט תקניים כמו פנקס רשימות (Notepad).
- אפשר להשתמש ב-PBM בחלק מתהליכי עיבוד התמונות, ראייה ממוחשבת ו-OCR, במיוחד כשמפת סיביות מונוכרומטית פשוטה מועילה.
מגבלות טכניות וחסרונות
- מוגבל אך ורק למונוכרום של 1-bit (ללא גווני אפור או צבע).
- מצב ASCII אינו יעיל בעליל, ומשתמש בבית אחד של טקסט ASCII ('0' או '1') עבור סיבית יחידה של נתוני תמונה.
- חסר מטא-דאטה, פרופילי צבע או תמיכה בשכבות.
עובדות טכניות מעניינות
- בפורמט ASCII PBM ('P1'), פיקסל לבן מיוצג על ידי '0' ופיקסל שחור על ידי '1' (בניגוד אינטואיטיבי למוסכמות RGB מודרניות).
- אתה יכול פשוטו כמשמעו ליצור תמונת PBM תקינה על ידי הקלדת 'P1 2 2 1 0 0 1' בקובץ טקסט ושמירתו.
- הפורמט הומצא כדי שמדעני מחשב יוכלו לשתף מסמכים סרוקים דרך קבוצות דיון של Usenet.
שאלות טכניות נפוצות
מה ההבדל בין PBM, PGM ו-PPM?
PBM הוא מונוכרום של סיבית אחת (שחור ולבן בלבד), PGM הוא גווני אפור, ו-PPM הוא צבע RGB מלא של 24 סיביות.
מה המשמעות של P1 ו-P4 בקובצי PBM?
'P1' מציין שהתמונה מאוחסנת בטקסט ASCII רגיל, בעוד ש-'P4' מציין שהתמונה מאוחסנת כבייטים בינאריים קומפקטיים.
כיצד אוכל להמיר קובץ PBM ל-PNG?
תוכל להמיר קובצי PBM לתמונות PNG או JPG מודרניות ישירות בדפדפן שלך באמצעות File2File.app מבלי להעלות נתונים לשרת כלשהו.