JP2006243016A - オーディオデコード装置 - Google Patents

オーディオデコード装置 Download PDF

Info

Publication number
JP2006243016A
JP2006243016A JP2005054632A JP2005054632A JP2006243016A JP 2006243016 A JP2006243016 A JP 2006243016A JP 2005054632 A JP2005054632 A JP 2005054632A JP 2005054632 A JP2005054632 A JP 2005054632A JP 2006243016 A JP2006243016 A JP 2006243016A
Authority
JP
Japan
Prior art keywords
sleep
task
executed
main task
count
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.)
Granted
Application number
JP2005054632A
Other languages
English (en)
Other versions
JP4612436B2 (ja
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 JP2005054632A priority Critical patent/JP4612436B2/ja
Publication of JP2006243016A publication Critical patent/JP2006243016A/ja
Application granted granted Critical
Publication of JP4612436B2 publication Critical patent/JP4612436B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)

Abstract

【課題】 本発明の課題は、動作中であっても、CPUが処理する仕事がない状態を適切に検出してスリープ状態に移行することによって、消費電流の削減を可能とするオーディオデコード装置を提供することを目的とする。
【解決手段】 上記課題は、圧縮されたストリームの復号に係る主要タスクが実行されたか否かを判断する主要タスク実行判断手段と、前記主要タスクが実行されなかったと判断すると、スリープカウントをインクリメントするスリープカウント手段と、前記主要タスクが実行されたと判断すると、前記スリープカウントをゼロクリアするスリープカウント初期化手段と、動作中であって、かつ、前記スリープカウントがスリープ遷移閾値を越えているか否かを判断するスリープ判断手段と、前記スリープカウントがスリープ遷移閾値を越えている場合、スリープ状態に遷移するスリープ状態遷移手段とを有するオーディオデコード装置によって達成される。
【選択図】 図5

Description

