Thôi nào, suốt vụ lùm xùm Apple/Bluetooth/lossless này, tớ thấy nhiều hiểu lầm lắm về cách nén dữ liệu hoạt động thế nào, và nó liên quan đến Bluetooth/Bluetooth LE (và âm thanh Bluetooth nói chung) ra sao. Ban đầu tớ thấy một bình luận muốn trả lời, nhưng câu trả lời dài quá, lại chỉ liên quan đến bài đăng gốc một cách gián tiếp, nên tớ quyết định viết hẳn một bài luôn.
Một trong những hiểu lầm phổ biến có thể tóm gọn lại như thế này:
Apple cứ việc hỗ trợ ALAC qua Bluetooth đi
Tương tự là:
LDAC của Sony là 990 kbps, nên phải truyền lossless ngon lành cành đào chứ.
Câu trả lời cho cả hai câu trên là “Không”, và tớ sẽ cố gắng giải quyết những hiểu lầm này, bằng một bài giải thích đơn giản dễ hiểu, và làm rõ thêm một hiểu lầm khác ở cuối bài.
Âm thanh chất lượng CD là 16 bit mỗi mẫu, 44100 mẫu mỗi giây và 2 kênh, dẫn đến tốc độ bit là 16x44100x2 = 1411200 bps = 1411.2 kbps.
Các phương pháp nén, như những phương pháp được sử dụng trong FLAC, ALAC, Zip hoặc các phương pháp khác hoạt động bằng cách loại bỏ dữ liệu dư thừa/lặp lại, và cung cấp cho bộ giải nén các hướng dẫn cụ thể về cách tái tạo dữ liệu gốc.
Ví dụ: Hãy xem xét “NANANANANANANANANANANANANA Batman”. Chưa nén, đoạn lời bài hát Batman này chiếm 33 ký tự. Thuật toán nén lossless có thể đơn giản viết nó thành “13xNA Batman”1 – giảm xuống còn 12 ký tự, trong khi vẫn giữ nguyên toàn bộ dữ liệu.
Tuy nhiên, tự nhiên, chuỗi ký tự, hoặc âm nhạc không phải lúc nào cũng lặp lại và dễ nén như vậy. “FKWi32;{.98retGFDSqj9flsd🥰🤓🤨🐶vcdq mfWEF:[;=`KI” – thực sự không có dữ liệu nào lặp lại cả, vì vậy nó không thể được nén2
Trong tự nhiên, bạn sẽ gặp hiện tượng này khi bạn chỉnh một TV hoặc radio analog đến một kênh “chết”. Tiếng nhiễu trắng đen và tiếng ồn trắng thường không có trật tự và ngẫu nhiên đến mức nó được coi là không thể nén.
Điều này cũng xảy ra trong âm nhạc – các phần của bản ghi âm ngẫu nhiên đến mức thuật toán nén bỏ cuộc. FLAC/ALAC hoặc các thuật toán tương tự chỉ đơn giản lưu trữ “FKWi32;{.98retGFDSqj9flsd🥰🤓🤨🐶vcdq mfWEF:[;=`KI” như hiện tại.
Khi thuật toán nén lossless bỏ cuộc, tốc độ bit tạm thời trong những đoạn không thể nén sẽ đơn giản là tốc độ bit đầu vào chưa nén ban đầu (1411.2 kbps đối với chất lượng CD).
Mặc dù, trong một tệp FLAC/ALAC nói chung thường thấy tốc độ bit trung bình giảm từ tốc độ bit đầu vào 1411.2 kbps xuống còn khoảng 700 kbps, sẽ có những phần thấp hơn nhiều so với trung bình, và những phần cao hơn nhiều – lên đến, và bao gồm cả 1411.2 kbps.
Tuy nhiên, điều làm cho lossless trở nên lossless, là khi giải nén, bạn luôn nhận lại được dữ liệu gốc đầy đủ, không thay đổi. Không một bit hay byte nào bị tổn hại trong quá trình này.
Tuy nhiên, âm thanh Bluetooth, bất kể codec có tốc độ tối đa thấp hơn yêu cầu của dữ liệu nhạc/âm thanh. Trong trường hợp tốt nhất, LDAC của Sony đạt tối đa 990 kbps, nhưng trên thực tế chỉ ở khoảng cách 1-2 feet, và khá không đáng tin cậy, vì vậy đối với việc sử dụng trong thế giới thực, nó sẽ giảm xuống 660 hoặc thậm chí 330 kbps.
Điều này có nghĩa là nếu âm nhạc yêu cầu, âm thanh Bluetooth, cho dù là AptX hay LDAC sẽ phải chuyển sang âm thanh lossy trong một số điều kiện:
-
Nếu băng thông của truyền tải Bluetooth bị (thêm) hạn chế do khoảng cách từ máy phát hoặc nhiễu
-
Nếu dữ liệu nhạc/âm thanh không thể nén.
Với công nghệ hiện tại, giải pháp thay thế cho việc chuyển sang lossless là thay vào đó sẽ có hiện tượng mất âm thanh hoàn toàn nếu không có đủ băng thông.
Bây giờ đến một hiểu lầm cuối cùng liên quan đến hai điều trên:
> Nhưng, Bluetooth hỗ trợ lên đến 24 Mbps, và nên phù hợp với bất kỳ luồng âm thanh nào.
Không, kết nối Bluetooth với tai nghe của bạn sẽ không hỗ trợ lên đến 24 Mbps. Điện thoại và tai nghe của bạn sử dụng Bluetooth LE, mà ngay cả khi không có chi phí giao thức về mặt lý thuyết cũng chỉ vừa đủ cho một luồng chất lượng CD thô, và trên thực tế thì không thể. Nordic Semiconductor có một số số liệu ở đây.
Chuyển sang Bluetooth thông thường không phải là một lựa chọn khả thi, bởi vì nó sẽ làm hao pin của cả điện thoại và tai nghe của bạn quá nhanh so với mức bạn cảm thấy thoải mái. Những người đã từng sử dụng trước khi Bluetooth LE tồn tại thường tắt Bluetooth hoàn toàn để cố gắng có được thời lượng pin cả ngày cho thiết bị của họ.
Bây giờ, đến một hiểu lầm cuối cùng:
Vâng, vì tốc độ bit trung bình của một thứ gì đó như ALAC là ~700 kbps, bạn không thể lưu trữ dữ liệu trước/đệm nó được sao?
Vâng, về mặt lý thuyết bạn có thể, nhưng bạn có sẵn sàng chờ đến 3 phút để một bản nhạc 3 phút bắt đầu phát không?3
Bạn có sẵn sàng bỏ lỡ âm thanh được trộn lẫn như “Rẽ trái. Không, trái kia của bạn” hoặc “Cuộc gọi đến từ “Đừng nghe máy”. Bạn có muốn nghe máy không?”?
Bạn có sẵn sàng chấp nhận mức giá tăng lên vì tai nghe giờ đây sẽ phải bao gồm cả pin nhiều hơn, bộ nhớ nhiều hơn và bộ xử lý phức tạp hơn để đệm dữ liệu và trộn âm thanh thời gian thực?
Bạn có sẵn sàng đeo Tai nghe kiểu Doctor Whokhông?
Tóm lại? Các thế hệ Bluetooth hiện tại không thể lưu trữ luồng âm thanh (thời gian thực) có thể thực sự là lossless. Điều này có thể thay đổi với một số thế hệ Bluetooth trong tương lai không? Có thể.
Một quan điểm cá nhân cuối cùng: Một số trang web tập trung vào việc thu hút lượt xem và quảng cáo với một số “nhà phân tích” cho rằng Apple có thể chuyển sang AirPlay cho một số thế hệ AirPods trong tương lai. Tớ thấy điều đó cực kỳ khó xảy ra, do bản chất không thời gian thực của AirPlay (cả 1 và 2), sự phụ thuộc vào WiFi trong thế giới thực, ảnh hưởng đến thời lượng pin ở phía thiết bị cuối/tai nghe. Chưa kể đến việc những sản phẩm như vậy sẽ không hề “thuận tiện” trong sử dụng hàng ngày. Tớ thấy Apple sẽ chỉ đơn giản chờ Bluetooth LE bắt kịp đến mức có thể cung cấp đáng tin cậy luồng 1411.2 kbps mà không ảnh hưởng đến tuổi thọ pin là hợp lý hơn.
Sửa đổi: Xem bình luận này và bài đăng này để hiểu tại sao một số nội dung của bài đăng này được đánh dấu bằng gạch ngang.
[1] Nén thực tế, đặc biệt đối với các định dạng âm thanh như FLAC/ALAC phức tạp và tinh vi hơn rất nhiều.
[2] Ở cấp độ “bit riêng lẻ” hoặc chuỗi bit, điều này có thể không đúng với chuỗi của tớ, nhưng nó chỉ đơn giản là một ví dụ về dữ liệu không thể nén.
[3] Airplay 1, ngay cả trên kết nối WiFi tốt, cũng cần khoảng 0,25-0,5 giây đệm để đảm bảo bạn không bị gián đoạn, và nhìn chung không khả thi đối với âm thanh thời gian thực, chẳng hạn như từ trò chơi. Trước đây khi Airplay mới ra mắt, và bạn sử dụng Airport Express cho việc này, độ trễ có thể lên đến 2 giây.
