CN115171706A - 数据编码方法、数据解码方法、装置、设备及介质 - Google Patents
数据编码方法、数据解码方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115171706A CN115171706A CN202210745360.9A CN202210745360A CN115171706A CN 115171706 A CN115171706 A CN 115171706A CN 202210745360 A CN202210745360 A CN 202210745360A CN 115171706 A CN115171706 A CN 115171706A
- Authority
- CN
- China
- Prior art keywords
- data
- audio
- audio data
- packet
- channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 157
- 230000005540 biological transmission Effects 0.000 claims abstract description 310
- 238000007906 compression Methods 0.000 claims description 50
- 230000006835 compression Effects 0.000 claims description 50
- 230000015654 memory Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012856 packing Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 26
- 238000013507 mapping Methods 0.000 description 10
- 238000013144 data compression Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000004806 packaging method and process Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000003321 amplification Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000003199 nucleic acid amplification method Methods 0.000 description 3
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R3/00—Circuits for transducers, loudspeakers or microphones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种数据编码方法、数据解码方法、装置、设备及介质,涉及编解码技术领域。所述数据编码方法由蓝牙发送设备执行,该方法包括:生成第一音频编码包和第二音频编码包;其中,第一音频编码包中至少包括第一声道对应的第一音频数据中待传输的数据和第二声道对应的第二音频数据中待传输的低位数据,所述第二音频编码包中包括第二音频数据中待传输的高位数据。通过在第一音频编码包中携带第二声道中待传输的低位数据,以便于第二声道中待传输的低位数据能够经第一蓝牙接收设备转发给第二蓝牙接收设备,从而使得第一声道和第二声道的总传输带宽达到最大化利用。
Description
技术领域
本申请涉及编解码技术领域,特别涉及一种数据编码方法、数据解码方法、装置、设备及介质。
背景技术
随着真无线蓝牙耳机(True Wireless Studio,TWS)的增长和普及,蓝牙设备在工作和生活中被广泛应用。
在一些情况下,TWS的两个蓝牙接收设备的蓝牙信号强度不同,从而导致带宽能力不同。以蓝牙发送设备是手机为例,手机在人体左耳的一侧,则左侧的第一蓝牙接收设备的蓝牙信号强度将大于右侧的第二蓝牙接收设备。由于信号强度的不同,将使得人体的左右耳的听感差异化较为明显。
为避免这一问题,现有技术中通常将高带宽声道对应的蓝牙接收设备传输的数据量降低,以使得降低后的数据量与低带宽声道对应的蓝牙接收设备传输的数据量相同。
发明内容
本申请实施例提供了一种数据编码方法、数据解码方法、装置、设备及介质,通过在第一音频编码包中携带第二声道的低位数据,以便于第二声道的低位数据能够经第一蓝牙接收设备转发给第二蓝牙接收设备,从而使得第一声道和第二声道的总传输带宽达到最大化利用。所述技术方案如下:
根据本申请的一个方面,提供了一种数据编码方法,该方法由蓝牙发送设备执行,该方法包括:
生成第一音频编码包和第二音频编码包;
其中,第一音频编码包中至少包括第一声道对应的第一音频数据中待传输的数据和第二声道对应的第二音频数据中待传输的低位数据,第二音频编码包中包括第二音频数据中待传输的高位数据。
根据本申请的一个方面,提供了一种数据解码方法,该方法由第一蓝牙接收设备执行,该方法包括:
接收第一音频编码包,第一音频编码包中至少包括第一声道对应的第一音频数据中待传输的数据和第二声道对应的第二音频数据中待传输的低位数据;
对第一音频编码包进行解码,得到第三音频数据,第三音频数据的位数与第一音频数据的位数相同。
根据本申请的一个方面,提供了一种数据解码方法,该方法由第二蓝牙接收设备执行,该方法包括:
接收蓝牙发送设备发送的第二音频编码包,第二音频编码包中包括第二声道对应的第二音频数据中待传输的高位数据;
对第二音频编码包进行解码,得到第四音频数据,第四音频数据的位数与第二音频数据的位数相同。
根据本申请的一个方面,提供了一种数据编码装置,该装置包括:
编码模块,用于生成第一音频编码包和第二音频编码包;
其中,第一音频编码包中至少包括第一声道对应的第一音频数据中待传输的数据和第二声道对应的第二音频数据中待传输的低位数据,第二音频编码包中包括第二音频数据中待传输的高位数据。
根据本申请的一个方面,提供了一种数据解码装置,该装置包括:
接收模块,用于接收第一音频编码包,第一音频编码包中至少包括第一声道对应的第一音频数据中待传输的数据和第二声道对应的第二音频数据中待传输的低位数据;
解码模块,用于对第一音频编码包进行解码,得到第三音频数据,第三音频数据的位数与第一音频数据的位数相同。
根据本申请的一个方面,提供了一种数据解码装置,该装置包括:
接收模块,用于接收蓝牙发送设备发送的第二音频编码包,第二音频编码包中包括第二声道对应的第二音频数据中待传输的高位数据;
解码模块,用于对第二音频编码包进行解码,得到第四音频数据,第四音频数据的位数与第二音频数据的位数相同。
根据本申请的一个方面,提供了一种蓝牙发送设备,该蓝牙发送设备包括存储器和处理器;
存储器中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上所述的数据编码方法。
根据本申请的一个方面,提供了一种第一蓝牙接收设备,该第一蓝牙接收设备包括存储器和处理器;
存储器中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上所述的数据解码方法。
根据本申请的一个方面,提供了一种第二蓝牙接收设备,该第二蓝牙接收设备包括存储器和处理器;
存储器中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上所述的数据解码方法。
根据本申请的一个方面,提供了一种蓝牙系统,该蓝牙系统包括第一蓝牙接收设备和第二蓝牙接收设备;
第一蓝牙接收设备与第一声道对应,第一蓝牙接收设备用于执行如上所述的数据解码方法;
第二蓝牙接收设备与第二声道对应,第二蓝牙接收设备用于执行如上所述的数据解码方法。
根据本申请的一个方面,提供了一种计算机可读存储介质,存储介质中存储有计算机程序,所述计算机程序用于被处理器执行,以实现如上所述的数据编码方法,或者数据解码方法。
根据本申请的一个方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当安装有芯片的电子设备运行时,用于实现如上所述的数据编码方法,或者数据解码方法。
根据本申请的一个方面,提供了一种计算机程序产品,计算机程序产品包括计算机指令,计算机指令存储在计算机可读存储介质中,处理器从计算机可读存储介质读取并执行计算机指令,以实现如上所述的数据编码方法,或者数据解码方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过在第一音频编码包中携带第二声道的低位数据,以便于第二声道中待传输的低位数据能够经第一蓝牙接收设备转发给第二蓝牙接收设备,从而使得第一声道和第二声道的总传输带宽达到最大化利用。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的音频传输的示意图;
图2是本申请一个示例性实施例提供的数据编码方法的流程图;
图3是本申请一个示例性实施例提供的高位截取的示意图;
图4是本申请一个示例性实施例提供的数据拆分的示意图;
图5是本申请一个示例性实施例提供的数据解码方法的流程图;
图6是本申请一个示例性实施例提供的音频传输的示意图;
图7是本申请一个示例性实施例提供的数据解码方法的流程图;
图8是本申请一个示例性实施例提供的音频传输的示意图;
图9是本申请一个示例性实施例提供的音频传输的示意图;
图10是本申请一个示例性实施例提供的数据传输方法的流程图;
图11是本申请一个示例性实施例提供的音频传输的示意图;
图12是本申请一个示例性实施例提供的数据传输方法的流程图;
图13是本申请一个示例性实施例提供的音频传输的示意图;
图14是本申请一个示例性实施例提供的音频传输的示意图;
图15是本申请一个示例性实施例提供的数据编码方法的流程图;
图16是本申请一个示例性实施例提供的音频传输的示意图;
图17是本申请一个示例性实施例提供的第一音频编码包格式的示意图;
图18是本申请一个示例性实施例提供的第二音频编码包格式的示意图;
图19是本申请一个示例性实施例提供的第一子包格式的示意图;
图20是本申请一个示例性实施例提供的数据编码装置的示意图;
图21是本申请一个示例性实施例提供的数据解码装置的示意图;
图22是本申请一个示例性实施例提供的数据解码装置的示意图;
图23是本申请一个示例性实施例提供的通信设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着真无线蓝牙耳机(True Wireless Studio,TWS)的增长和普及,蓝牙设备在工作和生活中被广泛应用,比如打电话、收听音乐等。在这一过程中,需要对音频数据进行传输。
以蓝牙发送设备和两个蓝牙接收设备之间进行音频数据的无线传输为例,图1示出了本申请一个示例性实施例提供的音频传输的示意图。其中,蓝牙发送设备是用于对音频数据进行编码和发送的终端设备,两个蓝牙接收设备是用于对不同的音频数据进行解码和播放的终端设备。
示意性的,蓝牙发送设备和两个蓝牙接收设备之间的数据传输过程如下:
用户在蓝牙发送设备中确定需要播放的音频资源,蓝牙发送设备获取到该音频资源,并通过脉冲编码调制(Pulse Code Modulation,PCM解码)进行解码,以得到与该音频资源所对应的音频数据。其中,解码后的得到的PCM数据包括第一声道对应的音频数据和第二声道对应的音频数据。
随后,蓝牙发送设备对音频数据进行音频编码,以获取到第一声道和第二声道分别对应的音频编码包。其中,音频编码可以是无损音频压缩编码(Free Lossless AudioCodec,FLAC)。在编码后,蓝牙发送设备通过发送组件分别向第一声道和第二声道发送音频编码包。
示意性的,蓝牙发送设备和两个蓝牙接收设备之间的数据传输是无线传输方式。
以第一蓝牙接收设备为例,第一蓝牙接收设备通过第一接收组件获取到蓝牙发送设备发送的第一声道对应的音频编码包后,对音频编码包进行PCM解码,以获取到解码后的音频数据。
随后,第一蓝牙接收设备对解码后的音频数据进行数模转换和功率放大,以得到对应的第一模拟数据,并通过第一播放组件播放第一模拟数据。应当理解的是,第一模拟数据与蓝牙发送设备中确定的音频资源中的第一声道的资源对应。可选的,数模转换可通过数模转换器(Digital to Analog Converter,DAC)实现,功率放大可通过功率放大器(AMplifier for Power,AMP)实现。
相应的,第二蓝牙接收设备通过第二接收组件获取到龙卷风三设备发送的第二声道对应的音频编码包后,对音频编码包进行PCM解码、数模转换和功率放大,以得到对应的第二模拟数据,并通过第二播放组件播放第二模拟数据。
示意性的,第一蓝牙接收设备和第二蓝牙接收设备可构成一个蓝牙系统。其中,第一蓝牙接收设备用于接收第一声道对应的音频数据,第二蓝牙接收设备用于接收第二声道对应的音频数据。
以蓝牙发送设备是手机,蓝牙系统是一对蓝牙耳机为例,在手机和蓝牙耳机建立通信连接后,用户在手机上选择需要播放的音乐。
手机获取该音乐对应的音频资源,并对音频资源进行PCM解码,以获取到PCM数据,PCM数据是与音频资源对应的音频数据。其中,解码后得到的PCM数据应当包括第一声道对应的音频数据和第二声道对应的音频数据。随后,手机对两个PCM数据分别进行音频编码,得到两个音频编码包,并通过发送组件将PCM数据对应的音频编码包分别发送给两个蓝牙耳机对应的接收组件。
两个接收组件对接收到的不同的音频编码包进行PCM解码,以得到PCM数据,并通过DAC和AMP生成对应的模拟数据。随后,通过对应的播放组件播放不同的模拟数据,以使得用户通过蓝牙耳机收听到所选择的音乐。
在一些情况下,两个蓝牙接收设备的蓝牙信号强度不同,从而导致带宽能力不同。以蓝牙发送设备是手机为例,手机在人体左耳的一侧,则左侧的第一蓝牙接收设备的蓝牙信号强度将大于右侧的第二蓝牙接收强度。由于信号强度的不同,将使得人体的左右耳的听感差异化较为明显。
为避免这一问题,通常将高带宽声道对应的蓝牙接收设备传输的数据量降低,以使得降低后的数据量与低带宽声道对应的蓝牙接收设备传输的数据量相同。以高带宽声道对应的蓝牙接收设备的传输带宽能力是5,低带宽声道对应的蓝牙接收设备的传输带宽能力是3为例,现有技术中通常将高带宽声道对应的蓝牙接收设备的传输带宽能力降为3。此时,两个声道的总传输带宽能力为8,但利用的总传输带宽能力仅能达到6,存在传输带宽的浪费。
本申请提供了一种数据传输方法,用于蓝牙发送设备和两个蓝牙接收设备之间进行数据的编解码。其中,数据编码方法由蓝牙发送设备执行,数据解码方法分别由两个蓝牙接收设备执行。
图2示出了本申请一个示例性实施例提供的数据编码方法的流程图,该方法由蓝牙发送设备执行,包括如下步骤:
步骤202:生成第一音频编码包和第二音频编码包。
示意性的,第一音频编码包中至少包括第一声道对应的第一音频数据中待传输的数据和第二声道对应的第二音频数据中待传输的低位数据,第二音频编码包中包括第二音频数据中待传输的高位数据。
应当理解的是,第一音频数据和第二音频数据均包括高位数据和低位数据。
其中,第一音频数据的低位数据用于指示第一音频数据的低i位的比特位上的数据,第一音频数据的高位数据用于指示第一音频数据的高j位的比特位上的数据,i或j不超过第一音频数据的位数,且i和j之和不超过第一音频数据的位数。比如,第一音频数据是基于二进制生成的8位数据,按照从左到右的排列方式,第一音频数据的高5位用于指示第一音频数据的第1位至第5位,第一音频数据的低3位用于指示第一音频数据的第6位至第8位。
类似的,第二音频数据的低位数据用于指示第二音频数据的低n位的比特位上的数据,第二音频数据的高位数据用于指示第二音频数据的高m位的比特位上的数据,n或m不超过第二音频数据的位数,且n和m之和不超过第二音频数据的位数。比如,第二音频数据是基于二进制生成的32位数据,按照从左到右的排列方式,第二音频数据的高24位用于指示第二音频数据的第1位至第24位,第二音频数据的低8位用于指示第二音频数据的第25位至第32位。
应当理解的是,在本申请中,若无明确指出高位数据和低位数据,“第一音频数据”的表述可用于指示第一音频数据的全部数据;“第二音频数据”的表述可用于指示第二音频数据的全部数据。
可选的,第一音频数据和第二音频数据是对待传输的音频资源进行PCM解码后得到的PCM数据。其中,第一音频数据是第一声道对应的音频数据,第二音频数据是第二声道对应的音频数据。
示意性的,本申请实施例中所涉及的第一音频数据和第二音频数据,用于指示根据音频资源进行PCM解码后得到的PCM数据中的全部数据。其中,第一音频数据也可视为第一声道对应的初始PCM数据,第二音频数据也可是为第二声道对应的初始PCM数据。可选的,初始PCM数据,也可称之为原始PCM数据。
在一种可选的实施场景下,第一声道和第二声道的传输带宽不同。其中,传输带宽不同,也可理解为第一声道和第二声道的传输带宽能力不同。比如,第一声道的传输带宽能力是5,第二声道的传输带宽能力是3。此时,第一声道可视为高带宽声道,第二声道可视为低带宽声道,第一声道对应的数据传输量将大于第二声道对应的数据传输量。
示例性的,以下均以第一声道是高带宽声道,第二声道是低带宽声道,第一声道对应的数据传输量将大于第二声道对应的数据传输量为例。
可选的,在第一声道和第二声道的平均传输带宽不满足传输需求的情况下,需要对第一音频数据和/或第二音频数据的低位数据进行删除,也可视为对第一音频数据和/或第二音频数据的高位截取,以尽可能地保留第一音频数据和/或第二音频数据的高位数据。
其中,平均传输带宽根据第一声道和第二声道对应的蓝牙带宽确定。蓝牙发送设备测量得到第一声道和第二声道对应的蓝牙带宽,随后计算得到平均传输带宽。
基于此,第一音频编码包中至少包括第一音频数据中待传输的数据和第二音频数据中待传输的低位数据;第二音频编码包中包括第二音频数据中待传输的高位数据。
本申请实施例中,以第一音频数据是第一声道对应的原始音频数据,第二音频数据是第二声道对应的原始音频数据为例。应当理解的是,第一音频数据中待传输的数据,可以是未进行高位截取的第一音频数据的原始音频数据,也可以是进行高位截取后的第一音频数据。类似的,第二音频数据中待传输的高位数据和低位数据,可以是未进行高位截取的第二音频数据所对应的高位数据和低位数据,也可以是进行高位截取后的第二音频数据所对应的高位数据和低位数据。
可选的,若对第一音频数据进行高位截取,则第一音频编码包中至少包括第一音频数据中待传输的数据;若未对第一音频数据进行高位截取,则第一音频编码包中包括第一音频数据的全部数据。以第一音频数据为32位为例,若对第一音频数据进行高位截取,得到删除低i位的第一音频数据,则第一音频编码包中至少包括的第一音频数据的待传输的数据,应当是32-i位的第一音频数据。若未对第一音频数据进行高位截取,则第一音频编码包中至少包括32位的第一音频数据。
类似的,以第二音频数据为32位。若对第二音频数据进行高位截取,得到删除低n位的第二音频数据,则第一音频编码包中包括的第二音频数据中待传输的低位数据,应当是删除低n位的第二音频数据所对应的低位数据。若未对第二音频数据进行高位截取,则第一音频编码包中包括的第二音频数据中待传输的低位数据,应当是32位第二音频数据所对应的低位数据。相应的,第二音频编码包中包括的第二音频数据中待传输的高位数据,也应当是32位第二音频数据所对应的高位数据。
以第二音频数据为32位为例,图3示出了本申请一个示例性实施例提供的高位截取的示意图。参考图3,对32位的第二音频数据进行高位截取,删除32位的第二音频数据的低8位,得到24位的第二音频数据,则第一音频编码包中包括的第二音频数据中待传输的低位数据,为24位的第二音频数据所对应的低位数据。比如,第二音频数据中待传输的低位数据是24位的第二音频数据的低8位。
以第一声道是高带宽声道,第二声道是低带宽声道为例,蓝牙发送设备在对第二音频数据进行拆分后,可将第二音频数据中待传输的低位数据携带在第一音频编码包中进行发送。在一种可选的实施场景下,第二音频数据中待传输的低位数据经第一蓝牙接收设备转发给第二蓝牙接收设备,以使得低带宽声道所对应的低位数据能够借助高带宽声道对应的第一蓝牙接收设备进行转发,进而使得两个声道的总传输带宽达到最大化利用。
可选的,第一音频编码包中包括第一子包和第二子包,第一子包中至少包括第一音频数据中待传输的数据,第二子包中包括第二音频数据中待传输的高位数据。此时,第一蓝牙接收设备在接收到第一音频编码包后可进行拆包,随后将第二子包发送给第二蓝牙接收设备。
在第一音频编码包中包括第一子包和第二子包的情况下,步骤202可实现为如下:
对第一音频数据进行编码,得到第一子包;
对第二音频数据进行数据拆分,确定第二音频数据中待传输的低位数据和高位数据;
对第二音频数据中待传输的低位数据进行编码,得到第二子包;
对第二音频数据中待传输的高位数据进行编码,得到第二音频编码包;
将第一子包和第二子包进行组包,得到第一音频编码包。
其中,第一音频数据的编码可根据前述内容中的高位截取进行。若未对第一音频数据进行高位截取,则将第一音频数据作为待传输的数据进行编码以得到第一子包;若对第一音频数据进行高位截取,则将高位截取后的第一音频数据作为待传输的数据进行编码以得到第一子包。
第二音频数据的数据拆分,可根据第一声道和第二声道的传输带宽确定。
第二音频数据中待传输的高位数据的编码,可参考第一音频数据的编码的相关描述。
可选的,以第一声道是高带宽声道,第二声道是低带宽声道为例,第一音频编码包和第二音频编码包的生成可具体实现为如下:
1、获取第一声道和第二声道的传输带宽,以确定平均传输带宽。
首先,蓝牙发送设备获取第一声道和第二声道的蓝牙带宽,以得到第一声道和第二声道的传输带宽。随后,在第一声道和第二声道的传输带宽不同的情况下,对第二音频数据进行数据拆分,以确定第二音频数据中待传输的低位数据和高位数据。
其中,根据第一声道和第二声道的传输带宽,能够确定第一声道和第二声道的平均传输带宽。比如,第一声道的传输带宽为5,第二声道的传输带宽为3,则第一声道和第二声道的平均传输带宽为(5+3)/2=4。
随后,根据平均传输带宽确定第一声道和第二声道的平均传输量。
其中,数据传输量受数据压缩率和传输带宽的影响,可通过如下式子表示:数据传输量×数据压缩率=传输带宽。数据压缩率可根据实际需要设定,传输带宽由蓝牙发送设备测量得到。类似的,第一声道和第二声道的平均传输量可通过如下式子计算得到:平均传输量×数据压缩率=平均传输带宽。为便于描述,以下仍然以前述举例中的5、3、4来表示对应的传输量。
示例性的,本申请实施例中,传输带宽应当是蓝牙音频带宽,蓝牙音频带宽可通过蓝牙带宽确定,蓝牙音频带宽受蓝牙发送端和蓝牙接收端的共同影响。其中,蓝牙音频带宽和蓝牙带宽的关系可通过如下式子表示:蓝牙带宽×有效参数=蓝牙音频带宽。其中,有效参数可根据实际需要设定,比如,有效参数是0.7,蓝牙带宽×0.7=蓝牙音频带宽。
应当理解的是,上述举例中,数据传输量可根据蓝牙音频带宽确定,具体可表示为:数据传输量×数据压缩率=蓝牙音频带宽。为便于描述,基于蓝牙带宽和蓝牙音频带宽的关系,以下不再区分蓝牙带宽和蓝牙音频带宽,二者可视为同一个带宽。
在确定平均传输量后,能够确定第一蓝牙接收设备和第二蓝牙接收设备需要接收到的数据量。根据前述举例,第一蓝牙接收设备和第二蓝牙接收设备所需接收的数据量可表示为4。
2、根据平均传输带宽,对第二音频数据进行数据拆分。
根据前述内容,第一声道的传输带宽为5,第二声道的传输带宽为3。其中,第一蓝牙接收设备能够接收到的数据量为5,实际需要接收到的数据量为4;第二蓝牙接收设备能够接收到的数据量为3,实际需要接收到的数据量为4。此时,第二蓝牙接收设备需要通过第一蓝牙接收设备来接收1个单位的数据量,第一蓝牙接收设备可视为对该1个单位的数据量进行中转传输的设备。
基于此,蓝牙发送设备需要对第二声道对应的第二音频数据进行数据拆分,以便于将第二音频数据拆分为两部分,分别通过第一蓝牙接收设备和第二蓝牙接收设备进行传输。
示例性的,蓝牙发送设备可根据平均传输带宽对第二音频数据进行数据拆分。其中,将拆分位数对应的比特位上的数据确定为第二音频数据中待传输的低位数据,将处拆分位数对应的比特位上的数据之外的数据确定为第二音频数据中待传输的高位数据。
可选的,拆分位数根据如下信息中的至少一个确定:
·第二音频数据对应的一帧数据的数据量;
示意性的,一帧数据的数据量根据音频数据的位数确定。比如,第二音频数据是32位,则第二音频数据对应的一帧数据的数据量为32位。
·音频压缩率;
示意性的,音频压缩率根据音频资源和压缩算法确定,音频资源由蓝牙发送设备获取得到,压缩算法根据实际需要设定。
其中,蓝牙发送设备可获取待传输的音频资源;对待传输的音频资源进行PCM解码,得到第一音频数据和第二音频数据。比如,蓝牙发送设备是手机,用户在手机上选择一首歌进行播放,手机获取到该首歌对应的音频资源;手机对该音频资源进行PCM解码,得到第一音频数据和第二音频数据。
音频压缩率根据编码方式的不同而有所不同。一般情况下,在进行无损音频压缩编码(Lossless)的情况下,音频压缩率的范围在50%-100%之间;在进行有损音频压缩编码的情况下,音频压缩率的范围在5%-100%之间。可选的,音频压缩率的范围在50%-80%之间。比如,根据音频资源和压缩算法,将100M的歌曲压缩为60M,则音频压缩率是60%。
可选的,音频压缩率可以是无损音频压缩编码所对应的压缩率,无损音频压缩编码可以是FLAC。
·平均传输带宽。
示意性的,平均传输带宽根据第一声道和第二声道的传输带宽确定。其中,第一声道和第二声道的传输带宽由蓝牙发送设备测量得到。
根据上述信息,能够得到平均传输带宽和拆分位数的映射关系,表示如下:
第二音频数据对应的一帧数据的数据量×音频压缩率×(第二音频数据的总位数-拆分位数)/第二音频数据的总位数<平均传输带宽。
其中,拆分位数是满足上述映射关系的位数。
以第二音频数据是32位为例。则第二音频数据对应的一帧数据的数据量为32位,音频压缩率可根据音频资源和第一终端所对应的压缩算法确定,平均传输带宽根据第一声道和第二声道的传输带宽确定。随后,根据上述映射关系,能够计算得到拆分位数。
比如,通过计算得到拆分位数小于3.9。基于拆分位数应当是正整数,可对计算得到的拆分位数进行取整。其中,取整可采取如下方式中的一种:向下取整、向上取整、四舍五入。比如,可将拆分位数确定为低3位或低4位。可选的,为使得数据传输效果最佳,对拆分位数进行的取整采用四舍五入的方式。可选的,在计算得到的拆分位数小于1的情况下,将拆分位数确定为低1位。
3、编码和组包。
根据前述内容,蓝牙发送设备在对第二音频数据进行数据拆分后,能够将第二音频数据拆分为两部分,分别是:第二音频数据中待传输的高位数据、第二音频数据中待传输的低位数据。
随后,蓝牙发送设备对第一音频数据、第二音频数据中待传输的高位数据、第二音频数据中待传输的低位数据分别进行编码,得到对应的三个编码包。以得到的三个编码包分别是编码包1、编码包2和编码包3为例,编码包1中包括第一音频数据,编码包2中包括第二音频数据中待传输的高位数据,编码包3中包括第二音频数据中待传输的低位数据。
以第一音频数据和第二音频数据均为32位,拆分位数是低8位为例,图4示出了本申请一个示例性实施例提供的数据拆分的示意图。其中,编码包1中包括32位的第一音频数据,编码包2中包括第二音频数据的高24位的音频数据,编码包3中包括第二音频数据中待传输的低8位的低位数据。
参考前述举例,第一声道的传输带宽为5,第二声道的传输带宽为3,平均传输带宽为4。其中,第二蓝牙接收设备需要通过第一蓝牙接收设备来接收1个单位的数据量。
相应的,蓝牙发送设备向第一蓝牙接收设备发送5个单位的数据量,4个单位的数据量用于传输第一音频数据,1个单位的数据量用于发送第二音频数据中待传输的低位数据;蓝牙发送设备向第二蓝牙接收设备发送3个单位的数据量,3个单位的数据量用于传输第二音频数据中待传输的高位数据。
根据前述举例,蓝牙发送设备向第一蓝牙接收设备发送的5个单位的数据量分别是:4个单位的数据量用于传输32位的第一音频数据(即编码包1中的数据),1个单位的数据量用于发送第二音频数据的低8位的低位数据(即编码包3中的数据)。蓝牙发送设备向第二蓝牙接收设备发送3个单位的数据量用于传输第二音频数据的高24位的高位数据(即编码包2中的数据)。
基于此,蓝牙发送设备可将编码包1和编码包3进行组包,得到第一音频编码包,将编码包2确定为第二音频编码包。随后,将第一音频编码包发送给第一蓝牙接收设备,将第二音频编码包发送给第二蓝牙接收设备。
在一种可选的实现场景下,第一蓝牙接收设备在接收到第一音频编码包后,可对其进行拆包,并将编码包2发送给第二蓝牙接收设备,以使得第二蓝牙接收设备能够获取到第二音频数据的低8位的低位数据。
以第一声道的传输带宽为5,第二声道的传输带宽为3为例,根据本申请实施例提供的数据编码方法,能够使得两个声道的总传输带宽能力达到8,从而实现总传输带宽的最大化利用。
综上所述,本申请实施例提供的音频编码方法中,通过在第一音频编码包中携带第二声道中待传输的低位数据,以便于第二声道中待传输的低位数据能够经第一蓝牙接收设备转发给第二蓝牙接收设备,从而使得第一声道和第二声道的总传输带宽达到最大化利用。
图5示出了本申请一个示例性实施例提供的数据解码方法的流程图,该方法由第一蓝牙接收设备执行,第一蓝牙接收设备与第一声道对应,包括如下步骤:
步骤302:接收第一音频编码包。
示意性的,第一音频编码包中至少包括第一声道对应的第一音频数据中待传输的数据和第二声道对应的第二音频数据中待传输的低位数据。
其中,第一音频数据、第二音频数据、第一音频编码包的相关描述可参考前述内容,不再赘述。
在一种可选的实现场景下,若第一子包和/或第二子包传输失败,蓝牙发送设备可再次向第一蓝牙接收设备发送第一子包和/或第二子包。比如,第一子包发送失败,蓝牙发送设备可向第一蓝牙接收设备重传第一子包。
步骤304:对第一音频编码包进行解码,得到第三音频数据。
示意性的,第三音频数据的位数与第一音频数据的位数相同。
根据前述内容,第一音频编码包可选地包括第一子包和第二子包,第一子包中包括第一音频数据中待传输的数据,第二子包中包括第二音频数据中待传输的低位数据。第一蓝牙接收设备在获取到第一音频编码后,可对第一音频编码包进行拆包,以得到第一子包和第二子包。
随后,第一蓝牙接收设备可对第一子包进行解码,以得到解码后的音频数据,解码后的音频数据可以是PCM数据;第一蓝牙接收设备可根据解码后的音频数据确定第三音频数据。
根据前述内容,蓝牙发送设备可确定是否对第一音频数据进行高位截取。基于此,根据解码后的音频数据确定第三音频数据有如下两种实现方式:
1、蓝牙发送设备未对第一音频数据进行高位截取。
在第一子包中包括第一音频数据的情况下,对第一子包进行解码,将解码后的音频数据确定为第三音频数据。
2、蓝牙发送设备对第一音频数据进行高位截取。
在第一子包中包括第一音频数据中待传输的数据的情况下,对第一子包进行解码,将解码后的音频数据确定为第一解码数据,第一解码数据是蓝牙发送设备对第一音频数据的低位数据进行删除后得到的音频数据;
在第一解码数据之后增加低位数据,得到第三音频数据,增加的低位数据的位数与第一音频数据中删除的低位数据的第一位数相同。
其中,蓝牙发送设备对第一音频数据的低位数据进行删除的过程,即为对第一音频数据进行高位截取的过程;第一音频数据中删除的低位数据的第一位数的确定,可参考拆分位数的确定方式。
可选的,第一位数根据如下信息中的至少一个确定:第一音频数据对应的一帧数据的数据量;音频压缩率;第一声道和第二声道的平均传输带宽。
根据上述信息,以第一位数是i为例,能够得到如下映射关系:
第一音频数据对应的一帧数据的数据量×音频压缩率×(第一音频数据的总位数-i)/第一音频数据的总位数<平均传输带宽。
其中,第一位数是满足上述映射关系的位数。
根据前述内容,在对第一音频数据进行高位截取的情况下,第一子包中包括第一音频数据中待传输的数据。第一蓝牙接收设备在对第一子包进行解码后,得到的第一解码数据应当是第一音频数据中待传输的数据。
其中,第一解码数据,也可理解为蓝牙发送设备对第一音频数据的低位数据进行删除后得到的音频数据。应当理解的是,在对第一子包进行解码时,解码后的音频数据与原始数据存在细微差别,也即解码后的音频数据可能存在损失。示例性的,在蓝牙发送设备对第一子包进行无损压缩的情况下,第一蓝牙接收设备得到的第一解码数据与第一音频数据中待传输的数据完全一致;在蓝牙发送设备对第一子包进行有损压缩的情况下,第一蓝牙接收设备得到的第一解码数据与第一音频数据中待传输的数据存在细微差别,该差别不影响后续操作。
随后,第一蓝牙接收设备在第一解码数据之后增加低位数据,以使得第三音频数据的位数与第一音频数据的位数相同。其中,增加的低位数据的位数与第一位数相同。
可选的,第一子包中携带有第一位数信息,第一位数信息用于指示第一音频数据中删除的低位数据的第一位数。
可选的,增加的低位数据的比特位上的数据全为零;或者,增加的低位数据的比特位上的数据全为一;或者,增加的低位数据的比特位上的数据是零或一中的任意一个。
比如,在第一解码数据之后增加的低位数据,增加的低位数据的比特位上的数据全为零。又如,在第一解码数据之后增加的低位数据,将第一解码数据中与第一位数相同的数据确定为增加的低位数据。又如,在第一解码数据之后增加低位数据,对于增加的的每个低位数据分别随机赋予零或一的值。
以第一音频数据是32位为例,图6示出了本申请一个示例性实施例提供的音频传输的示意图。参考图6,在编码阶段,蓝牙发送设备对第一音频数据的低位数据进行删除,且第一音频数据中删除的低位数据的第一位数是低8位。在解码阶段,第一蓝牙接收设备对第一子包进行解码,得到24位的第一解码数据;同时,根据第一位数信息,第一蓝牙接收设备确定第一位数为低8位。
随后,第一蓝牙接收设备在24位的第一解码数据之后增加低8位的低位数据。其中,增加的低位数据全为零,或增加的低位数据全为一,或第一蓝牙接收设备为增加的低8位的每一位低位数据随机赋予零或一的值,或第一蓝牙接收设备将24位的第一解码数据中的低8位的低位数据确定为24位的第一解码数据之后增加的低8位的低位数据。
可选的,第一蓝牙接收设备在对第一音频编码包进行拆包后,可得到第一子包和第二子包;为使得第二声道对应的第二蓝牙接收设备能够获取到第二音频数据中待传输的低位数据,第一蓝牙接收设备可将第二子包发送给第二蓝牙接收设备。
综上所述,本申请实施例提供的数据解码方法中,通过接收至少包括第一声道对应的第一音频数据中待传输的数据和第二音频数据中待传输的低位数据的第一音频编码包,第一蓝牙接收设备可对第一音频编码包的解码,来得到与第一音频数据的位数相同的第三音频数据。
可选的,第一蓝牙接收设备还可以将第二音频数据中待传输的低位数据发送给第二声道对应的第二蓝牙接收设备,以满足第二声道的传输需求。
图7示出了本申请一个示例性实施例提供的数据解码方法的流程图,该方法由第二蓝牙接收设备执行,第二蓝牙接收设备与第二声道对应,包括如下步骤:
步骤402:接收第二音频编码包。
示意性的,第二音频编码包中包括第二声道对应的第二音频数据中待传输的高位数据。
第二音频数据和第二音频编码包的相关描述可参考前述内容,不再赘述。
步骤404:对第二音频编码包进行解码,得到第四音频数据。
示意性的,第四音频数据的位数与第二音频数据的位数相同。
在获取到第二音频编码包之后,第二蓝牙接收设备对第二音频编码包进行解码,得到解码后的音频数据。可选的,解码后的音频数据是PCM数据。
应当理解的是,在对第二音频编码包进行解码时,解码后的音频数据与原始数据存在细微差别,也即解码后的音频数据可能存在损失。示例性的,在蓝牙发送设备对第二音频编码包进行无损压缩的情况下,第二蓝牙接收设备得到的解码后的音频数据与第二音频数据中待传输的高位数据完全一致;在蓝牙发送设备对第二音频编码包进行有损压缩的情况下,第二蓝牙接收设备得到的解码后的音频数据与第二音频数据中待传输的高位数据存在细微差别,该差别不影响后续操作。
随后,第二蓝牙接收设备根据解码后的音频数据确定第四音频数据。应当理解的是,不同情况下确定的第四音频数据不同。比如,蓝牙发送设备未对第二音频数据进行高位截取的情况下,在解码后的音频数据之后增加低位数据,得到与第二音频数据的位数相同的第二音频数据,增加的低位数据的位数是第一音频编码包中包括的第二音频数据中待传输的低位数据的位数。
可选的,第二蓝牙接收设备还可以接收第一蓝牙接收设备发送的第二子包,第二子包是第一音频编码中的子包,第二子包中包括第二音频数据中待传输的低位数据。
其中,第二子包存在传输成功和传输失败两种可能性。根据不同的情况,第四音频数据的确定有如下两种实现方式:
1、第二子包传输成功。
在第二子包传输成功的情况下,步骤404可实现为如下:
对第二音频编码包进行解码,得到第二解码数据;
对第二子包进行解码,得到第三解码数据;
根据第二解码数据和第三解码数据,确定第四音频数据。
其中,第二解码数据是第二音频数据中待传输的高位数据,第三解码数据是第二音频数据中待传输的低位数据。示例性的,对第二音频编码包和第二子包的解码存在时间差,第二音频编码包的接收时间早于第二子包的接收时间。比如,第二蓝牙接收设备接收第二音频编码包,在5ms之后接收第二子包。
根据前述内容,蓝牙发送设备可确定是否对第二音频数据进行高位截取。基于此,根据第二解码数据和第三解码数据确定第四音频数据有如下两种实现方式:
(1)蓝牙发送设备未对第二音频数据进行高位截取。
在蓝牙发送设备未对第二音频数据的低位数据进行删除的情况下,将第二解码数据和第三解码数据按照第二音频数据的高低位进行排列后得到的音频数据,确定为第四音频数据。
比如,蓝牙发送设备对32位的第二音频数据进行数据拆分,将低8位的低位数据确定为第二子包中包括的第二音频数据中待传输的低位数据,则第二音频数据中待传输的低位数据的位数是低8位。同时,第二音频编码包中包括的第二音频数据的高24位的高位数据。
基于此,第二蓝牙接收设备得到的第二解码数据是第二音频数据中的高24位的高位数据,第三解码数据是第二音频数据中的低8位的低位数据。随后,第二蓝牙接收设备按照第二音频数据的高低位对第二解码数据和第三解码数据进行排序,以得到32位的第四音频数据。
(2)蓝牙发送设备对第二音频数据进行高位截取。
在蓝牙发送设备对第二音频数据的低位数据进行删除的情况下,将第二解码数据和第三解码数据按照第二音频数据的高低位进行排列后得到的音频数据,确定为第五音频数据;
在第五音频数据之后增加低位数据,得到第四音频数据,增加的低位数据的位数与第二音频数据中删除的低位数据的第二位数相同。
其中,第二位数的确定,可参考拆分位数的确定方式。
可选的,第二位数根据如下信息中的至少一个确定:第二音频数据对应的一帧数据的数据量;音频压缩率;第一声道和第二声道的平均传输带宽。
根据上述信息,以第二位数是n为例,能够得到如下映射关系:
第二音频数据对应的一帧数据的数据量×音频压缩率×(第二音频数据的总位数-n)/第二音频数据的总位数<平均传输带宽。
其中,第二位数是满足上述映射关系的位数。
可选的,第二音频编码包或第二子包中携带有第二位数信息,第二位数信息用于指示第二音频数据中删除的低位数据的第二位数。
可选的,增加的低位数据的比特位上的数据全为零;或者,增加的低位数据的比特位上的数据全为一;或者,增加的低位数据的比特位上的数据是零或一中的任意一个。
以第二音频数据是32位为例,图8示出了第二子包传输成功的音频传输的示意图。其中,在编码阶段,蓝牙发送设备对32位的第二音频数据进行高位截取,保留高24位的高位数据,删除掉低8位的低位数据,则第二位数为低8位。
随后,蓝牙发送设备对24位的第二音频数据进行数据拆分,将低8位的低位数据确定为第二子包中包括的第二音频数据中待传输的低位数据,则第二音频数据中待传输的低位数据的位数是低8位。同时,第二音频编码包中包括的第二音频数据的高16位的高位数据。
基于此,在解码阶段,第二蓝牙接收设备对第二音频编码包进行解码,得到的第二解码数据是24位的第二音频数据中的高16位的高位数据,得到的第三解码数据是24位的第二音频数据中的低8位的低位数据;对第二子包进行解码。
随后,第二蓝牙接收设备按照第二音频数据的高低位对第二解码数据和第三解码数据进行排序,得到24位的第五音频数据。基于得到的24位的第五音频数据,第二蓝牙接收设备在24位的第五音频数据之后增加低8位的低位数据,以得到32位的第四音频数据。
2、第二子包传输失败。
在第二子包传输失败的情况下,步骤404可实现为如下:
在第二子包传输失败的情况下,对第二音频编码包进行解码,得到第二解码数据;
在第二解码数据之后增加低位数据,得到第四音频数据。
其中,第二解码数据是第二音频数据中待传输的高位数据。
根据前述内容,蓝牙发送设备可确定是否对第二音频数据进行高位截取。基于此,根据第二解码数据确定第四音频数据有如下两种实现方式:
(1)蓝牙发送设备未对第二音频数据进行高位截取。
在蓝牙发送设备未对第二音频数据的低位数据进行删除的情况下,在第二解码数据之后增加具有第三位数的低位数据,得到第四音频数据;
其中,第三位数是第二子包中包括的第二音频数据中待传输的低位数据的位数。
根据前述内容,以第二音频数据是32位为例,在蓝牙发送设备未对第二音频数据的低位数据进行删除的情况下,第二音频数据中待传输的低位数据应当是32位的第二音频数据中的低n位。
比如,第二音频数据中待传输的低位数据是低8位的低位数据,则第三位数是低8位。第二蓝牙接收设备在对第二音频编码包进行解码后,得到24位的第二解码数据;在24位的第二解码数据之后增加低8位的低位数据,以得到32位的第四音频数据。
可选的,增加的低位数据的比特位上的数据全为零;或者,增加的低位数据的比特位上的数据全为一;或者,增加的低位数据的比特位上的数据是零或一中的任意一个。
(2)蓝牙发送设备对第二音频数据进行高位截取。
在蓝牙发送设备对第二音频数据的低位数据进行删除的情况下,在第二解码数据之后增加具有第四位数的低位数据,得到第四音频数据;
其中,第四位数是第二子包中包括的第二音频数据中待传输的低位数据的位数、和第二音频数据中删除的低位数据的第二位数之和。
第二音频数据中删除的低位数据,即为蓝牙发送设备对第二音频数据进行高位截取后删除掉的低位数据。比如,蓝牙发送设备对32位的第二音频数据进行高位截取,保留高24位的高位数据,删除掉低8位的低位数据,则第二位数为低8位。
第二音频数据中待传输的低位数据的位数的确定、第二位数的确定,可参考前述内容,不再赘述。
可选的,第二位数根据如下信息中的至少一个确定:第二音频数据对应的一帧数据的数据量;音频压缩率;第一声道和第二声道的平均传输带宽。
可选的,第二音频编码包或第二子包中携带有第二位数信息,第二位数信息用于指示第一音频数据中删除的低位数据的第一位数。
可选的,增加的低位数据的比特位上的数据全为零;或者,增加的低位数据的比特位上的数据全为一;或者,增加的低位数据的比特位上的数据是零或一中的任意一个。
以第二音频数据是32位为例,图9示出了第二子包传输失败的音频传输的示意图。其中,在编码阶段,蓝牙发送设备对32位的第二音频数据进行高位截取,保留高24位的高位数据,删除掉低8位的低位数据,则第二位数为低8位。
随后,蓝牙发送设备对24位的第二音频数据进行数据拆分,将低8位的低位数据确定为第二子包中包括的第二音频数据中待传输的低位数据,则第二音频数据中待传输的低位数据的位数是低8位。同时,第二音频编码包中包括的第二音频数据的高16位的高位数据。
基于上述举例能够得到,第四位数是删除掉的低8位和拆分时的低8位之和,即低16位。
在解码阶段,第二蓝牙接收设备对第二音频编码包进行解码,得到16位的第二解码数据;随后,第二蓝牙接收设备在16位的第二解码数据之后增加低16位的低位数据,以得到32位的第四音频数据。
在一种可选的实现场景下,若第二子包传输失败,第一蓝牙接收设备可再次向第二蓝牙接收设备发送第二子包,以提高第二蓝牙接收设备获取到第二音频数据中待传输的低位数据的可能性。
综上所述,本申请实施例提供的数据解码方法中,第二蓝牙接收设备通过接收第二音频编码包,能够获取到第二声道对应的第二音频数据中待传输的高位数据,并据此得到与第二音频数据的位数相同的第四音频数据。
可选的,第二蓝牙接收设备还可以接收第一蓝牙接收设备发送的第二子包,以获取到第二音频数据中的待传输的低位数据。根据第二音频编码包得到的第二解码数据和第二子包得到的第三解码数据,以得到第四音频数据。
可选的,第二蓝牙接收设备还可以在第二解码数据之后增加低位数据,以得到与第二音频数据的位数相同的第四音频数据。
图10示出了本申请一个示例性实施例提供的数据传输方法的流程图。其中,第一蓝牙接收设备和第二蓝牙接收设备可构成一个蓝牙系统,第一蓝牙接收设备与第一声道对应,第二蓝牙接收设备与第二声道对应。本申请实施例提供的方法包括如下步骤:
步骤501:生成第一音频编码包和第二音频编码包。
示意性的,第一音频编码包中至少包括第一声道对应的第一音频数据中待传输的数据和第二声道对应的第二音频数据中待传输的低位数据。
第一音频数据和第二音频数据的相关描述可参考前述内容,不再赘述。
可选的,第一音频数据和第二音频数据是对待传输的音频资源进行PCM解码后得到的PCM数据。其中,第一音频数据是第一声道对应的音频数据,第二音频数据是第二声道对应的音频数据。
示意性的,本申请实施例中所涉及的第一音频数据和第二音频数据,用于指示根据音频资源进行PCM解码后得到的PCM数据中的全部数据。其中,第一音频数据也可视为第一声道对应的初始PCM数据,第二音频数据也可是为第二声道对应的初始PCM数据。可选的,初始PCM数据,也可称之为原始PCM数据。
在一种可选的实施场景下,第一声道和第二声道的传输带宽不同。示例性的,以下均以第一声道是高带宽声道,第二声道是低带宽声道,第一声道对应的数据传输量将大于第二声道对应的数据传输量为例。
可选的,在第一声道和第二声道的平均传输带宽不满足传输需求的情况下,需要对第一音频数据和/或第二音频数据的低位数据进行删除,也可视为对第一音频数据和/或第二音频数据的高位截取,以尽可能地保留第一音频数据和/或第二音频数据的高位数据。
其中,高位截取的相关描述可参考前述内容,不再赘述。
以第一声道是高带宽声道,第二声道是低带宽声道为例,蓝牙发送设备在对第二音频数据进行拆分后,可将第二音频数据中待传输的低位数据携带在第一音频编码包中进行发送。在一种可选的实施场景下,第二音频数据中待传输的低位数据经第一蓝牙接收设备转发给第二蓝牙接收设备,以使得低带宽声道所对应的低位数据能够借助高带宽声道对应的第一蓝牙接收设备进行转发,进而使得两个声道的总传输带宽达到最大化利用。
可选的,第一音频编码包中包括第一子包和第二子包,第一子包中至少包括第一音频数据中待传输的数据,第二子包中包括第二音频数据中待传输的高位数据。此时,第一蓝牙接收设备在接收到第一音频编码包后可进行拆包,随后将第二子包发送给第二蓝牙接收设备。
其中,蓝牙发送设备对第二音频数据进行数据拆分、以及分别编码和组包的过程可参考前述内容,不再赘述。
步骤502:第一蓝牙接收设备接收蓝牙发送设备发送的第一音频编码包。
示意性的,第一音频编码包中包括第一声道对应的第一音频数据和第二声道对应的第二音频数据的低位数据。
其中,第一音频数据、第二音频数据、第一音频编码包的相关描述可参考前述内容,不再赘述。
在一种可选的实现场景下,若第一子包和/或第二子包传输失败,蓝牙发送设备可再次向第一蓝牙接收设备发送第一子包和/或第二子包。比如,第一子包发送失败,蓝牙发送设备可向第一蓝牙接收设备重传第一子包。
步骤503:第一蓝牙接收设备对第一音频编码包进行解码,得到第三音频数据。
示意性的,第三音频数据的位数与第一音频数据的位数相同。
根据前述内容,第一音频编码包可选地包括第一子包和第二子包。第一蓝牙接收设备可通过拆包得到第一子包;随后,第一蓝牙接收设备可对第一子包进行解码,以得到解码后的音频数据,解码后的音频数据可以是PCM数据;第一蓝牙接收设备可根据解码后的音频数据确定第三音频数据。
根据前述内容,蓝牙发送设备可确定是否对第一音频数据进行高位截取。基于此,根据解码后的音频数据确定第三音频数据有如下两种实现方式。其中,两种实现方式可参考步骤304,不再赘述。
第一蓝牙接收设备在对第一音频编码包进行拆包后,可得到第二子包。可选的,第一蓝牙接收设备可将第二子包发送给第二蓝牙接收设备,以便于传输第二音频数据中待传输的低位数据,满足第二声道的传输需求。
步骤504:第二蓝牙接收设备接收蓝牙发送设备发送的接收第二音频编码包。
示意性的,第二音频编码包中包括第二声道对应的第二音频数据中待传输的高位数据。
第二音频数据和第二音频编码包的相关描述可参考前述内容,不再赘述。
步骤505:第二蓝牙接收设备对第二音频编码包进行解码,得到第四音频数据。
示意性的,第四音频数据的位数与第二音频数据的位数相同。
在获取到第二音频编码包之后,第二蓝牙接收设备对第二音频编码包进行解码,得到解码后的音频数据。可选的,解码后的音频数据是PCM数据。
随后,第二蓝牙接收设备根据解码后的音频数据确定第四音频数据。
可选的,在第二蓝牙接收设备还可以接收第一蓝牙接收设备发送的第二子包,第二子包是第一音频编码中的子包,第二子包中包括第二音频数据中待传输的低位数据。
根据前述内容,第二子包存在传输成功和传输失败两种可能性。
其中,在第二子包传输成功的情况下,第二蓝牙接收设备可通过对第二音频编码包进行解码得到第二解码数据,对第二子包解码得到第三解码数据,随后根据第二解码数据和第三解码数据确定第四音频数据。
根据前述内容,蓝牙发送设备可确定是否对第一音频数据进行高位截取。基于此,根据第二解码数据和第三解码数据确定第四音频数据有如下两种实现方式,两种实现方式可参考步骤404,不再赘述。
在第二子包传输失败的情况下,第二蓝牙接收设备可对第二音频编码包进行解码,得到第二解码数据;在第二解码数据之后增加低位数据,得到第四音频数据。
根据前述内容,蓝牙发送设备可确定是否对第一音频数据进行高位截取。基于此,根据第二解码数据确定第四音频数据有如下两种实现方式,两种实现方式可参考步骤404,不再赘述。
以第一音频数据和第二音频数据均为32位为例,图11示出了本申请一个示例性实施例提供的音频传输的示意图。
首先,蓝牙发送设备对第一音频数据和第二音频数据进行高位截取,删除低8位的低位数据,保留高24位的高位数据,分别得到24位的第一音频数据和24位的第二音频数据。
其次,蓝牙发送设备对24位的第一音频数据进行编码得到第一子包。其中,第一子包中包括32位的第一音频数据的高24位的高位数据。
随后,蓝牙发送设备对24位的第二音频数据进行数据拆分,将24位的第二音频数据中的低8位的低位数据确定为待传输的低位数据,并对其进行编码得到第二子包,对24位的第二音频数据中的高16位的高位数据进行编码以得到第二音频编码包。为便于传输,蓝牙发送设备将第一子包和第二子包进行组包,以得到第一音频编码包。
在完成编码、组包之后,蓝牙发送设备将第一音频编码包发送给第一蓝牙接收设备,将第二音频编码包发送给第二蓝牙接收设备。其中,第一蓝牙接收设备对第一音频编码包进行拆包以得到第一子包和第二子包,第一蓝牙接收设备将第二子包发送给第二蓝牙接收设备。
然后,第一蓝牙接收设备对第一子包进行解码,得到24位的音频数据,该24位的音频数据是32位的第一音频数据的高24位的高位数据;第二蓝牙接收设备分别对第二子包和第二音频编码包进行解码后,将解码后的音频数据按照高低位顺序进行排序,同样可以得到24位的音频数据,该24位的音频数据是32位的第二音频数据的高24位的高位数据。
最后,第一蓝牙接收设备和第二蓝牙接收设备分别在24位的音频数据之后增加低8位的低位数据,以获取到32位的音频数据。
应当理解的是,本申请实施例中,蓝牙发送设备一侧的步骤可单独成为数据编码方法的一个实施例,第一蓝牙接收设备一侧和第二蓝牙接收设备一侧均可单独成为数据解码方法的一个实施例,数据编码方法和数据解码方法步骤的具体阐释可参考前述内容。
综上所述,本申请实施例提供的数据传输方法中,通过在第一音频编码包中携带第二声道的低位数据,以便于第二声道中待传输的低位数据能够经第一蓝牙接收设备转发给第二蓝牙接收设备,从而使得第一声道和第二声道的总传输带宽达到最大化利用。
在图10的基础上,图12示出了本申请一个示例性实施例提供的数据传输方法的流程图。其中,步骤501可实现为步骤5011-5015;步骤503可实现为步骤5031和步骤5032;本申请提供的数据传输方法还包括步骤506,在包括步骤506的情况下,步骤505可实现为步骤5051和步骤5052。具体如下:
步骤5011:蓝牙发送设备对第一音频数据中待传输的数据进行编码,得到第一子包。
根据前述内容,在对第一音频数据中待传输的数据进行编码之前,蓝牙发送设备可判断是否对第一音频数据进行高位截取。示例性的,蓝牙发送设备测量得到第一声道和第二声道对应的蓝牙带宽,随后计算得到平均传输带宽。在平均传输带宽满足第一音频数据的传输需求的情况下,不对第一音频数据进行高位截取;在平均传输带宽不满足第一音频数据的传输需求的情况下,对第一音频数据进行高位截取,得到高位截取后的第一音频数据。
应当理解的是,第一音频数据的编码可根据前述内容中的高位截取进行。若未对第一音频数据进行高位截取,则将第一音频数据作为待传输的数据进行编码以得到第一子包;若对第一音频数据进行高位截取,则将高位截取后的第一音频数据作为待传输的数据进行编码以得到第一子包。
可选的,步骤5011可实现为如下:
将第一音频数据作为待传输的数据进行编码,得到第一子包;
或者,
根据第一声道对应的传输带宽,对第一音频数据的低位数据进行删除;将删除后的第一音频数据作为待传输的数据进行编码,得到第一子包。
以第一音频数据是32位为例。若未对第一音频数据进行高位截取,则对32位的第一音频数据直接进行编码以得到第一子包,第一子包中包括32位的第一音频数据。若对第一音频数据进行高位截取,删除低i位的低位数据,得到删除低i位的第一音频数据;则对低i位的第一音频数据进行编码以得到第一子包,第一子包中包括第一音频数据的高32-i位的高位数据。
比如,删除32位的第一音频数据中的低8位,得到24位的第一音频数据。随后,对24位的第一音频数据进行编码以得到第一子包,第一子包中包括32位的第一音频数据中的高24位。
其中,第一音频数据中删除的低位数据的第一位数的相关描述可参考前述内容,不再赘述。
可选的,第一位数,根据如下信息中的至少一个确定:第一音频数据对应的一帧数据的数据量;音频压缩率;第一声道和第二声道的平均传输带宽。
可选的,第一子包中携带有第一位数信息,第一位数信息用于指示第一音频数据中删除的低位数据的第一位数。
步骤5012:蓝牙发送设备对第二音频数据进行数据拆分,确定第二音频数据中待传输的低位数据和高位数据。
与第一音频数据的编码类似,蓝牙发送设备可首先判断是否对第二音频数据进行高位截取,再针对未进行高位截取、或进行高位截取后的第二音频数据进行数据拆分。
其中,若未对第二音频数据进行高位截取,蓝牙发送设备可直接对第二音频数据进行拆分,以确定第二音频数据中待传输的低位数据和高位数据。若对第二音频数据进行高位截取,则蓝牙发送设备需要对高位截取后的第二音频数据进行拆分,得到的第二音频数据中待传输的低位数据和高位数据也应当是针对高位截取后的第二音频数据。
以第二音频数据是32位为例。其中,若未对第二音频数据进行高位截取,蓝牙发送设备对32位的第二音频数据进行拆分,得到的第二音频数据中待传输的低位数据和高位数据,应当是32位的第二音频数据所对应的低位数据和高位数据。若对第二音频数据进行高位截取,删除低n位的低位数据,得到删除低n位的第二音频数据,则蓝牙发送设备对删除低n位的第二音频数据进行拆分,得到的第二音频数据中待传输的低位数据和高位数据,应当是删除低n位的第二音频数据所对应的低位数据和高位数据。
可选的,步骤5012可实现为如下:
根据第二声道对应的传输带宽,对第二音频数据的低位数据进行删除;
对删除后的第二音频数据进行数据拆分,确定删除后的第二音频数据中待传输的低位数据和高位数据。
示意性的,对第二音频数据的低位数据进行删除,也可理解为对第二音频数据进行高位截取,删除第二音频数据的低n位的低位数据,保留第二音频数据的高位数据,得到删除后的第二音频数据。
可选的,第二音频数据中删除的低位数据的第二位数,根据如下信息中的至少一个确定:第二音频数据对应的一帧数据的数据量;音频压缩率;第一声道和第二声道的平均传输带宽。
可选的,第二音频编码包或第二子包中携带有第二位数信息,第二位数信息用于指示第二音频数据中删除的低位数据的第二位数。
其中,对第二音频数据的低位数据进行删除的相关描述可参考前述内容,不再赘述。
示意性的,第二音频数据的数据拆分,可根据第一声道和第二声道的传输带宽确定。以第一声道是高带宽声道,第二声道是低带宽声道为例,则第一声道对应的数据传输量将大于第二声道对应的数据传输量。在一种可选的实现场景下,第二声道对应的数据传输量无法传输第二音频数据的全部数据,第一声道对应的数据传输量除传输第一音频数据之外,还剩余一定数量的可承载数据的带宽,该部分带宽处于闲置状态。此时,为使得第一声道和第二声道的总传输带宽得到最大化利用,可将第二声道中无法传输的数据量通过第一声道进行传输。
可选的,步骤5012可实现为如下:
在第一声道和第二声道的传输带宽不同的情况下,对第二音频数据进行数据拆分,确定第二音频数据中待传输的低位数据和高位数据。
其中,传输带宽不同,也可理解为第一声道和第二声道的传输带宽能力不同。比如,第一声道的传输带宽能力是5,第二声道的传输带宽能力是3。此时,第一声道可视为高带宽声道,第二声道可视为低带宽声道,第一声道对应的数据传输量将大于第二声道对应的数据传输量。
根据前述内容,在第一声道和第二声道的传输带宽不同的情况下,可根据第一声道和第二声道的平均传输带宽,对第二声道对应的音频数据进行拆分,确定第二音频数据中待传输的低位数据和高位数据。
其中,蓝牙发送设备对第一声道和第二声道的蓝牙带宽进行测量,根据第一声道和第二声道的传输带宽计算得到平均传输带宽。比如,第一声道的传输带宽能力是5,第二声道的传输带宽能力是3,则第一声道和第二声道的平均传输带宽应当是(5+3)/2=4。
根据前述内容,根据第一声道和第二声道的平均传输带宽,可对第二声道对应的音频数据进行拆分,具体可实现为如下:
根据平均传输带宽,确定第一声道和第二声道的平均传输量;
根据平均传输量,对第二声道对应的音频数据进行拆分,确定第二音频数据中待传输的低位数据和高位数据。
其中,数据传输量受数据压缩率和传输带宽的影响,可通过如下式子表示:数据传输量×数据压缩率=传输带宽。数据压缩率可根据实际需要设定,传输带宽由蓝牙发送设备测量得到。类似的,第一声道和第二声道的平均传输量可通过如下式子计算得到:平均传输量×数据压缩率=平均传输带宽。为便于描述,以下仍然以前述举例中的5、3、4来表示对应的传输量。
应当理解的是,传输带宽应当是蓝牙音频带宽,蓝牙音频带宽通过蓝牙带宽确定,具体可参考前述内容,不再赘述。
在确定平均传输量后,能够确定第一蓝牙接收设备和第二蓝牙接收设备需要接收到的数据量。根据前述举例,第一蓝牙接收设备和第二蓝牙接收设备所需接收的数据量可表示为4。
可选的,根据平均传输带宽对第二声道对应的音频数据进行的拆分,还可具体实现为如下:
根据平均传输带宽,将拆分位数对应的比特位上的数据确定为第二音频数据中待传输的低位数据,将除拆分位数对应的比特位上的数据之外的数据确定为第二音频数据中待传输的高位数据。
根据前述举例,第一声道的传输带宽为5,第二声道的传输带宽为3。其中,第一蓝牙接收设备能够接收到的数据量为5,实际需要接收到的数据量为4;第二蓝牙接收设备能够接收到的数据量为3,实际需要接收到的数据量为4。此时,第二蓝牙接收设备需要通过第一蓝牙接收设备来接收1个单位的数据量,第一蓝牙接收设备可视为对该1个单位的数据量进行中转传输的设备。
基于此,蓝牙发送设备需要对第二声道对应的第二音频数据进行数据拆分,以便于将第二音频数据拆分为两部分,分别通过第一蓝牙接收设备和第二蓝牙接收设备进行传输。
示例性的,蓝牙发送设备可根据平均传输带宽对第二音频数据进行数据拆分。其中,将拆分位数对应的比特位上的数据确定为第二音频数据中待传输的低位数据,将处拆分位数对应的比特位上的数据之外的数据确定为第二音频数据中待传输的高位数据。
可选的,拆分位数根据如下信息中的至少一个确定:第二音频数据对应的一帧数据的数据量;音频压缩率;平均传输带宽。
示例性的,平均传输带宽和拆分位数之间具有如下映射关系:
第二音频数据对应的一帧数据的数据量×音频压缩率×(第二音频数据的总位数-拆分位数)/第二音频数据的总位数<平均传输带宽。
其中,拆分位数是满足上述映射关系的位数。
以第二音频数据是32位为例。则第二音频数据对应的一帧数据的数据量为32位,音频压缩率可根据音频资源和第一终端所对应的压缩算法确定,平均传输带宽根据第一声道和第二声道的传输带宽确定。随后,根据上述映射关系,能够计算得到拆分位数。
拆分位数的确定的相关描述可参考前述内容,不再赘述。
在图1的基础上,图13示出了本申请一个示例性实施例提供的音频传输的示意图,图14示出了本申请一个示例性实施例提供的音频传输的示意图。
其中,在采用本申请实施例提供的数据编码方法后,编码过程中增加了如下步骤:第二音频数据的数据拆分。
其中,该步骤由蓝牙发送设备执行。
示例性的,在对音频资源进行PCM解码后,根据第一声道和第二声道,蓝牙发送设备将得到的PCM数据分别确定为第一音频数据和第二音频数据。随后,蓝牙发送设备对第二音频数据进行拆分,以便于将第二音频数据中待传输的低位数据携带在第一声道中传输的第一音频编码包中进行传输。
参考图14,蓝牙发送设备位于人体头部的左侧,则位于左侧的第一蓝牙接收设备的蓝牙信号强度将大于第二蓝牙接收设备的蓝牙强度。假设左侧声道为第一声道,右侧声道为第二声道,则第一声道的传输能力将大于第二声道的传输能力。
仍然参考前述举例,第一声道的传输带宽为5,第二声道的传输带宽为3。假设第一音频数据和第二音频数据的数据量均为4,在采用本申请实施例提供的数据编码方法后,蓝牙发送设备对第二音频数据进行拆分,分别拆分为3个单位的数据量和1个单位的数据量;随后,蓝牙发送设备将1个单位的数据量编码后随第一音频数据(4个单位的数据量)的编码包一起发送给第一蓝牙接收设备,将3个单位的数量编码后发送给第二蓝牙接收设备。
也即,蓝牙发送设备向第一蓝牙接收设备发送5个单位的数据量,向第二蓝牙接收设备发送3个单位的数据量。随后,第一蓝牙接收设备将1个单位的数据量发送给第二蓝牙接收设备,以使得第二蓝牙接收设备能够获取到3+1=4个单位的数据量。
因此,参考图13和图14,采用本申请实施例提供的数据传输方法,能够使得第一声道和第二声道的总传输带宽得到最大化利用。
步骤5013:蓝牙发送设备对第二音频数据中待传输的低位数据进行编码,得到第二子包。
以第二音频数据是32位,拆分位数是低8位为例,则可将低8位对应的比特位上的数据确定为第二音频数据中待传输的低位数据,将第二音频数据中除低8位对应的比特位上的数据之外的其他数据确定为第二音频数据中待传输的高位数据。
随后,蓝牙发送设备对32位的第二音频数据中的低8位的低位数据进行编码,得到第二子包。
步骤5014:蓝牙发送设备对第二音频数据中待传输的高位数据进行编码,得到第二音频编码包。
根据前述举例,蓝牙发送设备将第二音频数据中除低8位对应的比特位上的数据之外的其他数据确定为第二音频数据中待传输的高位数据。也即,在对第二音频数据进行拆分后,得到的第二音频数据中待传输的高位数据,应当是是32位的第二音频数据中的高24位的高位数据。
随后,蓝牙发送设备对32位的第二音频数据中的高24位的高位数据进行编码,得到第二音频编码包。
步骤5015:蓝牙发送设备将第一子包和第二子包进行组包,得到第一音频编码包。
为便于传输,在编码得到第一子包和第二子包后,蓝牙发送设备可对其进行组包,以得到第一音频编码包。为进一步阐述第一音频编码包的生成,图15示出了本申请一个示例性实施例提供的数据编码方法的流程图,该方法由蓝牙发送设备执行。
其中,蓝牙发送设备首先测量第二声道的蓝牙带宽,以得到第二声道的平均传输带宽,随后判断传输带宽是否满足第二音频数据的传输需求。
在传输带宽满足第二音频数据的传输需求的情况下,蓝牙发送设备保留第二音频数据的全部数据。在传输带宽不满足第二音频数据的传输需求的情况下,蓝牙发送设备对第二音频数据进行数据拆分,以得到第二音频数据中待传输的低位数据和高位数据。
其中,第二音频数据的数据拆分可参考步骤5012中的相关描述。
随后,蓝牙发送设备对第二音频数据中待传输的低位数据进行编码,得到第二子包。另外,蓝牙发送设备对第一音频数据进行编码,得到第一音频编码包。最后,蓝牙发送设备将第一子包和第二子包进行组包,得到第一音频编码包,将其发送给第一蓝牙接收设备。
以第一声道的传输带宽是5,第二声道的传输带宽是3为例,图16示出了本申请一个示例性实施例提供的音频传输的示意图。
其中,根据第一声道和第二声道的平均传输带宽,第二声道应当传输的第二音频数据所对应的平均数据量为4,而第二声道的传输带宽3无法满足第二音频数据的传输需求。此时,蓝牙发送设备需要对第二音频数据进行拆分。
示例性的,蓝牙发送设备将第二音频数据中的4个单位的数据量拆分为两部分,分别对应有3个单位的数据量和1个单位的数据量。其中,将1个单位的数据量进行编码后,将其组包到第一音频数据的编码包中。基于此,第二声道中应当传输的1个单位的数据量可通过第二声道进行传输。
为进一步阐明第一音频编码包和第二音频编码,图17示出了本申请一个示例性实施例提供的第一音频编码包格式的示意图,图18示出了本申请一个示例性实施例提供的第二音频编码包格式的示意图。
示意性的,参考图17,第一音频编码包中包括包头部分和数据部分。
其中,包头部分包括如下信息:
第一声道Header:包含了编码解码器(codec)的原始头部信息。
左右声道带宽不相等标志:还可称之为第一带宽标识,用于指示第一声道和第二声道的传输带宽不同。比如,1为不相等,0为相等。
高带宽声道标志:还可称之为第二带宽标识,用于指示第一声道的传输带宽高于第二声道的传输带宽。比如,1为高带宽,0为低带宽;本申请实施例以第一声道为高带宽声道为例,则高带宽声道标志为1。
时间序列码:用于指示第一音频编码包的时间信息标志,可用于组包时的时间同步和正确识别。
第一声道的校验码:对第一声道数据进行校验,以实现第一声道包的完整性验证。
第二声道的低位数据包校验码:用于实现第二声道的低位数据包的完整性验证。
第一声道的总包校验码:第一音频编码包的校验码,用于实现第一音频编码包的完整性验证。
示意性的,第一音频编码包的数据部分包括如下信息:第一声道的数据包;第二声道的低位数据包。
示意性的,参考图18,第二音频编码包中包括包头部分和数据部分。
其中,包头部分包括如下信息:
第二声道Header:包含了codec的原始头部信息。
左右声道带宽不相等标志:还可称之为第一带宽标识,用于指示第一声道和第二声道的传输带宽不同。比如,1为不相等,0为相等。
高带宽声道标志:还可称之为第三带宽标识,用于指示第二声道的传输带宽低于第一声道的传输低带宽。比如,1为高带宽,0为低带宽;本申请实施例以第二声道为低带宽声道为例,则低带宽声道标志为0。
时间序列码:用于指示第二音频编码包的时间信息标志,可用于组包时的时间同步和正确识别。
第二音频数据的高位数据包的校验码:用于实现第二音频数据的高位数据包的完整性验证。
示意性的,第二音频编码包的数据部分包括第二音频数据的高位数据包。
可选的,第一音频编码包包括如下信息中的至少一种:第一带宽标识;第二带宽标识。可选的,第二音频编码包包括如下信息中的至少一种:第一带宽标识;第三带宽标识。
根据前述内容,第一音频编码包中可选地包括第一子包和第二子包,第一子包中至少包括第一音频数据中待传输的数据,第二子包中包括第二音频数据中待传输的高位数据。此时,第一蓝牙接收设备在接收到第一音频编码包后可进行拆包,随后将第二子包发送给第二蓝牙接收设备。
基于此,第一蓝牙接收设备可执行步骤5031和步骤5032,具体如下:
步骤5031:第一蓝牙接收设备对第一音频编码包进行拆包,得到第一子包和第二子包。
示意性的,第一子包中至少包括第一音频数据中待传输的数据,第二子包中包括第二音频数据中待传输的低位数据。
其中,第一音频数据中待传输的数据、第二音频数据中待传输的低位数据的相关描述可参考前述内容,不再赘述。
参考图17,图19示出了本申请一个示例性实施例提供的第一子包格式的示意图。示意性的,第一子包中包括包头部分和数据部分。
其中,包头部分包括如下信息:
第一声道Header:包含了codec的原始头部信息。
左右声道带宽不相等标志:还可称之为第一带宽标识,用于指示第一声道和第二声道的传输带宽不同。比如,1为不相等,0为相等。
高带宽声道标志:还可称之为第二带宽标识,用于指示第一声道的传输带宽高于第二声道的传输带宽。比如,1为高带宽,0为低带宽;本申请实施例以第一声道为高带宽声道为例,则高带宽声道标志为1。
时间序列码:用于指示第一音频编码包的时间信息标志,可用于组包时的时间同步和正确识别。
第二声道的低位数据包校验码:用于实现第二声道的低位数据包的完整性验证。
第一音频编码包的数据部分包括如下第二声道的低位数据包。
参考图13,在采用本申请实施例提供的数据解码方法后,解码过程中增加了如下步骤:第一音频编码包的拆包。
其中,该步骤由第一蓝牙接收设备执行。
示例性的,第一蓝牙接收设备通过第一接收组件接收到蓝牙发送设备发送的第一音频编码包;随后,第一蓝牙接收设备对第一音频编码包进行拆包,得到第一子包和第二子包。
其中,第一子包由第一蓝牙接收设备进行PCM解码,根据得到的PCM数据确定与第一音频数据的位数相同的第三音频数据,第三音频数据的确定将在步骤5032中展开。另外,第二子包由第一蓝牙接收设备通过第一发送组件发送给第二蓝牙接收设备的第二接收组件,以便于第二蓝牙接收设备能够获取到第二音频数据中待传输的音频数据。
步骤5032:第一蓝牙接收设备对第一子包进行解码,得到第三音频数据。
示意性的,第三音频数据的位数与第一音频数据的位数相同。
在对第一音频编码包进行拆包后,第一蓝牙接收设备可获取到第一子包和第二子包。随后,第一蓝牙接收设备通过对第一子包进行处理,能够得到与第一音频数据的位数相同的第三音频数据。
可选的,第一蓝牙接收设备可将第二子包发送给第二蓝牙接收设备,以使得第二蓝牙接收设备能够获取到第二音频数据中待传输的低位数据。
根据前述内容,数据编码阶段,蓝牙发送设备在进行数据编码之前,可确定是否对第一音频数据进行高位截取。根据不同的情况下,蓝牙发送设备编码得到的第一子包不同。以下将从两个方便展开描述:
1、蓝牙发送设备未对第一音频数据进行高位截取。
根据前述内容,若蓝牙发送设备未对第一音频数据进行高位截取,则第一子包中包括第一音频数据的全部数据。以第一音频数据为32位为例,若未对第一音频数据进行高位截取,则第一子包中包括32位的第一音频数据。
可选的,步骤5032可实现为如下:
在第一子包中包括第一音频数据的情况下,对第一子包进行解码,将解码后的音频数据确定为第三音频数据。
仍然以第一音频数据为32位为例,在蓝牙发送设备未对第一音频数据进行高位截取的情况下,第一子包中包括32位的第一音频数据。第一蓝牙接收设备对第一子包进行解码,能够得到32位的第三音频数据。
根据前述内容,应当理解的是,在解码过程中,解码后的音频数据与原始数据可能存在细微差别,也即解码后的音频数据可能存在损失,但该差别不影响后续操作。
2、蓝牙发送设备对第一音频数据进行高位截取。
根据前述内容,若蓝牙发送设备对第一音频数据进行高位截取,则第一子包中包括的第一音频数据中待传输的数据。以第一音频数据为32位为例,若对第一音频数据进行高位截取,得到删除低i位的第一音频数据,则第一子包中包括的第一音频数据中待传输的数据,应当是32-i位的第一音频数据。
可选的,步骤5032可实现为如下:
在第一子包中包括第一音频数据中待传输的数据的情况下,对第一子包进行解码,得到第一解码数据,第一解码数据是对第一音频数据的低位数据进行删除后得到的音频数据;
在第一解码数据之后增加低位数据,得到第三音频数据,增加的低位数据的位数与第一音频数据中删除的低位数据的第一位数相同。
仍然以第一音频数据为32位为例。在蓝牙发送设备对第一音频数据进行高位截取的情况下,如删除低8位的低位数据,得到24位的第一音频数据,则第一子包中包括24位的第一音频数据。第一蓝牙接收设备对第一子包进行解码,能够得到24位的第一解码数据。应当理解的是,24位的第一解码数据相当于32位的第一音频数据中的高24位的高位数据。
类似的,在解码过程中,解码后得到的第一解码数据与32位的第一音频数据中的高24位的高位数据可能存在细微差别,但该差别不影响后续操作。
在得到第一解码数据后,为得到与第一音频数据的位数相同的第三音频数据,第一蓝牙接收设备可在第一解码数据之后增加低位数据。
可选的,第一位数根据如下信息中的至少一个确定:第一音频数据对应的一帧数据的数据量;音频压缩率;第一声道和第二声道的平均传输带宽。
可选的,第一子包中携带有第一位数信息,第一位数信息用于指示第一音频数据中删除的低位数据的第一位数。
可选的,增加的低位数据的比特位上的数据全为零;或者,增加的低位数据的比特位上的数据全为一;或者,增加的低位数据的比特位上的数据是零或一中的任意一个。
其中,第一位数的确定、以及增加的低位数据可参考前述内容,不再赘述。
比如,仍然以第一音频数据为32位,删除低8位的低位数据以得到24位的第一音频数据为例。第一蓝牙接收设备对第一子包进行解码,得到24位的第一解码数据。
随后,第一蓝牙接收设备在第一解码数据之后增加低8位的低位数据。其中,增加低8位的低位数据的比特位上的数据全为零。或者,第一蓝牙接收设备将第一解码数据中的低8位的低位数据确定为第一解码数据之后增加的低8位的低位数据。或者,第一蓝牙接收设备对于增加的低8位的每个低位数据分别随机赋予零或一的值。
可选的,本申请实施例提供的数据传输方法还包括如下:
步骤506:第二蓝牙接收设备接收第一蓝牙接收设备发送的第二子包。
在对第一音频编码包进行拆包后,第一蓝牙接收设备可获取到第二子包。可选的,为使得第二声道能够获取到第二音频数据中带传输的低位数据,第一蓝牙接收设备还可将第二子包发送给第二蓝牙接收设备。
其中,第二子包的相关描述可参考前述内容,不再赘述。
应当理解的是,第一蓝牙接收设备向第二蓝牙接收设备发送第二子包时,存在第二子包传输成功和传输失败两种可能性。在图10的基础上,若本申请实施例提供的数据传输方法包括步骤506的情况下,则步骤505可实现为步骤5051和步骤5052。其中,步骤5051和步骤5052择一执行,不可同时执行。以下将从第二子包传输成功和传输失败两个方面展开:
1、第二子包传输成功,第二蓝牙接收设备执行步骤5051。
步骤5051:对第二音频编码包进行解码,得到第二解码数据;在第二子包传输成功的情况下,对第二子包进行解码,得到第三解码数据;根据第二解码数据和第三解码数据,确定第四音频数据。
其中,第二解码数据是第二音频数据中待传输的高位数据,第三解码数据是第二音频数据中待传输的低位数据。示例性的,对第二音频编码包和第二子包的解码存在时间差,第二音频编码包的接收时间早于第二子包的接收时间。比如,第二蓝牙接收设备接收第二音频编码包,在5ms之后接收第二子包。
与第一解码数据类似,在解码过程中,解码后得到的解码数据与原始数据可能存在细微差别,但该差别不影响后续操作。为便于描述,本申请实施例中不对解码中的细微差别单独描述,默认解码后的数据与原始数据保持一致,但该默认不对本申请造成限定。
根据前述内容,蓝牙发送设备可确定是否对第二音频数据进行高位截取。可选的,根据蓝牙发送设备是否对第二音频数据进行高位截取,根据第二解码数据和第三解码数据确定第四音频数据有如下两种实现方式:
(1)蓝牙发送设备未对第二音频数据进行高位截取。
可选的,在蓝牙发送设备未对第二音频数据的低位数据进行删除的情况下,步骤5051可实现为如下:
对第二音频编码包进行解码,得到第二解码数据;
在第二子包传输成功的情况下,对第二子包进行解码,得到第三解码数据;
将第二解码数据和第三解码数据按照第二音频数据的高低位进行排列后得到的音频数据,确定为第四音频数据。
比如,蓝牙发送设备对32位的第二音频数据进行数据拆分,将低8位的低位数据确定为第二子包中包括的第二音频数据中待传输的低位数据,则第二音频数据中待传输的低位数据的位数是低8位。同时,第二音频编码包中包括的第二音频数据的高24位的高位数据。
基于此,第二蓝牙接收设备得到的第二解码数据是第二音频数据中的高24位的高位数据,第三解码数据是第二音频数据中的低8位的低位数据。随后,第二蓝牙接收设备按照第二音频数据的高低位对第二解码数据和第三解码数据进行排序,以得到32位的第四音频数据。
(2)蓝牙发送设备对第二音频数据进行高位截取。
可选的,在蓝牙发送设备对第二音频数据的低位数据进行删除的情况下,步骤5051可实现为如下:
对第二音频编码包进行解码,得到第二解码数据;
在第二子包传输成功的情况下,对第二子包进行解码,得到第三解码数据;
将第三解码数据和第二解码数据按照第二音频数据的高低位进行排列后得到的音频数据,确定为第五音频数据;
在第五音频数据之后增加低位数据,得到第四音频数据,增加的低位数据的位数与第二音频数据中删除的低位数据的第二位数相同。
其中,第二位数的确定,可参考前述内容。
可选的,第二位数根据如下信息中的至少一个确定:第二音频数据对应的一帧数据的数据量;音频压缩率;第一声道和第二声道的平均传输带宽。
可选的,第二音频编码包或第二子包中携带有第二位数信息,第二位数信息用于指示第二音频数据中删除的低位数据的第二位数。
可选的,增加的低位数据的比特位上的数据全为零;或者,增加的低位数据的比特位上的数据全为一;或者,增加的低位数据的比特位上的数据是零或一中的任意一个。
以第二音频数据是32位为例,若蓝牙发送设备对32位的第二音频数据进行高位截取,保留高24位的高位数据,删除掉低8位的低位数据,则第二位数为低8位。
随后,蓝牙发送设备对24位的第二音频数据进行数据拆分,将低8位的低位数据确定为第二子包中包括的第二音频数据中待传输的低位数据,则第二音频数据中待传输的低位数据的位数是低8位。同时,第二音频编码包中包括的第二音频数据的高16位的高位数据。
基于此,第二蓝牙接收设备对第二音频编码包进行解码,得到的第三解码数据是24位的第二音频数据中的低8位的低位数据;对第二子包进行解码,得到的第二解码数据是24位的第二音频数据中的高16位的高位数据。
随后,第二蓝牙接收设备按照第二音频数据的高低位对第三解码数据和第二解码数据进行排序,得到24位的第五音频数据。基于得到的24位的第五音频数据,第二蓝牙接收设备在24位的第五音频数据之后增加低8位的低位数据,以得到32位的第四音频数据。
参考图13,在采用本申请实施例提供的数据解码方法后,解码过程中增加了如下步骤:第二子包和第二音频编码包的解码数据的组合。
其中,该步骤由第二蓝牙接收设备执行。
示例性的,第二蓝牙接收设备通过第二接收组件接收到第一蓝牙接收设备的第一接收组件发送的第二子包。随后,第二蓝牙接收设备对第二音频编码包进行解码,得到第二解码数据;在第二子包接收成功的情况下,第二蓝牙接收设备对第二子包进行解码,得到第三解码数据。随后,第二蓝牙接收设备可对第二解码数据和第三解码数据进行组合,将两个解码数据按照第二音频数据的高低位进行排序,以得到与第二音频数据的位数相同的第四音频数据。
2、第二子包传输失败,第二蓝牙接收设备执行步骤5052。
步骤5052:在第二子包传输失败的情况下,对第二音频编码包进行解码,得到第二解码数据;在第二解码数据之后增加低位数据,得到第四音频数据。
其中,第二解码数据是第二音频数据中待传输的高位数据。
第二解码数据的相关描述参考前述内容,不再赘述。
与步骤5051类似,根据蓝牙发送设备是否对第二音频数据进行高位截取,根据第二解码数据确定第四音频数据有如下两种实现方式:
(1)蓝牙发送设备未对第二音频数据进行高位截取。
可选的,在蓝牙发送设备未对第二音频数据的低位数据进行删除的情况下,步骤5052可实现为如下:
在第二子包传输失败的情况下,对第二音频编码包进行解码,得到第二解码数据;
在第二解码数据之后增加具有第三位数的低位数据,得到第四音频数据;
其中,第三位数是第二子包中包括的第二音频数据中待传输的低位数据的位数。
仍然以第二音频数据是32位为例,在蓝牙发送设备未对第二音频数据的低位数据进行删除的情况下,第二音频数据中待传输的低位数据应当是32位的第二音频数据中的低n位。
比如,第二音频数据中待传输的低位数据是低8位的低位数据,则第三位数是低8位。第二蓝牙接收设备在对第二音频编码包进行解码后,得到24位的第二解码数据。由于第二蓝牙接收设备未接收到第二子包,为得到与第二音频数据的位数相同的第四音频数据,第二蓝牙接收设备可在24位的第二解码数据之后增加低8位的低位数据,以得到32位的第四音频数据。
可选的,增加的低位数据的比特位上的数据全为零;或者,增加的低位数据的比特位上的数据全为一;或者,增加的低位数据的比特位上的数据是零或一中的任意一个。
(2)蓝牙发送设备对第二音频数据进行高位截取。
可选的,在蓝牙发送设备对第二音频数据的低位数据进行删除的情况下,步骤5052可实现为如下:
在第二子包传输失败的情况下,对第二音频编码包进行解码,得到第二解码数据;
在第二解码数据之后增加具有第四位数的低位数据,得到第四音频数据;
其中,第四位数是第二子包中包括的第二音频数据中待传输的低位数据的位数、和第二音频数据中删除的低位数据的第二位数之和。
第二音频数据中删除的低位数据,即为蓝牙发送设备对第二音频数据进行高位截取后删除掉的低位数据。比如,蓝牙发送设备对32位的第二音频数据进行高位截取,保留高24位的高位数据,删除掉低8位的低位数据,则第二位数为低8位。
第二音频数据中待传输的低位数据的位数的确定、第二位数的确定,可参考前述内容,不再赘述。
可选的,第二位数根据如下信息中的至少一个确定:第二音频数据对应的一帧数据的数据量;音频压缩率;第一声道和第二声道的平均传输带宽。
可选的,第二音频编码包或第二子包中携带有第二位数信息,第二位数信息用于指示第一音频数据中删除的低位数据的第一位数。
可选的,增加的低位数据的比特位上的数据全为零;或者,增加的低位数据的比特位上的数据全为一;或者,增加的低位数据的比特位上的数据是零或一中的任意一个。
仍然以第二音频数据是32位为例。蓝牙发送设备对32位的第二音频数据进行高位截取,保留高24位的高位数据,删除掉低8位的低位数据,则第二位数为低8位。
随后,蓝牙发送设备对24位的第二音频数据进行数据拆分,将低8位的低位数据确定为第二子包中包括的第二音频数据中待传输的低位数据,则第二音频数据中待传输的低位数据的位数是低8位。同时,第二音频编码包中包括的第二音频数据的高24位的高位数据。
基于上述举例能够得到,第四位数是删除掉的低8位和拆分时的低8位之和,即低16位。
第二蓝牙接收设备对第二音频编码包进行解码后,得到24位的第二解码数据;随后,第二蓝牙接收设备在24位的第二解码数据之后增加低8位的低位数据,以得到32位的第四音频数据。
在一种可选的实现场景下,若第二子包传输失败,第一蓝牙接收设备可再次向第二蓝牙接收设备发送第二子包,以提高第二蓝牙接收设备获取到第二音频数据中待传输的低位数据的可能性。
对比图1和图13,在采用本申请实施例提供的数据编码方法和数据解码方法后,音频传输过程中增加了如下三个步骤:
(1)第二音频数据的数据拆分。
其中,该步骤由蓝牙发送设备执行。
示例性的,在对音频资源进行PCM解码后,根据第一声道和第二声道,蓝牙发送设备将得到的PCM数据分别确定为第一音频数据和第二音频数据。随后,蓝牙发送设备对第二音频数据进行拆分,以便于将第二音频数据中待传输的低位数据携带在第一声道中传输的第一音频编码包中进行传输。
(2)第一音频编码包的拆包。
其中,该步骤由第一蓝牙接收设备执行。
示例性的,第一蓝牙接收设备通过第一接收组件接收到蓝牙发送设备发送的第一音频编码包;随后,第一蓝牙接收设备对第一音频编码包进行拆包,得到第一子包和第二子包。
其中,第一子包由第一蓝牙接收设备进行PCM解码,根据得到的PCM数据确定与第一音频数据的位数相同的第三音频数据。另外,第二子包由第一蓝牙接收设备通过第一发送组件发送给第二蓝牙接收设备的第二接收组件,以便于第二蓝牙接收设备能够获取到第二音频数据中待传输的音频数据。
(3)第二子包和第二音频编码包的解码数据的组合。
其中,该步骤由第二蓝牙接收设备执行。
示例性的,第二蓝牙接收设备通过第二接收组件接收到第一蓝牙接收设备的第一接收组件发送的第二子包。随后,第二蓝牙接收设备对第二音频编码包进行解码,得到第二解码数据;在第二子包接收成功的情况下,第二蓝牙接收设备对第二子包进行解码,得到第三解码数据。随后,第二蓝牙接收设备可对第二解码数据和第三解码数据进行组合,将两个解码数据按照第二音频数据的高低位进行排序,以得到与第二音频数据的位数相同的第四音频数据。
应当理解的是,本申请实施例中,蓝牙发送设备一侧的步骤可单独成为数据编码方法的一个实施例,第一蓝牙接收设备一侧和第二蓝牙接收设备一侧均可单独成为数据解码方法的一个实施例,数据编码方法和数据解码方法步骤的具体阐释可参考前述内容。
综上所述,本申请实施例提供的数据传输方法中,通过在第一音频编码包中携带第二声道的低位数据,以便于第二声道中待传输的低位数据能够经第一蓝牙接收设备转发给第二蓝牙接收设备,从而使得第一声道和第二声道的总传输带宽达到最大化利用。
可选的,本申请实施例还给出了第一子包的两种编码方式,根据蓝牙发送设备是否对第一音频数据进行高位截取来确定第一子包中包括的数据信息。
可选的,本申请实施例还给出了第二音频数据的数据拆分的实现方式,在充分利用传输带宽的情况下,尽可能地将第二音频数据中待传输的高位数据保留在第二音频编码包中,同时将第二音频数据中带传输的低位数据通过第一音频编码包进行发送。
可选的,本申请实施例还给出了根据第一子包确定与第一音频数据的位数相同的第三音频数据的实现方式。无论蓝牙发送设备是否对第一音频数据进行高位截取,第一蓝牙接收设备均可根据第一子包解码后得到的音频数据来确定第三音频数据,从而在第一蓝牙接收设备端恢复第一音频数据的原始位数,以保证第一音频数据的传输质量。
可选的,本申请实施例还给出了根据第二音频编码包确定与第二音频编码的位数相同的第四音频数据的实现方式。与第一蓝牙接收设备类似的,无论蓝牙发送设备是否对第二音频数据进行高位截取,和/或物理第二蓝牙接收设备是否接收到第一蓝牙接收设备发送的第一子包,第二蓝牙接收设备均可根据解码后得到的音频数据来确定第四音频数据,从而在第二蓝牙接收设备端恢复第二音频数据的原始位数,以保证第二音频数据的传输质量。
应当理解的是,前述内容中提供的多个实施例可组合实现。
示例性的,数据编码方法可由蓝牙发送设备实现为如下:
步骤1-1:获取第一声道和第二声道的蓝牙音频带宽。
其中,在第一声道和第二声道的带宽能力不同的情况下,执行如下步骤。
步骤1-2:根据第一声道和第二声道的平均传输带宽,确定第一声道和第二声道的平均传输量。
步骤1-3:判断是否对第一声道对应的第一音频数据和第二声道对应的第二音频数据进行高位截取。该步骤为可选步骤,在蓝牙音频带宽不满足传输需求的情况下执行,若满足则可跳过。其中,蓝牙音频带宽的确定可参考前述内容,不再赘述。
步骤1-4:根据平均传输量,对第二音频数据进行数据拆分,得到第二音频数据中待传输的低位数据和高位数据。
步骤1-5:生成第一子包、第二子包和第二音频编码包,将第一子包和第二子包组包得到第一音频编码包。
其中,第一子包中至少包括第一音频数据中待传输的数据,第二子包中包括第二音频数据中待传输的低位数据,第二音频编码包中包括第二音频数据中待传输的高位数据。
步骤1-6:在第一音频编码包和第二音频编码包中增加包头信息,将第一音频编码包发送给第一蓝牙接收设备,将第二音频编码包发送给第二蓝牙接收设备。
示例性的,数据解码方法可由第一蓝牙接收设备实现为如下:
步骤2-1:接收蓝牙发送设备发送的第一音频编码包。
步骤2-2:对第一音频编码包进行拆包,以得到第一子包和第二子包。
步骤2-3:对第一子包进行解码,得到与第一音频数据的位数相同的第三音频数据。
其中,根据蓝牙发送设备是否执行步骤1-3,步骤2-3有如下两种实现方式:
实现方式一:蓝牙发送设备未对第一音频数据进行高位截取,第一蓝牙接收设备对第一子包进行解码,将解码后的音频数据确定为第三音频数据;
实现方式二:蓝牙发送设备对第一音频数据进行高位截取,第一蓝牙接收设备对第一子包进行解码,将解码后的音频数据确定为第一解码数据;在第一解码数据之后增加低位数据,得到第三音频数据,增加的低位数据的位数与第一音频数据中删除的低位数据的第一位数相同。
步骤2-4:将第二子包发送给第二蓝牙接收设备。
示例性的,数据解码方法可由第二蓝牙接收设备实现为如下:
步骤3-1:接收蓝牙发送设备发送的第二音频编码包。
步骤3-2:接收第一蓝牙接收设备发送的第二子包。
其中,在第二子包发送成功的情况下,执行步骤3-3-1;在第二子包发送失败的情况下,执行步骤3-3-2。步骤3-3-1和步骤3-3-2具体如下:
步骤3-3-1:对第二音频编码包进行解码,得到第二解码数据;在第二子包传输成功的情况下,对第二子包进行解码,得到第三解码数据;根据第二解码数据和第三解码数据,确定与第二音频数据的位数相同的第四音频数据。
其中,与步骤2-3类似,根据蓝牙发送设备是否执行步骤1-3,步骤3-3-1有如下两种实现方式:
实现方式一:蓝牙发送设备未对第二音频数据进行高位截取,第二蓝牙接收设备对第二音频编码包进行解码,得到第二解码数据;对第二子包进行解码,得到第三解码数据;将第二解码数据和第三解码数据按照第二音频数据的高低位进行排列后得到的音频数据,确定为第四音频数据;
实现方式二:蓝牙发送设备对第二音频编码包进行解码,得到第二解码数据;对第二音频数据进行高位截取,第二蓝牙接收设备对第二子包进行解码,得到第三解码数据;将第二解码数据和第三解码数据按照第二音频数据的高低位进行排列后得到的音频数据,确定为第五音频数据;在第五音频数据之后增加低位数据,得到第四音频数据,增加的低位数据的位数与第二音频数据中删除的低位数据的第二位数相同。
步骤3-3-2:在第二子包传输失败的情况下,对第二音频编码包进行解码,得到第二解码数据;在第二解码数据之后增加低位数据,得到第四音频数据。
其中,与步骤2-3类似,根据蓝牙发送设备是否执行步骤1-3,步骤3-3-2有如下两种实现方式:
实现方式一:蓝牙发送设备未对第二音频数据进行高位截取,第二蓝牙接收设备对第二音频编码包进行解码,得到第二解码数据;在第二解码数据之后增加具有第三位数的低位数据,得到第四音频数据,第三位数是第二子包中包括的第二音频数据中待传输的低位数据的位数;
实现方式二:蓝牙发送设备对第二音频数据进行高位截取,第二蓝牙接收设备对第二音频编码包进行解码,得到第二解码数据;在第二解码数据之后增加具有第四位数的低位数据,得到第四音频数据;其中,第四位数是第二子包中包括的第二音频数据中待传输的低位数据的位数、和第二音频数据中删除的低位数据的第二位数之和。
上述步骤所涉及的相关描述可参考前述内容,不再赘述。
同时,尚未列举的组合实现方式均在本申请保护范围之内,不再赘述。
以下为本申请的装置实施例,对于装置实施例中未详细描述的细节,可以结合参考上述方法实施例中相应的记载,本文不再赘述。
图20示出了本申请一个示例性实施例提供的数据编码装置的示意图,该装置包括:
编码模块2010,用于生成第一音频编码包和第二音频编码包;
其中,第一音频编码包中至少包括第一声道对应的第一音频数据中待传输的数据和第二声道对应的第二音频数据中待传输的低位数据,第二音频编码包中包括第二音频数据中待传输的高位数据。
可选的,第一音频编码包中包括第一子包和第二子包,第一子包中至少包括第一音频数据中待传输的数据,第二子包中包括第二音频数据中待传输的低位数据。
可选的,编码模块2010,用于对第一音频数据中待传输的数据进行编码,得到第一子包;对第二音频数据进行数据拆分,确定第二音频数据中待传输的低位数据和高位数据;对第二音频数据中待传输的低位数据进行编码,得到第二子包;对第二音频数据中待传输的高位数据进行编码,得到第二音频编码包;将第一子包和第二子包进行组包,得到第一音频编码包。
可选的,编码模块2010,用于在第一声道和第二声道的传输带宽不同的情况下,对第二音频数据进行数据拆分,确定第二音频数据中待传输的低位数据和高位数据。
可选的,编码模块2010,用于根据第一声道和第二声道的平均传输带宽,对第二声道对应的音频数据进行拆分,确定第二音频数据中待传输的低位数据和高位数据。
可选的,编码模块2010,用于根据平均传输带宽,将拆分位数对应的比特位上的数据确定为第二音频数据中待传输的低位数据,将除拆分位数对应的比特位上的数据之外的数据确定为第二音频数据中待传输的高位数据。
可选的,拆分位数根据如下信息中的至少一个确定:第二音频数据对应的一帧数据的数据量;音频压缩率;平均传输带宽。
可选的,编码模块2010,用于根据平均传输带宽,确定第一声道和第二声道的平均传输量;根据平均传输量,对第二声道对应的音频数据进行拆分,确定第二音频数据中待传输的低位数据和高位数据。
可选的,编码模块2010,用于将第一音频数据作为待传输的数据进行编码,得到第一子包;或者,根据第一声道对应的传输带宽,对第一音频数据的低位数据进行删除;将删除后的第一音频数据作为待传输的数据进行编码,得到第一子包。
可选的,第一音频数据中删除的低位数据的第一位数,根据如下信息中的至少一个确定:第一音频数据对应的一帧数据的数据量;音频压缩率;第一声道和第二声道的平均传输带宽。
可选的,第一子包中携带有第一位数信息,第一位数信息用于指示第一音频数据中删除的低位数据的第一位数。
可选的,编码模块2010,用于根据第二声道对应的传输带宽,对第二音频数据的低位数据进行删除;对删除后的第二音频数据进行数据拆分,确定删除后的第二音频数据中待传输的低位数据和高位数据。
可选的,第二音频数据中删除的低位数据的第二位数,根据如下信息中的至少一个确定:第二音频数据对应的一帧数据的数据量;音频压缩率;第一声道和第二声道的平均传输带宽。
可选的,第二音频编码包或第二子包中携带有第二位数信息,第二位数信息用于指示第二音频数据中删除的低位数据的第二位数。
可选的,第一音频编码包还包括如下信息中的至少一种:第一带宽标识,第一带宽标识用于指示第一声道和第二声道的传输带宽不同;第二带宽标识,第二带宽标识用于指示第一声道的传输带宽高于第二声道的传输带宽。
可选的,第二音频编码包还包括如下信息中的至少一种:第一带宽标识,第一带宽标识用于指示第一声道和第二声道的传输带宽不同;第三带宽标识,第三带宽标识用于指示第二声道的传输带宽低于第一声道的传输低带宽。
图21示出了本申请一个示例性实施例提供的数据解码装置的示意图,该装置包括:
接收模块2110,用于接收第一音频编码包,第一音频编码包中至少包括第一声道对应的第一音频数据中待传输的数据和第二声道对应的第二音频数据中待传输的低位数据;
解码模块2020,用于对第一音频编码包进行解码,得到第三音频数据,第三音频数据的位数与第一音频数据的位数相同。
可选的,解码模块2020,用于对第一音频编码包进行拆包,得到第一子包和第二子包,第一子包中至少包括第一音频数据中待传输的数据,第二子包中包括第二音频数据中待传输的低位数据;对第一子包进行解码,得到第三音频数据。
可选的,解码模块2020,用于在第一子包中包括第一音频数据的情况下,对第一子包进行解码,将解码后的音频数据确定为第三音频数据。
可选的,解码模块2020,用于在第一子包中包括第一音频数据中待传输的数据的情况下,对第一子包进行解码,得到第一解码数据,第一解码数据是对第一音频数据的低位数据进行删除后得到的音频数据;在第一解码数据之后增加低位数据,得到第三音频数据,增加的低位数据的位数与第一音频数据中删除的低位数据的第一位数相同。
可选的,第一音频数据中删除的低位数据的第一位数,根据如下信息中的至少一个确定:第一音频数据对应的一帧数据的数据量;音频压缩率;第一声道和第二声道的平均传输带宽。
可选的,第一子包中携带有第一位数信息,第一位数信息用于指示第一音频数据中删除的低位数据的第一位数。
可选的,增加的低位数据的比特位上的数据全为零;或者,增加的低位数据的比特位上的数据全为一;或者,增加的低位数据的比特位上的数据是零或一中的任意一个。
可选的,该装置还包括发送模块2130,用于将第二子包发送给第二蓝牙接收设备,第二蓝牙接收设备与第二声道对应。
图22示出了本申请一个示例性实施例提供的数据解码装置的示意图,该装置包括:
接收模块2210,用于接收蓝牙发送设备发送的第二音频编码包,第二音频编码包中包括第二声道对应的第二音频数据中待传输的高位数据;
解码模块2220,用于对第二音频编码包进行解码,得到第四音频数据,第四音频数据的位数与第二音频数据的位数相同。
可选的,接收模块2210,还用于接收第一蓝牙接收设备发送的第二子包,第一蓝牙接收设备与第一声道对应,第二子包是第一音频编码包中的子包,第二子包中包括第二音频数据中待传输的低位数据。
可选的,解码模块2220,用于对第二音频编码包进行解码,得到第二解码数据;在第二子包传输成功的情况下,对第二子包进行解码,得到第三解码数据;根据第二解码数据和第三解码数据,确定第四音频数据。
可选的,解码模块2220,用于在蓝牙发送设备未对第二音频数据的低位数据进行删除的情况下,将第二解码数据和第三解码数据按照第二音频数据的高低位进行排列后得到的音频数据,确定为第四音频数据。
可选的,解码模块2220,用于在蓝牙发送设备对第二音频数据的低位数据进行删除的情况下,将第二解码数据和第三解码数据按照第二音频数据的高低位进行排列后得到的音频数据,确定为第五音频数据;在第五音频数据之后增加低位数据,得到第四音频数据,增加的低位数据的位数与第二音频数据中删除的低位数据的第二位数相同。
可选的,第二音频数据中删除的低位数据的第二位数,根据如下信息中的至少一个确定:第二音频数据对应的一帧数据的数据量;音频压缩率;第一声道和第二声道的平均传输带宽。
可选的,第二音频编码包或第二子包中携带有第二位数信息,第二位数信息用于指示第二音频数据中删除的低位数据的第二位数。
可选的,增加的低位数据的比特位上的数据全为零;或者,增加的低位数据的比特位上的数据全为一;或者,增加的低位数据的比特位上的数据是零或一中的任意一个。
可选的,解码模块2220,用于在第二子包传输失败的情况下,对第二音频编码包进行解码,得到第三解码数据;在第三解码数据之后增加低位数据,得到第四音频数据。
可选的,解码模块2220,用于在蓝牙发送设备未对第二音频数据的低位数据进行删除的情况下,在第三解码数据之后增加具有第三位数的低位数据,得到第四音频数据;其中,第三位数是第二子包中包括的第二音频数据中待传输的低位数据的位数。
可选的,增加的低位数据的比特位上的数据全为零;或者,增加的低位数据的比特位上的数据全为一;或者,增加的低位数据的比特位上的数据是零或一中的任意一个。
可选的,解码模块2220,用于在蓝牙发送设备对第二音频数据的低位数据进行删除的情况下,在第三解码数据之后增加具有第四位数的低位数据,得到第四音频数据;其中,第四位数是第二子包中包括的第二音频数据中待传输的低位数据的位数、和第二音频数据中删除的低位数据的第二位数之和。
可选的,第二音频数据中删除的低位数据的第二位数,根据如下信息中的至少一个确定:第二音频数据对应的一帧数据的数据量;音频压缩率;第一声道和第二声道的平均传输带宽。
可选的,第二音频编码包或第二子包中携带有第二位数信息,第二位数信息用于指示第一音频数据中删除的低位数据的第一位数。
可选的,增加的低位数据的比特位上的数据全为零;或者,增加的低位数据的比特位上的数据全为一;或者,增加的低位数据的比特位上的数据是零或一中的任意一个。
图23示出了本申请一个示例性实施例提供的通信设备(终端或网络设备)的结构示意图,该通信设备包括:处理器2301、接收器2302、发射器2303、存储器2304和总线2305。
处理器2301包括一个或者一个以上处理核心,处理器2301通过运行软件程序以及模块,从而执行各种功能应用以及信息处理。
接收器2302和发射器2303可以实现为一个通信组件,该通信组件可以是一块通信芯片。
存储器2304通过总线2305与处理器2301相连。
存储器2304可用于存储至少一个指令,处理器2301用于执行该至少一个指令,以实现上述方法实施例中提到的数据编码方法,或者,数据解码方法的各个步骤。
此外,存储器2304可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,易失性或非易失性存储设备包括但不限于:磁盘或光盘,电可擦除可编程只读存储器(Electrically-Erasable Programmable Read Only Memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),静态随时存取存储器(Static Random Access Memory,SRAM),只读存储器(Read-Only Memory,ROM),磁存储器,快闪存储器,可编程只读存储器(Programmable Read-Only Memory,PROM)。
本申请还供了一种蓝牙发送设备,该蓝牙发送设备包括存储器和处理器;存储器中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上所述的数据编码方法。
本申请还提供了一种第一蓝牙接收设备,该第一蓝牙接收设备包括存储器和处理器;存储器中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上所述的数据解码方法。
本申请还提供了一种第二蓝牙接收设备,该第二蓝牙接收设备包括存储器和处理器;存储器中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上所述的数据解码方法。
本申请还提供了一种蓝牙系统,该蓝牙系统包括第一蓝牙接收设备和第二蓝牙接收设备;第一蓝牙接收设备与第一声道对应,第一蓝牙接收设备用于执行如上所述的数据解码方法;第二蓝牙接收设备与第二声道对应,第二蓝牙接收设备用于执行如上所述的数据解码方法。
本申请还提供了一种计算机可读存储介质,存储介质中存储有计算机程序,所述计算机程序用于被处理器执行,以实现如上所述的数据编码方法,或者数据解码方法。
本申请还提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当安装有芯片的电子设备运行时,用于实现如上所述的数据编码方法,或者数据解码方法。
本申请还提供了一种计算机程序产品,计算机程序产品包括计算机指令,计算机指令存储在计算机可读存储介质中,处理器从计算机可读存储介质读取并执行计算机指令,以实现如上所述的数据编码方法,或者数据解码方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (49)
1.一种数据编码方法,其特征在于,所述方法由蓝牙发送设备执行,所述方法包括:
生成第一音频编码包和第二音频编码包;
其中,所述第一音频编码包中至少包括第一声道对应的第一音频数据中待传输的数据和第二声道对应的第二音频数据中待传输的低位数据,所述第二音频编码包中包括所述第二音频数据中待传输的高位数据。
2.根据权利要求1所述的方法,其特征在于,
所述第一音频编码包中包括第一子包和第二子包,所述第一子包中至少包括所述第一音频数据中待传输的数据,所述第二子包中包括所述第二音频数据中待传输的低位数据。
3.根据权利要求2所述的方法,其特征在于,所述生成第一音频编码包和第二音频编码包,包括:
对所述第一音频数据中待传输的数据进行编码,得到所述第一子包;
对所述第二音频数据进行数据拆分,确定所述第二音频数据中待传输的低位数据和高位数据;
对所述第二音频数据中待传输的低位数据进行编码,得到所述第二子包;
对所述第二音频数据中待传输的高位数据进行编码,得到所述第二音频编码包;
将所述第一子包和所述第二子包进行组包,得到所述第一音频编码包。
4.根据权利要求3所述的方法,其特征在于,所述对所述第二音频数据进行数据拆分,确定所述第二音频数据中待传输的低位数据和高位数据,包括:
在所述第一声道和所述第二声道的传输带宽不同的情况下,对所述第二音频数据进行数据拆分,确定所述第二音频数据中待传输的低位数据和高位数据。
5.根据权利要求4所述的方法,其特征在于,所述在所述第一声道和所述第二声道的传输带宽不同的情况下,对所述第二音频数据进行数据拆分,确定所述第二音频数据中待传输的低位数据和高位数据,包括:
根据所述第一声道和所述第二声道的平均传输带宽,对所述第二声道对应的音频数据进行拆分,确定所述第二音频数据中待传输的低位数据和高位数据。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一声道和所述第二声道的平均传输带宽,对所述第二声道对应的音频数据进行拆分,确定所述第二音频数据中待传输的低位数据和高位数据,包括:
根据所述平均传输带宽,将拆分位数对应的比特位上的数据确定为所述第二音频数据中待传输的低位数据,将除所述拆分位数对应的比特位上的数据之外的数据确定为所述第二音频数据中待传输的高位数据。
7.根据权利要求6所述的方法,其特征在于,所述拆分位数根据如下信息中的至少一个确定:
所述第二音频数据对应的一帧数据的数据量;
音频压缩率;
所述平均传输带宽。
8.根据权利要求5所述的方法,其特征在于,所述根据所述第一声道和所述第二声道的平均传输带宽,对所述第二声道对应的音频数据进行拆分,确定所述第二音频数据中待传输的低位数据和高位数据,包括:
根据所述平均传输带宽,确定所述第一声道和所述第二声道的平均传输量;
根据所述平均传输量,对所述第二声道对应的音频数据进行拆分,确定所述第二音频数据中待传输的低位数据和高位数据。
9.根据权利要求3所述的方法,其特征在于,所述对所述第一音频数据中待传输的数据进行编码,得到所述第一子包,包括:
将所述第一音频数据作为待传输的数据进行编码,得到所述第一子包;
或者,
根据所述第一声道对应的传输带宽,对所述第一音频数据的低位数据进行删除;将删除后的第一音频数据进行编码作为待传输的数据,得到所述第一子包。
10.根据权利要求9所述的方法,其特征在于,所述第一音频数据中删除的低位数据的第一位数,根据如下信息中的至少一个确定:
所述第一音频数据对应的一帧数据的数据量;
音频压缩率;
所述第一声道和所述第二声道的平均传输带宽。
11.根据权利要求9所述的方法,其特征在于,
所述第一子包中携带有第一位数信息,所述第一位数信息用于指示所述第一音频数据中删除的低位数据的第一位数。
12.根据权利要求3所述的方法,其特征在于,所述对所述第二音频数据进行数据拆分,确定所述第二音频数据中待传输的低位数据和高位数据,包括:
根据所述第二声道对应的传输带宽,对所述第二音频数据的低位数据进行删除;
对删除后的第二音频数据进行数据拆分,确定所述删除后的第二音频数据中待传输的低位数据和高位数据。
13.根据权利要求12所述的方法,其特征在于,所述第二音频数据中删除的低位数据的第二位数,根据如下信息中的至少一个确定:
所述第二音频数据对应的一帧数据的数据量;
音频压缩率;
所述第一声道和所述第二声道的平均传输带宽。
14.根据权利要求12所述的方法,其特征在于,
所述第二音频编码包或所述第二子包中携带有第二位数信息,所述第二位数信息用于指示所述第二音频数据中删除的低位数据的第二位数。
15.根据权利要求1至14任一所述的方法,其特征在于,所述第一音频编码包还包括如下信息中的至少一种:
第一带宽标识,所述第一带宽标识用于指示所述第一声道和所述第二声道的传输带宽不同;
第二带宽标识,所述第二带宽标识用于指示所述第一声道的传输带宽高于所述第二声道的传输带宽。
16.根据权利要求1至14任一所述的方法,其特征在于,所述第二音频编码包还包括如下信息中的至少一种:
第一带宽标识,所述第一带宽标识用于指示所述第一声道和所述第二声道的传输带宽不同;
第三带宽标识,所述第三带宽标识用于指示所述第二声道的传输带宽低于所述第一声道的传输低带宽。
17.一种数据解码方法,其特征在于,所述方法由第一蓝牙接收设备执行,所述第一蓝牙接收设备与第一声道对应,所述方法包括:
接收第一音频编码包,所述第一音频编码包中至少包括所述第一声道对应的第一音频数据中待传输的数据和第二声道对应的第二音频数据中待传输的低位数据;
对第一音频编码包进行解码,得到第三音频数据,所述第三音频数据的位数与第一音频数据的位数相同。
18.根据权利要求17所述的方法,其特征在于,所述对第一音频编码包进行解码,得到第三音频数据,包括:
对第一音频编码包进行拆包,得到第一子包和第二子包,所述第一子包中至少包括所述第一音频数据中待传输的数据,所述第二子包中包括所述第二音频数据中待传输的低位数据;
对所述第一子包进行解码,得到所述第三音频数据。
19.根据权利要求18所述的方法,其特征在于,所述对所述第一子包进行解码,得到所述第三音频数据,包括:
在所述第一子包中包括所述第一音频数据的情况下,对所述第一子包进行解码,将解码后的音频数据确定为所述第三音频数据。
20.根据权利要求18所述的方法,其特征在于,所述对所述第一子包进行解码,得到所述第三音频数据,包括:
在所述第一子包中包括所述第一音频数据中待传输的数据的情况下,对所述第一子包进行解码,得到第一解码数据,所述第一解码数据是对所述第一音频数据的低位数据进行删除后得到的音频数据;
在所述第一解码数据之后增加低位数据,得到所述第三音频数据,增加的低位数据的位数与所述第一音频数据中删除的低位数据的第一位数相同。
21.根据权利要求20所述的方法,其特征在于,所述第一音频数据中删除的低位数据的第一位数,根据如下信息中的至少一个确定:
所述第一音频数据对应的一帧数据的数据量;
音频压缩率;
所述第一声道和所述第二声道的平均传输带宽。
22.根据权利要求20所述的方法,其特征在于,
所述第一子包中携带有第一位数信息,所述第一位数信息用于指示所述第一音频数据中删除的低位数据的第一位数。
23.根据权利要求20所述的方法,其特征在于,
所述增加的低位数据的比特位上的数据全为零;
或者,所述增加的低位数据的比特位上的数据全为一;
或者,所述增加的低位数据的比特位上的数据是零或一中的任意一个。
24.根据权利要求18所述的方法,其特征在于,所述方法还包括:
将所述第二子包发送给第二蓝牙接收设备,所述第二蓝牙接收设备与所述第二声道对应。
25.一种数据解码方法,其特征在于,所述方法由第二蓝牙接收设备执行,所述第二蓝牙接收设备与第二声道对应,所述方法包括:
接收蓝牙发送设备发送的第二音频编码包,所述第二音频编码包中包括所述第二声道对应的第二音频数据中待传输的高位数据;
对所述第二音频编码包进行解码,得到第四音频数据,所述第四音频数据的位数与所述第二音频数据的位数相同。
26.根据权利要求25所述的方法,其特征在于,所述方法还包括:
接收第一蓝牙接收设备发送的第二子包,所述第一蓝牙接收设备与第一声道对应,所述第二子包是第一音频编码包中的子包,所述第二子包中包括所述第二音频数据中待传输的低位数据。
27.根据权利要求26所述的方法,其特征在于,所述对所述第二音频编码包进行解码,得到第四音频数据,包括:
对所述第二音频编码包进行解码,得到第二解码数据;
在所述第二子包传输成功的情况下,对所述第二子包进行解码,得到第三解码数据;
根据所述第二解码数据和所述第三解码数据,确定所述第四音频数据。
28.根据权利要求27所述的方法,其特征在于,所述根据所述第二解码数据和所述第三解码数据,确定所述第四音频数据,包括:
在所述蓝牙发送设备未对所述第二音频数据的低位数据进行删除的情况下,将所述第二解码数据和所述第三解码数据按照所述第二音频数据的高低位进行排列后得到的音频数据,确定为所述第四音频数据。
29.根据权利要求27所述的方法,其特征在于,所述根据所述第二解码数据和所述第三解码数据,确定所述第四音频数据,包括:
在所述蓝牙发送设备对所述第二音频数据的低位数据进行删除的情况下,将所述第二解码数据和所述第三解码数据按照所述第二音频数据的高低位进行排列后得到的音频数据,确定为第五音频数据;
在所述第五音频数据之后增加低位数据,得到所述第四音频数据,增加的低位数据的位数与所述第二音频数据中删除的低位数据的第二位数相同。
30.根据权利要求29所述的方法,其特征在于,所述第二音频数据中删除的低位数据的第二位数,根据如下信息中的至少一个确定:
所述第二音频数据对应的一帧数据的数据量;
音频压缩率;
所述第一声道和所述第二声道的平均传输带宽。
31.根据权利要求29所述的方法,其特征在于,
所述第二音频编码包或所述第二子包中携带有第二位数信息,所述第二位数信息用于指示所述第二音频数据中删除的低位数据的第二位数。
32.根据权利要求29所述的方法,其特征在于,
所述增加的低位数据的比特位上的数据全为零;
或者,所述增加的低位数据的比特位上的数据全为一;
或者,所述增加的低位数据的比特位上的数据是零或一中的任意一个。
33.根据权利要求26所述的方法,其特征在于,所述对所述第二音频编码包进行解码,得到第四音频数据,包括:
在所述第二子包传输失败的情况下,对所述第二音频编码包进行解码,得到第二解码数据;
在所述第二解码数据之后增加低位数据,得到所述第四音频数据。
34.根据权利要求33所述的方法,其特征在于,所述在所述第二解码数据之后增加低位数据,得到所述第四音频数据,包括:
在所述蓝牙发送设备未对第二音频数据的低位数据进行删除的情况下,在所述第二解码数据之后增加具有第三位数的低位数据,得到所述第四音频数据;
其中,第三位数是所述第二子包中包括的所述第二音频数据中待传输的低位数据的位数。
35.根据权利要求34所述的方法,其特征在于,
所述增加的低位数据的比特位上的数据全为零;
或者,所述增加的低位数据的比特位上的数据全为一;
或者,所述增加的低位数据的比特位上的数据是零或一中的任意一个。
36.根据权利要求33所述的方法,其特征在于,所述在所述第三解码数据之后增加低位数据,得到所述第四音频数据,包括:
在所述蓝牙发送设备对第二音频数据的低位数据进行删除的情况下,在所述第二解码数据之后增加具有第四位数的低位数据,得到所述第四音频数据;
其中,第四位数是所述第二子包中包括的所述第二音频数据中待传输的低位数据的位数、和所述第二音频数据中删除的低位数据的第二位数之和。
37.根据权利要求36所述的方法,其特征在于,所述第二音频数据中删除的低位数据的第二位数,根据如下信息中的至少一个确定:
所述第二音频数据对应的一帧数据的数据量;
音频压缩率;
所述第一声道和所述第二声道的平均传输带宽。
38.根据权利要求36所述的方法,其特征在于,
所述第二音频编码包或所述第二子包中携带有第二位数信息,所述第二位数信息用于指示所述第一音频数据中删除的低位数据的第一位数。
39.根据权利要求36所述的方法,其特征在于,
所述增加的低位数据的比特位上的数据全为零;
或者,所述增加的低位数据的比特位上的数据全为一;
或者,所述增加的低位数据的比特位上的数据是零或一中的任意一个。
40.一种数据编码装置,其特征在于,所述装置包括:
编码模块,用于生成第一音频编码包和第二音频编码包;
其中,所述第一音频编码包中至少包括第一声道对应的第一音频数据中待传输的数据和第二声道对应的第二音频数据中待传输的低位数据,所述第二音频编码包中包括所述第二音频数据中待传输的高位数据。
41.一种数据解码装置,其特征在于,所述装置包括:
接收模块,用于接收第一音频编码包,所述第一音频编码包中至少包括所述第一声道对应的第一音频数据中待传输的数据和第二声道对应的第二音频数据中待传输的低位数据;
解码模块,用于对第一音频编码包进行解码,得到第三音频数据,所述第三音频数据的位数与第一音频数据的位数相同。
42.一种数据解码装置,其特征在于,所述装置包括:
接收模块,用于接收蓝牙发送设备发送的第二音频编码包,所述第二音频编码包中包括所述第二声道对应的第二音频数据中待传输的高位数据;
解码模块,用于对所述第二音频编码包进行解码,得到第四音频数据,所述第四音频数据的位数与所述第二音频数据的位数相同。
43.一种蓝牙发送设备,其特征在于,所述蓝牙发送设备包括存储器和处理器;
所述存储器中存储有至少一条程序代码,所述程序代码由所述处理器加载并执行以实现如权利要求1至16中任一项所述的数据编码方法。
44.一种第一蓝牙接收设备,其特征在于,所述第一蓝牙接收设备包括存储器和处理器;
所述存储器中存储有至少一条程序代码,所述程序代码由所述处理器加载并执行以实现如权利要求17至24中任一项所述的数据解码方法。
45.一种第二蓝牙接收设备,其特征在于,所述第二蓝牙接收设备包括存储器和处理器;
所述存储器中存储有至少一条程序代码,所述程序代码由所述处理器加载并执行以实现如权利要求25至39中任一项所述的数据解码方法。
46.一种蓝牙系统,其特征在于,所述蓝牙系统包括第一蓝牙播放设备和第二蓝牙播放设备;
所述第一蓝牙接收设备与第一声道对应,所述第一蓝牙接收设备用于执行如权利要求17至24任一所述的数据解码方法;
所述第二蓝牙接收设备与第二声道对应,所述第二蓝牙接收设备用于执行如权利要求25至39任一所述的数据解码方法。
47.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序用于被处理器执行,以实现如权利要求1至16中任一项所述的数据编码方法,或者如权利要求17至39任一所述的数据解码方法。
48.一种芯片,其特征在于,所述芯片包括可编程逻辑电路和/或程序指令,当安装有所述芯片的电子设备运行时,用于实现如权利要求1至16中任一项所述的数据编码方法,或者如权利要求17至39任一所述的数据解码方法。
49.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现如权利要求1至16中任一项所述的数据编码方法,或者如权利要求17至39任一所述的数据解码方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210745360.9A CN115171706A (zh) | 2022-06-27 | 2022-06-27 | 数据编码方法、数据解码方法、装置、设备及介质 |
PCT/CN2023/086285 WO2024001387A1 (zh) | 2022-06-27 | 2023-04-04 | 数据编码方法、数据解码方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210745360.9A CN115171706A (zh) | 2022-06-27 | 2022-06-27 | 数据编码方法、数据解码方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115171706A true CN115171706A (zh) | 2022-10-11 |
Family
ID=83489474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210745360.9A Pending CN115171706A (zh) | 2022-06-27 | 2022-06-27 | 数据编码方法、数据解码方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115171706A (zh) |
WO (1) | WO2024001387A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024001387A1 (zh) * | 2022-06-27 | 2024-01-04 | 哲库科技(上海)有限公司 | 数据编码方法、数据解码方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108738006A (zh) * | 2018-05-31 | 2018-11-02 | 出门问问信息科技有限公司 | 基于蓝牙的数据传输方法及装置 |
CN108847248A (zh) * | 2018-06-15 | 2018-11-20 | 珠海市杰理科技股份有限公司 | 蓝牙设备音频处理方法、系统、可读存储介质和蓝牙设备 |
CN112218020A (zh) * | 2019-07-09 | 2021-01-12 | 海信视像科技股份有限公司 | 一种多声道平台音频数据传输方法及其装置 |
CN113223539A (zh) * | 2020-01-20 | 2021-08-06 | 维沃移动通信有限公司 | 一种音频传输方法及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06195884A (ja) * | 1992-10-30 | 1994-07-15 | Sony Corp | 磁気記録再生装置 |
JP3473850B2 (ja) * | 2002-03-12 | 2003-12-08 | 株式会社東芝 | オーディオ用光ディスク及び情報再生方法及び再生装置 |
CN112216290A (zh) * | 2019-07-09 | 2021-01-12 | 海信视像科技股份有限公司 | 音频数据的传输方法、装置及播放设备 |
CN115171706A (zh) * | 2022-06-27 | 2022-10-11 | 哲库科技(上海)有限公司 | 数据编码方法、数据解码方法、装置、设备及介质 |
-
2022
- 2022-06-27 CN CN202210745360.9A patent/CN115171706A/zh active Pending
-
2023
- 2023-04-04 WO PCT/CN2023/086285 patent/WO2024001387A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108738006A (zh) * | 2018-05-31 | 2018-11-02 | 出门问问信息科技有限公司 | 基于蓝牙的数据传输方法及装置 |
CN108847248A (zh) * | 2018-06-15 | 2018-11-20 | 珠海市杰理科技股份有限公司 | 蓝牙设备音频处理方法、系统、可读存储介质和蓝牙设备 |
CN112218020A (zh) * | 2019-07-09 | 2021-01-12 | 海信视像科技股份有限公司 | 一种多声道平台音频数据传输方法及其装置 |
CN113223539A (zh) * | 2020-01-20 | 2021-08-06 | 维沃移动通信有限公司 | 一种音频传输方法及电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024001387A1 (zh) * | 2022-06-27 | 2024-01-04 | 哲库科技(上海)有限公司 | 数据编码方法、数据解码方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024001387A1 (zh) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4046766B2 (ja) | 高速度データを圧縮し伝送する方法および装置 | |
CN108347302B (zh) | 一种编译码方法和终端 | |
CN108847248B (zh) | 蓝牙设备音频处理方法、系统、可读存储介质和蓝牙设备 | |
US11023412B2 (en) | RDMA data sending and receiving methods, electronic device, and readable storage medium | |
CN108631789A (zh) | 编码、译码方法及设备 | |
RU2010130186A (ru) | Сигнализация по каналу управления с использованием общего поля сигнализации для транспортного формата и версии избыточности | |
US20050002416A1 (en) | Method and apparatus for providing forward error correction | |
JP2002027023A (ja) | 無線データ送受信装置及びその方法 | |
CN110034842A (zh) | 一种传输dci的方法及装置、设备、存储介质 | |
CN103684680A (zh) | 解码经编码的数据块 | |
US11075653B2 (en) | Polar code encoding and decoding method and apparatus | |
US10805045B2 (en) | Polar code encoding method and device and polar code decoding method and device | |
WO2024001387A1 (zh) | 数据编码方法、数据解码方法、装置、设备及介质 | |
CN112583522A (zh) | 一种极化码分段编码的方法及通信设备 | |
CN108738007B (zh) | 一种音频传输方法、设备及系统 | |
US6233713B1 (en) | Method and apparatus for real-time determination of scalable channel coding scheme parameters | |
WO2005064838A1 (ja) | データを送信又は受信するための装置および方法 | |
US10523790B2 (en) | System and method of header compression for online network codes | |
CN109120373B (zh) | 一种信道编码方法、数据接收方法及相关设备 | |
CN115149964A (zh) | 一种极化码分段编码方法及相关装置 | |
EP1145457A1 (en) | Wide band radio transmission method | |
CN110167154B (zh) | 传输上行信号的方法、通信装置及计算机可读存储介质 | |
CN107079423B (zh) | 一种数据传输方法及设备 | |
MXPA05004047A (es) | Metodo y a aparato para transmitir y recibir un bloque de datos en un sistema de comunicacion. | |
CN115243238A (zh) | 传输音频数据的装置、方法以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |