Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị

Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị

Do việc sản xuất hàng loạt điện thoại thông minh không có giắc âm thanh 3.5 mm, tai nghe Bluetooth không dây đã trở thành phương tiện chính để nhiều người nghe nhạc và giao tiếp ở chế độ tai nghe.
Các nhà sản xuất thiết bị không dây không phải lúc nào cũng viết thông số kỹ thuật chi tiết của sản phẩm và các bài viết về âm thanh Bluetooth trên Internet trái ngược nhau, đôi khi không chính xác, không nói về tất cả các tính năng và thường sao chép những thông tin giống nhau không tương ứng với thực tế.
Chúng ta hãy cố gắng hiểu giao thức, khả năng của ngăn xếp hệ điều hành Bluetooth, tai nghe và loa, codec Bluetooth cho âm nhạc và giọng nói, tìm hiểu những gì ảnh hưởng đến chất lượng âm thanh và độ trễ truyền đi, tìm hiểu cách thu thập và giải mã thông tin về codec được hỗ trợ và thiết bị khác khả năng.

TL; DR:

  • SBC - codec bình thường
  • Tai nghe có bộ chỉnh âm và xử lý hậu kỳ riêng cho từng codec
  • aptX không tốt như quảng cáo
  • LDAC đang tiếp thị nhảm nhí
  • Chất lượng cuộc gọi vẫn kém
  • Bạn có thể nhúng bộ mã hóa âm thanh C vào trình duyệt của mình bằng cách biên dịch chúng vào WebAssugging thông qua emscripten và chúng sẽ không làm chậm nhiều.

Âm nhạc qua Bluetooth

Thành phần chức năng của Bluetooth được xác định bởi cấu hình - thông số kỹ thuật của các chức năng cụ thể. Truyền phát nhạc qua Bluetooth sử dụng cấu hình truyền âm thanh một chiều A2DP chất lượng cao. Tiêu chuẩn A2DP được áp dụng vào năm 2003 và không thay đổi đáng kể kể từ đó.
Trong cấu hình, 1 codec bắt buộc có độ phức tạp tính toán thấp SBC, được tạo riêng cho Bluetooth và 3 codec bổ sung được tiêu chuẩn hóa. Cũng có thể sử dụng các codec không có giấy tờ do chính bạn triển khai.

Tính đến tháng 2019 năm XNUMX, chúng tôi trong truyện tranh xkcd với 14 codec A2DP:

  • SBC ← được chuẩn hóa ở A2DP, được hỗ trợ bởi tất cả các thiết bị
  • MPEG-1/2 Layer 1/2/3 ← được tiêu chuẩn hóa trong A2DP: nổi tiếng MP3, được sử dụng trong truyền hình kỹ thuật số MP2, và chưa biết MP1
  • MPEG-2/4 AAC ← được chuẩn hóa trong A2DP
  • HẤP DẪN ← codec cũ của Sony, được chuẩn hóa ở dạng A2DP
  • LDAC ← codec mới của Sony
  • APTX ← mã hóa từ năm 1988
  • aptX-HD ← giống như aptX, chỉ có các tùy chọn mã hóa khác nhau
  • aptX Độ trễ thấp ← codec hoàn toàn khác, không cần triển khai phần mềm
  • aptX thích ứng ← một codec khác của Qualcomm
  • Luồng nhanh ← codec giả, sửa đổi SBC hai chiều
  • HWA LHDC ← codec mới của Huawei
  • Samsung HD ← được hỗ trợ bởi 2 thiết bị
  • Samsung có thể mở rộng ← được hỗ trợ bởi 2 thiết bị
  • Samsung UHQ-BT ← được hỗ trợ bởi 3 thiết bị

Bạn hỏi tại sao chúng ta lại cần codec khi Bluetooth có EDR, cho phép bạn truyền dữ liệu ở tốc độ 2 và 3 Mbit/s, còn đối với PCM 16 bit hai kênh không nén, 1.4 Mbit/s là đủ?

Truyền dữ liệu qua Bluetooth

Có hai loại truyền dữ liệu trong Bluetooth: Ít kết nối không đồng bộ (ACL) để truyền không đồng bộ mà không thiết lập kết nối và Định hướng kết nối đồng bộ (SCO), để truyền đồng bộ với đàm phán kết nối sơ bộ.
Việc truyền được thực hiện bằng cách sử dụng sơ đồ phân chia thời gian và chọn kênh truyền cho từng gói riêng biệt (Frequency-Hop/Time-Division-Duplex, FH/TDD), trong đó thời gian được chia thành các khoảng 625 micro giây được gọi là các khe. Một trong các thiết bị truyền trong các khe số chẵn, thiết bị còn lại truyền trong các khe số lẻ. Gói được truyền có thể chiếm 1, 3 hoặc 5 khe, tùy thuộc vào kích thước của dữ liệu và kiểu truyền đã thiết lập, trong trường hợp này, việc truyền bởi một thiết bị được thực hiện trong các khe chẵn và lẻ cho đến khi kết thúc quá trình truyền. Tổng cộng, có thể nhận và gửi tối đa 1600 gói mỗi giây, nếu mỗi gói chiếm 1 khe và cả hai thiết bị đều truyền và nhận thứ gì đó mà không dừng lại.

2 và 3 Mbit/s đối với EDR, có thể tìm thấy trong các thông báo và trên trang web Bluetooth, là tốc độ truyền kênh tối đa của tất cả dữ liệu trong tổng số (bao gồm các tiêu đề kỹ thuật của tất cả các giao thức trong đó dữ liệu phải được đóng gói), theo hai hướng đồng thời. Tốc độ truyền dữ liệu thực tế sẽ khác nhau rất nhiều.

Để truyền nhạc, phương pháp không đồng bộ được sử dụng, hầu như luôn sử dụng các gói như 2-DH5 và 3-DH5, mang lượng dữ liệu tối đa ở chế độ EDR lần lượt là 2 Mbit/s và 3 Mbit/s và chiếm 5 thời gian. -chia sẻ khe cắm.

Sơ đồ biểu diễn truyền dẫn sử dụng 5 khe cho một thiết bị và 1 khe cho thiết bị khác (DH5/DH1):
Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị

Do nguyên tắc phân chia thời gian của sóng vô tuyến, chúng ta buộc phải đợi một khoảng thời gian 625 micro giây sau khi truyền một gói nếu thiết bị thứ hai không truyền bất cứ thứ gì cho chúng ta hoặc truyền một gói nhỏ và nhiều thời gian hơn nếu thiết bị thứ hai truyền trong các gói lớn. Nếu có nhiều thiết bị được kết nối với điện thoại (ví dụ: tai nghe, đồng hồ và vòng đeo tay thể dục) thì thời gian truyền sẽ được chia sẻ giữa tất cả các thiết bị đó.

Nhu cầu đóng gói âm thanh trong các giao thức truyền tải đặc biệt L2CAP và AVDTP chiếm 16 byte từ lượng tải trọng âm thanh được truyền tối đa có thể.

Loại gói
Số lượng khe cắm
Tối đa. số byte trong gói
Tối đa. số byte tải trọng A2DP
Tối đa. Tốc độ bit tải trọng A2DP

2-ĐH3
3
367
351
936 kbps

3-ĐH3
3
552
536
1429 kbps

2-ĐH5
5
679
663
1414 kbps

3-ĐH5
5
1021
1005
2143 kbps

