Voice command processing method and apparatus
The speech control module with an authentication module generates a voice command data file and application key for secure communication, addressing bandwidth and connectivity issues in vehicle speech recognition systems, ensuring efficient and secure voice command processing.
Patent Information
- Application Number
- GB2021015125
- Authority / Receiving Office
- GB · GB
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-21
- Publication Date
- 2025-05-07
- Estimated Expiration
- 2041-10-21
AI Technical Summary
Existing vehicle speech recognition systems require a dedicated gateway for secure communication with remote servers, which increases bandwidth demands and may not efficiently handle connectivity issues or context-dependent commands.
A speech control module generates a voice command data file with an application key for secure communication, using an authentication module to obtain credentials for authentication by a remote speech recognition server, enabling local processing and secure transmission.
This approach reduces bandwidth requirements and ensures secure, efficient voice command processing even with limited connectivity, allowing for context-aware control without a dedicated gateway.
Smart Images

Figure 00000001_0000 
Figure 00000002_0000 
Figure 00000003_0000
Abstract
Description
05 09 24 TECHNICAL FIELD The present disclosure relates to a voice command processing method and apparatus. 5 Aspects of the invention relate to a speech control module, an authentication module, a speech service system for a vehicle, a computer-implemented method of generating a voice command data file, a computer-implemented method of obtaining an application key; a non-transitory computer-readable medium, a speech recognition system and a vehicle. 10 BACKGROUND It is known to provide a speech recognition system in a vehicle to enable voice control of vehicle systems. The user, typically a driver of the vehicle, issues a voice command. The speech recognition system converts the voice command to text for processing to determine a driver request. Hybrid speech recognition systems include a combination of speech 15 recognisers embedded in the vehicle and a remote server (providing cloud-based functions). The increased processing capability of the remote server typically allows improved speech recognition, for example allowing better natural language processing for one or more languages. Using a remote server to perform the speech recognition may also allow the speech system access to richer data from back-end data providers, such as navigation Points 20 of Interest (POIs), online media, weather etc. The embedded portion of the hybrid system then supports the user when context needs to be considered and if there is poor connectivity to the remote server. The vehicle communicates with the remote server over a wireless network to transmit the 25 voice command for processing. A secure connection is required to for the voice command to maintain privacy. The secure connection between the vehicle and the remote server may require increased bandwidth to enable the transfer of audio files, for example to stream audio from the vehicle. It is known to provide a dedicated gateway to establish a secure connection for interactions between the vehicle and the remote server. The voice command is sent to the 30 remote service only once authentication has been established between the vehicle and the gateway. However, this approach requires the implementation of a dedicated gateway. It is an aim of the present invention to address one or more of the disadvantages associated with the prior art. 35 05 09 24 SUMMARY OF THE INVENTION Aspects and embodiments of the invention provide a speech control module, a speech service system for a vehicle, a computer-implemented method of generating a voice command data file; a non-transitory computer-readable medium, a speech recognition system and a vehicle 5 as claimed in the appended claims. According to an aspect of the present invention there is provided a speech control module for a vehicle, the speech control module being operative to generate a voice command data file for processing by a speech recognition server disposed externally of the vehicle, the speech 10 control module comprising one or more controllers, the speech control module configured to: receive an audio signal; generate an audio data set in dependence on the received audio signal, the audio data set comprising a voice command spoken by an occupant of the vehicle; receive an application key; 15 generate the voice command data file comprising the audio data set and the application key; and output the voice command data file for transmission to the speech recognition server. The one or more controllers may comprise at least one electronic processor having an input 20 and an output. The input may be configured to received the audio signal, for example from a microphone disposed in the vehicle. The output be configured to output the voice command data file. The one or more controller may comprise a memory device for storing a set of computational instructions which, when executed on the at least one processor, cause the one or more controller to perform the method(s) described herein. 25 The application key may be received from an authentication module. The authentication module may be configured to communicate with an authentication server. The application key is provided in the voice command data file to enable secure 30 communication between the speech service system and the speech recognition server. At least in certain embodiments, the application key is suitable for authenticating the voice command data file. The speech recognition server may access the application key provided in the voice command data file to authenticate the voice command data file. The speech recognition server may compare the application key provided in the voice command data file 35 to an active application key. The application key may be used to provide credentials to the speech recognition server. Alternatively, or in addition, the application key may be provided to a backend data aggregator to authenticate the user and / or the vehicle. 05 09 24 The speech control module may receive a plurality of application keys. The speech control module may provide one of the plurality of application keys in the voice command data file. The speech control module may identify one of the plurality of application keys as being 5 activated. The activated application key may be provided in the voice command data file. The speech control module may be configured to write the application key to a header of the voice command data file. 10 The speech control module may be configured to write a vehicle identifier to the voice command data file to identify the vehicle. The vehicle identifier may be received from an authentication module provided in the vehicle. The authentication module may comprise an authentication daemon. 15 The speech control module may be configured to write a user identifier to the voice command data file to identify a user associated with the vehicle. The user identifier may be received from an authentication module provided in the vehicle. The authentication module may comprise an authentication daemon. 20 The speech control module may be configured to receive a command text from the speech recognition server, the command text at least substantially corresponding to the voice command. There may be provided an authentication module for a speech control module provided in a 25 vehicle, the authentication module being configured to: generate an application key request to request at least one application key from an authentication server; transmit the application key request to the authentication server disposed externally of the vehicle; 30 receive the at least one application key; and output the at least one application key to the speech control module. The authentication module may be provided in the vehicle, for example in an embedded system. At least in certain embodiments, the authentication module may comprise an 35 authentication daemon. The speech control module may be of the type described herein. 05 09 24 The authentication module may be configured to transmit the application key request to the authentication server in dependence on an initialisation condition being satisfied. The initialisation condition may comprise a start-up of the vehicle. 5 The authentication module may be configured to delete the at least one application key in dependence on a cessation condition being met. The cessation condition may comprise a shut-down of the vehicle. The authentication module may be configured to output a vehicle identifier to the speech 10 control module. The authentication module may be configured to output a user identifier to the speech control module. 15 According to a further aspect of the present invention there is provided a speech service system for a vehicle, the speech service system comprising a speech control module as described herein configured to generate the voice command data file comprising the audio data set and the application key; and an authentication module as described herein to retrieve the application key for the voice command data file. 20 According to a further aspect of the present invention there is provided a speech recognition system for processing a voice command, the speech recognition system comprising: a speech control module as claimed in any one of claims 1 to 5 configured to generate the voice command data file comprising the audio data set and the application key; and 25 a speech recognition server for receiving the voice command data file generated by the speech service system, the speech recognition server being configured to authenticate the voice command data file in dependence on the application key; wherein the speech recognition server is configured to process the audio data set provided in the voice command data file in dependence on a positive authentication of the 30 voice command data file. The speech recognition system may comprise an authentication module as described herein. The authentication module may be configured to retrieve the application key for the voice command data file. 35 05 09 24 According to a further aspect of the present invention there is provided a computer-implemented method of generating a voice command data file for transmission from a vehicle to a speech recognition server disposed remotely for processing, the method comprising: receiving an audio signal; 5 generating an audio data set in dependence on the received audio signal, the audio data set comprising a voice command spoken by an occupant of the vehicle; receiving at least one application key; generating the voice command data file comprising the audio data set and the application key; and 10 outputting the voice command data file for transmission to the speech recognition server. The method may comprise writing the application key to a header of the voice command data file. 15 The method may comprise writing a vehicle identifier and / or a user identifier to the voice command data file. The method may comprise receiving a command text from the speech recognition server. The 20 command text may at least substantially correspond to the voice command. There may be provided a computer-implemented method of obtaining an application key for incorporation into a voice command data file for transmission from a vehicle to a speech recognition server, the method comprising: 25 generating an application key request to request at least one application key from an authentication server; transmitting the application key request to the authentication server disposed externally of the vehicle; receiving the at least one application key; and 30 outputting the at least one application key to a speech control module for incorporation into the voice command data file. The method may comprise transmitting the application key request to the authentication server in dependence on an initialisation condition being satisfied. The initialisation condition may 35 comprise a start-up of the vehicle. 05 09 24 The method may comprise deleting the at least one application key in dependence on a cessation condition being met. The cessation condition may comprise a shut-down of the vehicle. 5 According to a further aspect of the present invention there is provided a computer-implemented method of processing a voice command, the method comprising: generating a voice command data file as described herein; wherein the application key is obtained using the method as described herein. 10 According to a further aspect of the present invention there is provided a non-transitory computer-readable medium having a set of instructions stored therein which, when executed, cause a processor to perform the method(s) described herein. According to a further aspect of the present invention there is provided a speech recognition 15 system for processing a voice command data file received from a vehicle, the voice command data file comprising an audio data set representing a voice command issued by an occupant of the vehicle and an application key; wherein the speech recognition system being configured to: read the application key in the voice command data file; 20 authenticate the voice command data file in dependence on the application key; and process the audio data set in the voice command data file in dependence on a successful authentication of the voice command data file. According to a further aspect of the present invention there is provided a vehicle comprising a 25 speech control module as described herein; and / or an authentication module as described herein. According to a further aspect of the present invention there is provided a vehicle comprising a speech service system as described herein. 30 Any control unit or controller described herein may suitably comprise a computational device having one or more electronic processors. The system may comprise a single control unit or electronic controller or alternatively different functions of the controller may be embodied in, or hosted in, different control units or controllers. As used herein the term “controller” or 35 “control unit” will be understood to include both a single control unit or controller and a plurality of control units or controllers collectively operating to provide any stated control functionality. To configure a controller or control unit, a suitable set of instructions may be provided which, 05 09 24 when executed, cause said control unit or computational device to implement the control techniques specified herein. The set of instructions may suitably be embedded in said one or more electronic processors. Alternatively, the set of instructions may be provided as software saved on one or more memory associated with said controller to be executed on said 5 computational device. The control unit or controller may be implemented in software run on one or more processors. One or more other control unit or controller may be implemented in software run on one or more processors, optionally the same one or more processors as the first controller. Other suitable arrangements may also be used. 10 Within the scope of this application it is expressly intended that the various aspects, embodiments, examples and alternatives set out in the preceding paragraphs, in the claims and / or in the following description and drawings, and in particular the individual features thereof, may be taken independently or in any combination. That is, all embodiments and / or features of any embodiment can be combined in any way and / or combination, unless such 15 features are incompatible. The applicant reserves the right to change any originally filed claim or file any new claim accordingly, including the right to amend any originally filed claim to depend from and / or incorporate any feature of any other claim although not originally claimed in that manner. 20 BRIEF DESCRIPTION OF THE DRAWINGS One or more embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings, in which: Figure 1 shows a schematic representation of a vehicle incorporating a vehicle speech service system in accordance with an embodiment of the present invention; 25 Figure 2 shows an overview of a speech recognition system incorporating the speech service system shown in Figure 1; Figure 3 shows a schematic representation of the vehicle speech service system according to an embodiment of the present invention; Figure 4 shows a first block diagram representing the initialisation of the vehicle 30 speech service system; Figure 5 shows a second block diagram representing the operation of the vehicle speech service system to generate a voice command data file; Figure 6 shows a third block diagram representing the operation of a speech recognition server and a content service data aggregator to deliver requested content to the 35 speech service system; Figure 7 shows a fourth block diagram representing the routine updating of the application keys; and 05 09 24 Figure 8 shows a fifth block diagram representing the replacement of the application keys due to a threat condition. DETAILED DESCRIPTION 5 A vehicle speech service system 1 in accordance with an embodiment of the present invention is described herein with reference to the accompanying Figures. The vehicle speech service system 1 in the present embodiment is disposed in a vehicle 3. The speech service system 1 forms part of a hybrid speech recognition system 5 operative to provide local (embedded) and remote (cloud) speech recognition functions. A schematic representation of the speech 10 recognition system 5 is shown in Figure 1. As shown in Figure 2, the speech recognition system 5 comprises the speech service system 1, a speech recognition server 7 and an authentication server 9. The speech service system 1 is configured selectively to communicate with the speech recognition server 7 and the 15 authentication server 9 over a wireless network 11, such as a cellular telephone or data network. The speech service system 1 is integrated into a head unit (also known as an infotainment system) in the vehicle 3. The speech recognition server 7 and the authentication server 9 are disposed externally of the vehicle 3. The speech recognition server 7 and the authentication server 9 could be combined. In the present embodiment the speech recognition 20 server 7 and the authentication server 9 are maintained separate from each other. As illustrated in Figure 1, the speech recognition server 7 and the authentication server 9 are configured to communicate with each other over a network connection. As described herein, an SFTP server (SSH File Transfer Protocol server) 10 is provided for secure transfer of files from the speech recognition server 7 to the authentication server 9. 25 The speech recognition server 7 comprises a computer-implemented speech recogniser for recognising speech spoken by an occupant of the vehicle 3. The term “voice command” CMV is used herein to refer to natural language spoken by an occupant of the vehicle 3. The voice command CMV may comprise or consist of one or more of the following: a command, a 30 request, an instruction, or a query. The computer-implemented speech recogniser may translate (transcribe) the voice command CMV into text for further analysis. The speech recognition server 7 is configured to generate a command text CMT corresponding to a partial or full transcription of the voice command CMV. The speech recognition server 7 may comprise a natural language processing function for parsing the command text CMT. The 35 speech recognition server 7 can thereby identify and extract instructions and / or commands from the voice command CMV. 05 09 24 The command text CMT in the present embodiment is transmitted from the speech recognition server 7 to a content service data aggregator 13. The content service data aggregator 13 is configured to control access to one or more content service providers CSP-n to control the supply of digital content DCn, such as digital media, to the vehicle 3. The content service 5 providers CSP-n may, for example, comprise one or more of the following: a music streaming service, a digital map provider, a route planning provider, and a traffic data provider. The content service data aggregator 13 is configured to control the delivery of digital content DCn from the one or more content service providers CSP-n. A user associated with the vehicle 3 may have one or more subscription in place with the content service providers CSP-n. The 10 content service data aggregator 13 stores user data in relation to each content service provider CSP-n. For example, the content service data aggregator 13 may store one or more of the following: user information, login (access) details, subscription details and account information. The command text CMT comprises a data content request DCR requesting the delivery of digital content DCn from one or more of the content service providers CSP-n 15 associated with the user. The processing of the voice command CMV may be subject to privacy rules and regulations. The speech recognition server 7 is configured to generate at least one application key 15-n to enable secure processing of the voice command CMV captured by the speech service system 20 1. The at least one application key 15-n is used as a credential to authenticate data transmissions between the speech service system 1 and the speech recognition server 7. One or more application identifier APPID is defined on the speech recognition server 7 to identify a service or application provided by the operator. The application identifier APPID remains static for the term of the relevant contract. The at least one application key 15-n enables secure 25 communication between the speech service system 1 and the speech recognition server 7. The or each application key 15-n is an electronic key and may, for example, comprise a numerical key or an alphanumerical key. The speech recognition server 7 delivers the at least one application key 15-n to the authentication server 9. In the present embodiment, the at least one application key 15-n is delivered to an SFTP server 10 which functions as a drop 30 location. The SFTP server 10 may be hosted by the supplier of the speech recognition server 7, for example. The authentication server 9 is configured to collect the or each application key 15-n from the SFTP server 10. The or each application key 15-n may be unique, for example a unique application key 15-n may be allocated to each user. Alternatively, the same application key(s) 15-n may be issued to a plurality of users. In the present embodiment, the 35 same application key 15-n is used across all users. The application key 15-n may be combined with a unique identifier, such as a user identifier and / or a vehicle identifier, to provide a unique 05 09 24 identifier. In the present embodiment, the application key 15-n is combined with a user identifier, a vehicle identifier and a vehicle identification number (VIN). The speech recognition server 7 may issue a single application key 15-1; or may issue a 5 plurality of the application keys 15-n. The plurality of the application keys 15-n may, for example, be issued as a batch. The speech recognition server 7 issues the at least one application key 15-n at predetermined time intervals. The speech recognition server 7 issues the at least one new (replacement) application key 15-n upon expiry of the predetermined time interval. The time interval may, for example, be a 30-day interval. The or each application key 10 15-n is valid for the duration of the predetermined time interval. The or each application key 15-n may be invalidated on expiry of the predetermined time interval or within an extended time period after expiry of the predetermined time interval. The extended time period may, for example, be a 1-day interval. Alternatively, or in addition, the speech recognition server 7 may issue the at least one new application key 15-n in dependence on a request received from the 15 speech service system 1 or the authentication server 9. Alternatively, or in addition, the speech recognition server 7 may issue the at least one new application key 15-n in dependence on a determination that an existing application key 15-n has been compromised or used improperly. The authentication server 9 communicates with the SFTP server 10 to obtain the at least one 20 application key 15-n. The SFTP server 10 may transmit a notification to the authentication server 9 to indicate that a new application key 15-n has been issued. Alternatively, or in addition, the authentication server 9 may periodically contact the SFTP server 10 to determine if a new application key 15-n has issued. In a variant, the at least one application key 15-n may be generated by the authentication server 9 and output to the speech recognition server 25 7. The SFTP server 10 may be used to relay the at least one application key 15-n from the authentication server 9 to the speech recognition server 7. The speech service system 1 is configured to communicate with the authentication server 9 to obtain an active one of the at least one application key 15-n. The speech service system 1 30 communicates with the authentication server 9 in dependence on identification of an initiation condition. The initiation condition in the present embodiment comprises a start-up of the vehicle 3. The speech service system 1 in the present embodiment communicates with the authentication server 9 on start-up of the vehicle 3. The start-up of the vehicle 3 may correspond to an initiation of an ignition cycle of an internal engine or an activation of an 35 electric traction motor. The speech service system 1 is configured to delete the at least one application key 15-n in dependence on identification of a cessation condition. The cessation condition in the present embodiment comprises a shut-down of the vehicle 3. The shut-down 05 09 24 of the vehicle 3 may correspond to a termination of the ignition cycle of the internal engine or a de-activation of an electric traction motor. The speech service system 1 transmits an application key request RQK to the authentication server 9. The application key request RQK may comprise one or more of the following: a user identifier, for example comprising user 5 credentials; a vehicle identifier; and a vehicle identification number (VIN). The authentication server 9 transmits the at least one application key 15-n to the vehicle 3 in dependence on receipt of the application key request RQK. The speech service system 1 implements an authentication module 20 to generate the application key request RQK and / or receive the application key 15-n from the authentication server 9. The authentication module 20 is in the 10 form of an authentication daemon in the present embodiment. As shown in Figure 3, the speech service system 1 comprises at least one speech control module 17 having at least one electronic processor 19 and at least one memory device 21. The speech control module 17 in the present embodiment is configured to provide a voice 15 user interface. The speech control module 17 has at least one electrical input 23 and at least one electrical output 24. The electrical input 23 is configured to receive an audio signal S1 from a microphone 25 disposed in the vehicle 5. The electrical output 24 is configured to output a voice command data file VCD. The microphone 25 is disposed in a cabin 27 of the vehicle 3. The microphone 25 is operative to sense audible sounds in the cabin 27 and outputs an 20 audio signal S1 to the speech control module 17. The speech control module 17 implements an embedded speech recogniser 18 for providing on-board (i.e., local) speech recognition. The at least one electronic processor 19 is configured to implement a speech recognition algorithm to recognise and translate one or more spoken word or phrase. The speech control module 17 may, for example, identify an activation word or phrase to activate the speech 25 service system 1. The activation word or phrase may be predefined, for example as a default or standardised activation word; or the activation word may be user-defined or user-selected. Alternatively, or in addition, a user may activate the speech session by use of a “Press To Talk” button, hard key or soft key (for example from a command list on a touchscreen). The speech control module 17 may provide local speech recognition functions when there is limited 30 or poor connectivity to the speech recognition server 7; or when context is material to the control strategy, for example taking account of the current vehicle operating conditions. The speech control module 17 is configured to communicate with the speech recognition server 7 in dependence on the identification of the activation word or phrase. As outlined 35 above, other inputs may be used to activate the speech control module 17, such as activation of a “Press To Talk” button. The speech control module 17 generates an audio data set ADS in dependence on the received source audio signal S1. In the present embodiment, the audio 05 09 24 signal S1 is processed using an audio codec for transmission, preferably a low-latency format to enable real-time interactive communication. A suitable coding format is the Opus audio codec which codes speech and general audio in a single format. The audio data set ADS comprises audio data representing the voice command CMV. The speech control module 17 5 generates the voice command data file VCD for transmission to the speech recognition server 7. The voice command data file VCD comprises the audio data set ADS representing the voice command CMV. The speech control module 17 may be configured to package the voice command data file VCD as a discrete file for transmission to the speech recognition server 7. The speech control module 17 is configured to stream the audio data set ADS to the speech 10 recognition server 7 at least substantially in real time. A transmission rate of 28Kbps enables real-time interactive communication. In a variant, the voice command data file VCD could be transmitted when the voice command CMV is complete, for example in dependence on a determination that the user is no longer speaking. 15 The speech control module 17 is configured to package the application key 15-n with the audio data set ADS. The voice command data file VCD comprises a header HD. The speech control module 17 populates the header HD with the application key 15-n. The speech recognition server 7 receives the voice command data file VCD and reads the application key 15-n from the header HD. The header HD typically forms an initial portion of the voice command data 20 file VCD, thereby facilitating access to the application key 15-n at the beginning of the transmission. The speech recognition server 7 uses the application key 15-n to authenticate the voice command data file VCD. The speech recognition server 7 performs a check to determine that the application key 15-n associated with the voice command data file VCD is valid and is currently active. The speech recognition server 7 may, for example, search a look- 25 up table or a database to check the validity of the application key 15-n. The speech recognition server 7 may access the SFTP server 10 to check the validity of the application key 15-n. In the present embodiment, the speech recognition server 7 performs a check to ensure that the application identifier APPID and the application key 15-n are a valid pair. If the check determines that the application key 15-n is valid, the authentication of the voice command data 30 file VCD is successful (i.e., positive). If the check determines that the application key 15-n is not valid, for example the application key 15-n has expired, the authentication of the voice command data file VCD is unsuccessful (i.e., negative). The speech recognition server 7 is configured to process the voice command data file VCD in dependence on the authentication of the voice command data file VCD. The speech recognition server 7 is configured to 35 authenticate each voice command data file VCD. Thus, the process of reading and validating the application key 15-n is performed for each voice command data file VCD. 05 09 24 If the authentication is successful, the speech recognition server 7 accesses the audio data set ADS contained in the voice command data file VCD. Speech recognition is performed on the audio data set ADS and a command text CMT is generated corresponding to the voice command CMV. The command text CMT is transmitted to the speech service system 1 or the 5 content service provider CSP-n. If the authentication is unsuccessful, the speech recognition server 7 does not process the audio data set ADS. The speech recognition server 7 may delete the voice command data file VCD without performing further processing. The speech recognition server 7 may optionally transmit a signal to the speech service system 1 indicating that the application key 15-n is invalid. In dependence on the notification that the application 10 key 15-n is invalid, the speech service system 1 may halt or interrupt transmission of the voice command data file VCD and / or may issue a request for a new application key 15-n from the authentication server 9. It is conceivable that an application key 15-n may be compromised, for example due to 15 unauthorized or fraudulent behaviour. In the event that the application key 15-n is suspected of having been compromised, the authentication server 9 is configured to activate a new application key 15-n. The new application key 15-n may, for example, be selected from the batch of application keys 15-n provided by the speech recognition server 7. The new application key 15-n is supplied to the speech service system 1 in the vehicle 3 during the next 20 initiation process. Similarly, the new application key 15-n is supplied to the speech recognition server 7. The new application key 15-n is used in place of the previous application key 15-n which is deactivated. An operational interface 30 is provided for communicating with the speech recognition server 25 7. The operational interface 30 may be provided to allow updating of a black list and / or a white list. The operation of the speech service system 1 will now be described with reference to the block diagrams shown in Figures 4 to 8. 30 A first block diagram 100 is shown in Figure 4 representing the initialisation of the speech service system 1. The speech service system 1 identifies an initiation process (BLOCK 105). The speech service system 1 requests a new application key 15-n (BLOCK 110). The request in the present embodiment is sent to an authentication daemon incorporated into the speech 35 service system 1 in the vehicle 3. The request may include credentials, including one or more of: a user identifier, a vehicle identifier and a vehicle identification number (VIN). An application key request RQK is generated and transmitted to the authentication server 9 (BLOCK 115). 05 09 24 The authentication server 9 receives the application key request RQK and returns the application key 15-n previously shared from the SFTP server 10 (BLOCK 120). The speech service system 1 receives the application key 15-n from the authentication server 9 (BLOCK 125). If the application key 15-n is not received, for example within a predetermined time-out 5 interval, the application key request RQK may optionally be re-sent to the authentication server 9. The authentication daemon determines user and / or vehicle credentials, such as the user identifier, the vehicle identifier and the vehicle identification number (VIN) (BLOCK 130). The application key 15-n, the user identifier, the vehicle identifier and the vehicle identification number (VIN) collected by the authentication daemon are returned to the speech service 10 system 1 provided in the vehicle 3 (BLOCK 135). The speech service system 1 receives the application key 15-n, the user identifier, the vehicle identifier and the vehicle identification number (VIN) (BLOCK 140). The initialisation process is complete (BLOCK 145). A second block diagram 200 is shown in Figure 5 representing the operation of the speech 15 service system 1 disposed on the vehicle 3. The speech service system 1 is activated (BLOCK 205). The activation may occur in dependence on identification of voice command CMV by the speech control module 17 provided in the vehicle 3. The speech control module 17 may, for example, identify an activation word or phrase. The speech service system 1 accesses the user and / or vehicle credentials cached by the authentication daemon. The speech service 20 system 1 builds a header HD file for the voice command data file VCD to be transmitted to the speech recognition server 7 (BLOCK 210). The speech service system 1 prepares the voice command data file VCD and attaches the header HD file. The voice command data file VCD is transmitted by the speech service system 1 to the speech recognition server 7 (BLOCK 215). The voice command data file VCD is received by the speech recognition server 7 25 (BLOCK 220). The speech recognition server 7 processes the audio data set ADS comprising the voice command CMV (BLOCK 225). The operation of the speech service system 1 is complete (BLOCK 230). A third block diagram 300 is shown in Figure 6 representing the operation of the speech 30 recognition server 7 disposed externally of the vehicle 3. The speech recognition server 7 receives the voice command data file VCD (BLOCK 305). The speech recognition server 7 reads the header HD of the voice command data file VCD and accesses the application key 15-n (BLOCK 310). A check is performed to determine if the application key 15-n accessed in the voice command data file VCD and the application identifier APPID is a valid pair (BLOCK 35 315). If the check does not identify a valid pair, the process ends without performing any speech recognition operations on the voice command data file VCD (BLOCK 320). If the check does identify a valid pair, the speech recognition server 7 accesses the audio data set ADS in 05 09 24 the voice command data file VCD and performs speech recognition to recognise the speech in the voice command CMV (BLOCK 325). A command text CMT corresponding to the voice command CMV is generated. Natural language processing may be performed on the command text CMT, for example to determine a request or instruction in the voice command 5 CMV. A data content request DCR is generated in dependence on the command text (BLOCK 330). The data context request DCR may comprise the user identifier and the vehicle identifier. The data content request DCR is transmitted to the content service data aggregator 13 (BLOCK 335). The content service data aggregator 13 receives the data content request DCR (BLOCK 340). The content service data aggregator 13 performs a check to validate the user 10 identifier and / or the vehicle identifier (BLOCK 345). A determination is made as to the validity of the user and / or the vehicle 3 (BLOCK 350). If the validation is not successful, the process ends (BLOCK 320). If the validation is successful, the content service data aggregator 13 obtains the requested content (BLOCK 355). The content service data aggregator 13 returns the requested content to the speech recognition server 7 (BLOCK 360). The speech 15 recognition server 7 receives the requested content (BLOCK 365). The speech recognition server 7 transmits the requested content to the speech service system (BLOCK 370). The process ends (BLOCK 320). A fourth block diagram 400 is shown in Figure 7 representing the scheduled update of the 20 application keys 15-n. The speech recognition server 7 identifies a scheduled refresh of the application keys 15-n (BLOCK 405). The speech recognition server 7 generates a plurality of the application keys 15-n (BLOCK 410). In the present embodiment, the speech recognition server 7 generates three (3) application keys 15-n. The speech recognition server 7 outputs the application keys 15-n to the SFTP server 10 (BLOCK 415). The speech recognition server 25 7 outputs a notification to the authentication server 9 indicating that a batch of new (replacement) application keys 15-n is available (BLOCK 420). The speech recognition server 7 accesses the new application keys 15-n on the SFTP server 10. The speech recognition server 7 selects and activates a first one of the applications keys 15-n. The selected application key 15-n is used by the speech recognition server 7 (BLOCK 425). The previous 30 application key 15-n remains active for a handover period, for example twenty-four (24) hours. This ensures that vehicles 3 which are mid-cycle can still access the speech recognition server 7. The previous application key 15-n is revoked upon expiry of the handover period. The authentication server 9 receives the notification that a batch of new (replacement) application keys 15-n is available (BLOCK 430). The authentication server 9 communicates with the SFTP 35 server 10 via an SFTP connection (BLOCK 435). The authentication server 9 retrieves the new application keys 15-n from the SFTP server 10 (BLOCK 440). The authentication server 9 is updated to use a first one of the application keys 15-1 received from the SFTP server 10 05 09 24 (BLOCK 445). The authentication server 9 supplies the first application key 15-1 to the authentication daemon on request. The process ends when the application keys 15-n have been updated on the speech recognition server 7 and the authentication server 9 (BLOCK 450). 5 A fifth block diagram 500 is shown in Figure 8 representing the update of the application keys 15-n due to a potential threat, for example due to the active application key 15-n being compromised. The potential threat is identified (BLCOK 505). A notification is sent to the speech recognition server 7 and the authentication server 9 (BLOCK 510). An update is sent 10 to the speech recognition server 7 and the authentication server 9 to use a second one of the applications keys 15-2. The speech recognition server 7 receives the notification (BLOCK 515). The previous application key 15-1 (the first application key 15-1 in this scenario) continues to be accepted by the speech recognition server 7 for a handover period, for example twenty-four (24) hours. This ensures that vehicles 3 which are mid-cycle can still 15 access the speech recognition server 7. The previous application key 15-n is revoked upon expiry of the handover period. The authentication server 9 receives the notification to use the second application key 15-2 (BLOCK 520). The authentication server 9 outputs the second application key 15-2 when the next request is received from the authentication daemon. The process ends when the speech recognition server 7 and the authentication server 9 have 20 received the second application key 15-2 (BLOCK 455). It will be appreciated that various changes and modifications can be made to the present invention without departing from the scope of the present application. 25 In the above embodiment the command text CMT is transmitted from the speech recognition server 7 to a content service data aggregator 13. Alternatively, or in addition, the command text CMT may be transmitted from the speech recognition server 7 to the vehicle 3. The command text CMT may comprise a request to control one or more systems VS-n disposed on the vehicle 3. The speech service system 1 may control one or more vehicle systems VS-30 n in dependence on the command text CMT. The speech service system 1 may process the command text CMT locally.
Claims
05 09 241. A speech control module for a vehicle, the speech control module being operative to generate a voice command data file for processing by a speech recognition server disposed 5 externally of the vehicle, the speech control module comprising one or more controllers, the speech control module configured to:receive an audio signal;generate an audio data set in dependence on the received audio signal, the audio data set comprising a voice command spoken by an occupant of the vehicle;10 receive an application key;generate the voice command data file comprising the audio data set and the application key; andoutput the voice command data file for transmission to the speech recognition server.15 2. A speech control module as claimed in claim 1, wherein the speech control moduleis configured to write the application key to a header of the voice command data file.
3. A speech control module as claimed in claim 1 or claim 2, wherein the speech control module is configured to write a vehicle identifier to the voice command data file to identify the 20 vehicle.
4. A speech control module as claimed in any one of the preceding claims, wherein the speech control module is configured to write a user identifier to the voice command data file to identify a user associated with the vehicle.
255. A speech control module as claimed in any one of the preceding claims, wherein the speech control module is configured to receive a command text from the speech recognition server, the command text at least substantially corresponding to the voice command.30 6. A speech service system for a vehicle, the speech service system comprising aspeech control module as claimed in any one of claims 1 to 5 configured to generate the voice command data file comprising the audio data set and the application key; and an authentication module configured to:generate an application key request to request at least one application key from an 35 authentication server;transmit the application key request to the authentication server disposed externally of the vehicle;05 09 24receive the at least one application key; andoutput the at least one application key to the speech control module.
7. A speech recognition system for processing a voice command, the speech5 recognition system comprising:a speech control module as claimed in any one of claims 1 to 5 configured to generate the voice command data file comprising the audio data set and the application key; anda speech recognition server for receiving the voice command data file generated by the speech service system, the speech recognition server being configured to authenticate 10 the voice command data file in dependence on the application key;wherein the speech recognition server is configured to process the audio data set provided in the voice command data file in dependence on a positive authentication of the voice command data file.15 8. A speech recognition system as claimed in claim 7 comprising an authenticationmodule configured to:generate an application key request to request at least one application key from an authentication server;transmit the application key request to the authentication server disposed externally20 of the vehicle;receive the at least one application key; andoutput the at least one application key to the speech control module.
9. A computer-implemented method of generating a voice command data file for 25 transmission from a vehicle to a speech recognition server disposed remotely for processing, the method comprising:receiving an audio signal;generating an audio data set in dependence on the received audio signal, the audio data set comprising a voice command spoken by an occupant of the vehicle;30 receiving at least one application key;generating the voice command data file comprising the audio data set and the application key; andoutputting the voice command data file for transmission to the speech recognition server.3510. A computer-implemented method as claimed in claim 9, wherein the method comprises writing the application key to a header of the voice command data file.05 09 2411. A computer-implemented method as claimed in claim 9 or claim 10, wherein the method comprises writing a vehicle identifier and / or a user identifier to the voice command data file.
512. A computer-implemented method as claimed in any one of claims 9,10 or 11, wherein the method comprises receiving a command text from the speech recognition server, the command text at least substantially corresponding to the voice command.10 13. A computer-implemented method of processing a voice command, the methodcomprising:generating a voice command data file as claimed in any one of claims 9 to 12;wherein the application key is obtained using a computer-implemented method comprising:15 generating an application key request to request at least one application key from anauthentication server;transmitting the application key request to the authentication server disposed externally of the vehicle;receiving the at least one application key; and20 outputting the at least one application key to a speech control module forincorporation into the voice command data file.
14. A non-transitory computer-readable medium having a set of instructions stored therein which, when executed, cause a processor to perform the method claimed in any one 25 of claims 9 to 13.
15. A speech recognition system for processing a voice command data file received from a vehicle, the voice command data file comprising an audio data set representing a voice command issued by an occupant of the vehicle and an application key; wherein the speech 30 recognition system being configured to:read the application key in the voice command data file;authenticate the voice command data file in dependence on the application key;process the audio data set in the voice command data file in dependence on a successful authentication of the voice command data file.3516. A vehicle comprising a speech control module as claimed in any one of claims 1 to 5.
17. A vehicle comprising a speech service system as claimed in claim 6.05 09 24
Citation Information
Patent Citations
Method and system for searching POI (point of interest)
CN103559290A
Operating method and system for on-vehicle apparatus and control device for such apparatus
JP2002144982A
Communication System and Method Between an On-Vehicle Voice Recognition System and an Off-Vehicle Voice Recognition System
US20130185072A1