เสียง AAC (.aac)

ISO/IEC มาตรฐาน

Advanced Audio Coding (AAC) เป็นโคเดกเสียงแบบสูญเสียข้อมูลที่กำหนดมาตรฐานหลัง MP3 ประสิทธิภาพการบีบอัดและคุณภาพที่รับรู้ขึ้นอยู่กับตัวเข้ารหัส บิตเรต และเนื้อหาเสียง

แปลง AAC เป็น MP3

ตัวแปลงจาก AAC เป็น MP3 ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ

ตรวจสอบไฟล์และข้อมูลเมตา

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ AAC โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
รับประกันความเป็นส่วนตัวโดยไม่มีการส่งข้อมูลผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวระดับไบต์

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ AAC โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

FF F1

การแสดงผลรูปแบบ ASCII: ÿñ

มาตรฐาน: ISO/IEC 13818-7 / ISO/IEC 14496-3

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์บิตสตรีม ADTS (Audio Data Transport Stream) หรือคอนเทนเนอร์ MPEG-4 Part 14
การบีบอัดการแปลงโคไซน์ไม่ต่อเนื่องแบบดัดแปลง (MDCT) พร้อมการปรับรูปร่างสัญญาณรบกวนตามเวลาและแบบจำลองจิตอะคูสติก
การจัดลำดับไบต์การจัดกรอบบิตสตรีมแบบ Big-Endian
พื้นที่สีไม่เกี่ยวข้อง (บิตสตรีมเสียง)
ช่องสัญญาณและโครงสร้างรองรับช่องสัญญาณเสียงแยกกันสูงสุด 48 ช่อง พร้อมการกำหนดตำแหน่งลำโพงได้อย่างอิสระ
ขนาดสูงสุดอัตราสุ่มตั้งแต่ 8 kHz ถึง 96 kHz (จากแหล่ง PCM 16/24 บิต)
ความโปร่งใสการเข้ารหัสแบบสูญเสียข้อมูลตามการรับรู้ โดยคุณภาพที่แทบแยกไม่ออกจากต้นฉบับทำได้ที่ประมาณ 192-256 kbps แบบสเตอริโอ
การสตรีมและแบบโปรเกรสซีฟคำซิงโครไนซ์เฟรม ADTS ในตัวช่วยให้สตรีมไบต์ต่อเนื่องได้

ตารางเปรียบเทียบทางเทคนิค: AAC กับคู่แข่ง

คุณลักษณะทางเทคนิคAAC (ปัจจุบัน)MP3OGGOPUS
ประสิทธิภาพการบีบอัดสูง ให้เสียงสเตอริโอโปร่งใสที่ 128 - 192 kbpsปานกลาง; ต้องการ 192-256 kbpsสูง ใกล้เคียงกับ AAC ที่ 160 kbpsสูงมาก ให้เสียงโปร่งใสที่ 96 - 128 kbps
ช่องสัญญาณสูงสุด48 ช่องสัญญาณแยก2 ช่องสัญญาณ (สเตอริโอ) / 5.1 ใน MPEG-2255 ช่องสัญญาณแยก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)

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ถอดรหัสไฟล์ AAC ในพื้นที่หน่วยความจำแบบแซนด์บ็อกซ์โดยใช้ไลบรารี WASM ที่ปลอดภัยต่อหน่วยความจำหรือเฟรมเวิร์กสื่อของระบบปฏิบัติการ

ประวัติความเป็นมาและเหตุการณ์สำคัญ

2003Apple Computer เลือกใช้ AAC เป็นรูปแบบเสียงเริ่มต้นสำหรับ iTunes Store และสายผลิตภัณฑ์ iPod
1999ถูกรวมเข้ากับมาตรฐาน MPEG-4 ในชื่อ ISO/IEC 14496-3 พร้อมด้วยโปรไฟล์ High-Efficiency AAC (HE-AAC)
1997ถูกกำหนดเป็นมาตรฐานภายใต้ ISO/IEC 13818-7 ในฐานะ MPEG-2 Part 7 ซึ่งมีประสิทธิภาพเหนือกว่า MPEG-1 Layer III ในทุกอัตราบิต

ข้อได้เปรียบและจุดเด่นสำคัญ

  • ให้เสียงใสกว่า 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 แตกต่างกันอย่างไร?

AAC แบบดิบใช้การจัดกรอบ ADTS อย่างง่าย โดยไม่มีสารบัญบทหรือดัชนีเมทาดาทา ส่วน M4A ห่อหุ้มเพย์โหลดเสียง AAC เดียวกันไว้ในคอนเทนเนอร์ ISO Base Media (MP4) พร้อมเมทาดาทา ภาพปกอัลบั้ม และตารางค้นหาตำแหน่ง

AAC รองรับการบีบอัดเสียงแบบไม่สูญเสียข้อมูล (lossless) หรือไม่?

ไม่ AAC มาตรฐานเป็นรูปแบบที่บีบอัดเสียงโดยสูญเสียข้อมูลอย่างเคร่งครัด ส่วน Apple พัฒนา Apple Lossless (ALAC) เพื่อบีบอัดเสียงโดยไม่สูญเสียข้อมูลแม้แต่บิตเดียว ภายในคอนเทนเนอร์ M4A เดียวกัน