CN111292768B - 丢包隐藏的方法、装置、存储介质和计算机设备 - Google Patents

丢包隐藏的方法、装置、存储介质和计算机设备 Download PDF

Info

Publication number
CN111292768B
CN111292768B CN202010082432.7A CN202010082432A CN111292768B CN 111292768 B CN111292768 B CN 111292768B CN 202010082432 A CN202010082432 A CN 202010082432A CN 111292768 B CN111292768 B CN 111292768B
Authority
CN
China
Prior art keywords
power spectrum
voice
packet loss
voice data
domain
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.)
Active
Application number
CN202010082432.7A
Other languages
English (en)
Other versions
CN111292768A (zh
Inventor
梁俊斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010082432.7A priority Critical patent/CN111292768B/zh
Publication of CN111292768A publication Critical patent/CN111292768A/zh
Priority to PCT/CN2020/123826 priority patent/WO2021155676A1/zh
Priority to US17/667,487 priority patent/US20220165280A1/en
Application granted granted Critical
Publication of CN111292768B publication Critical patent/CN111292768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech 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
    • G10L25/60Speech 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 for measuring the quality of voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/21Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being power information
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/45Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of analysis window
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种丢包隐藏的方法、装置、存储介质和计算机设备,方法包括:接收语音数据包;当根据语音数据包确定出现丢包时,确定语音数据包中语音数据的语音功率谱;通过神经网络模型对语音功率谱进行丢包帧预测,得到丢包帧功率谱;根据语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据。本申请提供的方案可以有效提高语音通话质量。

Description

丢包隐藏的方法、装置、存储介质和计算机设备
技术领域
本申请涉及网络通信技术领域,特别是涉及一种丢包隐藏的方法、装置、存储介质和计算机设备。
背景技术
语音在传输过程不可避免地出现丢包的情况,而丢包是影响语音通话质量的主要原因之一。丢包隐藏技术是指通过合成的语音数据包来补偿丢失的包,从而降低传输过程中的丢包对语音质量的影响。
传统的丢包隐藏方案中,当出现丢包时,通过对所丢包的前一帧信号进行估计得到基音周期,复制该前一帧的最后一个基音周期波形信号到所丢包的帧位置。上述方案中均假设丢包的位置与该丢包的前一帧信号极其相近,但实际上相邻语音信号很大概率上是存在差异的,而且细微的差异都是能被人耳感知的,因此会出现语音通话质量差的问题。
发明内容
基于此,有必要针对语音通话质量差的技术问题,提供一种丢包隐藏的方法、装置、存储介质和计算机设备。
一种丢包隐藏的方法,包括:
接收语音数据包;
当根据所述语音数据包确定出现丢包时,确定所述语音数据包中语音数据的语音功率谱;
通过神经网络模型对所述语音功率谱进行丢包帧预测,得到丢包帧功率谱;
根据所述语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据。
一种丢包隐藏的装置,所述装置包括:
接收模块,用于接收语音数据包;
变换模块,用于当根据所述语音数据包确定出现丢包时,确定所述语音数据包中语音数据的语音功率谱;
预测模块,用于通过神经网络模型对所述语音功率谱进行丢包帧预测,得到丢包帧功率谱;
逆变换模块,用于根据所述语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述丢包隐藏的方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述丢包隐藏的方法的步骤。
上述丢包隐藏的方法、装置、存储介质和计算机设备,通过接收的语音数据包中的语音数据来确定语音功率谱,通过该神经网络模型对语音功率谱进行丢包帧预测得到丢包帧功率谱,从而可以得到所丢失的语音数据所对应的丢包帧功率谱,利用语音功率谱和预测的丢包帧功率谱得到恢复后的语音数据,从而避免直接将前一帧的最后一个基音周期波形信号到所丢包的帧位置,进而避免相邻语音信号之间存在差异而导致语音质量差的问题,从而有效地提高了语音通话的质量。
附图说明
图1为一个实施例中丢包隐藏的方法的应用环境图;
图2为一个实施例中丢包隐藏的方法的流程示意图;
图3为一个实施例中利用丢包数量和网络状态信息选择对应的神经网络模型,根据所选择的神经网络模型进行丢包帧功率谱预测步骤的流程示意图;
图4为一个实施例中神经网络模型训练的流程示意图;
图5为另一个实施例中神经网络模型训练的流程示意图;
图6为另一个实施例中丢包隐藏的方法的流程示意图;
图7为一个实施例中丢包隐藏的装置的结构框图;
图8为另一个实施例中丢包隐藏的装置的结构框图;
图9为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
其中,语音技术(Speech Technology)的关键技术有自动语音识别技术(ASR)和语音合成技术(TTS)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
自动驾驶技术通常包括高精地图、环境感知、行为决策、路径规划、运动控制等技术,自定驾驶技术有着广泛的应用前景,
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的语音技术,具体通过如下实施例进行说明:
图1为一个实施例中丢包隐藏的方法的应用环境图。参照图1,该丢包隐藏的方法应用于丢包隐藏的系统。该丢包隐藏的系统包括终端110、基站系统120和终端130。终端110、基站系统120和终端130通过移动通信网络连接(如图1所示)。此外,终端110、基站系统120和终端130还可以通过计算机网络连接(图1中未示出)。终端110作为接收端,终端130作为发送端。终端110接收终端130通过基站系统120和其它传输网络发送的语音数据包;当根据语音数据包确定出现丢包时,确定语音数据包中语音数据的语音功率谱;通过神经网络模型对语音功率谱进行丢包帧预测,得到丢包帧功率谱;根据语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据。
其中,终端110和终端130具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。基站系统120可以是2G、3G、4G或5G通信网络的无线收发系统。
如图2所示,在一个实施例中,提供了一种丢包隐藏的方法。本实施例主要以该方法应用于上述图1中的终端110来举例说明。参照图2,该丢包隐藏的方法具体包括如下步骤:
S202,接收语音数据包。
其中,语音数据包可以是发送端在发送语音数据之前,根据通信协议对所要发送的语音数据进行封装所得到的语音数据包。该通信协议可以是RTP(Real-time TransportProtocol,实时传输协议)、TCP(Transmission Control Protocol,传输控制协议)或UDP(User Datagram Protocol,用户数据报协议)等协议。
在一个实施例中,终端通过移动通信网或计算机网络接收发送端实时发送的语音数据包。其中,每个语音数据包均可设置有对应的包序号,如在包头设置包序号。
S204,当根据语音数据包确定出现丢包时,确定语音数据包中语音数据的语音功率谱。
在一个实施例中,S204具体可以包括:终端对语音数据包中的语音数据进行变换,根据变换的结果得到语音功率谱。
其中,上述的变换可以包括离散傅里叶变换、bark域变换和梅尔尺度变换等。此外,还可以包括线性频域变换和ERB尺度变换。上述的语音数据可以是PCM(Pulse CodeModulation,脉冲编码调制)语音数据。
因此,可以对S204划分为以下几种变换方式进行阐述:
方式1,进行傅里叶变换。
在一个实施例中,S204具体可以包括:终端解码语音数据包,得到语音数据;对语音数据进行傅里叶变换,得到频域语音数据;根据频域语音数据计算各频点的功率值,得到线性频域的语音功率谱,然后执行S206。
在一个实施例中,对语音数据进行傅里叶变换的步骤之前,该方法还可以包括:终端对该语音数据进行分帧,然后对分帧后的语音数据进行加窗处理,得到加窗后的语音数据进行缓存。
例如,以20ms为一帧的窗长度对语音数据进行分帧,然后采用窗函数对分帧后的语音数据进行加窗处理,该窗函数可以是矩形窗函数、汉明窗函数、海明窗函数或布莱克曼窗函数等,以汉明窗函数为例,该窗函数如下:
Figure BDA0002380796020000061
其中n属于
Figure BDA0002380796020000062
对语音数据进行加窗处理之后,得到加窗后的语音数据x(n)win(n),然后采用离散傅里叶变换式对该加窗后的语音数据x(n)win(n)进行离散傅里叶变换,得到频域语音数据,该频域语音数据如下所示:
Figure BDA0002380796020000063
其中,这里i对应帧序号,k对应频点索引值,N为窗长度(即单个窗样点总个数)。
然后,终端根据频域语音数据计算语音功率谱,计算出来的语音功率谱如下:
S(i,k)=|X(i,k)|2 k=1,2,3,L,N
方式2,进行傅里叶变换和bark域变换。
在一个实施例中,终端解码语音数据包,得到语音数据;对语音数据进行傅里叶变换,得到频域语音数据;根据频域语音数据计算各频点的功率值,得到线性频域的语音功率谱。终端对线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱,然后执行S206。
在一个实施例中,终端可根据Eberhanrd Zwicker提出的基于听觉滤波器模拟出来的24个bark域(频域临界定义如表1所示),然后把各bark域子带内的功率谱值做平均计算,得到bark域的语音功率谱。
表1 24个临界频带
Figure BDA0002380796020000064
Figure BDA0002380796020000071
在一个实施例中,终端通过bark域变换式对线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱;该bark域变换式为:
Figure BDA0002380796020000072
其中,m为bark子带序号,ftop(m)和fbottom(m)分别为bark域中第m子带对应线性频率的截止频率上限值和截止频率下限值,S(i,j)为线性频域的语音功率谱。例如,对于子带序号为1对应的截止频率上限值ftop(m)=100,截止频率下限值fbottom(m)=20。对于子带序号为2对应的截止频率上限值fbottom(m)=100,截止频率下限值ftop(m)=200。
方式3,进行傅里叶变换和梅尔尺度变换。
在一个实施例中,终端解码语音数据包,得到语音数据;对语音数据进行傅里叶变换,得到频域语音数据;根据频域语音数据计算各频点的功率值,得到线性频域的语音功率谱。终端对线性频域的语音功率谱进行梅尔尺度变换,得到梅尔尺度的语音功率谱,然后执行S206。
终端计算出对应的功率谱,并求出功率谱的对数值得到对数功率谱,将对数功率谱输入梅尔尺度的三角滤波器,经离散余弦变换后得到梅尔频率倒谱系数,所得的梅尔频率倒谱系数为:
Figure BDA0002380796020000081
将上述的对数能量带入离散余弦变换,求出L阶的梅尔频率倒谱参数,L阶指的是梅尔频率倒谱系数阶数,可以取值取12-16。M指的是三角滤波器个数。
S206,通过神经网络模型对语音功率谱进行丢包帧预测,得到丢包帧功率谱。
其中,该神经网络模型可以是CNN(Convolutional Neural Networks,卷积神经网络)模型、RNN(Recurrent Neural Networks,循环神经网络)模型、DNN(Deep NeuralNetworks,深度神经网络)模型以及其它的网络模型等。该神经网络模型是通过对应丢包数量的语音数据样本进行训练所得,即采用不同丢包数量的语音数据样本对对应的神经网络模型进行训练所得。例如,当语音数据样本出现一个丢包时,利用该语音数据样本对神经网络模型1进行训练;当语音数据样本出现连续两个丢包(如包序号为2和3的包)时,利用该语音数据样本对神经网络模型2进行训练,依此类推。
S208,根据语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据。
在一个实施例中,S208具体可以包括:对语音功率谱和预测的丢包帧功率谱进行与上述变换对应的逆变换,得到恢复后的语音数据。
由于在对语音数据进行变换时,采用了3种变换方式,因此,在对语音功率谱和预测的丢包帧功率谱进行变换对应的逆变换时,需要采用与上述3种变换方式对应的逆变换。
方式1,进行傅里叶反变换。
在一个实施例中,终端在进行傅里叶变换过程中,获取丢包的前一帧语音数据的相位信息;对语音功率谱进行变换对应的逆变换;以及,结合相位信息和丢包帧功率谱进行傅里叶反变换。
例如,若语音功率谱为S(i,k)=|X(i,k)|2,k=1,2,3,L,N,那么,进行傅里叶反变换后可以得到时域的语音数据
Figure BDA0002380796020000082
方式2,进行傅里叶反变换和bark域逆变换。
在一个实施例中,终端将语音功率谱和预测的丢包帧功率谱分别进行bark域逆变换;对经过bark域逆变换的语音功率谱进行傅里叶反变换;结合相位信息和经过bark域逆变换的丢包帧功率谱进行傅里叶反变换;相位信息是丢包的前一帧语音数据的相位信息,从而得到恢复后的语音数据。
方式3,进行傅里叶反变换和梅尔尺度逆变换。
在一个实施例中,终端将语音功率谱和预测的丢包帧功率谱分别进行梅尔尺度逆变换;对经过梅尔尺度逆变换的语音功率谱进行傅里叶反变换;结合相位信息和经过梅尔尺度逆变换的丢包帧功率谱进行傅里叶反变换;相位信息是丢包的前一帧语音数据的相位信息,从而得到恢复后的语音数据。
上述实施例中,通过接收的语音数据包中的语音数据来确定语音功率谱,通过该神经网络模型对语音功率谱进行丢包帧预测得到丢包帧功率谱,从而可以得到所丢失的语音数据所对应的丢包帧功率谱,利用语音功率谱和预测的丢包帧功率谱得到恢复后的语音数据,从而避免直接将前一帧的最后一个基音周期波形信号到所丢包的帧位置,进而避免相邻语音信号之间存在差异而导致语音质量差的问题,从而有效地提高了语音通话的质量。
在一个实施例中,如图3所示,该方法还包括:
S302,接收语音数据包。
其中,S302可以参考上述实施例中的S202。
S304a,当根据语音数据包确定出现丢包时,根据所接收的语音数据包确定丢包参数。
其中,丢包是指在传输过程中,语音数据包不可避免地出现丢失的情况。丢包参数可以是丢包数量或丢包率。
在一个实施例中,终端根据语音数据包的包序号确定所接收的语音数据包中是否出现丢包的情况,当根据语音数据包确定出现丢包时,根据包序号确定丢包数量。其中,每个语音数据包均可设置有对应的包序号,如在包头设置包序号。
例如,假设发送端发送包序号分别为1-10的语音数据包,终端若接收到包序号为1-8、10的语音数据包,则可以确定包序号为9的语音数据包发生丢失,丢包数量为1。
S304b,当根据语音数据包确定出现丢包时,获取当前的网络状态信息,根据网络状态信息选择对应的神经网络模型。
其中,网络状态是指网络信号的强弱状态或稳定状况,如网络信号强或网络信号弱,又或者是网络信号稳定(且网络信号强)或不稳定等。对应的,网络状态信息是指网络信号的强弱状态信息。
当网络状态信息为网络信号强或者网络信号稳定时,语音数据包在传输过程中不容易丢包;当网络状态信息为网络信号弱或者网络信号不稳定时,语音数据包在传输过程中容易丢包。终端按照网络状态信息选择对应的神经网络模型,可以得到符合当前丢包情况的神经网络模型,从而可以有效地预测丢包帧功率谱。
S306,对语音数据包中的语音数据进行变换,根据变换的结果得到语音功率谱。
其中,S306可以参考上述实施例中的S204。
S308,选择所选择的神经网络模型,通过神经网络模型对语音功率谱进行丢包帧预测,得到丢包帧功率谱。
其中,上述丢包数量是指在所接收的语音数据包中,连续丢包的数量,且该数量为所有丢包数量中的最大值。例如,假设发送端发送包序号为1-10的语音数据包,若接收端接收到包序号为1-8、10的语音数据包,则丢包数量即为1;若接收端接收到包序号为1-7、10的语音数据包,则丢包数量即为2;若接收端接收到包序号为1-5、8、10的语音数据包,则丢包数量取值为2。
该神经网络模型是通过对应丢包数量的语音数据样本进行训练所得,即采用不同丢包数量的语音数据样本对对应的神经网络模型进行训练所得,因此,不同的丢包数量对应不同的神经网络模型。例如,当语音数据样本出现一个丢包时,利用该语音数据样本对神经网络模型1进行训练;当语音数据样本出现连续两个丢包(如包序号为2和3的包)时,利用该语音数据样本对神经网络模型2进行训练,依此类推。
S310,根据语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据。
其中,S310可以参考上述实施例中的S208。
上述实施例中,不同的丢包数量对应不同的神经网络模型,当丢包数量确定后,选择与对应的神经网络模型进行丢包帧功率谱的预测,可以有效地对各种丢包数量的丢包进行补偿,有效地提高了语音通话的质量。
在一个实施例中,如图4所示,该方法还可以包括:
S402,获取语音功率谱样本;语音功率谱样本是由丢失一个或连续多个包的语音数据样本经过变换所得。
其中,语音功率谱样本是由丢失一个或连续多个包的语音功率谱所得的样本,或者是由丢失一个或连续多个包的语音数据经过傅里叶变换所得的样本,又或者是由丢失一个或连续多个包的语音数据经过傅里叶变换和bark域变换所得的样本,亦或者是由丢失一个或连续多个包的语音数据经过傅里叶变换和梅尔尺度变换所得的样本。
在一个实施例中,终端获取丢失一个或连续多个包的语音数据样本;对语音数据样本进行傅里叶变换,得到训练频域语音数据;根据训练频域语音数据计算各频点的功率值,得到线性频域的语音功率谱样本。
在另一个实施例中,终端获取丢失一个或连续多个包的语音数据样本;对语音数据样本进行傅里叶变换,得到训练频域语音数据;根据训练频域语音数据计算各频点的功率值,得到线性频域的语音功率谱样本。终端对线性频域的语音功率谱样本进行bark域变换,得到bark域的语音功率谱样本。
在另一个实施例中,终端获取丢失一个或连续多个包的语音数据样本;对语音数据样本进行傅里叶变换,得到训练频域语音数据;根据训练频域语音数据计算各频点的功率值,得到线性频域的语音功率谱样本。终端对线性频域的语音功率谱样本进行梅尔尺度变换,得到梅尔尺度的语音功率谱样本。
S404,选取与丢包参数或网络状态信息对应的神经网络模型。
其中,丢包参数用于表示语音数据样本中出现丢包的丢包情况,具体可以是丢包数量或丢包率。丢包率可以是语音数据包中丢包的比例。丢包数量为语音数据样本中出现连续丢包的包数量,且该包数量为所有丢包数量中的最大值。例如,原始的语音数据包集合是由包序号为1-10的语音数据包组成,若需要对丢失一个包进行模拟,则在包序号为1-10的语音数据包中去除其中一个,或去除其中两个不连续的包。若需要对丢失连续两个包进行模拟,则在包序号为1-10的语音数据包中去除包序号相连的两个包,如去除包序号为8、9的包,依此类推。
网络状态是指网络信号的强弱状态或稳定状况,如网络信号强或网络信号弱,又或者是网络信号稳定(且网络信号强)或不稳定等。对应的,网络状态信息是指网络信号的强弱状态信息。
当网络状态信息为网络信号强或者网络信号稳定时,语音数据包在传输过程中不容易丢包;当网络状态信息为网络信号弱或者网络信号不稳定时,语音数据包在传输过程中容易丢包。终端按照网络状态信息选择对应的神经网络模型,可以得到符合当前丢包情况的神经网络模型,从而可以有效地预测丢包帧功率谱。
S406,将语音功率谱样本输入神经网络模型中训练,得到训练丢包帧功率谱。
在一个实施例中,终端将所线性频域的语音功率谱样本、或bark域的语音功率谱样本、或梅尔尺度的语音功率谱样本输入神经网络模型中训练,得到训练丢包帧功率谱。
S408,利用参考语音功率谱计算训练丢包帧功率谱的损失值;参考语音功率谱是语音数据样本中所丢失包的原始语音数据包经过变换所得。
在一个实施例中,终端根据损失函数利用参考语音功率谱计算训练丢包帧功率谱的损失值。其中,损失函数可以是以下任一种:均方误差(Mean Squared Error)函数、交叉熵损失函数、L2Loss函数和Focal Loss函数。
例如,假设参考语音功率谱为S(i,k),参考语音功率谱为S0(i,k),采用均方误差函数可得到损失值L=|S(i,k)-S0(i,k)|2
S410,根据损失值调整神经网络模型的参数。
在一个实施例中,终端损失值反向传播到神经网络模型的各层,获得对于各层参数的梯度;根据梯度调整神经网络模型中各层的参数,直至损失值降到最小或降为时停止训练,得到训练好的神经网络模型。
上述实施例中,利用不同丢包数量的语音数据样本对不同的神经网络模型进行训练,从而得到对应的训练好的神经网络模型,从而在实际应用过程中,终端接收语音数据包时,若确定丢包且确定丢包数量后,选择与对应的神经网络模型进行丢包帧功率谱的预测,可以有效地对各种丢包数量的丢包进行补偿,有效地提高了语音通话的质量。
作为一个示例,本实施例提出基于机器学习的方法来解决现有丢包隐藏技术中所出现的问题,由于机器学习例如神经网络具有大量存储和模拟单元能够通过大量语音数据样本训练,较好地拟合出丢包位置处的语音信号,在不断训练和学习中去逼近真实信号,具体如下所述:
如图5所示,获取时域的语音数据样本(该语音数据样本是丢失一个或连续多个包的样本),然后对语音数据样本依次进行傅里叶变换及Bark域转换,得到语音帧不同bark子带的语音功率谱样本。
把模拟一个或多个连续丢包后的语音功率谱样本作为神经网络模型的输入,而丢包位置的原始帧功率谱作为神经网络模型的输出,从而进行模型训练。
其中,在不同丢包个数下,由于神经网络模型的拟合难度和拟合精度有所不同,为了得到更好的拟合质量和更高效的训练,本实施例中针对不同的连续丢包数量使用相应独立的神经网络模型进行训练。例如,针对一个丢包的场景,可以使用神经网络模型1训练学习;而针对连续两个丢包的场景,使用神经网络模型2训练学习,如此类推。
当各神经网络模型训练完毕后,则将训练好的神经网络模型应用于实时业务应用中。如图6所示,在语音通话过程中,将收到的语音数据包进行语音解码,并将解码后所得的PCM语音数据进行缓存。而在接收语音数据包的同时,进行丢包统计,即统计连续丢包数量,当出现丢包时,根据连续丢包数量选取对应的神经网络模型,将缓存的语音数据进行傅里叶变换和Bark域变换,得到有限数量的语音功率谱,其中,在进行傅里叶变换的过程中,获得丢包前一帧的相位信息。将该语音功率谱作为神经网络模型的输入,通过训练好的神经网络模型得到输出的丢包帧功率谱,然后进行Bark域逆变换得到线性频域的语音功率谱,然后结合线性频域的语音功率谱和丢包前一帧的相位信息进行傅里叶反变换,从而得到最终恢复好的语音信号。其中,上述线性频域的语音功率谱的幅值是基于神经网络模型预测得到。
其中,对于傅里叶变换(即傅里叶变换)和bark域变化,其具体过程如下所述:
首先,在接收到语音数据包时,解码该语音数据包,得到PCM语音数据。然后,对该语音数据进行分帧和加窗处理,然后将加窗后的语音数据进行傅里叶变换,从而将时域信号转换到频域。
例如,以20ms为一帧的窗长度,选择汉明窗进行加窗处理,该窗函数如下:
Figure BDA0002380796020000141
其中n属于/>
Figure BDA0002380796020000142
分帧和加窗后的语音数据进行傅里叶变换,其公式如下:
Figure BDA0002380796020000143
k=1,2,3,L,N,N为窗长度(单个窗样点总个数)。
傅里叶变换后,进一步计算各频点的功率值,从而根据变换的结果得到语音功率谱,其计算公式如下:
S(i,k)=|X(i,k)|2,k=1,2,3,L,N,这里i对应帧序号,k对应频点索引值。
得到线性频域的语音功率谱S(i,k)后,可根据Eberhanrd Zwicker提出的基于听觉滤波器模拟出来的24个bark域(频域临界定义如表1所示),并把bark域各子带内的功率谱值做平均计算,则得到bark域的语音功率谱,其公式如下:
Figure BDA0002380796020000144
这里的m为bark子带序号,而ftop(m)和fbottom(m)分别代表第m子带对应线性频率的截止频率上限值和截止频率下限值。
通过实施本实施例,可以较好地拟合出丢包位置的语音信号,在不断训练和学习中去逼近真实信号,从而可以提高语音通话质量。
在一个实施例中,如图7所示,提供了一种丢包隐藏的装置,该丢包隐藏的装置具体包括:接收模块702、确定模块704、预测模块706和恢复模块708;其中:
接收模块702,用于接收语音数据包;
确定模块704,用于当根据语音数据包确定出现丢包时,对语音数据包中的语音数据进行变换,根据变换的结果得到语音功率谱;
预测模块706,用于通过神经网络模型对语音功率谱进行丢包帧预测,得到丢包帧功率谱;
恢复模块708,用于根据语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据。
上述实施例中,通过接收的语音数据包中的语音数据来确定语音功率谱,通过该神经网络模型对语音功率谱进行丢包帧预测得到丢包帧功率谱,从而可以得到所丢失的语音数据所对应的丢包帧功率谱,利用语音功率谱和预测的丢包帧功率谱得到恢复后的语音数据,从而避免直接将前一帧的最后一个基音周期波形信号到所丢包的帧位置,进而避免相邻语音信号之间存在差异而导致语音质量差的问题,从而有效地提高了语音通话的质量。
在一个实施例中,如图8所示,该装置还包括:第一获取模块710和选择模块712;其中:
确定模块704,用于根据所接收的语音数据包确定丢包参数;
选择模块712,用于选择与丢包参数对应的神经网络模型;
第一获取模块710,用于获取当前的网络状态信息;
选择模块712,还用于根据所述网络状态信息选择对应的神经网络模型;
预测模块706,还用于通过所选择的神经网络模型对语音功率谱进行丢包帧预测。
在一个实施例中,确定模块704,还用于:解码语音数据包,得到语音数据;
对语音数据进行傅里叶变换,得到频域语音数据;根据频域语音数据计算各频点的功率值,得到线性频域的语音功率谱。
在一个实施例中,如图8所示,该装置还包括:预处理模块714,其中:
预处理模块714,用于对语音数据进行分帧;对分帧后的语音数据进行加窗处理,得到加窗后的语音数据;
确定模块704,还用于对加窗后的语音数据进行傅里叶变换。
在一个实施例中,恢复模块708,还用于对语音功率谱和预测的丢包帧功率谱进行傅里叶反变换,得到恢复后的语音数据。
在一个实施例中,恢复模块708,还用于在进行傅里叶变换过程中,获取丢包的前一帧语音数据的相位信息;对语音功率谱进行傅里叶反变换;以及,结合相位信息和丢包帧功率谱进行傅里叶反变换。
在一个实施例中,确定模块704,还用于对线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱;或者,对线性频域的语音功率谱进行梅尔尺度变换,得到梅尔尺度的语音功率谱;
预测模块706,还用于通过神经网络模型对bark域的语音功率谱,或梅尔尺度的语音功率谱进行丢包帧预测,得到丢包帧功率谱。
在一个实施例中,确定模块704,还用于通过bark域变换式对线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱;bark域变换式为:
Figure BDA0002380796020000161
其中,m为bark子带序号,ftop(m)和fbottom(m)分别为bark域中第m子带对应线性频率的截止频率上限值和截止频率下限值,S(i,j)为线性频域的语音功率谱。
在一个实施例中,恢复模块708,还用于:将语音功率谱和预测的丢包帧功率谱分别进行bark域逆变换;对经过bark域逆变换的语音功率谱进行傅里叶反变换;结合相位信息和经过bark域逆变换的丢包帧功率谱进行傅里叶反变换;相位信息是丢包的前一帧语音数据的相位信息。
在一个实施例中,恢复模块708,还用于:将语音功率谱和预测的丢包帧功率谱分别进行梅尔尺度逆变换;对经过梅尔尺度逆变换的语音功率谱进行傅里叶反变换;结合相位信息和经过梅尔尺度逆变换的丢包帧功率谱进行傅里叶反变换;相位信息是丢包的前一帧语音数据的相位信息。
上述实施例中,不同的丢包数量对应不同的神经网络模型,当丢包数量确定后,选择与对应的神经网络模型进行丢包帧功率谱的预测,可以有效地对各种丢包数量的丢包进行补偿,有效地提高了语音通话的质量。
在一个实施例中,如图8所示,该装置还包括:第二获取模块716、选取模块718、训练模块720、计算模块722和调整模块724;其中:
第二获取模块716,用于获取语音功率谱样本;语音功率谱样本是由丢失一个或连续多个包的语音数据样本经过变换所得;
选取模块718,用于选取与丢包参数或网络状态信息对应的神经网络模型;丢包参数用于表示语音数据样本中出现丢包的丢包情况;
训练模块720,用于将语音功率谱样本输入神经网络模型中训练,得到训练丢包帧功率谱;
计算模块722,用于利用参考语音功率谱计算训练丢包帧功率谱的损失值;参考语音功率谱是语音数据样本中所丢失包的原始语音数据包经过变换所得;
调整模块724,用于根据损失值调整神经网络模型的参数。
在一个实施例中,第二获取模块716,还用于获取丢失一个或连续多个包的语音数据样本;对语音数据样本进行傅里叶变换,得到训练频域语音数据;根据训练频域语音数据计算各频点的功率值,得到线性频域的语音功率谱样本。
在一个实施例中,确定模块704,还用于对线性频域的语音功率谱样本进行bark域变换,得到bark域的语音功率谱样本;或者,对线性频域的语音功率谱样本进行梅尔尺度变换,得到梅尔尺度的语音功率谱样本;
训练模块720,还用于将bark域的语音功率谱样本或梅尔尺度的语音功率谱样本输入神经网络模型中训练。
上述实施例中,利用不同丢包数量的语音数据样本对不同的神经网络模型进行训练,从而得到对应的训练好的神经网络模型,从而在实际应用过程中,终端接收语音数据包时,若确定丢包且确定丢包数量后,选择与对应的神经网络模型进行丢包帧功率谱的预测,可以有效地对各种丢包数量的丢包进行补偿,有效地提高了语音通话的质量。
图2-4为一个实施例中丢包隐藏的方法的流程示意图。应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图9示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端1109。如图9所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现丢包隐藏的方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行丢包隐藏的方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的丢包隐藏的装置可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该丢包隐藏的装置的各个程序模块,比如,图7所示的接收模块702、确定模块704、预测模块706和恢复模块708。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的丢包隐藏的方法中的步骤。
例如,图9所示的计算机设备可以通过如图7所示的丢包隐藏的装置中的接收模块702执行S202。计算机设备可通过确定模块704执行S204。计算机设备可通过预测模块706执行S204。计算机设备可通过恢复模块708执行S208。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:接收语音数据包;当根据语音数据包确定出现丢包时,确定语音数据包中语音数据的语音功率谱;通过神经网络模型对语音功率谱进行丢包帧预测,得到丢包帧功率谱;根据语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据。
在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:根据所接收的语音数据包确定丢包参数,选择与丢包参数对应的神经网络模型;或者,获取当前的网络状态信息,根据网络状态信息选择对应的神经网络模型;通过所选择的神经网络模型对语音功率谱进行丢包帧预测。
在一个实施例中,计算机程序被处理器执行对语音数据包中的语音数据进行变换,根据变换的结果得到语音功率谱的步骤时,使得处理器具体执行以下步骤:解码语音数据包,得到语音数据;对语音数据进行傅里叶变换,得到频域语音数据;根据频域语音数据计算各频点的功率值,得到线性频域的语音功率谱。
在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:对语音数据进行分帧;对分帧后的语音数据进行加窗处理,得到加窗后的语音数据;对加窗后的语音数据进行傅里叶变换。
在一个实施例中,计算机程序被处理器执行根据语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据的步骤时,使得处理器具体执行以下步骤:对语音功率谱和预测的丢包帧功率谱进行傅里叶反变换,得到恢复后的语音数据。
在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:在进行傅里叶变换过程中,获取丢包的前一帧语音数据的相位信息;计算机程序被处理器执行对语音功率谱和预测的丢包帧功率谱进行变换对应的逆变换的步骤时,使得处理器具体执行以下步骤:对所述语音功率谱进行傅里叶反变换;以及,结合所述相位信息和丢包帧功率谱进行傅里叶反变换。
在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:对线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱;或者,对线性频域的语音功率谱进行梅尔尺度变换,得到梅尔尺度的语音功率谱;通过神经网络模型对bark域的语音功率谱,或梅尔尺度的语音功率谱进行丢包帧预测,得到丢包帧功率谱。
在一个实施例中,计算机程序被处理器执行对线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱的步骤时,使得处理器具体执行以下步骤:通过bark域变换式对线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱;bark域变换式为:
Figure BDA0002380796020000201
其中,m为bark子带序号,ftop(m)和fbottom(m)分别为bark域中第m子带对应线性频率的截止频率上限值和截止频率下限值,S(i,j)为线性频域的语音功率谱。
在一个实施例中,计算机程序被处理器执行对语音功率谱和预测的丢包帧功率谱进行变换对应的逆变换的步骤时,使得处理器具体执行以下步骤:将所述语音功率谱和预测的丢包帧功率谱分别进行bark域逆变换;对经过bark域逆变换的所述语音功率谱进行傅里叶反变换;结合相位信息和经过bark域逆变换的丢包帧功率谱进行傅里叶反变换;所述相位信息是所述丢包的前一帧语音数据的相位信息。
在一个实施例中,计算机程序被处理器执行对语音功率谱和预测的丢包帧功率谱进行变换对应的逆变换的步骤时,使得处理器具体执行以下步骤:将所述语音功率谱和预测的丢包帧功率谱分别进行梅尔尺度逆变换;对经过梅尔尺度逆变换的语音功率谱进行傅里叶反变换;结合相位信息和经过梅尔尺度逆变换的丢包帧功率谱进行傅里叶反变换;所述相位信息是所述丢包的前一帧语音数据的相位信息。
在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:获取语音功率谱样本;语音功率谱样本是由丢失一个或连续多个包的语音数据样本经过变换所得;选取与丢包参数或网络状态信息对应的神经网络模型;丢包参数用于表示语音数据样本中出现丢包的丢包情况;将语音功率谱样本输入神经网络模型中训练,得到训练丢包帧功率谱;利用参考语音功率谱计算训练丢包帧功率谱的损失值;参考语音功率谱是语音数据样本中所丢失包的原始语音数据包经过变换所得;根据损失值调整神经网络模型的参数。
在一个实施例中,计算机程序被处理器执行获取语音功率谱样本的步骤时,使得处理器具体执行以下步骤:获取丢失一个或连续多个包的语音数据样本;对语音数据样本进行傅里叶变换,得到训练频域语音数据;根据训练频域语音数据计算各频点的功率值,得到线性频域的语音功率谱样本。
在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:对线性频域的语音功率谱样本进行bark域变换,得到bark域的语音功率谱样本;或者,对线性频域的语音功率谱样本进行梅尔尺度变换,得到梅尔尺度的语音功率谱样本;将bark域的语音功率谱样本或梅尔尺度的语音功率谱样本输入神经网络模型中训练。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
接收语音数据包;当根据语音数据包确定出现丢包时,确定语音数据包中语音数据的语音功率谱;通过神经网络模型对语音功率谱进行丢包帧预测,得到丢包帧功率谱;根据语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据。
在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:根据所接收的语音数据包确定丢包参数,选择与丢包参数对应的神经网络模型;或者,获取当前的网络状态信息,根据网络状态信息选择对应的神经网络模型;通过所选择的神经网络模型对语音功率谱进行丢包帧预测。
在一个实施例中,计算机程序被处理器执行对语音数据包中的语音数据进行变换,根据变换的结果得到语音功率谱的步骤时,使得处理器具体执行以下步骤:解码语音数据包,得到语音数据;对语音数据进行傅里叶变换,得到频域语音数据;根据频域语音数据计算各频点的功率值,得到线性频域的语音功率谱。
在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:对语音数据进行分帧;对分帧后的语音数据进行加窗处理,得到加窗后的语音数据;对加窗后的语音数据进行傅里叶变换。
在一个实施例中,计算机程序被处理器执行根据语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据的步骤时,使得处理器具体执行以下步骤:对语音功率谱和预测的丢包帧功率谱进行傅里叶反变换,得到恢复后的语音数据。
在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:在进行傅里叶变换过程中,获取丢包的前一帧语音数据的相位信息;计算机程序被处理器执行对语音功率谱和预测的丢包帧功率谱进行变换对应的逆变换的步骤时,使得处理器具体执行以下步骤:对所述语音功率谱进行傅里叶反变换;以及,结合所述相位信息和丢包帧功率谱进行傅里叶反变换。
在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:对线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱;或者,对线性频域的语音功率谱进行梅尔尺度变换,得到梅尔尺度的语音功率谱;通过神经网络模型对bark域的语音功率谱,或梅尔尺度的语音功率谱进行丢包帧预测,得到丢包帧功率谱。
在一个实施例中,计算机程序被处理器执行对线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱的步骤时,使得处理器具体执行以下步骤:通过bark域变换式对线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱;bark域变换式为:
Figure BDA0002380796020000221
其中,m为bark子带序号,ftop(m)和fbottom(m)分别为bark域中第m子带对应线性频率的截止频率上限值和截止频率下限值,S(i,j)为线性频域的语音功率谱。
在一个实施例中,计算机程序被处理器执行对语音功率谱和预测的丢包帧功率谱进行变换对应的逆变换的步骤时,使得处理器具体执行以下步骤:将所述语音功率谱和预测的丢包帧功率谱分别进行bark域逆变换;对经过bark域逆变换的所述语音功率谱进行傅里叶反变换;结合相位信息和经过bark域逆变换的丢包帧功率谱进行傅里叶反变换;所述相位信息是所述丢包的前一帧语音数据的相位信息。
在一个实施例中,计算机程序被处理器执行对语音功率谱和预测的丢包帧功率谱进行变换对应的逆变换的步骤时,使得处理器具体执行以下步骤:将所述语音功率谱和预测的丢包帧功率谱分别进行梅尔尺度逆变换;对经过梅尔尺度逆变换的语音功率谱进行傅里叶反变换;结合相位信息和经过梅尔尺度逆变换的丢包帧功率谱进行傅里叶反变换;所述相位信息是所述丢包的前一帧语音数据的相位信息。
在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:获取语音功率谱样本;语音功率谱样本是由丢失一个或连续多个包的语音数据样本经过变换所得;选取与丢包参数或网络状态信息对应的神经网络模型;丢包参数用于表示语音数据样本中出现丢包的丢包情况;将语音功率谱样本输入神经网络模型中训练,得到训练丢包帧功率谱;利用参考语音功率谱计算训练丢包帧功率谱的损失值;参考语音功率谱是语音数据样本中所丢失包的原始语音数据包经过变换所得;根据损失值调整神经网络模型的参数。
在一个实施例中,计算机程序被处理器执行获取语音功率谱样本的步骤时,使得处理器具体执行以下步骤:获取丢失一个或连续多个包的语音数据样本;对语音数据样本进行傅里叶变换,得到训练频域语音数据;根据训练频域语音数据计算各频点的功率值,得到线性频域的语音功率谱样本。
在一个实施例中,计算机程序被处理器执行时,使得处理器还执行以下步骤:对线性频域的语音功率谱样本进行bark域变换,得到bark域的语音功率谱样本;或者,对线性频域的语音功率谱样本进行梅尔尺度变换,得到梅尔尺度的语音功率谱样本;将bark域的语音功率谱样本或梅尔尺度的语音功率谱样本输入神经网络模型中训练。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (28)

1.一种丢包隐藏的方法,包括:
接收语音数据包;
当根据所述语音数据包确定出现丢包时,确定所述语音数据包中语音数据的语音功率谱;
根据所接收的语音数据包确定丢包参数,选择与所述丢包参数对应的神经网络模型;或者,获取当前的网络状态信息,根据所述网络状态信息选择对应的神经网络模型;
通过所选择的神经网络模型对所述语音功率谱进行丢包帧预测,得到丢包帧功率谱;
根据所述语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据。
2.根据权利要求1所述的方法,其特征在于,所述丢包参数包括丢包数量或丢包率;所述丢包数量包括连续丢包的数量。
3.根据权利要求1所述的方法,其特征在于,所述确定所述语音数据包中语音数据的语音功率谱包括:
解码所述语音数据包,得到语音数据;
对所述语音数据进行傅里叶变换,得到频域语音数据;
根据所述频域语音数据计算各频点的功率值,得到线性频域的语音功率谱。
4.根据权利要求3所述的方法,其特征在于,所述对所述语音数据进行傅里叶变换之前,所述方法还包括:
对所述语音数据进行分帧;
对分帧后的语音数据进行加窗处理,得到加窗后的语音数据;
所述对所述语音数据进行傅里叶变换包括:
对所述加窗后的语音数据进行傅里叶变换。
5.根据权利要求3所述的方法,其特征在于,所述根据所述语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据包括:
对所述语音功率谱和预测的丢包帧功率谱进行傅里叶反变换,得到恢复后的语音数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在进行傅里叶变换过程中,获取所述丢包的前一帧语音数据的相位信息;
所述对所述语音功率谱和预测的丢包帧功率谱进行傅里叶反变换包括:
对所述语音功率谱进行傅里叶反变换;以及,
结合所述相位信息和所述丢包帧功率谱进行傅里叶反变换。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
对所述线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱;或者,对所述线性频域的语音功率谱进行梅尔尺度变换,得到梅尔尺度的语音功率谱;
所述通过所选择的神经网络模型对所述语音功率谱进行丢包帧预测,得到丢包帧功率谱包括:
通过所选择的神经网络模型对所述bark域的语音功率谱,或所述梅尔尺度的语音功率谱进行丢包帧预测,得到丢包帧功率谱。
8.根据权利要求7所述的方法,其特征在于,所述对所述线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱包括:
通过bark域变换式对所述线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱;所述bark域变换式为:
Figure QLYQS_1
其中,m为bark子带序号,
Figure QLYQS_2
和/>
Figure QLYQS_3
分别为bark域中第m子带对应线性频率的截止频率上限值和截止频率下限值,/>
Figure QLYQS_4
为所述线性频域的语音功率谱。
9.根据权利要求7或8所述的方法,其特征在于,所述根据所述语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据包括:
将所述语音功率谱和预测的丢包帧功率谱分别进行bark域逆变换;
对经过bark域逆变换的所述语音功率谱进行傅里叶反变换;
结合相位信息和经过bark域逆变换的丢包帧功率谱进行傅里叶反变换,得到恢复后的语音数据;所述相位信息是所述丢包的前一帧语音数据的相位信息。
10.根据权利要求7或8所述的方法,其特征在于,所述根据所述语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据包括:
将所述语音功率谱和预测的丢包帧功率谱分别进行梅尔尺度逆变换;
对经过梅尔尺度逆变换的语音功率谱进行傅里叶反变换;
结合相位信息和经过梅尔尺度逆变换的丢包帧功率谱进行傅里叶反变换,得到恢复后的语音数据;所述相位信息是所述丢包的前一帧语音数据的相位信息。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取语音功率谱样本;所述语音功率谱样本是由丢失一个或连续多个包的语音数据样本经过变换所得;
选取与丢包参数或网络状态信息对应的神经网络模型;所述丢包参数用于表示所述语音数据样本中出现丢包的丢包情况;
将所述语音功率谱样本输入神经网络模型中训练,得到训练丢包帧功率谱;
利用参考语音功率谱计算所述训练丢包帧功率谱的损失值;所述参考语音功率谱是所述语音数据样本中所丢失包的原始语音数据包经过变换所得;
根据所述损失值调整所述神经网络模型的参数。
12.根据权利要求11所述的方法,其特征在于,所述获取语音功率谱样本包括:
获取丢失一个或连续多个包的语音数据样本;
对所述语音数据样本进行傅里叶变换,得到训练频域语音数据;
根据所述训练频域语音数据计算各频点的功率值,得到线性频域的语音功率谱样本。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
对所述线性频域的语音功率谱样本进行bark域变换,得到bark域的语音功率谱样本;或者,对所述线性频域的语音功率谱样本进行梅尔尺度变换,得到梅尔尺度的语音功率谱样本;
所述将所述语音功率谱样本输入神经网络模型中训练包括:
将所述bark域的语音功率谱样本或所述梅尔尺度的语音功率谱样本输入神经网络模型中训练。
14.一种丢包隐藏的装置,其特征在于,所述装置包括:
接收模块,用于接收语音数据包;
确定模块,用于当根据所述语音数据包确定出现丢包时,确定所述语音数据包中语音数据的语音功率谱;
选择模块,用于选择与丢包参数对应的神经网络模型,或者根据网络状态信息选择对应的神经网络模型;其中,所述丢包参数是所述确定模块根据所接收的语音数据包确定的,所述网络状态信息是第一获取模块获取的当前的网络状态信息;
预测模块,用于通过所选择的神经网络模型对所述语音功率谱进行丢包帧预测,得到丢包帧功率谱;
恢复模块,用于根据所述语音功率谱和预测的丢包帧功率谱确定恢复后的语音数据。
15.根据权利要求14所述的装置,其特征在于,所述丢包参数包括丢包数量或丢包率;所述丢包数量包括连续丢包的数量。
16.根据权利要求14所述的装置,其特征在于,所述确定模块,还用于解码所述语音数据包,得到语音数据;对所述语音数据进行傅里叶变换,得到频域语音数据;根据所述频域语音数据计算各频点的功率值,得到线性频域的语音功率谱。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
预处理模块,用于对所述语音数据进行分帧;对分帧后的语音数据进行加窗处理,得到加窗后的语音数据;
所述确定模块,还用于对所述加窗后的语音数据进行傅里叶变换。
18.根据权利要求16所述的装置,其特征在于,所述恢复模块,还用于对所述语音功率谱和预测的丢包帧功率谱进行傅里叶反变换,得到恢复后的语音数据。
19.根据权利要求18所述的装置,其特征在于,所述恢复模块,还用于在进行傅里叶变换过程中,获取所述丢包的前一帧语音数据的相位信息;对所述语音功率谱进行傅里叶反变换;以及,结合所述相位信息和所述丢包帧功率谱进行傅里叶反变换。
20.根据权利要求16所述的装置,其特征在于,所述确定模块,还用于对所述线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱;或者,对所述线性频域的语音功率谱进行梅尔尺度变换,得到梅尔尺度的语音功率谱;
所述预测模块,还用于通过所选择的神经网络模型对所述bark域的语音功率谱,或所述梅尔尺度的语音功率谱进行丢包帧预测,得到丢包帧功率谱。
21.根据权利要求20所述的装置,其特征在于,所述确定模块,还用于通过bark域变换式对所述线性频域的语音功率谱进行bark域变换,得到bark域的语音功率谱;所述bark域变换式为:
Figure QLYQS_5
其中,m为bark子带序号,
Figure QLYQS_6
和/>
Figure QLYQS_7
分别为bark域中第m子带对应线性频率的截止频率上限值和截止频率下限值,/>
Figure QLYQS_8
为所述线性频域的语音功率谱。/>
22.根据权利要求20或21所述的装置,其特征在于,所述恢复模块,还用于将所述语音功率谱和预测的丢包帧功率谱分别进行bark域逆变换;对经过bark域逆变换的所述语音功率谱进行傅里叶反变换;结合相位信息和经过bark域逆变换的丢包帧功率谱进行傅里叶反变换,得到恢复后的语音数据;所述相位信息是所述丢包的前一帧语音数据的相位信息。
23.根据权利要求20或21所述的装置,其特征在于,所述恢复模块,还用于将所述语音功率谱和预测的丢包帧功率谱分别进行梅尔尺度逆变换;对经过梅尔尺度逆变换的语音功率谱进行傅里叶反变换;结合相位信息和经过梅尔尺度逆变换的丢包帧功率谱进行傅里叶反变换,得到恢复后的语音数据;所述相位信息是所述丢包的前一帧语音数据的相位信息。
24.根据权利要求14所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取语音功率谱样本;所述语音功率谱样本是由丢失一个或连续多个包的语音数据样本经过变换所得;
选取模块,用于选取与丢包参数或网络状态信息对应的神经网络模型;所述丢包参数用于表示所述语音数据样本中出现丢包的丢包情况;
训练模块,用于将所述语音功率谱样本输入神经网络模型中训练,得到训练丢包帧功率谱;
计算模块,用于利用参考语音功率谱计算所述训练丢包帧功率谱的损失值;所述参考语音功率谱是所述语音数据样本中所丢失包的原始语音数据包经过变换所得;
调整模块,用于根据所述损失值调整所述神经网络模型的参数。
25.根据权利要求24所述的装置,其特征在于,第二获取模块,还用于获取丢失一个或连续多个包的语音数据样本;对所述语音数据样本进行傅里叶变换,得到训练频域语音数据;根据所述训练频域语音数据计算各频点的功率值,得到线性频域的语音功率谱样本。
26.根据权利要求25所述的装置,其特征在于,所述确定模块,还用于对所述线性频域的语音功率谱样本进行bark域变换,得到bark域的语音功率谱样本;或者,对所述线性频域的语音功率谱样本进行梅尔尺度变换,得到梅尔尺度的语音功率谱样本;
所述训练模块,还用于将所述bark域的语音功率谱样本或所述梅尔尺度的语音功率谱样本输入神经网络模型中训练。
27.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至13中任一项所述方法的步骤。
28.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至13中任一项所述方法的步骤。
CN202010082432.7A 2020-02-07 2020-02-07 丢包隐藏的方法、装置、存储介质和计算机设备 Active CN111292768B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010082432.7A CN111292768B (zh) 2020-02-07 2020-02-07 丢包隐藏的方法、装置、存储介质和计算机设备
PCT/CN2020/123826 WO2021155676A1 (zh) 2020-02-07 2020-10-27 丢包隐藏的方法、装置、存储介质和计算机设备
US17/667,487 US20220165280A1 (en) 2020-02-07 2022-02-08 Packet loss concealment method and apparatus, storage medium, and computer device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010082432.7A CN111292768B (zh) 2020-02-07 2020-02-07 丢包隐藏的方法、装置、存储介质和计算机设备

Publications (2)

Publication Number Publication Date
CN111292768A CN111292768A (zh) 2020-06-16
CN111292768B true CN111292768B (zh) 2023-06-02

Family

ID=71023449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010082432.7A Active CN111292768B (zh) 2020-02-07 2020-02-07 丢包隐藏的方法、装置、存储介质和计算机设备

Country Status (3)

Country Link
US (1) US20220165280A1 (zh)
CN (1) CN111292768B (zh)
WO (1) WO2021155676A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111292768B (zh) * 2020-02-07 2023-06-02 腾讯科技(深圳)有限公司 丢包隐藏的方法、装置、存储介质和计算机设备
WO2021255153A1 (en) * 2020-06-19 2021-12-23 Rtx A/S Low latency audio packet loss concealment
CN111883147B (zh) * 2020-07-23 2024-05-07 北京达佳互联信息技术有限公司 音频数据处理方法、装置、计算机设备及存储介质
EP4229629A2 (en) 2020-10-15 2023-08-23 Dolby International AB Real-time packet loss concealment using deep generative networks
CN112289343B (zh) * 2020-10-28 2024-03-19 腾讯音乐娱乐科技(深圳)有限公司 音频修复方法、装置及电子设备和计算机可读存储介质
CN112767967A (zh) * 2020-12-30 2021-05-07 深延科技(北京)有限公司 语音分类方法、装置及自动语音分类方法
CN113096670B (zh) * 2021-03-30 2024-05-14 北京字节跳动网络技术有限公司 音频数据的处理方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108011686A (zh) * 2016-10-31 2018-05-08 腾讯科技(深圳)有限公司 信息编码帧丢失恢复方法和装置
CN108335702A (zh) * 2018-02-01 2018-07-27 福州大学 一种基于深度神经网络的音频降噪方法
CN109887494A (zh) * 2017-12-01 2019-06-14 腾讯科技(深圳)有限公司 重构语音信号的方法和装置
CN110322891A (zh) * 2019-07-03 2019-10-11 南方科技大学 一种语音信号的处理方法、装置、终端及存储介质
CN110491407A (zh) * 2019-08-15 2019-11-22 广州华多网络科技有限公司 语音降噪的方法、装置、电子设备及存储介质
CN110534120A (zh) * 2019-08-31 2019-12-03 刘秀萍 一种移动网络环境下的环绕声误码修复方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015134579A1 (en) * 2014-03-04 2015-09-11 Interactive Intelligence Group, Inc. System and method to correct for packet loss in asr systems
KR102051891B1 (ko) * 2017-08-10 2019-12-04 한양대학교 산학협력단 대립쌍 구조 기반의 생성모델을 이용한 패킷손실은닉 방법 및 장치
CN110265046B (zh) * 2019-07-25 2024-05-17 腾讯科技(深圳)有限公司 一种编码参数调控方法、装置、设备及存储介质
CN111292768B (zh) * 2020-02-07 2023-06-02 腾讯科技(深圳)有限公司 丢包隐藏的方法、装置、存储介质和计算机设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108011686A (zh) * 2016-10-31 2018-05-08 腾讯科技(深圳)有限公司 信息编码帧丢失恢复方法和装置
CN109887494A (zh) * 2017-12-01 2019-06-14 腾讯科技(深圳)有限公司 重构语音信号的方法和装置
CN108335702A (zh) * 2018-02-01 2018-07-27 福州大学 一种基于深度神经网络的音频降噪方法
CN110322891A (zh) * 2019-07-03 2019-10-11 南方科技大学 一种语音信号的处理方法、装置、终端及存储介质
CN110491407A (zh) * 2019-08-15 2019-11-22 广州华多网络科技有限公司 语音降噪的方法、装置、电子设备及存储介质
CN110534120A (zh) * 2019-08-31 2019-12-03 刘秀萍 一种移动网络环境下的环绕声误码修复方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Bong-Ki Lee."Packet Loss Concealment Based on Deep Neural Networks for Digital Speech Transmission".《IEEE/ACM TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING》.2016,第第24卷卷(第第24卷期),正文第1-9页. *

Also Published As

Publication number Publication date
US20220165280A1 (en) 2022-05-26
WO2021155676A1 (zh) 2021-08-12
CN111292768A (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
CN111292768B (zh) 丢包隐藏的方法、装置、存储介质和计算机设备
US11482207B2 (en) Waveform generation using end-to-end text-to-waveform system
KR102486348B1 (ko) 어텐션-기반의 시퀀스 변환 신경망
JP7194284B2 (ja) 量子化モデルの最適化方法、装置、情報推薦方法、装置、ニューラルネットワークモデルの最適化方法、装置、電子機器及びコンピュータプログラム
CN109074820B (zh) 使用神经网络进行音频处理
US10810993B2 (en) Sample-efficient adaptive text-to-speech
CN108960407B (zh) 递归神经网路语言模型训练方法、装置、设备及介质
EP3884426B1 (en) Action classification in video clips using attention-based neural networks
CN112509563A (zh) 模型训练方法、装置及电子设备
US20230080230A1 (en) Method for generating federated learning model
JP2021125217A (ja) マルチホップ機械読み取りのための潜在質問再定式化および情報蓄積
CN115101061A (zh) 语音识别模型的训练方法、装置、存储介质及电子设备
KR20180103671A (ko) 언어 모델을 압축하기 위한 전자 장치, 추천 워드를 제공하기 위한 전자 장치 및 그 동작 방법들
CN114360502A (zh) 语音识别模型的处理方法、语音识别方法及装置
CN113782042B (zh) 语音合成方法、声码器的训练方法、装置、设备及介质
US20220059107A1 (en) Method, apparatus and system for hybrid speech synthesis
CN111354374A (zh) 语音处理方法、模型训练方法及电子设备
CN111653261A (zh) 语音合成方法、装置、可读存储介质及电子设备
CN115206284B (zh) 一种模型训练方法、装置、服务器和介质
CN113327265B (zh) 一种基于指导学习策略的光流估计方法和系统
CN113870887A (zh) 单通道语音增强方法、装置、计算机设备及存储介质
US20220188643A1 (en) Mixup data augmentation for knowledge distillation framework
CN116414951A (zh) 智能对话方法、模型训练方法、装置、存储介质及设备
Zhou et al. Speech Semantic Communication Based On Swin Transformer
CN116248229B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40024137

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant