(57)【要約】【課題】サーバとクライアントにより構成される音声認識システムにおいて問題とされる、サーバ側ＣＰＵの負荷上昇と、クライアントとサーバとの間のネットワーク帯域の負荷上昇とを解決する音声認識システムを提供する。【解決手段】クライアントは入力された音声データに対して１次音声認識を試み、１次音声認識により音声認識できた場合はその音声認識結果をサーバに伝送し、音声認識できない場合はその音声データをサーバに伝送しサーバがその音声データに対して２次音声認識を行う。【選択図】　図１
2004012653.tif 000002
【特許請求の範囲】
【請求項１】
サーバとクライアントから構成される音声認識システムであって、
前記クライアントは、入力音声を分析して音声データを生成する音声分析手段と、１次音声認識を行うための複数の辞書データより構成される第１の辞書を記憶する第１の記憶手段と、前記音声データと前記第１の辞書の辞書データとを用いて１次音声認識を行い１次認識結果データを生成する第１の音声認識手段と、前記音声データまたは前記１次認識結果データから前記サーバへ伝送するデータを選択する第１の選択手段と、前記第１の選択手段で選択されたデータを前記サーバへ送信する第１の送信手段とを備え、
前記サーバは、前記クライアントが送信したデータを受信する第２の受信手段と、２次音声認識を行うための複数の辞書データより構成される第２の辞書を記憶する第２の記憶装置と、前記受信手段で受信されたデータと前記第２の辞書の辞書データとを用いて２次音声認識を行う第２の音声認識手段とを備えることを特徴とする音声認識システム。
【請求項２】
前記クライアントは、前記第１の音声認識手段で１次音声認識が可能な場合、前記第１の選択手段で前記第１の音声認識手段で生成された１次認識結果データを選択し、前記第１の送信手段で前記１次認識結果データを前記サーバへ伝送することを特徴とする請求項１に記載の音声認識システム。
【請求項３】
前記サーバは、前記第２の受信手段で受信されたデータが１次認識結果データである場合、前記第２の音声認識手段で２次音声認識を行わず、前記１次認識結果データを前記音声認識システムの認識結果データとして得ることを特徴とする請求項１又は請求項２の何れかに記載の音声認識システム。
【請求項４】
前記サーバは更に、前記サーバで生成された複数のデータから前記クライアントへ伝送するデータを選択する第２の選択手段と、前記第２の選択手段で選択されたデータを前記クライアントへ送信する第２の送信手段とを備え、
前記クライアントは更に、前記サーバが送信したデータを受信する第１の受信手段とを備えることを特徴とする請求項１に記載の音声認識システム。
【請求項５】
前記クライアントは、前記第１の音声認識手段で１次音声認識が不可能な場合、前記第１の選択手段で前記音声分析手段で生成された音声データを選択し、前記第１の送信手段で前記音声データを前記サーバへ伝送し、
前記サーバは、前記第２の受信手段で受信されたデータが音声データである場合、前記第２の音声認識手段で２次音声認識を行い２次認識結果データを生成し、前記２次認識結果データを前記音声認識システムの認識結果データとして得て、前記第２の選択手段で前記認識結果データを選択し、前記第２の送信手段で前記認識結果データを前記クライアントへ送信し、
前記クライアントは、前記第１の受信手段で受信されたデータが前記認識結果データである場合、前記第１の記憶手段で前記認識結果データを前記第１の辞書に登録することを特徴とする請求項４に記載の音声認識システム。
【請求項６】
前記クライアントは更に、前記第１の辞書に格納される複数の辞書データの夫々に対して、前記データと前記音声分析手段の音声データとが一致した確率である１次音声認識可能確率の算出と前記１次音声認識可能確率を第１の確率テーブルへの記憶とを行う第１の辞書管理手段を備えることを特徴とする請求項１又は請求項４の何れかに記載の音声認識システム。
【請求項７】
前記クライアントは、前記第１の受信手段で受信されたデータが前記認識結果データである場合、前記第１の記憶手段は、前記第１の辞書に辞書データを格納するためのスペースが有る場合には前記第１の受信手段で受信されたデータを前記第１の辞書に登録し、前記第１の辞書に辞書データを格納するためのスペースが無い場合には前記第１の確率テーブルにおいて１次音声認識採用確率が最も低いとされるものに対応される辞書データを前記第１の辞書から削除し前記第１の受信手段で受信されたデータを前記第１の辞書に登録することを特徴とする請求項６に記載の音声認識システム。
【請求項８】
前記クライアントは更に、前記音声データを用いて音声識別を行い話者の特定を行い話者が誰であるかを示す話者データを生成する音声識別手段を備え、前記第１の記憶手段は前記第１の辞書の複数のデータの夫々を話者と関連付けて記憶し、前記第２の記憶手段は前記第２の辞書の複数のデータの夫々を話者と関連付けて記憶することを特徴とする請求項１に記載の音声認識システム。
【請求項９】
前記クライアントは、前記第１の記憶手段で前記音声識別手段が特定した話者以外の話者に関連付けられた複数の辞書データを削除し、前記第１の選択手段で前記音声識別手段で生成された前記話者データを選択し、前記第１の送信手段で前記話者データを前記サーバへ伝送し、
前記サーバは、前記第２の受信手段で受信されたデータが話者データである場合、前記第２の選択手段で前記第２の辞書から前記第２の受信手段の話者データが示す話者に関連付けられた複数の辞書データの夫々を選択し、前記第２の送信手段で前記話者に関連付けられた複数の辞書データの夫々を送信し、
前記クライアントは、前記第１の受信手段で受信されたデータが話者に関連付けられた辞書データである場合、前記第１の記憶手段で前記第１の辞書に話者に関連付けられた辞書データを話者と関連付けて記憶することを特徴とする請求項８に記載の音声認識システム。
【請求項１０】
サーバとクライアントから構成される音声認識システムであって、
前記クライアントは、入力音声を分析して音声データを生成する音声分析手段と、１次音声認識を行うための複数の辞書データを格納する第１の辞書領域と第２の辞書領域とより構成される第１の辞書を記憶する第１の記憶手段と、前記音声データと第１の辞書の第１の辞書領域及び第２の辞書領域の何れかに格納された辞書データとを用いて１次音声認識を行い１次認識結果データを生成する第１の音声認識手段と、前記音声データまたは前記１次認識結果データから前記サーバへ伝送するデータを選択する第１の選択手段と、前記第１の選択手段で選択されたデータを前記サーバへ送信する第１の送信手段と、前記サーバが送信したデータを受信する第１の受信手段と、前記クライアントと前記サーバとの間のデータ伝送量を監視する伝送量監視手段とを備え、
前記サーバは、前記クライアントが送信したデータを受信する第２の受信手段と、２次音声認識を行うための複数の辞書データより構成される第２の辞書を記憶する第２の記憶装置と、前記受信手段で受信されたデータと前記第２の辞書の辞書データとを用いて２次音声認識を行う第２の音声認識手段と、前記サーバで生成された複数のデータから前記クライアントへ伝送するデータを選択する第２の選択手段と、前記第２の選択手段で選択されたデータを前記クライアントへ送信する第２の送信手段とを備えることを特徴とする音声認識システム。
【請求項１１】
前記クライアントは、前記伝送量監視手段の前記クライアントと前記サーバとの間のデータ伝送量の値が或る閾値以上である場合、前記第１の音声認識手段で第１の辞書の第１の辞書領域と第２の辞書領域とに格納された辞書データを用いて１次音声認識を行い、前記伝送量監視手段の前記クライアントと前記サーバとの間のデータ伝送量の値が或る閾値未満である場合、前記第１の音声認識手段で第１の辞書の第１の辞書領域に格納された辞書データを用いて１次音声認識を行うことを特徴とする請求項１０に記載の音声認識システム。
【請求項１２】
前記クライアントは、前記第１の音声認識手段で１次音声認識が可能な場合、前記第１の選択手段で前記第１の音声認識手段で生成された１次認識結果データを選択し、前記第１の送信手段で前記１次認識結果データを前記サーバへ伝送することを特徴とする請求項１０又は請求項１１に記載の音声認識システム。
【請求項１３】
前記サーバは、前記第２の受信手段で受信されたデータが１次認識結果データである場合、前記第２の音声認識手段で２次音声認識を行わず、前記１次認識結果データを前記音声認識システムの認識結果データとして得ることを特徴とする請求項１０ないし請求項１２の何れかに記載の音声認識システム。
【請求項１４】
サーバとクライアントから構成される音声認識システムであって、
前記クライアントは、入力音声を分析して音声データを生成する音声分析手段と、１次音声認識を行うための複数の辞書データを格納する第１の辞書領域と第２の辞書領域とより構成される第１の辞書を記憶する第１の記憶手段と、前記音声データと第１の辞書の第１の辞書領域及び第２の辞書領域の何れかに格納された辞書データとを用いて１次音声認識を行い１次認識結果データを生成する第１の音声認識手段と、前記音声データまたは前記１次認識結果データから前記サーバへ伝送するデータを選択する第１の選択手段と、前記第１の選択手段で選択されたデータを前記サーバへ送信する第１の送信手段と、前記サーバが送信したデータを受信する第１の受信手段と、前記サーバ側ＣＰＵ使用率を監視するＣＰＵ監視手段とを備え、
前記サーバは、前記クライアントが送信したデータを受信する第２の受信手段と、２次音声認識を行うための複数の辞書データより構成される第２の辞書を記憶する第２の記憶装置と、前記受信手段で受信されたデータと前記第２の辞書の辞書データとを用いて２次音声認識を行う第２の音声認識手段と、前記サーバで生成された複数のデータから前記クライアントへ伝送するデータを選択する第２の選択手段と、前記第２の選択手段で選択されたデータを前記クライアントへ送信する第２の送信手段と、前記サーバ側ＣＰＵの使用率を算出しサーバ側ＣＰＵ使用率データを生成するＣＰＵ使用率演算手段とを備えることを特徴とする音声認識システム。
【請求項１５】
前記サーバは、前記ＣＰＵ使用率演算手段でサーバ側ＣＰＵ使用率データが生成された場合、前記第２の選択手段で前記ＣＰＵ使用率演算手段の前記サーバ側ＣＰＵ使用率データを選択し、前記第２の送信手段で前記サーバ側ＣＰＵ使用率データを前記クライアントへ伝送し、
前記クライアントは、前記第１の受信手段で受信されたデータがサーバ側ＣＰＵ使用率データである場合、前記ＣＰＵ監視手段で前記サーバ側ＣＰＵ使用率データを用いてサーバ側ＣＰＵ使用率を算出し、前記サーバ側ＣＰＵ使用率の値が或る閾値以上である場合、前記第１の音声認識手段で第１の辞書の第１の辞書領域と第２の辞書領域とに格納された辞書データを用いて１次音声認識を行い、前記サーバ側ＣＰＵ使用率の値が或る閾値未満である場合、前記第１の音声認識手段で第１の辞書の第１の辞書領域に格納された辞書データを用いて１次音声認識を行うことを特徴とする請求項１４に記載の音声認識システム。
【請求項１６】
前記クライアントは、前記第１の音声認識手段で１次音声認識が可能な場合、前記第１の選択手段で前記第１の音声認識手段で生成された１次認識結果データを選択し、前記第１の送信手段で前記１次認識結果データを前記サーバへ伝送することを特徴とする請求項１４又は請求項１５に記載の音声認識システム。
【請求項１７】
前記サーバは、前記第２の受信手段で受信されたデータが１次認識結果データである場合、前記第２の音声認識手段で２次音声認識を行わず、前記１次認識結果データを前記音声認識システムの認識結果データとして得ることを特徴とする請求項１４ないし請求項１６の何れかに記載の音声認識システム。
【請求項１８】
サーバとクライアントから構成される音声認識システムで用いる音声認識クライアントであって、
入力音声を分析して音声データを生成する音声分析手段と、１次音声認識を行うための複数の辞書データより構成される第１の辞書を記憶する第１の記憶手段と、前記音声データと前記第１の辞書の辞書データとを用いて１次音声認識を行い１次認識結果データを生成する第１の音声認識手段と、前記クライアントで生成された複数のデータから前記音声データまたは前記１次認識結果データから前記サーバへ伝送するデータを選択する第１の選択手段と、前記第１の選択手段で選択されたデータを前記サーバへ送信する第１の送信手段とを備える音声認識クライアント。
【請求項１９】
サーバとクライアントから構成される音声認識システムで用いる音声認識サーバであって、
前記クライアントが送信したデータを受信する第２の受信手段と、２次音声認識を行うための複数の辞書データより構成される第２の辞書を記憶する第２の記憶装置と、前記受信手段で受信されたデータと前記第２の辞書の辞書データとを用いて２次音声認識を行う第２の音声認識手段とを備える音声認識サーバ。
【請求項２０】
サーバとクライアントから構成される音声認識システムで用いる音声認識クライアントプログラムであって、
入力音声を分析して音声データを生成する音声分析工程と、１次音声認識を行うための複数の辞書データより構成される第１の辞書を記憶する第１の記憶工程と、前記音声データと前記第１の辞書の辞書データとを用いて１次音声認識を行い１次認識結果データを生成する第１の音声認識工程と、前記クライアントで生成された複数のデータから前記音声データまたは前記１次認識結果データから前記サーバへ伝送するデータを選択する第１の選択工程と、前記第１の選択手段で選択されたデータを前記サーバへ送信する第１の送信工程とを備える音声認識クライアントプログラム。
【請求項２１】
サーバとクライアントから構成される音声認識システムで用いる音声認識サーバプログラムであって、
前記クライアントが送信したデータを受信する第２の受信工程と、２次音声認識を行うための複数の辞書データより構成される第２の辞書を記憶する第２の記憶工程と、前記受信手段で受信されたデータと前記第２の辞書の辞書データとを用いて２次音声認識を行う第２の音声認識工程とを備える音声認識サーバプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、サーバとクライアントから構成される音声認識システム、音声認識クライアント、音声認識サーバ、音声認識クライアントプログラムおよび音声認識サーバプログラムに関する。
【０００２】
【従来の技術】
従来、サーバとクライアントとにより構成される音声認識システムに関しては特開２００１−１４２４８８号公報に記載されたものが知られている。音声入力をクライアントで行い、クライアントで得た音声データをサーバに送り、音声認識をサーバで行う音声認識システムである。また、クライアントで音声データの符号化を行うことにより、クライアントとサーバとの間のネットワーク帯域の負荷を抑えることを解決するサーバとクライアントとにより構成される音声認識システムに関しては特開２００１−３３７６９５号公報に記載されたものが知られているが、何れも音声認識をサーバのみで行うことによりサーバ側ＣＰＵの負荷が上昇してしまうもので、サーバ側ＣＰＵの負荷と、クライアントとサーバとの間のネットワーク帯域の負荷とを抑えつつ音声認識を行うものではない。
【０００３】
【発明が解決しようとする課題】
このサーバとクライアントにより構成される音声認識システムにおいては、サーバ側ＣＰＵの負荷と、クライアントとサーバとの間のネットワーク帯域の負荷とを抑えつつ音声認識を行うことができることが要求されている。本発明はサーバ側ＣＰＵの負荷と、クライアントとサーバとの間のネットワーク帯域の負荷とを抑えつつ音声認識を行うことを可能にすることを目的とするサーバとクライアントで音声認識を行うシステムを提供することである。
【０００４】
【課題を解決するための手段】
本発明の第１は、クライアントは、音声が入力されるとこの入力音声に対する音声データを生成し、前記音声データと１次音声認識のための辞書１に格納された複数の辞書データの夫々とを比較することにより１次音声認識を行い１次認識結果データを生成し、ここで、前記クライアントは、前記音声データと一致する辞書データが辞書１に格納されている場合、つまり、１次音声認識が可能な場合、前記１次認識結果データを前記サーバへ伝送し、前記サーバは、前記１次認識結果データを受信し、受信した前記１次音声結果データを前記音声認識システムの認識結果データとして得、一方、前記クライアントは、前記音声データと一致する辞書データが辞書１に格納されていない場合、つまり、１次音声認識が不可能な場合、前記音声データを前記サーバへ伝送し、前記サーバは、前記音声データを受信し、受信した前記音声データと２次音声認識のための辞書２に格納された複数の辞書データの夫々とを比較することにより２次音声認識を行い、２次認識結果データを生成し、前記２次認識結果データを前記音声認識システムの認識結果データとして得ることを備えたものである。
【０００５】
この構成により、前記クライアントで１次音声認識が可能な場合、前記クライアントが前記サーバへ前記音声データを伝送する必要がなく前記１次認識結果データのみ伝送することにより前記クライアントと前記サーバとの間のネットワーク帯域の負荷を減少させるという効果と、前記サーバが２次音声認識を行う必要がないため前記サーバ側ＣＰＵの負荷を前記クライアント側ＣＰＵに分散させることにより前記サーバ側ＣＰＵの負荷を減少させる効果とをもたらすものである。
【０００６】
本発明の第２は、前記サーバは、前記本発明の第１において前記クライアントで１次音声認識が不可能な場合、前記サーバで生成した２次認識結果データを前記クライアントへ伝送し、前記クライアントは、前記２次認識結果データを受信し、受信した前記２次認識結果データを１次音声認識のための前記辞書１に登録することを備えたものである。
【０００７】
この構成により、前記本発明の第１において前記クライアントの１次音声認識で不可能とされていた音声認識に対応する辞書データを前記辞書１に格納することにより、前記本発明の第１と比較して前記クライアントで１次音声認識が可能であるケースが増大するため、前記本発明の第１と比較して、前記クライアントと前記サーバとの間のネットワーク帯域の負荷を更に減少させる効果と、前記サーバ側ＣＰＵの負荷を更に減少させる効果とをもたらすものである。
【０００８】
本発明の第３は、前記クライアントは、前記本発明の第２において前記２次認識結果データを１次音声認識のための前記辞書１に登録する際に、前記辞書１に辞書データを格納するためのスペースが有る場合、受信した前記２次認識結果データを前記辞書１に登録し、一方、前記辞書１に辞書データを格納するためのスペースが無い場合、前記辞書１に格納される複数のデータの夫々について１次音声認識において前記音声データとの比較に用いられた回数に対する前記音声データと一致した回数の割合、つまり、１次音声認識可能確率を格納する１次音声認識可能確率テーブルを参照し、前記１次音声認識可能確率が最も低いものに対応する辞書データを前記辞書１から削除した後に前記辞書１に受信した前記２次認識結果データを登録することを備えたものである。
【０００９】
この構成により、前記本発明の第２において前記２次認識結果データを前記辞書１に登録する際に前記辞書１に辞書データを格納するためのスペースが無い場合には前記辞書１に格納された複数の辞書データのうち１次音声認識を可能とする確率が最も低い辞書データを削除することにより、前記辞書１に格納された複数の辞書データの何れかを無作為に削除する場合と比較して前記クライアントで１次音声認識が不可能であるケースが減少するため、前記本発明の第２のように１次音声認識を可能とする確率に応じて前記辞書１の辞書データを削除することを備えないものと比較して、前記クライアントと前記サーバとの間のネットワーク帯域の負荷を更に減少させる効果と、前記サーバ側ＣＰＵの負荷を更に減少させる効果とをもたらすものである。
【００１０】
本発明の第４は、前記クライアントは前記１次音声認識のための複数の辞書データの夫々をその辞書データを必要とする話者と関連付けて前記辞書１に登録し、前記サーバは前記２次音声認識のため複数の辞書データの夫々をその辞書データを必要とする話者と関連付けて前記辞書２に登録し、前記クライアントは音声が入力されるとこの入力音声に対する音声データを生成し、前記音声データを用いて音声識別を行うことにより話者の特定をし、話者が誰であるかを示す話者データを生成し、前記辞書１から前記話者データに対応する話者以外の話者と関連付けられた複数の辞書データ、つまり、前記話者に対応しない複数の辞書データを削除し、前記話者データを前記サーバへ伝送し、前記サーバは、前記話者データを受信し、前記辞書２に格納された複数のデータのうち受信した前記話者データに対応する話者と関連付けられた複数の辞書データ、つまり、前記話者に対応する複数の辞書データを前記クライアントに伝送し、前記クライアントは、前記話者に対応する複数の辞書データを受信し、受信した前記話者に対応する複数の辞書データを前記話者と関連付けて前記辞書１に登録することを備えたものである。
【００１１】
この構成により、前記本発明の第１と比較して前記クライアントの前記辞書１に格納され複数の辞書データのうち音声を入力した話者の音声認識に適した辞書データが増大することにより、前記本発明の第１と比較して前記クライアントで１次音声認識が可能であるケースが増大するため、前記本発明の第１と比較して、前記クライアントと前記サーバとの間のネットワーク帯域の負荷を更に減少させる効果と、前記サーバ側ＣＰＵの負荷を更に減少させる効果とをもたらすものである。
【００１２】
本発明の第５は、前記クライアントは、前記１次音声認識のための複数の辞書データを、前記辞書１を構成する辞書領域１と辞書領域２に分けて登録し、前記クライアントと前記サーバとの間のデータ伝送量を監視し、前記クライアントは、音声が入力されるとこの入力音声に対する音声データを生成し、監視した前記クライアントと前記サーバとの間のデータ伝送量の値が或る閾値以上である場合、前記辞書１の前記辞書領域１と前記辞書領域２の何れかに格納された辞書データと前記音声データとを比較することにより１次音声認識を行い、一方、監視した前記クライアントと前記サーバとの間のデータ伝送量の値が或る閾値未満である場合、前記辞書１の前記辞書領域１に格納された辞書データと前記音声データとを比較することにより１次音声認識を行うことを備えたものである。
【００１３】
この構成により、前記クライアントと前記サーバとの間のデータ伝送量に応じて１次音声認識で適用する前記辞書１の領域を制御することにより、前記クライアントと前記サーバとの間のデータ伝送量が多い場合は前記クライアントと前記サーバとの間のデータ伝送量が少ない場合と比較して１次音声認識が可能であるケースが増大するため、前記クライアントと前記サーバとの間のデータ伝送量が多い場合は前記クライアントと前記サーバとの間のデータ伝送量が少ない場合と比較して前記クライアントと前記サーバとの間のネットワーク帯域の負荷を更に減少させる効果をもたらすものである。
【００１４】
本発明の第６は、前記クライアントは、前記１次音声認識のための複数の辞書データを前記辞書１を構成する辞書領域１と辞書領域２に分けて登録し、前記サーバ側ＣＰＵの使用率を監視し、前記クライアントは、音声が入力されるとこの入力音声に対する音声データを生成し、監視した前記サーバ側ＣＰＵの使用率の値が或る閾値以上である場合、前記辞書１の前記辞書領域１と前記辞書領域２の何れかに格納された辞書データと前記音声データとを比較することにより１次音声認識を行い、一方、監視した前記サーバ側ＣＰＵの使用率の値が或る閾値未満である場合、前記辞書１の前記辞書領域１に格納された辞書データと前記音声データとを比較することにより１次音声認識を行うことを備えたものである。
【００１５】
この構成により、前記サーバ側ＣＰＵの使用率に応じて１次音声認識で適用する前記辞書１の領域を制御することにより、前記サーバ側ＣＰＵの使用率が高い場合は前記サーバ側ＣＰＵの使用率が低い場合と比較して１次音声認識が可能であるケースが増大するため、前記サーバ側ＣＰＵの使用率が高い場合は前記サーバ側ＣＰＵの使用率が低い場合と比較して前記サーバ側ＣＰＵの負荷を更に減少させる効果をもたらすものである。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態について、図１から図１２を用いて説明する。
【００１７】
（実施の形態１）
図１は実施の形態１における音声認識システムの構成図である。図１において、１０はクライアント、２０はサーバである。
【００１８】
次に、クライアント１０の構成について説明する。１１はマイクロフオン、１２は音声分析部、１３は辞書１記憶部、１４は１次音声認識部、１５は選択部、１６は送信部、１７は制御部である。
【００１９】
マイクロフオン１１は、音声を入力する。音声分析部１２は、マイクロフオン１１に入力された音声を分析し、音声データを生成する。辞書１記憶部１３は、１次音声認識を行う際に用いる複数の辞書データより構成される辞書１を記憶する。１次音声認識部１４は、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの夫々とを比較することにより１次音声認識を行う。
【００２０】
１次音声認識部１４は更に、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの何れかとが一致した場合、つまり、１次音声認識ができた場合、１次音声認識ができたことを示すフラグと１次音声認識結果である１次認識結果データとを生成し、一方、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの何れもが一致しなかった場合、つまり、１次音声認識ができなかった場合、１次音声認識ができなかったことを示すフラグを生成する。
【００２１】
選択部１５は、クライアント１０で生成された複数のデータからクライアント１０からサーバ２０へ送信すべきデータを選択する。選択部１５は更に、１次音声認識部１４で１次音声認識ができたことを示すフラグが生成されたことを確認した場合、１次音声認識部１４で生成された１次認識結果データを選択し、１次音声認識部１４で１次音声認識ができなかったことを示すフラグが生成されたことを確認した場合、音声分析部１２で生成された音声データを選択する。送信部１６は、選択部１５で選択されたデータをサーバ２０へ送信する。制御部１７は、クライアント１０側のＣＰＵを備え、１１〜１６の夫々の動作を制御する。
【００２２】
次に、サーバ２０の構成について説明する。２１は受信部、２２は辞書２記憶部、２３は２次音声認識部、２４は制御部である。
【００２３】
受信部２１は、クライアント１０から送信されたデータを受信する。受信部２１は更に、受信したデータが音声データである場合、音声データを受信したことを示すフラグを生成し、受信したデータが１次認識結果データである場合、１次認識結果データを受信したことを示すフラグを生成する。
【００２４】
辞書２記憶部２２は、２次音声認識を行う際に用いる複数の辞書データより構成される辞書２を記憶する。２次音声認識部２３は、受信部２１で受信されたデータと辞書２記憶部２２の辞書２に記憶された複数のデータの夫々とを比較することにより２次音声認識を行う。
【００２５】
２次音声認識部２３は更に、受信部２１で音声データを受信したことを示すフラグが生成されたことを確認した場合、受信部２１で受信されたデータと辞書２記憶部２２の辞書２に記憶された複数のデータの夫々とを比較することにより２次音声認識を行い、２次音声認識結果データである２次認識結果データを生成し、この２次認識結果データを音声認識システムの認識結果データとして扱い、受信部２１で１次認識結果データを受信したことを示すフラグが生成されたことを確認した場合、受信部２１で受信されたデータを音声認識システムの認識結果データとして扱う。制御部２４は、サーバ２０側のＣＰＵを備え、２１〜２３の夫々の動作を制御する。
【００２６】
図２に実施の形態１における音声認識システムで行われる処理手順のフローチャートを示す。図２に示すように、Ｓ２００においてクライアント１０に音声が入力されると処理を開始しＳ２０１へ移行する。Ｓ２０１において、クライアント１０で音声データを生成しＳ２０２へ移行する。Ｓ２０２において、クライアント１０で辞書１を用いて１次音声認識を行いＳ２０３へ移行する。Ｓ２０３において、クライアント１０で１次音声認識が可能であるかを確認し、１次音声認識が可能である場合、Ｓ２０４へ移行し、１次音声認識が不可能である場合、Ｓ２０８へ移行する。Ｓ２０４において、クライアント１０でサーバ２０へ１次認識結果データを送信しＳ２０５へ移行する。Ｓ２０５において、サーバ２０で１次認識結果データを受信しＳ２０６へ移行する。Ｓ２０６において、サーバ２０で１次認識結果データを音声認識システムの認識結果データとして得てＳ２０７へ移行する。
【００２７】
Ｓ２０８において、クライアント１０でサーバ２０へ音声データを送信しＳ２０９へ移行する。Ｓ２０９において、サーバ２０で音声データを受信しＳ２１０へ移行する。Ｓ２１０において、サーバ２０で辞書２を用いて２次音声認識を行い２次認識結果データを音声認識システムの認識結果データとして得てＳ２０７へ移行する。Ｓ２０７において、処理を終了する。
【００２８】
（実施の形態２）
図３は実施の形態２における音声認識システムの構成図である。図３において、１０はクライアント、２０はサーバである。
【００２９】
次に、クライアント１０の構成について説明する。１１はマイクロフオン、１２は音声分析部、１３は辞書１記憶部、１４は１次音声認識部、１５は選択部、１６は送信部、１７は制御部、１８は受信部である。
【００３０】
マイクロフオン１１は、音声を入力する。音声分析部１２は、マイクロフオン１１に入力された音声を分析し、音声データを生成する。辞書１記憶部１３は、１次音声認識を行う際に用いる複数の辞書データより構成される辞書１を記憶する。
【００３１】
辞書１記憶部１３は更に、受信部１８で後述する２次認識結果データを受信したことを示すフラグが生成されたことを確認した場合、受信部１８で受信されたデータを辞書１に記憶する。１次音声認識部１４は、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの夫々とを比較することにより１次音声認識を行う。
【００３２】
１次音声認識部１４は更に、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの何れかとが一致した場合、つまり、１次音声認識ができた場合、１次音声認識ができたことを示すフラグと１次音声認識結果である１次認識結果データとを生成し、一方、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの何れもが一致しなかった場合、つまり、１次音声認識ができなかった場合、１次音声認識ができなかったことを示すフラグを生成する。
【００３３】
選択部１５は、クライアント１０で生成された複数のデータからクライアント１０からサーバ２０へ送信すべきデータを選択する。選択部１５は更に、１次音声認識部１４で１次音声認識ができたことを示すフラグが生成されたことを確認した場合、１次音声認識部１４で生成された１次認識結果データを選択し、１次音声認識部１４で１次音声認識ができなかったことを示すフラグが生成されたことを確認した場合、音声分析部１２で生成された音声データを選択する。送信部１６は、選択部１５で選択されたデータをサーバ２０へ送信する。制御部１７は、クライアント１０側のＣＰＵを備え、１１〜１６，１８の夫々の動作を制御する。
【００３４】
受信部１８は、サーバ２０から送信されたデータを受信する。受信部１８は更に、受信したデータが２次認識結果データである場合、２次認識結果データを受信したことを示すフラグを生成する。
【００３５】
次に、サーバ２０の構成について説明する。２１は受信部、２２は辞書２記憶部、２３は２次音声認識部、２４は制御部、２５は選択部、２６は送信部である。
【００３６】
受信部２１は、クライアント１０から送信されたデータを受信する。受信部２１は更に、受信したデータが音声データである場合、音声データを受信したことを示すフラグを生成し、受信したデータが１次認識結果データである場合、１次認識結果データを受信したことを示すフラグを生成する。辞書２記憶部２２は、２次音声認識を行う際に用いる複数の辞書データより構成される辞書２を記憶する。２次音声認識部２３は、受信部２１で受信されたデータと辞書２記憶部２２の辞書２に記憶された複数のデータの夫々とを比較することにより２次音声認識を行う。
【００３７】
２次音声認識部２３は更に、受信部２１で音声データを受信したことを示すフラグが生成されたことを確認した場合、受信部２１で受信されたデータと辞書２記憶部２２の辞書２に記憶された複数のデータの夫々とを比較することにより２次音声認識を行い、２次音声認識を終了したことを示すフラグと２次音声認識結果データである２次認識結果データとを生成し、この２次認識結果データを音声認識システムの認識結果データとして扱い、受信部２１で１次認識結果データを受信したことを示すフラグが生成されたことを確認した場合、受信部２１で受信されたデータを音声認識システムの認識結果データとして扱う。
【００３８】
制御部２４は、サーバ２０側のＣＰＵを備え、２１〜２３，２５，２６の夫々の動作を制御する。選択部２５は、サーバ２０で生成された複数のデータからサーバ２０からクライアント１０へ送信すべきデータを選択する。選択部２５は更に、２次音声認識部２３で２次音声認識を終了したことを示すフラグが生成されたことを確認した場合、２次音声認識部２３で生成された２次認識結果データを選択する。送信部２６は、選択部２５で選択されたデータをクライアント１０へ送信する。
【００３９】
図４に実施の形態２における音声認識システムで行われる処理手順のフローチャートを示す。図４に示すように、Ｓ２００においてクライアント１０に音声が入力されると処理を開始しＳ２０１へ移行する。Ｓ２０１において、クライアント１０で音声データを生成しＳ２０２へ移行する。Ｓ２０２において、クライアント１０で辞書１を用いて１次音声認識を行いＳ２０３へ移行する。Ｓ２０３において、クライアント１０で１次音声認識が可能であるかを確認し、１次音声認識が可能である場合、Ｓ２０４へ移行し、１次音声認識が不可能である場合、Ｓ２０８へ移行する。Ｓ２０４において、クライアント１０でサーバ２０へ１次認識結果データを送信しＳ２０５へ移行する。Ｓ２０５において、サーバ２０で１次認識結果データを受信しＳ２０６へ移行する。Ｓ２０６において、サーバ２０で１次認識結果データを音声認識システムの認識結果データとして得てＳ２０７へ移行する。
【００４０】
Ｓ２０８において、クライアント１０でサーバ２０へ音声データを送信しＳ２０９へ移行する。Ｓ２０９において、サーバ２０で音声データを受信しＳ２１０へ移行する。Ｓ２１０において、サーバ２０で辞書２を用いて２次音声認識を行い２次認識結果データを音声認識システムの認識結果データとして得てＳ２１１へ移行する。Ｓ２１１において、サーバ２０でクライアント１０へ２次認識結果データを送信しＳ２１２へ移行する。Ｓ２１２において、クライアント１０で２次認識結果データを受信しＳ２１３へ移行する。Ｓ２１３においてクライアント１０で２次認識結果データを辞書１に記憶しＳ２０７へ移行する。Ｓ２０７において、処理を終了する。
【００４１】
（実施の形態３）
図５は実施の形態３における音声認識システムの構成図である。図５において、１０はクライアント、２０はサーバである。
【００４２】
次に、クライアント１０の構成について説明する。１１はマイクロフオン、１２は音声分析部、１３は辞書１記憶部、１４は１次音声認識部、１５は選択部、１６は送信部、１７は制御部、１８は受信部、１９は辞書１管理部である。
【００４３】
マイクロフオン１１は、音声を入力する。音声分析部１２は、マイクロフオン１１に入力された音声を分析し、音声データを生成する。辞書１記憶部１３は、１次音声認識を行う際に用いる複数の辞書データより構成される辞書１を記憶する。
【００４４】
辞書１記憶部１３は更に、受信部１８で後述する２次認識結果データを受信したことを示すフラグが生成されたことを確認した場合、辞書１における辞書データを記憶するためのスペースの有無を確認し、辞書１に辞書データを記憶するためのスペースが有る場合、受信部１８で受信されたデータを辞書１に記憶し、一方、辞書１に辞書データを記憶するためのスペースが無い場合、辞書１管理部１９で生成された削除アドレスデータに対応する辞書１の辞書データを削除し、受信部１８で受信されたデータを辞書１に記憶する。
【００４５】
１次音声認識部１４は、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの夫々とを比較することにより１次音声認識を行う。１次音声認識部１４は更に、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの何れかとが一致した場合、つまり、１次音声認識ができた場合、１次音声認識ができたことを示すフラグと１次音声認識結果である１次認識結果データとを生成し、一方、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの何れもが一致しなかった場合、つまり、１次音声認識ができなかった場合、１次音声認識ができなかったことを示すフラグを生成する。
【００４６】
選択部１５は、クライアント１０で生成された複数のデータからクライアント１０からサーバ２０へ送信すべきデータを選択する。選択部１５は更に、１次音声認識部１４で１次音声認識ができたことを示すフラグが生成されたことを確認した場合、１次音声認識部１４で生成された１次認識結果データを選択し、１次音声認識部１４で１次音声認識ができなかったことを示すフラグが生成されたことを確認した場合、音声分析部１２で生成された音声データを選択する。送信部１６は、選択部１５で選択されたデータをサーバ２０へ送信する。
【００４７】
制御部１７は、クライアント１０側のＣＰＵを備え、１１〜１６，１８，１９の夫々の動作を制御する。受信部１８は、サーバ２０から送信されたデータを受信する。受信部１８は更に、受信したデータが２次認識結果データである場合、２次認識結果データを受信したことを示すフラグを生成する。
【００４８】
辞書１管理部１９は、１次音声認識部１４における１次音声認識が行われる毎に、辞書１記憶部１３の辞書１に記憶された複数の辞書データの夫々について、１次音声認識部１４における１次音声認識を可能とした確率を記憶し、辞書１の複数の辞書データを管理する。辞書１管理部１９は更に、１次音声認識における音声データとの比較に用いられた回数に対する音声データと一致した回数の割合、つまり、１次音声認識可能確率を算出し、辞書データの１次音声認識可能確率と辞書データの格納場所、つまり、辞書データのアドレスとを関連付けて１次音声認識可能確率テーブルに記憶する。辞書１管理部１９は更に、１次音声認識可能確率テーブルを参照し、１次音声認識可能確率が最も低い辞書データのアドレスを示す削除アドレスデータを生成する。
【００４９】
次に、サーバ２０の構成について説明する。２１は受信部、２２は辞書２記憶部、２３は２次音声認識部、２４は制御部、２５は選択部、２６は送信部である。
【００５０】
受信部２１は、クライアント１０から送信されたデータを受信する。受信部２１は更に、受信したデータが音声データである場合、音声データを受信したことを示すフラグを生成し、受信したデータが１次認識結果データである場合、１次認識結果データを受信したことを示すフラグを生成する。辞書２記憶部２２は、２次音声認識を行う際に用いる複数の辞書データより構成される辞書２を記憶する。２次音声認識部２３は、受信部２１で受信されたデータと辞書２記憶部２２の辞書２に記憶された複数のデータの夫々とを比較することにより２次音声認識を行う。
【００５１】
２次音声認識部２３は更に、受信部２１で音声データを受信したことを示すフラグが生成されたことを確認した場合、受信部２１で受信されたデータと辞書２記憶部２２の辞書２に記憶された複数のデータの夫々とを比較することにより２次音声認識を行い、２次音声認識を終了したことを示すフラグと２次音声認識結果データである２次認識結果データとを生成し、この２次認識結果データを音声認識システムの認識結果データとして扱い、受信部２１で１次認識結果データを受信したことを示すフラグが生成されたことを確認した場合、受信部２１で受信されたデータを音声認識システムの認識結果データとして扱う。
【００５２】
制御部２４は、サーバ２０側のＣＰＵを備え、２１〜２３，２５，２６の夫々の動作を制御する。選択部２５は、サーバ２０で生成された複数のデータからサーバ２０からクライアント１０へ送信すべきデータを選択する。選択部２５は更に、２次音声認識部２３でフラグが生成されたことを確認した場合、２次音声認識部２３で生成された２次認識結果データを選択する。送信部２６は、選択部２５で選択されたデータをクライアント１０へ送信する。
【００５３】
図６に実施の形態３における音声認識システムで行われる処理手順のフローチャートを示す。図６に示すように、Ｓ２００においてクライアント１０に音声が入力されると処理を開始しＳ２０１へ移行する。Ｓ２０１において、クライアント１０で音声データを生成しＳ２０２へ移行する。Ｓ２０２において、クライアント１０で辞書１を用いて１次音声認識を行いＳ２０３へ移行する。Ｓ２０３において、クライアント１０で１次音声認識が可能であるかを確認し、１次音声認識が可能である場合、Ｓ２０４へ移行し、１次音声認識が不可能である場合、Ｓ２０８へ移行する。Ｓ２０４において、クライアント１０でサーバ２０へ１次認識結果データを送信しＳ２０５へ移行する。Ｓ２０５において、サーバ２０で１次認識結果データを受信しＳ２０６へ移行する。Ｓ２０６において、サーバ２０で１次認識結果データを音声認識システムの認識結果データとして得てＳ２０７へ移行する。
【００５４】
Ｓ２０８において、クライアント１０でサーバ２０へ音声データを送信しＳ２０９へ移行する。Ｓ２０９において、サーバ２０で音声データを受信しＳ２１０へ移行する。Ｓ２１０において、サーバ２０で辞書２を用いて２次音声認識を行い２次認識結果データを音声認識システムの認識結果データとして得てＳ２１１へ移行する。Ｓ２１１において、サーバ２０でクライアント１０へ２次認識結果データを送信しＳ２１２へ移行する。Ｓ２１２において、クライアント１０で２次認識結果データを受信しＳ２１４へ移行する。Ｓ２１４において、クライアント１０で辞書データを記憶するスペースが辞書１に有るかを確認し、辞書データを記憶するスペースが辞書１に有る場合、Ｓ２１３へ移行し、辞書データを記憶するスペースが辞書１に無い場合、Ｓ２１５へ移行する。Ｓ２１５において、クライアント１０で辞書１から１次音声認識可能確率が最も低い辞書データを削除しＳ２１３へ移行する。Ｓ２１３においてクライアント１０で２次認識結果データを辞書１に記憶しＳ２０７へ移行する。Ｓ２０７において、処理を終了する。
【００５５】
（実施の形態４）
図７は実施の形態４における音声認識システムの構成図である。図７において、１０はクライアント、２０はサーバである。
【００５６】
次に、クライアント１０の構成について説明する。１１はマイクロフオン、１２は音声分析部、１３は辞書１記憶部、１４は１次音声認識部、１５は選択部、１６は送信部、１７は制御部、１８は受信部、３０は音声識別部である。
【００５７】
マイクロフオン１１は、音声を入力する。音声分析部１２は、マイクロフオン１１に入力された音声を分析し、音声データを生成する。音声識別部３０は、音声分析部１２で生成された音声データを用いて音声を入力した話者の特定を行う。音声識別部３０は更に、話者を特定した場合、話者を特定したことを示すフラグと話者が誰であるかを示す話者データとを生成する。辞書１記憶部１３は、辞書１に１次音声認識を行う際に用いる複数の辞書データの夫々をその辞書データを必要とする話者と関連付けて記憶する。
【００５８】
辞書１記憶部１３は更に、音声識別部３０で話者を特定したことを示すフラグが生成されたことを確認した場合、音声識別部３０で生成された話者データに対応する話者以外の話者に関連付けられた辞書データを辞書１から削除し、受信部１８で後述する話者データに対応する話者と関連付けられた辞書データを受信したことを示すフラグが生成されたことを確認した場合、受信部１８で受信されたデータをその辞書データを必要とする話者と関連付けて辞書１に記憶する。１次音声認識部１４は、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの夫々とを比較することにより１次音声認識を行う。
【００５９】
１次音声認識部１４は更に、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの何れかとが一致した場合、つまり、１次音声認識ができた場合、１次音声認識ができたことを示すフラグと１次音声認識結果である１次認識結果データとを生成し、一方、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの何れもが一致しなかった場合、つまり、１次音声認識ができなかった場合、１次音声認識ができなかったことを示すフラグを生成する。
【００６０】
選択部１５は、クライアント１０で生成された複数のデータからクライアント１０からサーバ２０へ送信すべきデータを選択する。選択部１５は更に、１次音声認識部１４で１次音声認識ができたことを示すフラグが生成されたことを確認した場合、１次音声認識部１４で生成された１次認識結果データを選択し、１次音声認識部１４で１次音声認識ができなかったことを示すフラグが生成されたことを確認した場合、音声分析部１２で生成された音声データを選択し、音声識別部３０で話者を特定したことを示すフラグが生成されたことを確認した場合、音声識別部３０で生成された話者データを選択する。
【００６１】
送信部１６は、選択部１５で選択されたデータをサーバ２０へ送信する。制御部１７は、クライアント１０側のＣＰＵを備え、１１〜１６，１８，３０の夫々の動作を制御する。受信部１８は、サーバ２０から送信されたデータを受信する。受信部１８は更に、受信したデータが２次認識結果データである場合、２次認識結果データを受信したことを示すフラグを生成し、受信したデータが話者データに対応する話者と関連付けられた辞書データである場合、話者データに対応する話者と関連付けられた辞書データを受信したことを示すフラグを生成する。
【００６２】
次に、サーバ２０の構成について説明する。２１は受信部、２２は辞書２記憶部、２３は２次音声認識部、２４は制御部、２５は選択部、２６は送信部である。
【００６３】
受信部２１は、クライアント１０から送信されたデータを受信する。受信部２１は更に、受信したデータが音声データである場合、音声データを受信したことを示すフラグを生成し、受信したデータが１次認識結果データである場合、１次認識結果データを受信したことを示すフラグを生成し、受信したデータが話者データである場合、話者データを受信したことを示すフラグを生成する。辞書２記憶部２２は、辞書２に２次音声認識を行う際に用いる複数の辞書データの夫々をその辞書データを必要とする話者と関連付けて記憶する。２次音声認識部２３は、受信部２１で受信されたデータと辞書２記憶部２２の辞書２に記憶された複数のデータの夫々とを比較することにより２次音声認識を行う。
【００６４】
２次音声認識部２３は更に、受信部２１で音声データを受信したことを示すフラグが生成されたことを確認した場合、受信部２１で受信されたデータと辞書２記憶部２２の辞書２に記憶された複数のデータの夫々とを比較することにより２次音声認識を行い、２次音声認識を終了したことを示すフラグと２次音声認識結果データである２次認識結果データとを生成し、この２次認識結果データを音声認識システムの認識結果データとして扱い、受信部２１で１次認識結果データを受信したことを示すフラグが生成されたことを確認した場合、受信部２１で受信されたデータを音声認識システムの認識結果データとして扱う。
【００６５】
制御部２４は、サーバ２０側のＣＰＵを備え、２１〜２３，２５，２６の夫々の動作を制御する。選択部２５は、サーバ２０で生成された複数のデータからサーバ２０からクライアント１０へ送信すべきデータを選択する。選択部２５は更に、２次音声認識部２３で２次音声認識を終了したことを示すフラグが生成されたことを確認した場合、２次音声認識部２３で生成された２次認識結果データを選択し、受信部２１で話者データを受信したことを示すフラグが生成されたことを確認した場合、受信部２１で受信された話者データに対応する話者に関連付けられた辞書データを辞書２から選択する。送信部２６は、選択部２５で選択されたデータをクライアント１０へ送信する。
【００６６】
図８に実施の形態４における音声認識システムで行われる処理手順のフローチャートを示す。図８に示すように、Ｓ２００においてクライアント１０に音声が入力されると処理を開始しＳ２０１へ移行する。Ｓ２０１において、クライアント１０で音声データを生成しＳ２１６へ移行する。Ｓ２１６において、クライアント１０で音声識別を行い話者データを生成しＳ２１７へ移行する。Ｓ２１７において、クライアント１０で辞書１から話者データに対応する話者以外の話者に関連付けられた辞書データを削除しＳ２１８へ移行する。Ｓ２１８において、クライアント１０でサーバ２０へ話者データを送信しＳ２１９へ移行する。Ｓ２１９において、サーバ２０で話者データを受信しＳ２２０へ移行する。Ｓ２２０において、サーバ２０でクライアント１０へ辞書２の話者データに対応する話者に関連付けられた辞書データを送信しＳ２２１へ移行する。Ｓ２２１において、クライアント１０で話者データに対応する話者に関連付けられた辞書データを受信しＳ２２２へ移行する。Ｓ２２２において、クライアント１０で話者データに対応する話者に関連付けられた辞書データを辞書１に記憶しＳ２０２へ移行する。Ｓ２０２において、クライアント１０で辞書１を用いて１次音声認識を行いＳ２０３へ移行する。Ｓ２０３において、クライアント１０で１次音声認識が可能であるかを確認し、１次音声認識が可能である場合、Ｓ２０４へ移行し、１次音声認識が不可能である場合、Ｓ２０８へ移行する。Ｓ２０４において、クライアント１０でサーバ２０へ１次認識結果データを送信しＳ２０５へ移行する。Ｓ２０５において、サーバ２０で１次認識結果データを受信しＳ２０６へ移行する。Ｓ２０６において、サーバ２０で１次認識結果データを音声認識システムの認識結果データとして得てＳ２０７へ移行する。
【００６７】
Ｓ２０８において、クライアント１０でサーバ２０へ音声データを送信しＳ２０９へ移行する。Ｓ２０９において、サーバ２０で音声データを受信しＳ２１０へ移行する。Ｓ２１０において、サーバ２０で辞書２を用いて２次音声認識を行い２次認識結果データを音声認識システムの認識結果データとして得てＳ２０７へ移行する。Ｓ２０７において、処理を終了する。
【００６８】
（実施の形態５）
図９は実施の形態５における音声認識システムの構成図である。図９において、１０はクライアント、２０はサーバである。
【００６９】
次に、クライアント１０の構成について説明する。１１はマイクロフオン、１２は音声分析部、１３は辞書１記憶部、１４は１次音声認識部、１５は選択部、１６は送信部、１７は制御部、１８は受信部、３１は伝送量監視部である。
【００７０】
マイクロフオン１１は、音声を入力する。音声分析部１２は、マイクロフオン１１に入力された音声を分析し、音声データを生成する。辞書１記憶部１３は、１次音声認識を行う際に用いる複数の辞書データを、辞書１を構成する辞書領域１と辞書領域２に分けて記憶する。１次音声認識部１４は、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの夫々とを比較することにより１次音声認識を行う。
【００７１】
１次音声認識部１４は更に、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの何れかとが一致した場合、つまり、１次音声認識ができた場合、１次音声認識ができたことを示すフラグと１次音声認識結果である１次認識結果データとを生成し、一方、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの何れもが一致しなかった場合、つまり、１次音声認識ができなかった場合、１次音声認識ができなかったことを示すフラグを生成する。
【００７２】
１次音声認識部１４は更に、伝送量監視部３１で後述するデータ伝送量が或る閾値以上であることを示すフラグが生成されたことを確認した場合、辞書１の辞書領域１と辞書領域２の何れかに記憶された辞書データと前記音声データとを比較することにより１次音声認識を行い、伝送量監視部３１で後述するデータ伝送量が或る閾値未満であることを示すフラグが生成されたことを確認した場合辞書１の辞書領域１に記憶された辞書データと前記音声データとを比較することにより１次音声認識を行う。選択部１５は、クライアント１０で生成された複数のデータからクライアント１０からサーバ２０へ送信すべきデータを選択する。
【００７３】
選択部１５は更に、１次音声認識部１４で１次音声認識ができたことを示すフラグが生成されたことを確認した場合、１次音声認識部１４で生成された１次認識結果データを選択し、１次音声認識部１４で１次音声認識ができなかったことを示すフラグが生成されたことを確認した場合、音声分析部１２で生成された音声データを選択する。送信部１６は、選択部１５で選択されたデータをサーバ２０へ送信する。制御部１７は、クライアント１０側のＣＰＵを備え、１１〜１６，１８，３１の夫々の動作を制御する。受信部１８は、サーバ２０から送信されたデータを受信する。
【００７４】
伝送量監視部３１は、クライアント１０とサーバ２０との間のデータ伝送量を監視する。伝送量監視部３１は更に、送信部１６で送信されたデータ量と受信部１８で受信されたデータ量との和、つまり、クライアント１０とサーバ２０との間のデータ伝送量を算出し、クライアント１０とサーバ２０との間のデータ伝送量が或る閾値以上である場合、クライアント１０とサーバ２０との間のデータ伝送量が或る閾値以上であることを示すフラグを生成し、クライアント１０とサーバ２０との間のデータ伝送量が或る閾値未満である場合、クライアント１０とサーバ２０との間のデータ伝送量が或る閾値未満であることを示すフラグを生成する。
【００７５】
次に、サーバ２０の構成について説明する。２１は受信部、２２は辞書２記憶部、２３は２次音声認識部、２４は制御部、２５は選択部、２６は送信部である。
【００７６】
受信部２１は、クライアント１０から送信されたデータを受信する。受信部２１は更に、受信したデータが音声データである場合、音声データを受信したことを示すフラグを生成し、受信したデータが１次認識結果データである場合、１次認識結果データを受信したことを示すフラグを生成する。辞書２記憶部２２は、２次音声認識を行う際に用いる複数の辞書データより構成される辞書２を記憶する。２次音声認識部２３は、受信部２１で受信されたデータと辞書２記憶部２２の辞書２に記憶された複数のデータの夫々とを比較することにより２次音声認識を行う。
【００７７】
２次音声認識部２３は更に、受信部２１で音声データを受信したことを示すフラグが生成されたことを確認した場合、受信部２１で受信されたデータと辞書２記憶部２２の辞書２に記憶された複数のデータの夫々とを比較することにより２次音声認識を行い、２次音声認識結果データである２次認識結果データを生成し、この２次認識結果データを音声認識システムの認識結果データとして扱い、受信部２１で１次認識結果データを受信したことを示すフラグが生成されたことを確認した場合、受信部２１で受信されたデータを音声認識システムの認識結果データとして扱う。
【００７８】
制御部２４は、サーバ２０側のＣＰＵを備え、２１〜２３，２５，２６の夫々の動作を制御する。選択部２５は、サーバ２０で生成された複数のデータからサーバ２０からクライアント１０へ送信すべきデータを選択する。送信部２６は、選択部２５で選択されたデータをクライアント１０へ送信する。
【００７９】
図１０に実施の形態５における音声認識システムで行われる処理手順のフローチャートを示す。図１０に示すように、Ｓ２００においてクライアント１０に音声が入力されると処理を開始しＳ２０１へ移行する。Ｓ２０１において、クライアント１０で音声データを生成しＳ２２３へ移行する。Ｓ２２３において、クライアント１０とサーバ２０との間のデータ伝送量は閾値以上であるかを確認し、クライアント１０とサーバ２０との間のデータ伝送量が閾値以上である場合、Ｓ２２４へ移行し、クライアント１０とサーバ２０との間のデータ伝送量が閾値未満である場合、Ｓ２２５へ移行する。Ｓ２２４において、クライアント１０で辞書１の辞書領域１と辞書領域２とを用いて１次音声認識を行いＳ２０３へ移行する。Ｓ２２５において、クライアント１０で辞書１の辞書領域１を用いて１次音声認識を行いＳ２０３へ移行する。
【００８０】
Ｓ２０３において、クライアント１０で１次音声認識が可能であるかを確認し、１次音声認識が可能である場合、Ｓ２０４へ移行し、１次音声認識が不可能である場合、Ｓ２０８へ移行する。Ｓ２０４において、クライアント１０でサーバ２０へ１次認識結果データを送信しＳ２０５へ移行する。Ｓ２０５において、サーバ２０で１次認識結果データを受信しＳ２０６へ移行する。Ｓ２０６において、サーバ２０で１次認識結果データを音声認識システムの認識結果データとして得てＳ２０７へ移行する。Ｓ２０８において、クライアント１０でサーバ２０へ音声データを送信しＳ２０９へ移行する。Ｓ２０９において、サーバ２０で音声データを受信しＳ２１０へ移行する。Ｓ２１０において、サーバ２０で辞書２を用いて２次音声認識を行い２次認識結果データを音声認識システムの認識結果データとして得てＳ２０７へ移行する。Ｓ２０７において、処理を終了する。
【００８１】
（実施の形態６）
図１１は実施の形態６における音声認識システムの構成図である。図１１において、１０はクライアント、２０はサーバである。
【００８２】
次に、クライアント１０の構成について説明する。１１はマイクロフオン、１２は音声分析部、１３は辞書１記憶部、１４は１次音声認識部、１５は選択部、１６は送信部、１７は制御部、１８は受信部、３２はサーバ監視部である。
【００８３】
マイクロフオン１１は、音声を入力する。音声分析部１２は、マイクロフオン１１に入力された音声を分析し、音声データを生成する。辞書１記憶部１３は、１次音声認識を行う際に用いる複数の辞書データを、辞書１を構成する辞書領域１と辞書領域２に分けて記憶する。１次音声認識部１４は、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの夫々とを比較することにより１次音声認識を行う。
【００８４】
１次音声認識部１４は更に、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの何れかとが一致した場合、つまり、１次音声認識ができた場合、１次音声認識ができたことを示すフラグと１次音声認識結果である１次認識結果データとを生成し、一方、音声分析部１２で生成された音声データと辞書１記憶部１３の辞書１に記憶された複数のデータの何れもが一致しなかった場合、つまり、１次音声認識ができなかった場合、１次音声認識ができなかったことを示すフラグを生成する。
【００８５】
１次音声認識部１４は更に、サーバ監視部３２で後述するサーバ２０側ＣＰＵ使用率が或る閾値以上であることを示すフラグが生成されたことを確認した場合、辞書１の辞書領域１と辞書領域２の何れかに記憶された辞書データと前記音声データとを比較することにより１次音声認識を行い、伝送量監視部３１で後述するサーバ２０側ＣＰＵ使用率が或る閾値未満であることを示すフラグが生成されたことを確認した場合辞書１の辞書領域１に記憶された辞書データと前記音声データとを比較することにより１次音声認識を行う。選択部１５は、クライアント１０で生成された複数のデータからクライアント１０からサーバ２０へ送信すべきデータを選択する。
【００８６】
選択部１５は更に、１次音声認識部１４で１次音声認識ができたことを示すフラグが生成されたことを確認した場合、１次音声認識部１４で生成された１次認識結果データを選択し、１次音声認識部１４で１次音声認識ができなかったことを示すフラグが生成されたことを確認した場合、音声分析部１２で生成された音声データを選択する。送信部１６は、選択部１５で選択されたデータをサーバ２０へ送信する。制御部１７は、クライアント１０側のＣＰＵを備え、１１〜１６，１８，３２の夫々の動作を制御する。受信部１８は、サーバ２０から送信されたデータを受信する。受信部１８は更に、受信したデータがサーバ２０側ＣＰＵ使用率データである場合、サーバ２０側ＣＰＵ使用率データを受信したことを示すフラグを生成する。
【００８７】
サーバ監視部３２は、サーバ２０側のＣＰＵの使用率を監視する。サーバ監視部３２は更に、受信部１８でサーバ２０側ＣＰＵ使用率データを受信したことを示すフラグが生成されたことを確認した場合、受信部１８で受信されたデータを用いてサーバ２０側ＣＰＵ使用率を算出し、サーバ２０側ＣＰＵ使用率が或る閾値以上である場合、サーバ２０側ＣＰＵ使用率が或る閾値以上であることを示すフラグを生成し、サーバ２０側ＣＰＵ使用率が或る閾値未満である場合、サーバ２０側ＣＰＵ使用率が或る閾値未満であることを示すフラグを生成する。
【００８８】
次に、サーバ２０の構成について説明する。２１は受信部、２２は辞書２記憶部、２３は２次音声認識部、２４は制御部、２５は選択部、２６は送信部である。
【００８９】
受信部２１は、クライアント１０から送信されたデータを受信する。受信部２１は更に、受信したデータが音声データである場合、音声データを受信したことを示すフラグを生成し、受信したデータが１次認識結果データである場合、１次認識結果データを受信したことを示すフラグを生成する。辞書２記憶部２２は、２次音声認識を行う際に用いる複数の辞書データより構成される辞書２を記憶する。２次音声認識部２３は、受信部２１で受信されたデータと辞書２記憶部２２の辞書２に記憶された複数のデータの夫々とを比較することにより２次音声認識を行う。
【００９０】
２次音声認識部２３は更に、受信部２１で音声データを受信したことを示すフラグが生成されたことを確認した場合、受信部２１で受信されたデータと辞書２記憶部２２の辞書２に記憶された複数のデータの夫々とを比較することにより２次音声認識を行い、２次音声認識結果データである２次認識結果データを生成し、この２次認識結果データを音声認識システムの認識結果データとして扱い、受信部２１で１次認識結果データを受信したことを示すフラグが生成されたことを確認した場合、受信部２１で受信されたデータを音声認識システムの認識結果データとして扱う。制御部２４は、サーバ２０側のＣＰＵを備え、２１〜２３，２５，２６の夫々の動作を制御する。
【００９１】
制御部２４は更に、サーバ２０側のＣＰＵの使用率を算出し、サーバ２０側のＣＰＵの使用率を算出したことを示すフラグとサーバ２０側のＣＰＵの使用率を示すサーバ２０側ＣＰＵ使用率データとを生成する。選択部２５は、サーバ２０で生成された複数のデータからサーバ２０からクライアント１０へ送信すべきデータを選択する。選択部２５は更に、制御部２４でサーバ２０側のＣＰＵの使用率を算出したことを示すフラグが生成されたことを確認した場合、制御部２４で生成されたサーバ２０側ＣＰＵ使用率データを選択する。送信部２６は、選択部２５で選択されたデータをクライアント１０へ送信する。
【００９２】
図１２に実施の形態６における音声認識システムで行われる処理手順のフローチャートを示す。図１２に示すように、Ｓ２００においてクライアント１０に音声が入力されると処理を開始しＳ２０１へ移行する。Ｓ２０１において、クライアント１０で音声データを生成しＳ２２６へ移行する。Ｓ２２６において、サーバ２０側のＣＰＵの使用率は閾値以上であるかを確認し、サーバ２０側のＣＰＵの使用率が閾値以上である場合、Ｓ２２４へ移行し、サーバ２０側のＣＰＵの使用率が閾値未満である場合、Ｓ２２５へ移行する。Ｓ２２４において、クライアント１０で辞書１の辞書領域１と辞書領域２とを用いて１次音声認識を行いＳ２０３へ移行する。Ｓ２２５において、クライアント１０で辞書１の辞書領域１を用いて１次音声認識を行いＳ２０３へ移行する。
【００９３】
Ｓ２０３において、クライアント１０で１次音声認識が可能であるかを確認し、１次音声認識が可能である場合、Ｓ２０４へ移行し、１次音声認識が不可能である場合、Ｓ２０８へ移行する。Ｓ２０４において、クライアント１０でサーバ２０へ１次認識結果データを送信しＳ２０５へ移行する。Ｓ２０５において、サーバ２０で１次認識結果データを受信しＳ２０６へ移行する。Ｓ２０６において、サーバ２０で１次認識結果データを音声認識システムの認識結果データとして得てＳ２０７へ移行する。Ｓ２０８において、クライアント１０でサーバ２０へ音声データを送信しＳ２０９へ移行する。Ｓ２０９において、サーバ２０で音声データを受信しＳ２１０へ移行する。Ｓ２１０において、サーバ２０で辞書２を用いて２次音声認識を行い２次認識結果データを音声認識システムの認識結果データとして得てＳ２０７へ移行する。Ｓ２０７において、処理を終了する。
【００９４】
【発明の効果】
以上のように本発明によれば、サーバ側ＣＰＵの負荷と、クライアントとサーバとの間のネットワーク帯域の負荷とを抑えつつ音声認識を行うことを可能とすることができる。
【図面の簡単な説明】
【図１】実施の形態１における音声認識システムの構成を示す図
【図２】実施の形態１における音声認識システムで行われる処理手順のフローチャート
【図３】実施の形態２における音声認識システムの構成を示す図
【図４】実施の形態２における音声認識システムで行われる処理手順のフローチャート
【図５】実施の形態３における音声認識システムの構成を示す図
【図６】実施の形態３における音声認識システムで行われる処理手順のフローチャート
【図７】実施の形態４における音声認識システムの構成を示す図
【図８】実施の形態４における音声認識システムで行われる処理手順のフローチャート
【図９】実施の形態５における音声認識システムの構成を示す図
【図１０】実施の形態５における音声認識システムで行われる処理手順のフローチャート
【図１１】実施の形態６における音声認識システムの構成を示す図
【図１２】実施の形態６における音声認識システムで行われる処理手順のフローチャート
【符号の説明】
１０　クライアント
１１　マイクロフオン
１２　音声分析部
１３　辞書１記憶部
１４　１次音声認識部
１５　選択部
１６　送信部
１７　制御部
１８　受信部
１９　辞書１管理部
２０　サーバ
２１　受信部
２２　辞書２記憶部
２３　２次音声認識部
２４　制御部
２５　選択部
２６　送信部
３０　音声識別部
３１　伝送量監視部
３２　サーバ監視部
Ｓ２００　クライアント１０に音声が入力されると処理を開始するステップ
Ｓ２０１　クライアント１０で音声データを生成するステップ
Ｓ２０２　クライアント１０で辞書１を用いて１次音声認識を行うステップ
Ｓ２０３　クライアント１０で１次音声認識が可能であるかを確認するステップ
Ｓ２０４　クライアント１０でサーバ２０へ１次認識結果データを送信するステップ
Ｓ２０５　サーバ２０で１次認識結果データを受信するステップ
Ｓ２０６　サーバ２０で１次認識結果データを音声認識システムの認識結果データとして得るステップ
Ｓ２０７　処理を終了するステップ
Ｓ２０８　クライアント１０でサーバ２０へ音声データを送信するステップ
Ｓ２０９　サーバ２０で音声データを受信するステップ
Ｓ２１０　サーバ２０で辞書２を用いて２次音声認識を行い２次認識結果データを音声認識システムの認識結果データとして得るステップ
Ｓ２１１　サーバ２０でクライアント１０へ２次認識結果データを送信するステップ
Ｓ２１２　クライアント１０で２次認識結果データを受信するステップ
Ｓ２１３　クライアント１０で２次認識結果データを辞書１に記憶するステップ
Ｓ２１４　クライアント１０で辞書データを記憶するスペースが辞書１に有るかを確認するステップ
Ｓ２１５　クライアント１０で辞書１から１次音声認識可能確率が最も低い辞書データを削除するステップ
Ｓ２１６　クライアント１０で音声識別を行い話者データを生成するステップ
Ｓ２１７　クライアント１０で辞書１から話者データに対応する話者以外の話者に関連付けられた辞書データを削除するステップ
Ｓ２１８　クライアント１０でサーバ２０へ話者データを送信するステップ
Ｓ２１９　サーバ２０で話者データを受信するステップ
Ｓ２２０　サーバ２０でクライアント１０へ辞書２の話者データに対応する話者に関連付けられた辞書データを送信するステップ
Ｓ２２１　クライアント１０で話者データに対応する話者に関連付けられた辞書データを受信するステップ
Ｓ２２２　クライアント１０で話者データに対応する話者に関連付けられた辞書データを辞書１に記憶するステップ
Ｓ２２３　クライアント１０とサーバ２０との間のデータ伝送量は閾値以上であるかを確認するステップ
Ｓ２２４　クライアント１０で辞書１の辞書領域１と辞書領域２とを用いて１次音声認識を行うステップ
Ｓ２２５　クライアント１０で辞書１の辞書領域１を用いて１次音声認識を行うステップ
Ｓ２２６　サーバ２０側のＣＰＵの使用率は閾値以上であるかを確認するステップ
【図１】
2004012653.tif 000003
【図２】
2004012653.tif 000004
【図３】
2004012653.tif 000005
【図４】
2004012653.tif 000006
【図５】
2004012653.tif 000007
【図６】
2004012653.tif 000008
【図７】
2004012653.tif 000009
【図８】
2004012653.tif 000010
【図９】
2004012653.tif 000011
【図１０】
2004012653.tif 000012
【図１１】
2004012653.tif 000013
【図１２】
2004012653.tif 000014