1414 và 1429 kbps chắc chắn là không đủ để truyền âm thanh không nén trong điều kiện thực tế, với dải tần 2.4 GHz ồn ào và nhu cầu truyền dữ liệu dịch vụ. EDR 3 Mbit/s đòi hỏi công suất truyền và tiếng ồn trên không trung, do đó, ngay cả ở chế độ 3-DH5, việc truyền PCM thoải mái là không thể, sẽ luôn có những gián đoạn ngắn hạn và mọi thứ sẽ chỉ hoạt động ở khoảng cách một vài mét.
Trong thực tế, ngay cả luồng âm thanh 990 kbit/s (LDAC 990 kbit/s) cũng khó truyền tải.

Hãy quay trở lại codec.

SBC

Codec cần thiết cho tất cả các thiết bị hỗ trợ chuẩn A2DP. Codec tốt nhất và tệ nhất cùng một lúc.

Tần số lấy mẫu
Độ sâu bit
Tốc độ bit
Hỗ trợ mã hóa
Hỗ trợ giải mã

16, 32, 44.1, 48 kHz
16 bit
10-1500 kb/giây
Tất cả các thiết bị
Tất cả các thiết bị

SBC là một codec đơn giản và có tốc độ tính toán nhanh, với mô hình âm thanh tâm lý nguyên thủy (chỉ áp dụng việc che giấu các âm thanh yên tĩnh), sử dụng điều chế mã xung thích ứng (APCM).
Thông số kỹ thuật A2DP khuyến nghị sử dụng hai cấu hình: Chất lượng trung bình và Chất lượng cao.
Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị

Bộ giải mã có nhiều cài đặt cho phép bạn kiểm soát độ trễ thuật toán, số lượng mẫu trong một khối, thuật toán phân phối bit, nhưng hầu hết mọi nơi đều sử dụng cùng các tham số được đề xuất trong thông số kỹ thuật: Âm thanh nổi chung, 8 dải tần, 16 khối trong một khung âm thanh, phương pháp phân phối bit Độ ồn.
SBC hỗ trợ thay đổi động tham số Bitpool, ảnh hưởng trực tiếp đến tốc độ bit. Nếu sóng bị tắc, mất gói hoặc thiết bị được đặt ở khoảng cách xa, nguồn âm thanh có thể giảm Bitpool cho đến khi liên lạc trở lại bình thường.

Hầu hết các nhà sản xuất tai nghe đều đặt giá trị Bitpool tối đa là 53, giới hạn tốc độ bit ở mức 328 kilobit mỗi giây khi sử dụng cấu hình được đề xuất.
Ngay cả khi nhà sản xuất tai nghe đã đặt giá trị Bitpool tối đa trên 53 (ví dụ: có những mẫu như vậy: Beats Solo³, JBL Everest Elite 750NC, Apple AirPods, cũng được tìm thấy trên một số máy thu và đầu ô tô), thì hầu hết hệ điều hành sẽ không cho phép việc sử dụng tốc độ bit tăng do giới hạn giá trị nội bộ được đặt trong ngăn xếp Bluetooth.
Ngoài ra, một số nhà sản xuất đặt giá trị Bitpool tối đa ở mức thấp đối với một số thiết bị. Ví dụ: đối với Bluedio T là 39, đối với Samsung Gear IconX là 37, cho chất lượng âm thanh kém.

Các hạn chế nhân tạo đối với các nhà phát triển ngăn xếp Bluetooth rất có thể đã phát sinh do tính không tương thích của một số thiết bị có giá trị Bitpool lớn hoặc cấu hình không điển hình, ngay cả khi họ đã báo cáo hỗ trợ cho chúng và không đủ thử nghiệm trong quá trình chứng nhận. Các tác giả của ngăn xếp Bluetooth dễ dàng hạn chế việc đồng ý với cấu hình được đề xuất thay vì tạo cơ sở dữ liệu về các thiết bị không chính xác (mặc dù hiện tại họ làm điều này đối với các chức năng hoạt động không chính xác khác).

SBC phân bổ động các bit lượng tử hóa cho các dải tần số trên cơ sở từ thấp đến cao, với các trọng số khác nhau. Nếu tất cả tốc độ bit được sử dụng cho tần số thấp và trung bình thì tần số cao sẽ bị “cắt” (thay vào đó sẽ có khoảng im lặng).

Ví dụ SBC 328 kbps. Trên cùng là bản gốc, dưới cùng là SBC, định kỳ chuyển đổi giữa các bản nhạc. Âm thanh trong tệp video sử dụng codec nén không mất dữ liệu FLAC. Việc sử dụng FLAC trong vùng chứa mp4 không được chuẩn hóa chính thức, do đó, không đảm bảo rằng trình duyệt của bạn sẽ phát FLAC nhưng nó sẽ hoạt động trong các phiên bản Chrome và Firefox mới nhất dành cho máy tính để bàn. Nếu không có âm thanh, bạn có thể tải tệp xuống và mở tệp đó trong trình phát video chính thức.
ZZ Top - Người Đàn Ông Ăn Mặc Sắc Nét

Biểu đồ phổ hiển thị thời điểm chuyển đổi: SBC định kỳ cắt các âm thanh yên tĩnh trên 17.5 kHz và không phân bổ bất kỳ bit nào cho băng tần trên 20 kHz. Toàn bộ biểu đồ phổ có sẵn bằng cách nhấp vào (1.7 MB).
Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị

Tôi không nghe thấy bất kỳ sự khác biệt nào giữa bản gốc và SBC trên bản nhạc này.

Hãy sử dụng thứ gì đó mới hơn và mô phỏng âm thanh sẽ thu được bằng tai nghe Samsung Gear IconX với Bitpool 37 (ở trên - tín hiệu gốc, bên dưới - SBC 239 kbps, âm thanh ở định dạng FLAC).
Sự buông thả bản thân vô tâm - Nhân chứng

Tôi nghe thấy tiếng tanh tách, ít hiệu ứng âm thanh nổi hơn và âm thanh "cạch cạch" khó chịu ở tần số cao của giọng hát.

Mặc dù SBC là một codec rất linh hoạt nhưng nó có thể được cấu hình để có độ trễ thấp, cung cấp chất lượng âm thanh tuyệt vời ở tốc độ bit cao (452+ kbps) và khá tốt cho hầu hết mọi người ở Chất lượng cao tiêu chuẩn (328 kbps), do thực tế là tiêu chuẩn A2DP không chỉ định cấu hình cố định (mà chỉ đưa ra khuyến nghị), các nhà phát triển ngăn xếp đã đặt ra các hạn chế nhân tạo trên Bitpool, các thông số của âm thanh truyền đi không được hiển thị trong giao diện người dùng và các nhà sản xuất tai nghe có thể tự do đặt cài đặt của riêng họ và không bao giờ chỉ ra giá trị Bitpool trong thông số kỹ thuật của sản phẩm, codec đã trở nên nổi tiếng vì chất lượng âm thanh thấp, mặc dù đây không phải là vấn đề với codec.
Tham số Bitpool chỉ ảnh hưởng trực tiếp đến tốc độ bit trong một cấu hình. Giá trị Bitpool 53 tương tự có thể cung cấp cả tốc độ bit 328 kbps với cấu hình Chất lượng cao được đề xuất và 1212 kbps với Kênh đôi và 4 dải tần, đó là lý do tại sao các tác giả hệ điều hành, ngoài các hạn chế đối với Bitpool, còn đặt giới hạn và bật Tốc độ bit. Theo tôi thấy, tình huống này phát sinh do một lỗ hổng trong tiêu chuẩn A2DP: cần phải thương lượng tốc độ bit chứ không phải Bitpool.

