תשובה חלקית
קידוד קידוד אודיו הוא פתרון טכנולוגי שנועד להקטין את נפחם של קבצי אודיו תוך פגיעה מינימלית באיכותם, על מנת שידרשו פחות נפח אכסון או שיהיה ניתן לשדר אותם באמצעות רוחב פס נמון יותר. קיימים אלגוריתמים שונים לקידוד אודיו, רובם מאבדי נתונים (כדוגמת Mp3) וחלקם משמרי נתונים (כדוגמת Wav) הקידוד מתבצע באמצעות התקן או תוכנה המכונים מקודד (encoder), על מנת לצפות בקובץ אודיו מקודד יש להשתמש ברכיב מפענח (decoder). MP3 MP3 הוא אלגוריתם פופולרי לקידוד ודחיסה מאבדת נתונים (lossy compression) של אות קולי. מטרת האלגוריתם הינה לצמצם במידה ניכרת את כמות המידע הנחוצה לייצוג צליל, אולם עדיין לאפשר שיחזור שישמע נאמן למקור לרוב המאזינים. המונח MP3 מתייחס גם לקובצי קול או מוזיקה השמורים בפורמט זה. כדי להקטין את גודל הקובץ, משתמש האלגוריתם במספר מאפיינים שנובעים מהצורה בה המח והאוזן האנושית מעבדים קול: 1. סף הרגישות (The minimal audition threshold) - המאזין הרגיל לא ישמע צלילים בעוצמות הנמוכות מסף מסוים. בניסויים בבני אדם נמצא שסף זה תלוי בתדר הצליל. כמובן שסף זה אינו נכון עבור כל בני האדם, אולם הסף האישי עבור הרוב נמצא קרוב מאוד אליו. לכן נוכל למחוק את כל הצלילים שלא עוברים את הסף ולדעת בסבירות גבוהה כי רוב המאזינים לא ירגישו בהבדל. 2. הסתרות (The masking effect) - האופן בו נגיב לצליל מסוים תלוי מאוד במכלול הצלילים שאותם אנו שומעים במקביל. הדבר דומה למערכת הראייה - נגיב באופן שונה לריבוע בצבע מסוים המופיע על גבי רקע בהיר או כהה, תחושת הצבע שלנו תהיה שונה. דוגמה אחרת היא כאשר לא נשים לב להבדלי גוון קטנים. לשם כך נבנו מודלים מתמטיים המתארים את תגובת האדם למכלול של צלילים, מודלים הנקראים מודלים פסיכו-אקוסטיים. רעיונות פסיכולוגיים קשים לכימות ולכן ישנם כמה מודלים, שונים במידה זו או אחרת זה מזה. נוכל לכן לבחור מודל מסוים ועל פיו להחליט אילו צלילים באמת נחוצים ואילו לא יחסרו למאזינים. 3. קידוד סטריאו מאוחד (Joint Stereo coding) - בני האדם קולטים אותות קוליים דרך האוזניים, הנמצאות במרחק זו מזו. הצלילים הנקלטים די דומים אולם ברוב המקרים אחד מהם עובר דרך קצת ארוכה יותר ולכן מגיע באיחור מה. מוח האדם משתמש בהפרשי הזמנים כדי לחשב את הכיוון ממנו הגיע הצליל (עקרונות פשוטים של גאומטריה), אולם תחושה זו נפגעת עבור תדרים גבוהים או נמוכים מאוד ויכולתו של האדם לחוש את כיוון מקור הצליל נחלשת. לכן, במקום לשמור את שני הערוצים, נוכל לשמור מידע של ערוץ אחד בלבד ובנוסף מידע מצומצם מאוד על המיקום. חיסכון נוסף עבור סטריאו ניתן להשיג עבור שני ערוצים דומים. במקרה כזה נוכל לקודד את סכומם ואת ההפרש שלהם במקום את הערוצים המקוריים (הסבר מלא לקוח מתורת האינפורמציה). 4. קידוד הפמן (Huffman coding) - השימוש בקידוד הפמן אינו שונה כאן מבכל מקום אחר. קטעי ביטים בעלי סבירות גבוהה מקודדים כמחרוזות קצרות ואילו קטעי ביטים בעלי סבירות נמוכה מקודדים כמחרוזות ארוכות יותר. בממוצע נקבל פחות ביטים. חלק זה משלים במידת מה את רעיון ההסתרות. בקטע קולי מגוון, ישנן הרבה הסתרות והרבה מאוד קטעי ביטים שונים, לכן נקבל חסכון בעזרת המודל הפסיכו-אקוסטי אולם לא נרוויח יותר מדי מקוד הפמן. במקרה ההפוך, כאשר נעבוד עם אותות פשוטים (המורכבים ממספר מצומצם של תדרים שונים), לא נחסוך הרבה ממחיקת ההסתרות אולם קוד הפמן ישיג תוצאות טובות יותר. 5. מאגר ביטים (Bytes reservoir) - חלקים מסוימים עלולים לדרוש יותר סיביות מאחרים כדי להגיע לרמה סבירה של איכות. לחלופין, קטעים מסוימים יכולים להיות פשוטים יותר לקידוד מאחרים. לשם כך נוכל להשתמש במאגר ביטים כדי "להעבירם למקום בו הם נחוצים יותר" עכשיו מה היתה הבעיה לפתוח ויקי?