JP6036339B2 - Speech device - Google Patents
Speech device Download PDFInfo
- Publication number
- JP6036339B2 JP6036339B2 JP2013013317A JP2013013317A JP6036339B2 JP 6036339 B2 JP6036339 B2 JP 6036339B2 JP 2013013317 A JP2013013317 A JP 2013013317A JP 2013013317 A JP2013013317 A JP 2013013317A JP 6036339 B2 JP6036339 B2 JP 6036339B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- index data
- cache memory
- language
- secondary index
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Navigation (AREA)
Description
本発明は、案内音声等を発声する発声装置に関するものである。 The present invention relates to an utterance device that utters a guidance voice or the like.
従来、ナビゲーション装置や駐車支援装置や自動現金取引機器のように、自動で案内音声を発声する発声装置が知られている(例えば特許文献1)。 DESCRIPTION OF RELATED ART Conventionally, the speech apparatus which utters a guidance voice automatically like a navigation apparatus, a parking assistance apparatus, or an automatic cash transaction apparatus is known (for example, patent document 1).
発声装置では、HDD(Hard disk drive)やSDカード(SD Memory Card)などのストレージ機器に、膨大な数の録音済み音声データを格納している。そして、発声装置は、アプリケーションプログラム(以下、アプリ)が要求する音声データをストレージ機器から検索して読み出し、アプリに従った音声を発話する。 In the utterance device, a vast number of recorded audio data is stored in a storage device such as an HDD (Hard disk drive) or an SD card (SD Memory Card). Then, the utterance device searches and reads out the audio data requested by the application program (hereinafter referred to as application) from the storage device, and utters the audio according to the application.
しかし、ストレージ機器へのアクセス時間は、CPU処理時間に比べ時間がかかる。よって、ストレージ機器に格納された音声データの全てをいちいち検索していたのでは、積算のアクセス回数が増加してしまう。そして、積算のアクセス回数が増加することで、アプリが音声データを要求してから実際に発声するまでの時間がかかり、レスポンスが悪くなってしまう。 However, the access time to the storage device takes longer than the CPU processing time. Therefore, if all the audio data stored in the storage device is searched one by one, the cumulative number of accesses increases. And since the number of times of cumulative access increases, it takes time from when the application requests voice data until it is actually uttered, resulting in poor response.
そこで、この問題を解決するために、従来では以下のようにしていた。まず、音声データの索引となる、言語別等の所定の項目について分類された二次索引データと、二次索引データの索引となる、言語別等の所定の項目について分類された一次索引データとをストレージ機器に格納しておく。続いて、一次索引データと二次索引データとのうちの一次索引データのみをキャッシュメモリに展開しておく。これは、キャッシュメモリの容量がストレージ機器よりも小さく、展開するデータ量を抑えなければならないためである。 Therefore, in order to solve this problem, the following has been conventionally performed. First, secondary index data classified for a predetermined item such as language, which is an index of audio data, and primary index data classified for a predetermined item such as language, which is an index of secondary index data, Is stored in the storage device. Subsequently, only the primary index data of the primary index data and the secondary index data is expanded in the cache memory. This is because the capacity of the cache memory is smaller than that of the storage device, and the amount of data to be expanded must be suppressed.
そして、必要な音声データをストレージ機器から読み出す場合に、キャッシュメモリに展開された一次索引データのうちから、必要な音声データに対応する一次索引データを検索する。さらに、検索した一次索引データを参照し、ストレージ機器に格納された二次索引データのうちから、必要な音声データに対応する二次索引データを検索する。そして、検索した二次索引データを参照し、必要な音声データにアクセスして読み出す。これにより、ストレージ機器に格納されているデータが検索される機会を減らして、ストレージ機器へのアクセス回数を低減することで、アプリが音声データを要求してから実際に発声するまでの時間の高速化を図っていた。 When the necessary audio data is read from the storage device, the primary index data corresponding to the necessary audio data is searched from the primary index data expanded in the cache memory. Furthermore, referring to the retrieved primary index data, secondary index data corresponding to necessary audio data is retrieved from the secondary index data stored in the storage device. Then, referring to the retrieved secondary index data, necessary audio data is accessed and read. This reduces the chances of searching the data stored in the storage device and reduces the number of accesses to the storage device, thereby speeding up the time from when the app requests voice data until it actually speaks. I was trying to make it.
また、音声データ、一次索引データ、二次索引データといった階層化したデータ構造とするのは、全体のデータのサイズを小さく抑えるためと、新たな音声データを追加する場合の編集の手間を抑えるためである。 In addition, the hierarchical data structure such as audio data, primary index data, and secondary index data is used to reduce the overall data size and to reduce the trouble of editing when adding new audio data. It is.
しかしながら、一次索引データと二次索引データとのうちの一次索引データのみをキャッシュメモリに展開しておく前述の技術では、ストレージ機器に格納された二次索引データを検索する際のストレージ機器へのアクセス時間が必ず生じてしまうという問題があった。 However, in the above-described technique in which only the primary index data of the primary index data and the secondary index data is expanded in the cache memory, the storage device is searched for the secondary index data stored in the storage device. There was a problem that access time would always occur.
また、二次索引データもキャッシュメモリに展開しようとする場合には、キャッシュメモリの容量を大幅に増加させる必要があるが、キャッシュメモリを増加させるとキャッシュメモリのアクセス時間が増加してしまうという問題が生じてしまう。 In addition, when secondary index data is to be expanded in the cache memory, it is necessary to greatly increase the cache memory capacity. However, if the cache memory is increased, the access time of the cache memory increases. Will occur.
本発明は、上記従来の問題点に鑑みなされたものであって、その目的は、キャッシュメモリの容量の増加を抑えながら、アプリケーションプログラムが音声データを要求してから実際に発声するまでの時間のさらなる高速化を可能にする発声装置を提供することにある。 The present invention has been made in view of the above-described conventional problems, and its object is to reduce the time from when an application program requests voice data until it actually speaks while suppressing an increase in the capacity of the cache memory. An object of the present invention is to provide an utterance device that can further increase the speed.
本発明の発声装置は、複数の音声データと、音声データの索引となる、言語別に分類された二次索引データと、二次索引データの索引となる、言語別に分類された一次索引データとを格納しているストレージ(30)と、ストレージよりもアクセスレイテンシが小さいキャッシュメモリ(14)と、アプリケーションプログラムが要求する音声データである対象音声データをストレージから読み出す読み出し部(113)と、読み出し部で読み出した対象音声データに従った音声を出力することで発声する発声部(117)とを備える発声装置であって、一次索引データのうち、言語設定されている言語の一次索引データに絞ってキャッシュメモリに展開するとともに、キャッシュメモリに展開した一次索引データと同じ言語の二次索引データのうち、所定数の二次索引データに絞ってキャッシュメモリに展開するキャッシュ部(111)と、アプリケーションプログラムが要求する対象音声データの索引となる二次索引データである対象二次索引データを、キャッシュメモリに展開した二次索引データから探索するキャッシュメモリ探索部(112)とを備え、読み出し部は、キャッシュメモリに展開した二次索引データから、キャッシュメモリ探索部によって対象二次索引データが探索できた場合に、キャッシュメモリに展開されている当該対象二次索引データを参照して、対象音声データをストレージから読み出すことを特徴としている。 The utterance device of the present invention includes a plurality of audio data, secondary index data classified by language as an index of audio data, and primary index data classified by language as an index of secondary index data. The storage (30) that is stored, the cache memory (14) having an access latency smaller than that of the storage, the reading unit (113) that reads target audio data that is the audio data requested by the application program from the storage, and the reading unit An utterance device including an utterance unit (117) that utters by outputting a sound according to the read target audio data, and caches only primary index data of a language in which language is set among primary index data Secondary index data in the same language as the primary index data expanded in memory and expanded in cache memory Among them, a cache unit (111) that narrows down to a predetermined number of secondary index data and expands the cache memory, and target secondary index data that is secondary index data that is an index of target audio data requested by the application program, A cache memory search unit (112) for searching from secondary index data expanded in the cache memory, and the reading unit searches the secondary index data expanded in the cache memory for target secondary index data by the cache memory search unit If it can, the target audio data is read from the storage with reference to the target secondary index data expanded in the cache memory.
これによれば、言語設定されている言語(以下、設定言語)の一次索引データに絞ってキャッシュメモリに展開するので、キャッシュメモリを大幅に増加させなくても、設定言語の二次索引データの一部をキャッシュメモリに展開できる。言語設定が切り替えられなければ、設定言語以外の言語(以下、設定外言語)の一次索引データが音声データの読み出しに必要となることはない。よって、設定言語の一次索引データに絞ってキャッシュメモリに展開した場合であっても、ストレージに格納される設定外言語の一次索引データにアクセスする必要は生じず、ストレージに格納される一次索引データへのアクセス処理時間を生じさせないで済む。 According to this, since it is expanded to the cache memory by focusing only on the primary index data of the language for which the language is set (hereinafter referred to as “set language”), the secondary index data of the set language can be stored without greatly increasing the cache memory. Part of it can be expanded in cache memory. If the language setting is not switched, primary index data other than the set language (hereinafter, non-set language) is not required for reading the audio data. Therefore, even if the primary index data of the set language is narrowed down and expanded in the cache memory, it is not necessary to access the primary index data of the non-set language stored in the storage, and the primary index data stored in the storage No access processing time is required.
また、設定言語の二次索引データのうち所定数のデータをキャッシュメモリに展開するので、対象音声データの索引となる対象二次索引データが、キャッシュメモリに展開された二次索引データに含まれている場合には、ストレージに格納される二次索引データを探索する必要がなくなる。この場合、ストレージに格納される二次索引データにアクセスする必要は生じず、ストレージに格納される二次索引データへのアクセス処理時間を生じさせないで済む。 In addition, since a predetermined number of data among the secondary index data in the set language is expanded in the cache memory, the target secondary index data serving as an index of the target audio data is included in the secondary index data expanded in the cache memory. In this case, there is no need to search for secondary index data stored in the storage. In this case, it is not necessary to access the secondary index data stored in the storage, and the access processing time for the secondary index data stored in the storage can be avoided.
なお、ここで言うところの所定数は、設定外言語の全一次索引データをキャッシュメモリに展開する場合に必要となるメモリ容量に対して、設定言語の二次索引データの所定数を当該キャッシュメモリに展開する場合に必要となるメモリ容量の増加分が数キロバイトまでの範囲におさまる程度の数とする。 Note that the predetermined number here refers to the predetermined number of secondary index data in the set language relative to the memory capacity required when all the primary index data in the non-set language is expanded in the cache memory. The number of memory increases required when deploying to a number that falls within the range of several kilobytes.
キャッシュメモリはアクセスレイテンシがストレージよりも小さく、キャッシュメモリへのアクセス時間は、ストレージへのアクセス時間に比べて短いので、以上の構成によれば、アクセス処理時間を低減できる機会が増大する。その結果、キャッシュメモリの容量の増加を抑えながら、アプリケーションプログラムが音声データを要求してから実際に発声するまでの時間のさらなる高速化が可能になる。 Since the cache memory has an access latency smaller than that of the storage, and the access time to the cache memory is shorter than the access time to the storage, the above configuration increases the opportunity to reduce the access processing time. As a result, it is possible to further speed up the time from when the application program requests voice data until it actually utters while suppressing an increase in the capacity of the cache memory.
以下、本発明の実施形態について図面を用いて説明する。本実施形態(以下、実施形態1)では、本発明の発声装置をナビゲーション装置1に適用した例を挙げて説明を行う。図1に示すナビゲーション装置1は、車両に搭載されるものであり、音声出力装置20、ストレージ機器30、およびこれらに接続された制御装置10を備えている。なお、ここでは、便宜上、一般的なナビゲーション装置が有している機能に関する構成のうち、本発明の説明に不要なものについては説明を省略している。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. In this embodiment (hereinafter referred to as Embodiment 1), an example in which the utterance device of the present invention is applied to the
音声出力装置20は、スピーカ等から構成され、制御装置10から出力された音声データに従って、経路案内時の案内音声などを発声する。
The
ストレージ機器30は、電気的に書き込み可能な記憶装置である。ストレージ機器30には大量のデータや電源をオフしても消去してはいけないデータを記憶したりする等の用途がある。なお、ストレージ機器30は、比較的記憶容量の小さいリムーバブルなメモリであってもよい。例えば、ストレージ機器30としては、HDD(Hard disk drive)やSDカード(SD Memory Card)等を用いる構成とすればよい。
The
さらに、ストレージ機器30には、音声出力装置20から発声する案内音声のデータであり、複数の実音声データ(以下、単に音声データ)を含む音声データファイル(つまり、アーカイブ)が格納されている。なお、ストレージ機器30が請求項のストレージに相当する。例えば、音声データは所定の形式で圧縮されてストレージ機器30に格納される構成とする。
Further, the
ここで、図2を用いて、ストレージ機器30に格納される音声データファイルのデータ構造についての説明を行う。音声データファイルは、大別すると音声データ、音声データの索引となる音声オフセットテーブル、音声オフセットテーブルの索引となる音声管理レコードといった階層化したデータ構造となっている。図2の音声管理テーブルAの並びが、音声管理レコードの階層のデータを示しており、図2の音声管理テーブルBの並びが、音声オフセットテーブルの階層のデータを示している。
Here, the data structure of the audio data file stored in the
音声言語数は、音声データに用いられる言語の数を示している。一例として音声データに用いられる言語には、日本語、英語、フランス語、スペイン語、オランダ語、イタリア語、ドイツ語、中国語、韓国語等がある。 The number of speech languages indicates the number of languages used for speech data. As an example, languages used for audio data include Japanese, English, French, Spanish, Dutch, Italian, German, Chinese, Korean, and the like.
音声管理レコードは、言語ごとに設けられている。言い換えると、言語別に分類されている。例えば言語数がn個である場合には、1〜nの音声管理レコードが音声データファイルに含まれることになる。なお、言語ごとに設けられている音声管理レコードが請求項の一次索引データに相当する。
A voice management record is provided for each language. In other words, it is classified by language. For example, when the number of languages is n,
また、音声管理レコードには、音声数等の項目や音声オフセットテーブルへのオフセット及び音声オフセットテーブルのサイズの項目がある。音声オフセットテーブルへのオフセット及び音声オフセットテーブルのサイズは、複数のオフセットテーブルのうちの特定の1つのオフセットテーブルを指す値である。音声管理レコードは、例えば1レコードが数十バイト程度である。 The voice management record includes items such as the number of voices, an offset to the voice offset table, and a size of the voice offset table. The offset to the audio offset table and the size of the audio offset table are values indicating one specific offset table among the plurality of offset tables. For example, one record of the voice management record is about several tens of bytes.
音声オフセットテーブルも、言語ごとに設けられている。言い換えると、言語別に分類されている。例えば言語数がn個である場合には、1〜nの音声オフセットテーブルが音声データファイルに含まれることになる。 An audio offset table is also provided for each language. In other words, it is classified by language. For example, when the number of languages is n, the audio data table includes 1 to n audio offset tables.
また、言語別の各音声オフセットテーブルには、それぞれ音声オフセットレコードが含まれる。音声オフセットレコードは、音声データを特定するID(以下、音声ID)ごとに設けられている。例えば1言語についての音声データがl個である場合には、1〜lの音声オフセットレコードが1つの音声オフセットテーブルに含まれることになる。なお、言語別に分類されるとともに音声IDごとに設けられた音声オフセットレコードが請求項の二次索引データに相当する。 In addition, each audio offset table for each language includes an audio offset record. The audio offset record is provided for each ID (hereinafter referred to as audio ID) that specifies audio data. For example, when there are l pieces of audio data for one language, 1 to 1 audio offset records are included in one audio offset table. Note that a voice offset record classified for each language and provided for each voice ID corresponds to the secondary index data in the claims.
音声オフセットレコードには、音声IDの項目や音声データへのオフセット及び音声データのサイズの項目がある。音声データへのオフセット及び音声データのサイズは、複数の音声データのうちの特定の1つの音声データを指す値である。音声オフセットレコードは、例えば1レコードが10〜20バイト程度である。また、音声オフセットレコードの数は、例えば1つの音声オフセットテーブルで約7500である。 The audio offset record includes an audio ID item, an offset to audio data, and an audio data size item. The offset to the audio data and the size of the audio data are values indicating one specific audio data among the plurality of audio data. For example, one record of the audio offset record is about 10 to 20 bytes. Further, the number of audio offset records is, for example, about 7500 in one audio offset table.
さらに、音声オフセットレコードは、使用頻度のより高い音声データの索引となる音声オフセットレコードほど、各音声オフセットテーブルでの格納順が先頭に近くなるように格納されている。 Furthermore, the audio offset record is stored so that the audio offset record that is an index of audio data having a higher use frequency is closer to the head in the storage order in each audio offset table.
音声データは、例えば音声データがk個である場合には、1〜kの音声データが音声データファイルに格納されることになる。音声データは、例えば1レコードが数10〜数百キロバイト程度である。 For example, when there are k pieces of sound data, the sound data of 1 to k is stored in the sound data file. The audio data is, for example, about several tens to several hundreds of kilobytes per record.
なお、音声データファイルが音声管理レコード、音声オフセットテーブル、音声データといった階層化したデータ構造をとっているのは、全体のデータのサイズを小さく抑えるためと、新たな音声データを追加する場合の編集の手間を抑えるためである。詳しくは、音声データを新たに追加する場合、音声管理レコードに変更は加えず、音声オフセットテーブルに、追加した音声データを索引する新たな音声オフセットレコードを追加するだけで済むようにするためである。 Note that the audio data file has a hierarchical data structure such as an audio management record, audio offset table, and audio data in order to keep the overall data size small and to edit when adding new audio data. This is to reduce the time and effort. Specifically, when new audio data is added, the audio management record is not changed, and a new audio offset record for indexing the added audio data only needs to be added to the audio offset table. .
制御装置10は、通常のマイコンとして構成されており、内部には周知のCPU11、ROM13やRAM14等のメモリ12、図示しないI/O、及びこれらの構成を接続するバスラインが備えられている。CPU11は、図3に示すように、機能ブロックとして、キャッシュ部111、キャッシュメモリ探索部112、読み出し部113、キー取得部114、ストレージアクセス部115、ストレージ探索部116、及び発声部117を備えている。
The
CPU11は、音声データファイルの一部をRAM14にキャッシュするキャッシュ処理や後述の音声案内アプリが要求する音声データをストレージ機器30から読み出す処理に関連する読み出し関連処理を実行する。なお、キャッシュ処理や読み出し関連処理については後に詳述する。
The
ROM13は、不揮発性メモリであって、CPU11が実行するためのプログラムを格納している。例えばROM13は、所定のタイミングで案内音声を発声させるアプリケーションプログラム(以下、音声案内アプリ)や言語設定を管理するアプリ(以下、言語管理アプリ)等を格納している。
The
言語設定とは、複数の言語から音声案内に用いる言語を設定することを示す。また、言語管理アプリで管理する、言語設定されている言語(以下、現在の設定言語)や音声データファイル内での各言語の並び番号(以下、言語並び番号)についての情報は、例えばRAM14やメモリ12の図示しないEEPROMに格納されるものとする。
The language setting indicates setting a language used for voice guidance from a plurality of languages. Information about the language set language (hereinafter, currently set language) managed by the language management application and the sequence number of each language in the audio data file (hereinafter, language sequence number) is, for example,
RAM14は、アクセスレイテンシがストレージ機器30よりも小さい揮発性メモリである。RAM14としては、例えばDRAM(Dynamic Random Access Memory)を用いることができる。ここで、図4を用いて、RAM14のメモリ領域についての説明を行う。RAM14は、メモリ領域として、図4に示すようにプログラム領域とRAM領域を有している。プログラム領域は、ROM13に格納されているプログラムがコピーされる領域である。RAM領域は、RAM14のメモリ領域のうちのプログラム領域以外の領域である。
The
プログラム領域には、図4に示すように、前述の音声案内アプリがコピーされる。また、RAM領域には、図4に示すように、音声案内アプリの使用分のメモリ領域が割り当てられ、そのメモリ領域に前述の音声管理レコードの一部や音声オフセットテーブルの一部がキャッシュされる。よって、RAM14が請求項のキャッシュメモリに相当する。他にも、RAM領域には、CPU11でデコードされた音声データが一時的に格納されたりする。
As shown in FIG. 4, the above-described voice guidance application is copied to the program area. In addition, as shown in FIG. 4, a memory area for use of the voice guidance application is allocated to the RAM area, and a part of the voice management record and a part of the voice offset table are cached in the memory area. . Therefore, the
ここで、図5のフローチャートを用いて、CPU11でのキャッシュ処理についての説明を行う。図5のフローチャートは、音声案内アプリの起動時や言語設定の切り替わり時に開始する構成とすればよい。
Here, the cache processing in the
なお、ナビゲーション装置1が搭載された車両のイグニッション電源やアクセサリ電源がオンになったときにナビゲーション装置1が連動して起動し、音声案内アプリも自動的に起動する構成である場合には、イグニッション電源やアクセサリ電源がオンになったときに図5のフローチャートを開始する構成としてもよい。また、言語設定の切り替わりは、言語管理アプリが実行されているCPU11で検知する構成とすればよい。
In addition, when the
まず、ステップS1では、キャッシュ部111が言語設定関連情報取得処理を行って、ステップS2に移る。言語設定関連情報取得処理では、言語管理アプリで管理している現在の設定言語及び言語並び番号をキャッシュ部111が取得する。現在の設定言語及び言語並び番号は、前述のRAM14やEEPROMから取得する構成とすればよい。
First, in step S1, the
ステップS2では、キャッシュ部111が第1キャッシュ処理を行って、ステップS3に移る。第1キャッシュ処理では、ストレージ機器30に格納されている音声データファイルにアクセスする。そして、ステップS1で取得した現在の設定言語及び言語並び番号をもとに、ストレージ機器30に格納されている音声管理レコードのうち、現在の設定言語についての音声管理レコードのみをRAM14に展開する。つまり、現在の設定言語についての音声管理レコードのみをRAM14にキャッシュする。
In step S2, the
ステップS3では、キャッシュ部111が第1キー取得処理を行って、ステップS4に移る。第1キー取得処理では、ステップS2でRAM14にキャッシュした音声管理レコード(以下、キャッシュ音声管理レコード)にアクセスする。そして、キャッシュ音声管理レコードに含まれる音声オフセットテーブルへのオフセット(以下、テーブルオフセット)、及び音声オフセットテーブルのサイズ(以下、テーブルサイズ)を取得する。
In step S3, the
ステップS4では、キャッシュ部111が、第2キャッシュ処理を行って、フローを終了する。第2キャッシュ処理では、ストレージ機器30に格納されている音声データファイルにアクセスする。そして、ステップS3で取得したテーブルオフセット及びテーブルサイズをもとに、ストレージ機器30に格納されている現在の設定言語についての音声オフセットテーブルのうち、所定数の音声オフセットレコードのみをRAM14に展開する。つまり、現在の設定言語についての所定数の音声オフセットレコードのみをRAM14にキャッシュする。
In step S4, the
ここで言うところの所定数は、以下のような条件を満たすように予め設定しておく構成とすればよい。音声データファイルの全音声管理レコードをRAM14にキャッシュする場合に対する、キャッシュ音声管理レコードをRAM14にキャッシュする場合のメモリ容量の差分に対して、音声オフセットレコードをキャッシュする場合の必要となるメモリ容量の増加分が数キロバイトにおさまる程度の数とすればよい。一例として、所定数は数千とすればよい。
The predetermined number here may be set in advance so as to satisfy the following conditions. Increase in the memory capacity required when the audio offset record is cached with respect to the difference in memory capacity when the cache audio management record is cached in the
また、所定数の音声オフセットレコードの選び方としては、使用頻度のより高い所定数の音声データの索引となる、所定数の音声オフセットレコードを選ぶ構成とすればよい。具体的には、音声オフセットテーブルでの格納順が先頭に近いものから順に所定数の音声オフセットレコードを選ぶ構成とすればよい。これは、前述したように、音声オフセットテーブルにおいて、使用頻度のより高い音声データの索引となる音声オフセットレコードほど格納順が先頭に近くなるように格納してあるからである。なお、ランダムに所定数を選ぶ構成としても構わない。 In addition, as a method of selecting a predetermined number of audio offset records, a configuration in which a predetermined number of audio offset records that serve as an index of a predetermined number of audio data having a higher use frequency may be selected. Specifically, a predetermined number of audio offset records may be selected in order from the storage order in the audio offset table close to the head. This is because, as described above, in the audio offset table, the audio offset records that are indexes of audio data having a higher use frequency are stored such that the storage order is closer to the head. Note that a predetermined number may be selected at random.
続いて、図6のフローチャートを用いて、CPU11での読み出し関連処理についての説明を行う。図6のフローチャートは、前述のキャッシュ処理が完了したときに開始する構成とすればよい。
Subsequently, the read-related processing in the
まず、ステップS11では、音声案内アプリからの音声データの要求(以下、発声要求)があった場合(ステップS11でYES)には、ステップS12に移る。一方、発声要求がなかった場合(ステップS11でNO)には、ステップS20に移る。発声要求には、要求する音声データの音声IDが引数として含まれるものとする。 First, in step S11, when there is a request for voice data from the voice guidance application (hereinafter referred to as an utterance request) (YES in step S11), the process proceeds to step S12. On the other hand, if there is no utterance request (NO in step S11), the process proceeds to step S20. The utterance request includes the voice ID of the requested voice data as an argument.
ステップS12では、キャッシュメモリ探索部112がキャッシュオフセットレコード探索処理を行って、ステップS13に移る。キャッシュオフセットレコード探索処理では、発声要求の引数にある音声IDをもとに、キャッシュ処理でRAM14にキャッシュした音声オフセットレコードから、発声要求の引数にある音声IDと一致する音声IDを含む音声オフセットレコードを探索する。
In step S12, the cache
そして、キャッシュオフセットレコード探索処理では、探索の対象の音声オフセットレコードを探索できた場合には、その音声オフセットレコードから、発声要求のあった音声データへのオフセット(以下、データオフセット)、及び発声要求のあった音声データのサイズ(以下、データサイズ)を取得する。 In the cache offset record search process, when the search target voice offset record can be searched, the offset from the voice offset record to the voice data requested to be uttered (hereinafter, data offset), and the utterance request Acquire the size of the audio data that has been recorded (hereinafter referred to as the data size).
ステップS13では、キャッシュオフセットレコード探索処理において、データオフセット及びデータサイズを取得できた場合(ステップS13でYES)には、ステップS14に移る。一方、データオフセット及びデータサイズを取得できなかった場合(ステップS13でNO)には、ステップS15に移る。 In step S13, when the data offset and the data size can be acquired in the cache offset record search process (YES in step S13), the process proceeds to step S14. On the other hand, when the data offset and the data size cannot be acquired (NO in step S13), the process proceeds to step S15.
ステップS14では、読み出し部113が第1音声データ読み出し処理を行って、ステップS19に移る。第1音声データ読み出し処理では、ストレージ機器30に格納されている音声データファイルにアクセスする。そして、キャッシュオフセットレコード探索処理で取得したデータオフセット及びデータサイズが指す音声データをストレージ機器30から読み出す。言い換えると、キャッシュオフセットレコード探索処理で取得したデータオフセット及びデータサイズを参照して、音声データをストレージ機器30から読み出す。
In step S14, the
ステップS13でデータオフセット及びデータサイズを取得できなかった場合のステップS15では、キー取得部114が第2キー取得処理を行って、ステップS16に移る。第2キー取得処理では、キャッシュ音声管理レコードにアクセスする。そして、キャッシュ音声管理レコードに含まれるテーブルオフセット及びテーブルサイズを取得する。
In step S15 when the data offset and data size cannot be acquired in step S13, the
ステップS16では、ストレージアクセス部115がストレージアクセス処理を行って、ステップS17に移る。ストレージアクセス処理では、ストレージ機器30に格納されている音声データファイルにアクセスする。そして、第2キー取得処理で取得したテーブルオフセット及びテーブルサイズが指す音声オフセットテーブルにアクセスする。
In step S16, the
ステップS17では、ストレージ探索部116がストレージ探索処理を行って、ステップS118に移る。ストレージ探索処理では、発声要求の引数にある音声IDをもとに、ストレージアクセス処理でアクセスした音声オフセットテーブルから、発声要求の引数にある音声IDと一致する音声IDを含む音声オフセットレコードを探索する。そして、ストレージ探索処理では、探索の対象の音声オフセットレコードを探索できた場合には、その音声オフセットレコードから、データオフセット及びデータサイズを取得する。
In step S17, the
ステップS18では、読み出し部113が第2音声データ読み出し処理を行って、ステップS19に移る。第2音声データ読み出し処理では、ストレージ機器30に格納されている音声データファイルにアクセスする。そして、ストレージ探索処理で取得したデータオフセット及びデータサイズが指す音声データをストレージ機器30から読み出す。言い換えると、ストレージ探索処理で取得したデータオフセット及びデータサイズを参照して、音声データをストレージ機器30から読み出す。
In step S18, the
ステップS19では、発声部117が発声処理を行って、ステップS20に移る。発声処理では、読み出し部113がストレージ機器30から読み出した音声データをデコードして音声出力装置20に出力し、音声出力装置20から音声を出力させる。つまり、音声出力装置20から発声させる。
In step S19, the
ステップS20では、読み出し関連処理の終了タイミングであった場合(ステップS20でYES)には、フローを終了する。一方、読み出し関連処理の終了タイミングでなかった場合(ステップS20でNO)には、ステップS11に戻ってフローを繰り返す。 In step S20, if it is the end timing of the read-related process (YES in step S20), the flow ends. On the other hand, if it is not the end timing of the reading related process (NO in step S20), the process returns to step S11 and the flow is repeated.
終了タイミングの一例としては、言語設定の切り替わり時や音声案内アプリの終了時がある。また、ナビゲーション装置1が搭載された車両のイグニッション電源やアクセサリ電源がオフになったときにナビゲーション装置1が連動して終了し、音声案内アプリも自動的に終了する構成である場合には、イグニッション電源やアクセサリ電源がオフになったときを終了タイミングとする構成としてもよい。
An example of the end timing is when the language setting is switched or when the voice guidance application is ended. In addition, when the ignition device or the accessory power source of the vehicle in which the
ここで、実施形態1における作用効果について説明を行う。従来技術と比較した作用効果について説明を行うため、従来技術における音声データの読み出しの処理についての説明を行う。なお、従来技術においても、音声データファイルのデータ構造自体は同じものとして説明を行う。
Here, the effect in
従来技術においては、CPU11は、音声案内アプリの起動時に、音声データファイルの全言語分の音声管理レコードをRAM14にキャッシュする一方、音声オフセットレコードはRAM14にキャッシュしない。また、発声要求には、要求する音声データの音声ID及び前述の言語並び番号が引数として含まれる。
In the prior art, when the voice guidance application is activated, the
続いて、発声要求があった場合に、CPU11は、発声要求の引数にある言語並び番号をもとに、RAM14にキャッシュした音声管理レコードから、発声要求の引数にある言語並び番号と一致する言語並び番号の音声管理レコードを探索する。そして、その音声管理レコードと同じ言語についての音声オフセットテーブルオフセット及びテーブルサイズを取得する。以降の処理については、前述のステップS16〜ステップS19と同様の処理を行う。
Subsequently, when there is an utterance request, the
これに対して、実施形態1の構成では、現在の設定言語の音声オフセットレコードのうち所定数のデータをRAM14にキャッシュする。よって、発声要求のあった音声データの索引となる音声オフセットレコードが、RAM14にキャッシュしてある場合には、ストレージ機器30に格納される音声ファイルデータの音声オフセットレコードにアクセスして探索する必要がなくなる。また、RAM14はアクセスレイテンシがストレージ機器30よりも小さく、RAM14へのアクセス時間は、ストレージ機器30へのアクセス時間に比べて短い。従って、実施形態1の構成によれば、従来技術と比較して、アクセス処理時間を低減できる機会が増大する。
On the other hand, in the configuration of the first embodiment, a predetermined number of data in the audio offset record of the current set language is cached in the
また、実施形態1では、現在の設定言語の音声管理レコードに絞ってRAM14にキャッシュするとともに、メモリ容量の増加分が数キロバイトまでの範囲におさまる程度の数の、現在の設定言語の音声オフセットレコードをRAM14にキャッシュする。よって、RAM14を大幅に増加させずに、現在の設定言語の音声オフセットレコードの一部もRAM14にキャッシュできる。
In the first embodiment, the voice management records in the currently set language are narrowed down to the
なお、言語設定が切り替えられなければ、設定言語以外の言語(以下、設定外言語)の音声管理レコードが音声データの読み出しに必要となることはない。よって、設定言語の音声管理レコードに絞ってRAM14にキャッシュした場合であっても、従来技術と比較して、ストレージ機器30に格納される設定外言語の音声管理レコードにアクセスする必要性が余分に生じることがない。従って、従来技術に比較して、アクセス処理時間が増加するおそれはない。
If the language setting is not switched, a voice management record in a language other than the set language (hereinafter, non-set language) is not required for reading the voice data. Therefore, even when the voice management record of the set language is narrowed down and cached in the
その結果、実施形態1の構成によれば、RAM14の容量の増加を抑えながら、音声案内アプリが発生要求してから実際に発声するまでの時間のさらなる高速化が可能になる。
As a result, according to the configuration of the first embodiment, it is possible to further speed up the time from when the voice guidance application is requested to the actual utterance while suppressing the increase in the capacity of the
さらに、実施形態1の構成では、使用頻度のより高い音声データの索引となる所定数の音声オフセットレコードをRAM14にキャッシュする。よって、発声要求があった場合に、キャッシュした音声オフセットレコードから、発声要求のあった音声データについてのデータオフセット及びデータサイズを取得できる可能性がより高くなる。従って、音声案内アプリが発生要求してから実際に発声するまでの時間のさらなる高速化を可能にする機会を増大させることができる。
Furthermore, in the configuration of the first embodiment, a predetermined number of audio offset records serving as indexes of audio data having a higher use frequency are cached in the
また、実施形態1では、本発明の発声装置をナビゲーション装置に適用した例を挙げて説明を行ったが、必ずしもこれに限らない。例えば、本発明の発声装置を駐車支援装置や自動現金取引機器や自動販売機等の自動で案内音声を発声する装置に適用する構成としてもよい。ただし、本発明の発声装置は、前述したように、アプリが音声データを要求してから実際に発声するまでの時間のさらなる高速化を可能にするものであるため、当該高速化の要求がより厳しい車両で用いられて案内音声を発声する装置に適用することがより好ましい。一例としては、経路案内を行う車両用のナビゲーション装置や駐車支援を行う駐車支援装置等に適用することが好ましい。 In the first embodiment, an example in which the speech device of the present invention is applied to a navigation device has been described. However, the present invention is not necessarily limited thereto. For example, it is good also as a structure which applies the speech apparatus of this invention to the apparatus which utters guidance voice automatically, such as a parking assistance apparatus, an automatic cash transaction apparatus, and a vending machine. However, as described above, the utterance device of the present invention can further increase the time from when the application requests audio data until it actually utters. More preferably, the present invention is applied to a device that utters a guidance voice used in a severe vehicle. For example, the present invention is preferably applied to a vehicle navigation device that provides route guidance, a parking assistance device that provides parking assistance, and the like.
なお、本発明は、上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。 The present invention is not limited to the above-described embodiments, and various modifications can be made within the scope of the claims, and the technical means disclosed in different embodiments can be appropriately combined. Such embodiments are also included in the technical scope of the present invention.
1 ナビゲーション装置(発声装置)、14 RAM(キャッシュメモリ)、30 ストレージ機器(ストレージ)、111 キャッシュ部、112 キャッシュメモリ探索部、113 読み出し部、117 発声部 1 navigation device (voice device), 14 RAM (cache memory), 30 storage device (storage), 111 cache unit, 112 cache memory search unit, 113 reading unit, 117 voice unit
Claims (7)
前記ストレージよりもアクセスレイテンシが小さいキャッシュメモリ(14)と、
アプリケーションプログラムが要求する前記音声データである対象音声データを前記ストレージから読み出す読み出し部(113)と、
前記読み出し部で読み出した前記対象音声データに従った音声を出力させることで発声させる発声部(117)とを備える発声装置であって、
前記一次索引データのうち、言語設定されている言語の前記一次索引データに絞って前記キャッシュメモリに展開するとともに、前記キャッシュメモリに展開した前記一次索引データと同じ言語の前記二次索引データのうち、所定数の前記二次索引データに絞って前記キャッシュメモリに展開するキャッシュ部(111)と、
前記アプリケーションプログラムが要求する前記対象音声データの索引となる前記二次索引データである対象二次索引データを、前記キャッシュメモリに展開した前記二次索引データから探索するキャッシュメモリ探索部(112)とを備え、
前記読み出し部は、前記キャッシュメモリに展開した前記二次索引データから、前記キャッシュメモリ探索部によって前記対象二次索引データが探索できた場合に、キャッシュメモリに展開されている当該対象二次索引データを参照して、前記対象音声データを前記ストレージから読み出すことを特徴とする発声装置。 Storage that stores a plurality of audio data, secondary index data classified by language, which is an index of the audio data, and primary index data classified by language, which is an index of the secondary index data (30),
A cache memory (14) having a lower access latency than the storage;
A reading unit (113) that reads out the target audio data, which is the audio data requested by the application program, from the storage;
An utterance device comprising: an utterance unit (117) that utters by outputting sound according to the target audio data read by the reading unit;
Of the primary index data, the primary index data of a language that is set in a language is expanded in the cache memory and the secondary index data in the same language as the primary index data expanded in the cache memory A cache unit (111) that expands the cache memory to a predetermined number of the secondary index data;
A cache memory search unit (112) for searching for the target secondary index data, which is the secondary index data serving as the index of the target audio data requested by the application program, from the secondary index data expanded in the cache memory; With
When the target secondary index data can be searched by the cache memory search unit from the secondary index data expanded in the cache memory, the reading unit expands the target secondary index data expanded in the cache memory. And reading out the target audio data from the storage.
前記キャッシュ部は、前記キャッシュメモリに展開した前記一次索引データと同じ言語の前記二次索引データのうち、使用頻度のより高い所定数の前記音声データの索引となる、所定数の前記二次索引データに絞って前記キャッシュメモリに展開することを特徴とする発声装置。 In claim 1,
The cache unit includes a predetermined number of the secondary indexes that serve as an index of a predetermined number of the audio data having a higher usage frequency among the secondary index data in the same language as the primary index data expanded in the cache memory. An utterance device characterized in that data is expanded in the cache memory.
前記ストレージに格納される前記二次索引データは、使用頻度のより高い前記音声データの索引となる前記二次索引データほど、格納順が先頭に近くなるように格納されているものであって、
前記キャッシュ部は、前記キャッシュメモリに展開した前記一次索引データと同じ言語の前記二次索引データのうち、前記ストレージでの格納順が先頭により近い所定数の前記音声データの索引となる、所定数の前記二次索引データに絞って前記キャッシュメモリに展開することを特徴とする発声装置。 In claim 2,
The secondary index data stored in the storage is stored such that the secondary index data serving as an index of the audio data having a higher use frequency is closer to the top in the storage order,
The cache unit is a predetermined number that is an index of a predetermined number of the audio data whose storage order in the storage is closer to the top of the secondary index data in the same language as the primary index data expanded in the cache memory A speech device characterized in that the secondary index data is expanded in the cache memory.
前記キャッシュ部は、前記アプリケーションプログラムの起動時に、前記一次索引データのうち、言語設定されている言語の前記一次索引データに絞って前記キャッシュメモリに展開するとともに、前記キャッシュメモリに展開した前記一次索引データと同じ言語の前記二次索引データのうち、所定数の前記二次索引データに絞って前記キャッシュメモリに展開することを特徴とする発声装置。 In any one of Claims 1-3,
The cache unit develops the primary index data of the language set in the primary index data in the cache memory when the application program is started, and develops the primary index in the cache memory. An utterance device, wherein the secondary index data in the same language as the data is expanded in the cache memory by focusing on a predetermined number of the secondary index data.
前記キャッシュ部は、前記言語設定の切り替わり時に、前記一次索引データのうち、言語設定されている言語の前記一次索引データに絞って前記キャッシュメモリに展開するとともに、前記キャッシュメモリに展開した前記一次索引データと同じ言語の前記二次索引データのうち、所定数の前記二次索引データに絞って前記キャッシュメモリに展開することを特徴とする発声装置。 In any one of Claims 1-4,
When the language setting is switched, the cache unit expands the primary index data of the language set in the primary index data to the cache memory, and expands the primary index expanded in the cache memory. An utterance device, wherein the secondary index data in the same language as the data is expanded in the cache memory by focusing on a predetermined number of the secondary index data.
前記キャッシュメモリに展開した前記二次索引データから、前記キャッシュメモリ探索部によって前記対象二次索引データが探索できなかった場合に、前記対象二次索引データを、前記ストレージに格納された前記二次索引データから探索するストレージ探索部(116)を備え、
前記読み出し部は、前記キャッシュメモリに展開した前記二次索引データから、前記キャッシュメモリ探索部によって前記対象二次索引データが探索できなかった場合に、前記ストレージ探索部で探索した前記対象二次索引データを参照して、前記対象音声データを前記ストレージから読み出すことを特徴とする発声装置。 In any one of Claims 1-5,
When the target secondary index data cannot be searched by the cache memory search unit from the secondary index data expanded in the cache memory, the target secondary index data is stored in the storage. A storage search unit (116) for searching from the index data;
The reading unit, when the target secondary index data cannot be searched by the cache memory search unit from the secondary index data expanded in the cache memory, the target secondary index searched by the storage search unit An utterance apparatus that reads out the target audio data from the storage with reference to data.
車両で用いられて、案内音声を発声することを特徴とする発声装置。 In any one of Claims 1-6,
An utterance device that is used in a vehicle and utters a guidance voice.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013013317A JP6036339B2 (en) | 2013-01-28 | 2013-01-28 | Speech device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013013317A JP6036339B2 (en) | 2013-01-28 | 2013-01-28 | Speech device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2014145845A JP2014145845A (en) | 2014-08-14 |
| JP6036339B2 true JP6036339B2 (en) | 2016-11-30 |
Family
ID=51426161
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013013317A Expired - Fee Related JP6036339B2 (en) | 2013-01-28 | 2013-01-28 | Speech device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6036339B2 (en) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2721835B2 (en) * | 1996-01-14 | 1998-03-04 | アイシン・エィ・ダブリュ株式会社 | Vehicle navigation system |
| JP4389516B2 (en) * | 2003-08-08 | 2009-12-24 | 株式会社エクォス・リサーチ | Audio data output device |
| JP5654334B2 (en) * | 2010-12-06 | 2015-01-14 | アルパイン株式会社 | Multi-language selection device |
-
2013
- 2013-01-28 JP JP2013013317A patent/JP6036339B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2014145845A (en) | 2014-08-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109213772B (en) | Data storage method and NVMe storage system | |
| US11335320B2 (en) | System and method for distributed voice models across cloud and device for embedded text-to-speech | |
| CN104331428B (en) | The storage of a kind of small documents and big file and access method | |
| KR102885235B1 (en) | Real-time interpretation method and apparatus | |
| KR970705795A (en) | PARALLEL PROCESSING SYSTEM FOR TRAVERSING A DATA BASE FOR DATABASE SEARCH | |
| JP2009003934A (en) | DATA MANAGEMENT SYSTEM, DATA MANAGEMENT METHOD, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING PROGRAM FOR EXECUTING DATA MANAGEMENT METHOD | |
| JPWO2011121649A1 (en) | Voice recognition device | |
| JP2009176200A (en) | Data processing apparatus and mount method of logical drive | |
| JP6036339B2 (en) | Speech device | |
| JPWO2005055064A1 (en) | Data processing apparatus and data recording method for information recording medium | |
| JP2008278258A (en) | Data expanding device and method | |
| TW201308193A (en) | Method for storing data of file allocation table | |
| WO2016206070A1 (en) | File updating method and storage device | |
| EP2507792B1 (en) | Vocabulary dictionary recompile for in-vehicle audio system | |
| JP5304154B2 (en) | Drive device, mount program, and mount method | |
| KR101902784B1 (en) | Metohd and apparatus for managing audio data using tag data | |
| US8526278B2 (en) | Recording method, recording device, optical disc, optical disc manufacturing method, and optical disc drive device | |
| TWI332198B (en) | Storage device and method of accessing storage device | |
| JP5515218B2 (en) | Data access method and data access apparatus | |
| KR102244332B1 (en) | Sound source management apparatus and method thereof capable of using metadata stored in a database | |
| KR100489412B1 (en) | Data output method of external storage device | |
| KR101318420B1 (en) | Method, system and computer-readable recording medium for searching position of metadata | |
| JP5813457B2 (en) | Database apparatus and database apparatus control method | |
| JP4389947B2 (en) | Recording / reproducing apparatus, data processing apparatus, reproducing method, and data processing method | |
| JP2012164129A (en) | Buffer cache management method, buffer cache management device and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150825 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160914 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161004 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161017 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 6036339 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |