(57)【要約】      （修正有）【課題】メモリ容量を抑制しつつ、精度よく所望のフレームの先頭を求めることが可能なデジタルデータ処理装置を提供する。【解決手段】デジタルデータ処理装置は、第１のデータサイズ及びそれより大きい第２のデータサイズを有するフレームを含み構成される所定のビットレートの符号化データを、入力データを符号化して生成しメモリに順次格納する符号化部と、格納されるｎ個のフレームのうち、第１のデータサイズ及び第２のデータサイズの少なくとも何れか一方のフレーム数を算出するフレーム数算出部と、少なくとも、ｎ個のフレームのうち時間的に最も早くメモリに格納されるフレームの先頭を示す先頭データが格納される第１のアドレスと、第１のデータサイズ及び第２のデータサイズと、フレーム数算出部の算出結果とに基づいてｎ個のフレームに続いてメモリに格納されるフレームの先頭データが格納される第２のアドレスを算出するアドレス算出部とを備える。【選択図】図１
2010276992.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータサイズ及び前記第１のデータサイズより大きい第２のデータサイズを有するフレームを含んで構成される所定のビットレートの符号化データを、入力されるデジタルデータを符号化して生成するとともに、前記符号化データをメモリに順次格納する符号化部と、
前記メモリに格納されるｎ個の前記フレームのうち、前記第１のデータサイズを有するフレーム数及び、前記第２のデータサイズを有するフレーム数の少なくとも何れか一方のフレーム数を算出するフレーム数算出部と、
少なくとも、前記ｎ個のフレームのうち時間的に最も早く前記メモリに格納されるフレームの先頭を示す先頭データが格納される前記メモリの第１のアドレスと、前記第１のデータサイズ及び前記第２のデータサイズと、前記フレーム数算出部の算出結果と、に基づいて、前記ｎ個のフレームに続いて前記メモリに格納されるフレームの前記先頭データが格納される前記メモリの第２のアドレスを算出するアドレス算出部と、
を備えることを特徴とするデジタルデータ処理装置。
【請求項２】
請求項１に記載のデジタルデータ処理装置であって、
前記アドレス算出部は、
前記フレーム数算出部が前記第１のデータサイズを有するフレーム数と前記第２のデータサイズを有するフレーム数との両方を算出する場合、前記第１のアドレスと、前記第１及び前記第２のデータサイズと、前記フレーム数算出部の算出結果と、に基づいて前記第２アドレスを算出し、前記フレーム数算出部が前記第１のデータサイズを有するフレーム数と前記第２のデータサイズを有するフレーム数との何れか一方を算出する場合、前記第１のアドレスと、前記第１及び前記第２のデータサイズと、前記フレーム数算出部の算出結果と、前記フレーム数の個数ｎと、に基づいて前記第２アドレスを算出すること、
を特徴とするデジタルデータ処理装置。
【請求項３】
請求項２に記載のデジタルデータ処理装置であって、
前記デジタルデータは、
所定のサンプリング周期毎に前記符号化部に入力されるデータであり、
前記フレームは、
所定のサンプル数の前記デジタルデータに基づいて生成され、
前記符号化部は、  
前記符号化データのビットレートが前記所定のビットレートとなるよう、前記サンプリング周波数と、前記所定のサンプル数と、前記所定のビットレートとに基づいて定まる比率で前記第１及び第２のデータサイズのフレームを生成し、
前記フレーム数算出部は、
前記比率に基づいて、前記ｎ個の前記フレームのうち、前記第１のデータサイズを有するフレーム数及び、前記第２のデータサイズを有するフレーム数の少なくとも何れか一方のフレーム数を算出すること、
を特徴とするデジタルデータ処理装置。
【請求項４】
請求項３に記載のデジタルデータ処理装置であって、
前記フレーム数算出部は、
前記サンプリング周波数と、前記所定のサンプル数と、前記所定のビットレートとに基づいて、前記第１及び第２のデータサイズのフレームのうち、前記第２のデータサイズのフレームが生成される割合を算出する割合算出部と、
前記割合を前記フレーム数の個数ｎに乗算して、前記ｎ個のフレームのうち前記第２のデータサイズのフレーム数を算出する乗算部と、
を含むことを特徴とするデジタルデータ処理装置。
【請求項５】
請求項４に記載のデジタルデータ処理装置であって、
前記割合算出部は、
前記所定のサンプル数と前記所定のビットレートとの積を、前記サンプリング周期で除算した際の剰余を算出する剰余算出部と、
前記剰余を前記サンプリング周期で除算した除算結果に基づいて、前記割合を算出する除算部と、
を含むことを特徴とするデジタルデータ処理装置。
【請求項６】
請求項４または請求項５に記載のデジタルデータ処理装置であって、
前記アドレス算出部は、
前記第１のデータサイズ及び前記第２のデータサイズの差と前記第２のデータサイズを有するフレーム数との積と、前記第１のデータサイズ及び前記フレーム数の個数ｎの積とを、前記第１のアドレスに対して加算することにより前記第２のアドレスを算出すること、
を特徴とするデジタルデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルデータ処理装置に関する。
【背景技術】
【０００２】
音楽再生装置には、メモリに格納されたＭＰ３（MPEG Audio Layer-3）形式等の音声ファイルを読み出して再生するものがある。図１１は、音楽再生装置１００の一例である。音楽再生装置１００は、メモリ２００、マイコン２１０、及びデコーダ２２０を含んで構成される。メモリ２００は音声ファイルを格納する。また、一般的な音声ファイルは、例えば、図１２に示すように、複数のフレームから構成される。フレームは、フレームの先頭を示す同期データや、フレームのデータサイズ等の情報を含むフレームヘッダと、音声データが符号化された実データとを含んで構成される。また、実データには、例えば音声ファイルが固定ビットレートで再生される際に、パディングが付加されることがある。マイコン２１０は、操作部（不図示）の操作結果に基づいて音声ファイルを読み出してデコーダ２２０に出力する。デコーダ２２０は、音声ファイルを再生すべくエンコードされたＭＰ３形式の音声ファイルをデコードする。
【０００３】
ところで、通常、音楽再生装置１００が音声ファイルを再生する場合、マイコン２１０は、音声ファイルのフレーム（１）から順次読み出して、デコーダ２２０に出力する。しかしながら、音楽再生装置１００が音声ファイルを早送り等する場合には、マイコン２１０は複数のフレームを読み飛ばし、所望のフレームを選択する必要がある。具体的には、例えば、マイコン２１０がフレーム（ｎ＋１）を選択する場合、マイコン２１０は、早送り等の操作結果に基づいて、フレーム（ｎ＋１）の同期データが格納されているメモリ２００の記憶領域にアクセスする必要がある。
【０００４】
所望のフレームを選択するには、例えば、音声ファイルの夫々のフレームの同期データが格納されているメモリのアドレスを、音声ファイルとは別にメモリ等に記憶する方法がある。このような場合には、夫々のフレームの同期データのアドレス（以下、先頭アドレスと称する）の情報を用いることにより、マイコン等は所望のフレームを選択することができる（例えば、特許文献１）。
【０００５】
また、先頭アドレスの情報がメモリ等に記憶されていない場合であっても、マイコン２１０は、パディングが無い場合のフレームのデータサイズ、フレームの個数ｎ等に基づいて、フレーム（ｎ＋１）の先頭アドレスを算出できる。具体的には、例えば、図１２に示す様に、マイコン２１０は、フレーム（１）の先頭アドレスに対し、パディングが無い場合のフレームのデータサイズとフレームの個数ｎとの積を加算する。そして、マイコン２１０は、算出された算出アドレスの位置（Ａ）を基準に、例えば同期データの検出処理を実行する。この結果、マイコン２１０は、フレーム（ｎ＋１）の先頭アドレスを求めることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−４１０９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、例えば、前述の夫々のフレームの先頭アドレスの情報をメモリ等が記憶する場合、音声ファイルを構成するフレームの個数が増加すると、先頭アドレスの情報も増加する。したがって、この場合には、先頭アドレスの情報を記憶するためのメモリの記憶領域を大きくする必要がある。
【０００８】
また、算出された算出アドレスに基づいて、同期データの検出の処理を実行する場合には、フレーム（１）〜フレーム（ｎ）までに含まれるフレームのうち、パディングが付加されたフレームが多いと、フレーム（ｎ＋１）の先頭アドレスを正しく求めることができないことがある。前述のように、算出アドレスが、例えば（Ａ）の位置の場合、同期データを検出することによりフレーム（ｎ＋１）の先頭アドレスを求めることができる。しかしながら、パディングが付加されるフレームが多く、算出アドレスが、例えば（Ｂ）の位置の場合、フレーム（ｎ＋２）の先頭アドレスを誤って求めてしまう。したがって、算出アドレスに基づいて同期データの検出をする場合には、正しく所望の先頭アドレスを算出できないという問題が生じることがある。
【０００９】
本発明は上記課題を鑑みてなされたものであり、メモリの容量を抑制しつつ、精度よく所望のフレームの先頭を求めることが可能なデジタルデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の一つの側面に係るデジタルデータ処理装置は、第１のデータサイズ及び前記第１のデータサイズより大きい第２のデータサイズを有するフレームを含んで構成される所定のビットレートの符号化データを、入力されるデジタルデータを符号化して生成するとともに、前記符号化データをメモリに順次格納する符号化部と、前記メモリに格納されるｎ個の前記フレームのうち、前記第１のデータサイズを有するフレーム数及び、前記第２のデータサイズを有するフレーム数の少なくとも何れか一方のフレーム数を算出するフレーム数算出部と、少なくとも、前記ｎ個のフレームのうち時間的に最も早く前記メモリに格納されるフレームの先頭を示す先頭データが格納される前記メモリの第１のアドレスと、前記第１のデータサイズ及び前記第２のデータサイズと、前記フレーム数算出部の算出結果と、に基づいて、前記ｎ個のフレームに続いて前記メモリに格納されるフレームの前記先頭データが格納される前記メモリの第２のアドレスを算出するアドレス算出部と、を備えることとする。
【発明の効果】
【００１１】
メモリの容量を抑制しつつ、精度よく所望のフレームの先頭を求めることが可能なデジタルデータ処理装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態である音楽再生装置の構成を示す図である。
【図２】音声ファイルの構成を説明するための図である。
【図３】ＭＰ３エンコーダ５０が生成するフレームを説明するための図である。
【図４】生成されるフレームとパディングの有無との関係を示す図である。
【図５】ＣＰＵ５２ａの機能ブロックを示す図である。
【図６】フレーム算出部６４の機能ブロックを示す図である。
【図７】ＳＤＲＡＭ４２に格納される音声ファイルの一例を示す図である。
【図８】ＣＰＵ５２ａが用いられた音楽再生装置１０がＳＤＲＡＭ４２に格納された音楽をＵＳＢデバイス３１に転送する際の動作の一例を示すフローチャートである。
【図９】ＣＰＵ５２ｂの機能ブロックを示す図である。
【図１０】ＣＰＵ５２ｂが用いられた音楽再生装置１０がＳＤＲＡＭ４２に格納された音楽をＵＳＢデバイス３１に転送する際の動作の一例を示すフローチャートである。
【図１１】音楽再生装置の構成を示す図である。
【図１２】音声ファイルの構成を説明するための図である。
【発明を実施するための形態】
【００１３】
本明細書および添付図面の記載により、少なくとも以下の事項が明らかとなる。
【００１４】
図１は、本発明の一実施形態である音楽再生装置の構成を示す図である。  
音楽再生装置１０は、例えば、カーステレオに搭載され、ＡＤＣ（Analog Digital converter）４０、オーディオＬＳＩ４１、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）４２、ＵＳＢ（Universal Serial Bus）マイコン４３、ＤＡＣ（Digital Analog converter）４４、及びホストマイコン４５を含んで構成される。音楽再生装置１０は、入力される音声のアナログ信号をスピーカ３０で再生する。また、音楽再生装置１０は、入力されるアナログ信号をデジタルデータに変換した後に符号化し、符号化した符号化データをＵＳＢデバイス３１に格納する。
【００１５】
セレクタ２１には、ラジオ放送のチューナ２０から出力されるアナログ信号や、例えば携帯型音楽プレーヤー（不図示）から出力されるアナログ信号が入力される。
【００１６】
ＡＤＣ４０には、セレクタ２１で選択されたアナログ信号が入力される。また、ＡＤＣ４０は、入力されるアナログ信号を、デジタルのＰＣＭ（Pulse Code Modulation）データに変換する。本実施形態のＡＤＣ４０がアナログ信号をＰＣＭデータに変換する際のサンプリング周波数は、例えば４４．１ｋＨｚであり、ビット幅は、例えば１６ビットであることとする。なお、ＡＤＣ４０のサンプリング周波数、ＰＣＭデータのビット幅は、例えば、ホストマイコン４５により設定される。また、チューナ２０の選局、入力ソースの選択等は、カーステレオのシステムマイコン（不図示）により実行される。
【００１７】
オーディオＬＳＩ４１（デジタルデータ処理装置）は、ＰＣＭデータとして入力される音声信号に対し、様々な処置を施してＤＡＣ４４に出力する。具体的には、オーディオＬＳＩ４１は、ホストマイコン４５からの指示に基づいて、例えば、音声の低域を強調するような処理を音声信号に対して施す。また、オーディオＬＳＩ４１は、入力される音声信号の周波数等に基づいて、音声がいわゆる音楽であるか否かを検出する。さらに、オーディオＬＳＩ４１は、ＰＣＭデータをＭＰ３形式に符号化し、ＭＰ３データとしてＳＤＲＡＭ４２に格納する。また、オーディオＬＳＩ４１は、ホストマイコン４５の制御に基づいて、ＳＤＲＡＭ４０に格納されたＭＰ３データを、ＵＳＢデバイス３１にＵＳＢマイコン４３経由で出力する。なお、オーディオＬＳＩ４１の詳細については後述する。
【００１８】
ＳＤＲＡＭ４２には、ＭＰ３データを記憶する記憶領域が設けられている。  
ＵＳＢマイコン４３は、ホストマイコン４５からの指示に基づいて、オーディオＬＳＩ４１から出力されるＭＰ３データを、ＵＳＢコネクタ等を介して接続される、ＵＳＢデバイス４２に転送する。なお、ＵＳＢデバイス３１は、例えば、メモリを有し、ＭＰ３データを再生可能な携帯型音楽プレーヤ等である。したがって、詳細は後述するが、利用者は、例えばチューナ２０で受信したラジオ等における音楽を、ＵＳＢデバイス３１にデジタルデータとして記憶することが可能となる。
【００１９】
ＤＡＣ４４は、オーディオＬＳＩ４１から出力されるデジタルのＰＣＭデータを、アナログ信号に変換し、スピーカ３０で再生する。  
ホストマイコン４５は、操作部（不図示）の操作結果に基づいて、音楽再生装置１０を統括制御する。具体的には、ホストマイコン４５は、ＡＤＣ４０サンプリング周波数、オーディオＬＳＩ４１におけるＭＰ３データのビットレート等を設定するとともに、音楽再生装置１０における各回路の起動、停止等を制御する。  
オーディオＬＳＩ４１の詳細構成について説明する。オーディオＬＳＩ４１は、ＭＰ３エンコーダ５０、ＣＰＵ５２、及び転送回路５４を含んで構成されている。
【００２０】
ＭＰ３エンコーダ５０（符号化部）は、ＡＤＣ４０から出力されるＰＣＭデータを符号化してＭＰ３データを生成してＳＤＲＡＭ４２に格納する。なお、ＭＰ３エンコーダ５０は、内部のレジスタ（不図示）に設定された情報に基づいたビットレート等でＭＰ３データを生成する。ＭＰ３エンコーダ５０の前述のレジスタの情報は、ホストマイコン４５により設定される。本実施形態のＭＰ３エンコーダ５０は、ＰＣＭデータを１１５２サンプル数毎にフレームに変換し、例えば、１２８ｋｂｐｓ（kilobit per second）の固定のビットレートでＭＰ３データが出力されるよう、ＰＣＭデータを符号化する。このため、１フレームの理論上のサイズは、次式で計算される。  
Ｆｓｉｚｅ＝（Ｎｓａｍｐｌｅ×Ｒｂｉｔ／８）／ｆｓ・・・（１）
【００２１】
式（１）においては、Ｆｓｉｚｅはフレームの理論上のサイズであり、Ｎｓａｍｐｌｅはサンプル数であり、Ｒｂｉｔはビットレートであり、ｆｓはサンプリング周波数である。式（１）では、フレームサイズをビットでなく、バイトで表現するために、ビットレートを８で割っている。また、前述のように、サンプリング周波数は４４．１ｋＨｚである。したがって、理論上のフレームサイズは、（１１５２×（１２８０００／８））／４４１００≒４１７．９５９バイトとなる。つまり、ＭＰ３エンコーダ５０から、データサイズが４１７．９５９バイトのフレームが順次出力されると、ＭＰ３データのビットレートが１２８ｋｂｐｓとなる。
【００２２】
ところで、データの最小単位は１バイトであるため、実際にＭＰ３エンコーダ５０がＰＣＭデータを符号化し、上記の４１７．９５９バイトのフレームを生成することはできない。このため、ＭＰ３エンコーダ５０は、ＭＰ３データのビットレートが１２８ｋｂｐｓとなるよう、４１７バイト（第１のデータサイズ）のフレームと、４１８バイト（第２のデータサイズ）のフレームとを生成する必要がある。具体的には、ＭＰ３エンコーダ５０が、例えば、４９個のフレームを生成する際に、２個の４１７バイトのフレームと、４７個の４１８バイトのフレームとを生成する。この場合、４９個のフレームの合計のサイズは、２×４１７＋４７×４１８＝２０４８０バイトとなるため、１フレームあたりの平均のサイズは、２０４８０／４９≒４１７．９５９バイトとなる。したがって、１フレームの平均のサイズは、前述の式（１）で算出したフレームのサイズにほぼ一致する。なお、本実施形態のＭＰ３エンコーダ５０は、図２に示すように、４１７バイトのフレームに対し１バイトのパディングを付加し、４１８バイトのフレームを生成する。また、各フレームは、フレームの先頭を示す同期データ（先頭データ）、パディングの有無やビットレート等の情報を含むフレームヘッダと、ＰＣＭデータが符号化された実データとを含んで構成される。
【００２３】
ここで、ＭＰ３エンコーダ５０が、１２８ｋｂｐｓのビットレートでＭＰ３データを出力する際に、生成されるフレームについて図３、図４を参照しつつ説明する。なお、以下本実施形態では、ＭＰ３エンコーダ５０には、ＬＡＭＥベースのエンコーダを用いた場合を例として説明する。また、ＭＰ３エンコーダ５０が４１７バイトのフレームを生成する際には、式（１）より、“４２３００（１／４４１００（バイト））”（４２３００／４４１００≒０．９５９）の余りが生じる。ＭＰ３エンコーダ５０は、フレームを生成する際の余りのバイト数が、例えば前述の“４２３００”を超えた際にパディングを付加し、４１８バイトのフレームを生成することとする。以下、余りのバイト数の単位は、特に記載しない限り“１／４４１００（バイト）”であり、“４２３００”をしきい値と称する。
【００２４】
まず、ＭＰ３エンコーダ５０が１フレーム目を生成する際の余りのバイト数は、“４２３００”であり、しきい値である“４２３００”を超えていない。このため、ＭＰ３エンコーダ５０は、４１７バイトのフレームを生成する。ＭＰ３エンコーダ５０が２フレーム目を生成する際の余りのバイト数は、“４２３００”と、前述の１フレーム目を生成する際の余りである“４２３００”との合計である。このため、２フレーム目を生成する際の余りのバイト数は、“４２３００”＋“４２３００”となり、しきい値を超える。したがって、ＭＰ３エンコーダ５０は、４１８バイトのフレームを生成するとともに“４２３００”＋“４２３００”−“４４１００”＝“４０５００”を新たな余りとする。このように、２フレーム目は、パディングの付加されたフレームが生成される。ＭＰ３エンコーダ５０が３フレーム目を生成する際の余りのバイト数は、“４２３００”と、前述の２フレーム目を生成する際の余りである“４０５００”との合計である。したがって、ＭＰ３エンコーダ５０は、３フレーム目も２フレーム目と同様に、パディングが付加されたフレームを生成する。以下、ＭＰ３エンコーダ５０は、１〜３フレーム目と同様に、余りのバイト数がしきい値を超えた場合パディングを付加して４１８バイトのフレームを生成し、余りのバイト数がしきい値以下の場合４１７バイトのフレームを生成する。このため、ここでは図示していないが、４フレーム目〜２３フレーム目も３フレーム目と同様に、パディングが付加されることとなる。なお、本実施形態では、例えば、２５フレーム目の様に、余りのバイト数が“４３２００”でしきい値を超えているが、式（１）の分母の値である“４４１００”より小さい場合、ＭＰ３エンコーダ５０は、次のフレームの余りのバイト数から“４４１００”となるような値を補充する。このため、図３、図４にあるように、２５フレーム目においてはパディングが付加されたフレームが生成され、２６フレーム目においてパディング無しのフレームが生成される。
【００２５】
また、本実施形態のＭＰ３エンコーダ５０は、ＳＤＲＡＭ４２に確保された所定の記憶領域の先頭からＭＰ３データを順次格納する。このため、本実施形態においては、所定の記憶領域の先頭には、時間的に最も早く生成されるフレームが格納される。さらに、ＭＰ３エンコーダは、所定の記憶領域にＭＰ３データをサイクリックに格納していく。すなわち、ＭＰ３データが格納される領域はリングバッファとして管理されており、ＭＰ３データがＵＳＢデバイス３１に転送されずに生成され続けている場合、時間的に古いＭＰ３データから順次上書きされていくことになる。また、例えば、ＳＤＲＡＭ４２上のＭＰ３データが格納される記憶領域のサイズを６４Ｍビット、ＭＰ３データのビットレートを１２８ｋｂｐｓとすると、過去約８分のＭＰ３データをＳＤＲＡＭ４２に蓄積することができる。
【００２６】
ＣＰＵ５２は、例えば、内蔵する図示しないＲＯＭ（Read Only Memory）、ＲＡＭ等のメモリに格納されたプログラムを実行することにより、様々な機能ブロックを実現する。なお、ＣＰＵ５２の詳細は後述する。
【００２７】
転送回路５４は、ホストマイコン４５から入力されるＭＰ３データの転送アドレス等の情報に基づいて、ＳＤＲＡＭ４２に格納されているＭＰ３データを読み出してＵＳＢマイコン４３に出力する。ＵＳＢマイコン４３に出力されたＭＰ３データはＵＳＢデバイス３１に転送される。また、転送回路５８は、転送アドレス等の情報を内部のレジスタ（不図示）に記憶する。
【００２８】
＜＜ＣＰＵ５２の第１の実施形態＞＞
ＣＰＵ５２の詳細について図５を参照しつつ説明する。ＣＰＵ５２ａは、ＣＰＵ５２の第１の実施形態であり、ＲＯＭ等（不図示）に格納されたプログラムを実行することにより、音声処理部６０、音楽検出部６２、フレーム数算出部６４、アドレス算出部６６、及び同期データ検出部６８を実現する。
【００２９】
音声処理部６０は、ホストマイコン４５からの指示に基づいて、入力されるＰＣＭデータに対して様々な処置を施してＤＡＣ４４に出力する。具体的には、例えば、入力される音声の低域を強調するような処理をＰＣＭデータに対して施す。
【００３０】
音楽検出部６２は、音楽再生装置４０に入力される音声信号が音楽か否かを検出する。さらに、音楽検出部６２は、検出結果に基づいて、ＭＰ３エンコーダ５０が符号化したフレームのうち、音楽が開始したフレーム（以下、開始フレーム）の番号と音楽が終了したフレーム（以下、終了フレーム）の番号とを記憶する。具体的には、音楽検出部６２は、ＰＣＭデータに基づいて、例えば入力される音声に所定の周波数帯域の音声信号が含まれている場合に、音楽であると検出する。また、音楽検出部６２は、例えば、ＭＰ３エンコーダ５０から順次出力されるフレーム数をカウントするカウンタ（不図示）を含み、カウント値と前述の検出結果とに基づいて、開始フレーム及び終了フレームを算出する。例えば、音楽検出部６２が入力される音声が音楽であるか否かを検出するために、１００カウント分の期間を要する場合、音楽検出部６２は、音楽であると検出した際のカウント値から１００カウント前のカウント値のフレームを、開始フレームとする。同様に、音楽検出部６２は、音楽が終了したと検出した際のカウント値から１００カウント前のカウント値のフレームを、終了フレームとする。
【００３１】
フレーム数算出部６４は、ＳＤＲＡＭ４２の記憶領域の先頭の領域に格納されたフレーム（以下、先頭フレームと称する）から、開始フレーム、終了フレームの夫々の間に含まれているパディングが付加されたフレーム数を算出する。前述のように、ＭＰ３エンコーダ５０は、余りのバイト数がしきい値を超えた際に、パディングが付加されたフレームを生成する。したがって、ｎ個のフレームが生成された際にパディングが付加される理論上のフレームの数は、以下の式の商の値の整数値で表現できる。  
ｎｐ＝（ｎ×Ｒｅｍ−（Ｎｔｈ＋１））／ｆｓ＋１・・・（２）
【００３２】
なお、式（２）においては、ｎｐはパディングが付加されたフレームの数であり、ｎはフレームの個数、すなわち、１フレーム目（先頭フレーム）からｎフレーム目までのフレームの個数である。Ｒｅｍは式（１）の余り“４２３００”であり、Ｎｔｈはしきい値“４２３００”であり、ｆｓは前述のサンプリング周波数“４４１００”である。また、式（２）を変形すると、式（３）の様に表現できる。  
ｎｐ＝ｎ×（Ｒｅｍ／ｆｓ）＋（ｆｓ−（Ｎｔｈ＋１））／ｆｓ・・・（３）
式（３）から明らかなように、パディング有りのフレーム数ｎｐは、所定の割合Ｒｅｍ／ｆｓ（＝４２３００／４４１００≒０．９５９）に基づいて定まる。
【００３３】
ところで、ＭＰ３エンコーダ５０が一般的なＬＡＭＥの規格に基づいてフレームを生成する場合は、１フレーム目はパディング無しのフレームが生成される。しかしながら、ＭＰ３エンコーダ５０がＬＡＭＥの規格に基づいている場合であっても、例えば、ＭＰ３エンコーダ５０に対し、１フレーム目にパディング有りのフレームを生成するような設定がされている場合がある。このような場合、ＭＰ３エンコーダ５０は、１フレーム目にパディング有りのフレームを生成する。この結果、１〜ｎフレーム目に含まれるパディング有りのフレーム数は、１フレーム目にパディングが付加された場合と、１フレーム目にパディングが付加されない場合とで、“１”だけずれることがある。
【００３４】
式（３）を用いて算出したフレーム数ｎｐ１は、１フレーム目のパディングの有無を考慮しないで算出される理論的な値である。このため、例えば、１フレーム目のパディングの有無を加味し、例えば、１フレーム目がパディング無しの場合であれば、式（３）を用い、１フレーム目がパディング有りの場合であれば、式（３）の結果に“１”を加えた値を用いればよい。
【００３５】
ただし、１フレーム目のパディングの有無を考慮しない場合であっても、前述のように式（３）は、ＭＰ３エンコーダ５０のビットレート等の特性に基づいた理論上の計算式である。このため、例えば図４等の結果から概算する場合、具体的には、１フレーム目から２６フレーム目までの２６個のフレームに２４個のパディング有りのフレームが含まれるとして所定の割合を２４／２６（≒０．９２３）とする場合と比較すると、精度良くパディング有りのフレーム数を算出できる。
【００３６】
本実施形態のフレーム数算出部６４は、前述の式（３）を実現すべく、例えば、図６に示す様な、剰余算出部７０、除算部７２、及び乗算部７４を含んで構成される。
【００３７】
剰余算出部７０は、前述の式（１）の剰余、すなわち、式（２）のＲｅｍを算出する。なお、本実施形態におけるＲｅｍは、前述のように“４２３００”である。  
除算部７２は、剰余算出部７０の算出結果であるＲｅｍと、サンプリング周波数ｆｓとに基づいて、式（３）における所定の割合であるＲｅｍ／ｆｓ（＝４２３００／４４１００）を算出する。
【００３８】
乗算部７４は、先頭フレームと開始フレームとの間に含まれるフレーム数ｎ１の中のパディング有りのフレーム数ｎｐ１と、先頭フレームと終了フレームとの間に含まれるフレーム数ｎ２の中のパディング有りのフレーム数ｎｐ２とを算出する。具体的には、乗算部７４は、ｎ１及び、ｎ２の夫々に対し、除算部７２で算出した所定の割合Ｒｅｍ／ｆｓを乗算し、式（３）を実行する。
【００３９】
アドレス算出部６６は、ＳＤＲＡＭ４２において、開始フレームの先頭アドレス（以下、開始アドレス）と、終了フレームの先頭アドレス（以下、終了アドレス）とを算出する。なお、ここで、先頭アドレスとは、フレームの同期データが格納されているアドレスである。アドレス算出部６６は、先頭フレームの先頭アドレスと、フレーム数ｎ１と、パディング有りのフレーム数ｎｐ１と、パディング無しの実際のフレームのサイズ及びパディング有りの実際のフレームのサイズと、に基づいて開始アドレスを式（４）にて算出する。  
Ａｄｄ１＝Ａｄｄ＋Ｆｚ×ｎ１＋（Ｆｚｐ−Ｆｚ）×ｎｐ１・・・（４）
【００４０】
式（４）においては、Ａｄｄ１は開始アドレスであり、Ａｄｄは先頭フレームの先頭アドレスであり、Ｆｚはパディング無しの実際のフレームのサイズであり、Ｆｚｐはパディング有りの実際のフレームのサイズである。なお、前述のように、先頭フレームは、ＳＤＲＡＭ４２の所定の記憶領域の先頭に格納されるため、先頭フレームの先頭アドレスは、ＳＤＲＡＭ４２の所定の記憶領域の先頭に割り当てられたアドレスとなる。
【００４１】
また、本実施形態では、Ｆｚは、４１７バイトであり、Ｆｘｐは４１８バイトであるため、式（４）は、
Ａｄｄ１＝Ａｄｄ＋４１７×ｎ１＋ｎｐ１・・・（５）
と表現できる。アドレス算出部６６は終了アドレスも、式（４）と同様に、式（６）にて算出する。なお、式（６）において、Ａｄｄ２が終了アドレスである。  
Ａｄｄ２＝Ａｄｄ＋Ｆｚ×ｎ１＋（Ｆｚｐ−Ｆｚ）×ｎｐ２・・・（６）
また、式（６）も式（５）と同様に式（７）の様に表現できる。  
Ａｄｄ２＝Ａｄｄ＋４１７×ｎ１＋ｎｐ２・・・（７）
【００４２】
前述の様に、パディング有りのフレーム数ｎｐ１、ｎｐ２は理論上の算出値であるため、例えば１個分だけ実際の値からずれることがある。この結果、アドレス算出部６６が算出する開始アドレス、終了アドレスも実際の開始アドレス、終了アドレスから、例えば１バイトずれてしまうことがある。本実施形態では、算出したアドレスのずれを解消すべく、算出したアドレスを基に、開始フレーム、終了フレームの夫々の同期データを検出する処理が実行される。
【００４３】
同期データ検出部６８は、アドレス算出部６６が算出した開始アドレスから、開始フレームの同期データを検出する。そして、検出した同期データのアドレスが、算出した開始アドレスと異なる場合、検出した同期データのアドレスを開始アドレスとしてホストマイコン４５に送信する。なお、検出した同期データのアドレスが、算出した開始アドレスと一致している場合、算出した開始アドレスをホストマイコン４５に送信する。また、同期データ検出部６８は、終了アドレスに対しても、開始アドレスと同様の処理を実行し、終了アドレスをホストマイコン４５に送信する。
【００４４】
＜＜ＣＰＵ５２ａを用いた音楽再生装置１０の動作＞＞
ここで、ＣＰＵ５２ａを用いた音楽再生装置１０が、ＳＤＲＡＭ４２に格納された音楽をＵＳＢデバイス３１に転送する際の動作の一例について説明する。なお、ＳＤＲＡＭ４２には、図７に示すように、（ｉ＋１）番目のフレームから音楽が開始し、（ｋ＋１）番目のフレームに音楽が終了するような音楽ファイルが格納されていることとする。
【００４５】
まず、フレーム数算出部６４は、先頭フレームから（ｉ＋１）番目の開始フレームまで、すなわち、ｉ個のフレームに含まれるパディングが付加されたフレーム数ｎｐ１を、式（３）を用いて算出する（Ｓ１００）。つぎに、アドレス算出部６６は、算出されたフレーム数ｎｐ１を式（５）に用いることにより、開始フレームの開始アドレスＡｄｄ１を算出する（Ｓ１０１）。具体的には、開始アドレスは、Ａｄｄ１＝Ａｄｄ＋４１７×ｉ＋ｎｐ１となる。そして、同期データ検出部６８は、算出した開始アドレスに基づいて、開始フレームの同期データを検出する。（Ｓ１０２）。なお、前述の様に、フレーム数ｎｐ１の個数は、ＭＰ３エンコーダ５０の特性に基づいて算出されているため、実際のパディング有りのフレーム数にほぼ一致する。このため、アドレス算出部６６が算出した開始アドレスがずれていた場合であっても、同期データ検出部６８は、容易に正確な開始フレームの開始アドレスを検出できる。そして、同期データ検出部は、特定した開始フレームの開始アドレスをホストマイコン４５に送信する（Ｓ１０３）。
【００４６】
また、フレーム算出部６５は、終了フレームの終了アドレスを算出すべく、前述の処理Ｓ１００〜Ｓ１０３と同様の処理を実行する。具体的には、ｋ個のフレームに含まれるパディングが付加されたフレーム数ｎｐ２を、式（３）を用いて算出する（Ｓ１０４）。そして、アドレス算出部６６は、式（７）に用いることにより、終了フレームの終了アドレスＡｄｄ２を算出する（Ｓ１０５）。そして、同期データ検出部６８は、算出した終了アドレスに基づいて、終了フレームの同期データを検出し（Ｓ１０６）、特定した終了アドレスをホストマイコン４５に送信する（Ｓ１０７）。
【００４７】
また、ホストマイコン４５は、同期データ検出部６８から送信された開始アドレスと終了アドレスとをＵＳＢマイコン４３に送る。そして、ＵＳＢマイコン４３は、送信された開始及び終了アドレスに基づいて、ＳＤＲＡＭ４２の開始フレームから終了フレームまでの音楽データを、ＵＳＢデバイス３１に転送する（Ｓ１０８）。この結果、音楽再生装置１０は、例えば、チューナ２０から出力される音声から、音楽のみを抽出し、ＵＳＢデバイス３１に格納することが可能となる。
【００４８】
＜＜ＣＰＵ５２の第２の実施形態＞＞
図９に示すＣＰＵ５２ｂは、ＣＰＵ５２の第２の実施形態であり、ＲＯＭ等（不図示）に格納されたプログラムを実行することにより、ＣＰＵ５２ａの同期データ検出部６７を除く、音声処理部６０、音楽検出部６２、フレーム数算出部６４、及びアドレス算出部６６を実現する。なお、ここでは、ＣＰＵ５２ｂが用いられる際のＭＰ３エンコーダ５０は、ＬＡＭＥ規格に基づいて、パディング無しのフレームを最初に生成するようなエンコーダであることとする。つまり、ＭＰ３エンコーダ５０は、ＬＡＭＥ規格に基づいて、図３、図４に示すようなパターンでフレームを順次生成する。前述のように、例えば、１フレーム目がパディング無しの場合であれば、式（３）を用いて正確に１フレーム目〜ｎフレーム目までに含まれるパディング有りのフレームを正確に算出できる。
【００４９】
なお、最初に生成されるフレームにパディングが付加されている場合、フレーム数算出部６４は、式（３）の算出結果に対し、“１”だけ加算することにより、正確にパディング有りのフレーム数を算出できる。つまり、最初に生成されるフレームにパディングが付加されるか否かの情報に基づいて、フレーム数算出部６４が、式（３）の算出結果を用いるか、式（３）の算出結果に“１”を加えた値を用いるかを選択することにより、正確にパディング有りのフレーム数を算出できる。
【００５０】
＜＜ＣＰＵ５２ｂを用いた音楽再生装置１０の動作＞＞
ここで、ＣＰＵ５２ｂを用いた音楽再生装置１０が、ＳＤＲＡＭ４２に格納された音楽をＵＳＢデバイス３１に転送する際の動作の一例について説明する。なお、ＳＤＲＡＭ４２には、図７に示すように、（ｉ＋１）番目のフレームから音楽が開始し、（ｋ＋１）番目のフレームに音楽が終了するような音楽ファイルが格納されていることとする。
【００５１】
まず、フレーム数算出部６４は、先頭フレームから（ｉ＋１）番目の開始フレームまで、式（３）を用いて算出する（Ｓ２００）。つぎに、アドレス算出部６６は、算出されたフレーム数ｎｐ１を式（５）に用いることにより、開始フレームの開始アドレスＡｄｄ１を算出する（Ｓ２０１）。前述の様に、ＭＰ３エンコーダ５０は所定のパターンに従ってパディング有り、無しのフレームを生成する。このため、フレーム数ｎｐ１の個数は、実際のパディング有りのフレーム数に一致する。そして、同期データ検出部は、特定した開始フレームの開始アドレスをホストマイコン４５に送信する（Ｓ２０２）。
【００５２】
また、フレーム算出部６５は、終了フレームの終了アドレスを算出すべく、前述の処理Ｓ２００〜Ｓ２０１と同様の処理を実行する。具体的には、ｋ個のフレームに含まれるパディングが付加されたフレーム数ｎｐ２を、式（３）を用いて算出する（Ｓ２０３）。そして、アドレス算出部６６は、式（７）に用いることにより、終了フレームの終了アドレスＡｄｄ２を算出する（Ｓ２０４）。そして、終了アドレスをホストマイコン４５に送信する（Ｓ２０５）。
【００５３】
また、ホストマイコン４５は、同期データ検出部６８から送信された開始アドレスと終了アドレスとをＵＳＢマイコン４３に送る。そして、ＵＳＢマイコン４３は、送信された開始及び終了アドレスに基づいて、ＳＤＲＡＭ４２の開始フレームから終了フレームまでの音楽データを、ＵＳＢデバイス３１に転送する（Ｓ２０６）。この結果、音楽再生装置１０は、例えば、チューナ２０から出力される音声から、音楽のみを抽出し、ＵＳＢデバイス３１に格納することが可能となる。
【００５４】
このように、生成されるフレームのパターンが所定である場合にＣＰＵ５２ｂを用いると、正確に取得するデータのアドレスを算出可能である。したがって、例えば、前述のＣＰＵ５２ａを用いる場合と比較すると、同期データを検出する必要が無いため、実行する処理を少なくすることができる。
【００５５】
このように、システムＬＳＩ４１は、ＳＤＲＡＭ４２に格納される先頭フレームから所望のフレームまでに含まれるパディング有りのフレーム数を算出する。さらに、システムＬＳＩ４１は、算出されたパディング有りのフレーム数を基に、所望のフレームの先頭アドレスを算出する。このため、システムＬＳＩ４１は、例えば、先頭フレームから所望のフレームまでに含まれるフレーム数に対し、パディング無しのフレームのデータサイズを乗算して所望の先頭アドレスを算出する場合と比較すると、精度よく所望の先頭アドレスを求めることが可能である。さらに、本実施形態では、所望のフレームを選択する際に、先頭フレームから所望のフレームまでに含まれるフレーム夫々の先頭アドレスの情報を例えば、ＳＤＲＡＭ４２等のメモリに別途記憶する必要はない。このため、ＳＤＲＡＭ４２等のメモリの容量は抑制される。
【００５６】
また、所望のフレームの先頭アドレスは、先頭フレームの先頭アドレスと、パディング無しのフレームサイズ及びパディング有りのフレームサイズと、パディング有りのフレーム数と、先頭フレームから所望のフレームまでのフレーム数と、に基づいて算出できる。
【００５７】
また、フレーム数算出部６４は、式（３）に基づいて、１フレーム目からの複数のフレームに含まれるパディング有りのフレーム数を算出する。式（３）は、ＭＰ３エンコーダ５０の特性に基づいた理論式であるため、式（３）で算出されるパディング有りのフレーム数は、実際のパディング有りのフレーム数にほぼ一致する。このため、本実施形態では、複数のフレームに含まれるパディング有りのフレーム数を精度良く算出できる。
【００５８】
また、本実施形態は、複数のフレーム数の数に対し、所定の割合を乗算することにより複数のフレーム数に含まれるパディング有りのフレーム数を算出している。所定の割合は、例えば、式（１）、（３）に示されているように、ＡＤＣ４０のサンプリング周波数と、１フレームに含まれるＰＣＭデータのサンプル数と、ＭＰ３データのビットレートと、に基づいて算出される。このため、例えば、サンプリング周波数や、ビットレート等が変化した場合であっても、複数のフレーム数に含まれるパディング有りのフレーム数を算出することが可能である。
【００５９】
また、本実施形態では、複数のフレーム数に含まれるパディング有りのフレーム数を算出する際の割合は、式（１）の剰余であるＲｅｍを、サンプリング周波数ｆｓで除算した値に基づいて算出している。
【００６０】
また、本実施形態では、例えば式（５）に示すように、複数のフレームに含まれるパディング無しのフレーム数を用いることなく、所望のフレームの先頭アドレスを算出できる。このため、本実施形態では、複数のフレームに含まれるパディング無しのフレーム数を算出する必要が無いため、ＣＰＵ５２の処理を減らすことが可能となる。
【００６１】
なお、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００６２】
例えば、本実施形態のＭＰ３エンコーダ５０は、ＬＡＭＥ規格に基づいてフレームを生成することとしたが、これに限られるものでは無い。
【符号の説明】
【００６３】
１０  音楽再生装置
２０  チューナ
２１  セレクタ（ＳＥＬ）
３０  スピーカ  
３１  ＵＳＢデバイス
４０  ＡＤコンバータ（ＡＤＣ）
４１  オーディオＬＳＩ
４２  ＳＤＲＡＭ
４３  ＵＳＢマイコン
４４  ＤＡコンバータ（ＤＡＣ）
４５  ホストマイコン
５０  ＭＰ３エンコーダ
５２  ＣＰＵ
５４  転送回路
６０  音声処理部
６２  音楽検出部
６４  フレーム数算出部
６６  アドレス算出部
６８  同期データ検出部
７０  剰余算出部
７２  除算部
７４  乗算部
【図１】
2010276992.tif 000003
【図２】
2010276992.tif 000004
【図３】
2010276992.tif 000005
【図４】
2010276992.tif 000006
【図５】
2010276992.tif 000007
【図６】
2010276992.tif 000008
【図７】
2010276992.tif 000009
【図８】
2010276992.tif 000010
【図９】
2010276992.tif 000011
【図１０】
2010276992.tif 000012
【図１１】
2010276992.tif 000013
【図１２】
2010276992.tif 000014