Bảng hỗ trợ các khả năng của SBC trong các hệ điều hành khác nhau:

ОС
Tốc độ lấy mẫu được hỗ trợ
Giới hạn tối đa Bitpool
Giới hạn tối đa Tốc độ bit
Tốc độ bit điển hình
Điều chỉnh động Bitpool

cửa sổ 10
44.1
53
512 kbps
328 kbps
✓ *

Linux (BlueZ + PulseAudio)
16, 32, 44.1, 48 kHz
64 (đối với kết nối vào), 53 (đối với kết nối đi)
Không giới hạn
328 kbps
✓ *

MacOS High Sierra
44.1
64, mặc định 53***
Chưa biết
328 kbps

Android 4.4-9
44.1/48 kHz**
53
328 kbps
328 kbps

Android 4.1-4.3.1
44.1, 48 kHz**
53
229 kbps
229 kbps

Hệ điều hành Blackberry 10
48
53
Không giới hạn
328 kbps

* Bitpool chỉ giảm chứ không tự động tăng nếu điều kiện chuyển tiền được cải thiện. Để khôi phục Bitpool, bạn cần dừng phát lại, đợi vài giây và bắt đầu lại âm thanh.
** Giá trị mặc định phụ thuộc vào cài đặt ngăn xếp được chỉ định khi biên dịch chương trình cơ sở. Trong Android 8/8.1, tần số chỉ là 44.1 kHz hoặc 48 kHz, tùy thuộc vào cài đặt trong quá trình biên dịch, trong các phiên bản khác, 44.1 kHz và 48 kHz được hỗ trợ đồng thời.
*** Giá trị Bitpool có thể được tăng lên trong chương trình Bluetooth Explorer.

aptX và aptX HD

aptX là một codec đơn giản và tính toán nhanh, không có âm thanh tâm lý, sử dụng điều chế mã xung vi sai thích ứng (ADPCM). Xuất hiện vào khoảng năm 1988 (ngày nộp đơn bằng sáng chế vào tháng 1988 năm 2014), trước Bluetooth, nó được sử dụng chủ yếu trong các thiết bị âm thanh không dây chuyên nghiệp. Hiện thuộc sở hữu của Qualcomm, yêu cầu cấp phép và tiền bản quyền. Tính đến năm 6000: 1 USD một lần và ≈$10000 mỗi thiết bị cho lô lên tới XNUMX thiết bị (nguồn, trang 16).
aptX và aptX HD là cùng một codec, có cấu hình mã hóa khác nhau.

Codec chỉ có một tham số - chọn tần số lấy mẫu. Tuy nhiên, có sự lựa chọn về số lượng/chế độ kênh, nhưng trong tất cả các thiết bị mà tôi biết (hơn 70 thiết bị) chỉ hỗ trợ Âm thanh nổi.

codec
Tần số lấy mẫu
Độ sâu bit
Tốc độ bit
Hỗ trợ mã hóa
Hỗ trợ giải mã

APTX
16, 32, 44.1, 48 kHz
16 bit
128/256/352/384 kbps (tùy thuộc vào tốc độ lấy mẫu)
Windows 10 (máy tính để bàn và thiết bị di động), macOS, Android 4.4+/7*, Blackberry OS 10
Nhiều loại thiết bị âm thanh (phần cứng)

* Các phiên bản lên tới 7 yêu cầu sửa đổi ngăn xếp Bluetooth. Codec chỉ được hỗ trợ nếu nhà sản xuất thiết bị Android đã cấp phép codec từ Qualcomm (nếu HĐH có thư viện mã hóa).

aptX chia âm thanh thành 4 dải tần số và lượng tử hóa chúng với cùng số bit liên tục: 8 bit cho 0-5.5 kHz, 4 bit cho 5.5-11 kHz, 2 bit cho 11-16.5 kHz, 2 bit cho 16.5-22 kHz ( số liệu về tốc độ lấy mẫu 44.1 kHz).

Ví dụ về âm thanh aptX (ở trên cùng - tín hiệu gốc, ở dưới cùng - aptX, biểu đồ phổ của chỉ các kênh bên trái, âm thanh trong FLAC):

Các âm cao trở nên đỏ hơn một chút nhưng bạn không thể nghe thấy sự khác biệt.

Do sự phân bố cố định của các bit lượng tử hóa, codec không thể “chuyển các bit” sang tần số cần chúng nhất. Không giống như SBC, aptX sẽ không “cắt” tần số mà sẽ thêm nhiễu lượng tử hóa vào chúng, làm giảm dải động của âm thanh.

Không nên giả định rằng việc sử dụng, ví dụ, 2 bit trên mỗi băng tần sẽ làm giảm dải động xuống 12 dB: ADPCM cho phép dải động lên tới 96 dB ngay cả khi sử dụng 2 bit lượng tử hóa, nhưng chỉ đối với một tín hiệu nhất định.
ADPCM lưu trữ chênh lệch số giữa mẫu hiện tại và mẫu tiếp theo, thay vì lưu giá trị tuyệt đối như trong PCM. Điều này cho phép bạn giảm yêu cầu về số lượng bit cần thiết để lưu trữ thông tin giống nhau (không bị mất) hoặc gần như giống nhau (với lỗi làm tròn tương đối nhỏ). Để giảm sai số làm tròn, bảng hệ số được sử dụng.
Khi tạo codec, các tác giả đã tính toán hệ số ADPCM trên một tập file âm thanh nhạc. Tín hiệu âm thanh càng gần với tập nhạc mà các bảng được tạo trên đó thì aptX tạo ra càng ít lỗi lượng tử hóa (nhiễu).

Chính vì điều này mà các bài kiểm tra tổng hợp sẽ luôn cho kết quả tệ hơn âm nhạc. Tôi đã tạo một ví dụ tổng hợp đặc biệt trong đó aptX cho kết quả kém - sóng hình sin có tần số 12.4 kHz (ở trên - tín hiệu gốc, bên dưới - aptX. Âm thanh trong FLAC. Giảm âm lượng!):

Đồ thị phổ:
Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị

Tiếng ồn có thể nghe thấy rõ ràng.

Tuy nhiên, nếu bạn tạo ra một sóng hình sin có biên độ nhỏ hơn để êm hơn thì tiếng ồn cũng sẽ nhỏ hơn, biểu thị dải động rộng:

Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị

Để nghe sự khác biệt giữa bản nhạc gốc và bản nhạc nén, bạn có thể đảo ngược một trong các tín hiệu và thêm kênh bản nhạc theo kênh. Nhìn chung, cách tiếp cận này không chính xác và sẽ không mang lại kết quả đúng đắn với các codec phức tạp hơn, nhưng đặc biệt đối với ADPCM thì nó khá phù hợp.
Sự khác biệt giữa bản gốc và aptX
Chênh lệch bình phương trung bình gốc của các tín hiệu là ở mức -37.4 dB, con số này không nhiều đối với nhạc nén như vậy.

aptX-HD

aptX HD không phải là một codec độc lập - nó là cấu hình mã hóa cải tiến của codec aptX. Những thay đổi ảnh hưởng đến số bit được phân bổ cho dải tần số mã hóa: 10 bit cho 0-5.5 kHz, 6 bit cho 5.5-11 kHz, 4 bit cho 11-16.5 kHz, 4 bit cho 16.5-22 kHz (chữ số cho 44.1 kHz) .

codec
Tần số lấy mẫu
Độ sâu bit
Tốc độ bit
Hỗ trợ mã hóa
Hỗ trợ giải mã

