דחיסת תמונה
קידוד התמרה

קידוד התמרה הוא השיטה הנפוצה ביותר לדחיסת תמונה מאבדת נתונים. מדובר בעיקר בשתי התמרות.
התמרת קוסינוס בדידה (DCT), הייתה פיתוח מרכזי בדחיסת נתוני תמונה. ההתמרה הוצגה לראשונה ב-1972, על ידי נאסיר אחמד, כטכניקת דחיסה מאבדת נתונים. דחיסת DCT הפכה לבסיס ל-JPEG, שהוצג על ידי קבוצת המומחים לצילום (JPEG) ב-1992. JPEG דוחס תמונות לגדלים קטנים בהרבה, והפך לפורמט התמונה הנפוץ ביותר. אלגוריתם הדחיסה המאוד יעיל של DCT היה אחראי במידה רבה לתפוצה הרחבה של תמונות דיגיטליות וצילום דיגיטלי, עם כמה מיליארדי תמונות JPEG שנוצרו מדי יום נכון לשנת 2015. התמרת קוסינוס בדידה (DCT) שייכת למשפחת ההתמרות הקשורות לפורייה. ה-DCT מכונה לפעמים "DCT-II" בהקשר של קבוצת התמרות קוסינוס בדידות (ראו התמרת קוסינוס בדידה). ההתמרה מפרקת את התמונה למרכיבי גל בעלי תדירות, מה שמאפשר לקודד בדיוק נמוך יותר, או לא לקודד כלל, את המרכיבים שאליהם העין רגישה פחות.
גם התמרת wavelet, החדשה יותר, נמצאת בשימוש נרחב. תקן JPEG 2000 פותח משנת 1997 עד 2000 על ידי ועדת JPEG בראשות Touradj Ebrahimi (לימים נשיא JPEG). שלא כמו JPEG המתבסס על DCT, פורמט JPEG 2000 מתבסס על אלגוריתמים של התמרת waveket בדידה (DWT). הוא משתמש בהתמרת CDF 9/7 (שפותחה בידי אינגריד דובישי ב-1992) עבור אלגוריתם הדחיסה המאבדת שלו, ובהתמרת wavelet של Le Gall-Tabatabai (LGT) 5/3 (פותח על ידי דידייה Le Gall and Ali J. Tabatabai בשנת 1988) עבור הדחיסה המשמרת שלו. טכנולוגיית JPEG 2000, כולל ההרחבה Motion JPEG 2000, נבחרה כתקן קידוד הווידאו לקולנוע דיגיטלי בשנת 2004.
בשני המקרים, JPEG ו-JPEG2000, קידוד תמונה מתבצע בחמישה שלבים.
התמרת צבעים. פיקסל של תמונה צבעונית מורכב משלושה רכיבי צבע: אדום, ירוק וכחול. התמרת צבעים ממירה את שלושת הצבעים ברכיב של בהירות ושני רכיבי צבעיות (צִבְעִיּוּת, באנגלית: chroma). ההמרה מתבצעת מפני שהעין האנושית רגישה לרכיב הבהירות הרבה יותר מאשר לרכיבי הצבעיות, כך שפגיעה באיכות הצבעיות פוגעת באיכות התמונה הרבה פחות מאשר פגיעה באיכות הבהירות. אפשר לכן לקודד רק חלק ממידע הצבעיות, בפרט על ידי דגימת הצבעיות בהפרדה נמוכה יותר. ב-JPEG קיימת אופציה לשמור רק רבע ממידע הצבעיות, לעומת מידע הבהירות. אופציה זו, לבדה, מספקת יחס דחיסה של 2:1 עוד לפני שלבי הדחיסה הבאים. התמרת הצבעים השכיחה היא YCbCr.
חלוקה לבלוקים. JPEG מחלק את התמונה לבלוקים של 8x8 פיקסלים. ב-JPEG2000 אפשר לבחור את גודל הבלוק והוא יכול להיות מלבני, ואף התמונה כולה יכולה להיות בלוק.
התמרה גלית. JPEG משתמש ב-התמרת קוסינוס בדידה (DCT) ו-JPEG2000 משתמש בהתמרת wavelet.
קוונטיזציה. לאחר ההתמרה, המקדמים שייצרה ההתמרה עוברים קוונטיזציה כדי להפחית את מספר הביטים הנחוץ לייצוגם, וזאת על חשבון האיכות. זהו השלב העיקרי שבו נוצרים אבדן נתונים, ירידה באיכות וחסכון בגודל. כאמור לעיל, הקוונטיזציה מתבססת על מאפייני הראייה האנושית. הפלט של שלב הקוונטיזציה הוא רצף של מספרים שלמים.
קידוד אנטרופיה. זהו השלב הסופי והוא משתמש בדחיסה משמרת. ב-JPEG, הפלט של הקוונטיזציה מקודד כל ואילו ב-JPEG2000, לא בהכרח.
שיטות נוספות לדחיסה מאבדת נתונים:
קוונטיזציה של צבע מצמצמת את מרחב הצבעים לכמה צבעים "מייצגים" בתמונה. הצבעים שנבחרו מפורטים בלוח הצבעים ברשומה הראשית של התמונה הדחוסה. כל פיקסל מצביע לאינדקס של צבע בלוח הצבעים. ניתן לשלב שיטה זו עם גוונון כדי למנוע מעברים חדים.
לוח צבעים לתמונות שלמות, לרוב 256 צבעים, נמצא בשימוש בפורמטים של קובצי GIF ו-PNG.
לוח צבעים לבלוק, לרוב 2 או 4 צבעים לכל בלוק של 4x4 פיקסלים, נמצא בשימוש ב-BTC,‏ CCC,‏ S2TC ו-S3TC.
תת-דגימת צבעיות מיישמת את התמרת הצבעים המשמשת כשלב הראשון בקידוד התמרה לדחיסת תמונה מאבדת, כמוסבר לעיל.
דחיסה פרקטלית מסתמכת על כך שלעיתים קרובות חלק אחד בתמונה דומה לחלקים אחרים באותה התמונה.
שיטות לדחיסה משמרת נתונים:
קידוד אורך חזרה - משמש בשיטת ברירת המחדל ב-PCX וכאחת האפשריות ב-BMP,‏ TGA,‏ TIFF
קידוד על ידי חזוי - משמש ב-DPCM
קידוד אנטרופיה - שתי טכניקות קידוד האנטרופיה הנפוצות ביותר הן קידוד אריתמטי וקוד האפמן
אלגוריתמים של מילון מותאם כגון LZW - משמשים ב-GIF ו-TIFF
DEFLATE - משמש ב-PNG,‏ MNG ו-TIFF
קודי שרשרת