本発明は、圧縮されたストリームを復号するオーディオデコード装置に関し、特に、動作中の場合でもCPUが処理する仕事がない状態を適切に検出してスリープ状態に移行することによって、消費電流の削減を可能とするオーディオデコード装置に関する。
CPUによって制御されるコンピュータ装置の普及により、電力消費を削減する試みがなされてきている。
例えば、マイクロプロセッサに配置されるカウンタの計数に基づいて、マイクロプロセッサの使用度を予測し、その予測された使用度と閾値とを比較することによって、マイクロプロセッサの電力消費を選択的に調整することが提案されている(例えば、特許文献1)。
また、DMA転送要求信号が所定時間以上出力されない場合、CPUをスリープモード、或いは、電源停止モードへ遷移するように制御する印刷装置が提案されている(例えば、特許文献2)。
更に、マルチタスクOSによるソフトウェア制御システム環境において、時間制約があり且つ付加変動のある複数のタスクを実行させる際に、プロセッサの消費電力を効果的に節減することが提案されている(例えば、特許文献3)。
特開平11−161383号公報 特開2003−337713号公報 特開2001−180083号公報
しかしながら、オーディオデコード装置では、従来、非動作時になったときにのみスリープモードになっていた。その結果、動作中であるにも関わらずCPUが処理する仕事がない場合でもメインループを延々と回っているだけで電流を消費していた。
本発明は、上述の問題点に鑑みてなされたものであって、動作中であっても、CPUが処理する仕事がない状態を適切に検出してスリープ状態に移行することによって、消費電流の削減を可能とするオーディオデコード装置を提供することを目的とする。
上記課題を解決するため、本発明は、圧縮されたストリームの復号に係る主要タスクが実行されたか否かを判断する主要タスク実行判断手段と、前記主要タスクが実行されなかったと判断されると、スリープカウントをインクリメントするスリープカウント手段と、前記主要タスクが実行されたと判断されると、前記スリープカウントをゼロクリアするスリープカウント初期化手段と、ステートが動作中であって、かつ、前記スリープカウントがスリープ遷移閾値を越えているか否かを判断するスリープ判断手段と、前記スリープカウントがスリープ遷移閾値を越えている場合、スリープ状態に遷移するスリープ状態遷移手段とを有するように構成される。
このようなオーディオデコード装置では、連続して主要タスクが何も実行されない回数が閾値を超えると、CPUのスリープ動作に遷移するように制御可能となる。したがって、低消費電流化を実現することができる。
本発明は、連続して主要タスクが実行されない回数をカウントして、その値が閾値を超えると、CPUのスリープ動作に遷移することで、低消費電流のオーディオデコード装置を構成することが可能である。更に、以前に連続して主要タスクが実行された回数をカウントして、この情報に基づいて適応的にスリープ遷移閾値を動的に決定することができる。したがって、効率的にスリープ動作に遷移可能となる。
以下、本発明の実施の形態を図面に基づいて説明する。
図1は、本発明に係るオーディオ装置の原理を説明するためのブロック図である。図1において、オーディオ装置100は、CPU(Central Processing Unit)及びメインメモリ110と、DMA転送回路120と、SDRAM130と、DMA転送回路及びPCM出力回路140とで構成される。ハードウェア構成としては、DMA転送回路120とDMA転送回路及びPCM出力回路140とは一つである。また、図1では、CPUのファームウェアで処理する部分をタスクとして示している。
ストリーム及びデータの処理は次のようになる。
まず、上位CPUからストリームバッファ132へAudio(オーディオ)の圧縮されたストリームが順次格納される。ストリームが溜まり、かつ、バンクバッファとして構成されるPES(Packetized Elementary Stream)バッファ112に1面以上の空きがあると、PES転送タスクTSK1が実行される。これは、アクセス時間の遅いSDRAM130からCPUが高速に処理できるメインメモリへストリームを転送する処理である。
このPES転送タスクTSK1によって、256バイト単位でPESバッファ112へデータが転送される。このタスクはDMA転送回路120への起動処理であって、実際の転送はDMA転送(DMA_DS)で行われる。
1面以上のPESバッファ112があり、かつ1面以上のリングバッファとして構成されるES(Elementary Stream)バッファ114の空きがあると、ES抽出タスクTSK2が実行される。ES抽出タスクTSK2は、PESストリームからAudioのESデータを抽出する処理である。
ESバッファ114は、1ES以上溜まり、かつ、PCMバッファ134に1面以上の空きがあると、デコード処理タスクTSK3が実行される。デコード処理タスクTSK3は、符号化されたストリームを復号する本体の処理である。復号されたデータは、単一バッファとして構成される一時バッファ116へ一旦格納され、PCM転送タスクTSK4が連動して実行される。PCM転送タスクTSK4は、DMA転送回路120への起動処理で実際の転送は、DMA転送(DMA_ETC)で行われる。
PCMバッファ134に1面以上存在すると、PCM出力タスクTSK5が実行される。PCM出力タスク5は、デコードしたデータを一定レートでシリアルで外部端子へ転送する。PCM出力タスク5は、DMA転送回路120への起動処理で実際の転送は、DMA転送(DMA_DP)で行われる。
一旦、PCM出力タスクTSK5が実行され、PCMが出力され始め動作中になると、PCMバッファ134が枯渇しないように継続的に、上記処理を滞りなく処理していく必要がある。PCMバッファ134が枯渇すると音切れなどの状態になり望ましくない。PCMバッファ134は、SDRAM130に11面確保されて、ストリームが供給され続けると、これが一杯になるまでデコード処理が行われる。このPCMバッファ134を十分に蓄えておくことで、一時的に処理が重くなってもPCM出力が途切れることなく出力できる。
このように、一定時間にデコード処理を行う必要性から、一定処理単位をタスクとして処理を分割し、その前後で並列に処理ができるようにバッファリングする構成になっている。そして、各タスクの実行条件は、入力側と出力側のバッファの状態によって決定される。
これらのバッファの状態は、通常状態ではある程度一定で、これに伴いタスクの動作も予期できるが、ストリームバッファの供給状態、ESストリームの内容、ストリームにエラーが存在した場合、Video(ビデオ)とリップシンクのためにサンプル単位でスキップ又はリピートなどが発生した場合など、あらゆる影響によって、各バッファ状態が変化し、各タスクが動作するタイミングが刻々と変化する。
図2は、本発明に係るCPUによって実行される処理を説明するためのフローチャート図である。図2において、CPUによって実行される処理を、メイン処理と割り込み処理とに大きく分けて説明する。
メイン処理では、初期化処理(ステップS101)を行ったあと、シーケンス管理タスク(ステップS102)、スリープ動作検出タスク(ステップS103)、PES転送タスクTSK1(ステップS104)、ES抽出タスクTSK2(ステップS105)、デコード処理タスクTSK3(ステップS106)、PCM転送タスクTSK4(ステップS107)、PCM出力タスクTSK5(ステップS108)が、各タスクが評価され実行条件が満足していれば、そのタスクを実行する。
前述の説明のとおり、タスクTSK1から4までは、バッファ状態によって実行判断が決定される。PCM出力タスクTSK5は、最初の1回だけメイン処理から実行され、2回目以降は、割り込み処理から実行される。この理由は、PCM出力を行うDMA転送(DMA_DP)の終了が、次のDMA転送(DMA_DP)の起動トリガに使用されるためである。つまり、PCM出力を途切れることなく割り込みから起動処理する。
シーケンス管理タスク(ステップS102)は、上位CPUからのデコードの開始又は指示コマンドを判断して状態遷移の判断を行う。上位CPUからのこれらのコマンド取得又は解析は、割り込み処理で行われるが、実際の処理は、このタスクで実行される。割り込みには、他にDMA転送(DMA_DS)の完了後の処理を行うPES転送後処理タスクがある。
スリープ動作検出タスク(ステップS103)は、タスクの処理状況を判断して、CPUが処理する仕事がなくスリープモードへ移行できるか判断を行い、条件があればスリープ状態となる。通常ならば、図2に示すメイン処理のループを定期的に繰り返し実行しているが、スリープ状態になるとCPUの命令が停止するので、スリープ動作検出タスク内部で完全に停止状態となる。これによって、低消費電流での待機状態となる。このスリープ状態からの復帰は、割り込み信号がアサートされた場合であり、次の条件から復帰できる。上位CPUからストリーム供給コマンドの通知、DMA転送(DMA_DS)転送完了割り込み、DMA転送(DMA_DP)転送完了割り込みがある。これは、割り込み処理でのコマンド取得又は解析タスク(ステップS201)、PES転送後処理タスク(ステップS202)、PCM出力TSK5(ステップS203)にそれぞれ対応する。それ以外にもVideoのVSYNC16.6ms間隔で通知される上位CPUからのデコードの開始又は停止指示コマンドがある。
図3は、1フレームデコードに着目した処理時間の内訳を示す図である。図3において、通常は、タスクTSK1から4の順に処理が行われる。ES抽出タスクTSK2は、ストリームによっては、1フレームデコードの際に複数回数呼び出される可能性がある。PCM出力タスクTSK5において、ファームウェアでの処理はハードウェアへの起動処理だけで、かつ、PCMバッファ134の内容をハードウェアで外部へDMA転送するだけなので、1フレームデコード処理になんら影響を及ぼさない。したがって、CPUの処理としては無視できるので、内訳には記載していない。また、同時にメイン処理でのシーケンス処理タスク(ステップS102)、スリープ動作検出タスク(ステップS103)および割り込み処理でのコマンド取得又は解析タスク(ステップS201)、PES転送後処理タスク(ステップS202)は、他の処理に比較して十分処理量が少なく無視できるので詳細説明を省略する。
この例は、2chのAudioデコードをする場合の処理時間内訳例であるが、もし、4chのAudioデコードを行う場合は、11ms×2=22ms必要となる。これらの処理が11ms必要とすると、1フレーム時間は24ms必要なので、13msが残りのマージンとなる。つまり、この時間はCPUの空き時間でスリープ対象となる期間である。
図4は、複数フレームの処理時間タイミングを示す図である。図4において、デコード開始直後は、ストリームバッファに潤沢にストリームが供給され続けたと仮定するとタスクTSK1から4まで(11ms)が連続して処理され、CPUに処理の無駄時間(空き)が発生せずPCMバッファ134が一杯になるまで処理が継続される。11フレームがデコードされ、PCMバッファ134が一杯になると、無駄時間(空き)が発生してくる。
また、ストリームの供給が一旦滞る状態によっては、PCMバッファ134が一杯にならない場合でも、ストリーム供給待ちでCPUは待機待ち状態となりえる。
このように、マージン(空き時間)はバッファ状態を含め各要因で変化する。
本発明では、特定のバッファ状態だけを監視するのではなく、連続して主要タスクが何も実行されない回数をカウントし、それが閾値を越えるとCPUのスリープ動作にする。
図2に示すメイン処理のうち、タスクTSK1から3の主要タスクがそのタスクを実行したか否かのフラグを一つの共通の変数で用意する。ここで、PCM転送タスクTSK4は、デコード処理タスクTSK3から派生するものであるから、デコード処理タスクTSK3と併用する。
このタスク動作判定フラグは、最初の初期化処理とPES転送タスクTSK1の直前でゼロクリアされる。そして各タスクによって、もし実行されるとこのフラグに1がセットされる。実行されなければなにもしない。結果的に、タスクTSK1から3の主要タスクのどれかが実行されれば1となり、全く実行されなければ0となる。このタスク動作判定フラグをスリープ動作検出タスク(ステップS103)が参照する。
図5は、スリープ動作検出タスクによる処理の一例を説明するためのフローチャート図である。まず、現在のステートを確認する(ステップS131)。動作中でなければ、ステップS135へと進む。一方、動作中であれば、タスク動作判定フラグを確認して主要タスクが実行されたか否かを確認する(ステップS132)。主要タスクが実行されていれば、主要タスク連続未実行回数sleep_cntをゼロクリアし(ステップS133)、実行されなければ+1される(ステップS134)。したがって、主要タスク連続未実行回数sleep_cntには、主要タスクが連続して実行されなかった回数がカウントされる。
次に、現在のステートが停止中か否かを確認し(ステップS135)、停止中である場合、無条件に、CPUのスリープ命令を実行してスリープ状態になり(ステップS137)、スリープ状態からの復帰直後に主要タスク連続未実行回数sleep_cntをゼロクリアして(ステップS138)、CPUは、スリープ動作検出タスクによる処理から復帰する。
また、現在のステートが動作中で、かつ、主要タスク連続未実行回数sleep_cntが閾値10を超えた場合、同様に、CPUのスリープ命令を実行してスリープ状態になり(ステップS137)、スリープ状態からの復帰直後に主要タスク連続未実行回数sleep_cntをゼロクリアして(ステップS138)、CPUは、スリープ動作検出タスクによる処理から復帰する。一方、主要タスク連続未実行回数sleep_cntが閾値10を超えていない場合、CPUは、そのままスリープ動作検出タスクによる処理から復帰する。
スリープ状態へ遷移するための閾値は、ES抽出タスクTSK2がストリームによっては1フレームデコードの際に複数回呼び出される可能性があるのでこれを考慮して設定される。この理由は、PESバッファ112のサイズが片面256バイトであり、一方、ESバッファ114のサイズが同様に片面2048バイトになっており、単純には複数面のPESバッファ112の内容が、ESバッファ114の1面に相当する。大きくはビットレートに依存するが、ES抽出の境界条件によって一概にはESバッファ114の1面分がPESバッファ112の何面に相当するかは言えない。
したがって、この閾値は小さい値にすると、ES抽出タスクTSK2が完全に実行されずにスリープ状態に陥る可能性がある一方、大きくとればスリープ状態への遷移が遅れることになる。
このような問題を解決するために、スリープ動作検出タスクに、以前に連続してタスクが実行された場合をカウントして、この情報を元に新たな閾値を算出し、常にフィードバックをかけることで最適な状態でスリープモードに遷移する仕組みを持たせるようにする。このように、閾値を動的に変更する仕組みについて図6で説明する。
図6は、スリープ動作検出タスクによる処理の他の例を説明するためのフローチャート図である。図6において、図5に示す処理と同様に、主要タスク連続未実行回数sleep_cntには、連続して実行されなかった回数がカウントされる。新たに、連続してタスクが実行された値をカウントする主要タスク連続実行回数task_cntを設ける。
まず、現在のステートを確認する(ステップS151)。動作中でなければ、ステップS157へと進む。一方、動作中であれば、タスク動作判定フラグを確認して主要タスクが実行されたか否かを確認する(ステップS152)。主要タスクが実行されていれば、主要タスク連続未実行回数sleep_cntをゼロクリアし、主要タスク連続実行回数task_cntを1インクリメントして(ステップS153)、ステップS157へと進む。
主要タスクが実行されていなければ、主要タスク連続未実行回数sleep_cntを1インクリメントして(ステップS154)、主要タスク連続実行回数task_cntを今までの最大カウントを示す主要タスク最大実行回数max_task_cnt と比較する(ステップS155)。主要タスク連続実行回数task_cntが主要タスク最大実行回数max_task_cnt以下である場合、ステップS157へと進む。一方、主要タスク連続実行回数task_cntが主要タスク最大実行回数max_task_cntより大きい場合、主要タスク最大実行回数max_task_cntに主要タスク連続実行回数task_cntを代入して、主要タスク連続実行回数task_cntをゼロクリアする(ステップS156)。同様の処理をスリープ状態になるまで繰り返すと、結果的に主要タスク最大実行回数max_task_cntに連続して実行したタスクの最大回数が記録されることになる。
次に、現在のステートが停止中か否かを確認し(ステップS157)、停止中である場合、無条件に、CPUのスリープ命令を実行するため、ステップS159へと進む。また、停止中でない場合、現在のステートが動作中で、かつ、主要タスク連続未実行回数sleep_cntが閾値task_thresholdを超えたか否かを判断する(ステップS158)。現在のステートが動作中で、かつ、主要タスク連続未実行回数sleep_cntが閾値task_thresholdを超えた場合、同様に、CPUのスリープ命令を実行するためステップS159へと進む。ステップS159では、CPUのスリープ命令を実行してスリープ状態になる。
スリープ状態からの復帰直後、PCMバッファ134は2面以上あるか否かを判断する(ステップS160)。2面以上ある場合、スリープ遷移閾値task_thresholdに主要タスク最大実行回数max_task_cntを代入し(ステップS161)、ステップS163へと進む。一方、2面以上ない場合、スリープ遷移閾値task_thresholdに値10を代入して(ステップS162)、ステップS163へと進む。ステップS163では、主要タスク最大実行回数max_task_cnt、主要タスク連続未実行回数sleep_cnt、及び主要タスク連続実行回数task_cntをゼロクリアする。その後、CPUは、スリープ動作検出タスクによる処理から復帰する。
一方、ステップS158において、主要タスク連続未実行回数sleep_cntが閾値task_thresholdを超えていない場合、スリープ動作検出タスクによる処理から復帰する。
上記処理において、スリープ状態への遷移条件は、図5の固定閾値に対して、スリープ遷移閾値task_thresholdの変数に置き換えられる。そしてこれを超えるとCPUのスリープ命令を実行してスリープ状態になるスリープ遷移閾値task_thresholdの初期値は、図5と同様に、固定値10から開始される。
また、上述より、スリープ遷移閾値task_thresholdの更新は、スリープ状態からの復帰直後に行われ、PCMバッファ134の蓄積量を判定し、あまりPCMバッファ134に余裕が無ければスリープ遷移閾値task_thresholdを初期値の10と余裕ある値にする。これは、PCMバッファ134に余裕があまり無いときには、極限のスリープ遷移閾値task_thresholdを回避することで、PCMバッファ134の破綻の可能性を極力排除する配慮である。
また、図5及び図6に示す処理の例では、連続してタスクが実行されたことを直前のスリープ状態の結果だけから判断しているが、いくつかのスリープ状態を累積した平均をとることもできる。つまり、急激なスリープ遷移閾値の変化を発生させないような配慮が可能である。
なお、VideoのVSYNCは、16.6ms間隔で定期的に入力されるので、1フレーム24ms以内に1度は割り込みが入りスリープから解除される仕組みとなっている。したがって、スリープ遷移閾値を前回の処理量の状況に応じて自己学習し、最適なスリープ遷移閾値を求める仕組みによって、極限のスリープ遷移閾値にしても、デコード処理が遅れPCMバッファ134が枯渇してしまうなどの破綻は回避される。
次に、図5及び図6に示すスリープ動作検出タスクによる夫々の処理を実行した場合のスリープ状態の例について図7及び図8で説明する。
図7は、図5に示すスリープ動作検出タスクによる処理を実行した場合のスリープ状態の例を示す図である。図7において、ビット列はスリープ状態になるまでのタスク動作判定フラグの値を示し、loop(i)はスリープ状態になるまで図5に示すススリープ動作検出タスクが実行された回数を示し、スリープ遷移閾値task_thresholdは固定の値10を示し、主要タスク連続未実行回数sleep_cntはスリープ状態になるまでの主要タスクが連続して実行されなかった回数を示す。スリープ状態が解除されると、loop(i)はゼロクリアされ、また、スリープ状態になるまでカウントされる。
図7に示すように、図5に示すスリープ動作検出タスクによる処理では、スリープ遷移閾値task_thresholdが固定であるので、主要タスク連続未実行回数sleep_cntの値が11をカウントするとスリープ状態になっていることが判る。
図8は、図6に示すスリープ動作検出タスクによる処理を実行した場合のスリープ状態の例を示す図である。図8において、ビット列はスリープ状態になるまでのタスク動作判定フラグの値を示し、loop(i)はスリープ状態になるまで図5に示すスリープ動作検出タスクが実行された回数を示し、スリープ遷移閾値task_thresholdは初期値10から自己学習によって変動し、主要タスク連続未実行回数sleep_cntはスリープ状態になるまでの主要タスクが連続して実行されなかった回数を示し、主要タスク最大実行回数max_task_cntはスリープ状態になるまでに主要タスクが連続して実行された最大回数を示し、主要タスク連続実行回数task_cntはスリープ状態になる前に主要タスクが連続して実行された回数を示している。主要タスク最大実行回数max_task_cntは、スリープ状態解除後にスリープ遷移閾値task_thresholdに設定される。
図8に示すように、スリープ遷移閾値task_thresholdが変動することによって、スリープ状態になるまでの主要タスク連続未実行回数sleep_cntが変化していることが判る。
図7及び図8に示す例で判るように、連続して主要タスクが何も実行されない回数をカウントして、その値が閾値を超えるとCPUのスリープ動作に遷移することで、低消費電流のオーディオデコード装置を構成することが可能となる。更に、以前に連続してタスクが実行された場合をカウントして、この情報に基づいて適応的にスリープ遷移閾値を決定することによって、効率的にスリープ動作に遷移することが可能となる。
本発明は、例えば、DVDプレーヤ、デジタルTVをはじめ、特に、携帯性の高いムービーレコーダなどに適応することができる。
以上の説明に関し、更に以下の項を開示する。
(付記1)
圧縮されたストリームの復号に係る主要タスクが実行されたか否かを判断する主要タスク実行判断手段と、
前記主要タスクが実行されなかったと判断されると、スリープカウントをインクリメントするスリープカウント手段と、
前記主要タスクが実行されたと判断されると、前記スリープカウントをゼロクリアするスリープカウント初期化手段と、
ステートが動作中であって、かつ、前記スリープカウントがスリープ遷移閾値を越えているか否かを判断するスリープ判断手段と、
前記スリープカウントがスリープ遷移閾値を越えている場合、スリープ状態に遷移するスリープ状態遷移手段とを有することを特徴とするオーディオデコード装置。
(付記2)
前記スリープ判断手段は、前回のスリープ状態への遷移時での前記主要タスクが連続して実行された最大回数をスリープ遷移閾値として用いることを特徴とする付記1記載のオーディオデコード装置。
(付記3)
前記スリープカウント手段によって前記スリープカウントがインクリメントされると、前記主要タスクが連続して実行された回数が前記主要タスクが連続して実行された最大回数より大きいか否かを判断する最大回数判断手段と、
前記主要タスクが連続して実行された回数が前記主要タスクが連続して実行された最大回数より大きいと判断されると、該回数を該最大回数に代入する最大回数代入手段とを有することを特徴とする付記2記載のオーディオデコード装置。
(付記4)
スリープ状態が解除されると、音声出力するために復号されたストリームを蓄積するバッファが所定容量以上有るか否かを判断するバッファ容量判断手段と、
前記バッファが所定容量以上有る場合、前記スリープ遷移閾値に前記主要タスクが連続して実行された最大回数を代入する閾値代入手段とを有することを特徴とする付記3記載のオーディオデコード装置。
(付記5)
前記バッファが所定容量以上ない場合、前記スリープ遷移閾値に定値を代入する所定値代入手段とを有する付記4記載のオーディオデコード装置。
(付記6)
上記主要タスクは、PES転送タスク、ES抽出タスク、及びデコード処理タスクを含むことを特徴とする付記1乃至5のいずれか一項記載のオーディオデコード装置。
(付記7)
圧縮されたストリームの復号に係る主要タスクが実行されたか否かを判断する主要タスク実行判断手順と、
前記主要タスクが実行されなかったと判断されると、スリープカウントをインクリメントするスリープカウント手順と、
前記主要タスクが実行されたと判断されると、前記スリープカウントをゼロクリアするスリープカウント初期化手順と、
ステートが動作中であって、かつ、前記スリープカウントがスリープ遷移閾値を越えているか否かを判断するスリープ判断手順と、
前記スリープカウントがスリープ遷移閾値を越えている場合、スリープ状態に遷移するスリープ状態遷移手順とを有することを特徴とするスリープ制御方法。
(付記8)
圧縮されたストリームの復号に係る主要タスクが連続して所定回数実行されなかった場合、スリープ状態に遷移するスリープ状態遷移手段を有することを特徴とするオーディオデコード装置。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
本発明に係るオーディオ装置の原理を説明するためのブロック図である。 本発明に係るCPUによって実行される処理を説明するためのフローチャート図である。 1フレームデコードに着目した処理時間の内訳を示す図である。 複数フレームの処理時間タイミングを示す図である。 スリープ動作検出タスクによる処理の一例を説明するためのフローチャート図である。 スリープ動作検出タスクによる処理の他の例を説明するためのフローチャート図である。 図5に示すスリープ動作検出タスクによる処理を実行した場合のスリープ状態の例を示す図である。 図6に示すスリープ動作検出タスクによる処理を実行した場合のスリープ状態の例を示す図である。
符号の説明
110 CPU及びメインメモリ
112 PESバッファ
114 ESバッファ
116 一時バッファ
120 DMA転送回路
130 SDRAM
TSK1 PES転送タスク
TSK2 ES抽出タスク
TSK3 デコード処理タスク
TSK4 PCM転送タスク
TSK5 PCM出力タスク

