מפת סיביות ניידת (.pbm)

תקן תקן

פורמט מפת סיביות ניידת (PBM) הוא פורמט הגרפיקה הבסיסי בשחור-לבן של 1-bit מתוך חבילת Netpbm, המתוכנן עבור פשטות מרבית, קריאות לבני אדם ויצירה פרוגרמטית.

בדיקה ומטא-נתונים

מערכות הפעלה ומנתחי קבצים מזהים קבצי PBM על ידי בדיקת רצף הבייטים הבינארי הראשוני:

בחר או גרור קבצים לכאן

פרטי - הקבצים לעולם אינם עוזבים את המכשיר שלך

או הדבק Ctrl+V
הבטחת פרטיות ללא העברת נתונים ברשת: 0 בייט הועלו לשרתים חיצוניים. כל העיבוד התבצע באופן מקומי בארגז החול של הדפדפן שלך.

חתימת כותרת ברמת הבייט (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 (נוכחי)PGMPPMBMP
עומק צבעמונוכרום 1-bit (שחור-לבן בלבד)גווני אפור 8-bit עד 16-bitצבע RGB 24-bit עד 48-bitRGBA בגודל 1-bit עד 32-bit
אח במשפחת NetpbmPBM (מפת סיביות ניידת)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 וודא את גבולות מאגר הסיביות לפני הפענוח.

היסטוריה ואבני דרך

1993Netpbm איגדה את PBM,‏ PGM ו-PPM כערכת כלי תמונה ניידת המשמשת ב-Unix ובמערכות נוספות.
1991מצב בינארי של PBM (בית קסם 'P4') מוצג כדי לשפר את יעילות האחסון.
1988ג'ף פוסקאנצר ממציא את PBM (בית זיהוי 'P1') כדי לשדר מפות סיביות דרך רשתות דוא"ל.

יתרונות מרכזיים

  • המבנה הקומפקטי שלו מאפשר לממש בקלות יחסית קוראים וכותבים בסיסיים של 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 מבלי להעלות נתונים לשרת כלשהו.