Định dạng tệp

AAC - Advanced Audio Coding

AAC là chuẩn nén âm thanh mất dữ liệu xuất hiện sau MP3 và hiện nay dùng cho phần lớn âm thanh nhạc và video được phát trực tuyến. Một tệp AAC thuần chỉ chứa các khung âm thanh và hầu như không có gì khác.

.aac

AAC, viết tắt của Advanced Audio Coding, là chuẩn nén âm thanh mất dữ liệu ra đời sau MP3 và được thiết kế để thay thế MP3. Nó được phát triển vào những năm 1990 bởi một nhóm công ty gồm Fraunhofer IIS, Dolby, AT&T, Sony và Nokia, và được Nhóm Chuyên Gia Hình Ảnh Động (Moving Picture Experts Group) công bố như một phần của chuẩn MPEG-2, sau đó là MPEG-4. Gần như chắc chắn là bạn nghe AAC mỗi ngày mà không để ý: AAC là âm thanh trong hầu hết các tệp video, trong phát sóng số, trong các ứng dụng streaming và trong gần như mọi bài hát mua từ cửa hàng trực tuyến.

Một codec, không phải một định dạng tệp

Điều quan trọng cần hiểu về AAC, và nó giải thích mọi thứ khác, là: AAC là một codec, một phương thức nén và giải nén âm thanh. Nó không thực sự là một cách lưu trữ dữ liệu. Giống như MP3, nó là dạng mất dữ liệu, chia âm thanh thành các khối ngắn, chuyển chúng thành tần số và loại bỏ những gì người nghe khó cảm nhận, nhưng AAC làm điều đó với các khối lớn hơn, linh hoạt hơn và công cụ tốt hơn, nên thường cho chất lượng âm thanh cao hơn MP3 ở cùng bitrate. Có nhiều profile khác nhau: AAC-LC thông thường là loại dùng hàng ngày, trong khi HE-AAC tái tạo riêng phần tần số cao và vẫn giữ được chất lượng ở các mức bitrate rất thấp.

Vì chỉ là một codec nên âm thanh AAC thường nằm bên trong một container có khả năng tổ chức các luồng và thẻ. Container đó thường là MP4, đó là lý do vì sao phần lớn tệp nhạc AAC có đuôi .m4a thay vì .aac. Một tệp thực sự kết thúc bằng .aac thường là một luồng Audio Data Transport Stream trần: chỉ gồm các khung AAC nối tiếp nhau, mỗi khung có một header rất nhỏ chứa profile, tần số lấy mẫu và cách bố trí kênh. Tệp này vẫn phát được, có thể cắt ghép, nhưng ngoài phần âm thanh thì không có cấu trúc nào khác.

Siêu dữ liệu mà một tệp AAC chứa

Với một luồng thô thì câu trả lời chính xác là: hầu như không có gì. Bên trong không có chỗ cho tiêu đề, nghệ sĩ hay ngày tháng. Các header khung chỉ mô tả cách giải mã âm thanh và không có gì hơn, nên một báo cáo metadata trên một tệp AAC trần có thể chỉ hiển thị profile, tần số lấy mẫu, số lượng kênh và độ dài. Đó không phải là thiếu sót trong báo cáo. Thực sự là không có thêm dữ liệu nào khác trong tệp.

Có hai yếu tố làm phức tạp bức tranh đó. Thứ nhất, một số phần mềm gắn thẻ ID3v2, cùng loại mà MP3 dùng, vào phần đầu luồng AAC. Đây là một quy ước chứ không phải một phần của chuẩn, nhưng nó hoạt động, nên bạn vẫn có thể thấy tiêu đề, nghệ sĩ, album, ảnh bìa và tên bộ mã hóa. Thỉnh thoảng thẻ APE cũng được dùng theo cách tương tự. Thứ hai, và phổ biến hơn nhiều, cái mà mọi người gọi là tệp AAC thực chất là tệp MP4. Khi đó metadata thuộc về container, và có rất nhiều: các mục kiểu iTunes cho tiêu đề, nghệ sĩ, nghệ sĩ album, số thứ tự bài, năm, thể loại, nhà soạn nhạc, ghi chú, ảnh bìa và ứng dụng mã hóa, cùng với dấu thời gian tạo và sửa đổi trong header của container.

Sự khác biệt này quan trọng nếu bạn quan tâm đến quyền riêng tư. Một luồng AAC trần hầu như không rò rỉ thông tin gì về bạn. Một lớp bọc MP4 có thể chứa tên phần mềm tạo tệp, một ghi chú do ai đó nhập, và trong trường hợp bản nhạc mua, có thể có địa chỉ email của tài khoản mua, tên chủ tài khoản và ngày mua. Vì vậy trước khi tự hỏi một tệp AAC tiết lộ điều gì, hãy xác định chính xác nó là gì. Báo cáo metadata sẽ cho biết bạn đang xem một luồng thô hay một container.

Khi nào nên dùng AAC

Hãy dùng AAC khi bạn cần âm thanh mất dữ liệu, nghe vẫn tốt với kích thước vừa phải và phát được trên điện thoại, trình duyệt, ô tô và tivi thông thường. So với MP3, AAC cho chất lượng cao hơn với cùng số bit và hỗ trợ nhiều kênh, nhiều mức tần số lấy mẫu hơn. So với Opus, AAC kém hiệu quả hơn ở bitrate thấp, nhưng lại thắng về mức độ hỗ trợ phần cứng. Và nếu bạn dự định gắn thẻ cho tệp, hãy lưu âm thanh AAC trong container MP4 dưới dạng .m4a thay vì giữ luồng thô, vì đó là nơi duy nhất có thể chứa thẻ.