SCALING – מאפרוח SDTV לתרנגולת FULL HD

עפר לאור סוקר את הטכנולוגיה שמאפשרת לנו לצפות בתכני SDTV (כגון DVD, יס והוט) על גבי מסכים בעלי רזולוציה גבוהה.טכנולוגיית ...

7:00
  /  
04.01.2009
  
כתב: עפר לאור
המקרנים הראשונים

הקדמה 

בהרצאה ששמעתי של SAM RUNCO, היזם מאחורי RUNCO PROJECTORS, הוא הסביר שבזמנו לא היה בנמצא טלויזיות גדולות מהותית מ-CRT בגודל 29". מגבלת הגודל הזו הפריע לו אישית מאוד. הוא מצא פרסומת באחד ירחוני הטכנולוגיה (AMERICAN SCIENTIFIC או POPULAR SCIENCE או דומיהם) לבנית טלויזיה ענקית…

הוא אכן פנה לחברה ושילם להם את 15$ ובתמורה הוא קיבל תוכניות לפירוק טלויזיה קיימת והרכבתה בתוך ארונית מיוחדת ובנוסף, התקנת זכוכית מגדלת שמגדילה CRT בגודל 21" ל-34" מלאים!

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

השלב המתבקש הבא היה המרת הטלויזיות CRT הללו למקרנים לכל דבר ובשלב השלישי יצירת מקרני CRT אמיתיים.

סריקה מחדש 

המגבלות של הטכנולוגיה בשנות השמונים היו קשות למדי. בארה"ב השידורים היו NTSC, כלומר כללו רק 480 שורות וידאו אופקיות. השידור היה INTERLACED ב-60HZ. כלומר, פעם היו משדרים לנו את הפסים האופקיים הזוגיים ומיד אחר כך את האי-זוגיים וכך לסרוגין 60 פעם בשניה.

באירופה (וכך גם בישראל) שודר יותר תוכן – 576 שורות בסה"כ, אך בקצב של 50HZ.

נחזור לארה"ב. הקרנת שידורי NTSC היתה בעייתית קמעה. כאשר הגו את השיטה תכננו אותה על בסיס ההנחה שאין צורך במסך גדול מ-21" ולכן נבחרה הרזולוציה הנמוכה. כאשר מקרנים החלו להגדיל את התמונה ל-50" ואפילו 60" הבעיות התגלו.

נפשט את העניין על ידי דיון אך ורק על שדה אחד (FIELD) ולא על התמונה הכוללת שתסבך מעט את ההסבר.

אם נביט על הדרך שבה הקרן סורקת את המסך ב-CRT נבין טיפה יותר:

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

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

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

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

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

line doubling

להגדיל בשקל תשעים

 

הצורך במקרנים גדולים והולכים הפך את שורות הסריקה לבעייתית מאוד. בעצם, אם היינו מקרינים את הסריקה שהתאימה ל-CRT בגודל 21" למסך של 60", היינו נתקלים בבעיה של מרווח בין שורות הסריקה. המרווח הזה הולך וגדל בעצם ככל שאנחנו מגדילים את המסך.

אז מה האפשרויות שלנו?

  • להגדיל את עובי השורות. הדבר נעשה בד"כ על ידי הוצאת הפוקוס משורות הסריקה, מה שגורם לטשטוש משמעותי בתמונה…
  • לדחוף משהו בין הקוים…

בהתחלה כמובן כולם הוסיפו עובי לשורות במקרני ה-CRT (המכונים גם "בארקו" בשל הפופולריות של המותג הזה בישראל בזמנו), עד שהתמונה הפכה מציקה במיוחד ואז פנו לשיטת הדחיפה של משהו בין הקוים…

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

מדובר במכשירים בשם LINE DOUBLERS שהיו יושבים בין מקור הוידאו למקרן ודואגים להכפיל את מספר השורות.

עכשיו הצפיפות של שורות הסריקה הוכפלה:

 

בעצם השורות המקוריות מסומנות בעובי כפול מהשורות המשוכפלות. כמובן שהדבר נעשה במרווחים פחות מסודרים בשל השימוש ב-INTERLACING (בפועל, הקוים נעשים לא באמת במחצית המרווח בין הקוים האופקיים, אלא ברבע ממנו בשל נושא ה-INTERLACING).

על ידי הכפלת מספר שורות ה-SCAN LINES, בעצם צמצמנו את המרווח בין השורות ללא טשטוש התמונה. אך גם שיטה זו בעייתית כי המרווח בין השורות עדיין רחב. וכך נתקלנו ב-LINE TRIPLERS ו-LINE QUADRUPLERS שפשוט חוזרים על השורה האחרונה שוב ושוב AD NAUSEUM.

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


ניתן לראות את בעיות הכפילות של השורות בידיים ובגלימה

בפועל, מהר מאוד גילו ששכפול הקוים בעזרת DEINTERLACING ולא שכפול טיפש יעבוד חכם יותר, ובעצם הכפלת הקוים נעשתה על ידי DEINTERLACING ושכפול פריימים.

החברות שהובילו את התחום היו EXTRON, FAROUDJA, OMEGA ONE, וכמובן DVDO אשר ייצרו מכשירים שונים שהוגדרו כ-LINE DOUBLERS. מוצרים כמו DEUCE, iScan ULTRA ו-LD100 היו המובילים בתחום הזה בזמנו, אם כי הם כבר היו מעבדי תמונה לכל דבר ולא סתם LINE DOUBLERS טפשיים.

עיבוד תמונה לעזרה

הסקיילר להצלה

חברות כמו EXTRON שעסקו בתחום של המקרנים ראו את הבעיה המהותית במתיחת התמונה ומצאו לה גם פיתרון טכנולוגי. הפיתרון היה כפול, תחילה הם שיפרו את איכות ה-CRT כך שניתן היה להגיע עד לרמה של 960 שורות (בהמשך גם 1080P לקראת הדעיכה של תחום מקרני ה-CRT). בשלב השני הם הוסיפו מעבד שבמקום לדגום בכל פעם שורה, היה דוגם תמונה שלמה.

דגימה של תמונה שלמה לא פשוט כל כך מכיוון שהוא דורש גם תהליך DEINTERLACING, שפירושו פיענוח של המקור ה-INTERLACED בשתי שדות לכדי תמונה אחת אחידה ופרוגרסיבית. על הטכנולוגיה של DEINTERLACING כתבתי באחד המאמרים הראשונים שבאתר על נושא עיבוד תמונה ו-DEINTERLACING.

לאחר הפיכת התמונה לפרוגרסיבית ודגימת תמונה שלמה, ניתן בעצם למתוח את התמונה בחומרה. כאן נכנס נושא ה-SCALING.

בעצם מדובר על אלגוריתם אינטרפולציה, אשר צריך בעצם לייצר פיקסלים חדשים במקום הקיימים.

השיטה הפשוטה ביותר נקראית DOUBLING ובעצם מאפשר הכפלת הרזולוציה על ידי שכפול פיקסלים, אך מה לעשות והכפלת פיקסלים לא מתאימה ברוב המקרים (בטח שלא אם אנחנו רוצים לקחת מקור PAL או NTSC ולהגדיל אותו כך שיראה טוב על גבי מסך FULL HD).

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

אם זו תמונת היסוד שאחננו מנסים להגדיל:

ב-BILINEAR נקבל אותה כך:

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

הדרך הנכונה יותר היא BICUBIC INTERPOLATION אשר משתמשת בריבוע עם פונקציה חכמה הרבה יותר

הבעיה עם BICUBIC היא שהיא מערבת את כל הפיקסלים שסובבים את הפיקסל החדש, מה שגורם בעצם למידע המקורי לאבד לא מעט מהפוקוס שלו.

לכן, אלגוריתם מסוג זה משולב לרוב עם פילטר SHARPNESS קל שמיועד להדגיש יותר את הגבולות של האובייקטים שבתמונה:

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

האשליה הזו היא בעצם תפריט ה-SHARPNESS ו-EDGE ENHANCEMENT שיש לנו במסך. לעיתים יש לנו גם DETAIL ENHANCEMENT שהוא סוג של פילטר שבעצם פועל בתוך גבולות האובייקטים ומגביר פירוט בתוך האובייקטים במקום רק סביב גבולותיהם.

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

במקרה של NTSC, המרה ל-1080P היא הגדלה של 225%.

עבור PAL, המרה ל-1080P היא הגדלה של 188% "בלבד".

טכניקות מתקדמות

TAPS

האלגוריתמים כיום בפועל הם מתוחכמים בהרבה מהפונקציות הבסיסיות, ומבוססים על TAPS. בעצם אלגוריתם SCALING מודרני מבוסס על אלגוריתם BICUBIC חכם אשר לא רק סופר את הקוביה סביב הפיקסל (בעצם דגימה של ריבוע של 9 פיקסלים סביב הפיקסל המקורי) אלא מספר רב בהרבה של פיקסלים. האלגוריתם לרוב משתמש במידע מהפיקסלים הללו בכדי להעריך באופן חכם יותר מה צריך להיות הערך הנכון של כל פיקסל חדש שנבנה.

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

ניקח למשל את מעבדי RADEON של חברת ATI. לפני ה-RADEON, עיבוד וידאו היה לרוב מטופל ב-4 TAPS, ולאחר מכן ב-8 וב-10 TAPS.

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

לשם השוואה, מעבד וידאו מוביל כיום מבצע את עבודתו ב-1024 TAPS…

אבל, האם זה מבטיח עיבוד חד יותר? לאו דווקא. האלגוריתמים עצמם מחוייבים להשתמש במידע שהוא INTERPOLATED ולכן יתקשו לשחזר ולזהות שמדובר בגבולות אובייקטים שצריכים להיות חדים. הפיתרון שלהם במקרים כאלה הם שימוש בפילטרים אשר במקום לחזק את החדות, מפריעים למידע מחוץ לגבולות ורק מגבירים את התחושה שמדובר במידע חד יותר.

אלגוריתמים חכמים

נדיר כיום למצוא מישהו שעומד מחוץ לתו התקן בתחום הזה, אך החברה המובילה בתחום SCALING היא ללא עוררין חברת LUMAGEN הקטנה מאורגון. החברה כבר שנים מציגה אלגוריתם SCALING שעומד בקו החזית של התחום ולא מתיימר לעשות עיבוד עם יותר TAPS.

ITS NOT A NUMBERS GAME, טוענים בלומג´ן, שם האלגוריתם הוא המלך והם לא מרבים בדיבור על הטכניקות שבשימוש שם. קשה להתעלם מכך שהאלגוריתם שלהם מספק תמונות חדות משמעותית מכל המתחרים. ההערכה שלי היא שהאלגוריתם הוא בבסיסו מבוסס על מספר רב למדי של TAPS, אך שהמשחק האמיתי הוא זיהוי מוקדם של גבולות ומיפויים על גבי האלגוריתם. כלומר, פיקסלים שאמורים להיות מטושטשים מעצם היותם על גבול בין לבן לשחור, מקבלים מידע חיצוני על כך שהם הפיקסלים שעל הגבול וכך הם הופכים להיות חדים יותר אך אינם גורמים לפיקסלים מחוץ לגבולות להפוך בהירים יותר (תופעת ה RINGING הידועה לשמצה).

את הפרטים קשה לדעת, אך ידוע לנו שחברות נוספות עובדות על אלגוריתמים נוספים.

סיכום

בארה"ב אנחנו כבר רואים מעבר של מאסה קריטית של הציבור לעבר HD. כמות הערוצים בארצות הברית כבר עבר את מספר המאות וערוצים מקומיים וארציים משדרים ללא הפסקה שידורים ב-FULL HD. עם זאת, יש לא מעט תוכן שהוא עדיין זמין אך ורק ב-SDTV או ב-720P. בכל מקרה שכזה, המסך חייב יהיה לבצע עיבוד תמונה ומתיחה בכדי לגרום לתמונה להופיע על כל המסך.

אך קשה שלא להתעלם מכך שכמות המסכים למכירה שאינם FULL HD מתמעט והולך ואפשר כבר לדמיין שבעשור הקרוב יעלם בארה"ב המושג SDTV לחלוטין. עם המעבר ל-FULL HD כסטנדרט, בעצם היינו מצפים שגם כל נושא ה-SCALING ירד בחשיבותו.

סימנים מוקדמים מדברים על כך שאנחנו צפויים לקבל גל חדש של עיבודי תמונה ולא עוד המון זמן. התקן הבא שצפוי לפרוץ יהיה מסכים ומקרנים ב-4K. מדובר על רזולוציה שהיא בעצם פי ארבע יותר דחוסה מ-FULL HD. מסכים גדולים מ-70" ב-LCD נאלצים להשתמש בפאנלים מסוג זה בכדי להמנע מהגדלת הפיקסלים ומקרנים אשר רוצים להיות הקפיים יותר ילכו על כיוון של 4K. מכיוון שבעשור הקרוב לא צפוי קפיצה לתוכן 4K, סביר מאוד להניח שאת מרבית המשקל יאלצו לסחוב מעבדי התמונה. היתרון כאן הוא שהמעבר מעתה והלאה ישאר על כפולות של 1080P, מה שבהכרח יקל על בוני האלגוריתמים משמעותית.

לתגובות ודיון בפורום לחצו כאן


7:00
  /  
4.1.2009
  
כתב: עפר לאור

1