改进的合成器和方法

文档序号:2820526阅读:308来源:国知局
专利名称:改进的合成器和方法
技术领域
本发明一般涉及语音处理领域,具体而言,涉及改进的合成器和方法。
教学玩具、说话玩具等装置常常采用合成的语音效果和角色化语音与用户进行交互。这类装置传统上采用线性预测编码(LPC)技术来再现语音。但是线性预测编码通常无法再现复杂的声音或高质量的语音。
近来人们采用编码激励线性预测(CELP)系统来提供合成语音。CELP系统一般将固定和自适应激励信号组合在一起并借助线性预测编码(LPC)系数进行合成。CELP系统常常占用较多的资源并且一般要求6位精度,因此CELP系统对于现存的许多语音合成器芯片不适用。
因此在本技术领域内需要一种改进的语音合成器。本发明提供的合成器和方法一种大大减少或基本消除了现有语音合成器存在的问题。
根据本发明,通过接收自适应编码本激励信号和自适应编码本增益,语音合成器对语音进行合成。自适应编码本激励信号采用自适应编码本增益进行标度以生成经过标度的自适应编码本激励信号。也可以接收固定的激励信号和固定的激励增益。固定激励信号采用固定激励增益进行标度以生成经过标度的固定激励信号。经过标度的自适应编码本激励信号和经过标度的固定激励信号组合在一起以生成具有第一字长的激励信号。还可以接收激励信号的总增益信号。随后通过利用总增益信号对激励信号进行标度来生成经过标度的激励信号。经过标度的激励信号的第二字长大于第一字长。
具体而言,在其中一个实施例中,自适应编码本激励信号、自适应编码本增益信号、固定激励信号和固定激励增益信号可以具有第一字长。经过标度的自适应编码本激励信号和经过标度的固定激励信号也可以具有第一字长。在具体实施例中,第一字长包括8位而第二字长包括16位。
根据本发明的另一方面,自适应编码本包括多个条目,每个条目包含先前激励的样本。自适应编码本可以通过利用指针识别包含最老的激励样本来进行管理。指针识别的条目可以由当前激励样本迭写。随后移动指针以识别包含下一最老的激励样本的条目。
具体而言,按照其中一个实施例,通过增量指针来移动指针以识别自适应编码本的下一条目。在该实施例中,下一条目包含下一最老的激励样本。如果下一条目超出自适应编码本的最后条目,则指针复位以将自适应编码本的第一条目识别为下一条目。
本发明的重要技术优点包括利用字长相对较短的激励信号提供了高质量的合成器。特别是,合成器利用总增益信号来标度激励信号以生成字长较长的经标度的激励信号。例如在其中一个实施例中,合成器将长度从8位到16位的激励信号进行标度。因此合成器在满足合成器芯片存储字长有限的前提下提供了高质量的语音。
本发明的其它技术优点包括提供了改进的自适应编码本。特别是,自适应编码本利用指针来跟踪包含最老激励样本的条目。因此最前面的样本可以不断地被当前激励样本迭写而无需移动条目堆栈。这样就减少了自适应编码本的指令循环并提高了效率。
借助以下的附图、说明书和权利要求可以容易地理解本发明的其它技术优点。
通过以下借助附图对本发明的描述,可以更全面地理解本发明,附图中相同的部件采用相同的标号。


图1示出了按照本发明实施例的语音合成器芯片的框图;图2示出了由按照本发明实施例的图1芯片构成的合成器框图;图3示出了按照本发明实施例的自适应编码本的框图;图4示出了采用按照本发明实施例图2合成器来合成语音的方法的流程图;以及图5示出了管理按照本发明实施例图3自适应编码本的方法的流程图。
通过以下借助附图1-5的描述将会更好地理解本发明较佳实施例及其优点,附图中相同的部分用相同的标号表示。正如下面将要详细论述的那样,图1-5示出了合成器和采用总激励增益把激励信号标度到更长字长的方法。因此,合成器提供了高质量的合成语音并且容易在存储字长有限的合成器芯片中采用。根据本发明的另一方面,自适应编码本和方法采用指针来跟踪和迭写包含最老的激励样本的条目。因此省去了连续移动条目堆栈所需的指令循环并提高了效率。
图1示出了根据本发明一个实施例的合成器芯片10的框图。合成器芯片10包括微计算机12和译码器14。微计算机12包括微处理器16和ROM存储器18。ROM存储器1 8包括多个编码报文20。每个编码报文20包含位流,它带有的指示被用于查询报文20的固定和自适应激励信号、总增益值以及帧、子帧和/或样本的LPC系数和音高延迟值。
ROM存储器18进一步包括固定激励编码本22、固定激励增益表24、自适应编码本增益表26、总增益表28、LPC编码本30和音高延迟模块32。固定激励由选定数量的等幅脉冲组成,这些脉冲用其位置和符号加以限定。脉冲位置可以在略高的位率为代价单独直接编码。将会理解的是,固定激励脉冲位置的编码技术也属于本发明的范围。例如,固定激励脉冲的位置可以成对编码以减少所需的位数。但是在本实施例中,需要额外的指令来对脉冲位置进行译码。
在本实施例中,脉冲可以升序编码,从而使位流中的第一脉冲位于最低的位置而最后的脉冲位于最高的位置。子帧中的第一脉冲以绝对位置编码而其它脉冲相对于前面脉冲作偏移编码。如果芯片10具有减一和下溢特征,则第i个脉冲的偏移编码如下offset(i)=pulse(i)-pulse(i-1)-1例如,如果在位置0、20、27和53上有四个脉冲,则编码值分别为0、19、6和25。在合成期间,每个样本的第一绝对脉冲位置被减一并作下溢检验。如果没有下溢,则固定激励信号为零(0)。
fixedCB(i)=0如果下溢,则合成器设定固定激励的脉冲,脉冲幅度由固定激励增益确定而极性由符号确定。
合成器随后对下一偏移重复同一过程直到产生所有脉冲为止,或者换句话说,所有的偏移都减一到下溢为止。
LPC编码本30包括LPC系数。在其中一个实施例中,LPC系数为反射系数。在本实施例中,LPC编码本30的每个矢量都包括10个反射系数K1-K10,它们以标量量化的方式单独编码。每个反射系数具有自己的编码与译码表并且以不同的位数编码。K1-K10的译码值可以利用编码报文20位流提供的指示在译码表中查找到。
固定激励增益表24、自适应编码本增益表26和总增盖表28可以标量量化。
用编码报文20的位流提供的指示来查表,可分别从固定激励增益表24、自适应编码本增益表26和总增益表28里得到固定激励、自适应编码本和总增益的信号。
固定激励编码本22、固定激励增益表24和自适应编码本增益表26具有第一字长。总增益表28和LPC编码本30各自包括第二字长。总体增益表28包含总增益值以对激励编码本生成的长度从第一字长到第二字长不等的激励信号进行标度。正如下面将要详细论述的那样,总增益编码本28可以使存储字长有限的语音合成器芯片产生高质量的合成语音。
音高延迟模块32包含一系列音高延迟值。正如下面将要详细论述的那样,音高延迟值可以被自适应编码本用来确定自适应编码本激励信号。为了减少复杂性,音高延迟模块32仅仅包括音高延迟的整数部分。在本实施例中,一帧的第一子帧内的音高延迟m被编码为(m-M_MIN),这里M_MIN为编码用的最小音高。其他子帧内的音高延迟可以编码为前面子帧的偏移。在一般情况下,第j子帧m(j)的音高延迟局限在(m(j-1)-4)-(m(j-1)+3)的范围内。如果(m(j-1)-4)超出M_MIN或者(m(j-1)+3)超出M_MAX的边际情况下,则m(j)分别局限在最低或最高的八个数值范围内,第j子帧内的音高延迟偏移定义如下
这里mindex=m(j)-M_MINLM=M_MAX-M_MIN+1M_MIN=最小音高值(当前所用数值=22)M_MAX=最大音高值(当前所用数值=80)
译码器14包括线性预测编码(LPC)合成器34和普通的数字-模拟转换器36。LPC合成器34将结合图2作详细描述。数字-模拟转换器将LPC合成器34的数字输出转换为模拟格式并将其输出至诸如扬声器之类的外部设备。
合成器芯片10包括RAM存储器40、算术和逻辑单元(ALU)42以及与微计算机12和译码器14耦合的定时器14。RAM存储器40包括环形缓冲器46。自适应编码本48存储在环形缓冲器46内。自适应编码本48将结合图3作详细描述。ALU42根据微计算机12和译码器14的请求执行数学计算。定时器44向微计算机12和译码器14提供定时功能。
在其中一个实施例中,合成器10包括由德州仪器公司制造的MSP50CX芯片。MSP50CX芯片的RAM存储器40只有8位宽。在本实施例中,固定激励信号每子帧包括n个脉冲,每个脉冲分配6位用于位置并分配1位用于符号。固定激励增益信号每帧可以分配5位。确定自适应激励信号的音高延迟可以分配6位用于一帧的第一子帧并且对于同一帧内其他每个子帧分配3位。自适应增益信号可以分配4位用于每个子帧。总增益信号可以每帧分配5位。对于反射系数,K1和K2可以每帧分配6位,K3和K4可以每帧分配5位,K5、K6和K7可以每帧分配4位。余下的反射系数K8、K9和K10每帧分配3位。合成器芯片10可以包容其他实施例和位分配,也属于本发明的范围。
图2示出了根据本发明一个实施例的合成器34的框图。合成器34可以是线性预测编码(LPC)合成器。合成器34包括激励节点60、总增益节点62和LPC滤波器34。应当理解,合成器34可不包括独立的节点结构,所示节点旨在便于读者的理解。激励节点60用来接收具有第一字长的激励信号。总增益节点62用来接收激励信号的总增益信号。总增益节点62利用总增益信号对激励信号进行标度以生成经过标度的激励信号,其具有大于第一字长的第二字长。在其中一个实施例中,第一字长可以包括8位而第二字长可以具有16位。通过逐帧改变总增益,可以利用较大的总增益值将高电平信号局限在8位内,与此同时低电平信号的有效位可以利用较小的总增益值加以维持。因此,合成器34利用较短字长的激励信号提供了高质量的语音。
激励节点60包括自适应编码本激励节点66、自适应编码本增益节点68、固定激励节点70、固定激励增益节点72和加法器74。自适应编码本激励节点66用来从自适应编码本48接收自适应编码本激励信号。自适应编码本增益节点68用来从自适应编码本增益表26中接收自适应编码本增益。自适应编码本增益节点68采用自适应编码本增益对自适应编码本激励信号进行标度以生成经过标度的自适应编码本激励信号。通过将自适应编码本激励信号与自适应编码本增益相乘对其进行标度。固定激励节点70用来从固定激励编码本22接收固定激励信号。固定激励增益节点72用来从固定激励增益表24中接收固定激励增益。固定激励增益节点72利用固定激励增益对固定激励信号进行标度以生成经过标度的固定激励信号。通过将固定激励信号与固定激励增益相乘对其进行标度。加法器74用来将经过标度的自适应编码本激励信号与经过标度的固定激励信号组合起来以生成激励节点60的激励信号。
LPC滤波器64用来从LPC编码本30接收反射系数。LPC滤波器64利用反射系数合成经过标度的激励信号以生成合成信号76。合成信号76经过数字-模拟转换器36转换并发送给外部设备。
对于MSP50C3X芯片,总增益节点62可以构成LPC滤波器64的一部分。在本实施例中,总增益可以直接输入到LPC滤波器中。因此,由硬件滤波器实现标度和滤波省略了编程工作。在本实施例中,自适应编码本激励节点66、自适应编码本增益节点68、固定激励节点70、固定激励增益节点72和加法器74可以包含子程序。总增益节点62也可以包含子程序。子程序实现的计算可以模拟定点运算以保留MSP50C3X芯片10的精度。
图3示出了RAM存储器40的环形缓冲器46中自适应激励编码本48的框图。缓冲器46应该大得足以存储容量等于最大音高值与子帧大小之和的激励历史。
自适应编码本48包括多个条目80,每个条目包含以前的激励样本。指针82用来识别包含最老的激励样本的条目84。自适应编码本84可以用CELP合成器34生成的当前激励样本迭写被识别条目84。自适应编码本48随后可以移动指针82以识别包含下一个最老的激励样本的另一条目。
在其中一个实施例中,指针82通过增数方式移动以识别自适应编码本48的下一条目86。在本实施例中,下一条目86包括下一个最老的激励样本。因此,指针将自适应激励编码本48的条目80向下移动以连续识别和迭写包含最老的激励样本的条目。如果下一条目86超出自适应编码本48的最后条目88,则指针82复位以将第一条目90识别为下一条目86。这样,当指针到达自适应编码本48底部时,被复位到自适应编码本48的开头。因此,条目80无需在自适应编码本48每次接收到当前激励信号时移动,这样自适应编码本48的效率得到了提高。
音高延迟92可以用来识别包含准备由合成器34用作自适应编码本激励信号的以前激励信号的自适应编码本48的条目94。如上所述,为了减少复杂性,在自适应编码本48的搜索中只用了整数音高延迟。另外,最大允许音高延迟局限于80以限制缓冲器46的容量。如上所述,缓冲器46的容量等于最大的音高延迟与子帧容量之和。
图4示出了根据本发明实施例合成语音的方法流程图。方法开始于步骤150,在步骤150中从总增益编码本28接收总增益信号。随后转入步骤152,从LPC编码本30接收LPC反射系数。步骤150和152接收的总增益信号和LPC反射系数可以在子帧和帧样本中重复使用。
在另一实施例中,LPC反射系数可以线性内插于每个子帧。由于稳定的LPC滤波器64确保在反射系数范围-1~1之间,所以内插将保持稳定。第j(j=0,1,...,n子帧-1)子帧的内插Ki(j)给定如下Ki(j)=(j+l)Ki+(nsubframe-j-l)-Ki(last)nsubframe]]>随后转入步骤154,从音高延迟模块32接收音高延迟。接着在步骤156,从自适应编码本增益表26中接收自适应编码本增益。接着在步骤158中,从固定激励编码本22中接收固定激励信号。在步骤160中,从固定激励增益表24中接收固定激励增益。音高延迟、自适应编码本增益信号、固定激励信号和固定增益激励信号可以在子帧样本中重复使用。
在步骤162中,音高延迟可以用来从自适应编码本48中恢复自适应编码本激励信号。接着在步骤164中,自适应编码本增益被再次用来标度自适应编码本激励信号以生成经过标度的自适应编码本激励信号。如上所述,自适应编码本增益节点68可以对自适应编码本激励信号进行标度以生成经过标度的自适应编码本激励信号。
接着在步骤166中,固定激励增益可以用来标度固定激励信号以生成经过标度的固定激励信号。如上所述,固定激励增益节点72可以对固定激励信号进行标度以生成经过标度的固定激励信号。
如上所述,经过标度的自适应激励信号和经过标度的固定激励信号都包含第一字长。第一字长包含8位。接着转入步骤168中,通过将经过标度的自适应编码本激励信号与经过标度的固定激励信号组合起来生成具有第一字长的激励信号。接着在步骤170中,利用总体增益信号对激励信号进行标度以生成具有第二字长的经过标度的激励信号。第二字长包含16位。
随后转入步骤172,生成合成信号。通过利用反射系数在LPC滤波器64中合成经过标度的激励信号产生合成信号。步骤172的下一步是判断步骤174。
在判断步骤174中判断当前子帧是否有下一样本。如果当前子帧有下一样本,则判断步骤174的YES分支返回步骤162,在那里从下一样本的自适应编码本48中恢复自适应编码本激励信号。如果当前子帧无下一样本,则判断步骤174的NO分支转入步骤176。
在判断步骤176中判断当前帧是否有下一子帧。如果当前帧有下一子帧,则判断步骤176的YES分支返回步骤154,在那里接收下一子帧的音高延迟。如果当前帧无下一子帧,则判断步骤174的NO分支转入判断步骤178。
在判断步骤178中判断编码报文20是否有下一帧。如果编码报文20有下一帧,则判断步骤178的YES分支返回步骤150,在那里从下一帧的总增益表28中接收总增益信号。如果编码报文20无下一帧,则判断步骤178的NO分支转入程序结束。
因此,总增益信号和LPC反射系数可以重新用于子帧和帧样本。音高延迟、自适应编码本增益信号、固定激励信号和固定激励增益信号可以重新用于子帧样本。但是在每个样本中,利用音高延迟接收新的自适应编码本激励信号。另外在每个样本中,由合成器34确定新的标度自适应编码本激励样本、标度固定激励样本、激励样本和标度激励样本。由子帧和帧样本重新利用信号的不同方法也属于本发明的范围。
对于MSP503CX芯片实施例而言,子帧大小、每帧的子帧数、每个子帧的脉冲数、存储器容量以及所需的位速率都是可以改变的。在其中一个实施例中,子帧大小为64,每帧的子帧数为2,每个子帧的脉冲数为4,这种情况下的位速率为8.2kb/s,而缓冲器所需RAM包括190个存储位置。在低位速率实施例中,子帧大小为64,每帧的子帧数为4,每个子帧的脉冲数为3,这种情况下的位速率为5.7kb/s。所需RAM与上述实施例相同。在高位速率实施例中,子帧大小为40,每帧的子帧数为2,每个子帧的脉冲数为4,这种情况下的位速率为13.1kb/s。缓冲器所需RAM包括160个存储位置。
图5示出了自适应编码本48管理方法的流程图。方法开始于步骤200,在那里指针82识别包含最老的激励样本的条目84。接着转入步骤202,从音高延迟模块32接收编码报文20当前子帧的音高延迟92。
接着在步骤204中,利用音高延迟92识别包含当前样本的自适应编码本激励信号的条目94。音高延迟92用作老的指针82的偏移。在步骤206中,可以恢复音高延迟92识别的自适应编码本激励信号。自适应编码本激励信号可以被合成器34用来生成激励信号,该激励信号经过标度和合成提供合成语音。合成器34生成的激励信号也可以反馈给自适应编码本48以更新激励历史。在步骤210中,自适应编码本48可以用接收自合成器34的当前激励样本来迭写指针识别的条目84。
接着在步骤212中,指针82增数以识别包含下一个最老的激励样本的下一条目86。在判断步骤214中,判断下一条目86是否超出自适应编码本48的最后条目88。如果下一条目86超出最后条目88,则YES分支转入步骤216。在步骤216中,指针82复位以将第一条目90识别为下一条目86。步骤216转入判断步骤218。返回判断步骤214,如果下一条目86没有超出最后条目88,则判断步骤214的NO分支转入判断步骤218。
在判断步骤218中判断当前子帧是否有下一样本。如果当前子帧有下一样本,则判断步骤218的YES分支返回步骤204,在那里由音高延迟识别包含下一(现在为当前)样本的自适应编码本激励信号的条目。由于指针82已增数,所以自适应编码本激励信号不同于以前的样本。如果当前子帧无下一样本,则判断步骤218的NO分支转入步骤220。
在判断步骤220中判断当前帧是否有下一子帧。如果当前帧有下一子帧,则判断步骤220的YES分支返回步骤202,在那里接收下一(现在为当前)子帧的音高延迟。如果当前帧无下一子帧,则判断步骤220的NO分支转入判断步骤222。
在判断步骤222中判断编码报文20是否有下一帧。如果编码报文20有下一帧,则判断步骤222的YES分支返回步骤202,在那里接收下一(现在为当前)帧的第一子帧的音高延迟。如果编码报文20无下一帧,则判断步骤222的NO分支转入程序结束。因此,音高延迟值可以为子帧的样本重复使用并且可以接收每个新子帧和帧的新音高延迟。
虽然借助实施例对本发明作了描述,但是它们对本发明并无限定作用。本发明的精神和范围由后面所附权利要求限定。
权利要求
1.一种合成语音的方法,其特征在于包括以下步骤接收音高延迟;利用音高延迟从自适应编码本中恢复自适应编码本激励信号;接收自适应编码本增益;利用自适应编码本增益对自适应编码本激励信号进行标度以生成经过标度的自适应编码本激励信号;接收固定的激励信号;接收固定的激励增益;利用固定激励增益对固定激励信号进行标度以生成经过标度的固定激励信号;将经过标度的自适应编码本激励信号和经过标度的固定激励信号组合在一起以生成具有第一字长的激励信号;接收激励信号的总增益信号;以及利用总增益信号对激励信号进行标度以生成经过标度的激励信号,经过标度的激励信号所具有的第二字长大于第一字长。
2.如权利要求1所述的方法,其特征在于第一字长包含8位而第二字长包含16位。
3.如权利要求1所述的方法,其特征在于自适应编码本激励信号、自适应编码本增益信号、固定激励信号和固定激励增益信号包含第一字长。
4.如权利要求3所述的方法,其特征在于第一字长包含8位而第二字长包含16位。
5.如权利要求3所述的方法,其特征在于经过标度的自适应编码本激励信号和经过标度的固定激励信号包含第一字长。
6.如权利要求5所述的方法,其特征在于第一字长包括8位而第二字长包括16位。
7.如权利要求1所述的方法,其特征在于进一步包括以下步骤接收LPC系数信号;以及利用LPC系数信号合成经过标度的激励信号以生成合成信号。
8.如权利要求1所述的方法,其特征在于LPC系数为反射系数。
9.如权利要求7所述的方法,其特征在于LPC系数信号和合成信号包含第二字长。
10.如权利要求9所述的方法,其特征在于第一字长包括8位而第二字长包括16位。
11.一种对包括多个条目的自适应编码本进行管理的方法,每个条目包含先前激励的样本,其特征在于包括以下步骤借助指针来识别包含最老的激励样本的条目;用当前激励样本迭写被识别的条目;以及移动指针以识别包含下一最老的激励样本的另一条目。
12.如权利要求11所述的方法,其特征在于包含下一最老的激励样本的条目是接在被迭写条目之后的下一条目。
13.如权利要求11所述的方法,其特征在于移动指针以识别包含下一最老的激励样本的另一条目的步骤进一步包括通过指针增数以识别自适应编码本的下一条目,所述下一条目包含下一最老的的激励样本;判断下一条目是否超出自适应编码本的最后条目;以及如果下一条目超出了自适应编码本的最后条目,则指针复位以将自适应编码本的第一条目识别为下一条目。
14.如权利要求11所述的方法,其特征在于进一步包括以下步骤接收识别包含自适应编码本激励信号条目的指针的音高延迟;以及从音高延迟识别的条目中恢复自适应编码本激励信号。
15.一种编码激励线性预测(CELP)合成器,其特征在于包括接收具有第一字长的激励信号的激励节点;接收激励信号的总增益信号的总增益节点;以及利用总增益信号对激励信号进行标度以生成经过标度的激励信号的总增益节点,经过标度的激励信号所具有的第二字长大于第一字长。
16.如权利要求15所述的CELP合成器,其特征在于第一字长包括8位而第二字长包括16位。
17.如权利要求15所述的CELP合成器,其特征在于进一步包括接收自适应编码本激励信号的自适应编码本激励节点;接收自适应编码本增益并利用自适应编码本增益对自适应编码本激励信号进行标度以生成经过标度的自适应编码本激励信号的自适应编码本增益节点;接收固定激励信号的固定激励节点;接收固定激励增益并利用固定激励增益对固定激励信号进行标度以生成经过标度的固定激励信号的固定激励增益节点;以及将经过标度的自适应编码本激励信号和经过标度的固定激励信号组合在一起以生成激励信号的加法器。
18.如权利要求17所述的CELP合成器,其特征在于自适应编码本激励信号、自适应激励增益、经过标度的自适应编码本激励信号、固定激励信号、固定激励增益和经过标度的固定激励信号包含第一字长。
19.如权利要求15所述的CELP合成器,其特征在于进一步包含接收反射系数信号的线性预测编码(LPC)滤波器;接收经过标度的激励信号的LPC滤波器;以及利用反射系数合成经过标度的激励信号以生成合成信号的LPC滤波器。
20.如权利要求17所述的CELP合成器,其特征在于进一步包括自适应编码本,其包括多个条目,每个条目包含以前的激励样本;识别包含最老的激励样本的条目的指针;用当前激励样本迭写被识别条目的自适应编码本;以及移动指针以识别包含另一包含下一最老的激励样本的条目的自适应编码本。
全文摘要
本发明提供一种大大缓解或基本消除现有语音合成器存在问题的合成器和方法。根据本发明,通过接收自适应编码本激励信号和自适应编码本增益或固定激励信号和固定的激励增益或激励信号的总增益信号,语音合成器对语音进行合成。通过利用自适应编码本增益或固定激励增益或总增益信号对激励信号进行标度来生成经过标度的激励信号。
文档编号G10L19/00GK1186996SQ98103939
公开日1998年7月8日 申请日期1998年1月4日 优先权日1997年1月2日
发明者赉外明, A·V·麦克格里, E·帕克索 申请人:德克萨斯仪器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1