เสียง AAC (.aac)
ISO/IEC มาตรฐานAdvanced Audio Coding (AAC) คือรูปแบบมาตรฐานที่สืบทอดต่อจาก MP3 ซึ่งถูกออกแบบมาเพื่อให้ประสิทธิภาพในการบีบอัดที่เหนือกว่าและความคมชัดในการได้ยินที่อัตราบิตเท่ากัน
แปลง AAC เป็น MP3
ตัวแปลงจาก AAC เป็น MP3 ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ
ตรวจสอบและดู Metadata
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ AAC โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวในระดับไบต์ (Magic Bytes)
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ AAC โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
FF F1การแสดงผลรูปแบบ ASCII: ÿñ
มาตรฐาน: ISO/IEC 13818-7 / ISO/IEC 14496-3
ข้อมูลจำเพาะทางเทคนิค
| สถาปัตยกรรมคอนเทนเนอร์ | ADTS (Audio Data Transport Stream) bitstream or MPEG-4 Part 14 container |
| การบีบอัด | Modified Discrete Cosine Transform (MDCT) with temporal noise shaping and psychoacoustic modeling |
| การจัดลำดับไบต์ (Byte Endianness) | Big-Endian bitstream framing |
| พื้นที่สี | N/A (Audio Bitstream) |
| ช่องสัญญาณและโครงสร้าง | Up to 48 discrete audio channels with arbitrary speaker mapping |
| ขนาดสูงสุด | Sample rates from 8 kHz up to 96 kHz (16/24-bit PCM source) |
| ความโปร่งใส | Perceptual lossy coding; transparent quality achieved around 192-256 kbps stereo |
| การสตรีมและแบบโปรเกรสซีฟ | Native ADTS frame synchronization words enable arbitrary byte-stream streaming |
ตารางเปรียบเทียบทางเทคนิค: AAC กับคู่แข่ง
| คุณลักษณะทางเทคนิค | AAC (ปัจจุบัน) | MP3 | OGG | OPUS |
|---|---|---|---|---|
| ประสิทธิภาพการบีบอัด | สูง; สเตอริโอที่โปร่งใสที่ 128-192 kbps | ปานกลาง; ต้องการ 192-256 kbps | สูง; เทียบได้กับ AAC ที่ 160 kbps | สูงมาก; โปร่งใสที่ 96-128 kbps |
| ช่องสัญญาณสูงสุด | 48 ช่องสัญญาณแยก | 2 ช่องสัญญาณ (สเตอริโอ) / 5.1 ใน MPEG-2 | 255 ช่องสัญญาณแยก | 255 ช่องสัญญาณแยก |
| การเร่งความเร็วด้วยฮาร์ดแวร์ | สากล 100% บนซิลิคอนมือถือและเดสก์ท็อปทั้งหมด | รองรับซิลิคอนรุ่นเก่า 100% | ชิปฮาร์ดแวร์ DSP เฉพาะทางจำกัด | รองรับฮาร์ดแวร์เบราว์เซอร์และ Android/iOS มากขึ้น |
| ความหน่วงของอัลกอริทึม | ปานกลาง (หน่วงเวลาบัฟเฟอร์ประมาณ 100 ms) | สูง (~100-150 ms) | ปานกลาง (~100 ms) | ต่ำมาก (5-26.5 ms, ปรับแต่งสำหรับ VoIP) |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
เครื่องเล่นสื่อเล่นวนซ้ำหรือสร้างเสียงซ่าดิจิทัลความถี่สูง
สาเหตุหลัก: การสูญเสียการซิงโครไนซ์ของส่วนหัวเฟรม ADTS เนื่องจากแพ็กเกจสูญหายหรือซิงค์เวิร์ด 12 บิตหายไป
การกู้คืน: แปลงเสียง AAC ดิบให้อยู่ในคอนเทนเนอร์ MP4/M4A ด้วยคำสั่ง ffmpeg -i broken.aac -c:a copy fixed.m4a เพื่อสร้างดัชนีเฟรมขึ้นใหม่
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
ตัวถอดรหัส AAC ทำงานในลูป DSP เสียงที่มีปริมาณงานสูง ซึ่งความยาวแพ็กเกจที่ผิดรูปอาจทำให้เกิดการล้นของจำนวนเต็ม (integer overflows) ในการใช้งานซอฟต์แวร์
เวกเตอร์การโจมตีที่ทราบ
- การล้นของจำนวนเต็มในฟิลด์ความยาวเฟรม ADTS ทำให้เกิดการอ่านบัฟเฟอร์เกินขอบเขตในตัวถอดรหัส C++ ที่ยังไม่ได้แพตช์
- บิตกำหนดค่าช่องสัญญาณที่ถูกสร้างขึ้นเพื่อทริกเกอร์การเขียนหน่วยความจำที่ไม่ถูกต้องระหว่างการผสมเสียงหลายช่องสัญญาณลง
- การจัดสรรฮีปนอกขอบเขตระหว่างการแยกวิเคราะห์ตารางสังเคราะห์ SBR (Spectral Band Replication)
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน:
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- ให้ความใสของเสียงที่เหนือกว่า MP3 ที่อัตราบิตเทียบเท่าและต่ำกว่า (เช่น 128 kbps เทียบกับ 192 kbps)
- รองรับช่องสัญญาณเสียงเต็มแบนด์วิดท์สูงสุด 48 ช่องสำหรับระบบเสียงรอบทิศทางและเวิร์กโฟลว์ Dolby Pro Logic
- การถอดรหัสด้วยฮาร์ดแวร์พื้นฐานสากลบน iOS, Android, macOS, Windows และสมาร์ททีวีสำหรับผู้บริโภค
ข้อจำกัดทางเทคนิคและข้อควรพิจารณา
- การเข้ารหัสแบบสูญเสียข้อมูลเชิงการรับรู้จะตัดความถี่ฮาร์มอนิกที่ไม่ได้ยินออกไป ทำให้ไม่เหมาะสำหรับการมาสเตอร์ริ่งเสียง
- สตรีมข้อมูล ADTS ขาดตารางการค้นหาตำแหน่ง (seeking tables) ที่ฝังอยู่ หากไม่มีการใส่ในคอนเทนเนอร์ MP4 (M4A)
- การอนุญาตสิทธิบัตรพูลที่จัดการโดย Via Licensing Corporation ในอดีตทำให้การพัฒนาตัวเข้ารหัสแบบโอเพนซอร์สช้าลง
เกร็ดความรู้ทางเทคนิคที่น่าสนใจ
- YouTube ตั้งค่าเริ่มต้นเป็นการเข้ารหัส AAC ที่ 128 kbps สำหรับสตรีมเสียงวิดีโอสเตอริโอมาตรฐาน
- ซิงค์เวิร์ดของ ADTS คือเลขฐานสอง 1 ติดต่อกัน 12 ตัว (0xFFF) ซึ่งช่วยให้จูนเนอร์สามารถล็อกเข้ากับรายการสดกลางคันได้
- Sony นำ AAC มาใช้เป็นมาตรฐานการบีบอัดเริ่มต้นสำหรับเสียงใน PlayStation 3, PlayStation Portable และ Vita
คำถามทางเทคนิคที่พบบ่อย
ทำไม AAC ถึงให้เสียงที่ดีกว่า MP3 ที่บิตเรต 128 kbps?
AAC มีความละเอียดความถี่สูงกว่า (สูงสุด 96 kHz), ฟิลเตอร์แบงก์แบบ MDCT เพียวๆ, ระบบ temporal noise shaping (TNS) และเครื่องมือทำนายสัญญาณเสียงสเตอริโอที่ยืดหยุ่นกว่า ซึ่งช่วยกำจัดเสียงเพี้ยนประเภท pre-echo ที่มักพบบ่อยใน MP3
ระหว่าง raw AAC กับ M4A แตกต่างกันอย่างไร?
Raw AAC ใช้การจัดรูปแบบแพ็กเก็ตแบบ ADTS อย่างง่าย โดยไม่มีสารบัญบทหรือดัชนีเมทาดาต้า ส่วน M4A จะห่อหุ้มเพย์โหลดเสียง AAC เดียวกันไว้ภายในคอนเทนเนอร์ ISO Base Media (MP4) พร้อมด้วยเมทาดาต้า, ภาพปกอัลบั้ม และตารางค้นหาตำแหน่ง (seek tables)
AAC รองรับการบีบอัดเสียงแบบไม่สูญเสียข้อมูล (lossless) หรือไม่?
ไม่. AAC มาตรฐานเป็นการสูญเสียข้อมูล (lossly) อย่างเคร่งครัด แต่ Apple ได้พัฒนา Apple Lossless (ALAC) ขึ้นมาเพื่อให้ได้เสียงแบบ lossless แบบบิตต่อบิตภายในคอนเทนเนอร์ M4A แบบเดียวกัน
คู่การแปลงไฟล์ AAC ที่เกี่ยวข้อง
การแปลงไฟล์ Advanced Audio Coding เป็น MPEG-1 Audio Layer III ช่วยให้เพลงและพอดแคสต์ของคุณเล่นบนเครื่องเล่นฮาร์ดแวร์รุ่นเก่าและเครื่องเสียงรถยนต์รุ่นดั้งเดิมได้
การแปลงไฟล์ MP3 เป็นรูปแบบ AAC จะอัปเดตเสียงสูญเสียข้อมูลรุ่นเก่าให้เป็นการเข้ารหัสที่มีประสิทธิภาพสูงและทันสมัย เพื่อเสียงที่ดีกว่าในขนาดไฟล์ที่เล็กกว่า
การแปลงหนังสือเสียง M4B เป็นเสียงบรรยาย AAC จะถอดเครื่องหมายบทและคอนเทนเนอร์ห่อหุ้มออก เพื่อเหลือเพียงสตรีมเสียงมาตรฐานที่สามารถเล่นได้บนเครื่องเล่นสื่อทั่วไปเกือบทุกชนิด