(57)【特許請求の範囲】
【請求項１】
バスを介してメモリに接続され、外部から取り込んだアナログ信号を指定されたサンプリング周波数で符号化し、この符号化により得られるＰＣＭデータを前記バスを介して前記メモリに供給する処理と、前記バスを介して前記メモリからＰＣＭデータを順次取り込み、該ＰＣＭデータを、指定されたサンプリング周波数でアナログ信号に変換して外部へ出力する処理を行う符復号装置において、
外部から取り込んだアナログ信号を符号化して得たＰＣＭデータを蓄積するための第１のバッファ手段と、
前記メモリから取り込んだ、アナログ信号に変換すべきＰＣＭデータを蓄積するための第２のバッファ手段と、
前記第１のバッファ手段に蓄積されたＰＣＭデータを前記メモリに供給する場合には、前記バスに接続されたＣＰＵが前記メモリに所定サイズのメモリブロックを確保した後、前記第１のバッファ手段に所定量のＰＣＭデータが蓄積される毎に前記バスの使用権を獲得し、前記第１のバッファ手段に所定量の空きエリアが確保されるまで前記第１のバッファ手段からＰＣＭデータを読み出して前記バスを介して前記メモリブロックへ転送し、前記バスの使用権を解放する処理を繰り返すとともに、前記メモリブロックがＰＣＭデータにより満たされると、前記ＣＰＵに新たなメモリブロックの確保を要求する割込信号を送る一方、
前記第２のバッファ手段に蓄積されたＰＣＭデータをアナログ信号に変換して外部へ出力する場合には、前記バスに接続されたＣＰＵが前記メモリに所定サイズのメモリブロックを確保して当該メモリブロックにＰＣＭデータを格納した後、前記第２のバッファ手段に所定量の空きエリアが確保される毎に前記バスの使用権を獲得し、前記第２のバッファ手段に所定量のＰＣＭデータが蓄積されるまで前記メモリブロックからＰＣＭデータを読み出して前記バスを介して前記第２のバッファ手段に転送し、前記バスの使用権を解放する処理を繰り返すとともに、前記メモリブロック内のＰＣＭデータが全て読み出されると、新たなＰＣＭデータを前記メモリブロックに格納するよう前記ＣＰＵに要求する割込信号を送るバスコントローラと
を具備することを特徴とする符復号装置。
【請求項２】
前記バスコントローラは、前記第２のバッファ手段に蓄積されたＰＣＭデータをアナログ信号に変換して外部へ出力する場合には、前記確保されたメモリブロックの開始アドレスとその範囲を示す情報とを前記ＣＰＵから取得し、当該取得した開始アドレスとその範囲を示す情報とに基づいて前記メモリブロックからＰＣＭデータを読み出すことを特徴とする請求項１記載の符復号装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、音声信号等の比較的長時間に亙る信号の符復号処理に好適な符復号装置に関する。
【０００２】
【従来の技術】
現在、各種の分野においてマルチメディア化が進められており、ユーザに提供する情報の種類の豊富化、情報の提供形態の豊富化が図られている。パーソナルコンピュータ等の機器に関しても、古くからＰＣＭ音源等を搭載したものが各種提供されていたが、最近では、楽音のみならず、人の音声や音楽等を再生あるいは記録する機能を備えたものが提供されている。ここで、人の声や音楽等は、楽音などに比較すると持続時間が極めて長いため、記録・再生のための専用のハードウェアをパーソナルコンピュータ等に搭載することとなる。
【０００３】
図２はかかるハードウェアをパーソナルコンピュータに適用した例を示すものである。この図において、１はパーソナルコンピュータのＣＰＵ、２はＲＡＭ等によるメモリ、３はＣＯＤＥＣ（Ｃｏｄｅｒ−Ｄｅｃｏｄｅｒ；符復号装置）、４はＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）、５は以上の各部を接続するバスである。
【０００４】
このパーソナルコンピュータでは、メモリ２内に確保された所定サイズの記憶エリアをバッファとして使用し、ハードディスク装置（図示略）等から再生されたＰＣＭ音声データをＣＯＤＥＣ３を介して連続的なアナログ信号に変換して出力する処理あるいは逆に外部からのアナログ信号をＣＯＤＥＣ３によってＰＣＭ音声データに変換し、ハードディスク装置等に格納する処理を実行することが可能である。
【０００５】
ＣＯＤＥＣ３は、マイクロホン等の入力装置（図示略）を介して得られる外界の音のアナログ音声信号をサンプリングすると共にＰＣＭ符号化し、ＰＣＭ音声データとしてパーソナルコンピュータ内部へ取り込む符号化処理と、パーソナルコンピュータ内部で生成されたＰＣＭ音声データをアナログ音声信号に変換し、スピーカ等の出力装置へ供給する復号処理を行う手段である。
【０００６】
この符号化処理および復号処理は、メモリ２およびＣＯＤＥＣ３間のＰＣＭ音声データの伝送とは全く非同期に一定のサンプリング周波数のクロックに従って連続的に行う必要がある。このため、ＣＯＤＥＣ３には、符号化処理あるいは復号処理とＣＯＤＥＣ３に対するＰＣＭ音声データの入出力動作とのタイミング上のずれを吸収するためのバッファが内蔵されている。
【０００７】
また、ＣＯＤＥＣ３とメモリ２との間のＰＣＭ音声データの伝送はＤＭＡ転送により行われる。このＤＭＡ転送はＤＭＡＣ４の制御下で行われる。
【０００８】
このような構成において、外部へ音声を出力する処理は次のようにして行われる。まず、ＣＰＵ１により、例えばハードディスク装置から所定量のＰＣＭ音声データが読み出されてメモリ２に格納され、このＰＣＭ音声データのメモリ２における格納開始アドレス、データサイズ等、ＤＭＡ転送の制御に必要な情報がＤＭＡＣ４に設定される。また、ＣＰＵ１により、ＰＣＭ音声データをＤ／Ａ変換する際のサンプリング周波数等、復号処理の制御に必要な情報がＣＯＤＥＣ３に設定される。
【０００９】
以上の初期設定が完了すると、ＤＭＡ転送が開始される。すなわち、ＤＭＡＣ４により、メモリ２内のＰＣＭ音声データが先頭のものから順に１バイトずつ読み出されてＣＯＤＥＣ３に供給される。この結果、ＣＯＤＥＣ３のバッファ内がＰＣＭ音声データによって満たされる。そして、ＣＯＤＥＣ３では、上記初期設定により設定されたサンプリング周波数のクロックが発生され、このクロックに同期し、バッファ内のＰＣＭ音声データがアナログ音声信号に順次変換され、外部へ出力される。バッファ内の未処理のＰＣＭ音声データが残り少なくなると、ＣＯＤＥＣ３からＤＭＡＣ４へその旨を示す信号が送られる。この結果、ＤＭＡＣ４により新たなＰＣＭ音声データがメモリ２から読み出され、ＣＯＤＥＣ３に供給される。以後、同様に、ＣＯＤＥＣ３のバッファ内のＰＣＭ音声データが残り少なくなる毎にメモリ２からＣＯＤＥＣ３へのＰＣＭ音声データのＤＭＡ転送が行われる。
【００１０】
メモリ２内のＰＣＭ音声データのＤＭＡ転送が終了すると、ＤＭＡＣ４からＣＰＵ１に割込信号が送られる。この結果、ＣＰＵ１により、再び所定量のＰＣＭ音声データがメモリ２に格納され、ＤＭＡ転送の制御に必要な情報がＤＭＡＣ４に設定される。そして、上述と同様、ＰＣＭ音声データのＤＭＡ転送が行われ、このＰＣＭ音声データが一定のサンプリング周波数でアナログ音声信号に変換される。以上の動作が繰り返されることにより、長時間に及ぶ音声が再生される。
【００１１】
一方、外部から取り込んだ音声をＰＣＭ音声データとしてハードディスク装置等に格納する処理は、次のようにして行われる。まず、上述と同様、メモリ２内の所定サイズの記憶エリアがＰＣＭ音声データを一時記憶するためのバッファとして使用されるが、この記憶エリアを指定する情報がＤＭＡＣ４に設定される。また、上述と同様にＣＯＤＥＣ３の初期設定が行われる。
【００１２】
そして、初期設定が完了すると、ＣＯＤＥＣ３では、上記初期設定により設定されたサンプリング周波数のクロックが発生され、このクロックに同期し、外部からのアナログ音声信号がＰＣＭ音声データに順次変換され、バッファ内に蓄積される。そして、バッファ内に所定量のＰＣＭ音声データが溜まると、ＣＯＤＥＣ３からＤＭＡＣ４へその旨を示す信号が送られる。この結果、ＤＭＡＣ４によりＣＯＤＥＣ３のバッファ内のＰＣＭ音声データが読み出され、メモリ２にＤＭＡ転送される。以後、同様に、ＣＯＤＥＣ３のバッファ内に所定量のＰＣＭ音声データが溜まる毎にＣＯＤＥＣ３からメモリ２へのＰＣＭ音声データのＤＭＡ転送が行われる。
【００１３】
メモリ２内のＰＣＭ音声データ用の記憶エリアがＰＣＭ音声データによって満たされると、ＤＭＡＣ４からＣＰＵ１に割込信号が送られる。この結果、ＣＰＵ１により、メモリ２内のＰＣＭ音声データが読み出され、ハードディスク装置等に送られる。そして、上述と同様、ＰＣＭ音声データのＤＭＡ転送が行われる。以上の動作が繰り返されることにより、長時間に及ぶ音声がハードディスク装置等に録音される。
【００１４】
【発明が解決しようとする課題】
ところで、上述した従来の技術のうちＤＭＡＣを使用したものは、システムが複雑であるためコストが嵩むという問題があった。また、ＣＯＤＥＣとＤＭＡＣとの間で制御信号の授受を行うことにより、ＤＭＡＣによるＰＣＭ音声データのＤＭＡ転送を行っていたため、制御が複雑であると同時に非効率的であるという問題があった。
【００１５】
この発明は、以上説明した事情に鑑みてなされたものであり、効率的に外部との間の情報の授受および該情報についての符復号処理を行うことができる符復号装置を提供することを目的としている。
【００１６】
【課題を解決するための手段】
請求項１に係る発明は、バスを介してメモリに接続され、外部から取り込んだアナログ信号を指定されたサンプリング周波数で符号化し、この符号化により得られるＰＣＭデータを前記バスを介して前記メモリに供給する処理と、前記バスを介して前記メモリからＰＣＭデータを順次取り込み、該ＰＣＭデータを、指定されたサンプリング周波数でアナログ信号に変換して外部へ出力する処理を行う符復号装置において、
外部から取り込んだアナログ信号を符号化して得たＰＣＭデータを蓄積するための第１のバッファ手段と、
前記メモリから取り込んだ、アナログ信号に変換すべきＰＣＭデータを蓄積するための第２のバッファ手段と、
前記第１のバッファ手段に蓄積されたＰＣＭデータを前記メモリに供給する場合には、前記バスに接続されたＣＰＵが前記メモリに所定サイズのメモリブロックを確保した後、前記第１のバッファ手段に所定量のＰＣＭデータが蓄積される毎に前記バスの使用権を獲得し、前記第１のバッファ手段に所定量の空きエリアが確保されるまで前記第１のバッファ手段からＰＣＭデータを読み出して前記バスを介して前記メモリブロックへ転送し、前記バスの使用権を解放する処理を繰り返すとともに、前記メモリブロックがＰＣＭデータにより満たされると、前記ＣＰＵに新たなメモリブロックの確保を要求する割込信号を送る一方、
前記第２のバッファ手段に蓄積されたＰＣＭデータをアナログ信号に変換して外部へ出力する場合には、前記バスに接続されたＣＰＵが前記メモリに所定サイズのメモリブロックを確保して当該メモリブロックにＰＣＭデータを格納した後、前記第２のバッファ手段に所定量の空きエリアが確保される毎に前記バスの使用権を獲得し、前記第２のバッファ手段に所定量のＰＣＭデータが蓄積されるまで前記メモリブロックからＰＣＭデータを読み出して前記バスを介して前記第２のバッファ手段に転送し、前記バスの使用権を解放する処理を繰り返すとともに、前記メモリブロック内のＰＣＭデータが全て読み出されると、新たなＰＣＭデータを前記メモリブロックに格納するよう前記ＣＰＵに要求する割込信号を送るバスコントローラとを具備することを特徴とする符復号装置を要旨とする。
【００１７】
請求項２に係る発明は、前記バスコントローラは、前記第２のバッファ手段に蓄積されたＰＣＭデータをアナログ信号に変換して外部へ出力する場合には、前記確保されたメモリブロックの開始アドレスとその範囲を示す情報とを前記ＣＰＵから取得し、当該取得した開始アドレスとその範囲を示す情報とに基づいて前記メモリブロックからＰＣＭデータを読み出すことを特徴とする請求項１記載の符復号装置を要旨とする。
【００１９】
【発明の実施の形態】
以下、本発明を更に理解しやすくするため、実施の形態について説明する。
かかる実施の形態は、本発明の一態様を示すものであり、この発明を限定するものではなく、本発明の範囲で任意に変更可能である。
【００２０】
図１はこの発明の一実施形態であるＣＯＤＥＣ３ａを使用したパーソナルコンピュータの構成を示すブロック図である。本実施形態は、上記図２に示す構成においてＤＭＡＣ４を取り除き、ＣＯＤＥＣ３の代りにＣＯＤＥＣ３ａを使用した構成となっている。このＣＯＤＥＣ３ａは、ＣＰＵインタフェース３１、バスコントローラ３２、再生ＦＩＦＯ３３、録音ＦＩＦＯ３４、Ｄ／Ａ変換器３５およびＡ／Ｄ変換器３６により構成されている。
【００２１】
上述した図２の構成では、アドレス情報の発生等、メモリ２をアクセスするための制御はＤＭＡＣ４により行われ、一方、外部の装置との間のアナログ音声信号の授受、符号化処理および復号処理はＣＯＤＥＣ３により行われるため、メモリ２に対するアクセスとＣＯＤＥＣ３内での処理とが歩調を合わせて進行するようにＤＭＡＣ４とＣＯＤＥＣ３との間で頻繁に制御情報の授受を行う必要があった。しかしながら、本実施形態では、これらの各処理はすべてＣＯＤＥＣ３ａによって行われ、各処理の制御はバスコントローラ３２により行われる。また、本実施形態では、バス５として、ＰＣＩバス等の高速バスを使用する。
【００２２】
以下、本実施形態の動作を説明する。まず、外部へ音声を出力する場合、ＣＰＵ１により、メモリ２内の所定サイズのメモリブロックが確保される。そして、ハードディスク装置等から所定量のＰＣＭ音声データが読み出され、このメモリブロックに格納される。次にＣＰＵ１により、上記メモリブロックの開始アドレス、範囲およびＰＣＭ音声データのデータビット数、Ｄ／Ａ変換をする際のサンプリング周波数等の情報が出力され、これらの情報がＣＯＤＥＣ３ａ内のＣＰＵインタフェース３１を介しバスコントローラ３２に設定される。
【００２３】
この初期設定が完了すると、バスコントローラ３２により、バス５の使用権が獲得される。そして、上記開始アドレスを初期値として読み出しアドレスが順次出力され、上記メモリブロック内のＰＣＭ音声データが先頭のものから順に１バイトずつ読み出される。この読み出された一連のＰＣＭ音声データはバス５を介して再生ＦＩＦＯ３３に蓄積される。一定量のＰＣＭ音声データの蓄積が完了すると、バス５は解放される。一方、バスコントローラ３２により、上記初期設定により設定されたサンプリング周波数を有するサンプリングクロックが発生される。そして、このサンプリングクロックに同期し、再生ＦＩＦＯ３３からＰＣＭ音声データが取り出され、Ｄ／Ａ変換器３５によってアナログ音声信号に変換され、外部の装置へ出力される。この出力動作が進められることにより、再生ＦＩＦＯ３３内に蓄積されたＰＣＭ音声データの数が減ってゆくこととなるが、再生ＦＩＦＯ３３内の空き状況はバスコントローラ３２により監視される。そして、再生ＦＩＦＯ３３内に一定の空きエリアが生じると、バスコントローラ３２により、再び上記メモリブロックからＰＣＭ音声データが読み出され、再生ＦＩＦＯ３３に補充される。以下、同様に、再生ＦＩＦＯ３３内に一定の空きエリアが生じる毎に、メモリブロックからＰＣＭ音声データが読み出され、再生ＦＩＦＯ３３に補充される。
【００２４】
メモリ２内のＰＣＭ音声データがすべて読み出されると、バスコントローラ３２からＣＰＵインタフェース３１を介してＣＰＵ１へ割込信号が送られる。この結果、再び所定量のＰＣＭ音声データがメモリ２内のメモリブロックに格納され、メモリブロックの開始アドレス、範囲等の情報がバスコントローラ３２に設定される。そして、上述と同様、ＰＣＭ音声データの再生ＦＩＦＯ３３への供給が行われ、このＰＣＭ音声データが一定のサンプリング周波数でアナログ音声信号に変換される。以上の動作が繰り返されることにより、長時間に及ぶ音声が再生される。
【００２５】
一方、外部から取り込んだ音声をＰＣＭ音声データとしてハードディスク装置等に格納する処理は、次のようにして行われる。まず、ＣＰＵ１により、メモリ２内の所定サイズのメモリブロックがＰＣＭ音声データを一時記憶するためのバッファとして確保される。そして、このメモリブロックの開始アドレス、範囲を指定する情報およびＰＣＭ音声データのビット数、Ａ／Ｄ変換の際のサンプリング周波数を指定する情報が出力され、ＣＯＤＥＣ３ａ内のバスコントローラ３２に初期設定される。
【００２６】
そして、初期設定が完了すると、上記初期設定により設定されたサンプリング周波数のサンプリングクロックがバスコントローラ３２により発生される。Ａ／Ｄ変換器３６では、このサンプリングクロックに同期し、外部からのアナログ音声信号がＰＣＭ音声データに順次変換され、録音ＦＩＦＯ３４に蓄積される。そして、録音ＦＩＦＯ３４内に所定量のＰＣＭ音声データが溜まると、バスコントローラ３２によりバス５の使用権が獲得される。そして、録音ＦＩＦＯ３４内のＰＣＭ音声データが読み出され、バス５を介して上記メモリブロックに順次書き込まれる。録音ＦＩＦＯ３４内に一定の空きエリアが確保されると、メモリブロックに対するＰＣＭ音声データの供給が停止され、バス５が解放される。以後、同様に、録音ＦＩＦＯ３４内に所定量のＰＣＭ音声データが溜まる毎に、バスコントローラ３２によって録音ＦＩＦＯ３４からＰＣＭ音声データが読み出され、メモリブロックに格納される。
【００２７】
上記メモリブロックがＰＣＭ音声データによって満たされると、バスコントローラ３２からＣＰＵインタフェース３１を介してＣＰＵ１に割込信号が送られる。この結果、ＣＰＵ１により、新たな別のメモリブロックが確保され、このメモリブロックの開始アドレス、範囲を指定する情報がバスコントローラ３２に設定される。そして、以後は、この新たに確保されたメモリブロックに録音ＦＩＦＯ３４から読み出されるＰＣＭ音声データが格納される。この新たなメモリブロックへのＰＣＭ音声データの格納が行われる間に、それまでに使用されていたメモリブロックからＰＣＭ音声データが読み出され、ハードディスク装置等に格納される。新たに確保されたメモリブロックがＰＣＭ音声データによって満たされた場合には、再びメモリブロックの確保が行われ、上述の動作が繰り返される。
【００２８】
以上、ＣＯＤＥＣ３ａ内に再生ＦＩＦＯおよび録音ＦＩＦＯを設けた構成を例に説明したが、これらのＦＩＦＯを設けず、サンプリングクロックが発生される毎にメモリ２とＤ／Ａ変換器３５またはＡ／Ｄ変換器３６との間でＰＣＭ音声データの授受を行うようにしてもよい。ただし、この構成の場合、ＰＣＭ音声データの授受を１回行う毎に、バスの使用権の獲得等の制御が必要となり、データ転送をすることができない無駄な時間が生じてしまう。また、他のデバイスがバスを長時間使用した場合に、バスコントローラ３２がバスの使用権を獲得できず、メモリ内のＰＣＭ音声データのうち一部が読み出されなかったり（アンダーラン）、ＣＯＤＥＣ３ａによって発生されたＰＣＭ音声データの一部がメモリに書き込まれなかったりするおそれがある（オーバーラン）。従って、バスの使用効率、再生・録音の動作を確実なものにするためには、ＦＩＦＯを設けた構成の方が望ましい。
【００２９】
以上、本発明をＰＣＭ音声データの再生・録音機能の両方に適用した実施形態について説明したが、再生機能のみに適用してもよい。すなわち、ＰＣＭ音声データをアナログ信号に変換して外部に出力する際に、バスコントローラによる制御の下、バスの使用権を獲得し、このバスを介して変換対象たるＰＣＭ音声データを取得するようにしてもよい。この場合、メモリから読み出されるＰＣＭ音声データのみならず、ＣＰＵがソフトウェアを実行することにより生成されるＰＣＭ音声データをも含めて上記バスコントローラによる制御下で取得するようにすると効果的である。
【００３０】
【発明の効果】
以上説明したように、この発明によれば、符号化処理、復号処理に伴って必要となるバスの使用権の獲得、メモリとの間のＰＣＭデータの授受が、すべて符復号装置内のバスコントローラの制御の下で行われるため、制御に無駄がなく、効率的に符号化処理、復号処理およびＰＣＭデータの記憶・再生を行うことができるという効果がある。また、ＤＭＡＣを別途設ける必要がないため、装置全体のコストを低減することができるという効果がある。
【図面の簡単な説明】
【図１】この発明の一実施形態であるＣＯＤＥＣを使用したパーソナルコンピュータの構成を示すブロック図である。
【図２】従来の技術を示す図である。
【符号の説明】
１……ＣＰＵ、２……メモリ、５……バス、
３ａ……ＣＯＤＥＣ（符復号装置）、３１……ＣＰＵインタフェース、
３２……バスコントローラ、３３……再生ＦＩＦＯ（バッファ手段）、
３４……録音ＦＩＦＯ（バッファ手段）、
３５……Ｄ／Ａ変換器、３６……Ａ／Ｄ変換器。
【図１】
0003569592.tif 000002
【図２】
0003569592.tif 000003