גילוי ריבועי מאקרו של גוון עור משמשים לקידוד וידיאו

מאת: פאולה קאריליו ואקירה אוסאמוטו, טקסס אינסטרומנטס

באלגוריתמים של דחיסת וידיאו, בדרך כלל מאמצים את פרמטר הכימות, בהתבסס על השימוש הכולל בסיביות ועל המורכבות היחסית של האזור המופיע בתמונה. עם זאת, אלגוריתמים כאלו, אשר משמשים לבקרת קצב ומבוססים על מורכבות, אינם מדגישים את העובדה שעצמים מסוימים, כמו למשל פנים אנושיים, רגישים יותר לאיכות הווידיאו הנתפשת הכוללת. על מנת לשפר את איכות התפישה הכוללת, חשוב לסווג את הפנים האנושיים כאזורים בעלי חשיבות (ROI) ולשמור בהם פרטים רבים ככל האפשר. האתגר הטמון בכך הוא פיתוח אלגוריתם אמין, אשר פועל במימושים של זמן אמת. מאמר זה בא לחקור פתרון בעל מורכבות נמוכה, שיכול לפעול במעבד DSP בעל ליבה יחידה כחלק ממימוש של מפענח קידוד.
הפתרון המוצע הוא אבחון של גוון עור מבוסס צבע, בעל מורכבות נמוכה, אשר מסווג ריבועי מאקרו (Macroblock – MB) של גוון עור כריבועי מאקרו באזור בעל חשיבות (ROI), וריבועי מאקרו שאינם של גוון עור כריבועי מאקרו שאינם באזור בעל חשיבות (ריבועי מאקרו – MB; בלוק פיקסלים של 16×16). הסיווג מבוסס על מספר נקודות סף ניסיוניות שמופעלות על הממוצע של מרכיבי הצבעים. הערכים של נקודות הסף הניסיוניות הוגדרו לאחר בדיקה מעמיקה, באמצעות שימוש בחומר שמכסה את כל סוגי גוני העור. על פי סיווג זה, ולפי בקרת יחס (RC) שעברה שינוי ואיפשרה לכן להקצות באופן חלק דרגות שונות של איכות, אנו יכולים להגדיל את האיכות הנראית בפנים אנושיים. בקרת היחס (RC) החדשה מקצה לאזורים בעלי חשיבות (ROI) פרמטר כימות (QP) נמוך יותר בהשוואה לאזורים שאינם בעלי חשיבות, אך במקביל היא משמרת את תקציב הסיביות הכולל למסגרת.

איור 1: איור זה מציג בצבע הוורוד את ריבועי המאקרו שאובחנו כאזורים בעלי חשיבות. (A) התמונה עליונה: אזורים בעלי חשיבות. (B) התמונה תחתונה: גילוי של אזורים בעלי חשיבות באמצעות אלגוריתמי מורפולוגיה.

על מנת להקטין את האפשרות לתוצאות חיוביות שגויות (False Positive) ולהחטאה של ריבועי מאקרו, אנו מיישמים פעולה של חידוד האבחון באמצעות אלגוריתמים של ארוזיה והרחבה (Dilatation). אלגוריתמי מורפולוגיה אלו מנצלים מידע מסווג של הבלוקים הסמוכים על מנת למלא חורים (ריבועי מאקרו שחסרים) ולאתר ריבועים מבודדים (הנגזרים מתוצאות חיוביות שגויות). ריבועי מאקרו הנגזרים מתוצאות חיוביות שגויות באזורים בעלי חשיבות מובילים להקצאה שגויה של סיביות בעלות ערך רב, בשעה שריבועי מאקרו חסרים באזורים בעלי חשיבות יוצרים תפיסה לא חלקה של האזור.
ארוזיה מסייעת באיתור הנקודות של תוצאות חיוביות שגויות ומסמנת אותן כאזורים שאינם בעלי חשיבות. הרחבה עושה את הדבר ההפוך, היא מאתרת חורים באזורי עור (כמו למשל עיניים או פה באזורי הפנים) ומסמנת אותם כאזורים בעלי חשיבות. באיור 1 אנו רואים את ריבועי המאקרו שאובחנו כאזורים בעלי חשיבות מסומנים בצבע וורוד. איור 1 (A) מציג את אזורי העור שאובחנו ללא החלה של אלגוריתמי מורפולוגיה, וכתוצאה מכך, העיניים לא מהווים חלק מאזורים בעל