aptX-HD
16, 32, 44.1, 48 kHz
24 bit
192/384/529/576 kbps (tùy thuộc vào tốc độ lấy mẫu)
Android 8 + *
Một số thiết bị âm thanh (phần cứng)

* Các phiên bản lên tới 7 yêu cầu sửa đổi ngăn xếp Bluetooth. Codec chỉ được hỗ trợ nếu nhà sản xuất thiết bị Android đã cấp phép codec từ Qualcomm (nếu HĐH có thư viện mã hóa).

Ít phổ biến hơn aptX: dường như yêu cầu cấp phép riêng từ Qualcomm và phí cấp phép riêng.

Hãy lặp lại ví dụ với sóng hình sin ở tần số 12.4 kHz:
Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị

Tốt hơn nhiều so với aptX nhưng vẫn hơi ồn.

aptX Độ trễ thấp

Một codec của Qualcomm không có điểm chung nào với aptX và aptX HD tiêu chuẩn, được đánh giá dựa trên thông tin hạn chế từ những người tham gia vào quá trình phát triển nó. Được thiết kế để truyền âm thanh tương tác có độ trễ thấp (phim, trò chơi), trong đó phần mềm không thể điều chỉnh độ trễ âm thanh. Không có phần mềm triển khai bộ mã hóa và giải mã nào được biết đến; chúng chỉ được hỗ trợ bởi các bộ phát, bộ thu, tai nghe và loa chứ không phải bởi điện thoại thông minh và máy tính.

Tần số lấy mẫu
Tốc độ bit
Hỗ trợ mã hóa
Hỗ trợ giải mã

44.1
276/420 kbps
Một số máy phát (phần cứng)
Một số thiết bị âm thanh (phần cứng)

AAC

AAC, hay Mã hóa âm thanh nâng cao, là một codec phức tạp về mặt tính toán với mô hình âm thanh tâm lý nghiêm túc. Được sử dụng rộng rãi cho âm thanh trên Internet, phổ biến thứ hai sau MP3. Yêu cầu cấp phép và tiền bản quyền: 15000 USD một lần (hoặc 1000 USD cho các công ty có dưới 15 nhân viên) + 0.98 USD cho 500000 thiết bị đầu tiên (nguồn).
Codec được tiêu chuẩn hóa theo thông số kỹ thuật MPEG-2 và MPEG-4, và trái với quan niệm sai lầm phổ biến, nó không thuộc về Apple.

Tần số lấy mẫu
Tốc độ bit
Hỗ trợ mã hóa
Hỗ trợ giải mã

8 - 96 kHz
8 - 576 kbps (đối với âm thanh nổi), 256 - 320 kbps (điển hình cho Bluetooth)
macOS, Android 7+*, iOS
Nhiều loại thiết bị âm thanh (phần cứng)

* chỉ trên các thiết bị mà nhà sản xuất đã trả phí cấp phép

iOS và macOS sử dụng bộ mã hóa AAC tốt nhất hiện nay của Apple để mang lại chất lượng âm thanh cao nhất có thể. Android sử dụng bộ mã hóa Fraunhofer FDK AAC chất lượng cao thứ hai nhưng có thể sử dụng nhiều phần cứng khác nhau được tích hợp trong nền tảng (SoC) với chất lượng mã hóa không xác định. Theo các thử nghiệm gần đây trên trang web SoundGuys, chất lượng mã hóa AAC của các điện thoại Android khác nhau rất khác nhau:
Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị

Hầu hết các thiết bị âm thanh không dây đều có tốc độ bit tối đa là 320 kbps cho AAC, một số chỉ hỗ trợ 256 kbps. Các bitrate khác là cực kỳ hiếm.
AAC cung cấp chất lượng tuyệt vời ở tốc độ bit 320 và 256 kbps, nhưng phải tuân theo mất mã hóa tuần tự của nội dung đã được néntuy nhiên, rất khó để nhận thấy bất kỳ sự khác biệt nào với bản gốc trên iOS ở tốc độ bit 256 kbps ngay cả với một số mã hóa tuần tự; với mã hóa đơn, chẳng hạn như MP3 320 kbps đến AAC 256 kbps, tổn thất có thể bị bỏ qua.
Giống như các codec Bluetooth khác, mọi bản nhạc trước tiên đều được giải mã và sau đó được mã hóa bằng codec. Khi nghe nhạc ở định dạng AAC, đầu tiên nó được HĐH giải mã, sau đó lại mã hóa thành AAC để truyền qua Bluetooth. Điều này là cần thiết để trộn nhiều luồng âm thanh, chẳng hạn như âm nhạc và thông báo tin nhắn mới. iOS cũng không ngoại lệ. Trên Internet, bạn có thể tìm thấy nhiều tuyên bố rằng nhạc trên iOS ở định dạng AAC không được chuyển mã khi truyền qua Bluetooth, điều này không đúng.

MP1/2/3

Các codec thuộc họ MPEG-1/2 Phần 3 bao gồm MP3 nổi tiếng và được sử dụng rộng rãi, MP2 ít phổ biến hơn (được sử dụng chủ yếu trong truyền hình kỹ thuật số và đài phát thanh) và MP1 hoàn toàn không được biết đến.

Các codec MP1 và MP2 cũ hoàn toàn không được hỗ trợ: Tôi không thể tìm thấy bất kỳ tai nghe hoặc ngăn xếp Bluetooth nào có thể mã hóa hoặc giải mã chúng.
Giải mã MP3 được một số tai nghe hỗ trợ nhưng mã hóa không được hỗ trợ trên bất kỳ hệ điều hành hiện đại nào. Có vẻ như ngăn xếp BlueSoleil dành cho Windows của bên thứ ba có thể mã hóa thành MP3 nếu bạn thay đổi tệp cấu hình theo cách thủ công, nhưng đối với tôi, việc cài đặt nó sẽ dẫn đến BSoD trên Windows 10. Kết luận - codec thực sự không thể được sử dụng cho âm thanh Bluetooth.
Trước đây, vào năm 2006-2008, trước khi chuẩn A2DP phổ biến trên các thiết bị, người ta nghe nhạc MP3 trên tai nghe Nokia BH-501 thông qua chương trình MSI BluePlayer, vốn có trên Symbian và Windows Mobile. Vào thời điểm đó, kiến ​​trúc hệ điều hành của điện thoại thông minh cho phép truy cập vào nhiều chức năng cấp thấp và trên Windows Mobile thậm chí còn có thể cài đặt ngăn xếp Bluetooth của bên thứ ba.

Bằng sáng chế cuối cùng của codec MP3 đã hết hạn, việc sử dụng codec không yêu cầu phí cấp phép kể từ ngày 23 tháng 2017 năm XNUMX.

Nếu bằng sáng chế có hiệu lực lâu nhất được đề cập trong các tài liệu tham khảo nói trên được lấy làm thước đo thì công nghệ MP3 đã trở thành không có bằng sáng chế ở Hoa Kỳ vào ngày 16 tháng 2017 năm 6,009,399 khi Bằng sáng chế Hoa Kỳ XNUMX do Technicolor nắm giữ và quản lý đã hết hạn.

Nguồn: www.iis.fraunhofer.de/en/ff/amm/prod/audiocodec/audiocodecs/mp3.html

Tần số lấy mẫu
Tốc độ bit
Hỗ trợ mã hóa
Hỗ trợ giải mã

16 - 48 kHz
8 - 320 kbps
Không được hỗ trợ ở bất cứ đâu
Một số thiết bị âm thanh (phần cứng)

