WO2014087495A1 - 音声対話ロボット、音声対話ロボットシステム - Google Patents

音声対話ロボット、音声対話ロボットシステム Download PDF

Info

Publication number
WO2014087495A1
WO2014087495A1 PCT/JP2012/081446 JP2012081446W WO2014087495A1 WO 2014087495 A1 WO2014087495 A1 WO 2014087495A1 JP 2012081446 W JP2012081446 W JP 2012081446W WO 2014087495 A1 WO2014087495 A1 WO 2014087495A1
Authority
WO
WIPO (PCT)
Prior art keywords
autonomous mobile
server
sound source
robot
mobile body
Prior art date
Application number
PCT/JP2012/081446
Other languages
English (en)
French (fr)
Inventor
貴志 住吉
康成 大淵
真人 戸上
龍 武田
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2012/081446 priority Critical patent/WO2014087495A1/ja
Publication of WO2014087495A1 publication Critical patent/WO2014087495A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/005Circuits for transducers, loudspeakers or microphones for combining the signals of two or more microphones
    • 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
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2430/00Signal processing covered by H04R, not provided for in its groups
    • H04R2430/20Processing of the output signals of the acoustic transducers of an array for obtaining a desired directivity characteristic
    • H04R2430/23Direction finding using a sum-delay beam-former

