Presentation is loading. Please wait.

Presentation is loading. Please wait.

Error Concealment In The Pixel Domain And MATLAB commands

Similar presentations


Presentation on theme: "Error Concealment In The Pixel Domain And MATLAB commands"— Presentation transcript:

1 Error Concealment In The Pixel Domain And MATLAB commands
שידור אודיו ווידאו על רשת האינטרנט מרץ 2004

2 Error Influence On A Digital Video Signal
Building a flexible error model Typical errors of a compressed video sequence Various error types Compatibility of error quantity and type to the channel characteristics slice errors single and group errors הצגת המודל לגרימת שגיאות. מידול שגיאות עבור סרט וידאו דחוס – התייחסות למסגרות IBP בצורה שונה. לדוגמא - שגיאה מסויימת גורמת ליותר עיוות במסגרת B מאשר העיוות שהיתה גורמת למסגרת I. יכולת הפלת מקדמי DCT, וקטורי תנועה. מידול שגיאות מסוגים שונים – שגיאות בודדות. קבוצות בלוקים. גרירת שגיאות בגלל יציאה מסנכרון (עד סוף ה – slice). בלוקים או מקרו-בלוקים. הכלה של שגיאות DCT על שגיאות MV (אם נפלו מקדמי DCT עד סוף ה – slice בגלל יציאה מסנכרון, גם ה – MVs השייכים לזרם הביטים במקום שנפגע, נופלים). יכולת התאמת כמות וסוג השגיאות לאופי הערוץ – ניתן לשלוט בהסתברות לכל סוג שגיאה. במרחק בין שגיאות. בחומרת השגיאות. ניתן להתחשב ברעש בערוץ. האיורים – הצגה חלקית של יכולות מידול שגיאות. בירוק – נפילת וקטורי תנועה. בתכלת – נפילת מקדמי DCT. בטורקיז – גם וגם.

3 Types Of Error Resilience Methods
Addition of redundancy in the encoder Fallback: increasing bandwidth Coder – decoder interaction Fallback: ineffective for real-time applications Performing error concealment at the decoder שיטות שונות להתאוששות משגיאות הוספת יתירות במקודד – דוגמאות: קוד תיקון שגיאות. קוד סנכרון תדיר יותר. Redundancy במידע מסויים. חסרון – רוחב פס. אינטרקציה בין המקודד למפענח – לדוגמא: retransmissions. חסרון – לא real time הסתרת שגיאות במפענח – נרחיב בשקפים הבאים

4 Error Concealment Using the natural redundancy and the smoothness characteristic which exist in natural video sequences Advantages: No bit rate growth No significant delay Disadvantages: Decoder complexity Not affective for high noise level in the channel הסתרת שגיאות: תכונת החלקות של סרט "טבעי" (לא סינטטי). יתרונות – מתבצע במפענח בלבד לכן אין הגדלת רוחב הפס ואין צורך בשידורים חוזרים או באינטראקציה אחרת עם המקודד. חסרונות – סיבוכיות המפענח עלולה להיות גבוהה.

5 Main Methods of Error Concealment
Spatial error concealment Temporal error concealment Frequency domain error concealment

6 Spatial Error Concealment
Using spatial redundancy of a single frame – the lost pixel values are similar (or identical) to the surrounding pixels values. Spatial error concealment- method B Spatial error concealment- method A הסתרת שגיאות מרחבית קיימות שיטות שונות הנבדלות ביניהן במיקום ובמספר הפיקסלים השכנים המשמשים לשחזור הפיקסל החסר. לדוגמא, השיטה שמימשנו בפרוייקט – שימוש ב – 4 הפיקסלים השכנים של כל פיקסל. מאחר שגם הפיקסלים הללו חסרים, למעשה אנחנו רושמים 64 משוואות עם 64 נעלמים (נעשה שימוש גם בשורות הפיקסלים השייכות לבלוקים השכנים, הסמוכות לבלוק שאבד). מפתרון המשוואות מקבלים את ערכו של כל פיקסל. חסרונות השיטה – לא יעילה בסביבה שבה יש שונות גבוהה מאוד בין הפיקסלים (תמונה מסובכת מבחינה מרחבית). גורמת לטשטוש של גבולות אובייקטים.

7 Temporal Error Concealment
Using the temporal smoothness assumption- restoration based on a previous frame, involving motion compensation. Temporal error concealment – restoration of motion vectors Yellow- motion vectors of the original video sequence Red- motion vectors of the restored video sequence הסתרת שגיאות זמנית קיימות שיטות שונות לשחזור וקטורי תנועה שנפלו. הדוגמא שמימשנו בפרוייקט – ביצוע ממוצע של וקטורי התנועה הסובבים וקטור מסויים שנפל. התמונה האמצעית מציגה את וקטורי התנועה בסרט המקורי (בצהוב). מודגשים באפור, שני וקטורי תנועה שנפלו. ניתן לראות שהווקטור התחתון לא שוחזר בצורה טובה מאחר שהתנועה סביבו אינה הומוגנית. חסרונות הסתרת שגיאות זמנית: לא יעילה כאשר קיימת תנועה רבה ולא הומוגנית.

8 Frequency Domain Error Concealment
Smoothness in the frequency domain – high correlation between frequency coefficients that are located in the same position in adjacent blocks. Graphic visualization of the DCT coefficients Frequency domain smoothness- correlation between the DTC coefficients הסתרת שגיאות בתחום התדר. הצגה גרפית של המשמעות של כל מקדם DCT – מדיאגרמה זו ניתן להבין שקיימת קורלציה בין מקדמי תדר השייכים לאותו מקום במטריצה, בבלוקים שכנים. הקורלציה מתקיימת בעיקר עבור תדר ה-DC ועבור התדרים הנמוכים. שימוש בעיקר בתמונות I,בהן לא קיים motion compensation, כיוון שעובדים במישור התדר.

9 Frequency Domain Error Concealment, cont.
Advantage- using DCT coefficients that are not used by other methods Disadvantage- relevant for intra coded frames only Error concealment in the frequency domain using error minimization הסתרת שגיאות בתחום התדר (המשך) למשל: ביצוע מינימיזציה של השגיאה בין הפיקסלים על שפת הבלוק שסובל מנפילת מקדמי DCT (בירוק) לבין הפיקסלים הסמוכים לבלוק (השייכים לבלוקים השכנים). את המינימיזציה ביצענו באמצעות שימוש בפונקציית אופטימיזציה : מקדמי ה – DCT החסרים, מוחלפים בקומבינציה לינארית של מקדמי ה - DCT המתאימים בבלוקים השכנים, כך שהשגיאה תהיה מינימלית.

10 Hybrid Error Concealment
Developing an optimal method for error concealment, combining different algorithms, with a central smart decision mechanism. Scene dependant decision: Motion velocity Details amount in the frame Spatial smoothness Decision mechanism parameters: Motion variance in the blocks adjacent to the reconstructed block Amount of motion in the reconstructed block Spatial smoothness around the erroneous/lost block The number of remaining DCT coefficients Perceptual quality measure בניית מנגנון החלטה שיבחר בשיטה העדיפה לתיקון שגיאות. חשוב : 1. מנגנון ההחלטה בוחר בשיטה כלשהי עבור כל שגיאה (כל בלוק או מקרו-בלוק) 2. הבחירה אינה בדיעבד - לא מתבצעת הסתרה בכל השיטות ואז בחירה של שיטה עדיפה, אלא, על מנת לחסוך בזמן עיבוד, ההחלטה מתקבלת מראש. הפרמטרים על פיהם פועל מנגנון ההחלטה עץ ההחלטה של המנגנון מורכב מהפרמטרים המופיעים בשקף. מנגנון ההחלטה משתמש בפרמטרים אלה על מנת לבחור בין השיטות השונות של הסתרת השגיאות. שונות התנועה בבלוקים הסובבים את הבלוק המשוחזר חלקות מרחבית בסביבת השגיאה מידת התנועה בבלוק המשוחזר – אם וקטור התנועה קיים, אך ההפרש נפל (במסגרת B או P), מנגנון ההחלטה צריך לבחור האם להשתמש בווקטור התנועה לשחזור המקרו- בלוק שנפל (הסתרה זמנית) או לשחזר את כל הבלוק בשיטה המרחבית. כאשר רמת התנועה גבוהה מאוד, ניתן להניח שגם ההפרש גדול ואז עדיף לשחזר מרחבית. מספר מקדמי ה – DCT שנותרו – אם נפלו רק חלק קטן ממקדמי ה – DCT, המנגנון יכול לבחור לא לשחזר כלל את המקדמים שנפלו.

11 Decision Tree For P & B Frames
האלגוריתם מחלק את הטיפול לבלוקים/מקרו-בלוקים להם קיים וקטור תנועה, לעומת כאלו שווקטור התנועה שלהם חסר. אם וקטור התנועה קיים, נבדקת מידת התנועה בבלוק/מקרו-בלוק (גודל הווקטור). אם מידת התנועה מתחת לסף מסוים (A), קיים סיכוי גבוה לכך שהבלוק/מקרו-בלוק דומה לזה שבמסגרת ה- reference ולכן עדיף לא לבצע הסתרה (החלטה 3), כלומר להשתמש בווקטור התנועה ובבלוק ההפרשים כמו שהם (איפוס מקדמי בלוק ההפרשים שנפגעו). כאשר מידת התנועה מעל סף A, האלגוריתם בודק אם מספר מקדמי ה - DCT שנותרו בבלוק גדול מסף B. אם כן, עדיף לא לבצע הסתרה כיון שהמקדמים שנפלו לא מספיק דומיננטיים ואיפוסם מאפשר שחזור באיכות טובה. אם מספר המקדמים שנותרו קטן מסף B1, עומדות בפנינו שתי אפשרויות: הסתרה זמנית או הסתרה מרחבית. ההחלטה תקבע לפי בדיקת השונות המרחבית סביב הבלוק/מקרו-בלוק שנפל. במילים אחרות, אם האזור חלק דיו (שונות מרחבית מתחת לסף D1), כך ששחזור מרחבי לא יגרום לשגיאה גדולה מידי תבוצע הסתרה בשיטה המרחבית, אם האזור סביב הבלוק המשוחזר הוא מורכב (מבחינת שונות ערכי הפיקסלים), תבוצע הסתרה זמנית. השונות המרחבית מחושבת עבור ערכי הפיקסלים שסביב הבלוק/מקרו-בלוק הפגוע, אך רק כאלה השייכים לבלוקים/מקרו-בלוקים תקינים, או כאלו שכבר שוחזרו. בנוסף, שמינית מהפיקסלים שערכיהם קטנים מאוד ושמינית מהפיקסלים שערכיהם גדולים מאוד אינם נלקחים בחשבון כדי למנוע הטיית הממוצע על ידי פיקסלים בודדים. במידה שוקטור התנועה אינו קיים, נבדקת מידת התנועה באזור שנפגע על ידי חישוב השונות עבור וקטורי התנועה של המקרו-בלוקים הסובבים את הבלוק/מקרו-בלוק החסר. שונות קטנה מסף מסוים (סף C), מנבאת שאם נשחזר את וקטור התנועה החסר באמצעות מיצוע וקטורי התנועה הסובבים אותו, נקבל בסבירות גבוהה וקטור דומה לזה המקורי. לכן, במקרה זה, מנגנון ההחלטה יבחר לבצע הסתרה זמנית. כאשר שונות התנועה גדולה מסף C, נבדקת שוב השונות המרחבית של האזור הפגוע, הפעם עם סף החלטה D2 שהינו גבוה יותר מאשר D1. הסיבה לבדיקה הנוספת טמונה בהנחה שברוב המקרים, הסתרה זמנית עולה בטיבה על הסתרה מרחבית. לכן, אם השונות המרחבית גבוהה, נעדיף לבצע הסתרה זמנית, על אף שהשונות הזמנית גבוהה אף היא. כאשר שונות התנועה גדולה מסף C והשונות המרחבית נמוכה מ-D2, נבצע הסתרה מרחבית.

12 Decision Tree For I Frames
האלגוריתם עבור מסגרות I פשוט יותר. האלגוריתם בודק אם מספר מקדמי ה - DCT שנותרו בבלוק גדול מסף B2. אם כן, עדיף לא לבצע הסתרה. אם מספר המקדמים שנותרו קטן מהסף, תבוצע הסתרה מרחבית (הסתרה זמנית לא רלוונטית עבור מסגרות I).

