ש×פ×ר ×××× ×¤×¨×××¨× ×ק×××× ××ת×ת ש××¢ ×קצ××× × ××××× - SIPL - ×××× ×××
ש×פ×ר ×××× ×¤×¨×××¨× ×ק×××× ××ת×ת ש××¢ ×קצ××× × ××××× - SIPL - ×××× ×××
ש×פ×ר ×××× ×¤×¨×××¨× ×ק×××× ××ת×ת ש××¢ ×קצ××× × ××××× - SIPL - ×××× ×××
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
שיפור מודל פרמטרי לקידוד אותות שמע<br />
בקצבים נמוכים<br />
מיכאל מוסקוביץ
שיפור מודל פרמטרי לקידוד אותות שמע<br />
בקצבים נמוכים<br />
חיבור על מחקר<br />
לשם מילוי חלקי של הדרישות לקבלת התואר<br />
מגיסטר למדעים בהנדסת חשמל<br />
מיכאל מוסקוביץ<br />
הוגש לסנט הטכניון – מכון טכנולוגי לישראל<br />
ניסן תשס"ד חיפה<br />
אפריל 2004
הבעת תודה<br />
המחקר נעשה בהנחיית ד"ר דן חזן ופרופ'<br />
חשמל.<br />
דוד מלאך בפקולטה להנדסת<br />
לכבוד הוא לי להודות למנחים שלי על מעורבותם הרצינית,<br />
המסורה ועזרתם לאורך כל שלבי המחקר.<br />
הדרכתם<br />
אני מודה לד"ר הייקו פורנהגן על אספקת קבצי שמע מקודדים ע"י<br />
HILN עבור מבחני השוואה.<br />
אני רוצה להודות לחברי,<br />
באלגוריתם להפרדת תדרים סמוכים.<br />
אלכס קובזנצ'ב על עזרתו ושיתוף פעולה פורה<br />
אני מודה למעבדה לעיבוד אותות על התמיכה הטכנית לכל אורך<br />
העבודה.<br />
אני מודה לטכניון על תמיכתו הרבה להצלחת המחקר.
תוכן עניינים<br />
1<br />
2<br />
תקציר ...............................................................................................<br />
רשימת קיצורים וסמלים ................................................................<br />
5<br />
מבוא ......................................................................................<br />
פרק 1<br />
8<br />
8<br />
8<br />
9<br />
11<br />
13<br />
16<br />
18<br />
סקר ספרות ...........................................................................<br />
2.1 הקדמה ...............................................................................<br />
............................................................<br />
...............................................................<br />
................................................................ MP3<br />
2.2 התפתחות היסטורית<br />
2.3 מקודד שמע בסיסי<br />
2.4 שיטת קידוד<br />
2.5 קידוד ................................................................. TWIN-VQ<br />
2.6 מודל פרמטרי ............................................................. HILN<br />
2.7 סיכום .................................................................................<br />
פרק 2<br />
19<br />
19<br />
19<br />
22<br />
24<br />
24<br />
26<br />
32<br />
33<br />
מודל פסיכואקוסטי ..............................................................<br />
3.1 הקדמה ...............................................................................<br />
3.2 מערכת השמע האנושית ........................................................<br />
................................................................<br />
.......................................................................<br />
.................................................<br />
...........................................<br />
..............................................<br />
3.3 תחומים קריטיים<br />
3.4 מיסוך השמע<br />
3.4.1 סף השמיעה המוחלט<br />
3.4.2 מודל לחישוב סף המיסוך<br />
3.5 בדיקת המודל הפסיכואקוסטי<br />
3.6 סיכום .................................................................................<br />
פרק 3
תוכן עניינים (המשך)<br />
34<br />
34<br />
34<br />
35<br />
38<br />
38<br />
39<br />
41<br />
42<br />
43<br />
..........................................................<br />
מקודד פרמטרי HILN<br />
4.1 הקדמה ...............................................................................<br />
4.2 מודל סינוסואידלי ................................................................<br />
4.3 המקודד ..............................................................................<br />
....................................................................<br />
...........................................................................<br />
4.4 מודל הרמוניות<br />
4.5 מודל רעש<br />
4.6 כימות .................................................................................<br />
4.7 המפענח ..............................................................................<br />
4.8 גירסאות מוקדמות של ................................................HILN<br />
4.9 סיכום .................................................................................<br />
פרק 4<br />
44<br />
44<br />
45<br />
47<br />
48<br />
50<br />
52<br />
56<br />
56<br />
57<br />
59<br />
מקודד פרמטרי מוצע ............................................................<br />
5.1 הקדמה ...............................................................................<br />
......................................................................<br />
........................................................<br />
..............................................<br />
5.2 תיאור המודל<br />
5.3 מיצוי מרכיבים טונליים<br />
5.3.1 מציאת תדרי הסינוסים<br />
5.3.2 מציאת תדרים סמוכים...............................................<br />
5.3.2.1 תיאור האלגוריתם למציאת תדרים סמוכים ......<br />
5.3.3 מציאת אמפליטדות הסינוסים.....................................<br />
...........................................................................<br />
...................................................................<br />
5.4 מודל רעש<br />
5.5 פיענוח וסינתזה<br />
5.6 סיכום .................................................................................<br />
פרק 5<br />
61<br />
61<br />
61<br />
65<br />
חיפוש תדרים יסודיים .........................................................<br />
6.1 הקדמה ...............................................................................<br />
6.2 אלגוריתם למציאת תדרים יסודיים בשיטת האוטוקרלציה ......<br />
6.3 אלגוריתם למציאת תדרים יסודיים בעזרת החלקת ספקטרום...<br />
פרק 6
תוכן עניינים (המשך)<br />
68<br />
70<br />
76<br />
81<br />
6.4 אלגוריתם למציאת תדרים יסודיים בתחום התדר ...................<br />
6.5 אלגוריתם למציאת תדר יסודי דומיננטי בשיטת מסרק תדרים<br />
6.6 שיטה מוצעת למציאת תדרים יסודיים על פי כיסוי מירבי<br />
.<br />
........<br />
6.7 סיכום ................................................................................<br />
84<br />
84<br />
85<br />
87<br />
90<br />
94<br />
96<br />
98<br />
99<br />
99<br />
101<br />
פרק 7<br />
מודל לייצוג אמפליטודות הטונים ........................................<br />
7.1 הקדמה ...............................................................................<br />
7.2 שיטה להתאמת המעטפת בתחום הזמן<br />
..................................<br />
LPC 7.2.1 באיטרציות ......................................................<br />
7.2.2 בחינת השפעת מספר המקדמים על הביצועים<br />
...............<br />
7.2.3 שינוי סקלת התדר לסקלת ................................. Bark<br />
7.3 שיטה להתאמת המעטפת בתחום התדר..................................<br />
7.3.1 מודל איטרטיבי<br />
7.3.2 צמצום התחום הדינמי<br />
7.3.3 מתיחת סקלת התדר<br />
.........................................................<br />
...............................................<br />
..................................................<br />
7.4 סיכום .................................................................................<br />
102<br />
102<br />
103<br />
103<br />
104<br />
104<br />
106<br />
106<br />
109<br />
110<br />
111<br />
פרק 8<br />
קידוד וכימות .........................................................................<br />
8.1 הקדמה ...............................................................................<br />
8.2 שידור הרמוניות<br />
8.3 שידור בדידים<br />
8.4 שידור רעש<br />
..................................................................<br />
......................................................................<br />
..........................................................................<br />
8.5 צורת הקידוד של ההרמוניות<br />
8.5.1 שיטת קידוד<br />
8.5.2 שיטת קידוד<br />
8.5.3 שיטות קידוד נוספות<br />
.................................................<br />
........................................................... 1<br />
........................................................... 2<br />
.................................................<br />
8.6 כימות וקטורי של מקדמי ה- ......................................... LPC<br />
8.7 סדר עדיפויות<br />
......................................................................
תוכן עניינים (המשך)<br />
112<br />
112<br />
112<br />
115<br />
תוצאות סימולציה .................................................................<br />
9.1 הקדמה ...............................................................................<br />
9.2 תוצאות ..............................................................................<br />
9.3 זמני הרצה ..........................................................................<br />
פרק 9<br />
116<br />
116<br />
117<br />
סיכום והצעות להמשך מחקר ...............................................<br />
.................................................................<br />
.........................................................<br />
10.1 סיכום ומסקנות<br />
10.2 הצעות להמשך מחקר<br />
פרק 10<br />
119<br />
122<br />
124<br />
126<br />
נספח א' ............................................................................................<br />
נספח ב' ............................................................................................<br />
נספח ג' .............................................................................................<br />
נספח ד' ............................................................................................<br />
128<br />
מקורות .............................................................................................
רשימת איורים<br />
10<br />
11<br />
13<br />
15<br />
15<br />
18<br />
20<br />
21<br />
22<br />
23<br />
25<br />
27<br />
28<br />
29<br />
30<br />
31<br />
32<br />
36<br />
37<br />
37<br />
41<br />
45<br />
48<br />
49<br />
51<br />
54<br />
55<br />
55<br />
57<br />
59<br />
62<br />
63<br />
63<br />
64<br />
65<br />
סכימת מבנה בסיסי של מקודד תפיסתי<br />
סכימת מבנה בסיסי של מפענח תפיסתי<br />
...........................................................<br />
...........................................................<br />
סכימת מבנה של מקודד MPEG-1 שכבה ...................................................... 3<br />
סכימת מקודד ............................................................................ TWIN-VQ<br />
שיטת כימות ............................................................................... TWIN VQ<br />
סכימת מלבנים של מקודד HILN<br />
מבנה האוזן<br />
מבנה השבלול<br />
...................................................................<br />
..................................................................................................<br />
...............................................................................................<br />
פריסת תדרים לאורך השבלול<br />
.........................................................................<br />
גרף התמרה מיחידות תדר ליחידות ......................................................... Bark<br />
סף השמיעה המוחלט<br />
.....................................................................................<br />
ספקטרום של אות שמע בייצוג ................................................................ SPL<br />
ממסכים טונליים<br />
ממסכי רעש<br />
..........................................................................................<br />
..................................................................................................<br />
ממסכים טונליים ורעש לאחר צמצום<br />
ספי מיסוך עבור ממסכים בודדים<br />
סף המיסוך הכולל<br />
..............................................................<br />
...................................................................<br />
.........................................................................................<br />
סכימת מלבנים של מקודד ................................................................... HILN<br />
מעגל אנליזה/סינתזה<br />
הערכת תדר בדיוק גבוה<br />
.....................................................................................<br />
.................................................................................<br />
סכימת מלבנים של מפענח .................................................................... HILN<br />
מבנה המקודד הפרמטרי המוצע<br />
תחום התדר של אות שמע<br />
קירוב פרבולי<br />
ספקטרום האות<br />
......................................................................<br />
..............................................................................<br />
................................................................................................<br />
............................................................................................<br />
מדד התאמה כפונקציה של שני תדרים<br />
.............................................................<br />
מדד התאמה כפונקציה של שני תדרים (איזור מוגדל) ........................................<br />
מדד התאמה כפונקציה של שני תדרים (מבט על) ...............................................<br />
מבנה המפענח של המודל המוצע<br />
פונקצית ההחלקה<br />
.....................................................................<br />
.........................................................................................<br />
פונקצית אוטוקורלציה ...................................................................................<br />
פונקצית האוטוקרלציה לאחר השארת ערכים חיוביים בלבד<br />
..............................<br />
פונקצית אוטוקרלציה מדוללת ........................................................................<br />
פונקצית אוטוקרלציה לאחר דילול אחד<br />
פונקצית אוטוקורלציה – דוגמה למצב בעייתי<br />
...........................................................<br />
..................................................<br />
2.1<br />
2.2<br />
2.3<br />
2.4<br />
2.5<br />
2.6<br />
3.1<br />
3.2<br />
3.3<br />
3.4<br />
3.5<br />
3.6<br />
3.7<br />
3.8<br />
3.9<br />
3.10<br />
3.11<br />
4.1<br />
4.2<br />
4.3<br />
4.4<br />
5.1<br />
5.2<br />
5.3<br />
5.4<br />
5.5<br />
5.6<br />
5.7<br />
5.8<br />
5.9<br />
6.1<br />
6.2<br />
6.3<br />
6.4<br />
6.5
66<br />
69<br />
71<br />
72<br />
72<br />
73<br />
73<br />
74<br />
75<br />
77<br />
77<br />
78<br />
79<br />
80<br />
81<br />
84<br />
86<br />
89<br />
91<br />
92<br />
94<br />
95<br />
97<br />
105<br />
106<br />
107<br />
108<br />
113<br />
114<br />
120<br />
מבנה מערכת למציאת תדרים יסודיים.............................................................<br />
דוגמאות לתצוגת תדר יסודי במטריצה ........................................................ A<br />
מסרק תדרים סביב תדר יסודי<br />
F 0<br />
ספקטרום של אות כניסה<br />
...................................................................<br />
...............................................................................<br />
תפוקת האלגוריתם ........................................................................................<br />
ספקטרום של אות כניסה- דוגמה<br />
תפוקת האלגוריתם- דוגמה<br />
דוגמה שלישית לביצועי האלגוריתם<br />
דוגמה רביעית לביצועי האלגוריתם<br />
פונקצית המלבן סביב תדר יסודי אופציונלי<br />
פונקצית מסרק המראה את התדרים האופציונליים<br />
חיפוש תדרים יסודיים לפי כיסוי מירבי<br />
הצגת בעיה ראשונה בפונקצית המסרק<br />
פונקצית מסרק מוגדלת<br />
הצגת בעיה שניה בפונקצית המסרק<br />
מעטפת ספקטרלית<br />
ספקטרום של אות מסונתז<br />
................................................................. 2<br />
.......................................................................... 2<br />
................................................................<br />
.................................................................<br />
......................................................<br />
..........................................<br />
...........................................................<br />
............................................................<br />
..................................................................................<br />
.................................................................<br />
........................................................................................<br />
.............................................................................<br />
תפוקת האלגוריתם לעיצוב המעטפת הספקטרלית באיטרציות<br />
שגיאת המודל כפונקציה של מספר המקדמים דוגמה<br />
שגיאת המודל כפונקציה של מספר המקדמים דוגמה<br />
..........................<br />
...................................... 1<br />
...................................... 2<br />
התמרת תחום התדר על פי סקלת …....................................................... Bark<br />
תיאור פעולת מתיחת תחום התדר<br />
ייצור ספקטרום בעזרת אינטרפולציה<br />
הדגמת הצורך בקוד המציין את מיקום ההרמוניות<br />
...................................................................<br />
סדרת סיביות מקודדת בשיטה – 1 עבור תדר יסודי ראשון<br />
היסטוגרמה של הפרשים בין הרמוניות<br />
סדרת סיביות מקודדת בשיטה – 1 עבור תדר יסודי שני<br />
..............................................................<br />
...........................................<br />
.................................<br />
............................................................<br />
.....................................<br />
ציון ODG ביחס ל- ............................................................................... SNR<br />
ציון ODG למקודדים<br />
ספקטרום של חלון המינג מוזז<br />
....................................................................................<br />
........................................................................<br />
6.6<br />
6.7<br />
6.8<br />
6.9<br />
6.10<br />
6.11<br />
6.12<br />
6.13<br />
6.14<br />
6.15<br />
6.16<br />
6.17<br />
6.18<br />
6.19<br />
6.20<br />
7.1<br />
7.2<br />
7.3<br />
7.4<br />
7.5<br />
7.6<br />
7.7<br />
7.8<br />
8.1<br />
8.2<br />
8.3<br />
8.4<br />
9.1<br />
9.2<br />
A-1
רשימת טבלאות<br />
23<br />
25<br />
33<br />
39<br />
42<br />
60<br />
82<br />
90<br />
93<br />
100<br />
102<br />
107<br />
109<br />
110<br />
113<br />
114<br />
115<br />
רוחב הסרט של התחומים הקריטיים<br />
...............................................................<br />
דוגמאות לעוצמות קול ....................................................................................<br />
סיכום השפעת המודל הפסיכואקוסטי על מספר הסינוסים<br />
.................................<br />
סיכום פרמטרים לשידור במקודד …...................................................... HILN<br />
חלוקת קווים הרמוניים לקבוצות<br />
השוואה בין מקודד HILN למקודד הפרמטרי המוצע<br />
סיכום תפוקות אלגוריתם לכיסוי מלא<br />
שגיאת המודל האיטרטיבי ביחס למודל הרגיל<br />
....................................................................<br />
.........................................<br />
.............................................................<br />
תוצאות המודל האיטרטיבי בשילוב מספר מקדמים אופטימלי<br />
תוצאות המודל לייצוג אמפליטודות<br />
סיכום פרמטרים לשידור במקודד המוצע<br />
...................................................<br />
............................<br />
.................................................................<br />
..........................................................<br />
סיכום תפוקות קוד ......................................................................... Huffman<br />
תוצאות היסטוגרמה של אורכי רצפים של<br />
תוצאות היסטוגרמה של אורכי רצפים<br />
םי- '1'<br />
...............................................<br />
..............................................................<br />
בדיקת הציון שמפיקה התוכנה ....................................................... EAQUAL<br />
תוצאות בדיקה השוואתית בין המקודדים<br />
בדיקת זמני הרצה<br />
........................................................<br />
..........................................................................................<br />
3.1<br />
3.2<br />
3.3<br />
4.1<br />
4.2<br />
5.1<br />
6.1<br />
7.1<br />
7.2<br />
7.3<br />
8.1<br />
8.2<br />
8.3<br />
8.4<br />
9.1<br />
9.2<br />
9.3
תקציר<br />
כשמדברים על פיתוח יישומי מולטימדיה, תמיד עולות דרישות חדשות לקידוד שמע בקצבים<br />
נמוכים מאוד. יעילות קידוד גבוהה נדרשת על מנת להתמודד עם בעיית רוחב פס מוגבל של ערוצי<br />
שידור ונועדה להתמודד עם בעיית משאב זיכרון מוגבל עבור יישומי אחסנה.<br />
קיימים כיום סטנדרטים שונים לדחיסת שמע והנפוץ שבהם הוא ה-<br />
השמע המשוחזר נשמעת טוב רק בקצבים של<br />
.mp3<br />
128kbps<br />
,mpeg4-audio<br />
עפ"י שיטה זו אות<br />
ומעלה. שיטה מתקדמת יותר היא<br />
הכוללת מספר גירסאות שמטרתן לעבוד בקצבים נמוכים עוד יותר, אך איכות<br />
אות השמע יורדת.<br />
כל השיטות לדחיסה בקצבים הנמוכים מנצלות את תכונת המיסוך של השמיעה האנושית, ובכך<br />
מונעות קידוד מידע שממילא לא יישמע לאוזן. השימוש במיסוך הוא מהגורמים החשובים<br />
בפעולת הדחיסה.<br />
מטרתנו במחקר זה היא לקודד אותות שמע בקצב נמוך של 16kbps ובנקודת עבודה זו לשפר את<br />
איכות השמע לרמה שתישמע נעימה לאוזן. דחיסה זו היא עבור אותות שמע (קול ומוסיקה)<br />
הדגומים בקצב<br />
,16KHz כלומר<br />
עם סיבית אחת לדגם.<br />
במחקר נתמקד במודל פרמטרי הנקרא<br />
(גירסא של<br />
Harmonic Individual Lines and Noise - HILN<br />
.(mpeg4-audio<br />
מודל זה מבוסס על הפרדת האות לשלושה מרכיבים עיקריים:<br />
סינוסים בדידים, הרמוניות ורעש. כל מרכיב מתואר ע"י מודל פרמטרי מתאים. מודל ה-HILN<br />
פותח בשנים האחרונות אך נחקר עדיין.<br />
במהלך סקר ספרות מכין שבוצע נמצאו מספר חסרונות של השיטה, הגורמות לירידה באיכות,<br />
כגון אי העברת מידע על פאזות האותות ומציאת תדר<br />
יסודי (pitch)<br />
יחיד בלבד באותות המכילים<br />
מספר תדרים יסודיים. בנוסף להתמודדות בבעיות אלו, יבחנו רעיונות נוספים לשיפור איכות אות<br />
השמע המשוחזר, כמו התאמה טובה יותר של המיסוך למודל, ייצוג אמפליטודות ההרמוניות<br />
בצורה יעילה יותר ופיתוח שיטה להפרדת תדרים קרובים.<br />
היכולת להפריד תדרים סמוכים, מאפשרת מיצוי טוב יותר של המרכיבים הטונליים באות השמע<br />
וגורמת לאיכות שמע טובה יותר. בתהליך מיצוי המרכיבים הטונליים מפיקים סינוסים רבים.<br />
קידוד כל סינוס בנפרד צורך מספר גדול של סיביות, לכן, השימוש במספר תדרים יסודיים גורם<br />
לשיפור הקידוד ומאפשר שידור של יותר סינוסים.<br />
קידוד יעיל של האמפליטודות לא פחות חשוב מקידוד התדרים. האמפליטודות מיוצגות בעזרת<br />
מעטפת ספקטרלית, העוברת בקרבת האמפליטודות. בעבודה זו מוצגים מספר שיפורים ביצירת<br />
המעטפת, הגורמים להקטנת השגיאה בייצוג האמפליטודות. השיפורים כוללים, מספר משתנה של<br />
מקדמים לייצוג המעטפת, מודל איטרטיבי לחישוב המעטפת, צמצום התחום הדינמי של<br />
- 1 -
האמפליטודות ומתיחת סקלת התדר בצורה כזאת שתאפשר ייצוג מעטפת מדוייקת יותר בתדרים<br />
הנמוכים.<br />
איכות השמע נבדקה ע"י השוואת המקודד המוצע בעבודת המחקר מול מקודד .HILN<br />
הבדיקה נעשתה בעזרת תוכנה בשם<br />
.EAQUAL<br />
תוכנה זו נותנת מדד לירידת האיכות בין אות<br />
שמע מקורי לאות שמע דומה לו. תוצאות הבדיקות הראו שהמקודד המוצע משפר מעט<br />
את איכות השמע.<br />
(בכ- (3dB<br />
- 2 -
רשימת קיצורים<br />
AAC<br />
AC-3<br />
CD<br />
CELP<br />
DCT<br />
DFT<br />
FIR<br />
FFT<br />
IIR<br />
HILN<br />
LAR<br />
LPC<br />
LS<br />
LSD<br />
LSF<br />
LSP<br />
MDCT<br />
MPEG<br />
MP3<br />
PCM<br />
SNR<br />
SPL<br />
TMN<br />
TWIN VQ<br />
VQ<br />
MPEG Advanced Audio Coding<br />
Audio Coding technique from Dolby Laboratories Inc<br />
Compact Disk<br />
Code Excited Linear Prediction<br />
Discrete Cosine Transform<br />
Discrete Fourier Transform<br />
Finite Impulse Response<br />
Fast Fourier Transform<br />
Infinite Impulse Response<br />
Harmonics Individual Lines and Noise<br />
Logarithmic Area Rations<br />
Linear Predictive Coding<br />
Least Square<br />
Log Spectral Distance<br />
Line Spectral Frequency<br />
Line Spectral Pair<br />
Modified discrete Cosine Transform<br />
(ISO/IEC) Moving Pictures Expert Group<br />
MPEG-1 Layer 3<br />
Pulse Code Modulation<br />
Signal to Noise Ratio<br />
Sound Pressure Level<br />
Tone Masking Noise<br />
Transform- domain weighted interleaved vector quantization<br />
Vector Quantization<br />
- 3 -
רשימת סמלים<br />
קצב דגימה ביחידות קילו הרץ<br />
קצב סיביות לשניה ביחידות קילו סיביות לשניה<br />
אמפליטודת הסינוס<br />
תדר הסינוס<br />
פאזת הסינוס<br />
מספר סינוסים במודל הסינוסואידלי<br />
תחום קריטי ביחידות ברק<br />
הסף המוחלט<br />
עוצמת הממסך הטונלי<br />
עוצמת ממסך רעש<br />
צורת הממסך הטונלי<br />
צורת ממסך רעש<br />
סף המיסוך הגלובלי<br />
פרמטר מתיחת התדר<br />
חלון<br />
קצב דגימה<br />
קבוצת תדרים<br />
Khz<br />
Kbps<br />
a i<br />
f i<br />
ϕ<br />
i<br />
L<br />
z<br />
T q<br />
P TM<br />
P NM<br />
T TM<br />
T NM<br />
T g<br />
S<br />
H<br />
Fs<br />
MAX<br />
- 4 -
פרק 1<br />
מבוא<br />
במהלך השנים האחרונות<br />
,<br />
חל גידול משמעותי ביישומי מולטימדיה, כגון שידורים דיגיטליים,<br />
אחסנה, תקשורת בזמן אמת, אינטרנט ומשחקים. הגידול העצום העלה דרישות חדשות<br />
להתייעלות וגמישות. התייעלות הקידוד נדרשת בכדי להתמודד עם מגבלות רוחב פס של<br />
האינטרנט או תקשורת ניידת<br />
.[15]<br />
שמע רחב סרט<br />
(wideband)<br />
הינו גורם חשוב בתחום המולטימדיה. עם פריסת רשתות תקשורת<br />
ניידות מהדור החדש, העברת שמע רחב סרט נהפכה להיות מציאותית. אבל, המחיר של שימוש<br />
בערוץ אלחוטי עדיין יקר יותר משימוש ברשתות הקוויות, כמו סיבים אופטיים. בנוסף, למסופים<br />
ניידים יש מגבלות ביכולת החישוב ובכמות הזיכרון. מגבלות אלו הצעידו קדימה את תחום קידוד<br />
השמע.<br />
קידוד שמע דיגיטלי נהפך להיות מסחרי מאז 1970, בצורה של קומפקט דיסק<br />
.(CD)<br />
אבל, כמות המידע, שנדרשה עבור ייצוג דיגיטלי אמין של אותות שמע, היתה עצומה. למשל,<br />
בשיטת הקלטה PCM על דיסק היה צורך בקצב של 705,600 סיביות בשניה עבור ערוץ שמע יחיד<br />
44100) הרץ * 16 סיביות).<br />
הכמות הגדולה של סיביות שנדרשה לכל שניה של שמע, הוותה מכשול עבור שימושים רבים,<br />
במיוחד עבור מערכות המוגבלות ברוחב פס לשידור. בנוסף, הדרישות ההולכות וגוברות לערוצי<br />
שמע בתווך מוגבל רוחב פס, כמו האינטרנט, העלו את הצורך בקידוד / דחיסת אותות שמע.<br />
החיפוש אחר קידוד אותות שמע הביא לתקן הבינלאומי הראשון, MPEG 1 – Audio<br />
MPEG ידועה גם בשם<br />
.[2] [1]<br />
"קבוצה המתמחה בתמונות נעות" Group) .(Moving Pictures Expert<br />
התקנים לקידוד אותות שמע, שפותחו ע"י הקבוצה, נמצאים ביישומים רבים הכוללים,<br />
•<br />
•<br />
•<br />
•<br />
•<br />
•<br />
שידורי הפצה של שמע ספרתי<br />
איחסון שנועד לשידור.<br />
צירוף שמע לטלויזיה ספרתית.<br />
שימושי אינטרנט.<br />
מתקנים ניידים להשמעת שמע.<br />
איחסון והחלפת קבצי מוסיקה בין מחשבים.<br />
הצלחת הקידוד וההורדה בכמות הסיביות הנדרשות לייצוג אות שמע רחב סרט, גרמו להעלאת<br />
דרישות חדשות נוספות. גורמים אלו הפכו את משימת הדחיסה לאתגרית.<br />
- 5 -
על מנת לקודד אותות שמע היה צורך בהבנה מעמיקה של האות ותכונותיו.<br />
אות שמע הוא שם כולל עבור מגוון רחב של אותות כמו, אות דיבור, אות מוסיקה, אות המשלב<br />
מוסיקה ודיבור, ואות רעש. קידוד השמע צריך לתת מענה לכל סוגי האותות. קיימים מקודדים<br />
המיועדים אך ורק עבור אותות שמע מסויימים, כמו דיבור. כמו כן, קיימים מקודדים המנסים<br />
להתמודד עם כל סוגי אותות השמע.<br />
המטרה העיקרית בתהליך הקידוד/דחיסה הוא הורדת כמות הסיביות. דבר זה שקול להורדה<br />
וצמצום של כמות המידע. קיימות שתי גישות בסיסיות להורדת כמות המידע:<br />
הגישה הראשונה היא הפחתת יתירות סטטיסטית, כלומר הורדת מידע שאין בו צורך<br />
לשיחזור האות המקורי. המטרה בגישה זו, הוא הגעה למצב בו אין אף סיבית ברצף<br />
הסיביות, שהיא מיותרת.<br />
הפעולה של הפחתת יתירות סטטיסטית נקראת קידוד אנטרופיה, ומיושמת על קודים<br />
כדוגמת קוד .Huffman שיטות אלו מסוגלות לדחוס אותות שמע פי שניים או שלושה.<br />
היתרון הוא שניתן לשחזר במדוייק את אות השמע<br />
.(lossless coding)<br />
הגישה השניה מבוססת על הרחקת מידע שאינו רלוונטי למערכת השמיעה האנושית.<br />
על פי גישה זו, מסווגים כל חלק באות לפי הרלוונטיות שלו: חלקים שהם רלוונטים,<br />
חלקים פחות רלוונטים וחלקים לא רלוונטים כלל.<br />
אין צורך לשדר את החלקים הלא רלוונטים באות, שלא ישמעו לאוזן האנושית, כמו כן<br />
אין צורך בהשקעת מספר סיביות גדול עבור החלקים הפחות רלוונטים<br />
יישום הידע בתפיסת השמיעה מוביל למקודדים בעלי ביצועים טובים.<br />
.[3]<br />
גישה זו מצריכה מודל פסיכואקוסטי, הכולל הערכה של השפעת המיסוך של מערכת<br />
השמיעה האנושית.<br />
בגישה זו ניתן לדחוס אותות שמע עד פי 10, מבלי לפגוע, כמעט, באיכות השמע.<br />
•<br />
•<br />
כל הטכנולוגיות לדחיסת שמע משלבות את שתי הגישות.<br />
כיום, יש עדיין מגבלות על קצב הסיביות והמחיר של כל רוחב פס הוא גבוה, כך שיש צורך מתמשך<br />
בשיפור יעילות הקידוד.<br />
הבעיה העיקרית בהורדת כמות הסיביות, היא הפגיעה באיכות השמע.<br />
טכניקות לקידוד שמע ספרתי מסווגות לשתי קבוצות: עיבוד בתחום הזמן ועיבוד בתחום התדר.<br />
הטכניקה בתחום הזמן<br />
דגם, עבור איכות גבוהה.<br />
- 6 -<br />
[5]<br />
3<br />
ניתנת ליישום עם סיבוכיות נמוכה, אבל נדרש יותר מ- 10 סיביות לכל<br />
מרבית הטכניקות המקובלות שייכות לעיבוד בתחום התדר. איכות טובה ניתנת להשגה בקצב של<br />
סיביות ומעלה לדגם. הכלים שישנם, למיפוי אות השמע לתחום התדר הם קידוד בפסי תדר<br />
(subband)<br />
וקידוד התמרה<br />
.(transform)<br />
טכניקות הקידוד השונות, לרבות מקודד שמע בסיסי, מקודד התמרה ,MP3 מקודד התמרה<br />
מתקדם TWIN-VQ והמקודד הפרמטרי - HILN מתוארים בהרחבה בפרק 2. כל הטכניקות<br />
משתמשות במודל הפסיכואקוסטי, המתואר בפרק<br />
.3
בפרק 4 מוצגת טכניקה לדחיסת שמע בקצבים נמוכים מאוד (סיבית אחת לדגם), הנקראת מקודד<br />
פרמטרי - .HILN השימוש במקודד מאפשר דחיסה גבוהה במחיר של ירידה באיכות השמע. בפרק<br />
4 מתואר כל תת מערכת במקודד בהרחבה.<br />
עבודת המחקר מתמקדת בשיפור מקודד זה, על מנת להשיג איכות שמע טובה יותר. בפרק<br />
5<br />
מתואר מקודד פרמטרי אחר (המקודד המוצע), שנבנה במהלך העבודה. המקודד המוצע, משפר<br />
את מקודד<br />
,HILN<br />
כמעט בכל תת מערכת. בשלב ראשון מבוצע מיצוי של כל המרכיבים<br />
הסינוסואידליים, כולל טונים בעלי תדרים סמוכים. בהמשך מקודדים את הפרמטרים של<br />
הסינוסים בצורה יעילה. תדרי הסינוסים מיוצגים בעזרת שני תדרים יסודיים (פרק<br />
ואמפליטודת הסינוסים מיוצגים בעזרת מעטפת ספקטרלית משופרת (פרק<br />
(6<br />
.(7<br />
תוצאות בדיקות שמע של המקודד הפרמרי המוצע בהשוואה למקודד HILN מוצגות בפרק<br />
סיכום, מסקנות והצעות להמשך מתוארים בפרק<br />
.9<br />
.10<br />
- 7 -
פרק 2<br />
סקר ספרות<br />
2.1 הקדמה<br />
מטרת פרק זה היא סקירה על הנעשה בתחום קידוד שמע בקצבים נמוכים.<br />
תחילה מוצגת סקירה היסטורית על ההתפתחות קידוד השמע במהלך שלושים שנה האחרונות.<br />
בהמשך מתוארים מספר מקודדים הכוללים את מבנה המקודד הבסיסי, מקודד<br />
MP3 המפורסם,<br />
שהביא למהפכה בתחום דחיסת השמע; מקודד ,TWIN-VQ מקודד הכולל טכנולוגיות ליעילות<br />
קידוד מתקדמות, ולבסוף סקירה מעמיקה על המודל הפרמטרי, שנחקר בצורה מעמיקה במהלך<br />
עבודה זו.<br />
2.2 התפתחות היסטורית<br />
כל הטכנולוגיות לקידוד אותות שמע בקצבים נמוכים, מבוססות על צירוף שתי הגישות שתוארו<br />
במבוא (הפחתת יתירות סטטיסטית באמצעות התמרה או קבוצת מסננים ושימוש בקודי<br />
אנטרופיה, והרחקת מידע לא רלוונטי באמצעות המודל הפסיכואקוסטי).<br />
מאז שנות ה-<br />
70<br />
המאוחרות החלו לחקור את תחום הקידוד של אותות שמע באיכות גבוהה.<br />
הפעילות העיקרית התרחשה החל משנת 1986.<br />
פריצת הדרך בקידוד שמע נרשמה ע"י התקן הבינלאומי הראשון<br />
[1] 1992 [2]. מאז, תקני MPEG נשארו המגמה השולטת מבין הטכנולוגיות.<br />
MPEG 1 – Audio –<br />
בשנת<br />
MPEG<br />
הוקמה ע"י מכון התקנים של<br />
ISO/IEC<br />
1988, בשנת<br />
על מנת לפתח תקנים לקידוד<br />
תמונות נעות, אות שמע והצירוף של השניים.<br />
MPEG-1 הוא השם עבור הפאזה הראשונה של ,MPEG שהחלה ב-1988 והסתיימה בשנת<br />
MPEG-1 Audio פותח הן עבור ערוץ יחיד<br />
של<br />
.1992<br />
(mono)<br />
,44.1 ,32 או .48kHz<br />
,3<br />
והן עבור ערוץ כפול ,(stereo) דגום בקצבים<br />
MPEG-1 Audio כולל שלושה אופני פעולה, הנקראים שכבות, הממוספרות משכבה 1 עד שכבה<br />
לפי עליה בסיבוכיות ובביצועים. שכבה<br />
3<br />
היא בעלת הסיבוכיות הגבוהה ביותר ואופטימלית<br />
לקבלת איכות גבוהה בקצבים נמוכים (באיזור 128kbps עבור אות סטריאו).<br />
MPEG-1 שכבה ,3<br />
הידוע בשמו<br />
,MP3<br />
נעשה מאוד נפוץ באינטרנט, והפך למונח המבוקש ביותר<br />
בעולם האינטרנט בשנת 1999. מידע מפורט על MPEG-1 ניתן למצוא ב- [4] [2].<br />
- 8 -
בשנת 1994 פותח MPEG-2 .MPEG-2 Audio ציין את הפאזה השנייה של .MPEG<br />
MPEG-2 כלל מספר הרחבות ל<br />
MPEG-1 שהן,<br />
התאמה לקידוד של ריבוי ערוצי שמע, כמו<br />
5.1<br />
ערוצי שמע (קדמי ימין, קדמי שמאל, מרכז, שני ערוצים אחוריים וערוץ אופציונלי להגברה<br />
תדרים נמוכים), הידוע בשימושו בקולנוע.<br />
הרחבה נוספת של MPEG-2 היא הקידוד בקצבי דגימה נמוכים יותר כמו<br />
כולל גם קצבי הדגימה המשמשים ב- .MPEG-1<br />
מאחר ש<br />
ב-<br />
22.05 ,16 או ,24kHz<br />
MPEG-2<br />
אמור לעבוד בתאימות לאחור גם מול<br />
שניהם מאוד דומים, דבר שגרם להגבלת הביצועים של .MPEG-2<br />
,MPEG-1<br />
1994<br />
אלגוריתמי הקידוד של<br />
היה ברור שויתור על רעיון התאימות לאחור וחיפוש אחר טכנולוגיות חדשות יביא<br />
לאיכות טובה יותר וירידה לקצבי קידוד נמוכים עוד יותר.<br />
כתוצאה מהמאמץ החדש, גירסה מתקדמת של MPEG-2 (AAC) יצאה לאור בשנת<br />
במקביל, תקן MPEG-4 התחיל להתפתח בשנת 1995 והסתיים בשנת<br />
הגירסה הראשונה של<br />
.1997<br />
.2000<br />
MPEG-4 Audio<br />
הסתיימה בסוף<br />
,1998<br />
וסיפקה את קבוצת המקודדים<br />
הראשונה, HVXC ו- ,CELP שהם מקודדי דיבור וכן מקודדי התמרה של שמע כללי<br />
General )<br />
,MPEG-4<br />
.TWIN-VQ ואת AAC הכוללים את ,(Audio<br />
,1999<br />
בגירסה שניה, שהסתיימה בסוף נוספו כלים חדשים ל ביניהם כלים לקידוד<br />
בקצבים נמוכים מאוד, כמו קידוד פרמטרי- .HILN<br />
בולט בפונקציות חדשות, יותר מאשר ביעילות<br />
בניגוד ל או<br />
MPEG-4 ,MPEG-2<br />
MPEG-1<br />
דחיסה משופרת.<br />
MPEG-4<br />
כולל משפחה של מקודדי שמע שנעים בקצבים החל מ-<br />
בקצבים נמוכים ועד לקידוד שמע באיכות גבוהה בקצבים של עד<br />
2kbps<br />
.64kbps<br />
עבור קידוד דיבור<br />
2.3 מקודד שמע בסיסי<br />
המשימה הראשונית של מערכת קידוד שמע היא לדחוס אות שמע ספרתי, בצורה ש-<br />
•<br />
•<br />
הדחיסה תהיה יעילה ככל הניתן, כלומר גודלו של קובץ דחוס יהיה מינימלי.<br />
אות השמע המשוחזר יהיה קרוב עד כמה שניתן לאות השמע המקורי, מבחינת מערכת<br />
השמיעה, לפני הדחיסה.<br />
דרישות אחרות מטכניקות לדחיסת שמע כוללות סיבוכיות נמוכה (על מנת לאפשר חומרה זולה<br />
ופשוטה עם צריכת הספק נמוכה) וגמישות לשימושים שונים.<br />
מקודדי שמע מודרנים בנויים מארבעה בלוקים בסיסיים, כמתואר באיור 2.1, התמרה או קבוצת<br />
מסננים, מודל תפיסתי, כימות וקידוד ליצירת רצף סיביות.<br />
הרעיון העומד מאחורי מקודדי שמע תפיסתיים מתואר מנקודת מבט של רעש הכימות. לאות<br />
כניסה ספרתי, ,PCM יש רעש כימות אחיד בכל תחומי התדר, כלומר אין הבחנה בין מידע חשוב<br />
- 9 -
יותר, מידע חשוב פחות, או מידע שהוא בכלל לא רלוונטי למערכת השמיעה. כל האות מכומת<br />
בצורה אחידה, למעשה, כל דגימה בזמן מכומתת לפי מספר הסיביות שהוקצו לה, בדרך כלל<br />
16<br />
סיביות. אין בידינו גם את היכולת להגדיר איזו דגימה בזמן היא חשובה או לא, כל הדגימות<br />
חשובות באותה המידה.<br />
לכן, מבצעים התמרה של אות השמע לתחום אחר, כמו תחום התדר, שבו ניתן יהיה לסווג מידע<br />
על פי סדר חשיבותו. לשם כך, משתמשים בהתמרה או בקבוצת מסננים<br />
את אות הכניסה למרכיבים ספקטרלים.<br />
bank) (filter שמפרידים<br />
המודל התפיסתי משתמש באות המקורי בתחום הזמן ובתפוקות של קבוצת המסננים על מנת<br />
להעריך את סף המיסוך מתוך המודל הפסיכואקוסטי. סף המיסוך מציין את רעש הכימות<br />
המירבי, בכל תדר ותדר, שלא ניתן להבחין בו ע"י האוזן האנושית, בנוכחות אות השמע.<br />
החלוקה לתחומי תדר/ זמן שונים מבוצעת גם במערכת השמיעה האנושית ובהינתן קבוצת<br />
תחומים, ניתן להבחין בין אלמנטים רלוונטים לאלמנטים לא רלוונטים.<br />
ב<br />
בעזרת תהליך הכימות מקטינים את מספר הסיביות הנדרשות לייצג את האות. המטרה היא<br />
שמירת רעש הכימות מתחת לסף המיסוך. מידע בעל חשיבות רבה, הנמצא הרבה מעל סף המיסוך<br />
יכומת ע"י מספר רב של סיביות. לעומתו, מידע הנמצא מתחת לסף המיסוך לא יקודד כלל, כיוון<br />
שאינו ניתן לאבחנה ע"י מערכת השמיעה האנושית. כלומר, השאיפה היא שכל המרכיבים<br />
הספקטרליים מכומתים ומקודדים בצורה שרעש הכימות ישאר מתחת לסף המיסוך.<br />
בתהליך הקידוד והכימות מצמצמים את מספר הסיביות גם באמצעות קידוד אנטרופיה.<br />
MPEG Audio<br />
משתמשים בקוד<br />
,Huffman<br />
הספקטרליים ומביא להורדת מספר הסיביות הממוצע.<br />
המשתמש בתכונות סטטיסטיות של המרכיבים<br />
Audio in<br />
Filterbank/<br />
Transform<br />
Quantization<br />
& Coding<br />
Encoding of<br />
bitstream<br />
Bitstream out<br />
Perceptual<br />
Model<br />
איור 2.1: סכימת מבנה בסיסי של מקודד תפיסתי.<br />
Figure 2.1: Block diagram of a perceptual encoder.<br />
Bitstream in<br />
Decoding of<br />
bitstream<br />
Inverse<br />
Quantization<br />
Inverse Filterbank/<br />
Transform<br />
Audio out<br />
איור 2.2: סכימת מבנה בסיסי של מפענח תפיסתי.<br />
- 10 -
Figure 2.2: Block diagram of a perceptual decoder.<br />
המפענח, המתואר באיור<br />
,2.2<br />
בנוי בצורה הפכית. המפענח מקבל כקלט את רצף הסיביות שנוצרו<br />
במקודד, מפרק את רצף הסיביות לסדרת מקדמים, מחשב את המקדמים הספקטרליים בעזרת<br />
פעולת כימות הפכית ומשחזר את אות השמע ע"י התמרה הפכית או שימוש בקבוצת מסננים.<br />
2.4 שיטת קידוד<br />
MP3<br />
,MPEG-1 שכבה<br />
(3- 3 ,(layer הידוע כ- ,MP3 הוא המקודד הנפוץ ביותר בעולם האינטרנט<br />
[2]<br />
.[5] [3]<br />
הסיבות להיותו שימושי כל כך הן:<br />
•<br />
•<br />
גמישות באופן הפעולה. כלומר, יכולת לעבוד במספר מצבים הכוללים: ערוץ יחיד, שני<br />
ערוצים נפרדים, שני ערוצי סטריאו- עם ובלי קידוד משותף.<br />
גמישות בקצבי הדגימה. תחום רחב של קצבי דגימה של אות הכניסה החל מ- 8KHz ועד<br />
.48KHz<br />
גמישות בקצב הדחיסה. ניתן לבחור קצבי סיביות לתפוקת המקודד החל מ-<br />
32kbps ועד<br />
.320kpbs<br />
•<br />
3 שכבה<br />
מספקת את יחס הדחיסה הגבוה ביותר, אבל במחיר של סיבוכיות גבוהה יותר של<br />
המקודד והמפענח. ניתן לראות תיאור מלבני של מבנה המקודד באיור<br />
קבוצת המסננים, מסווגת כקבוצת מסננים היברידיים<br />
בשכבה<br />
התמרת<br />
.2.3<br />
.[3]<br />
1 ושכבה<br />
תחילה ישנה קבוצת מסננים (כמו<br />
2) המחלקת את תחום התדר ל- 32 תחומי תדר שווים ברוחבם, ובנוסף, מבוצעת<br />
[44] MDCT (ייחודי לשכבה ,(3<br />
המחלקת כל תחום תדר ל- 18 תחומי תדר צרים עוד<br />
יותר. החלוקה לתחומי תדר קטנים מגדילה את היכולת להפחתת יתירות סטטיסטית ומביאה<br />
לשיפור ביעילות הקידוד. כמו כן, שיפור ברזולוצית התדר, מאפשרת שליטה יותר עדינה בסף<br />
המיסוך של המודל הפסיכואקוסטי.<br />
המודל התפיסתי מפיק את ערכי סף המיסוך או רמת סף הרעש בכל תחום תדר.<br />
במקודד MP3 תחומים אלו שקולים, בצורה גסה, לתחומי התדר של השמיעה האנושית.<br />
אם ניתן לשמור את רעש הכימות מתחת לסף המיסוך בכל תחום תדר, תוצאת הדחיסה צריכה<br />
להישמע זהה לאות המקורי.<br />
הכימות מבוצע בצורה לוגריתמית, בצורה זו ערכים גדולים מקודדים בפחות דיוק.<br />
הערכים המכומתים מקודדים ע"י קוד<br />
.Huffman<br />
הקידוד פועל על זוגות של ערכים ולפעמים על<br />
רביעיות. על מנת לקבל התאמה סטטיסטית טובה יותר משתמשים בטבלאות קוד שונות עבור<br />
חלקים שונים של הפקטרום. הטבלאות מסופקות גם למקודד וגם למפענח.<br />
- 11 -
התהליך למציאת ערך העוצמה וגורמי המכפלה האופטימליים נעשה ע"י שני מעגלי איטרציה<br />
בגישה של ניתוח וסינתזה synthesis) .(analysis by המטרה של מעגלי האיטרציה היא התכנסות<br />
אופטימלית עבור הקצאת הסיביות לכל פרמטר, עוצמה גלובלית<br />
תחום תדר) הם רק אמצעי באלגוריתם. תיאור המעגלים:<br />
(gain)<br />
וגורמי מכפלה (עבור כל<br />
מעגל איטרציה פנימי: קוד<br />
Huffman<br />
מקצה מילות קוד קצרות לערכים קטנים (יותר<br />
שכיחים). מצב בו מספר הסיביות, כתוצאה מהקידוד, עולה מעל הסיביות הפנויות עבור<br />
מקטע של מידע, ניתן לתיקון ע"י התאמת עוצמה גלובלית, שיגרום לצעד כימות גדול<br />
יותר ולכן לפחות ערכים מכומתים אפשריים. פעולה זו תחזור על עצמה עם צעדי כימות<br />
שונים עד אשר הדרישה לסיביות עבור קוד Huffman תהיה קטנה מספיק.<br />
•<br />
מעגל איטרציה חיצוני: על מנת לעצב את רעש הכימות בהתאם לסף המיסוך, משתמשים<br />
בגורמי מכפלה, אחד לכל תחום. המערכת מתחילה בערכים של אחד לכל תחום. אם רעש<br />
הכימות בתחום מסויים עולה מעבר לסף המיסוך (רעש מותר), מתאמים את גורם<br />
המכפלה על מנת להקטין את רעש הכימות.<br />
מאחר שהשגת רעש כימות קטן מחייבת הקטנת צעד הכימות, ולכן קצב סיביות גבוה<br />
יותר, יש צורך בהפעלת המעגל הפנימי בכל פעם שגורמי ההכפלה השתנו.<br />
המעגל החיצוני מופעל עד אשר רעש הכימות הינו מתחת לסף המיסוך בכל תחום תדר.<br />
•<br />
שני המעגלים פועלים יחדיו אבל כל מעגל גורם לתוצאה בכיוון ההפוך, המעגל הפנימי פועל לכיוון<br />
של הגדלת צעד הכימות והורדת קצב הסיביות והמעגל החיצוני פועל להקטנת צעד הכימות<br />
(בתחומים מסויימים) ולכן להעלאת קצב הסיביות.<br />
בהרצת שני המעגלים אמורים להגיע להתכנסות, אך לפעמים זה לא קורה. כאשר אין התכנסות<br />
יש למנוע לולאה אינסופית, ע"י עצירה בתנאים מסויימים.<br />
המידע המקודד ברצף הסיביות, לא חייב בהכרח להתאים למספר סיביות קבוע.<br />
קטעי אות בהן היה ניצול נמוך של סיביות, מאפשרים למסגרות אחרות לנצל את המרווח ולפיכך<br />
לשדר רצף סיביות ארוך יותר. המידע על השימוש ב"רזרבות" מועבר דרך מידע צד.<br />
Digital Audio<br />
Signal (PCM)<br />
Filterbank<br />
32 Subbands<br />
MDCT<br />
Distortion<br />
Control Loop<br />
Nonuniform<br />
Quantization<br />
Rate<br />
Control Loop<br />
Haffman<br />
Encoding<br />
Bitstream<br />
Formatting<br />
FFT<br />
1024 Points<br />
Psych-<br />
Acoustic<br />
Model<br />
Coding of<br />
Sideinformation<br />
External Control<br />
- 12 -
איור 2.3: סכימת מבנה של מקודד MPEG-1 שכבה<br />
.3<br />
Figure 2.3: Block diagram of an MPEG-1 Layer-3 encoder.<br />
2.5 קידוד TWIN-VQ<br />
MPEG-4 הוא אחד התקנים המבטיחים ביותר בתחום קידוד השמע עבור מגוון רחב של שימושי<br />
מולטימדיה<br />
.[9]<br />
התקן מוסיף הרבה פונקציות חדשות לעולם דחיסת המוסיקה, כמו שיפור ביחס<br />
הדחיסה, תמיכה במגוון רחב של קצבי סיביות וקצבי דגימה וכדומה.<br />
ב MPEG-4 יש מספר טכניקות קידוד וביניהם שיטת ההתמרה – קידוד זמן תדר.<br />
TWIN-VQ משתייך לטכניקה זו. TWIN VQ הוא קיצור של כימות וקטורי ממושקל ומשולב<br />
בתחום ההמרה<br />
.[8] [7] [6] (Transform-domain weighted interleaved vector quantization)<br />
TWIN-VQ מאפשר השגת יעילות קידוד גבוהה במחיר של הפסד מינימלי באיכות השמע, ביחס<br />
לאיכות השמע המתקבלת ממקודד<br />
.MP3<br />
הוא מתוכנן לעבוד בקצבים נמוכים מאוד של<br />
16kbps<br />
ואף קצבים נמוכים יותר. החיסרון של מקודד זה הוא הירידה באיכות השמע, כאשר הוא פועל<br />
בקצבים נמוכים מאוד.<br />
בשיטת הקידוד מבוצע מיפוי אות הכניסה מתחום הזמן לתחום התדר בעזרת התמרת<br />
מקדמי ה- MDCT עוברים נירמול (שיטוח) בתחום התדר וכימות וקטורי.<br />
שלוש טכניקות חדשות מיושמות ב- :TWIN-VQ<br />
.MDCT<br />
נירמול מקדמי MDCT באמצעות מקדמי .LPC<br />
נירמול מקדמי MDCT באמצעות מעטפת .Bark<br />
כימות וקטורי ממושקל ומשולב.<br />
•<br />
•<br />
•<br />
איור 2.4 מתאר סכימת מלבנים של המקודד.<br />
אות הכניסה למקודד נכנס לתוך שני מודולים. מודול של התמרת<br />
,MDCT<br />
הממיר את אות<br />
הכניסה מתחום הזמן לתחום התדר. מודול שני מחשב את מקדמי החיזוי הלינארי (LPC) של אות<br />
הכניסה, וממשיך עד לחישוב הספקטרום שנבנה ממקדמי ה- .LPC<br />
הספקטרום משמש לנירמול מקדמי ה- ,MDCT כלומר הספקטרום המיוצג ע"י MDCT מחולק<br />
בספקטרום המיוצג ע"י מקדמי LPC וזאת במטרה לצמצם את התחום הדינמי. מקדמי ה- LPC<br />
לא מועברים ישירות למפענח, אלא מותמרים למקדמי<br />
ניתן לכמת ביעילות ע"י כימות וקטורי.<br />
Pairs) (Line Spectral ,[8] שאותם<br />
LSP<br />
לאחר שלב ראשון של נירמול, מבוצע נירמול שני לפי סקלת [8]. Bark מקדמי הנירמול לפי סקלת<br />
Bark מכומתים אף הם בצורה וקטורית ונשלחים למפענח.<br />
- 13 -
לאחר שני שלבי הנירמול הנ"ל מבצעים נירמול נוסף המקטין את עוצמת המקדמים הספקטרליים<br />
לפי ממוצע האנרגיה. גם מקדם נירמול זה נשלח למפענח. המקדמים הספקטרליים נותרו עם<br />
תחום דינמי מצומצם, מצב שהוא מאוד מועיל לתהליך הכימות.<br />
במודול האחרון, כפי שניתן לראות באיור 2.5, מבוצע כימות וקטורי של המקדמים הספקטרלים<br />
המנורמלים. על מנת שלא לעבוד עם וקטורים ארוכים (דבר המקשה על מציאת המילון-<br />
,(codebook מחלקים את וקטור המקדמים למספר תתי וקטורים.<br />
תתי הוקטורים מורכבים בצורת שילוב<br />
,(interleave)<br />
על מנת ליצור אחידות במספר הסיביות<br />
הנדרש לכמת כל תת וקטור. ללא שילוב, תת הוקטור הראשון היה מכיל מקדמים, המייצגים את<br />
תחום התדר הנמוך, ולכן היה צורך במספר גדול של סיביות בכדי לכמת אותו (כיוון שהרזולוציה<br />
בתדרים הנמוכים חשובה יותר). בתהליך השילוב, כל תת וקטור מכיל מקדמים, המייצגים את כל<br />
תחום התדר.<br />
תתי הוקטורים עוברים גם מישקול לפי הספקטרום, שחושב מתוך מקדמי ה- .LPC<br />
הוקטורים עוברים תהליך של כימות, כלומר חיפוש וקטור מתאים במילון, בעל מרחק (שגיאה<br />
ריבועית) ממושקל מינימלי מן הוקטור האמיתי.<br />
רק האינדקסים המתאימים במילונים משודרים.<br />
- 14 -
Digital Audio Signal (PCM)<br />
LPC coefficients<br />
calculation<br />
MDCT<br />
LPC to LSP<br />
transform<br />
:<br />
Bark envelope<br />
calculation<br />
LSP VQ<br />
LPC spectrum<br />
Calculations<br />
Bark VQ<br />
LSP to LPC<br />
transform<br />
:<br />
Gain SQ<br />
Power<br />
normalization<br />
Interleave<br />
Weighted<br />
VQ<br />
Weighted<br />
VQ<br />
איור 2.4: סכימת מקודד .TWIN-VQ<br />
Figure 2.4: Block diagram of a TWIN-VQ encoder.<br />
Input signal vector<br />
interleave<br />
Perceptual<br />
weights<br />
Weighted<br />
VQ<br />
Weighted<br />
VQ<br />
Weighted<br />
VQ<br />
Weighted<br />
VQ<br />
index index index index<br />
איור 2.5: שיטת כימות .TWIN VQ<br />
Figure 2.5: TWIN VQ quantization scheme.<br />
- 15 -
2.6 מודל פרמטרי - HILN<br />
תקני<br />
MPEG-4 Audio<br />
מגדירים קידודי שמע ודיבור בקצבים נמוכים החל מ-<br />
2kbps<br />
64kbps<br />
ועד<br />
ומעלה. על מנת להשיג איכות שמע גבוהה עבור מגוון רחב של קצבי סיביות, הוגדרו<br />
שלושה סוגי מקודדים<br />
.[13] [12]<br />
•<br />
מקודד התמרה: מיועד עבור קצבי סיביות של<br />
16kbps<br />
ומעלה (התחום היותר גבוה).<br />
בקצבי סיביות אלו מקודדים אותות שמע ברוחב פס של 8KHz ומעלה. מקודדי התמרה<br />
מכוונים אל מגוון רחב של אותות שמע,לכן המקודד לא בנוי סביב מודל מסויים, אלא<br />
מתבסס על ההנחה שקטע אות קצר מספיק הוא סטציונרי, ולכן תכונותיו נשארות<br />
קבועות. המקודד מבצע התמרת האות לתחום התדר ומחלק אותו למספר רב של תחומי<br />
תדר. לכל תחום מקצים סיביות בהתאם למודל השמיעה האנושית. דוגמה לשיטת קידוד<br />
מסוג זה הוא ה- ,TWIN-VQ שהוצג בסעיף 2.5.<br />
מקודד<br />
קיצור של<br />
בקצבים של<br />
:CELP<br />
מיועד עבור קצבי סיביות בין<br />
6kbps ועד .24kbps<br />
CELP קידוד<br />
.Code Excited Linear Prediction<br />
16KHz ו- 8KHz<br />
הוא<br />
אותות הכניסה הן אותות דיבור דגומים<br />
מ. אחר שהמקודד מיועד לאותות דיבור הוא בנוי לפי מודל<br />
מערכת הקול האנושית. המקודד מפריד בין קטעי דיבור קוליים<br />
(voiced) הכוללים<br />
רכיבים מחזוריים, לבין קטעי דיבור א-קוליים (un-voiced) הכוללים רכיבים לא<br />
מחזוריים.<br />
מקודד פרמטרי: מיועד עבור קצבי סיביות בתחום הנמוך ביותר שבין<br />
2kbps<br />
.16kbps<br />
הדגום בקצב של<br />
ועד<br />
טכניקות הקידוד מותאמת למודל פרמטרי. אותות הכניסה הן בעיקר דיבור,<br />
.8KHz<br />
•<br />
•<br />
העניין בשיטת הקידוד הפרמטרי גדל במהלך השנים האחרונות, בשל היכולת לעבוד בקצבים<br />
מאוד נמוכים. השימושים הראשוניים התמקדו בעיקר בדיבור, אבל עם הזמן היתה הרחבה לכיוון<br />
של אותות שמע כלליים.<br />
המודל הפרמטרי נותן ביצועים טובים לאותות שמע לא מורכבים במיוחד, כמו אות מוסיקלי<br />
הכולל כלי יחיד או מספר מצומצם של כלים. שיטות הקידוד האחרות נותנות ביצועים נמוכים<br />
יחסית עבור סוג כזה של אות שמע.<br />
ישנם מספר קשיים בגישה הפרמטרית, במיוחד עבור קידוד אותות שמע מורכבים מאוד, בהם<br />
המודל מניב ביצועים פחות טובים<br />
.[13]<br />
המודל הפרמטרי, שהוצע במסגרת ,MPEG-4 Audio<br />
נקרא בשם Harmonic Individual ) HILN<br />
.(Lines and Noise<br />
- 16 -
שיטת הקידוד (חלק מהסטנדרט של<br />
נמוכים מאוד.<br />
MPEG-4<br />
2) גירסה<br />
השיטה מבוססת על חלוקת האות למסגרות (אורך טיפוסי<br />
מיועדת לדחיסת אותות שמע בקצבים<br />
(32ms<br />
והפרדת המסגרת למספר<br />
מרכיבים (אובייקטים). לכל מרכיב תכונות שונות, הניתנות לתיאור ע"י מספר מודלים.<br />
כל מודל מכיל מספר מצומצם של פרמטרים, שאותם נדרש לקודד.<br />
בגירסה מוקדמת של HILN היה רק מרכיב אחד שתמך בסינוסים בדידים בלבד<br />
מתואר ע"י תדר אמפליטודה ופאזה. גישה זו הורחבה למספר מודלים.<br />
ב- HILN המודלים הם הרמוניות, סינוסים בדידים ורעש.<br />
.[16]<br />
כל סינוס<br />
סינוסים בדידים מיוצגים ע"י תדר ואמפליטודה.<br />
הרמוניות מיוצגות ע"י תדר יסודי<br />
(pitch)<br />
והאמפליטודות של ההרמוניות<br />
משתמשים במעטפת הספקטרלית על מנת לחסוך במספר הפרמטרים).<br />
רעש מיוצג ע"י מעטפת ספקטרלית ואמפליטודה.<br />
(למעשה,<br />
•<br />
•<br />
•<br />
מודלים אלו משולבים עם המודל של השמיעה האנושית [13], בכדי להוריד את מרכיבי האות שלא<br />
נשמעים כמעט או כלל ע"י האוזן.<br />
בגלל הדרישה לקצב סיביות נמוך, ניתן לשדר רק פרמטרים עבור מספר נמוך של מרכיבים.<br />
תפקידו של מודל השמיעה האנושית הוא לסייע בבחירת מרכיבי האות החשובים לאיכות השמע.<br />
סכימת מלבנים של מקודד HILN מתוארת באיור<br />
.2.6<br />
המקודד מבצע בשלב הראשון תהליך ניתוח ע"י סינתזה, על מנת למצוא את כל הסינוסים<br />
הבדידים. הסינוסים הבדידים מחושבים בצורה איטרטיבית, כאשר בכל איטרציה מחושב אות<br />
הסינוס הרלוונטי ביותר. החשיבות של הסינוסים נמדדת על פי המודל הפסיכואקוסטי, הבנוי<br />
עפ"י תכונות האוזן האנושית.<br />
כל סינוס מיוצג באמצעות שלושה פרמטרים: אמפלטודה, תדר ופאזה.<br />
רגישות האוזן לפאזה נמוכה מאוד, ולכן ניתן להוריד פרמטר אחד בתהליך הקידוד של כל סינוס.<br />
מכיוון שסינוס המתמשך על פני מספר מסגרות חייב להיות בעל פאזה רציפה, אחרת האוזן תבחין<br />
בעיוותים, יש להבטיח ביצוע מעבר חלק בין מסגרות למרות הורדת מידע על הפאזות.<br />
בשלב שני, משפרים את יעילות הקידוד ע"י הורדת מספר הפרמטרים שצריך לקודדם. התהליך<br />
מתבצע ע"י חיפוש גורם משותף לחלק (או למרבית) מהסינוסים.<br />
מחפשים הרמוניות מתוך כל הסינוסים, כלומר סינוסים בתדרים שהם כפולות של תדר יסודי<br />
.(pitch) שידור התדר היסודי חוסך את שידורם של כל קבוצת התדרים המשוייכים לתדר זה.<br />
שארית האות (לאחר הורדת כל המרכיבים הסינוסואידלים) היא מרכיב הרעש.<br />
מרכיב הרעש מיוצג ע"י מעטפת ספקטרלית ועוצמה.<br />
כל פרמטרי האות מכומתים ומייצרים סדרת סיביות, המסודרת לפי סדר חשיבותם. כאשר<br />
הסיביות הראשונות הן החשובות יותר (בעלי משמעות גדולה יותר לאוזן) ועליהן נצטרך להגן יותר<br />
מפני שגיאות.<br />
- 17 -
Perception<br />
Model<br />
Parameter<br />
Coding<br />
Audio<br />
Signal<br />
Individual<br />
Sinusoid<br />
Extraction<br />
Parameters<br />
Residual<br />
Signal<br />
Grouping to<br />
Harmonic<br />
Components<br />
Noise<br />
Parameter<br />
Estimation<br />
Harmonic<br />
Components<br />
Sinusoidal<br />
Components<br />
Noise<br />
Components<br />
Quant<br />
Quant<br />
Quant<br />
Mux<br />
Bit-<br />
Stream<br />
איור 2.6: סכימת מלבנים של מקודד .HILN<br />
Figure 2.6: Block diagram of HILN encoder.<br />
2.7 סיכום<br />
בפרק זה הוצגה הפעילות שדווחה בספרות בתחום קידוד שמע בקצבים נמוכים.<br />
הסקירה ההיסטורית של ההתפתחות קידוד השמע מראה התקדמות אדירה בתחום במהלך<br />
העשרים שנה האחרונות.<br />
בפרק הוצגו מספר מקודדים הכוללים מקודד בסיסי, מקודד<br />
והמקודד הפרמטרי- .HILN<br />
,MP3<br />
מקודד ,TWIN-VQ מקודד<br />
מהתפתחות הקידוד ניתן ללמוד, שעם השנים הומצאו טכנולגיות קידוד מתקדמות, שהצליחו<br />
להתגבר על מגבלות של טכנולוגיות קידוד ישנות יותר. היכולת להוריד את קצב הסיביות היא<br />
הצלחה גדולה. כיום, העברת שמע רחב סרט בתווך מוגבל סרט, נראה כדבר מובן מאליו.<br />
הבעיה העיקרית, שעדיין נותרה היא הפגיעה באיכות השמע בקצבים הנמוכים. המודל הפרמטרי<br />
המקודד שמע בקצבים הנמוכים ביותר, אינו מפיק שמע באיכות מספיק גבוהה.<br />
האתגר של עבודת מחקר זו הוא לנסות ולשפר את המודל על מנת שנוכל להנות משמיעת מוסיקה<br />
דחוסה בקצבים נמוכים<br />
.(16kbps )<br />
בהשוואה לשיטות אחרות כמו Twin-VQ או ,AAC אות כניסה לא מורכב, הכולל מספר קטן של<br />
מרכיבים, הוא הרבה יותר יעיל לייצוג בעזרת מודל פרמטרי, כמו<br />
.HILN<br />
מצד שני, הקידוד<br />
הפרמטרי פחות יעיל כאשר האות הוא מאוד מורכב או כשהוא כולל מרכיבים שלא ניתן לייצגן<br />
באמצעות המודלים שהונחו<br />
.[11]<br />
- 18 -
פרק 3<br />
המודל הפסיכואקוסטי<br />
3.1 הקדמה<br />
אחת המטרות המרכזיות של מקודד שמע הוא קידוד האות תוך שימוש במספר מינימלי של<br />
סיביות. על מנת לבצע קידוד יעיל, יש צורך בלימוד מערכת השמיעה האנושית על מנת להשתמש<br />
בתכונותיה ולנצל מגבלותיה בטכניקת הדחיסה. מערכת השמע האנושית מתוארת בסעיפים<br />
3.2<br />
ו- 3.3.<br />
האפשרות של הורדת קצב הסיביות נובעת מהעובדה שבאות השמע ישנם חלקים שאינם<br />
רלוונטיים לשמיעה. בכדי למצוא ולהרחיק חלקים אלו משתמשים במודל השמיעה האנושית.<br />
מקודד טיפוסי ממיר את אות השמע לתחום התדר, תהליך שקורה גם באוזן האנושית. לאחר<br />
התמרת האות מחושב סף מיסוך, בהתאם למודל הפסיכואקוסטי. בסעיף<br />
3.4<br />
מתואר תהליך<br />
חישוב סף המיסוך הפסיכואקוסטי, שבאמצעותו ניתן להרחיק חלקים לא רלוונטים של האות,<br />
שאינם נשמעים ממילא לאוזן האנושית.<br />
3.2 מערכת השמע האנושית<br />
מערכת השמע<br />
לתאי העצב,<br />
קולטת קולות ומעבדת אותם. הקול עובר דרך מערכת השמע עד אשר הוא מגיע<br />
המקודדים את הגירוי,<br />
מעובדות ומועברות למוח [19].<br />
מבנה האוזן מוצג באיור<br />
התפקידים המיועדים לו<br />
.3.1<br />
.[21]<br />
•<br />
•<br />
•<br />
הנוצר ע"י הקול,<br />
לרמות<br />
מתח אלקטרוני.<br />
האוזן האנושית מחולקת לשלושה חלקים נפרדים,<br />
האוזן החיצונית: מורכבת מן האוזן הנראית לעין, מצינור השמע ומקרום התוף.<br />
האוזן התיכונה: מכילה שלושה עצמות זעירות, הפטיש, הסדן והארכובה.<br />
האוזן הפנימית: הכוללת את השבלול והתעלות הקשתיות.<br />
רמות המתח<br />
ולכל חלק<br />
חלק האוזן החיצונית, הנראה לעין, נקרא אפרכסת. האפרכסת עשויה ברובה מחומר צמיג הנקרא<br />
סחוס. צורתה מותאמת לקליטת קולות והכוונתם לתוך צינור השמע, שאורכו<br />
המתאים לרבע אורך גל של תדרים באיזור ה<br />
זה.<br />
2.5 עד 2<br />
,4KHz<br />
ס"מ,<br />
דבר הגורם לרגישות גבוהה לתדרים באיזור<br />
בקצה צינור השמע מתוח קרום דק, הנקרא קרום התוף. גלי הקול, הנכנסים מן האפרכסת לצינור<br />
השמע, מכים בקרום התוף. אנרגיית גלי הקול מועברת לקרום התוף ומרעידה אותו בחוזקה. זהו<br />
השלב הראשון בתהליך השמיעה.<br />
- 19 -
במרכז קרום התוף, מחובר קצה של אחת העצמות הזעירות הנמצאות באוזן התיכונה, הנקראת<br />
פטיש.<br />
האוזן התיכונה פועלת כמגבר מכאני פשוט, המגביר את תנודות קרום התוף ומעבירה אותן לאוזן<br />
הפנימית, שם נמצאים איברי החישה. התנודות עוברות לאורך שלוש עצמות קטנטנות. העצם<br />
הראשונה היא, כאמור הפטיש, מחוברת לקרום התוף ונעה כאשר הוא רועד. כשהפטיש נע הוא<br />
פוגע בסדן, התלוי על סיבים דקים ולכן הוא מסוגל לנוע חופשי בחלל האוזן התיכונה. הסדן תלוי<br />
וחובר כך, שהוא קולט את התנועות הקלילות של הפטיש בצד אחד, ומגביר אותן פי אחד וחצי<br />
בקצהו האחר.<br />
הסדן מתחבר לעצם הקטנה ביותר בין שלוש העצמות: הארכובה. עצם זו מחוברת לקרום אחר,<br />
הנפתח אל האוזן הפנימית ונקרא האשנב הסגלגל<br />
.(oval window)<br />
איור 3.1: מבנה האוזן<br />
.[21]<br />
האוזן החיצונית ear) (Outer<br />
צינור השמע canal) (external auditory<br />
(hearing bones-hammer, anvil and stirrup)<br />
תעלות קשתיות canals) (semicircular<br />
.1<br />
.2<br />
.3<br />
.4<br />
.5<br />
.6<br />
.7<br />
.8<br />
עצמות השמע- פטיש, סדן וארכובה<br />
שבלול האוזן-בתוכו נמצאת הממברנה (cochlea)<br />
עצב השמע<br />
קרום התוף (eardrum)<br />
חצוצרת אויסטכיוס<br />
Figure3.1: The ear structure [21].<br />
(hearing nerves)<br />
(Eustachian tube)<br />
החלק המסובך ביותר הוא האוזן הפנימית, הכוללת את איברי השמיעה.<br />
האוזן הפנימית היא מבנה עדין וחלול, העשוי מרקמה דקה מאוד והיא ממוקמת בחלל בעצם<br />
הגולגולת. באוזן הפנימית נהפכות תנודות קרום התוף ועצמות האוזן התיכונה לסוג אחר של<br />
אנרגיה, לאנרגיה היכולה לעבור דרך העצבים אל המוח.<br />
החלק המופקד על השמיעה נקרא שבלול<br />
הצינור רחב בבסיס והולך ונעשה צר.<br />
,(cochlea)<br />
והוא צינור לולייני בעל כשלושה פיתולים.<br />
- 20 -
השבלול מחולק לאורכו לשלושה ערוצים, הצמודים זה לזה לכל אורכם, כמתואר באיור<br />
.3.2<br />
,(oval window)<br />
נפתח אל הצינור העליון. הצינור התחתון נפתח גם הוא אל<br />
האשנב הסגלגל<br />
האוזן התיכונה, בפתח הרבה יותר קטן ומכוסה בקרום, הנקרא האשנב העגול<br />
.(round window)<br />
שני הצינורות, הצינור העליון והצינור התחתון, מלאים בנוזל דליל הנקרא פרילימפה<br />
.(perilymph)<br />
הצינור האמצעי שהוא קטן הרבה יותר, נקרא תעלת השבלול. גם הוא מלא בנוזל, אבל זה נוזל<br />
אחר הנקרא אנדולימפה .(endolymph) תעלת השבלול מכילה תאים מיוחדים, הקולטים תנודות<br />
קול והופכים אותם לאותות עיצביים, העוברים למוח.<br />
בתוך השבלול ישנו חומר דק מאוד, הנקרא הקרום המכסה<br />
אורך הקרום הוא 32mm והוא קיים לאורך כל השבלול.<br />
.(basilar membrane)<br />
מתחת לקרום המכסה נמצא מספר רב של תאי חישה, וכל תא מצויד בריס, הנוגע בקרום. מכל<br />
תא חישה יוצא עצב דקיק, המעביר את הגירוי העצבי.<br />
איור 3.2: מבנה השבלול.<br />
Figure 3.2: Cochlea structure.<br />
.3.3<br />
הקול עובר בנוזל שבאוזן הפנימית בצורת תנודות, שנוצרו ע"י עצם הארכובה. הוא נכנס לשבלול<br />
דרך האשנב הסגלגל. גלי הקול עוברים בצינור העליון אל עבר קצהו הרחוק והמחודד. הם<br />
מרעידים את הדפנות הדקות, המפרידות בין שלושת צינורות השבלול: תחילה עוברים הגלים<br />
בדופן הצינור האמצעי ואחר כך בדופן הצינור התחתון.<br />
כשגלי הקול עוברים בדופן הצינור האמצעי, הם מניעים את הקרום המכסה.<br />
ככל שהנוזל נע קדימה לאורך הקרום, הוא בא במגע עם התאים המפעילים את הגירוי העצבי.<br />
תנודות הנוזל הנגרמות ע"י קול עוברות על פני הקרום כגלים, ותדרים שונים גורמים לתנודות<br />
באיזורים שונים על פני הממברנה.<br />
התדרים הגבוהים ממוקמים בתחילת הקרום (קרוב ל (oval window ותדרים נמוכים מגיעים עד<br />
לקצה הקרום, כפי שמתואר באיור<br />
הגלים, שנעים לאורך הממברנה, מאבדים את התדרים הגבוהים ככל שהם מתקדמים. מעבר<br />
לאורך הממברנה (מבחינת מרחק) בצורה לינארית שקול למעבר לוגריתמי בתדר. תכונה זו היא<br />
הבסיס לתחומים הקריטים bands) (critical המגדירים איזורים קבועים לאורך הממברנה.<br />
- 21 -
2000<br />
400<br />
3000<br />
500 300<br />
100<br />
200<br />
600<br />
1000<br />
4000<br />
700<br />
800<br />
900<br />
10000<br />
5000<br />
6000 7000 8000<br />
15000<br />
20000<br />
3.3: איור<br />
פריסת תדרים לאורך השבלול.<br />
Figure 3.3: Frequencies spreading over the cochlea.<br />
3.3 תחומים קריטיים<br />
ההתמרה מתדר למקום מתבצעת באיבר השמע, השבלול, בתוך האוזן הפנימית.<br />
ההתמרה משפיעה על רגישות התדר של האוזן האנושית<br />
.[19]<br />
המונח רגישות תדר מגדיר את היכולת של מערכת השמיעה האנושית להפריד בין מרכיבי התדר.<br />
הרעיון של תחומים קריטיים מוצג על מנת להגדיר את תחומי התדר, בהם שינויי אנרגיה<br />
משפיעים בצורה משמעותית על השמע. האוזן האנושית מסוגלת לקשר בין אנרגית קול לבין תחום<br />
קריטי.<br />
ניתן לדמות את איבר השמע, כקבוצה של מסננים מעבירי פס<br />
,(band pass filters)<br />
כאשר רוחב הפס של כל מסנן מתאים לרוחב של כל תחום קריטי.<br />
מספר התחום הקריטי הוא מדד למיקום על פני הקרום והוא נמדד ביחידות .Bark<br />
תחום קריטי, המתאים ליחידת<br />
,<br />
Bark<br />
תאים שעירים. ניסויים הראו שקיימים<br />
מייצג אורך של 1.3mm לאורך הקרום המכסה ו-<br />
150<br />
25<br />
תחומים קריטיים לאורך תחום התדר של השמיעה<br />
האנושית שנע בין 20Hz ועד .20KHz רוחבי התחומים הקריטים מוצגים בטבלה<br />
.3.1<br />
ההתמרה מתדר לתחום קריטי (ביחידות של (Bark מופיעה בנוסחה 3.1 ומוצגת גרפית באיור<br />
.3.4<br />
Z(<br />
f ) = 13arctan(0.00076 f ) + 3.5arctan[ ⎜<br />
⎛ f<br />
⎝<br />
7500<br />
⎟<br />
⎞<br />
⎠<br />
2<br />
]<br />
(3.1)<br />
כאשר Z הוא תחום התדר החדש (לפי המודל השמיעתי) ביחידות של .Bark<br />
.Hz מייצג את התדר האמיתי ביחידות של f<br />
- 22 -
Bark<br />
Frequency [KHz]<br />
איור 3.4:<br />
גרף התמרה מיחידות תדר ליחידות .Bark<br />
Figure 3.4: Conversion from frequency to Bark scale.<br />
ניתן להגדיר גם את רוחב הסרט (ביחידות הרץ) של כל תחום קריטי ע"י הנוסחה:<br />
BW ( f ) = 25 + 75⋅[1<br />
+ 1.4( f<br />
1000)<br />
2 ] 0.69<br />
(3.2)<br />
[Hz]<br />
Frequency band<br />
100 - 0<br />
200 - 100<br />
300 - 200<br />
400 - 300<br />
510 - 400<br />
630 - 510<br />
770 – 630<br />
920 - 770<br />
1080 - 920<br />
1270 – 1080<br />
1480 – 1270<br />
1720 – 1480<br />
2000 – 1720<br />
2320 – 2000<br />
2700 – 2320<br />
3150 – 2700<br />
3700 – 3150<br />
4400 – 3700<br />
5300 – 4400<br />
6400 – 5300<br />
7700 – 6400<br />
9500 – 7700<br />
12000 - 9500<br />
15500 - 12000<br />
20000 - 15500<br />
מספר<br />
תחומי תדר<br />
רוחב התחום הקיטי ב- [Hz]<br />
Critical band bandwidth<br />
100<br />
100<br />
100<br />
100<br />
110<br />
120<br />
140<br />
150<br />
160<br />
190<br />
210<br />
240<br />
280<br />
320<br />
380<br />
450<br />
550<br />
700<br />
900<br />
1100<br />
1300<br />
1800<br />
2500<br />
3500<br />
4500<br />
Bark index<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12<br />
13<br />
14<br />
15<br />
16<br />
17<br />
18<br />
19<br />
20<br />
21<br />
22<br />
23<br />
24<br />
25<br />
טבלה 3.1: רוחב הסרט של התחומים הקריטיים.<br />
Table 3.1: Critical bands bandwidth.<br />
- 23 -
3.4 מיסוך השמע<br />
המיסוך הוא אלמנט בסיסי במערכת קידוד השמע. מיסוך מוגדר כשינויים ברגישות לאותות קול<br />
שונים בנוכחות קול אחר. מיסוך שמע הוא תהליך שבו אות שמע חזק מונע את יכולת השמיעה של<br />
אות חלש אחר. יש צורך בהעלאת עוצמת האות החלש בכדי שיוכל להישמע ע"י מאזין אנושי.<br />
סף המיסוך מותאם לסף השמיעה המוגבר, כתוצאה מנוכחותו של אות ממסך חזק<br />
.[21] [19]<br />
מגוון רחב של מקרי מיסוך נוצרים בחיי היום יום. למשל, מוסיקה של רדיו ברכב יכולה למסך את<br />
הקול של מנוע הרכב, בהנחה שהמוסיקה היא בעוצמה מספיק חזקה. בצורה דומה, דובר חייב<br />
להרים את קולו בנוכחות רעש רקע חזק על מנת שיוכל להישמע.<br />
מיסוך קורה הן בתחום התדר והן בתחום הזמן, וההשפעה של האות הממסך תלויה במבנה האות,<br />
בתדר בועוצמת הממסך והממוסך. המיסוך משפיע בצורה משמעותית בתוך התחום הקריטי בו<br />
נמצא האות הממסך, אך ישנה גם השפעה מסויימת לתחומים קריטיים אחרים.<br />
מגדירים שני סוגים טיפוסיים של ממסכים: ממסך טונלי וממסך רעש.<br />
ממסך טונלי נוצר ע"י טון יחיד. האיזור הקרוב לתדר הטון, במיוחד בתחום הקריטי של הטון,<br />
ממוסך בצורה שתדרים אחרים הנמצאים באיזור זה לא ישמעו, בהנחה שעוצמתם נמוכה מספיק.<br />
ממסך רעש נוצר ע"י קיום רעש בתחום הקריטי. ממסך זה מונע שמיעת תדרים אחרים קרובים.<br />
בכל המקרים בהם מעורבים אותות רעש, רוחב הסרט שלהם מתאים לרוחב הסרט של התחום<br />
הקריטי, בו נמצא הרעש.<br />
ניסויים הראו שישנם הבדלים בין ממסך שהוא טון לבין ממסך שהוא רעש. ממסך רעש הוא יותר<br />
משמעותי [21].<br />
3.4.1 סף השמיעה המוחלט<br />
אוזנו של האדם אינה רק רגישה מאוד, היא גם מסוגלת לגלות הבדלים מזעריים בין הצלילים<br />
השונים שהיא שומעת<br />
.[20]<br />
הצלילים הגבוהים ביותר הם בתדר<br />
20KHz<br />
והם נשמעים כשריקה חדה. לעומתם, הצלילים<br />
הנמוכים ביותר הם בתדר ,10Hz ואז אנו חשים את האות כהמייה עמוקה.<br />
האוזן רגישה לכל תדר במידה אחרת. הסף המוחלט מגדיר את רגישות אוזן כפונקציה של התדר.<br />
סף השמיעה המוחלט, הנקרא גם הסף בשקט, מוגדר כעוצמת הקול שניתן לשמעו, כאשר אין<br />
ברקע אותות אחרים, כלומר רקע שקט באופן מוחלט.<br />
עוצמת הקול נמדדת ע"י SPL<br />
.dB ביחידות (Sound Pressure Level)<br />
ניתן לתאר את הסף המוחלט בעזרת משוואה 3.3 או בצורה גרפית באיור<br />
.[20] 3.5<br />
T ( f ) = 3.64 ⋅ ( f<br />
q<br />
/1000)<br />
−0.8<br />
− 6.5 ⋅ e<br />
2<br />
−0.6(<br />
f /1000−3.3)<br />
+ 10<br />
−3<br />
⋅ ( f<br />
/1000)<br />
4<br />
(3.3)<br />
כאשר f מתאר את התדר ביחידות של Hz ו- T q מסמל את הסף המוחלט ביחידות של .dB<br />
- 24 -
ניתן לראות מהגרף (איור<br />
,(3.5<br />
שהאוזן האנושית רגישה מאוד לתדרים באיזור ה<br />
3KHz<br />
,4KHz<br />
(מעל<br />
ופחות רגישה לתדרים נמוכים מאוד (פחות מ-<br />
(20Hz<br />
.(15KHz<br />
טבלה 3.2 מציגה מספר ערכים אופיינים של עוצמות קול<br />
עד<br />
וגם עבור תדרים גבוהים מאוד<br />
.dB ביחידות של (SPL)<br />
דוגמה טיפוסית<br />
עוצמה<br />
Sound level SPL dB<br />
120<br />
100<br />
70<br />
50<br />
30<br />
20<br />
6<br />
0<br />
Typical example<br />
קונצרט רוק רועש<br />
צעקה בטווח קרוב<br />
שיחה נורמלית<br />
שיחה שקטה<br />
לחישה שקטה<br />
איזור כפרי בלילה<br />
הסף המוחלט ב-<br />
רמת התייחסות<br />
1KHz<br />
טבלה 3.2: דוגמאות לעוצמות קול.<br />
Table 3.2: Examples of sound pressure level.<br />
180<br />
160<br />
140<br />
120<br />
100<br />
SPL[dB]<br />
80<br />
60<br />
40<br />
20<br />
0<br />
-20<br />
10 2 10 3 10 4<br />
frequency[Hz]<br />
איור 3.5: סף השמיעה המוחלט<br />
Figure 3.5: The absolute hearing threshold.<br />
- 25 -
3.4.2 מודל לחישוב סף המיסוך<br />
בתקני MPEG<br />
לקידוד שמע משתמשים ב-<br />
32 מסננים<br />
banks) (filter המפרידים את האות ל-<br />
32<br />
פסים שווים בגודלם במישור התדר [5]. כל תחום משודר באמצעות מספר סיביות שונה, בהתאם<br />
למודל הפסיכואקוסטי.<br />
חלוקת תחום התדר בצורה שווה היא בעייתית כיוון שהייצוג שונה לגמרי מהתחומים הקריטיים,<br />
שהיא החלוקה האמיתית של האוזן.<br />
רוחב הסרט של התחום הקריטי גדל עם עליית התדר המרכזי בתחום, לכן צריך לבחור קבוצת<br />
מסננים<br />
(filter banks)<br />
בעלי רוחב סרט השקול לרוחב הקטן ביותר של התחומים הקריטיים (סדר<br />
גודל של ,(100Hz ואז הרזולוציה תהיה מספיק טובה.<br />
המודל הפסיכואקוסטי מבוסס על חישוב יחס אות למיסוך (SMR) בכל אחד מ- 32 התחומים.<br />
המודל מחשב את עוצמת הספקטרום של האות ע"י .FFT (תיאור מפורט בהמשך הפרק).<br />
מחפשים בספקטרום מרכיבים טונליים ומרכיבי רעש. מחשבים את סף המיסוך של כל מרכיב<br />
לבדו. ובסוף מחברים לינארית את כל הספים ביחד עם סף המיסוך המוחלט לקבלת סף מיסוך<br />
גלובלי. מרכיבי מיסוך בתדר מסויים מוזנחים אם רמתם מתחת לרמת סף המיסוך המוחלט<br />
(בשקט).<br />
המודל מורכב מחמישה שלבים<br />
:[21]<br />
.1<br />
ניתוח ספקטרלי והמרה ל .SPL<br />
המטרה של שלב זה היא ייצוג מרכיבים ספקטרליים ע"י רמות .SPL<br />
תחילה, מנרמלים את דגימות הכניסה,<br />
,s(n)<br />
באורך N (של<br />
,FFT<br />
ובמספר הסיביות המשתמשים לייצור הדגימה. הנירמול מתואר ע"י:<br />
ערך טיפוסי הוא<br />
512 דגמים)<br />
s(<br />
n)<br />
x( n)<br />
=<br />
b−1<br />
N ⋅ (2 )<br />
(3.4)<br />
הנירמול מביא לעוצמת ספקטרום מקסימלית של 0. dB<br />
האות המנורמל מחולק לקטעים ע"י הכפלה בחלון Hann (מסומן ע"י<br />
ומבוצעת המרה לתדר, לפי המשוואה:<br />
(w(n)<br />
P(<br />
k)<br />
= PN + 10 log<br />
N −1<br />
10 ∑ w(<br />
n)<br />
x(<br />
n)<br />
n=<br />
0<br />
e<br />
2<br />
− j(2πkn<br />
/ N )<br />
N<br />
0 ≤ k ≤<br />
(3.5)<br />
2<br />
כאשר PN נקבע ל- .90.302dB<br />
דוגמה לאות שמע, שעבר את התהליך ומיוצג ברמות ,SPL מופיע באיור<br />
.3.6<br />
- 26 -
100<br />
80<br />
60<br />
SPL [dB]<br />
40<br />
20<br />
0<br />
-20<br />
-40<br />
0 1000 2000 3000 4000 5000 6000 7000 8000<br />
frequency[Hz]<br />
איור 3.6: ספקטרום של אות שמע בייצוג .SPL<br />
Figure 3.6: The spectrum of an audio signal in SPL.<br />
.2<br />
זיהוי ממסך טונלי וממסך רעש.<br />
לאחר שבשלב הראשון נמצאה העוצמה בתחום התדר, מחפשים על פני הערכים מקסימה<br />
לוקליים. נקודת המקסימום מוגדרת כמרכיב טונלי רק כאשר ערכה גדול בלפחות 7dB משכנותיה<br />
במרחק בסדר גודל של .Bark המרכיב הטונלי מהווה ממסך שעוצמתו מחושבת לפי:<br />
P<br />
TM<br />
∑<br />
( i ) = 10 log 10<br />
10<br />
1<br />
j=−1<br />
0.1P(<br />
k+<br />
j)<br />
(3.6)<br />
כלומר לכל מקסימום אוספים אנרגיה גם משני השכנים לקבלת עוצמת הממסך.<br />
במשוואה<br />
P TM<br />
,3.6<br />
מציין את עוצמת הממסך ביחידות<br />
מציין את מיקום הממסך בתחום התדר.<br />
דוגמה לממסכים טונלים, ניתן לראות באיור<br />
ביחידות של<br />
i ,dB<br />
מציין את אינדקס הממסך ו-<br />
k<br />
.3.7<br />
,SPL dB<br />
מסומנים בעיגולים.<br />
באיור ניתן לראות חמישה ממסכים טונליים.<br />
בגרף מופיעה (בקו מלא) ספקטרום האות<br />
הסף המוחלט משורטט בקו מקווקו, והמרכיבים הטונליים (ממסכים)<br />
- 27 -
100<br />
80<br />
60<br />
SPL [dB]<br />
40<br />
20<br />
0<br />
-20<br />
-40<br />
0 1000 2000 3000 4000 5000 6000 7000 8000<br />
frequency[Hz]<br />
איור 3.7: ממסכים טונלים<br />
Figure 3.7: Tonal maskers<br />
∑<br />
(3.7)<br />
ממסך מסוג רעש נוצר כאשר לא נמצא בתחום קריטי מסויים מרכיב טונלי, או כאשר נמצא<br />
מרכיב טונלי והתחום הקריטי הוא מספיק גדול על מנת להכיל רכיבים נוספים שהם לא טונליים.<br />
חישוב עוצמת הממסך נתון לפי:<br />
P NM<br />
( i)<br />
= 10 log 10<br />
10<br />
j<br />
0.1P(<br />
j)<br />
כאשר j הם כל אותם מרכיבים בתחום הקריטי אשר לא שמשו לחישוב הטונליות.<br />
P NM מציין את עוצמת הממסך ביחידות i .dB מציין את מיקום הממסך בתחום התדר.<br />
המיקום של ממסך רעש נקבע בעזרת הממוצע הגאומטרי (מרכז הכובד) של הקווים הספקטרלים<br />
בתוך התחום הקריטי.<br />
הרעיון העומד מאחורי משוואה<br />
3.7<br />
הוא ששארית האנרגיה הספקטרלית בתוך תחום קריטי,<br />
שאינה קשורה עם ממסך טונלי, חייבת להיות משוייכת לממסך רעש.<br />
דוגמה לממסכי רעש, ניתן לראות באיור<br />
.3.8<br />
- 28 -
100<br />
80<br />
60<br />
SPL [dB]<br />
40<br />
20<br />
0<br />
-20<br />
0 1000 2000 3000 4000 5000 6000 7000 8000<br />
frequency[Hz]<br />
איור 3.8: ממסכי רעש.<br />
Figure 3.8: Noise maskers.<br />
בגרף מופיע ספקטרום האות (משורטט בקו מלא)<br />
ביחידות של ,SPL dB<br />
בקו מקווקו, וממסכי הרעש מסומנים בעיגולים. באיור 3.8 ניתן להבחין ב-<br />
המיקרים, תחום קריטי מכיל מממסך רעש אחד.<br />
הסף המוחלט משורטט<br />
21 ממסכים.<br />
במרבית<br />
3. צמצום מספר הממסכים.<br />
מטרת תהליך הצמצום, היא ניפוי ממסכים שהשפעתם זניחה.<br />
קיימים שני סוגי ניפויים:<br />
•<br />
כל ממסך (טונלי או רעש), שהוא מתחת לסף המוחלט, יוזנח. ממסכים שעוצמתם כה<br />
נמוכה לא משפיעים כלל ולכן ניתן להוציאם. באיור 3.9 ניתן לראות את הצמצום בכמות<br />
הממסכים (ביחס לאותו קטע המוצג באיור<br />
.(3.8<br />
•<br />
מ- 4000Hz נופו (ממסך טונלי אחד וארבעה ממסכי רעש).<br />
כל הממסכים שהיו בתדרים הגבוהים<br />
צמצום נוסף מתבצע כאשר יש שני ממסכים טונליים הנמצאים במרחק הקטן מ<br />
0.5<br />
Bark האחד מהשני, הופכים אותם לממסך אחד עם העוצמה המקסימלית מבין שניהם,<br />
כלומר את הממסך החלש יותר מורידים.<br />
הטונליים הוצא (בתדר<br />
3.9 באיור<br />
,(3500Hz<br />
זאת ביחס לאותו קטע, המוצג באיור<br />
ניתן לראות שאחד הממסכים<br />
כיוון שבסמוך לו היה ממסך טונלי נוסף (ניתן לראות<br />
.(3.7<br />
- 29 -
100<br />
80<br />
60<br />
SPL [dB]<br />
40<br />
20<br />
0<br />
-20<br />
-40<br />
0 1000 2000 3000 4000 5000 6000 7000 8000<br />
frequency[Hz]<br />
איור 3.9: ממסכים טונליים ורעש לאחר צמצום.<br />
Figure 3.9: Tonal and noise maskers after decimation.<br />
4. חישוב ספי מיסוך לכל מרכיב.<br />
עבור ממסך טונלי סף המיסוך מוגדר במשוואה הבאה:<br />
T<br />
TM<br />
( i,<br />
j)<br />
= P ( j)<br />
− 0.275z(<br />
j)<br />
+ SF(<br />
i,<br />
j)<br />
− 6.025<br />
TM<br />
(3.8)<br />
כאשר ב- j נמצא הממסך וב- i השונים נבדקת עוצמת הסף ביחידות (i .dB ו- j מציינים מיקום<br />
תא תדר). P TM הוא עוצמת הממסך עצמו.<br />
z(j) הוא תדר הממסך ביחידות Bark (ההמרה מתדר ל Bark מופיע במשוואה 3.1).<br />
SF היא פונקציה המתוארת במשוואה 3.9.<br />
SF מגדיר את צורת הסף – צורתו היא מעין משולש המתואר ע"י:<br />
SF(<br />
i,<br />
⎧ 17∆<br />
z<br />
− 0.4PTM<br />
( j)<br />
+ 11<br />
⎪<br />
(0.4PTM<br />
( j)<br />
+ 6) ∆<br />
z<br />
j)<br />
= ⎨<br />
⎪<br />
−17∆<br />
z<br />
⎪<br />
⎩(0.15PTM<br />
( j)<br />
−17)<br />
∆<br />
z<br />
− 0.15P<br />
TM<br />
( j)<br />
− 3 ≤ ∆<br />
−1<br />
≤ ∆<br />
0 ≤ ∆<br />
1 ≤ ∆<br />
z<br />
z<br />
z<br />
z<br />
< −1<br />
< 0<br />
< 1<br />
< 8<br />
(3.9)<br />
∆<br />
z<br />
= z( i)<br />
− z(<br />
כאשר (j<br />
מציין את המרחק בין נקודת הממסך ובין נקודת הבדיקה ביחידות של<br />
.Bark ניתן לראות ממשוואה 3.9, שהמרחקים הרלוונטיים של הממסך (התחום שבו הוא משפיע)<br />
- 30 -
הם 3 תחומים קריטיים לפני הממסך ועד 8 תחומים קריטיים לאחר הממסך. מעבר לתחום זה<br />
ההשפעה היא זניחה.<br />
צורת SF ניתן לדמותה למשולש, כמתואר באיור 3.10.<br />
סף המיסוך לרעש מוגדר ע"י המשוואה:<br />
T<br />
NM<br />
( i,<br />
j)<br />
= P ( j)<br />
− 0.175z(<br />
j)<br />
+ SF(<br />
i,<br />
j)<br />
− 2.025<br />
NM<br />
(3.10)<br />
באיור 3.10,<br />
ניתן לראות דוגמאות לספי מיסוך בודדים.<br />
באיור מופיעים שלושה ספי מיסוך הנוצרים עקב ממסכים טונליים וסף מיסוך יחיד הנוצר<br />
כתוצאה ממסך רעש יחיד (בתדר .(2200Hz<br />
ניתן לראות באיור (3.10) שסף המיסוך יורד בצורה חדה יותר עבור ממסכים בתדרים הנמוכים,<br />
כמו כן הירידה חדה יותר עבור התדרים הקטנים מתדר הממסך.<br />
100<br />
90<br />
80<br />
SPL [dB]<br />
70<br />
60<br />
50<br />
40<br />
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000<br />
frequency[Hz]<br />
איור 3.10: ספי מיסוך עבור ממסכים בודדים.<br />
Figure 3.10: Masking thresholds created by maskers.<br />
5. חישוב סף המיסוך הכולל.<br />
סך המיסוך הוא חיבור של כל הספים של המרכיבים (ממסכים טונלים וממסכי רעש) וחיבור של<br />
הסף המוחלט, כמתואר במשוואה:<br />
L<br />
M<br />
⎛ 0.1Tq<br />
( i)<br />
0.1TTM<br />
( l<br />
= ⎜ + ∑ i , )<br />
Tg<br />
( i)<br />
10log 10 10 + ∑<br />
⎝<br />
l= 1 m=<br />
1<br />
0.1T<br />
10<br />
10<br />
- 31 -<br />
NM<br />
( i,<br />
m)<br />
⎞<br />
⎟<br />
⎠<br />
(3.11)<br />
כאשר יש L ממסכים טונליים ו M ממסכים רעש.
3.11, באיור<br />
ניתן לראות דוגמה לסף המיסוך, המשורטט בשחור (קו מלא) על גבי הספקטרום<br />
המשורטט בכחול (קו מלא). ניתן להבחין בתחומי תדר רבים (במיוחד התדרים הגבוהים מ-<br />
(4000Hz הנמצאים מתחת לסף המיסוך. תחומי תדר אלו לא ישמעו לאוזן האנושית.<br />
100<br />
80<br />
60<br />
SPL [dB]<br />
40<br />
20<br />
0<br />
-20<br />
-40<br />
0 1000 2000 3000 4000 5000 6000 7000 8000<br />
frequency[Hz]<br />
איור 3.11: סף המיסוך הכולל.<br />
Figure 3.11: Global masking threshold.<br />
3.5 בדיקת המודל הפסיכואקוסטי<br />
במסגרת העבודה בוצעו בדיקות של המודל הפסיכואקוסטי על מנת לבדוק את מספר הסינוסים<br />
שניתן להרחיק (כמות המידע הלא רלוונטית לשמיעה).<br />
לשם כך נבדקו מספר רב של קטעי שמע. קטעי השמע נבדקו תחת המודל הסינוסואידלי, במהלכו<br />
נמצאו כל המרכיבים הטונליים של כל קטע. אותם קטעים נבדקו גם תחת המודל הפסיכואקוסטי,<br />
במהלכו חושבו ספי מיסוך.<br />
כל הסינוסים שעוצמתם היתה נמוכה מסף המיסוך בתדר המסויים, הורדו מרשימת הסינוסים.<br />
סינוסים אלו הוצאו כיוון שלא ישמעו לאוזן האנושית. תוצאות הבדיקה מסוכמות בטבלה 3.3.<br />
בטבלה 3.3 מוצגים מספר רב של קטעי שמע (אורכו של כל קטע מגיע עד ל- 20 שניות), המופיעים<br />
בעמודה הימנית בשמם.<br />
בעמודה האמצעית, מסוכמים מספר הסינוסים שנמצאו ע"י המודל הסינוסואידלי (לפני מיסוך)<br />
ובעמודה השמאלית מסוכמים מספר הסינוסים שנותרו לאחר ביצוע המודל הפסיכואקוסטי.<br />
מספר התדרים בממוצע לפני שלב המיסוך הוא 71.63 לעומת מספר תדרים בממוצע לאחר שלב<br />
המיסוך הוא<br />
.44.55<br />
התוצאות מראות שישנה ירידה של כ-<br />
38%<br />
במספר הסינוסים הנדרשים<br />
- 32 -
לייצוג. המודל הפסיכואקוסטי חוסך צורך שידור של מידע מיותר, שכן כל הסינוסים שנופו לא היו<br />
נשמעים כלל לאוזן האנושית.<br />
ניתן לראות שהירידה במספר הסינוסים לא קבועה, והיא משתנה בהתאם לאות.<br />
שם קובץ<br />
File name<br />
Music13<br />
Music14<br />
neck<br />
Not<br />
notclose<br />
Original<br />
piano<br />
relax<br />
Sax1mon<br />
signal<br />
step<br />
שם קובץ<br />
File name<br />
Music1<br />
Music2<br />
Music3<br />
Music4<br />
Music5<br />
Music6<br />
Music7<br />
Music8<br />
Music10<br />
Music11<br />
Music12<br />
לפני<br />
אחרי<br />
לפני<br />
אחרי<br />
לפני<br />
אחרי<br />
after<br />
58.48<br />
62.52<br />
35.30<br />
37.13<br />
33.56<br />
28.93<br />
37.45<br />
33.95<br />
45.08<br />
37.28<br />
40.65<br />
before<br />
67.49<br />
69.99<br />
71.43<br />
73.85<br />
72.67<br />
77.49<br />
75.40<br />
82.24<br />
65.02<br />
79.59<br />
77.89<br />
after<br />
63.56<br />
51.79<br />
24.05<br />
61.34<br />
50.40<br />
65.71<br />
62.12<br />
56.53<br />
30.60<br />
19.48<br />
59.84<br />
before<br />
70.03<br />
80.02<br />
61.46<br />
70.34<br />
67.99<br />
77.39<br />
73.20<br />
74.82<br />
64.24<br />
69.98<br />
69.83<br />
after<br />
51.37<br />
49.83<br />
35.11<br />
42.15<br />
39.87<br />
58.37<br />
56.57<br />
27.36<br />
39.81<br />
22.26<br />
28.05<br />
before<br />
67.46<br />
67.73<br />
62.31<br />
68.04<br />
70.40<br />
72.61<br />
67.97<br />
79.16<br />
75.43<br />
72.01<br />
78.28<br />
שם קובץ<br />
File name<br />
4eyes<br />
10four<br />
banjo<br />
bethoven<br />
Clar_d_a<br />
drums<br />
goodan<br />
ibml<br />
incor<br />
Logoff<br />
mic<br />
בטבלה<br />
טבלה 3.3: סיכום השפעת המודל הפסיכואקוסטי על מספר הסינוסים.<br />
Table 3.3: The influence of the psychoacoustic model on the total number of<br />
sinusoids.<br />
3.3 העמודה<br />
'לפני' מציינת את מספר הסינוסים לפני הפעלת המודל הפסיכואקוסטי<br />
(מספר הסינוסים הכולל שנמצאו על פי המודל הסינוסואידלי). העמודה 'אחרי' מציינת את מספר<br />
הסינוסים שנותרו לאחר הפעלת המודל הפסיכואקוסטי, במהלכו נופו סינוסים.<br />
3.6 סיכום<br />
בפרק תוארה בפירוט רב מערכת השמע האנושית. האיבר החשוב ביותר במערכת השמע הוא<br />
השבלול<br />
.(cochlea)<br />
השבלול מחולק לכל אורכו לאיזורים שווים באורכם, כאשר כל איזור מייצג<br />
תחום תדר. האיבר יודע להמיר תדר למיקום מדוייק על פני הקרום המכסה שבתוך השבלול.<br />
הצורך בהבנת מערכת השמיעה הינו משמעותי לתחום קידוד השמע, כיון שבתהליך הקידוד<br />
מתייחסים ליכולת הפרדת תדרים של האוזן לפי אותם איזורים על פני השבלול. איזורים אלו<br />
שקולים לתחומים הקריטיים.<br />
לאוזן האנושית יש מגבלה בשמיעת אות חלש בנוכחות אות חזק. מגבלה זו מנוצלת במודל<br />
הפסיכואקוסטי ובתהליך חישוב סף המיסוך.<br />
כל טון או רעש מייצר סביבו מיסוך, כך שאותות אחרים הנמצאים בסמוך לו ועוצמתם מספיק<br />
נמוכה ימוסכו (לא ישמעו).<br />
בפרק מוצגת שיטה לחישוב סף המיסוך עפ"י<br />
[20] [19]<br />
הכולל את השפעתם של כל המרכיבים<br />
הטונלים ומרכיבי רעש באות. התוצאות מראות שהמודל הפסיכואקוסטי חוסך כמות רבה מאוד<br />
של מידע, ואכן גורם לשיפור יעילות הקידוד.<br />
- 33 -
פרק 4<br />
מקודד פרמטרי HILN<br />
4.1 הקדמה<br />
המקודד הפרמטרי הנבדק בעבודה זו,<br />
נקרא (Harmonic, Individual Lines, and Noise) HILN<br />
[16]. מקודד זה מהווה בסיס למקודד המשופר המוצע בעבודה זו (פרק<br />
.(5<br />
מתואר ביתר פירוט ותוצאות מבחני השמע של המקודד המשופר יבחנו ביחס אליו.<br />
שיטת קידוד זו (חלק מהתקן של<br />
בקצבים נמוכים<br />
MPEG-4 Audio<br />
2) גירסה<br />
16kbps) ומטה).<br />
השיטה מבוססת על חלוקת האות למסגרות (אורך טיפוסי הוא<br />
לפיכך, מקודד HILN<br />
מיועדת לדחיסת אותות שמע<br />
(32ms<br />
והפרדת המסגרת למספר<br />
מרכיבים (אובייקטים). לכל מרכיב תכונות שונות, הניתנות לתיאור ע"י מספר מודלים.<br />
כל מודל מכיל מספר מצומצם של פרמטרים, שאותם נדרש לקודד.<br />
ב- HILN המודלים הם הרמוניות, סינוסים בדידים ורעש.<br />
סינוסים בדידים המיוצגים ע"י תדר ואמפליטודה.<br />
הרמוניות המיוצגות ע"י תדר יסודי<br />
(pitch)<br />
ואמפליטודות של ההרמוניות (למעשה,<br />
על מנת לחסוך במספר<br />
לייצוג אמפליטודות, הספקטרלית משתמשים במעטפת הפרמטרים).<br />
רעש המיוצג ע"י מעטפת ספקטרלית ועוצמה.<br />
•<br />
•<br />
•<br />
מודלים אלו משולבים עם מודל השמיעה האנושית<br />
,[13]<br />
על מנת להרחיק מידע שאינו רלוונטי<br />
למערכת השמיעה האנושית. בגלל הדרישה לקצב סיביות נמוך, ניתן לשדר רק פרמטרים עבור<br />
מספר נמוך של מרכיבים. תפקידו של מודל השמיעה האנושית הוא לסייע לבחור את מרכיבי<br />
האות החשובים לאיכות השמע.<br />
4.2 מודל סינוסואידלי<br />
כאשר מתייחסים לאות כניסה x(t) כאל אוסף של מספר צלילים, אזי ניתן לייצגו ע"י סכום סופי<br />
של סינוסים, כמתואר במשוואה:<br />
L<br />
xˆ(<br />
t)<br />
= ∑ ai<br />
( t)<br />
⋅sin(<br />
ϕi<br />
+ 2π<br />
i=<br />
1<br />
- 34 -<br />
t<br />
∫<br />
0<br />
f ( τ ) dτ<br />
)<br />
i<br />
(4.1)<br />
כאשר L הוא מספר הסינוסים.
(t) a i מייצג את האמפליטודה של כל סינוס.<br />
f i מייצג את התדר של הסינוס ה-<br />
.i<br />
ϕ i מייצג את הפאזה ההתחלתית, של כל רכיב סינוסי.<br />
כל סינוס מתואר לפיכך ע"י אמפליטודה, תדר ופאזה.<br />
פרמטרים אלו מחושבים לפי הסדר הבא: תחילה מחשבים את התדרים ולאחר מכן את<br />
האמפליטודות והפאזות המתאימות. התדרים מחושבים ע"י תהליך של ניתוח/סינתזה, המתואר<br />
בהרחבה בסעיף<br />
.4.3<br />
הערכות סובייקטיביות הראו שהרגישות לפאזות של סינוסים היא נמוכה ולכן אין צורך לשלוח<br />
אותם, אבל יש צורך לשמור על רציפות הפאזה בין מסגרות סמוכות.<br />
4.3 המקודד<br />
סכימת מלבנים של המקודד מתוארת באיור<br />
הוא<br />
.4.1<br />
המקודד פועל על מסגרות (דגימות כניסה)<br />
באורך זמן קבוע. אורך המסגרת משפיע מאוד על רזולוציית הזמן והתדר. מצד אחד יש לבחור<br />
קטע מסגרת קצר מספיק על מנת לעקוב אחר שינויים בזמן של תכונות האות ולנתח אותם, ומצד<br />
שני יש לבחור במסגרת מספיק ארוכה המאפשרת רזולציית תדר מספיק גבוהה ויכולת ניתוח טוב<br />
בתחום התדר. לפיכך, בוחרים באורך מסגרת שתתאים את שני הצרכים. אורך טיפוסי של מסגרת<br />
.32msec<br />
.[16]<br />
המקודד משתמש במסגרות עם חפיפה בזמן, על מנת להחליק תכונות משתנות של אות הכניסה<br />
.1<br />
.2<br />
.3<br />
.4<br />
המקודד מבצע בשלב ראשון תהליך איטרטיבי של ניתוח/סינתזה על מנת למצוא את כל הסינוסים<br />
הבדידים, כאשר התהליך משלב בתוכו את המודל הפסיכואקוסטי, בהתאם לתכונות האוזן<br />
האנושית.<br />
בשלב שני מחפשים הרמוניות מתוך כל הסינוסים, כלומר סינוסים בתדרים שהם כפולות של תדר<br />
מסויים .(pitch) שארית האות (לאחר הוצאת כל המרכיבים הסינוסואידלים) הוא מרכיב הרעש.<br />
כל מרכיבי האות מחושבים בצורה מחזורית, לפי סדר הפעולות:<br />
הוצאת מרכיב אות מתוך מסגרת נוכחית.<br />
עבור כל מרכיב אות, בוחרים מודל מתאים ומחשבים את פרמטרי המודל.<br />
משחזרים את מרכיב האות באמצעות הפרמטרים.<br />
מחסירים מהאות המקורי את האות המשוחזר ואז נשארים עם שארית האות.<br />
פעולות אלו נעשות בצורה מחזורית, עד אשר מוציאים את כל מרכיבי האות.<br />
כל פרמטרי האות מכומתים ומייצרים סדרת סיביות, המסודרת לפי סדר חשיבותם. כאשר<br />
הסיביות הראשונים הן החשובות יותר (בעלי משמעות גדולה לרגישות האוזן) ועליהן צריך להגן<br />
יותר מפני שגיאות.<br />
- 35 -
Perception<br />
Model<br />
Parameter<br />
Coding<br />
Audio<br />
Signal<br />
Individual<br />
Sinusoid<br />
Extraction<br />
Parameters<br />
Residual<br />
Signal<br />
Grouping to<br />
Harmonic<br />
Components<br />
Noise<br />
Parameter<br />
Estimation<br />
Harmonic<br />
Components<br />
Sinusoidal<br />
Components<br />
Noise<br />
Components<br />
Quant<br />
Quant<br />
Quant<br />
Mux<br />
Bit-<br />
Stream<br />
איור 4.1: סכימת מלבנים של מקודד .HILN<br />
Figure 4.1: Block diagram of HILN encoder.<br />
הבלוק הראשון וגם המרכזי במודל הוא הבלוק להוצאת כל המרכיבים הטונלים מאות הכניסה.<br />
האלגוריתם מבוסס על שיטת אנליזה/סינתזה ומתואר באיור<br />
.4.2<br />
מעגל אנליזה/סינתזה הוא מעגל הפועל באיטרציות. בכל איטרציה מוצאים סינוס חדש, הכולל<br />
את הפרמטרים המאפיינים שלו, אמפליטודה, תדר ופאזה המסומנים ע"י<br />
הסינוס נבחר מתוך הסתכלות בתחום התדר על אות השארית<br />
. f ,<br />
i<br />
a i<br />
, ϕ<br />
i<br />
.e(t)<br />
אות השארית הוא אות הכניסה עצמו מופחת מכל הסינוסים שחושבו ע"י איטרציות קודמות.<br />
באיטרציה הראשונה אות השארית הוא האות המקורי.<br />
אות השארית מומר לתחום התדר באמצעות<br />
DFT<br />
ומפחיתים ממנו את סף המיסוך<br />
המחושב מתוך המודל הפסיכו-אקוסטי והמושפע מכל אותם מרכיבים שכבר סונתזו<br />
אותם סינוסים שנמצאו באיטרציות קודמות) .<br />
התדר הבולט<br />
,M(f)<br />
s(t)<br />
(coarse decision) f c,i<br />
(כל<br />
של הסינוס הרלוונטי ביותר לשמיעה האנושית מתגלה ע"י<br />
חיפוש ערך מקסימלי. התדר שנמצא הוא הערכה גסה של תדר הסינוס. לשם כך קיים בלוק שבו<br />
מעריכים בצורה עדינה את הפרמטרים של הסינוס. מבנה הבלוק, המבצע הערכה עדינה יותר של<br />
תדר הסינוס מתואר באיור<br />
.4.3<br />
מספר האיטרציות של מסלול זה נקבע ע"י מספר הפרמטרים שניתן לקודד בתחום קצב<br />
המוגדר.<br />
בעיה עיקרית של השיטה היא כיצד להבדיל בין מרכיב סינוסי לבין מרכיב רעש.<br />
הסיביות<br />
- 36 -
Accu<br />
Synthesis<br />
M(f)<br />
Parametric<br />
Psychoacoustic<br />
Model<br />
S(t)<br />
Log|DFT|<br />
+-<br />
argmax<br />
f<br />
c , i<br />
X(t)<br />
+-<br />
e(t)<br />
Frequency, Amplitude<br />
And Phase Estimation<br />
f ,<br />
i<br />
a i<br />
, ϕ<br />
i<br />
איור : 4.2 מעגל אנליזה/סינתזה.<br />
Figure 4.2: Analysis/Synthesis loop.<br />
e i (n)<br />
X<br />
Low Pass<br />
K arg( )<br />
F c,i −<br />
j<br />
2π<br />
f<br />
c<br />
,<br />
i<br />
n<br />
e<br />
Linear<br />
regression<br />
f i<br />
+<br />
f i<br />
איור 4.3: הערכת תדר בדיוק גבוה.<br />
Figure 4.3: High accuracy frequency estimation<br />
התדר f c,i מחושב במעגל אנליזה/סינתזה, כתא התדר בו מתקבל מקסימום. הדיוק של התדר אינו<br />
גבוה, בגלל מגבלת הרזולוציה של תא התדר.<br />
אלגוריתם להערכה מדוייקת של תדר הסינוס מוצג באיור 4.3.<br />
שארית האות<br />
האלגוריתם מקבל כקלט את<br />
(n) e i המתקבלת באיטרציה מספר i (מספר האיטרציה שקול לאינדקס התדר, כיוון<br />
שבכל איטרציה מחושב תדר אחד). בשלב ראשון מזיזים את הספקטרום של שארית האות בצורה<br />
כזו, שהתדר המרכזי f c,i נהפך להיות אפס.<br />
לאחר מכן מבצעים סינון מעביר נמוכים pass) (low<br />
חדש, אות צר סרט הכולל את איזור התדר<br />
ודצימציה בגודל K. פעולה זו, יוצרת אות<br />
f c,i בלבד. הנגזרת של זווית האות נותנת את הפרש<br />
התדר. הפרש זה מסוכם עם התדר f c,i<br />
לקבלת התדר המדוייק.<br />
4.4 מודל הרמוניות<br />
- 37 -
החיפוש אחר הרמוניות מתוך קבוצת הסינוסים (שנמצאה ע"י מעגל אנליזה/סינתזה) מאפשר<br />
חיסכון של פרמטרים, כיוון שבמקום לתאר את פרמטרי התדר של כל סינוס בנפרד, מתארים תדר<br />
אחד יסודי, עבור קבוצה שלמה של סינוסים.<br />
במסגרת המודל ההרמוני משדרים רק את תדר הבסיס, המייצג את כל תדרי הסינוסים של הטון<br />
ההרמוני, ואת האמפליטודות של ההרמוניות.<br />
מציאת תדר הבסיס<br />
(pitch)<br />
של אות השמע אינו נעשה בעזרת תפוקות המעגל ניתוח/סינתזה.<br />
האלגוריתם למציאת תדר הבסיס מבוסס על ניתוח cepstrum של אות הכניסה<br />
.[16]<br />
עבור מספר כלי מוסיקה, ניתן להבחין שהתדרים של ההרמוניות הגבוהות הן לא בדיוק מכפלה<br />
שלמה של תדר הבסיס ולכן, לוקחים בחשבון פרמטר נוסף, המציין את מתיחת התדר (סטיית<br />
התדר).<br />
פרמטר מתיחת התדר, המסומן ע"י<br />
מחושבות על פי:<br />
,S<br />
משודר במסגרת המודל ההרמוני. תדרי ההרמוניות<br />
f i<br />
=<br />
f<br />
⋅i<br />
⋅(1<br />
+ S ⋅<br />
0<br />
i<br />
)<br />
(4.2)<br />
כאשר i הוא אינדקס התדר וגם מספר ההרמוניה, (M i = M,…1,2 מציין את מספר ההרמוניות).<br />
f 0 הוא תדר הבסיס<br />
.(pitch)<br />
כפי שניתן לראות ממשוואה<br />
,4.2<br />
הסטייה ממכפלה שלמה של תדר<br />
בסיס הולכת וגדלה בהרמוניות הגבוהות.<br />
על מנת לקודד בצורה יעילה את האמפליטודות של ההרמוניות, מקודדים מעטפת ספקטרלית<br />
אשר דגימתה בתדרי ההרמוניות תיתן את עוצמתם בקירוב מספיק טוב.<br />
המעטפת הספקטרלית מקודדת באמצעות מספר קבוע של מקדמי .LPC<br />
4.5 מודל רעש<br />
לאחר הורדת כל המרכיבים הטונליים (סינוסים בדידים והרמוניות) מאות השמע, מקבלים את<br />
שארית האות, המורכב רק מרעש.<br />
את הרעש ניתן למדל באמצעות מעטפת ספקטרלית של הרעש ומקדם עוצמה<br />
משתמשים במקדמי ה-<br />
.[15]<br />
LPC<br />
לייצוג המעטפת הספקטרלית, בדומה לייצוג אמפליטודות<br />
ההרמוניות, אך במקרה זה ניתן להשתמש במספר מקדמים קטן יותר. הרעש מיוצר ע"י הכנסת<br />
רעש לבן למסנן IIR בעל קטבים בלבד.<br />
4.6 כימות<br />
- 38 -
הפרמטרים של כל מודל מכומתים בהתאם לרגישות האוזן האנושית.<br />
לקידוד מופיע בטבלה 4.1.<br />
סיכום כל הפרמטרים<br />
מודל<br />
הרמוניות<br />
בדידים<br />
רעש<br />
מספר<br />
סיביות<br />
תיאור<br />
סימון קיום הרמוניות<br />
מספר הרמוניות<br />
תדר הבסיס<br />
מקדם מתיחת התדר<br />
שם<br />
Harm_flag<br />
Num_Harm_Trans<br />
Harm_Freq<br />
Harm_Freq_Stretch<br />
Lpc_coeff<br />
Harm_gain<br />
Num_Line<br />
Prev_Line_Cont_Flag<br />
Line_Ampl<br />
Line_Freq<br />
Line_Ampl_Delta<br />
Line_Freq_Delta<br />
Noise_Flag<br />
Noise_Norm<br />
Noise_Para<br />
20 מקדמי LPC<br />
עוצמת המעטפת<br />
מספר בדידים<br />
דגל המציין רציפות<br />
ממסגרת קודמת<br />
אמפ' הבדיד<br />
תדר הבדיד<br />
יחס אמפ'<br />
הפרש תדר<br />
סימון קיום רעש<br />
עוצמת רעש- (נירמול<br />
הפרמטרים)<br />
10 מקדמי LPC<br />
1<br />
6<br />
11<br />
5<br />
48<br />
6<br />
8<br />
1<br />
6<br />
10<br />
4<br />
6<br />
1<br />
6<br />
24<br />
טבלה 4.1: סיכום פרמטרים לשידור במקודד .HILN<br />
בטבלה מסודרים הפרמטרים לפי מודל (הרמוניות, בדידים או רעש). כל פרמטר מוצג לפי שמו,<br />
תיאור קצר ומספר הסיביות שצריך להקצות לו.<br />
Table 4.1: Summary of all the parameters for transmission in HILN encoder.<br />
The parameters, which appear in the table are order by model type (harmonics, individual sinusoids or<br />
noise). Each parameter appear by his name, short description and the number of bits.<br />
במודל סינוסים בדידים מקודדים את התדר ואת האמפליטודה של כל סינוס.<br />
תחילה מקודדים את מספר הבדידים באמצעות הפרמטר<br />
,Num_Line<br />
ע"י<br />
8 סיביות.<br />
אם הסינוס מתגלה כמתמשך (רציף) ממסגרת קודמת ישודרו רק שינויי אמפליטודה ותדר במקום<br />
הפרמטרים עצמם, כיוון שהשינויים קטנים מספיק ומאפשרים קידוד יעיל יותר<br />
הרציפות מאפשר עד 15% סטיה בתדר ועד פי 3 שינוי באמפליטודה.<br />
שינוי באמפליטודה משודר באמצעות הפרמטר<br />
.[11]<br />
,Line_Ampl_Delta<br />
קריטריון<br />
בצורה לוגריתמית ע"י ארבע<br />
סיביות. שינוי בתדר משודר באמצעות הפרמטר Line_Freq_Delta ע"י שש סיביות. לצורך קידוד<br />
זה, יש לזכור את כל התדרים הבדידים ששודרו במסגרת קודמת (פרמטרי תדר ואמפליטודה).<br />
- 39 -
על מנת לדעת אילו תדרים ממסגרת קודמת רציפים, משדרים את דגלי הרציפות,<br />
.Prev_Line_Cont_Flag "0" משמעו שהתדר לא ממשיך למסגרת נוכחית ו- "1" משמעו שהתדר<br />
מתמשך למסגרת נוכחית. מספר הדגלים שווה למספר הבדידים שהיו במסגרת קודמת (כל דגל<br />
הוא סיבית אחת).<br />
לאחר מכן משודרים כל הבדידים החדשים, ע"י אמפליטודה,<br />
ע"י שש סיביות ותדר,<br />
,Line_Ampl<br />
,Line_Freq<br />
ואמפליטודות צריך להיות מותאם לסף הרגישות.<br />
במודל הרמוניות מקודדים תחילה את הדגל,<br />
בסקלה לוגריתמית ע"י<br />
10<br />
,Harm_Flag<br />
בסקלה לוגריתמית<br />
סיביות. הכימות של תדרים<br />
המציין את קיום ההרמוניות. הדגל<br />
משודר ע"י סיבית אחת. "0" משמעו שאין הרמוניות וברצף הסיביות אין מידע הקשור<br />
להרמוניות, "1" מציין קיום של הרמוניות (לפחות שלוש הרמוניות) .<br />
תדר הבסיס,<br />
,Harm_Freq<br />
מכומת בסקלה לוגריתמית ע"י<br />
11<br />
סיביות בתחום בין<br />
30Hz<br />
.4000Hz<br />
פרמטר מתיחת התדר,<br />
,Harm_Freq_Stretch<br />
מכומת באופן אחיד ע"י<br />
5<br />
ל-<br />
סיביות<br />
בתחום שבין 0.001- ל-0.001.<br />
על מנת לשדר את אמפליטודות ההרמוניות, מקודדים מעטפת ספקטרלית המיוצגת בעזרת עשרים<br />
מקדמי LPC ופרמטר עוצמה.<br />
מאחר שמקדמי ה- LPC הם בעלי תחום דינמי רחב, הם מומרים לקבוצה אחרת של מקדמים,<br />
בעלי תחום דינמי מצומצם<br />
.[13] ניתן להמירם לפרמטרי ,(Logarithmic Area Rations) LAR או<br />
לפרמטרי .(Line Spectrum Frequency) LSF<br />
LSF מספקים יעילות קידוד טובה יותר, אבל LAR עדיפים כאשר מספר המקדמים משתנה (סדר<br />
המסנן משתנה). מאחר שמספר המקדמים לא משתנה, ויש צורך ביעילות קידוד גבוהה,<br />
משתמשים בפרמטרי ה- .LSF עשרים מקדמי LPC מומרים ל- עשרים פרמטרי .LSF<br />
פרמטרי ה-<br />
לוגריתמית ע"י<br />
LSF<br />
מכומתים בצורה וקטורים<br />
48 ע"י (VQ)<br />
6 סיביות.<br />
סיביות. פרמטר העוצמה מכומת<br />
במודל הרעש מקודדים דגל, ,Noise_Flag המציין את קיום הרעש.<br />
10) LPC<br />
מודל הרעש מבוסס על מקדמי מקדמים), לייצוג המעטפת הספקטרלית של הרעש<br />
ופרמטר של עוצמה.<br />
מקדמי ה- LPC מומרים לפרמטרי ה- ,LSF להם תחום דינאמי מצומם.<br />
פרמטרי ה-<br />
לוגריתמית ע"י<br />
LSF<br />
מכומתים בצורה וקטורית ע"י<br />
24<br />
6 סיביות.<br />
סיביות ופרמטר העוצמה מכומת בסקלה<br />
בקצב נמוך של 16kbps ניתן לקודד פרמטרים עבור<br />
10 עד<br />
20 סינוסים במסגרת של<br />
.32ms מספר<br />
הסינוסים הנשלחים משתנה ממסגרת למסגרת ותלויה בעיקר במספר הסינוסים הנמשכים<br />
מהמסגרת הקודמת.<br />
- 40 -
4.7 המפענח<br />
תרשים של המפענח מוצג באיור<br />
.4.4<br />
הפרמטרים מפוענחים מתוך סדרת הסיביות ע"י פעולה<br />
הפכית לכימות. פיענוח פרמטרי המודל ההרמוני נותן את מספר ההרמוניות, תדר הבסיס, מתיחת<br />
התדר, מקדמי ה- LPC המייצגים את המעטפת הספקטרלית ופרמטר העוצמה.<br />
בעזרת תדר הבסיס, מתיחת התדר ומספר הרמוניות מרכיבים קבוצה של תדרים. כמתואר<br />
במשוואה<br />
.4.2<br />
בעזרת מקדמי ה- LPC ופרמטר העוצמה, קובעים את האמפליטודות המתאימות<br />
תדרי<br />
דגלי רציפות, לקבוצת התדרים.<br />
פיענוח פרמטרי מודל הסינוסים הבדידים נותן את מספר הסינוסים,<br />
הסינוסים ואמפליטודות הסינוסים.<br />
אם הדגל מציין תדר חדש אזי האמפליטודה והתדר מפוענחים ישירות. כאשר הדגל מציין תדר<br />
מתמשך ממסגרת קודמת (רציף), האמפליטודה והתדר מחושבים מתוך הפרמטרים המתאימים<br />
ממסגרת קודמת וכוללים שינויים קלים בהתאם לפרמטרים החדשים.<br />
המפענח משחזר את הפרמטרים ומסנתז אותות טונליים באמצעות מחולל סינוסים<br />
מאחר [11].<br />
ומידע על הפאזה אינו משודר מיוצרת הפאזה אקראית עבור כל סינוס חדש ובמקרה של סינוסים<br />
מתמשכים ממסגרת למסגרת, המפענח מחשב את הזווית המתאימה.<br />
לבסוף, המפענח מייצר רעש ע"י הכנסת רעש לבן לתוך מסנן IIR שמקדמיו הם .LPC<br />
בין היתרונות של המקודד הפרמטרי הוא היכולת לשנות קצב או pitch של אות המוצא ע"י שינוי<br />
פשוט של פרמטר במפענח<br />
.[15]<br />
Parameter<br />
Decoding<br />
Model Based<br />
Synthesis<br />
Dequant<br />
Harmonic<br />
Components<br />
Bitstream<br />
Demux<br />
Dequant<br />
Sinusoidal<br />
Components<br />
+<br />
Audio<br />
Signal<br />
Dequant<br />
Noise<br />
Components<br />
4.8 גירסאות מוקדמות של HILN<br />
איור 4.4: סכימת מלבנים של מפענח .HILN<br />
Figure 4.4: Block diagram of HILN decoder.<br />
בגירסה הראשונה היה רק מרכיב אחד, שתמך בסינוסים בדידים בלבד<br />
.[16]<br />
- 41 -<br />
כל סינוס תואר ע"י<br />
תדר, אמפליטודה ופאזה. גישה זו הורחבה למספר מרכיבים, הכוללים את ההרמוניות ואת הרעש.<br />
הוספת המרכיב ההרמוני מאפשרת קידוד יעיל יותר של קבוצת סינוסים מתוך הסינוסים<br />
הבדידים. הקידוד מבוצע בעזרת תדר יסודי<br />
(pitch)<br />
והאמפליטודות של ההרמוניות מסודרות
בקבוצות ורק האמפליטודה המייצגת את הקבוצה מקודדת. סידור ההרמוניות בקבוצות מסוכמת<br />
בטבלה 4.2.<br />
מספר הקבוצות מקודד באמצעות הפרמטר ,Num_Harm_Trans המכומת ע"י שש סיביות.<br />
עשר ההרמוניות הראשונות מסודרות בקבוצות הכוללות הרמוניה אחת בלבד, כלומר<br />
האמפליטודות של עשר ההרמוניות הראשונות מקודדות כפי שהן<br />
.[11]<br />
כאשר ישנם יותר מעשר הרמוניות, מאחדים אותם לקבוצות, כך שגודל הקבוצה הולך וגדל ככל<br />
שמתקדמים באינדקס ההרמוניה. לכל קבוצה מקודדת רק אמפליטודה אחת מייצגת עבור כל<br />
ההרמוניות השייכות לקבוצה. האמפליטודה המייצגת היא ממוצע האמפלטודות של ההרמוניות<br />
בקבוצה<br />
.[12]<br />
האמפליטודה של הקבוצה הראשונה מיוצגת ע"י<br />
Harm_Trans_Ampl[0]<br />
(0 מסמן את האינדרס<br />
הראשון), המכומת בסקלה לוגריתמית ע"י 6 סיביות ובצעד כימות של .1.5dB האמפליטדות של<br />
שאר הקבוצות (קבוצה מספר<br />
2<br />
ומעלה) מיוצגות ע"י<br />
,Harm_Tran_Ampl[k]<br />
הפרש האמפליטודה מהקבוצה הקודמת. הפרש זה מכומת לוגריתמית ע"י חמש סיביות.<br />
המקודדות את<br />
Group<br />
Width<br />
אינדקס ההרמוניה<br />
של תחילת הקבוצה<br />
גודל<br />
הקבוצה<br />
אינדקס<br />
הקבוצה<br />
Transmitted<br />
amplitude<br />
index<br />
0,1,2,3,4,5,6,7,8,9<br />
10,11,12,13,14,15<br />
16,17,18,19,20<br />
21,22,23,24<br />
25,26,27<br />
28,29<br />
30<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
Harmonic<br />
line start<br />
index<br />
0,1,2,3,4,5,6,7,8,9<br />
10,12,14,16,18,20<br />
22,25,28,31,34<br />
37,41,45,49<br />
53,58,63<br />
68,74<br />
80<br />
טבלה 4.2: חלוקת קווים הרמוניים לקבוצות<br />
Table 4.2: Harmonic line grouping<br />
החסרונות של שיטת קידוד זו הם:<br />
- 42 -<br />
•<br />
•<br />
חוסר הדיוק בייצוג אמפליטודות של הרמוניות גבוהות, כיוון שרק הממוצע של מספר<br />
אמפליטודות מקודד.<br />
יעילות קידוד נמוכה במצב בו מספר ההרמוניות גדול מאוד.<br />
מרכיב הרעש מקודד בעזרת מעטפת ספקטרלית המיוצגת ע"י מקדמי .DCT ניתן לשלוט על דיוק<br />
ייצוג הרעש ע"י בחירת מספר המקדמים<br />
(DCT)<br />
לשידור.<br />
מספר המקדמים נע בין ארבעה לשבעה מקדמים והוא מיוצג באמצעות<br />
,Num_Noise_Para_Cod המכומת ע"י שתי סיביות.<br />
מאחר שלפרמטרי ה-<br />
DCT<br />
תחום דינאמי רחב,<br />
העוצמה הגבוהה ביותר ומביאים את התחום של הפרמטרים ל-<br />
מנרמלים את הפרמטרים לפי הפרמטר בעל<br />
.[-1,1]<br />
מקדם הנירמול,
,Noise_Norm<br />
מכומת לוגריתמית ע"י<br />
6<br />
סיביות, עם צעד כימות של<br />
.3dB<br />
המנורמלים, ,Noise_Para מכומתים בצורה אחידה ע"י 3 סיביות לכל פרמטר.<br />
תוצאת הסינתזה שקולה לסינון רעש לבן ע"י מסנן<br />
מקדמי ה- .DCT<br />
פרמטרי ה-<br />
DCT<br />
FIR<br />
בעל מספר מקדמים, שתלוי במספר<br />
התוצאה שהתקבלה, היתה שהרעש לא נשמע טבעי (במיוחד עבור אותות דיבור). מסנן קטבים<br />
יכול ליצור תגובות חדות ולכן ממדל רעשים צרי סרט בצורה עדיפה מאשר מסנן מסוג<br />
בהינתן מספר מקדמים. לפיכך, משתמשים במקדמי LPC לייצוג המעטפת.<br />
,FIR<br />
4.9 סיכום<br />
בפרק זה מתואר המקודד הפרמטרי<br />
,HILN -<br />
על כל מרכיביו. מקודד<br />
HILN<br />
מפריד את אות<br />
השמע למרכיבים (הרמוניות, בדידים ורעש), כאשר כל מרכיב מיוצג ע"י קבוצה של פרמטרים.<br />
בפרק מתוארים שיטות הקידוד והכימות של הפרמטרים עד ליצירת רצף סיביות, הנשלח למפענח.<br />
רצף הסיביות כולל אך ורק מידע על פרמטרים, המייצגים תכונות של אות השמע. מכיוון<br />
שמשודרים רק פרמטרים, מתאפשרת יעילות קידוד גבוהה וקידוד בקצבים נמוכים ביותר.<br />
המודל הפרמטרי יעיל מאוד בקידוד אותות שמע לא מורכבים (הכוללים מספר קטן של מרכיבים),<br />
כמו אות מוסיקלי הכולל כלי יחיד או מספר מצומצם של כלים. לעומת זאת, המודל פחות יעיל<br />
כאשר אות השמע מאוד מורכב או שהוא כולל מרכיבים שלא ניתן לייצגם באמצעות המודלים<br />
שתוארו<br />
.[13] [11]<br />
5, בפרק<br />
מוצע מודל פרמטרי שונה, בו כל בלוק במערכת מבוסס על שיטה שונה. השיטות<br />
והרעיונות המוצעים מנסים להתמודד עם הבעיתיות של ה- HILN בקידוד אותות שמע מורכבים.<br />
- 43 -
פרק 5<br />
מקודד פרמטרי מוצע<br />
5.1 הקדמה<br />
במסגרת עבודת המחקר, יושם מקודד HILN על כל שלביו.<br />
HILN מודל<br />
מקודד בקצבי סיביות נמוכים מאוד<br />
16kbps)<br />
ומטה). בעקבות הדחיסה הגבוהה,<br />
ישנה ירידה טבעית באיכות השמע. אחת המטרות המרכזיות בעבודת המחקר הוא הניסיון לשפר<br />
את איכות השמע המופקת.<br />
במהלך הבנייה של מודל HILN נבחן כל מודול (בלוק) במערכת לפי ביצועיו ונבדקו אפשרויות<br />
אחרות למימוש על מנת לשפר הן את יעילות הקידוד והן את איכות השמע.<br />
נמצאו מספר בעיות במודל :HILN<br />
השימוש במודל השמיעה לא מדוייק מספיק. בתהליך יצירת סף המיסוך הפסיכואקוסטי,<br />
לא נלקחו בחשבון השפעתם של כל מרכיבי האות. דהיינו, כל המרכיבים הטונליים וכל<br />
מרכיבי הרעש.<br />
מספר הסינוסים שמוצו, בתהליך האנליזה/סינתזה, מוגבל בשל הגבלת מספר הפרמטרים<br />
שניתן לקודד. הסינוסים חושבו אחד אחד לפי סדר חשיבותם לשמיעה האנושית.<br />
לא ניתן למצוא סינוסים בעלי תדרים סמוכים בגלל מגבלת רזולוציה בתחום התדר. שני<br />
סינוסים בעלי תדרים סמוכים מתגלים בתחום התדר כסינוס יחיד.<br />
יעילות הקידוד אינה מספיק גבוהה במצבים בהם לא מתגלים מרכיבים הרמוניים או<br />
כאשר מספרם הוא נמוך. במצבים אלו נשארים הרבה סינוסים בדידים ושידור<br />
הפרמטרים של כל סינוס צורך הרבה סיביות. בשל קיום מגבלה על כמות הסיביות, מספר<br />
מועט של סינוסים בדידים משודר בסופו של דבר.<br />
המודל משתמש בתדר יסודי<br />
(pitch)<br />
מורכבים, הכוללים מספר תדרים יסודיים<br />
יחיד לייצוג הרמוניות גם עבור אותות שמע<br />
.(multi-pitch)<br />
שיטת ייצוג אמפליטודות, בעזרת מעטפת ספקטרלית, לא מספיק יעילה. המעטפת<br />
מייצגת את כלל האות ולא את המרכיבים ההרמונים בלבד ולכן עוברת בצורה גסה דרך<br />
העוצמות האמיתיות בתדרי ההרמוניות.<br />
•<br />
•<br />
•<br />
•<br />
•<br />
•<br />
בפרק זה מתואר המודל הפרמטרי בדיאגרמת בלוקים, כאשר כל בלוק מתואר בנפרד. בפרק<br />
מתוארים מספר שיטות שנבחנו על מנת להתמודד עם הבעיות שתוארו לעיל, לרבות שיפור המודל<br />
הסינוסואידלי ושיטות למציאת פרמטרים במודל הסינוסואידלי. שיטות למציאת תדרים יסודיים<br />
במסגרת המודל ההרמוני מתוארות בפרק 6 ושיטות לייצוג יעיל של אמפליטודות מתוארות בפרק<br />
7. תהליך הקידוד וכימות הפרמטרים מתואר בפרק<br />
.8<br />
- 44 -
5.2 תיאור המודל<br />
בדומה לשיטת ,HILN המודל מניח שאות שמע מורכב ממרכיבים טונליים ומרכיבי רעש. בשלב<br />
ראשון מוציאים את כל המרכיבים הטונלים מאות השמע, ושארית האות תהווה מרכיב הרעש.<br />
מרכיבים טונליים ניתן לפרק למרכיבים הרמוניים ולמרכיבים של סינוסים בדידים, כאשר<br />
המרכיבים ההרמונים כוללים סינוסים עם תדרים יסודיים משותפים.<br />
.5.1<br />
סכימה של המקודד הפרמטרי המוצע,<br />
מתוארת<br />
באיור<br />
המקודד הפרמטרי דומה מאוד<br />
במבנהו למקודד .HILN<br />
מודל<br />
פסיכואקוסאטי<br />
סדרת<br />
סיביות<br />
קידוד<br />
וכימות<br />
מרכיבים<br />
הרמוניים<br />
מרכיבים<br />
סינוסואידלים<br />
מרכיבי<br />
רעש<br />
קבוצות יצירת<br />
תדרים סביב<br />
משותפים<br />
הערכת<br />
פרמטרי<br />
רעש<br />
פרמטרים<br />
האות שארית<br />
מרכיבים מיצוי<br />
טונליים<br />
שמע אות<br />
איור 5.1: מבנה המקודד הפרמטרי המוצע.<br />
Figure 5.1: Block diagram of the proposed parametric encoder.<br />
אות הכניסה למקודד הפרמטרי הוא אות שמע הדגום בקצב של<br />
.16KHz<br />
אות הכניסה מחולק<br />
למסגרות בגודל של 32msec או 512 דגימות. חלוקת האות למסגרות נובעת מההנחה שאות השמע<br />
הוא סטציונרי בקטע זמן קצר מספיק, כלומר תכונותיו הסטטיסטיות קבועות. אורך המסגרת<br />
קובע את רזולוצית זמן/תדר. מסגרות ארוכות מאפשרות רזולוצית תדר גבוהה, גורם שהוא מאוד<br />
משמעותי במודל הפרמטרי, כיוון שניתוח תכונות אות השמע מבוצע בתחום התדר. מצד שני<br />
מסגרות ארוכות מדי פוגעות ברזולוצית הזמן ולכן מקשות על ניתוח אות שמע המשתנה בקצב<br />
מהיר בתחום הזמן.<br />
אורך המסגרת שנבחר הוא אורך סטנדרטי, המיושם גם במודל .HILN<br />
עבור אורך מסגרת של ,32msec רזולוצית התדר היא<br />
,31.25Hz<br />
.(frequency bin)<br />
מסגרת הכניסה מסומנת ע"י<br />
.n = כאשר 0,1,2,…,511 x(n)<br />
.5.3<br />
זהו למעשה רוחב של כל תא תדר<br />
מסגרת הכניסה מוכפלת בחלון, ,h(n) בעל ניחות גבוה של אונות הצד.<br />
הבלוק הראשון, מטרתו מיצוי כל המרכיבים הטונליים ממסגרת הכניסה. בלוק זה מתואר בסעיף<br />
- 45 -
לאחר מיצוי כל המרכיבים הטונליים ממסגרת הכניסה, מבצעים הרחקה של מרכיבים טונלים<br />
שאינם רלוונטיים לשמיעה האנושית, דבר המונע קידוד פרמטרים מיותרים. סינון זה מבוצע<br />
בבלוק של המודל הפסיכואקוסטי, המתואר בהרחבה בפרק<br />
.3<br />
בתוך הבלוק מחושב סף המיסוך<br />
הנובע ממסגרת הכניסה ע"י השפעתם של כל המרכיבים הטונליים וכל מרכיבי הרעש. כל מרכיב<br />
תורם השפעתו למיסוך והמיסוך הכולל הוא סיכום של כל ההשפעות. סף המיסוך מראה את<br />
רגישות האוזן האנושית בכל תדר, בהתאם לאות הכניסה. לפיכך, בכל תדר ניתן לדעת מהי<br />
העוצמה המינימלית שמעליה האוזן שומעת את האות.<br />
סף המיסוך מסנן את כל אותם מרכיבים טונליים שעוצמתם נמוכה מהעוצמה המינימילית<br />
המתאימה לתדר הטון. באות השמע ישנם מקרים רבים בהם טון חלש נמצא בסמוך (בתחום<br />
התדר) לטון חזק, הגורם למיסוך הטון החלש, כלומר, עוצמת הטון החלש תהיה מתחת לסף<br />
המיסוך ולכן אין צורך לשדרו.<br />
צמצום מספר המרכיבים הטונליים הוא מאוד משמעותי לתהליך הדחיסה. כפי שניתן לראות<br />
3.5 בסעיף 3, בפרק<br />
(תוצאות המודל הפסיכואקוסטי) הצמצום הוא בכ-<br />
40%<br />
מהמרכיבים<br />
הטונליים.<br />
שלב נוסף בתהליך הדחיסה מבוצע בבלוק המאגד טונים סביב תדר יסודי משותף (לפי המודל<br />
ההרמוני). הרעיון במודל הוא שבמקום לשדר את כל תדרי הטונים, משדרים תדר יסודי אחד<br />
(pitch) או מספר קטן של תדרים יסודיים, המייצגים את כלל הטונים.<br />
תדרי טונים, השקולים למכפלה שלמה של תדר יסודי, מיוצגים ע"י תדר זה בלבד.<br />
ישנם מספר שיטות למציאת תדר יסודי<br />
(pitch)<br />
יחיד. שיטות אלו מתאימות לאותות שמע<br />
ספציפיים, כמו אות דיבור או אות מוסיקלי הכולל כלי נגינה יחיד המייצר אקורד אחד בלבד בכל<br />
זמן נתון.<br />
שיטות אלו אינן מתאימות עבור כלל אותות השמע, במיוחד עבור אותות שמע מורכבים, כמו<br />
שילוב של אות דיבור ואות מוסיקלי, אות דיבור הכולל מספר דוברים במקביל, אות מוסיקלי<br />
הכולל מספר כלים וכדומה. באותות שמע כללים אין תדר יסודי יחיד, אלא מספר של תדרים<br />
יסודיים. לפיכך, יש לפתח אלגוריתם למציאת תדרים אלו. שיטות אלו, ופיתוח אלגוריתם<br />
למציאת מספר תדרים יסודיים, מתוארים בהרחבה בפרק<br />
.6<br />
בפרק מתוארים גם השיקולים<br />
למציאת תדרים יסודיים אמיתיים, או תדרים יסודיים (לא בהכרח אמיתיים) הנותנים כיסוי<br />
מקסימלי.<br />
כל המרכיבים הטונלים ששוייכו לתדרים יסודיים משודרים לפי המודל ההרמוני. שאר המרכיבים<br />
הטונליים (להם לא נמצא תדר משותף) משודרים כטונים בדידים, לפי המודל של סינוסים<br />
בדידים.<br />
במסגרת הבלוק מייצרים קבוצה של טונים ע"י תדר יסודי משותף. ניתן לייעל את תהליך הדחיסה<br />
ע"י שידור יעיל של אמפליטודות הטונים בקבוצה.<br />
בגירסה הראשונה של מודל ,HILN הטונים חולקו לקבוצות ורק אמפליטודה מייצגת אחת לכל<br />
קבוצה שודרה, כמתואר בפרק<br />
.4<br />
שיטה זו היא בעייתית במקרים בהם מספר ההרמוניות גדול.<br />
אמנם, החלוקה לקבוצות הקטינה את מספר האמפליטודות לשידור, אך מספר הקבוצות הוא<br />
גדול, ולכן גם מספר האמפליטודות, שהיה צורך לשדרם, גדול. שיטה יעילה יותר לייצוג<br />
אמפליטודות מיושמת בגירסה המתקדמת של<br />
.HILN<br />
מספר הפרמטרים לשידור אינו תלוי<br />
במספר ההרמוניות הקיימות, והשידור נעשה ע"י מעטפת ספקטרלית, המיוצגת בעזרת מספר<br />
- 46 -
קבוע של פרמטרים<br />
(מקדמי .(LPC<br />
שיטה זו יעילה מאוד לתהליך הדחיסה, אולם, מציגה בעיה<br />
מבחינת נדרישה לייצוג מדוייק של אמפליטודות. זאת מכיוון שלא מובטח שהמעטפת<br />
הספקטרלית עוברת במדוייק (או קרוב) דרך ערכי העוצמות האמיתיות של הטונים. באופן<br />
טיפוסי, המעטפת מתקשתה בייצוג טוב, במיוחד במצבים בהם טון בעל עוצמה חזקה הוא סמוך<br />
לטון בעל עוצמה חלשה (במצבים אלו המעטפת "מעדיפה" בד"כ את העוצמות החזקות ומייצגת<br />
די במדוייק את העוצמה החזקה וגורמת להגברת העוצמה של הטון החלש). תופעות אלו גורמות<br />
להחלשת צלילים חזקים והגברתם של צלילים חלשים, דבר שמתבטא באיכות שמע לא טובה<br />
ולפעמים צורמת. שיטות לייצוג יעיל יותר של האמפליטודות מתוארות בפרק<br />
.7<br />
.5.4<br />
לאחר הוצאת כל המרכיבים הטונליים מאות הכניסה, נשארים עם אות שארית הנראה די אקראי<br />
והוא מיוצג בעזרת רעש. הבלוק להערכת פרמטרי הרעש (לפי מודל רעש) מתואר בפרק זה בסעיף<br />
בשלב האחרון, שלב של קידוד וכימות כל הפרמטרים, מייצרים סדרת סיביות המשודרת לעבר<br />
המפענח. סדרת הסיביות משודרת בקצב של 16,000 (או 12000) סיביות בשניה.<br />
הפרמטרים לקידוד הם אמפליטודות ותדרים של טונים המהווים סינוסים בדידים, תדרים<br />
יסודיים, מעטפת ספקטרלית ועוצמה עבור טונים הרמוניים ופרמטרי רעש לייצוג שארית האות.<br />
בתהליך הכימות ישנם פרמטרים המכומתים ישירות בצורה אחידה או לוגרימית, על פי מודל<br />
השמיעה האנושית וישנם פרמטרים המכומתים וקטורית. תיאור של בלוק הכימות מתואר<br />
בהרחבה בפרק<br />
.8<br />
5.3 מיצוי מרכיבים טונליים<br />
הרעיון סביבו נבנה המודל הסינוסואידלי טוען כי ניתן לייצג קטע אות שמע בעזרת סכום סופי של<br />
מרכיבים טונליים (סינוסים), כמתואר במשוואה<br />
כל סינוס, המייצג טון אמיתי של אות השמע<br />
אמפליטודה ופאזה.<br />
.2.1<br />
,<br />
מיוצג באמצעות שלושה פרמטרים: תדר,<br />
מאחר שאורך הקטע הוא מספיק קצר, ניתן להניח שהוא סטציונרי ותכונותיו כמעט ואינן<br />
משתנות.<br />
בשל עובדה זו, מניחים שהפרמטרים של הסינוס אינם משתנים במהלך מסגרת הזמן, ולכן ניתן<br />
לייצג את הסינוס בעזרת פרמטרים קבועים כמתואר במשוואה:<br />
M<br />
x(<br />
t)<br />
= ∑ a ⋅cos(2πf<br />
t + θ )<br />
i=<br />
1<br />
i<br />
i<br />
i<br />
(5.1)<br />
בבלוק של מיצוי מרכיבים טונליים יש למצוא את הפרמטרים המייצגים כל סינוס. מציאת<br />
פרמטרי התדר מתוארים בסעיף 5.3.1, מציאת פרמטרי האמפליטודות והפאזות מתוארים בסעיף<br />
.5.3.3<br />
בתהליך מיצוי המרכיבים הטונליים, עלו מספר בעיות, כמו אי יכולת למצוא את כל המרכיבים<br />
הטונליים, במיוחד אלה שתדריהם סמוכים, וזאת בגלל מגבלות רזולוציה. בסעיף<br />
אלגוריתם המנסה להתמודד עם בעיות אלו.<br />
מתואר 5.3.2<br />
- 47 -
5.3.1 מציאת תדרי הסינוסים<br />
תהליך מציאת תדרי הטונים באות השמע, הוא אחד התהליכים החשובים במודל כולו. בתהליך<br />
החיפוש אחר הטונים עולות שתי דרישות:<br />
•<br />
•<br />
דרישה למציאת כל הטונים באות הכניסה (או לפחות את הטונים המשמעותיים ביותר<br />
עפ"י מערכת השמיעה).<br />
דרישה למציאת תדרים בדיוק מירבי.<br />
הצורך במציאת תדרים בדיוק גבוה הוא חשוב, כיוון שהאוזן האנושית רגישה מאוד לשינויי<br />
תדרים עד כדי סדר גודל של<br />
.1Hz<br />
מאחר והאות מורכב ממספר גדול של טונים, רגישות האוזן<br />
לשינויי תדר, בהתייחס לטון יחיד, יורדת, אבל עדיין עומדת על סדר גודל של מספר הרצים.<br />
ניתן להבחין בטונים כשיאים (peaks) בתחום התדר. כל שיא נראה כקפיצה או כמקסימום מקומי<br />
בתחום התדר, כמתואר באיור<br />
.5.2<br />
10<br />
9<br />
8<br />
7<br />
amplitude<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
0 200 400 600 800 1000 1200 1400 1600 1800 2000<br />
frequency[Hz]<br />
איור 5.2: תחום התדר של אות שמע.<br />
ספקטרום האות משורטט בקו מלא. באיור ניתן לראות את תחום התדר שבין<br />
הטונים מופעים כשיאים, למשל, הטון הכי חזק מופיע באיזור<br />
0 ל- 2000 הרץ.<br />
400 הרץ.<br />
Figure 5.2: Audio signal in frequency domain.<br />
The spectrum is drawn with a solid line. The frequency band in the figure is between 0 to 2KHz.<br />
The tones appear as peaks, for example the strongest tone is around 400Hz.<br />
מסגרת של אות הכניסה מסומנת ב-<br />
הוא<br />
x(n) כאשר, 1-N,...,0,1,2 (N n = הוא אורך המסגרת וערכו<br />
.(512<br />
על מנת להביא לייצוג טוב יותר של תחום התדר, מכפילים את אות הכניסה בחלון<br />
Hamming (בעל 512 מקדמים)<br />
במשוואה:<br />
ומבצעים המרה מתחום הזמן לתחום התדר ע"י ,DFT כמתואר<br />
X ( k)<br />
=<br />
N<br />
∑ − 1<br />
n=<br />
0<br />
x(<br />
n)<br />
⋅h(<br />
n)<br />
⋅e<br />
2π<br />
− j⋅<br />
kn<br />
N<br />
(5.2)<br />
- 48 -
X(k) מקבל ערכים קומפלקסיים עבור כל<br />
.k = 0,1,2,3,…,N-1<br />
כל k מייצג תא תדר עם קפיצות<br />
תדר של 31.25 הרץ. מכיוו שהאמפליטודות של X(k) סימטריות אין צורך לכסות את תחום התדר<br />
שבין 8KHz הרץ ל-<br />
,16KHz<br />
לכן האינדקסים הרלוונטים הם:<br />
. k =<br />
N<br />
0,1,2...,<br />
2<br />
עוברים על הקטע בתחום התדר ומסמנים כל מקסימום מקומי, כלומר מחפשים נקודה שעוצמתה<br />
גדולה מעוצמת הנקודה הקודמת ומהנקודה הבאה לה, לפי<br />
X ( m −1)<br />
< X ( m)<br />
> X ( m + 1)<br />
(5.3)<br />
כל אינדקסי<br />
m<br />
המקיימים את משוואה<br />
5.3<br />
מסומנים בתור תדרי הטונים. ניתן לראות שכל<br />
התדרים מתקבלים בכפולות של 31.25Hz (רזולוצית תא התדר). מאחר שתדר הטון אינו בהכרח<br />
בתדר של אחת מנקודות ה-<br />
לרזולוצית תא התדר.<br />
,DFT<br />
יש לבצע תהליך של מציאת מקסימום יותר מדוייק, מעבר<br />
לשם כך מבצעים קירוב פרבולי באיזור המקסימום המקומי, הכולל את תא התדר המקבל ערך<br />
מקסימלי ושני תאי תדר שכנים. דוגמה לכך מוצגת באיור<br />
.5.3<br />
20<br />
15<br />
maximum point<br />
10<br />
5<br />
0<br />
dB<br />
-5<br />
-10<br />
-15<br />
-20<br />
-25<br />
m-1 m m+1<br />
-30<br />
700 720 740 760 780 800 820 840 860 880 900<br />
frequency[Hz]<br />
איור 5.3: קירוב פרבולי<br />
ס פ ק ט ר ו ם ה א ו ת מ ש ו ר ט ט ב ק ו מ ל א, כ א ש ר ש ל ו ש נק ו ד ו ת ב א י ז ו ר ה ש י א מ ס ו מ נ ו ת ב ע י ג ו ל מ ל א.<br />
ה מ ק ס י מ ו ם ה ל ו ק ל י ע ל פ נ י ה ס פ ק ט ר ו ם מ ת ק ב ל ב נ ק ו ד ה m (ב ד ו ג מ ה, ה ו א כ- ( 780Hz . א ך ז ה ו א י נ ו<br />
ה מ ק ס י מ ו ם ה מ ד ו י י ק . מ ק ס י מ ו ם מ ד ו י י ק נ י ת ן ל ק ב ל ב ע ז ר ת י צ י ר ת פ ר ב ו ל ה (מ ש ו ר ט ט ב ק ו מ ל א<br />
עבה) העוברת דרך שלושת הנקודות. ניתן לראות שהמקסימום האמיתי מתקבל קרוב ל-<br />
.790Hz<br />
Figure 5.3: Quadratic model<br />
The signal spectrum is drawn with a solid line, where the three dots around the peak are marked with a<br />
circle. The local maximum over the spectrum is achieved at m bin (near 780Hz in the example). This is<br />
not the exact maximum. An exact maximum can be achieved by creating a parabola (drawn with thick<br />
line), which passes through the three dots. The real maximum gets near 790Hz.<br />
תהליך מציאת מקסימה מקומיים בעזרת משוואה ריבועית מתואר ב- [47]<br />
- 49 -
יש לקחת בחשבון שהמודל הפרבולי הוא מודל מקורב ולכן,<br />
האמיתיים.<br />
יתכנו סטיות קטנות מהתדרים<br />
חיפוש תדרים לפי השיאים הנראים בתחום התדר, אינו מספיק וישנם תדרים נוספים אשר אינם<br />
נראים כשיאים בפני עצמם. למשל מצבים בהם שני תדרים סמוכים מאוד אחד לשני, מתגלים<br />
בספקטרום כשיא יחיד. תופעה זו מתרחשת עקב מגבלות רזולוציית תדר. אחד הרעיונות לפתרון<br />
בעיה זו הוא הכפלת אורך הקטע הנבחן, דבר המשפר את רזולוציית התדר פי שניים, כלומר אם<br />
כל תא תדר מייצג 31.25 הרץ, אז לאחר השינוי, אורך כל תא הוא 15.625 הרץ. שיפור זה בא על<br />
חשבון קילקול רזולוציית הזמן. במצב בו אורך המסגרת התארך, יתכנו שינויים בתכונות האות<br />
ולכן המודל לא מתאים.<br />
רעיון אחר לפיתרון הבעיה הוא שימוש באיטרציה שניה למציאת שיאים בתחום התדר. רעיון זה<br />
מיושם לאחר מציאת תדרים, בצורה הרגילה, ע"י חיפוש שיאים בתחום התדר. מחשבים את אות<br />
השארית, שהוא האות המקורי שמחסירים ממנו את סכום של סינוסים שנמצאו באיטרציה<br />
הראשונה. לאחר מכן מבצעים איטרציה שניה של חיפוש שיאים על פני אות השארית בתחום<br />
התדר ומאחדים את קבוצות התדרים (משתי האיטרציות). גישה זו מביאה לשיפור המודל<br />
הסינוסואידלי, אך אינה מדוייקת, כיוון שהתדרים שנמצאו באיטרציה הראשונה אינם מדוייקים.<br />
שיטה להפרדה טובה של תדרים מפורטת בסעיף<br />
.5.3.2<br />
5.3.2 מציאת תדרים סמוכים<br />
מציאת תדרים, על פי חיפוש ערכי מקסימום מקומיים על פני האות בתחום התדר, מביאה<br />
לקבוצת תדרים מייצגים. אולם, שיטה זו איננה מסוגלת להתמודד עם מצבים בהם שני תדרים<br />
נמצאים סמוך זה לזה, וזאת בגלל מגבלת רזולוצית תדר. רזולוצית התדר של התצוגה<br />
הספקטרלית היא בגודל של<br />
,31.25Hz<br />
בעלי תדרים הקרובים זה לזה פחות מרזולוציית תא התדר.<br />
דוגמה למצב זה ניתן לראות באיור<br />
אחד, המייצג למעשה, שני תדרים.<br />
,5.4<br />
לפיכך לא יהיה ניתן להבחין בשני שיאים כאשר שני טונים<br />
בו הספקטרום של אות כניסה מציג מקסימום מקומי<br />
250<br />
1<br />
200<br />
150<br />
100<br />
2<br />
50<br />
3 4 5 6<br />
0<br />
0 100 200 300 400 500 600 700 800 900 1000<br />
frequency[Hz]<br />
- 50 -
איור 5.4: ספקטרום האות<br />
בשרטוט מופיע ספקטרום של אות כניסה (קו מלא עבה), כאשר אות הכניסה מורכב משני טונים<br />
קרובים ו- וכל טון מורכב משש הרמוניות. התדרים האמיתיים משורטטים בקו<br />
מקווקו אנכי. ניתן לראות שההרמוניה הראשונה של שני הטונים ו- מתלכדים<br />
למקסימום מקומי אחד, המקבל מקסימום ב- .133Hz מצב דומה מתרחש עבור ההרמוניה השניה<br />
של הטונים ו- ההרמוניה הרביעית ו- וההרמוניה החמישית של<br />
מתגלים<br />
לעומתם, ההרמוניה השלישית של הטונים<br />
הטונים<br />
כשני ערכי מקסימום מקומיים, אך מאוד לא מדוייקים כתוצאה מההשפעה ההדדית של שניהם<br />
על הצורה הספקטרלית. ניתן לראות שבהרמוניה השישית (בהרמוניות הגבוהות) ההפרש בין<br />
התדרים גדול מספיק וחיפוש על פי מקסימום מקומי בלבד יכול להתאים.<br />
(140Hz<br />
130Hz)<br />
(560Hz<br />
(420Hz ו- 390Hz)<br />
520Hz)<br />
140Hz<br />
130Hz<br />
,(280Hz 260Hz)<br />
.(700Hz ו- 650Hz)<br />
Figure 5.4: Signal spectrum<br />
The spectrum is drawn with a solid thick line. The input signal is compose of two near tones at 130Hz<br />
and 140Hz, and each tone has 6 harmonics. The real frequencies are ploted with dashed vertical line. It<br />
can be seen that the first harmonic of the tones (130Hz and 140Hz) appear as one local maximum, in<br />
133Hz. The second harmonic (260Hz and 280Hz), the fourth harmonic (520Hz and 560Hz) and the<br />
fifth harmonic (650Hz and 700Hz) also appear as one local maximum. In a special case the third<br />
harmonic (390Hz and 420Hz) appeared as two local maxima, but they are very inaccurate, as a result of<br />
the mutual influence on the spectral shape. It can be seen that in the sixth harmonic (high harmonics)<br />
the difference between the frequencies is high enough and searching by the principle of local maxima<br />
can be suitable.<br />
שלב ראשון של תהליך מיצוי המרכיבים הטונליים תואר בסעיפים קודמים,<br />
והוא מבוצע ע"י<br />
,<br />
{ } P i i<br />
f<br />
= 1<br />
חיפוש ערכי מקסימום מקומיים בתחום התדר והרכבת קבוצה של תדרים מייצגים<br />
תדר מחושבים עוצמות בשיטת<br />
לכל<br />
.Least Squares<br />
,<br />
f i<br />
בשלב שני בודקים האם כל תדר בקבוצה,<br />
("מסתתר" מאחוריו תדר נוסף). הבדיקה מבוצעת בשני שלבים:<br />
הוא אכן תדר יחיד או שהוא מייצג שני תדרים<br />
fi +1<br />
− fi<br />
<<br />
בדיקת תדרים קרובים בתוך הקבוצה עצמה.<br />
df<br />
(5.4)<br />
•<br />
מ-<br />
כמו למשל, ההרמוניה השלישית של שני הטונים (איור 5.4). בספקטרום מתגלים שני ערכי<br />
מקסימום מקומיים שיוכנסו לתוך קבוצת התדרים. מכיוון ששני התדרים סמוכים (פחות<br />
(df הם, ככל הנראה, לא מדוייקים ולכן שני התדרים יועברו לאלגוריתם למציאת שני<br />
תדרים סמוכים.<br />
• בדיקת שארית האות. שארית האות מחושבת ע"י,<br />
M<br />
n<br />
residual( n)<br />
= x(<br />
n)<br />
− ∑ ai<br />
⋅cos(2πf<br />
i<br />
⋅ + φi<br />
)<br />
i=<br />
1<br />
fs<br />
(5.5)<br />
,a i הם φ i<br />
כאשר x(n)<br />
הוא אות הכניסה, f i הוא תדר בקבוצת M תדרים מייצגים, ו-<br />
האמפליטודה והפאזה של הסינוס ה- i.<br />
השארית מומרת לתחום התדר ע"י:<br />
- 51 -
R =<br />
DFT (residual)<br />
(5.6)<br />
ערכי השארית בתחום התדר<br />
(R)<br />
נבדקים סביב כל תדר מקבוצת התדרים.<br />
המשמעות של ערך שארית גבוה הוא שהייצוג של איזור התדר באמצעות תדר יחיד אינו<br />
מספיק טוב ולכן באיזור תדר זה מחפשים שני תדרים על פי האלגוריתם, המתואר בסעיף<br />
הבא.<br />
5.3.2.1 תיאור אלגוריתם למציאת תדרים סמוכים<br />
בגישה הישירה מנסים להביא למינימום את השגיאה E לפי,<br />
E<br />
⎛⎛<br />
N 1<br />
= ∑<br />
− M<br />
⎜<br />
⎜ x(<br />
n)<br />
−<br />
n= 0 i=<br />
1<br />
⎝⎝<br />
n ⎞<br />
cos(2 ) ( )<br />
⎟ ⎞<br />
∑ ai<br />
⋅ πfi<br />
⋅ + φi<br />
⎟ ⋅ w n<br />
fs ⎠ ⎠<br />
2<br />
(5.7)<br />
כאשר x(n) הוא אות הכניסה, f i הוא תדר בקבוצת M תדרים מייצגים, ו-<br />
והפאזה של הסינוס ה-<br />
,a i<br />
φ i הם האמפליטודה<br />
.i<br />
כאשר ישנם שני תדרים סמוכים,<br />
fs הוא קצב הדגימה של אות הכניסה ו- w(n) הוא פונקצית החלון.<br />
מסמנים:<br />
.M=2<br />
יש למצוא את הפרמטרים שאינם ידועים<br />
(אמפליטודה, תדר ופאזה של שני הסינוסים) אשר יביאו את השגיאה למינימום.<br />
אולם הפיתרון אינו פשוט כל כך. השוואת הנגזרת של<br />
E<br />
לאפס מובילה לקבוצת משוואות לא<br />
לינאריות מסובכות. על מנת לפשט את הבעיה נניח תחילה שקבוצת התדרים ידועה. פיתרון למצב<br />
זה מוצג בנספח א'.<br />
השגיאה E מוצגת בתחום התדר ומוגדרת ע"י הביטוי:<br />
E =<br />
T<br />
( X − Q ⋅ A) ⋅( X − Q ⋅ A)<br />
(5.8)<br />
X כאשר<br />
הוא ספקטרום האות,<br />
A<br />
בתחום התדר מוזזות לפי קבוצת התדרים.<br />
הוקטור<br />
, A<br />
(LeastSquare) הוא:<br />
וקטור אמפליטודות ו- Q מטריצה הכוללת פונקציות חלון<br />
אשר מביא למינימום השגיאה והמחושב בעזרת שיטת הריבועים הפחותים<br />
A = ( Q<br />
T<br />
⋅ Q)<br />
−1<br />
⋅ Q<br />
T<br />
⋅ X<br />
(5.9)<br />
ע"י הצבת A<br />
בביטוי השגיאה (משוואה<br />
,(5.9<br />
ניתן לראות שהשגיאה E ניתנת לתיאור במונחים של<br />
המטריצה Q ע"י:<br />
- 52 -
E = X<br />
T<br />
T −1<br />
T<br />
T<br />
( I − Q(<br />
Q Q)<br />
Q ) X = X ( I − P ) X<br />
T<br />
(5.10)<br />
כאשר P T קרויה מטריצת ההיטל של Q.<br />
ניתן לראות שהשגיאה מקבלת מינימום כאשר מביאים את הביטוי X T·P T·X למקסימום. הרעיון<br />
של הבאת השגיאה E למינימום, מתאים במיוחד למיקרים בהם קבוצת התדרים לא ידועה.<br />
לפיכך, אם האות מורכב משני סינוסים קרובים, ניתן להפרידם ע"י הבאת הביטוי<br />
X T·P T·X<br />
למקסימום. בביטוי זה אין תלות כלל בוקטור העוצמות a, הביטוי תלוי אך ורק בקבוצת תדרים.<br />
לא ניתן לפתור בעיה זו ע"י סט משוואות, כמו בשיטת הריבועים הפחותים, אלא ע"י הצבת<br />
צירופים שונים של תדרים (זוג תדרים) וחיפוש הזוג המביא את הביטוי X T·P T·X למקסימום.<br />
מאחר שקבוצת התדרים כוללת כאן רק שני תדרים, ובנוסף ידוע ששני התדרים קרובים אחד<br />
לשני, אפשר (וגם רצוי) להתמקד באיזור מסויים בתחום התדר, מאשר לבצע את החישוב על פני<br />
כל תחום התדר. הרעיון לבצע את החישובים בתחום מצומצם על פני תחום התדר הוא עדיף הן<br />
בגלל קבלת תוצאות מדויקות יותר והן מבחינת סיבוכיות (עומס חישובים), שכן חישוב המטריצה<br />
P T מצריך הפיכת מטריצות והכפלת מטריצות בגודל מספר תאי התדר.<br />
כמו כן, לקבלת תוצאות מדוייקות יותר מבודדים גם את אות הכניסה X, כך שיכיל רק את שני<br />
התדרים, על מנת שטונים אחרים לא ישפיעו על ההחלטה (כיוון שכל טון משפיע על כלל הצורה<br />
הספקטרלית). תהליך זה מבוצע ע"י הורדת כל שאר המרכיבים הטונלים מאות הכניסה המקורי<br />
כמתואר במשוואה:<br />
⎧<br />
M<br />
n ⎫<br />
X = DFT ⎨x( n)<br />
− ∑ ai<br />
⋅cos(2π<br />
⋅ fi<br />
⋅ + φi<br />
) ⎬<br />
(5.11)<br />
⎩<br />
i=<br />
1, i≠J<br />
fs ⎭<br />
ניתן לראות, שמאות הכניסה מוציאים את כל הטונים פרט לטון J, שחשוד כמייצג שני תדרים.<br />
וקטור X הוא בגודל של<br />
512 ערכים<br />
(למעשה רק 256 בגלל סימטריה). אבל מקצצים אותו לתחום<br />
התדר הרלוונטי סביב האינדקס בו מתקבל מקסימום מקומי. תחום התדר כולל את הערך בו<br />
מתקבל מקסימום מקומי, שני ערכים לפניו ושני ערכים אחריו ובסה"כ חמישה ערכים.<br />
גם המטריצה Q (המרכיבה את המטריצה<br />
,(P T<br />
(חמישה ערכי תדר בלבד, במקום כל תחום התדר, הכולל<br />
כוללת חלונות מוזזים בתחום המצומצם של התדר<br />
256 ערכים).<br />
באיור 5.5 ניתן לראות שרטוט תלת מימדי של הביטוי X T·P T·X עבור שני תדרים בלתי תלויים<br />
f 1<br />
ו- .f 2<br />
השרטוט הוא סימטרי ביחס לאלכסון, מכיוון ששמות הפרמטרים<br />
להחליפם.<br />
f 1 ו-<br />
f 2 הם לא יחודיים וניתן<br />
המיקום של המקסימום הגלובלי בשרטוט התלת מימדי נותן שיערוך של שני תדרי<br />
הסינוסים, כל אחד לאורך כל ציר.<br />
איורים<br />
סמוכים,<br />
5.7<br />
-5.5<br />
מתארים את מדד ההתאמה<br />
.X T·P T·X<br />
.140Hz ו- 130Hz<br />
באיור 5.6 ניתן לראות את אותו השרטוט בהגדלה<br />
אות הכניסה מורכב משני תדרים<br />
(zoom in)<br />
ובאיור<br />
- 53 -
5.7 משורטט מבט על, שם ניתן לראות בבירור את שני הצירים ואת ההחלטה על שני התדרים (לפי<br />
הערך המקסימלי).<br />
איור 5.5: מדד התאמה כפונקציה של שני תדרים.<br />
הביטוי הוא פונקציה של שני משתנים (שני תדרים). כל זוג תדרים נותן ערך מסויים<br />
ובצירוף כל זוגות התדרים מרכיבים את הגרף התלת מימדי המקסימום מסומן ע"י נקודה<br />
שחורה . בדוגמה אות הכניסה מורכב משני טונים בעלי תדרים 130Hz ו- .140Hz<br />
.<br />
X T·P T·X<br />
Figure 5.5: Matching measure as a function of two frequencies.<br />
The expression X T·P T·X is a function of two variables (two frequencies). Each couple of frequencies<br />
gives a specific value, and the combination of all the couples construct the tri-dimensional plot. The<br />
maximum is marked with black dot. In the example the input signal is compose of two tones with<br />
frequencies at 130Hz and 140Hz.<br />
איור 5.6: מדד התאמה כפונקציה של שני תדרים (איזור מוגדל).<br />
גרפים של הביטוי X T·P T·X כפונקציה של שני תדרים (ציר x וציר y). הגרפים הם הגדלות של הגרף<br />
באיור 5.5. איור שמאלי מציג הגדלה אחת ואיור ימין מציג הגדלה נוספת.<br />
Figure 5.6: Matching measure as a function of two frequencies (zoom in).<br />
Plots of the expression X T·P T·X as a function of two frequencies (x axis and y axis). The plots are zoom<br />
in of figure 13. The left plot is one zoom in and the right plot present a further zoom in.<br />
- 54 -
איור 5.7: מדד התאמה כפונקציה של שני תדרים (מבט על)<br />
הגרף מציג מבט על של איור 5.5, ממבט זה ניתן להבחין בתדרים המביאים לערך המקסימלי.<br />
ניתן לראות שאכן זוג התדרים 140Hz הם אלה המביאים את הביטוי למקסימום.<br />
130Hz ו-<br />
Figure 5.7: Matching measure as a function of two frequencies (overhead look).<br />
The plot indicate a overhead look of figure 13, from this look it can notice the frequencies that gets the<br />
maximal value. It can be seen that indeed the couple of frequencies 130Hz and 140Hz are those who<br />
maximize the expression.<br />
לאחר מציאת התדרים של כל הטונים בקטע האות, מחשבים את עוצמתם לפי אלגוריתם המתואר<br />
בסעיף הבא.<br />
5.3.3 מציאת אמפליטודות הסינוסים<br />
בהינתן תדרי הטונים, ניתן לחשב את העוצמות למיזעור פונקציית השגיאה:<br />
511⎛⎛<br />
M<br />
n ⎞<br />
∑ ( ) cos(2 ) ( )<br />
⎟ ⎞<br />
E = ⎜<br />
⎜ x n − ∑ ai<br />
⋅ πfi<br />
⋅ + φi<br />
⎟ ⋅ w n<br />
n= 0 1<br />
⎝⎝<br />
i=<br />
fs ⎠ ⎠<br />
2<br />
(5.12)<br />
כאשר x(n) הוא אות הכניסה, (i=1,2…,M) f i<br />
ו-<br />
הם תדרי הטונים שנמצאו, fs הוא קצב הדגימה<br />
(16000)<br />
קבוצת הנעלמים הם<br />
φהם i a, i האמפליטודה והפאזה של הטון ה- w(n) i. היא פונקצית החלון.<br />
אמפליטודות ופאזות שאותם צריכים למצוא כך שהביטוי יתן ערך<br />
,5.12<br />
M<br />
מינימלי.<br />
ביטוי השגיאה,<br />
כפי שהוא מופיע במשוואה<br />
השגיאה למקביל לו בתחום התדר.<br />
כתוב בתחום הזמן.<br />
ניתן להפוך את ביטוי<br />
- 55 -
הפרמטרים מחושבים לפי שיטת Least Squares (המרובעים הפחותים). תהליך החישוב מפורט<br />
בנספח א'.<br />
תוצאת החישוב נותנת סדרת עוצמות, המביאה להתאמה מירבית בין מסגרת הכניסה ובין המודל<br />
של סכום סינוסים בתדרים נתונים.<br />
5.4 מודל רעש<br />
שארית האות לאחר הורדת כל המרכיבים הטונליים הוא אות אקראי,<br />
ומתואר ע"י:<br />
הניתן לייצוג כרעש<br />
M<br />
n<br />
residual( n)<br />
= x(<br />
n)<br />
− ∑ ai<br />
⋅cos(2πf<br />
i<br />
⋅ + φi<br />
)<br />
i=<br />
1<br />
fs<br />
(5.13)<br />
כאשר x(n) הוא אות הכניסה ו- M מספר הסינוסים שנמצאו.<br />
ההנחה היא ששארית האות הוא אות אקראי (רעש), לכן ניתן לייצגו ע"י ייצור רעש לבן הנכנס<br />
,IIR למסנן<br />
שמקדמיו הן מקדמי ה-<br />
LPC<br />
(מעטפת ספקטרלית של הרעש) ובעל עוצמה<br />
(Gain)<br />
מתאימה.<br />
לפיכך, הפרמטרים המייצגים את הרעש הם מקדמי ה- LPC ופרמטר של עוצמה. תהליך חישוב<br />
הפרמטרים מתואר ב- [48].<br />
יש לציין, ששישנם מסגרות אות שמע בהם המרכיבים הטונליים משמעותיים ולעומתם מרכיב<br />
הרעש קטן מאוד ואף זניח. במסגרות אלו אין צורך בשידור מרכיב הרעש. הבדיקה של קיום<br />
מרכיב הרעש באות הכניסה נעשת ע"י בדיקת האנרגיה של אות השארית<br />
לאנרגיית האות עצמו. ערך הסף הוא 10% מאנרגית אות הכניסה.<br />
(residual)<br />
ביחס<br />
5.5 פיענוח וסיתזה<br />
מבנה המפענח של המודל הפרמטרי המוצע דומה מאוד למפענח .HILN<br />
5.8, באיור<br />
ניתן לראות סכימת מלבנים של המפענח.<br />
שמע אות<br />
יצירת<br />
טונים<br />
הרכבת<br />
פאזות<br />
פרמטרי<br />
טונים<br />
הפכי קידוד<br />
פרמטרים<br />
מקודדים<br />
הפכי כימות<br />
הפרמטרים של<br />
סיביות רצף<br />
+ החלקה<br />
ייצור<br />
רעש<br />
פרמטרים<br />
רעש לייצור<br />
- 56 -
איור 5.8: מבנה המפענח של המודל המוצע.<br />
Figure 5.8: Block diagram of the proposed model decoder.<br />
בשלב ראשון מבוצע במפענח תהליך של כימות הפכי לקבלת הפרמטרים המקודדים.<br />
בשלב השני מבצעים תהליך של קידוד הפכי. במסגרת בלוק זה מייצרים את קבוצת התדרים של<br />
כל ההרמוניות, תחילה התדרים השייכים לתדר היסודי הראשון ולאחר מכן, תדרים השייכים<br />
לתדר היסודי השני, אם הוא קיים.<br />
תדרי ההרמוניות מיוצרים ע"י הכפלת התדר היסודי הראשון בכפולות שלמות. כאשר, הכפולות<br />
מצויינות ע"י הסדרה<br />
.Harm_Place1<br />
אם קיים תדר יסודי שני, מרחיבים את קבוצת התדרים<br />
תוך הכפלת תדר הבסיס השני בכפולות שלמות, המתוארות ע"י הסדרה .Harm_Place2<br />
לכל תדר בקבוצה מחושבת אמפליטודה ע"י דגימת המעטפת הספקטרלית בתדר כמתואר<br />
במשוואה:<br />
a<br />
m<br />
=<br />
N<br />
1−<br />
Gain<br />
∑<br />
i=<br />
1<br />
a ⋅ z<br />
i<br />
−i<br />
(5.14)<br />
כאשר<br />
. z = e<br />
− j 2πfm<br />
FS<br />
המעטפת הקומפלקסית מחושבת מפרמטרי<br />
למילה מתאימה במילון.<br />
תהליך ההמרה מתואר בנספח ג'.<br />
המילה מורכבת מ-<br />
,LPC<br />
20<br />
המפוענחים על ידי שיוך האינדקס ששודר<br />
פרמטרי<br />
,LSF<br />
שמומרים למקדמי ה-<br />
.LPC<br />
לאחר פיענוח הפרמטרים (תדר ואמפליטודה) של כל ההרמוניות, מפענחים את הפרמטרים של<br />
הסינוסים הבדידים.<br />
על פי דגלי הרציפות,<br />
ניתן לדעת אם תדרים בדידים ממסגרת קודמת<br />
נמשכים גם למסגרת נוכחית. במצב בו דגל הרציפות שווה ל- '1' (קיום רציפות), אזי תדר הסינוס<br />
שווה לתדר שקודד ממסגרת קודמת כפול הפרמטר החדש, המראה על שינוי התדר. אותו תהליך<br />
מתרחש לפיענוח האמפליטודה של הסינוס.<br />
סינוסים חדשים (שאינם רציפים) מפוענחים ישירות בעזרת פרמטר תדר ופרמטר אמפליטודה.<br />
לאחר פיענוח הפרמטרים של כל המרכיבים הטונליים<br />
פרמטר הפאזה שלא משודר ברצף הסיביות.<br />
(הרמוניות ובדידים),<br />
נשאר לפענח את<br />
למעשה, הפאזה ההתחלתית של כל טון אינה חשובה, ולכן היא מיוצרת בצורה אקראית בין<br />
0 ל-<br />
. 2π אולם, האוזן האנושית מבחינה בעיוות כאשר הפאזה אינה רציפה ממסגרת למסגרת ולכן יש<br />
צורך בשמירה על פאזה רציפה.<br />
חישוב פאזה עבור טון המתמשך ממסגרת קודמת נתון ע"י:<br />
θ<br />
new<br />
= θ + 2π<br />
⋅rem(<br />
f ⋅<br />
old<br />
i<br />
frame _ size<br />
,1)<br />
fs<br />
(5.15)<br />
- 57 -
כאשר frame_size מציין את גודל המסגרת<br />
תדר הטון.<br />
(512 דגימות).<br />
Fs הוא תדר הדגימה<br />
,(16000) i f הוא<br />
הביטוי בתוך rem מציין את מספר אורכי הגל שעבר הסינוס במהלך המסגרת האחרונה. שינוי<br />
o<br />
הזווית מוגדר כשארית של אורכי הגל כפול , 2π שכן אורך גל שלם מוגדר כהפרש של 360.<br />
פיענוח פרמטרי הרעש מבוצע ע"י קבלת<br />
מקדמי<br />
10 פרמטרי ,LSF<br />
לפי האינדקס במילון, המרתם ל-<br />
10<br />
LPC<br />
מפוענח פרמטר העוצמה.<br />
(תהליך ההמרה מתואר בנספח ג'), המהוים מקדמיו של מסנן<br />
.All-pole<br />
בנוסף<br />
שלב ייצור האות מבוצע בעזרת שני מייצרי אות, לפי סוג המרכיב (טונים או רעש).<br />
המרכיבים הטונליים מיוצרים בעזרת מחולל סינוסים, בתדר, אמפליטודה ופאזה נתונים. מחולל<br />
רעש מייצר את מרכיב הרעש ע"י הכנסת רעש לבן למסנן<br />
,All-pole<br />
.LPC<br />
שמקדמיו הם מקדמי ה-<br />
האותות המשוחזרים מסוכמים יחד ועוברים שלב של החלקה. מטרת ההחלקה היא לבצע מעבר<br />
שמע חלק ממסגרת למסגרת, כיוון שהייצור מבוצע על מסגרת בודדת והחיבור בין המסגרת עלול<br />
להישמע צורם לאוזן. פונקציית ההחלקה מתוארת באיור<br />
.5.9<br />
512 samples<br />
5.9: איור<br />
פונקצית ההחלקה.<br />
Figure 5.9: Smoothing function.<br />
5.6 סיכום<br />
בפרק תואר המודל הפרמטרי המוצע. המודל מנסה לשפר את המודל הפרמטרי הסטנדרטי עפ"י<br />
.HILN השיפור הוא בתחום באיכות השמע, בעזרת מיצוי מירבי של טונים באות השמע וייצוג<br />
אמפליטודות משופר. השיפור הוא גם בתחום יעילות הקידוד, בעזרת חישוב תדרים יסודיים,<br />
- 58 -
הנותנים כיסוי מירבי של תדרי הטונים ולפיכך משאירים מספר מצומצם יותר של סינוסים<br />
בדידים.<br />
השוואה בין המקודדים והשינויים העיקריים שבוצעו במודל ה- HILN מסוכמים בטבלה<br />
.5.1<br />
מקודד פרמטרי מוצע<br />
Offered Parametric Encoder<br />
תקן HILN<br />
HILN Standard<br />
מציאת סינוסים בדידים בלולאת<br />
ניתוח/סינתזה. בכל שלב מחושב סינוס יחיד,<br />
וקלט חדש נכנס ללולאה והוא מחושב ע"י<br />
החסרת כל הסינוסים שנמצאו, מאות הכניסה<br />
המקורי.<br />
אין שלב של חיפוש סינוסים בעלי תדרים<br />
סמוכים.<br />
תדרי הסינוסים מחושבים בצורה מדוייקת יותר<br />
בעזרת שינויי פאזה.<br />
המודל הפסיכואקוסטי משולב בשלב של מציאת<br />
הסינוסים בלולאה. בכל שלב מחושב סף מיסוך<br />
חדש המושפע מכלל הסינוסים שנמצאו עד<br />
השלב הנוכחי. הסינוס שנבחר בכל שלב הוא זה<br />
שעוצמתו היא מקסימלית ביחס לסף המיסוך.<br />
במסגרת המודל ההרמוני מחושב תדר יסודי<br />
כל הסינוסים מחושבים בשלב אחד,<br />
ע"י מציאת<br />
מקסימה מקומי בתחום התדר.<br />
שלב שני של מציאת סינוסים, הכולל סינוסים סמוכים<br />
מאוד בתחום התדר לסינוסים שנמצאו בשלב הראשון.<br />
תדרי הסינוסים מחושבים בצורה מדוייקת יותר בעזרת<br />
מודל פרבולי (מציאת מקסימום במשוואה ריבועית).<br />
המודל הפסיכואקוסטי משולב לאחר מציאת כל<br />
הסינוסים. מחושב סף מיסוך המושפע מכלל האות,<br />
מרכיבים טונליים ומרכיבי רעש.<br />
המודל הפסיכואקוסטי משמש לדילול הסינוסים. כל<br />
(pitch)<br />
יחיד. ה-<br />
pitch<br />
מחושב בתהליך נפרד<br />
(בשיטת ה- (cepstrum ישירות מאות הכניסה.<br />
ישנם אותות שמע בהן לא קיים .pitch<br />
ה-<br />
סינוס, שעוצמתו לא עוברת סף מיסוך, מוצא מן<br />
הרשימה.<br />
במסגרת המודל ההרמוני מחושבים מספר תדרים<br />
יסודיים. תמיד משודר תדר יסודי (pitch) אחד לפחות.<br />
pitch<br />
מחושב בהמשך התהליך (על פני קבוצת<br />
הסינוסים שנמצאה) והוא מהווה גורם משותף למרבית<br />
קבוצת התדרים.<br />
1<br />
2<br />
3<br />
4<br />
5<br />
- 59 -
התדר היסודי המחושב הוא<br />
pitch<br />
אמיתי,<br />
וסביר להניח שבכל (או מרבית) ההרמוניות<br />
קיימים תדרים, אך מספר התדרים שהתדר<br />
היסודי מייצג הוא לא גדול, ונשארים הרבה<br />
סינוסים, שישודרו באמצעות מודל סינוסים<br />
בדידים.<br />
קיים פרמטר של מתיחת תדר, המתקן את<br />
סטיית תדרי ההרמוניות מכפולות שלמות של<br />
תדר ה-<br />
התדרי היסודיים אינם אמיתיים. הם תדרים<br />
שכפולותיהם נותנים כיסוי מקסימלי לקבוצת התדרים<br />
הקיימת, ומותירים מספר מועט של סינוסים בדידים.<br />
לא קיים פרמטר מתיחת תדר, כיוון שהסטייה אקראית.<br />
.pitch<br />
הסטייה גדלה בצורה לינארית<br />
עם מספר ההרמוניה.<br />
ייצוג עוצמות של הרמוניות ע"י מעטפת<br />
ספקטרלית<br />
שיפור מודל ייצוג מעטפת ספקטרלית, באמצעות<br />
,warping צמצום תחום דינמי ואיטרציות ושימוש בשתי<br />
מעטפות ספקטרליות.<br />
(מקדמי (LPC<br />
6<br />
7<br />
8<br />
טבלה 5.1: השוואה בין מקודד HILN למקודד הפרמטרי המוצע.<br />
Table 5.1: Comparing the HILN encoder to the proposed parametric encoder.<br />
- 60 -
פרק 6<br />
מציאת תדרים יסודיים<br />
6.1 הקדמה<br />
תדר יסודי<br />
(pitch)<br />
הינו פרמטר המציין את מחזוריות האות בתחום הזמן ולכן כפולותיו<br />
(הרמוניות) מופיעות באות השמע.<br />
הקיום של ה- pitch בולט מאוד באותות דיבור. כאשר מתבוננים על אות דיבור בתחום הזמן (על<br />
קטע מספיק ארוך), ניתן לראות מחזוריות בולטת, כאשר באותות דובר יחיד יש pitch יחיד.<br />
אלגוריתמים למציאת תדר יסודי באותות דיבור מניב בד"כ תוצאות אמינות. לעומתם, חיפוש<br />
תדר יסודי באותות שמע כלליים, לרבות אותות מוסיקה, אינו תהליך כל כך פשוט. אותות<br />
מוסיקה הם אותות מורכבים הרבה יותר מאותות דיבור, כיוון שהם יכולים לכלול מספר תדרים<br />
יסודיים.<br />
תכונה זו מצריכה אלגוריתם למציאת מספר רב של תדרים יסודיים.<br />
בפרק מתוארות מספר שיטות למציאת מספר תדרים יסודיים ובסעיף<br />
המוצעת.<br />
6.6<br />
מתוארת השיטה<br />
6.2 אלגוריתם למציאת תדרים יסודיים בשיטת האוטוקורלציה<br />
האלגוריתם הנדון מתאר שיטה למציאת מספר תדרים יסודיים<br />
(multi-pitch)<br />
ב- [22] .[23]<br />
בשלב ראשון אות הכניסה מוכפל בחלון<br />
מעביר תחום<br />
.Hamming<br />
(bandpass)<br />
עד 70Hz בין<br />
.1000Hz<br />
ומוסבר בהרחבה<br />
לאחר מכן, מעבירים את האות דרך מסנן<br />
הסינון מבוצע על מנת להקל בחישוב<br />
האוטוקורלציה ולהתמקד בתחום התדרים הרלוונטי. נקודת החיתוך התחתונה של המסנן,<br />
,70Hz<br />
נבחרה כך ש- DC ותדרים נמוכים מאוד לא יילקחו בחשבון.<br />
נקודת החיתוך העליונה של המסנן, ב-<br />
,1000Hz<br />
לא קריטית, והיא יכולה לנוע בין<br />
,2000Hz בתלות בגבול העליון של התדרים היסודיים, שניתן להעריכם.<br />
לאחר מכן מחושבת פונקציית האוטוקורלציה של המסגרת לפי הנוסחה:<br />
ל- 800Hz<br />
corr = IDFT<br />
{ DFT{ x}<br />
}<br />
k<br />
(6.1)<br />
כאשר x הוא אות הכניסה ו- k הוא קבוע.<br />
- 61 -
עבור אוטוקורלציה רגילה משתמשים ב 2=k אבל עדיף להשתמש בערך קטן יותר (0.5=k), לקבלת<br />
תוצאות טובות יותר.<br />
באיור 6.1 ניתן לראות דוגמה לפונקציית אוטוקרלציה.<br />
0.5<br />
0.4<br />
0.3<br />
0.2<br />
0.1<br />
220Hz<br />
185Hz<br />
147Hz<br />
0<br />
-0.1<br />
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014<br />
time [sec]<br />
איור פונקציית אוטוקורלציה.<br />
בדוגמה נבדק אות מוסיקלי של קלרינט, הכולל שלושה תדרי בסיס ב-<br />
כל שיא על פני פונקציית האוטוקרלציה יכול לתת אינדיקציה לתדר יסודי. מאחר והפונקציה היא<br />
בתחום הזמן, הערך ההופכי נותן את התדר, למשל ב- שניה מתקבל שיא המייצג את<br />
185 ,147 ו- 220 הרץ.<br />
0.0045<br />
:6.1<br />
.1/0.0045=220Hz<br />
Figure 6.1: Autocorrelation function.<br />
Autocorrelation function of a musical (clarinet) signal, which is composed of three fundamental<br />
frequencies at 147, 185 and 220 Hz. Each peak in the autocorelation function gives an indication for a<br />
fundamental frequency. Since the function is presented in the time domain, the inverse value gives the<br />
frequency, for example, there is a peak at 0.0045 sec which represents 1/0.0045 = 220Hz.<br />
(peaks)<br />
כפי שניתן לראות באיור 6.1,<br />
פונקציית האוטוקורלציה מתארת הרבה נקודות שיא<br />
וקשה<br />
להחליט אילו מהן מייצגות תדרים יסודיים.<br />
הפונקציה מייצרת נקודות שיא בכל כפולה שלמה של תדר יסודי. לכן, מבצעים תהליך של דילול<br />
וקיצוץ בנקודות השיא.<br />
תחילה משאירים רק את הערכים החיוביים, כמתואר באיור 6.2.<br />
- 62 -
0.4<br />
0.35<br />
0.3<br />
0.25<br />
0.2<br />
0.15<br />
0.1<br />
0.05<br />
0<br />
220Hz<br />
185Hz<br />
147Hz<br />
איור<br />
-0.05<br />
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014<br />
time [sec]<br />
:6.2<br />
פונקציית האוטוקרלציה לאחר השארת ערכים חיוביים בלבד.<br />
Figure 6.2: Autocorrelation function after leaving positive values only.<br />
6.2 באיור<br />
ניתן לראות בבירור את שלושת השיאים המייצגים את שלושת התדרים היסודיים.<br />
בנוסף, ניתן לראות שיאים גם בכפולות של המחזור היסודי, למשל תדר הבסיס ,220Hz מיוצג ע"י<br />
שיא בזמן<br />
,0.0045sec<br />
מתקבל גם שיא בכפולה שלו בזמן<br />
.0.009sec<br />
אם השרטוט היה מוצג על<br />
פני כל תחום הזמן ,(0.032sec) היה ניתן לראות גם שיאים המופיעים בכפולות זמן של פי<br />
וכך הלאה. למעשה, שיאים הנמצאים מעל הזמן<br />
תדרים של 50Hz ומטה.<br />
4 פי ,3<br />
0.02sec<br />
אינם מעניינים, כיוון שהם מייצגים<br />
על מנת להוריד את השיאים הלא רלוונטים, למשל את השיאים הנמצאים בכפולות השיא<br />
הבסיסי, מייצרים אות הזהה לאוטוקורלציה, אבל הוא מורחב בתחום הזמן פי 2. אות זה מוחסר<br />
מאות האוטוקרלציה המקורי (המוצג באיור<br />
(6.2<br />
ולבסוף משאירים, שוב, רק את הערכים<br />
החיובים. פעולה זו מוציאה את כל נקודות השיא עם זמן כפול, כאשר השיא הראשוני גבוה יותר<br />
מהשיא בזמן הכפול. פעולה זו גם מוציאה חלקים מפריעים הקרובים לאפס בתחום הזמן. תוצאת<br />
הדילול מוצגת באיור<br />
.6.3<br />
0.1<br />
0.08<br />
0.06<br />
0.04<br />
0.02<br />
0<br />
-0.02<br />
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014<br />
time [sec]<br />
6.3: איור<br />
פונקציית אוטוקרלציה מדוללת.<br />
Figure 6.3: Diluted autocorrelation function.<br />
- 63 -
ניתן לחזור על פעולה זו עבור הרחבת ציר הזמן פי<br />
4 ,3<br />
וכך הלאה, עד אשר מוציאים את כל<br />
הכפולות. בסופו של דבר נשארים עם מספר מצומצם של נקודות שיא המייצגות את התדרים<br />
היסודיים.<br />
אלגוריתם זה אינו מתאים בהרבה מקרים, במיוחד עבור אותות שמע מורכבים, כיוון שנותרים<br />
(לאחר הדילול) שיאים נוספים, כמו השיא שנראה באיור<br />
,6.3<br />
בזמן .0.0015sec שיא זה מייצג את<br />
תדר ,660Hz שהוא למעשה ההרמוניה השלישית של תדר יסודי 220Hz והוא בעל עוצמה גבוהה<br />
מהאחרים, כלומר העוצמה של הטונים משפיעה על התוצאות. כמו כן, האלגוריתם הוא בעייתי,<br />
כאשר התדרים היסודיים גבוהים יחסית ולכן ממוקמים קרוב לזמן אפס בפונקציית<br />
האוטוקורלציה. כתוצאה מכך, פונקצית האוטוקורלציה מציגה שיאים במספר רב של כפולות,<br />
ותהליך הדילול יצטרך להתבצע גם עבור כפולות גבוהות (פי<br />
6 פי ,5<br />
וכדומה). פעולת הדילול<br />
בכפולות גבוהות עלולה לדרוס את השיאים (של הכפולה הראשונה), כיוון שקרוב מאוד לאפס<br />
הפונקציה נותנת ערכים לא רלוונטים (כפי שניתן לראות באיור 6.2) חיוביים וגדולים.<br />
חסרון נוסף המתבלט כאשר ישנם לפחות שני תדרי בסיס גבוהים, הוא הרזולוצייה בתחום הזמן.<br />
במצב זה, פונקציית האוטוקרלציה לא תציג שני שיאים, אלא שיא אחד.<br />
תופעה זו מוצגת באיור<br />
.6.4<br />
0.1<br />
0.08<br />
130Hz<br />
0.06<br />
0.04<br />
570Hz<br />
390Hz<br />
0.02<br />
0<br />
-0.02<br />
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014<br />
tim e [sec]<br />
:6.4<br />
איור פונקצית אוטוקרלציה לאחר דילול אחד.<br />
בדוגמה, קטע אות מוסיקלי הכולל שלושה תדרים יסודיים:<br />
השיאים המייצגים מופיעים בתחום הזמן קרוב לאפס. ניתן לראות שאין שני שיאים עבור<br />
התדרים 520 הרץ ו- 660 הרץ, אלא שיא אחד ב- 570 הרץ.<br />
520 ,390 ו- 660 הרץ.<br />
Figure 6.4: Autocorrelation function after one dilution.<br />
The example shows the autocorelation function of a musical signal, which is composes of three<br />
fundamental frequencies at: 390, 520, 660 Hz. The represented peaks appear in the time domain near<br />
zero. It can be seen that there aren't two peaks for the frequencies 520 and 660 Hz, but one peak at<br />
570Hz.<br />
באיור 6.4 ניתן לראות שיא חזק מאוד, שהוא נחלש מעט לאחד דילול עבור הכפולות פי<br />
4. השיא<br />
נמצא בזמן 0.0077 שניה המייצג תדר של .130Hz תדר זה הוא למעשה התדר המשותף לשלושת<br />
התדרים היסודיים ולכן הוא מופיע בצורה בולטת. דוגמה למצב בעייתי נוסף מוצג באיור<br />
.6.5<br />
- 64 -
0.07<br />
0.06<br />
380Hz<br />
0.05<br />
0.04<br />
300Hz<br />
0.03<br />
0.02<br />
0.01<br />
0<br />
-0.01<br />
-0.02<br />
0 0.002 0.004 0.006 0.008 0.01 0.012 0.014<br />
time [sec]<br />
:6.5<br />
איור פונקצית אוטוקורלציה – דוגמה למצב בעייתי.<br />
בדוגמה, פונקציית אוטוקרלציה של אות פסנתר הכולל שלושה תדרים יסודיים:<br />
הרץ. בפונקציה לא הובחנו שלושה שיאים. שני התדרים 440 הרץ הובחנו ע"י שיא אחד<br />
מייצג בתדר<br />
370 ,295 ו- 440<br />
370 ו-<br />
.380Hz<br />
Figure 6.5: Autocorrelation function – example of a problematic situation.<br />
The example shows the autocorelation function of musical (piano) signal, which is composed of three<br />
fundamental frequencies at:295, 380 and 440 Hz. The function does not show three peaks. The two<br />
frequencies, 370 and 440Hz were observed as one peak at 380Hz.<br />
לפיכך, בהרבה מצבים, אלגוריתם זה אינו מפיק את התדרים היסודיים. פונקציית האוטוקרלציה<br />
מציגה הרבה שיאים, ולא תמיד ניתן לדעת אלו מהשיאים מייצגים את התדרים היסודיים. כפי<br />
שהוצג בדוגמאות, לא תמיד מבחינים בשיאים נפרדים בגלל מגבלת רזולוציה בזמן (עבור תדרים<br />
יסודיים גבוהים).<br />
6.3 אלגוריתם למציאת תדרים יסודיים בעזרת החלקת ספקטרום<br />
אלגוריתם נוסף למציאת תדרים יסודיים בשיטה איטרטיבית בעזרת החלקת ספקטרום מתואר<br />
ב- [24].<br />
האלגוריתם פועל באיטרציות, כאשר בכל איטרציות, מוצאים תדר יסודי<br />
התדר היסודי הדומיננטי.<br />
(pitch)<br />
יחיד, שהוא<br />
בכל שלב מחסירים את ההרמוניות של התדר היסודי מאות הכניסה, ולאחר מכן מתחיל שלב חדש<br />
של מציאת התדר היסודי הדומיננטי הבא (מתוך שארית אות הכניסה).<br />
סכימת מלבנים של תהליך זה מתואר באיור<br />
.6.6<br />
- 65 -
הרמוניות הוצאת<br />
הכניסה מאות<br />
החלקה<br />
ספקטרלית<br />
תדר הערכת<br />
דומיננטי יסודי<br />
שמירת<br />
התדר ערך<br />
מעורב אות<br />
A<br />
B<br />
:B<br />
:A<br />
איור 6.6: מבנה מערכת למציאת תדרי בסיס.<br />
המערכת ניתנת למיתוג בין שני מצבי עבודה.<br />
החלקה ספקטרלית.<br />
מצב<br />
גישה איטרטיבית ישירה.<br />
כולל מצב<br />
Figure 6.6: System structure of fundamental frequencies search.<br />
The system can be switched between two modes. A: straightforward iterative approach. B: spectral<br />
smoothness based model.<br />
הגילוי של תדר יסודי דומיננטי ראשון (באיטרציה הראשונה), שהוא למעשה התדר הדומיננטי<br />
באות הכניסה, מצליח באחוזים גבוהים מאוד. לעומת זאת, אחוז הגילוי של התדרים היסודיים<br />
הבאים, הולך וקטן ככל שמספר האיטרציות גדל.<br />
עובדה זו מצביעה על כך שהספקטרום הנבנה (מהתדר היסודי וההרמוניות שלו) אינו מדוייק<br />
מספיק, כלומר החסרתו מהספקטרום המקורי נותן תוצאה שאינה מדוייקת, ולכן הגילוי של<br />
התדר היסודי הבא כבר לא יהיה מדוייק.<br />
בנייה לא מדוייקת של הספקטרום גורם לכישלון האלגוריתם במיוחד כאשר קיימות התנגשויות<br />
בין הרמוניות של תדרים יסודיים שונים (הרמוניות המשותפות למספר תדרים יסודיים). התנאי<br />
להתנגשות בין הרמוניה h של הצליל S עם ההרמוניה ה- j של הצליל R היא:<br />
h⋅<br />
F<br />
= j ⋅<br />
S<br />
F R<br />
(6.2)<br />
ולכן הקשר בין שני תדרים יסודיים נתון ע"י:<br />
F<br />
m<br />
= ⋅<br />
n<br />
R<br />
F s<br />
(6.3)<br />
כאשר m ו- n הם מספרים שלמים.<br />
כאשר קיימת התנגשות בין שתי הרמוניות בעלות אמפליטודה של<br />
הוא Q, האמפליטודה המסוכמת נתונה ע"י:<br />
a1 ו-<br />
a2 והבדל פאזה ביניהם<br />
a<br />
s<br />
a + a ⋅e<br />
=<br />
1 2<br />
jQ<br />
(6.4)<br />
- 66 -
כאשר האמפליטודות a1 ו- a2 הן באותו סדר גודל, הסיכום עלול להגביר את העוצמה הכוללת או<br />
לבטל אותה, בתלות ב- Q, אך אם אחת האמפליטודות גדולה בהרבה מהשניה, הסכום נותן את<br />
הגדול מבין שניהם. במרבית המקרים עוצמת ההרמוניה מוגברת.<br />
לפיכך, הוצאת הרמוניות (הקשורות לתדר יסודי) מאות הכניסה גורמת להורדת הרמוניות<br />
השייכות גם לתדרים יסודיים אחרים ולכן מורידות את הסיכוי לגילויים.<br />
על מנת לפתור את הבעיה משתמשים בהחלקת ספקטרום. החלקת הספקטרום מקטינה את אחוז<br />
השגיאה במציאת תדרים יסודיים.<br />
האלגוריתם להחלקה עובר על כל ההרמוניות של צליל ומחליף את האמפליטודה<br />
ה- h במינימום בינה לבין ההרמוניה השכנה לפי,<br />
a h של ההרמוניה<br />
a<br />
h<br />
←<br />
h h+<br />
min( a , a<br />
1)<br />
(6.5)<br />
ההחלקה נעשית בעזרת שני ערכים בלבד.<br />
אלגוריתם החלקה אחר המתחשב במספר רב יותר של ערכים, מחשב ממוצע,<br />
הרמוניות (הרמוניות הנמצאות בתוך חלון סביב ההרמוניה המחושבת).<br />
,m h<br />
על פני מספר<br />
a ← min( a<br />
h<br />
h<br />
, m<br />
h<br />
)<br />
(6.6)<br />
פעולת ההחלקה מנסה לייצר ספקטרום אמיתי של תדר יסודי יחיד, ומורידה את הקורלציה עם<br />
תדרים יסודיים אחרים. כלומר, במצב של התנגשות, אחת ההרמוניות תהיה בעלת עוצמה שונה<br />
מעוצמת הרמוניות בסביבתה (לרב תהיה בעלת עוצמה גבוהה משמעותית) ולכן פעולת מינימום<br />
בתהליך ההחלקה תעניק להרמוניה עוצמה נמוכה יותר. במצב זה ההרמוניה לא תוחסר כולה<br />
מאות הכניסה, ויהיה ניתן לגלות, ביתר קלות, את התדר היסודי האחר, המשוייך גם כן להרמוניה<br />
זו.<br />
אלגוריתם זה אינו מספיק טוב, כיוון שחישוב הספקטרום, עדיין, אינו מדוייק.<br />
ישנם מצבים, בהם ההתנגשות של הרמוניה משני תדרים יסודיים, גורמים להחלשת העוצמה, לפי<br />
משוואה<br />
.6.4<br />
במצבים אלו, תהליך ההחלקה אינו עוזר, שכן הוא בוחר בערך מינימלי וההרמוניה<br />
תוצא כליל מאות הכניסה לאיטרציה הבאה.<br />
גם במצבים אחרים פעולת ההחלקה גורמת לשינוי העוצמה האמיתי של ההרמוניה, ולפיכך ישארו<br />
"שאריות" של ההרמוניה לאיטרציה הבאה שישפיעו על מציאת התדר היסודי הדומיננטי הבא.<br />
בנוסף ישנם מצבים בהם התדר הדומיננטי הנבחר הוא לא אחד מהתדרים היסודיים אלא תדר<br />
שהוא גורם משותף לשניים או יותר מהתדרים היסודיים. למשל, טון בעל תדר בסיס 2F וטון נוסף<br />
בעל תדר בסיס 3F. עלול להיווצר מצב שיתגלה תדר יסודי F, למרות שהוא אינו קיים.<br />
6.4 אלגוריתם למציאת תדרים יסודיים בתחום התדר<br />
- 67 -
האלגוריתם המתואר בסעיף זה הוא אחד משני רעיונות למציאת תדרים יסודיים, שפותחו במהלך<br />
העבודה (האלגוריתם השני מתואר בסעיך<br />
.(6.6<br />
האלגוריתם מבוסס על חיפוש הרמוניות בתחום התדר. הקלט למערכת הוא קבוצה של תדרים,<br />
המחושבת במודל הסינוסואידלי. האלגוריתם מחפש תדר (או מספר תדרים) שכפולותיו יחפפו עם<br />
מספר רב של איברי קבוצת התדרים. ההרמוניות צריכות להיות רציפות כמה שיותר, כלומר יש<br />
למנוע מצבים בהם חסרים הרמוניות.<br />
האלגוריתם מפיק מספר תדרים, חלקם הם תדרים יסודיים, חלקם כפולות שלהם וחלקן חלוקה<br />
שלמה של תדר יסודי. לא בהכרח כל התדרים היסודיים נמצאים, וזאת בגלל רזולוציית תדר<br />
מוגבלת.<br />
מתוך התדרים (תפוקות) בוחרים את התדרים שנותנים את התוצאות הטובות ביותר מבחינת<br />
דחיסה, לא בהכרח תדרים יסודיים עצמם, לפעמים חלוקה שלמה של התדרים.<br />
לדוגמה, אות הכולל את התדרים היסודיים:<br />
.330Hz ,220Hz<br />
לעיתים, עדיף יהיה לבחור בתדר המשותף לשניהם, ,110Hz משיקולי דחיסה בלבד. לעיתים עדיף<br />
יהיה לייצג רק אחד מהם, למשל רק את<br />
,330Hz<br />
כיוון שלתדר היסודי השני ישנן מעט הרמוניות,<br />
או שהתדר 330Hz חופף עם מרבית ההרמוניות של .220Hz<br />
לכן, לא בהכרח נעדיף את התדרים היסודיים האמיתיים, אלא את התדרים שיתנו את ייצוג<br />
המתאים ביותר, משיקולי דחיסה.<br />
האלגוריתם מתואר<br />
בשלבים הבאים,<br />
כאשר הקלט הוא קבוצה של M<br />
תדרים<br />
(המופקת במודל<br />
הסינוסיואידלי), שתסומן ע"י<br />
.{ F} M i = 1<br />
{ F} M i 1<br />
בהנחה שתדרי הבסיס נמוכים מ- ,2000Hz<br />
=<br />
הקטנים מ<br />
בוחרים את כל התדרים מתוך<br />
•<br />
תדר יסודי.<br />
2000Hz ונסמנם ב-<br />
.optional_pitches<br />
כל אחד מהתדרים האלו יכול להיות<br />
מייצרים מטריצה A בגודל .size(optional_pitchs) x 10 כל שורה במטריצה מייצגת את<br />
אחד התדרים בקבוצה<br />
,option_pitchs<br />
התדר. במטריצה יש שני ערכים אפשריים:<br />
כאשר קיימת הרמוניה.<br />
וכל עמודה מייצגת את מספר ההרמוניה של<br />
.'1' '0' או '0'<br />
במקרה שאין הרמוניה ו-<br />
'1'<br />
•<br />
קיום של הרמוניה מוגדר כאשר כפולה של תדר יסודי רחוקה מתדר בקבוצה<br />
סטייה מקסימלית. נהוג להשתמש בסטייה של 1% מהתדר עצמו.<br />
חישוב המטריצה A נעשה לפי,<br />
{ F} M i = 1<br />
עד<br />
A<br />
n,<br />
m<br />
⎧ 1 , Fi<br />
− m⋅option_<br />
pitchesn<br />
< D<br />
= ⎨<br />
⎩0<br />
, else<br />
(6.7)<br />
- 68 -
כאשר option_pithces n הוא תדר יסודי אפשרי הנבדק (n הוא אינדקס התדר הנבדק,<br />
אחד לכל שורה ב- m A), הוא מספר ההרמוניה, שנע בין 1 ל- 10.<br />
D הוא גודל הסטייה המקסימלית האפשרית.<br />
האלגוריתם פועל על כל שורה של המטריצה A בנפרד. כל שורה במטריצה מייצגת תדר<br />
יסודי אפשרי. מתחילים בהורדת תדרים אופציונליים לא מתאימים (למשל, תדר יסודי<br />
שאין לו אף הרמוניה), ונשארים עם התדרים להם לפחות 3 הרמוניות, 3 פעמים<br />
מופיע '1' בשורה, כמו בדוגמה:<br />
כלומר<br />
[1 1 0 1 0 0 0 0 0 0]<br />
או תדרים להם יש 2 הרמוניות רצופות, כמו בדוגמה:<br />
[1 1 0 0 0 0 0 0 0 0]<br />
לתדר יסודי אמיתי ישנם מספר הרמוניות וההרמוניות הראשונות קיימות (כלומר, קיימת<br />
רציפות).<br />
מבצעים סינון נוסף בהתאם למספר מדדים (קריטריונים):<br />
מדד1- מספר ההרמוניות הקיימות (מתוך 10 הראשונות).<br />
מדד2- מציין את רציפות ההרמוניות, תוך השמת דגש על ההרמוניות הנמוכות.<br />
באיור 6.7 ניתן לראות מספר דוגמאות.<br />
•<br />
•<br />
מספר: 1 2 3 4 5 6 7 8 9 10<br />
הרמוניה<br />
[1 1 0 1 0 0 0 0 0 0]<br />
[1 1 0 0 0 0 0 0 0 0]<br />
[1 1 1 1 1 1 1 1 1 0]<br />
[1 0 0 0 0 0 1 1 1 0]<br />
:1<br />
דוגמה<br />
:2<br />
דוגמה<br />
:3<br />
דוגמה<br />
:4<br />
דוגמה<br />
איור 6.7: דוגמאות לתצוגת תדר בסיס במטריצה A.<br />
בדוגמה ניתן לראות שלוש הרמוניות, כאשר ההרמוניה השלישית לא קיימת. בדוגמה ישנן<br />
רק שתי הרמוניות רצופות, בדוגמה ניתן לראות תשע הרמוניות רצופות, במצב זה המדדים<br />
יעניקו ציון גבוה מאוד, כיוון שזהו תדר בסיס אמיתי. בדוגמה ניתן לראות ארבע הרמוניות,<br />
אבל הן לא רצופות וחסרות הרבה הרמוניות נמוכות, לכן סביר להניח שהמדדים יראו על ציון<br />
נמוך יחסית.<br />
,2<br />
,4<br />
Figure 6.7: Examples for fundamental frequency representation in matrix A.<br />
In example 1, there are three harmonics, but the third harmonic does not exist. In example 2, there are<br />
only two consecutive harmonics. In exapmle 3, there are nine consecutive harmonics, in this situation<br />
the measures will provide very high grade, because this is a real fundamental frequency. In example 4,<br />
there are four harmonics, but they are not consecutive and many low harmonics are missing, therefore<br />
the measures will provide a relative low grade.<br />
כל התדרים להם מדדים בעלי ציון נמוך מוצאים מקבוצת התדרים האפשריים.<br />
- 69 -<br />
,3<br />
התדרים שנשארו מסומנים ע"י .freq_pitch<br />
לעיתים, כדאי להוסיף לקבוצת התדרים את התדרים היסודיים ממסגרת קודמת, כיוון<br />
שבמרבית המקרים התדרים היסודיים נמשכים על פני מספר מסגרות.<br />
,1
בשלב הבא בודקים כל אחד מתדרי הקבוצה .freq_pitch<br />
עבור כל תדר F,<br />
F ∈<br />
freq _<br />
pitch<br />
בודקים את מחלקי תדר שלמים<br />
. F , F , F<br />
2 3<br />
הבדיקה מתבצעת שוב על פי מדדים. לעיתים, מחלקי תדר שלמים עדיפים, משיקולי<br />
דחיסה, על פני התדר F עצמו. בנוסף יתכן כי בגלל מוגבלות רזולוציה התדר היסודי<br />
(ההרמוניה הראשונה), לא נמצא בין רשימת התדרים הכוללת, אבל נמצאה אחת<br />
הכפולות שלו.<br />
•<br />
בשלב האחרון, בוחרים את התדרים היעילים ביותר מבחינת הדחיסה. כאשר עיקרון<br />
היעילות מבוסס על מספר מירבי של הרמוניות (כלומר, מניעת שידור של תדרים רבים<br />
ככל האפשר, ע"י שידור תדר אחד מייצג) ועל קיום הרמוניות, כיוון שאי קיום הרמוניה<br />
מצריך אינדיקציה לכך (שהוא פרמטר נוסף, המקטין את יעילות הקידוד).<br />
כלומר, ישנם מצבים שנעדיף תדר יסודי המייצג פחות הרמוניות אך הן תהיינה רצופות,<br />
מאשר תדר יסודי המייצג יותר הרמוניות, אך הן לא רצופות.<br />
•<br />
לדוגמה, קבוצת תדרים<br />
= 1 i ,{ F} M הכוללת 7 תדרים:<br />
[220 , 440 , 660 , 880 , 1100 , 1320 , 2200]<br />
השורה המתאימה במטריצה A תראה כך:<br />
. התדר היסודי הוא 220 הרץ.<br />
.[1 1 1 1 1 1 0 0 0 1]<br />
כלומר שש הרמוניות רצופות ועוד הרמוניה עשירית, ביחד<br />
7 הרמוניות.<br />
לעיתים יהיה<br />
עדיף להוריד את ההרמוניה העשירית מהייצוג, אמנם אז יהיה פחות הרמוניות, שש<br />
במספר, אך הן יהיו רצופות. שיקולים אלו נכנסים למדדים.<br />
האלגוריתם נותן תוצאות טובות, הוא מוצא את התדרים היסודיים ולפעמים חלוקה שלמה של<br />
התדרים, או גורם משותף בין מספר תדרים יסודיים. החיסרון באלגוריתם זה הוא התלות הרבה<br />
במדדים.<br />
6.5 אלגוריתם למציאת תדר יסודי דומיננטי בשיטת מסרק תדרים<br />
בסעיף זה מתואר אלגוריתם נוסף למציאת תדר יסודי דומיננטי והוא מתואר בהרחבה ב- [25].<br />
האלגוריתם מבוסס על בניית מסרק תדרים וחיפוש התאמה מירבית בינו ובין ספקטרום האות.<br />
עבור תדר יסודי f, מתכננים את פונקציית המסרק כך שתקבל ערך מקסימלי בתדרים:<br />
.f, 2f, 3f…<br />
מגדירים פונקציה U, המגדירה את ההתאמה בין מסרק התדרים לספקטרום בצורה הבאה:<br />
U ( f ) =<br />
∞<br />
∫<br />
0<br />
c<br />
f<br />
( v)<br />
⋅<br />
- 70 -<br />
X ( v)<br />
dv<br />
(6.8)
X(v)<br />
c(v)<br />
כאשר f<br />
הוא תדר הנבדק (אפשרות לתדר יסודי),<br />
הוא פונקציית המסרק,<br />
ספקטרום האות ו- v הוא משתנה האינטגרל שמשמעותו תדר.<br />
הפונקציה היא הכפלת מסרק תדרים בספקטרום האות וחישוב האנרגיה תחת המכפלה.<br />
התדר<br />
אשר מביא לערך מירבי של U הוא התדר היסודי הדומיננטי, לפי:<br />
הוא<br />
f = F 0<br />
F0 = arg max{ U ( f )}<br />
f<br />
(6.9)<br />
.<br />
f ∈[ F min<br />
, Fmax<br />
כאשר איזור החיפוש הוא ]<br />
תהליך המקסימיזציה מראה שאנרגית האות מתרכזת סביב התדר<br />
F 0<br />
וההרמוניות שלו.<br />
המקסימום הגלובלי של U<br />
לא בהכרח יהיה בתדר הבסיס האמיתי אלא יכול להתקבל בתדר<br />
שהוא חלוקה שלמה של התדר היסודי. לשם כך יש לבחון גם את ערכי המקסימום המקומיים על<br />
.6.8<br />
c F0 (v)<br />
פני U.<br />
דוגמה לפונקציית מסרק ניתנת באיור<br />
1<br />
...<br />
0.8F 0<br />
0.9F 0<br />
1.1F 0 1.2F 0<br />
F 0<br />
1.8F 0 1.9F 0<br />
2.1F 0 2.2F 0<br />
2.9F 0<br />
3.1F 0 3.2F 0<br />
2F 0 3F 0<br />
. F 0<br />
2.8F 0 frequency<br />
איור 6.8: מסרק תדרים סביב תדר יסודי<br />
כל שן במסרק בנויה בצורת טרפז.<br />
Figure 6.8 Frequency comb around F<br />
0<br />
.<br />
Each single period of the comb function is shaped as a trapezoid.<br />
דוגמה לאות כניסה, ניתן לראות באיור 6.9. אות כניסה הכולל שלושה תדרים יסודיים.<br />
- 71 -
ו- 1980 הרץ .<br />
איור 6.9: ספקטרום של אות כניסה .<br />
האות כולל תשעה סינוסים בתדרים<br />
(כולל שלוש הרמוניות)ו-<br />
(כולל חמש הרמוניות), התדרים היסודיים הם הרץ (כולל שלוש הרמוניות).<br />
660<br />
,1565 ,1315 ,1175 ,1045 ,780 ,660 ,520 ,390 :<br />
520 הרץ<br />
: 390 הרץ<br />
Figure 6.9: Input signal spectrum.<br />
The signal is composed of nine sinusoids at frequencies: 390, 520, 660, 780, 1045, 1175, 1315, 1565<br />
and 1980 Hz. The fundamental frequencies are: 390Hz (five harmonics), 520Hz (three harmonics) and<br />
660Hz (three harmonics).<br />
תפוקת האלגוריתם מוצגת באיור 6.10.<br />
איור 6.10: תפוקת האלגוריתם.<br />
הגרף מציג את ערכי U כפונקציה של התדר הנבחר. ניתן לראות בגרף שני שיאים גדולים בתדרים<br />
לשם מניעת בחירה של מחזור pitch כפול בוחרים בתדר הגבוה, כלומר את<br />
הרץ.<br />
133<br />
66 ו- 133 הרץ.<br />
Figure 6.10: The comb algorithm output.<br />
The graph shows the values of U as a function of frequency. There are two strong peaks at 66 and 133<br />
Hz. To prevent a double pitch period, the highest frequency 133Hz, is chosen.<br />
התדר היסודי הדומיננטי שנבחר הוא .133Hz<br />
האמיתיים,<br />
כמוצג באיור<br />
תדר זה אינו אחד משלושת התדרים היסודיים<br />
אבל זהו התדר המשותף של האות,<br />
כלומר שלושת התדרים<br />
.6.9<br />
היסודיים של האות הם כפולה שלמה של .133Hz<br />
דוגמה נוספת מתוארת באיור 6.11. הדוגמה כוללת תדר יסודי יחיד בלבד.<br />
- 72 -
440 הרץ.<br />
איור 6.11: ספקטרום של אות כניסה- דוגמה<br />
זהו קטע פסנתר, בו מופיע תדר יסודי יחיד, שהוא<br />
ניתן לראות את ההרמוניות בבירור.<br />
Figure 6.11: Input signal spectrum – example 2.<br />
This is a piano segment, which includes only one fundamental frequency at 440Hz. The harmonics can<br />
be seen clearly.<br />
תפוקת האלגוריתם מוצגת באיור 6.12. כפי שניתן לראות, האלגוריתם נותן תוצאות נכונות כאשר<br />
.2<br />
מדובר באות כניסה עם תדר יסודי יחיד.<br />
איור 6.12: תפוקת האלגוריתם- דוגמה<br />
בתוצאת האלגוריתם ניתן לראות שיאים בעלי ערך גבוה ודומה בתדרים<br />
56 הרץ. כל השיאים הם מחלקים שלמים של 448 הרץ. הבחירה היא לפי התדר הגבוה.<br />
,89 ,112 ,149 ,225 ,448<br />
.2<br />
,64 ,74<br />
Figure 6.12: The algorithm output – example 2.<br />
The plot shows peaks with about the same values at 448, 225, 149, 112, 89, 74, 64 and 56 Hz. All the<br />
peaks are integer divisors of 448 Hz. So, the chosen frequency is the higher one, 448Hz.<br />
דוגמה נוספת מוצגת באיור 6.13.<br />
- 73 -
איור 6.13: דוגמה שלישית לביצועי האלגוריתם.<br />
קטע פסנתר הכולל שלושה תדרים יסודיים:<br />
התדר היסודי ב- 440 הרץ כולל הרמוניות עם עוצמה נמוכה יחסית.<br />
הספקטרום של אות הכניסה מוצג באיור העליון ותפוקת האלגוריתם באיור התחתון. האלגוריתם<br />
נותן שיא גבוה ב- 74 הרץ. תדר זה הוא גורם משותף (מקורב) של שלושת התדרים היסודיים.<br />
370 ,295 ו- 440 הרץ.<br />
Figure 6.13: Third example for algorithm performance.<br />
This is a piano segment, which is composed of three fundamental frequencies at 295, 370 and 440 Hz.<br />
The fundamental frequency at 440Hz is relatively low. The spectrum of the input signal is presented in<br />
the uper plot and the algorithm output in the lower plot. The lower plot shows a high peak at 74Hz.<br />
This frequency is common of all three fundamental frequencies.<br />
דוגמה רביעית מוצגת באיור 6.14.<br />
- 74 -
איור 6.14: דוגמה רביעית לביצועי האלגוריתם.<br />
זהו קטע מוסיקלי מורכב הכולל שלושה תדרים יסודיים:<br />
הספקטרום של אות הכניסה מוצג באיור העליון ותפוקת האלגוריתם באיור התחתון. האלגוריתם<br />
מקבל שיא גבוה 98 הרץ. תדר זה הוא גורם משותף של שניים מהתדרי היסודיים,<br />
300 ו- 390 הרץ.<br />
330 ,300 ו- 390 הרץ.<br />
Figure 6.14: Fourth example for algorithm performance.<br />
This is a complex musical segment, which compose of three fundamental frequencies at300, 330 and<br />
390 Hz. The spectrum of the input signal is presented on the uper plot and the algorithm output on the<br />
lower plot. The lower plot shows a high peak at 98Hz. This frequency is common of two of the<br />
fundamental frequencies, 300 and 390Hz.<br />
האלגוריתם יעיל מאוד כאשר אות הכניסה כולל רק תדר יסודי<br />
עבור אותות דיבור (דובר יחיד).<br />
(pitch)<br />
יחיד לכן, הוא מאוד יעיל<br />
כאשר האות מורכב ממספר תדרים יסודיים, כמו באות מוסיקלי, האלגוריתם לא מפיק את התדר<br />
היסודי הדומיננטי, אלא ברב המיקרים איזשהו גורם משותף לחלק (או לכל) מהתדרים היסודיים.<br />
המוצא של האלגוריתם הוא הגרף<br />
U(f)<br />
ובחירת השיאים הוא תהליך לא פשוט, שכן יש הרבה<br />
שיאים ולא בהכרח התדר הרצוי הוא בעל השיא הגבוה ביותר.<br />
תוצאה זו קורית כיוון שהאלגוריתם מושפע מאוד מעוצמת התדרים של אות הכניסה.<br />
יש עדיפות לתדר יסודי הכולל הרמוניות בעלות עוצמות גבוהות מאשר תדר יסודי הכולל<br />
הרמוניות עם עוצמות נמוכות יותר, על אף שיתכן שלאחרון יש יותר הרמוניות.<br />
האלגוריתם יכול להיות מושפע גם מתדרים בדידים שלא שייכים לאף הרמוניה (של תדר יסודי)<br />
שעוצמתם חזקה.<br />
6.6 שיטה מוצעת למציאת תדרים יסודיים על פי כיסוי מירבי<br />
אלגוריתם נוסף למציאת תדרים יסודיים מתואר בסעיף זה. האלגוריתם מבוסס על מציאת<br />
תדרים הנותנים כיסוי מקסימלי של קבוצת התדרים, שחושבה במודל הסינוסואידלי, ולכן הם לא<br />
בהכרח התדרים היסודיים אמיתיים. השיקול המכריע הוא גורם הדחיסה, כיוון שיש למצוא תדר<br />
המייצג מספר רב ככל הניתן של תדרים קיימים ובכך לחסוך את שידורם.<br />
נתונה קבוצת תדרים<br />
= 1 i F} M }שחושבה ע"י המודל הסינוסואידלי.<br />
- 75 -
על מנת שלא לשדר כל תדר ותדר בקבוצה, מחפשים תדר או מספר תדרים מצומצם המייצגים את<br />
כל או מרבית התדרים בקבוצה.<br />
רק אותם תדרים מייצגים, הנקראים גם תדרים יסודיים, ישודרו.<br />
השיטה מבוססת על חיפוש הרמוניות בתחום התדר, כאשר המטרה היא כיסוי מלא של קבוצת<br />
התדרים<br />
.{ F} M i = 1<br />
מחפשים תדר בתחום<br />
[50, 2000]<br />
סטיה של עד 1%) מכסות מספר מקסימלי של תדרים בקבוצה<br />
עוברים על כל אחד מתדרי הקבוצה<br />
הרץ, שההרמוניות שלו (כפולות שלמות של תדר יסודי, עם<br />
.{ F} M i = 1<br />
= 1 i }. {F M עבור כל F מחפשים תדרים (בתחום החיפוש) שאחת<br />
ההרמוניות שלהן הוא F. תדרים אלו יהיו מחלקי התדר F והם מסומנים ע"י,<br />
m = 1,2,3,…<br />
F<br />
m<br />
(6.10)<br />
תדרים אלו מייצגים את התדר F בעזרת ההרמוניה ה- m.<br />
לכן מסמנים את התדרים<br />
F<br />
m<br />
(דוגמה לפונקציית מסרק ניתן לראות באיור 6.16).<br />
מאחר ומאפשרים סטיה של<br />
להוות אופציה לתדר יסודי.<br />
1%<br />
כאופציה להיות תדר יסודי, בעזרת הערך 1 בפונקציית המסרק<br />
בייצוג,<br />
מרשים גם<br />
לתדרים בסטיה של עד<br />
מהתדר F<br />
m<br />
1%<br />
כל "שן"<br />
בפונקציית המסרק תיראה כמלבן סביב התדר , F כאשר אורך המלבן שווה ל<br />
m<br />
מהתדר וערכו שווה ל- 1, כמתואר באיור<br />
±1%<br />
.6.15<br />
מספר<br />
הרמוניות<br />
:6.15<br />
תדר<br />
1<br />
F<br />
m<br />
איור פונקציית המלבן סביב תדר יסודי אופציונלי.<br />
התדרים המקבלים ערך אחד הם תדרים אופציונליים לתדר יסודי.<br />
Figure 6.15: Rectangular function around the optional fundamental frequency.<br />
The frequencies that get one are the optinal fundamental frequencies.<br />
- 76 -
באיור 6.15 נראית פונקציית מלבן יחידה סביב מחולק אחד (שערך החלוקה הוא m). באיור<br />
ניתן לראות את המסרק שנוצר בכל התדרים האופציונלים בכל התחום.<br />
,6.16<br />
3<br />
frequencies represent F=3000 Hz<br />
2.5<br />
2<br />
1.5<br />
1<br />
F<br />
4<br />
F<br />
3<br />
F<br />
2<br />
0.5<br />
0<br />
-0.5<br />
0 200 400 600 800 1000 1200 1400 1600 1800 2000<br />
frequency[Hz]<br />
:6.16<br />
איור פונקצית מסרק המראה את התדרים האופציונליים.<br />
בדוגמה, מחפשים אחר תדר בסיס המייצג את תדר<br />
מחלקי התדר יופיעו ב-<br />
.3000 Hz<br />
1500Hz (חצי), 1000Hz (שליש), 750Hz (רבע)<br />
וכך הלאה.<br />
Figure 6.16: Comb function showing the optional frequencies.<br />
In the example, we look for a fundamental frequency that represents the frequency 3000Hz.<br />
The frequency divisors appear at 1500Hz (division by 2), 1000Hz (division by 3), 750Hz (division by<br />
4), and so on.<br />
בגרף (באיור<br />
(6.16<br />
ניתן לראות את התרומה של כל תדר בתחום<br />
בצורה דומה עוברים על פני כל התדרים בקבוצה<br />
2000] [50, לייצוג התדר .F<br />
,{ F} M i = 1<br />
בכל שלב מסכמים את פונקציות<br />
המסרק, המושפעות מכל תדר בקבוצה, לקבלת פונקציית המסרק הכוללת. בודקים איזה תדר (או<br />
קבוצת תדרים) מייצג מספר מקסימלי של הרמוניות ונבחר בו לתדר היסודי (לפי הקריטריון של<br />
כיסוי מקסימלי). דוגמה לתפוקת האלגוריתם מתוארת באיור 6.17. קבוצת התדרים<br />
ששה תדרים:<br />
= 1 i F} M }כוללת<br />
.3000 ,1200 ,900 ,600 ,300 ,100<br />
בכל שלב באלגוריתם (מספר השלבים כמספר<br />
התדרים בקבוצה<br />
{ } M i<br />
F = 1<br />
( מוסיפים אחד לתדר<br />
100 הרץ, כיוון שהוא מהווה חלוקה שלמה של כל<br />
תדר בקבוצה<br />
את<br />
= 1 i {F M }וביחד מגיעים לערך 6, כפי שניתן לראות באיור. זהו התדר היחידי בו מתקבל<br />
ערך מקסימלי (כיסוי מירבי) ולכן 100 הרץ הוא התדר היסודי. ניתן לראות שגם בתדר<br />
(ובמספר תדרים נוספים) מתקבל ערך גבוה, אך תדר זה מכסה פחות תדרים<br />
300 הרץ<br />
(5 תדרים)<br />
100 הרץ.<br />
ולכן נעדיף<br />
- 77 -
6<br />
number of represented frequencies in MAX<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
0 200 400 600 800 1000 1200 1400 1600 1800 2000<br />
frequency[Hz]<br />
איור 6.17: חיפוש תדרים יסודיים לפי כיסוי מירבי.<br />
בגרף משורטט סיכום כל פונקציות המסרק שנוצרו בעקבות כל תדר בקבוצה F.<br />
Figure 6.17: Searching fundamental frequencies by maximal cover.<br />
The graph shows sum of all comb function that are created by each frequency of the set F.<br />
מאחר שפונקציית המסרק היא בצורת מלבן עם רוחב בגודל של 1% מהתדר.ישנם מספר תדרים<br />
הנותנים מקסימום, מביניהם נבחר התדר הנותן דיוק מירבי. בדוגמה, המתוארת באיור<br />
6.17 כל<br />
התדרים בין 99Hz ל- 101Hz נותנים מקסימום של 6 (מאחר ומאפשרים סטיה של 1%).<br />
מביניהם יבחר התדר בעל הדיוק המירבי, כלומר הסטיה המינימלית בין ייצוג התדרים ע"י<br />
כפולות שלמות לבין התדרים האמיתיים, לכן התדר 100Hz יבחר.<br />
לאחר מציאת תדר יסודי אחד, מרחיקים את התדרים שכוסו ע"י התדר היסודי שנמצא והתהליך<br />
חוזר על עצמו, למציאת תדרים יסודיים נוספים. התהליך נעצר כאשר מספר התדרים הנותרים<br />
ללא ייצוג קטן מ-2 או כאשר המספר מקסימלי של תדרים לייצוג שחושב באיטרציה האחרונה<br />
היה שווה ל- 1.<br />
האלגוריתם מציג שתי בעיות, הדורשות התייחסות.<br />
פונקציית המסרק, המתקבלת עבור כל תדר בקבוצה<br />
= 1 i }, {F M צריכה לקבל ערכים שלא עולים על<br />
אחד בתחום התדרים [2000 ,50] הרץ. בעיה ראשונה מתרחשת כאשר פונקציית המסרק מקבלת<br />
ערך 2 עבור תדר F מסויים, כלומר תדרים מסויימים מייצגים<br />
תדר F אחד.<br />
בעיה זו קורית כאשר יש איזורים משותפים במלבנים של<br />
כאשר m גדול מאוד ואז שני חלקי התדר קרובים אחד לשני.<br />
תופעה זו מתוארת בתמונות<br />
{ F} M i = 1<br />
,<br />
2 מתדרי<br />
F<br />
m +1<br />
F<br />
,<br />
m<br />
6.18 ו- .6.19<br />
למרות שנבדק רק<br />
בעיה זו מתרחשת לרב<br />
- 78 -
2<br />
number of represented frequencies in MAX<br />
1.8<br />
1.6<br />
1.4<br />
1.2<br />
1<br />
0.8<br />
0.6<br />
0.4<br />
0.2<br />
0<br />
0 200 400 600 800 1000 1200 1400 1600 1800 2000<br />
frequency[Hz]<br />
איור 6.18: הצגת בעיה ראשונה בפונקציית המסרק.<br />
בדוגמה התדר הוא ניתן לראות שבתדרים הנמוכים (קרוב ל- 50 הרץ) הפונקציה מקבלת<br />
ערך שניים, דבר שהוא לא הגיוני. לא הגיוני שישנו תדר יסודי המייצג שני תדרים, כיוון שמדובר<br />
בתדר אחד בלבד,<br />
3000 הרץ.<br />
3000 הרץ.<br />
Figure 6.18: Presentation the first problem with the harmonic cover function.<br />
In the example the frequency considered 3000Hz. It can be seen that the function gets the value two at<br />
low frequencies (near 50Hz), a situation that is unreasonable. It is not possible that there is a<br />
fundamental frequncy, which represent two frequencies, where there is only one frequency, 3000Hz.<br />
2<br />
number of represented frequencies in MAX<br />
1.8<br />
1.6<br />
1.4<br />
1.2<br />
1<br />
0.8<br />
0.6<br />
0.4<br />
0.2<br />
0<br />
50 55 60 65 70 75 80 85 90 95 100<br />
frequency[Hz]<br />
:6.19<br />
.2<br />
כאשר 50=m<br />
3000, Hz באמצעות ההרמוניה ה- 50<br />
2970) = (59.4*50 וגם באמצעות ההרמוניה ה- 3029.4) 51 = .(59.4*51<br />
איור פונקציית מסרק מוגדלת.<br />
ומעלה, מופיעים איזורים משותפים, המסומנים בערך<br />
למשל, תדר 59.4 Hz מייצג פעמיים את התדר<br />
Figure 6.19: Zoom-in of the comb function.<br />
When m=50 and uper, a common areas appears, that gets a value of two.<br />
For example, the frequency 59.4 Hz, represents twice the frequency 3000 Hz,<br />
One time by harmonic no.50 (59.4*50 = 2970) and by harmonic no.51 (59.4*51 = 3029.4).<br />
- 79 -
בעיה זו ניתנת לפיתרון ע"י הגבלת ערך הפונקציה ל- 1, עבור בדיקת כל תדר ב<br />
בעיה שניה נוצרת כאשר שני תדרים מהקבוצה<br />
.{ F} M i = 1<br />
{ F} M i = 1<br />
שהתדרים קרובים האחד לשני יהיו איזורים משותפים למלבנים שלהם.<br />
באיזורים המשותפים תתקבל תרומה של<br />
2 לייצוג.<br />
קרובים זה לזה (פחות מ- 2%). מאחר<br />
מצב זה לא הגיוני, כיוון שלא יתכן שתדר מסויים בהרמוניה מסויימת מייצג שני תדרים. דוגמה<br />
לתופעה זו ניתן לראות באיור<br />
.6.20<br />
3<br />
number of represented frequencies in MAX<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
-0.5<br />
0 200 400 600 800 1000 1200<br />
frequency[Hz]<br />
איור 6.20: הצגת בעיה שניה בפונקציית המסרק.<br />
הרץ. מאחר שהתדרים קרובים<br />
בדוגמה, קבוצת התדרים F מורכבת משני תדרים:<br />
אחד לשני, למלבנים יש איזורים משותפים. למשל, תדר הרץ יכול להיות התדר היסודי<br />
שההרמוניה הראשונה שלו מייצגת גם את התדר 985 הרץ וגם את התדר 1000 הרץ. מצב כזה לא<br />
985 ו- 1000<br />
990<br />
צריך לקרות.<br />
Figure 6.20 : Presentation the second problem with the harmonic cover function.<br />
In the example, the set of frequencies, F, is composed of two frequencies: 985 and 1000Hz. Since the<br />
frequencies are near, each rectangular has a common area. For instance, the frequency 990 Hz can be<br />
the fundamental frequency, which its first harmonic represent the frequency 985 Hz and also represent<br />
1000Hz. This situation must be avoided.<br />
על מנת למנוע מצב זה, מחפשים בקבוצה<br />
{ F} M i = 1<br />
את אותם תדרים קרובים, שיובילו לבעיה. עבור<br />
התדר הנמוך מביניהם מחשבים את המלבנים כרגיל, בסטיה של 1%, ועבור התדר הגבוה מביניהם<br />
מקטינים את התחום הנמוך של המלבנים עד לערך התדר הנמוך מוכפל ב-<br />
תהיה חפיפה בין המלבנים.<br />
,1.01<br />
בצורה כזו לא<br />
האלגוריתם מפיק מספר תדרים יסודיים הנותנים כיסוי מקסימלי. התדרים היסודיים אינם<br />
אמיתיים, וניתן לראות זאת בהרמוניות הלא רצופות (אי קיום מספר רב של הרמוניות). לפיכך<br />
ישודר משתנה נוסף, המציין את מיקום ההרמוניות.<br />
- 80 -
6.7 סיכום<br />
בפרק תוארו מספר שיטות למציאת תדרי בסיס. האלגוריתמים סווגו על פי תחום החיפוש<br />
זמן/תדר.<br />
החיפוש בתחום התדר יותר יעיל והוא מבוסס על מציאת תדר שכפולותיו חופפות בצורה מירבית<br />
עם הספקטרום. השיטות מפיקות את תדרי הבסיס, אבל בפועל התפוקות יכולות להיות גורם<br />
משותף של חלק מתדרי הבסיס.<br />
מטרת העבודה היא דחיסה ולכן פחות חשוב למצוא תדרי בסיס אמיתיים. במקומם, ניתן לחפש<br />
אחר תדרים מייצגים המביאים לכיסוי מירבי של תדרי הטונים לשידור. השיטה המוצעת,<br />
המתוארת בסעיף 6.6, מבוססת על רעיון זה.<br />
תוצאות האלגוריתם מסוכמות בטבלה 6.1.<br />
שם קובץ<br />
מספר תדרים<br />
כולל<br />
בדידים<br />
1.62<br />
0.88<br />
1.14<br />
0.44<br />
0.89<br />
2.13<br />
0.94<br />
0.9<br />
0.59<br />
2.1<br />
0.93<br />
1.18<br />
1.64<br />
2.47<br />
2.17<br />
1.67<br />
1.16<br />
1.34<br />
2.12<br />
2.44<br />
2.05<br />
2.59<br />
1.89<br />
1.37<br />
0.61<br />
2.27<br />
2.16<br />
0.93<br />
0.72<br />
1<br />
1.22<br />
1.59<br />
0.7<br />
1.78<br />
2.52<br />
1.47<br />
1.94<br />
0.94<br />
1.19<br />
1.76<br />
Pitch 2 Pitch 1<br />
2.47<br />
24.83<br />
2.04<br />
48.45<br />
2.36<br />
46.34<br />
1.22<br />
33.46<br />
2.43<br />
28.53<br />
3.39<br />
36.63<br />
0.37<br />
38.56<br />
2.14<br />
55.33<br />
2.32<br />
53.66<br />
3.26<br />
22<br />
2.28<br />
36.59<br />
2.25<br />
35.7<br />
1<br />
19.63<br />
3.6<br />
21.97<br />
3.71<br />
57.69<br />
2.47<br />
47.65<br />
1.11<br />
21.78<br />
2.77<br />
57.23<br />
3.39<br />
44.89<br />
3.56<br />
59.71<br />
3.13<br />
56.94<br />
3.07<br />
50.86<br />
2.23<br />
26.48<br />
0.34<br />
17.77<br />
3.12<br />
55.11<br />
3.66<br />
52.54<br />
3.78<br />
56.58<br />
2.23<br />
32.13<br />
2.1<br />
34.31<br />
2.31<br />
30.26<br />
2.69<br />
30.04<br />
2.71<br />
40.77<br />
0.19<br />
26.19<br />
2.71<br />
32.8<br />
4.19<br />
61.1<br />
2.46<br />
36.72<br />
2.92<br />
40.48<br />
2.42<br />
49.96<br />
2.9<br />
48.36<br />
2.7<br />
32.93<br />
28.93<br />
51.37<br />
49.83<br />
35.11<br />
31.85<br />
42.15<br />
39.87<br />
58.37<br />
56.57<br />
27.36<br />
39.81<br />
39.12<br />
22.26<br />
28.05<br />
63.56<br />
51.79<br />
24.05<br />
61.34<br />
50.4<br />
65.71<br />
62.12<br />
56.53<br />
30.6<br />
19.48<br />
59.84<br />
58.48<br />
62.52<br />
35.3<br />
37.13<br />
33.56<br />
33.95<br />
45.08<br />
27.07<br />
37.29<br />
67.81<br />
40.65<br />
45.34<br />
53.32<br />
52.62<br />
37.39<br />
original<br />
4eyes<br />
10four<br />
banjo<br />
Bass<br />
Bethoven<br />
Clar_d_a<br />
Drums<br />
Goodan<br />
Ibml<br />
Incur<br />
Latu<br />
Logoff<br />
Mic<br />
Music1<br />
Music2<br />
Music3<br />
Musci4<br />
Music5<br />
Music6<br />
Music7<br />
Music8<br />
Music10<br />
Music11<br />
Music12<br />
Music13<br />
Music14<br />
neck<br />
Not<br />
Notclose<br />
relax<br />
Sax1mon<br />
Saxsophone<br />
Signal<br />
snare<br />
Step<br />
Stngmon<br />
Think<br />
Tplease<br />
Track<br />
- 81 -
1.27<br />
1.5<br />
2.79<br />
2.5<br />
53.64<br />
40.4<br />
57.7<br />
44.4<br />
wrong<br />
ממוצע<br />
טבלה 6.1: סיכום תפוקות האלגוריתם לכיסוי מלא.<br />
בטבלה מסוכמות תוצאות האלגוריתם (ממוצעים לכל קובץ) למציאת תדרים יסודיים על פי כיסוי<br />
מלא. הורצו למעלה מ- 40 קטעי שמע שונים, כאשר שמם מופיע בעמודה הימנית. מספר התדרים<br />
הכולל בקבוצת התדרים F מופיע בעמודה השניה מימין. מספר התדרים המכוסים באמצעות תדר<br />
יסודי ראשון מופיע בעמודה האמצעית. מספר התדרים המכוסים ע"י תדר יסודי שני, מוצג<br />
בעמודה השניה משמאל ומספר הסינוסים הבדידים, שלא מיוצגים ע"י תדר יסודי מופיע בעמודה<br />
השמאלית.<br />
Table 6.1: Output summary for full cover algorithm.<br />
The table summarizes (average numbers for each file) the algorithm output for searching fundamental<br />
frequencies by max cover. More then 40 audio signals were tested, their name is listed on the right<br />
column. The total number of frequencies at F appears on the second column. The number of<br />
frequencies covered by the first pitch is presented on the middle column. The number of frequencies<br />
covered by the second pitch is presented on the next column. The number of individual sinusoids<br />
תדר יסודי ראשון תמיד קיים והוא נותן כיסוי מאוד משמעותי,<br />
התדרים.<br />
appears on the left column.<br />
של כ- 90%<br />
מכלל קבוצת<br />
לעומתו התדר היסודי השני קיים ב- 75% מהמסגרות והוא מכסה כ- 6% מכלל קבוצת התדרים.<br />
תדר זה מייצג בממוצע<br />
2.5 תדרים,<br />
לפי טבלה<br />
.6.1<br />
מספר זה מתייחס גם למצבים בהם אין תדר<br />
יסודי שני (הממוצע כולל ערך אפס). בהינתן שהתדר היסודי השני קיים, הוא מייצג<br />
בממוצע. אמנם זהו לא ייצוג רב היקף, אבל בכל זאת מאפשר שיפור בתהליך הדחיסה.<br />
3.4 תדרים<br />
ניתן להמשיך בחיפוש אחר תדרים יסודיים נוספים (תדר יסודי שלישי ומעלה), אך היעילות שלהן<br />
מאוד נמוכה, כיוון שמספר התדרים שהם מייצגים הוא נמוך מאוד ואין כדאיות בשימוש בהם.<br />
האלגוריתם, אכן מאפשר כיסוי מקסימלי של קבוצת התדרים. כפי שניתן לראות בטבלה, נשארים<br />
בממוצע רק 1.5 תדרים בדידים, שלא מכוסים ע"י שני תדרים יסודיים. (מניסויים, שנעשו על פני<br />
כ- 25000 מסגרות, התקבל ערך מקסימלי של<br />
6 בדידים).<br />
- 82 -
פרק 7<br />
מודל לייצוג אמפליטודות הטונים<br />
7.1 הקדמה<br />
על פי המודל הסינוסואידלי, בכל מסגרת של אות שמע מפיקים מספר סופי של סינוסים. מספר<br />
הסינוסים אינו קבוע והוא משתנה ממסגרת למסגרת. כל סינוס מיוצג באמצעות תדר<br />
ואמפליטודה (כאשר הפאזה לא משודרת). ייצוג התדרים תואר בפרק<br />
,6<br />
ע"י מציאת תדרים<br />
יסודיים. את קבוצת האמפליטודות, יש למדל ולכמת על מנת להגיע לדחיסה מירבית, עם מינימום<br />
הפסד שמיעתי.<br />
מספר שיטות<br />
[45] [30]<br />
הוצעו לייצוג מספר משתנה של אמפליטדות ספקטרליות בדידות, החל<br />
משיטות לא פרמטריות, כגון כימות סקלרי, כימות וקטורי עם מימד משתנה, ושימוש ב DCT על<br />
מנת לכמת אמפליטודות ספקטרליות. אבל, בקצבים הנמוכים מאוד, שיטות פרמטריות כמו חיזוי<br />
לינארי (LPC) הן הרבה יותר יעילות.<br />
השיטה המקובלת כיום<br />
[15]<br />
לייצוג אמפליטודות של טונים היא בעזרת מעטפת ספקטרלית.<br />
מעטפת ספקטרלית עוקבת אחר שינויי אמפליטודה לאורך ציר התדר. לפיכך, דגימת המעטפת<br />
בנקודת שיא בתדר מסוים תיתן את ערך האמפליטודה (בקירוב) של המרכיב הסינוסואידלי בתדר<br />
הנתון.<br />
דוגמה לשימוש של מעטפת ספקטרלית לייצוג אמפליטדות מוצגת באיור<br />
.7.1<br />
dB<br />
30<br />
20<br />
10<br />
0<br />
-10<br />
x<br />
x<br />
x<br />
x<br />
x x<br />
x<br />
x<br />
x<br />
x<br />
x<br />
-20<br />
-30<br />
-40<br />
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000<br />
frequency [Hz]<br />
x<br />
x<br />
x<br />
איור 7.1: מעטפת ספקטרלית.<br />
שיוצרה ע"י<br />
המעטפת הספקטרלית, ספקטרום האות משורטט בקו מלא. משורטטת בקו מלא מסומן ב-<br />
מקדמי 20<br />
,LPC<br />
."x"<br />
Figure 7.1: Spectral envelope.<br />
The signal spectrum is ploted with a full line. The spectral envelope, which was formed by 20 LPC<br />
coefficients, is plotted with a full line and "x".<br />
- 83 -
קידוד המעטפת הספקטרלית (מקדמי ה- (LPC הוא מאוד יעיל הן משיקולי דחיסה, שכן אין צורך<br />
בקידוד מספר רב של אמפליטודות והן משיקולי נוחות, שכן בכל מסגרת משודר מספר קבוע של<br />
פרמטרים (מקדמי ה- ,(LPC ללא תלות במספר האמפליטדות. תהליך מציאת מקדמי ה- LPC<br />
מתואר ב- [48].<br />
עם זאת, השימוש במעטפת ספקטרלית, הנוצרת בעזרת מקדמי החיזוי הלינארי, מצביע על מספר<br />
בעיות. הבעיתיות בייצוג המעטפת של ערכים בודדים על פני הספקטרום, מופיעה בהרבה<br />
שימושים של ייצור וקידוד אותות שמע.<br />
הבעיה העיקרית היא הדיוק בייצוג האמפליטודות ע"י המעטפת. עקומת המעטפת לא עוברת<br />
במדוייק דרך הנקודות (תדר,אמפליטודה) שיש לקודדן. לעיתים, הסטייה גדולה מאוד, דבר הפוגע<br />
באיכות השמע המשוחזר.<br />
בדוגמה שבאיור<br />
,7.1<br />
ניתן לראות, שהמעטפת הספקטרלית סוטה בהרבה בייצוג האמפליטודה של<br />
הטון החזק השני. המעטפת עוברת הרבה יותר נמוך מהאמפליטודה האמיתית, הנמצאת בשיא<br />
(החזק) השני של ספקטרום האות.<br />
במצב זה, לא ישמע כלל טון זה, כיוון שנוצרה הנחתה משמעותית בעוצמתו.<br />
יתכנו מצבים הפוכים, בהם המעטפת תגרום להגברה של טונים חלשים ולכן תיצור עיוות באות<br />
השמע.<br />
בפרק מתוארים מספר שיטות לפיתרון הבעיה. השיטות מבוססות על מציאת מעטפת ספקטרלית<br />
משופרת, המייצגת את האמפליטדות הבדידות בצורה הרבה יותר מדויקת. האלגוריתמים מנסים<br />
להקטין עד כמה שניתן את הסטיה בין האמפליטדות האמיתיות לבין אלו הנדגמות ע"י המעטפת<br />
(אמפליטודות המודל). שיטה להתאמת המעטפת בתחום הזמן מתוארת בסעיף<br />
הפועלת בתחום התדר מתוארת בסעיף<br />
,7.2<br />
.7.3<br />
ושיטה נוספת<br />
7.2 שיטה להתאמת המעטפת בתחום הזמן<br />
אמפליטודות המודל, המתקבלות מדגימת המעטפת, אינן מדוייקות מספיק.<br />
מצב אופטימלי הוא שעקומת המעטפת תעבור במדוייק דרך כל האמפליטודות. מצב זה אינו<br />
אפשרי, לפחות עבור מספר מוגבל של פרמטרים המייצגים את המעטפת (מקדמי<br />
האלגוריתם מבוסס על ביצוע שינויים במקדמי ה-<br />
.(LPC<br />
,LPC<br />
בצורה כזו שהמעטפת הספקטרלית<br />
תתאים יותר לדרישות. המעטפת במתכונתה הנוכחי, מושפעת מכל מרכיבי האות, ולא רק<br />
מהמרכיבים, שאותם מעונינים למדל.<br />
על פי המודל, המעטפת מייצגת את אמפליטדות של קבוצת התדרים ההרמונים (הנקבעים לפי שני<br />
תדרי בסיס). גורמים אחרים, כמו סינוסים בדידים, לא בהכרח משודרים בגלל מגבלת סיביות<br />
ולכן לא משתמשים במעטפת הספקטרלית לייצוג האמפליטודות שלהם.<br />
שינוי זה עלול לבוא על חשבון מרכיבים אחרים אותם צריך למדל. לפיכך, מבצעים בידוד של<br />
המרכיבים הרלוונטיים (הרמוניות), כך שהמעטפת תושפע אך ורק מהם, ותהווה המעטפת של<br />
המרכיבים ההרמוניים.<br />
- 84 -
לשם כך, מייצרים אות חדש,<br />
בתחום הזמן לפי:<br />
הכולל אך ורק את המרכיבים הרלוונטים.<br />
תהליך היצור הנעשה<br />
M<br />
y(<br />
n)<br />
= ∑ Ai<br />
i=<br />
1<br />
⋅ cos(2π f n + ϕ )<br />
i<br />
i<br />
(7.1)<br />
האות המיוצר,<br />
,y(n)<br />
.7.2<br />
הוא סכום של M הרמוניות (מספר התדרים ששני תדרי בסיס מייצגים),<br />
כאשר כל הרמוניה מיוצרת בעזרת אמפליטודה, תדר ופאזה.<br />
על האות המסונתז מחשבים את מקדמי ה- LPC ומייצרים מעטפת ספקטרלית, כמתואר באיור<br />
20<br />
spectrum of audio signal<br />
10<br />
0<br />
-1 0<br />
-2 0<br />
-3 0<br />
-4 0<br />
-5 0<br />
-6 0<br />
0 1000 2000 3000 4000 5000 6000 7000 8000<br />
frequency [Hz]<br />
איור 7.2: ספקטרום של אות מסונתז.<br />
האות כולל אך ורק את המרכיבים הרלוונטיים (הרמוניות), שהאמפליטודה שלהם נדרשת לייצוג<br />
בעזרת מעטפת. ספקטרום האות משורטט בקו מלא והוא כולל תדרים, שניתן להבחין בהם<br />
כשיאים. נקודת החיתוך של מעטפת ה- LPC בתדרים אלו מסומנת בעיגול.<br />
16<br />
Figure 7.2: Synthesize signal spectrum.<br />
The signal composed only of the relevant components (harmonics), which their amplitude is<br />
represented by the envelope. The signal spectrum is plotted with a solid line, and includes 16<br />
frequencies, which can be observed as peaks. The crossing point of the LPC envelope with those<br />
frequencies are marked by a circle.<br />
הבעיותיות במודל המעטפת נראית בבירור, למרות הוצאת המרכיבים הלא רלוונטיים. ניתן<br />
לראות שחלק מההרמוניות יוגברו (למשל, התדר השישי, קרוב ל-<br />
יוחלשו (למשל, התדר השני, ליד .(500Hz<br />
(2000Hz<br />
וחלק מהתדרים<br />
שינויים אלו בעוצמות גורמות לחלק מהמסגרות להישמע בצורה "מעוותת" לאוזן האנושית.<br />
- 85 -
על מנת לפתור בעיה זו, ננסה לעצב את המעטפת, כך שתעבור קרוב ככל הניתן דרך האמפליטודות<br />
האמיתיות.<br />
מספר אפשרויות לשינוי המעטפת הרגילה נבדקו:<br />
LPC באיטרציות<br />
•<br />
•<br />
•<br />
בחינת השפעת מספר המקדמים, N, על הביצועים.<br />
שינוי סקלת התדר לסקלת .Bark<br />
LPC 7.2.1 באיטרציות<br />
המעטפת הספקטרלית המחושבת בעזרת מקדמי<br />
LPC<br />
גורמת להגברתם או החלשתם של<br />
סינוסים. תופעה זו מתרחשת כאשר המעטפת עוברת מעל העוצמה האמיתית של טון בתדר<br />
מסויים או להיפך, כאשר המעטפת עוברת מתחת לעוצמה האמיתית.<br />
על מנת לתקן את צורת המעטפת, כך שתעבור במדויק יותר דרך העוצמות האמיתיות של הטונים,<br />
ננסה לשנות בצורה איטרטיבית את המעטפת הספקטרלית. שינוי המעטפת מתבצע ע"י שינוי אות<br />
הכניסה. השינויים באות הכניסה יהיו עדינים (קטנים) על מנת לקבל שינויים עדינים במעטפת.<br />
השינויים כוללים הגברה או החלשה של האמפליטודות האמיתיות. בכל איטרציה מחושבת מחדש<br />
מעטפת ,LPC<br />
אך כל פעם על אות כניסה שונה. האלגוריתם מתכנס כאשר יש התכנסות בעיוות<br />
(שגיאה בייצוג האמפליטודות המקוריות).<br />
האלגוריתם מבוצע על פי השלבים הבאים:<br />
מסמנים את קבוצת האמפליטודות המקוריות ע"י האמפליטודת של האיטרציה<br />
הראשונה.<br />
•<br />
A<br />
m,1<br />
= A m<br />
(7.2)<br />
כאשר האינדקס הראשון, m מציין את מספר הטון והאינדקס השני מציין<br />
את מספר האיטרציה.<br />
(7.3)<br />
•<br />
מייצרים אות כניסה (בתחום הזמן) ע"י סכום של סינוסים (תדרים, אמפליטודות<br />
ופאזה), כאשר הסינוסים הם רק אותם מרכיבים, שעוצמתם אמורה להיות<br />
מיוצגת ע"י המעטפת.<br />
M<br />
<br />
x(<br />
n)<br />
= ∑ Ai<br />
i=<br />
1<br />
⋅ cos(2π f n + ϕ )<br />
, iter<br />
i i<br />
• האות המיוצר מוכפל בחלון:<br />
- 86 -
syn( n)<br />
x(<br />
n)<br />
⋅ h ( n)<br />
ham<br />
(7.4)<br />
= •<br />
מחשבים את מקדמי ה- (N LPC מקדמים), לפי אלגוריתם לוינסון-דרבין.<br />
• מחשבים את האמפליטודות על פני המעטפת (אמפליטודות המודל):<br />
A _ lpc<br />
m<br />
=<br />
N<br />
1−<br />
∑<br />
i=<br />
1<br />
1<br />
a ⋅ z<br />
i<br />
−i<br />
(7.5)<br />
. z = e<br />
− j 2πf<br />
m<br />
FS<br />
כאשר<br />
מנרמלים את העוצמות של המודל ע"י השוואתם לסכום עוצמות הערכים<br />
האמיתיים:<br />
•<br />
A _ lpc<br />
m<br />
=<br />
A _ lpc<br />
m<br />
⋅<br />
∑ A<br />
i=<br />
1<br />
M<br />
∑ A _ lpc<br />
i=<br />
1<br />
M<br />
2<br />
i<br />
2<br />
i<br />
(7.6)<br />
D =<br />
1<br />
M<br />
M<br />
∑<br />
i=<br />
1<br />
מחשבים את העיוות הממוצע, D (שגיאה ביחידות (dB ע"י:<br />
20 ⋅ log10 ( real _ Ai ) − 20 ⋅ log10<br />
( A _ lpc i<br />
)<br />
•<br />
בשלב זה, מסתיימת איטרציה אחת.<br />
S<br />
m<br />
=<br />
מחשבים מקדמי תיקון factors) (scale<br />
ע"י:<br />
Am<br />
A _ lpc<br />
m<br />
(7.7)<br />
•<br />
משנים את האמפליטודות האמיתיות בהתאם למקדמי התיקון<br />
(הכפלה בשורש מאפשרת שינויים עדינים יותר).<br />
•<br />
A<br />
= A<br />
m,<br />
i+ 1 m,<br />
i<br />
⋅<br />
S<br />
m<br />
(7.8)<br />
אם העיוות D קטן (אך טרם הגיע להתכנסות) חוזרים לשלב מספר שניים (שלב<br />
ייצור אות הכניסה). אם העיוות מתכנס האלגוריתם מסתיים. התכנסות מוגדרת<br />
•<br />
- 87 -
כאשר העיוות באיטרציה נוכחית קטנה בפחות מ- 0.5%<br />
באיטרציה קודמת.<br />
מהעיוות שחושב<br />
דוגמה לתוצאת האלגוריתם, ניתן לראות באיור<br />
.7.3<br />
20<br />
spectrum of audio signal<br />
10<br />
0<br />
-10<br />
-20<br />
-30<br />
-40<br />
-50<br />
-60<br />
0 1000 2000 3000 4000 5000 6000 7000 8000<br />
frequency [Hz]<br />
איור 7.3: תפוקת האלגוריתם לעיצוב המעטפת הספקטרלית באיטרציות.<br />
בשרטוט ניתן לראות את הדוגמה המופיעה באיור ספקטרום האות משורטט בקו מלא<br />
ועוצמות המודל מסומנות בעיגול.<br />
.7.2<br />
Figure 7.3: Example of shaping the spectral envelope by the iterative algorithm.<br />
The example is the same as in figure 7.2. The signal spectrum is drawn with a solid line and the model<br />
amplitudes are marked by a circle.<br />
ניתן לראות שהפערים בין אמפליטודות המודל (בעיגול) לבין האמפליטודות האמיתיות (שיאים)<br />
קטנו ביחס להפרשים שנראו באיור<br />
באיור<br />
.7.2<br />
7.2<br />
אמפליטודת הייצוג של התדר השישי (המעטפת הרגילה- איטרציה אחת, בנקודת<br />
המעבר מעל התדר השישי), היתה גבוהה מדי, לכן בצורה איטרטיבית, עוצמת התדר הוקטנה<br />
בסינתזת האות עד אשר מעטפת ה<br />
LPC<br />
קטנה בהתאם. התדר השני<br />
,<br />
הוצג (ע"י המעטפת)<br />
בעוצמה נמוכה מדי, לכן בגישה האיטרטיבית, מגדילים את עוצמת התדר בייצור האות עד אשר<br />
המעטפת בנקודה זו גדולה מספיק.<br />
תוצאות האלגוריתם מסוכמות בטבלה<br />
האמיתיות.<br />
,7.1<br />
המציגה את השגיאה בין עוצמות המודל לעוצמות<br />
- 88 -<br />
שם הקטע<br />
עיוות לפי LPC<br />
עיוות לאחר<br />
איטרציות [dB]
2.13<br />
2.73<br />
2.42<br />
1.54<br />
2.51<br />
2.76<br />
2.63<br />
2.82<br />
2.31<br />
2.84<br />
2.42<br />
2.46<br />
[dB] רגיל<br />
2.52<br />
3.4<br />
3<br />
4.22<br />
3.19<br />
3.86<br />
2.99<br />
4.48<br />
3.72<br />
3.16<br />
3.43<br />
3.45<br />
10four<br />
bethoven<br />
Goodan<br />
Logoff<br />
mic<br />
Music10<br />
Music12<br />
Music2<br />
original<br />
Sax1mon<br />
track<br />
ממוצע<br />
טבלה 7.1: שגיאת המודל האיטרטיבי ביחס למודל הרגיל.<br />
במודל נבחנו מספר קטעי שמע, ששמם מופיע בעמודה הימנית. שגיאת המודל הרגיל, הכולל<br />
מעטפת ספקטרלית בעזרת מקדמי מוצגת בעמודה הימנית. שגיאת המודל האיטרטיבי<br />
מוצגת בעמודה השמאלית.<br />
,LPC<br />
Table 7.1: The iterative model error compared to the regular model.<br />
The names of the audio signals tested are in the right column. The regular model error in dB is<br />
presented in the middle column. The iterative model error is presented in the left column.<br />
ניתן לראות שהשיפור הממוצע בין שני המודלים (המודל הרגיל והמודל האיטרטיבי, הכולל<br />
5<br />
איטרציות בממוצע) הוא בגודל של כ- .1dB במספר קטעי שמע השיפור מאוד משמעותי ומגיע עד<br />
ל .3dB<br />
ישנם קטעים בהם השיפור קטן יחסית ומגיע לסדר גודל של .0.2dB<br />
7.2.2 בחינת השפעת מספר המקדמים על הביצועים.<br />
מקדמי ה- LPC קובעים את צורת המעטפת. במודל HILN ובמודל המוצע משתמשים בעשרים<br />
.(N=20)<br />
מקדמים הגיוני לחשוב, שככל שמספר המקדמים יהיה גדול יותר, כך יגדל הדיוק של<br />
המעטפת. המטרה של של ניסוי זה הוא בחינת ההשפעה של מספר המקדמים על יכולת הייצוג<br />
(שגיאה) של המעטפת ובחירת מספר מקדמים אופטימלי.<br />
לשם בחירת מספר המקדמים, מבצעים את המודל האיטרטיבי על פני מספר מקדמים משתנה<br />
10- בתחום<br />
40. העיוות הסופי של המודל האיטרטיבי נרשם עבור כל ערך של N. דוגמה לעיוותים<br />
המתקבלים מקטע שמע מוצגת באיור<br />
.7.4<br />
- 89 -
4<br />
e r r o r o f i t e r a t i v e a l g o r i t h m<br />
3 . 8<br />
3 . 6<br />
3 . 4<br />
3 . 2<br />
dB<br />
3<br />
2 . 8<br />
2 . 6<br />
2 . 4<br />
2 . 2<br />
2<br />
1 0 1 5 2 0 2 5 3 0 3 5 4 0<br />
N - n u m b e r o f c o e ffi c e n t s<br />
איור 7.4: שגיאת המודל כפונקציה של מספר המקדמים – דוגמה 1.<br />
השרטוט מציג את עיוות המעטפת ביחידות של כפונקציה של מספר המקדמים, החל מ-<br />
מקדמים ועד<br />
10<br />
,dB<br />
40 מקדמים.<br />
Figure 7.4: Model error as a function of the number of coefficients -example 1.<br />
The plot show the envelope error in dB, as a function of N, stating with 10 coefficients up to 40.<br />
ניתן לומר, בהכללה, שהפונקציה יורדת עם הגדלה במספר המקדמים. אולם, הפונקציה אינה<br />
מונוטונית, וישנם מצבם, כמו הקטע הנבדק בדוגמה, בהם הגדלת מספר המקדמים אינה מביאה<br />
להקטנה השגיאה.<br />
ניתן לראות מן הגרף, שעבור<br />
המקדמים ל-<br />
20<br />
מקדמים מתקבל עיוות של<br />
.3.7dB<br />
17 מקדמים,<br />
משיקולי דחיסה, שכן הדבר צורך פחות סיביות).<br />
אם מקטינים את מספר<br />
העיוות קטן בכ- .1dB (כמובן, שהורדת מספר המקדמים, מאוד נוח<br />
לבחירת N האופטימלי ישנן מספר גישות:<br />
•<br />
בגישה הראשונה מחפשים מינימום גלובלי לפונקצית השגיאה.<br />
במספר המקדמים הנותן עיוות מינימלי. ברוב המיקרים ה- N הוא באיזור<br />
דבר שמצריך הרבה סיביות על מנת לייצגם. (אם כימות 20 מקדמים מצריך<br />
אזי כימות של 40 מקדמים יצריך 48 סיביות נוספות).<br />
לפי גישה זו בוחרים<br />
40 מקדמים,<br />
48 סיביות,<br />
•<br />
•<br />
בגישה השנייה מחפשים מינימום בפונקציית השגיאה,<br />
אך היא לא בהכרח המינימום<br />
הגלובלי. גישה זו מתחשבת גם במינימיזציה על מספר המקדמים, כלומר בחירת מינימום<br />
עיוות ומינימום מקדמים.<br />
הגישה משלבת גם הורדה בעיוות<br />
(לא<br />
בהכרח ההורדה<br />
המקסימלית, לרב קרוב למקסימלי) וגם שימוש במספר לא גדול של מקדמים, על מנת<br />
לחסוך בסיביות.<br />
בגישה השלישית, שהיא מאוד חסכונית במספר המקדמים, בוחרים במינימום עיוות בין<br />
15=N לבין 20=N (או<br />
הדגמת שלוש השיטות מופיעה באיור 7.5.<br />
25). כלומר ערכי N גדולים מעל 20 מקדמים כלל לא נבדקים.<br />
- 90 -
3<br />
2.5<br />
2<br />
dB<br />
1.5<br />
1<br />
0.5<br />
0<br />
15 20 25 30 35 40<br />
N<br />
איור 7.5: שגיאת המודל כפונקציה של מספר המקדמים –דוגמה 2.<br />
השרטוט מציג את עיוות המעטפת ביחידות של כפונקציה של מספר המקדמים, החל מ-<br />
מקדמים ועד<br />
15<br />
,dB<br />
40 מקדמים.<br />
Figure 7.5: Model error as a function of the number of coefficients -example 2.<br />
The plot show the envelope error in dB, as a function of N, starting with 15 coefficients up to 40.<br />
בשרטוט ניתן לראות, שעל פי הגישה הראשונה, מינימום העיוות מתקבל ב<br />
40 עבור .N=40<br />
מקדמים מתקבלת שגיאה מינימלית. גישה זו גורמת, לעיתים, לבזבוז משאבים, כיוון שהתועלת<br />
בשידור 40 מקדמים אינה משמעותית, כפי שניתן לראות בגרף.<br />
על פי הגישה השנייה, מחפשים מינימום אופטימלי המושפע הן ממספר המקדמים והן מערך<br />
העיוות על פי:<br />
f = D(<br />
N)<br />
+<br />
1<br />
20<br />
⋅ N<br />
(7.9)<br />
מינימום הפונקציה f מתקבל ב 22=N. הגדלת N (למשל 35=N או 40=N) אמנם תיתן עיוות קטן<br />
יותר,<br />
אבל לא בצורה משמעותית,<br />
שכדאי עבורה לשלם את מחיר מספר המקדמים.<br />
גישה זו<br />
טוענת, שכדאי לרדת במספר המקדמים תמורת עלייה קלה בעיוות, כלומר מפסידים מעט בעיוות<br />
(אבל לא בצורה משמעותית)<br />
לרדת עד ל-<br />
מקדמים 22<br />
ומרוויחים בצורה משמעותית במספר המקדמים.<br />
(כמעט חצי מ-<br />
40<br />
"לספוג" את עליית העיוות, כיוון שהיא לא גדולה.<br />
על פי הגישה השלישית,<br />
מקדמים,<br />
מחפשים מינימום בתחום שבין<br />
שזה רווח גדול לדחיסה),<br />
N=20 לכן ,15-20<br />
ניתן בדוגמה,<br />
אבל מוכנים<br />
ייבחר כמספר<br />
המקדמים הנותן מינימום עיוות. היתרון בשיטה זו הוא המחיר הנמוך (מספר מקדמים לשידור)<br />
וגם לא מקובעים על N יחיד (אך התחום לא רחב).<br />
יישום שיטות אלו מצריך פרמטר נוסף לשידור, המציין את מספר המקדמים בכל מסגרת.<br />
- 91 -
7.2, בטבלה<br />
ניתן לראות את תוצאות האלגוריתם האיטרטיבי לחישוב מעטפת ספקטרלית בשילוב<br />
מספר משתנה של מקדמים (הגישה הראשונה והשניה).<br />
N<br />
עיוות לפי מודל איטרטיבי<br />
[dB]<br />
N=20<br />
שם הקטע<br />
עיוות לפי<br />
מודל רגיל<br />
[dB]<br />
גישה שניה<br />
גישה<br />
ראשונה<br />
גישה<br />
שניה<br />
גישה<br />
ראשונה<br />
38.6<br />
38.5<br />
38.7<br />
36.9<br />
37.8<br />
38.5<br />
39<br />
38.6<br />
38.5<br />
38<br />
38.3<br />
20.5<br />
23.9<br />
19.4<br />
22.1<br />
23.1<br />
24.3<br />
19.9<br />
20.8<br />
22.6<br />
22.2<br />
21.8<br />
1.12<br />
1<br />
1.5<br />
0.26<br />
0.79<br />
0.93<br />
1.56<br />
1.61<br />
1.38<br />
1.06<br />
1.12<br />
1.79<br />
1.91<br />
2.27<br />
0.87<br />
1.66<br />
1.78<br />
2.42<br />
2.48<br />
2.17<br />
1.88<br />
1.92<br />
2.13<br />
2.73<br />
2.42<br />
1.54<br />
2.51<br />
2.76<br />
2.63<br />
2.82<br />
2.84<br />
2.42<br />
2.48<br />
2.52<br />
3.4<br />
3<br />
4.22<br />
3.19<br />
3.86<br />
2.99<br />
4.48<br />
3.16<br />
3.43<br />
3.42<br />
10four<br />
bethoven<br />
Goodan<br />
Logoff<br />
mic<br />
Music10<br />
Music12<br />
Music2<br />
Sax1mon<br />
track<br />
ממוצע<br />
,20<br />
טבלה 7.2: תוצאות המודל האיטרטיבי בשילוב מספר מקדמים אופטימלי.<br />
הטבלה מציגה את שגיאת המודל על פני מספר קטעי שמע, ששמם מופיע בעמודה הימנית. עיוות<br />
המודל הרגיל, ללא איטרציות, מופיע בעמודה השניה מימין. עיוות המודל האיטרטיבי עבור מספר<br />
מקדמים קבוע של עבור מספר מקדמים לא קבוע, הנבחר לפי גישה שניה ועבור מספר לא קבוע<br />
של מקדמים, הנבחר על פי גישה ראשונה מוצג בשלושת העמודות בהמשך. מספר המקדמים<br />
הממוצע האופטימלי, הנבחר ע"י כל אחד מהשיטות מופיע בשתי העמודות השמאליות.<br />
Table 7.2: The iterative model combined with the optimal coefficients number.<br />
The table shows the model error for several audio signals, which their names is on the right<br />
column. The regular model error, is presented on the second colomn (from the right). The<br />
itertaive model error for a constant number of coefficients (20), for a variable number of<br />
coefficients, by approach one, and for a variable number of coefficients, by approach two, is<br />
presented on the next three columns. The average optimize number of coefficients, which is<br />
chosen by each approach's present in the two left columns.<br />
מתוצאות הטבלה ניתן לראות שהיכולת לבחור את מספר המקדמים האופטימלי, נותנת שיפור<br />
בייצוג העוצמות, כלומר ירידה בעיוות. לפי הגישה הראשונה ניתן לרדת בממוצע השגיאה בסדר<br />
גודל של ,1.3dB אבל במחיר של מספר מקדמים ממוצע קרוב מאוד ל-<br />
40 מקדמים.<br />
השניה, יש ירידה ממוצעת של 0.6dB בשגיאת המודל, ובמחיר נמוך יחסית של כ-<br />
בממוצע.<br />
לפי הגישה<br />
22 מקדמים<br />
יישום הגישות, בהן מספר המקדמים אינו קבוע, הוא מסובך, לא רק בגלל הצורך להוסיף פרמטר<br />
נוסף המציין את מספר המקדמים, אלא בעיקר בגלל המספר המילונים הרב שצריך לתכנן ולשמור<br />
בזיכרון. עבור כל N אפשרי בין 15 ל- 40, צריך לתכנן מספר מילונים, תהליך שהוא די מורכב.<br />
7.2.3 שינוי סקלת התדר לסקלת .Bark<br />
- 92 -
המודל האיטרטיבי ותהליך החיפוש אחר N אופטימלי גורמים לירידה משמעותית בעיוות, כלומר<br />
עוצמות המודל מקבלות ערכים יותר קרובים למציאות. אולם, שגיאת המודל (העיוות) אינה<br />
מתאפסת וככל הנראה לא ניתן להגיע למצב אידיאלי זה (שגיאה מאופסת), בו המעטפת<br />
הספקטרלית תעבור במדויק דרך כל האמפליטודות האמיתיות.<br />
למרות השיפור באיכות השמע, יש מספר קטן של אותות שמע בהם עדיין נשמעים עיוותים קטנים.<br />
עיוותים אלו נובעים, בעיקר, מהבדלים בין אמפליטודות המודל לאמפליטודות אמיתיות בתדרים<br />
הנמוכים, בהן האוזן האנושית רגישה הרבה יותר. לכן שימוש בסקלת תדר לא לינארית, הנותנת<br />
יתרון לתדרים הנמוכים, עדיפה על פני שימוש בסקלת תדר לינארית.<br />
לשם כך, משנים את סקלת התדר<br />
[29]<br />
לראות את פונקציית התמרת התדר באיור<br />
לפי סקלת<br />
,Bark<br />
.7.6<br />
המיושמת במודל הפסיכואקוסטי. ניתן<br />
9000<br />
8000<br />
7000<br />
new freq scale [Hz]<br />
6000<br />
5000<br />
4000<br />
3000<br />
2000<br />
1000<br />
0<br />
0 1000 2000 3000 4000 5000 6000 7000 8000<br />
freq [Hz]<br />
איור 7.6: התמרת תחום התדר על פי סקלת .Bark<br />
פונקציית ההתמרה משורטטת בקו מלא. על הפונקציה מוצגות שתי דוגמאות, אחת עבור תחום<br />
התדר הנמוך והשניה עבור תחום התדר הגבוהה. בתחום התדר הנמוך, משורטטים בקו מקווקו<br />
שני תדרים קרובים אחד לשני (בהפרש של הפונקצית ממירה לתדרים יותר מרוחקים<br />
(בהפרש של הרץ). בתחום התדר הגבוה, משורטטים שני תדרים עם הפרש של הרץ<br />
ביניהם. הפונקציה ממירה לתדרים יותר קרובים (הפרש של<br />
1000<br />
400 הרץ).<br />
300 הרץ).<br />
1000<br />
Figure 7.6: Conversion of the frequency band according to the Bark scale.<br />
The conversion function is drawn by a solid line. Two examples are presented over the function, first<br />
for the low frequency band and second for the high frequency band. At the low frequency band, two<br />
close frequencies (with a difference of 300Hz) are drawn by a dashed line. The function convert them<br />
to more spaced frequencies (a difference of 1000Hz). At the high frequency band, two frequencies with<br />
a difference of 1000Hz, are drawn. The function converts them to closer frequencies (with a difference<br />
of 400Hz).<br />
ניתן לראות מן הגרף שתדרים נמוכים<br />
"מתכווצים" (המרווחים ביניהם קטנים).<br />
"נמתחים" (המרווחים ביניהם גדלים)<br />
ותדרים גבוהים<br />
- 93 -
באיור 7.7<br />
ניתן לראות דוגמה לאות המורכב ממספר סינוסים ואת ההשפעה של שינוי סקלת<br />
400Hz<br />
התדר על המרחקים בין התדרים. כיוון שהתדרים 300Hz<br />
ו-<br />
קרובים מאוד, המעטפת<br />
הספקטרלית לא תוכל לייצג את העוצמות של שניהם בצורה מדוייקת, במיוחד כאשר ישנם הבדלי<br />
.(400Hz<br />
עוצמות (בתדר 300Hz<br />
העוצמה גדולה בהרבה מהעוצמה בתדר<br />
סקלת התדר, המרווח ביניהם גדל, כמתואר בשרטוט. התדרים<br />
לכן, כתוצאה משינוי<br />
400 הרץ הפכו ל- 1098<br />
ו-<br />
300 ו-<br />
1447 הרץ (בהתאמה).<br />
מאחר והמרווח בין התדרים גדל ניתן לייצג את עוצמתם בצורה מדוייקת יותר.<br />
לעומתם, התדרים הגבוהים: 5000 ו- 5500 הרץ התקרבו אחד לשני ולכן הייצוג שלהם יתקלקל<br />
מעט.<br />
50<br />
40<br />
30<br />
20<br />
dB<br />
10<br />
0<br />
-10<br />
-20<br />
-30<br />
0 1000 2000 3000 4000 5000 6000 7000 8000<br />
freq [Hz]<br />
50<br />
40<br />
30<br />
20<br />
10<br />
dB<br />
0<br />
-10<br />
-20<br />
-30<br />
-40<br />
0 1000 2000 3000 4000 5000 6000 7000 8000<br />
freq [Hz]<br />
איור 7.7: תיאור פעולת מתיחת תחום התדר.<br />
5500 הרץ. הספקטרום של<br />
בדוגמה, אות המורכב מסכום התדרים:<br />
אות זה נתון בשרטוט העליון. ביצוע המרת סקלת התדר לפי ,Bark משנה את סקלת התדר, כמוצג<br />
בשרטוט התחתון. בקו מקווקו מסומנים זוג אחד של תדרים 300 ו- 400 הרץ. בפעולת שינוי סקלת<br />
התדר, התדרים מתרחקים זה מזה. כמו כן, מסומן זוג נוסף של תדרים 5000 ו- 5500 הרץ. פעולת<br />
שינוי סקלת התדר גורמת לקירוב התדרים.<br />
,5000 ,3000 ,1000 ,400 ,300<br />
Figure 7.7: Frequency-band warping.<br />
In the example, a signal composed of the frequencies: 300, 400, 1000, 3000, 5000, 5500 Hz.. The<br />
spectrum is plotted above. The Frequency band warping according to Bark scale, changes the<br />
frequency scale, as it appears in the lower plot. In dashed line, two frequencies are marked, 300 and<br />
400Hz. In the warping operation, the frequencies get further each other. Other two frequencies, 5000<br />
and 5500Hz, are marked. In the warping operation they get closer.<br />
שינוי סקלת התדר גורמת להקטנת העיוות בתחום התדר הנמוך,<br />
במחיר של הגדלת העיוות<br />
בתחום התדר הגבוה. תופעה זו רצויה, כיוון שהאוזן האנושית הרבה יותר רגישה לתחום התדר<br />
הנמוך.<br />
- 94 -
יש לציין שאין שום שינוי בתדרים המקוריים, השינוי בסקלת התדר,<br />
המעטפת הספקטרלית המיועדת למציאת אמפליטודות.<br />
הוא אך ורק עבור חישוב<br />
7.3 שיטה להתאמת המעטפת בתחום התדר<br />
בסעיף הקודם תוארה שיטה להתאמת המעטפת לאות, המיוצר בתחום הזמן. ספקטרום האות<br />
נראה כשיאים בודדים בתדרי הסינוסים, כאשר בין תדרי הסינוסים לא היתה אנרגיה. המעטפת<br />
הספקטרלית מותאמת לייצוג הספקטרום כולו ולא ע"י שיאים בודדים. לפיכך, יש צורך בייצור<br />
אנרגיה מתאימה בין תדרי הסינוסים. כאשר כל הספקטרום יכיל אנרגיה, המעטפת תהיה הרבה<br />
יותר מדוייקת. השיטה מבוססת על יצור האות בתחום התדר<br />
מטרתנו היא שהמעטפת תעבור כמה שיותר מדויק דרך<br />
.[30] [29]<br />
L<br />
תדרים, שאותם מעונינים לייצג. אין<br />
עניין בייצוג של כל התדרים ולכן מסנתזים ספקטרום חדש בעזרת אינטרפולציה, על בסיס<br />
התדרים "המעניינים".<br />
גודל תא התדר בספקטרום החדש הוא ,20Hz וברוחב סרט של 8kHz יהיו 400 תאי תדר.<br />
L התדרים מסומנים ע"י{ {<br />
L<br />
.<br />
בעלי אמפליטודות } ,..., m { m<br />
1 , 2<br />
m L<br />
W W ,...,<br />
1 , 2<br />
W L<br />
הספקטרום האמיתי מסומן ב-<br />
log בצורה הבאה:<br />
,S<br />
והאינטרפולציה המסומנת ב-<br />
מ Q<br />
חושבת לינארית בתחום ה-<br />
⎛ w<br />
j<br />
− W<br />
k ⎞<br />
log Q ( w ) log ( )<br />
⎜<br />
⎟<br />
j<br />
= S W<br />
k<br />
+<br />
⋅ (log S ( W<br />
k<br />
) − log S ( W<br />
k + 1)<br />
⎝ W<br />
k + 1<br />
− W<br />
k ⎠<br />
(7.10)<br />
כאשר w j הוא אחד מ- 400 תאי תדר (כל תחום התדר בקפיצות של .(20Hz<br />
W k +1<br />
W k ל-<br />
והוא נמצא בין<br />
(2 תדרים סמוכים מתוך L התדרים).<br />
במקרה קצה,כאשר w j קטן מהתדר הראשון או גדול מהתדר האחרון, מבצעים אקסטרפולציה.<br />
כלומר, המשך בין שני התדרים הראשונים או האחרונים.<br />
השרטוט באיור 7.8, מראה את תוצאת האינטרפולציה.<br />
- 95 -
0.12<br />
Q –<br />
Q - interpulated interpolated spectrum<br />
spectrum<br />
0.1<br />
0.08<br />
0.06<br />
0.04<br />
0.02<br />
0<br />
0 1000 2000 3000 4000 5000 6000 7000 8000<br />
frequency[Hz]<br />
ייצור ספקטרום בעזרת אינטרפולציה.<br />
איור תדרים. מיקום התדרים ועוצמתם מסומנים ע"י עיגולים.<br />
בדוגמה, קטע אות כניסה, הכולל (מסומנים בעיגולים) ומסנתזים את שאר תאי התדר ע"י<br />
תחילה קיימים רק תאי תדר אלו אינטרפולציה.<br />
Figure 7.8: Synthesized spectrum using interpolation.<br />
In the example, the input signal is composed of 14 frequencies. The frequencies locations and their<br />
amplitudes are marked by circles. The synthesize spectrum by interpolation is shown by the solid line.<br />
14<br />
:7.8<br />
חישוב מקדמי ה- ,LPC מתוך הספקטרום מתואר ב- [29].<br />
לאחר מציאת מקדמי ה- LPC דו, גמים את מעטפת המודל באמצעות הנוסחה הבאה:<br />
mˆ<br />
( w ) =<br />
i<br />
p<br />
1 + ∑ a<br />
k = 1<br />
1<br />
k<br />
⋅ e<br />
− jwik<br />
i=1, 2, ..., L<br />
(7.11)<br />
התוצאה תהיה קבוצה של אמפליטודות, בה נשתמש לצורך סינתזת האות.<br />
בשלב האחרון מנרמלים את האמפליטודות בהתאם לעוצמת האמפליטודות המקוריות,<br />
ומתקבלות אמפליטודות הייצוג (לפי המודל).<br />
העיוות מחושב ע"י המרחק בין האמפליטודות המחושבות לבין האמפליטודות המקוריות:<br />
L<br />
1<br />
D = ⋅∑[20<br />
⋅log(<br />
m ) 20 log( ˆ<br />
i<br />
− ⋅ mi<br />
)]<br />
L<br />
i=<br />
1<br />
(7.12)<br />
אמפליטודות המודל לא היו מספיק מדוייקות, כיוון שהמעטפת הספקטרלית לא עברה מספיק<br />
קרוב דרך העוצמות האמיתיות.<br />
- 96 -
מספר רעיונות לשינוי צורת המעטפת נבדקו:<br />
•<br />
•<br />
•<br />
מציאת מעטפת LPC בצורה איטרטיבית.<br />
צמצום התחום הדינאמי של העוצמות המקוריות.<br />
שינוי סקלת התדר לסקלת .Bark<br />
7.3.1 מודל איטרטיבי<br />
המודל האיטרטיבי, זהה בתפיסתו לזה שהוצג בסעיף<br />
.7.2<br />
הרעיון מאחורי המודל, הוא ביצוע<br />
תיקונים מלאכותיים באות הכניסה בתחום התדר (בסינתוז הספקטרום) על מנת לשנות את צורת<br />
המעטפת, כך שתעבור יותר קרוב לעוצמות האמיתיות.<br />
התהליך האיטרטיבי זהה בתחילתו לתהליך הרגיל, הכולל:<br />
•<br />
יצירת ספקטרום בעזרת<br />
L תדרים,<br />
הסינוסים ושאר תאי התדר מחושבים ע"י אינטרפולציה.<br />
כאשר כל אחד מ- L תאי התדר מקבל את<br />
עוצמות<br />
•<br />
•<br />
•<br />
מציאת מקדמי ה- LPC ויצירת מעטפת ספקטרלית.<br />
דגימת המעטפת למציאת אמפליטודות המודל.<br />
חישוב העיוות, על פי משוואה<br />
.7.12<br />
לאחר השלבים הרגילים מחושבים<br />
:scale factors<br />
S<br />
i<br />
=<br />
real _ mi<br />
mˆ<br />
i,<br />
iter<br />
(7.13)<br />
כאשר<br />
ו-<br />
iter ,(i=1 ... L)<br />
mˆ<br />
מסמן את אמפליטודת המודל.<br />
מסמן את מספר האיטרציה, real_m הוא העוצמה האמיתית<br />
גורמי הכפלה אלו מציינים את ההבדל בין האמפליטודה המקורית ובין אמפליטודה המחושבת<br />
במודל.<br />
לאחר מכן מכפילים את האמפליטודות המחושבות בגורמי ההכפלה:<br />
m ˆ<br />
i iter<br />
Si<br />
mˆ<br />
, + 1<br />
= ⋅<br />
i,<br />
iter<br />
(7.14)<br />
(0.5% –<br />
בשינוי זה מבוצע תיקון מלאכותי של האמפליטודות.<br />
כעת חוזרים על כל התהליך מתחילתו עד התכנסות העיוות.<br />
- 97 -<br />
העיוות D,<br />
מחושב ואם יש התכנסות (העיוות קטן בפחות מ<br />
מפסיק, ואם העיוות לא מתכנס, ממשיכים לאיטרציה הבאה.<br />
7.3.2 צמצום התחום הדינמי<br />
אז התהליך האיטרטיבי
המעטפת מתקשה מאוד בייצוג עוצמות גבוהות מאוד, כאשר הן משולבות ביחד עם עוצמות<br />
נמוכות מאוד. למעטפת קשה מאוד לעקוב אחר שינויים גדולים בעוצמות, כיוון שתפקידה הוא<br />
להחליק את הספקטרום. אחד הפתרונות לבעיה זו היא צמצום התחום הדינמי של העוצמות,<br />
כלומר החלשת העוצמות החזקות והגברת העוצמות החלשות.<br />
צמצום התחום הדינמי של האמפליטודות משפר את היכולת של המעטפת לייצג את העוצמות<br />
ולכן גם שגיאת המודל קטנה.<br />
צמצום התחום הדינמי מבוצע ע"י ביצוע שורש שלישי לכל העוצמות<br />
:[29]<br />
m<br />
3<br />
i<br />
⇒ m i<br />
(7.15)<br />
לאחר חישוב העוצמות החדשות, מייצרים ספקטרום ע"י אינטרפולציה סביב<br />
העוצמות החדשות.<br />
עוצמות המודל מחושבות ע"י דגימת המעטפת הספקטרלית ב- L נקודות תדר.<br />
L<br />
תאי תדר עם<br />
העוצמות מועלות (בחזרה) בחזקת שלוש, על מנת להגיע לערכי האמפליטודות המקוריות, לפני<br />
הצמצום בתחום הדינמי.<br />
7.3.3 מתיחת סקלת התדר<br />
היכולת לנצל את יתרונות וחסרונות מערכת השמיעה האנושית, עוזרת רבות בכל שלבי הקידוד<br />
של אותות שמע. גם במודל ייצוג אמפליטודות, משתמשים במודל הפסיכואקוסטי. מאחר והאוזן<br />
האנושית רגישה יותר לתדרים נמוכים מאשר לתדרים גבוהים, יותר חשוב לדייק בעוצמות של<br />
התדרים הנמוכים על חשבון העוצמות של התדרים הגבוהים [30]. תהליך זה תואר בסעיף<br />
מתיחת סקלת התדר נעשה לפי:<br />
.7.2.3<br />
new _<br />
freq<br />
freq = [13⋅arctan(0.00076<br />
⋅ freq)<br />
+ 3.5⋅arctan(<br />
) ]<br />
7500<br />
2 ⋅<br />
8000<br />
21.2753<br />
(7.16)<br />
זוהי נוסחת ההמרה לסקלת<br />
הרץ, כיוון שתדר<br />
גרף ההמרה מתואר איור<br />
.Bark<br />
8000 הרץ מומר ל- .Bark 21.27<br />
.7.6<br />
הנוסחה מוכפלת ב-8000/21.2723 על מנת להישאר ביחידות<br />
- 98 -<br />
קבוצת L התדרים{ ,..., W { W<br />
1 , 2<br />
W L<br />
מקבוצת התדרים בונים את הספקטרום<br />
מקדמי ה- .LPC<br />
תוצאות האלגוריתם מסוכמות בטבלה 7.3.<br />
מומרת לקבוצת תדרים חדשה{ {<br />
.<br />
F F ,...,<br />
1 , 2<br />
F L<br />
,Q<br />
בדרך הרגילה,<br />
ניתן לראות בטבלה הבאה סיכום תוצאות של הרצות על פני<br />
מספר מודלים.<br />
ומחשבים מעטפת מודל באמצעות<br />
50<br />
קטעי מוסיקה ודיבור על פני
המודל, המתואר בסעיף<br />
,7.3<br />
לייצוג אמפליטודות לפי יצירת אות בתחום התדר, מביא לתוצאות<br />
טובות יותר, כבר ללא איטרציות, מאשר המודל המתואר בסעיף<br />
בתחום הזמן, כולל איטרציות.<br />
השיפור במודל, הנובע מהוספת איטרציות, הוא בממוצע כ-<br />
,7.2<br />
.0.2dB<br />
המבוסס על ייצור אות<br />
צמצום התחום הדינאמי<br />
מוריד 0.2dB נוספים בעיוות המודל. השיפור המשמעותי העשה ע"י פעולת מתיחת התדר ומביא<br />
לירידה של כ- 0.4dB בעיוות.<br />
הטבלה מציגה גם את אחוז הצלחה של תהליך האיטרציות, שהוא אחוז המסגרת בהם יש כדאיות<br />
להשתמש באיטרציות, כלומר יש שיפור בעיוות (לא בכל מסגרת התהליך האיטרטיבי יתן שיפור<br />
בעיוות, במצב זה לא מתבצעת אף איטרציה).<br />
ניתן לראות שבממוצע 70% מהמקרים המודל האיטרטיבי גורם להקטנת העיוות.<br />
מספר האיטרציות הוא הממוצע על הקטעים בהם יש איטרציות (לא כולל קטעים בהן לא<br />
מבוצעות איטרציות או באיטרציה אחת). ניתן לראות שבממוצע שש איטרציות מספיקות על מנת<br />
להגיע להתכנסות העיוות (כאשר התכנסות מוגדרת בשינוי העיוות בפחות מ-<br />
האחרון).<br />
מערכו 0.5%<br />
מודל<br />
ייצוג על ידי מעטפת LPC<br />
ייצוג לפי סינתזת האות בתחום זמן<br />
באיטרציות<br />
ימוש באוטוקורלציה בתדר על<br />
ספקטרום שעבר אינטרפולציה<br />
יצוע צמצום התחום הדינאמי<br />
עם(+)/ללא<br />
איטרציות<br />
עיוות<br />
אחוז<br />
הצלחה<br />
מספר<br />
איטרציות<br />
5.5<br />
5.4<br />
7.3<br />
7.9<br />
54.5%<br />
80.6%<br />
60.6%<br />
70.9%<br />
[dB]<br />
3.19<br />
2.47<br />
+<br />
–<br />
- רגיל<br />
2.43<br />
ש 2.27<br />
+<br />
2.26<br />
ב 2.21<br />
+<br />
1.96<br />
1.77<br />
+<br />
ה<br />
1.82 Bark<br />
1.58<br />
+<br />
ה<br />
מרת סקלת תדר לסקלת Bark<br />
מרה לסקלת<br />
התחום הדינמי<br />
וביצוע צמצום<br />
טבלה 7.3: תוצאות המודל לייצוג אמפליטודות.<br />
הטבלה מסכמת את תפוקות שישה מודלים, הרשומים בעמודה הימנית. חלק מהמודלים כוללים<br />
איטרציות. בעמודה השניה מימין מסומן האם המודל משתמש באיטרציות. עיוות המודל ביחידות<br />
של dB מוצג בעמודה האמצעית. אחוז ההצלחה של המודל האיטרטיבי, כלומר הסיכוי להקטנת<br />
העיוות באמצעות איטרציות, מוצג בעמודה הבאה ומספר האיטרציות בממוצע מוצג בעמודה<br />
השמאלית.<br />
Table 7.3: Amplitude representation model results.<br />
The table summarizes the ouputs of six models that are listed on the right column. Some of the models<br />
includes iterations. In the second (from right) column there is a mark whether the model is using<br />
iterations. The model distortion in dB is presented on the middle column. The model's success (in<br />
percents), which means the probabilty of decreasing the distortaion by the iterations, is presented on the<br />
next column, and the average number of iterations is present on the left column.<br />
7.4 סיכום<br />
- 99 -
מעטפת ספקטרלית היא כלי חשוב ביכולת הקידוד של עוצמות הטונים של אות שמע. בפרק<br />
מתוארים שני מודלים לחישוב המעטפת הספקטרלית. מודל המייצר את אות השמע בתחום הזמן<br />
ומודל שני המייצר את האות בתחום התדר.<br />
הבעיתיות בשימוש במעטפת ספקטרלית לייצוג עוצמות מתוארת בפרק זה.<br />
המעטפת אינה מסוגלת לייצג במדוייק את העוצמות, לעיתים יש הגברה או החלשה של טונים,<br />
דבר המשפיע על איכות השמע.<br />
בפרק נבחנו מספר גישות להתמודדות עם הבעיה הזו. המודל האיטרטיבי שנבחן הראה שיפור<br />
משמעותי של כ-<br />
1dB<br />
במודל הראשון (ייצור אות בתחום הזמן), אך לא הראה כדאיות במודל<br />
השני (ייצור אות בתחום התדר) בו השיפור הוא רק ב- .0.2dB<br />
נבדקה השפעת מספר המקדמים (מקדמי ה- (LPC על העיוות. הבדיקה הראתה ששימוש במספר<br />
משתנה של מקדמים עבור כל מסגרת כניסה יניב שיפורים בביצועים, אולם שינוי זה מצריך<br />
הרכבת מילונים רבים (לכימות וקטורי של הפרמטרים).<br />
נבדקה השפעת צמצום התחום הדינאמי של האמפליטודות על העיוות. הבדיקה גילתה שיש<br />
כדאיות בשימוש בפעולה זו, אמנם הקטנת העיוות לא היתה גדולה, 0.2dB בממוצע, אך פעולה זו<br />
משפרת את היכולת של המעטפת לייצג את העוצמות.<br />
השיפור המשמעותי ביותר לשמיעה, היה השימוש במתיחת סקלת התדר, תוך ניצול המודל<br />
הפסיכואקוסטי, השיפור כלל הקטנת העיוות בכ- 0.5dB בממוצע.<br />
- 100 -
פרק 8<br />
קידוד וכימות<br />
8.1 הקדמה<br />
השלב האחרון במקודד הפרמטרי הוא קידוד וכימות כל הפרמטרים וסידורם ברצף סיביות<br />
המשודרות. בבלוק זה אוספים את כל הפרמטרים של המרכיבים הטונליים (המחולקים לשתי<br />
קבוצות- הרמוניות וסינוסים בדידים) ושל מרכיב הרעש.<br />
כל הפרמטרים מסוכמים, לפי המודל, בטבלה 8.1.<br />
מודל<br />
model<br />
הרמוניות<br />
בדידים<br />
רעש<br />
מספר סיביות<br />
Num of Bits<br />
2<br />
7<br />
10<br />
6<br />
48<br />
1<br />
2-160<br />
3<br />
10<br />
1<br />
2-56<br />
1<br />
48<br />
6<br />
5<br />
4<br />
תיאור<br />
Description<br />
מספר תדרים יסודיים<br />
מספר הרמוניות<br />
תדר יסודי<br />
עוצמת מעטפת<br />
שם<br />
Parameter name<br />
Num_pitches<br />
Num_Harm1<br />
Harm_Freq1<br />
Gain<br />
Lpc_Coeff<br />
Code_Type1<br />
Harm_Place1<br />
Num_Harm2<br />
Harm_Freq2<br />
Code_Type2<br />
Harm_Place2<br />
Second_Envelope_Flag<br />
Lpc_Coeff2<br />
Gain2<br />
Fix_Freq<br />
Num_Line<br />
Prev_Line_Cont_Flag<br />
1<br />
20 מקדמי LPC<br />
צורת קידוד<br />
מיקום הרמוניות<br />
מספר הרמוניות<br />
תדר יסודי<br />
צורת קידוד<br />
מיקום הרמוניות<br />
קיום מעטפת שניה<br />
2<br />
20 מקדמי LPC<br />
2<br />
0-15<br />
10<br />
6<br />
6<br />
4<br />
1<br />
6<br />
24<br />
עוצמת מעטפת<br />
תיקון תדר<br />
מספר בדידים<br />
דגל המציין רציפות<br />
ממסגרת קודמת<br />
תדר<br />
אמפליטודה<br />
הפרש תדר<br />
הפרש אמפ'<br />
דגל קיום רעש<br />
עוצמה<br />
Line_Freq<br />
Line_Ampl<br />
Line_Delta_Freq<br />
Line_Delta_Ampl<br />
Noise_Flag<br />
Noise_Norm<br />
Noise_Para<br />
10 מקדמי LPC<br />
טבלה 8.1: סיכום פרמטרים לשידור במקודד המוצע.<br />
בטבלה מסודרים הפרמטרים לפי מודל (הרמוניות, בדידים או רעש). כל פרמטר מוצג לפי שמו,<br />
תיאור קצר ומספר הסיביות שצריך להקצות לו. יש מספר פרמטרים שמספר הסיביות הנדרש<br />
עבורן אינו קבוע ולכן הוא מסומן ע"י משתנה.<br />
Table 8.1: Summary of all the parameters for transmission in the proposed encoder.<br />
The parameters that appear in the table are ordered by model type (harmonic, individual sinusoids or<br />
noise). Each parameter appears by its name, short description and the number of bits. There are few<br />
parameters that need a variable number of bits, therefore it is marked by a variable.<br />
- 101 -
הפרמטרים בטבלה מפורטים הסעיפים הבאים.<br />
8.2 שידור הרמוניות<br />
להלן פירוט כל הפרמטרים הנדרשים לייצוג הרמוניות לפי סדר שידורם:<br />
מספר תדרים יסודיים, ,Num_pitches משודר בעזרת שתי סיביות.<br />
'00' כאשר<br />
מציין שאין תדרים יסודיים, '01' מייצג תדר יסודי אחד ו-<br />
תדרים יסודיים.<br />
מספר ההרמוניות של תדר הבסיס הראשון, Num_Harm1 משודרת ע"י<br />
ניתן לשדר עד 128 הרמוניות.<br />
תדר יסודי, ,Harm_Freq1 מכומת לוגריתמית בין<br />
'10'<br />
7 סיביות,<br />
2000Hz ל- 50Hz<br />
אמפליטודות ההרמוניות יחושבו מתוך מעטפת ספקטרלית מיוצגת ע"י<br />
המכומתים ע"י<br />
מיקום ההרמוניות,<br />
ביותר ל-<br />
ע"י<br />
מייצג שני<br />
10 סיביות.<br />
לפיכך<br />
20 מקדמי ,LPC<br />
48 סיביות,<br />
ועוצמה, ,Gain המכומתת ע"י 6 סיביות בסקלה לוגריתמית.<br />
,Harm_Place1<br />
מכומת ע"י<br />
X<br />
160 סיביות,<br />
סיביות (יכול להגיע במקרה הגרוע<br />
כאשר התדר היסודי הוא 50Hz וישנה הרמוניה הממוקמת בתדר<br />
.(8000Hz צורת הקידוד של מיקום ההרמוניות, Code_Type1 (יכולה להיות אחת משתי<br />
שיטות אפשריות: קידוד רגיל או<br />
מתוארת בהרחבה בהמשך הפרק בסעיף<br />
,(Huffman<br />
.8.5<br />
משודרת ע"י סיבית אחת. צורת הקידוד<br />
אם משודר תדר יסודי שני, מספר ההרמוניות שלו, Num_Harm2 משודר ע"י<br />
לפיכך ניתן לשדר עד<br />
התדר היסודי השני<br />
3 סיביות,<br />
9 הרמוניות<br />
(מכיוון שהמינימום הוא<br />
.(2<br />
,Harm_Freq2 ,<br />
סיביות, הכימות זהה לתדר יסודי הראשון.<br />
מיקום ההרמוניות,<br />
מכומת לוגריתמית בין<br />
2000Hz ל- 50Hz<br />
10 ע"י<br />
,Harm_Place2<br />
מכומת ע"י<br />
Y<br />
סיביות. צורת הקידוד של מיקום<br />
ההרמוניות, Code_Type2 (רגיל או קידוד הפרשים), משודרת ע"י סיבית אחת.<br />
אם נשארו סיביות עודפות, משדרים מעטפת ספקטרלית שניה. קידוד האמפליטודות<br />
באמצעות שתי מעטפות ספקטרליות מצויין ע"י הדגל .Second_Envelope_Flag<br />
כל שאר הסיביות העודפות, מנוצלות לתיקוני תדר,<br />
מתוקנים לפי סדר עוצמתם לאחר כימות.<br />
,Fix_Freq<br />
5 ע"י<br />
סיביות. התדרים<br />
•<br />
•<br />
•<br />
•<br />
•<br />
•<br />
•<br />
•<br />
•<br />
•<br />
8.3 שידור בדידים<br />
להלן מפורטים כל הפרמטרים הנדרשים לייצוג סינוסים בדידים לפי סדר שידורם:<br />
- 102 -
משדרים את מספר הבדידים,<br />
,Num_Line<br />
4 ע"י<br />
בדידים (משאירים ייצוג עבור המצב בו אין אף בדיד).<br />
משדרים את דגלי הרציפות,<br />
הבדידים במסגרת קודמת.<br />
סיביות, כלומר מאפשרים עד<br />
15<br />
N ע"י ,Prev_Line_Cont_Flag<br />
סיביות, בהתאם למספר<br />
'0' משמעו שהתדר לא נמשך למסגרת נוכחית, ו- '1' משמעו שהתדר מתמשך<br />
גם למסגרת נוכחית.<br />
התדרים המתמשכים משודרים תחילה, ע"י הפרש התדר, ,Line_Delta_Freq<br />
ושינוי האמפליטודה, Line_Delta_Ampl (בסקלה לוגריתמית ע"י<br />
תדרים חדשים משודרים ע"י תדר,<br />
(6 סיביות)<br />
4 סיביות).<br />
Line_Freq<br />
ואמפליטודה, Line_Ample (בסקלה לוגריתמית,<br />
(בסקלה לוגריתמית,<br />
10<br />
6 סיביות).<br />
סיביות)<br />
•<br />
•<br />
•<br />
•<br />
8.4 שידור רעש<br />
משודר דגל המציין את קיום הרעש, ,Noise_Flag באמצעות סיבית אחת.<br />
'0' משמעו אי קיום מרכיב רעש ו- '1' מציין את קיומו של הרעש.<br />
מודל הרעש נתון ע"י מעטפת ספקטרלית, המיוצגת ע"י<br />
10 מקדמי ,Noise_Para ,LPC<br />
המכומתים באמצעות 24 סיביות ועוצמה, ,Noise_Norm המכומתת באמצעות<br />
בסקלה לוגריתמית.<br />
6 סיביות<br />
•<br />
•<br />
8.5 צורת הקידוד של ההרמוניות<br />
במודל ההרמוניות, משדרים תדר יסודי (pitch) אחד לפחות ומעטפת ספקטרלית המתאימה לכל<br />
התדרים היסודיים (במידה ויש יותר מאחד).<br />
האמפליטודות של כל ההרמוניות מחושבות ע"י דגימת המעטפת הספקטרלית בכפולות של התדר<br />
היסודי.<br />
המידע שחסר הוא אילו מההרמוניות אכן קיימות. לכן, משודרת סדרה ארוכה של סיביות,<br />
המתארת את מיקום ההרמוניות, .Harm_Place (איור<br />
שיטה אפשרית לקידוד<br />
מספר<br />
.(8.1<br />
,Harm_Place<br />
,12 ,10 ,9 ,8 ,5<br />
הגבוהה ביותר יכולה להגיע למספר<br />
מציינת את מספרי ההרמוניות עצמן (למשל, הרמוניה<br />
22 וכך הלאה). ציון כל הרמוניה דורש שמונה סיביות (כיוון שההרמוניה<br />
.(160<br />
מספר ממוצע של הרמוניות הוא בסביבות<br />
נדרשות בממוצע 320 סיביות רק על מנת לציין את מיקום ההרמוניות<br />
.40<br />
.(40*8 = 320)<br />
לכן<br />
מאחר ששיטה זו מאוד בזבזנית, מקובל לקודד את ההפרשים בין ההרמוניות. בהנחה שההפרשים<br />
הם בעלי ערכים נמוכים יותר ממספר ההרמוניה עצמה, ניתן לייצג כל הפרש בעזרת שש סיביות,<br />
ולכן קידוד המיקום צורך<br />
240 סיביות .(40*6=240)<br />
- 103 -
בשל אורכה הגדול של הסדרה משתמשים באחת משתי שיטות קידוד שונות, המתוארות בסעיפים<br />
הבאים. השיטה שתיבחר היא זו הצורכת פחות סיביות.<br />
20<br />
spectrum of audio signal<br />
10<br />
0<br />
-10<br />
-20<br />
dB<br />
-30<br />
-40<br />
-50<br />
-60<br />
-70<br />
0 1000 2000 3000 4000 5000 6000 7000 8000<br />
frequency [Hz]<br />
איור 8.1: הדגמת הצורך בקוד המציין את מיקום ההרמוניות.<br />
באיור משורטט בקו מלא ספקטרום של אות שמע. המעטפת הספקטרלית מסומנת ע"י קו מלא<br />
(מסומנים עליו גם םי- בדוגמה נמצא תדר יסודי יחיד של הרץ, המייצג סינוסים<br />
(הרמוניות) המסומנות בעיגול, כאשר ההרמוניה האחרונה (מופיעה בעיגול הימני ביותר) מספרה<br />
הכפולות של התדר היסודי שאינן קיימות מסומנים ע"י על המעטפת. ניתן לראות<br />
שההרמוניה הראשונה היא ההרמוניה מספר<br />
22<br />
52.1<br />
x<br />
Figure 8.1: The need of harmonics location code.<br />
A spectrum of an audio signal is drawn by a solid line. The spectral envelope is drawn by a solid line<br />
(and is also marked with 'x'). In the example, there is one pitch at 52.1 Hz, which represent 22<br />
harmonics, which are marked by circles. The last harmonic (the right most circle) is the 148-th<br />
harmonic. The pitch multiples, that do not exist are marked by a x on the envelope. It can be seen that<br />
the first harmonic is a multiple of 5 of the fundamental frequency.<br />
.5<br />
.(<br />
'x'<br />
.148<br />
8.5.1 שיטת קידוד 1<br />
- 104 -
עבור כל כפולה של התדר היסודי משודרת סיבית אחת (כל סיבית בקוד מייצגת הרמוניה אחת).<br />
'0' משמעו שאין הרמוניה בכפולה זו של התדר היסודי, ו- '1' משמעו שקיימת הרמוניה.<br />
לפיכך מספר הסיביות שווה למספר ההרמוניה האחרונה (מספר הכפולה בתדר היסודי). סדרה זו<br />
יכולה להיות גדולה מאוד עד למקסימום של<br />
האפשרי הוא<br />
160<br />
50Hz<br />
סיביות, כיוון שהתדר היסודי הנמוך ביותר<br />
ותדר מקסימלי בקבוצת התדרים יכול להגיע עד ל-<br />
8000Hz<br />
.(50*160=8000)<br />
דוגמה לסדרת סיביות המקודדת לפי שיטה זו ניתן לראות באיור<br />
.8.2<br />
[00000000000000000000000000011001111010100101101101…<br />
00010100001100100101010101]<br />
איור 8.2: סדרת סיביות מקודדת בשיטה – 1 עבור תדר יסודי ראשון.<br />
(הסיפרה מופיעה 24 פעמים בסדרה). ניתן לראות<br />
בדוגמה, התדר היסודי מייצג<br />
רצף ארוך של אפסים בתחילת הסדרה, המראה שבכפולות הנמוכות של התדר היסודי לא היו<br />
הרמוניות. ההרמוניה הראשונה מופיעה בכפולה ה- 28 של התדר היסודי, הבאה אחריו ב-<br />
הלאה. ההרמוניה האחרונה (הסיבית האחרונה) ממוקמת במקום ה- ההרמוניה האחרונה<br />
קובעת את אורך הסידרה.<br />
29 וכך<br />
.76<br />
24 הרמוניות '1'<br />
Figure 8.2: Bit stream coded by type 1 – for the first fundamental frequency.<br />
In the example, the fundamental frequency represents 24 harmonics (the digit '1' appears 24 times in the stream).<br />
There is a long sequence of zeros at the start of the stream, which show that there are no harmonics at low<br />
multiples. The first harmonic is in the 28-th multiple of the fundamental frequency, the next is in the 29, and so on.<br />
The last harmonic (the last bit) is located in the 76-th place. The last harmonic determines the stream length.<br />
שיטת קידוד 1 יעילה כאשר ההרמוניות רציפות, או כמעט רציפות (מספר האפסים בין שני<br />
'1' קטן<br />
מאוד). במצב זה ההרמוניה האחרונה תהיה כפולה של מספר נמוך ומספר זה קובע את גודל<br />
הסדרה. אולם, במצבים בהם מספרי ההרמוניות מאוד לא רציפים (מספר אפסים גדול בין שני<br />
למשל<br />
אחרת.<br />
,'1'<br />
27 אפסים,<br />
בדוגמה באיור<br />
,(8.2<br />
נוצרת סדרת קוד ארוכה, וכדאי להשתמש בשיטת קידוד<br />
8.5.2 שיטת קידוד 2<br />
שיטה נוספת, מבוססת על ההפרשים בין ההרמוניות. ההפרשים בין ההרמוניות הן למעשה מספר האפסים<br />
הקיימים בין כל זוג של '1'.<br />
ניתן לקודד את ההפרשים ישירות,<br />
להשתמש בקוד .Huffman<br />
8.3 באיור<br />
ניתן לראות היסטוגרמה של ההפרשים.<br />
שההפרש גדל ההסתברות למצב זה קטן.<br />
אך מאחר ויש הסתברויות שונות לערכי ההפרשים שונים כדאי<br />
ניתן לראות שמרבית ההפרשים הם נמוכים,<br />
וככל<br />
- 105 -
3 x 10 5 harm onic spaces<br />
2.5<br />
2<br />
1.5<br />
1<br />
0.5<br />
0<br />
0 10 20 30 40 50 60 70 80 90 100<br />
איור 8.3: היסטוגרמה של הפרשים בין הרמוניות.<br />
ההיסטוגרמה נעשתה על פני כ- 50 קטעי שמע, ובסך הכל<br />
של 1 הוא ההפרש הנפוץ ביותר, אחריו בסטטיסטיקה מופיע הפרש של<br />
רציפות.<br />
ניתן לראות שהפרש<br />
שמשמעותו הרמוניות<br />
1,000,000 הפרשים.<br />
,0<br />
Figure8.3: Harmonic differences histogram.<br />
The histogram was obtain for 50 input signals and a total of 1,000,000 differences. It can be seen that<br />
the difference of 1 is the most common, the next one is the difference of 0, which means a consecutive<br />
harmonics.<br />
מאחר ומתקבלות הסתברויות שונות עבור ערכי הפרשים שונים, לא כדאי לקודד את ההפרשים<br />
ישירות, אלא באמצעות קוד אנטרופיה כמו קוד .Huffman<br />
קוד זה מנצל את הפילוג הלא אחיד<br />
של כל הפרש ומבצע דחיסת מידע. קוד Haffman פועל על פי העיקרון המייצר מילת קוד קצרה<br />
עבור מידע שכיח מאוד<br />
ההפרשים הגדולים.<br />
(במקרה זה הפרשים הנמוכים)<br />
הקוד מתאר שמונה כניסות אפשריות, הפרש 0 עד הפרש<br />
על חשבון מילת קוד ארוכה עבור<br />
(7 6 כניסות) והכניסה השמינית מתארת<br />
הפרש 7 ומעלה. תפוקות הקוד מסוכמות בטבלה 8.2<br />
הסתברות<br />
אות<br />
input<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
>6<br />
Probability<br />
0.223<br />
0.338<br />
0.18<br />
0.098<br />
0.051<br />
0.036<br />
0.019<br />
0.055<br />
קוד<br />
code<br />
01<br />
00<br />
10<br />
1100<br />
1110<br />
11110<br />
11111<br />
1101<br />
טבלה 8.2:סיכום תפוקות קוד .Huffman<br />
בטבלה מופיעות שמונה הכניסות בעמודה השמאלית. בעמודה האמצעית מופיע ההסתברות לכל<br />
כניסה, ובעמודה הימנית מופיע הקוד עצמו. ניתן לראות ששלושת הכניסות הראשונות, המציינות<br />
את ההפרשים 2 מקבלות אורך קוד נמוך (שתי סיביות). מאחר והן מאוד נפוצות השימוש<br />
באורך קוד קצר מייעל מאוד את תהליך הדחיסה ומקצר את אורך הקוד הכולל<br />
1 ,0 ו-<br />
.<br />
Table 8.2 Huffman code summary.<br />
The table shows eight inputs on the left column. The middle coumn shows the probability of each<br />
input, and the right column shows the code itself. It can be seen that the three first inputs, which are the<br />
differences 0, 1 and 2 gets the shortest code length (two bits). Since they are very common the use of<br />
short code lengths optimize the compression process and shorten the global code length.<br />
- 106 -
הכניסה השמינית (הפרש<br />
0.055, משודר הקוד<br />
7 ומעלה)<br />
.'1101'<br />
מייצגת מספר רב של הפרשים. במצב זה, שהסתברותו היא<br />
לאחר הקוד יש צורך לשדר קוד נוסף המציין את ההפרש המדוייק.<br />
הקוד הוא באורך 6 סיביות המתאר את ההפרש האמיתי. 6 סיביות מאפשרות 64 אפשרויות, החל<br />
מהפרש 7 ועד הפרש<br />
.70<br />
חישוב אורך (מספר סיביות) ממוצע לכל כניסה נתון ע"י:<br />
L = 2 ⋅ (0.223 + 0.338 + 0.18) + 4 ⋅ (0.098 + 0.051 + 0.055) +<br />
+ 5 ⋅ (0.036 + 0.019) + 6 ⋅ 0.055 = 2.9<br />
(5.14)<br />
לפיכך אורך הקוד הכולל יהיה בממוצע 2.9 כפול מספר ההרמוניות.<br />
למשל, הדוגמה המתוארת באיור 8.1 (על פי שיטה 1), תתואר לפי השיטה השניה בצורה באה:<br />
[27, 0, 2, 0, 0, 0, 1, 1, 2, 1, 0, 1, 0, 1, 3, 1, 4, 0, 2, 2, 1, 1, 1, 1 ]<br />
24<br />
הרמוניות סה"כ,<br />
21<br />
הפרשים צריכים קידוד של שתי סיביות (הפרשים של<br />
הפרשים צריכים קידוד של ארבע סיביות (הפרשים של<br />
סיביות (הפרש<br />
בצורה ישירה).<br />
.(2 או ,0,1<br />
4 או (3<br />
והפרש אחד צריך קידוד של<br />
שני<br />
10<br />
7<br />
ומעלה המצריך<br />
4<br />
סיביות קוד<br />
Haffman<br />
6 ועוד<br />
סיביות קוד לייצוג ההפרש<br />
לפיכך, מספר הסיביות לקידוד הסדרה (בשיטה השניה) מחושב לפי,<br />
21 ⋅ 2 + 2 ⋅ 4 + 1⋅10<br />
= 60<br />
(5.15)<br />
אורך הקוד צורך<br />
60 סיביות (לעומת 76,<br />
לפי שיטה<br />
.(1<br />
במרבית המקרים שיטה זו עדיפה על השיטה הראשונה, אך לא תמיד, לכן נשתמש בשתי השיטות.<br />
גם עבור התדר היסודי (pitch) השני מפעילים שתי שיטות קידוד, כאשר הראשונה זהה (כמו עבור<br />
התדר היסודי הראשון).<br />
דוגמה לכך ניתן לראות באיור<br />
.8.4<br />
[00001000000100000100000001]<br />
.26<br />
איור 8.4: סדרת סיביות מקודדת בשיטה – 1 עבור תדר יסודי השני.<br />
בדוגמה ישנם ארבעה הרמוניות. כאשר ההרמוניה האחרונה ממוקמת במקום ה-<br />
הסדרה<br />
אורך<br />
26 סיביות.<br />
Figure 8.4: Bit stream coded by type 1 – for the second fundamental frequency.<br />
In the example there are four harmonics. The last hamonic is placed at 26 position. The coded stream<br />
length is 26 bits.<br />
- 107 -
אם נבחן את הדוגמה<br />
,<br />
המתוארת באיור<br />
,8.4<br />
ההפרשים, נראה כי ארבעת ההרמוניות ממוקמות במקום ה-<br />
ההפרשים תהיה:<br />
מנקודת המבט של השיטה השניה המקודדת את<br />
18 ,12 ,5<br />
26. ו-<br />
.[4,6,5,7]<br />
לכן סידרת<br />
במקרה של תדר יסודי שני, השוני בין הסתברויות ההפרשים אינו כה גדול כמו במקרה של תדר<br />
יסודי ראשון, לכן לא נשתמש בקידוד .Haffman<br />
כל הפרש מיוצג ע"י 4 סיביות, המייצגות 16 אפשרויות: הפרשים בין<br />
המייצגת הפרש גדול מ-<br />
ההפרש המדויק).<br />
0 עד<br />
14 ועוד אופציה (ה-<br />
(16<br />
.14<br />
בדוגמה, סדרת ההפרשים היא<br />
במצב שההפרש הוא<br />
15<br />
ומעלה משודרות עוד<br />
3<br />
, [4,6,5,7]<br />
סיביות (לקידוד<br />
לפיכך ישנם ארבעת הפרשים, כל הפרש מכומת ע"י<br />
סיביות, סה"כ 16 סיביות נדרשות לקידוד הסידרה (במקום 26, לפי שיטה<br />
4<br />
.(1<br />
8.5.3 שיטות קידוד נוספות<br />
גישה אפשרית אחרת לקידוד של הסדרה (המציינת מיקום הרמוניות), היא בעזרת<br />
.Run Length Code<br />
השיטה מאוד שימושית כאשר בקוד בינארי יש רצפים ארוכים של אפסים<br />
ורצפים ארוכים של אחדים.<br />
הקידוד מבוצע ע"י שידור אורכי רצפים של אפסים<br />
(...000...)<br />
ושל אחדים<br />
Huffman<br />
.(...111...)<br />
שידור אורכי רצפים של אפסים, או למעשה הפרשים בין הרמוניות, ושימוש בקוד<br />
(כמתואר בסעיף הקודם- שיטת קידוד 2) נמצאו יעילים.<br />
נותר לבדוק האם שידור אורכי רצפים של '1'- ים משפר את יעילות הקידוד.<br />
בדיקת סטטיסטית של רצפי<br />
הבאה:<br />
-'1'<br />
ים, הנוצרים כתוצאה מתדר יסודי ראשון, מסוכמת בטבלה<br />
הסתברות<br />
אורך רצף<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
>7<br />
0.7824<br />
0.1633<br />
0.0383<br />
0.0091<br />
0.0032<br />
0.0013<br />
0.0008<br />
0.0016<br />
טבלה 8.3:תוצאות היסטוגרמה של אורכי רצפים של<br />
'1'- ים.<br />
Table 8.3:Ones sequence histogram Outputs.<br />
- 108 -
ניתן לראות, שבמרבית המקרים (כ- 80%), ההרמוניות לא מופיעות ברצף (רצף באורך<br />
.(1<br />
המשלים ל- 100% מורכב ברובו ממקרים בהם אורך הרצף הוא שניים. שאר המקרים הם בעלי<br />
הסתברות נמוכה.<br />
מאחר שאין כמעט רצפים, (או קיומם של רצפים ארוכים הוא זניח), אין כדאיות בשימוש בקידוד<br />
אורכי הרצפים של '1' םי-<br />
, שזהו למעשה, .run length code<br />
תופעה זו בולטת עוד יותר ברצפים הנובעים מתדר יסודי שני, כפי שניתן לראות בטבלה הבאה:<br />
הסתברות<br />
אורך רצף<br />
1<br />
2<br />
3<br />
4<br />
5<br />
0.8506<br />
0.1354<br />
0.0129<br />
0.0011<br />
0.00003<br />
טבלה 8.4: תוצאות היסטוגרמה של אורכי רצפים.<br />
Table 8.4: Ones sequence histogram outputs.<br />
ניתן לראות שמצב בוא אין רצפים (אורך אחד) קורה בהסתברות של 85%, ומצב בו יש רצף קטן,<br />
באורך שניים מתרחש בהסתברות של 13.5%, שאר המצבים זניחים.<br />
8.6 כימות וקטורי של מקדמי ה-LPC<br />
כל טון (סינוס) מיוצג במקודד ע"י תדר ואמפליטודה.<br />
בקידוד הרמוניות משדרים תדר אחד או שניים מייצגים (תדרים יסודיים) ומעטפת ספקטרלית.<br />
דגימת המעטפת בתדר המסוים נותנת את האמפליטודה שלו.<br />
המעטפת מיוצרת באמצעות מקדמי ה- (20 LPC מקדמים).<br />
גם עבור מודל הרעש משתמשים במקדמי<br />
10) LPC<br />
מקדמים) המייצגים את המעטפת<br />
הספקטרלית. בכמות הסיביות הנתונה לשידור (48 סיביות עבור 20 מקדמים ו- 24 סיביות עבור<br />
10<br />
מקדמים) לא ניתן לכמת בצורה יעילה את מקדמי ה-LPC, כיוון שיש להם תחום דינמי רחב, דבר<br />
הדורש מספר סיביות רב לכל מקדם. כמו כן, כימות של פרמטרי ה-LPC ישירות אינו מבטיח<br />
יציבות של המסנן ההופכי. אלו למעשה הסיבות העיקריות שבגללן לא מכמתים את פרמטרי ה-<br />
LPC ישירות.<br />
לפיכך, מקדמי ה-<br />
עולה (פרמטר ה-<br />
LPC<br />
מומרים למקדמי<br />
,LSF<br />
LSF<br />
להם תחום דינמי מצומצם ובעלי סדר וקטורי<br />
הראשון הוא הקטן ביותר והפרמטר האחרון הוא הגדול ביותר), הניתן<br />
לניצול בכימות וקטורי. תהליך ההמרה של מקדמי ה- LPC לפרמטרי LSF מתואר בנספח ב'.<br />
לפיכך, הוקטור לכימות הוא<br />
20 (או (10<br />
פרמטרי ה-LSF. פרמטרים אלו יכומתו באמצעות<br />
48 (או<br />
(24<br />
סיביות בלבד. אם הכימות היה מתבצע עבור כל פרמטר בנפרד, היו בידינו רק<br />
סיביות 2.4<br />
- 109 -
לייצוג כל פרמטר, כלומר כחמש אפשרויות בלבד לכל פרמטר, דבר שהיה מוביל לתוצאות גרועות<br />
מאוד. לכן, תוך ניצול קשרים מבניים בין הפרמטרים, הכימות מתבצע בצורה וקטורית.<br />
וקטור הוא קבוצה של אלמנטים. כימות וקטורי היא כימות של כל האלמנטים בוקטור כקבוצה<br />
ולא של ערכים בודדים. כל וקטור מכומת (או ממופה) לאחד מסט של וקטורים קבועים, הנקרא<br />
מילון-<br />
.codebook<br />
המילון הוא קבוע וידוע גם למקלט וגם למשדר, לכן השידור של הוקטור<br />
הנבחר מתבצע ע"י שידור האינדקס שלו במילון. תהליך בניית המילון מתואר בנספח ד'.<br />
כל וקטור, שעובר כימות, ממופה לאחד מוקטורי המילון ורק האינדקס של הוקטור המייצג<br />
במילון משודר.<br />
הכימות מתבצע לאחר פיצול הוקטור לארבעה תת- וקטורים [27]. פיצול הוקטור לקבוצות קטנות<br />
יותר גורם להורדת הסיבוכיות בבניית המילון ובמציאת וקטור מתאים במילון. כמו כן, תהליך<br />
הפיצול דורש פחות זיכרון לאיחסון.<br />
תת-הוקטור הראשון מכיל את ארבעת פרמטרי ה-LSF הראשונים ,השני מכיל את ארבעת<br />
פרמטרי ה-LSF הבאים, השלישי מכיל את ששת פרמטרי ה-LSF הבאים ותת הוקטור הרביעי<br />
מכיל את ששת פרמטרי ה-LSF האחרונים. כל וקטור מכומת באמצעות<br />
12 סיביות,<br />
4096 כלומר<br />
אפשרויות. תחילה מכמתים את ארבעת פרמטרי ה-LSF הראשונים, לאחר מכן מכמתים את<br />
ארבעת הפרמטרים הבאים, תוך הקפדה שהפרמטר החמישי (הפרמטר הראשון בוקטור השני)<br />
יהיה גדול מהפרמטר הרביעי.<br />
לאחר מכן מכמתים את הוקטור השלישי והרביעי, שוב, תוך הקפדה על רציפות הפרמטרים.<br />
8.7 סדר עדיפויות<br />
כל מסגרת מוגבלת בכמות הסיביות המייצגות את כל פרמטריה, בהתאם לקצב הסיביות הדרוש,<br />
16000 או<br />
12000 סיביות בשניה.<br />
מרבית המסגרות, מאפשרות קידוד כל הפרמטרים, ולעיתם אף נותרות סיביות עודפות. אולם,<br />
יתכנו מצבים בהם, לא כל הפרמטרים ישודרו, בגלל מחסור בסיביות.<br />
במצבים אלו יש צורך בסדר עדיפויות, בו מתוכנן מי מהפרמטרים משודר ומי לא.<br />
להלן העדיפויות:<br />
הרמוניות – pitch ראשון<br />
רעש –אם קיים.<br />
הרמוניות – pitch שני.<br />
בדידים – לפי סדר חשיבות (מודל הפסיכואקוסטי).<br />
מעטפת ספקטרלית שניה.<br />
תיקוני תדר.<br />
•<br />
•<br />
•<br />
•<br />
•<br />
•<br />
- 110 -
פרק 9<br />
תוצאות סימולציה<br />
9.1 הקדמה<br />
מבחני שמע רשמיים (MOS) מבוצעים ע"י השמעת אותות שמע שונים למספר רב של מאזינים. כל<br />
מאזין מעניק ציון לכל אות בין ציון 1 (איכות גרועה ביותר) לציון 5 (איכות מעולה).<br />
כיום, ניתן לבצע מבחני איכות על ידי תוכנות המבצעות הערכה סובייקטיבית של אותות שמע,<br />
כמו תוכנת [46]. EAQUAL<br />
התוכנה מקבלת כקלט שני אותות שמע, אות שמע מקורי ואות שמע מקודד. התוכנה מבצעת<br />
השוואה בין האותות בעזרת ניתוחים שונים ומעניקה ציונים לירידת האיכות של האות הנבחן<br />
בהשוואה לאות הייחוס. הציון המעניין ביותר של התוכנה נקרא<br />
Objective Difference Grade<br />
,(ODG)<br />
והסקלה שלו נעה בין 0, המציין שאין ירידה באיכות ולא ניתן להבחין בהבדל כלל ועד<br />
-<br />
,4<br />
המציין ירידה גדולה ביותר באיכות, הגורמת להפרעה צורמת.<br />
במסגרת העבודה בוצעו מספר בדיקות, באמצעות<br />
,EAQUAL<br />
על מנת לבחון את השפעת<br />
המקודדים השונים על איכות השמע. המקודדים שנבדקו הם מקודד HILN והמקודד הפרמטרי<br />
המוצע.<br />
9.2 תוצאות<br />
התוצאות מתבססות על הציון שמפיקה תוכנת הבדיקה .EAQUAL תוכנה זו, מפיקה ציונים<br />
בתחום<br />
.[-4,0]<br />
על מנת להבין את משמעות הציון, נבדקה התוכנה במצבי SNR שונים.<br />
התוכנה משווה בין שני קבצים, קובץ שמע מקורי וקובץ שמע מקורי בתוספת רעש לבן עם SNR<br />
משתנה, החל מ- 0dB ועד 60dB (בקפיצות של .(5dB בכל הרצה נרשם הציון המתקבל.<br />
בדיקה זו נעשתה על מספר רב של אותות שמע והערכים הממוצעים מסוכמים בטבלה<br />
באיור 9.1 ניתן לראות את תוצאות הבדיקה בצורה גרפית.<br />
.9.1<br />
ODG<br />
SNR [dB]<br />
- 111 -
-3.91<br />
-3.84<br />
-3.75<br />
-3.55<br />
-3.11<br />
-2.49<br />
-1.81<br />
-1.15<br />
-0.58<br />
-0.23<br />
-0.09<br />
-0.04<br />
0<br />
0<br />
5<br />
10<br />
15<br />
20<br />
25<br />
30<br />
35<br />
40<br />
45<br />
50<br />
55<br />
60<br />
טבלה 9.1: בדיקת הציון שמפיקה התוכנה Eaqual<br />
Table 9.1: Examine the grade output by the software Eaqual<br />
0<br />
EAQUAL test<br />
-0.5<br />
-1<br />
-1.5<br />
-2<br />
-2.5<br />
-3<br />
-3.5<br />
-4<br />
0 10 20 30 40 50 60<br />
SNR [dB]<br />
איור 9.1: ציון ODG ביחס ל- .SNR<br />
Figure 9.1: ODG grade over SNR.<br />
על מנת לבחון את ביצועי המקודד המוצע בעבודה זו ביחס למקודד HILN במספר קצבים וביחס<br />
למקודד ,TWIN-VQ בוצעה השוואת ציונים. הבדיקה נעשתה על פני 10 אותות שמע (באורך של<br />
למעלה מ- 10 שניות כל אות) מסוגים שונים, הכוללים אות דיבור, אות דיבור משולב עם מוסיקה,<br />
אות מוסיקלי פשוט, כמו פסנתר, אותות מוסיקלי מורכבים, כמו מוסיקה קלסית ורוק.<br />
ההרצות של HILN בוצעו עם המקודד הסטנדרטי ע"י .Dr. Purnhagen<br />
תוצאות הבדיקה מופיעות בטבלה 9.2 ומוצגות גרפית באיור 9.2.<br />
- 112 -
מקודד<br />
קצב<br />
ציון<br />
Grade<br />
-3.28<br />
-3.43<br />
-3.36<br />
-3.02<br />
-2.78<br />
-2.88<br />
(kbps)<br />
Bit Rate<br />
16<br />
12<br />
16<br />
12-קצב משתנה<br />
-<br />
16<br />
Coder<br />
HILN<br />
HILN<br />
TWIN-VQ<br />
Proposed<br />
Proposed<br />
model<br />
Proposed<br />
טבלה 9.2: תוצאות בדיקה השוואתית בין המקודדים.<br />
Table 9.2: Comparison test results of the coders.<br />
-2.7<br />
Test results<br />
-2.8<br />
-2.9<br />
-3<br />
ODG<br />
-3.1<br />
-3.2<br />
-3.3<br />
-3.4<br />
-3.5<br />
0 1 2 3 4 5 6<br />
HILN16<br />
HILN12<br />
TWIN-VQ16<br />
9.2: ציון ODG למקודדים.<br />
Proposed12<br />
Variable bit<br />
rate<br />
איור<br />
Figure 9.2: ODG grade of the coders.<br />
proposed16<br />
Proposed<br />
model<br />
ניתן לראות מהתוצאות שציון האיכות עבור המקודד המוצע בקצב 16kbps משתפר ב- 0.4<br />
(בסקלת (ODG לעומת מקודד HILN באותו הקצב. השיפור בציון שקול לשיפור של כ- 6dB (לפי<br />
איור 9.1).<br />
9.3 זמני הרצה<br />
זמני ההרצה (באחוזים מהזמן הכולל) מסוכמים בטבלה 9.3. הזמנים נמדדו לפי .matlab<br />
- 113 -
פעולה<br />
אחוז זמן<br />
[%]<br />
Time percentage<br />
0.5<br />
4.2<br />
17<br />
15<br />
4.2<br />
34<br />
15<br />
0.7<br />
0.8<br />
8.6<br />
operation<br />
מציאת תדרים<br />
מציאת אמפליטודות- 1<br />
תדרים סמוכים<br />
מודל פסיכואקוסטי<br />
מציאת אמפליטודות- 2<br />
Pitch<br />
שני מעטפות ספקטרליות<br />
רציפות פאזה<br />
ניתוח רעש<br />
קוונטיזציה<br />
טבלה 9.3: בדיקת זמני הרצה.<br />
Table 9.3: Checking running times.<br />
זמן עיבוד כולל (בתוכנה (matlab של מסגרת אחת הוא כ- 0.5 שניה.<br />
הערכת זמן ההרצה של מקודד HILN הוא כ- 0.2 שניה. כלומר, זמן ההרצה של המקודד המוצע<br />
גדול בערך פי 2.5 מזמן ההרצה של המקודד .HILN<br />
- 114 -
פרק 10<br />
סיכום והצעות להמשך מחקר<br />
10.1 סיכום<br />
עבודה זו התמקדה בקידוד אותות שמע בקצבים נמוכים של 16,000 סיביות בשניה ומטה. בשלב<br />
הראשון של העבודה, מומש מקודד פרמטרי HILN (מקודד ומפענח) על פי סקר ספרות שבוצע.<br />
מקודד<br />
HILN<br />
מפריד את אות הכניסה למספר מרכיבים (הרמוניות, סינוסים בדידים ורעש),<br />
כאשר כל מרכיב מיוצג ע"י פרמטרים. קבוצת כל הפרמטרים מקודדים ליצירת רצף סיביות<br />
הנשלח אל המפענח. המפענח מבצע פעולה הפכית לתהליך הקידוד, על מנת לפענח את כל<br />
הפרמטרים. בעזרת הפרמטרים משחזרים את מרכיבי אות השמע.<br />
בשלב השני של העבודה נבחנו גישות שונות לכל בלוק במערכת, על מנת לשפר את המודל ואת<br />
מיצוי פרמטריו כדי לשפר את איכות אות השמע המשוחזר.<br />
העבודה התמקדה בשיפורם של:<br />
המודל הסינוסואידלי,<br />
- 115 -<br />
ייצוג תדרים ואמפליטודות במודל<br />
ההרמוני וקידוד הפרמטרים. המודל הסינוסואידלי מתבסס על יצוג אות כניסה ע"י סכום סופי<br />
של סינוסים המאופיינים בעזרת הפרמטרים:<br />
אמפליטודה,<br />
הסינוסואידלי מבצעים מיצוי של המרכיבים הטונליים באות הכניסה.<br />
תדר ופאזה.<br />
במסגרת המודל<br />
המודל מתקשה במיצוי מרכיבים בעלי תדרים סמוכים, דבר הנובע ממגבלת רזולוציית התדר של<br />
קטע האות הנבדק. לפיכך, המודל הקיים לא מייצג את כלל המרכיבים הטונליים באות השמע.<br />
בעבודת המחקר הועלו מספר רעיונות לשיפור המודל.<br />
המאפשרת הפרדת מרכיבים צמודים בתחום התדר.<br />
עפ"י אחד הרעיונות,<br />
הוצגה טכניקה<br />
הטכניקה מבוססת על פיתרון משוואת<br />
השגיאה (בין אות הכניסה המקורי ובין סכום סופי של סינוסים) בשיטת המרובעים המצומצמים<br />
Squares) ,(Least כאשר סדרת התדרים אינה ידועה.<br />
פיתרון המשוואה נותן ביטוי, התלוי אך ורק בסדרת תדרים (ללא תלות באמפליטדות ופאזות).<br />
ע"י הצבת סדרת תדרים בביטוי, מחפשים את זוג התדרים, המביא את ערך הביטוי למקסימום.<br />
שימוש בשיטה זו הביא לגילוי סינוסים צמודים בתחום תדר, שנראו כסינוס יחיד בתהליך החיפוש<br />
הרגיל.<br />
רק לאחר מיצוי כל המרכיבים הטונליים נעזרים במודל הפסיכואקוסטי בכדי לסנן את<br />
סינוסים,<br />
הסינוסים.<br />
שלא ישמעו לאוזן האנושית.<br />
בתהליך זה ניתן לצמצם בממוצע כ-<br />
40%<br />
אותם<br />
בכמות<br />
לאחר מיצוי כל המרכיבים הטונליים ומציאת הפרמטרים (תדר, פאזה ואמפליטודה), נדרש לייצג<br />
פרמטרים אלו בצורה יעילה. לשם כך משתמשים במודל ההרמוני. המודל ההרמוני של HILN<br />
כולל ייצוג של תדר יסודי<br />
(pitch)<br />
יחיד, דבר שהוא מתאים מאוד עבור אותות דיבור, אבל אינו<br />
מתאים למגוון רחב אחר של אותות השמע, המכילים מספר תדרים יסודיים. שימוש בתדר יסודי<br />
יחיד מאפשר ייצוג של מספר מועט של סינוסים, ולכן נשאר מספר רב של סינוסים בדידים לא
מיוצגים. הפרמטרים של כל סינוס בדיד (אמפליטודה ותדר) דורשים מספר רב של סיביות, ומאחר<br />
שקיימת מגבלה על כמות הסיביות, לא כל הסינוסים מקודדים (מידע רב לא משודר).<br />
במהלך העבודה נבחנו מספר גישות למציאת תדרים יסודיים. אחת הגישות יושמה במקודד<br />
המוצע. הטכניקה מבוססת על מציאת תדרים יסודיים, לא בהכרח אמיתיים, אשר נותנים כיסוי<br />
מירבי של תדרי הסינוסים, דבר משמעותי משיקולי דחיסה. הטכניקה פועלת באיטרציות, כאשר<br />
בכל איטרציה מחושב תדר יסודי אחד (הדומיננטי). משיקולי דחיסה ויעילות קידוד, מספיקים<br />
שני תדרים יסודיים על מנת להגיע לכיסוי מירבי. שני תדרים יסודיים נותנים כיסוי ממוצע של כ-<br />
96% מקבוצת התדרים.<br />
מאחר שהתדרים היסודיים אינם אמיתיים, מספרי ההרמוניות אינם עוקבים. במצב זה, הרבה<br />
כפולות של כל תדר יסודי אינן קיימות כלל. לפיכך, קיים צורך לקודד את מיקום ההרמוניות. קטע<br />
קוד זה הוא גדול במיוחד, שכן נדרש לציין לא מעט מידע.<br />
במסגרת העבודה, נבחנו מספר גישות לקידוד מידע זה בצורה יעילה. במודל המוצע משתמשים<br />
בשתי גישות יעילות. גישה אחת מתארת קיום של כל כפולה של תדר הבסיס בעזרת סיבית אחת.<br />
גישה שניה מתארת את ההפרש בין כל הרמוניה ע"י שימוש בקוד<br />
.Huffman<br />
השיטה המיושמת<br />
בכל מסגרת היא היעילה מבין שתי השיטות. קטע קוד זה, המסמן את מיקום ההרמוניות, צורך<br />
בממוצע כ- 100 סיביות.<br />
"המחיר" שצריך לשלם (כ-<br />
100 סיביות)<br />
בתמורה למציאת תדרי בסיס המביאים לכיסוי מירבי,<br />
משתלם בסופו של דבר, כיוון שמספר הסינוסים הבדידים (שלא מכוסה ע"י שני תדרי בסיס) הוא<br />
קטן מאוד.<br />
בעבודה, מוצגים מספר גישות לייצוג האמפליטודות של ההרמוניות בצורה יעילה ע"י מעטפת<br />
ספקטרלית, המורכבת ממקדמי .LPC הגישות כוללות מודל איטרטיבי לחישוב מקדמי ה- ,LPC<br />
המביאים את המעטפת לייצוג יותר מדוייק של האמפליטודות, בדיקת השפעת מספר המקדמים<br />
על המעטפת, צמצום התחום הדינמי של האמפליטדות ,ביצוע מתיחת תחום התדר על פי המודל<br />
השמיעה האנושית ושימוש בשתי מעטפות ספקטרליות.<br />
בדיקת המקודד הפרמטרי המשופר בעזרת תוכנת<br />
הראתה שיפור באיכות השמע בהשוואה למקודד<br />
נקודות).<br />
,EAQUAL<br />
0.4 של ,HILN<br />
שמפיקה מדד לאיכות השמע,<br />
נקודות (בסולם של<br />
-4 עד 0<br />
10.2 הצעות להמשך מחקר<br />
בעבודה זו התמקדנו בהפרדת זוג תדרים סמוכים, שנתגלו כתדר יחיד במודל הרגיל. ניתן<br />
להרחיב את המודל למצבים בהם ישנם יותר משני סינוסים סמוכים זה לזה בתדר.<br />
האלגוריתם למציאת שני תדרים סמוכים הוא מורכב למימוש והרחבתו למציאת שלושה<br />
תדרים ויותר רק תגביר את הסיבוכיות. הצעה להמשך היא לנסות להוריד את סיבוכיות<br />
האלגוריתם ולהשתמש בו ככלי למציאת מספר רב של תדרים סמוכים.<br />
.1<br />
בעיה שנוצרה בהפעלת הטככניקה להפרדת תדרים סמוכים, היא לדעת לזהות באילו<br />
מהמקרים נדרשת הפעלת האלגוריתם, כלומר מתי מסתתרים מאחורי שיא יחיד<br />
.2<br />
- 116 -
בספקטרום סינוסים נוספים. ישנם מקרים בהם תדר הסינוס משתנה במהלך מסגרת<br />
הזמן. סינוס זה נמרח על פני מספר תאי תדר בתמונת הספקטרום ולכן שארית האנרגיה<br />
גדולה. במצב זה האלגוריתם פועל למציאת שני סינוסים. הצעה להמשך מחקר היא<br />
לנסות לאתר מצבים אלו, בעזרת עקיבה בין מסגרות.<br />
ניתן לשדר פרמטרים של סינוסים בדידים לא ע"י מספר קבוע של סיביות<br />
סיביות (10<br />
לפרמטר התדר ושש סיביות לפרמטר האמפליטודה). ניצול המודל הפסיכואקוסטי<br />
מאפשר לבדוק את חשיבותו של כל סינוס. לפי חשיבות זו, ניתן לדרג כל סינוס ולווסת<br />
את מספר הסיביות בהתאם. הבעיה היא שצריך להוסיף מידע צד, המגדיר את מספר<br />
הסיביות לכל פרמטר.<br />
.3<br />
ניתוח מעמיק יותר של האות שנשאר לאחר הוצאת כל המרכיבים הטונליים. במקודד<br />
HILN ובמקודד הפרמטרי המשופר ממדלים את אות השארית בעזרת מודל רעש.<br />
ניתן לקודד את המרכיבים הספקטרליים בעלי העוצמה החזקה ביותר באות השארית.<br />
.4<br />
- 117 -
נספח א'<br />
מציאת אמפליטודות בעזרת Least Squares<br />
פונקציית השגיאה נתונה ע"י:<br />
E =<br />
M<br />
⎛<br />
∑<br />
⎛<br />
( ) cos(2 )<br />
⎞<br />
( )<br />
⎞<br />
⎜⎜<br />
x n − ∑ ai<br />
⋅ πfin<br />
+ φi<br />
⎟ ⋅ w n ⎟<br />
⎝⎝<br />
⎠ ⎠<br />
N samp<br />
n= 0 i=<br />
1<br />
2<br />
(A-1)<br />
כאשר N samp הוא מספר הדגימות במסגרת (512). M הוא מספר המרכיבים הסינוסואידליים.<br />
.i<br />
i. הוא תדר הסינוס ה- f i הוא אות הכניסה, x(n)<br />
i. הוא אמפליטודת הסינוס ה- a i<br />
w(n) הוא פונקציית החלון.<br />
φ i הוא פאזת הסינוס ה-<br />
ניתן לרשום את ביטוי השגיאה בתחום התדר:<br />
E =<br />
N samp<br />
2<br />
−1<br />
M<br />
∑ X ( k)<br />
− ∑A<br />
⋅W<br />
( k −<br />
k= 0<br />
i=<br />
1<br />
i<br />
f i<br />
)<br />
2<br />
(A-2)<br />
כאשר X(k) הוא ספקטרום אות הכניסה (התמרת ,(DFT<br />
בתדר<br />
A i הוא האמפליטודה הקומפלקסית ה-<br />
) i W(k-f הוא ספקטרום של החלון מוזז<br />
.i<br />
.f i<br />
ביטוי השגיאה בצורה וקטורית:<br />
E =<br />
X<br />
− Q ⋅<br />
2<br />
A<br />
(A-3)<br />
כאשר X הוא ספקטרום הכניסה:<br />
X<br />
⎡<br />
⎢<br />
⎢<br />
= ⎢<br />
⎢<br />
⎢X<br />
(<br />
⎣<br />
X (0) ⎤<br />
X (1)<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
−1)<br />
⎥<br />
2 ⎦<br />
N samp<br />
(A-4)<br />
A הוא וקטור העוצמות:<br />
- 118 -
ה Q<br />
⎡ A<br />
⎢<br />
⎢<br />
A<br />
A =<br />
⎢ <br />
⎢<br />
⎣<br />
1<br />
2<br />
A M<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
(A-5)<br />
יא מטריצה, המורכבת מסדרה של חלונות W i בתחום התדר המוזזות בתדר f. i<br />
⎡⎡<br />
⎤⎡<br />
⎢<br />
Q =<br />
⎢ ⎥⎢<br />
⎢⎢<br />
W1<br />
⎥⎢<br />
W<br />
⎢<br />
⎣<br />
⎢⎣<br />
⎥⎦<br />
⎢⎣<br />
2<br />
⎤⎡<br />
⎤⎡<br />
⎥⎢<br />
⎥⎢<br />
⎥⎢<br />
<br />
⎥⎢<br />
W<br />
⎥⎦<br />
⎢⎣<br />
⎥⎦<br />
⎢⎣<br />
M<br />
⎡ W1<br />
(0)<br />
⎤⎤<br />
⎢<br />
⎢<br />
W1<br />
(1)<br />
⎥⎥<br />
⎥⎥<br />
= ⎢ <br />
⎥⎦<br />
⎥ ⎢ N<br />
⎦<br />
samp<br />
⎢W1<br />
( −1)<br />
⎣ 2<br />
…<br />
…<br />
<br />
… W<br />
M<br />
WM<br />
(0) ⎤<br />
W<br />
⎥<br />
M<br />
(1)<br />
⎥<br />
⎥<br />
N<br />
samp<br />
⎥<br />
( −1)<br />
⎥<br />
2 ⎦<br />
(A-6)<br />
כמתואר באיור 1-B. f, i בעל 512 מקדמים מוזז בתדר Hamming של חלון DFT הוא התמרת W i<br />
300<br />
Hi<br />
250<br />
200<br />
amplitude<br />
150<br />
100<br />
50<br />
0<br />
0 500 1000 1500<br />
frequency[Hz]<br />
Figure A-1: The spectrum of a shifted Hamming window.<br />
In the example, the window is shifted by 625Hz.<br />
איור 1-A: ספקטרום של חלון המינג מוזז.<br />
בדוגמה, החלון מוזז ב- . 625Hz<br />
המטרה היא למזער את ביטוי השגיאה:<br />
min X − Q ⋅ A<br />
2<br />
(A-7)<br />
מציאת המינימום של פונקציית השגיאה נעשה ע"י ביצוע גזירה לפי A,<br />
- 119 -
dE<br />
d A<br />
= 0<br />
(A-8)<br />
פיתוח ביטוי השגיאה:<br />
E =<br />
X − Q ⋅ A<br />
2<br />
=<br />
T<br />
( X − Q ⋅ A) ( X − Q ⋅ A)<br />
(A-9)<br />
פעולת הגזירה נותנת:<br />
dE<br />
d A<br />
T<br />
T<br />
T<br />
[ − Q ⋅ ( X − Q ⋅ A)<br />
] − ( X − Q ⋅ A) ⋅ = 0<br />
= Q<br />
(A-10)<br />
המשך הביטוי:<br />
T<br />
T<br />
( X − Q ⋅ A) ⋅Q<br />
− ( X − Q ⋅ A) ⋅ = 0<br />
= −<br />
Q<br />
(A-11)<br />
ולכן,<br />
T<br />
( X − Q ⋅ A) ⋅Q<br />
0<br />
− 2 ⋅<br />
=<br />
(A-12)<br />
X<br />
T<br />
⋅ Q =<br />
A<br />
T<br />
⋅ Q<br />
T<br />
⋅ Q<br />
(A-13)<br />
A<br />
T<br />
T<br />
T<br />
= X ⋅ Q ⋅ ( Q ⋅ Q)<br />
−1<br />
(A-14)<br />
⇒<br />
A = ( Q<br />
T<br />
⋅ Q)<br />
−1<br />
⋅ Q<br />
T<br />
⋅ X<br />
(A-15)<br />
A<br />
וקטור A,<br />
המתקבל הוא בעל ערכים קומפלקסיים,<br />
ערך מוחלט של<br />
נותן את האמפליטודה<br />
והזווית של A נותנת את הפאזה.<br />
- 120 -
נספח ב'<br />
המרה [48] LPCLSF<br />
,IIR<br />
,c i<br />
סדרת פרמטרי ה-LPC,<br />
מסומנת ע"י<br />
מהווים את מקדמי מסנן<br />
המייצג את המעטפת<br />
הספקטרלית של אות השמע.<br />
פולינום המסנן ההופכי נתון ע"י:<br />
−1<br />
−2<br />
−3<br />
A(<br />
Z ) = 1 − c Z − c Z − c Z − … − c S<br />
Z<br />
1<br />
2<br />
3<br />
− S<br />
(B-1)<br />
כאשר S מציין את מספר המקדמים.<br />
מייצרים 2 פולינומים חדשים:<br />
− S + 1)<br />
P(<br />
Z ) = A(<br />
Z ) + Z ⋅ A(<br />
Z<br />
( −1<br />
)<br />
(B-2)<br />
− S + 1)<br />
Q(<br />
Z ) = A(<br />
Z ) − Z ⋅ A(<br />
Z<br />
( −1<br />
)<br />
מהצבת A(Z) מקבלים:<br />
P ( Z ) = 1 − ( c<br />
1<br />
− ( c<br />
+ c<br />
2<br />
S<br />
+ c<br />
) ⋅ Z<br />
S −1<br />
−1<br />
) ⋅ Z<br />
− ( c<br />
2<br />
−(<br />
S −1)<br />
+ c<br />
− ( c<br />
S −1<br />
1<br />
) ⋅ Z<br />
+ c<br />
S<br />
−2<br />
) ⋅ Z<br />
− ( c<br />
−S<br />
3<br />
+ c<br />
+ Z<br />
S −2<br />
−(<br />
S + 1)<br />
) ⋅ Z<br />
−3<br />
− …<br />
(B-3)<br />
Q ( Z ) = 1 + ( c<br />
S<br />
+ ( c<br />
2<br />
− c ) ⋅ Z<br />
1<br />
− c<br />
S −1<br />
−1<br />
) ⋅ Z<br />
+ ( c<br />
−(<br />
S −1)<br />
S −1<br />
− c<br />
+ ( c<br />
1<br />
2<br />
) ⋅ Z<br />
− c<br />
S<br />
−2<br />
) ⋅ Z<br />
+ ( c<br />
−S<br />
S −2<br />
− Z<br />
− c<br />
3<br />
−(<br />
S + 1)<br />
) ⋅ Z<br />
−3<br />
+ …<br />
(B-4)<br />
,1<br />
לפולינום ,P(Z)<br />
1+S שורשים על מעגל היחידה. שורש אחד שווה ל-<br />
ועוד S שורשים מרוכבים<br />
(2/S זוגות של שורשים צמודים). מבין S השורשים בוחרים ב- 2/S שורשים בעלי איבר מדומה<br />
S<br />
,-1<br />
חיובי (נמצאים בחצי העליון של מעגל היחידה).<br />
בצורה דומה, לפולינום ,Q(Z) 1+S<br />
שורשים מרוכבים. מבין<br />
שורשים על מעגל היחידה. שורש אחד שווה ל-<br />
השורשים בוחרים ב-<br />
ועוד<br />
2/S שורשים הנמצאים בחצי העליון של מעגל<br />
S<br />
היחידה.<br />
. 0 < φ i<br />
מחשבים את הזוויות של כל שורש < π<br />
מבצעים התמרת הזוויות לתדרים ע"י:<br />
f<br />
i<br />
φ<br />
= i<br />
2 π<br />
⋅<br />
fs<br />
(B-5)<br />
- 121 -
כאשר fs הוא קצב הדגימה והוא שקול ל- 16000.<br />
מסדרים את S התדרים לפי סדר עולה לקבלת פרמטרי ה- .LSF<br />
- 122 -
נספח ג'<br />
המרה [48] LSF LPC<br />
מחלקים את הוקטור (S תדרי ,(LSF<br />
סדרה א' תכיל את כל התדרים במיקום האי- זוגי:<br />
לשתי סדרות בצורה הבאה:<br />
set<br />
{ Lsf , Lsf , Lsf ,…<br />
Lsf }<br />
1 = 1 3 5<br />
,<br />
S − 1<br />
(C-1)<br />
סדרה ב' תכיל את כל התדרים במיקום זוגי:<br />
{ Lsf , Lsf , Lsf , Lsf }<br />
set =<br />
,<br />
2<br />
2 4 6<br />
…<br />
S<br />
(C-2)<br />
התמרת התדרים לזוויות מתבצעת ע"י:<br />
Lsf<br />
φ = i<br />
i<br />
⋅ 2π fs<br />
(C-3)<br />
ונקבל את סדרות הפאזות:<br />
set<br />
{ φ , φ , φ ,…<br />
φ }<br />
1 = 1 3 5<br />
,<br />
S − 1<br />
(C-4)<br />
{ φ , φ , φ , , }<br />
set 2 =<br />
2 4 6<br />
… φ S<br />
(C-5)<br />
לכל סדרה מייצרים 1+S מספרים קומפלקסיים על מעגל היחידה, ל- 2/S מספרים קומפלקסיים<br />
נתונה הזווית, 2/S נוספים הם הצמודים הקומפלקסים שלהם ומספר נוסף הוא 1- או 1 בהתאמה<br />
לכל קבוצה. בדרך זו מקבלים 1+S<br />
שורשים של שני פולינומים:<br />
מספרים קומפלקסים על מעגל היחידה, מספרים אלו הם<br />
poly<br />
poly<br />
jφ<br />
{ }<br />
1 − jφ<br />
1 jφ<br />
3 − jφ<br />
1, , , ,<br />
3 jφ<br />
,<br />
5 − jφ<br />
,<br />
5 jφS<br />
−<br />
,<br />
1 , − jφ<br />
e e e e e e … e e<br />
1<br />
S −<br />
1 =<br />
jφ2 − jφ2<br />
jφ4<br />
− jφ4<br />
jφ6<br />
− jφ<br />
jφ<br />
{ }<br />
S − jφ<br />
−1,<br />
e , e , e , e , e , e …,<br />
e e<br />
S<br />
2<br />
6<br />
= ,<br />
(C-6)<br />
(C-7)<br />
מחשבים את שני הפולינומים P(Z) ו- .Q(Z)<br />
- 123 -
מקדמי ה- LPC הם מקדמיו של ,A(Z) המורכב משני הפולינומים.<br />
חישוב<br />
:A(Z)<br />
A(<br />
Z ) =<br />
P(<br />
Z ) + Q(<br />
Z )<br />
2<br />
(C-8)<br />
מקבלים את מקדמי A(Z) ע"י סיכום המקדמים משני הפולינומים וחלוקה ב- 2.<br />
מקדמי<br />
,A(Z)<br />
(החל מהמקדם השני ועד המקדם האחרון) הם מקדמי ה- LPC עם סימן שלילי.<br />
- 124 -
נספח ד'<br />
בניית המילון<br />
המילון הוא מעין מדגם מייצג של מאגר שלם של וקטורים. ככל שהמאגר יהיה גדול יותר כך<br />
יתקבלו תוצאות טובות יותר, המייצגות תחום רחב יותר. וקטור מייצג נקרא מילה. מאחר וכמות<br />
המילים מוגבלת יש צורך למצות את המאגר בצורה הטובה ביותר על מנת שהייצוג יהיה יעיל.<br />
מספר הוקטורים במדגם הוא כ- 300,000 וקטורים.<br />
המילון נבנה על פי אלגוריתם LBG המתואר בהרחבה ב- [28].<br />
האלגוריתם פועל במספר שלבים.<br />
השלב הראשוני מאותחל ע"י מילה אחת מייצגת עבור כלל<br />
וקטורי המדגם. המילה המייצגת היא הממוצע של כל מדגם הוקטורים, כמתואר ע"י:<br />
w<br />
1<br />
=<br />
1<br />
L<br />
L<br />
∑ X i<br />
i=<br />
1<br />
(D-1)<br />
כאשר w מתאר מילת ייצוג, L הוא גודל המדגם (כ-<br />
300,000 וקטורים)<br />
ו-<br />
X i מסמן את הוקטור<br />
i במדגם. ה-<br />
במעבר משלב לשלב מוכפלים מספר המילים (רמות הייצוג) המרכיבות את המילון, ע"י פיצול כל<br />
רמת ייצוג לשתי רמות ייצוג לפי:<br />
w 2 i−<br />
1<br />
= wi<br />
ε<br />
+ ε<br />
(D-2)<br />
w 2i<br />
= w i<br />
−<br />
כלומר , בשלב השני ישנם 2 רמות ייצוג, בשלב השלישי 4 רמות, וכך הלאה.<br />
השלב האחרון הוא השלב בו מספר המילים המייצגות שווה לגודל המילון, כפי שתוכנן. בכל שלב<br />
יש מספר איטרציות, המביאות את המילים לייצוג האופטימלי של כל וקטורי המדגם, מהבחינה<br />
של מינימום שגיאה ריבועית (מרחק). בכל איטרציה, המילים (רמות הייצוג) מקבצות סביבם את<br />
הוקטורים הקרובים ביותר אליהם מבחינת שגיאה ריבועית, המתואר,<br />
R =<br />
( − ) 2<br />
w i<br />
X k<br />
(D-3)<br />
הרכבת הקבוצות (בתוך מאגר הוקטורים) מתרחשת לאחר חישוב המרחקים של כל וקטור במאגר<br />
מכל רמות הייצוג. לאחר הרכבת הקבוצות ניתן לחשב רמות ייצוג חדשות שהן הממוצע של כל<br />
קבוצה.<br />
ניתן לחשב את העיוות<br />
(השגיאה)<br />
של המילון החדש שנוצר ע"י מיצוע של השגיאות<br />
הריבועיות בין כל וקטור במאגר הוקטורים לבין מילת הייצוג שלו (הקרובה אליו).<br />
- 125 -
שלב זה מגיע לסיומו ברגע שהשגיאה מתכנסת ורמות הייצוג(מילים)<br />
האופטימליות.<br />
מתייצבות על הרמות<br />
השגיאה הריבועית בייצוגו של וקטור מן המאגר כוקטור מסוים (מילה במילון) היא המרחק<br />
האוקלידי בין שני הוקטורים, כלומר מפרידים כל רכיב (מימד) לחוד, מחשבים את ההפרש בין<br />
רכיבי הוקטור לכל מימד, מעלים בריבוע ומסכמים אותם, כמתואר במשוואה:<br />
e = ( x<br />
w<br />
2<br />
2<br />
2<br />
2<br />
1<br />
− w1<br />
) + ( x2<br />
− w2<br />
) + ( x3<br />
− w3<br />
) + ( x4<br />
−<br />
4<br />
)<br />
(D-4)<br />
כאשר<br />
X k<br />
= [ x1,<br />
x2,<br />
x3,<br />
x4]<br />
הוא וקטור במדגם (לדוגמה, במימד<br />
W i הוא<br />
= [ w1 , w2<br />
, w3<br />
, w4<br />
] ,(4<br />
מילה במילון.<br />
זוהי שגיאה ריבועית רגילה, הנותנת עדיפות שווה לכל מימד. שגיאה ריבועית משוקללת נותנת<br />
משקל שונה לכל מימד<br />
.[27]<br />
משמעותיים, כמתואר במשוואה:<br />
במדידה זו נותנים עדיפות למרכיבי הוקטור היותר חשובים או<br />
e = a<br />
2<br />
2<br />
2<br />
2<br />
1<br />
⋅ ( x1<br />
− w1<br />
) + a2<br />
⋅ ( x2<br />
− w2<br />
) + a3<br />
⋅ ( x3<br />
− w3<br />
) + a4<br />
⋅ ( x4<br />
− w4<br />
)<br />
(D-5)<br />
כאשר<br />
A = [ a1,<br />
a2,<br />
a3,<br />
a4<br />
]<br />
הם מקדמי השקלול והם מנורמלים כך שסכומם שווה לאחד. רכיבי<br />
הוקטור הם תדרים, לכן המשקל של כל רכיב יהיה לפי עוצמת הספקטרום באותו תדר.<br />
מדידה זו נותנת יותר חשיבות (מישקול) לפרמטרי<br />
גבוהה יותר מאשר פרמטרי<br />
LSF<br />
LSF<br />
הקשורים לתדרים בעלי אמפליטודה<br />
הקשורים לתדרים בעלי אמפליטודה נמוכה. פרמטרי ה-<br />
LSF<br />
הקשורים לעמקי הספקטרום מקבלים הכי פחות חשיבות.<br />
שיקלול נוסף המתבצע הוא הקטנת החשיבות של הפרמטרים האחרונים בוקטור. האוזן האנושית<br />
לא מבחינה בהבדלים בתדירויות גבוהות, כפי שהיא מבחינה בתדירויות נמוכות. כדי לנצל זאת<br />
נותנים יותר משקל לפרמטרי<br />
LSF<br />
טובות בהרבה מאלה המתקבלות ללא שימוש בשיקלול.<br />
נמוכים. בעזרת המדידה עם השיקלול מתקבלות תוצאות<br />
- 126 -
רשימת מקורות<br />
[1] ISO/IEC 11172-3 international standard, "Information Technology – Coding<br />
of moving pictures and associated audio for digital storage media up to about<br />
1.5Mbit/s", 1993.<br />
[2] Karlheinz Brandenburg, "MP3 and AAC Explained", AES 17 th International<br />
Conference on High Quality Audio Coding, Fraunhofer Institute for Integrated<br />
Circuits FhS-IISA, Erlangen, Germany, 1999.<br />
[3] Karlheinz Brandenburg, "Low Bitrate Audio Coding- State of the Art,<br />
Challenges and Future Directions", Proceeding of ICSLP2000.<br />
[4] Shlien, S., "Guide to MPEG-1 Audio Standard", IEEE Transactions on<br />
Broadcasting, Vol. 40, No. 4, pp. 206-218, December 1994.<br />
[5] K. R. Rao, J. J. Hwang, "Techniques and Standards for Image, Video, and<br />
Audio Coding", chapter 10, pp. 242-272, 1996.<br />
[6] Karlheinz Brandenburg, Oliver Kunz, Akihiko Sugiyama, "MPEG-4 natural<br />
audio coding", Signal Processing: Image Communiction, 15 (2000),<br />
pp. 423-444.<br />
[7] Tetsuya Takahashi, Takashi Morita, "Card Size Portable Audio Player Using<br />
High Quality Audio Coding Technology TWIN VQ", Cyber Space<br />
Laboratories, Japan, 2000, pp. 907-913.<br />
[8] Jurgen Herre, Bernhard Grill, "Overview of MPEG-4 Audio and its<br />
Applications in Mobile Communications", Audio Department, Erlangen,<br />
Germany, AES 17 th International Conference on High Quality Audio Coding,<br />
1999.<br />
[9] N. Iwakami, T. Moriya and S. Miki, "High quality audio coding at less than 64<br />
kbit/s by using transform-domain weighted interleave vector quantization<br />
(TwinVQ)", Proc. ICASSP-95, May 1995, pp. 3095-3098.<br />
[10] Heiko Purnhagen, "An Overview of MPEG-4 Audio Version 2", AES 17th<br />
International Conference on High-Quality Audio Coding, Florence, Italy,<br />
September 1999.<br />
[11] Bernd Edler, Heiko Purnhagen, "Concepts for Hybrid Audio Coding Schemes<br />
Based on Parametric Techniques", Preprint 4808, 105th AES Convention, San<br />
Francisco, September 1998.<br />
[12] Heng-Ming Tai, Shudei Jiang, "MPEG-4 Parametric Audio Coding and its<br />
Implementation", Department of Electrical Engineering, University of Tulsa,<br />
pp. 762-766, 1999.<br />
[13] Bernd Edler, Heiko Purnhagen, "Parametric Audio Coding", 5th International<br />
Conference on Signal Processing (ICSLP 2000), Beijing, August 2000.<br />
- 127 -
[14] Heiko Purnhagen, "Advances in Parametric Audio Coding", University of<br />
Hannover, Germany, Proc, 1999 IEEE Workshop on Application of Signal<br />
Processing to Audio and Acoustic.<br />
[15] Heiko Purnhagen, Nikolaus Meine, "HILN – The MPEG-4 Parametric Audio<br />
Coding Tools", University of Hannover, Germany, ISCAS 2000, IEEE<br />
International Symposium on Circuits and Systems, pp. 201-204, May 2000.<br />
[16] Heiko Purnhagen, Bernd Edler, Charalampos Ferekidis, "Object-Based<br />
Analysis/Synthesis Audio Coder for Very Low Bit Rates", University of<br />
Hannover, Germany, AES 104 th convention, preprint 4747, May 1998.<br />
[17] ISO/JTC 1/SC 29/WG11 International standard, "Information Technology –<br />
Very Low Bitrate Audio-Visual Coding", October 1996.<br />
[18] Heiko Purnhagen, Nikolaus Meine, Bernd Edler, "Speeding up HILN –<br />
MPEG-4 Parametric Audio Encoding with Reduced Comlexity", University of<br />
Hannover, Germany, AES 109 th convention, September 1999,<br />
http://www.tnt.uni-hannover.de/org/whois/wissmit/purnhage/publications.html<br />
[19] Chris A. Lanciani, "Auditory Perception and the MPEG Audio Standard",<br />
thesis, Gorgia Institute of Technology, August 1995.<br />
[20] Andreas Spanias, "Perceptual Coding of Audio", Proceedings of the IEEE,<br />
Vol. 88, No. 4, April 2000, pp. 451-467.<br />
[21] Shinfeld Yehuda, "The Encyclopedia of Human Body – Ear and Hearing",<br />
pp. 8-21, 1986.<br />
[22] Matti Karjalainen and Tero Tolnen, "Multi-Pitch and Periodicity Analysis<br />
Model for Sound Separation and Auditory Scene Analysis", Helsinki<br />
University of Technology, Finland, 1999.<br />
[23] Tero Tolnen, Matti Karjalainen, "A Computationally Efficient Multipitch<br />
Analysis Model", IEEE transactions on speech and audio processing, Vol. 8,<br />
No. 6, pp. 708-716, November 2000.<br />
[24] Anssi P. Klapuri, "Multipitch Estimation and Sound Separation By The<br />
Spectral Smoothness principle", Tampere University of Technology, Finland,<br />
2001.<br />
[25] Dan Chazan, Meir Tzur, Ron Hoory, Gilad Cohen, "Efficient Periodicity<br />
Extraction Based on Sine Wave Representation and its Application to Pitch<br />
Determination of Speech Signals", IBM Research, Israel, 2001.<br />
[26] Tuomas Virtanen, Anssi Klapuri, "Separation of Harmonic Sounds Using<br />
Multipitch Analysis and Iterative Parameter Estimation", Signal Processing<br />
Laboratory, Tampere University of Technology, Finland, October 2001.<br />
[27] K.K. Paliwal, B.S. Atal, " Efficient Vector Quantization of Lpc Parameters at<br />
24 Bits/Frame", IEEE Tans. On Speech snd Audio Processing, Vol. 1, No. 1,<br />
- 128 -
Jan 1993, pp. 661-664.<br />
[28] Yoseph Linde, Andreas Buzo, Robert M. Gray, "An Algorithm for Vector<br />
Quantizer Ddesign"IEEE, Transactions on commusnications, Vol. 28, No.1,<br />
January 1980, pp. 84-95.<br />
[29] Kondoz, Multi-band excitation speech coder, chapter 8, pp.239-272, 1996.<br />
[30] Pushkar Patwardhan, Preeti Rao, “Frequency warped all-pole modeling of<br />
vower spectral dependence on voice and vowel quality”, Proceedings of<br />
Workshop on Spoken Language Processing, January 2003.<br />
[31] Diemo Schwarz, Xavier Rodet, "Spectral Envelope Estimation and<br />
Representation for Sound Analysis-Synthesis", Proceedings of the<br />
International Computer Music Conference, 1999.<br />
[32] Tenkasi Ramabadran, Aaron Smith, Mark Jasiuk, "An Itertaive Interpolative<br />
Transform Method for Modeling Harmonic Magnitudes", IEEE Workshop<br />
Proceedings, pp. 38-40, October 2002.<br />
[33] T. F. Quatieri, Speech Signal Processing, chapter 8, "Speech Coding", 2000.<br />
[34] R. J. McAulay, T. F. Quatieri, "Sinusoidal Coding", Chapter 4, Speech<br />
Systems Technology Group, MIT Lincoln Laboratory, pp. 121-173, 1995.<br />
[35] Jurgen Herre, Heiko Purnhagen, "General Audio Coding", the book "MPEG-<br />
4", chapter 11, pp. 487-544, 1999.<br />
[36] Matthew A. Watson, Peter Buettner, "Design and Implementation of AAC<br />
Decoders", Dolby Laboratories, pp 408-409, 2000.<br />
[37] Taeko Miwa, Yoshiaki Tadokoro, "Musical Pitch Estimation and<br />
Discrimination of Musical Instruments using Comb Filters for Transcription",<br />
Toyohashi University of Technology, Japan, pp. 105-108, 1999.<br />
[38] Anssi Klapuri, "Pitch Estimation Using Multiple Independent Time-Frequency<br />
Windows", Proc. IEEE Workshop on Applications of Signal Processing to<br />
Audio and Acoustics, October 1999, pp. 115-118.<br />
[39] Frank Baumgarte, "A Physiological Ear Model for Specific Loudness and<br />
Masking", Proceedings of the 1997 IEEE Workshop on Applications of Signal<br />
Processing to Audio and Acoustics, October 1997.<br />
[40] James A. Moorer, "Signal Processing Aspects of Computer Music- A Survey",<br />
Department of Music, Stanford University, California, February 1977.<br />
[41] Heiko Purnhagen, Nikolaus Meine, Bernd Edler "Sinusoidal Coding Using<br />
Loudness Based Componenet Selection", Proc. ICASSP2002, May 2002,<br />
pp. 1817-1820.<br />
[42] Hossien Najafzadeh-Azghandi, Peter Kabal, "Perceptual Coding Of<br />
Narrowband Audio Signals At 8 Kbit/s", Proc. IEEE Workshop on Speech<br />
- 129 -
Coding for Telecom, pp. 109-110, September 1997.<br />
[43] Ted Painter, , "Perceptual Segmentation and Component Selection in Compact<br />
Sinusoidal Representation of Audio", Ph.D. thesis (advisor: Andreas Spanias),<br />
2000.<br />
[44] Ye Wang, Leonid Yaroslavsky, Miika Vilermo, "Some Peculiar Properties of<br />
the MDCT", Proceedings of ICSP2000, pp. 61-64.<br />
[45] Das A. and Gersho A,, "Variable dimension spectral coding of speech at 2400<br />
bps and below with phonetic classification", Proc. IEEE Int. Conf. Acoust.,<br />
Speech, Signal Processing, pp. 492-495, April 1995.<br />
[46] Link for EAQUAL software, "http://www.mp3-tech.org/programmer/<br />
misc. html".<br />
[47] Rodet, Xavier, "Musical Sound Signal Analysis/Synthesis: Sinusoidal+Residal<br />
and Elementary Waveform Models". IEEE Time-Frequency and Time-Scale<br />
Workshop 1997, Coventry, Grande Bertagne.<br />
[48] D.P. Kemp, J.S. Collura, T.E. Tremain, "LPC parameter quantization at 600,<br />
800 and 1200 bits per second", Proceedings of the Tactical Communications<br />
Conference, 1992, pp. 71-75.<br />
- 130 -