דחיסה
הפתרון לטיפול באחסון ובהעברת קבצים גדולים. דחיסה יכולה להתבצע הן ברמת החומרה (צריכה
תמיכה מתאימה עם יכולת שדרוג), והן ברמת התוכנה.
הדרישות מדחיסה :
- תהליך הדחיסה צריך להתבצע מהר.
- תוצאת הדחיסה צריכה להיות איכותית, ללא פגיעה בנתונים החשובים.
ככל שהדחיסה מתבצעת מהר יותר, נאבד יותר נתונים. בזמן-אמת נרצה דחיסה יותר
מהירה, וכאשר לא עובדים בזמן-אמת, חשוב לנו יותר למזער את כמות השגיאות,
לכן נעבוד עם דחיסה איטית יותר.
היבטים של דחיסה :
- Lossless/Lossy (משמר/אובדני).
- סימטרית/אסימטרית - האם זמן הדחיסה והפרישה הוא זהה או לא. בדחיסה בזמן-אמת היא סימטרית כדי למנוע השהייה בהעברת תכני הועידה. בדחיסה אסימטרית מקדישים זמן רב לדחיסה כדי לקבל יחס דחיסה גבוה ופרישה מהירה.
- זמן/מרחב - האם הדחיסה היא על פני מרחב או זמן. תמונה היא בממד מרחב,
קול הוא בממד זמן ווידאו בשניהם.
- Streaming זרימה - המידע הזורם רלוונטי רק למדיות עם ממד זמן כמו קול
ווידאו. מדיה זורמת מתחילה לשחק זמן קצר אחרי הורדתה, זאת לעומת מדיה לא זורמת. אם הקובץ לא ירד כולו, ניתן לשמוע אותו עד לרגע שירד, מה שלא ניתן
לעשות עם מדיות ללא זרימה.
בעיות ופתרונות :
- רוחב-פס - כדי לבצע דחיסה איכותית יש צורך ברוחב פס גדול ולכל מדיה דרישות
רוחב-פס שונות. ניתן לפתור זאת ע"י דחיסה אובדנית וע"י שימוש ברשתות המהירות גבוהה.
- דיגיטלי מול אנלוגי - מולטימדיה מול רשתות תקשורת. ניתן לפתור זאת באמצעות
מודם שממיר מדיגיטלי לאנלוגי ותקנים הקובעים כיצד ייעשו המרות אלו.
- עירוב של מספר מדיות - לכל מדיה יש את התחביר, סמנטיקה ופרמטרים משלה, ואנו
מעונינים לבצע אינטגרציה. ניתן לבנות סביבת עבודה שתהפוך את כל המדיות להיות אחידות בכך שרק
התחביר יישאר שונה והשאר יהפוך להיות זהה.
- זמן-אמת רך SOFT REAL-TIME - מערכת חלשה יותר ממערכת REAL-TIME , לא חייבת לעמוד בזמן תגובה
במאה אחוז. הפעולות צריכות להתבצע בצורה סדרתית, אחרת ייגרם מצב של השהייה
ויישומים מסוימים לא יהיו אפשריים. ניתן לפתור זאת באמצעות הפתרונות שהוזכרו
כמו דחיסה או הרחבת רוחב-פס.
- צורך בעבודה קבוצתית - אם צריך לשדר למספר מקומות בו-זמנית, לא צריך לשדר את אותו המסר מספר
פעמים, אלא ניתן לשלוח לספק האינטרנט פעם אחת ומשם המסר מתפצל, זה
נקרא Multicast - שידור לרבים .
- סנכרון - א) בין מספר מדיות הקשורות אחת לשניה כמו תמונה ופסקול. ב) בין משתמשים
הנמצאים במרחק שונה ומקבלים את אותו המידע אך בקצב אחר. קובעים נקודת
סנכרון לכל המדיות, וכאשר הקובץ יגיע לנקודת היעד, הוא לא ישודר עד שכולם יגיעו
לאותה נקודה, ההמתנה מתבצעת במכלא. הבעיה היא שיכול להיווצר ריצוד, ניתן
להגדיל את המכלא, אבל אז מקבלים השהייה. לכן צריך להיזהר בקביעת גודל המכלא
ולהתחשב במדיה אותה משדרים (קול או וידאו).
צורך בתקנים - כל משתמש יכול להשתמש בתקן אחר, ואז שני משתמשים לא יוכלו לתקשר
ביניהם. יש צורך בתיאום, כמו כן יש תוכנות וחומרות שמבצעות המרות מרשת אחת לאחרת.
שיטות דחיסה :
- Entropy Coding דחיסה משמרת - מבצעת חישוב ע"פ היתירות הסטטיסטית של הנתונים.
- Source Coding - משתמשים בשיטה זו בתכונות המסוימות של הקובץ. למשל בתמונה
משתמשים בתכונות העין האנושית, בקול בתכונות האוזן האנושית וכו'. שימוש בתכונות
אלו מאפשר איבוד נתונים כך שהצופה או המאזין לא ירגיש בהבדל שנוצר.
- Hybrid Coding - שילוב שתי השיטות הנ"ל.
http://www.cs.biu.ac.il/~ariel/mm644/mm8-1_comp.ppt
http://www.cs.biu.ac.il/~ariel/mm644/mm8-2_comp.ppt
http://www.cs.biu.ac.il/~ariel/mm644/mm8-3_comp.ppt
http://www.cs.biu.ac.il/~ariel/mm644/mm8-4_comp.ppt
|