Definitions

  • the present invention relates to a robot capable of interacting with a voice in a situation where a plurality of robots exist, and a speech dialogue robot system.
  • robots communication robots
  • Speech is a natural means for humans as a means for communication between humans and robots
  • communication robots are implemented by applying voice recognition and voice dialogue technology.
  • voice recognition and voice dialogue technology it is possible to detect the direction of sound arrival or to separate sound from a specific direction from noise from other directions. Therefore, by mounting a plurality of microphones on the robot, the robot can turn around in the calling direction, and voice recognition can be performed accurately even in a noisy environment, so voice conversation with the robot can be performed comfortably.
  • Such robots are expected to be used for services such as guidance and information provision in public places. At that time, it is conceivable to arrange many robots and provide services to a large number of users (speakers) in parallel. At this time, when considering a case where a speaker calls to request a service from a robot, a plurality of robots in the vicinity of the speaker react to one speaker, resulting in inconvenience.
  • the present invention provides a system that uses a microphone array mounted on a robot to determine with high accuracy to which of the plurality of robots the speaker has spoken.
  • the present application includes a plurality of means for solving the above-described problems.
  • the autonomous mobile system including a plurality of autonomous mobile bodies capable of voice conversation with a speaker
  • each of the autonomous mobiles The body acquires a voice conversation with a speaker with a microphone provided in the autonomous mobile body, and the autonomous mobile system is based on the voice information of the voice conversation acquired by each autonomous mobile body.
  • an autonomous mobile device that the speaker has set as a conversation target is specified, and the specified autonomous mobile body moves in the direction of the speaker.
  • FIG. 1 It is an example of the block diagram of the voice interactive robot system of a present Example. It is an example of the block diagram of the robot of a present Example. It is a figure explaining the processing flow of the audio
  • FIG. It is a figure explaining the processing flow of the sound source localization subprogram 232. It is a figure explaining the processing flow of the speech recognition subprogram 233.
  • FIG. 1 It is an example of the block diagram of the voice interactive robot system of a present Example. It is an example of the block diagram of the robot of a present Example. It is a figure explaining the processing flow of the audio
  • FIG. 1 is an example of a configuration diagram of the voice interactive robot system of the present embodiment.
  • the voice interactive robot system 1 includes a network 2, a robot 11, a robot 12, a robot 13, a robot server 21, a robot server 22, a robot server 23, and a control server 30.
  • the robot 11, the robot 12, the robot 13, the robot server 21, the robot server 22, the robot server 23, and the control server 30 are connected by the network 2 and can transmit and receive data.
  • the robot 11, the robot 12, the robot 13, the robot server 21, the robot server 22, and the robot server 23 are each described as three, but may be any number of two or more.
  • the network 2 is described as a wireless TCP / IP network, it may be wired and the communication method is not limited to this.
  • FIG. 2 is an example of a configuration diagram of the robot 11 of the present embodiment.
  • the robot 11 includes a bus 110, a CPU 120, a NIF 121, a microphone 122, a speaker 123, a moving device 124, and a storage device 130.
  • the bus 110 connects the CPU 120, the NIF 121, the microphone 122, the speaker 123, the moving device 124, and the storage device 130 to relay data signals, and can use a standard (such as PCI) used in a general-purpose PC.
  • a standard such as PCI
  • the CPU 120 controls the NIF 121, the microphone 122, the speaker 123, the moving device 124, and the storage device 130 by sending control commands according to the program, and a general-purpose CPU (for example, SH-4 processor) or a chip controller can be used.
  • a general-purpose CPU for example, SH-4 processor
  • a chip controller can be used.
  • the NIF 121 is connected to the network 2 and communicates with other robots and servers connected to the network 2.
  • a commercially available device compliant with IPv4 can be used.
  • the microphone 122 records the sound around the robot.
  • a commercially available condenser microphone and an A / D converter can be used.
  • the speaker 123 amplifies audio data, converts it into air vibration and outputs it, and for example, a commercially available D / A converter, amplifier, or speaker can be used.
  • the storage device 130 stores programs and data.
  • programs and data For example, a commercially available DRAM or HDD can be used.
  • the configuration of the robot 12 and the robot 13 is the same as that of the robot 11.
  • the operation of the voice transmission program 131 stored in the storage device 130 is shown in FIG.
  • the voice transmission program 131 is always operated when using this system (S101). First, the audio transmission program 131 acquires audio data from the microphone 122 (S102) and stores it in the audio buffer 141 (S103). Further, the stored voice data is transmitted to the robot server 21 (S104).
  • the position / direction transmission program 132 is always operated when the system is used, and performs the following processing (S201).
  • the position / direction transmission program 132 acquires the position / direction data of the robot 11 from the moving device 124 (S202) and stores it in the position / direction buffer 142 (S203). Further, the stored position / direction data is transmitted to the robot server 21 (S204).
  • a method for obtaining the position and direction of the robot 11 from the moving device 124 an existing technique can be used. For example, an odometry method that integrates the velocity vector obtained from the wheel angle and the number of rotations of the moving device 124, or a laser range finder is mounted on the robot 11, and self-position is estimated based on observation results of surrounding terrain and prior map information. The method etc. are mentioned.
  • the robot control program 133 is always operated when the system is used, and performs the following processing (S301). First, the robot control program 133 waits until a robot control command is received from the robot server 21 (S302). The received robot control command is stored in the robot control command buffer 143 (S303). Further, the following processing is performed in parallel (S304). First, the robot control command at the head of the queue of the robot control command buffer 143 is interpreted (S305, S306), and in the case of a voice output command, the designated voice data is transmitted to the speaker 123 (S308). In the case of a movement command, the designated movement data is transmitted to the movement device 124 (S310). In either case, when the speaker 123 and the mobile device 124 are operating and cannot be transmitted, the system waits until transmission is possible (S307, S309). If the transmission is successful, the robot control command is deleted from the robot control command buffer 143 (S311).
  • FIG. 6 is an example of a configuration diagram of the robot server 21 of the present embodiment.
  • the robot server 21 includes a bus 210, a CPU 220, a NIF 221, and a storage device 230.
  • the bus 210 connects the CPU 220, the NIF 221, and the storage device 230 to each other and relays data signals, and can use a standard (such as PCI) used in a general-purpose PC.
  • a standard such as PCI
  • the CPU 220 controls the NIF 221 and the storage device 230 by sending control commands according to the program, and a general-purpose CPU (for example, SH-4 processor) or a chip controller can be used.
  • a general-purpose CPU for example, SH-4 processor
  • a chip controller can be used.
  • the NIF 221 is connected to the network 2 and communicates with other robots and servers connected to the network 2.
  • a commercially available device compliant with IPv4 can be used.
  • the storage device 230 stores programs and data.
  • a commercially available DRAM or HDD can be used.
  • the configurations of the robot server 22 and the robot server 23 are the same as those of the robot server 21.
  • FIG. 7 shows the operation of the communication program 231 stored in the storage device 230.
  • the communication program 231 is always operated when the system is used, and performs the following processing (S401). Wait until data is received from the NIF 221 (S402).
  • the sound source direction data estimated by the sound source localization subprogram (S403) is stored in the sound source direction buffer 241 (S404) and transmitted to the control server 30 (S405).
  • the speech recognition result recognized by the speech recognition subprogram (S406) is stored in the speech recognition buffer 242 (S407).
  • the communication program 231 receives position / direction data from the robot 11, the communication program 231 transmits the received position / direction data to the control server 30 (S408).
  • the dialogue control subprogram 234 is driven based on the voice recognition result of the corresponding voice recognition buffer 242 (S409).
  • the voice recognition result in the corresponding voice recognition buffer 242 is discarded (S410).
  • the operation of the sound source localization subprogram 232 stored in the storage device 230 is shown in FIG.
  • the sound source localization subprogram 232 is a program that estimates the direction of the sound source by using the audio data received from the robot 11 and outputs the power for each direction (S501, S502).
  • the sound source direction and the power for each sound source direction output here are defined as sound source direction data.
  • a known method such as a sound source direction estimation technique based on a delay sum array may be used.
  • the operation of the speech recognition subprogram 233 stored in the storage device 230 is shown in FIG.
  • the speech recognition subprogram 233 receives speech data received from the robot 11 and converts speech content into words using the speech recognition acoustic model 243 and speech recognition language model 244, and outputs the converted text. It is a program (S511, S512).
  • a known method such as a large vocabulary continuous speech recognition technique may be used.
  • sound source direction data is also input, for example, only sound in the direction in which the sound source exists by a known method as a sound source separation process of a microphone array signal using noise suppression by a minimum dispersion beamformer. Voice recognition may be performed after extracting.
  • the dialog control subprogram 234 is a program that receives a voice recognition result as an input, performs dialog processing using the dialog model 245, obtains a robot control command, and transmits it to the robot 11 (S521, S522).
  • a known method such as dialogue control based on a finite state transducer may be used.
  • FIG. 11 is an example of a configuration diagram of the control server 30 of the present embodiment.
  • the control server 30 includes a bus 310, a CPU 320, a NIF 321, and a storage device 330.
  • the bus 310 connects the CPU 320, the NIF 321, and the storage device 330 to each other and relays data signals, and can use a standard (such as PCI) used in a general-purpose PC.
  • the CPU 320 sends a control command to the NIF 321 and the storage device 330 in accordance with a program for control, and a general-purpose CPU (for example, SH-4 processor) or a chip controller can be used.
  • the NIF 321 is connected to the network 2 and communicates with other robots and servers connected to the network 2. For example, a commercially available device compliant with IPv4 can be used.
  • the storage device 330 stores programs and data.
  • programs and data For example, a commercially available DRAM or HDD can be used.
  • the communication program 331 is always operated when the system is used, and performs the following processing (S601). Wait until data is received from the NIF 321 (S602). When the position / direction data is received from any of the robot server 21, the robot server 22, and the robot server 23, the received position / direction data is stored in the position / direction buffer 343 (S603). When the sound source direction data is received from any of the robot server 21, the robot server 22, and the robot server 23, the received sound source direction data is stored in the sound source direction buffer 344 (S604). When position direction data and sound source direction data of a certain time frame have been received from all the robot servers (S605), the sound source position estimation subprogram 332 and the target robot estimation subprogram 333 are sequentially driven (S606, S607).
  • the sound source position estimation subprogram 332 estimates the sound source position in space based on the position direction data of each robot and the sound source direction data of each robot (S701, S702), and records it in the sound source position buffer 341 (S703).
  • FIG. 14 An example of a sound source position estimation method is described. As shown in FIG. 14, from the position direction (xi (t), yi (t), ⁇ i (t)) of each robot i at time t, the sound source direction data (power for each angle) Pi, ⁇ of the robot i. A half line is drawn in the direction of ⁇ satisfying Pi, ⁇ (t)> Tp having power equal to or higher than the threshold Tp in (t). In order to prevent the sound source from being estimated at a position that is too far away, the length of the half line may be limited to, for example, 10 m or less. The intersection of all half lines is estimated as the sound source position (Uj (t), Vj (t)). Since it can be assumed that the sound sources are continuous in the time direction, online clustering is performed using past sound source position data recorded in the sound source position buffer 341.
  • Fig. 15 shows the online clustering.
  • the three-dimensional space represented by the figure is composed of a two-dimensional space dimension and a one-dimensional time dimension, and 531, 532, 533, and 534 are subspaces representing frames t-3, t-2, t-1, and t.
  • 521, 522, and 523 are clustered as a single sound source because they are close to each other in frame t, and are determined to be effective sound sources because of their positional continuity in past frames 531, 532, and 533.
  • 524 is considered that the sound source direction data 512 of the robot 2 is temporarily generated due to erroneous detection, and can be excluded as an outlier as a result of online clustering.
  • the operation of the target robot estimation subprogram 333 stored in the storage device 330 is shown in FIG.
  • the target robot estimation subprogram 333 estimates the utterance power of each sound source to the robot based on the position direction data of each robot, the sound source direction data of each robot, and the estimated sound source position (S711, S712).
  • the estimated value is stored in the target robot estimation buffer 342 (S713).
  • the speech power Qj, i (t) of the estimated sound source j to the robot i is obtained.
  • F (D) is a sound power attenuation coefficient at the distance D.
  • the target robot estimation subprogram 333 displays the target robot estimation buffer 342 as the target robot estimation buffer 342 in the frame section where the sound source exists when no sound source is detected (S714). (S715), and the target robot of the sound source is determined.
  • a dialogue execution instruction is transmitted to the robot server corresponding to the target robot (S716).
  • a dialog non-execution instruction is transmitted to the other robot servers (S717).
  • the microphones mounted on the robot 11, the robot 12, and the robot 13 record voice data from one speaker, it is possible to identify one robot that the speaker has a conversation target.
  • the spoken dialogue robot system can determine to which robot the speaker has spoken with high accuracy using only the microphone array mounted on the robot.
  • the first embodiment is based on the assumption that the utterer speaks toward the target robot. In the present embodiment, however, this is based on the assumption that the utterer utters the content based on the state of the target robot. Since most of the system configuration, device configuration, program processing, and the like are the same as those in the first embodiment, only the portions different from the first embodiment will be described here.
  • the robot server 21 further includes a dialogue prediction subprogram 235.
  • the communication program 231 performs voice recognition by the voice recognition subprogram and stores it in the voice recognition buffer 242, the communication program 231 drives the dialog prediction subprogram 235 at the same time.
  • the dialogue prediction subprogram 235 refers to the dialogue model 245 based on the speech recognition result W, obtains the probability Z (W
  • the current conversation state S with each robot is acquired from the conversation history between the speaker and the robot.
  • the control server 30 further includes an acceptance probability buffer 343. Further, when receiving the acceptance probability Z (W
  • S) from the robot server, the communication program 331 records it in the acceptance probability buffer 343. In addition, in the target robot estimation subprogram 333, the acceptance probability Zi received from the robot i is added to the determination criterion in the target robot determination method. For example, the target robot i (j) of the sound source j is obtained as i (j) argmax_i (sum_ ⁇ t ⁇ Tj ⁇ ⁇ Qj, i (t) ⁇ Zi).
  • Robot Server 2 Network 11: Robot 12: Robot 13: Robot 21: Robot Server 22: Robot Server 23: Robot Server 30: Control Server 110: Bus 120: CPU 121: NIF 122: Microphone 123: Speaker 124: Mobile device 130: Storage device 21: Robot server 210: Bus 220: CPU 221: NIF 230: Storage device 30: Control server 310: Bus 320: CPU 321: NIF 330: Storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Otolaryngology (AREA)
  • Manipulator (AREA)

Abstract

 本発明は、自律型移動体に搭載したマイクアレイを用いて、利用者が複数のロボットのうちどの自律型移動体に話しかけたのかを高精度に判別するシステムを提供することを目的とする。そこで、発話者と音声対話が可能な複数の自律型移動体を含む自律型移動体システムにおいて、前記各自律型移動体は、発話者との音声対話を該自律型移動体に備えられたマイクで取得し、前記自律型移動体システムは、前記各自律型移動体が取得する音声対話の音声情報に基づき、前記複数の自律型移動体のうち前記発話者が対話対象とした自律型移動装置を特定する。

Description

音声対話ロボット、音声対話ロボットシステム
 本発明は、ロボットが複数存在する状況において、音声で対話することができるロボット、および音声対話ロボットシステムに関する。
 近年、コミュニケーションロボット(以下、ロボット)が開発されている。人間とロボットとのコミュニケーション手段として、音声は人間にとって自然な手段の1つであり、コミュニケーションロボットには、音声認識、音声対話技術を応用した実装がなされている。また、複数のマイクを用いることで、音の到来方向を検出したり、特定の方向からの音声を他の方向からの雑音から分離したりすることが可能である。したがって、ロボットに複数のマイクを搭載することで、呼びかけた方向に振り向くことができ、雑音環境下の中でも音声認識が正確に行えるため、ロボットとの音声対話を快適に行うことができる。
特開2007-160473号公報
 このようなロボットは、公共の場での案内や情報提供といったサービスに用いられることが想定される。その際、多くのロボットを配置し、多数の利用者(発話者)に同時並行でサービスを提供することが考えられる。このとき、発話者がロボットにサービスを依頼するために呼びかける場合を考えると、その発話者の周辺にいる複数のロボットが1の発話者に反応してしまい、不都合が生じる。
 単純な解決法としては、複数のロボット間で情報交換を行うことで、ロボット間で役割分担を行うことが考えられる(例えば、特開2007-160473)。また、発話者1人の呼びかけに対してどれか1台のロボット、たとえば距離の近いロボットを該発話者に割り当て、それ以外のロボットは応答しないというように設計することが考えられる。しかしながら、発話者が想定しないロボットが反応すると、発話者は戸惑う虞がある。発話者が想定したロボット、すなわち発話者が呼びかけた対象であり、発話者が声を発した先に存在するロボットが応答するのが、発話者とってもっとも望ましいと考えられる。
 この課題に対して、話者の発話方向を推定する既知の技術を適用することが考えられる。しかしながら既知の技術では、部屋の壁など環境側に複数のマイクを設置する必要があるためコストがかかり、またロボット自身に装着したマイクのみを用いる方法であっても精度が十分でないという問題があった。カメラやその他のセンサを併用する方法も考えられるが、設置や通信などのコストが増加する。
 本発明は、ロボットに搭載したマイクアレイを用いて、発話者が複数のロボットのうちどのロボットに話しかけたのかを高精度に判別するシステムを提供する。
 上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
 本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、発話者と音声対話が可能な複数の自律型移動体を含む自律型移動体システムにおいて、前記各自律型移動体は、発話者との音声対話を該自律型移動体に備えられたマイクで取得し、前記自律型移動体システムは、前記各自律型移動体が取得する音声対話の音声情報に基づき、前記複数の自律型移動体のうち前記発話者が対話対象とした自律型移動装置を特定し、前記特定した自律型移動体が、前記発話者の方向に移動することを特徴とする。
 本発明によれば、発話者が複数のロボットのうちどのロボットに話しかけたのかを高精度に判別することができる。
本実施例の音声対話ロボットシステムの構成図の例である。 本実施例のロボットの構成図の例である。 音声送信プログラム131の処理フローを説明する図である。 位置方向送信プログラム132の処理フローを説明する図である。 ロボット制御プログラム133の処理フローを説明する図である。 本実施例のロボットサーバの構成図の例である。 通信プログラム231の処理フローを説明する図である。 音源定位サブプログラム232の処理フローを説明する図である。 音声認識サブプログラム233の処理フローを説明する図である。 対話制御サブプログラム234の処理フローを説明する図である。 本実施例の制御サーバの構成図の例である。 通信プログラム331の処理フローを説明する図である。 音源位置推定サブプログラム332の処理フローを説明する図である。 音源位置推定方法を説明する図である。 オンラインクラスタリングを説明する図である。 対象ロボット推定サブプログラム333の処理フローを説明する図である。 発話パワーの推定方法を説明する図である。 本実施例のロボットサーバの構成図の例である。 本実施例の制御サーバの構成図の例である。
 以下、図面を用いて実施例を説明する。
 本実施例では、音声対話ロボットシステム1の例を説明する。
 図1は、本実施例の音声対話ロボットシステムの構成図の例である。
 音声対話ロボットシステム1はネットワーク2、ロボット11、ロボット12、ロボット13、ロボットサーバ21、ロボットサーバ22、ロボットサーバ23、制御サーバ30から構成される。ロボット11、ロボット12、ロボット13、ロボットサーバ21、ロボットサーバ22、ロボットサーバ23、制御サーバ30はネットワーク2により接続されており、データの送受信が可能である。
 本実施例ではロボット11、ロボット12、ロボット13とロボットサーバ21、ロボットサーバ22、ロボットサーバ23は各3台として説明するが、2台以上の任意の台数であってよい。さらにネットワーク2は無線TCP/IP網として説明するが、有線であってもよく、通信方式もこれに限定するものではない。
 図2は、本実施例のロボット11の構成図の例である。
 ロボット11は、バス110、CPU120、NIF121、マイク122、スピーカ123、移動装置124、記憶装置130からなる。
 バス110はCPU120、NIF121、マイク122、スピーカ123、移動装置124、記憶装置130を相互に接続しデータ信号を中継するもので、汎用のPCで用いられる規格(PCIなど)を用いることができる。
 CPU120はプログラムに従い、NIF121、マイク122、スピーカ123、移動装置124、記憶装置130に制御コマンドを送り制御するもので、汎用のCPU(例えばSHー4プロセッサ)やチップコントローラを用いることができる。
 NIF121はネットワーク2と接続し、ネットワーク2と接続する他のロボットやサーバと通信を行うもので、例えばIPv4に準拠した市販の装置を用いることができる。
 マイク122はロボット周辺の音声を収録するもので、例えば市販のコンデンサマイクとA/Dコンバータを用いることができる。
 スピーカ123は音声データを増幅して空気振動に変換して出力するもので、例えば市販のD/Aコンバータ、アンプ、スピーカを用いることができる。
 記憶装置130はプログラムやデータを格納するもので、例えば市販のDRAMやHDDを用いることができる。
 ロボット12、ロボット13の構成は、ロボット11と同様である。
 記憶装置130に格納された、音声送信プログラム131の動作を、図3に示す。
 音声送信プログラム131は、本システムの利用時に常に動作させる(S101)。まず、音声送信プログラム131は、マイク122から音声データを取得し(S102)、音声バッファ141に格納する(S103)。さらに格納した音声データを、ロボットサーバ21に向けて送信する(S104)。
 記憶装置130に格納された、位置方向送信プログラム132の動作を、図4に示す。
 位置方向送信プログラム132は、本システムの利用時に常に動作させ、以下の処理を行う(S201)。まず、位置方向送信プログラム132は、移動装置124からロボット11の位置方向データを取得し(S202)、位置方向バッファ142に格納する(S203)。さらに格納した位置方向データを、ロボットサーバ21に向けて送信する(S204)。なお、移動装置124からロボット11の位置および方向を得る方法は、既存の技術を用いることができる。例えば移動装置124の車輪の角度と回転数から得られる速度ベクトルを積分するオドメトリ手法や、ロボット11にレーザレンジファインダを搭載し、それによる周辺地形の観測結果と事前地図情報により自己位置を推定する手法などが挙げられる。
 記憶装置130に格納された、ロボット制御プログラム133の動作を、図5に示す。
 ロボット制御プログラム133は、本システムの利用時に常に動作させ、以下の処理を行う(S301)。まず、ロボット制御プログラム133は、ロボットサーバ21からロボット制御命令を受信するまで待機する(S302)。受信したロボット制御命令はロボット制御命令バッファ143に格納する(S303)。また、以下の処理を並行して行う(S304)。まず、ロボット制御命令バッファ143のキューの先頭のロボット制御命令を解釈し(S305,S306)、音声出力命令の場合は指定された音声データをスピーカ123に送信する(S308)。また移動命令の場合は指定された移動データを移動装置124に送信する(S310)。いずれもスピーカ123や移動装置124が動作中で送信不可能な場合は、送信可能になるまで待機する(S307,S309)。送信が成功した場合はロボット制御命令バッファ143からそのロボット制御命令を削除する(S311)。
 図6は、本実施例のロボットサーバ21の構成図の例である。
 ロボットサーバ21は、バス210、CPU220、NIF221、記憶装置230からなる。
 バス210はCPU220、NIF221、記憶装置230を相互に接続しデータ信号を中継するもので、汎用のPCで用いられる規格(PCIなど)を用いることができる。
 CPU220はプログラムに従い、NIF221、記憶装置230に制御コマンドを送り制御するもので、汎用のCPU(例えばSHー4プロセッサ)やチップコントローラを用いることができる。
 NIF221はネットワーク2と接続し、ネットワーク2と接続する他のロボットやサーバと通信を行うもので、例えばIPv4に準拠した市販の装置を用いることができる。
 記憶装置230はプログラムやデータを格納するもので、例えば市販のDRAMやHDDを用いることができる。
 ロボットサーバ22、ロボットサーバ23の構成は、ロボットサーバ21と同様である。
 記憶装置230に格納された、通信プログラム231の動作を、図7に示す。
 通信プログラム231は、本システムの利用時に常に動作させ、以下の処理を行う(S401)。NIF221からデータを受信するまで待機する(S402)。ロボット11から音声データを受信した場合、音源定位サブプログラムにより推定した音源方向データを(S403)、音源方向バッファ241に格納するとともに(S404)、制御サーバ30に送信する(S405)。さらに音声認識サブプログラムにより認識した音声認識結果を(S406)、音声認識バッファ242に格納する(S407)。また、通信プログラム231は、ロボット11から位置方向データを受信した場合、受信した位置方向データを制御サーバ30に送信する(S408)。制御サーバ30から後述する対話実行指示を受信した場合、対応する音声認識バッファ242の音声認識結果に基づき、対話制御サブプロラム234を駆動する(S409)。制御サーバ30から後述する対話不実行指示を受信した場合、対応する音声認識バッファ242の音声認識結果を破棄する(S410)。
 記憶装置230に格納された、音源定位サブプログラム232の動作を、図8に示す。音源定位サブプログラム232は、ロボット11から受信する音声データを入力として、音源の方向を推定し、方向ごとのパワーを出力とするプログラムである(S501,S502)。
 ここで出力される音源の方向及び音源方向ごとのパワーを音源方向データと定義する。音源方向の推定には、例えば遅延和アレーに基づく音源方向推定技術などの既知の手法を用いてよい。
 記憶装置230に格納された、音声認識サブプログラム233の動作を、図9に示す。
 音声認識サブプログラム233は、ロボット11から受信する音声データを入力として、音声認識用音響モデル243と音声認識用言語モデル244を用いて音声の内容を言葉に変換し、変換したテキストを出力とするプログラムである(S511,S512)。音声の内容を言葉に変換するには、例えば大語彙連続音声認識技術などの既知の手法を用いてよい。また、高精度な処理を行うために、さらに音源方向データも入力とし、例えば最小分散ビームフォーマによる雑音抑圧を用いたマイクロホンアレイ信号の音源分離処理として既知の手法により音源が存在する方向の音声のみを抽出したうえで、音声認識を行ってもよい。
 記憶装置230に格納された、対話制御サブプログラム234の動作を、図10に示す。
 対話制御サブプログラム234は、音声認識結果を入力として、対話モデル245を用いて対話処理を行いロボット制御命令を求め、ロボット11に送信するプログラムである(S521,S522)。対話処理には、たとえば有限状態トランスデューサに基づく対話制御などの既知の手法を用いてよい。
 図11は、本実施例の制御サーバ30の構成図の例である。
 制御サーバ30は、バス310、CPU320、NIF321、記憶装置330からなる。
 バス310はCPU320、NIF321、記憶装置330を相互に接続しデータ信号を中継するもので、汎用のPCで用いられる規格(PCIなど)を用いることができる。CPU320はプログラムに従い、NIF321、記憶装置330に制御コマンドを送り制御するもので、汎用のCPU(例えばSHー4プロセッサ)やチップコントローラを用いることができる。NIF321はネットワーク2と接続し、ネットワーク2と接続する他のロボットやサーバと通信を行うもので、例えばIPv4に準拠した市販の装置を用いることができる。
 記憶装置330はプログラムやデータを格納するもので、例えば市販のDRAMやHDDを用いることができる。
 記憶装置330に格納された、通信プログラム331の動作を、図12に示す。
 通信プログラム331は、本システムの利用時に常に動作させ、以下の処理を行う(S601)。NIF321からデータを受信するまで待機する(S602)。ロボットサーバ21、ロボットサーバ22、ロボットサーバ23のいずれかから位置方向データを受信した場合、受信した位置方向データを位置方向バッファ343に格納する(S603)。ロボットサーバ21、ロボットサーバ22、ロボットサーバ23のいずれかから音源方向データを受信した場合、受信した音源方向データを音源方向バッファ344に格納する(S604)。ある時間フレームの位置方向データおよび音源方向データを全ロボットサーバから受信し終えた場合(S605)、音源位置推定サブプログラム332、対象ロボット推定サブプログラム333を逐次駆動する(S606,S607)。
 記憶装置330に格納された、音源位置推定サブプログラム332の動作を、図13に示す。
 音源位置推定サブプログラム332は、各ロボットの位置方向データおよび各ロボットの音源方向データに基づき空間上の音源位置を推定し(S701,S702)、音源位置バッファ341に記録する(S703)。
 音源位置の推定方法の例を述べる。図14に示すように、各ロボットiの時刻tでの位置方向(xi(t),yi(t),θi(t))から、ロボットiの音源方向データ(角度ごとのパワー)Pi,θ(t)のうち閾値Tp以上のパワーを持つPi,θ(t)>Tpを満たすθの方向に、半直線を引く。遠すぎる位置に音源が推定されるのを防止するために、半直線の長さを例えば10m以下に限定してよい。すべての半直線の交点を音源位置(Uj(t),Vj(t))と推定する。音源は時間方向に連続していると仮定できるので、音源位置バッファ341に記録された過去の音源位置データを用いてオンラインクラスタリングを行う。
 図15にオンラインクラスタリングの様子を示す。図が表わす3次元空間は、2次元の空間次元と1次元の時間次元からなり、531,532,533,534はフレームt-3,t-2,t-1,tをあらわす部分空間である。例えば、521,522,523はフレームtにおいて近距離にあるので一つの音源としてクラスタリングされ、かつ過去のフレーム531,532,533において位置の連続性があるので、有効な音源と判断される。一方、524はロボット2の音源方向データ512が誤検出のために一時的に生じたものと考えられ、オンラインクラスタリングの結果外れ値として除外できる。
 記憶装置330に格納された、対象ロボット推定サブプログラム333の動作を、図16に示す。
 対象ロボット推定サブプログラム333は、各ロボットの位置方向データ、各ロボットの音源方向データおよび推定した音源位置に基づき、各音源のロボットへの発話パワーを推定する(S711,S712)。推定値は対象ロボット推定バッファ342に保存する(S713)。
 ここで、発話パワーの推定方法の例を述べる。図17に示すように、推定した音源jの、ロボットiへの発話パワーQj,i(t)を求める。音源jとロボットiの距離をDi,jとするとDi,j=√((Yi(t)-Vj(t))^2+(Xi(t)-Uj(t))^2)であり、Qj,i(t) =Pi,θi,j(t)/F(Di,j)である。ここでF(D)は距離Dにおける音声パワーの減衰係数である。
 図16の説明に戻る。対象ロボット推定サブプログラム333は、音源位置推定サブプログラム332で行うオンラインクラスタリングにおいて、ある音源が検出されなくなったとき(S714)、その音源が存在したフレーム区間の対象ロボット推定結果を対象ロボット推定バッファ342から取り出し(S715)、その音源の対象ロボットを判断する。
 対象ロボットの判定方法の例を述べる。音源位置から各ロボット方向への発話パワーのうち対象ロボット方向への発話パワーが最大であると仮定すると、音源jの対象ロボットi(j)は、i(j)=argmax_i(sum_{t⊂Tj}{Qj,i(t)})として求められる。Tjは音源jが検出されたフレームの集合である。
 対象ロボットに対応するロボットサーバには対話実行指示を送信する(S716)。それ以外のロボットサーバには対話不実行指示を送信する(S717)。
 したがって、ロボット11、ロボット12、ロボット13に搭載されたマイクが1の発話者からの音声データを収録した場合でも、発話者が対話対象とした1のロボットを特定することが出来る。
 以上に説明したとおり、本発明における音声対話ロボットシステムは、ロボットに搭載したマイクアレイのみを用いて、発話者がどのロボットに話しかけたのかを高精度に判別することができる。
 本実施例では、音声対話ロボットシステム1の例を説明する。実施例1では発話者が対象ロボットを向いて発話するという仮定に基づいたものであったが、本実施例では発話者が対象ロボットの状況を前提とした内容の発話を行うという仮定に基づく。システム構成や装置の構成、プログラムの処理などは大部分が実施例1と同様であるので、ここでは実施例1と異なる部分のみを記述する。
 図18に示すように、ロボットサーバ21はさらに、対話予測サブプログラム235を備える。通信プログラム231は、音声認識サブプログラムにより音声認識を行い音声認識バッファ242に格納するとき、同時に対話予測サブプログラム235を駆動する。
 対話予測サブプログラム235は、音声認識結果Wに基づき、対話モデル245を参照し、現在の対話状態Sにおいて音声認識結果Wを受理する確率Z(W|S)を求め、受理確率Z(W|S)を制御サーバ30に送信する。各ロボットとの現在の対話状態Sは、発話者と該ロボットの対話履歴から取得する。
 図19に示すように、制御サーバ30はさらに、受理確率バッファ343を備える。通信プログラム331はさらに、ロボットサーバから受理確率Z(W|S)を受信すると受理確率バッファ343に記録する。また対象ロボット推定サブプログラム333において、対象ロボットの判定方法の際、ロボットiから受信した受理確率 Ziを判定基準に加える。例えば、音源jの対象ロボットi(j)は、i(j)=argmax_i(sum_{t⊂Tj}{Qj,i(t)}Zi)として求める。
 これにより、ロボットの対話状態に合致したロボットが対象ロボットとして選択されやすくなる。ロボットの対話状態を発話パワーと並列して用いることで、発話者の向きが決定しづらい状況のときでも、発話内容から適切な対象ロボットを選択することが可能となる。
1:音声対話ロボットシステム
2:ネットワーク
11:ロボット
12:ロボット
13:ロボット
21:ロボットサーバ
22:ロボットサーバ
23:ロボットサーバ
30:制御サーバ
110:バス
120:CPU
121:NIF
122:マイク
123:スピーカ
124:移動装置
130:記憶装置
21:ロボットサーバ
210:バス
220:CPU
221:NIF
230:記憶装置
30:制御サーバ
310:バス
320:CPU
321:NIF
330:記憶装置

Claims (12)

  1.  発話者と音声対話が可能な複数の自律型移動体を含む自律型移動体システムにおいて、
     前記各自律型移動体は、発話者との音声対話を該自律型移動体に備えられたマイクで取得し、
     前記自律型移動体システムは、前記各自律型移動体が取得する音声対話の音声情報に基づき、前記複数の自律型移動体のうち前記発話者が対話対象とした自律型移動装置を特定し、
     前記特定した自律型移動体が、前記発話者の方向に移動することを特徴とする自律型移動体システム。
  2.  請求項1に記載の自律型移動体システムにおいて、
     前記自律型移動体システムは、ネットワークを介して前記複数の自律型移動体と接続される1つ以上のサーバを含み、
     前記自律型移動体は、前記音声情報を前記サーバに送信し、
     前記サーバは、複数の自律型移動体から受信する前記音声情報に基づき、前記発話者が対話対象とした1の自律型移動体を特定し、特定結果を前記自律型移動体に送信することを特徴とする自律型移動体システム。
  3.  請求項2に記載の自律型移動体システムにおいて、
     前記自律型移動体は、自己の位置方向データを前記サーバに送信し、
     前記サーバは、複数の自律型移動体から受信する、前記位置方向データ、前記音声情報に基づいて算出される音源方向データ、及び、前記位置方向データと前記音源方向データに基づいて推定される音源位置に基づいて、対話対象自律型移動体を特定することを特徴とする自律型移動体システム。
  4.  請求項3に記載の自律型移動体システムにおいて、
     前記各自律型移動体の位置方向データ、各自律型移動体の音源方向データおよび推定した音源位置に基づき、前記音源位置の各自律型移動体への発話パワーを推定し、
     前記推定結果に基づいて、対話対象自律型移動体を特定することを特徴とする自律型移動体システム。
  5.  請求項4に記載の自律型移動体システムにおいて、
     前記サーバは、前記推定した音源位置の各自律型移動体への発話パワーが最大である自律型移動体を対話対象自律型移動体と特定することを特徴とする自律型移動体システム。
  6.  請求項5に記載の自律型移動体システムにおいて各自律型移動体毎に対応する自律型移動体サーバを備え、
     前記サーバは、
     前記対話対象と特定された自律型移動体に対応する自律型移動体サーバは対話実行指示送信し、それ以外の自律型移動体サーバには対話不実行指示を送信することを特徴とする自律型移動体システム。
  7.  請求項6に記載の自律型移動体システムにおいて、
     前記サーバは、
     前記発話者と各自律型移動体との対話履歴と取得した音声対話の音声認識結果に基づいて、前記複数の自律型移動体から1の対話対象自律型移動体と特定することを特徴とする自律型移動体システム。
  8.  発話者と音声対話が可能な複数の自律型移動体を制御するサーバであって、
     前記各自律型移動体から、各自律型移動体に備えられたマイクで取得した発話者との音声対話に関する音声情報を受信し、
     前記各自律型移動体から受信した音声情報に基づき、前記複数の自律型移動体のうち前記発話者が対話対象とした自律型移動装置を特定し、
     前記特定結果を前記各自律移動体に送信することを特徴とするサーバ。
  9.  請求項8に記載のサーバであって、
     前記各自律移動体から、各自律型移動体の自己の位置方向データを受信し、
     前記各自律型移動体から受信する、前記位置方向データ、前記音声情報に基づいて算出される音源方向データ、及び、前記位置方向データと前記音源方向データに基づいて推定される音源位置に基づいて、対話対象自律型移動体を特定することを特徴とするサーバ。
  10.  請求項9に記載のサーバであって、
     前記各自律型移動体の位置方向データ、各自律型移動体の音源方向データおよび推定した音源位置に基づき、前記音源位置の各自律型移動体への発話パワーを推定し、
     前記推定結果に基づいて、対話対象自律型移動体を特定することを特徴とするサーバ。
  11.  請求項10に記載のサーバであって、
     前記推定した音源位置の各自律型移動体への発話パワーが最大である自律型移動体を対話対象自律型移動体と特定することを特徴とするサーバ。
  12.  請求項11に記載のサーバ、
     前記発話者と各自律型移動体との対話履歴と取得した音声対話の音声認識結果に基づいて、前記複数の自律型移動体から1の対話対象自律型移動体と特定することを特徴とするサーバ。
PCT/JP2012/081446 2012-12-05 2012-12-05 音声対話ロボット、音声対話ロボットシステム WO2014087495A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/081446 WO2014087495A1 (ja) 2012-12-05 2012-12-05 音声対話ロボット、音声対話ロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/081446 WO2014087495A1 (ja) 2012-12-05 2012-12-05 音声対話ロボット、音声対話ロボットシステム

Publications (1)

Publication Number Publication Date
WO2014087495A1 true WO2014087495A1 (ja) 2014-06-12

Family

ID=50882946

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/081446 WO2014087495A1 (ja) 2012-12-05 2012-12-05 音声対話ロボット、音声対話ロボットシステム

Country Status (1)

Country Link
WO (1) WO2014087495A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016160123A1 (en) * 2015-03-27 2016-10-06 Qualcomm Incorporated Controlling electronic device based on direction of speech
JP2018013545A (ja) * 2016-07-19 2018-01-25 トヨタ自動車株式会社 音声対話装置および発話制御方法
JP2018049143A (ja) * 2016-09-21 2018-03-29 トヨタ自動車株式会社 音声取得システムおよび音声取得方法
JP2019084598A (ja) * 2017-11-02 2019-06-06 株式会社日立製作所 ロボット対話システム及びロボット対話システムの制御方法
JP2019532543A (ja) * 2016-08-11 2019-11-07 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 制御システムならびに制御処理方法および装置
JP2019200393A (ja) * 2018-05-18 2019-11-21 シャープ株式会社 判定装置、電子機器、応答システム、判定装置の制御方法、および制御プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005329515A (ja) * 2004-05-21 2005-12-02 Hitachi Ltd サービスロボットシステム
JP2007174155A (ja) * 2005-12-21 2007-07-05 Yamaha Corp 拡声システム
JP2008158868A (ja) * 2006-12-25 2008-07-10 Toyota Motor Corp 移動体、及びその制御方法
JP2011193176A (ja) * 2010-03-12 2011-09-29 Semiconductor Technology Academic Research Center マイクアレイ・ネットワークシステムおよび該システムを用いた音源定位方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005329515A (ja) * 2004-05-21 2005-12-02 Hitachi Ltd サービスロボットシステム
JP2007174155A (ja) * 2005-12-21 2007-07-05 Yamaha Corp 拡声システム
JP2008158868A (ja) * 2006-12-25 2008-07-10 Toyota Motor Corp 移動体、及びその制御方法
JP2011193176A (ja) * 2010-03-12 2011-09-29 Semiconductor Technology Academic Research Center マイクアレイ・ネットワークシステムおよび該システムを用いた音源定位方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MASAYA NAKAMURA: "Talker Localization on Autonomous Mobile Robot Using a Microphone Array", IEICE TECHNICAL REPORT, vol. 101, no. 32, 20 April 2001 (2001-04-20) *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016160123A1 (en) * 2015-03-27 2016-10-06 Qualcomm Incorporated Controlling electronic device based on direction of speech
CN107408386A (zh) * 2015-03-27 2017-11-28 高通股份有限公司 基于语音方向控制电子装置
US9911416B2 (en) 2015-03-27 2018-03-06 Qualcomm Incorporated Controlling electronic device based on direction of speech
CN107408386B (zh) * 2015-03-27 2018-11-23 高通股份有限公司 基于语音方向控制电子装置
JP2018013545A (ja) * 2016-07-19 2018-01-25 トヨタ自動車株式会社 音声対話装置および発話制御方法
US10304452B2 (en) 2016-07-19 2019-05-28 Toyota Jidosha Kabushiki Kaisha Voice interactive device and utterance control method
JP2019532543A (ja) * 2016-08-11 2019-11-07 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 制御システムならびに制御処理方法および装置
JP2018049143A (ja) * 2016-09-21 2018-03-29 トヨタ自動車株式会社 音声取得システムおよび音声取得方法
JP2019084598A (ja) * 2017-11-02 2019-06-06 株式会社日立製作所 ロボット対話システム及びロボット対話システムの制御方法
JP6995566B2 (ja) 2017-11-02 2022-02-04 株式会社日立製作所 ロボット対話システム及びロボット対話システムの制御方法
JP2019200393A (ja) * 2018-05-18 2019-11-21 シャープ株式会社 判定装置、電子機器、応答システム、判定装置の制御方法、および制御プログラム

Similar Documents

Publication Publication Date Title
JP6520878B2 (ja) 音声取得システムおよび音声取得方法
WO2014087495A1 (ja) 音声対話ロボット、音声対話ロボットシステム
US11037561B2 (en) Method and apparatus for voice interaction control of smart device
JP6402748B2 (ja) 音声対話装置および発話制御方法
CN106797512B (zh) 多源噪声抑制的方法、系统和非瞬时计算机可读存储介质
US9615171B1 (en) Transformation inversion to reduce the effect of room acoustics
KR100499124B1 (ko) 직교 원형 마이크 어레이 시스템 및 이를 이용한 음원의3차원 방향을 검출하는 방법
CN107613428B (zh) 声音处理方法、装置和电子设备
EP3836136B1 (en) Azimuth estimation method, device, and storage medium
EP3002753B1 (en) Speech enhancement method and apparatus for same
Mumolo et al. Algorithms for acoustic localization based on microphone array in service robotics
JP2007245317A (ja) ロボット制御装置及びプログラム並びにロボット制御方法
US20200329308A1 (en) Voice input device and method, and program
KR20210148057A (ko) 음성 인식 방법 및 이에 사용되는 장치
JP2010010857A (ja) 音声入力ロボット、遠隔会議支援システム、遠隔会議支援方法
JP2006243555A (ja) 対応決定システム、ロボット、イベント出力サーバ、および対応決定方法
JP7335979B2 (ja) 音声認識を用いて装置を制御する方法、及びこれを具現する装置
Hoshiba et al. Design and assessment of sound source localization system with a UAV-embedded microphone array
JP7215567B2 (ja) 音響認識装置、音響認識方法、及び、プログラム
JP6906484B2 (ja) 案内ロボットシステム及びその制御方法
JP7062958B2 (ja) 通信システム、及び通信方法
JP5610283B2 (ja) 外部機器制御装置、その外部機器制御方法及びプログラム
KR20090016800A (ko) 네트워크 기반의 로봇용 음성 처리 방법 및 시스템
KR20200012636A (ko) 능동 소음 제거 시스템
JP7434635B1 (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12889409

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12889409

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP