JP2010276992A - デジタルデータ処理装置 - Google Patents

デジタルデータ処理装置 Download PDF

Info

Publication number
JP2010276992A
JP2010276992A JP2009131358A JP2009131358A JP2010276992A JP 2010276992 A JP2010276992 A JP 2010276992A JP 2009131358 A JP2009131358 A JP 2009131358A JP 2009131358 A JP2009131358 A JP 2009131358A JP 2010276992 A JP2010276992 A JP 2010276992A
Authority
JP
Japan
Prior art keywords
frame
frames
data
address
calculation unit
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.)
Pending
Application number
JP2009131358A
Other languages
English (en)
Inventor
Tatsuya Masuda
達哉 増田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
System Solutions Co Ltd
Original Assignee
Sanyo Electric Co Ltd
Sanyo Semiconductor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sanyo Electric Co Ltd, Sanyo Semiconductor Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2009131358A priority Critical patent/JP2010276992A/ja
Priority to EP10164248A priority patent/EP2256734B1/en
Priority to US12/790,175 priority patent/US20100305731A1/en
Publication of JP2010276992A publication Critical patent/JP2010276992A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • G11B2020/10546Audio or video recording specifically adapted for audio data

Abstract

【課題】メモリ容量を抑制しつつ、精度よく所望のフレームの先頭を求めることが可能なデジタルデータ処理装置を提供する。
【解決手段】デジタルデータ処理装置は、第1のデータサイズ及びそれより大きい第2のデータサイズを有するフレームを含み構成される所定のビットレートの符号化データを、入力データを符号化して生成しメモリに順次格納する符号化部と、格納されるn個のフレームのうち、第1のデータサイズ及び第2のデータサイズの少なくとも何れか一方のフレーム数を算出するフレーム数算出部と、少なくとも、n個のフレームのうち時間的に最も早くメモリに格納されるフレームの先頭を示す先頭データが格納される第1のアドレスと、第1のデータサイズ及び第2のデータサイズと、フレーム数算出部の算出結果とに基づいてn個のフレームに続いてメモリに格納されるフレームの先頭データが格納される第2のアドレスを算出するアドレス算出部とを備える。
【選択図】図1

Description

本発明は、デジタルデータ処理装置に関する。
音楽再生装置には、メモリに格納されたMP3(MPEG Audio Layer-3)形式等の音声ファイルを読み出して再生するものがある。図11は、音楽再生装置100の一例である。音楽再生装置100は、メモリ200、マイコン210、及びデコーダ220を含んで構成される。メモリ200は音声ファイルを格納する。また、一般的な音声ファイルは、例えば、図12に示すように、複数のフレームから構成される。フレームは、フレームの先頭を示す同期データや、フレームのデータサイズ等の情報を含むフレームヘッダと、音声データが符号化された実データとを含んで構成される。また、実データには、例えば音声ファイルが固定ビットレートで再生される際に、パディングが付加されることがある。マイコン210は、操作部(不図示)の操作結果に基づいて音声ファイルを読み出してデコーダ220に出力する。デコーダ220は、音声ファイルを再生すべくエンコードされたMP3形式の音声ファイルをデコードする。
ところで、通常、音楽再生装置100が音声ファイルを再生する場合、マイコン210は、音声ファイルのフレーム(1)から順次読み出して、デコーダ220に出力する。しかしながら、音楽再生装置100が音声ファイルを早送り等する場合には、マイコン210は複数のフレームを読み飛ばし、所望のフレームを選択する必要がある。具体的には、例えば、マイコン210がフレーム(n+1)を選択する場合、マイコン210は、早送り等の操作結果に基づいて、フレーム(n+1)の同期データが格納されているメモリ200の記憶領域にアクセスする必要がある。
所望のフレームを選択するには、例えば、音声ファイルの夫々のフレームの同期データが格納されているメモリのアドレスを、音声ファイルとは別にメモリ等に記憶する方法がある。このような場合には、夫々のフレームの同期データのアドレス(以下、先頭アドレスと称する)の情報を用いることにより、マイコン等は所望のフレームを選択することができる(例えば、特許文献1)。
また、先頭アドレスの情報がメモリ等に記憶されていない場合であっても、マイコン210は、パディングが無い場合のフレームのデータサイズ、フレームの個数n等に基づいて、フレーム(n+1)の先頭アドレスを算出できる。具体的には、例えば、図12に示す様に、マイコン210は、フレーム(1)の先頭アドレスに対し、パディングが無い場合のフレームのデータサイズとフレームの個数nとの積を加算する。そして、マイコン210は、算出された算出アドレスの位置(A)を基準に、例えば同期データの検出処理を実行する。この結果、マイコン210は、フレーム(n+1)の先頭アドレスを求めることができる。
特開2002−41095号公報
しかしながら、例えば、前述の夫々のフレームの先頭アドレスの情報をメモリ等が記憶する場合、音声ファイルを構成するフレームの個数が増加すると、先頭アドレスの情報も増加する。したがって、この場合には、先頭アドレスの情報を記憶するためのメモリの記憶領域を大きくする必要がある。
また、算出された算出アドレスに基づいて、同期データの検出の処理を実行する場合には、フレーム(1)〜フレーム(n)までに含まれるフレームのうち、パディングが付加されたフレームが多いと、フレーム(n+1)の先頭アドレスを正しく求めることができないことがある。前述のように、算出アドレスが、例えば(A)の位置の場合、同期データを検出することによりフレーム(n+1)の先頭アドレスを求めることができる。しかしながら、パディングが付加されるフレームが多く、算出アドレスが、例えば(B)の位置の場合、フレーム(n+2)の先頭アドレスを誤って求めてしまう。したがって、算出アドレスに基づいて同期データの検出をする場合には、正しく所望の先頭アドレスを算出できないという問題が生じることがある。
本発明は上記課題を鑑みてなされたものであり、メモリの容量を抑制しつつ、精度よく所望のフレームの先頭を求めることが可能なデジタルデータ処理装置を提供することを目的とする。
上記目的を達成するため、本発明の一つの側面に係るデジタルデータ処理装置は、第1のデータサイズ及び前記第1のデータサイズより大きい第2のデータサイズを有するフレームを含んで構成される所定のビットレートの符号化データを、入力されるデジタルデータを符号化して生成するとともに、前記符号化データをメモリに順次格納する符号化部と、前記メモリに格納されるn個の前記フレームのうち、前記第1のデータサイズを有するフレーム数及び、前記第2のデータサイズを有するフレーム数の少なくとも何れか一方のフレーム数を算出するフレーム数算出部と、少なくとも、前記n個のフレームのうち時間的に最も早く前記メモリに格納されるフレームの先頭を示す先頭データが格納される前記メモリの第1のアドレスと、前記第1のデータサイズ及び前記第2のデータサイズと、前記フレーム数算出部の算出結果と、に基づいて、前記n個のフレームに続いて前記メモリに格納されるフレームの前記先頭データが格納される前記メモリの第2のアドレスを算出するアドレス算出部と、を備えることとする。
メモリの容量を抑制しつつ、精度よく所望のフレームの先頭を求めることが可能なデジタルデータ処理装置を提供することができる。
本発明の一実施形態である音楽再生装置の構成を示す図である。 音声ファイルの構成を説明するための図である。 MP3エンコーダ50が生成するフレームを説明するための図である。 生成されるフレームとパディングの有無との関係を示す図である。 CPU52aの機能ブロックを示す図である。 フレーム算出部64の機能ブロックを示す図である。 SDRAM42に格納される音声ファイルの一例を示す図である。 CPU52aが用いられた音楽再生装置10がSDRAM42に格納された音楽をUSBデバイス31に転送する際の動作の一例を示すフローチャートである。 CPU52bの機能ブロックを示す図である。 CPU52bが用いられた音楽再生装置10がSDRAM42に格納された音楽をUSBデバイス31に転送する際の動作の一例を示すフローチャートである。 音楽再生装置の構成を示す図である。 音声ファイルの構成を説明するための図である。
本明細書および添付図面の記載により、少なくとも以下の事項が明らかとなる。
図1は、本発明の一実施形態である音楽再生装置の構成を示す図である。
音楽再生装置10は、例えば、カーステレオに搭載され、ADC(Analog Digital converter)40、オーディオLSI41、SDRAM(Synchronous Dynamic Random Access Memory)42、USB(Universal Serial Bus)マイコン43、DAC(Digital Analog converter)44、及びホストマイコン45を含んで構成される。音楽再生装置10は、入力される音声のアナログ信号をスピーカ30で再生する。また、音楽再生装置10は、入力されるアナログ信号をデジタルデータに変換した後に符号化し、符号化した符号化データをUSBデバイス31に格納する。
セレクタ21には、ラジオ放送のチューナ20から出力されるアナログ信号や、例えば携帯型音楽プレーヤー(不図示)から出力されるアナログ信号が入力される。
ADC40には、セレクタ21で選択されたアナログ信号が入力される。また、ADC40は、入力されるアナログ信号を、デジタルのPCM(Pulse Code Modulation)データに変換する。本実施形態のADC40がアナログ信号をPCMデータに変換する際のサンプリング周波数は、例えば44.1kHzであり、ビット幅は、例えば16ビットであることとする。なお、ADC40のサンプリング周波数、PCMデータのビット幅は、例えば、ホストマイコン45により設定される。また、チューナ20の選局、入力ソースの選択等は、カーステレオのシステムマイコン(不図示)により実行される。
オーディオLSI41(デジタルデータ処理装置)は、PCMデータとして入力される音声信号に対し、様々な処置を施してDAC44に出力する。具体的には、オーディオLSI41は、ホストマイコン45からの指示に基づいて、例えば、音声の低域を強調するような処理を音声信号に対して施す。また、オーディオLSI41は、入力される音声信号の周波数等に基づいて、音声がいわゆる音楽であるか否かを検出する。さらに、オーディオLSI41は、PCMデータをMP3形式に符号化し、MP3データとしてSDRAM42に格納する。また、オーディオLSI41は、ホストマイコン45の制御に基づいて、SDRAM40に格納されたMP3データを、USBデバイス31にUSBマイコン43経由で出力する。なお、オーディオLSI41の詳細については後述する。
SDRAM42には、MP3データを記憶する記憶領域が設けられている。
USBマイコン43は、ホストマイコン45からの指示に基づいて、オーディオLSI41から出力されるMP3データを、USBコネクタ等を介して接続される、USBデバイス42に転送する。なお、USBデバイス31は、例えば、メモリを有し、MP3データを再生可能な携帯型音楽プレーヤ等である。したがって、詳細は後述するが、利用者は、例えばチューナ20で受信したラジオ等における音楽を、USBデバイス31にデジタルデータとして記憶することが可能となる。
DAC44は、オーディオLSI41から出力されるデジタルのPCMデータを、アナログ信号に変換し、スピーカ30で再生する。
ホストマイコン45は、操作部(不図示)の操作結果に基づいて、音楽再生装置10を統括制御する。具体的には、ホストマイコン45は、ADC40サンプリング周波数、オーディオLSI41におけるMP3データのビットレート等を設定するとともに、音楽再生装置10における各回路の起動、停止等を制御する。
オーディオLSI41の詳細構成について説明する。オーディオLSI41は、MP3エンコーダ50、CPU52、及び転送回路54を含んで構成されている。
MP3エンコーダ50(符号化部)は、ADC40から出力されるPCMデータを符号化してMP3データを生成してSDRAM42に格納する。なお、MP3エンコーダ50は、内部のレジスタ(不図示)に設定された情報に基づいたビットレート等でMP3データを生成する。MP3エンコーダ50の前述のレジスタの情報は、ホストマイコン45により設定される。本実施形態のMP3エンコーダ50は、PCMデータを1152サンプル数毎にフレームに変換し、例えば、128kbps(kilobit per second)の固定のビットレートでMP3データが出力されるよう、PCMデータを符号化する。このため、1フレームの理論上のサイズは、次式で計算される。
Fsize=(Nsample×Rbit/8)/fs・・・(1)
式(1)においては、Fsizeはフレームの理論上のサイズであり、Nsampleはサンプル数であり、Rbitはビットレートであり、fsはサンプリング周波数である。式(1)では、フレームサイズをビットでなく、バイトで表現するために、ビットレートを8で割っている。また、前述のように、サンプリング周波数は44.1kHzである。したがって、理論上のフレームサイズは、(1152×(128000/8))/44100≒417.959バイトとなる。つまり、MP3エンコーダ50から、データサイズが417.959バイトのフレームが順次出力されると、MP3データのビットレートが128kbpsとなる。
ところで、データの最小単位は1バイトであるため、実際にMP3エンコーダ50がPCMデータを符号化し、上記の417.959バイトのフレームを生成することはできない。このため、MP3エンコーダ50は、MP3データのビットレートが128kbpsとなるよう、417バイト(第1のデータサイズ)のフレームと、418バイト(第2のデータサイズ)のフレームとを生成する必要がある。具体的には、MP3エンコーダ50が、例えば、49個のフレームを生成する際に、2個の417バイトのフレームと、47個の418バイトのフレームとを生成する。この場合、49個のフレームの合計のサイズは、2×417+47×418=20480バイトとなるため、1フレームあたりの平均のサイズは、20480/49≒417.959バイトとなる。したがって、1フレームの平均のサイズは、前述の式(1)で算出したフレームのサイズにほぼ一致する。なお、本実施形態のMP3エンコーダ50は、図2に示すように、417バイトのフレームに対し1バイトのパディングを付加し、418バイトのフレームを生成する。また、各フレームは、フレームの先頭を示す同期データ(先頭データ)、パディングの有無やビットレート等の情報を含むフレームヘッダと、PCMデータが符号化された実データとを含んで構成される。
ここで、MP3エンコーダ50が、128kbpsのビットレートでMP3データを出力する際に、生成されるフレームについて図3、図4を参照しつつ説明する。なお、以下本実施形態では、MP3エンコーダ50には、LAMEベースのエンコーダを用いた場合を例として説明する。また、MP3エンコーダ50が417バイトのフレームを生成する際には、式(1)より、“42300(1/44100(バイト))”(42300/44100≒0.959)の余りが生じる。MP3エンコーダ50は、フレームを生成する際の余りのバイト数が、例えば前述の“42300”を超えた際にパディングを付加し、418バイトのフレームを生成することとする。以下、余りのバイト数の単位は、特に記載しない限り“1/44100(バイト)”であり、“42300”をしきい値と称する。
まず、MP3エンコーダ50が1フレーム目を生成する際の余りのバイト数は、“42300”であり、しきい値である“42300”を超えていない。このため、MP3エンコーダ50は、417バイトのフレームを生成する。MP3エンコーダ50が2フレーム目を生成する際の余りのバイト数は、“42300”と、前述の1フレーム目を生成する際の余りである“42300”との合計である。このため、2フレーム目を生成する際の余りのバイト数は、“42300”+“42300”となり、しきい値を超える。したがって、MP3エンコーダ50は、418バイトのフレームを生成するとともに“42300”+“42300”−“44100”=“40500”を新たな余りとする。このように、2フレーム目は、パディングの付加されたフレームが生成される。MP3エンコーダ50が3フレーム目を生成する際の余りのバイト数は、“42300”と、前述の2フレーム目を生成する際の余りである“40500”との合計である。したがって、MP3エンコーダ50は、3フレーム目も2フレーム目と同様に、パディングが付加されたフレームを生成する。以下、MP3エンコーダ50は、1〜3フレーム目と同様に、余りのバイト数がしきい値を超えた場合パディングを付加して418バイトのフレームを生成し、余りのバイト数がしきい値以下の場合417バイトのフレームを生成する。このため、ここでは図示していないが、4フレーム目〜23フレーム目も3フレーム目と同様に、パディングが付加されることとなる。なお、本実施形態では、例えば、25フレーム目の様に、余りのバイト数が“43200”でしきい値を超えているが、式(1)の分母の値である“44100”より小さい場合、MP3エンコーダ50は、次のフレームの余りのバイト数から“44100”となるような値を補充する。このため、図3、図4にあるように、25フレーム目においてはパディングが付加されたフレームが生成され、26フレーム目においてパディング無しのフレームが生成される。
また、本実施形態のMP3エンコーダ50は、SDRAM42に確保された所定の記憶領域の先頭からMP3データを順次格納する。このため、本実施形態においては、所定の記憶領域の先頭には、時間的に最も早く生成されるフレームが格納される。さらに、MP3エンコーダは、所定の記憶領域にMP3データをサイクリックに格納していく。すなわち、MP3データが格納される領域はリングバッファとして管理されており、MP3データがUSBデバイス31に転送されずに生成され続けている場合、時間的に古いMP3データから順次上書きされていくことになる。また、例えば、SDRAM42上のMP3データが格納される記憶領域のサイズを64Mビット、MP3データのビットレートを128kbpsとすると、過去約8分のMP3データをSDRAM42に蓄積することができる。
CPU52は、例えば、内蔵する図示しないROM(Read Only Memory)、RAM等のメモリに格納されたプログラムを実行することにより、様々な機能ブロックを実現する。なお、CPU52の詳細は後述する。
転送回路54は、ホストマイコン45から入力されるMP3データの転送アドレス等の情報に基づいて、SDRAM42に格納されているMP3データを読み出してUSBマイコン43に出力する。USBマイコン43に出力されたMP3データはUSBデバイス31に転送される。また、転送回路58は、転送アドレス等の情報を内部のレジスタ(不図示)に記憶する。
<<CPU52の第1の実施形態>>
CPU52の詳細について図5を参照しつつ説明する。CPU52aは、CPU52の第1の実施形態であり、ROM等(不図示)に格納されたプログラムを実行することにより、音声処理部60、音楽検出部62、フレーム数算出部64、アドレス算出部66、及び同期データ検出部68を実現する。
音声処理部60は、ホストマイコン45からの指示に基づいて、入力されるPCMデータに対して様々な処置を施してDAC44に出力する。具体的には、例えば、入力される音声の低域を強調するような処理をPCMデータに対して施す。
音楽検出部62は、音楽再生装置40に入力される音声信号が音楽か否かを検出する。さらに、音楽検出部62は、検出結果に基づいて、MP3エンコーダ50が符号化したフレームのうち、音楽が開始したフレーム(以下、開始フレーム)の番号と音楽が終了したフレーム(以下、終了フレーム)の番号とを記憶する。具体的には、音楽検出部62は、PCMデータに基づいて、例えば入力される音声に所定の周波数帯域の音声信号が含まれている場合に、音楽であると検出する。また、音楽検出部62は、例えば、MP3エンコーダ50から順次出力されるフレーム数をカウントするカウンタ(不図示)を含み、カウント値と前述の検出結果とに基づいて、開始フレーム及び終了フレームを算出する。例えば、音楽検出部62が入力される音声が音楽であるか否かを検出するために、100カウント分の期間を要する場合、音楽検出部62は、音楽であると検出した際のカウント値から100カウント前のカウント値のフレームを、開始フレームとする。同様に、音楽検出部62は、音楽が終了したと検出した際のカウント値から100カウント前のカウント値のフレームを、終了フレームとする。
フレーム数算出部64は、SDRAM42の記憶領域の先頭の領域に格納されたフレーム(以下、先頭フレームと称する)から、開始フレーム、終了フレームの夫々の間に含まれているパディングが付加されたフレーム数を算出する。前述のように、MP3エンコーダ50は、余りのバイト数がしきい値を超えた際に、パディングが付加されたフレームを生成する。したがって、n個のフレームが生成された際にパディングが付加される理論上のフレームの数は、以下の式の商の値の整数値で表現できる。
np=(n×Rem−(Nth+1))/fs+1・・・(2)
なお、式(2)においては、npはパディングが付加されたフレームの数であり、nはフレームの個数、すなわち、1フレーム目(先頭フレーム)からnフレーム目までのフレームの個数である。Remは式(1)の余り“42300”であり、Nthはしきい値“42300”であり、fsは前述のサンプリング周波数“44100”である。また、式(2)を変形すると、式(3)の様に表現できる。
np=n×(Rem/fs)+(fs−(Nth+1))/fs・・・(3)
式(3)から明らかなように、パディング有りのフレーム数npは、所定の割合Rem/fs(=42300/44100≒0.959)に基づいて定まる。
ところで、MP3エンコーダ50が一般的なLAMEの規格に基づいてフレームを生成する場合は、1フレーム目はパディング無しのフレームが生成される。しかしながら、MP3エンコーダ50がLAMEの規格に基づいている場合であっても、例えば、MP3エンコーダ50に対し、1フレーム目にパディング有りのフレームを生成するような設定がされている場合がある。このような場合、MP3エンコーダ50は、1フレーム目にパディング有りのフレームを生成する。この結果、1〜nフレーム目に含まれるパディング有りのフレーム数は、1フレーム目にパディングが付加された場合と、1フレーム目にパディングが付加されない場合とで、“1”だけずれることがある。
式(3)を用いて算出したフレーム数np1は、1フレーム目のパディングの有無を考慮しないで算出される理論的な値である。このため、例えば、1フレーム目のパディングの有無を加味し、例えば、1フレーム目がパディング無しの場合であれば、式(3)を用い、1フレーム目がパディング有りの場合であれば、式(3)の結果に“1”を加えた値を用いればよい。
ただし、1フレーム目のパディングの有無を考慮しない場合であっても、前述のように式(3)は、MP3エンコーダ50のビットレート等の特性に基づいた理論上の計算式である。このため、例えば図4等の結果から概算する場合、具体的には、1フレーム目から26フレーム目までの26個のフレームに24個のパディング有りのフレームが含まれるとして所定の割合を24/26(≒0.923)とする場合と比較すると、精度良くパディング有りのフレーム数を算出できる。
本実施形態のフレーム数算出部64は、前述の式(3)を実現すべく、例えば、図6に示す様な、剰余算出部70、除算部72、及び乗算部74を含んで構成される。
剰余算出部70は、前述の式(1)の剰余、すなわち、式(2)のRemを算出する。なお、本実施形態におけるRemは、前述のように“42300”である。
除算部72は、剰余算出部70の算出結果であるRemと、サンプリング周波数fsとに基づいて、式(3)における所定の割合であるRem/fs(=42300/44100)を算出する。
乗算部74は、先頭フレームと開始フレームとの間に含まれるフレーム数n1の中のパディング有りのフレーム数np1と、先頭フレームと終了フレームとの間に含まれるフレーム数n2の中のパディング有りのフレーム数np2とを算出する。具体的には、乗算部74は、n1及び、n2の夫々に対し、除算部72で算出した所定の割合Rem/fsを乗算し、式(3)を実行する。
アドレス算出部66は、SDRAM42において、開始フレームの先頭アドレス(以下、開始アドレス)と、終了フレームの先頭アドレス(以下、終了アドレス)とを算出する。なお、ここで、先頭アドレスとは、フレームの同期データが格納されているアドレスである。アドレス算出部66は、先頭フレームの先頭アドレスと、フレーム数n1と、パディング有りのフレーム数np1と、パディング無しの実際のフレームのサイズ及びパディング有りの実際のフレームのサイズと、に基づいて開始アドレスを式(4)にて算出する。
Add1=Add+Fz×n1+(Fzp−Fz)×np1・・・(4)
式(4)においては、Add1は開始アドレスであり、Addは先頭フレームの先頭アドレスであり、Fzはパディング無しの実際のフレームのサイズであり、Fzpはパディング有りの実際のフレームのサイズである。なお、前述のように、先頭フレームは、SDRAM42の所定の記憶領域の先頭に格納されるため、先頭フレームの先頭アドレスは、SDRAM42の所定の記憶領域の先頭に割り当てられたアドレスとなる。
また、本実施形態では、Fzは、417バイトであり、Fxpは418バイトであるため、式(4)は、
Add1=Add+417×n1+np1・・・(5)
と表現できる。アドレス算出部66は終了アドレスも、式(4)と同様に、式(6)にて算出する。なお、式(6)において、Add2が終了アドレスである。
Add2=Add+Fz×n1+(Fzp−Fz)×np2・・・(6)
また、式(6)も式(5)と同様に式(7)の様に表現できる。
Add2=Add+417×n1+np2・・・(7)
前述の様に、パディング有りのフレーム数np1、np2は理論上の算出値であるため、例えば1個分だけ実際の値からずれることがある。この結果、アドレス算出部66が算出する開始アドレス、終了アドレスも実際の開始アドレス、終了アドレスから、例えば1バイトずれてしまうことがある。本実施形態では、算出したアドレスのずれを解消すべく、算出したアドレスを基に、開始フレーム、終了フレームの夫々の同期データを検出する処理が実行される。
同期データ検出部68は、アドレス算出部66が算出した開始アドレスから、開始フレームの同期データを検出する。そして、検出した同期データのアドレスが、算出した開始アドレスと異なる場合、検出した同期データのアドレスを開始アドレスとしてホストマイコン45に送信する。なお、検出した同期データのアドレスが、算出した開始アドレスと一致している場合、算出した開始アドレスをホストマイコン45に送信する。また、同期データ検出部68は、終了アドレスに対しても、開始アドレスと同様の処理を実行し、終了アドレスをホストマイコン45に送信する。
<<CPU52aを用いた音楽再生装置10の動作>>
ここで、CPU52aを用いた音楽再生装置10が、SDRAM42に格納された音楽をUSBデバイス31に転送する際の動作の一例について説明する。なお、SDRAM42には、図7に示すように、(i+1)番目のフレームから音楽が開始し、(k+1)番目のフレームに音楽が終了するような音楽ファイルが格納されていることとする。
まず、フレーム数算出部64は、先頭フレームから(i+1)番目の開始フレームまで、すなわち、i個のフレームに含まれるパディングが付加されたフレーム数np1を、式(3)を用いて算出する(S100)。つぎに、アドレス算出部66は、算出されたフレーム数np1を式(5)に用いることにより、開始フレームの開始アドレスAdd1を算出する(S101)。具体的には、開始アドレスは、Add1=Add+417×i+np1となる。そして、同期データ検出部68は、算出した開始アドレスに基づいて、開始フレームの同期データを検出する。(S102)。なお、前述の様に、フレーム数np1の個数は、MP3エンコーダ50の特性に基づいて算出されているため、実際のパディング有りのフレーム数にほぼ一致する。このため、アドレス算出部66が算出した開始アドレスがずれていた場合であっても、同期データ検出部68は、容易に正確な開始フレームの開始アドレスを検出できる。そして、同期データ検出部は、特定した開始フレームの開始アドレスをホストマイコン45に送信する(S103)。
また、フレーム算出部65は、終了フレームの終了アドレスを算出すべく、前述の処理S100〜S103と同様の処理を実行する。具体的には、k個のフレームに含まれるパディングが付加されたフレーム数np2を、式(3)を用いて算出する(S104)。そして、アドレス算出部66は、式(7)に用いることにより、終了フレームの終了アドレスAdd2を算出する(S105)。そして、同期データ検出部68は、算出した終了アドレスに基づいて、終了フレームの同期データを検出し(S106)、特定した終了アドレスをホストマイコン45に送信する(S107)。
また、ホストマイコン45は、同期データ検出部68から送信された開始アドレスと終了アドレスとをUSBマイコン43に送る。そして、USBマイコン43は、送信された開始及び終了アドレスに基づいて、SDRAM42の開始フレームから終了フレームまでの音楽データを、USBデバイス31に転送する(S108)。この結果、音楽再生装置10は、例えば、チューナ20から出力される音声から、音楽のみを抽出し、USBデバイス31に格納することが可能となる。
<<CPU52の第2の実施形態>>
図9に示すCPU52bは、CPU52の第2の実施形態であり、ROM等(不図示)に格納されたプログラムを実行することにより、CPU52aの同期データ検出部67を除く、音声処理部60、音楽検出部62、フレーム数算出部64、及びアドレス算出部66を実現する。なお、ここでは、CPU52bが用いられる際のMP3エンコーダ50は、LAME規格に基づいて、パディング無しのフレームを最初に生成するようなエンコーダであることとする。つまり、MP3エンコーダ50は、LAME規格に基づいて、図3、図4に示すようなパターンでフレームを順次生成する。前述のように、例えば、1フレーム目がパディング無しの場合であれば、式(3)を用いて正確に1フレーム目〜nフレーム目までに含まれるパディング有りのフレームを正確に算出できる。
なお、最初に生成されるフレームにパディングが付加されている場合、フレーム数算出部64は、式(3)の算出結果に対し、“1”だけ加算することにより、正確にパディング有りのフレーム数を算出できる。つまり、最初に生成されるフレームにパディングが付加されるか否かの情報に基づいて、フレーム数算出部64が、式(3)の算出結果を用いるか、式(3)の算出結果に“1”を加えた値を用いるかを選択することにより、正確にパディング有りのフレーム数を算出できる。
<<CPU52bを用いた音楽再生装置10の動作>>
ここで、CPU52bを用いた音楽再生装置10が、SDRAM42に格納された音楽をUSBデバイス31に転送する際の動作の一例について説明する。なお、SDRAM42には、図7に示すように、(i+1)番目のフレームから音楽が開始し、(k+1)番目のフレームに音楽が終了するような音楽ファイルが格納されていることとする。
まず、フレーム数算出部64は、先頭フレームから(i+1)番目の開始フレームまで、式(3)を用いて算出する(S200)。つぎに、アドレス算出部66は、算出されたフレーム数np1を式(5)に用いることにより、開始フレームの開始アドレスAdd1を算出する(S201)。前述の様に、MP3エンコーダ50は所定のパターンに従ってパディング有り、無しのフレームを生成する。このため、フレーム数np1の個数は、実際のパディング有りのフレーム数に一致する。そして、同期データ検出部は、特定した開始フレームの開始アドレスをホストマイコン45に送信する(S202)。
また、フレーム算出部65は、終了フレームの終了アドレスを算出すべく、前述の処理S200〜S201と同様の処理を実行する。具体的には、k個のフレームに含まれるパディングが付加されたフレーム数np2を、式(3)を用いて算出する(S203)。そして、アドレス算出部66は、式(7)に用いることにより、終了フレームの終了アドレスAdd2を算出する(S204)。そして、終了アドレスをホストマイコン45に送信する(S205)。
また、ホストマイコン45は、同期データ検出部68から送信された開始アドレスと終了アドレスとをUSBマイコン43に送る。そして、USBマイコン43は、送信された開始及び終了アドレスに基づいて、SDRAM42の開始フレームから終了フレームまでの音楽データを、USBデバイス31に転送する(S206)。この結果、音楽再生装置10は、例えば、チューナ20から出力される音声から、音楽のみを抽出し、USBデバイス31に格納することが可能となる。
このように、生成されるフレームのパターンが所定である場合にCPU52bを用いると、正確に取得するデータのアドレスを算出可能である。したがって、例えば、前述のCPU52aを用いる場合と比較すると、同期データを検出する必要が無いため、実行する処理を少なくすることができる。
このように、システムLSI41は、SDRAM42に格納される先頭フレームから所望のフレームまでに含まれるパディング有りのフレーム数を算出する。さらに、システムLSI41は、算出されたパディング有りのフレーム数を基に、所望のフレームの先頭アドレスを算出する。このため、システムLSI41は、例えば、先頭フレームから所望のフレームまでに含まれるフレーム数に対し、パディング無しのフレームのデータサイズを乗算して所望の先頭アドレスを算出する場合と比較すると、精度よく所望の先頭アドレスを求めることが可能である。さらに、本実施形態では、所望のフレームを選択する際に、先頭フレームから所望のフレームまでに含まれるフレーム夫々の先頭アドレスの情報を例えば、SDRAM42等のメモリに別途記憶する必要はない。このため、SDRAM42等のメモリの容量は抑制される。
また、所望のフレームの先頭アドレスは、先頭フレームの先頭アドレスと、パディング無しのフレームサイズ及びパディング有りのフレームサイズと、パディング有りのフレーム数と、先頭フレームから所望のフレームまでのフレーム数と、に基づいて算出できる。
また、フレーム数算出部64は、式(3)に基づいて、1フレーム目からの複数のフレームに含まれるパディング有りのフレーム数を算出する。式(3)は、MP3エンコーダ50の特性に基づいた理論式であるため、式(3)で算出されるパディング有りのフレーム数は、実際のパディング有りのフレーム数にほぼ一致する。このため、本実施形態では、複数のフレームに含まれるパディング有りのフレーム数を精度良く算出できる。
また、本実施形態は、複数のフレーム数の数に対し、所定の割合を乗算することにより複数のフレーム数に含まれるパディング有りのフレーム数を算出している。所定の割合は、例えば、式(1)、(3)に示されているように、ADC40のサンプリング周波数と、1フレームに含まれるPCMデータのサンプル数と、MP3データのビットレートと、に基づいて算出される。このため、例えば、サンプリング周波数や、ビットレート等が変化した場合であっても、複数のフレーム数に含まれるパディング有りのフレーム数を算出することが可能である。
また、本実施形態では、複数のフレーム数に含まれるパディング有りのフレーム数を算出する際の割合は、式(1)の剰余であるRemを、サンプリング周波数fsで除算した値に基づいて算出している。
また、本実施形態では、例えば式(5)に示すように、複数のフレームに含まれるパディング無しのフレーム数を用いることなく、所望のフレームの先頭アドレスを算出できる。このため、本実施形態では、複数のフレームに含まれるパディング無しのフレーム数を算出する必要が無いため、CPU52の処理を減らすことが可能となる。
なお、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
例えば、本実施形態のMP3エンコーダ50は、LAME規格に基づいてフレームを生成することとしたが、これに限られるものでは無い。
10 音楽再生装置
20 チューナ
21 セレクタ(SEL)
30 スピーカ
31 USBデバイス
40 ADコンバータ(ADC)
41 オーディオLSI
42 SDRAM
43 USBマイコン
44 DAコンバータ(DAC)
45 ホストマイコン
50 MP3エンコーダ
52 CPU
54 転送回路
60 音声処理部
62 音楽検出部
64 フレーム数算出部
66 アドレス算出部
68 同期データ検出部
70 剰余算出部
72 除算部
74 乗算部

Claims (6)

  1. 第1のデータサイズ及び前記第1のデータサイズより大きい第2のデータサイズを有するフレームを含んで構成される所定のビットレートの符号化データを、入力されるデジタルデータを符号化して生成するとともに、前記符号化データをメモリに順次格納する符号化部と、
    前記メモリに格納されるn個の前記フレームのうち、前記第1のデータサイズを有するフレーム数及び、前記第2のデータサイズを有するフレーム数の少なくとも何れか一方のフレーム数を算出するフレーム数算出部と、
    少なくとも、前記n個のフレームのうち時間的に最も早く前記メモリに格納されるフレームの先頭を示す先頭データが格納される前記メモリの第1のアドレスと、前記第1のデータサイズ及び前記第2のデータサイズと、前記フレーム数算出部の算出結果と、に基づいて、前記n個のフレームに続いて前記メモリに格納されるフレームの前記先頭データが格納される前記メモリの第2のアドレスを算出するアドレス算出部と、
    を備えることを特徴とするデジタルデータ処理装置。
  2. 請求項1に記載のデジタルデータ処理装置であって、
    前記アドレス算出部は、
    前記フレーム数算出部が前記第1のデータサイズを有するフレーム数と前記第2のデータサイズを有するフレーム数との両方を算出する場合、前記第1のアドレスと、前記第1及び前記第2のデータサイズと、前記フレーム数算出部の算出結果と、に基づいて前記第2アドレスを算出し、前記フレーム数算出部が前記第1のデータサイズを有するフレーム数と前記第2のデータサイズを有するフレーム数との何れか一方を算出する場合、前記第1のアドレスと、前記第1及び前記第2のデータサイズと、前記フレーム数算出部の算出結果と、前記フレーム数の個数nと、に基づいて前記第2アドレスを算出すること、
    を特徴とするデジタルデータ処理装置。
  3. 請求項2に記載のデジタルデータ処理装置であって、
    前記デジタルデータは、
    所定のサンプリング周期毎に前記符号化部に入力されるデータであり、
    前記フレームは、
    所定のサンプル数の前記デジタルデータに基づいて生成され、
    前記符号化部は、
    前記符号化データのビットレートが前記所定のビットレートとなるよう、前記サンプリング周波数と、前記所定のサンプル数と、前記所定のビットレートとに基づいて定まる比率で前記第1及び第2のデータサイズのフレームを生成し、
    前記フレーム数算出部は、
    前記比率に基づいて、前記n個の前記フレームのうち、前記第1のデータサイズを有するフレーム数及び、前記第2のデータサイズを有するフレーム数の少なくとも何れか一方のフレーム数を算出すること、
    を特徴とするデジタルデータ処理装置。
  4. 請求項3に記載のデジタルデータ処理装置であって、
    前記フレーム数算出部は、
    前記サンプリング周波数と、前記所定のサンプル数と、前記所定のビットレートとに基づいて、前記第1及び第2のデータサイズのフレームのうち、前記第2のデータサイズのフレームが生成される割合を算出する割合算出部と、
    前記割合を前記フレーム数の個数nに乗算して、前記n個のフレームのうち前記第2のデータサイズのフレーム数を算出する乗算部と、
    を含むことを特徴とするデジタルデータ処理装置。
  5. 請求項4に記載のデジタルデータ処理装置であって、
    前記割合算出部は、
    前記所定のサンプル数と前記所定のビットレートとの積を、前記サンプリング周期で除算した際の剰余を算出する剰余算出部と、
    前記剰余を前記サンプリング周期で除算した除算結果に基づいて、前記割合を算出する除算部と、
    を含むことを特徴とするデジタルデータ処理装置。
  6. 請求項4または請求項5に記載のデジタルデータ処理装置であって、
    前記アドレス算出部は、
    前記第1のデータサイズ及び前記第2のデータサイズの差と前記第2のデータサイズを有するフレーム数との積と、前記第1のデータサイズ及び前記フレーム数の個数nの積とを、前記第1のアドレスに対して加算することにより前記第2のアドレスを算出すること、
    を特徴とするデジタルデータ処理装置。
JP2009131358A 2009-05-29 2009-05-29 デジタルデータ処理装置 Pending JP2010276992A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009131358A JP2010276992A (ja) 2009-05-29 2009-05-29 デジタルデータ処理装置
EP10164248A EP2256734B1 (en) 2009-05-29 2010-05-28 Digital data processing apparatus for direct access to audio frames with different sizes
US12/790,175 US20100305731A1 (en) 2009-05-29 2010-05-28 Digital data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009131358A JP2010276992A (ja) 2009-05-29 2009-05-29 デジタルデータ処理装置

Publications (1)

Publication Number Publication Date
JP2010276992A true JP2010276992A (ja) 2010-12-09

Family

ID=42646349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009131358A Pending JP2010276992A (ja) 2009-05-29 2009-05-29 デジタルデータ処理装置

Country Status (3)

Country Link
US (1) US20100305731A1 (ja)
EP (1) EP2256734B1 (ja)
JP (1) JP2010276992A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103561174A (zh) * 2013-11-05 2014-02-05 英华达(南京)科技有限公司 一种提高信噪比的方法和系统
CN110083221A (zh) * 2014-06-09 2019-08-02 威盛电子股份有限公司 电子装置及音频播放方法
CN110806909A (zh) * 2019-11-01 2020-02-18 北京金山安全软件有限公司 一种应用程序页面掉帧信息确定方法、装置及电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008185769A (ja) * 2007-01-30 2008-08-14 Oki Electric Ind Co Ltd 圧縮オーディオ再生装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289308B1 (en) * 1990-06-01 2001-09-11 U.S. Philips Corporation Encoded wideband digital transmission signal and record carrier recorded with such a signal
JP2658896B2 (ja) * 1994-09-02 1997-09-30 日本電気株式会社 同期回路
US7058376B2 (en) * 1999-01-27 2006-06-06 Logan James D Radio receiving, recording and playback system
JP3450280B2 (ja) 2000-07-27 2003-09-22 エヌイーシーマイクロシステム株式会社 圧縮オーディオ信号再生装置
CN1463441A (zh) * 2001-04-20 2003-12-24 皇家菲利浦电子有限公司 Mp3的特技播放
JP2003006992A (ja) * 2001-06-26 2003-01-10 Pioneer Electronic Corp 情報再生方法及び情報再生装置
KR100546398B1 (ko) * 2003-11-25 2006-01-26 삼성전자주식회사 압축된 오디오 비트스트림에서 싱크 워드를 찾는 방법 및상기 방법을 기록한 기록 매체
US7925364B2 (en) * 2004-05-31 2011-04-12 Panasonic Corporation Audio reproduction device
JP2008135135A (ja) * 2006-11-29 2008-06-12 Matsushita Electric Ind Co Ltd データ管理方法およびテーブル作成方法、データ管理装置、データ管理プログラムならびにこれを利用したデジタル音響機器
JP2009223929A (ja) * 2008-03-13 2009-10-01 Sanyo Electric Co Ltd デジタルデータ再生装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008185769A (ja) * 2007-01-30 2008-08-14 Oki Electric Ind Co Ltd 圧縮オーディオ再生装置

Also Published As

Publication number Publication date
EP2256734B1 (en) 2012-08-29
US20100305731A1 (en) 2010-12-02
EP2256734A1 (en) 2010-12-01

Similar Documents

Publication Publication Date Title
CN105679345B (zh) 一种音频处理方法及电子设备
US11050971B2 (en) Pulse code modulation (PCM) data-marking
JP2010276992A (ja) デジタルデータ処理装置
JP6286554B2 (ja) 低演算資源を用いて符号化済みオーディオ信号を復号化する装置及び方法
JP2006221714A (ja) 符号化ディジタルオーディオ再生装置
JP2008097186A (ja) クロック供給装置、クロック供給方法、ストリーム処理装置
JP2010522348A (ja) オーディオ信号のエンコーディング方法及び装置、そしてオーディオ信号のデコーディング方法及び装置
JP5036353B2 (ja) データ再生装置及びデータ再生方法
JP2008152840A (ja) 記録再生装置
KR101403719B1 (ko) 파일 변환이 가능한 오디오 시스템 및 방법
JP2008197199A (ja) オーディオ符号化装置及びオーディオ復号化装置
JP2010078984A (ja) 楽曲抽出装置および楽曲記録装置
JP2010074823A (ja) 録画編集装置
US20090235039A1 (en) Digital Data Reproducing Apparatus
JP2005149608A (ja) 音声データ記録/再生システムとその音声データ記録媒体
JP2008047223A (ja) オーディオ再生回路
JP2008298942A (ja) デジタル音声処理装置及びデジタル音声処理プログラム
JP6005910B2 (ja) 音響装置
KR101619878B1 (ko) I2s 전송 방식을 이용하여 dsd 오디오 파일을 재생하기 위한 장치 및 그 방법
EP2149881A1 (en) Signal processing device
JP2007057584A (ja) オーディオ装置および音響効果設定方法
KR20140131735A (ko) 미니 오디오 기기에서의 고품질 음원을 재생하는 방법
JP2009099183A (ja) デジタルコンテンツ処理装置、方法及びプログラム
JP2008209578A (ja) 記録装置、デジタルデータ記録方法及びプログラム
JP2010068416A (ja) 標本化周波数変換装置、および、信号再生装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110613

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120501

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130115

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20130212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130329

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130723