Claims (5)

  1. 圧縮されたストリームの復号に係る主要タスクが実行されたか否かを判断する主要タスク実行判断手段と、
    前記主要タスクが実行されなかったと判断されると、スリープカウントをインクリメントするスリープカウント手段と、
    前記主要タスクが実行されたと判断されると、前記スリープカウントをゼロクリアするスリープカウント初期化手段と、
    ステートが動作中であって、かつ、前記スリープカウントがスリープ遷移閾値を越えているか否かを判断するスリープ判断手段と、
    前記スリープカウントがスリープ遷移閾値を越えている場合、スリープ状態に遷移するスリープ状態遷移手段とを有することを特徴とするオーディオデコード装置。
  2. 前記スリープ判断手段は、前回のスリープ状態への遷移時での前記主要タスクが連続して実行された最大回数をスリープ遷移閾値として用いることを特徴とする請求項1記載のオーディオデコード装置。
  3. 前記スリープカウント手段によって前記スリープカウントがインクリメントされると、前記主要タスクが連続して実行された回数が前記主要タスクが連続して実行された最大回数より大きいか否かを判断する最大回数判断手段と、
    前記主要タスクが連続して実行された回数が前記主要タスクが連続して実行された最大回数より大きいと判断されると、該回数を該最大回数に代入する最大回数代入手段とを有することを特徴とする請求項2記載のオーディオデコード装置。
  4. スリープ状態が解除されると、音声出力するために復号されたストリームを蓄積するバッファが所定容量以上有るか否かを判断するバッファ容量判断手段と、
    前記バッファが所定容量以上有る場合、前記スリープ遷移閾値に前記主要タスクが連続して実行された最大回数を代入する閾値代入手段とを有することを特徴とする請求項3記載のオーディオデコード装置。
  5. 圧縮されたストリームの復号に係る主要タスクが連続して所定回数実行されなかった場合、スリープ状態に遷移するスリープ状態遷移手段を有することを特徴とするオーディオデコード装置。
