LDAC (codec)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

LDAC
File:LDAC logo.tiff
Internet media type{{#property:P1163}}
Developed bySony
Type of formatAudio codec

LDAC is a proprietary, lossy audio coding technology developed by Sony,[1] designed for streaming audio over Bluetooth connections at up to 990 kbps at 32 bits/96 kHz.[citation needed] It is used by various products, including headphones, earphones, smartphones, portable media players, active speakers, and home theaters.

The encoder of LDAC is open-source under Apache License 2.0, so that any device can be coded to transmit LDAC streams without patent or licensing issues. The decoder design remains proprietary.

Audio coding

[edit | edit source]

LDAC is an alternative to Bluetooth SIG's SBC codec. Its main competitors are Huawei's L2HC, Qualcomm's aptX-HD/aptX Adaptive and the HWA Union/Savitech's LHDC.[2]

LDAC utilizes a type of lossy compression[3][4] by employing a hybrid coding scheme based on the modified discrete cosine transform[5] and Huffman coding[6] to provide more efficient data compression. By default, LDAC audio bitrate settings are set to Best Effort, which switches between discrete bitrate steps (CBR) 330/660/990 kbps depending on connection strength;[7] however, audio bitrate and resolution can be manually adjusted on Linux (when using PipeWire[8]), some Android platforms (which generally requires access to the "Developer Settings" menu), and Sony's own smartphones and Walkman devices at the following rates; 330/660/990 kbps at 96/48 kHz and 303/606/909 kbps at 88.2/44.1 kHz with depth of 32, 24 or 16 bits.[7]

Starting from Android 8.0 "Oreo", LDAC is part of the Android Open Source Project, enabling every OEM to integrate this standard into their own Android devices freely.[6][9] The encoder library is open source and the implementation for Linux is already present in bluez-alsa,[10] pulseaudio-modules-bt,[11][12] and in PipeWire's bluez5 module.[13][14] It is available on Fedora since Fedora 29.[15] However the decoder library is proprietary, so receiving devices require licenses.[16]

On 17 September 2019, the Japan Audio Society (JAS) certified LDAC with their Hi-Res Audio Wireless certification.[17] As of June 2024, the codecs certified by the JAS to bear the Hi-Res Audio Wireless logo are LHDC, LDAC, SCL6, LC3plus, SHDC, and aptX Adaptive.[18]

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]