(57)【要約】【課題】従来の演算処理装置においては、少ない演算量で、対数値で表現される数値の元値の加算の対数演算を行えなかった。【解決手段】正数ｘ１の対数値Ｘ（Ｘ＝ｌｏｇａｘ１）および正数ｘ２の対数値Ｙ（Ｙ＝ｌｏｇａｘ２）を受け付け、ＸとＹのうちの大きい方の数値（Ａ）を取得し、ＸとＹのうちの小さい方の数値（Ｂ）を取得し、Ａ、Ｂを読み出し、「ｘ＝Ａ−Ｂ」を演算し、ｘに対応するパラメータ（ａｍ，ｂｍ）を、予め格納しているパラメータセットから読み出し、パラメータ（ａｍ，ｂｍ）、およびｘを用いて、「ｙ＝ａｍｘ＋ｂｍ」を演算し、ｙを取得し、Ａとｙを加算し、当該加算した結果を出力する演算処理装置により、少ない演算量で、対数値で表現される数値の元値の加算の対数演算を行える。【選択図】図１
2008152410.tif 000002
【特許請求の範囲】
【請求項１】
２つの正数（ｘ１，ｘ２）の加算の底ａ（ａ＞１）の対数値を算出する演算処理装置であって、
ｘの単調減少関数である数式１の関数について、ｆ（ｘ）上の点（０，ｌｏｇａ２）から点（ｘｍａｘ，ｆ（ｘｍａｘ））（ｘｍａｘは、ｆ（ｘ）が０と近似できるｘの最大値）までのグラフｆ（ｘ）をＭ（Ｍは２以上の整数）に区分し、当該Ｍに区分した各部分グラフを直線で近似した場合の当該直線を示す１次式「ａｍｘ＋ｂｍ」のパラメータａｍ、ｂｍと、前記Ｍに区分した各部分グラフを近似した２つの直線の交点のｘ座標値であり、隣り合う直線の交点のｘ座標値である「ｘｂｄ（ｍ）」の組であるパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））をＭ組格納しているパラメータセット格納部と、
【数１】
2008152410.tif 000019
正数ｘ１の対数値Ｘ（Ｘ＝ｌｏｇａｘ１）および正数ｘ２の対数値Ｙ（Ｙ＝ｌｏｇａｘ２）を受け付ける受付部と、
前記受付部が受け付けた前記Ｘと前記Ｙのうちの大きい方の数値（Ａ）を取得し、当該Ａを記憶媒体に格納する最大値取得部と、
前記受付部が受け付けた前記Ｘと前記Ｙのうちの小さい方の数値（Ｂ）を取得し、当該Ｂを記憶媒体に格納する最小値取得部と、
前記Ａおよび前記Ｂを読み出し、「ｘ＝Ａ−Ｂ」を演算し、ｘを取得する差演算部と、
前記差演算部が取得したｘに対応するパラメータ（ａｍ，ｂｍ）を、前記パラメータセット格納部から読み出すパラメータ取得部と、
前記パラメータ取得部が取得したパラメータ（ａｍ，ｂｍ）、および前記差演算部が算出したｘを用いて、「ｙ＝ａｍｘ＋ｂｍ」を演算し、ｙを取得する関数演算部と、
前記Ａと前記ｙを加算する加算部と、
前記加算部が算出した結果を出力する出力部を具備する演算処理装置。
【請求項２】
引数ｘに対して単調減少関数である数式１の「０＜＝ｘ＜＝ｘｍａｘ」の範囲におけるサンプル点｛（ｘｎ，ｆ（ｘｎ））｝ｎ＝１Ｎ（ＮはＭより大きい整数）であるサンプル点集合を格納しているサンプル点集合格納部と、
前記サンプル点集合を読み出し、ｆ（ｘ）上の点（０，ｌｏｇａ２）から点（ｘｍａｘ，ｆ（ｘｍａｘ）までのグラフｆ（ｘ）をＭに区分し、当該Ｍに区分した各部分グラフに属するサンプル点の集合であるＭ個の部分集合（部分集合のインデクスをｍ＝０，１，・・・，Ｍ−１、とする）を取得する部分集合取得部と、
前記Ｍ個の各部分集合に対して、線形回帰分析により直線「ａｍｘ＋ｂｍ」のａｍ、ｂｍを算出する部分集合パラメータ算出部と、
前記部分集合パラメータ算出部が算出した（ａｍ，ｂｍ）（ｍ＝０，１，２，・・・，Ｍ−１）を用いて、２つの一次式「ａｍｘ＋ｂｍ」と「ａｍ＋１ｘ＋ｂｍ＋１」の交点のｘ座標（ｘｂｄ（ｍ））を、各ｍに対して算出する境界算出部と、
前記部分集合パラメータ算出部が算出した各ａｍ、ｂｍ、および前記境界算出部が算出した各ｘｂｄ（ｍ）を組にしてパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））を構成し、前記パラメータセット格納部に蓄積するパラメータセット蓄積部をさらに具備する請求項１記載の演算処理装置。
【請求項３】
２つの正数（ｘ１，ｘ２）の加算の底ａ（０＜ａ＜１）の対数値を算出する演算処理装置であって、
ｘの単調減少関数である数式２の関数について、ｇ（ｘ）上の点（０，−ｌｏｇａ２）から点（ｘｍａｘ，ｇ（ｘｍａｘ））（ｘｍａｘは、ｇ（ｘ）が０と近似できるｘの最大値）までのグラフｇ（ｘ）をＭ（Ｍは２以上の整数）に区分し、当該Ｍに区分した各部分グラフを直線で近似した場合の当該直線を示す１次式「ａｍｘ＋ｂｍ」のパラメータａｍ、ｂｍと、前記Ｍに区分した各部分グラフを近似した２つの直線の交点のｘ座標値であり、隣り合う直線の交点のｘ座標値である「ｘｂｄ（ｍ）」の組であるパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））をＭ組格納しているパラメータセット格納部と、
【数２】
2008152410.tif 000020
正数ｘ１の対数値Ｘ（Ｘ＝ｌｏｇａｘ１）および正数ｘ２の対数値Ｙ（Ｙ＝ｌｏｇａｘ２）を受け付ける受付部と、
前記受付部が受け付けた前記Ｘと前記Ｙのうちの大きい方の数値（Ａ）を取得し、当該Ａを記憶媒体に格納する最大値取得部と、
前記受付部が受け付けた前記Ｘと前記Ｙのうちの小さい方の数値（Ｂ）を取得し、当該Ｂを記憶媒体に格納する最小値取得部と、
前記Ａおよび前記Ｂを読み出し、「ｘ＝Ａ−Ｂ」を演算し、ｘを取得する差演算部と、
前記差演算部が取得したｘに対応するパラメータ（ａｍ，ｂｍ）を、前記パラメータセット格納部から読み出すパラメータ取得部と、
前記パラメータ取得部が取得したパラメータ（ａｍ，ｂｍ）、および前記差演算部が算出したｘを用いて、「ｙ＝ａｍｘ＋ｂｍ」を演算し、ｙを取得する関数演算部と、
前記Ｂから前記ｙを減算する減算部と、
前記減算部が算出した結果を出力する出力部を具備する演算処理装置。
【請求項４】
引数ｘに対して単調減少関数である数式２の「０＜＝ｘ＜＝ｘｍａｘ」の範囲におけるサンプル点｛（ｘｎ，ｇ（ｘｎ））｝ｎ＝１Ｎ（ＮはＭより大きい整数）であるサンプル点集合を格納しているサンプル点集合格納部と、
前記サンプル点集合を読み出し、ｇ（ｘ）上の点（０，−ｌｏｇａ２）から点（ｘｍａｘ，ｇ（ｘｍａｘ）までのグラフｇ（ｘ）をＭに区分し、当該Ｍに区分した各部分グラフに属するサンプル点の集合であるＭ個の部分集合（部分集合のインデクスをｍ＝０，１，・・・，Ｍ−１、とする）を取得する部分集合取得部と、
前記Ｍ個の各部分集合に対して、線形回帰分析により直線「ａｍｘ＋ｂｍ」のａｍ、ｂｍを算出する部分集合パラメータ算出部と、
前記部分集合パラメータ算出部が算出した（ａｍ，ｂｍ）（ｍ＝０，１，２，・・・，Ｍ−１）を用いて、２つの一次式「ａｍｘ＋ｂｍ」と「ａｍ＋１ｘ＋ｂｍ＋１」の交点のｘ座標（ｘｂｄ（ｍ））を、各ｍに対して算出する境界算出部と、
前記部分集合パラメータ算出部が算出した各ａｍ、ｂｍ、および前記境界算出部が算出した各ｘｂｄ（ｍ）を組にしてパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））を構成し、前記パラメータセット格納部に蓄積するパラメータセット蓄積部をさらに具備する請求項３記載の演算処理装置。
【請求項５】
前記底ａがｅである請求項１から請求項４いずれか記載の演算処理装置。
【請求項６】
記憶媒体に、
ｘの単調減少関数である数式１の関数について、ｆ（ｘ）上の点（０，ｌｏｇａ２）から点（ｘｍａｘ，ｆ（ｘｍａｘ））（ｘｍａｘは、ｆ（ｘ）が０と近似できるｘの最大値）までのグラフｆ（ｘ）をＭ（Ｍは２以上の整数）に区分し、当該Ｍに区分した各部分グラフを直線で近似した場合の当該直線を示す１次式「ａｍｘ＋ｂｍ」のパラメータａｍ、ｂｍと、前記Ｍに区分した各部分グラフを近似した２つの直線の交点のｘ座標値であり、隣り合う直線の交点のｘ座標値である「ｘｂｄ（ｍ）」の組であるパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））をＭ組格納しており、
コンピュータに、
２つの正数（ｘ１，ｘ２）の加算の底ａ（ａ＞１）の対数値を算出させるプログラムであって、
コンピュータを、
正数ｘ１の対数値Ｘ（Ｘ＝ｌｏｇａｘ１）および正数ｘ２の対数値Ｙ（Ｙ＝ｌｏｇａｘ２）を受け付ける受付部と、
前記受付部が受け付けた前記Ｘと前記Ｙのうちの大きい方の数値（Ａ）を取得し、当該Ａを記憶媒体に格納する最大値取得部と、
前記受付部が受け付けた前記Ｘと前記Ｙのうちの小さい方の数値（Ｂ）を取得し、当該Ｂを記憶媒体に格納する最小値取得部と、
前記Ａおよび前記Ｂを読み出し、「ｘ＝Ａ−Ｂ」を演算し、ｘを取得する差演算部と、
前記差演算部が取得したｘに対応するパラメータ（ａｍ，ｂｍ）を、前記パラメータセット格納部から読み出すパラメータ取得部と、
前記パラメータ取得部が取得したパラメータ（ａｍ，ｂｍ）、および前記差演算部が算出したｘを用いて、「ｙ＝ａｍｘ＋ｂｍ」を演算し、ｙを取得する関数演算部と、
前記Ａと前記ｙを加算する加算部と、
前記加算部が算出した結果を出力する出力部として機能させるためのプログラム。
【請求項７】
記憶媒体に、
ｘの単調減少関数である数式２の関数について、ｇ（ｘ）上の点（０，−ｌｏｇａ２）から点（ｘｍａｘ，ｇ（ｘｍａｘ））（ｘｍａｘは、ｇ（ｘ）が０と近似できるｘの最大値）までのグラフｇ（ｘ）をＭ（Ｍは２以上の整数）に区分し、当該Ｍに区分した各部分グラフを直線で近似した場合の当該直線を示す１次式「ａｍｘ＋ｂｍ」のパラメータａｍ、ｂｍと、前記Ｍに区分した各部分グラフを近似した２つの直線の交点のｘ座標値であり、隣り合う直線の交点のｘ座標値である「ｘｂｄ（ｍ）」の組であるパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））をＭ組格納しており、
コンピュータに、
２つの正数（ｘ１，ｘ２）の加算の底ａ（０＜ａ＜１）の対数値を算出させるプログラムであって、
コンピュータを、
正数ｘ１の対数値Ｘ（Ｘ＝ｌｏｇａｘ１）および正数ｘ２の対数値Ｙ（Ｙ＝ｌｏｇａｘ２）（ｘ１＞ｘ２とする）を受け付ける受付部と、
前記受付部が受け付けた前記Ｘと前記Ｙのうちの大きい方の数値（Ａ）を取得し、当該Ａを記憶媒体に格納する最大値取得部と、
前記受付部が受け付けた前記Ｘと前記Ｙのうちの小さい方の数値（Ｂ）を取得し、当該Ｂを記憶媒体に格納する最小値取得部と、
前記Ａおよび前記Ｂを読み出し、「ｘ＝Ａ−Ｂ」を演算し、ｘを取得する差演算部と、
前記差演算部が取得したｘに対応するパラメータ（ａｍ，ｂｍ）を、前記パラメータセット格納部から読み出すパラメータ取得部と、
前記パラメータ取得部が取得したパラメータ（ａｍ，ｂｍ）、および前記差演算部が算出したｘを用いて、「ｙ＝ａｍｘ＋ｂｍ」を演算し、ｙを取得する関数演算部と、
前記Ｂから前記ｙを減算する減算部と、
前記減算部が算出した結果を出力する出力部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対数値の演算を行う演算処理装置等に関するものである。
【背景技術】
【０００２】
ＨＭＭなどの確率モデルを用いてスコア（尤度や評定値）を計算するシステムにおいて、多数の確率値の加算や乗算が必要となる。一方、確率値は０以上１以下の正数であるため、特に乗算の回数が多くなると、値がどんどん小さくなって、計算機ではアンダーフローが起こってしまう。そこで多くの場合、確率値を対数で表現することにより、このアンダーフローを回避する。しかし、元の正数の乗算は単純に対数値の加算で置き換えることができるが、元の正数の加算に対しては対数値の演算に関して工夫が必要である。
【０００３】
二つの正数をｘおよびｙとして、それらの対数値をＸ＝ｌｏｇａｘ、Ｙ＝ｌｏｇａｙとおく、とする。なお、対数の底であるａは「０＜ａ＜１」または「ａ＞１」の実数である。また、ここでは、元の正数であるｘやｙが与えられておらず、それらの対数値：ＸやＹのみが与えられている、とする。この状況において、ｌｏｇａ（ｘ＋ｙ）の値をＸとＹから算出する方法は、以下の数式３に示す、単純な式変形により可能である。
【数３】
2008152410.tif 000003
【０００４】
そして、まず「ａ＞１」の場合、上式を更に以下の数式４のように変形する。
【数４】
2008152410.tif 000004
【０００５】
ただし、ｆ（ｘ）を、以下の数式５で定義する。ｆ（ｘ）は値が正でかつｘに対して単調減少の関数である。
【数５】
2008152410.tif 000005
【０００６】
次に、「０＜ａ＜１」の場合は、以下の数式６のように式を変形する。
【数６】
2008152410.tif 000006
【０００７】
ただし、ｇ（ｘ）を、以下の数式７で定義する。ｇ（ｘ）もｆ（ｘ）と同様、値が正でかつｘに対して単調減少の関数である。
【数７】
2008152410.tif 000007
【０００８】
ｆ（ｘ）およびｇ（ｘ）において、ｘ＞＝０の範囲で扱うことが数値演算上望ましい。ここで、数式４、および数式６において、可換性によりＸとＹを入れ替えても良い。すなわち、以下の数式８が成り立つ。
【数８】
2008152410.tif 000008
【０００９】
そこで、ｆ（・）およびｇ（・）の引数が非負になるようにＸとＹを適宜入れ替えることとし、ｌｏｇａ（ｘ＋ｙ）の値をＸとＹから算出する関数：ＡｄｄＬｏｇ関数を、以下の数式９で定義する。
【数９】
2008152410.tif 000009
【００１０】
従来、演算処理が高速で、メモリ量も多く取れるようなシステムでは、上式のＡｄｄＬｏｇ関数が使われている。
【００１１】
また、従来の演算処理装置において、簡易な構成、手順で高精度の対数値を高速に演算することができる装置があった（例えば、特許文献１参照）。かかる演算処理装置は、入力データＸにおいて非ゼロの最も重みの大きい桁ｓ０が第１の桁検出部において検出され、この桁ｓ０の重みに応じた基準値ＢＡＳＥが基準値取得部において取得される。また、入力データＸの各桁のうち、桁ｓ０の次に重みの大きい非ゼロの桁ｓ１が第２の桁検出部において検出され、仮数値取得部では、桁ｓ０から桁ｓ１までの桁範囲における入力データＸのデータパターンに応じた仮数値ＴＥＭＰ１が取得される。そして、取得された基数値ＢＡＳＥおよび仮数値ＴＥＭＰ１が加算部において加算され、対数変換値Ｇが得られる。
【００１２】
また、対数値の加算を行う演算処理装置を内部に組み込んだ発音評定装置として、以下の発音評定装置がある。本発音評定装置は、比較対象の音声に関するデータである教師データを格納している教師データ格納部と、教師データに対応する音声を出力する音声出力部と、前記音声出力部が音声データの少なくとも一部を出力した後、音声の入力を受け付ける音声受付部と、前記音声受付部が受け付けた音声と、前記教師データに基づいて、前記音声受付部が受け付けた音声の評定を行う評定部と、前記評定部の評定結果を出力する出力部を具備する（特許文献２参照）。かかる発音評定装置により、追唱を行いながら、練習対象の模範の音声と、練習者が発声する音声との類似度を把握できる。
【特許文献１】特開２００５−１９６５７４公報（第１頁、第１図等）
【特許文献２】特開２００６−２０１４９１号公報（第１頁、第１図等）
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、多機能マルチメディア小型チップなど、扱えるメモリ量が小さいシステムでは、上記のＡｄｄＬｏｇ関数が使えない場合が多い。ＡｄｄＬｏｇ関数は、ｌｏｇ関数、ｅｘｐ関数など、演算を行うために、大容量メモリが必要な関数を含むためである。そこで、本発明は、有限桁の少数のパラメータによる一次関数の組でＡｄｄＬｏｇ関数を良好に近似する方法を用いて、対数値で表現される数値の元値の加算を行なうことにより、少ない演算量で、少ないメモリ上での演算可能な演算処理装置を提供することを目的とする。なお、対数値で表現される数値の元値とは、以下のことを言う。つまり、対数値が「ｌｏｇｘ」である場合、元値は「ｘ」である。そして、対数値で表現される数値の元値の加算とは、以下のことを言う。つまり、「Ｘ＝ｌｏｇｘ」「Ｙ＝ｌｏｇｙ」である場合、対数値で表現される数値は「Ｘ」「Ｙ」であり、対数値で表現される数値の元値は「ｘ」「ｙ」であり、対数値で表現される数値の元値の加算は、「ｘ＋ｙ」である。
【課題を解決するための手段】
【００１４】
本第一の発明の演算処理装置は、２つの正数（ｘ１，ｘ２）の加算の底ａ（ａ＞１）の対数値を算出する演算処理装置であって、ｘの単調減少関数である数式５の関数について、ｆ（ｘ）上の点（０，ｌｏｇａ２）から点（ｘｍａｘ，ｆ（ｘｍａｘ））（ｘｍａｘは、ｆ（ｘ）が０と近似できるｘの最大値）までのグラフｆ（ｘ）をＭ（Ｍは２以上の整数）に区分し、当該Ｍに区分した各部分グラフを直線で近似した場合の当該直線を示す１次式「ａｍｘ＋ｂｍ」のパラメータａｍ、ｂｍと、前記Ｍに区分した各部分グラフを近似した２つの直線の交点のｘ座標値であり、隣り合う直線の交点のｘ座標値である「ｘｂｄ（ｍ）」の組であるパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））をＭ組格納しているパラメータセット格納部と、正数ｘ１の対数値Ｘ（Ｘ＝ｌｏｇａｘ１）および正数ｘ２の対数値Ｙ（Ｙ＝ｌｏｇａｘ２）を受け付ける受付部と、前記受付部が受け付けた前記Ｘと前記Ｙのうちの大きい方の数値（Ａ）を取得し、当該Ａを記憶媒体に格納する最大値取得部と、前記受付部が受け付けた前記Ｘと前記Ｙのうちの小さい方の数値（Ｂ）を取得し、当該Ｂを記憶媒体に格納する最小値取得部と、前記Ａおよび前記Ｂを読み出し、「ｘ＝Ａ−Ｂ」を演算し、ｘを取得する差演算部と、前記差演算部が取得したｘに対応するパラメータ（ａｍ，ｂｍ）を、前記パラメータセット格納部から読み出すパラメータ取得部と、前記パラメータ取得部が取得したパラメータ（ａｍ，ｂｍ）、および前記差演算部が算出したｘを用いて、「ｙ＝ａｍｘ＋ｂｍ」を演算し、ｙを取得する関数演算部と、前記Ａと前記ｙを加算する加算部と、前記加算部が算出した結果を出力する出力部を具備する演算処理装置である。
【００１５】
かかる構成により、対数値で表現される数値の元値の加算の対数演算を少ない演算量で行なうことができる。
【００１６】
また、本第二の発明の演算処理装置は、第一の発明に対して、引数ｘに対して単調減少関数である数式５の「０＜＝ｘ＜＝ｘｍａｘ」の範囲におけるサンプル点｛（ｘｎ，ｆ（ｘｎ））｝ｎ＝１Ｎ（ＮはＭより大きい整数）であるサンプル点集合を格納しているサンプル点集合格納部と、前記サンプル点集合を読み出し、ｆ（ｘ）上の点（０，ｌｏｇａ２）から点（ｘｍａｘ，ｆ（ｘｍａｘ）までのグラフｆ（ｘ）をＭに区分し、当該Ｍに区分した各部分グラフに属するサンプル点の集合であるＭ個の部分集合（部分集合のインデクスをｍ＝０，１，・・・，Ｍ−１、とする）を取得する部分集合取得部と、前記Ｍ個の各部分集合に対して、線形回帰分析により直線「ａｍｘ＋ｂｍ」のａｍ、ｂｍを算出する部分集合パラメータ算出部と、前記部分集合パラメータ算出部が算出した（ａｍ，ｂｍ）（ｍ＝０，１，２，・・・，Ｍ−１）を用いて、２つの一次式「ａｍｘ＋ｂｍ」と「ａｍ＋１ｘ＋ｂｍ＋１」の交点のｘ座標（ｘｂｄ（ｍ））を、各ｍに対して算出する境界算出部と、前記部分集合パラメータ算出部が算出した各ａｍ、ｂｍ、および前記境界算出部が算出した各ｘｂｄ（ｍ）を組にしてパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））を構成し、前記パラメータセット格納部に蓄積するパラメータセット蓄積部をさらに具備する演算処理装置である。
【００１７】
かかる構成により、対数値で表現される数値の元値の加算の対数演算を行う際に必要なパラメータセットを自動的に取得できる。
【００１８】
また、本第三の発明の演算処理装置は、２つの正数（ｘ１，ｘ２）の加算の底ａ（０＜ａ＜１）の対数値を算出する演算処理装置であって、ｘの単調減少関数である数式７の関数について、ｇ（ｘ）上の点（０，−ｌｏｇａ２）から点（ｘｍａｘ，ｇ（ｘｍａｘ））（ｘｍａｘは、ｇ（ｘ）が０と近似できるｘの最大値）までのグラフｇ（ｘ）をＭ（Ｍは２以上の整数）に区分し、当該Ｍに区分した各部分グラフを直線で近似した場合の当該直線を示す１次式「ａｍｘ＋ｂｍ」のパラメータａｍ、ｂｍと、前記Ｍに区分した各部分グラフを近似した２つの直線の交点のｘ座標値であり、隣り合う直線の交点のｘ座標値である「ｘｂｄ（ｍ）」の組であるパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））をＭ組格納しているパラメータセット格納部と、正数ｘ１の対数値Ｘ（Ｘ＝ｌｏｇａｘ１）および正数ｘ２の対数値Ｙ（Ｙ＝ｌｏｇａｘ２）を受け付ける受付部と、前記受付部が受け付けた前記Ｘと前記Ｙのうちの大きい方の数値（Ａ）を取得し、当該Ａを記憶媒体に格納する最大値取得部と、前記受付部が受け付けた前記Ｘと前記Ｙのうちの小さい方の数値（Ｂ）を取得し、当該Ｂを記憶媒体に格納する最小値取得部と、前記Ａおよび前記Ｂを読み出し、「ｘ＝Ａ−Ｂ」を演算し、ｘを取得する差演算部と、前記差演算部が取得したｘに対応するパラメータ（ａｍ，ｂｍ）を、前記パラメータセット格納部から読み出すパラメータ取得部と、前記パラメータ取得部が取得したパラメータ（ａｍ，ｂｍ）、および前記差演算部が算出したｘを用いて、「ｙ＝ａｍｘ＋ｂｍ」を演算し、ｙを取得する関数演算部と、前記Ｂから前記ｙを減算する減算部と、前記減算部が算出した結果を出力する出力部を具備する演算処理装置である。
【００１９】
かかる構成により、対数値で表現される数値の元値の加算の対数演算を少ない演算量で行なうことができる。
【００２０】
また、本第四の発明の演算処理装置は、第三の発明に対して、引数ｘに対して単調減少関数である数式７の「０＜＝ｘ＜＝ｘｍａｘ」の範囲におけるサンプル点｛（ｘｎ，ｇ（ｘｎ））｝ｎ＝１Ｎ（ＮはＭより大きい整数）であるサンプル点集合を格納しているサンプル点集合格納部と、前記サンプル点集合を読み出し、ｇ（ｘ）上の点（０，−ｌｏｇａ２）から点（ｘｍａｘ，ｇ（ｘｍａｘ）までのグラフｇ（ｘ）をＭに区分し、当該Ｍに区分した各部分グラフに属するサンプル点の集合であるＭ個の部分集合（部分集合のインデクスをｍ＝０，１，・・・，Ｍ−１、とする）を取得する部分集合取得部と、前記Ｍ個の各部分集合に対して、線形回帰分析により直線「ａｍｘ＋ｂｍ」のａｍ、ｂｍを算出する部分集合パラメータ算出部と、前記部分集合パラメータ算出部が算出した（ａｍ，ｂｍ）（ｍ＝０，１，２，・・・，Ｍ−１）を用いて、２つの一次式「ａｍｘ＋ｂｍ」と「ａｍ＋１ｘ＋ｂｍ＋１」の交点のｘ座標（ｘｂｄ（ｍ））を、各ｍに対して算出する境界算出部と、前記部分集合パラメータ算出部が算出した各ａｍ、ｂｍ、および前記境界算出部が算出した各ｘｂｄ（ｍ）を組にしてパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））を構成し、前記パラメータセット格納部に蓄積するパラメータセット蓄積部をさらに具備する演算処理装置である。
【００２１】
かかる構成により、対数値で表現される数値の元値の加算の対数演算を行う際に必要なパラメータセットを自動的に取得できる。
【００２２】
また、本第五の発明の演算処理装置は、第一から第四いずれかの発明に対して、前記底ａがｅである演算処理装置である。
【００２３】
かかる構成により、対数値で表現される数値の元値の加算の対数演算を少ない演算量で行なうことができる。
【発明の効果】
【００２４】
本発明による演算処理装置によれば、対数値で表現される数値の元値の加算の対数演算を少ない演算量で行なうことができる。
【発明を実施するための最良の形態】
【００２５】
以下、演算処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
（実施の形態１）
【００２６】
本実施の形態における演算処理装置１０は、２つの正数（ｘ１，ｘ２）の加算の底ａ（ａ＞１）の対数値を算出する演算処理装置について説明する。
【００２７】
図１は、本実施の形態における演算処理装置１０のブロック図である。演算処理装置１０は、パラメータセット格納部１０１、受付部１０２、最大値取得部１０３、最小値取得部１０４、差演算部１０５、パラメータ取得部１０６、関数演算部１０７、加算部１０８、出力部１０９、サンプル点集合格納部１１０、部分集合取得部１１１、部分集合パラメータ算出部１１２、境界算出部１１３、パラメータセット蓄積部１１４を具備する。
【００２８】
パラメータセット格納部１０１は、ｘの単調減少関数である数式５の関数について、ｆ（ｘ）上の点（０，ｌｏｇａ２）から点（ｘｍａｘ，ｆ（ｘｍａｘ））（ｘｍａｘは、ｆ（ｘ）が０と近似できるｘの最大値）までのグラフｆ（ｘ）をＭ（Ｍは２以上の整数）に区分し、当該Ｍに区分した各部分グラフを直線で近似した場合の当該直線を示す１次式「ａｍｘ＋ｂｍ」のパラメータａｍ、ｂｍと、前記Ｍに区分した各部分グラフを近似した２つの直線の交点のｘ座標値であり、隣り合う直線の交点のｘ座標値である「ｘｂｄ（ｍ）」の組であるパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））をＭ組格納している。なお、グラフｆ（ｘ）は、Ｍ個に等分されることが好適であるが、必ずしも等分でなくても良い。グラフｆ（ｘ）がＭ個に等分されている場合、パラメータセット格納部１０１は、ｆ（ｘ）上の点（０，ｌｏｇａ２）から点（ｘｍａｘ，ｆ（ｘｍａｘ））（ｘｍａｘは、ｆ（ｘ）が０と近似できるｘの最大値）までのグラフｆ（ｘ）をＭ等分（Ｍは２以上の整数）し、当該Ｍ等分した各部分グラフを直線で近似した場合の当該直線を示す１次式「ａｍｘ＋ｂｍ」のパラメータａｍ、ｂｍと、前記Ｍ等分した各部分グラフを近似した２つの直線の交点のｘ座標値であり、隣り合う直線の交点のｘ座標値である「ｘｂｄ（ｍ）」の組であるパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））をＭ組格納している、こととなる。パラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））は、例えば、後述するパラメータセット蓄積部１１４が蓄積した情報である。なお、パラメータセット格納部１０１は、かかるパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））を予め格納していても良い。予め格納されているパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））は、例えば、ユーザがキーボード等の入力手段を用いて入力したデータである。かかる場合、演算処理装置１０は、サンプル点集合格納部１１０、部分集合取得部１１１、部分集合パラメータ算出部１１２、境界算出部１１３、およびパラメータセット蓄積部１１４を有さない。パラメータセット格納部１０１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００２９】
受付部１０２は、正数ｘ１の対数値Ｘ（Ｘ＝ｌｏｇａｘ１）および正数ｘ２の対数値Ｙ（Ｙ＝ｌｏｇａｘ２）を受け付ける。対数値Ｘ、および対数値Ｙは、如何なる手段により算出されたものでも良く、例えば、人手により算出された数値でも、演算処理装置１０ではない装置により算出されたものでも良い。また、対数値Ｘ、および対数値Ｙは、演算処理装置１０で算出しても良い場合もあり得る。対数値Ｘ、および対数値Ｙの入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。対数値Ｘ、および対数値Ｙは、外部の装置から受信したものでも良く、他のアプリケーションから渡された数値（関数による引数渡しも含む）でも良い。受付部１０２は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア、通信手段等で実現され得る。
【００３０】
最大値取得部１０３は、受付部１０２が受け付けたＸとＹを、例えば、受付部１０２中の記憶媒体（主メモリ等）から読み出し、ＸとＹの大小比較を行い、ＸとＹのうちの大きい方の数値（これを「Ａ」とする。）を取得し、当該Ａを記憶媒体に格納する。最大値取得部１０３は、ＸとＹのうちの大きい方の数値にフラグを付与して、Ａを決定しても良い。かかる処理も、受付部１０２が受け付けた前記Ｘと前記Ｙのうちの大きい方の数値（Ａ）を取得し、当該Ａを記憶媒体に格納する処理である、と言える。２つの数値のうちの大きい方を取得する関数を、適宜、「ｍａｘ（Ｘ，Ｙ）」と表現する。また、「ｍａｘ（Ｘ，Ｙ）」を実現する処理は公知技術である。最大値取得部１０３は、通常、ＭＰＵやメモリ等から実現され得る。最大値取得部１０３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３１】
最小値取得部１０４は、受付部１０２が受け付けたＸとＹを、例えば、受付部１０２中の記憶媒体（主メモリ等）から読み出し、ＸとＹの大小比較を行い、ＸとＹのうちの小さい方の数値（これを「Ｂ」とする。）を取得し、当該Ｂを記憶媒体に格納する。最小値取得部１０４は、ＸとＹのうちの小さい方の数値にフラグを付与して、Ｂを決定しても良い。かかる処理も、受付部１０２が受け付けた前記Ｘと前記Ｙのうちの小さい方の数値（Ｂ）を取得し、当該Ｂを記憶媒体に格納する処理である、と言える。２つの数値のうちの小さい方を取得する関数を、適宜、「ｍｉｎ（Ｘ，Ｙ）」と表現する。また、「ｍｉｎ（Ｘ，Ｙ）」を実現する処理は公知技術である。最小値取得部１０４は、通常、ＭＰＵやメモリ等から実現され得る。最小値取得部１０４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３２】
差演算部１０５は、記憶媒体からＡおよびＢを読み出し、「ｘ＝Ａ−Ｂ」を演算し、ｘを取得する。差演算部１０５は、通常、取得したｘを記憶媒体（主メモリ等）に格納する。差演算部１０５は、例えば、差演算回路により実現され得る。また、差演算部１０５は、ＭＰＵやメモリ等から実現され得る。かかる場合、差演算部１０５の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。
【００３３】
パラメータ取得部１０６は、差演算部１０５が取得したｘに対応するパラメータ（ａｍ，ｂｍ）を、パラメータセット格納部１０１から読み出す。パラメータ取得部１０６は、通常、２以上のパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））が有する各「ｘｂｄ（ｍ）」とｘを比較し、ｘより大きい「ｘｂｄ（ｍ）」の中で、ｘに最も近い「ｘｂｄ（ｍ）」を取得する。そして、パラメータ取得部１０６は、この取得した「ｘｂｄ（ｍ）」と対になる（ａｍ，ｂｍ）を取得し、記憶媒体に格納する。パラメータ取得部１０６は、通常、ＭＰＵやメモリ等から実現され得る。パラメータ取得部１０６の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３４】
関数演算部１０７は、パラメータ取得部１０６が取得したパラメータ（ａｍ，ｂｍ）、および差演算部１０５が算出したｘを用いて、「ｙ＝ａｍｘ＋ｂｍ」を演算し、ｙを取得する。関数演算部１０７は、例えば、乗算回路により「ａｍｘ」を算出し、加算回路により「ａｍｘ＋ｂｍ」を算出し、「ｙ」を得て、当該「ｙ」を記憶媒体に格納する。関数演算部１０７は、ＭＰＵやメモリ等から実現され得る。かかる場合、関数演算部１０７の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（乗算回路と加算回路）で実現しても良い。
【００３５】
加算部１０８は、記憶媒体からＡとｙを読み出し、当該Ａとｙを加算する。加算部１０８は、例えば、加算回路により実現され得る。また、加算部１０８は、ＭＰＵやメモリ等から実現され得る。かかる場合、加算部１０８の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。
【００３６】
出力部１０９は、加算部１０８が算出した結果を出力する。ここで、出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積等を含む概念である。出力部１０９は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部１０９は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００３７】
サンプル点集合格納部１１０は、引数ｘに対して単調減少関数である数式５の「０＜＝ｘ＜＝ｘｍａｘ」の範囲におけるサンプル点｛（ｘｎ，ｆ（ｘｎ））｝ｎ＝１Ｎ（ＮはＭより大きい整数）の集合であるサンプル点集合を格納している。各サンプル点は、等間隔の点であることが好適であるが、等間隔の点でなくても良い。例えば、Ｎは１００００、ｘｍａｘは５．５などである。サンプル点集合は、ｘを０から５．５まで、１００００に分割し、各点（ｘの値）を数式５のｆ（ｘ）に代入してｙを算出したサンプル点（ｘ，ｙ）の集合である。サンプル点集合格納部１１０のサンプル点の情報は、人手により入力手段（キーボードなど）を用いて入力しても良いし、演算処理装置１０が図示しない演算手段により、ｘを０から５．５まで、１００００に分割し、各点（ｘの値）を数式５のｆ（ｘ）に代入してｙを算出し、サンプル点集合格納部１１０に記録しても良い。なお、Ｎやｘｍａｘの値は、上記の数値に限らないことは言うまでもない。サンプル点集合格納部１１０は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００３８】
部分集合取得部１１１は、1以上のサンプル点の集合であるサンプル点集合をサンプル点集合格納部１１０から読み出し、ｘの単調減少関数である数式５の関数について、ｆ（ｘ）上の点（０，ｌｏｇａ２）から点（ｘｍａｘ，ｆ（ｘｍａｘ）までのグラフｆ（ｘ）をＭに区分し、当該Ｍに区分した各部分グラフに属するサンプル点の集合であるＭ個の部分集合（部分集合のインデクスをｍ＝０，１，・・・，Ｍ−１、とする）を取得し、記憶媒体（主メモリやキャッシュなど）に格納する。Ｍは、例えば、１０であり、Ｍを、適宜、クラスタ数という。また、部分集合のインデクスは、「ｍ＝０，１，２，・・・，Ｍ−１」である。また、グラフｆ（ｘ）をＭ個に区分する場合、Ｍ等分することが好適であるが、必ずしも等分でなくても良い。部分集合取得部１１１は、通常、ＭＰＵやメモリ等から実現され得る。部分集合取得部１１１の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３９】
部分集合パラメータ算出部１１２は、部分集合取得部１１１が取得したＭ個の各部分集合を読み出し、当該Ｍ個の各部分集合に対して、例えば、線形回帰分析により直線「ｙ＝ａｍｘ＋ｂｍ」のａｍ、ｂｍを算出する。複数の点（ｘ，ｙ）の情報が与えられた場合に、直線「ｙ＝ａｍｘ＋ｂｍ」のａｍ、ｂｍを、線形回帰分析により決定する技術は公知技術であるので、詳細な説明を省略する。部分集合パラメータ算出部１１２は、算出したａｍ、ｂｍを、一時的に記憶媒体に格納する。部分集合パラメータ算出部１１２は、通常、ＭＰＵやメモリ等から実現され得る。部分集合パラメータ算出部１１２の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００４０】
境界算出部１１３は、部分集合パラメータ算出部１１２が算出した（ａｍ，ｂｍ）（ｍ＝０，１，２，・・・，Ｍ−２）を用いて、２つの一次式「ｙ＝ａｍｘ＋ｂｍ」と「ｙ＝ａｍ＋１ｘ＋ｂｍ＋１」の交点のｘ座標（ｘｂｄ（ｍ））を、各ｍに対して算出する。ただし、ｘｂｄ（Ｍ−１）＝ｘｍａｘとする。２つの直線「ｙ＝ａｍｘ＋ｂｍ」および「ｙ＝ａｍ＋１ｘ＋ｂｍ＋１」が与えられた場合に、その交点を算出する技術は公知技術であるので、説明を省略する。境界算出部１１３は、通常、算出した「ｘｂｄ（ｍ）」を、（ａｍ，ｂｍ）に対応付けて、記憶媒体に一時格納する。境界算出部１１３は、通常、ＭＰＵやメモリ等から実現され得る。境界算出部１１３の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００４１】
パラメータセット蓄積部１１４は、部分集合パラメータ算出部１１２が算出した各ａｍ、ｂｍ、および境界算出部１１３が算出した各ｘｂｄ（ｍ）を組にしてパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））を構成し、パラメータセット格納部１０１に蓄積する。パラメータセット蓄積部１１４は、通常、ＭＰＵやメモリ等から実現され得る。パラメータセット蓄積部１１４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００４２】
次に、演算処理装置１０の動作について図２、図３のフローチャートを用いて説明する。まず、演算処理装置１０が、対数値で表現される数値の元値の加算の対数演算を行なう処理について説明する。
【００４３】
（ステップＳ２０１）受付部１０２は、正数ｘ１の対数値Ｘ（Ｘ＝ｌｏｇａｘ１）および正数ｘ２の対数値Ｙ（Ｙ＝ｌｏｇａｘ２）を受け付けたか否かを判断する。ＸとＹを受け付ければステップＳ２０２に行き、ＸとＹを受け付けなければステップＳ２０１に戻る。
【００４４】
（ステップＳ２０２）最大値取得部１０３は、受付部１０２が受け付けたＸとＹを、受付部１０２中の記憶媒体（主メモリ等）から読み出す。
【００４５】
（ステップＳ２０３）最大値取得部１０３は、ステップＳ２０２で読み出したＸとＹの大小比較を行い、ＸとＹのうちの大きい方の数値「Ａ」を取得し、当該「Ａ」を記憶媒体に格納する。
【００４６】
（ステップＳ２０４）最小値取得部１０４は、最大値取得部１０３におけるＸとＹの大小比較結果を用いて、小さい方の数値「Ｂ」を取得し、当該「Ｂ」を記憶媒体に格納する。
【００４７】
（ステップＳ２０５）差演算部１０５は、ステップＳ２０２、ステップＳ２０３で取得したＡおよびＢを読み出し、「ｘ＝Ａ−Ｂ」を演算し、ｘを取得し、当該ｘを記憶媒体に格納する。
【００４８】
（ステップＳ２０６）パラメータ取得部１０６は、ステップＳ２０５で差演算部１０５が取得したｘを記憶媒体から読み出し、当該ｘより大きい「ｘｂｄ（ｍ）」の中で、ｘに最も近い「ｘｂｄ（ｍ）」を取得し、記憶媒体に一時格納する。そして、パラメータ取得部１０６は、当該「ｘｂｄ（ｍ）」と対になるパラメータ（ａｍ，ｂｍ）を、パラメータセット格納部１０１から読み出し、記憶媒体に一時格納する。
【００４９】
（ステップＳ２０７）関数演算部１０７は、パラメータ取得部１０６が取得したパラメータ（ａｍ，ｂｍ）、および差演算部１０５が算出したｘを記憶媒体から読み出し、式の情報「ｙ＝ａｍｘ＋ｂｍ」を読み出し、当該式「ｙ＝ａｍｘ＋ｂｍ」に（ａｍ，ｂｍ）、ｘを代入し、式を実行し、ｙを取得し、当該ｙの値を記憶媒体に一時格納する。
【００５０】
（ステップＳ２０８）加算部１０８は、ステップＳ２０３で取得したＡ、およびステップＳ２０７で取得したｙを記憶媒体から読み出し、当該Ａとｙを加算し、その結果を記憶媒体に一時格納する。
【００５１】
（ステップＳ２０９）出力部１０９は、ステップＳ２０７で加算部１０８が取得した結果を読み出し、出力する。処理を終了する。
【００５２】
次に、演算処理装置１０が、対数値で表現される数値の元値の加算の対数演算を行なう場合に必要なパラメータセットの集合を取得し、蓄積する処理について、図３のフローチャートを用いて説明する。
【００５３】
（ステップＳ３０１）部分集合取得部１１１は、カウンタｍに０を代入する。
【００５４】
（ステップＳ３０２）部分集合取得部１１１は、図示しない記憶媒体に予め格納されているクラスタ数Ｍの情報を読み出し、「ｍ＜Ｍ」であるか否かを判断する。「ｍ＜Ｍ」を満たせばステップＳ３０３に行き、「ｍ＜Ｍ」を満たさなければステップＳ３０７に行く。
【００５５】
（ステップＳ３０３）部分集合取得部１１１は、ｍ番目のサンプル点の部分集合（例えば、ｆ（ｘ）上の点（０，ｌｏｇａ２）から点（ｘｍａｘ，ｆ（ｘｍａｘ）までのグラフｆ（ｘ）をＭに区分し、当該Ｍに区分した各部分グラフに属するサンプル点の集合であるＭ個の部分集合（部分集合のインデクスをｍ＝０，１，・・・，Ｍ−１、とする）中の前からｍ番目の部分集合）を読み出す。なお、部分集合取得部１１１がグラフｆ（ｘ）をＭに区分する場合、Ｍ等分することが好適である。
【００５６】
（ステップＳ３０４）部分集合パラメータ算出部１１２は、ステップＳ３０３で読み出したｍ番目のサンプル点の部分集合を取得し、当該部分集合に対して、線形回帰分析により直線「ｙ＝ａｍｘ＋ｂｍ」のａｍ、ｂｍを算出し、記憶媒体に一時格納する。
【００５７】
（ステップＳ３０５）部分集合パラメータ算出部１１２は、ｍ番目のパラメータ（ａｍ，ｂｍ）を記憶媒体に一時格納する。
【００５８】
（ステップＳ３０６）部分集合取得部１１１は、カウンタｍを１、インクリメントする。ステップＳ３０２に戻る。
【００５９】
（ステップＳ３０７）境界算出部１１３は、カウンタｍに０を代入する。
【００６０】
（ステップＳ３０８）境界算出部１１３は、図示しない記憶媒体に予め格納されているクラスタ数Ｍの情報を読み出し、「ｍ＜Ｍ−１」であるか否かを判断する。「ｍ＜Ｍ−１」を満たせばステップＳ３０９に行き、「ｍ＜Ｍ−１」を満たさなければステップＳ３１４に行く。
【００６１】
（ステップＳ３０９）境界算出部１１３は、記憶媒体に一時格納されている、ｍ番目の（ａｍ，ｂｍ）と、（ｍ＋１）番目の（ａｍ，ｂｍ）である（ａｍ＋１，ｂｍ＋１）を読み出す。
【００６２】
（ステップＳ３１０）境界算出部１１３は、直線「ｙ＝ａｍｘ＋ｂｍ」と「ｙ＝ａｍ＋１ｘ＋ｂｍ＋１」の交点のｘ座標（ｘｂｄ（ｍ））を算出し、記憶媒体に一時格納する。
【００６３】
（ステップＳ３１１）パラメータセット蓄積部１１４は、（ａｍ，ｂｍ）と（ｘｂｄ（ｍ））を記憶媒体から読み出し、蓄積するデータ構造のパラメータセット（ａｍｖｂｍ，ｘｂｄ（ｍ））を構成する。
【００６４】
（ステップＳ３１２）パラメータセット蓄積部１１４は、パラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））をパラメータセット格納部１０１に蓄積する。
【００６５】
（ステップＳ３１３）境界算出部１１３は、カウンタｍを１、インクリメントする。ステップＳ３０８に戻る。
【００６６】
（ステップＳ３１４）パラメータセット蓄積部１１４は、最後のパラメータセット（ａＭ−１，ｂＭ−１，ｘｍａｘ）を構成する。
【００６７】
（ステップＳ３１５）パラメータセット蓄積部１１４は、ステップＳ３１４で構成した最後のパラメータセット（ａＭ−１，ｂＭ−１，ｘｍａｘ）をパラメータセット格納部１０１に蓄積する。
【００６８】
以下、本実施の形態における演算処理装置１０の動作の理論について説明する。演算処理装置１０は、以下の理論に基づいて、対数値で表現される数値の元値の加算の対数演算を行なう。
【００６９】
上記の数式５におけるｆ（ｘ）は、引数ｘに対して単調減少関数である。したがって、数式５で定義されるｆ（ｘ）を、一次関数の組（区分的一次関数）で近似し、演算すれば良い。数式５におけるｆ（ｘ）が、ｆ（ｘ）→０（ｘ→∞）の単調減少関数であることから、ｆ（ｘ）≒０（ｘ＞＝ｘｍａｘ）と見なすことのできるｘの最大値ｘｍａｘを設定する。次に、例えば、ｆ（ｘ）上の点（０，ｌｏｇａ２）から点（ｘｍａｘ，ｆ（ｘｍａｘ））までのグラフｆ（ｘ）の長さをＬとし、それをＭ等分するクラスタ：Ｃ０，Ｃ１，...，ＣＭ−１を定める。そして、各クラスタＣｍにおいてｆ（ｘ）を近似する１次式ａｍｘ＋ｂｍを求める（ｍ＝０，１，２，...，Ｍ−１）。
【００７０】
ａｍとｂｍの算出方法は問わない。ａｍとｂｍは、例えば、上述した線形回帰分析により算出する。例えば、ｘが０からｘｍａｘまでの範囲においてｆ（ｘ）上のサンプル点の集合：｛（ｘｎ，ｆ（ｘｎ））｝ｎ＝１Ｎを得て、各Ｃｍにおいてサンプル点の部分集合をとり、線形回帰分析により求める。最後にｍ＝０，１，２，...，Ｍ−１に対して、２つの１次式：ａｍｘ＋ｂｍとａｍ＋１ｘ＋ｂｍ＋１の交点のｘ座標：ｘｂｄ（ｍ）を計算する。ただしｘ＝０において区分的一次関数の値がｌｏｇａ２となるように、ａ０、ｂ０およびｘｂｄ（０）を補正することが望ましい。最終的に、（ａｍ，ｂｍ，ｘｂｄ（ｍ））（ｍ＝０，１，２，...，Ｍ−１）が、ｆ（ｘ）を近似する区分的一次関数ｆ２（ｘ）のパラメータである。ただしｘｂｄ（Ｍ−１）＝ｘｍａｘとする。ｆ２（ｘ）は、下記の数式１０である。なお、以下の数式は、実施の形態２で説明するｇ２（ｘ）を含む。ｇ２（ｘ）は、対数の底ａが「０＜ａ＜１」の範囲において出現する関数である。ＰＬ−ＡｄｄＬｏｇ（Ｘ，Ｙ）は、ＡｄｄＬｏｇ関数を一次関数の組（区分的一次関数）で近似した場合の関数を言う。なお、ＰＬ−ＡｄｄＬｏｇのＰＬは、「Ｐｉｅｃｅｗｉｓｅ  Ｌｉｎｅａｒ」の略である。また、ｘｍａｘは、例えば、５．５である。図４において、実線はｆ（ｘ）（ａ＝２．０）であり、破線はｇ（ｘ）（ａ＝０．６）である。ｆ（ｘ）もｇ（ｘ）もｘ＝５．５ぐらいになれば、概ね０となっている。したがって、「ｘｍａｘ＝５．５」と設定することは好適である。
【数１０】
2008152410.tif 000010
【００７１】
ただし、ｆ２（ｘ）の値（実施の形態２においてはｇ２（ｘ）の値）が負になる場合は、０に置き換えることが望ましい。このＰＬ−ＡｄｄＬｏｇ関数により、ｌｏｇ関数やｅｘｐ関数などの非線形関数を一切使わずに、一次式のみで、元の正数値の加算の対数を（近似的に）計算することができる。本演算処理装置１０は、上記の理論に基づいて、一次式のみで、元の正数値の加算の対数を（近似的に）計算することができる演算装置である。
【００７２】
次に、演算処理装置１０の具体的は評価結果を以下に説明する。ＡｄｄＬｏｇ関数とＰＬ−ＡｄｄＬｏｇ関数の違いは，ｆ（ｘ）とｆ２（ｘ）の違い（実施の形態２述べるｇ（ｘ）とｇ２（ｘ）の違いも同様）のみであるので，近似の度合いについては，ｆ（ｘ）とｆ２（ｘ）の違いを考察すればよい。図５にｆ（ｘ）とｆ２（ｘ）の一例を示す。ここでは底ａ＝ｅ（自然対数）であり，全サンプルポイント数Ｎを１０，０００，クラスタ数Ｍを１０，ｘｍａｘ  ＝５．５として，線形回帰分析によりｆ２（ｘ）のパラメータを求めている。ただし、扱えるメモリ量が小さい多機能マルチメディア小型チップ等への応用を考慮して，ｆ２（ｘ）の全パラメータを小数点以下３桁で四捨五入を行っている。得られたパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））を図６に示す。図５より，ｆ（ｘ）とｆ２（ｘ）は、ほとんど差がないことがわかる。両者の誤差：｜ｆ（ｘ）−ｆ２（ｘ）｜を図７に示す。すべてのｘにおいて誤差が０．００７未満で，ほとんどのｘで０．００５未満であることがわかる。したがって、演算処理装置１０における演算は、非常に精度高く演算できる。
【００７３】
以上、本実施の形態によれば、対数値で表現される数値の元の値の加算の対数演算を、ｌｏｇ演算回路やｅｘｐ演算回路を用いずに、加算回路、減算回路、および乗算回路のみで行うことができる。したがって、演算処理装置１０は、少ない演算量で、対数値で表現される数値の元の値の加算の対数演算を行える。また、精度高く、上記の演算を行うことができる。
【００７４】
なお、本実施の形態によれば、演算処理装置１０は、パラメータセット格納部１０１に格納されているパラメータセットを、予め格納していても良い。かかる場合、演算処理装置１０は、サンプル点集合格納部１１０、部分集合取得部１１１、部分集合パラメータ算出部１１２、境界算出部１１３、およびパラメータセット蓄積部１１４を有さない。つまり、演算処理装置１０は、図８に示すような構成となる。つまり、演算処理装置１０は、パラメータセット格納部１０１、受付部１０２、最大値取得部１０３、最小値取得部１０４、差演算部１０５、パラメータ取得部１０６、関数演算部１０７、加算部１０８、出力部１０９を具備する装置である。かかることは、他の本実施の形態においても同様である。
また、本実施の形態によれば、パラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））における「ｘｂｄ（ｍ）」は、直線「ｙ＝ａｍｘ＋ｂｍ」と隣接する直線「ｙ＝ａｍ＋１ｘ＋ｂｍ＋１」の交点のｘ座標値であった。しかし、（ａｍ，ｂｍ，ｘｂｄ（ｍ））における「ｘｂｄ（ｍ）」は、直線「ｙ＝ａｍｘ＋ｂｍ」と隣接する直線「ｙ＝ａｍ−１ｘ＋ｂｍ−１」の交点のｘ座標値でも良い。かかる場合、パラメータ取得部１０６は、通常、２以上のパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））が有する各「ｘｂｄ（ｍ）」とｘを比較し、ｘより小さい「ｘｂｄ（ｍ）」の中で、ｘに最も近い「ｘｂｄ（ｍ）」を取得する。そして、パラメータ取得部１０６は、この取得した「ｘｂｄ（ｍ）」と対になる（ａｍ，ｂｍ）を取得し、記憶媒体に格納する。かかることも、他の本実施の形態においても同様である。
また、本実施の形態によれば、直線を示す１次式「ａｍｘ＋ｂｍ」は、ｆ（ｘ）上の点（０，ｌｏｇａ２）から点（ｘｍａｘ，ｆ（ｘｍａｘ））（ｘｍａｘは、ｆ（ｘ）が０と近似できるｘの最大値）までのグラフｆ（ｘ）をＭ（Ｍは２以上の整数）に区分し、当該Ｍに区分した各部分グラフを直線で近似した場合の当該直線であった。そして、かかる場合の近似方法は、例えば、上述したように、部分集合取得部１１１が取得したＭ個の各部分集合を読み出し、当該Ｍ個の各部分集合に対して、線形回帰分析により直線「ｙ＝ａｍｘ＋ｂｍ」のａｍ、ｂｍを算出する方法であった。しかし、他の近似方法でも良い。他の近似方法として、例えば、グラフｆ（ｘ）をＭに区分したグラフの各点を直線で結んで、Ｍに区分した各部分グラフを直線で近似しても良い。かかることも、他の本実施の形態においても同様である。
【００７５】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における演算処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、ｘの単調減少関数である数式５の関数について、ｆ（ｘ）上の点（０，ｌｏｇａ２）から点（ｘｍａｘ，ｆ（ｘｍａｘ））（ｘｍａｘは、ｆ（ｘ）が０と近似できるｘの最大値）までのグラフｆ（ｘ）をＭ（Ｍは２以上の整数）に区分し、当該Ｍに区分した各部分グラフを直線で近似した場合の当該直線を示す１次式「ａｍｘ＋ｂｍ」のパラメータａｍ、ｂｍと、前記Ｍに区分した各部分グラフを近似した２つの直線の交点のｘ座標値であり、隣り合う直線の交点のｘ座標値である「ｘｂｄ（ｍ）」の組であるパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））をＭ組格納しており、コンピュータに、２つの正数（ｘ１，ｘ２）の加算の底ａ（ａ＞１）の対数値を算出させるプログラムであって、コンピュータを、正数ｘ１の対数値Ｘ（Ｘ＝ｌｏｇａｘ１）および正数ｘ２の対数値Ｙ（Ｙ＝ｌｏｇａｘ２）を受け付ける受付部と、前記受付部が受け付けた前記Ｘと前記Ｙのうちの大きい方の数値（Ａ）を取得し、当該Ａを記憶媒体に格納する最大値取得部と、前記受付部が受け付けた前記Ｘと前記Ｙのうちの小さい方の数値（Ｂ）を取得し、当該Ｂを記憶媒体に格納する最小値取得部と、前記Ａおよび前記Ｂを読み出し、「ｘ＝Ａ−Ｂ」を演算し、ｘを取得する差演算部と、前記差演算部が取得したｘに対応するパラメータ（ａｍ，ｂｍ）を、前記記憶媒体から読み出すパラメータ取得部と、前記パラメータ取得部が取得したパラメータ（ａｍ，ｂｍ）、および前記差演算部が算出したｘを用いて、「ｙ＝ａｍｘ＋ｂｍ」を演算し、ｙを取得する関数演算部と、前記Ａと前記ｙを加算する加算部と、前記加算部が算出した結果を出力する出力部として機能させるためのプログラム、である。
【００７６】
また、上記プログラムは、コンピュータに、引数ｘに対して単調減少関数である数式５の「０＜＝ｘ＜＝ｘｍａｘ」の範囲におけるサンプル点｛（ｘｎ，ｆ（ｘｎ））｝ｎ＝１Ｎ（ＮはＭより大きい整数）であるサンプル点集合を格納しており、コンピュータを、前記サンプル点集合を読み出し、ｆ（ｘ）上の点（０，ｌｏｇａ２）から点（ｘｍａｘ，ｆ（ｘｍａｘ）までのグラフｆ（ｘ）をＭに区分し、当該Ｍに区分した各部分グラフに属するサンプル点の集合であるＭ個の部分集合（部分集合のインデクスをｍ＝０，１，・・・，Ｍ−１、とする）を取得する部分集合取得部と、前記Ｍ個の各部分集合に対して、線形回帰分析により直線「ａｍｘ＋ｂｍ」のａｍ、ｂｍを算出する部分集合パラメータ算出部と、前記部分集合パラメータ算出部が算出した（ａｍ，ｂｍ）（ｍ＝０，１，２，・・・，Ｍ−１）を用いて、２つの一次式「ａｍｘ＋ｂｍ」と「ａｍ＋１ｘ＋ｂｍ＋１」の交点のｘ座標（ｘｂｄ（ｍ））を、各ｍに対して算出する境界算出部と、前記部分集合パラメータ算出部が算出した各ａｍ、ｂｍ、および前記境界算出部が算出した各ｘｂｄ（ｍ）を組にしてパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））を構成し、前記記憶媒体に蓄積するパラメータセット蓄積部としてさらに機能させるためのプログラム、である。
（実施の形態２）
【００７７】
本実施の形態において、２つの正数（ｘ１，ｘ２）の加算の底ａ（０＜ａ＜１）の対数値を算出する演算処理装置２０について説明する。
【００７８】
図９は、本実施の形態における演算処理装置２０のブロック図である。演算処理装置２０は、パラメータセット格納部９０１、受付部１０２、最大値取得部１０３、最小値取得部１０４、差演算部１０５、パラメータ取得部１０６、関数演算部１０７、減算部９０８、出力部１０９、サンプル点集合格納部９１０、部分集合取得部１１１、部分集合パラメータ算出部１１２、境界算出部１１３、パラメータセット蓄積部１１４を具備する。
【００７９】
パラメータセット格納部９０１は、ｘの単調減少関数である数式７の関数について、ｇ（ｘ）上の点（０，−ｌｏｇａ２）から点（ｘｍａｘ，ｇ（ｘｍａｘ））（ｘｍａｘは、ｇ（ｘ）が０と近似できるｘの最大値）までのグラフｇ（ｘ）をＭ（Ｍは２以上の整数）に区分し、当該Ｍに区分した各部分グラフを直線で近似した場合の当該直線を示す１次式「ａｍｘ＋ｂｍ」のパラメータａｍ、ｂｍと、前記Ｍに区分した各部分グラフを近似した２つの直線の交点のｘ座標値であり、隣り合う直線の交点のｘ座標値である「ｘｂｄ（ｍ）」の組であるパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））をＭ組格納している。なお、グラフｇ（ｘ）は、Ｍ個に等分されることが好適であるが、必ずしも等分でなくても良い。パラメータセット格納部９０１とパラメータセット格納部１０１は、格納されているパラメータセットが異なる。なお、パラメータセット格納部９０１は、パラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））を、予め格納していても良い。かかる場合、演算処理装置２０は、サンプル点集合格納部９１０、部分集合取得部１１１、部分集合パラメータ算出部１１２、境界算出部１１３、およびパラメータセット蓄積部１１４を有さない。パラメータセット格納部９０１も、パラメータセット格納部１０１と同様、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００８０】
減算部９０８は、最小値取得部１０４が取得したＢと、関数演算部１０７が取得したｙを記憶媒体から読み出し、Ｂからｙを減算する。減算部９０８は、減算回路で実現され得る。減算部９０８は、ＭＰＵやメモリ等から実現され得る。かかる場合、減算部９０８の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。
【００８１】
サンプル点集合格納部９１０は、引数ｘに対して単調減少関数である数式７の「０＜＝ｘ＜＝ｘｍａｘ」の範囲におけるサンプル点｛（ｘｎ，ｇ（ｘｎ））｝ｎ＝１Ｎ（ＮはＭより大きい整数）であるサンプル点集合を格納している。サンプル点集合格納部９１０は、サンプル点集合格納部１１０と比較して、格納しているサンプル点集合の情報が異なる。サンプル点集合格納部９１０は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００８２】
次に、演算処理装置２０の動作について図１０のフローチャートを用いて説明する。図１０のフローチャートにおいて、図２のフローチャートと同一の処理について、説明を省略する。
【００８３】
（ステップＳ１００１）減算部９０８は、ステップＳ２０４で取得したＢ、およびステップＳ２０７で取得したｙを記憶媒体から読み出し、当該Ｂからｙを減算し、その結果を記憶媒体に一時格納する。
【００８４】
（ステップＳ１００２）出力部１０９は、ステップＳ１００１で減算部９０８が取得した結果を読み出し、出力する。処理を終了する。
【００８５】
次に、演算処理装置１０が、対数値で表現される数値の元値の加算の対数演算を行なう場合に必要なパラメータセットの集合を取得し、蓄積する処理について、図３のフローチャートと同様（サンプル点集合の情報が異なるのみ）の処理であるので、説明を省略する。
【００８６】
以下、本実施の形態における演算処理装置２０の動作の理論について説明する。演算処理装置２０の動作の理論は、演算処理装置１０の動作の理論と同様であり、実施の形態１で説明した。
【００８７】
以上、本実施の形態によれば、底ａが１未満の場合においても、対数値で表現される数値の元の値の加算の対数演算を、ｌｏｇ演算回路やｅｘｐ演算回路を用いずに、加算回路、減算回路、および乗算回路のみで行うことができる。したがって、演算処理装置１０は、少ない演算量で、対数値で表現される数値の元の値の加算の対数演算を行える。また、精度高く、上記の演算を行うことができる。
【００８８】
なお、本実施の形態によれば、演算処理装置２０は、パラメータセット格納部９０１に格納されているパラメータセットを、予め格納していても良い。かかる場合、演算処理装置２０は、サンプル点集合格納部９１０、部分集合取得部１１１、部分集合パラメータ算出部１１２、境界算出部１１３、およびパラメータセット蓄積部１１４を有さない。つまり、演算処理装置２０は、図１１に示すような構成となる。つまり、演算処理装置１０は、パラメータセット格納部９０１、受付部１０２、最大値取得部１０３、最小値取得部１０４、差演算部１０５、パラメータ取得部１０６、関数演算部１０７、減算部９０８、出力部１０９を具備する装置である。
【００８９】
さらに、本実施の形態における演算処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、ｘの単調減少関数である数式７の関数について、ｇ（ｘ）上の点（０，−ｌｏｇａ２）から点（ｘｍａｘ，ｇ（ｘｍａｘ））（ｘｍａｘは、ｇ（ｘ）が０と近似できるｘの最大値）までのグラフｇ（ｘ）をＭ（Ｍは２以上の整数）に区分し、当該Ｍに区分した各部分グラフを直線で近似した場合の当該直線を示す１次式「ａｍｘ＋ｂｍ」のパラメータａｍ、ｂｍと、前記Ｍに区分した各部分グラフを近似した２つの直線の交点のｘ座標値であり、隣り合う直線の交点のｘ座標値である「ｘｂｄ（ｍ）」の組であるパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））をＭ組格納しており、コンピュータに、２つの正数（ｘ１，ｘ２）の加算の底ａ（０＜ａ＜１）の対数値を算出させるプログラムであって、コンピュータを、正数ｘ１の対数値Ｘ（Ｘ＝ｌｏｇａｘ１）および正数ｘ２の対数値Ｙ（Ｙ＝ｌｏｇａｘ２）を受け付ける受付部と、前記受付部が受け付けた前記Ｘと前記Ｙのうちの大きい方の数値（Ａ）を取得し、当該Ａを記憶媒体に格納する最大値取得部と、前記受付部が受け付けた前記Ｘと前記Ｙのうちの小さい方の数値（Ｂ）を取得し、当該Ｂを記憶媒体に格納する最小値取得部と、前記Ａおよび前記Ｂを読み出し、「ｘ＝Ａ−Ｂ」を演算し、ｘを取得する差演算部と、前記差演算部が取得したｘに対応するパラメータ（ａｍ，ｂｍ）を、前記パラメータセット格納部から読み出すパラメータ取得部と、前記パラメータ取得部が取得したパラメータ（ａｍ，ｂｍ）、および前記差演算部が算出したｘを用いて、「ｙ＝ａｍｘ＋ｂｍ」を演算し、ｙを取得する関数演算部と、前記Ｂから前記ｙを減算する減算部と、前記減算部が算出した結果を出力する出力部として機能させるためのプログラム、である。
【００９０】
また、上記プログラムにおいて、記憶媒体に、引数ｘに対して単調減少関数である数式７の「０＜＝ｘ＜＝ｘｍａｘ」の範囲におけるサンプル点｛（ｘｎ，ｇ（ｘｎ））｝ｎ＝１Ｎ（ＮはＭより大きい整数）であるサンプル点集合をさらに格納しており、コンピュータを、前記記憶媒体からサンプル点集合を読み出し、ｇ（ｘ）上の点（０，−ｌｏｇａ２）から点（ｘｍａｘ，ｇ（ｘｍａｘ）までのグラフｇ（ｘ）をＭに区分し、当該Ｍに区分した各部分グラフに属するサンプル点の集合であるＭ個の部分集合（部分集合のインデクスをｍ＝０，１，・・・，Ｍ−１、とする）を取得する部分集合取得部と、前記Ｍ個の各部分集合に対して、線形回帰分析により直線「ａｍｘ＋ｂｍ」のａｍ、ｂｍを算出する部分集合パラメータ算出部と、前記部分集合パラメータ算出部が算出した（ａｍ，ｂｍ）（ｍ＝０，１，２，・・・，Ｍ−１）を用いて、２つの一次式「ａｍｘ＋ｂｍ」と「ａｍ＋１ｘ＋ｂｍ＋１」の交点のｘ座標（ｘｂｄ（ｍ））を、各ｍに対して算出する境界算出部と、前記部分集合パラメータ算出部が算出した各ａｍ、ｂｍ、および前記境界算出部が算出した各ｘｂｄ（ｍ）を組にしてパラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））を構成し、前記パラメータセット格納部に蓄積するパラメータセット蓄積部としてさらに機能させるためのプログラム、である。
（実施の形態３）
【００９１】
本実施の形態において、実施の形態１、２で説明した演算処理装置を用いた音声処理装置について説明する。本音声処理装置は、例えば、発音評定装置である。本発音評定装置は、比較対象の音声と入力音声の類似度の評定を精度高く、かつ高速にできる発音評定装置である。本発音評定装置が算出する事後確率を、ｔ-ｐ−ＤＡＰと呼ぶ。
【００９２】
また、本実施の形態において、発音評定の算出のために用いられる各種パラメータは、その多くが確率値をあらわしている。そして、アンダーフローを防ぐために、確率値は対数値で表現されている。そこで、本発音評定装置では、確率値の加算を行う場合、実施の形態１、２で説明した演算処理装置を用いる。
【００９３】
図１２は、本実施の形態における発音評定装置のブロック図である。ここでの発音評定装置は、演算処理装置１０を用いる。また、演算処理装置１０が行う演算において、対数の底ａはｅ（自然対数）である、とする。本発音評定装置は、演算処理装置１０、入力受付部１２０１、教師データ格納部１２０２、音声受付部１２０３、フレーム区分部１２０４、フレーム音声データ取得部１２０５、評定部１２０６、出力部１２０７を具備する。評定部１２０６は、最適状態決定手段１２０６１、発音区間フレーム音韻確率値取得手段１２０６２、評定値算出手段１２０６３を具備する。
【００９４】
入力受付部１２０１は、発音評定装置の動作開始を指示する動作開始指示や、入力した音声の評定結果の出力態様の変更を指示する出力態様変更指示や、処理を終了する終了指示などの入力を受け付ける。かかる指示等の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。入力受付部１２０１は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００９５】
教師データ格納部１２０２は、教師データとして比較される対象の音声に関するデータであり、音韻毎の隠れマルコフモデル（ＨＭＭ）に基づくデータを１以上格納している。教師データは、音韻毎の隠れマルコフモデル（ＨＭＭ）を連結したＨＭＭに基づくデータであることが好適である。また、教師データは、入力される音声を構成する音素に対応するＨＭＭを、入力順序に従って連結されているＨＭＭに基づくデータであることが好適である。ここで、「入力順序」とは、音声受付部１２０３が受け付ける音声の並び、順序のことである。ただし、教師データは、必ずしも、音韻毎のＨＭＭを連結したＨＭＭに基づくデータである必要はない。教師データは、全音素のＨＭＭの、単なる集合であっても良い。また、教師データは、必ずしもＨＭＭに基づくデータである必要はない。教師データは、単一ガウス分布モデルや、確率モデル（ＧＭＭ：ガウシャンミクスチャモデル）や、統計モデルなど、他のモデルに基づくデータでも良い。ＨＭＭに基づくデータは、例えば、フレーム毎に、状態識別子と遷移確率の情報を有する。また、ＨＭＭに基づくデータは、例えば、複数の学習対象言語を母国語として話す外国人が発声した２以上のデータから学習した（推定した）モデルでも良い。教師データ格納部１２０２は、ハードディスクやＲＯＭなどの不揮発性の記録媒体が好適であるが、ＲＡＭなどの揮発性の記録媒体でも実現可能である。
【００９６】
音声受付部１２０３は、音声の入力を受け付ける。音声受付部１２０３は、例えば、マイクのドライバーソフトで実現され得る。また、なお、音声受付部１２０３は、マイクとそのドライバーから実現されると考えても良い。音声は、マイクから入力されても良いし、磁気テープやＣＤ−ＲＯＭなどの記録媒体から読み出すことにより入力されても良い。
【００９７】
フレーム区分部１２０４は、音声受付部１２０３が受け付けた音声を、フレームに区分する。フレーム区分部１２０４は、通常、ＭＰＵやメモリ等から実現され得る。フレーム区分部１２０４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００９８】
フレーム音声データ取得部１２０５は、フレーム区分部１２０４が区分したフレーム毎の音声データであるフレーム音声データを１以上得る。フレーム音声データ取得部１２０５は、通常、ＭＰＵやメモリ等から実現され得る。フレーム音声データ取得部１２０５の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００９９】
評定部１２０６は、教師データ格納部１２０２の教師データと、フレーム音声データ取得部１２０５が取得した１以上のフレーム音声データに基づいて、音声受付部１２０３が受け付けた音声の評定を行う。かかる音声の評定を行う場合に、評定部１２０６の各手段は、演算処理装置１０に元値の和の対数（例えば、元値がｘ１、ｘ２である場合のｌｏｇ（ｘ１＋ｘ２））の演算を依頼し、演算処理装置１０は元値の和の対数の演算を行い、その結果を各手段に渡す。なお、演算処理装置１０の機能がプログラムの関数により実現されており、各手段は、当該関数を呼び出し、実行するだけでも良い。評定方法の具体例は、後述する。評定部１２０６は、通常、ＭＰＵやメモリ等から実現され得る。評定部１２０６の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１００】
出力部１２０７は、評定部１２０６の評定結果を出力する。出力部１２０７の出力態様は、種々考えられる。出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積等を含む概念である。出力部１２０７は、例えば、評定部１２０６の評定結果を視覚的に表示する。出力部１２０７は、例えば、フレーム単位、または／および音素・単語単位、または／および発声全体の評定結果を視覚的に表示する。また、「出力態様」が異なるとは、例えば、出力デバイス（ディスプレイやプリンタなど）が異なることや、出力する情報（フレーム単位の評定結果や、発声全体の評定結果など）が異なることを言う。出力部１２０７は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部１２０７は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【０１０１】
評定部１２０６を構成している最適状態決定手段１２０６１は、１以上のフレーム音声データのうちの少なくとも一のフレーム音声データに対する最適状態を決定する。最適状態決定手段１２０６１は、例えば、全音韻ＨＭＭから、比較される対象（学習対象）の単語や文章などの音声を構成する1以上の音素に対応するＨＭＭを取得し、当該取得した1以上のＨＭＭを、音素の順序で連結したデータ（比較される対象の音声に関するデータであり、音韻毎の隠れマルコフモデルを連結したＨＭＭに基づくデータ）を構成する。そして、構成した当該データ、および取得した特徴ベクトル系列を構成する各特徴ベクトルｏｔに基づいて、所定のフレームの最適状態（特徴ベクトルｏｔに対する最適状態）を決定する。なお、最適状態を決定するアルゴリズムは、例えば、Ｖｉｔｅｒｂｉアルゴリズムである。また、教師データは、上述の比較される対象の音声に関するデータであり、音韻毎の隠れマルコフモデルを連結したＨＭＭに基づくデータと考えても良いし、連結される前のデータであり、全音韻ＨＭＭのデータと考えても良い。
【０１０２】
発音区間フレーム音韻確率値取得手段１２０６２は、最適状態決定手段１２０６１が決定した各フレームの最適状態を有する音韻全体の状態における１以上の確率値を、発音区間毎に取得する。
【０１０３】
評定値算出手段１２０６３は、発音区間フレーム音韻確率値取得手段１２０６２が取得した１以上の発音区間毎の１以上の確率値をパラメータとして音声の評定値を算出する。評定値算出手段１２０６３は、例えば、最適状態決定手段１２０６１が決定した各フレームの最適状態を有する音韻全体の状態における１以上の確率値の総和を、フレーム毎に得て、当該フレーム毎の確率値の総和に基づいて、発音区間毎の確率値の総和の時間平均値を１以上得て、当該１以上の時間平均値をパラメータとして音声の評定値を算出する。評定値算出手段１２０６３は、例えば、最適状態決定手段１２０６１が決定した各フレームの最適状態を有する音韻全体の状態における１以上の確率値の総和を、フレーム毎に得て、当該フレーム毎の確率値の総和に基づいて、発音区間毎の確率値の総和の中央値を１以上得て、当該１以上の値（取得した中央値）をパラメータとして音声の評定値を算出しても良い。
【０１０４】
最適状態決定手段１２０６１、発音区間フレーム音韻確率値取得手段１２０６２、および評定値算出手段１２０６３は、通常、ＭＰＵやメモリ等から実現され得る。最適状態決定手段１２０６１等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１０５】
次に、本発音評定装置の動作について図１３、図１４のフローチャートを用いて説明する。
【０１０６】
（ステップＳ１３０１）入力受付部１２０１は、発音評定装置の動作開始を指示する動作開始指示を受け付けたか否かを判断する。動作開始指示を受け付ければステップＳ１３０２に行き、動作開始指示を受け付けなければステップＳ１３１１に飛ぶ。
【０１０７】
（ステップＳ１３０２）音声受付部１２０３は、音声の入力を受け付けたか否かを判断する。音声の入力を受け付ければステップＳ１３０３に行き、音声の入力を受け付けなければステップＳ１３１０に飛ぶ。
【０１０８】
（ステップＳ１３０３）フレーム区分部１２０４は、ステップＳ１３０２で受け付けた音声のデータを図示しないバッファに一時格納する。
【０１０９】
（ステップＳ１３０４）フレーム区分部１２０４は、バッファに一時格納した音声データをフレームに区分する。かかる段階で、区分されたフレーム毎の音声データであるフレーム音声データが構成されている。フレーム区分部１２０４が行うフレーム分割の処理は、例えば、フレーム音声データ取得部１２０５がフレーム音声データを取り出す際の前処理であり、入力された音声のデータを、すべてのフレームに一度に分割するとは限らない。
【０１１０】
（ステップＳ１３０５）フレーム音声データ取得部１２０５は、カウンタｉに１を代入する。
【０１１１】
（ステップＳ１３０６）フレーム音声データ取得部１２０５は、ｉ番目のフレームが存在するか否かを判断する。ｉ番目のフレームが存在すればステップＳ１３０７に行き、ｉ番目のフレームが存在しなければステップＳ１３０９に行く。
【０１１２】
（ステップＳ１３０７）フレーム音声データ取得部１２０５は、ｉ番目のフレームのフレーム音声データを取得する。フレーム音声データの取得とは、例えば、当該分割された音声データを音声分析し、特徴ベクトルデータを抽出することである。なお、フレーム音声データは、例えば、入力された音声データをフレーム分割されたデータである。また、フレーム音声データは、例えば、当該分割された音声データから音声分析され、抽出された特徴ベクトルデータを有する。本特徴ベクトルデータは、例えば、三角型フィルタを用いたチャネル数２４のフィルタバンク出力を離散コサイン変換したＭＦＣＣであり、その静的パラメータ、デルタパラメータおよびデルタデルタパラメータをそれぞれ１２次元、さらに正規化されたパワーとデルタパワーおよびデルタデルタパワー（３９次元）を有する。
【０１１３】
（ステップＳ１３０８）フレーム音声データ取得部１２０５は、カウンタｉを１、インクリメントする。ステップＳ１３０６に戻る。
【０１１４】
（ステップＳ１３０９）評定部１２０６は、ステップＳ１３０７で取得されたフレーム音声データを用いて発音評定処理を行う。発音評定処理について、図１４のフローチャートを用いて詳細に説明する。ステップＳ１３０２に戻る。
【０１１５】
（ステップＳ１３１０）音声受付部１２０３は、タイムアウトか否かを判断する。つまり、音声受付部１２０３は、所定の時間以上、音声の入力を受け付けなかったか否かを判断する。タイムアウトであればステップＳ１３０１に戻り、タイムアウトでなければステップＳ１３０２に戻る。
【０１１６】
（ステップＳ１３１１）入力受付部１２０１は、出力態様変更指示を受け付けたか否かを判断する。出力態様変更指示を受け付ければステップＳ１３１２に行き、出力態様変更指示を受け付なければステップＳ１３１３に飛ぶ。出力態様変更指示は、上述した出力モードを有する情報である。
【０１１７】
（ステップＳ１３１２）出力部１２０７は、ステップＳ１３１１で受け付けた出力態様変更指示が有する出力モードを示す情報をメモリ等に書き込み、出力モードを設定する。ステップＳ１３０１に戻る。
【０１１８】
（ステップＳ１３１３）入力受付部１２０１は、終了指示を受け付けたか否かを判断する。終了指示を受け付ければ処理を終了し、終了指示を受け付なければステップＳ１３０１に戻る。
【０１１９】
次に、ステップＳ１３０９の発音評定処理について、図１４のフローチャートを用いて詳細に説明する。
【０１２０】
（ステップＳ１４０１）最適状態決定手段１２０６１は、全フレームの最適状態を決定する。
（ステップＳ１４０２）発音区間フレーム音韻確率値取得手段１２０６２は、全フレームの全状態の前向き尤度と後向き尤度を算出する。そして、全フレーム、全状態の確率値を得る。ここで、前向き尤度と後向き尤度を算出する際に必要な元値の加算の対数演算の処理を演算処理装置１０で行う。つまり、発音区間フレーム音韻確率値取得手段１２０６２は、元値が加算される対象の複数の対数値を、演算処理装置１０に渡し、演算処理装置１０は複数の対数値の元値の加算の対数を実施の形態１、または２で述べた処理により演算し、当該演算した結果を発音区間フレーム音韻確率値取得手段１２０６２に渡す。かかる詳細な処理について、後述する。なお、前向き尤度と後向き尤度を算出するアルゴリズムは、具体的には、以下である。つまり、発音区間フレーム音韻確率値取得手段１２０６２は、例えば、各特徴ベクトルが対象の状態から生成された事後確率を算出する。この事後確率は、ＨＭＭの最尤推定におけるＢａｕｍ−Ｗｅｌｃｈアルゴリズムの中で現れる占有度数に対応する。Ｂａｕｍ−Ｗｅｌｃｈアルゴリズムは、公知のアルゴリズムである。
【０１２１】
（ステップＳ１４０３）発音区間フレーム音韻確率値取得手段１２０６２は、全フレームについて、各フレームの全状態について、各フレームの事後確率値を算出する。
【０１２２】
（ステップＳ１４０４）発音区間フレーム音韻確率値取得手段１２０６２は、ｊに１を代入する。
【０１２３】
（ステップＳ１４０５）発音区間フレーム音韻確率値取得手段１２０６２は、次の評定対象の発音区間である、ｊ番目の発音区間が存在するか否かを判断する。ｊ番目の発音区間が存在すればステップＳ１４０６に行き、ｊ番目の発音区間が存在しなければ上位処理にリターンする。
【０１２４】
（ステップＳ１４０６）発音区間フレーム音韻確率値取得手段１２０６２は、カウンタｋに１を代入する。
【０１２５】
（ステップＳ１４０７）発音区間フレーム音韻確率値取得手段１２０６２は、ｋ番目のフレームが、ｊ番目の発音区間に存在するか否かを判断する。ｋ番目のフレームが存在すればステップＳ１４０８に行き、ｋ番目のフレームが存在しなければステップＳ１４１１に飛ぶ。
【０１２６】
（ステップＳ１４０８）発音区間フレーム音韻確率値取得手段１２０６２は、ｋ番目のフレームの最適状態を含む音韻の全ての確率値を取得する。
【０１２７】
（ステップＳ１４０９）発音区間フレーム音韻確率値取得手段１２０６２は、ステップＳ１４０８で取得した１以上の確率値をパラメータとして、１フレームの確率値の総和を算出する。ここで、対数値の元値の加算の対数演算が発生する。その場合、発音区間フレーム音韻確率値取得手段１２０６２は、ステップＳ１４０８で取得した１以上の確率値の対数値を、演算処理装置１０に与える。そして、演算処理装置１０は、受け付けた１以上の確率値の対数値の元値の和の対数を算出し、その演算結果を発音区間フレーム音韻確率値取得手段１２０６２に渡す。そして、発音区間フレーム音韻確率値取得手段１２０６２は、演算処理装置１０から演算結果を受け付ける。なお、上述したように、アンダーフローを回避するために、確率値は、対数値で表現されている。
【０１２８】
（ステップＳ１４１０）発音区間フレーム音韻確率値取得手段１２０６２は、ｋを１、インクメントする。ステップＳ１４０７に戻る。
【０１２９】
（ステップＳ１４１１）評定値算出手段１２０６３は、ｊ番目の発音区間の評定値を算出する。評定値算出手段１２０６３は、例えば、最適状態決定手段１２０６１が決定した各フレームの最適状態を有する音韻全体の状態における１以上の確率値の総和を、フレーム毎に得て、当該フレーム毎の確率値の総和に基づいて、発音区間の確率値の総和の時間平均値を、当該発音区間の音声の評定値として算出する。なお、ここでも、評定値算出手段１２０６３が、１以上の確率値の総和の相和平均を算出するとした場合、対数値の元値の加算の対数演算が発生する。その場合、評定値算出手段１２０６３は、各フレームの確率値の総和の対数値を演算処理装置１０に与える。そして、演算処理装置１０は、受け付けた１以上の確率値の総和の対数値の元値の和の対数を算出し、その演算結果を評定値算出手段１２０６３に渡す。そして、評定値算出手段１２０６３は、演算処理装置１０から演算結果を受け付け、受け付けた演算結果から、当該発音区間のフレーム数を減算し、評定値を得る。
【０１３０】
（ステップＳ１４１２）出力部１２０７は、ステップＳ１４１１で算出した評定値を出力する。
【０１３１】
（ステップＳ１４１３）発音区間フレーム音韻確率値取得手段１２０６２は、ｊを１、インクメントする。ステップＳ１４０５に戻る。
なお、図１４のフローチャートのステップＳ１４０３において、全フレームの全状態の事後確率値を算出したが、最適状態を決定した後、最適状態を含む音韻の全状態の事後確率値のみを算出しても良い。
【０１３２】
以下、本発音評定装置が行う発音評定の理論、および演算処理装置１０を用いる発音評定装置について説明する。ここで、音声受付部１２０３が受け付けた音声のt番目分析フレーム（t=1, 2, ..., T，T はフレーム総数）における特徴ベクトルをot、t番目分析フレームに対応するHMMの状態（状態番号）をqt、特徴ベクトル系列をO = {o1, o2, ..., oT }、状態系列をQ={q1, q2, ..., qT }、すべての母語音素HMMの（連結順序を考えない）集合をΛall，母語音素HMMを評定対象の正解transcriptionに従って連結したモデル（連結HMM）をΛcorとする。Λcor（正解transcription）の制約下で求まる最適状態系列（フォーストアラインメント状態系列）をQ＊={q＊1, q＊2, ..., q＊T}とする。また、λをHMMとして、S(λ)はλの持つすべての状態の集合を表わし、λ[q＊T] は状態q＊Tを含む音素（最適音素）のHMMを表わす。
【０１３３】
ある状態系列Qに沿った確率（確率密度）は数式１１で与えられる。
【数１１】
2008152410.tif 000011
【０１３４】
数式１１において、πiはi番目状態に対する初期状態確率、ai,jはi番目状態からj番目状態へ遷移する確率（状態遷移確率）、bj(o)はj 番目状態における特徴ベクトルoの出力確率密度関数である。このbj(o)は、更に次式で表わされる。
【数１２】
2008152410.tif 000012
【０１３５】
数式１２において、mは混合インデクス（m=1, 2, ...,M)、wj,mは、m番目混合の事前生起確率（混合重み）である。また、bj,m(o)はm番目混合における確率密度関数であり，通常は多次元ガウス分布が指定される。なお、qT+1は、非出力状態とよばれ、便宜的に設定されるものである。
【０１３６】
以上の仮定の下、本発音評定装置で用いられる発音評定スコア（t-p-DAPという）は、以下の数式１３、１４で与えられる。
【数１３】
2008152410.tif 000013
【数１４】
2008152410.tif 000014
【０１３７】
ただし、数式１３において、tはフレームインデクス（t=1,2, ...,T）、αt(j)およびβt(j)は、それぞれ前向き尤度および後向き尤度と呼ばれ、Forward-Backwardアルゴリズムを使って計算される。
【０１３８】
また、数１４において、T(u)はu番目の発音区間（フレーム番号の部分系列）、Me{・}は集合{・}内の要素の中央値を表わす。中央値は、平均値や最大値などの別の代表値演算に置き換えても良い。また、発音区間T(u)は、例えば、最適状態系列Q＊により定まる、音素区間、単語区間、フレーズ区間などである。また、Nは、Λallに含まれるすべての状態の総数である。
【０１３９】
さらに、Forwardアルゴリズムは、αt(j)を算出するアルゴリズムであり、以下の数式１５、１６により算出される。
【数１５】
2008152410.tif 000015
【数１６】
2008152410.tif 000016
【０１４０】
なお、数式１６において、「τ＝2,3,・・・，t」である。
【０１４１】
まあ、Backwardアルゴリズムは、βt (j)を算出するアルゴリズムであり、以下の数式１７、１８により算出される。
【数１７】
2008152410.tif 000017
【数１８】
2008152410.tif 000018
【０１４２】
なお、数式１８において、「τ＝Τ−１, Τ−２,・・・，t」である。
【０１４３】
ここで、スコアで用いられる各種パラメータは、そのほとんどが確率を表わしており、アンダーフローを回避するために、通常、対数値で表現される。そこで、本発音評定装置において、確率パラメータの加算で表わされる演算操作において、演算処理装置１０を用いる。具体的には、本発音評定装置は、出力確率密度関数の値を算出する数式１２、Forwardアルゴリズムの数式１６におけるAjの算出式、Backwardアルゴリズムの数式１８における算出式、そして、t-p-DAPの基となるp-DAPを算出する数式１３の分子および分母である。また、t-p-DAPを算出する数式１４において、中央値を相加平均に置き換える場合、そこでも演算処理装置１０が使われる。
【０１４４】
以下、本実施の形態における発音評定装置の具体的な動作について説明する。
【０１４５】
まず、学習者が、語学学習の開始の指示である動作開始指示を入力した後、学習対象の音声を発音する。そして、音声受付部１２０３は、学習者が発音した音声の入力を受け付ける。次に、フレーム区分部１２０４は、音声受付部１２０３が受け付けた音声を、短時間フレームに区分する。
【０１４６】
そして、フレーム音声データ取得部１２０５は、フレーム区分部１２０４が区分した音声データを、スペクトル分析し、特徴ベクトル系列「Ｏ＝ｏ１，ｏ２，・・・，ｏＴ」を算出する。
【０１４７】
次に、発音区間フレーム音韻確率値取得手段１２０６２は、各フレームの各状態の事後確率（確率値）を算出する。確率値は、ＨＭＭの最尤推定におけるＢａｕｍ−Ｗｅｌｃｈアルゴリズムの中で表れる占有度数に対応し、公知のものである。
【０１４８】
次に、最適状態決定手段１２０６１は、取得した特徴ベクトル系列を構成する各特徴ベクトルｏｔに基づいて、各フレームの最適状態（特徴ベクトルｏｔに対する最適状態）を決定する。つまり、最適状態決定手段１２０６１は、最適状態系列を得る。なお、各フレームの各状態の事後確率（確率値）の算出と、最適状態の決定の順序は問わない。
【０１４９】
次に、発音区間フレーム音韻確率値取得手段１２０６２は、発音区間ごとに、当該発音区間に含まれる各フレームの最適状態（ｑｔ＊）を含む音韻の全ての確率値を取得する。そして、評定値算出手段１２０６３は、各フレームの最適状態を含む音韻の全ての確率値の総和を、フレーム毎に算出する。かかる場合、本発音評定装置の内部では、評定値算出手段１２０６３が、各フレームの最適状態を含む音韻の全ての確率値の対数値を、演算処理装置１０に渡し、演算処理装置１０が確率値の対数値の元値の総和の対数を算出し、評定値算出手段１２０６３は、演算処理装置１０における演算結果である確率値の対数値の元値の総和の対数を得る。そして、評定値算出手段１２０６３は、例えば、フレーム毎に算出された確率値の総和の発音区間毎の中央値を計算し、発音区間毎の評定値を算出する。具体的には、評定値算出手段１２０６３は、上記の数式１４により評定値を算出する。
【０１５０】
そして、出力部１２０７は、算出した発音区間ごと（ここでは、音素毎）の評定値を、順次出力する。かかる出力例は、図１５である。
【０１５１】
以上、本実施の形態によれば、ユーザが入力した発音を、教師データに対して、如何に似ているかを示す類似度（評定値）を算出し、出力できる。その際、精度高く、かつ高速に発音評定ができる。
【０１５２】
なお、本実施の形態によれば、発音評定をｔ−ｐ−ＤＡＰという事後確率を用いて行ったが、発音評定のアルゴリズムは問わない。例えば、特許文献２に記載されているＤＡＰ、ｔ−ＤＡＰ、ｐ−ＤＡＰなどの他の評価方法により、発音評定を行っても良い。
【０１５３】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１５４】
また、図１６は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の情報処理装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図１６は、このコンピュータシステム３４０の概観図であり、図１７は、コンピュータシステム３４０のブロック図である。
【０１５５】
図１６において、コンピュータシステム３４０は、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）ドライブ、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブを含むコンピュータ３４１と、キーボード３４２と、マウス３４３と、モニタ３４４と、マイク３４５とを含む。
【０１５６】
図１７において、コンピュータ３４１は、ＦＤドライブ３４１１、ＣＤ−ＲＯＭドライブ３４１２に加えて、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３４１３と、ＣＰＵ３４１３、ＣＤ−ＲＯＭドライブ３４１２及びＦＤドライブ３４１１に接続されたバス３４１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）３４１５と、ＣＰＵ３４１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３４１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３４１７とを含む。ここでは、図示しないが、コンピュータ３４１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０１５７】
コンピュータシステム３４０に、上述した実施の形態の情報処理装置の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３５０１、またはＦＤ３５０２に記憶されて、ＣＤ−ＲＯＭドライブ３４１２またはＦＤドライブ３４１１に挿入され、さらにハードディスク３４１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３４１に送信され、ハードディスク３４１７に記憶されても良い。プログラムは実行の際にＲＡＭ３４１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３５０１、ＦＤ３５０２またはネットワークから直接、ロードされても良い。
【０１５８】
プログラムは、コンピュータ３４１に、上述した実施の形態の情報処理装置の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３４０がどのように動作するかは周知であり、詳細な説明は省略する。
【０１５９】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１６０】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１６１】
以上のように、本発明にかかる演算処理装置は、対数値で表現される数値の元値の加算の対数演算を少ない演算量で行なうことができる、という効果を有し、発音評定装置等として有用である。
【図面の簡単な説明】
【０１６２】
【図１】実施の形態１における演算処理装置のブロック図
【図２】同演算処理装置の動作について説明するフローチャート
【図３】同パラメータセットの集合の蓄積処理について説明するフローチャート
【図４】同ｆ（ｘ）（ａ＝２．０）、ｇ（ｘ）（ａ＝０．６）のグラフを示す図
【図５】同ｆ（ｘ）とｆ２（ｘ）の例を示す図
【図６】同パラメータセット（ａｍ，ｂｍ，ｘｂｄ（ｍ））を図
【図７】同誤差｜ｆ（ｘ）−ｆ２（ｘ）｜を示す図
【図８】同別の態様の演算処理装置のブロック図
【図９】実施の形態２における演算処理装置のブロック図
【図１０】同演算処理装置の動作について説明するフローチャート
【図１１】同別の態様の演算処理装置のブロック図
【図１２】実施の形態３における発音評定装置のブロック図
【図１３】同発音評定装置の動作について説明するフローチャート
【図１４】同発音評定処理について説明するフローチャート
【図１５】同出力例を示す図
【図１６】同演算処理装置等を構成するコンピュータシステムの概観図
【図１７】同演算処理装置等を構成するコンピュータのブロック図
【符号の説明】
【０１６３】
１０、２０  演算処理装置
１０１、９０１  パラメータセット格納部
１０２  受付部
１０３  最大値取得部
１０４  最小値取得部
１０５  差演算部
１０６  パラメータ取得部
１０７  関数演算部
１０８  加算部
１０９、１２０７  出力部
１１０、９１０  サンプル点集合格納部
９０８  減算部
１２０１  入力受付部
１２０２  教師データ格納部
１２０３  音声受付部
１２０４  フレーム区分部
１２０５  フレーム音声データ取得部
１２０６  評定部
１２０６１  最適状態決定手段
１２０６２  発音区間フレーム音韻確率値取得手段
１２０６３  評定値算出手段
【図１】
2008152410.tif 000021
【図２】
2008152410.tif 000022
【図３】
2008152410.tif 000023
【図８】
2008152410.tif 000024
【図９】
2008152410.tif 000025
【図１０】
2008152410.tif 000026
【図１１】
2008152410.tif 000027
【図１２】
2008152410.tif 000028
【図１３】
2008152410.tif 000029
【図１４】
2008152410.tif 000030
【図１６】
2008152410.tif 000031
【図１７】
2008152410.tif 000032
【図４】
2008152410.tif 000033
【図５】
2008152410.tif 000034
【図６】
2008152410.tif 000035
【図７】
2008152410.tif 000036
【図１５】
2008152410.tif 000037