13 Experimental Results of Error Concealment
Spatial, temporal & hybrid EC: Without error concealment Spatial concealment Temporal concealment Decision-based concealment תוצאות ויזואליות: בסרט ממנו לקוחה התמונה, קיימת תנועה הן של הרכבת והן של הרקע. ימין למעלה –הריבועים השחורים מציינים שגיאות. ניתן לראות שקיימות שגיאות מסוגים שונים (בלוק, מקרו בלוק, עד סוף ה – slice וכו'). הסרט הפגום לא יראה כך (עם ריבועים שחורים), מטרת התמונה היא לסמן את מיקום השגיאות. שמאל למעלה – הסתרת שגיאות מרחבית – אפשר לראות את אפקט הטשטוש שנגרם כתוצאה משימוש בשיטה זו. ימין למטה – הסתרת שגיאות זמנית - אפשר לזהות מקומות שבהם, בגלל שקיימת תנועה רבה, הסתרת השגיאות גורמת לעיוותים בסרט. שמאל למטה – הסתרת שגיאות על ידי שימוש במנגנון ההחלטה – לדוגמא, לגבי העיגול האדום התחתון בהסתרה הזמנית, מנגנון ההחלטה בחר להשתמש בהסתרה מרחבית (שהיא העדיפה מבחינה ויזואלית). לגבי העיגול האדום התחתון בהסתרה המרחבית, ניתן לראות שמנגנון ההחלטה בחר בהסתרה זמנית (עדיפה).

14 Decision Results Optimal decision Decision mechanism
Red- choosing spatial concealment Blue- choosing temporal decision Green- no observable different Optimal decision Decision mechanism Red- choosing spatial concealment Blue- choosing temporal concealment תוצאות ויזואליות נוספות: ממשק ויזואלי שנותן אינדיקציה על נכונות ההחלטות של המנגנון. בתמונה השמאלית מציגים את הבחירה האופטימלית בשיטות ההסתרה השונות (בדיעבד). הסרטים המשוחזרים בשיטות השונות מושווים לסרט המקורי ע"י mse. הצבעים השונים מציגים מתי היה עדיף להשתמש בשיטת הסתרה זמנית או מרחבית (או שאין הבדל מבחינת mse באיכות הסרט המשוחזר). בתמונה הימנית מציגים את בחירת מנגנון ההחלטה לגבי כל שגיאה. מוקפות בירוק, ניתן לראות החלטות נכונות של מנגנון ההחלטה. מוקפות בשחור, ניתן לראות החלטות לא טובות של מנגנון ההחלטה.

15 Results For Hybrid EC Comparing results of the suggested algorithm for EC with spatial concealment, temporal concealment, hybrid concealment (*) Using measures: MSE VPDM Improved MSE Visual results Frame types Variant Vs. Average Thresholds EC Methods Comparison

16 MATLAB – useful commands
imread – קריאת תמונה ל-MATLAB. imwrite – כתיבת מטריצה המייצגת תמונה, לתמונה במערכת הקבצים. rgb2gray – המרת תמונה צבעונית (לאחר שנקראה כפרמטר של MATLAB ע"י imread) לרמות אפור. image, imshow – הצגת התמונה ב-figure. imshow מבצע כיול אוטומטי לתמונה. figure – יצירת חלון figure חדש (לתמונה/גרף). sum – סכום על ווקטור. var – ווריאנס

17 MATLAB – useful commands, cont.
size – גודל מטריצה plot – הצגת גרפים max, min – מקסימום ומינימום של ווקטור (בהתאמה). (X).^(Y) – העלאה בחזקה Y של ווקטור X בפעולה איבר אחר איבר. ones, zeros – יצירת מטריצות אחדות או אפסים (בהתאמה). clear – מחיקת משתנים מהזיכרון. נועד להקל על זיכרון ה-MATLAB במהלך הרצות, במיוחד עבור תמונות גדולות. close – סגירת חלונות של figures. load – טעינת משתנים מתוך קובץ.

18 MATLAB – useful commands, cont.
save – שמירת משתנים לקובץ. saveas- שמירת figure כתמונה או כ-figure במערכת הקבצים. fopen, fclose – פתיחת קובץ לפעולות, וסגירתו. לולאות: for, while. מסתיימים במילה end. להימנע משימוש בלולאות ככל האפשר, כאשר ניתן לעבוד על מטריצות. תנאים: if, elseif, וכן: case, switch. מסתיימים במילה end. quiver - הצגת ווקטורים על גבי figure (או על גבי תמונה). reshape - שינוי צורת ההצגה של ווקטור או מטריצה. למשל – מעבר ממטריצה לווקטור, או ממטריצה X*Y למטריצה (X/2)*(2Y).


Download ppt "Error Concealment In The Pixel Domain And MATLAB commands"

Similar presentations


Ads by Google