CN105719643A - 声音检索装置、声音检索方法 - Google Patents

声音检索装置、声音检索方法 Download PDF

Info

Publication number
CN105719643A
CN105719643A CN201510974271.1A CN201510974271A CN105719643A CN 105719643 A CN105719643 A CN 105719643A CN 201510974271 A CN201510974271 A CN 201510974271A CN 105719643 A CN105719643 A CN 105719643A
Authority
CN
China
Prior art keywords
likelihood
interval
obtains
time span
phoneme
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.)
Granted
Application number
CN201510974271.1A
Other languages
English (en)
Other versions
CN105719643B (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Publication of CN105719643A publication Critical patent/CN105719643A/zh
Application granted granted Critical
Publication of CN105719643B publication Critical patent/CN105719643B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • G10L15/05Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • G10L15/142Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • 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/54Speech 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 retrieval
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Artificial Intelligence (AREA)

Abstract

本发明提供声音检索装置、声音检索方法。检索字符串取得部取得检索字符串。变换部将检索字符串变换为音素串。时间长度导出部使用语速不同的多个音素的持续时间长度,导出多个与检索字符串对应的声音的发声时间长度。区间指定部指定检索对象的声音信号中的似然取得区间。似然取得部取得表示似然取得区间为发出与检索字符串对应的声音的区间的似然度的似然。重复部改变由区间指定部指定的似然取得区间,重复进行区间指定部和似然取得部的处理。选择部选择使用与似然变高的语速对应的持续时间长度的似然取得区间。确定部根据针对所选择的似然取得区间分别取得的似然,确定从检索对象的声音信号中推定发出与检索字符串对应的声音的推定区间。

Description

声音检索装置、声音检索方法
关于本申请,主张以在2014年12月22日申请的日本国专利申请第2014-259419号为基础的优先权,参照该基础申请的内容,在本申请引用全部内容。
技术领域
本发明涉及一种声音检索装置、声音检索方法。
背景技术
随着声音、动画等多媒体内容的扩大/普及,要求高精度的多媒体检索技术。其中,正在研究从声音信号中确定发出与成为检索对象的检索词(查询)对应的声音的位置的声音检索技术。
在声音检索中,尚未确立与使用图像识别的字符串检索技术相比具有充分的性能的检索方法。因此,正在研究用于实现具有充分性能的声音检索的各种技术。
例如,在非专利文献1中(Y.ZhangandJ.Glass.“Aninner-productlower-boundestimatefordynamictimewarping”inProc.ICASSP,2011,pp.5660-5663.),公开了高速地比较声音信号之间的方法。由此,能够从检索对象的声音信号中高速地确定与通过声音输入的查询对应的位置。
在非专利文献1公开的技术中,在检索对象的音声的语速和查询输入者的语速不同的情况下,存在检索精度变差的问题。
发明内容
本发明是为了解决上述的课题而提出的,其目的是提供一种能够从不同语速的声音信号中高精度地对检索词进行检索的声音检索装置、声音检索方法。
为了实现上述目的,本发明的声音检索装置具备:
记录单元,其记录检索对象的声音信号;
变换单元,其将检索字符串变换为音素串;
时间长度取得单元,其从存储有与音素相关的持续时间长度数据的数据库中取得由所述变换单元进行变换而得的音素串所包含的各音素的持续时间长度;
时间长度导出单元,其根据由所述时间长度取得单元取得的持续时间长度,导出多个相互不同的语速所对应的多个时间长度作为与所述检索字符串对应的声音的发声时间长度的候补;
区间指定单元,其在检索对象的声音信号的时间长度中,对所述多个时间长度中的各时间长度指定多个具有由所述时间长度导出单元导出的时间长度的区间即似然取得区间;
似然取得单元,其取得表示由所述区间指定单元指定的似然取得区间是发出与所述检索字符串对应的声音的区间的似然度的似然;以及
确定单元,其根据由所述似然取得单元针对由所述区间指定单元指定的似然取得区间分别取得的似然,确定从所述检索对象的声音信号中推定发出与所述检索字符串对应的声音的推定区间。
根据本发明,能够从不同语速的声音信号中能够高精度地对检索词进行检索。
附图说明
若根据以下的附图考虑以下的详细记述,则能够得到对本申请的更深的理解。
图1是表示本发明的实施方式1的声音检索装置的物理结构的图。
图2是表示本发明的实施方式1的声音检索装置的功能结构的图。
图3是用于说明音素的状态的图。
图4是用于说明导出与语速对应的说话时间长度的图。
图5(a)是检索对象的声音信号的波形图,图5(b)是表示在检索对象的声音信号中设定的帧的图,图5(c)是表示在检索对象的声音信号中指定的似然取得区间的图。
图6是表示将输出概率下限化的例子的图。
图7是用于说明基于选择部的候补区间的选择方法的图。
图8是表示本发明的实施方式1的声音检索装置执行的声音检索处理的流程的流程图。
图9是表示确定与检索字符串对应的区间的处理流程的流程图。
图10是表示本发明的实施方式2的声音检索装置的功能结构的图。
图11A是用于说明选择部在乘上所取得的似然的加权系数后选择候补区间的方法的图。
图11B是表示加权系数的例子的图。
图12是用于说明基于选择部的候补区间的选择方法的图。
图13A是表示选择部对每个语速记载了分割声音信号而得的区间的最大似然的例子的图。
图13B是表示在分割声音信号而得的每个区间对与语速对应的似然顺序进行比较的例子的图。
具体实施方式
以下,参照附图对本发明的实施方式的声音检索装置进行说明。另外,对图中相同或对应的部分赋予相同符号。
(实施方式1)
如图1所示,实施方式1的声音检索装置100物理上具备:ROM(ReadOnlyMemory:只读存储器)1、RAM(RandomAccessMemory:随机存取存储器)2、外部存储装置3、输入装置4、输出装置5、CPU(CentralProcessingUnit:中央处理单元)6以及总线7。
ROM1存储声音检索程序。RAM2被用作CPU6的工作区域。
外部存储装置3例如由硬盘构成,将解析对象即声音信号、后述的单音子模型、三音子模型以及音素的时间长度作为数据来存储。
输入装置4例如由键盘、声音识别装置构成。输入装置4向CPU6提供用户输入的检索词作为文本数据。输出装置5例如具备液晶显示器等画面、扬声器等。输出装置5在画面上显示由CPU6输出的文本数据,从扬声器输出声音数据。
CPU6将存储在ROM1中的声音检索程序读出到RAM2并执行该声音检索程序,由此实现以下所示的功能。总线7连接ROM1、RAM2、外部存储装置3、输入装置4、输出装置5、CPU6。
如图2所示,声音检索装置100功能上具备声音信号存储部101、单音子模型存储部102、三音子模型存储部103、时间长度存储部104、检索字符串取得部111、变换部112、时间长度取得部113、时间长度导出部114、区间指定部115、特征量计算部116、输出概率取得部117、置换部118、似然取得部119、重复部120、选择部121、第2变换部122、第2输出概率取得部123、第2似然取得部124以及确定部125。在外部存储装置3的存储区域构筑声音信号存储部101、单音子模型存储部102、三音子模型存储部103以及时间长度存储部104。
声音信号存储部101存储检索对象的声音信号。检索对象的声音信号例如是新闻播放等声音、所录音的会议的声音、所录音的演讲的声音、电影的声音等声音信号。
单音子模型存储部102和三音子模型存储部103存储声学模型。声学模型是对构成能够作为检索字符串而取得的字符串的各音素的频率特性等进行模型化而得的模型。具体而言,单音子模型存储部102存储基于单音子(1个音素)的声学模型(单音子模型),三音子模型存储部103存储基于三音子(3个音素)的声学模型(三音子模型)。
音素是构成说话者发出的声音的成分单位。例如“カテゴリ”这一单词由“k”、“a”、“t”、“e”、“g”、“o”、“r”、“i”这8个音素构成。
单音子模型是对每一个音素生成的声学模型,是不依存相邻的音素,即是固定化与前后的音素状态的状态迁移而得的声学模型。三音子模型是对每三个音素生成的声学模型,是依存相邻的音素,即考虑与前后的音素状态的状态迁移而得的声学模型,与单音子模型相比,具有较多信息。声音检索装置100通过一般的方法学习单音子模型和三音子模型,并分别预先存储在单音子模型存储部102和三音子模型存储部103中。
作为单音子模型和三音子模型,例如可以利用在一般的声音识别中所利用的声学模型即HMM(HiddenMarkovModel,隐马尔科夫模型)。HMM是用于通过统计方法根据声音信号概率地推定构成该声音信号的音素的模型。在HMM中使用将表示时间状态的起伏的迁移概率和输出从各状态输入的特征量的概率(输出概率)作为参数的标准模式。
时间长度存储部104将在声学模型中利用的各音素的持续时间长度区分为语速、性别、每个年两层、发声环境等的组,并以各音素的状态单位进行存储。各音素的持续时间长度是发出各音素时的平均时间长度。各音素的状态是在时间方向对各音素进行细分化而得的单位,相当于声学模型的最小单位。对各音素预先决定状态数。例如,以对各音素决定的状态数为“3”的情况为例进行说明。例如如图3所示,将声音“あ”的音素“a”分为包含该音素的发声开始时的第1状态“a1”、作为中间状态的第2状态“a2”以及包含发声结束时的第3状态“a3”这3个状态。即,1个音素由3个状态构成。将在声学模型中利用的全部音素的数量设为Q的情况下,存在(3×Q)个状态。声音检索装置100根据大量的声音信号的数据分别针对(3×Q)个状态计算持续时间长度的平均值,并预先存储在时间长度存储部104中。
在本实施方式中,将音素的持续时间长度的组分为与“快”、“较快”、“普通”、“较慢”、“慢”这5个阶段的语速对应的组。时间长度存储部104将大量的声音数据分为“快”、“较快”、“普通”、“较慢”、“慢”这5个阶段的语速的组,对各语速的每个组求出音素的持续时间长度的平均,对与语速对应的每个组存储持续时间长度。
检索字符串取得部111取得用户经由输入装置4输入的检索字符串。即,用户用字符串(文本)对声音检索装置100赋予用于从检索对象的声音信号检索发出目的声音的部分的检索词(查询)。
变换部112按照检索字符串取得部111取得的检索字符串排列不依存于相邻的音素的声学模型即单音子模型的音素,将检索字符串变换为音素串。即,变换部112按照与在检索字符串中包含的字符相同的顺序排列发出各字符时的音素(单音子),由此将检索字符串变换为单音子音素串。
在本实施方式中,对检索日语的“カテゴリ”的情况进行说明。当作为检索字符串输入了日语“カテゴリ”的情况下,“カテゴリ”包含“k”、“a”、“t”、“e”、“g”、“o”、“r”、“i”这8个音素(单音子),因此变换部112生成音素串“k、a、t、e、g、o、r、i”。
时间长度取得部113从时间长度存储部104取得与5个阶段的语速对应的音素的每个状态的持续时间长度。时间长度导出部114从时间长度取得部113取得变换部112输出的音素串所包含的各音素的每个状态的持续时间长度。然后,根据所取得的持续时间长度导出与检索字符串对应的声音的时间长度(以下,称为发声时间长度)。
具体而言,首先,时间长度导出部114从“快”用的音素的持续时间长度的组取得与“k、a、t、e、g、o、r、i”这8个音素对应的持续时间长度。准确而言,各音素具有3个状态,对每个状态积累持续时间长度数据,因此取得24个持续时间长度数据。然后,对所取得的持续时间长度进行相加后导出音素串“k、a、t、e、g、o、r、i”的语速“快”用的发声时间长度。接着,从“较快”用的音素的持续时间长度的组同样地取得24个持续时间长度数据,导出语速“较快”用的发声时间长度。以下,同样地从“普通”用的音素的持续时间长度的组、“较慢”用的音素的持续时间长度的组、“慢”用的音素的持续时间长度的组分别取得24个持续时间长度数据,导出发声时间长度。
使用图4,更详细地进行说明。图4的第1列记载有检索词“カテゴリ”的8个音素的24个状态。第2列是从时间长度存储部104的语速“快”用的持续时间长度的组取得与各音素的状态对应的持续时间长度而得的值。然后,对24个持续时间长度进行合计而得的值(515ms)是语速“快”用的发声时间长度。第3列是从时间长度存储部104的语速“较快”用的持续时间长度的组取得与各音素的状态对应的持续时间长度而得的值。然后,对24个持续时间长度进行合计而得的值(635ms)是语速“较快”用的发声时间长度。以下,同样地取得语速“普通”用的说话时间长度(755ms)、语速“较慢”用的说话时间长度(875ms)、语速“慢”用的说话时间长度(995ms)。
即,声音检索装置100预先在时间长度存储部104针对音素的每个状态准备发声时的典型的5个种类的持续时间长度,针对检索词导出与语速对应的5个声音的发声时间长度。
返回到图2,区间指定部115从声音信号存储部101取得检索对象的声音信号,从检索对象的声音信号的开头开始依次指定时间长度导出部114导出的发声时间长度的区间作为似然取得区间。似然是表示检索对象的音声和根据声学模型生成的与检索字符串对应的音素串的类似程度的指标。区间指定部115比较从检索字符串变换而得的音素串和声音信号,因此剪切所指定的似然取得区间内的声音信号,并将所剪切的声音信号分割为与音素串所包含的各音素的状态对应的帧。区间指定部115分别针对时间长度导出部114导出的5个时间长度,将所剪切的声音信号所包含的各帧和音素串所包含的各音素的状态对应起来。
帧是具有音素的1个状态的时间长度的时间窗。具体参照图5说明在检索对象的声音信号中设定的帧。图5(a)是从开头到末尾的时间长度T的检索对象的声音信号的波形图。纵轴表示波形的振幅,横轴表示时间t。图5(b)表示在图5(a)所示的声音信号中设定的帧。第1行是从声音信号的开头开始的第0帧列。“カテゴリ”的音素数量为8个音素,24个状态,因此第0帧列包含的帧数为24个。与语速对应地音素的持续时间长度不同,因此与语速对应,帧长度F也不同。因此,对从声音信号的开头开始的第0帧列也与“快”、“较快”、“普通”、“较慢”、“慢”这5个阶段的语速对应地设定5个帧列。关于第2行的第1帧列,设定为从声音信号的开头开始仅偏移预定的偏移长度S。第1帧列的帧数也是24个,与语速对应地设定5个帧列。之后,同样地将帧列的开头位置逐次偏移1个偏移长度S直到第(P﹣1)帧列位置,分别设定5个帧列。
偏移长度S是决定用于检索在声音信号的哪个位置存在检索对象的检查字的检索位置的精度的长度。偏移长度S是设定为比最短帧长度短的值的固定值。在本实施方式中,图4所示的音素的状态的最短为15ms,因此设定为比其短的5ms。
图5(c)表示在检索对象的声音信号中由区间指定部115指定的似然取得区间。首先,区间指定部115将包含从声音信号的开头开始的24个帧的第0帧列的区间指定为时间长度L的第0似然取得区间。与语速对应地具有5个第0帧列,因此与语速对应地指定5个第0似然取得区间。接着,将从自声音信号的开头仅偏移1偏移长度S的位置开始的第1帧列区间指定为第1似然取得区间。对第1似然指定区间指定5个。以下,同样地,到与第(P﹣1)帧的区间对应的第(P﹣1)似然取得区间为止每次指定5个。
返回到图2,特征量计算部116对每帧计算出区间指定部115指定的似然取得区间中的检索对象的声音信号的特征量。通过组合频率轴系特征参数和功率(power)系特征参数来得到该特征量,其中,频率轴系特征参数是在频率轴上变换声音数据而得的;功率系特征参数是计算声音数据的能量的平方和或器对数而得的。
例如众所周知,特征量是取频率轴系特征参数12个分量(12维)与功率系特征参数1个分量(1维)、之前的时间窗的各分量的差分,即取Δ频率轴系特征参数12个分量(12维)与Δ功率系特征参数1个分量(1维)以及之前的时间窗的各分量的差分,即构成为具有ΔΔ频率轴系特征参数12个分量(12维)的合计38个分量的38维向量。
返回到图2,输出概率取得部117根据特征量计算部116计算出的特征量,对每个帧取得从音素串所包含的各音素输出该特征量的概率(输出概率)。具体而言,输出概率取得部117从单音子模型存储部102取得单音子模型,对特征量计算部116计算出的各帧的特征量和在音素串所包含的音素的状态中与该帧对应的状态的单音子模型进行比较。然后,计算从对应的状态输出各帧的特征量的概率。
对于该输出概率与区间指定部115指定的语速对应的5个似然取得区间,输出概率取得部117对似然取得区间所包含的24个帧的每个帧计算输出概率。
置换部118将输出概率取得部117取得输出概率分别置换成在相邻的前后数个帧中最大的输出概率。将该置换处理称为下限化。对5个似然取得区间分别进行该处理。
参照图6,具体地说明下限化。在图6中,实线表示对每个帧取得的输出概率。纵轴表示为使输出概率的高度越下降变得越高,横轴表示时间t。置换部118将各帧的输出概率置换为在该帧、该帧前的N1个帧、该帧后的N2个帧中最大的输出概率。N1和N2是包含0的自然数,但将N1和N2中的任何一个都设为不是0。设为N1=N2=2来进行说明。帧列内的第1帧的输出概率在之前没有帧,因此置换为自身的第1帧以及之后的第2帧和第3帧中最大的输出概率。将第2帧的输出概率置换为之前的第1帧、自身的第2帧、之后的第3帧和第4帧中最大的输出概率。将第3帧的输出概率置换为之前的第1帧和第2帧、自身的第3帧、之后的第4帧和第5帧中最大的输出概率。这样,进行置换处理到第24帧为止。置换的结果,如用虚线所示的LB(下限)化输出概率那样,将用实线表示的输出概率置换为在时间方向值的变化变小的输出概率。
通过这样的下限化,能够使存储在时间长度存储部104中的各音素的持续时间长度与实际的声音信号的持续时间长度的误差以及时间长度导出部114导出的与检索字符串对应的声音的发声时间长度与实际的声音信号的发声时间长度的误差在前后数个帧的范围内变小。
似然取得部119根据基于置换部118的置换后的输出概率,取得表示区间指定部115指定的似然取得区间为发出与检索字符串对应的声音的区间的似然度的似然。具体而言,似然取得部119通过将取置换后的输出概率的对数得到的值相加到从似然取得区间的开头到末尾的所有帧,在该例子中相加到24帧,取得该似然取得区间的似然。即,越是包含多的输出概率高的帧的似然取得区间,似然取得部119取得的似然变得越大。对与语速对应的5个似然取得区间进行所述处理。
另外,是对各帧的输出概率进行乘法运算的处理,因此也可以不取对数而是直接进行输出概率的乘法运算,也可以代替对数而使用近似式。
重复部120改变区间指定部115指定的似然取得区间的声音信号中的指定区间,控制各部来重复进行区间指定部115、特征量计算部116、输出概率取得部117、置换部118以及似然取得部119的处理。
如果参照图5(b)和图5(c)具体地进行说明,则接受重复部120的控制,区间指定部115使帧列的开头位置偏移1个偏移长度(S=10ms)量并指定第1帧列,并将第1帧列的区间新指定为第1似然取得区间。对第1似然取得区间也指定与语速对应的5个似然取得区间。然后,在新指定的第1似然取得区间,重复部120使各部执行与从上述的特征量计算部116到似然取得部119的处理相同的处理,控制各部使取得第1似然取得区间的似然。
同样地,在从第2似然取得区间到第(P﹣1)似然取得区间,重复部120使区间指定部115指定的似然取得区间逐次偏移1个偏移长度(S=10ms),控制各部使得对偏移后的各个似然取得区间取得似然。其结果,对将检索对象的声音信号逐次偏移1个偏移长度S而得的各个似然取得区间取得根据单音子模型生成的音素串“k、a、t、e、g、o、r、i”所对应的似然。
另外,使用声音信号的时间长度T、似然取得区间的时间长度L以及偏移长度S,将能够在检索对象的声音信号中指定的似然取得区间的数量P决定为P=(T﹣L+S)/S。根据语速每次设定5个,因此似然取得区间对全部5P个的似然取得区间分别求出似然。
选择部121根据似然取得部119所取得的似然,从区间指定部115指定的似然取得区间中按照似然从高到低的顺序选择x个推定发出与检索字符串对应的声音的推定区间的候补。即,选择部121为了抑制基于后级的三音子模型的更高精度的似然取得的计算量,从取得了似然的5P个似然取得区间中预先选择x个成为最终的检索结果的候补的区间,并从候补中排除剩余的似然取得区间。
此时,区间指定部115指定的似然取得区间具有很多重叠,因此似然大的区间按照时序连续存在的情况多。因此,选择部121在似然取得区间中单纯地按照似然从大到小的区间顺序选择推定区间的候补时,所选择的区间集中于检索对象的声音信号中的一部分的可能性变大。
为了避免上述情形,选择部121设置预定的选择时间长度,对每个选择时间长度在从该预定的选择时间长度的区间中开始的似然取得区间中逐一选择似然最大的似然取得区间。将该预定的选择时间长度例如如相当于似然取得区间的时间长度L的1/m(例如1/2)的时间长度那样设定为比似然取得区间的时间长度L短的时间。例如,将检索词“カテゴリ”的发声时间长度假定为2秒以上(L≥2秒)的情况下,设为m=2,将选择时间长度设定为1秒。按照选择时间长度(L/m)每次选择1个似然取得区间作为候补,从候补排除剩余的似然取得区间。由此,选择部121能够在检索对象的声音信号全体中毫无遗漏地选择推定区间的候补。
选择部121在对每个该选择时间长度(L/m)进行的似然取得区间的选择中选择x个似然高的似然取得区间。对与5个语速对应的每个似然取得区间进行该选择。也就是说,对5个语速中的每个语速从所选择的似然取得区间中选择似然高的x个(合计5x个)似然取得区间。
接着,选择部121为了进一步限定成为候补的区间,比较与哪个语速对应的似然取得区间的似然良好,仅将与似然变高的语速对应的x个似然取得区间设为最终候补,从候补中排除剩余的似然取得区间。
使用图7说明将选择的个数x个设为10个(x=10)的例子。将“カテゴリ”的发声时间长度假定为需要2秒以上,在此将选择时间长度设定为1秒。首先,选择部121从与语速“快”对应的P个似然取得区间中,按照每个选择时间长度(1秒)一个一个地选择似然最高的似然取得区间。然后,从按照每秒选择的似然取得区间中按照似然从高到低的顺序选择10个似然取得区间,如图7所示存储在语速“快”的似然栏中。然后,选择部121对该10个似然进行合计(0.93)。接着,从与语速“较快”对应的P个似然取得区间中,按照每个选择时间长度(1秒)一个一个地选择似然最高的似然取得区间。然后,从选择的似然取得区间中按照似然从高到低的顺序选择10个似然取得区间,如图7所示存储在语速“较快”的似然栏中。然后,选择部121对该10个似然进行合计(1.39)。以下同样地,与语速“普通”对应的合计值为(2.12),与语速“较慢”对应的合计值为(2.51),与语速“慢”对应的合计值为(1.33)。
接着,选择部121对以上的合计值进行比较,仅将合计值最大的(2.51)即与“较慢”对应的10个似然取得区间选择为最终候补。
经由输出装置5具备的画面在外部显示选择部121的选择结果。之后,声音检索装置100对所选择的x个区间执行基于三音子模型以及动态规划方法(DP(DynamicProgramming:动态规划)匹配)的更高精度的似然取得处理。DP匹配是以解析区间的似然成为最大的方式选择状态迁移的方法。在三音子模型中,需要考虑与前后的音素的状态迁移,因此通过DP匹配决定前后音素的状态迁移,使似然取得区间的似然成为最大。
第2变换部122按照检索字符串取得部111取得的检索字符串排列依存于相邻的音素的第2声学模型即三音子模型的音素,将检索字符串变换为第2音素串即三音子音素串。例如,在作为检索字符串输入了日语“カテゴリ”的情况下,“カテゴリ”包括“k﹣a+t”、“a﹣t+e”、“t﹣e+g”、“e﹣g+o”、“g﹣o+r”、“o﹣r+i”这6个三音子,因此第2变换部122生成排列这6个三音子而得的三音子音素串。并且,有时向始端和终端分配由2个音素构成的双音子(biphone)“k+a”和“r﹣i”。在该情况下,预先将双音子模型存储在外部存储装置3中。另外,表示符号“﹣”左侧的音素位于中心音素之前,符号“+”右侧的音素位于中心音素之后。
第2输出概率取得部123对每个帧取得从第2变换部122进行变换而得的第2音素串(三音子音素串)所包含的各音素输出选择部121选择为推定区间的候补的与语速“较慢”对应的10个似然取得区间中的检索对象的声音信号的特征量的输出概率。具体而言,第2输出概率取得部123从三音子模型存储部103取得三音子模型,对特征量计算部116计算出的各帧的特征量和三音子音素串所包含的各三音子模型进行比较。然后,计算从各三音子输出各帧中的特征量的概率。
第2似然取得部124对由选择部121限定为x个(10个)的区间候补分别取得第2似然,其中,该第2似然表示选择部121选择为推定区间的候补的语速“较慢”的10个似然取得区间是发出与检索字符串对应的声音的区间的似然度。第2似然根据第2音素串即三音子音素串被取得,因此与似然取得部119根据单音子音素串取得的似然相比,是精度更高的指标。
第2似然取得部124根据第2输出概率取得部123取得的输出概率,对选择部121限定的似然取得区间所包含的各帧通过DP匹配搜索声音信号的特征量与三音子音素串所包含的三音子模型的对应。然后,相加取对选择部121选择的似然取得区间中的每个帧取得的输出概率的对数而得的值,由此得到该区间中的第2似然。
确定部125根据第2似然取得部124取得的第2似然,从选择部121选择的语速“较慢”的10个区间候补中确定从检索对象的声音信号推定发出与检索字符串对应的声音的推定区间。例如,确定部125按照第2似然取得部124取得的第2似然从大到小的顺序,将预定数量的区间确定为推定区间。或者,将似然在预定值以上的区间确定为推定区间。将确定部125确定的区间的位置信息作为最终检索结果经由输出装置5具备的画面显示在外部。
参照图8所示的流程图,对具有如上所述的物理结构以及功能结构的声音检索装置100执行的声音检索处理进行说明。
用户预先根据与“快”、“较快”、“普通”、“较慢”、“慢”这5个阶段的语速对应的大量的声音数据求出与各语速对应的音素的每个状态的持续时间长度,并存储在时间长度存储部104中。例如将解析对象的声音信号设为1个小时的演讲的录音的声音,并存储在声音信号存储部104中。在此,将检索对象的查询设为“カテゴリ”。
CPU6从ROM1读出声音检索软件,执行声音检索程序,由此图8所示的流程图开始。用户从输入装置4输入检索对象的查询“カテゴリ”,检索字符串取得部111取得检索字符串(步骤S11)。当检索字符串取得部111取得检索字符串时,变换部112和第2变换部122将检索字符串变换为音素串(步骤S12),按照音素串的音素顺序排列声学模型的音素(步骤S13)。具体而言,变换部112将检索字符串变换为基于单音子模型的单音子音素串“k、a、t、e、g、o、r、i”,第2变换部122将检索字符串变换为基于三音子模型的三音子音素串“k﹣a+t”、“a﹣t+e”、“t﹣e+g”、“e﹣g+o”、“g﹣o+r”、“o﹣r+i”。此外,也可以追加双音子模型“k+a”和“r﹣i”。
将检索字符串变换为音素串时,时间长度导出部114导出与检索字符串对应的声音的发声时间长度(步骤S14)。具体而言,时间长度导出部114相加在时间长度存储部104中对音素的每个状态存储的持续时间长度,由此导出与检索字符串对应的声音的发声时间长度。时间长度存储部104存储有“快”、“较快”、“普通”、“较慢”、“慢”这5个阶段的音素的持续时间长度的组。因此,时间长度导出部114对音素的持续时间长度的组分别导出时间长度,由此导出5个种类的时间长度作为发声时间长度。
具体而言,如使用图4进行说明的那样,作为检索词“カテゴリ”的发声时间长度,时间长度导出部114导出语速“快”用的发声时间长度(515ms)、语速“较快”用的发声时间长度(635ms)、语速“普通”用的发声时间长度(755ms)、语速“较慢”用的发声时间长度(875ms)、语速“慢”用的发声时间长度(995ms)。
返回到图8,当时间长度导出部114导出5个时间长度时,区间指定部115指定从帧列的开头位置开始的第0帧列(步骤S15)。首先,对语速“快”用指定将从图4的第2列所示的语速“快”用的“k1”到“i3”的24个状态的持续时间长度设为帧长度的第0帧列。然后,将从声音信号的开头开始(0ms~515ms)区间指定为语速“快”用的第0似然取得区间。接着,对语速“较快”用指定将从图4的第3列所示的语速“较快”用的“k1”到“i3”的24个状态的持续时间长度设为帧长度的第0帧列。然后,将从声音信号的开头开始(0ms~635ms)区间指定为语速“较快”用的第0似然取得区间。以下,同样地,对语速“普通”指定从声音信号的开头开始到(0ms~755ms)的第0似然取得区间,对语速“较慢”指定从声音信号的开头开始到(0ms~875ms)的第0似然取得区间,对语速“慢”指定从声音信号的开头开始到(0ms~995ms)的区间作为第0似然取得区间。5个似然取得区间的开头位置相同,但时间长度不同,因此结束位置为不同的位置。
当区间指定部115指定似然取得区间时,特征量计算部116对每个帧计算出所指定的似然取得区间的声音信号的特征量(步骤S16)。
具体而言,首先,对语速“快”用的第0帧列的第1帧计算出针对图4所示的音素“k1”的特征量。接着,对第0帧列的第2帧计算出针对音素“k2”的特征量。以下,同样地,对第0帧列的第24帧计算出“i3”为止的语速“快”用的特征量。
若针对语速“快”用的第0帧列,特征量的计算结束,则接着对语速“较快”用的第0帧列同样地进行24帧的特征量的计算。以下,同样地,对语速“普通”、“较慢”、“慢”用的第0帧列分别进行24帧的特征量的计算。
然后,输出概率取得部117根据特征量计算部116计算出的特征量和对应的单音子模型,对每个帧取得从音素串包含的各音素输出该特征量的输出概率(步骤S17)。即,计算出与(语速5种类×帧列数P个×帧数24帧)对应的量的输出概率。
当输出概率取得部117取得输出概率时,置换部118通过将对每个帧取得的输出概率置换为在该帧、该帧之前的N1个帧以及该帧之后的N2个帧的合计(1+N1+N2)个帧中最大的输出概率,执行下限化处理(步骤S18)。由此,缩小时间长度导出部114导出的发声时间长度与实际的声音信号的发声时间长度的误差。
似然取得部119将对每个帧取下限化后的输出概率的对数后进行相加,由此取得区间指定部115指定的似然取得区间的似然(步骤S19)。似然取得部119对由区间指定部115指定的5个似然取得区间进行该处理。当似然取得部119取得似然时,重复部120判定检索对象的声音信号中的全部区间的似然取得是否结束(步骤S20)。
在全部区间的似然取得没有结束的情况下(步骤S20:否),区间指定部115指定从之前指定的帧偏移1个偏移长度(S=10ms)后的位置开始的似然取得区间(步骤S21),声音检索处理返回到步骤S16。也就是说,区间指定部115根据从声音信号的开头偏移1个偏移长度S(10ms)而得的位置指定第1帧列的开始位置。因此,作为与语速“快”对应的第1帧列指定从声音信号的开头到(10ms~525ms)的区间,将该区间指定为与语速“快”对应的第1似然取得区间。接着,指定与语速“较快”对应的第1帧列,将从声音信号的开头到(10ms~645ms)的区间指定为与语速“较快”对应的第1似然取得区间。以下,同样地,对语速“普通”指定从声音信号的开头开始到(10ms~765ms)的第1似然取得区间,对语速“较慢”指定从声音信号的开头开始到(10ms~885ms)的第1似然取得区间,对语速“慢”指定从声音信号的开头开始到(10ms~1005ms)的区间作为第1似然取得区间。
然后,重复部120对区间指定部115新指定的似然取得区间重复进行上述的步骤S16~S20的处理,将控制各部进行特征量计算、输出概率取得、下限化处理来取得似然。这样,重复部120为了在达到检索对象的声音信号的末尾之前使似然取得区间逐次偏移1个偏移长度(S=10ms)来依次取得似然,而对区间指定部115、特征量计算部116、输出概率取得部117、置换部118、似然取得部119进行控制。
最终,若全部区间的似然取得结束(步骤S20:是),则声音检索处理向根据所取得的似然来确定与检索字符串对应的区间的处理(步骤S22)转移。参照图9所示的流程图,对该确定处理的细节进行说明。
在似然取得处理结束的状态下,选择部121从对区间指定部115指定的每个语速指定的P个的似然取得区间中,按照每个预定的选择时间长度(1秒)、对各语速一个一个地选择似然取得区间(步骤S101)。也就是说,每1秒选择5个似然取得区间。并且,选择部121从这样选择出的区间中,按照似然从高到低的顺序对每个语速选择x个似然取得区间(步骤S102)。即,选择部121以从全体检索对象的声音信号中毫无遗漏地留下候补的方式预先选择确定为最终的检索结果的区间候补。
选择部121还为了限定最终候补,从5个语速中仅选择与似然最高的语速对应的似然取得区间作为最终候补(步骤S103)。具体而言,对于5个语速分别将相加与所选择的x个区间对应的似然而得的值最大的语速所对应的x个似然取得区间选择为最终候补。也就是说,将5x个候补限定为x个。
关于将要选择的个数x个设为10个的情况,如使用图7说明的那样,首先,选择部121从按照每个选择时间长度(1秒)逐个地选择与语速“快”对应的P个似然取得区间而得的似然取得区间中按照似然从高到低的顺序选择10个似然取得区间,并合计该10个似然(0.93)。同样地,取得与语速“较快”对应的合计值(1.39)、与语速“普通”对应的合计值(2.12)、与语速“较慢”对应的合计值(2.51)、与语速“慢”对应的合计值(1.33)。接着,选择部121对以上的合计值进行比较,仅将合计值最大的(2.51)即与“较慢”对应的10个似然取得区间作为预备选择而剩下。
在基于选择部121的预备选择后,第2输出概率取得部123根据三音子音素串,对每个帧取得选择部121选择的x个(10个)区间中的输出概率(步骤S104)。然后,第2似然取得部124通过DP匹配取得选择部121选择的区间的似然(步骤S105)。即,第2输出概率取得部123和第2似然取得部124根据三音子模型和DP匹配执行与输出概率取得部117和似然取得部119相比精度高的似然取得处理。
若第2似然取得部124取得第2似然,则确定部125根据所取得的第2似然确定与检索字符串对应的区间(步骤S106)。例如,确定部125按照第2似然取得部124取得的第2似然从大到小的顺序,将预定数量的区间确定为推定发出与检索字符串对应的声音的区间。若步骤S106的处理结束,则图9所示的流程图的处理向图8所示的流程图的步骤S23迁移。
回到图8所示的流程图,若确定与检索字符串对应的区间,则确定部125经由输出装置5输出确定结果(步骤S23)。根据以上,声音检索装置100执行的声音检索处理结束。
如以上说明的那样,实施方式1的声音检索装置100使用与不同语速对应的多个音素的持续时间长度,确定从检索对象的声音信号中推定发出与查询对应的声音的区间,因此即使在检索对象的语速不同的情况下,也能够从检索对象的声音信号中确定与查询对应的声音区间。
此外,实施方式1的声音检索装置100在计算处理负荷轻的预备选择中进行使用了与不同语速对应的很多持续时间长度的计算处理,由此确保较高的检索精度。并且,通过在预备选择中限定候补的区间数量,减轻使用了信息量多的三音子模型的高精度但是计算处理繁重的处理。其结果,声音检索装置100不仅能够抑制计算量还能够高精度地进行声音检索。
另外,在实施方式1的说明中,说明了区间指定部117使帧列的开头位置逐一偏移1个偏移长度S,并且每次偏移时重复P次特征量的计算、输出概率的取得、似然取得的处理。但是,区间指定部117也可以首先在进行第0帧开始到第(P﹣1)帧的指定、从第0似然取得区间开始到第(P﹣1)似然取得区间的指定后,进行特征量的计算、输出概率的取得、似然的取得。
此外,在并用双音子模型的情况下,在进行双音子模型下的预备选择后,进行使用双音子模型的2次选择,之后,也可以进行使用三音子模型的3次选择(最终选择)。此外,在使用单音子模型的预备检索中,也可以设为将单音子模型和双音子模型组合的1次选择,或设为将双音子模型和三音子模型组合的2次选择(最终选择)。
(实施方式2)
接着,对本发明的实施方式2进行说明。
实施方式1的声音检索装置100在检索字符串取得部111取得检索字符串后执行似然的取得所使用的输出概率的计算。但是,本发明并不限定于此。实施方式2的声音检索装置预先进行预备选择与检索字符串对应的区间的候补时的、使用单音子模型的计算量多的输出概率的计算,由此实现检索时的高速化。也就是说,针对设为检索对象的声音信号的全部区间,预先求出与检索词对应的输出概率,并存储为检索索引。然后,在进行检索时,根据检索索引取得之后输入的检索词的音素串所对应的输出概率并进行相加,由此取得似然取得区间的似然,减轻检索时的处理。以下,进行说明。
与实施方式1的声音检索装置100同样,物理上如图1所示地构成实施方式2的声音检索装置300。
功能上如图10所示地构成实施方式2的声音检索装置300。声音检索装置300不具备实施方式1的声音检索装置100所具备的单音子模型存储部102,而是具备输出概率存储部105。在取得输出概率时单音子模型是必要的,但通过其他装置取得该输出概率,并将取得的结果存储在声音检索装置300的输出概率存储部105中,因此声音检索装置300不具备单音子模型存储部102。在外部存储装置3的存储区域构筑输出概率存储部105。以下,对与实施方式1不同的点进行说明。
输出概率存储部105对检索对象的声音信号所包含的每个帧,将声学模型的各音素与从该各音素输出检索对象的声音信号的特征量的输出概率对应起来进行存储。在通过其他装置取得输出概率时所使用的声学模型是在预备选择时所使用的单音子模型。例如,日语的单音子共具有40种音素。输出概率存储部105对这40种音素除了具备无音1个音素外,还对它们具有“快”、“较快”、“普通”、“较慢”、“慢”这5个阶段的语速的组,因此将针对205种的音素615状态预先计算从检索对象的声音信号的开头到末尾的检索词所对应的输出概率而得的结果作为检索索引存储在输出概率存储部105中。
另外,关于预先计算使用单音子模型的输出概率的处理,其他信息处理装置计算出输出概率,并由声音检索装置300取得该结果并存储在输出概率存储部105中。
关于检索字符串取得部111、变换部112,与在实施方式1进行的说明相同。
若变换部112将检索字符串变换为单音子音素串,则输出概率取得部117从存储在输出概率存储部105中的输出概率中取得将该音素串所包含的各音素与帧对应起来存储的输出概率。具体而言,输出概率取得部117针对检索对象的声音信号的全部帧,从对每个帧存储的单音子模型的全部音素的输出概率中取得检索所必要的音素的输出概率。
置换部118、时间长度导出部114、似然取得部的说明也与在实施方式1中进行的说明相同。重复部120使区间指定部115指定的似然取得区间每次偏移1个偏移长度S,并进行控制使得重复进行区间指定部115、似然取得部119的处理。然后,将控制各部使得对检索对象的声音信号中能够指定的各个似然取得区间取得似然。
选择部121、特征量计算部116、第2变换部122、第2输出概率取得部123、第2似然取得部124、确定部125的说明也与在实施方式1中进行的说明相同。
如以上说明所示,实施方式2的声音检索装置300在预备选择的似然取得时不计算出输出概率,而是预先计算出检索对象的全体声音信号的输出概率,并作为检索索引来保持。然后,在进行检索时,声音检索装置300利用该检索索引预备选择最终结果的候补,仅针对作为候补而剩下的区间使用检索字符串所包含的三音子音素来计算出输出概率。其结果,能够高速地进行声音检索。
(变形例1)
如在实施方式1中使用图7说明的那样,在选择部121选择似然最高的时间长度时,对每个时间长度按照似然从高到低的顺序对x个(10个)似然进行相加,选择基于似然的相加值成为最大的时间长度的似然取得区间。但是,选择方法并不限定于这些。如图11A和图11B示例的那样,在本变形例1中,使用似然越高越相乘大的加权系数的修正后的似然的相加值,比较基于哪个语速的似然取得区间的似然较佳。
图11B是加权系数的例子,似然顺序越高设定越大的加权系数。图11A是表示在比较与哪个语速对应的似然取得区间的似然较佳时,以对似然乘上加权系数而得的值进行比较的例子。
在图11A的修正前似然栏中,按照似然从高到低的顺序对选择部121选择的10个似然进行排序。在图11A的修正后似然栏中记载了对修正前似然乘上加权系数而得的值。
具体而言,对语速“快”的似然顺序1的修正前似然(0.20)乘上图11B的似然顺序1用的加权系数(10)来求出修正后似然(2.00)。对语速“快”的似然顺序2的修正前似然(0.17)乘上图11B的似然顺序1用的加权系数(9)来取得修正后似然(1.53)。以下同样地,对似然顺序10的修正前似然(0.03)乘上图11B的似然顺序1用的加权系数(1)来取得修正后似然(0.33)。同样地,对语速“较快”、“普通”、“较慢”、“慢”求出修正后似然。
然后,比较对乘上加权系数而得的修正后的10个似然进行相加而得的值,留下与合计值最大的语速对应的似然取得区间的组作为最终候补的区间。在图11A和图11B所示的情况下,“较慢”一组的修正后似然的合计(17.0)最大,因此,留下“较慢”的似然取得区间的组作为最终候补的区间。
通过该处理,能够选择适于似然顺序为上位的区间的发声时间长度,因此能够提高似然顺序高的区间的检索精度。例如,适用于不是在检索对象的全体声音信号中无遗漏地对检索对象的查询进行检索,而是判断在噪声多的声音信号中是否包含成为检索对象的查询的情况等。
(变形例2)
如在以上的实施方式中说明的那样,作为选择部121选择最终候补区间的方法,在通过似然的相加值选择了时间长度的情况下,若存在似然特别高的区间则似然的相加值也变大,因此有时对全体声音信号选择最佳的发声时间长度时会产生误判定的情况。尤其在选择部121选择的x个数量小的情况下,容易产生误判断。因此,不是使用似然的绝对值,而是通过比较基于5个时间长度的似然取得区间的相对顺序,来选择基于说话时间长度的似然取得区间的组。
使用图12说明具体例。在图12中,按照图7中的似然从高到低的顺序对语速所对应的5个组进行排序。在图7的顺序1的行中,“较慢”的似然为(0.55),而成为最高的第1位。接着,“普通”的似然为(0.4),而成为第2高的第2位。这样,在各组的顺序1中比较组之间的似然并进行排序。在顺序2的第2行中,“普通”的似然为(0.35)而成为最高的第1位,“较慢”为(0.32)而成为第2高的第2位。这样,对从似然的顺序1到10的各行按照似然从高到低的顺序进行组之间的排序。然后,对该顺序的合计进行比较来选择合计值小的组。在图12所示的例子中,“较慢”的顺序的合计最小,因此将基于“较慢”所对应的时间长度的10个似然取得区间选择为最终候补区间。
通过该处理,能够防止存在似然尤其高的区间的情况等发声时间长度的误选择。因此,在成为检索对象的全体声音信号中,能够使检索精度变得良好。
(变形例3)
在变形例2中在语速之间比较似然顺序相等的顺序的似然,比较基于哪个语速的似然相对良好。但是,在该方法中,例如有时似然高的区间集中在1个小时的声音信号中的短区间(例如,10分钟)。在该情况下,不能认为在长声音信号的全部区间内平均地选择了良好的语速。
因此,作为选择部121选择最终候补区间的方法,也可以采用以下的选择方法。即,将声音信号分割为预定数N个的区间。分割方法例如是将声音信号分割为100个区间或分割为预定的时间长度(例如,每1分钟的时间长度)的区间。在分割后的各区间中,排序将哪个时间长度设为发声时间长度的似然取得区间的似然高。然后,选择N个区间中的基于平均顺序最高的时间长度的似然取得区间作为最终候补的似然取得区间。
使用图13A和图13B说明具体例。在图13A和图13B中,将声音信号的时间长度T(例如,10分钟)一分钟一分钟地分割为10个区间。在图13A中,对每个语速记载了在10个区间中最高的似然。在13B中,对每个区间排序了基于哪个语速的似然最高。
在图13A中,在区间1(最初的1分钟),“较慢”的似然(0.55)最高而成为第1位,“普通”的似然(0.40)第2高而成为第2位,“较快”为第3位(0.35),“慢”为第4位(0.30),“快”为第5位(0.20)。在区间2(第2行),“普通”的似然最高而成为第1位(0.35),“较慢”的似然为第2高而成为第2位(0.32),“较快”为第3位(0.21),“慢”为第4位(0.18),“快”为第5位(0.17)。这样,在各区间中比较与语速对应的似然来进行排序,从区间1到区间10进行排序。然后,对该顺序的合计进行比较来选择合计值小的组。在图13B所示的例子中,“较慢”的顺序的合计最小,因此将基于“较慢”所对应的时间长度的似然取得区间选择为最终候补区间。
通过该处理,能够防止存在似然尤其高的区间的情况等发声时间长度的误选择。因此,在成为检索对象的声音信号的全部区间中,能够使检索精度变得良好。
另外,在以上的实施方式1和2的说明中,对将音素的持续时间长度的语速分类为5个阶段的组的情况进行了说明,但本发明的用途并不限定于这些。越细分音素的持续时间长度则检索精度越上升,但处理负荷变大、处理时间变长。但是,相对于使用三音子模型的检索,使用单音子模型的预备检索的处理负荷变轻。因此,即使将单音子模型的持续时间长度的组数设为10倍,声音检索处理的全部时间也几乎不增加。优选的是,基于该倾向决定有装置规格要求的持续时间长度的组数。
此外,在以上的说明中,对从输入装置4自文本数据输入检索词的情况进行了说明,但也可以将检索词作为声音数据输入到声音识别装置的麦克风,并通过声音识别装置对检索词进行识别。
此外,在以上的说明中,对从输入装置4输入语速信息(持续时间长度的变更率)的情况进行了说明。但是,也可以对声音信号的一部分进行解析,根据单位时间所包含的声音的间距信息推定语速,并根据该推定决定与持续时间长度对应的变更率。
此外,在实施方式1和2中的使用图8的检索处理的流程图的说明中,说明了在预备选择工序中,在相同处理循环中并行处理音素的5种持续时间长度的组的方法。但是,若是在预备选择工序中缩小设为候补的似然取得区间的流程图则并不限定于这些。例如,首先根据与1个语速(例如,快)对应的持续时间长度选择x个区间作为预备选择的候补。之后,根据与不同语速(例如,较快)对应的持续时间长度选择x个预备选择的候补区间。然后,对每个语速进行预备选择后,最终决定选择基于哪个语速的似然取得区间即可。
此外,在以上的实施方式的说明中,说明了选择部121从基于与语速对应的5个时间长度的分别P个似然取得区间中按照似然从高到低的顺序各选择x个似然取得区间的情况。但是,选择方法并不限定于此。例如,也可以将预定的似然值设为阈值,选择该值以上的似然取得区间。在确定部125进行的最终推定区间的确定中,也可以将似然在预定值以上的区间确定为推定区间,而不是按照第2似然从高到低的顺序将预定数量的区间确定为推定区间。
此外,说明了选择部121从5个时间长度中选择似然高的1个时间长度后,进行使用三音子模型的最终处理的情况,但是在处理时间有富余的情况下,也可以省略时间长度的选择。
此外,在不要求检索精度的情况下,也可以省略下限化处理。即使在要求检索精度的情况下,在使用与多个语速对应的持续时间长度进行检索的情况下,也可以省略下限化处理。
此外,既可以作为预先具备用于实现本发明的功能的结构的声音检索装置而提供,也可以通过程序的应用,使已有的个人计算机或信息终端装置等作为本发明的声音检索装置发挥功能。即,通过使对已有的个人计算机或信息终端装置等进行控制的CPU等能够执行用于实现在上述实施方式中示例的声音检索装置100、300的各功能结构的程序来应用,由此可以作为本发明的声音检索装置发挥功能。此外,可以使用声音检索装置来实施本发明的声音检索方法。
此外,这样的程序的应用方法是任意的。例如,可以将程序存储在计算机可读取的记录介质(CD﹣ROM(CompactDiscRead-OnlyMemory:光盘只读存储器)、DVD(DigitalVersatileDisc:数字通用光盘)、MO(MagnetoOpticaldisc:磁光盘)等)中来应用外,也可以将程序存储在因特网等网络上的存储器中,并通过下载它们来应用。
以上,对本发明的优选的实施方式进行了说明,但本发明并不限定于特定的实施方式,本发明包括要求权利保护的范围所记载的发明及其均等的范围。

Claims (18)

1.一种声音检索装置,其特征在于,具备:
记录单元,其记录检索对象的声音信号;
变换单元,其将检索字符串变换为音素串;
时间长度取得单元,其从存储有与音素相关的持续时间长度数据的数据库中取得由所述变换单元进行变换而得的音素串所包含的各音素的持续时间长度;
时间长度导出单元,其根据由所述时间长度取得单元取得的持续时间长度,导出多个相互不同的语速所对应的多个时间长度作为与所述检索字符串对应的声音的发声时间长度的候补;
区间指定单元,其在检索对象的声音信号的时间长度中,对所述多个时间长度分别指定多个具有由所述时间长度导出单元导出的时间长度的区间即似然取得区间;
似然取得单元,其取得表示由所述区间指定单元指定的似然取得区间是发出与所述检索字符串对应的声音的区间的似然度的似然;以及
确定单元,其根据由所述似然取得单元针对由所述区间指定单元指定的似然取得区间分别取得的似然,确定从所述检索对象的声音信号中推定发出与所述检索字符串对应的声音的推定区间。
2.根据权利要求1所述的声音检索装置,其特征在于,
该声音检索装置还具备:选择单元,其根据由所述似然取得单元取得的似然,从所述多个时间长度中选择一个时间长度,
所述确定单元根据针对具有所述选择的时间长度的似然取得区间取得的似然,从所述选择的时间长度的似然取得区间中确定所述推定区间。
3.根据权利要求2所述的声音检索装置,其特征在于,
所述选择单元针对所述多个时间长度分别取得按照似然从高到低的顺序相加预定数量的针对相同时间长度的似然取得区间取得的似然而得的相加值,并对该取得的相加值进行比较,从所述多个时间长度中选择相加值最大的时间长度。
4.根据权利要求3所述的声音检索装置,其特征在于,
所述选择单元通过以似然越高乘上越大的加权系数的方式将针对相同时间长度的似然取得区间取得的似然相加来取得上述相加值。
5.根据权利要求1至4中的任一项所述的声音检索装置,其特征在于,
该声音检索装置还具备:
特征量计算单元,其针对比较声音信号和音素模型的区间即每个帧计算出由所述区间指定单元指定的似然取得区间中的所述检索对象的声音信号的特征量;以及
输出概率取得单元,其对每个帧取得从所述音素串包含的各音素输出所述检索对象的声音信号的特征量的输出概率,
所述似然取得单元相加将针对由所述区间指定单元指定的似然取得区间所包含的每个帧取得的输出概率取对数而得的值,来取得该似然取得区间的所述似然。
6.根据权利要求5所述的声音检索装置,其特征在于,
该声音检索装置还具备:输出概率存储单元,其对所述检索对象的声音信号所包含的每个帧,将声学模型的音素的各状态与输出概率对应起来进行存储,其中,该输出概率是从根据声学模型生成的音素的各状态输出所述检索对象的声音信号的特征量的概率,
在所述变换单元将所述检索字符串变换为所述音素串时,所述输出概率取得单元从存储在所述输出概率存储单元中的输出概率中,针对所述似然取得区间所包含的每个帧取得与该音素串所包含的音素的各状态对应起来存储的输出概率。
7.根据权利要求6所述的声音检索装置,其特征在于,
该声音检索装置还具备:置换单元,其将由所述输出概率取得单元针对每个帧取得的输出概率分别置换为该帧、该帧之前的N1个帧以及该帧之后的N2个帧中最大的输出概率,
所述N1和N2是包含0的自然数,N1和N2中的任一个不是0,
所述似然取得单元根据基于所述置换单元的置换后的输出概率,取得由所述区间指定单元指定的似然取得区间的所述似然。
8.根据权利要求2至7中的任一项所述的声音检索装置,其特征在于,
所述变换单元排列不依存于相邻音素的声学模型的音素,将所述检索字符串变换为所述音素串,
所述似然取得单元根据所述音素串取得由所述区间指定单元指定的似然取得区间的所述似然,
所述选择单元根据所述似然取得单元取得的似然,从所述区间指定单元指定的似然取得区间中选择所述推定区间的多个候补,
该声音检索装置还具备:
第2变换单元,其排列依存于相邻音素的第2声学模型的音素,将所述检索字符串变换为第2音素串;以及
第2似然取得单元,其根据所述第2音素串,对所述选择单元选择的多个候补分别取得第2似然,其中,该第2似然表示所述选择单元选择为所述推定区间的候补的区间为发出与所述检索字符串对应的声音的区间的似然度,
所述确定单元根据所述第2似然取得单元取得的第2似然,从所述选择单元选择的多个候补中确定所述推定区间。
9.根据权利要求8所述的声音检索装置,其特征在于,
所述选择单元从所述区间指定单元指定的似然取得区间中,对每个预定的选择时间长度逐一选择在从该预定的选择时间长度的区间中开始的似然取得区间中所述似然最大的似然取得区间,由此选择所述推定区间的多个候补。
10.一种声音检索方法,其是具有记录检索对象的声音信号的存储器的声音检索装置中的声音检索方法,该声音检索方法的特征在于,具备:
变换步骤,将检索字符串变换为音素串;
时间长度取得步骤,从存储有与音素相关的持续时间长度数据的数据库中取得由所述变换步骤进行变换而得的音素串所包含的各音素的持续时间长度;
时间长度导出步骤,根据由所述时间长度取得步骤取得的持续时间长度,导出多个相互不同的语速所对应的多个时间长度作为与所述检索字符串对应的声音的发声时间长度的候补;
区间指定步骤,在检索对象的声音信号的时间长度中,对所述多个时间长度分别指定多个具有由所述时间长度导出步骤导出的时间长度的区间即似然取得区间;
似然取得步骤,取得表示由所述区间指定步骤指定的似然取得区间是发出与所述检索字符串对应的声音的区间的似然度的似然;以及
确定步骤,根据由所述似然取得步骤针对由所述区间指定步骤指定的似然取得区间分别取得的似然,确定从所述检索对象的声音信号中推定发出与所述检索字符串对应的声音的推定区间。
11.根据权利要求10所述的声音检索方法,其特征在于,
该声音检索方法还具备:选择步骤,根据由所述似然取得步骤取得的似然,从所述多个时间长度中选择一个时间长度,
所述确定步骤根据针对具有所述选择的时间长度的似然取得区间取得的似然,从所述选择的时间长度的似然取得区间中确定所述推定区间。
12.根据权利要求11所述的声音检索方法,其特征在于,
在所述选择步骤中,针对所述多个时间长度分别取得按照似然从高到低的顺序相加预定数量的针对相同时间长度的似然取得区间取得的似然而得的相加值,并对所取得的相加值进行比较,从所述多个时间长度中选择相加值最大的时间长度。
13.根据权利要求12所述的声音检索方法,其特征在于,
所述选择步骤以似然越高乘上越大的加权系数的方式将针对相同时间长度的似然取得区间取得的似然相加,来取得所述相加值。
14.根据权利要求10至13中的任一项所述的声音检索方法,其特征在于,
该声音检索方法还具备:
特征量计算步骤,针对比较声音信号和音素模型的区间即每个帧计算出由所述区间指定步骤指定的似然取得区间中的所述检索对象的声音信号的特征量;以及
输出概率取得步骤,其针对每个帧取得从所述音素串包含的各音素输出所述检索对象的声音信号的特征量的输出概率,
在所述似然取得步骤中,相加将针对由所述区间指定步骤指定的似然取得区间所包含的每个帧取得的输出概率取对数而得的值,来取得该似然取得区间的所述似然。
15.根据权利要求14所述的声音检索方法,其特征在于,
该声音检索装置还具备:输出概率存储部,其对所述检索对象的声音信号所包含的每个帧将声学模型的音素的各状态与输出概率对应起来进行存储,其中,该输出概率是从根据声学模型生成的音素的各状态输出所述检索对象的声音信号的特征量的概率,
在所述输出概率取得步骤中,所述变换步骤将所述检索字符串变换为所述音素串时,从存储在所述输出概率存储部中的输出概率中对所述似然取得区间所包含的每个帧取得与该音素串所包含的音素的各状态对应起来存储的输出概率。
16.根据权利要求15所述的声音检索方法,其特征在于,
该声音检索方法还具备:置换步骤,将在所述输出概率取得步骤中对每个帧取得的输出概率分别置换为该帧、该帧之前的N1个帧以及该帧之后的N2个帧中最大的输出概率,
所述N1和N2是包含0的自然数,N1和N2中的任一个不是0,
在所述似然取得步骤中,根据基于所述置换步骤的置换后的输出概率,取得由所述区间指定步骤指定的似然取得区间的所述似然。
17.根据权利要求11至16中的任一项所述的声音检索方法,其特征在于,
在所述变换步骤中,排列不依存于相邻音素的声学模型的音素,将所述检索字符串变换为所述音素串,
在所述似然取得步骤中,根据所述音素串取得在所述区间指定步骤指定的似然取得区间的所述似然,
在所述选择步骤中,根据在所述似然取得步骤中取得的似然,从在所述区间指定步骤中指定的似然取得区间中选择所述推定区间的多个候补,
该声音检索方法还具备:
第2变换步骤,排列依存于相邻音素的第2声学模型的音素,将所述检索字符串变换为第2音素串;以及
第2似然取得步骤,根据所述第2音素串,对所述选择步骤选择的多个候补分别取得第2似然,其中,该第2似然表示在所述选择步骤中选择为所述推定区间的候补的区间为发出与所述检索字符串对应的声音的区间的似然度,
在所述确定步骤中,根据在所述第2似然取得步骤中取得的第2似然,从所述选择步骤选择的多个候补中确定所述推定区间。
18.根据权利要求17所述的声音检索方法,其特征在于,
在所述选择步骤中,从在所述区间指定步骤中指定的似然取得区间中,对每个预定的选择时间长度逐一选择在从该预定的选择时间长度的区间中开始的似然取得区间中所述似然最大的似然取得区间,由此选择所述推定区间的多个候补。
CN201510974271.1A 2014-12-22 2015-12-22 声音检索装置、声音检索方法 Active CN105719643B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014259419A JP6003972B2 (ja) 2014-12-22 2014-12-22 音声検索装置、音声検索方法及びプログラム
JP2014-259419 2014-12-22

Publications (2)

Publication Number Publication Date
CN105719643A true CN105719643A (zh) 2016-06-29
CN105719643B CN105719643B (zh) 2019-10-11

Family

ID=56130170

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510974271.1A Active CN105719643B (zh) 2014-12-22 2015-12-22 声音检索装置、声音检索方法

Country Status (3)

Country Link
US (1) US9767790B2 (zh)
JP (1) JP6003972B2 (zh)
CN (1) CN105719643B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107068145A (zh) * 2016-12-30 2017-08-18 中南大学 语音评测方法及系统
CN110299153A (zh) * 2018-03-22 2019-10-01 卡西欧计算机株式会社 声音区间检测装置、声音区间检测方法以及记录介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017015847A (ja) * 2015-06-30 2017-01-19 カシオ計算機株式会社 音声検索装置、音声検索方法及びプログラム
US9792907B2 (en) 2015-11-24 2017-10-17 Intel IP Corporation Low resource key phrase detection for wake on voice
US9972313B2 (en) * 2016-03-01 2018-05-15 Intel Corporation Intermediate scoring and rejection loopback for improved key phrase detection
EP3474276A4 (en) * 2016-06-15 2019-07-31 Sony Corporation INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD
US10043521B2 (en) 2016-07-01 2018-08-07 Intel IP Corporation User defined key phrase detection by user dependent sequence modeling
WO2018116312A2 (en) 2016-12-21 2018-06-28 Allstate Solutions Private Limited Highway detection system for generating customized notifications
US10083689B2 (en) * 2016-12-23 2018-09-25 Intel Corporation Linear scoring for low power wake on voice
US11386913B2 (en) * 2017-08-01 2022-07-12 Dolby Laboratories Licensing Corporation Audio object classification based on location metadata
US10714122B2 (en) 2018-06-06 2020-07-14 Intel Corporation Speech classification of audio for wake on voice
US10650807B2 (en) 2018-09-18 2020-05-12 Intel Corporation Method and system of neural network keyphrase detection
US11127394B2 (en) 2019-03-29 2021-09-21 Intel Corporation Method and system of high accuracy keyphrase detection for low resource devices
US11302301B2 (en) * 2020-03-03 2022-04-12 Tencent America LLC Learnable speed control for speech synthesis
CN111462777B (zh) * 2020-03-30 2023-02-14 厦门快商通科技股份有限公司 关键词检索方法、系统、移动终端及存储介质

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04288599A (ja) * 1991-03-18 1992-10-13 Fujitsu Ltd 音声符号器における雑音符号帳の検索方式
JP2000250585A (ja) * 1999-02-25 2000-09-14 Nippon Telegr & Teleph Corp <Ntt> 対話型データベース検索方法、装置及び対話型データベース検索プログラムを記録した記録媒体
US20050203750A1 (en) * 2004-03-12 2005-09-15 International Business Machines Corporation Displaying text of speech in synchronization with the speech
US20070033003A1 (en) * 2003-07-23 2007-02-08 Nexidia Inc. Spoken word spotting queries
WO2007043679A1 (ja) * 2005-10-14 2007-04-19 Sharp Kabushiki Kaisha 情報処理装置およびプログラム
US20070203700A1 (en) * 2004-03-30 2007-08-30 Soichi Toyama Speech Recognition Apparatus And Speech Recognition Method
CN101223571A (zh) * 2005-07-20 2008-07-16 松下电器产业株式会社 音质变化部位确定装置
CN101286170A (zh) * 2007-04-10 2008-10-15 三菱电机株式会社 声音检索装置
CN101622660A (zh) * 2007-02-28 2010-01-06 日本电气株式会社 语音识别装置、语音识别方法及语音识别程序
US20100082344A1 (en) * 2008-09-29 2010-04-01 Apple, Inc. Systems and methods for selective rate of speech and speech preferences for text to speech synthesis
CN102081634A (zh) * 2009-11-27 2011-06-01 株式会社理光 语音检索装置和语音检索方法
CN102280106A (zh) * 2010-06-12 2011-12-14 三星电子株式会社 用于移动通信终端的语音网络搜索方法及其装置
JP2013088488A (ja) * 2011-10-13 2013-05-13 Casio Comput Co Ltd 音声検索装置、音声検索方法及びプログラム
JP2013109078A (ja) * 2011-11-18 2013-06-06 Oki Electric Ind Co Ltd 音声信号処理装置及びプログラム
CN103534755A (zh) * 2012-04-20 2014-01-22 松下电器产业株式会社 声音处理装置、声音处理方法、程序及集成电路
CN103632662A (zh) * 2012-08-20 2014-03-12 株式会社东芝 韵律编辑装置、方法及程序

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5533042B2 (ja) * 2010-03-04 2014-06-25 富士通株式会社 音声検索装置、音声検索方法、プログラム及び記録媒体

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04288599A (ja) * 1991-03-18 1992-10-13 Fujitsu Ltd 音声符号器における雑音符号帳の検索方式
JP2000250585A (ja) * 1999-02-25 2000-09-14 Nippon Telegr & Teleph Corp <Ntt> 対話型データベース検索方法、装置及び対話型データベース検索プログラムを記録した記録媒体
US20070033003A1 (en) * 2003-07-23 2007-02-08 Nexidia Inc. Spoken word spotting queries
US20050203750A1 (en) * 2004-03-12 2005-09-15 International Business Machines Corporation Displaying text of speech in synchronization with the speech
US20070203700A1 (en) * 2004-03-30 2007-08-30 Soichi Toyama Speech Recognition Apparatus And Speech Recognition Method
CN101223571A (zh) * 2005-07-20 2008-07-16 松下电器产业株式会社 音质变化部位确定装置
WO2007043679A1 (ja) * 2005-10-14 2007-04-19 Sharp Kabushiki Kaisha 情報処理装置およびプログラム
CN101622660A (zh) * 2007-02-28 2010-01-06 日本电气株式会社 语音识别装置、语音识别方法及语音识别程序
CN101286170A (zh) * 2007-04-10 2008-10-15 三菱电机株式会社 声音检索装置
US20100082344A1 (en) * 2008-09-29 2010-04-01 Apple, Inc. Systems and methods for selective rate of speech and speech preferences for text to speech synthesis
CN102081634A (zh) * 2009-11-27 2011-06-01 株式会社理光 语音检索装置和语音检索方法
CN102280106A (zh) * 2010-06-12 2011-12-14 三星电子株式会社 用于移动通信终端的语音网络搜索方法及其装置
JP2013088488A (ja) * 2011-10-13 2013-05-13 Casio Comput Co Ltd 音声検索装置、音声検索方法及びプログラム
JP2013109078A (ja) * 2011-11-18 2013-06-06 Oki Electric Ind Co Ltd 音声信号処理装置及びプログラム
CN103534755A (zh) * 2012-04-20 2014-01-22 松下电器产业株式会社 声音处理装置、声音处理方法、程序及集成电路
CN103632662A (zh) * 2012-08-20 2014-03-12 株式会社东芝 韵律编辑装置、方法及程序

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107068145A (zh) * 2016-12-30 2017-08-18 中南大学 语音评测方法及系统
CN110299153A (zh) * 2018-03-22 2019-10-01 卡西欧计算机株式会社 声音区间检测装置、声音区间检测方法以及记录介质
CN110299153B (zh) * 2018-03-22 2023-07-25 卡西欧计算机株式会社 声音区间检测装置、声音区间检测方法以及记录介质

Also Published As

Publication number Publication date
JP6003972B2 (ja) 2016-10-05
US20160180839A1 (en) 2016-06-23
US9767790B2 (en) 2017-09-19
CN105719643B (zh) 2019-10-11
JP2016119000A (ja) 2016-06-30

Similar Documents

Publication Publication Date Title
CN105719643A (zh) 声音检索装置、声音检索方法
JP5212910B2 (ja) 音声認識装置、音声認識方法、および音声認識用プログラム
JP5218052B2 (ja) 言語モデル生成システム、言語モデル生成方法および言語モデル生成用プログラム
CN105718503A (zh) 声音检索装置以及声音检索方法
JP5294086B2 (ja) 重み係数学習システム及び音声認識システム
JP5418223B2 (ja) 音声分類装置、音声分類方法、および音声分類用プログラム
WO2002101719A1 (en) Voice recognition apparatus and voice recognition method
US20100131262A1 (en) Speech Recognition Based on a Multilingual Acoustic Model
JP6011565B2 (ja) 音声検索装置、音声検索方法及びプログラム
CN104900231A (zh) 语音检索装置以及语音检索方法
WO2001065541A1 (fr) Dispositif de reconnaissance de la parole, procede de reconnaissance de la parole et support d&#39;enregistrement
JP6495015B2 (ja) 音声対話制御装置、音声対話制御装置の制御方法、および音声対話装置
JPWO2009139230A1 (ja) 言語モデルスコア先読み値付与装置およびその方法ならびにプログラム記録媒体
JP7246337B2 (ja) 計算機システム及び作業の推定方法
JP4455633B2 (ja) 基本周波数パターン生成装置、基本周波数パターン生成方法及びプログラム
JP5914119B2 (ja) 音響モデル性能評価装置とその方法とプログラム
JP5980101B2 (ja) 音響モデル学習用テキスト作成装置とその方法とプログラム
JP4741452B2 (ja) 言語モデル作成装置及び言語モデル作成プログラム並びに音声認識装置及び音声認識プログラム
JP6604013B2 (ja) 音声認識装置、音声認識方法及びプログラム
JP5385810B2 (ja) 線形分類モデルに基づく音響モデルパラメータ学習方法とその装置、音素重み付き有限状態変換器生成方法とその装置、それらのプログラム
JP6565416B2 (ja) 音声検索装置、音声検索方法及びプログラム
JP6680009B2 (ja) 検索インデクス生成装置、検索インデックス生成方法、音声検索装置、音声検索方法及びプログラム
JP6376486B2 (ja) 音響モデル生成装置、音響モデル生成方法、およびプログラム
JP4801108B2 (ja) 音声認識装置、方法、プログラム及びその記録媒体
JP4801107B2 (ja) 音声認識装置、方法、プログラム及びその記録媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant