31.03.2014 Views

שיפור מודל פרמטרי לקידוד אותות שמע בקצבים נמוכים - SIPL - הטכניון

שיפור מודל פרמטרי לקידוד אותות שמע בקצבים נמוכים - SIPL - הטכניון

שיפור מודל פרמטרי לקידוד אותות שמע בקצבים נמוכים - SIPL - הטכניון

SHOW MORE
SHOW LESS

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 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!