CN114078479A - 语音传输和语音传输数据准确性判定的方法和装置 - Google Patents
语音传输和语音传输数据准确性判定的方法和装置 Download PDFInfo
- Publication number
- CN114078479A CN114078479A CN202010833045.2A CN202010833045A CN114078479A CN 114078479 A CN114078479 A CN 114078479A CN 202010833045 A CN202010833045 A CN 202010833045A CN 114078479 A CN114078479 A CN 114078479A
- Authority
- CN
- China
- Prior art keywords
- data
- voice
- checksum
- voice data
- accurate
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000004806 packaging method and process Methods 0.000 claims abstract description 12
- 238000012856 packing Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 15
- 230000000694 effects Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000002159 abnormal effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000009825 accumulation Methods 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000013144 data compression Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 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/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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/69—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for evaluating synthetic or decoded voice signals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种语音传输和语音传输数据准确性判定的方法和装置。其中,语音传输的方法,包括:对待发送语音数据进行编码,生成与待发送语音数据对应的编码数据;根据编码数据,生成与编码数据对应的第一校验和数据;以及将编码数据以及第一校验和数据打包,生成语音数据包并发送至接收端。
Description
技术领域
本申请涉及语音传输技术领域,特别是涉及一种语音传输和语音传输数据准确性判定的方法和装置。
背景技术
现在语音网络通讯已经成为常用的通讯方式,人们彼此交互的语音从模拟信号编码成数字信号后,通过IP网络传输传达给对端,对端收到后解码并播放,这种基于IP的语音通话称之为VOIP。VOIP语音传输交互使用RTP传输协议,用于实时传输数据,基于该协议携带语音编码数据。目前经常使用的一种音频编码为G729,其数据压缩率大并且占用带宽低,在窄带网络环境中也能够正常进行语音交互。但是基于RTP携带的G729语音数据,在传输过程中存在产生数据位错误或者被串改的可能,无法保证接收端接收到的语音数据的正确性。
针对上述的现有技术中存在的现有的基于RTP携带的G729语音数据,在传输过程中存在产生数据位错误或者被串改的可能,无法保证接收端接收到的语音数据的正确性的技术问题,目前尚未提出有效的解决方案。
发明内容
本公开的实施例提供了一种语音传输和语音传输数据准确性判定的方法和装置,以至少解决现有技术中存在的现有的基于RTP携带的G729语音数据,在传输过程中存在产生数据位错误或者被串改的可能,无法保证接收端接收到的语音数据的正确性的技术问题。
根据本公开实施例的一个方面,提供了一种语音传输的方法,包括:对待发送语音数据进行编码,生成与待发送语音数据对应的编码数据;根据编码数据,生成与编码数据对应的第一校验和数据;以及将编码数据以及第一校验和数据打包,生成语音数据包并发送至接收端。。
根据本公开实施例的另一方面,还提供了一种语音传输数据准确性判定的方法,包括:从发送端接收语音数据包,其中语音数据包包括第一校验和数据以及编码数据;根据编码数据,判定第一校验和数据是否准确;以及在第一校验和数据准确的情况下,判定编码数据准确。
根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
根据本公开实施例的另一个方面,还提供了一种语音传输的装置,包括:第一生成模块,用于对待发送语音数据进行编码,生成与待发送语音数据对应的编码数据;第二生成模块,用于根据编码数据,生成与编码数据对应的第一校验和数据;以及第三生成模块,用于将编码数据以及第一校验和数据打包,生成语音数据包并发送至接收端。
根据本公开实施例的另一个方面,还提供了一种语音传输数据准确性判定的装置,包括:接收模块,用于从发送端接收语音数据包,其中语音数据包包括第一校验和数据以及编码数据;第一判定模块,用于根据编码数据,判定第一校验和数据是否准确;以及第二判定模块,用于在第一校验和数据准确的情况下,判定编码数据准确。
根据本公开实施例的另一个方面,还提供了一种语音传输的装置,包括:第一处理器;以及第一存储器,与第一处理器连接,用于为第一处理器710提供处理以下处理步骤的指令:对待发送语音数据进行编码,生成与待发送语音数据对应的编码数据;根据编码数据,生成与编码数据对应的第一校验和数据;以及将编码数据以及第一校验和数据打包,生成语音数据包并发送至接收端。
根据本公开实施例的另一个方面,还提供了一种语音传输数据准确性判定的装置,包括:第二处理器;以及第二存储器,与第二处理器连接,用于为第二处理器提供处理以下处理步骤的指令:从发送端接收语音数据包,其中语音数据包包括第一校验和数据以及编码数据;根据编码数据,判定第一校验和数据是否准确;以及在第一校验和数据准确的情况下,判定编码数据准确。
在本公开实施例中,在语音传输的过程中,发送端可以通过编码数据的累加求和生成校验和数据,在语音数据包中增加该校验和数据,达到了保证接收端可以通过校验和数据判定接收的编码数据是否正确的技术效果。并且发送端设置语音数据报头的格式,让接收端可以根据该格式判定是否是在使用新方法进行的语音数据传输。从而通过上述方式保证编码数据(G729语音数据)在网络传输过程中的安全性,不会被网络工具解析。并且达到了达到了保证编码数据(G729语音数据)的正确性的技术效果的技术效果,避免使用了错误的编码数据(G729语音数据)导致通话的语音内容异常。进而解决了现有技术中存在的现有的基于RTP携带的G729语音数据,在传输过程中存在产生数据位错误或者被串改的可能,无法保证接收端接收到的语音数据的正确性的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是用于实现根据本公开实施例1所述的方法的计算设备的硬件结构框图;
图2是根据本公开实施例1所述的语音传输的的系统的示意图;
图3是根据本公开实施例1的第一个方面所述的语音传输的方法的流程示意图;
图4是根据本公开实施例1的第二个方面所述的语音传输数据准确性判定的方法的流程示意图;
图5是根据本公开实施例2的第一个方面所述的语音传输的装置的示意图;
图6是根据本公开实施例2的第二个方面所述的语音传输数据准确性判定的装置的示意图;
图7是根据本公开实施例3的第一个方面所述的语音传输的装置的示意图;以及
图8是根据本公开实施例3的第二个方面所述的语音传输数据准确性判定的装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本公开实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
Voip:基于IP的语音传输(英语:Voice over Internet Protocol,缩写为VoIP)是一种语音通话技术,经由网际协议(IP)来达成语音通话与多媒体会议,也就是经由互联网来进行通信。
RTP:实时传输协议(Real-time Transport Protocol或简写RTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC1889中公布的。实时传输协议(RTP)为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。应用程序通常在UDP上运行RTP以便使用其多路结点和校验服务;这两种协议都提供了传输层协议的功能。但是RTP可以与其它适合的底层网络或传输协议一起使用。如果底层网络提供组播方式,那么RTP可以使用该组播表传输数据到多个目的地。
G.729语音压缩编译码算法:是共轭结构的代数码激励线性预测(CSACELP),是基于CELP编码模型的算法;能够实现很高的语音质量(长话音质)和很低的算法延世;算法帧长为10ms,编码器含5ms前瞻,算法时延15ms;编码时输入16bitPCM语音信号,输出2进制比特流;译码时输入为2进制比特流,输出16bitPCM语音信号;在语音信号8KHz取样的基础上,16bit线性PCM后进行编码,压缩后数据速率为8Kbps;具有相当于16:1的压缩率。
实施例1
根据本实施例,还提供了一种语音传输和语音传输数据准确性判定的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的计算设备中执行。图1示出了一种用于实现语音传输和语音传输数据准确性判定的方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的语音传输和语音传输数据准确性判定的方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的语音传输和语音传输数据准确性判定的方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
图2是根据本实施例所述的语音传输的系统的示意图。参照图2所示,该系统包括:发送端100以及接收端200。其中发送端100可以是服务器或者终端设备,并且接收端200可以是终端设备或者服务器。发送端100通过网络和接收端200进行语音数据的传输。需要说明的是,系统中的发送端100和接收端200均可适用上面所述的硬件结构。
在上述运行环境下,根据本实施例的第一个方面,提供了一种语音传输的方法,该方法由图2中所示的发送端100实现。图3示出了该方法的流程示意图,参考图3所示,该方法包括:
S302:对待发送语音数据进行编码,生成与待发送语音数据对应的编码数据;
S304:根据编码数据,生成与编码数据对应的第一校验和数据;以及
S306:将编码数据以及第一校验和数据打包,生成语音数据包并发送至接收端。
正如背景技术中所述的,目前经常使用的一种音频编码为G729,其数据压缩率大并且占用带宽低,在窄带网络环境中也能够正常进行语音交互。但是基于RTP携带的G729语音数据,在传输过程中存在产生数据位错误或者被串改的可能,无法保证接收端接收到的语音数据的正确性。
有鉴于此,在需要通过网络进行语音数据包传输的情况下,首先发送端100可以对待发送语音数据进行编码,生成与待发送语音数据对应的编码数据(例如可以是G729语音数据)(对应于步骤S302)。其中发送端100可以通过RTP协议进行语音数据传输,然后发送端100可以对待发送语音数据进行G729编码,生成G729语音数据。其中G729音频编码,其数据压缩率大并且占用带宽低,在窄带网络环境中也能够正常进行语音交互。
进一步地,发送端100可以根据编码数据(可以是G729语音数据),生成与编码数据对应的第一校验和数据(对应于步骤S304)。其中第一校验和是指传输位数的“累加”,将消息中的字节汇总成一个校验字节,这个累加求和得出的字节就是校验和。因此第一校验和数据和编码数据相对应。
进一步地,发送端100将编码数据以及第一校验和数据打包,生成语音数据包并发送至接收端200(对应于步骤S306)。即发送端100可以生成G729的RTP数据包然后发送至接收端200。
从而通过上述方式,在语音传输中,发送端100将与编码数据对应的第一校验和数据同时打包发送。由于第一校验和数据通过编码数据生成,因此,通过第一校验和数据可以判断编码数据的准确性。通过在语音数据包中加入第一校验和数据,可以用来判断接收端200接收的编码数据(G729语音数据)是否发生篡改,达到了可以判定编码数据的正确性的技术效果。进而解决了现有技术中存在的现有的基于RTP携带的G729语音数据,在传输过程中存在产生数据位错误或者被串改的可能,无法保证接收端接收到的语音数据的正确性的技术问题。
可选地,本实施例还包括:将待发送语音数据的语音数据报头设定为预定格式;并且将编码数据以及第一校验和数据打包,生成语音数据包并发送至接收端的操作,包括:将编码数据、第一校验和数据以及语音数据报头打包,生成语音数据包并发送至接收端。
具体地,发送端100将待发送语音数据的语音数据报头设定为预定格式,以此判定系统中收发的语音是第一校验和数据+编码数据(G729数据校验和+G729数据)这种方式,自己的程序能够解析,而别人或网络工具无法解析。并且发送端100可以将设定为预定格式的RTP报头打包到语音数据包中,传输至接收端200。从而通过上述方式,达到了进一步保证了接收端200接收的发送端100的语音数据包的正确性的技术效果。
此外,语音数据包的格式可以为:RTP报文头+G729数据校验和+G729数据。
可选地,根据编码数据,生成与编码数据对应的第一校验和数据的操作,包括:对编码数据的字节数据进行累加求和,生成第一校验和数据。
具体地,发送端100可以对编码数据的字节数据进行累加求和,生成第一校验和数据。具体求和步骤如下:
每个字节上保存的是G729编码的语音数据,每个字节八位,对编码数据逐字节、逐位进行累加求和,并且舍弃进行,举例说明如下:
将最终累加和结果00101010保存在大小为8的数据位中,即为第一校验和数据(即累加和校验位)。
可选地,将待发送语音数据的语音数据报头设定为预定格式的操作,包括:将语音数据报头中的载荷类型设置为自定义数值。
具体地,发送端100将语音数据报头中的载荷类型设置为自定义数值。例如将数据类型设置为载荷类型预留的数值,一般载荷类型预留的数值为20-23,因此这里发送端100可以将载荷类型设置为PT=20。从而接收端200可以以此判定系统中收发语音是第一校验和数据+编码数据(G729数据校验和+G729数据)这种方式,进而接收端200可以对其进行进一步解析。
此外,RTP报头格式如下:
其中:1.V:RTP协议的版本号,占2位,当前协议版本号为2。
2.P:填充标志,占1位,如果P=1,则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。
3.X:扩展标志,占1位,如果X=1,则在RTP报头后跟有一个扩展报头。
4.CC:CSRC计数器,占4位,指示CSRC标识符的个数。
5.M:标记,占1位,不同的有效载荷有不同的含义,对于视频,标记一帧的结束;对于音频,标记会话的开始。
6.PT:有效载荷类型,占7位,用于说明RTP报文中有效载荷的类型,对于G729来说这里是18(预留数值为20-23,当使用校验和数据的情况下,例如可以将PT设置为20)。
7.序列号:占16位,用于标识发送者所发送的RTP报文的序列号,每发送一个报文,序列号增1。这个字段当下层的承载协议用UDP的时候,网络状况不好的时候可以用来检查丢包。同时出现网络抖动的情况可以用来对数据进行重新排序,在helix服务器中这个字段是从0开始的,同时音频包和视频包的sequence是分别记数的。
8.时戳(Timestamp):占32位,时戳反映了该RTP报文的第一个八位组的采样时刻。接收者使用时戳来计算延迟和延迟抖动,并进行同步控制。
9.同步信源(SSRC)标识符。
10.特约信源(CSRC)标识符。
此外,根据本实施例的第二个方面,提供了一种语音传输数据准确性判定的方法,该方法由图2中所示的接收端200实现。图4示出了该方法的流程示意图,参考图4所示,该方法包括:
S402:从发送端接收语音数据包,其中语音数据包包括第一校验和数据以及编码数据;
S404:根据编码数据,判定第一校验和数据是否准确;以及
S406:在第一校验和数据准确的情况下,判定编码数据准确。
正如背景技术中所述的,目前经常使用的一种音频编码为G729,其数据压缩率大并且占用带宽低,在窄带网络环境中也能够正常进行语音交互。但是基于RTP携带的G729语音数据,在传输过程中存在产生数据位错误或者被串改的可能,无法保证接收端接收到的语音数据的正确性。
有鉴于此,在需要通过网络进行语音数据包传输的情况下,接收端200从发送端100接收语音数据包,其中语音数据包包括第一校验和数据以及编码数据(对应于步骤S402)。其中第一校验和数据是通过编码数据的累加求和生成的。
进一步地,接收端200根据编码数据,判定第一校验和数据是否准确(对应于步骤S404)。由于第一校验和数据是通过编码数据进行累加求和得到的,因此第一校验和数据与编码数据相对应,所以接收端200可以通过编码数据来判断第一校验和数据是否准确。
进一步地,在第一校验和数据准确的情况下,接收端200判定编码数据准确(对应于步骤S406)。由于第一校验和数据和编码数据相对应,因此第一校验和数据正确的情况下,接收端200可以判定编码数据为正确的。
从而通过上述方式,在语音传输中,接收端200首先通过接收的语音数据包中的编码数据判定第一校验和数据是否准确,并且由于第一校验和数据和编码数据相关联的。因此接收端200可以通过判定第一校验和数据是否准确来判断编码数据的正确性。接收端200通过第一校验和数据判定接收的编码数据(G729语音数据)是否发生篡改,达到了可以判定编码数据的正确性的技术效果。进而解决了现有技术中存在的现有的基于RTP携带的G729语音数据,在传输过程中存在产生数据位错误或者被串改的可能,无法保证接收端接收到的语音数据的正确性的技术问题。
可选地,语音数据包还包括语音数据报头,并且根据编码数据,判定第一校验和数据是否准确的操作,还包括:判定语音数据报头是否为预定格式;以及在语音数据报头为预定格式的情况下,根据编码数据,判定第一校验和数据是否准确。
具体地,语音数据包还包括语音数据报头,其中语音数据报头可以是RTP报头文,具体参考本实施例第一个方面所述的RTP报头介绍。接收端200接收到语音数据包之后,首先可以卸载语音数据报头。然后接收端200通过语音数据报头的格式判断是否为保证编码数据正确的新方法,是新方法的情况下接收端200再读取编码数据(G729数据)。接收端200通过判断语音数据报头的格式,达到了确定接收的语音数据包是否为保证编码数据正确的新方法的技术效果。
可选地,根据编码数据,判定第一校验和数据是否准确的操作,包括:对编码数据进行累加求和,生成第二校验和数据;比对第二校验和数据以及语音数据包中的第一校验和数据;以及根据比对的比对结果,判定第一校验和数据是否准确。
具体地,接收端200根据编码数据,判定第一校验和数据是否准确的过程中,首先接收端200可以对编码数据进行累加求和,生成第二校验和数据。累加求和的过程参考本实施例第一个方面所述的累加求和过程。然后接收端200比对第二校验和数据以及语音数据包中的第一校验和数据。最后接收端200根据比对的比对结果,判定第一校验和数据是否准确。其中比对的结果可以为第一校验和数据和第二校验和数据相同,也可以为第一校验和数据和第二校验和数据不同。从而通过上述方式对第一校验和数据和第二校验和数据进行比对,达到了判定编码数据正确性的技术效果。
可选地,根据比对的比对结果,判定第一校验和数据是否准确的操作,包括:在比对结果一致的情况下,判定第一校验和数据准确,其中第一校验和数据准确指示编码数据准确;或者在比对结果不一致的情况下,判定第一校验和数据错误,其中第一校验和数据错误指示编码数据被修改过。
具体地,在比对结果一致的情况下,接收端200判定第一校验和数据准确,其中第一校验和数据准确指示编码数据准确。在比对结果不一致的情况下,接收端200判定第一校验和数据错误,其中第一校验和数据错误指示编码数据被修改过。从而通过上述方式,达到了接收端200可以判定编码数据正确性的技术效果。
此外,接收端200接收的编码数据正常的情况和异常情况的举例如下:(第一校验和数据为0 0 1 0 1 0 1 0的情况下)
正常情况:
上一轮累加和0 1 1 0 0 0 1 1
字节20 1 1 0 0 0 1 1 1
累加和0 0 1 0 1 0 1 0
异常情况:
上一轮累加和0 1 1 0 0 0 1 1
字节20被篡改1 1 0 0 0 1 1 0(最后一位的1篡改为0)
累加和结果0 0 1 0 1 0 1 1
累加和校验位0 0 1 0 1 0 1 0
如果字节20被篡改了,那么校验位就对不上了。
可选地,判定语音数据报头是否为预定格式的操作,包括:判定语音数据报头中的载荷类型设置为自定义数值。
具体地,发送端100将语音数据报头中的载荷类型设置为自定义数值。例如将数据类型设置为载荷类型预留的数值,一般载荷类型预留的数值为20-23,因此这里发送端可以将载荷类型设置为PT=20。从而接收端200判定语音数据报头中的载荷类型设置为自定义数值(如PT=20)来判定接收的语音数据包是否为保证编码数据正确的新方法。
此外,参考图1所示,根据本实施例的第三个方面,提供了一种存储介质。所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
从而根据本实施例,在语音传输的过程中,发送端100可以通过编码数据的累加求和生成校验和数据,在语音数据包中增加该校验和数据,达到了保证接收端200可以通过校验和数据判定接收的编码数据是否正确的技术效果。并且发送端100设置语音数据报头的格式,让接收端200可以根据该格式判定是否是在使用新方法进行的语音数据传输。从而通过上述方式保证编码数据(G729语音数据)在网络传输过程中的安全性,不会被网络工具解析。并且达到了保证编码数据(G729语音数据)的正确性的技术效果,避免使用了错误的编码数据(G729语音数据)导致通话的语音内容异常。进而解决了现有技术中存在的现有的基于RTP携带的G729语音数据,在传输过程中存在产生数据位错误或者被串改的可能,无法保证接收端接收到的语音数据的正确性的技术问题。
此外,本发明的设计方案中,增加G729数据校验功能,下面结合实际使用流程进行说明:
1、语音发送端对语音数据G729编码完成后,将编码后数据每一字节数据按位进行累加求和,丢弃高位溢出,将其保存在大小为8的数据位中,得出G729数据的校验和数据。
校验和是指传输位数的“累加”,将消息中的字节汇总成一个校验字节,这个累加求和得出的字节就是校验和。
校验和也有很多的算法,如Integer Addition Checksum、Integer AdditionChecksum、Integer Addition Checksum、Adler Checksum等,这里采用的是IntegerAddition Checksum整数加法校验求和,这个算法将最高位的进位省略,只保存8位数据,相对运算速度快,在语音传输这种要求实时性很高的场景中更适用。呼叫中心语音传输的原始音频采样是8K16bit,就是每秒8000次,每次16位。G729编码的压缩比是16:1,所以原始语音数据经过729压缩之后相当于每秒8k1bit,等于8000bps,转换成字节为1000Byte(字节)每秒。语音传输按照采样的打包时间进行传输,比如ptime设置为20,就是每20毫秒进行一次G729语音数据的传输,按照上面的计算数据,那么此次数据包的数据大小为20字节,我们将对这20字节进行校验和计算。
每个字节上保存的是G729编码的语音数据,每个字节八位,逐字节、逐位进行累加求和,并且舍弃进行,举例说明如下:
将最终累加和结果00101010保存在大小为8的数据位中,即为累加和校验位。
2、修改RTP报头中TP载荷类型值,将用于代表G729的载荷类型18,修改成自定义载荷类型20。IETF互联网工程任务组定义G729的载荷类型是18,后面的载荷数据就是G729语言编码数据。这里修改成20自定义编码格式,就意味着在我们系统中收发语音是G729数据校验和+G729数据这种方式,自己的程序能够解析,而别人或网络工具无法解析。
3、将新RTP报头、G729数据的校验和、G729数据进行组合打包,通过网络传输发送给对端。
4、对端接收后,接卸RTP数据头,通过PT判断是否为保证数据正确的新方法,如果是20则先读取8位G729数据校验和,然后在读取G729数据。
5、将读取的G729数据进行累加和运算,判断与携带的G729数据校验和是否一致,如果一致则说明数据正确并没有被修改。还是结合上面的例子,如果20个字节的G729语音数据被修改了,那么累加结果肯定就不等于校验和的数值。
正常情况:
上一轮累加和0 1 1 0 0 0 1 1
字节20 1 1 0 0 0 1 1 1
累加和0 0 1 0 1 0 1 0
异常情况:
上一轮累加和0 1 1 0 0 0 1 1
字节20被篡改1 1 0 0 0 1 1 0
累加和结果0 0 1 0 1 0 1 1
累加和校验位0 0 1 0 1 0 1 0
如果字节20被篡改了,那么校验位就对不上了。
通过上述方式,保证G729数据在网络传输过程中的安全性,不会被网络工具解析。并且保证G729数据的正确性,避免使用了错误的G729数据导致通话的语音内容异常。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图5示出了根据本实施例的第一个方面所述的语音传输的装置500,该装置500与根据实施例1的第一个方面所述的方法相对应。参考图5所示,该装置500包括:第一生成模块510,用于对待发送语音数据进行编码,生成与待发送语音数据对应的编码数据;第二生成模块520,用于根据编码数据,生成与编码数据对应的第一校验和数据;以及第三生成模块530,用于将编码数据以及第一校验和数据打包,生成语音数据包并发送至接收端。
可选地,装置500还包括:设定模块,用于将待发送语音数据的语音数据报头设定为预定格式;并且第三生成模块530,包括:第一生成子模块,用于将编码数据、第一校验和数据以及语音数据报头打包,生成语音数据包并发送至接收端。
可选地,第二生成模块520,包括:第二生成子模块,用于对编码数据的字节数据进行累加求和,生成第一校验和数据。
可选地,设定模块,包括:设定子模块,用于将语音数据报头中的载荷类型设置为自定义数值。
此外,图6示出了根据本实施例的第二个方面所述的语音传输数据准确性判定的装置600,该装置600与根据实施例1的第二个方面所述的方法相对应。参考图6所示,该装置600包括:接收模块610,用于从发送端接收语音数据包,其中语音数据包包括第一校验和数据以及编码数据;第一判定模块620,用于根据编码数据,判定第一校验和数据是否准确;以及第二判定模块630,用于在第一校验和数据准确的情况下,判定编码数据准确。
可选地,语音数据包还包括语音数据报头,并且第一判定模块620,还包括:第一判定子模块,用于判定语音数据报头是否为预定格式;以及第二判定子模块,用于在语音数据报头为预定格式的情况下,根据编码数据,判定第一校验和数据是否准确。
可选地,第二判定子模块,包括:生成单元,用于对编码数据进行累加求和,生成第二校验和数据;比对单元,用于比对第二校验和数据以及语音数据包中的第一校验和数据;以及第一判定单元,用于根据比对的比对结果,判定第一校验和数据是否准确。
可选地,第一判定单元,包括:第一判定子单元,用于在比对结果一致的情况下,判定第一校验和数据准确,其中第一校验和数据准确指示编码数据准确;或者第二判定子单元,用于在比对结果不一致的情况下,判定第一校验和数据错误,其中第一校验和数据错误指示编码数据被修改过。
可选地,第一判定子模块,包括:第二判定单元,用于判定语音数据报头中的载荷类型设置为自定义数值。
在语音传输的过程中,发送端可以通过编码数据的累加求和生成校验和数据,在语音数据包中增加该校验和数据,达到了保证接收端可以通过校验和数据判定接收的编码数据是否正确的技术效果。并且发送端设置语音数据报头的格式,让接收端可以根据该格式判定是否是在使用新方法进行的语音数据传输。从而通过上述方式保证编码数据(G729语音数据)在网络传输过程中的安全性,不会被网络工具解析。并且达到了保证编码数据(G729语音数据)的正确性的技术效果,避免使用了错误的编码数据(G729语音数据)导致通话的语音内容异常。进而解决了现有技术中存在的现有的基于RTP携带的G729语音数据,在传输过程中存在产生数据位错误或者被串改的可能,无法保证接收端接收到的语音数据的正确性的技术问题。
实施例3
图7示出了根据本实施例的第一个方面所述的语音传输的装置700,该装置700与根据实施例1的第一个方面所述的方法相对应。参考图7所示,该装置700包括:第一处理器710;以及第一存储器720,与第一处理器710连接,用于为第一处理器710提供处理以下处理步骤的指令:对待发送语音数据进行编码,生成与待发送语音数据对应的编码数据;根据编码数据,生成与编码数据对应的第一校验和数据;以及将编码数据以及第一校验和数据打包,生成语音数据包并发送至接收端。
可选地,第一存储器720还用于为第一处理器710提供处理以下处理步骤的指令:将待发送语音数据的语音数据报头设定为预定格式;并且将编码数据以及第一校验和数据打包,生成语音数据包并发送至接收端的操作,包括:将编码数据、第一校验和数据以及语音数据报头打包,生成语音数据包并发送至接收端。
可选地,根据编码数据,生成与编码数据对应的第一校验和数据的操作,包括:对编码数据的字节数据进行累加求和,生成第一校验和数据。
可选地,将待发送语音数据的语音数据报头设定为预定格式的操作,包括:将语音数据报头中的载荷类型设置为自定义数值。
此外,图8示出了根据本实施例的第二个方面所述的语音传输数据准确性判定的装置800,该装置800与根据实施例1的第二个方面所述的方法相对应。参考图8所示,该装置800包括:第二处理器810;以及第二存储器820,与第二处理器810连接,用于为第二处理器810提供处理以下处理步骤的指令:从发送端接收语音数据包,其中语音数据包包括第一校验和数据以及编码数据;根据编码数据,判定第一校验和数据是否准确;以及在第一校验和数据准确的情况下,判定编码数据准确。
可选地,语音数据包还包括语音数据报头,并且根据编码数据,判定第一校验和数据是否准确的操作,还包括:判定语音数据报头是否为预定格式;以及在语音数据报头为预定格式的情况下,根据编码数据,判定第一校验和数据是否准确。
可选地,根据编码数据,判定第一校验和数据是否准确的操作,包括:对编码数据进行累加求和,生成第二校验和数据;比对第二校验和数据以及语音数据包中的第一校验和数据;以及根据比对的比对结果,判定第一校验和数据是否准确。
可选地,根据比对的比对结果,判定第一校验和数据是否准确的操作,包括:在比对结果一致的情况下,判定第一校验和数据准确,其中第一校验和数据准确指示编码数据准确;或者在比对结果不一致的情况下,判定第一校验和数据错误,其中第一校验和数据错误指示编码数据被修改过。
可选地,判定语音数据报头是否为预定格式的操作,包括:判定语音数据报头中的载荷类型设置为自定义数值。
在语音传输的过程中,发送端可以通过编码数据的累加求和生成校验和数据,在语音数据包中增加该校验和数据,达到了保证接收端可以通过校验和数据判定接收的编码数据是否正确的技术效果。并且发送端设置语音数据报头的格式,让接收端可以根据该格式判定是否是在使用新方法进行的语音数据传输。从而通过上述方式保证编码数据(G729语音数据)在网络传输过程中的安全性,不会被网络工具解析。并且达到了保证编码数据(G729语音数据)的正确性的技术效果,避免使用了错误的编码数据(G729语音数据)导致通话的语音内容异常。进而解决了现有技术中存在的现有的基于RTP携带的G729语音数据,在传输过程中存在产生数据位错误或者被串改的可能,无法保证接收端接收到的语音数据的正确性的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种语音传输的方法,其特征在于,包括:
对待发送语音数据进行编码,生成与所述待发送语音数据对应的编码数据;
根据所述编码数据,生成与所述编码数据对应的第一校验和数据;以及
将所述编码数据以及所述第一校验和数据打包,生成语音数据包并发送至接收端。
2.根据权利要求1所述的方法,其特征在于,还包括:
将所述待发送语音数据的语音数据报头设定为预定格式;并且
将所述编码数据以及所述第一校验和数据打包,生成语音数据包并发送至接收端的操作,包括:
将所述所述编码数据、所述第一校验和数据以及所述语音数据报头打包,生成所述语音数据包并发送至接收端。
3.根据权利要求1所述的方法,其特征在于,根据所述编码数据,生成与所述编码数据对应的第一校验和数据的操作,包括:
对所述编码数据的字节数据进行累加求和,生成所述第一校验和数据。
4.根据权利要求2所述的方法,其特征在于,将所述待发送语音数据的语音数据报头设定为预定格式的操作,包括:
将所述语音数据报头中的载荷类型设置为自定义数值。
5.一种语音传输数据准确性判定的方法,其特征在于,包括:
从发送端接收语音数据包,其中所述语音数据包包括第一校验和数据以及编码数据;
根据所述编码数据,判定所述第一校验和数据是否准确;以及
在所述第一校验和数据准确的情况下,判定所述编码数据准确。
6.根据权利要求5所述的方法,其特征在于,所述语音数据包还包括语音数据报头,并且根据所述编码数据,判定所述第一校验和数据是否准确的操作,还包括:
判定所述语音数据报头是否为预定格式;以及
在所述语音数据报头为预定格式的情况下,根据所述编码数据,判定所述第一校验和数据是否准确。
7.根据权利要求5所述的方法,其特征在于,根据所述编码数据,判定所述第一校验和数据是否准确的操作,包括:
对所述编码数据进行累加求和,生成第二校验和数据;
比对所述第二校验和数据以及所述语音数据包中的所述第一校验和数据;以及
根据所述比对的比对结果,判定所述第一校验和数据是否准确。
8.根据权利要求7所述的方法,其特征在于,根据所述比对的比对结果,判定所述第一校验和数据是否准确的操作,包括:
在所述比对结果一致的情况下,判定所述第一校验和数据准确,其中所述第一校验和数据准确指示所述编码数据准确;或者
在所述比对结果不一致的情况下,判定所述第一校验和数据错误,其中所述第一校验和数据错误指示所述编码数据被修改过。
9.根据权利要求6所述的方法,其特征在于,判定所述语音数据报头是否为预定格式的操作,包括:
判定所述语音数据报头中的载荷类型设置为自定义数值。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行权利要求1至9中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010833045.2A CN114078479A (zh) | 2020-08-18 | 2020-08-18 | 语音传输和语音传输数据准确性判定的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010833045.2A CN114078479A (zh) | 2020-08-18 | 2020-08-18 | 语音传输和语音传输数据准确性判定的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114078479A true CN114078479A (zh) | 2022-02-22 |
Family
ID=80281572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010833045.2A Pending CN114078479A (zh) | 2020-08-18 | 2020-08-18 | 语音传输和语音传输数据准确性判定的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114078479A (zh) |
-
2020
- 2020-08-18 CN CN202010833045.2A patent/CN114078479A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101366261B (zh) | 用于当遭遇静默抑制时增强稳健标头压缩性能的方法和设备 | |
KR101722719B1 (ko) | 역방향의 강력한 헤더 압축 수신기 | |
US7688859B2 (en) | Telecommunications apparatus and method | |
US7369662B2 (en) | Maintaining end-to-end synchronization on a telecommunications connection | |
US6594276B1 (en) | Apparatus and associated method for communicating multimedia information upon a communication link | |
US20080031253A1 (en) | Apparatus and Method for Efficiently Processing Voice Packet Data in Mobile Communication System Providing Voice Service Using Packet Network | |
EP1933511A1 (en) | Protocol conversion system in media communications between packet exchanging network and line exchanging network | |
EP1626517A2 (en) | Method and apparatus for transmitting/receiving VoIP packets with UDP checksum in an mobile communication system | |
JP2003502948A (ja) | パケット通信におけるロバストヘッダ圧縮 | |
CN101300812A (zh) | 区分业务质量传输协议 | |
US20020191691A1 (en) | Payload header suppression including removal of fields that vary in known patterns | |
US9392082B2 (en) | Communication interface and method for robust header compression of data flows | |
CN101453463B (zh) | 一种移动多媒体广播系统的数据包封装、发送和接收方法 | |
CN100579069C (zh) | 语音前向纠错信息传输在cdma2000系统中的实现方法 | |
FI109385B (fi) | Menetelmä ja laitteet digitaaliseen datasiirtoon | |
US7337384B2 (en) | Error detection scheme with partial checksum coverage | |
CN112118442A (zh) | Ai视频通话质量分析方法、装置、计算机设备及存储介质 | |
CN114078479A (zh) | 语音传输和语音传输数据准确性判定的方法和装置 | |
WO2014050546A1 (ja) | 音声情報伝送方法及びパケット通信システム | |
CN114979093B (zh) | 一种基于rtp的数据传输方法、装置、设备和介质 | |
US20100135290A1 (en) | Usage of feedback information for multimedia sessions | |
CN108574684A (zh) | 一种解压缩的方法和装置 | |
CN101401373A (zh) | 经编码流传输器 | |
CN114979092B (zh) | 一种基于rtp的数据传输方法、装置、设备和介质 | |
CN114979094A (zh) | 一种基于rtp的数据传输方法、装置、设备和介质 |
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 |