JP2005284034A - 音声復号装置 - Google Patents

音声復号装置 Download PDF

Info

Publication number
JP2005284034A
JP2005284034A JP2004099095A JP2004099095A JP2005284034A JP 2005284034 A JP2005284034 A JP 2005284034A JP 2004099095 A JP2004099095 A JP 2004099095A JP 2004099095 A JP2004099095 A JP 2004099095A JP 2005284034 A JP2005284034 A JP 2005284034A
Authority
JP
Japan
Prior art keywords
pcm
data
transfer
decoding
buffers
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
JP2004099095A
Other languages
English (en)
Inventor
Takeshi Ando
毅志 安藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004099095A priority Critical patent/JP2005284034A/ja
Publication of JP2005284034A publication Critical patent/JP2005284034A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】 簡単な処理で処理能力不足から発生する無音期間をなくして聴覚上耳障りな音の発生を抑制する。
【解決手段】 転送部13により送出された転送完了割り込み信号を制御処理部11が受信した際に、処理可能な圧縮符号化された音声信号があるにも係わらず、記憶部12が枯渇した場合には、転送部13による復号されたデータの転送を停止するのではなく、直前のフレームのデータを転送部13で読み出し、再転送させる。
【選択図】 図1

Description

本発明は音声復号装置に関し、特にMPEG(Moving Picture Coding Experts Group)などの高圧縮率の符号化で生成されたオーディオストリームを復号(デコード)する音声復号装置に関する。
近年、DVD(Digital Versatile Disc)プレーヤ、デジタルTV、DVDレコーダなど、高圧縮率の符号化で生成されたVideo/Audioのストリームを復号する装置が開発されている。特に、オーディオストリームは、符号化の種類が数多く存在し、より緻密なハードウェアの規模と性能のトレードオフが要求されている。
従来の音声復号装置は、一般的にDSP(Digital Signal Processor)やCPU(Central Processing Unit)で動作するソフトと、それを補助するハードウェアで構成される。圧縮符号化されたオーディオストリームは、フレームという一定時間を基準にした単位で処理される。オーディオを圧縮する符号化方式やサンプリングレートによって異なるが、通常20〜50msほどである。
例えば、MPEG2 AAC(Advanced Audio Codec) Audioで、2ch(チャンネル)、サンプリング周波数fs=48kHzの場合は次のようになる。
1フレーム=1024サンプル/ch=1024×2ch×2byte=4096byte
1フレーム時間=(1/fs)×1024サンプル=(1/48000)×1024sample=21.33ms
図8は、従来の音声復号装置の構成図である。
従来の音声復号装置500は、オーディオストリームをデコードするCPU501と、RAM(Random Access Memory)510と、外部からオーディオストリームを入力するストリーム入力回路502と、RAM510に対し、DMA(Direct Memory Access)転送を行うストリーム入力DMA転送回路503と、デコードによって得られたPCM(Pulse Code Modulation)データをRAM510から読み出し、転送するPCM出力DMA転送回路504と、PCMデータを出力するPCM出力回路505と、を有している。
以下従来の音声復号装置500の動作を説明する。
オーディオストリームはストリーム入力回路502に入力されると、ストリーム入力DMA転送回路503によって転送され、RAM510上のES(Elementary Stream)バッファ511a、511bへ格納される。ESバッファ511a、511bは、ダブルバッファ構成である。ストリーム入力DMA転送回路503は、一方のESバッファ511a、511bに1ES分のオーディオストリームが格納されてDMA転送が完了するごとに、ストリーム入力DMA転送完了割り込み信号を送出し、CPU501へ転送完了を通知する。
CPU501は、ストリーム入力DMA転送完了割り込み信号を受信すると、オーディオストリームを格納するESバッファ511a、511bを切替え、1ES分のオーディオストリームの格納を完了したESバッファ511a、511bからはオーディオストリームを読み出す。そしてこれをデコードし、デコードして得られたPCMデータをPCMバッファ512a、512bへフレーム単位で随時格納する。なお、PCMバッファ512a、512bもダブルバッファ構成となっている。PCM出力DMA転送回路504は、PCMバッファ512a、512bに格納されたPCMデータをPCM出力回路505に転送する。PCM出力DMA転送回路504は、一方のPCMバッファ512a、512bのDMA転送が完了するごとに、PCM出力DMA転送完了割り込み信号を送出してCPU501へ転送完了を通知する。なお、PCMバッファ512a、512bのそれぞれにL(Left)−ch用、R(Right)−ch用のPCMデータが含まれている。
CPU501は、PCM出力DMA転送完了割り込み信号を受信すると、PCM出力DMA転送回路504が読み出すPCMバッファ512a、512bを切替える。
このようにオーディオストリームの入力やPCMデータの出力といった時間的に制約のある処理はDMA転送にてCPU501の介在なく行われることが一般的である。
図9は、各バッファのバッファリング関係を示した図である。
ここでは、ストリーム入力DMA転送回路503によるストリーム入力DMA処理、CPU501によるデコード処理、及びPCM出力DMA転送回路504によるPCM出力DMA処理の際の、ESバッファ511a、511b、PCMバッファ512a、512bのバッファリングについて示している。なお、図中では、それぞれダブルバッファ構成であるESバッファ511a、511b、PCMバッファ512a、512bの一方を“Bank1”、他方を“Bank2”と示している。また“W”は書き込み(Write)、“R”は読み出し(Read)を示している。
デコード処理が開始されると、まず、ストリーム入力DMA転送回路503から、1ES分のオーディオストリームがBank1のESバッファ(ここでは例としてESバッファ511aとする)に書き込まれる。次の期間ではBank1のESバッファ511aに書き込まれた1ES分のオーディオストリームがCPU501によって読み出されてデコード処理が行われ、Bank1のPCMバッファ(ここでは例としてPCMバッファ512aとする)に書き込まれる。また、同一期間にBank2のESバッファ511bにオーディオストリームが書き込まれる。
次の期間Aにおいては、ストリーム入力DMA転送回路503は、Bank1のESバッファ511aにオーディオストリームを書き込む。その同一期間で、CPU501は、Bank2のESバッファ511bからオーディオストリームを読み出し、デコード処理後、Bank2のPCMバッファ512bへ書き込んでいる。さらにPCM出力DMA転送回路504は、Bank1のPCMバッファ511aからPCMデータを読み出し、PCM出力回路505に転送する。このように、ダブルバッファを構成することで、オーディオストリームの入力、デコード、PCMの出力が絶え間なく処理されることになる。CPU501が、この1フレーム時間(例えば、21.33ms)ごとに、オーディオストリームをデコードできない場合は、いずれPCMバッファ512a、512bは枯渇する。
以下、従来の音声復号装置500における割り込み処理を説明する。
図10は、従来の音声復号装置における割り込み処理を示すフローチャートである。
ここでは、説明を簡素化するためにストリーム入力DMA処理に関する部分は省略している。
まず、CPU501は、PCM出力DMA転送完了割り込みか否かを判断し(ステップS50)、PCM出力DMA転送完了割り込みでなければ割り込み処理を終了(リターン)し、PCM出力DMA転送割り込みであった場合には、PCM出力DMA転送完了割り込み信号をクリアし(ステップS51)、PCMバッファ512a、512bのリードポインタを更新(−)する(ステップS52)。具体的には読み出すPCMバッファ512a、512bを切替える。次にCPU501は、読み出すPCMバッファ512a、512bが空か否かを判定し、空でなければPCM出力DMA転送を再起動し(ステップS54)、割り込み処理を終了(リターン)する。PCMバッファ512a、512bが空と判定された場合には、ステップS55の処理に進む。
PCMバッファ512a、512bが空と判定された場合には、CPU501はESバッファ511a、511bに1ES以上のストリームが存在するか否かを判定する(ステップS55)。ここで、1ES以上あれば、CPU501が処理能力不足であることを示す処理能力不足エラーフラグを1にセットし(ステップS56)、1ES以上無ければ、CPU501の処理能力不足ではなくストリームが枯渇しているので、処理能力不足エラーフラグを変更しない。そして、PCMバッファ512a、512bにデータが格納されるまで、DMA転送を一旦停止するためにPCM出力DMA起動済みフラグを0にセットし(ステップS57)、割り込み処理を終了(リターン)する。
このように、従来の音声復号装置500は、PCMバッファ512a、512bがCPU501の処理能力不足で枯渇した場合、DMA転送を一旦停止して、PCMバッファ512a、512bにデータが格納されるまで待つという制御をCPU501が行っていた。その結果、PCM出力回路505からは、0が出力されミュート(無音)されていた。
一方、デコードの際に、訂正不能な誤りがあった場合には、そのフレームのデータを捨てて単にミュートするのではなく、フレームリピートメモリによって、直前の正しいフレームのデータを繰り返し、ノイズの目立たない帯域分割信号を出力する技術が、特許文献1、2に開示されている。
特開平7−87031号公報 特開平7−221713号公報
しかし、処理能力不足でいくらかの無音期間が発生した場合には、これは「ブツブツ」というような聴覚上、耳障りな音が発生するという問題があった。
また、処理能力不足が発生しないように十分にマージンをとると、動作周波数の増加や回路規模増大の問題がある。符号化方式と符号化されるデータによっても異なるが、デコード時間にばらつきが生じる可能性がある。もし、あまり起こりえないある特定の組み合わせのみで処理時間が増大することがわかっていても動作周波数や回路規模をこれに合わせる必要があった。
本発明はこのような点に鑑みてなされたものであり、簡単な処理で、処理能力不足から発生する無音期間をなくして聴覚上耳障りな音の発生を抑制する音声復号装置を提供することを目的とする。
本発明では上記問題を解決するために、圧縮符号化された音声信号を復号する音声復号装置において、図1に示すように、圧縮符号化された音声信号を復号する制御処理部11と、復号されたデータをフレームごとに記憶する記憶部12と、記憶部12から復号されたデータを読み出し転送し、転送が完了した場合にはその旨の割り込み信号(転送完了割り込み信号)を制御処理部11に送出する転送部13と、を有し、制御処理部11は、転送完了割り込み信号の受信時に、処理可能な圧縮符号化された音声信号があるにも係わらず記憶部12が枯渇した場合には、処理能力不足が発生したと判定して直前のフレームの復号されたデータを転送部13で読み出し、再転送させることを特徴とする音声復号装置10が提供される。
上記の構成によれば、転送部13により送出された転送完了割り込み信号を制御処理部11が受信した際に、処理可能な圧縮符号化された音声信号があるにも係わらず、記憶部12が枯渇した場合には、転送部13による復号されたデータの転送を停止するのではなく、直前のフレームの復号されたデータを転送部13で読み出し、再転送させる。
本発明は、転送部により送出された転送完了割り込み信号を制御処理部が受信した際に、処理可能な圧縮符号化された音声信号があるにも係わらず、記憶部が枯渇した場合には、転送部による復号されたデータの転送を停止するのではなく、直前のフレームの復号されたデータを転送部で読み出し、再転送させるので、簡単な処理で、処理能力不足から発生する無音期間をなくして聴覚上耳障りな音の発生を抑制することができる。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は、本発明の実施の形態の音声復号装置の原理を説明する図である。
本発明の実施の形態の音声復号装置10は、制御処理部11と、記憶部12と、転送部13と、出力部14とを有する。
制御処理部11は、圧縮符号化された音声信号を復号してフレーム単位で記憶部12に格納する。そして、転送部13により送出される転送完了割り込み信号の受信時に、次のフレームの復号されたデータを転送部13に読み出させて転送させる。
記憶部12は、制御処理部11で圧縮符号化された音声信号をデコードして得られたデータをフレームごとに記憶する。
転送部13は、記憶部12から復号されたデータを読み出して出力部14に転送し、転送が完了した場合にはその旨の割り込み信号(転送完了割り込み信号)を制御処理部11に送出する。
出力部14は、転送部13を介して転送されたデータを出力する。
以下、音声復号装置10の動作を説明する。
圧縮符号化された音声信号が入力されると、制御処理部11は、これをフレーム単位で復号して随時記憶部12に格納する。転送部13は、記憶部12に格納されたデータを随時読み出して、出力部14に転送して出力させる。転送部13は、1フレーム分のデータの転送が完了した場合に、制御処理部11に転送完了割り込み信号を送出する。これを受けた制御処理部11は次のフレームのデータを転送部13に読み出させて転送させる。具体的には、リードポインタを更新して、次のフレームを転送部13にリードさせるためのアドレスを設定する。
ここで、制御処理部11は、転送完了割り込み信号の受信時に、処理可能な圧縮符号化された音声信号があるにも係わらず記憶部12が枯渇した場合、つまり、デコードが間に合わず、記憶部12に、転送部13が読み出すべき次のフレームがなくなった場合、処理能力不足が発生したと判定して直前のフレームのデータを転送部13に転送させて、出力部14から出力する。具体的には、処理能力不足が発生したときにはリードポインタを更新せず、同じフレームのデータを繰り返して転送させるようにする(詳細は後述する)。
このように、処理能力不足により記憶部12が枯渇した場合には、転送部13によるデータの転送を停止するのではなく、直前のフレームのデータを転送部13に転送させる。これにより、無音期間をなくして聴覚上耳障りな音の発生を抑制することができる。
以下、本発明の実施の形態の詳細を説明する。
図2は、本発明の実施の形態の音声復号装置のハードウェア構成を示す図である。
図のように、音声復号装置100は、オーディオストリームをデコードするCPU101と、RAM110と、外部からオーディオストリームを入力するストリーム入力回路102と、RAM110に対し、DMA転送を行うストリーム入力DMA転送回路103と、デコードによって得られたPCMデータをRAM110から読み出し、転送するPCM出力DMA転送回路104と、PCMデータを出力するPCM出力回路105と、デコード処理に要した時間などを計測するタイマー回路106を有している。
RAM110は、さらに、オーディオストリームを格納するESバッファ111a、111bと、デコードして得られたPCMデータを格納するPCMバッファ112a、112bと、タイマー回路106により計測した時間を保持する時間計測データ領域113と、後述する処理能力不足破綻回避切替えパラメータを保持する処理能力不足破綻回避切替えパラメータ保持領域114と、を有する。
ESバッファ111a、111bは、ダブルバッファ構成であり、一方のバッファにオーディオストリームを書き込む際に、他方のバッファから予め格納したオーディオストリームをCPU101で読み出すことができる。また、PCMバッファ112a、112bも、ダブルバッファ構成であり、一方のバッファに復号して得られたPCMデータを格納する際に、他方のバッファからは、PCM出力DMA転送回路104により予め格納されたPCMデータの読み出しが可能なようになっている(図9で示したバッファリングを参照)。なお、PCMバッファ112a、112bのそれぞれに、L−ch用、R−ch用のPCMデータが格納される。また、CPU101によりリードポインタを更新(−)することによって、読み出すバッファが切替わる。
このように、ダブルバッファを構成することで、オーディオストリームの入力、デコード、PCMデータの出力が絶え間なく処理されることになる。
なお、図2の音声復号装置100において、CPU101は、図1の制御処理部11に相当する機能を果たし、PCMバッファ112a、112bは記憶部12、PCM出力DMA転送回路104は転送部13、PCM出力回路105は出力部14にそれぞれ相当する機能を実現する。
また、CPU101は、タイマー回路106にて計測した復号処理に要した時間を、時間計測データ領域113より参照して、処理能力不足が発生するか否かを予測する機能を有している(詳細は後述する)。タイマー回路106を用いた処理能力不足発生の予測機能を用いるか用いないかは、処理能力不足破綻回避切替えパラメータ保持領域114に格納された処理能力不足破綻回避切替えパラメータ(以下単にパラメータと称する)により決定する。このパラメータは、音声復号装置100のCPU101が行うのではなく、例えば、図示しない外部ホストCPUの制御のもと設定する。
以下、音声復号装置100の動作の概略を説明する。
オーディオストリームは、ストリーム入力回路102に入力されると、ストリーム入力DMA転送回路103によって転送され、RAM110上のESバッファ111a、111bへ格納される。ストリーム入力DMA転送回路103は、ESバッファ111a、111bの一方に1ES分のオーディオストリームが格納されてDMA転送が完了するごとに、ストリーム入力DMA転送完了割り込み信号によってCPU101へ転送完了を通知する。ストリーム入力DMA転送完了割り込み信号を受信すると、CPU101は、ESバッファ111a、111bの他方を指定してオーディオストリームの入力を継続させる。
CPU101は、ストリーム入力DMA転送完了割り込み信号を受信すると、オーディオストリームを格納するESバッファ111a、111bを切替え、1ES分のオーディオストリームの格納を完了したESバッファ111a、111bからはオーディオストリームを読み出す。そしてこれをデコードし、そのデコードして得られたPCMデータをPCMバッファ112a、112bへフレーム単位で随時格納する。PCM出力DMA転送回路104は、PCMバッファ112a、112bに格納されたPCMデータをPCM出力回路105に転送する。PCM出力DMA転送回路104は、一方のPCMバッファ112a、112bのDMA転送が完了するごとに、PCM出力DMA転送完了割り込み信号を送出して、CPU101へ転送完了を通知する。
CPU101は、PCM出力DMA転送完了割り込み信号を受信すると、PCM出力DMA転送回路104が読み出すPCMバッファ112a、112bを切替える。
以下、PCMバッファ112a、112bが枯渇することによる無音期間の発生を防止する、本発明の実施の形態の音声復号装置100における割り込み処理の詳細を説明する。
図3は、本発明の実施の形態の音声復号装置における割り込み処理を示すフローチャートである。
ここでは、説明を簡素化するためにストリーム入力DMA処理に関する部分は省略している。
まず、CPU101は、PCM出力DMA転送完了割り込みか否かを判断し(ステップS10)、PCM出力DMA転送完了割り込みでなければ割り込み処理を終了(リターン)し、PCM出力DMA転送完了割り込みであった場合には、まずPCM出力DMA転送完了割り込み信号をクリアする(ステップS11)。その後CPU101は、次に読み出すPCMバッファ112a、112bが空か否かを判定し、空でなければPCMバッファ112a、112bのリードポインタを更新(−)する(ステップS13)。具体的には読み出すPCMバッファ112a、112bを切替える。そしてPCM出力DMA転送を再起動し(ステップS14)、割り込み処理を終了(リターン)する。一方、PCMバッファ112a、112bが空と判定された場合には、ステップS15の処理に進む。
次に読み出す方のPCMバッファ112a、112bが空と判定された場合には、CPU101はESバッファ111a、111bに1ES以上のストリームが存在するか否かを判定する(ステップS15)。ここで、1ES以上あれば、CPU101が処理能力不足となっていることになるが、本発明の実施の形態では、DMA転送を停止するのではなく、ステップS14に進みPCM出力DMA転送を再起動する。この場合は、リードポインタを更新していないので、同じ側のPCMバッファ112a、112bからPCMデータが繰り返して読み出されることになる。1ES以上無ければ、CPU101の処理能力不足ではなくストリームが枯渇している状態であるので、再び、PCM出力DMA転送完了割り込み信号が入力されても、読み出す側のPCMバッファ112a、112bにデータが格納されるまで、DMA転送を一旦停止するためにPCM出力DMA起動済みフラグを0にセットし(ステップS16)、割り込み処理を終了(リターン)する。
図4は、割り込み処理により出力されるPCM出力波形を示し、(A)が従来の音声復号装置によるPCM出力波形、(B)が本発明の実施の形態の音声復号装置によるPCM出力波形を示す図である。
L−chとR−chの両方のPCM出力波形を示している。また、F1、F2、…、F5はフレーム期間を示している。
図4(A)で示す従来の音声復号装置によるPCM出力波形では、F4のフレーム期間でCPUの処理能力不足が発生して、DMA転送を停止し、無音期間とした場合を示している。この例では、1フレーム時間だけ無音期間となった場合について示しているが、このPCMバッファにPCMデータが満たされるまではこの期間が続く。これにより、従来の音声復号装置では、この無音期間により、「ブツブツ」いうような聴覚上耳障りな音が発生する問題がある。
一方、図4(B)で示す本発明の実施の形態の音声復号装置によるPCM出力波形では、F4のフレーム期間で、PCMバッファ112a、112bがCPU101の処理能力不足で枯渇した場合でも、PCMバッファ112a、112bのリードポインタを更新せずにDMA転送を再起動し、直前のF3のフレーム期間のフレームを繰り返して出力するように制御するので、無音期間を作らず、聴覚上耳障りな音の発生を抑える効果がある。
次に、CPU101の処理能力不足によるPCMバッファ112a、112bの枯渇の発生を抑制するための、音声復号装置100における処理について説明する。つまり、処理能力不足破綻回避切替えパラメータ保持領域114に格納されたパラメータにより、タイマー回路106を用いた処理能力不足発生の予測機能を用いるように設定されている場合の処理である。
図5、図6は、CPUの処理能力不足によるPCMバッファの枯渇の発生を抑制する際の音声復号装置の処理を示すフローチャートである。
ここで示す処理は、音声復号装置100のメイン処理の部分であり、前述した各割り込み信号がCPU101に入力されることによって、適宜、割り込み処理が実行される。なお、このメイン処理のフローチャートでは、コマンド指示などは省略されている。
CPU101は処理を開始すると、まず初期化処理を行う(ステップS20)。その後、各タスクの処理を行う。タスクとはCPUが行う処理の単位であり、オーディオストリームの入力を行うタスク(ストリーム入力DMA転送起動)、デコード処理を行うデコード処理タスク、デコードで得られたPCMデータをPCMバッファ112a、112bへ格納する後処理タスク(アッテネーションやフィルタ処理も必要に応じて行われる)に分担される。各タスクに突入するには、その前でステートをチェックする。また各タスクの開始前後でタイマー回路106によって時間計測が行われる。各タスクの開始でリセットし、タスクの終了時にその計測値が読み取られ、RAM110の時間計測データ領域113に逐次格納される。
具体的には、図5、図6のフローチャートのように、まず、ステートがESバッファ入力か否かを判定する(ステップS21)。ステートがESバッファ入力であれば、ESバッファ111a、111bに書き込む空きがあるか判定したのち(ステップS22)、空きがある場合にはストリーム入力DMA転送起動を行い、オーディオストリームの入力のタスクを行う(ステップS23)。ステートがESバッファ入力でない場合やESバッファ111a、111bに書き込む空きがない場合には、ステップS24の処理に進む。
ステップS24の処理では、ステートがデコード処理か否かを判定する。ステートがデコード処理である場合には、ESバッファ111a、111bに1ES以上のオーディオストリームが格納されているか判定したのち(ステップS25)、1ES以上ある場合にはデコード処理タスクを行う(ステップS26)。ステートがデコード処理でない場合やESバッファ111a、111bに1ES以上ない場合には、ステップS27の処理に進む。
ステップS27の処理では、ステートが後処理か否かを判定する。ステートが後処理である場合には、PCMバッファ112a、112bにPCMデータを書き込む空きがあるか判定する(ステップS28)。ステートが後処理でない場合やPCMバッファ112a、112bに書き込む空きがない場合には、ステップS32の処理に進む。PCMデータを書き込む空きがある場合には、ステップS29の処理に進む。
ステップS29の処理では、CPU101は、時間計測データ領域113を参照して、タスクの合計時間(デコード処理までに要した時間)が、1フレーム時間(例えば、MPEG2 AAC Audioで、2ch、fs=48kHzのサンプリング周波数の場合は21.33ms)を上回り、かつPCMバッファ112a、112bの残容量が1以下(残容量≦1)であるか否かを判定する。ここで残容量が1とは、ダブルバッファ構成であるPCMバッファ112a、112bの一方しかPCMデータが満たされていないことをいう。タスクの合計時間が、1フレーム時間を上回り(すなわち、CPU101の処理能力不足の状態である)かつ、残容量が1以下の場合には、PCMバッファ112a、112bがもうすぐ枯渇すると判断される。なお、両方のPCM112a、112bにPCMデータが満たされた場合には残容量は2となり、両方とも枯渇している状態の場合には残容量は0となる。
ステップS29の処理でタスクの合計時間が1フレーム時間を上回り、かつPCMバッファ112a、112bの残容量が1以下であると判定された場合には、次回のデコード処理タスク(ステップS26)において、省略したデコード処理を行うためにデコード省略フラグを1にセットしたのち(ステップS30)、後処理タスクを行う(ステップS31)。ステップS29の処理で、タスクの合計時間が1フレーム時間内であるか、PCMバッファ112a、112bの残容量が1を上回っている場合には、デコード省略フラグを1にセットせずにステップS31の処理を行う。
ステップS31の後処理タスクを終えると、PCM出力DMA起動済みフラグが0で、かつPCMバッファ112a、112bの残容量が1以上であるか否か判定し(ステップS32)、PCM出力DMA起動済みフラグが0で、かつPCMバッファ112a、112bの残容量が1以上である場合には、PCM出力DMA転送起動処理を行い(ステップS33)、ステップS21からの処理を繰り返し、そうでなければ、PCM出力DMA転送を起動せずに、ステップS21からの処理を繰り返す。このステップS33の処理は、最初のDMA転送をメイン処理から行うための処理である。DMA転送は、このステップS33により一旦起動したら、図3で示したように割り込み処理により再起動する。
図7は、デコード処理の一例を示すフローチャートである。
ここでは、図5のステップS26の処理におけるデコード処理タスクの一例を示している。
デコード処理タスクを開始すると、まず、CPU101はL−chのデコード処理を行う(ステップS40)。次に、デコード省略フラグが1か否かの判定を行う(ステップS41)。デコード省略フラグが1でない場合には、デコード処理を省略する必要がないので、通常通り、R−chのデコード処理を行い(ステップS42)、デコード処理タスクを終了する。一方、デコード省略フラグが1である場合、デコード処理を省略する必要があるので、R−chに、ステップS40の処理で得られたL−chのデコード結果をコピーしてR−chのデコード処理を省略する(ステップS43)。その後、デコード省略フラグを0にセットし(ステップS44)、デコード処理タスクを終える。
このように、タイマー回路106でPCMバッファ112a、112bへ書き込む直前で、PCMバッファ112a、112bがCPU101の処理能力不足で枯渇する可能性があると判断した場合に、次のデコード処理の際に、デコード処理を省略して少ない時間で行うようにするので、処理能力不足によるPCMバッファ112a、112bの枯渇を回避することができる。
また、各タスクの時間を計測することで、デコード処理に時間を要した原因を特定して、対策を立てることもできる。例えば、タスクの処理順番を入れ替えることや外部ホストCPUへのフレーム番号などの通知処理を省略するなどが考えられる。
なお、上記では、タイマー回路106を用いて処理能力不足を予測して無音期間を回避する処理を行うかを、処理能力不足破綻回避切替えパラメータ保持領域114に格納されたパラメータにより設定するとしたが、CPU101がタイマー回路106で計測した各タスクの時間計測データをもとに、上記の処理を行うか否かをフレーム単位で自動的に選択するようにしてもよい。
なお、上記では割り込み処理は、図3で示した処理としたが、図5、図6のように、処理能力不足によるPCMバッファ112a、112bの枯渇を回避するメイン処理を行う場合には、図10に示した従来の割り込み処理を行ってもよい。
本発明は、例えば、DVDプレーヤ、デジタルTVなど、高圧縮率の符号化で生成されたVideo/Audioのストリームを復号する装置に適用される。
(付記1) 圧縮符号化された音声信号を復号する音声復号装置において、
前記圧縮符号化された音声信号を復号する制御処理部と、
復号されたデータをフレームごとに記憶する記憶部と、
前記記憶部から前記データを読み出し転送し、転送が完了した場合にはその旨の割り込み信号を前記制御処理部に送出する転送部と、を有し、
前記制御処理部は、前記割り込み信号の受信時に、処理可能な前記圧縮符号化された音声信号があるにも係わらず前記記憶部が枯渇した場合には、処理能力不足が発生したと判定して直前の前記フレームの前記データを前記転送部で読み出し、再転送させることを特徴とする音声復号装置。
(付記2) 前記記憶部は2つのバッファからなり、
前記制御処理部は、リードポインタを更新することにより前記データを読み出す前記バッファの切替えを行い、一方の前記バッファの前記データの転送が完了した旨の前記割り込み信号の受信時に、他方の前記バッファが枯渇して処理能力不足が発生した場合には、前記リードポインタを更新しないで前記一方のバッファの前記データを前記転送部に再転送させることを特徴とする付記1記載の音声復号装置。
(付記3) 復号処理に要した時間を計測するタイマー回路を更に有し、
前記制御処理部は、前記タイマー回路にて計測した前記復号処理に要した時間を参照して処理能力不足の発生を予測することを特徴とする付記1記載の音声復号装置。
(付記4) 前記制御処理部は、処理能力不足が発生すると予測した場合には、次の前記復号処理では、処理を省略した前記復号処理を行うことを特徴とする付記3記載の音声復号装置。
(付記5) 前記制御処理部は前記復号処理の省略として、複数のチャンネルの前記圧縮符号化された音声信号のうち、特定の前記チャンネルの前記圧縮符号化された音声信号のみ前記復号処理を行い、他の前記チャンネルは、前記復号処理を行った特定の前記チャンネルの前記圧縮符号化された音声信号のコピーを使用することを特徴とする付記4記載の音声復号装置。
(付記6) 処理能力不足の発生の予測処理を行うか否かを設定するパラメータを格納するパラメータ格納部を有し、
前記制御処理部は、前記パラメータに応じて前記予測処理を行うか否かを決定することを特徴とする付記3記載の音声復号装置。
(付記7) 前記制御処理部は、前記タイマー回路にて計測した複数のタスクの処理時間に応じて、処理能力不足の発生の予測処理を行うか否かを前記フレーム単位で選択することを特徴とする付記3記載の音声復号装置。
(付記8) 圧縮符号化された音声信号を復号する音声復号装置において、
前記圧縮符号化された音声信号を復号する制御処理部と、
復号処理に要した時間を計測するタイマー回路と、を有し、
前記制御処理部は、前記タイマー回路にて計測した前記復号処理に要した時間を参照して処理能力不足の発生を予測することを特徴とする音声復号装置。
本発明の実施の形態の音声復号装置の原理を説明する図である。 本発明の実施の形態の音声復号装置のハードウェア構成を示す図である。 本発明の実施の形態の音声復号装置における割り込み処理を示すフローチャートである。 割り込み処理により出力されるPCM出力波形を示し、(A)が従来の音声復号装置によるPCM出力波形、(B)が本発明の実施の形態の音声復号装置によるPCM出力波形を示す図である。 CPUの処理能力不足によるPCMバッファの枯渇の発生を抑制する際の音声復号装置の処理を示すフローチャートである(その1)。 CPUの処理能力不足によるPCMバッファの枯渇の発生を抑制する際の音声復号装置の処理を示すフローチャートである(その2)。 デコード処理の一例を示すフローチャートである。 従来の音声復号装置の構成図である。 各バッファのバッファリング関係を示した図である。 従来の音声復号装置における割り込み処理を示すフローチャートである。
符号の説明
10 音声復号装置
11 制御処理部
12 記憶部
13 転送部
14 出力部

Claims (5)

  1. 圧縮符号化された音声信号を復号する音声復号装置において、
    前記圧縮符号化された音声信号を復号する制御処理部と、
    復号されたデータをフレームごとに記憶する記憶部と、
    前記記憶部から前記データを読み出し転送し、転送が完了した場合にはその旨の割り込み信号を前記制御処理部に送出する転送部と、を有し、
    前記制御処理部は、前記割り込み信号の受信時に、処理可能な前記圧縮符号化された音声信号があるにも係わらず前記記憶部が枯渇した場合には、処理能力不足が発生したと判定して直前の前記フレームの前記データを前記転送部で読み出し、再転送させることを特徴とする音声復号装置。
  2. 前記記憶部は2つのバッファからなり、
    前記制御処理部は、リードポインタを更新することにより前記データを読み出す前記バッファの切替えを行い、一方の前記バッファの前記データの転送が完了した旨の前記割り込み信号の受信時に、他方の前記バッファが枯渇して処理能力不足が発生した場合には、前記リードポインタを更新しないで前記一方のバッファの前記データを前記転送部に再転送させることを特徴とする請求項1記載の音声復号装置。
  3. 復号処理に要した時間を計測するタイマー回路を更に有し、
    前記制御処理部は、前記タイマー回路にて計測した前記復号処理に要した時間を参照して処理能力不足の発生を予測することを特徴とする請求項1記載の音声復号装置。
  4. 前記制御処理部は、処理能力不足が発生すると予測した場合には、次の前記復号処理では、処理を省略した復号処理を行うことを特徴とする請求項3記載の音声復号装置。
  5. 前記制御処理部は前記復号処理の省略として、複数のチャンネルの前記圧縮符号化された音声信号のうち、特定の前記チャンネルの前記圧縮符号化された音声信号のみ前記復号処理を行い、他の前記チャンネルは、前記復号処理を行った特定の前記チャンネルの前記圧縮符号化された音声信号のコピーを使用することを特徴とする請求項4記載の音声復号装置。
JP2004099095A 2004-03-30 2004-03-30 音声復号装置 Pending JP2005284034A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004099095A JP2005284034A (ja) 2004-03-30 2004-03-30 音声復号装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004099095A JP2005284034A (ja) 2004-03-30 2004-03-30 音声復号装置

Publications (1)

Publication Number Publication Date
JP2005284034A true JP2005284034A (ja) 2005-10-13

Family

ID=35182465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004099095A Pending JP2005284034A (ja) 2004-03-30 2004-03-30 音声復号装置

Country Status (1)

Country Link
JP (1) JP2005284034A (ja)

Similar Documents

Publication Publication Date Title
JP6768886B2 (ja) 冗長フレーム情報を通信するシステムおよび方法
US7805297B2 (en) Classification-based frame loss concealment for audio signals
JP2008015281A (ja) 広帯域オーディオ信号符号化装置および広帯域オーディオ信号復号装置
JP2008542838A (ja) 堅牢なデコーダ
JP2007251553A (ja) リアルタイム処理装置及びその方法
TWI236232B (en) Method and apparatus for bit stream decoding in MP3 decoder
JP2004184975A (ja) 少ない計算量で高周波数成分を復元するオーディオデコーディング方法及び装置
JP2005284034A (ja) 音声復号装置
JP4959935B2 (ja) 復号装置
US8228214B2 (en) Variable-length code decoding apparatus and method
JP3966814B2 (ja) 簡易再生方法とこの方法に利用可能な簡易再生装置、復号方法、復号装置
JP2008097430A (ja) ストリームデータ再生システム
JP2000307661A (ja) 符号化装置および復号化装置
JPWO2005076481A1 (ja) 符号化復号化装置
KR100308134B1 (ko) 디지탈 오디오 디코더 및 그에 따른 디코딩 방법
JP4815780B2 (ja) オーバーサンプリングシステム、デコードlsi、およびオーバーサンプリング方法
JP2713163B2 (ja) 動画像符号化装置および動画像蓄積装置
JP2007271916A (ja) 音声データ圧縮装置および伸張装置
JP2006134271A (ja) 再生装置
JP2008076847A (ja) 復号器及び信号処理システム
JP2008305250A (ja) データ処理装置
JP2007225762A (ja) オーディオ再生装置
JP2007072334A (ja) 復号装置、復号方法
JP2009122248A (ja) 音声再生装置
JP2008084382A (ja) 圧縮データ再生方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070119

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090901

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100406