י חשיבות. לחלופין, איור 1 (B) מראה את אזורי העור שאובחנו, עם החלה של אלגוריתמי מורפולוגיה והצגת הפנים כולה, מסומנים כאזורים בעלי חשיבות.
מומשו שתי גרסאות של ארוזיה והרחבה – האחת לצורך עיבוד מוקדם אשר בו כל ריבועי המאקרו של מסגרת סווגו קודם לכן כאזורים בעלי חשיבות או כאזורים שאינם בעלי חשיבות לפני הקידוד, והשנייה גרסה שמוזגה לתוך המקודד. בתהליך עיבוד מוקדם אנו משתמשים במידע לגבי עור של כל ריבועי מאקרו סמוכים על מנת להחליט אם סיווג העור של ריבועי המאקרו הוא תוצאה חיובית שגויה, חור, או אם הוא נכון, ובהתאם לכך מסווגים את האזור בצורה נכונה לאזור בעל חשיבות ולאזור שאינו בעל חשיבות. כאשר אלגוריתמי הארוזיה וההרחבה עוברים מיזוג בתוך המקודד, רק המידע לגבי גוון העור שנמצא בצד העליון, בצד השמאלי, בצד השמאלי העליון ובצד הימני להשגת תפישה טובה יותר על ידי המשתמש, נדרש בשוק הווידיאו מימוש בעל מורכבות נמוכה של אלגוריתמי גילוי גוון עור עם יכולת סיווג בעלת דיוק גבוה. אפשר היה לממש גילוי אזורים בעלי חשיבות בדרגת העיבוד המוקדם של מסגרות וידיאו, או בדיוק פחות טוב אפשר היה למזג אותו לתוך טכנולוגיית הדחיסה והפרישה (codec) הסטנדרטית לוידיאו. למימוש בעל מורכבות נמוכה יש יתרון של קבלת החלטות מהירה (בזכות שימוש בפחות מחזורים) בעת ביצוע הבדיקה אם ריבוע מאקרו הוא חלק מאזור בעל חשיבות. קבלת החלטות מהירה עם אלגוריתם סיווג בעל מורכבות נמוכה מאפשרים מימוש של גילוי אזורים בעלי חשיבות בזמן אמת באמצעות מעבדים הפועלים בהספק נמוך עבור תרחישים שבהם ערוצים בצפיפות גבוהה. בנוסף, מימוש גילוי אזורים בעלי חשיבות במורכבות נמוכה מסייע למקודדים לשפר את איכות הווידיאו הכוללת במספר רב של יישומים, כמו למשל שידור וידיאו, ועידת וידיאו, אבטחה באמצעות וידיאו, מצלמות חכמות וביישומים נוספים. העליון של שכנים ריבועי מאקרו יתקיים בנוגע לקבלת החלטות לגבי חידוד, אך גרסה זו מתאימה ליישומים בעלי זמן אחזור (latency) נמוך.

איור 2: (A) תמונה עליונה: גילוי של אזור בעל חשיבות בתוך מקודד. (B) תמונה תחתונה: גילוי של אזור בעל חשיבות בעיבוד המוקדם