JP2005054632A 2005-02-28 2005-02-28 オーディオデコード装置 Expired - Fee Related JP4612436B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005054632A JP4612436B2 (ja) 2005-02-28 2005-02-28 オーディオデコード装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005054632A JP4612436B2 (ja) 2005-02-28 2005-02-28 オーディオデコード装置

Publications (2)

Publication Number Publication Date
JP2006243016A true JP2006243016A (ja) 2006-09-14
JP4612436B2 JP4612436B2 (ja) 2011-01-12

Family

ID=37049533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005054632A Expired - Fee Related JP4612436B2 (ja) 2005-02-28 2005-02-28 オーディオデコード装置

Country Status (1)

Country Link
JP (1) JP4612436B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008282491A (ja) * 2007-05-11 2008-11-20 Matsushita Electric Ind Co Ltd データ処理装置
JP2009163118A (ja) * 2008-01-09 2009-07-23 Alpine Electronics Inc 音声再生方法およびマルチプロセスシステム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230347A (ja) * 1994-01-28 1995-08-29 Compaq Computer Corp Scsiディスクドライブパワーダウン装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07230347A (ja) * 1994-01-28 1995-08-29 Compaq Computer Corp Scsiディスクドライブパワーダウン装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008282491A (ja) * 2007-05-11 2008-11-20 Matsushita Electric Ind Co Ltd データ処理装置
WO2008139677A1 (ja) * 2007-05-11 2008-11-20 Panasonic Corporation データ処理装置
US8281168B2 (en) 2007-05-11 2012-10-02 Panasonic Corporation Data processor
CN102981593A (zh) * 2007-05-11 2013-03-20 松下电器产业株式会社 数据处理装置
JP2009163118A (ja) * 2008-01-09 2009-07-23 Alpine Electronics Inc 音声再生方法およびマルチプロセスシステム

Also Published As

Publication number Publication date
JP4612436B2 (ja) 2011-01-12

Similar Documents

Publication Publication Date Title
US7584312B2 (en) Data processing apparatus having improved buffer management
US7836291B2 (en) Method, medium, and apparatus with interrupt handling in a reconfigurable array
US9225343B2 (en) Electronics device capable of efficient communication between components with asyncronous clocks
JP3810449B2 (ja) キュー装置
JP5287858B2 (ja) データ転送装置、データ送信装置、データ受信装置およびデータ転送方法
CN101953151B (zh) 成像装置以及成像方法
JP2007317171A (ja) マルチスレッド計算機システム、マルチスレッド実行制御方法
JP3802521B2 (ja) 符号化装置、符号化制御方法及び符号化制御プログラム
JP2009110156A (ja) ログ出力装置及びログ出力プログラム
JP2007251380A (ja) 記憶装置および記憶装置の処理方法および処理方法
JP2006525578A (ja) データパケットのパスによりブロックされている処理ノードをアンブロックする閾値
JP4612436B2 (ja) オーディオデコード装置
JP2008262437A (ja) プロセッサシステムおよび例外処理方法
US7587532B2 (en) Full/selector output from one of plural flag generation count outputs
JP3989493B2 (ja) キュー装置
JP4320390B2 (ja) 出力レートを変更する方法及び装置
KR101772547B1 (ko) 컴퓨팅 디바이스에서의 전력 소비 감축
JP2008084043A (ja) 割り込み処理方法
WO2010125616A1 (ja) 符号化ストリーム復号装置
JP2007299126A (ja) 制御装置及び制御装置用プログラム
JP4567586B2 (ja) 処理装置
JP3981059B2 (ja) 画像処理装置、その制御方法及びその制御プログラム
JP2008204011A (ja) マルチスレッドシステム、スレッド動作異常検知方法
JP2009100206A (ja) 画像符号化データ復号化装置
JP2007164511A (ja) 通信装置および受信データ通知方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071221

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100811

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: 20101005

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101015

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4612436

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees