H.264/MPEG-4 AVC
מאפייני התקן

H.264/AVC מאופיין על ידי מספר תכונות חדשות המאפשרות לו לדחוס וידאו ביעילות אלגוריתמית רבה יותר מאשר מקודדים אחרים, ולספק גמישות נוספת ליישומים למגוון רחב של סביבות רשת. ניתן לומר ש-H.264 הוא צאצא ישיר של H.263 ושל MPEG-4. התבוננות מעמיקה בתכונות של H.263+ ו־H.263++ מראה כי פרוטוקול דחיסה זה דומה יותר ל־H.263 מאשר ל־MPEG-4.
תכונות חדשות שהוספו ל־H.264 אינן בהכרח יעילות ביחס לעוצמת החישוב הנדרשת. להלן מספר דוגמאות לתכונות אלו:
ביצוע "פיצוי תנועה רב תמונתי" (Multi picture motion compensation) תוך שימוש בתמונות שקודדו קודם כהתייחסות, בצורה גמישה יותר מתקנים קודמים – בכך מאפשר התקן שימוש בעד 32 תמונות התייחסות (תקנים קודמים אשרו שימוש בתמונת התייחסות אחת, או אם נעשה שימוש ב־ B pictures – שתיים). תכונה זו מאפשרת בדרך כלל שיפור צנוע בקצב הנתונים ובאיכות התמונה, אך ישנם מספר תרחישים, למשל הבהוב חוזר ומהיר של תמונה, תנועות מצלמה הלוך-ושוב או אזורי רקע חשופים - בהם מתאפשר שיפור משמעותי בקצב הנתונים.
ביצוע "פיצוי תנועה על סמך בלוק בגודל משתנה" (Variable block-size motion compensation) עם בלוקים בגדלים 16x16 ועד 4x4 המאפשר חלוקה מדויקת של אזורים נעים. חלוקה רבה מדי לתת-בלוקים עלולה להוביל לשליחת מידע מיותר, שכן המקודד נדרש לציין מספר גדול יותר של בלוקים ולכן מתמקדים מקודדי H.264 בבעיית הבחירה של החלוקה האופטימלית של בלוק 16X16.
רמת הדיוק של פיצוי תנועה עד לרבע פיקסל המאפשרת תיאור מדויק של העתקת אזורים נעים.
חיזוי ממושקל (Weighted prediction) מאפשר למקודד לציין שימוש בסילום (Scaling) וקיזוז (Offset) בעת ביצוע פיצוי תנועה ובכך לספק שיפור משמעותי בביצועים במקרים מסוימים כגון מעברי Fade out ו-Fade in או התפוגגות תמונה אחת לתוך תמונה אחרת (Dissolve). המקרים המוזכרים להלן הם אפקטים טלוויזיוניים הנפוצים בשימוש.
מסנן חיבור מחדש של בלוקים (De-Blocking) שמסייע במניעת "צלצולים" ושאר הפרעות הנוצרות משימוש בבלוקים (Blocking) כשמשתמשים בדחיסת תמונה מבוססת DCT.
"טרנספורמציית בלוקים" (4x4 Block Transform) של מספרים שלמים (דומה לזו שקיימת ב־DCT). ב־Fidelity Range Extensions המקודד יכול לבחור בין בלוקים של 4x4 ו 8x8 בטרנספורמציה.
טרנספורמציית אדמר המשנית מבוצעת על מקדמי ה־DC של הטרנספורמציה הראשית המרחבית (עבור מקדמי DC של צבע ובמקרה אחד גם של בהירות נראית – luma). כך משיגים דחיסה מוגברת במשטחים חלקים.
חיזוי מרחבי לשולי הבלוקים לצורך קידוד "ביניים" (עדיף על פני חיזוי בעזרת DC בלבד שבשימוש ב־MPEG-2 וגם על פני חיזוי לפי מקדמי הטרנספורמציה כפי שתקן H.263+ וחלק 2 של MPEG-4 ממליצים).
"קידוד בינארי חשבוני סתגלני ותלוי הקשר" (Context-adaptive binary arithmetic coding CABAC) שהוא טכניקה מתוחכמת לדחוס אלמנטים של תחביר בזרימת וידאו ללא אובדן מידע.
"קידוד אורך משתנה סתגלני ותלוי הקשר" (Context-adaptive variable-length coding CAVLC) שהוא אלטרנטיבה פשוטה יותר ל־CABAC לקידוד מקדמי טרנספורמציית מנות. על אף פשטותה ביחס ל־CABAC, CAVLC משוכללת יותר ויעילה יותר משיטות אחרות לקידוד מקדים בתקנים קודמים.
טכניקה פשוטה, נפוצה ומובנית מאוד לקידוד אורך משתנה לאלמנטים הרבים של תחביר שאינם מקודדים על ידי CABAC ו־CAVLC נקראת קוד "גולומב אקספוננציאלי".
תכונות כגון אוסף פרמטרים של רצף (SPS) ואוסף פרמטרים של תמונה (PPS) המספקים עמידות וגמישות נוספות בהשוואה לתקנים קודמים.
"פרוסות החלפה" (הנקראות פרוסות SP ו־SI) הן מאפיין המאפשר למקודד להפנות את המפענח "לקפוץ" לזרימת וידאו במהלכה. יש צורך בתכונה זו לשם התמודדות עם שינויים בקצב זרימת הביטים ופעולות "trick mode". כאשר מקודד קופץ לאמצע הסרט תוך שימוש בתכונת ה־SP/SI ניתן לקבל תמונה זהה בצד המפענח אפילו מתמונה שונה או בלי תמונה כלל כהתייחסות ללפני ההחלפה.
סידור גמיש של מאקרו בלוקים (FMP – ידוע גם כקבוצת פרוסות) וסידור שרירותי של פרוסות (ASO) הם טכניקות לשחזור הסידור של ייצוגיי האזורים הבסיסיים בתמונה (הנקראים מאקרו בלוקים). על אף שתכונה זו משמשת להגברת העמידות של השידור לטעויות או אובדן מידע, ניתן להשתמש ב־FMO ו־ASO למטרות אחרות.
שימוש בתכונה זו מאפשר יישום של הגנת שגיאות לא שווה (UEP) וסוגים אחרים של עמידות בפני טעויות אובדן מידע.
פרוסות יתירות (RS) היא תכונה של עמידות בפני טעויות ואובדן מידע המאפשר למקודד לשלוח מידע נוסף על אזור בתמונה (בדרך כלל באיכות נמוכה יותר). במידע זה ייעשה שימוש אם המידע הראשי אבד/הושחת.
תהליך פשוט ואוטומטי המונע את אמולציה בטעות של "קודי התחלה" (רצפי ביטים מיוחדים במידע המקודד המאפשרים גישה אקראית לתוך רצף הביטים וגם סנכרון ביטים במערכות שהדבר דרוש להן ויכולות לאבד אותו).
לתוך זרם הביטים ניתן להוסיף מידע מסוג מידע מוגבר ומוסף (SEI) ומידע על שימושיות הווידאו (VUI) ובכך להגביר את השימוש בווידאו למגוון מטרות.
תמונת עזר בה ניתן להשתמש למטרות כמו הרכבת "תערובת אלפא" (Alpha Blend Compositing).
מספור מסגרות, מאפיין המאפשר את היווצרותם של תת-רצפים ובכך מאפשר סקלביליות לפי זמן על ידי הכללה אפשרית של תמונה בין שתי תמונות. בנוסף אנו יכולים לגלות כך אובדן תמונה (שיכול לקראת עקב אובדן מנות ברשת למשל).
ספירת סדר התמונות, מאפשר שמירה על סידור תמונות והערכים הנדגמים במפענח. כך מתאפשר למידע תזמון להינשא ולערוך אותו בנפרד על ידי המערכת, מבלי להשפיע על תוכן התמונה המפוענחת.
טכניקות אלו יחד עם אחרות עוזרות לתקן H.264 להיות בעל ביצועים טובים משמעותית מתקנים קודמים, תחת מגוון רחב של נסיבות ובמגוון רחב של סביבות יישומים. H.264 בעל ביצועים טובים בהרבה מאלו של MPEG-2 כאשר באופן אופייני הוא ישיג ביצועים זהים במחצית קצב הנתונים ואף פחות.
"צוות הווידאו המשותף" (JVT) השלים תוספות לתקן המקורי הידועות בשם FRExt. תוספות אלו תומכות בקידוד ודאי נאמן יותר למקור באמצעות תמיכה בדיוק דגימה גדול יותר (כולל קידוד של 10 סיביות ושל 12 סיביות) ומידע צבע בהפרדה גבוהה יותר (כולל מבני דגימה הידועים כ־YUV 4:2:2 ו־YUV 4:4:4).
מספר תכונות נוספות של תוספות אלו לתקן הן: מעבר סתגלני טרנספורמציות מספריות בין 4x4 ו 8x8, מטריצות משקלים למנות מבוססות תפיסה וייחודיות למקודד, קידוד בין תמונתי יעיל ללא אובדן מידע, תמיכה במרחבי צבע נוספים, וטרנספורמציית צבע שאריתי). העבודה על התוספות לתקן הושלמה בספטמבר 2004.
H.264/AVC נמצא בשימוש רחב בוועידות וידאו כפי שניתן לפגוש במוצריהן של שתי חברות בולטות בענף (Polycom ו־Tandberg). התקן גם אומץ על ידי שני פורמטים הראשים ל־DVD המתחרים ביניהם (HD-DVD ו־Blu-ray). ארגון האירופאי לשידור וידאו דיגיטלי אישר לאחרונה את השימוש ב־H.264/AVC לשידורי טלוויזיה באירופה. מספר גופי שידור ביפן וקוריאה אישרו את תמיכתם בתקן הקידוד, והוא נמצא בבחינה לשידורים נוספים. למשל הוא נמצא בבחינה של גוף התקינה של הוועדה לשידורי טלוויזיה מתקדמים בארצות הברית. בעולם האלחוטי אומץ התקן כחלק מגרסה 6 של "פרויקט השותפות לדור השלישי" (3GPP).
נכון ל-2005 מייצרות ארבע חברות שבבים המסוגלים לקודד H.264/AVC וידאו: BroadCom, Conexant, Sigma Designs ו-ST - Micro. שבבים אלו יאפשרו פריסה רחבה של התקנים זולים המסוגלים לנגן H.264/AVC וידאו ברזולוציה של טלוויזיה סטנדרטית ושל טלוויזיה ברזולוציה גבוהה.
כמו תקני ISO/IEC MPEG אחרים, גם ל־H.264/AVC יישום לדוגמה שאותו ניתן להוריד חינם מאתר ISO. מטרתו העיקרית היא לתת דוגמה ליכולותיו של H.264/AVC ולא לשמש כיישום שלו.
כמו בתקן MPEG-2 וחלק 2 של תקן MPEG-4, ספקי מוצרים של H.264/AVC נדרשים לשלם תמלוגים עבור שימוש ברכיבים שמשתמשים בפטנטים שהוצאו על התקן. המקור העיקרי לרישיונות לפטנטים הרלוונטיים לתקן זה הוא ארגון פרטי הידוע כ־MPEG-LA, LLC. ארגון זה אינו קשור ישירות לארגון התקינה MPEG, אך הוא מטפל מנהלית במאגר הרישיונות של תקן MPEG-2 וחלק 2 של תקן MPEG-4.