蓝牙音频传输格式:ACC,SBC,APTX和LDAC_蓝牙sbc和aac的区别

蓝牙音频传输格式:ACC,SBC,APTX和LDAC_蓝牙sbc和aac的区别先转载一部分通用的知识众所周知,蓝牙耳机的音频解码主要分为sbc,aac,aptx,ldac,Ihac等几种。下面是简单的介绍。、、1、sbc是通用的最基本的解码方式,蓝牙耳机都支持,支持44khz/16bit的音频,最高码率是328kbps,延时大约220ms,所以音质一般。2、aac是苹果产品通用的解码方式,跟sbc差不多,支持44khz/16bit的音频,最高码率512kbps,延时大约100ms,音质略好于sbc。3、aptx是高通的专利,支持48khz/16bit的音频,最高码率352kb

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

先转载一部分通用的知识
众所周知,蓝牙耳机的音频解码主要分为sbc,aac,aptx,ldac,Ihac等几种。下面是简单的介绍。、、

1、sbc是通用的最基本的解码方式,蓝牙耳机都支持,支持44khz/16bit的音频,最高码率是328kbps,延时大约220ms,所以音质一般。

2、aac是苹果产品通用的解码方式,跟sbc差不多,支持44khz/16bit的音频,最高码率512kbps,延时大约100ms,音质略好于sbc。

3、aptx是高通的专利,支持48khz/16bit的音频,最高码率352kbps,延时约40ms,音质好于sbc,但相比sbc提升并不大。

4、ldac是真正的高音质解码,索尼出品,支持96khz/24bit的音频,最高码率达990kbps,接近无损解码。

5、lhac(hwa)也是接近无损解码,华为主推,支持96khz/24bit的音频,最高码率900kbps,可以媲美ldac

以flac格式的无损音乐为例,FLAC 24bit/96kHz典型压缩编码码率在2350kbps左右,我们网上下载的flac无损音质一般是44khz/16bit的,码率大约990kbps,网上下载的wav无损音乐一般也是44khz/16bit的,码率大约1400kbps。所以高品质的无损音乐体积是比较大的。

了解了以上信息,你是否知道该选哪样的蓝牙耳机了吗?无论是aac还是aptx,aptx hd都不能做到无损解码,我们在选购蓝牙耳机时,一般音乐爱好者对音质没有过多要求的选择普通的支持sbc解码的耳机就够了。对音质有一定要求的可以选择支持aptx的蓝牙耳机,音质接近cd。对音质要求比较高的,可以选择支持aptx hd的蓝牙耳机。音乐发烧友可以选择支持ldac的蓝牙耳机,品质好的价格一般在2000元以上,几百的也有。

1. SBC算法简介

SBC是sub band code的缩写,也可称为子带编码
在A2DP协议中,SBC算法是默认支持的
蓝牙SBC算法是一种以中等比特率传递高质量音频数据的低计算复杂度的音频编码算法
1.1 算法基本框图
SBC系统使用一个余弦调制的滤波器组,用来解析和同步。滤波器组可设定成4或8个子带
子带信号的量化采用比特分配器和自适应脉冲编码器组调制
可用的比特位数和编码器的块数都是可配置的
编码后的数据由比特流打包器打包,以有线或无线方式传输
解码是编码的逆过程

在这里插入图片描述
1.1 算法所用参数
sampling_frequency:采样频率。常用的是16KHz,32KHz,44.1KHz和48KHz
channel mode:通道模式。可以是单声道,双声道,立体声和联合立体声
block length:块长度。可以是4,8,12,16
subbands:子带数量。可以是4或8
allocation method:分配方式。可以是SNR或loudness
bitpool:比特池。范围是2-250。此值越大,编码产生的数据越长

sampling frequency:16
channel mode:单声道
number of subbands:8
number of channels:1
number of blocks:15
allocation method:SNR
bitpool:26

2 SBC算法实现
2.1 SBC编码算法实现

PCM格式的左右声道进入多相解析器,输出尺度因子和子带采样数据
每个尺度因子分别对应一个子带
量化后的子带采样数据需要进行打包,打包方式可以是分段或不分段

在这里插入图片描述
在这里插入图片描述
sbc编码:
在这里插入图片描述
sbc解码:
在这里插入图片描述3 SBC算法在某些蓝牙主设备上面的应用
3.1帧格式
BLE 语音包:
完整的一帧数据由58个字节组成,其中压缩后的语音数据是49字节。通过三个 BLE data 包发送给host
第一包:
在这里插入图片描述
第二包:
在这里插入图片描述
第三包:
在这里插入图片描述
aac等其他会在后面的学习过程中补充。
具体可以参考大佬们写好的博客:
https://www.cnblogs.com/huxiaopeng/p/5653195.html

https://blog.csdn.net/dop102/article/details/111082901

https://www.cnblogs.com/dashen423-511/p/10354675.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197544.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java缓存技术的介绍

    java缓存技术的介绍一、什么是缓存1、Cache是高速缓冲存储器一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问2、凡是位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为Cache二、缓存的分类1、基于web应用的系统架构图2、在系统架构的不同层级之间,为了加快访问速度,都可以存在缓存操作系统磁盘缓存->减少磁盘机械操作

    2022年10月5日
    3
  • c++ priority queue_priority

    c++ priority queue_priority既然是队列那么先要包含头文件#include<queue>优先队列具有队列的所有特性,包括基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的定义:priority_queue<Type,Container,Functional>Type就是数据类型,Container就是容器类型(Container必须是用数组实现的容器,比如vector,deque等等,但不能用

    2025年8月24日
    7
  • date和hwclock

    date和hwclockGMT GreenwichMea 即格林尼治标准时间 GMT 以地球自转为基础 但由于地球自转不均匀 导致 GMT 不精确 UTC UniversalTim 即协调世界时 UTC 是以原子时秒长为基础 在时刻上尽量接近于 GMT 的一种时间计量系统 RTC Real TimeClock 即实时时钟 在计算机领域作为硬件时钟的简称 硬件时间 保存在主板 BIOS 中 信息比较少没时区 夏令时的概念 系统时间 系统开机时读取硬件时间作为系统的时间 系统关机时再将系

    2025年7月28日
    6
  • Arcgis二次开发——发布地图

    Arcgis二次开发——发布地图简单发布地图1、测试arcgispro发布地图默认打开arcgispro的地图模板,点击“共享”=》“web地图”,填上相关信息,点击“共享”。完成之后,即可在arcgisonline里看到新发布的“maptest001”服务。2、在arcgisonline里查看发布的内容3、用arcgisjsapi的沙箱查看刚刚发布的地图注意设置:esriConfig.portalUrl=”arcgisonline的个人主页地址”portalItem的id就是你发布…

    2022年7月23日
    34
  • Zigbee 协议栈

    Zigbee 协议栈Zigbee协议栈平台协议栈对我们的作用怎么使用协议栈协议栈的安装、编译与下载Components(部件)Documents(文件)Projects(项目例子)Tools(工具)平台协议TIZStack-CC2530-2.5.1a协议栈对我们的作用协议栈是协议的实现,可以理解为代码,函数库,供上层应用调用,协议较底下的层与应用是相互独立的。商业化的协议栈就是给你写好了底层的代码,符合协议标准,提供给你一个功能模块给你调用。你需要关心的就是你的应用逻辑,数据从哪里到哪里,怎么存储,处

    2022年5月28日
    36
  • App测试面试题_软件测试算法面试题汇总

    App测试面试题_软件测试算法面试题汇总1.Web端测试和App端测试有何不同(常见)系统结构方面Web项目,b/s架构,基于浏览器的;Web测试只要更新了服务器端,客户端就会同步会更新;App项目,c/s结构的,必须要有客户端;App修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍;兼容方面Web项目:a.浏览器(火狐、谷歌、IE等)b.操作系统(Windows7、Windows10、Linux等)App项目:a.设备系统:iOS(ipad、iphone)、Android(三星、华为、联想等)、

    2022年8月29日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号