一种基于语音的应用切换方法及装置
技术领域
本发明实施例涉及智能终端技术领域,具体涉及一种基于语音的应用切换方法及装置。
背景技术
随着智能机器人的功能不断完善,其智能化程度不断提高,越来越多的智能机器人开始进入普通家庭,例如,扫地机器人、看家机器人等等,大大方便了人们的生活。智能机器人在通过语音同用户交互时,通常需要通过麦克风采集语音数据,并将采集的语音数据发送给其它语音应用服务实现语音交互的功能。
现有的智能机器人中,各语音应用服务一般来自于不同的技术提供商,并且通常都需要在一个单独的语音线程中去监听录音数据,但由于智能机器人通常只能同时有一个应用服务去读取麦克风的限制,造成了无法同时启用多个语音应用服务,而且不同语音应用服务的线程之间切换时降低了设备的运行效率。
发明内容
由于现有的智能机器人只能同时有一个应用服务去读取麦克风的限制,造成了无法同时启用多个语音应用服务,而且不同语音应用服务的线程之间切换起来也很不灵活的问题,本发明实施例提出一种基于语音的应用切换方法及装置。
第一方面,本发明实施例提出一种基于语音的应用切换方法,包括:
接收第一语音数据,并在所述第一语音数据中实时添加同步数据,得到第一整合信息,所述同步数据为所述第一语音数据对应的附加数据;
根据所述第一整合信息在线程池中进行调度,根据所述同步数据分别实时筛选出对应的至少一个目标线程,并分别将所述目标线程切换为唤醒状态;
分别根据所述目标线程进行分析,各自调用每个目标线程对应的应用服务进行响应,使各应用服务之间进行切换。
优选地,所述根据所述第一整合信息在线程池中进行调度时,对所述同步数据进行解析,并根据解析出的元素在线程池中进行分析查找,分别实时筛选出对应的至少一个目标线程。
优选地,所述在所述第一语音数据中实时添加同步数据,进一步包括:
实时对所述第一语音数据进行生物学信息识别,并将所述生物学信息识别的结果添加至所述第一语音数据对应的同步数据中。
优选地,所述同步数据包括所述第一语音数据的第一接收时间。
优选地,所述目标线程包括文字转换线程,所述文字转换线程切换为唤醒状态后,将所述第一整合信息转换为文字信息。
优选地,所述根据所述第一整合信息在线程池中进行调度时,
将所述第一整合信息和所述第一接收时间通过对应的目标线程实时发送至目标应用服务;
接收所述目标应用服务发送的反馈结果和所述第一接收时间,所述反馈结果为根据所述第一整合信息得到的结果;
根据所述反馈结果、所述第一接收时间和所述第一整合信息进行处理,得到第二整合信息和第二接收时间;
将所述第二整合信息和所述第二接收时间通过对应的目标线程发送至所述目标应用服务。
优选地,所述方法还包括:
将所述第一语音数据和所述第一整合信息存储在本地或云服务器中。
优选地,所述方法还包括:
获取所有语音线程中除所述目标线程外的非目标线程;
将所述非目标线程的状态切换为休眠状态。
第二方面,本发明实施例还提出一种基于语音的应用切换装置,包括:
数据接收模块,用于接收第一语音数据,并在所述第一语音数据中实时添加同步数据,得到第一整合信息,所述同步数据为所述第一语音数据对应的附加数据;
线程调度模块,用于根据所述第一整合信息在线程池中进行调度,根据所述同步数据分别实时筛选出对应的至少一个目标线程,并分别将所述目标线程切换为唤醒状态;
服务调用模块,用于分别根据所述目标线程进行分析,各自调用每个目标线程对应的应用服务进行响应,使各应用服务之间进行切换。
优选地,所述线程调度模块进一步用于根据所述第一整合信息在线程池中进行调度时,对所述同步数据进行解析,并根据解析出的元素在线程池中进行分析查找,分别实时筛选出对应的至少一个目标线程。
优选地,所述数据接收模块进一步用于实时对所述第一语音数据进行生物学信息识别,并将所述生物学信息识别的结果添加至所述第一语音数据对应的同步数据中。
优选地,所述同步数据包括所述第一语音数据的第一接收时间。
优选地,所述目标线程包括文字转换线程;
相应地,所述线程调度模块进一步用于当所述文字转换线程切换为唤醒状态后,将所述第一整合信息转换为文字信息。
优选地,所述线程调度模块进一步用于根据所述第一整合信息在线程池中进行调度时,
将所述第一整合信息和所述第一接收时间通过对应的目标线程实时发送至目标应用服务;
接收所述目标应用服务发送的反馈结果和所述第一接收时间,所述反馈结果为根据所述第一整合信息得到的结果;
根据所述反馈结果、所述第一接收时间和所述第一整合信息进行处理,得到第二整合信息和第二接收时间;
将所述第二整合信息和所述第二接收时间通过对应的目标线程发送至所述目标应用服务。
优选地,所述装置还包括:
数据存储模块,用于将所述第一语音数据和所述第一整合信息存储在本地或云服务器中。
优选地,所述装置还包括:
线程获取模块,用于获取所有语音线程中除所述目标线程外的非目标线程;
状态切换模块,用于将所述非目标线程的状态切换为休眠状态。
由上述技术方案可知,本发明实施例通过在语音数据中添加同步数据,能够识别不同语音数据的特征,便于目标线程的处理;同时通过线程池对语音线程进行调度,并将至少一个目标线程的状态切换为唤醒状态,使得智能机器人能够同时启用多个语音应用服务,不同语音应用服务之间相互不干扰,同时不同语音应用服务的线程状态切换较为灵活,解决了不同语音应用服务的线程之间切换不灵活的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种基于语音的应用切换方法的流程示意图;
图2为本发明一实施例提供的一种基于语音的应用切换装置的结构示意图。
具体实施方式
下面结合附图,对发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了本实施例提供的一种基于语音的应用切换方法的流程示意图,包括:
S101、接收第一语音数据,并在所述第一语音数据中实时添加同步数据,得到第一整合信息,所述同步数据为所述第一语音数据对应的附加数据;
具体地,智能机器人在运行时,智能机器人的控制调度应用服务打开录音设备,接收外部输入的语音数据,通过控制调度应用服务对所述语音数据进行语音识别,并根据语音识别的结果在所述语音数据中添加同步数据,得到整合信息。
其中,控制调度应用服务可以每隔特定的时间间隔,在语音数据中加入同步数据,由于语音功能的特殊性,各个语音应用服务在输入数据中有少量噪音(即同步数据)的情况下,功能通常都可以正常运行。
其中,所述同步数据可以为根据语音识别的结果,得到的与语音数据的内容相关的,用于对语音数据进行标识的附加数据。例如:声音的生物学类型和声音的方向。
举例来说,采用0和1标记同步数据的类型,0表示背景环境声音,1表示人的声音,如果语音数据中出现同步数据0,则表示0后面的语音数据为背景环境声音,如果语音数据中出现同步数据1,则表示1后面的语音数据为人的声音。当控制调度应用服务实时对外部输入的时长为20秒的语音数据进行识别时,识别结果为从0-10秒为背景环境声音,从11-15秒为人的声音,从16-20秒为背景环境声音;则在0秒的语音数据前添加同步数据0,在11秒的语音数据前添加同步数据1,在16秒的语音数据前添加同步数据0。
或者,采用0-3作为同步数据的标记符,0表示背景环境声音,1表示爸爸的声音,2表示妈妈的声音,3表示孩子的声音。对外部输入的语音数据进行识别时,如果语音数据中出现同步数据0,则表示0后面的语音数据为背景环境声音,如果语音数据中出现同步数据1或2或3,则对应表示1或2或3后面的语音数据分别为爸爸或妈妈或孩子的声音。
或者,采用接收语音数据的方向作为同步数据,用0-360度来表示当前接收第一语音数据的方向,后续过程中,将方向数据传入目标线程对应的特定应用服务中,该应用服务根据这个方向数据对智能机器人的头部进行角度调整,使机器人能与发出第一语音数据的用户面对面对话。
通过添加同步数据,根据同步数据在线程池中进行分析查找,能够使得后续对语音数据进行数据处理时,能够快速找出不同类型的控制指令,并通过识别不同类型的控制指令分别来获取各自对应的至少一种操作指令。例如:如果识别到孩子的声音发出的“音乐播放”的对应语音数据,则调用音频播放的控制指令来播放儿童类歌曲,同时识别发出语音数据的对应方向,调用转动头部电机的控制指令将智能机器人的头部转动至语音数据的来源方向,使得用户能够得到一个较好的视听体验。
通过在语音数据流中加入特殊的时间同步位,使得多个应用服务可以同时处理用户发出的语音数据,并在处理结果中返回该结果对应在语音数据的时间,这样可以将不同语音应用服务对语音数据的处理结果准确的结合起来,提高了设备的运行效率。
S102、根据所述第一整合信息在线程池中进行调度,根据所述同步数据实时筛选出对应的至少一个目标线程,并分别将所述目标线程切换为唤醒状态;
具体地,所述控制调度应用服务根据所述第一整合信息在线程池中进行调度,根据所述同步数据实时筛选出对应的至少一个目标线程,并分别将所述目标线程切换为唤醒状态。
其中,智能机器人中各个语音应用服务均提供接收数据的入口,由所述控制调度应用服务采集语音数据,在线程池中将文字转换线程切换为唤醒状态,并将语音数据转换为文字信息后写入各个语音应用服务,这样可以避免智能机器人常见的只能打开单路录音的限制。
通过控制语音数据的流向、以及切换各个语音线程的状态,减少各个语音线程需要处理的调度和同步工作,使单个语音应用服务只需要关心自己功能的实现,不需要处理不同线程之间切换和互斥的工作。同时通过对语音数据或转换后的文字信息进行复用,使其能够同时发送给多个不同的语音应用服务。
其中,线程的状态包括两种:休眠状态和唤醒状态。当线程处于休眠状态时,无法执行指令;当线程处于唤醒状态时,才能执行指令。
通过设置线程的状态,能够控制线程对应的语音应用服务的工作状态,避免语音应用服务在不必要的情况下仍然处于工作状态,耗费计算机资源。
所述线程池为存储所述控制调度应用服务管理的所有语音相关线程的区域。
其中,所述控制调度应用服务的线程池中包括控制调度应用服务的所有功能线程,包括唤醒线程、语音识别线程、语音转换线程、同步处理线程和文字识别线程等控制类线程,以及音乐播放、智能对话等应用类线程。
在默认状态下,这些功能线程都处于休眠状态,当识别到控制调度应用服务的触发信息时,相关的功能线程从休眠状态切换为唤醒状态。
所述控制调度应用服务的控制类线程包括唤醒线程、语音识别线程、语音转换线程、同步处理线程和文字识别线程,其中:
所述唤醒线程始终处于唤醒状态,麦克风一直监听特定词语的出现,并在出现特定词语时将智能机器人从休眠状态切换为唤醒状态,智能机器人在唤醒状态下同用户进行交互,同时将语音转换线程、同步处理线程和文字识别线程切换为唤醒状态;
所述语音识别线程需要理解用户所说的语音中含有哪些文字,有了文字内容后智能机器人才能准确的识别用户的意图;
所述语音转换线程需要将语音数据对应转换为文字信息;
所述同步处理线程需要采用预设方法在文字信息中添加同步数据;所述预设方法可以为生物学信息识别方法,即根据输入的语音数据,判断不同类型的声音,如环境背景声音和具体人的声音;也可以根据输入的语音数据,判断说话人的年龄、性别、情绪等信息;
所述文字识别线程需要根据文字内容,识别能够处理该文字内容的应用服务。
进一步,根据所述第一整合信息在线程池中进行调度时,对所述同步数据进行解析,提取出同步数据中的元素,并根据解析出的元素在线程池中进行分析查找,分别实时筛选出对应的至少一个目标线程。
举例来说,若所述第一语音数据为“播放歌曲”,所述同步数据包括声音的生物学类型和声音的方向,则对声音的生物学类型和声音的方向进行解析,提取如下元素:儿童声音和60度方向。因此,根据儿童声音需要在线程池中查找儿歌刷选线程和音乐播放线程;根据60度方向在线程池中查找角度调整线程。
通过对同步数据进行解析并提取相关元素,能够根据元素快速确定目标线程。
通过设置控制调度应用服务的线程池,并对线程池中的功能线程进行状态控制,将相关功能线程切换为唤醒状态,能够避免智能机器人在不必要的情况下仍然处于工作状态,耗费计算机资源。
S103、分别根据所述目标线程进行分析,各自调用每个目标线程对应的应用服务进行响应,使各应用服务之间进行切换。
具体地,所述控制调度应用服务分别根据所述目标线程进行分析,各自调用每个目标线程对应的应用服务进行响应。
本实施例通过在语音数据中添加同步数据,能够识别不同语音数据的特征,便于目标线程的处理;同时通过线程池对语音线程进行调度,并将至少一个目标线程的状态切换为唤醒状态,使得智能机器人能够同时启用多个语音应用服务,不同语音应用服务之间相互不干扰,同时不同语音应用服务的线程状态切换较为灵活,解决了不同语音应用服务的线程之间切换不灵活的问题。
进一步地,在上述方法实施例的基础上,所述在所述第一语音数据中实时添加同步数据,进一步包括:
实时对所述第一语音数据进行生物学信息识别,并根据所述生物学信息识别的结果在所述第一语音数据中添加同步数据。
其中,所述生物学信息识别为根据输入的语音数据,判断不同类型的声音,如环境背景声音和具体人的声音;也可以根据输入的语音数据,判断说话人的年龄、性别、情绪等信息。
通过对语音数据进行生物学信息识别,能通过识别出人的特征,使得智能机器人更好地根据接收指令做出操作决策。
进一步地,在上述方法实施例的基础上,所述同步数据包括所述第一语音数据的第一接收时间。
通过在同步数据中加入语音数据的接收时间,不仅使得控制调度应用服务能够根据不同的接收时间对语音数据进行识别和管理,而且使得控制调度应用服务能够根据多个语音数据的接收时间,综合考虑做出操作决策。
进一步地,在上述方法实施例的基础上,所述目标线程包括文字转换线程,所述文字转换线程切换为唤醒状态后,将所述第一整合信息转换为文字信息。
具体地,所述控制调度应用服务的文字转换线程切换为唤醒状态后,对所述第一整合信息进行文字转换,将添加了同步数据的语音数据转换为对应的文字信息。
举例来说,采用0-3作为同步数据的标识,0表示背景环境声音,1表示爸爸的声音,2表示妈妈的声音,3表示孩子的声音,则转换后的文字信息如“0我们都有一个家名字叫中国1宝贝你喜欢这首歌吗3很好听啊2那我们多听几遍吧”。
对控制调度应用服务来说,对文字的处理能力远远超过对语音数据的处理能力,因此通过将语音数据转换为文字信息,能够便于识别文字信息分别对应的目标线程,从而调用不同的应用服务进行处理,提高了控制调度应用服务的处理速度。
进一步地,在上述方法实施例的基础上,所述方法还包括:
将所述第一整合信息和所述第一接收时间通过对应的目标线程发送至目标应用服务;
接收所述目标应用服务发送的反馈结果和所述第一接收时间,所述反馈结果为根据所述第一整合信息得到的结果;
根据所述反馈结果、所述第一接收时间和所述第一整合信息进行处理,得到第二整合信息和第二接收时间;
将所述第二整合信息和所述第二接收时间通过对应的目标线程发送至所述目标应用服务。
具体地,当目标应用服务根据第一整合信息无法识别具体的操作指令,则将无法识别的反馈结果和所述第一接收时间发送至所述控制调度应用服务;所述控制调度应用服务根据所述第一目标接收时间在存储的语音数据中查找所述第一语音数据前后的语音数据,进行处理后,得到第二语音数据,获取所述第二语音数据对应的第二整合信息和第二接收时间,并将所述第二整合信息和所述第二接收时间通过对应的目标线程发送至所述目标应用服务。
其中,所述根据所述反馈结果、所述第一接收时间和所述第一整合信息进程进行处理,得到第二整合信息和第二接收时间,进一步包括:
根据反馈结果判断所述第一整合信息的缺失信息的位置,即在所述第一接收时间之前或之后;
根据缺失信息的位置获取相应时间的目标整合信息,并将所述目标整合信息添加至所述第一整合信息中,得到第二整合信息;
根据所述第二整合信息,获取对应的第二接收时间。
举例来说,儿童向智能机器人下发“播放音乐”的语音指令,但由于说话有间断,因此智能机器人的控制调度应用服务接收的语音数据为“播放”和“音乐”。其中,“播放”语音对应的接收时间为50s,“音乐”语音对应的接收时间为54s。
则第一整合信息为儿童指令“播放”,第一接收时间为50s。当播放器应用服务接收到50s时儿童发出的“播放”指令时,无法判断播放视频、音乐还是广播,因此需要向控制调度应用服务反馈“无法完成播放任务”的反馈结果和儿童指令“播放”(第一整合信息)对应的接收时间(第一接收时间)。
控制调度应用服务根据反馈结果重新确定第二整合信息,即新的儿童指令“播放音乐”,对应的接收时间为50s,即第二接收时间,因此,将50s接收的儿童指令“播放音乐”发送给播放器应用服务。
播放器应用服务根据儿童指令“播放音乐”进行播放儿童歌曲。
当所述控制调度应用服务需要参考多个不同应用服务的反馈结果时,为了更准确的判断用户的输入和操作的意图,可以根据各个应用服务返回的结果的时间点,加上保存的触发语音数据中的同步数据,将不同应用服务的各个反馈结果集合对应起来,从而可以将输入语音数据中不同时间段加上不同反馈结果的标志,以帮助所述控制调度应用服务进行决策。
进一步地,在上述方法实施例的基础上,所述方法还包括:
将所述第一语音数据和所述第一整合信息存储在本地或云服务器中。
由于在输入的语音数据触发一定的线程,或者语音数据转化为文字数据时,需要尽可能的标识相应结果对应在语音数据的准确时间,同时也需把结果对应的原始语音数据保存为语音数据文件,便于后续帮助所述控制调度应用服务进行决策。
通过将语音数据和文字信息存储在本地,能够在处理中快速获取语音数据和文字信息,加快处理速度。所述云服务器为通过网络连接的服务器,是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务,其管理方式比物理服务器更简单高效。通过将语音数据和文字信息存储在云服务器中,能够不受本地存储空间的限制,存储所有语音数据和文字信息。
更进一步地,在上述方法实施例的基础上,所述方法还包括:
获取所有语音线程中除所述目标线程外的非目标线程;
具体地,所述控制调度应用服务获取所有语音线程中除所述目标线程外的非目标线程。
所述非目标线程为所有语音线程中除所述目标线程外的所有线程。
将所述非目标线程的状态切换为休眠状态。
举例来说,所述控制调度应用服务处理完语音数据后,能够获知当前需要执行的语音应用服务有哪些,将相应语音应用服务对应的线程切换为唤醒状态,同时开始向其发送语音数据转换后的文字信息;对于不需要执行的语音应用服务,将其对应的线程切换为休眠状态。
所述控制调度应用服务在持续写入语音数据的过程中,如果有一个或多个语音应用服务返回特定结果,且该结果对应一个明确的状态切换,那么所述控制调度应用服务就执行线程运行状态切换工作,将需要暂停的语音应用服务对应的线程切换为休眠状态,将需要启用的语音应用服务对应的线程切换为唤醒状态。
通过区分不同线程,并将非目标线程的状态切换为休眠状态,能够避免相关语音应用服务在不必要的情况下仍然处于工作状态,耗费计算机资源。
图2示出了本实施例提供的一种基于语音的应用切换装置的结构示意图,所述装置包括数据接收模块201、线程调度模块202和服务调用模块203,其中:
所述数据接收模块201用于接收第一语音数据,并在所述第一语音数据中实时添加同步数据,得到第一整合信息,所述同步数据为所述第一语音数据对应的附加数据;
所述线程调度模块202用于根据所述第一整合信息在线程池中进行调度,根据所述同步数据实时筛选出对应的至少一个目标线程,并分别将所述目标线程切换为唤醒状态;
所述服务调用模块203用于分别根据所述目标线程进行分析,各自调用每个目标线程对应的应用服务进行响应,使各应用服务之间进行切换。
具体地,所述数据接收模块201接收第一语音数据,并在所述第一语音数据中实时添加同步数据,得到第一整合信息,所述同步数据为所述第一语音数据对应的附加数据;所述线程调度模块202根据所述第一整合信息在线程池中进行调度,根据所述同步数据实时筛选出对应的至少一个目标线程,并分别将所述目标线程切换为唤醒状态;所述服务调用模块203分别根据所述目标线程进行分析,各自调用每个目标线程对应的应用服务进行响应,使各应用服务之间进行切换。
本实施例通过在语音数据中添加同步数据,能够识别不同语音数据的特征,便于目标线程的处理;同时通过线程池对语音线程进行调度,并将至少一个目标线程的状态切换为唤醒状态,使得智能机器人能够同时启用多个语音应用服务,不同语音应用服务之间相互不干扰,同时不同语音应用服务的线程状态切换较为灵活,解决了不同语音应用服务的线程之间切换不灵活的问题。
进一步地,在上述装置实施例的基础上,所述线程调度模块202进一步用于根据所述第一整合信息在线程池中进行调度时,对所述同步数据进行解析,并根据解析出的元素在线程池中进行分析查找,分别实时筛选出对应的至少一个目标线程。
进一步地,在上述装置实施例的基础上,所述数据接收模块201进一步用于实时对所述第一语音数据进行生物学信息识别,并将所述生物学信息识别的结果添加至所述第一语音数据对应的同步数据中。
进一步地,在上述装置实施例的基础上,所述同步数据包括所述第一语音数据的第一接收时间。
进一步地,在上述装置实施例的基础上,所述目标线程包括文字转换线程,所述线程调度模块202进一步用于在所述文字转换线程切换为唤醒状态后,将所述第一整合信息转换为文字信息。
进一步地,在上述装置实施例的基础上,所述线程调度模块202进一步用于根据所述第一整合信息在线程池中进行调度时,
将所述第一整合信息和所述第一接收时间通过对应的目标线程发送至目标应用服务;
接收所述目标应用服务发送的反馈结果和所述第一接收时间,所述反馈结果为根据所述第一整合信息得到的结果;
根据所述反馈结果、所述第一接收时间和所述第一整合信息进行处理,得到第二整合信息和第二接收时间;
将所述第二整合信息和所述第二接收时间通过对应的目标线程发送至所述目标应用服务。
进一步地,在上述装置实施例的基础上,所述装置还包括:
数据存储模块,用于将所述第一语音数据和所述第一整合信息存储在本地或云服务器中。
更进一步地,在上述装置实施例的基础上,所述装置还包括:
线程获取模块,用于获取所有语音线程中除所述目标线程外的非目标线程;
状态切换模块,用于将所述非目标线程的状态切换为休眠状态。
本实施例所述的基于语音的应用切换装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。