本发明涉及数据交互技术领域,尤其涉及基于音频的数据传输方法、装置及存储介质。
背景技术:
在现有的嵌入式音频设备开发中,可以实现usb到音频(i2s)的转换(cp2615),将pc上的音频文件通过usb传输到嵌入式音频设备上进行播放,但是pc与嵌入式音频设备的数据交互以及系统在线编程需要通过其他接口(网口,usb,串口,jtag)来完成。这样就要求嵌入式音频设备与pc间至少需要两套及以上的通信接口,一套用于传输音频文件,其他用于数据交互和系统在线升级,导致嵌入式音频设备的成本增加,因此需要一种能够基于音频载波的数据传输方法,以使得在传输音频的时候还能够传输其他数据。
技术实现要素:
本发明提供了基于音频的数据传输方法、装置及存储介质,旨在解决上述背景技术中提及的技术问题。
本发明首先提供了一种基于音频的数据传输方法,应用于第一终端,通过所述第一终端将音频文件发送给第二终端,所述音频文件由16bit位宽大小的音频数据组成,所述音频数据的bit9、bit10、bit11和bit12均为0,所述方法包括以下步骤:
将所述音频数据设置为正弦波形的载波;
以4bits位宽为单位拆分待传输数据流,得到单位数据段,其中所述待传输数据流为非音频信息的其他数据;
将所述单位数据段按照拆分顺序依次插入所述音频数据的bit9、bit10、bit11和bit12中,得到调制数据流;其中,一所述音频数据对应一所述单位数据段;
将所述调制数据流传输到所述第二终端。
进一步的,所述单位数据段插入的所述音频数据位于所述载波的中间部分,以使得传输到所述第二终端的所述调制数据流的初始部分为未插入所述单位数据段的音频数据。
本发明还提供了一种基于音频的数据传输方法,应用于第二终端,所述方法还包括:
获取调制数据流,其中所述调制数据流是由第一终端将待传输数据流以4bits位宽拆分得到的单位数据段,按照拆分顺序依次插入设置为正弦波形的载波的所述音频数据的bit9、bit10、bit11和bit12中得到的;
监测所述音频数据中的bit9、bit10、bit11和bit12的组合数据是否非零;
当首次监测所述音频数据中的bit9、bit10、bit11和bit12的组合数据非零时,将该所述bit9、bit10、bit11和bit12的组合数据提取作为首数据,并按顺序提取后续的所述音频数据中的bit9、bit10、bit11和bit12信息组合成原始的待传输数据流,其中所述待传输数据流为非音频信息的其他数据。
进一步的,还包括特征检测步骤,包括:
检测所述调制数据流是否周期输入;
当检测到所述调制数据流以预设个数的周期输入后,开始监测所述音频数据中包含的bit9、bit10、bit11和bit12信息。
本发明还提供了一种基于音频的数据传输装置,应用于第一终端,包括:
设置模块,用于将所述音频数据设置为正弦波形的载波;
拆分模块,用于以4bits位宽为单位拆分待传输数据流,得到单位数据段,其中所述待传输数据流为非音频信息的其他数据;
调制模块,用于将所述单位数据段按照拆分顺序依次插入所述音频数据的bit9、bit10、bit11和bit12中,得到调制数据流;其中,一所述音频数据对应一所述单位数据段;
传输模块,用于将所述调制数据流传输到所述第二终端。
本发明还提供了一种基于音频的数据传输装置,应用于第二终端,包括:
获取模块,用于获取调制数据流,其中所述调制数据流是由第一终端将待传输数据流以4bits位宽拆分得到的单位数据段,按照拆分顺序依次插入设置为正弦波形的载波的所述音频数据的bit9、bit10、bit11和bit12中得到的;
监测模块,用于监测所述音频数据中的bit9、bit10、bit11和bit12的组合数据是否非零;
数据复原模块,用于当首次监测所述音频数据中的bit9、bit10、bit11和bit12的组合数据非零时,将该所述bit9、bit10、bit11和bit12的组合数据提取作为首数据,并按顺序提取后续的所述音频数据中的bit9、bit10、bit11和bit12信息组合成原始的待传输数据流,其中所述待传输数据流为非音频信息的其他数据。
本发明还提供了一种存储介质,其上存储有计算机程序,所述程序被处理执行时实现上述的基于第一终端的基于音频的数据传输方法。
本发明还提供了一种存储介质,其上存储有计算机程序,所述程序被处理执行时实现上述的基于第二终端的基于音频的数据传输方法。
本公开实施例提供的技术方案可以包括以下有益效果:
(1)使用一套接口实现音频文件播放,数据交互以及系统在线升级,既不需要添加及更换硬件,也不需要额外的上位机软件,降低了设备成本,兼容性较好。
(2)操作简便,大幅度提升了嵌入式音频设备等带音频输入功能的终端的程序调试的效率。
应当理解的是,以上的一般描述和后面的细节描述仅仅是示例性和解释性的,并不能限制本公开。
附图说明
图1是本发明提供的一实施例的应用于第一终端的基于音频的数据传输方法。
图2是图1实施例的载波波形图。
图3是图1实施例的调制数据流的波形图。
图4是本发明提供的一实施例的应用于第二终端的基于音频的数据传输方法。
图5是本发明提供的一实施例的应用于第一终端的基于音频的数据传输装置。
图6是本发明提供的一实施例的应用于第二终端的基于音频的数据传输装置。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本领域技术人员应当理解,本发明所称的“应用”、“应用程序”、“应用软件”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。
本领域技术人员应当理解,本发明所称的用户界面、显示界面泛指能够用于向智能终端发送所述控制指令的显示界面,例如,可以是android/ios/windowsphone系统的设置页面中的一个选项(或按键,由所述应用程序添加其中,下同),也可以是从桌面呼出的通知栏或者交互页面中的一个选项,还可以是所述应用程序的一个活动组件所构造的页面中的一个选项。
请参阅图1,本发明提供了一种基于音频的数据传输方法,应用于第一终端,通过所述第一终端将音频文件发送给第二终端,所述音频文件由16bit位宽大小的音频数据组成,所述音频数据的bit9、bit10、bit11和bit12均为0。
16bit位宽大小的音频数据包括bit0、bit1、bit2、bit3、bit4、bit5、bit6、bit7和bit8、bit9、bit10、bit11和bit12、bit13、bi14和bit15当音频文件的数据为16bit位宽,播放音频音量在100%的情况下,音频文件播放时,其16位数据的变化在5%以内,将音频数据发生变化的位控制在低八位(bit0-bit7)之内,保证高八位(bit8-bit15)不产生变化,利用高八位来加载待传输的数据。
所述数据传输方法包括以下步骤:
s110:将所述音频数据设置为正弦波形的载波。
本发明需要将数据调制到载波中,因此首先需要制作载波。载波设计为特定频率(例如48khz或者其他预先设定的频率)的正弦波。将正弦波的一个完整周期通过8个所述音频数据对应的点来描绘,分别为:0x4040,0x2020,0x0010,-0x2020,-0x4040,-0x2020,0x0010,0x2020,载波波形如图2所示。
s120:以4bits位宽为单位拆分待传输数据流,得到单位数据段,其中所述待传输数据流为非音频信息的其他数据。
s130:将所述单位数据段按照拆分顺序依次插入所述音频数据的bit9、bit10、bit11和bit12中,得到调制数据流;其中,一所述音频数据对应一所述单位数据段。
本实施例进行数据调制时,将需要传输的数据拆分成4bit为一个单位,插入到16位载波数据的bit9到bit12上。这样可以保证原有频率不变的情况下,每次4bit的传输数据。
例如,调制的原始数据为0x12,0x34,0x56,0x78四个8bit位宽的数据。将调制的原始数据拆分为0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8八个4bits位宽的单位数据段。然后将这8个数据插入到载波的一个周期中进行调制,经调制后的数据为0x4240,0x2420,0x0610,-0x2820,-0x4a40,-0x2c20,0x0e10,0x3020,经调制后的波形如图3所示。
s140:将所述调制数据流传输到所述第二终端。
本实施例中,将由音频文件数据对应的载波和待传输数据流调制后的调制数据流通过音频接口传输到第二终端上。
进一步的,本发明的一种实施例,所述单位数据段插入的所述音频数据位于所述载波的中间部分,以使得传输到所述第二终端的所述调制数据流的初始部分为未插入所述单位数据段的音频数据。
本实施例中通过将所述单位数据段插入在载波中间部分的音频数据中,以使得在进行数据传输时,会先读取到一定次数的周期的未插入单位数据段的音频数据,为了区分音频文件的数据流与待传输数据流(如:系统在线升级数据,传输数据等),对载波信号的高三位(bit13到bit15)固定的按每8个数据呈周期性变化的,以提高辨识度。
具体的,每次对载波信号进行调制的时候,从第81个周期开始进行调制,保证前80个周期调制的数据(bit9到bit12)为0。
如图4所示,本发明还提供了一种应用于第二终端的基于音频的数据传输方法。所述方法还包括:
s210:获取调制数据流,其中所述调制数据流是由第一终端将待传输数据流以4bits位宽拆分得到的单位数据段,按照拆分顺序依次插入设置为正弦波形的载波的所述音频数据的bit9、bit10、bit11和bit12中得到的。
s220:监测所述音频数据中的bit9、bit10、bit11和bit12的组合数据是否非零。
s230:当首次监测所述音频数据中的bit9、bit10、bit11和bit12的组合数据非零时,将该所述bit9、bit10、bit11和bit12的组合数据提取作为首数据,并按顺序提取后续的所述音频数据中的bit9、bit10、bit11和bit12信息组合成原始的待传输数据流,其中所述待传输数据流为非音频信息的其他数据。
本实施例中,第二终端(例如:嵌入式音频设备)连续监测到多个特征周期时,设备将进一步监测所述音频数据中包含的4bits调制数据(bit9到bit12),当调制数据出现首个非零数据时,即为数据流的首数据,设备将从首数据开始进行组包,并还原出原始数据。嵌入式音频设备还原数据后,通过数据报文的内容来执行相应的操作。
进一步的,本发明的一种实施例,所述方法还包括特征检测步骤,包括:
检测所述调制数据流是否周期输入;
当检测到所述调制数据流以预设个数的周期输入后,开始监测所述音频数据中包含的bit9、bit10、bit11和bit12信息。
本发明还提供了一种基于音频的数据传输装置100,所述装置存储有多条指令,所述指令适于由处理器加载并执行应用于第一终端的基于音频的数据传输方法,包括:
将所述音频数据设置为正弦波形的载波。
以4bits位宽为单位拆分待传输数据流,得到单位数据段,其中所述待传输数据流为非音频信息的其他数据。
将所述单位数据段按照拆分顺序依次插入所述音频数据的bit9、bit10、bit11和bit12中,得到调制数据流;其中,一所述音频数据对应一所述单位数据段。
将所述调制数据流传输到所述第二终端。
为了便于描述,将所述应用于第一终端的基于音频的数据传输装置100拆分为功能模块架构,如图5所示,包括:
设置模块110,用于将所述音频数据设置为正弦波形的载波。
拆分模块120,用于以4bits位宽为单位拆分待传输数据流,得到单位数据段,其中所述待传输数据流为非音频信息的其他数据。
调制模块130,用于将所述单位数据段按照拆分顺序依次插入所述音频数据的bit9、bit10、bit11和bit12中,得到调制数据流;其中,一所述音频数据对应一所述单位数据段。
传输模块140,用于将所述调制数据流传输到所述第二终端。
本发明还提供了一种基于音频的数据传输装置200,所述装置存储有多条指令,所述指令适于由处理器加载并执行应用于第二终端的基于音频的数据传输方法,包括:
获取调制数据流,其中所述调制数据流是由第一终端将待传输数据流以4bits位宽拆分得到的单位数据段,按照拆分顺序依次插入设置为正弦波形的载波的所述音频数据的bit9、bit10、bit11和bit12中得到的。
监测所述音频数据中的bit9、bit10、bit11和bit12的组合数据是否非零。
当首次监测所述音频数据中的bit9、bit10、bit11和bit12的组合数据非零时,将该所述bit9、bit10、bit11和bit12的组合数据提取作为首数据,并按顺序提取后续的所述音频数据中的bit9、bit10、bit11和bit12信息组合成原始的待传输数据流,其中所述待传输数据流为非音频信息的其他数据。
为了便于描述,将所述应用于第一终端的基于音频的数据传输装置200拆分为功能模块架构,如图6所示,包括:
获取模块210,用于获取调制数据流,其中所述调制数据流是由第一终端将待传输数据流以4bits位宽拆分得到的单位数据段,按照拆分顺序依次插入设置为正弦波形的载波的所述音频数据的bit9、bit10、bit11和bit12中得到的。
监测模块220,用于监测所述音频数据中的bit9、bit10、bit11和bit12的组合数据是否非零。
数据复原模块230,用于当首次监测所述音频数据中的bit9、bit10、bit11和bit12的组合数据非零时,将该所述bit9、bit10、bit11和bit12的组合数据提取作为首数据,并按顺序提取后续的所述音频数据中的bit9、bit10、bit11和bit12信息组合成原始的待传输数据流,其中所述待传输数据流为非音频信息的其他数据。
本公开实施例提供的技术方案可以包括以下有益效果:
(1)使用一套接口实现音频文件播放,数据交互以及系统在线升级,既不需要添加及更换硬件,也不需要额外的上位机软件,降低了设备成本,兼容性较好。
(2)操作简便,大幅度提升了嵌入式音频设备等带音频输入功能的终端的程序调试的效率。
本申请的说明书和权利要求书中,词语“包括/包含”和词语“具有/包括”及其变形,用于指定所陈述的特征、数值、步骤或部件的存在,但不排除存在或添加一个或多个其他特征、数值、步骤、部件或它们的组合。
本发明的一些特征,为阐述清晰,分别在不同的实施例中描述,然而,这些特征也可以结合于单一实施例中描述。相反,本发明的一些特征,为简要起见,仅在单一实施例中描述,然而,这些特征也可以单独或以任何合适的组合于不同的实施例中描述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包括在本发明的保护范围之内。
1.一种基于音频的数据传输方法,应用于第一终端,通过所述第一终端将音频文件发送给第二终端,其特征在于,所述音频文件由16bit位宽大小的音频数据组成,所述音频数据的bit9、bit10、bit11和bit12均为0,所述方法包括以下步骤:
将所述音频数据设置为正弦波形的载波;
以4bits位宽为单位拆分待传输数据流,得到单位数据段,其中所述待传输数据流为非音频信息的其他数据;
将所述单位数据段按照拆分顺序依次插入所述音频数据的bit9、bit10、bit11和bit12中,得到调制数据流;其中,一所述音频数据对应一所述单位数据段;
将所述调制数据流传输到所述第二终端。
2.根据权利要求1所述的数据传输方法,其特征在于,所述单位数据段插入的所述音频数据位于所述载波的中间部分,以使得传输到所述第二终端的所述调制数据流的初始部分为未插入所述单位数据段的音频数据。
3.一种基于音频的数据传输方法,应用于第二终端,其特征在于,所述方法还包括:
获取调制数据流,其中所述调制数据流是由第一终端将待传输数据流以4bits位宽拆分得到的单位数据段,按照拆分顺序依次插入设置为正弦波形的载波的所述音频数据的bit9、bit10、bit11和bit12中得到的;
监测所述音频数据中的bit9、bit10、bit11和bit12的组合数据是否非零;
当首次监测所述音频数据中的bit9、bit10、bit11和bit12的组合数据非零时,将该所述bit9、bit10、bit11和bit12的组合数据提取作为首数据,并按顺序提取后续的所述音频数据中的bit9、bit10、bit11和bit12信息组合成原始的待传输数据流,其中所述待传输数据流为非音频信息的其他数据。
4.根据权利要求1所述的数据传输方法,其特征在于,还包括特征检测步骤,包括:
检测所述调制数据流是否周期输入;
当检测到所述调制数据流以预设个数的周期输入后,开始监测所述音频数据中包含的bit9、bit10、bit11和bit12信息。
5.一种基于音频的数据传输装置,应用于第一终端,其特征在于,包括:
设置模块,用于将所述音频数据设置为正弦波形的载波;
拆分模块,用于以4bits位宽为单位拆分待传输数据流,得到单位数据段,其中所述待传输数据流为非音频信息的其他数据;
调制模块,用于将所述单位数据段按照拆分顺序依次插入所述音频数据的bit9、bit10、bit11和bit12中,得到调制数据流;其中,一所述音频数据对应一所述单位数据段;
传输模块,用于将所述调制数据流传输到所述第二终端。
6.一种基于音频的数据传输装置,应用于第二终端,其特征在于,包括:
获取模块,用于获取调制数据流,其中所述调制数据流是由第一终端将待传输数据流以4bits位宽拆分得到的单位数据段,按照拆分顺序依次插入设置为正弦波形的载波的所述音频数据的bit9、bit10、bit11和bit12中得到的;
监测模块,用于监测所述音频数据中的bit9、bit10、bit11和bit12的组合数据是否非零;
数据复原模块,用于当首次监测所述音频数据中的bit9、bit10、bit11和bit12的组合数据非零时,将该所述bit9、bit10、bit11和bit12的组合数据提取作为首数据,并按顺序提取后续的所述音频数据中的bit9、bit10、bit11和bit12信息组合成原始的待传输数据流,其中所述待传输数据流为非音频信息的其他数据。
7.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理执行时实现如权利要求1-2中任一项所述的基于音频的数据传输方法。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理执行时实现如权利要求3-4中任一项所述的基于音频的数据传输方法。
技术总结