LDAC

Bộ giải mã “Hi-Res” mới và được quảng bá tích cực từ Sony, hỗ trợ tốc độ lấy mẫu lên tới 96 kHz và tốc độ bit 24 bit, với tốc độ bit lên tới 990 kbps. Nó được quảng cáo là codec audiophile, thay thế cho codec Bluetooth hiện có. Nó có chức năng điều chỉnh tốc độ bit thích ứng, tùy thuộc vào điều kiện phát sóng radio.

Bộ mã hóa LDAC (libldac) được bao gồm trong gói Android tiêu chuẩn, do đó mã hóa được hỗ trợ trên mọi điện thoại thông minh Android bắt đầu với phiên bản HĐH 8. Không có phần mềm giải mã nào được cung cấp miễn phí, thông số kỹ thuật của codec không được phổ biến rộng rãi, tuy nhiên, thoạt nhìn vào bộ mã hóa, cấu trúc bên trong của codec tương tự như ATRAC9 - Codec của Sony dùng trên PlayStation 4 và Vita: đều hoạt động trong miền tần số, sử dụng phép biến đổi cosin rời rạc (MDCT) đã được sửa đổi và nén bằng thuật toán Huffman.

Hỗ trợ LDAC hầu như chỉ được cung cấp bởi tai nghe của Sony. Khả năng giải mã LDAC đôi khi được tìm thấy trên tai nghe và DAC của các nhà sản xuất khác, nhưng rất hiếm.

Tần số lấy mẫu
Tốc độ bit
Hỗ trợ mã hóa
Hỗ trợ giải mã

44.1 - 96 kHz
303/606/909 kbit/s (đối với 44.1 và 88.2 kHz), 330/660/990 kbit/s (đối với 48 và 96 kHz)
Android 8 +
Một số tai nghe Sony và một số thiết bị của nhà sản xuất khác (phần cứng)

Tiếp thị LDAC dưới dạng codec Hi-Res gây hại cho thành phần kỹ thuật của nó: thật ngu ngốc khi dành tốc độ bit để truyền các tần số mà tai người không nghe được và tăng độ sâu bit, trong khi không đủ để truyền chất lượng CD (44.1/16) mà không bị mất . May mắn thay, codec có hai chế độ hoạt động: truyền âm thanh CD và truyền âm thanh Hi-Res. Trong trường hợp đầu tiên, chỉ có 44.1 kHz/16 bit được truyền qua không khí.

Vì bộ giải mã LDAC phần mềm không có sẵn miễn phí nên không thể kiểm tra codec nếu không có thiết bị bổ sung giải mã LDAC. Theo kết quả kiểm tra LDAC trên một DAC có hỗ trợ, các kỹ sư của SoundGuys.com đã kết nối thông qua đầu ra kỹ thuật số và ghi lại âm thanh đầu ra trên tín hiệu kiểm tra, LDAC 660 và 990 kbps ở chế độ chất lượng CD cung cấp tín hiệu-to- tỷ lệ tiếng ồn tốt hơn một chút so với aptX HD.

Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị
Nguồn: www.soundguys.com/ldac-ultimate-bluetooth-guide-20026

LDAC cũng hỗ trợ tốc độ bit động bên ngoài các cấu hình đã thiết lập - từ 138 kbps đến 990 kbps, nhưng theo như tôi có thể nói, Android chỉ sử dụng các cấu hình được tiêu chuẩn hóa 303/606/909 và 330/660/990 kbps.

Các codec khác

Các codec A2DP khác không được sử dụng rộng rãi. Sự hỗ trợ của họ gần như hoàn toàn không có hoặc chỉ có trên một số mẫu tai nghe và điện thoại thông minh nhất định.
Codec ATRAC được chuẩn hóa trong A2DP chưa bao giờ được sử dụng làm codec Bluetooth ngay cả bởi chính Sony, codec Samsung HD, Samsung Scalable và Samsung UHQ-BT có sự hỗ trợ rất hạn chế từ các thiết bị truyền và nhận, còn HWA LHDC thì quá mới và chỉ hỗ trợ ba. (?) thiết bị.

Hỗ trợ codec cho thiết bị âm thanh

Không phải tất cả các nhà sản xuất đều công bố thông tin chính xác về codec được hỗ trợ bởi một số tai nghe, loa, bộ thu hoặc bộ phát không dây nhất định. Đôi khi xảy ra trường hợp hỗ trợ cho một codec nhất định chỉ dành cho truyền chứ không dành cho thu (có liên quan đến bộ phát-thu kết hợp), mặc dù nhà sản xuất chỉ tuyên bố “hỗ trợ”, không có ghi chú (tôi cho rằng việc cấp phép riêng cho bộ mã hóa và bộ giải mã của một số codec là nguyên nhân cho việc này). Trong các thiết bị rẻ nhất, bạn có thể không tìm thấy hỗ trợ aptX nào được khai báo.

Thật không may, giao diện của hầu hết các hệ điều hành không hiển thị codec được sử dụng ở bất kỳ đâu. Thông tin về điều này chỉ có trên Android, bắt đầu từ phiên bản 8 và macOS. Tuy nhiên, ngay cả trong những hệ điều hành này, chỉ những codec được cả điện thoại/máy tính và tai nghe hỗ trợ mới được hiển thị.

Làm cách nào bạn có thể biết thiết bị của mình hỗ trợ codec nào? Ghi lại và phân tích kết xuất lưu lượng truy cập với các tham số đàm phán A2DP!
Điều này có thể được thực hiện trên Linux, macOS và Android. Trên Linux, bạn có thể sử dụng Wireshark hoặc hcidump, trên macOS, bạn có thể sử dụng Bluetooth Explorer và trên Android, bạn có thể sử dụng chức năng lưu kết xuất Bluetooth HCI tiêu chuẩn, có sẵn trong các công cụ dành cho nhà phát triển. Bạn sẽ nhận được một kết xuất ở định dạng btsnoop, có thể được tải vào bộ phân tích Wireshark.
Chú ý: chỉ có thể có được kết xuất chính xác bằng cách kết nối từ điện thoại/máy tính của bạn với tai nghe/loa (bất kể nó nghe có vẻ buồn cười đến mức nào)! Tai nghe có thể thiết lập kết nối với điện thoại một cách độc lập, trong trường hợp đó, chúng sẽ yêu cầu danh sách codec từ điện thoại chứ không phải ngược lại. Để đảm bảo ghi kết xuất chính xác, trước tiên hãy hủy ghép nối thiết bị, sau đó ghép nối điện thoại của bạn với tai nghe trong khi ghi kết xuất.

Sử dụng bộ lọc hiển thị sau để lọc lưu lượng truy cập không liên quan:

btavdtp.signal_id

Kết quả là bạn sẽ thấy một cái gì đó tương tự như thế này:
Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị

Bạn có thể nhấp vào từng mục trong lệnh GetCapabilities để xem các đặc điểm chi tiết của codec.
Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị

Wireshark không biết tất cả các mã định danh codec nên một số codec sẽ phải giải mã thủ công, nhìn vào bảng định danh bên dưới:

Mandatory:
0x00 - SBC

Optional:
0x01 - MPEG-1,2 (aka MP3)
0x02 - MPEG-2,4 (aka AAC)
0x04 - ATRAC

Vendor specific:
0xFF 0x004F 0x01   - aptX
0xFF 0x00D7 0x24   - aptX HD
0xFF 0x000A 0x02   - aptX Low Latency
0xFF 0x00D7 0x02   - aptX Low Latency
0xFF 0x000A 0x01   - FastStream
0xFF 0x012D 0xAA   - LDAC
0xFF 0x0075 0x0102 - Samsung HD
0xFF 0x0075 0x0103 - Samsung Scalable Codec
0xFF 0x053A 0x484C - Savitech LHDC

0xFF 0x000A 0x0104 - The CSR True Wireless Stereo v3 Codec ID for AAC
0xFF 0x000A 0x0105 - The CSR True Wireless Stereo v3 Codec ID for MP3
0xFF 0x000A 0x0106 - The CSR True Wireless Stereo v3 Codec ID for aptX

Để không phải phân tích bãi thải theo cách thủ công, tôi đã tạo một dịch vụ sẽ tự động phân tích mọi thứ: btcodecs.valdikss.org.ru

So sánh các codec Codec nào tốt hơn?

Mỗi codec đều có ưu điểm và nhược điểm riêng.
aptX và aptX HD sử dụng cấu hình mã hóa cứng không thể thay đổi nếu không sửa đổi bộ mã hóa và giải mã. Cả nhà sản xuất điện thoại và nhà sản xuất tai nghe đều không thể thay đổi hệ số mã hóa bitrate hoặc aptX. Chủ sở hữu codec, Qualcomm, cung cấp bộ mã hóa tham chiếu dưới dạng thư viện. Những sự thật này là điểm mạnh của aptX - bạn biết trước chất lượng âm thanh bạn sẽ nhận được mà không cần bất kỳ “nhưng” nào.

Ngược lại, SBC có nhiều tham số có thể định cấu hình, tốc độ bit động (bộ mã hóa có thể giảm tham số bitpool nếu sóng bận) và không có cấu hình được mã hóa cứng, chỉ có “chất lượng trung bình” và “chất lượng cao” được đề xuất. được thêm vào đặc tả A2DP vào năm 2003. “Chất lượng cao” không còn cao theo tiêu chuẩn hiện đại và hầu hết các ngăn xếp Bluetooth không cho phép bạn sử dụng các thông số tốt hơn trong cấu hình “chất lượng cao”, mặc dù không có hạn chế kỹ thuật nào đối với điều này.
Bluetooth SIG không có bộ mã hóa SBC tham chiếu làm thư viện và các nhà sản xuất tự triển khai nó.
Đây là những điểm yếu của SBC - không bao giờ biết trước chất lượng âm thanh sẽ như thế nào từ một thiết bị cụ thể. SBC có thể tạo ra cả âm thanh chất lượng thấp và rất cao, nhưng không thể đạt được âm thanh sau nếu không vô hiệu hóa hoặc bỏ qua các giới hạn nhân tạo của ngăn xếp Bluetooth.

Tình huống với AAC rất mơ hồ: một mặt, về mặt lý thuyết, codec sẽ tạo ra chất lượng không thể phân biệt được với bản gốc, nhưng trên thực tế, đánh giá qua các thử nghiệm của phòng thí nghiệm SoundGuys trên các thiết bị Android khác nhau, điều này không được xác nhận. Rất có thể, lỗi nằm ở bộ mã hóa âm thanh phần cứng chất lượng thấp được tích hợp trong nhiều chipset điện thoại khác nhau. Sẽ hợp lý hơn khi chỉ sử dụng AAC trên các thiết bị Apple và trên Android để giới hạn ở aptX và LDAC.

Phần cứng hỗ trợ các codec thay thế có xu hướng có chất lượng cao hơn, đơn giản vì đối với các thiết bị rất rẻ, chất lượng thấp, việc trả phí cấp phép để sử dụng các codec đó là vô nghĩa. Trong các thử nghiệm của tôi, SBC cho âm thanh rất tốt trên thiết bị chất lượng.

Tôi đã tạo một dịch vụ web mã hóa âm thanh thành SBC, aptX và aptX HD theo thời gian thực, ngay trong trình duyệt. Với nó, bạn có thể kiểm tra các codec âm thanh này mà không thực sự truyền âm thanh qua Bluetooth, trên bất kỳ tai nghe, loa có dây nào và bản nhạc yêu thích của bạn, đồng thời cũng có thể thay đổi trực tiếp các thông số mã hóa trong khi phát âm thanh:
btcodecs.valdikss.org.ru/sbc-encoding
Dịch vụ này sử dụng thư viện mã hóa SBC từ dự án BlueZ và libopenaptx từ ffmpeg, được biên dịch thành WebAssugging và JavaScript từ C, thông qua emscripten, để chạy trong trình duyệt. Ai có thể mơ về một tương lai như vậy!

Đây là cách có vẻ:

Lưu ý mức độ nhiễu thay đổi như thế nào sau 20 kHz đối với các codec khác nhau. Tệp MP3 gốc không chứa tần số trên 20 kHz.

Hãy thử chuyển đổi codec và xem liệu bạn có nghe thấy sự khác biệt giữa bản gốc, SBC 53 Joint Stereo (cấu hình tiêu chuẩn và phổ biến nhất) và aptX/aptX HD hay không.

Tôi có thể nghe thấy sự khác biệt giữa các codec trong tai nghe!

Những người không nghe thấy sự khác biệt giữa các codec trong quá trình thử nghiệm qua dịch vụ web khẳng định rằng họ nghe thấy sự khác biệt khi nghe nhạc trên tai nghe không dây. Than ôi, đây không phải là một trò đùa hay hiệu ứng giả dược: sự khác biệt thực sự có thể nghe được, nhưng nó không phải do sự khác biệt gây ra codec.

Phần lớn chipset âm thanh Bluetooth được sử dụng trong các thiết bị thu không dây đều được trang bị Bộ xử lý tín hiệu số (DSP), bộ xử lý này thực hiện bộ chỉnh âm, bộ nén, bộ mở rộng âm thanh nổi và những thứ khác được thiết kế để cải thiện (hoặc thay đổi) âm thanh. Các nhà sản xuất thiết bị Bluetooth có thể cấu hình DSP cho từng codec riêng biệtvà khi chuyển đổi giữa các codec, người nghe sẽ nghĩ rằng họ đang nghe thấy sự khác biệt trong hoạt động của các codec, trong khi thực tế là họ đang nghe các cài đặt DSP khác nhau.

Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị
Quy trình xử lý âm thanh DSP Kalimba trong chip do CSR/Qualcomm sản xuất

Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị
Kích hoạt các chức năng DSP khác nhau cho từng codec và đầu ra riêng biệt

Một số thiết bị cao cấp đi kèm với phần mềm cho phép bạn tùy chỉnh cài đặt DSP, nhưng hầu hết các tai nghe rẻ hơn thì không có phần mềm này và người dùng không thể tắt xử lý hậu kỳ âm thanh theo cách thủ công.

Tính năng chức năng của thiết bị

Phiên bản hiện đại của tiêu chuẩn A2DP có Chức năng “điều khiển âm lượng tuyệt đối” — điều khiển âm lượng của thiết bị bằng cách sử dụng các lệnh đặc biệt của giao thức AVRCP, điều chỉnh mức tăng của giai đoạn đầu ra, thay vì giảm âm lượng của luồng âm thanh theo chương trình. Nếu khi bạn thay đổi âm lượng trên tai nghe mà thay đổi đó không đồng bộ với âm lượng trên điện thoại thì tai nghe hoặc điện thoại của bạn không hỗ trợ tính năng này. Trong trường hợp này, bạn nên luôn nghe nhạc ở mức âm lượng tối đa trên điện thoại, điều chỉnh âm lượng thực tế bằng các nút tai nghe - trong trường hợp này, tỷ lệ tín hiệu trên tạp âm sẽ tốt hơn và chất lượng âm thanh sẽ tốt hơn nên là cao hơn
Thực tế có những tình huống đáng buồn. Trên tai nghe RealForce OverDrive D1 dành cho SBC của tôi, một bộ giải nén mạnh được bật và việc tăng âm lượng sẽ dẫn đến tăng mức âm thanh yên tĩnh, trong khi âm lượng của âm thanh lớn không thay đổi (tín hiệu bị nén). Vì điều này, bạn phải đặt âm lượng trên máy tính ở mức khoảng một nửa, trong trường hợp đó thực tế không có hiệu ứng nén.
Theo quan sát của tôi, tất cả các tai nghe có codec bổ sung đều hỗ trợ chức năng điều khiển âm lượng tuyệt đối, rõ ràng đây là một trong những yêu cầu để chứng nhận codec.

Một số tai nghe hỗ trợ kết nối hai thiết bị cùng một lúc. Ví dụ: điều này cho phép bạn nghe nhạc từ máy tính và nhận cuộc gọi từ điện thoại. Tuy nhiên, bạn nên lưu ý rằng ở chế độ này, các codec thay thế bị tắt và chỉ sử dụng SBC.

Chức năng báo cáo độ trễ AVDTP 1.3 cho phép tai nghe truyền độ trễ đến thiết bị truyền nơi âm thanh thực sự được phát. Điều này cho phép bạn điều chỉnh đồng bộ hóa âm thanh với video trong khi xem các tệp video: nếu có vấn đề với đường truyền vô tuyến, âm thanh sẽ không bị trễ so với video mà ngược lại, video sẽ bị trình phát video làm chậm lại cho đến khi âm thanh và video được đồng bộ lại.
Chức năng này được nhiều tai nghe hỗ trợ, Android 9+ và Linux với PulseAudio 12.0+. Tôi không biết có hỗ trợ tính năng này trên các nền tảng khác hay không.

Giao tiếp hai chiều qua Bluetooth. Truyền giọng nói.

Để truyền giọng nói trong Bluetooth, Định hướng kết nối đồng bộ (SCO) được sử dụng - truyền đồng bộ với đàm phán sơ bộ về kết nối. Chế độ này cho phép bạn truyền âm thanh và giọng nói theo đúng thứ tự, với tốc độ gửi và nhận đối xứng, không cần chờ xác nhận truyền và gửi lại gói. Điều này làm giảm độ trễ tổng thể của việc truyền âm thanh qua kênh vô tuyến, nhưng đặt ra những hạn chế nghiêm trọng về lượng dữ liệu được truyền trên một đơn vị thời gian và ảnh hưởng tiêu cực đến chất lượng.
Khi chế độ này được sử dụng, cả giọng nói và âm thanh đều được truyền đi với chất lượng như nhau.
Thật không may, kể từ năm 2019, chất lượng âm thanh qua Bluetooth vẫn kém và không rõ tại sao Bluetooth SIG không làm gì về vấn đề này.

CVSD

Bộ giải mã giọng nói CVSD cơ bản đã được chuẩn hóa vào năm 2002 và được hỗ trợ bởi tất cả các thiết bị liên lạc Bluetooth hai chiều. Nó cung cấp khả năng truyền âm thanh với tần số lấy mẫu là 8 kHz, tương ứng với chất lượng của điện thoại có dây thông thường.

Một ví dụ về bản ghi trong codec này.

mSBC

Codec mSBC bổ sung đã được chuẩn hóa vào năm 2009 và vào năm 2010, các chip sử dụng nó để truyền giọng nói đã xuất hiện. mSBC được hỗ trợ rộng rãi bởi nhiều thiết bị khác nhau.
Đây không phải là một codec độc lập mà là một SBC thông thường theo tiêu chuẩn A2DP, với cấu hình mã hóa cố định: 16 kHz, mono, bitpool 26.

Một ví dụ về bản ghi trong codec này.

Không xuất sắc nhưng tốt hơn nhiều so với CVSD, nhưng vẫn gây khó chịu khi sử dụng để liên lạc trực tuyến, đặc biệt là khi bạn sử dụng tai nghe để giao tiếp trong trò chơi - âm thanh của trò chơi cũng sẽ được truyền ở tốc độ lấy mẫu là 16 kHz.

Công ty FastStreamCSR quyết định phát triển ý tưởng sử dụng SBC. Để khắc phục những hạn chế của giao thức SCO và sử dụng tốc độ bit cao hơn, CSR đã đi theo một con đường khác - họ đã giới thiệu hỗ trợ âm thanh SBC hai chiều vào tiêu chuẩn truyền âm thanh một chiều A2DP, cấu hình mã hóa được tiêu chuẩn hóa và gọi nó là "FastStream".

FastStream truyền âm thanh nổi ở tần số 44.1 hoặc 48 kHz với tốc độ bit 212 kbps đến loa và mono, 16 kHz, với tốc độ bit 72 kbps được sử dụng để truyền âm thanh từ micrô (tốt hơn một chút so với mSBC). Các thông số như vậy phù hợp hơn nhiều để giao tiếp trong trò chơi trực tuyến - âm thanh của trò chơi và người đối thoại sẽ có chất lượng cao.

Một ví dụ về bản ghi trong codec này (+ âm thanh từ micro, giống như mSBC).

Công ty đã nghĩ ra một chiếc nạng thú vị, nhưng do nó mâu thuẫn với tiêu chuẩn A2DP nên nó chỉ được hỗ trợ trong một số bộ phát của công ty (hoạt động như thẻ âm thanh USB, không phải thiết bị Bluetooth), nhưng nó không nhận được hỗ trợ trong ngăn xếp Bluetooth, mặc dù số lượng tai nghe hỗ trợ FastStream không quá ít.

Hiện tại, hỗ trợ FastStream trong hệ điều hành chỉ như một bản vá cho Linux PulseAudio từ nhà phát triển Pali Rohár, người không nằm trong nhánh chính của chương trình.

aptX Độ trễ thấp

Bạn thật ngạc nhiên khi aptX Low Latency cũng hỗ trợ âm thanh hai chiều, thực hiện nguyên tắc tương tự như FastStream.
Không thể sử dụng tính năng này của codec ở bất kỳ đâu - không có hỗ trợ giải mã Độ trễ thấp trong bất kỳ HĐH nào hoặc trong bất kỳ ngăn xếp Bluetooth nào mà tôi biết.

Bluetooth 5, Cổ điển và Tiết kiệm năng lượng

Đã có rất nhiều nhầm lẫn xung quanh các thông số kỹ thuật và phiên bản Bluetooth do sự hiện diện của hai tiêu chuẩn không tương thích dưới cùng một thương hiệu, cả hai đều được sử dụng rộng rãi cho các mục đích khác nhau.

Có hai giao thức Bluetooth khác nhau và không tương thích: Bluetooth Classic và Bluetooth Low Energy (LE, còn được gọi là Bluetooth Smart). Ngoài ra còn có giao thức thứ ba, Bluetooth High Speed, nhưng nó không phổ biến và không được sử dụng trong các thiết bị gia dụng.

Bắt đầu với Bluetooth 4.0, những thay đổi trong thông số kỹ thuật chủ yếu liên quan đến Bluetooth Low Energy và phiên bản Cổ điển chỉ nhận được những cải tiến nhỏ.

Danh sách các thay đổi giữa Bluetooth 4.2 và Bluetooth 5:

9 THAY ĐỔI TỪ v4.2 LÊN 5.0

9.1 TÍNH NĂNG MỚI

Một số tính năng mới được giới thiệu trong Bản phát hành Thông số kỹ thuật Bluetooth Core 5.0. Các lĩnh vực cải tiến chính là:
• Mặt nạ sẵn có của khe cắm (SAM)
• 2 Msym/s PHY cho LE
•LE Tầm xa
• Quảng cáo không thể kết nối chu kỳ cao
• Tiện ích mở rộng quảng cáo LE
• Thuật toán lựa chọn kênh LE #2
9.1.1 Các tính năng được thêm vào CSA5 - Tích hợp trong v5.0
•Công suất đầu ra cao hơn

Nguồn: www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=421043 (trang 291)

Chỉ có một thay đổi ảnh hưởng đến phiên bản Cổ điển trong khuôn khổ thông số kỹ thuật Bluetooth 5: họ đã thêm hỗ trợ cho công nghệ Mặt nạ sẵn có khe cắm (SAM), được thiết kế để cải thiện khả năng phân tách phát sóng vô tuyến. Tất cả những thay đổi khác chỉ ảnh hưởng đến Bluetooth LE (và cả Công suất đầu ra cao hơn).

tất cả Các thiết bị âm thanh chỉ sử dụng Bluetooth Classic. Không thể kết nối tai nghe và loa qua Bluetooth Low Energy: không có tiêu chuẩn nào để truyền âm thanh bằng LE. Chuẩn A2DP, được sử dụng để truyền âm thanh chất lượng cao, chỉ hoạt động qua Bluetooth Classic và không có tín hiệu tương tự trong LE.

Kết luận - việc mua thiết bị âm thanh có Bluetooth 5 chỉ vì phiên bản mới của giao thức là vô nghĩa. Bluetooth 4.0/4.1/4.2 trong bối cảnh truyền âm thanh sẽ hoạt động giống hệt nhau.
Nếu thông báo về tai nghe mới đề cập đến phạm vi hoạt động tăng gấp đôi và giảm mức tiêu thụ điện năng nhờ Bluetooth 5, thì bạn nên biết rằng chính họ cũng không hiểu điều đó hoặc đang đánh lừa bạn. Không có gì ngạc nhiên, bởi vì ngay cả các nhà sản xuất chip Bluetooth trong thông báo của họ cũng nhầm lẫn về sự khác biệt giữa phiên bản mới của tiêu chuẩn và một số chip Bluetooth 5 chỉ hỗ trợ phiên bản thứ năm cho LE và sử dụng 4.2 cho Classic.

Độ trễ truyền âm thanh

Lượng độ trễ (độ trễ) trong âm thanh phụ thuộc vào nhiều yếu tố: kích thước của bộ đệm trong ngăn xếp âm thanh, trong ngăn xếp Bluetooth và trong chính thiết bị phát lại không dây cũng như độ trễ thuật toán của codec.

Độ trễ của các codec đơn giản như SBC, aptX và aptX HD rất nhỏ, 3-6 ms, có thể bỏ qua, nhưng các codec phức tạp như AAC và LDAC có thể gây ra độ trễ đáng chú ý. Độ trễ thuật toán AAC cho 44.1 kHz là 60 ms. LDAC - khoảng 30 ms (dựa trên phân tích sơ bộ về mã nguồn. Tôi có thể sai, nhưng không nhiều.)

Độ trễ thu được phụ thuộc rất nhiều vào thiết bị phát lại, chipset và bộ đệm của nó. Trong quá trình thử nghiệm, tôi nhận được mức chênh lệch từ 150 đến 250 ms trên các thiết bị khác nhau (với codec SBC). Nếu chúng tôi giả định rằng các thiết bị hỗ trợ codec aptX, AAC và LDAC bổ sung sử dụng các thành phần chất lượng cao và kích thước bộ đệm nhỏ, chúng tôi sẽ nhận được độ trễ điển hình sau:

SBC: 150-250ms
aptX: 130-180 mili giây
AAC: 190-240 mili giây
LDAC: 160-210 mili giây

Hãy để tôi nhắc bạn: aptX Low Latency không được hỗ trợ trong các hệ điều hành, đó là lý do tại sao chỉ có thể đạt được độ trễ thấp hơn bằng cách kết hợp bộ phát + bộ thu hoặc bộ phát + tai nghe / loa và tất cả các thiết bị phải hỗ trợ codec này.

Các vấn đề về thiết bị Bluetooth, chứng nhận và logo

Làm thế nào để phân biệt một thiết bị âm thanh chất lượng cao với một thiết bị thủ công giá rẻ? Về ngoại hình, trước hết!

Đối với tai nghe, loa, đầu thu Trung Quốc giá rẻ:

  1. Chữ “Bluetooth” bị thiếu trên hộp và thiết bị, “Wireless” và “BT” thường được sử dụng nhất
  2. Thiếu biểu tượng Bluetooth Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị trên hộp hoặc thiết bị
  3. Không có đèn LED nhấp nháy màu xanh

Việc thiếu các yếu tố này cho thấy thiết bị chưa được chứng nhận, điều đó có nghĩa là thiết bị có thể có chất lượng thấp và có vấn đề. Ví dụ: tai nghe Bluedio không được chứng nhận Bluetooth và không tuân thủ đầy đủ thông số kỹ thuật A2DP. Họ sẽ không vượt qua được chứng nhận.

Hãy xem xét một số thiết bị và hộp từ chúng:
Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị

Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị

Âm thanh qua Bluetooth: chi tiết tối đa về cấu hình, codec và thiết bị

Đây đều là những thiết bị chưa được chứng nhận. Các hướng dẫn có thể chứa logo và tên của công nghệ Bluetooth, nhưng điều quan trọng nhất là chúng có trên hộp và/hoặc chính thiết bị.

Nếu tai nghe hoặc loa của bạn thông báo “Ze bluetooth dewise được kết nối thành công”, điều này cũng không cho biết chất lượng của chúng:

Kết luận

Bluetooth có thể thay thế hoàn toàn tai nghe và tai nghe có dây? Nó có khả năng nhưng phải trả giá bằng chất lượng cuộc gọi kém, độ trễ âm thanh tăng có thể gây khó chịu trong trò chơi và một loạt codec độc quyền yêu cầu phí cấp phép và tăng chi phí cuối cùng của cả điện thoại thông minh và tai nghe.

Việc tiếp thị các codec thay thế rất mạnh mẽ: aptX và LDAC được giới thiệu như một sự thay thế được chờ đợi từ lâu cho SBC “lỗi thời và tồi tệ”, gần như không tệ như mọi người nghĩ.

Hóa ra, có thể bỏ qua các giới hạn nhân tạo của ngăn xếp Bluetooth trên tốc độ bit SBC, do đó SBC sẽ không thua kém aptX HD. Tôi đã chủ động tự mình tạo một bản vá cho phần sụn LineageOS: Sửa đổi ngăn xếp Bluetooth để cải thiện âm thanh trên tai nghe không có codec AAC, aptX và LDAC

Thông tin thêm có thể được tìm thấy trên các trang web Những chàng trai âm thanh и Chuyên gia âm thanh.

tiền thưởng: Bộ mã hóa tham chiếu SBC, thông tin dòng bit A2DP và tệp thử nghiệm. Tệp này từng được đăng công khai trên trang web Bluetooth, nhưng hiện tại chỉ có thành viên của Bluetooth SIG mới có thể truy cập được.

Nguồn: www.habr.com

Thêm một lời nhận xét