לאחר שהבנתי ש-FLAC הוא פורמט ללא איבוד נתונים עדיין קיימת השאלה למה יש גרסאות שונות ושני דיסקים זהים יכולים לקבל קובץ בעל משקל וקצב דגימה שונים ב-FLAC...
איך זה יכול להיות? אם זה LOSSLESS לא אמורה להתקבל תוצאה זהה?
תודה!
FLAC - פורמט שמעורר שאלות....
- Jonny123 (פותח השרשור)
- חבר ותיק
- הודעות: 1526
- הצטרף: אוגוסט 2008
- נתן תודות: 12 פעמים
- קיבל תודות: 19 פעמים
תודה רבה!
1. מה זה רד בוק?
2. כוונתי בשאלה היא שאם אני רואה שני קבצי FLAC מאותה רצועה של אותו הדיסק פיזית שקיבלו bitrate שונה, איך הדבר מקיים את זה ש-FLAC הוא קובץ LOSSLESS?
3. באחד השרשורים שלי שגלשו לנושא FLAC הסבירו לי ש-FLAC הוא בדיוק כמו קובץ RAR שניתן אחר כך להגיע ממנו לאותו קובץ WAV מקורי. איך עושים את זה? והאם אין שום איבוד של נתונים בדרך?
1. מה זה רד בוק?
2. כוונתי בשאלה היא שאם אני רואה שני קבצי FLAC מאותה רצועה של אותו הדיסק פיזית שקיבלו bitrate שונה, איך הדבר מקיים את זה ש-FLAC הוא קובץ LOSSLESS?
3. באחד השרשורים שלי שגלשו לנושא FLAC הסבירו לי ש-FLAC הוא בדיוק כמו קובץ RAR שניתן אחר כך להגיע ממנו לאותו קובץ WAV מקורי. איך עושים את זה? והאם אין שום איבוד של נתונים בדרך?
אני יודע שזה אפשרי ב APE אבל לא חושב שב-FLAC (לחזור חזרה ל WAVE)Jonny123 כתב:תודה רבה!
1. מה זה רד בוק?
2. כוונתי בשאלה היא שאם אני רואה שני קבצי FLAC מאותה רצועה של אותו הדיסק פיזית שקיבלו bitrate שונה, איך הדבר מקיים את זה ש-FLAC הוא קובץ LOSSLESS?
3. באחד השרשורים שלי שגלשו לנושא FLAC הסבירו לי ש-FLAC הוא בדיוק כמו קובץ RAR שניתן אחר כך להגיע ממנו לאותו קובץ WAV מקורי. איך עושים את זה? והאם אין שום איבוד של נתונים בדרך?...
- Jonny123 (פותח השרשור)
- חבר ותיק
- הודעות: 1526
- הצטרף: אוגוסט 2008
- נתן תודות: 12 פעמים
- קיבל תודות: 19 פעמים
build הכוונה גירסה של המקודד?
אני רוצה להבין דבר אחד, האם FLAC לעולם יהיה זהה באיכות (גם על הנייר) לקובץ המקורי וללא עיוותים (ולא משנה המשקל שלו או הגרסה של המקודד ושאר משתנים)?
בכל מקרה, כשאמן בא ומקליט שיר באולפן, על איזה פורמט הוא מקליט אותו?
ולמה דווקא FLAC צבר פופולריות גבוהה מכל פורמט LOSSLESS אחר?
אני רוצה להבין דבר אחד, האם FLAC לעולם יהיה זהה באיכות (גם על הנייר) לקובץ המקורי וללא עיוותים (ולא משנה המשקל שלו או הגרסה של המקודד ושאר משתנים)?
בכל מקרה, כשאמן בא ומקליט שיר באולפן, על איזה פורמט הוא מקליט אותו?
ולמה דווקא FLAC צבר פופולריות גבוהה מכל פורמט LOSSLESS אחר?
כן, FLAC יהיה זהה לקובץ המקור.
ההבדלים בין קובצי FLAC שונים נובעים מ"עוצמת" הדחיסה. דחיסה כבדה יותר תשיג קבצים קטנים יותר, אך תדרוש יותר משאבי מחשוב (הן לדחיסה והן לפריסה), כלומר תהיה איטית יותר או תכביד יותר על המעבד. בכל אופן, במקודדי Lossless כמו FLAC, תוצר הפריסה יהיה זהה למקור.
FLAC שקול ל-RAR מהיותו Lossless, כלומר המידע הנפרש זהה למידע המקורי. השאלה ששאלת היא: מה FLAC עושה בשונה מ-RAR, שמביא לדחיסה טובה יותר של אודיו?
ובכן, העקרון פשוט יחסית: FLAC נועד לאודיו בלבד, ועל-כן הוא מכיר מאפיינים סטטיסטיים שקיימים באותות אודיו. המקודד מניח את קיום המאפיינים הללו (יתירוּת סטטיסטית), ותחת הנחות אלה, הדחיסה יותר יעילה.
מה הם אותם "מאפיינים סטטיסטיים"? על קצה המזלג:
1. כאשר אנו יודעים שמדובר באודיו, אנו יכולים להניח שרוב המידע בדרך כלל יהיה דומה בשני הערוצים שמאל וימין.
2. כאשר יש לנו קובץ WAV, אנחנו יכולים להניח שכל דגימה תהיה בדרך כלל לא שונה בהרבה יחסית לקודמותיה. במילים אחרות: נוכל להניח ששינויי העוצמה בזמן אינם "תזזיתיים" לגמרי: כידוע, ממברנת הרמקול זזה בזמן לפי שינויי העוצמה, ואם בזמן X היא במקום מסוים, אז רגע קצר לפני-כן, סביר להניח שהייתה במקום קרוב לו. (המקרה הכי "משתולל" הוא רעש לבן - שם כמעט אין קשר בין מיקום הממברנה בכל רגע ורגע, ולכן רעש לבן כמעט לא יידחס כלל).
עכשיו, כמובן שההנחות שלעיל אינן תמיד נכונות. אבל אם מניחים שהן בדרך כלל נכונות, ושומרים רק את השגיאה מהן (כלומר את הסטייה מהתחזית שלנו), מתקבל הרבה פחות מידע
תהליך זה זה נקרא (עבור הנחה מס' 2) חיזוי לינארי (Linear Prediction) - במקום לשמור כל דגימה ודגימה, אנו חוזים מה תהיה הדגימה הבאה על סמך דגימות העבר, ושומרים בקובץ רק את השגיאה מהתחזית שלנו. אגב, מספר דגימות העבר ("כמה דגימות אחורנית") שעליהן נסתמך לחיזוי שלנו, הוא פרמטר שמשפיע על השגיאה המתקבלת/נשמרת, כלומר משפיע על עוצמת הדחיסה, מהירותה, וגודל הקובץ שיוצא.
עכשיו, אותן שגיאות שאנו שומרים - אנו יכולים להעריך איך הן מתפלגות סטטיסטית (בד"כ יהיו שגיאות אפסיות, לעתים יהיו גדולות יותר, ולעתים ממש רחוקות יהיו ממש גדולות). מבלי להכנס לפרטים, אומר שבידיעת ההתפלגות הזאת, נוכל לסדר את הבייטים בקובץ באופן כזה שאפשר יהיה לדחוס אותן היטב (קידודים דוגמת Rice, RLE, Huffman ושות')
בניגוד ל-FLAC, מקודד מסוג RAR נועד לכל סוגי הקבצים, ולכן הוא לא עושה הנחות ספציפיות כאלה (אלא הנחות אחרות, כלליות יותר). ולכן הוא פחות מצליח לדחוס אודיו.
ההבדלים בין קובצי FLAC שונים נובעים מ"עוצמת" הדחיסה. דחיסה כבדה יותר תשיג קבצים קטנים יותר, אך תדרוש יותר משאבי מחשוב (הן לדחיסה והן לפריסה), כלומר תהיה איטית יותר או תכביד יותר על המעבד. בכל אופן, במקודדי Lossless כמו FLAC, תוצר הפריסה יהיה זהה למקור.
FLAC שקול ל-RAR מהיותו Lossless, כלומר המידע הנפרש זהה למידע המקורי. השאלה ששאלת היא: מה FLAC עושה בשונה מ-RAR, שמביא לדחיסה טובה יותר של אודיו?
ובכן, העקרון פשוט יחסית: FLAC נועד לאודיו בלבד, ועל-כן הוא מכיר מאפיינים סטטיסטיים שקיימים באותות אודיו. המקודד מניח את קיום המאפיינים הללו (יתירוּת סטטיסטית), ותחת הנחות אלה, הדחיסה יותר יעילה.
מה הם אותם "מאפיינים סטטיסטיים"? על קצה המזלג:
1. כאשר אנו יודעים שמדובר באודיו, אנו יכולים להניח שרוב המידע בדרך כלל יהיה דומה בשני הערוצים שמאל וימין.
2. כאשר יש לנו קובץ WAV, אנחנו יכולים להניח שכל דגימה תהיה בדרך כלל לא שונה בהרבה יחסית לקודמותיה. במילים אחרות: נוכל להניח ששינויי העוצמה בזמן אינם "תזזיתיים" לגמרי: כידוע, ממברנת הרמקול זזה בזמן לפי שינויי העוצמה, ואם בזמן X היא במקום מסוים, אז רגע קצר לפני-כן, סביר להניח שהייתה במקום קרוב לו. (המקרה הכי "משתולל" הוא רעש לבן - שם כמעט אין קשר בין מיקום הממברנה בכל רגע ורגע, ולכן רעש לבן כמעט לא יידחס כלל).
עכשיו, כמובן שההנחות שלעיל אינן תמיד נכונות. אבל אם מניחים שהן בדרך כלל נכונות, ושומרים רק את השגיאה מהן (כלומר את הסטייה מהתחזית שלנו), מתקבל הרבה פחות מידע
תהליך זה זה נקרא (עבור הנחה מס' 2) חיזוי לינארי (Linear Prediction) - במקום לשמור כל דגימה ודגימה, אנו חוזים מה תהיה הדגימה הבאה על סמך דגימות העבר, ושומרים בקובץ רק את השגיאה מהתחזית שלנו. אגב, מספר דגימות העבר ("כמה דגימות אחורנית") שעליהן נסתמך לחיזוי שלנו, הוא פרמטר שמשפיע על השגיאה המתקבלת/נשמרת, כלומר משפיע על עוצמת הדחיסה, מהירותה, וגודל הקובץ שיוצא.
עכשיו, אותן שגיאות שאנו שומרים - אנו יכולים להעריך איך הן מתפלגות סטטיסטית (בד"כ יהיו שגיאות אפסיות, לעתים יהיו גדולות יותר, ולעתים ממש רחוקות יהיו ממש גדולות). מבלי להכנס לפרטים, אומר שבידיעת ההתפלגות הזאת, נוכל לסדר את הבייטים בקובץ באופן כזה שאפשר יהיה לדחוס אותן היטב (קידודים דוגמת Rice, RLE, Huffman ושות')
בניגוד ל-FLAC, מקודד מסוג RAR נועד לכל סוגי הקבצים, ולכן הוא לא עושה הנחות ספציפיות כאלה (אלא הנחות אחרות, כלליות יותר). ולכן הוא פחות מצליח לדחוס אודיו.
נערך לאחרונה על ידי DigiSUN ב 24/05/2012 18:10, נערך פעם 1 בסך הכל.
אפשר להמיר FLAC חזרה ל WAV באמצעות FLAC Frontend.
עלינו לשמור על איכות הסביבה למען ילדינו. לפעמים פעולות קטנות כל יום עושות שינוי גדול.
The story of stuff
http://www.storyofstuff.com/
The story of stuff
http://www.storyofstuff.com/
להבנתי התוכנה אמורה להחזיר את האודיו חזרה למצב לא דחוס באותה איכות כפי שנדחס. לפחות ככה כתוב ב"פרסומת"
עלינו לשמור על איכות הסביבה למען ילדינו. לפעמים פעולות קטנות כל יום עושות שינוי גדול.
The story of stuff
http://www.storyofstuff.com/
The story of stuff
http://www.storyofstuff.com/
יסודי לגמרי כי זו תוכנת FLAC ממש:Jonny123 כתב:תודה רבה! וזו תוכנה יסודית ברמה של EAC?אפשר להמיר FLAC חזרה ל WAV באמצעות FLAC Frontend.......
Frontend היא שכבה שנותנת למשתמש ממשק גרפי נוח, אבל מאחורי הקלעים מופעל אותו "מנוע" מקורי של פרויקט FLAC שמבצע את הדחיסה/פריסה בפועל.
לא מדובר ב"שגיאות" במובן השלילי של המילה, אלא בהפרשים (ראה תשובתו של יוני_א למעלה)Jonny123 כתב: DigiSUN,
תודה רבה על ההסבר המושקע.
רציתי להבין משהו נוסף, לפי דבריך, קיימות "שגיאות" בחיזוי האות ב-FLAC. איך האות נשמע זהה למקור אם יש שגיאות בחיזוי?...
נניח שאתה משער (חוזה) כמה כסף יש לי בשק היום, על-סמך כמה שהיה לי אתמול ושלשום.
ואז אני אומר לך בדיוק בכמה שגית היום בחיזוי שלך.
מיד תוכל לדעת בדיוק כמה כסף יש לי בשק.
הרעיון בתהליך החיזוי הוא שבמקום לשמור דגימה-דגימה, המקודד מבצע חיזוי לכל דגימה (ע"ס דגימות העבר), ושומר בקובץ את גודל השגיאה בין התחזית שלו לבין הדגימה בפועל.
המפענח - גם כן מבצע חיזוי, ולתוצאת החיזוי הוא מוסיף את השגיאה (שכאמור נשמרה בקובץ) וכך מגיע חזרה לערך הדגימה המקורי בדיוק.
לשמור בקובץ את השגיאות (=הפרשים) - זה יותר חסכוני מאשר לשמור את הדגימות המקוריות. הסיבה לכך היא סיפור בפני עצמו...
נראה לי שענו לך על השאלה הראשונה כבר מספר פעמים, אבל אתה ממשיך וחוזר עליה.Jonny123 כתב:תודה רבה!
נראה לי שהבנתי. אז כל עוד קובץ מקורי קודד ל-FLAC ההחזרה שלו למקור תהיה אחד לאחד (בכל פרמטר מדיד אפשרי)?
אגב, קובץ מקורי זה WAV בלבד? (כלומר אומן שמקליט מוסיקה מקליט על WAV?)...
כמו שקובץ שחולץ מארכיב RAR יהיה זהה לקובץ המקורי, כך גם ישוחזרו נתוני השמע שיוצאו מקובץ FLAC בצורה זהה למקור - זו המשמעות של דחיסה ללא איבוד מידע (Lossless).
לגבי WAV - זה בסך הכל זרם דגימות לא דחוסות, וכן - זו הצורה הבסיסית ביותר של הקלטת מוזיקה.
I am not young enough to know everything
Oscar Wilde
Oscar Wilde