380 likes | 580 Views
Adaptive Playout Algorithm For VOIP. יונתן נפטה אבישי דהן מנחה: בוריס אוקלנדר. מצגת סוף. תוכן עניינים. מבוא מטרות הפרויקט & VoIP Jitter Buffer מידול המערכת תורת התורים שרשראות מרקוב בזמן רציף ( CTMC ) מימוש מצבי הרשת והמשתתף תיאור התכן באמצעות כלי UML מימוש האלגוריתמים סיכום.
E N D
Adaptive PlayoutAlgorithm For VOIP יונתן נפטה אבישי דהן מנחה: בוריס אוקלנדר מצגת סוף
תוכן עניינים • מבוא • מטרות הפרויקט • & VoIP Jitter Buffer • מידול המערכת • תורת התורים • שרשראות מרקוב בזמן רציף (CTMC) • מימוש מצבי הרשת והמשתתף • תיאור התכן באמצעות כלי UML • מימוש האלגוריתמים • סיכום
מבוא • VoIPזו טכנולוגיה להעברת שיחות ברשת הנמצאת בשימוש נרחב. • בתקשורת רשת מבוססת מיתוג חבילות, כגון רשת האינטרנט, מידע יכול לעבור דרך מס' רב של נתבים ושרתים ובמספר מסלולים אפשריים. • הרשת לא יועדה להעברת מידע באילוצי זמן אמת ועל כן חבילות שנשלחו יחדיו יגיעו כשביניהם מרווחי זמן אקראיים. • תעבורת מדיה עוברת באינטרנט לרוב באמצעות פרוטוקול RTP ע"ג UDP/IP, שבו אין ערבות לאיכות המידע המועבר ואין אפשרות מעשית לשידור חוזר של מידע שנאבד.
VoIP (Voice over IP) • בטכנולוגיות שעובדות בזמן-אמתברשת IP, כגון העברת שיחהקולית, השמעת החבילות ללא טיפול תפגע קשות באיכות השמע, שניתנת לכימות באמצעות מדד ה- MOS. • יש צורך לטפל בחבילות המידע, במובן סידורם ואף התעלמות מחבילות שאיחרו, וזאת בטרם השמעתם לצד השני. טיפול זה יבוצע על ידי ה- Jitter Buffer . Internet Jitter Buffer Encoder Decoder
מטרות הפרוייקט • הכרת טכנולוגית ה-VOIP תוך מתן דגש על הבטים הקשורים לנושא איכות השיחה (MOS). • לימוד מנגנון ה –JITTER BUFFER ואלגוריתמים השונים לניהולו. • בניית סביבת סימולציה לצורך חק"ב של אלגוריתמים לניהול JB. • חקר ביצועים של האלגוריתמים לניהול JB ושיפורם. • שימוש ב- UML לצורך תכן מערכת.
מידול המערכת
Network Packets Transfer Time Network 1 3 2 4 1 3 1 Participant Packets Network J. Buffer מצבי עומס רשת 1 מקטע דיבור
תורת התורים קצב הגעת הודעות למערכת קצב הטיפול בהודעות במערכת תורים יציבה חייב להתקיים:
שרשאות מרקוב בזמן רציףCTMC • הסתברות המעבר למצב הבא תלויה במצב הנוכחי בלבד. • נתמקד בתהליכים עם מספר סופי של מצבים. • איפיון המערכת באמצעות קצבי מעבר יאפשר להשתמש במטריצות ריבועיות ואלגברה ליניארית על מנת לאפיין את המערכת כרצוננו.
CTMC • מטריצה Q – קצבי המעבר בין המצבים. • ווקטור ∏ - אחוז הזמן ששוהים בממוצע בכל מצב.
מימוש מצבי הרשת והמשתתף • ניצור את המצבים השונים של הרשת ושל המשתתף כתהליכים מרקוביים בזמן רציף. • במערכת מתקיים:
Jitter Buffer Network Buffer Client חבילות עוזבות חבילות בתור חבילות מגיעות
Jitter Buffer • מציאת זמן ההשהייה הנחוץ הוא למעשה שִׁקְלוּל תְּמוּרוֹת (Tradeoff)בין זמן השהייה מינימאלי ואובדן קטן ככל האפשר של חבילות מידע. • ניתן לבצע השהייה סטאטית של חבילות המידע, שתהיה תקפה במשך כל השיחה, אולם טיפול כזה לא מתחשב בשינויים אפשריים במצב הרשת שקורים בזמן השיחה. • נרצה לתכנן Jitter Buffer כך שילמד את הרשת בזמן השיחה ויוכל לבצע השהייה דינאמית בהתאם לשינויים בה.
Voice Quality - MOS • MOS – מדד כמותי לאיכות השיחה. • נרצה לחשב בכל אינטרוול שיחה את ההשהייה המבוקשת לקבלת MOS מירבי
תיאור התכן באמצעות כלי UML
אלגוריתמי ניהול Jitter Buffer
אלגוריתמים לניהול Jitter Buffer • Auto-Regressive (AR-1) – אלגוריתם הנותן משקל להשהיית ההודעה האחרונה ולמשערך האחרון. • הפרמטר α ייבחר בהתאם למידת האקראיות ברשת. • - שונות הפרשי זמן ההשהייה המשוערכת • - משך ניגון חבילה ברשת • a – הפרש זמני הגעת החבילות בפועל
אלגוריתמים לניהול Jitter Buffer • NLMS – Normalized Least Mean Square (AR-N) חלון באורך N השהיות האחרונות ווקטור משקלים באורך זהה משערכים את ההשהיית החבילה הבאה.
אלגוריתמים לניהול Jitter Buffer • Analytic Algorithm– מחפש את הערכים האופטימאלים של אורך התור וההשהייה הניתנת לחבילות עבורם ה- MOS יהיה מקסימאלי.
אלגוריתמים לניהול Jitter Buffer • השהייה קבועה – אלגוריתם זה נותן השהיה קבועה שנקבעת בתחילת השיחה. האלגוריתם אינו משתנה בהתאם לעומסים ברשת, אינו דורש חישובים כלשהם ופשוט מאוד למימוש.
בדיקת האלגוריתמים • יצירת מגוון תרחישים עבור המשתתף והרשת. • שיטת Monte Carlo לבדיקת האלגוריתמים.
תוצאות הסימולציה AR-1 Constant Delay
תוצאות הסימולציה AR-1 Constant Delay
תוצאות הסימולציה – קטע קול Constant Delay Jittered AR-N
סיכום • בוצעו מידול וסימולציה של מערכת VoIP בתרחישים שונים. • מומשו ונבדקו מס' אלגוריתמים לבקרת Jitter Buffer. • תחת ההנחות שנלקחו במידול מערכת ה-VoIP: • האלגוריתמים האנליטי ו- AR-N מציגים ביצועים עדיפים כתלות בתרחיש. • קיימים תרחישים רבים בהם אין עדיפות מובהקת לאחד האלגוריתמים. בתרחישים אלו מומלץ לבחור באלגוריתם בעל הסיבוכיות הנמוכה ביותר. • מומלץ לבדוק את האלגוריתמים במערכת אמיתית.