איור 2 מציין בצבע וורוד, ריבועי מאקרו שאובחנו כאזורים בעלי חשיבות. איור 2 (A) מציג את התוצאות של גילוי אזור בעל חשיבות שמוזגו בתוך המקודד. איור 2 (B) משתמש במידע מכל האזורים הסמוכים בעלי החשיבות על מנת לקבוע סיווג סופי של אזור בעל חשיבות.
בנוסף לאלגוריתמי הארוזיה וההרחבה, נוסף גם סף גרדייאנט של פעילות ריבועי מאקרו, על מנת להקטין את מספרן של התוצאות החיוביות השגויות, במיוחד כשבקטעי וידיאו יש פרצופים קטנים רבים (למשל פרצופים בתוך קהל). פרצופי רקע בתוך קהל אינם נתונים לטיפול כאזורים בעלי חשיבות. מימוש המבוסס על גילוי ריבועים של 8 x 8 פיקסלים עבור בהירות (Luma) ובלוקים של 44 פיקסלים עבור רכיבי איכות הצבע (Chroma) (במקרה של תבנית וידיאו של 4 : 2 : 0) מסייעים בשיפור הדיוק של האלגוריתם בהשוואה לגילוי ריבועים של 1616 פיקסלים. ההיגיון העומד מאחורי עובדה זו הוא: אם שני ריבועים או יותר מבין ארבעה ריבועי מאקרו מסווגים כריבועי עור, ריבוע המאקרו השלם יסווג כריבוע מאקרו של עור.
כמו כן, מימשנו החלטה נוספת של עיבוד מוקדם במטרה לבטל מסגרות שבהן יש ריבועי מאקרו רבים מדי שמסומנים כאזורים בעלי חשיבות, משום שבמקרה כזה אין משמעות לביצוע הפצה חוזרת של סיביות במסגרת – אם יותר מ-30 אחוזים מהמסגרת מזוהים כאזור של עור, כל ריבועי המאקרו מסומנים מחדש כאזורים שאינם בעלי חשיבות.
לבסוף, על מנת להקטין את מספר מחזורי העיבוד ולהגדיל את צפיפות הערוצים לכל ליבה, מימשנו תהליך של דילול (decimation). בתהליך זה אנו מדלגים על כמה ערכי פיקסלים במטרה למצוא את הממוצע של הבלוקים של רכיבי הצבע. מבחינת רכיבי הבהירות, במקום לקבל את הערך הממוצע של 64 פיקסלים בני 8 סיביות, אנחנו מדללים בצעדים של ארבע ומקבלים את הממוצע של ארבעה פיקסלים בני 8 סיביות לכל ריבוע של 88. במקרה של רכיבי איכות הצבע של 44, השתמשנו בצעד דילול של ארבע. הדילול הקטין את דיוק הסיווג של האזורים בעלי החשיבות, אך עם זאת, הוא הניב פשרה הוגנת במקרה של עיבוד מוקדם של ערוצי רזולוציה גבוהה (HD) מרובים בליבה יחידה.

איור 3: רצף chromakey מקודד לפי (H.264. (A תמונה עליונה: שיטת האזורים בעלי חשיבות לא מופעלת. (B) תמונה תחתונה: שיטת האזורים בעלי חשיבות מופעלת.

איור 3 ואיור 4 מראים השוואה של האיכות החזותית (VQ) כאשר משתמשים בגילוי אזורים בעלי איכות וכאשר לא משתמשים בגילוי כזה כחלק ממקודד H.264. התמונה באיור 3 קודדה בקצב סיביות נמוך על מנת להדגיש את ההבדל באיכות הווידיאו. ברצף זה קיימים עצמים קטנים רבים הנמצאים בתנועה (כלומר טיפות מים), אשר הקצב שלהם מבקר את תקציב הסיביות. התוצאה היא ירידה ידועה באיכות החזותית של הפנים הנמצאים בחזית כאשר אין משתמשים בשינוי בקרת הקצב של אזורים בעלי חשיבות. איור 4 מראה תוכן דומה לזה המופיע בוועידת וידיאו, שבה הרקע הוא בדרך כלל סטטי והפנים הם המידע החיוני לצורך השידור.

 

איור 4: תוכן של ועידת וידיאו. (A) תמונה עליונה: לא מופעל שינוי בקרת הקצב של אזורים בעלי חשיבות. (B) תמונה תחתונה: שינוי בקרת הקצב של אזורים בעלי חשיבות מופעל.

להשגת תפישה טובה יותר על ידי המשתמש, נדרש בשוק הווידיאו מימוש בעל מורכבות נמוכה של אלגוריתמי גילוי גוון עור עם יכולת סיווג בעלת דיוק גבוה. אפשר היה לממש גילוי אזורים בעלי חשיבות בדרגת העיבוד המוקדם של מסגרות וידיאו, או בדיוק פחות טוב אפשר היה למזג אותו לתוך טכנולוגיית הדחיסה והפרישה (codec) הסטנדרטית לוידיאו. למימוש בעל מורכבות נמוכה יש יתרון של קבלת החלטות מהירה (בזכות שימוש בפחות מחזורים) בעת ביצוע הבדיקה אם ריבוע מאקרו הוא חלק מאזור בעל חשיבות. קבלת החלטות מהירה עם אלגוריתם סיווג בעל מורכבות נמוכה מאפשרים מימוש של גילוי אזורים בעלי חשיבות בזמן אמת באמצעות מעבדים הפועלים בהספק נמוך עבור תרחישים שבהם ערוצים בצפיפות גבוהה. בנוסף, מימוש גילוי אזורים בעלי חשיבות במורכבות נמוכה מסייע למקודדים לשפר את איכות הווידיאו הכוללת במספר רב של יישומים, כמו למשל שידור וידיאו, ועידת וידיאו, אבטחה באמצעות וידיאו, מצלמות חכמות וביישומים נוספים.

תגובות סגורות