(57)【要約】  【課題】  検索時のデータアクセス回数を減らし、音声データ検索速度を向上させる。  【解決手段】  音声波形データにマージンエリアを加えることで規定サイズのセルデータとし、同一の大きさのセルデータをグループ毎に纏めて記憶する。セルグループコードとセルグループ内でのセル格納順を音声データのＩＤ番号とする。またセルグループコードと先頭アドレスからなるインデックステーブルをキャッシュメモリとして機能するＲＡＭ(1-4)に記憶する。そして、音声のＩＤ番号Ａ２ｍに対応する音声波形データを検索する場合、まずＩＤ番号からセルグループコードＡ２を取得し、その先頭アドレスａ２をインデックステーブルから検索する。そして、セル配列番号ｍとセルグループコードＡ２を用いて、先頭アドレスａ２からｍ番目の音声データのアドレスを算出する。算出したアドレスから音声波形データを読み取とり、ＩＤ番号列の順に組み合わせて出力する。【選択図】      図１
2005062363.tif 000002
【特許請求の範囲】
【請求項１】
音声波形データ領域に余白領域を加えることで、音声波形データを規定の大きさとして判断するセルデータとし、同一の大きさのセルデータをグループ毎に纏めて記憶した音声データ記憶手段と、
前記グループを表すグループコードと、そのグループの先頭アドレスとを有するインデックスデータを取得するインデックスデータ取得手段と、
前記グループコードとグループの何番目に格納されているセルデータかを示すセル配列番号の組を当該セルデータのＩＤ番号とし、複数のＩＤ番号からなるＩＤ番号列を取得するＩＤ番号列取得手段と、
前記取得したＩＤ番号とインデックスデータとからセルデータのアドレスを算出するアドレス算出手段と、
前記算出したアドレスに対応した音声波形データを前記音声データ記憶手段から読み取る読み取り手段と、
前記ＩＤ番号列に対応して読み取った各音声波形データを結合して出力する音声波形データ出力手段と、
を具備することを特徴とする音声データ出力装置。
【請求項２】
前記グループコードは、当該グループに纏められたセルデータのサイズに基づいて決定されることを特徴とする請求項１に記載の音声データ出力装置。
【請求項３】
前記インデックスデータは、少なくとも前記アドレス決定手段でセルデータのアドレスを決定する際に、キャッシュメモリに格納されていることを特徴とする請求項１又は請求項２に記載の音声データ出力装置。
【請求項４】
前記セルデータ内の音声波形データ領域を、そのセルデータの規定サイズよりも大きい音声波形データ領域に変更する場合、セルデータ内に納まりきらなかった音声波形データ領域を連結データとして、全セルデータの最後に記憶する連結データ記憶手段を備え、
前記音声データ記憶手段は、前記セルデータに連結データのサイズとアドレスとを記憶し、
前記読み取り手段は、前記連結データのサイズとアドレスから連結データの有無を確認し、存在する場合には該当アドレスから連結データを読み取り、前記セルデータから読み取った音声波形データ領域に連結する
ことを特徴とする請求項１、請求項２、又は請求項３に記載の音声データ出力装置。
【請求項５】
前記音声データ記憶手段は、１種類の音質の音声で構成された集合音声データを複数記憶し、各集合音声データは、音声波形データ領域とそのサイズを示すデータを除いて同一にし、
前記ＩＤ番号列取得手段は、ＩＤ番号列と１の集合音声データを特定するコードを取得する
ことを特徴とする請求項１から請求項４のうちのいずれか１の請求項に記載の音声データ出力装置。
【請求項６】
音声波形データを結合して出力する音声データ出力装置において、
音声波形データ領域に余白領域を加えることで音声波形データを予め定めた大きさのセルデータとし、同一の大きさのセルデータをグループ毎に纏めて記憶する記憶手段と、
前記記憶手段に記憶された音声波形データを結合して出力する音声波形データ出力手段と、
を備えることを特徴とする音声データ出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声データ作成装置に係り、詳細には、所定単位の音声データを結合して音声データを作成して出力する音声データ出力装置に関する。
【背景技術】
【０００２】
例えばナビゲーション装置等のように、車両内でユーザに音声による案内を行うことが行われている。
このように音声を出力する場合、単語単位といった所定単位での音声を予め複数録音しておき、その録音した複数の音声データから再生に必要な録音音声データを順次検索して接続することで音声再生用データを作成する方法がある。
このような方法で所定の音声を例えば、組込システムで円滑に動作させる場合、大量の録音音声データを管理した音声データベースから録音音声データを検索する処理工程があるため、検索処理を高速にする仕組みが必要になる。
【０００３】
従来、大量の音声データの中から出力対象となる各音声データを高速に検索する場合、音声データが格納されている媒体、例えばハードディスクではデータのアクセス時間が長いため、アクセス回数をできるだけ短くする必要があり、その方法として次の方法がある。
例えば、特許文献１のようにデータベースの検索を高速するために、検索対象となる項目をインデックスとして抽出したインデックステーブルを作成する方法がある。この方法に基づいて、出力する音声のＩＤ番号と各音声データが格納されているアドレスを対応させた検索用のインデックスデータを作成しておき、これをアクセスが高速なキャッシュメモリに展開しておき、任意のデータを検索する毎にインデックスデータを参照することで、１つの音声データに対して１度のアクセスですませることが可能になる。
また、検索する各データのアドレスを各音声データのＩＤ番号とし、ＩＤ番号で指定されたアドレスから音声データを読み出す方法もある。
【特許文献１】特開２００３−１８６７２５
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＩＤ番号とアドレスを対応させた検索用のインデックスデータを作成する方法は、検索対象となる音声データの数が膨大になると、インデックスデータのデータ容量も増え、必要なキャッシュメモリ容量が増加するという問題がある。特に組込システムのように、限られたハードウェア資源の環境下では、キャッシュメモリの増大はコスト増加につながるという問題がある。
この場合、インデックスデータをキャッシュしない方法も考えられるが、ハードディスク等のデータファイルへのディスクアクセス回数が増加するため、検索スピードが落ちるという問題がある。
また、音声データのＩＤ番号をそのアドレスにすると、音声データを変更したり追加したりする毎に、音声データのアドレスが変更されてしまうため、その都度ＩＤ番号を変更する必要があり、バージョン間でＩＤ番号の互換性がなくなるという問題がある。
【０００５】
そこで本発明は、検索時のデータアクセス回数を減らし、音声データ検索速度を向上させ、限られたハードウェア資源の環境下でも、音声データを高速に作成することが可能な音声データ出力装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明では、音声波形データ領域に余白領域を加えることで、音声波形データを規定の大きさとして判断するセルデータとし、同一の大きさのセルデータをグループ毎に纏めて記憶した音声データ記憶手段と、前記グループを表すグループコードと、そのグループの先頭アドレスとを有するインデックスデータを取得するインデックスデータ取得手段と、前記グループコードとグループの何番目に格納されているセルデータかを示すセル配列番号の組を当該セルデータのＩＤ番号とし、複数のＩＤ番号からなるＩＤ番号列を取得するＩＤ番号列取得手段と、前記取得したＩＤ番号とインデックスデータとからセルデータのアドレスを算出するアドレス算出手段と、前記算出したアドレスに対応した音声波形データを前記音声データ記憶手段から読み取る読み取り手段と、前記ＩＤ番号列に対応して読み取った各音声波形データを結合して出力する音声波形データ出力手段と、を音声データ出力装置に具備させる。
請求項２に記載の発明では、請求項１に記載の音声データ出力装置において、前記グループコードは、当該グループに纏められたセルデータのサイズに基づいて決定されることを特徴とする。
請求項３に記載の発明では、請求項１又は請求項２に記載の音声データ出力装置において、前記インデックスデータは、少なくとも前記アドレス決定手段でセルデータのアドレスを決定する際に、キャッシュメモリに格納されていることを特徴とする。
請求項４に記載の発明では、請求項１、請求項２、又は請求項３に記載の音声データ出力装置において、前記セルデータ内の音声波形データ領域を、そのセルデータの規定サイズよりも大きい音声波形データ領域に変更する場合、セルデータ内に納まりきらなかった音声波形データ領域を連結データとして、全セルデータの最後に記憶する連結データ記憶手段を備え、前記音声データ記憶手段は、前記セルデータに連結データのサイズとアドレスとを記憶し、前記読み取り手段は、前記連結データのサイズとアドレスから連結データの有無を確認し、存在する場合には該当アドレスから連結データを読み取り、前記セルデータから読み取った音声波形データ領域に連結することを特徴とする。
請求項５に記載の発明では、請求項１から請求項４のうちのいずれか１の請求項に記載の音声データ出力装置において、前記音声データ記憶手段は、１種類の音質の音声で構成された集合音声データを複数記憶し、各集合音声データは、音声波形データ領域とそのサイズを示すデータを除いて同一にし、前記ＩＤ番号列取得手段は、ＩＤ番号列と１の集合音声データを特定するコードを取得することを特徴とする。
請求項６に記載の発明では、音声波形データを結合して出力する音声データ出力装置において、音声波形データ領域に余白領域を加えることで音声波形データを予め定めた大きさのセルデータとし、同一の大きさのセルデータをグループ毎に纏めて記憶する記憶手段と、前記記憶手段に記憶された音声波形データを結合して出力する音声波形データ出力手段とを音声データ出力装置に具備させる。
【発明の効果】
【０００７】
請求項１から請求項６に記載した本発明では、音声波形データに余白領域を加えることで規定サイズのセルデータとし、同一の大きさのセルデータをグループ毎に纏めて記憶しているため、グループを表すグループコードとそのグループの先頭アドレスとを有するインデックスデータのサイズを小さくすることができる。従って、インデックスデータをキャッシュメモリに記憶させる場合、その領域を少なくすることができる。
また、請求項１から請求項５に記載した本発明では、ＩＤ番号とグループコードとから、ＩＤ番号に対応するセルデータのアドレスを算出できるため、音声データ記憶手段のアクセス回数を減らし、音声データ検索速度を向上させることができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の音声データ出力装置における好適な実施の形態について、図１から図６を参照して詳細に説明する。
（１）実施形態の概要
本実施形態では、各音声データを、音声データに余白領域（以下、マージンエリアと呼ぶ）を付加した一定サイズのセルに格納し、各セルはセルサイズ別にまとめたセルグループ毎に格納する。またセルサイズの情報とセルグループ内でのセル格納順を音声データのＩＤ番号とする。
具体的には、図１に示されるように、音声波形データは、データサイズ別に分類され、音声波形データのサイズよりも大きい一定サイズのデータ構造体であるセルに格納される。セルは、セルヘッダと音声波形データの他に、セルサイズを一定にするためのマージンエリアとから構成される。マージンエリアは、データ変更等によるデータサイズの変動を吸収するためのスペースとして機能する。
各セルは同一サイズのグループ（以下、セルグループと呼ぶ）毎に纏められ、各セルグループはそのグループに属するセルのデータサイズを意味するグループコード（以下、セルグループコードと呼ぶ）で表現される。例えば、１２８×ｒバイトのセルサイズの場合、セルグループコードはｒで表現される。
そして、各セルグループコードとそのセルグループの先頭アドレスからなるインデックステーブルが作成され、検索時にキャッシュメモリに格納される。
一方、音声データを作成するためのＩＤ番号は、セルグループコードと、その音声データがセルグループの先頭から何番目に格納されているかを示すセルの配列番号とから構成されている。
【０００９】
そして、図１に示されるように、音声のＩＤ番号（図１の例ではＡ２ｍ）に対応する音声波形データを検索する場合、次のようにして音声データが検索される。
すなわち、まずＩＤ番号前半のセルグループコードＡ２を取得し、セルグループコードＡ２の先頭アドレスａ２をインデックステーブルから検索する。そして、ＩＤ番号後半のセル配列番号ｍとセルグループコードＡ２を用いて、先頭アドレスａ２からｍ番目の音声データのアドレスを算出する。
すなわち、セルグループコードがＡ２であるセルのセルサイズは全て１２８×Ａ２なので、先頭アドレスａ２から（１２８×Ａ２）×（ｍ−１）バイト進んだポイントが、セルグループＡ２のｍ番目に格納されているセル（ＩＤ番号Ａ２ｍの音声データのセル）の先頭アドレスである。
そして、ＩＤ番号Ａ２ｍのセルのセルヘッダから、音声波形データサイズを調べ必要な音声波形データを、ハードディスク等の外部記憶装置から読み出す。
【００１０】
このように、本実施形態の音声データ出力装置では、音声データにマージンエリアを含めた一定サイズのセルグループに分類し、各セルグループの先頭アドレスをインデックスデータに対応させている。これにより、全音声データ分の先頭アドレスをインデックスデータとするよりも、インデックスデータサイズを小さくすることができ、必要なキャッシュメモリサイズを少なくすることができる。
また、音声データのＩＤ番号を、セルのデータサイズとデータサイズ別グループ（セルグループ）内での格納順位により決定している。これにより、ＩＤ番号とインデックスデータから任意の音声データアドレスが取得でき、１回のディスクアクセスで音声データが検索できるため、検索スピードを高速にすることができる。
さらに、音声データは、音声波形データを一定サイズのマージンを付加したセルと呼ぶ構造体に格納している。このため、声の種類の変更等で音声波形データサイズが変更しても、マージンエリアのサイズを変更することで音声データサイズ（セルサイズ）を変更することなく対応することができる。これにより、音声データの更新等でデータバージョンが増えても、ＩＤ番号の互換性は保つことができる。
音声波形データの変更等によってセルに入りきらなくなった場合、セルに入らない音声データを分割して別の場所に格納し、分割データを格納したアドレスと分割データサイズをセルヘッダーに記入しておくことで、マージンエリアで吸収しきれなかった音声の変化の場合にも対処できる。
【００１１】
本実施形態の音声データ出力装置は、自動車に搭載されるナビゲーション用のエージェントシステムにおける、音声再生用のデータ作成に使用される。
エージェントシステムは、ナビゲーションの画面及び音声を制御する規格化された情報（以下シナリオデータ）を、パーソナルコンピュータ等のナビゲーション装置外部で作成し、作成したシナリオデータをナビゲーション装置（若しくはエージェント装置）内部にダウンロードすることで、ナビゲーションの開発者以外でも簡単に自分の好みにあったインターフェースで音声や画像による案内等をカスタマイズできるシステムである。
エージェントシステムで使用される本実施形態の音声データ出力装置は、シナリオデータから取得した台詞データを用いて、その台詞を再生するための音声波形データを作成し出力するようになっている。
この音声データ出力装置内の、集合音声データのデータ構造およびその集合音声データに格納されている音声のＩＤ番号コード体系に、本実施形態におけるデータ構造およびＩＤ番号コード体系が用いられている。
【００１２】
（２）実施形態の詳細
図２は、本実施形態の音声データ出力装置が適用されるエージェント装置の構成を表したブロック図である。
本実施形態におけるエージェント装置１は、車両に搭載されており、本実施形態における音声データ出力装置として機能するようになっている。またエージェント装置１は、車両内のユーザとの間でコミュニケーションを行う機能や車両に対して所定の処理を行う車両制御機能等のエージェント機能、ユーザに走行経路の案内等を行うナビゲーション機能（以下両機能を纏めてエージェント機能等という）も備えている。
本実施形態のエージェント装置１では、音声データ作装置による音声データ作成機能、及びエージェント機能等を実現するための中央処理装置（１）、表示装置（２）、音声出力装置（３）、音声入力装置（４）、入力装置（５）、各種状況検出装置（６）、各種車載装置（７）、通信制御装置（８）、通信装置（９）、外部記憶装置(10)を備えている。
【００１３】
中央処理装置（１）は、種々の演算処理を実行するＣＰＵ(1-1)、外部記憶装置(10)からプログラムを読み込んで格納するフラッシュメモリ(1-2)、各種基本プログラム等を格納したＲＯＭ(1-3)、ＣＰＵ(1-1)がワーキングメモリとして演算処理中のデータを一時的に格納するＲＡＭ(1-4)、時間や時刻の計測に使用される時計(1-5)、表示装置（２）への画面表示に使用する画像データが記憶される画像メモリ(1-7)、画像メモリ(1-7)から画像データを取り出し、画像処理を施して表示装置（２）に出力する画像プロセッサ(1-6)を備えている。
ＲＡＭ(1-4)は、キャッシュメモリとして機能し、このキャッシュメモリにセルグループコードと先頭アドレスから構成されるインデックステーブルが格納されるようになっている。なお、ＣＰＵ（1-1）が有している１次キャッシュ、又は、１次キャッシュとＲＡＭ（1-4）との間に配置された２次キャッシュメモリに、インデックステーブルを格納するようにしてもよい。
【００１４】
また中央処理装置（１）は、本実施形態の音声データ作成機能により作成された音声波形データをアナログ信号に変換して音声出力装置（３）に出力する処理と、音声入力装置（４）から入力されたアナログ信号をデジタルの音声入力信号に変換する処理を行なう音声プロセッサ(1-8)を備えている。
また、中央処理装置（１）は、入力装置（５）による入力内容を受け取る入力装置Ｉ／Ｆ部(1-9)、エージェント機能実現する際に各種状況を検出する検出器類から情報を受け取るための各種入力Ｉ／Ｆ部(1-10)、他の装置と情報のやり取りを行なう通信Ｉ／Ｆ部(1-11)、ＣＤ−ＲＯＭやＩＣカード類、ハードディスク等といった外部記憶媒体(10-2)からデータ及びプログラムを読み込んだりデータを書き込んだりする外部記憶装置(10)を制御するための外部記憶装置制御部(1-12)を備えている。
【００１５】
本実施形態における音声データ作成処理プログラムを含め、ＣＰＵ(1-1)で実行される全てのプログラムは、外部記憶媒体(10-2)であるＣＤ−ＲＯＭ等に格納されてもよいし、それらプログラムの一部または全てが本体側のＲＯＭ(1-3)またはフラッシュメモリ(1-2)に格納するようにしてもよい。
外部記憶媒体(10-2)には、本実施形態により音声データを作成するための、音声波形データを含む音声データベースや、作成する音声波形データの内容や表示する画像の内容等を表すシナリオデータが格納されている。音声データベースの具体的データ構造については後述する。
この外部記憶媒体(10-2)に記憶された音声データを含む各種データやプログラムが中央処理装置（１）に入力されて演算処理されることにより、音声データ作成機能の他、種々のエージェント機能等が実現される。
【００１６】
表示装置（２）は、中央処理装置（１）の処理による経路案内用の道路地図や各種画像情報が表示されたり、エージェントの画像（動画や静止画）が表示されたりするようになっている。
音声出力装置（３）は、音声データ作成機能によって作成された音声波形データに従って、声による経路案内を行なう場合の案内音声や、エージェントによる運転者との通常のコミュニケーション用の会話や運転者情報取得のための質問による音声や音が出力されるようになっている。
音声入力装置（４）は、運転者の音声を収集するためのマイクが使用され、入力されたアナログ信号を変換したデジタルの音声入力信号を使ってＣＰＵ(1-1)で音声認識処理が実行されるようになっている。
【００１７】
入力装置（５）は、目的地を設定する際に電話番号や地図上の座標などにて入力したり、目的地までの経路探索や経路案内を要求（リクエスト）するために使用される。
入力装置（５）には、タッチパネル（スイッチとして機能）、キーボード、マウス、ライトペン、ジョイスティックなどの各種の装置が使用可能である。
各種状況検出装置（６）は、エージェント機能を実現する際に使用される、現在位置検出装置、ブレーキやアクセルの検出器、イグニッション検出器、車速センサ、等の各種検出器を備えている。
【００１８】
通信装置Ｉ／Ｆ部(1-11)には、他にも通信制御装置（８）が接続できるようになっている。この通信制御装置（８）には、通信装置（９）（各種無線通信機器からなる携帯電話等）が接続されるようになっている。
これらを使って、電話回線による通話の他、エージェント処理に用いるシナリオデータ（音声データ作成機能で作成する台詞データを含む）を提供する情報提供局との通信ができるようにすることも可能である。
本実施形態において中央処理装置（１）は、通信制御装置（８）を介してシナリオが添付された電子メールを受信することができるようになっている。また、中央処理装置（１）には、インターネット上のホームページを表示するブラウザソフトを組み込み、ＣＰＵ(1-1)で処理させることが可能であり、通信制御装置（８）を介してホームページからシナリオを含めたデータをダウンロードすることができるようになっている。なお、通信制御装置（８）は、通信装置（９）と一体になったものを使用してもよい。
【００１９】
外部記憶装置(10)は、外部記憶媒体駆動部(10-1)とその外部記憶媒体(10-2)を備えている。外部記憶装置(10)は、ＣＰＵ(1-1)からの指示で外部記憶装置制御部(1-12)による制御のもとで外部記憶媒体(10-2)からデータやプログラムの読み込み、及び外部記憶媒体(10-2)へのデータやプログラムの書き込みを行うようになっている。
外部記憶媒体(10-2)には、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光ディスク、磁気テープ、ＩＣカード類、光カード等の各種記憶媒体が使用され、使用する媒体毎にそれぞれの外部記憶媒体駆動装置(10-1)が使用される。
【００２０】
ＣＰＵ(1-1)は各種エージェント機能やナビゲーション機能を実現するプログラム(10-2-1)や、演算処理に使用するエージェントデータ(10-2-3)とナビゲーションデータ(10-2-2)を、上記構成例で示すＤＶＤ−ＲＯＭやＩＣカード等から別の外部記憶装置（例えばハードディスク装置等）に格納（インストール）し、この記憶装置から必要なプログラム等をフラッシュメモリ(1-2)に読み込んで（ロードして）実行するようにしてもよいし、演算処理に必要なデータをこの記憶装置からＲＡＭ(1-4)に読み込んで（ロードして）実行するようにしてもよい。
【００２１】
図３は、外部記憶装置(10)に格納される音声データベースの構造を概念的に表したものである。外部記憶装置(10)により、本発明の音声データ記憶手段及びインデックスデータ記憶手段が形成される。
この図３に示されるように、音声データベースは、Ｐ個の集合音声データ１〜Ｐで構成されている。各集合音声データは、同一の表記に対する、それぞれ異なる発声者による音声波形データが格納されている。例えば、集合音声データ１には成人男性による音声波形データが格納され、集合音声データ２には成人女性ａによる音声波形データが格納され、集合音声データ３には、成人女性ｂによる音声波形データが格納される。
各集合音声データには、それぞれ同数の同一の表記に対する音声波形データが格納されており、同一表記の音声波形データが格納される各セルには、同一のＩＤ番号が付けられている。
各集合音声データは、音声の種類コードで特定されるようになっている。
【００２２】
集合音声データは、ヘッダー、インデックスデータ、及び集合セルデータの３つのデータで構成されている。
ヘッダーには、集合音声データの管理情報である、データサイズ、オーサリング情報、データベースバージョン、声の種類コード、インデックステーブルレコード数、インデックステーブルオフセットアドレス、セルデータオフセットアドレスが格納される。
データサイズには、集合音声データ全体のデータサイズが格納される。
オーサリング情報は、集合音声データ作成日付情報が格納される。
データベースバージョンには、データベースのバージョン情報が格納される。
声の種類コードには、当該集合音声データに格納されている音声データの声の種類を識別するコード番号が格納される。
インデックステーブルレコード数には、インデックステーブルのレコード数が格納される。
インデックステーブルオフセットアドレスには、インデックステーブルデータの集合音声データ先頭からのオフセットアドレスが格納される。
セルデータオフセットアドレスには、集合セルデータの集合音声データ先頭からのオフセットアドレスが格納される。
【００２３】
インデックスデータには、任意の音声データのアドレスを計算で取得するためのデータとして、各セルグループ１〜Ｎに対応して、各セルグループのセルグループコード、セルグループ先頭アドレス、及びセル数が格納される。このインデックスデータと各音声データＩＤ番号から、音声波形データ（セル）のアドレスを計算できる。このように、セルグループコードと、セルグループ先頭アドレスとを有するインデックスデータを記憶（格納）することにより、本発明のインデックスデータ記憶手段が形成される。
セルグループコードには、セルをサイズ別にグループ化したセルグループを識別するためのセルグループコードが格納される。セルグループコードは、セルのサイズを表すデータでもあり、本実施形態では、セルのサイズは、セルグループコード×１２８（バイト）である。なお、セルサイズと無関係にセルグループコードを決め、セルサイズの対応表を用意するようにしても良い。セルグループコードは、音声のＩＤ番号の前半を構成する。
セルグループ先頭アドレスには、セルをサイズ別に分類したセルグループの先頭アドレスが格納される。
セル数には、セルグループに分類されたセルの数が格納される。
【００２４】
セルは、音声１つ分の音声波形データを格納した構造体である。セルグループには、グループ化したセルのサイズを表すセルグループコードが付けられており、このセルグループコードにより、インデックスデータ内から該当するセルグループの情報を検索し、セルグループ先頭アドレスおよびセルグループで管理するセルの数を取得する。
そして、各セル（音声）のセルグループコードは、セル（音声）のＩＤ番号から取得することができる。セル（音声）のＩＤ番号には、セルグループコードの他にセルグループ内の配列番号（注２）が含まれており、本インデックスデータから取得したセルグループコード先頭アドレスと、セルグループ内の配列番号により、セル（音声）の集合音声データ内アドレスが計算で取得される（図１参照）。
【００２５】
集合セルデータは、音声波形データを格納したセルを、セルグループ単位にまとめて格納したものである。集合セルデータ内のセルグループは、データサイズの小さいセルのセルグループ順に、セルグループ１からセルグループＭまで配列して格納されている。
セルグループは、同じデータサイズのセルの集合である。
集合セルデータの終端には、セルに納まりきらなかった音声波形データが連結データとして格納されている。すなわち、声の種類の変更等により、音声波形データのサイズがマージンサイズ以上増えた場合に連結データとして集合セルデータの最後に格納される。これにより本発明の連結データ記憶手段が形成される。このように、連結データを集合セルデータの最後に順次格納することにより、セルに納まり切らない音声データに更新した場合であっても、各セルデータのサイズは変更されないため、インデックスデータにおける各セルグループの先頭アドレスを変更する必要がなくなす。
なお、連結データは、各集合音声データ毎に集合セルデータの最後に格納するようにしたが、どの集合音声データかに拘わらず、全ての連結データを全集合音声データの後に順次格納するようにしてもよい。
【００２６】
セルは、１音声分の音声波形データと、マージンエリア、セルヘッダをまとめて管理したデータ構造体である。
音声波形データは、音声を再生するためのＰＣＭ（Pulse Code Modulation）データであり、所定単位（例えば、単語単位）の録音音声から作成される。この録音音声を接続して作成した音声波形データにより台詞等に対応した音声を出力するので、聞き取りやすい音質で再生することができる。
マージンスペースは、音声データベースのバージョンアップ等による音声波形データの変更によって、音声波形データサイズが変動した場合の変動を吸収するためのスペースである。これにより、バージョン変更により音声データが変化しても同一のセル内に変更後の音声データを格納することができ、セルのＩＤ番号を変更する必要がないことから、バージョン間の互換性を保つことができる。
【００２７】
セルヘッダは、セルに格納する音声波形データ管理情報であり、ＩＤ番号、音声波形データサイズ、連結データアドレス、連結データサイズ、パディングで構成されている。
ＩＤ番号は、各音声データに一意に割り振られた、データを特定するための番号である。
音声波形データサイズには、セルに格納されている音声波形データのデータサイズが格納される。
連結データアドレスには、セルに格納しきれなかった音声波形データ（連結データ）の格納先アドレスが格納される。
連結データサイズには、連結データのサイズが格納される。
パディングは、セルヘッダのサイズをある一定の正数倍（本実施形態では１２８の正数倍で、１倍である）にするためのダミーエリアである。
本実施形態では、パディングにより調整されることで、全セルヘッドのサイズは１２８バイトになっている。
【００２８】
図４は、ＩＤ番号の構造を概念的に表したものである。
ＩＤ番号は、各セル（音声）に対して一意的に振られた、データを識別するための番号であり、音声データベースのセルヘッダに格納される（図３参照）。また、エージェント機能やナビゲーション機能におい出力する台詞データも、台詞をＩＤ番号列に変換した形で格納されている。
ＩＤ番号は、図４に示されるように、セルのセルグループを識別するためのセルグループコードと、セルの配列番号で構成される。本実施形態におけるＩＤ番号は、４バイトで表現され、上位２バイトがセルグループコードで構成され、下位２バイトがセルの配列番号で構成される。
【００２９】
セルグループコードは、セルグループを識別するためのコード番号であるとともに、セルグループで管理するセルのデータサイズを意味している。
本実施形態では、セルのデータサイズを２バイトで表現しきれないため、セルの１／１２８倍の値をセルグループコードとしている。これは、セルデータのサイズが１２８バイトの整数倍となっていることに対応している。
セルの配列番号は、集合音声データに格納するセル（音声）の、セルグループデータ内の格納順番である。すなわち、セルグループ内で何番目に格納されているセルかを表すのがセルの配列番号である。
【００３０】
次に、このように構成された音声データ出力装置（エージェント装置）による、音声データ作成の動作について説明する。
まず、音声データ作成処理の概要について図５及び図１を参照して説明する。
エージェント装置は、各種状況検出装置（６）の検出信号から予め決められた起動条件を満たした場合に、その条件に対応した案内や処理をシナリオに従って実行するものである。エージェントがある案内をする場合、エージェントが所定の動作をする動画が表示装置２に表示され、その動作に合わせて音声による案内が出力される。
例えば、その日の朝８時までの時間に初めてイグニッションがオンされたことを起動条件として、自動的にサービスセンタからその日の天気予報の情報を取得すると共に、エージェントが音声で「おはようございます」と挨拶しながら辞儀をする動作をし、その後に音声で「今日の天気は…です」発声するシナリオが実行される。
図５に示されるように、シナリオデータには、起動条件（図示せず）や、台詞データや、画像データ（静止画、動画）等が格納されている。そして、シナリオデータの台詞データには、再生する声の種類を表す音の種類コードと台詞に対応する表記、読み、ＩＤ列が格納されている。
【００３１】
シナリオデータから取得した台詞データから、その台詞を再生するための音声波形データを取得する場合、中央処理装置１は、シナリオデータから声の種類コードと音声のＩＤ番号列を取得し、声の種類コード１から、集合音声データ１を特定する。
そして、中央処理装置１は、ＩＤ番号列から順次ＩＤ番号を読み取り、図１に示すように、前半２バイトで表現されているセルグループコード（図１ではＡ２、以下同じ）に対応するセルグループの先頭アドレスａ１をインデックスデータテーブルから読み取る。そして、ＩＤ番号の後半２バイトで表現されているセルの配列番号ｍから、先頭アドレスａ１からｍ番目のセルを、当該ＩＤ番号に対応するセルとして特定し、音声波形データを読み取る。
そして中央処理装置１は、各ＩＤ番号に対応する音声波形データを繋ぎ合わせて出力データとして音声プロセッサ（1-7）（音声再生モジュール）に供給する（図５）。
【００３２】
次に、以上の音声データ作成処理の詳細について、図６のフローチャートに従って説明する。
シナリオデータから取得した台詞データから、その台詞を再生するための音声波形データを取得する場合、中央処理装置１は、初期化処理を行うと共に、外部記憶媒体から、全集合音声データのインデックスデータをキャッシュメモリとして機能するＲＡＭ(1-4)に読み込む（ステップ１）。
表示では、キャッシュメモリに読み込むインデックスデータ量が少なくなっているので、台詞データの声の種類コードで指定される集合音声データだけでなく、全集合音声データのインデックスデータをキャッシュメモリとして機能するＲＡＭ(1-4)に読み込む（ステップ１）。これにより、各シナリオ毎に声の種類コードで指定される集合音声データのインデックスデータを読み込む必要がなくなり、処理を高速化することができる。
ステップ１の処理のように、インデックスデータを取得（キャッシュメモリに読み込む）ことにより、本発明のインデックスデータ取得手段が形成される。
【００３３】
次に中央処理装置１は、シナリオデータから取得した台詞データを入力する。すなわち、シナリオデータに格納されている台詞データから、声の種類コードと、ＩＤ番号列を入力し、ＲＡＭ（1-4）に格納する（ステップ２）。ステップ２の処理のように、ＩＤ番号列を取得（ＲＡＭ(1-4)に格納）することにより、本発明のＩＤ番号取得手段が形成される。
そして、中央処理装置１は、ＲＡＭ（1-4）に格納した声の種類コードから、音声波形データを取得する集合音声データを選択する（ステップ３）。
【００３４】
次に中央処理装置１は、ＩＤ番号列の順番にＩＤ番号を音声波形データに変換していく（ステップ４〜８）。
すなわち、中央処理装置１は、ＩＤ番号の上位２バイトからセルグループを算出し（ステップ４）、ステップ１でキャッシュしたインデックスデータから、算出したセルグループの先頭アドレスを取得する（ステップ５）。なおインデックスデータは、キャッシュメモリに常駐してあるため、ファイルアクセスする必要なくインデックスデータに高速にアクセスすることができる。
【００３５】
次に中央処理装置１は、ＩＤ番号とセルグループ先頭アドレスからセルデータアドレス算出する（ステップ６）。
すなわち中央処理装置１は、ＩＤ番号の下２桁からセル配列番号を取得し、このセル配列番号とステップ５で取得したセルグループ先頭アドレスとから、ＩＤ番号で特定されるセルの先頭アドレスと、音声波形データのアドレスを算出する。
【００３６】
セルの先頭アドレスの計算は次の方法による。
以下の条件の場合で、セル（音声波形データ）アドレスの計算方法を示す。
いま、ＩＤ番号のデータ型が４バイト符号なし整数で、セルグループコードが２バイト、セルの配列番号が２バイト、セルのデータサイズが１２８の整数倍で、ＩＤ番号が０ｘ００４８０００５とする。また、インデックスデータは、セルグループコード０ｘ００４８に対応するセルグループ先頭アドレスとして０ｘ００１２３４５６が格納されている者とする。なお、ＩＤ番号等の最初に付した０ｘはそれ以後の数字が１６進数で表示されていることを表している。
【００３７】
この場合、ＩＤ番号０ｘ００４８０００５から、セルグループコードが０ｘ４８（７２）で、セルグループ内のセルの配列番号が０ｘ０００５（５）である。なお、カッコ内は１０進表示した値である（以下同じ）。
【００３８】
セルのアドレスの計算は以下の手順で計算される。
（１）ＩＤ番号のセルグループコード０ｘ００４８から、集合音声データのインデックスデータを参照して、セルグループ先頭アドレス０ｘ００１２３４５６（１１９３０４６）を取得する。なお、セルグループ先頭アドレスの値は説明のための一例である。
（２）セルグループコードは、セルサイズの１２８分の１であるから、セルグループのセルサイズは次のように計算される。
セルサイズ＝セルグループコード×１２８バイト
＝７２×１２８バイト（７２は、０ｘ４８の１０進数）
＝９２１６バイト
（３）セルグループ内のセルの配列番号は０ｘ０００５（５）なので、取得する音声波形データのセルは、セルグループの先頭から５番目のセルである。
従って、セルの先頭アドレスは、セル先頭アドレスからセルサイズ×４のバイト進んだポイントである。
セルの先頭アドレス＝セルグループ先頭アドレス＋（セルグループ内のセルの配列番号−１）×セルサイズ
＝１１９３０４６＋（５−１）×９２１６
＝１２２９９１０
上記ステップ４〜ステップ６の処理により、本発明のアドレス算出手段が形成される。
【００３９】
次に中央処理装置１は、算出したＩＤ番号に対応するセルの先頭アドレスを用いて、該当するセルのセルデータ（音声波形データ）を取得し、ＲＡＭ（1-4）に格納する（ステップ７）。既に取得済みの音声波形データが存在する場合には、取得した音声波形データ順に結合する。ステップ７のように、算出したアドレスに対応した音声波形データを読み取る（取得する）ことにより、本発明の読み取り手段が形成される。
特定したセルから音声波形データを取得する場合、中央処理装置１は、セルヘッダの情報から、音声波形データサイズを取得し、算出したセルの先頭アドレスにセルヘッダのサイズ（１２８バイト）を加えたアドレスから、音声波形データサイズ分のデータを取得する。
なお、セルヘッダの連結データアドレスと、連結データサイズにデータが格納されている場合には、連結データアドレスから連結データサイズ分のデータを取得し、セルから取得した音声波形データの後に結合することで音声波形データを生成する。
【００４０】
次に中央処理装置１は、全てのＩＤ番号について音声波形データを取得したか判断し（ステップ８）、終了していない場合（ステップ８；Ｎ）には、ステップ４に戻って次のＩＤ番号の音声波形データを取得する。
一方、全てのＩＤ番号の波形データを取得した場合（ステップ８；Ｙ）、中央処理装置１は、シナリオデータに次の台詞があるか否かを判断する（ステップ９）。次の台詞がある場合（ステップ９；Ｙ）、中央処理装置１は、ステップ２に戻り次の台詞についての音声波形データを取得し、次の台詞がなければ（ステップ９；Ｎ）、ステップ７で読み取った全音声データを結合して音声再生モジュール（音声プロセッサ(1-8)）に出力し（ステップ１０）、音声波形データ取得処理を終了する。このステップ１０の処理のように、全音声データを結合して音声再生モジュールに出力することにより、本発明の音声波形データ出力手段が形成される。
なお、出力された音声波形データは、音声再生モジュールでアナログデータに変換された後、音声出力装置（３）から出力される。
【００４１】
以上説明したように本実施形態の音声データ出力装置（エージェント装置）によれば、単語単位の録音音声を音声波形データとして音声データベースに格納しておき、これを接続して作成することで、聞き取りやすい音質で再生することができる。
また、大量の単語単位の音声波形データを集合音声データに格納しているので、この音声波形データを組み合わせることで、いろいろな日本語音声を作成することができる。
【００４２】
また、本実施形態によれば、集合音声データ内の音声は１種類の声質の音声で構成されており、複数の集合音声データを持つことで、作成する音声波形データの声質を変更することができる。
そして、集合音声データ内の音声のＩＤ番号は、声の種類の違う集合音声データでも同じＩＤ番号であるため、音声波形データを取得する集合音声データを変えるだけで（台詞データの声の種類コードを変更するだけで）、同じ台詞の音声をいろいろな声の種類で再生することができる。
【００４３】
また、本実施形態によれば、集合音声データのデータ構造を一定サイズのセルおよび音声ＩＤ番号のコード体系を、ディスクアクセスを小さくする構造としたので、組み込みシステムという限られたハードウェア資源の環境下で、大量の音声を格納した集合音声データからの検索処理を高速に行うことができる。
例えば、１０万の音声波形データを５００種類のセルグループに分類した場合には、インデックスデータとして記憶するデータ量を２００分の１に減らすことができる。
【図面の簡単な説明】
【００４４】
【図１】音声のＩＤ番号とインデックステーブルから音声波形データが格納されたセルのアドレスを特定する流れの概要を表した説明図である。
【図２】音声データ出力装置が適用されるエージェント装置の構成を表したブロック図である。
【図３】音声データベースの構造を概念的に表した説明図である。
【図４】ＩＤ番号の構造を概念的に表した説明図である。
【図５】音声データ作成処理の概要を表した説明図である。
【図６】音声データ作成処理の内容を表したフローチャートである。
【符号の説明】
【００４５】
（１）  中央処理装置
（２）  表示装置
（３）  音声出力装置
（４）  音声入力装置
（５）  入力装置
（６）  各種状況検出装置
（７）  各種車載装置
（８）  通信制御装置
（９）  通信装置
(10)  外部記憶装置
【図１】
2005062363.tif 000003
【図２】
2005062363.tif 000004
【図３】
2005062363.tif 000005
【図４】
2005062363.tif 000006
【図５】
2005062363.tif 000007
【図６】
2005062363.tif 000008