JP2014035431A - ボコーダ処理方法、半導体装置、及び電子装置 - Google Patents
ボコーダ処理方法、半導体装置、及び電子装置 Download PDFInfo
- Publication number
- JP2014035431A JP2014035431A JP2012176254A JP2012176254A JP2014035431A JP 2014035431 A JP2014035431 A JP 2014035431A JP 2012176254 A JP2012176254 A JP 2012176254A JP 2012176254 A JP2012176254 A JP 2012176254A JP 2014035431 A JP2014035431 A JP 2014035431A
- Authority
- JP
- Japan
- Prior art keywords
- vocoder
- program data
- memory
- processing
- cache memory
- 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
Links
- 239000004065 semiconductor Substances 0.000 title claims abstract description 43
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 238000012545 processing Methods 0.000 claims abstract description 122
- 230000005540 biological transmission Effects 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims description 157
- 238000000034 method Methods 0.000 claims description 154
- 230000005236 sound signal Effects 0.000 claims description 35
- 238000004891 communication Methods 0.000 abstract description 35
- 230000000052 comparative effect Effects 0.000 description 37
- 102100035087 Ectoderm-neural cortex protein 1 Human genes 0.000 description 10
- 101000877456 Homo sapiens Ectoderm-neural cortex protein 1 Proteins 0.000 description 10
- 102100026190 Class E basic helix-loop-helix protein 41 Human genes 0.000 description 8
- 101000765033 Homo sapiens Class E basic helix-loop-helix protein 41 Proteins 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 102100026191 Class E basic helix-loop-helix protein 40 Human genes 0.000 description 7
- 101710130550 Class E basic helix-loop-helix protein 40 Proteins 0.000 description 7
- 230000006872 improvement Effects 0.000 description 7
- 101001006871 Homo sapiens Kelch-like protein 25 Proteins 0.000 description 6
- 102100027800 Kelch-like protein 25 Human genes 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 102100032919 Chromobox protein homolog 1 Human genes 0.000 description 2
- 102100037091 Exonuclease V Human genes 0.000 description 2
- 101000797584 Homo sapiens Chromobox protein homolog 1 Proteins 0.000 description 2
- 101000881977 Homo sapiens Exonuclease V Proteins 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/002—Dynamic bit allocation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L2021/02082—Noise filtering the noise being echo, reverberation of the speech
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Telephone Function (AREA)
Abstract
【課題】無線通信端末等に好適な半導体装置を提供すること。
【解決手段】所定のサイクルタイムで、送信音声信号の符号化処理と受信音声信号の復号化処理とを交互に繰返し実行するボコーダ処理部と、復号化処理及び符号化処理を実行するためのプログラムを格納するメモリと、プログラムを構成するプログラムデータを一時的に保持するキャッシュメモリと、を備えた電子装置のボコーダ処理方法。ボコーダ処理部は、符号化処理及び復号化処理の一方である第1のボコーダ処理を実行した後、次に符号化処理及び復号化処理の他方である第2のボコーダ処理を実行するまでの間に、当該第2のボコーダ処理に用いる第1のプログラムデータのプリフェッチをキャッシュメモリへ要求する。
【選択図】図6
【解決手段】所定のサイクルタイムで、送信音声信号の符号化処理と受信音声信号の復号化処理とを交互に繰返し実行するボコーダ処理部と、復号化処理及び符号化処理を実行するためのプログラムを格納するメモリと、プログラムを構成するプログラムデータを一時的に保持するキャッシュメモリと、を備えた電子装置のボコーダ処理方法。ボコーダ処理部は、符号化処理及び復号化処理の一方である第1のボコーダ処理を実行した後、次に符号化処理及び復号化処理の他方である第2のボコーダ処理を実行するまでの間に、当該第2のボコーダ処理に用いる第1のプログラムデータのプリフェッチをキャッシュメモリへ要求する。
【選択図】図6
Description
本発明はボコーダ処理方法、半導体装置、及び電子装置に関する。
近年、音声をデジタル信号として送受信する無線通信端末は、送信する音声信号を符号化し、受信した音声信号を復号化するボコーダ(Vocoder)処理部を備えている。例えば、特許文献1には、ボコーダ処理用のASIC(Application Specific Integrated Circuit)が開示されている。
ところで、特許文献2には、キャッシュメモリのヒット率(キャッシュヒット率)の向上に関する技術が開示されている。
発明者らは、通信端末等に用いられる半導体装置の開発に際し、様々な課題を見出した。本願で開示される各実施の形態は、例えば通信端末等に好適な半導体装置を提供する。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態に係る半導体装置は、プログラムデータのプリフェッチを要求するボコーダ処理部を備えている。
一実施の形態によれば、例えば無線通信端末等に好適であって、良質な半導体装置を提供することができる。
以下、具体的な実施の形態について、図面を参照しながら詳細に説明する。ただし、以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
<第1の比較例に係る半導体装置の構成>
まず、図1を参照して、発明者等が検討した第1の比較例に係る半導体装置について説明する。図1は、第1の比較例に係る半導体装置であるベースバンドプロセッサ602の構成例を示すブロック図である。図1には、第1の比較例に係るベースバンドプロセッサ602の内部構成、ベースバンドプロセッサ602の周辺の機能ブロック(RFIC603、メインメモリ604、オーディオIC610、マイク611、及びスピーカ612)、及びバス50が示されている。ベースバンドプロセッサ602は、例えば携帯電話などの無線通信装置に用いられる。
まず、図1を参照して、発明者等が検討した第1の比較例に係る半導体装置について説明する。図1は、第1の比較例に係る半導体装置であるベースバンドプロセッサ602の構成例を示すブロック図である。図1には、第1の比較例に係るベースバンドプロセッサ602の内部構成、ベースバンドプロセッサ602の周辺の機能ブロック(RFIC603、メインメモリ604、オーディオIC610、マイク611、及びスピーカ612)、及びバス50が示されている。ベースバンドプロセッサ602は、例えば携帯電話などの無線通信装置に用いられる。
図1に示すように、第1の比較例に係るベースバンドプロセッサ602は、DSP(Digital Signal Processing)21、ポストプロセッサ(音声処理部)23、モデム24、内部メモリ25、及びROM(Read Only Memory)26を含んでいる。
DSP21は、ROM26に格納されたボコーダ処理用のプログラムに基づいて、送受信する音声データのボコーダ処理(符号化処理及び復号化処理)を行う。すなわち、DSP21は、送信音声データをポストプロセッサ23から受け取り、受け取った送信音声データに対して符号化処理を施してモデム24に送信する。他方、DSP21は、モデム24から復調された受信音声データを受け取り、受け取った受信音声データに対して復号化処理を施してポストプロセッサ23に送信する。
ポストプロセッサ23は、オーディオIC610から受け取った音声データに対して、ノイズキャンセルやエコーキャンセルなどの音声処理を実施し、DSP21へ送信する。他方、ポストプロセッサ23は、DSP21から受け取った音声データに対して、ノイズキャンセルやエコーキャンセルなどの音声処理を実施し、オーディオIC610へ送信する。
モデム24は、ベースバンドプロセッサ602が送受信するデータに対する変調処理及び復調処理を行う。具体的には、モデム24は、DSP21から受け取った送信音声データを搬送波により変調処理し、RFIC603へ送信する。他方、モデム24は、RFIC603から受け取った受信音声データを搬送波により復調処理し、DSP21へ送信する。
内部メモリ25は、DSP21がボコーダ処理を行う際のワークメモリである。内部メモリ25は、例えば、300kB程度の容量を有している。
ROM26は、ボコーダ処理用の全プログラムを格納している。ROM26は、例えば、200kB程度の容量を有している。なお、メインメモリ604にはボコーダ処理用のプログラムは格納されていない。
ROM26は、ボコーダ処理用の全プログラムを格納している。ROM26は、例えば、200kB程度の容量を有している。なお、メインメモリ604にはボコーダ処理用のプログラムは格納されていない。
このように、第1の比較例では、ボコーダ処理用のプログラムがROM26に格納されているため、当該プログラムを書き換えることができず、新規プログラムに対応することができないという問題があった。
また、内部メモリ25及びROM26の合計で数百kB程度の容量を有しているため、半導体装置が大型化してしまうという問題があった。
また、内部メモリ25及びROM26の合計で数百kB程度の容量を有しているため、半導体装置が大型化してしまうという問題があった。
<第2の比較例に係る半導体装置の構成>
次に、図2を参照して、上記問題を解決するために発明者等が検討した第2の比較例に係る半導体装置について説明する。図2は、第2の比較例に係る半導体装置であるベースバンドプロセッサ602の構成例を示すブロック図である。図2には、第2の比較例に係るベースバンドプロセッサ602の内部構成、ベースバンドプロセッサ602の周辺の機能ブロック(RFIC603、メインメモリ604、オーディオIC610、マイク611、及びスピーカ612)、及びバス50が示されている。
次に、図2を参照して、上記問題を解決するために発明者等が検討した第2の比較例に係る半導体装置について説明する。図2は、第2の比較例に係る半導体装置であるベースバンドプロセッサ602の構成例を示すブロック図である。図2には、第2の比較例に係るベースバンドプロセッサ602の内部構成、ベースバンドプロセッサ602の周辺の機能ブロック(RFIC603、メインメモリ604、オーディオIC610、マイク611、及びスピーカ612)、及びバス50が示されている。
図2に示すように、第2の比較例に係るベースバンドプロセッサ602は、DSP(Digital Signal Processing)31、キャッシュ制御部32、ポストプロセッサ(音声処理部)33、及びモデム34を含んでいる。ここで、キャッシュ制御部32は、キャッシュメモリ32aを含んでいる。
図2に示された第2の比較例に係るベースバンドプロセッサ602は、図1に示された内部メモリ25及びROM26に代えて、キャッシュ制御部32(キャッシュメモリ32a)を備えている。すなわち、第2の比較例では、メインメモリ604にボコーダ処理用の全プログラムが格納されている。そして、キャッシュメモリ32aにプログラムの一部を一時的に取り込むことにより、ボコーダ処理が行われる。
DSP31は、キャッシュメモリ32aに保持されたボコーダ処理用のプログラムデータ(メインメモリ604に格納された全プログラムの一部)に基づいて、ボコーダ処理を行う。このように、第2の比較例では、第1の比較例における内部メモリ25及びROM26に代えて、キャッシュ制御部32(キャッシュメモリ32a)が採用されているため、上記問題を解決することができる。
ここで、DSP31がキャッシュ制御部32にアクセスした際、これから実行するボコーダ処理のためのプログラムデータがキャッシュメモリ32aに保持されていれば(つまりキャッシュヒットであれば)、ほとんど遅延なく(例えば1、2クロックサイクル程度の遅延で)ボコーダ処理を行うことができる。
しかしながら、DSP31がキャッシュ制御部32にアクセスした際、これから実行するボコーダ処理に用いるプログラムデータがキャッシュメモリ32aに保持されていなければ(つまりキャッシュミスヒットであれば)、バス50を介してそのプログラムデータをメインメモリ604から読み出す必要がある。そのため、数十クロックサイクル程度の遅延が生じてしまう。
なお、キャッシュミスヒット時にDSP31がメインメモリ604にアクセスした際、メインメモリ604に他の機能ブロックがアクセス中であれば、さらに遅延が大きくなる。例えば、携帯電話での通話には、高度なリアルタイム性が要求されるため、このような遅延の増大は問題となる。
<第2の比較例に係る半導体装置の動作>
図3のタイミングチャートを参照して、図2に示した第2の比較例に係る半導体装置の動作について説明する。図3は、第2の比較例に係る半導体装置の動作を説明するためのタイミングチャートである。図3において最も左側に示された縦軸は、時間(ms)を示しており、図面上側から下側へ向かって時間が経過している。また、縦軸(時間軸)と平行な4本の縦線によって、図面左側から順にモデム処理、ボコーダ処理、音声処理(スピーカ側)、及び音声処理(マイク側)の4つの処理が示されている。さらに、図中の片矢印は、データの流れを示している。両矢印は、時間の区間を示している。
図3のタイミングチャートを参照して、図2に示した第2の比較例に係る半導体装置の動作について説明する。図3は、第2の比較例に係る半導体装置の動作を説明するためのタイミングチャートである。図3において最も左側に示された縦軸は、時間(ms)を示しており、図面上側から下側へ向かって時間が経過している。また、縦軸(時間軸)と平行な4本の縦線によって、図面左側から順にモデム処理、ボコーダ処理、音声処理(スピーカ側)、及び音声処理(マイク側)の4つの処理が示されている。さらに、図中の片矢印は、データの流れを示している。両矢印は、時間の区間を示している。
時刻t1に、モデム34は無線インタフェースから受信音声信号を受信する。
時刻t1〜t2の間、モデム34は受信音声信号に対して第1の復調処理DEM1を実行する(図3における「MODEM処理」)。
時刻t1〜t2の間、モデム34は受信音声信号に対して第1の復調処理DEM1を実行する(図3における「MODEM処理」)。
時刻t2に、モデム34により復調された受信音声信号をDSP31が受信する。
時刻t2〜t3の間、DSP31が第1の復号化処理DEC1を実行する(図3における「VOCODER処理」)。
時刻t2〜t3の間、DSP31が第1の復号化処理DEC1を実行する(図3における「VOCODER処理」)。
時刻t3に、DSP31により復号化された受信音声信号をポストプロセッサ33が受信する。
時刻t3〜t9の20msの間、ポストプロセッサ33は、受信音声信号に対して、ノイズキャンセルやエコーキャンセルなどの音声処理を実行する(図3における「音声処理スピーカ側」)。音声処理が実行された受信音声信号は、オーディオIC610を介して、スピーカ612へ送信される。
時刻t3〜t9の20msの間、ポストプロセッサ33は、受信音声信号に対して、ノイズキャンセルやエコーキャンセルなどの音声処理を実行する(図3における「音声処理スピーカ側」)。音声処理が実行された受信音声信号は、オーディオIC610を介して、スピーカ612へ送信される。
他方、時刻t0〜t4の20msの間、ポストプロセッサ33は、送信音声信号に対して、ノイズキャンセルやエコーキャンセルなどの音声処理を実行する(図3における「音声処理マイク側」)。なお、送信音声信号は、マイク611で検出された音声からオーディオIC610により生成される。
時刻t4に、ポストプロセッサ33により音声処理が実行された送信音声信号をDSP31が受信する。
時刻t4〜t5の間、DSP31は第1の符号化処理ENC1を実行する(図3における「VOCODER処理」)。
時刻t4〜t5の間、DSP31は第1の符号化処理ENC1を実行する(図3における「VOCODER処理」)。
時刻t5に、DSP31により符号化された送信音声信号をモデム34が受信する。
時刻t5〜t6の間、モデム34は送信音声信号に対して第1の変調処理MOD1を実行する(図3における「MODEM処理」)。
時刻t6に、モデム34により変調された送信音声信号が無線インタフェースへ送信される。
時刻t5〜t6の間、モデム34は送信音声信号に対して第1の変調処理MOD1を実行する(図3における「MODEM処理」)。
時刻t6に、モデム34により変調された送信音声信号が無線インタフェースへ送信される。
そして、時刻t7に、再びモデム34は無線インタフェースから受信音声信号を受信する。このように、時刻t1〜t7(サイクルタイム20ms)の処理が繰返し実行される。例えば、時刻t7〜t13においても時刻t1〜t7の処理と同様の処理が繰り返されている。なお、ここでは時刻t7以降の動作の詳細については省略する。
図3に示すように、所定(例えば20ms)のサイクルタイムの中で、受信音声信号の復号化処理(例えばDEC1)及び送信音声信号の符号化(例えばENC1)が実行される。第2の比較例に係る半導体装置において、キャッシュメモリ32aの容量を低減すると、キャッシュヒット率も低減する。その結果、キャッシュミスヒット時に、ボコーダ処理が上記サイクルタイム内に完了しない(つまりボコーダ処理に遅延が生じる)という問題があった。
発明者等は、第1及び第2の比較例が抱える問題点を同時に解決すべく、半導体装置の小型化とボコーダ処理の高速化とを両立可能な半導体装置の構成及び動作について検討を行った。より具体的には、第2の比較例と同様に、キャッシュメモリを採用することにより小型化を実現した上で、キャッシュヒット率の向上(キャッシュミスヒット率の低減)が可能な半導体装置の構成及び動作について検討を行った。以下にその詳細について説明する。
(実施の形態1)
<無線通信端末の概要>
まず、図4A、4Bを参照して、本実施の形態に係る半導体装置が適用される電子装置として好適な無線通信端末の概要について説明する。図4A及び4Bは、無線通信端末500の構成例を示す外観図である。
<無線通信端末の概要>
まず、図4A、4Bを参照して、本実施の形態に係る半導体装置が適用される電子装置として好適な無線通信端末の概要について説明する。図4A及び4Bは、無線通信端末500の構成例を示す外観図である。
なお、図4A、4Bでは、無線通信端末500がスマートフォンである場合について示している。しかしながら、無線通信端末500は、フィーチャーフォン(例えば、折り畳み式の携帯電話端末)、携帯ゲーム端末、タブレットPC(Personal Computer)、ノートPC等のその他の無線通信端末であってもよい。また、当然のことながら、本実施の形態に係る半導体装置は、無線通信端末以外に適用することも可能である。
図4Aは、無線通信端末500を形成する筐体501の一方の主面(前面)を示している。筐体501の前面には、ディスプレイデバイス502と、タッチパネル503と、幾つかの操作ボタン504と、カメラデバイス505とが配置されている。一方、図4Bは、筐体501の他方の主面(背面)を示している。筐体501の背面には、カメラデバイス506が配置されている。
ディスプレイデバイス502は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(OLED:Organic Light-Emitting Diode)等の表示装置である。ディスプレイデバイス502は、表示面が筐体501の前面に位置するように配置されている。
タッチパネル503は、ディスプレイデバイス502の表示面を覆うように配置されるか、或いはディスプレイデバイス502の裏面側に配置され、ユーザーによる表示面への接触位置を検知する。つまり、ユーザーは、指や専用のペン(一般に、スタイラスと呼称される)等でディスプレイデバイス502の表示面に触れることで、無線通信端末500を直感的に操作することができる。
操作ボタン504は、無線通信端末500に対する補助的な操作に用いられる。なお、無線通信端末によっては、このような操作ボタンが設けられないこともある。
カメラデバイス505は、そのレンズユニットが筐体501の前面に位置するように配置されたサブカメラである。なお、無線通信端末によっては、このようなサブカメラが設けられないこともある。
カメラデバイス506は、そのレンズユニットが筐体501の背面に位置するように配置されたメインカメラである。
<無線通信装置の構成>
図5を参照して、本実施の形態に係る半導体装置が搭載される無線通信装置600の構成について説明する。図5は、実施の形態1に係る無線通信装置600の構成例を示すブロック図である。無線通信装置600は、例えば、図4A、4Bに示した無線通信端末500の内部構成である。図5に示すように、無線通信装置600は、アプリケーションプロセッサ(ホストIC)601、ベースバンドプロセッサ602、RFIC(Radio Frequency Integrated Circuit)603、メインメモリ604、バッテリ605、パワーマネジメントIC(PMIC:Power Management Integrated Circuit)606、表示部607、カメラ部608、操作入力部609、オーディオIC610、マイク611、スピーカ612を含む。
図5を参照して、本実施の形態に係る半導体装置が搭載される無線通信装置600の構成について説明する。図5は、実施の形態1に係る無線通信装置600の構成例を示すブロック図である。無線通信装置600は、例えば、図4A、4Bに示した無線通信端末500の内部構成である。図5に示すように、無線通信装置600は、アプリケーションプロセッサ(ホストIC)601、ベースバンドプロセッサ602、RFIC(Radio Frequency Integrated Circuit)603、メインメモリ604、バッテリ605、パワーマネジメントIC(PMIC:Power Management Integrated Circuit)606、表示部607、カメラ部608、操作入力部609、オーディオIC610、マイク611、スピーカ612を含む。
アプリケーションプロセッサ(ホストIC)601は、メインメモリ604に格納されたプログラムを読み出して、無線通信装置600の各種機能を実現するための処理を行う半導体集積回路である。例えば、アプリケーションプロセッサ601は、メインメモリ604からOS(Operating System)プログラムを読み出して実行すると共に、このOSプログラムを動作基盤とするアプリケーションプログラムを実行する。
ベースバンドプロセッサ602は、携帯通信端末が送受信するデータに対して符号化(例えば、畳み込み符号やターボ符号等の誤り訂正符号化)処理又は復号化処理等を含むベースバンド処理を行う。
特に音声データについては、ベースバンドプロセッサ602は、送信音声データをオーディオIC610から受け取り、受け取った送信音声データに対して符号化処理を施して、RFIC603に送信する。より具体的には、ベースバンドプロセッサ602は、オーディオIC610から受け取ったPCMデータを符号化処理し、RFIC603が受信できるAMRデータへ変換する。
他方、ベースバンドプロセッサ602は、RFIC603から受信音声データを受け取り、受け取った受信音声データに対して復号化処理を施してオーディオIC610に送信する。より具体的には、ベースバンドプロセッサ602は、RFIC603により復調された受信音声データであるAMRデータを復号化処理し、PCMデータへ変換する。なお、AMRデータは圧縮データであり、PCMデータは非圧縮データである。
RFIC603は、アナログRF信号処理を行う。アナログRF信号処理は、周波数アップコンバージョン、周波数ダウンコンバージョン、増幅などを含む。
特に音声データについては、RFIC603は、ベースバンドプロセッサ602によって変調された送信音声データから送信RF信号を生成し、アンテナを介してこの送信RF信号を無線送信する(Up Link)。
他方、RFIC603は、アンテナを介して受信RF信号を無線受信し、受信RF信号から受信音声データを生成し、この受信音声データをベースバンドプロセッサ602に送信する(Down Link)。
特に音声データについては、RFIC603は、ベースバンドプロセッサ602によって変調された送信音声データから送信RF信号を生成し、アンテナを介してこの送信RF信号を無線送信する(Up Link)。
他方、RFIC603は、アンテナを介して受信RF信号を無線受信し、受信RF信号から受信音声データを生成し、この受信音声データをベースバンドプロセッサ602に送信する(Down Link)。
メインメモリ(外部メモリ)604は、アプリケーションプロセッサ601により利用されるプログラム及びデータを格納している。また、メインメモリ604は、オーディオIC610によるボコーダ処理に利用されるプログラムすなわちコーデック(Codec)を格納している。メインメモリ604としては、電源が遮断された場合に記憶したデータがクリアされる揮発性メモリであるDRAM(Dynamic Random Access Memory)が用いる場合が多い。もちろん、メインメモリ604として、電源が遮断されても記憶したデータを保持する不揮発性メモリを用いてもよい。
バッテリ605は、電池であり、無線通信装置600が外部電源によらずに動作する場合に利用される。なお、無線通信装置600は、外部電源が接続されている場合においてもバッテリ605の電源を利用してもよい。また、バッテリ605としては、二次電池を利用することが好ましい。
パワーマネジメントIC606は、バッテリ605又は外部電源から内部電源を生成する。この内部電源は、無線通信装置600の各ブロックに与えられる。このとき、パワーマネジメントIC606は、内部電源の供給を受けるブロック毎に内部電源の電圧を制御する。パワーマネジメントIC606は、アプリケーションプロセッサ601からの指示に基づき内部電源の電圧制御を行う。さらに、パワーマネジメントIC606は、ブロック毎に内部電源の供給と遮断とを制御することもできる。また、パワーマネジメントIC606は、外部電源の供給がある場合、バッテリ605への充電制御も行う。
表示部607は、図4A、4Bにおけるディスプレイデバイス502に相当するものであって、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機ELディスプレイ(OLED:Organic Light-Emitting Diode)等の表示装置である。表示部607は、アプリケーションプロセッサ601における処理に従い様々な画像を表示する。表示部607において表示される画像には、ユーザーが無線通信装置600に動作指示を与えるユーザーインタフェース画像、カメラ画像、動画等が含まれる。
カメラ部608は、アプリケーションプロセッサ601からの指示に従い、画像を取得する。カメラ部608は、図4A、4Bにおけるカメラデバイス505、506に相当するものである。
操作入力部609は、ユーザーが操作して無線通信装置600に操作指示を与えるユーザーインタフェースである。操作入力部609は、図4A、4Bにおけるタッチパネル503、操作ボタン504に相当するものである。
オーディオIC610は、ベースバンドプロセッサ602から受け取ったデジタル信号である受信音声データをアナログ信号に変換し、スピーカ612を駆動する。これにより、スピーカ612から音声が出力される。
他方、オーディオIC610は、マイク611で検出したアナログ信号である音声をアナログ/デジタル(A/D)変換して、ベースバンドプロセッサ602に出力する。より具体的には、オーディオIC610は、アナログ信号である音声からデジタル信号であるPCMデータを生成する。
他方、オーディオIC610は、マイク611で検出したアナログ信号である音声をアナログ/デジタル(A/D)変換して、ベースバンドプロセッサ602に出力する。より具体的には、オーディオIC610は、アナログ信号である音声からデジタル信号であるPCMデータを生成する。
<実施の形態1に係る半導体装置の構成>
図6を参照して、本実施の形態に係る半導体装置であるベースバンドプロセッサ602の構成について説明する。図6は、実施の形態1に係るベースバンドプロセッサ602の構成例を示すブロック図である。図6には、図5に示されたベースバンドプロセッサ602の内部構成、ベースバンドプロセッサ602の周辺の機能ブロック(RFIC603、メインメモリ604、オーディオIC610、マイク611、及びスピーカ612)、及びバス50が示されている。
図6を参照して、本実施の形態に係る半導体装置であるベースバンドプロセッサ602の構成について説明する。図6は、実施の形態1に係るベースバンドプロセッサ602の構成例を示すブロック図である。図6には、図5に示されたベースバンドプロセッサ602の内部構成、ベースバンドプロセッサ602の周辺の機能ブロック(RFIC603、メインメモリ604、オーディオIC610、マイク611、及びスピーカ612)、及びバス50が示されている。
図6に示すように、実施の形態1に係るベースバンドプロセッサ602は、DSP(Digital Signal Processing)11、キャッシュ制御部12、ポストプロセッサ(音声処理部)13、及びモデム14を含んでいる。ここで、キャッシュ制御部12は、キャッシュメモリ12aを含んでいる。また、DSP11は、プリフェッチ要求部11aを含んでいる。
DSP11は、キャッシュメモリ12aに保持されたボコーダ処理用のプログラムデータ(メインメモリ604に格納された全プログラムの一部)に基づいて、送受信する音声データのボコーダ処理を行う。すなわち、DSP11は、送信音声データをポストプロセッサ13から受け取り、受け取った送信音声データに対して符号化処理を施してモデム14に送信する。より具体的には、DSP11は、ポストプロセッサ13から受け取ったPCMデータを符号化処理によりAMRデータへ変換し、モデム14へ送信する。
他方、DSP11は、モデム14から復調された受信音声データを受け取り、受け取った受信音声データに対して復号化処理を施してポストプロセッサ13に送信する。より具体的には、DSP11は、モデム14から受け取ったAMRデータを復号化処理によりPCMデータへ変換し、ポストプロセッサ13に送信する。
ここで、DSP11は、所定のサイクルタイム(周期)で、送信音声信号の符号化処理及び受信音声信号の復号化処理を交互に繰返し実行する。上記サイクルタイムは、無線フレームの長さに依存し、3GPP(Third-Generation Partnership Project)では20msに定められている。実施の形態1に係るベースバンドプロセッサ602は、DSP11の内部にプリフェッチ要求部11aを備えている。プリフェッチ要求部11aは、DSP11が間欠的に実行するボコーダ処理の合間に、キャッシュ制御部12に対してプリフェッチを要求する。
より具体的には、次のボコーダ処理で実行するプログラムデータのプリフェッチを要求する。例えば、符号化処理を実行した後、次に復号化処理を実行するまでの間に、当該復号化処理に用いるプログラムデータのプリフェッチをキャッシュ制御部12へ要求する。また、復号化処理を実行した後、次に符号化処理を実行するまでの間に、当該符号化処理に用いるプログラムデータのプリフェッチをキャッシュ制御部12へ要求する。
プリフェッチ要求部11aからのプリフェッチ要求に応じて、キャッシュ制御部12は、バス50を介してDSP11が次のボコーダ処理で実行するプログラムデータ(次処理プログラムデータ)をメインメモリ604からプリフェッチする。より具体的には、プリフェッチ要求部11aからプリフェッチ要求があった際、キャッシュ制御部12が次処理プログラムデータを保持していなければ、当該次処理プログラムデータをメインメモリ604からプリフェッチする。
そのため、次に行うボコーダ処理の際、原則としてキャッシュミスとならず、キャッシュヒット率を劇的に向上させることができる。そのため、DSP11が、ボコーダ処理を高速に実行することができる。なお、プリフェッチ要求部11aからプリフェッチ要求があった際、キャッシュ制御部12が次処理プログラムデータをすでに保持していれば、当該次処理プログラムデータをメインメモリ604からプリフェッチする必要はない。
また、DSP11が次のボコーダ処理で実行するプログラムデータは、その都度プリフェッチされる。換言すると、キャッシュメモリ12aに保持されるプログラムデータは、DSP11が次のボコーダ処理で実行するプログラムデータに順次書き換えられていく。
そのため、キャッシュメモリ12aは各回のボコーダ処理に必要なプログラムデータさえ保持できればよく、キャッシュメモリ12aの容量を小さくすることができる。その結果、ベースバンドプロセッサ602を小型化することができる。キャッシュメモリ12aの容量は、例えば命令キャッシュ32kB(キロバイト)、データキャッシュ容量32kBの合計64kBなどとすることができる。小型化の観点からキャッシュメモリ12aの容量は100kB以下とすることが好ましい。
なお、キャッシュメモリ12aは、プログラムデータが格納される命令キャッシュ及び処理対象のデータが格納されるデータキャッシュからなる。ここで、命令キャッシュは、図1におけるROM26に相当する。また、データキャッシュは、図1における内部メモリ25に相当する。
ポストプロセッサ13は、オーディオIC610から受け取ったPCMデータに対して、ノイズキャンセルやエコーキャンセルなどの音質改善処理(音声処理)を実施し、DSP11へ送信する。他方、ポストプロセッサ13は、DSP11から受け取ったPCMデータに対して、ノイズキャンセルやエコーキャンセルなどの音質改善処理(音声処理)を実施し、オーディオIC610へ送信する。
モデム14は、ベースバンドプロセッサ602が送受信するデータに対する変調処理及び復調処理を行う。
モデム14は、DSP11から受け取った送信音声データ(AMRデータ)を搬送波により変調処理し、RFIC603へ送信する。
他方、モデム14は、RFIC603から受け取った受信音声データ(AMRデータ)を搬送波により復調処理し、DSP11へ送信する。
モデム14は、DSP11から受け取った送信音声データ(AMRデータ)を搬送波により変調処理し、RFIC603へ送信する。
他方、モデム14は、RFIC603から受け取った受信音声データ(AMRデータ)を搬送波により復調処理し、DSP11へ送信する。
<比較例との構成の対比>
ここで、図1に示された第1の比較例に係るベースバンドプロセッサ602は、内部メモリ25及びROM26を備えている。これに対し、図6に示された本実施の形態に係るベースバンドプロセッサ602は、内部メモリ25及びROM26に代えてキャッシュ制御部12(キャッシュメモリ12a)を備えている。
ここで、図1に示された第1の比較例に係るベースバンドプロセッサ602は、内部メモリ25及びROM26を備えている。これに対し、図6に示された本実施の形態に係るベースバンドプロセッサ602は、内部メモリ25及びROM26に代えてキャッシュ制御部12(キャッシュメモリ12a)を備えている。
第1の比較例では、内部メモリ25及びROM26の合計で500kB程度の容量を有しているのに対し、本実施の形態に係るキャッシュメモリ12aの容量は、例えば64kBであって、第1の比較例の1/10程度である。そのため、本実施の形態に係るベースバンドプロセッサ602は、第1の比較例よりも大幅に小型化することができる。
また、第1の比較例に係るベースバンドプロセッサ602では、ボコーダ処理用のプログラムがROM26に格納されているため、プログラムを変更することができない。一方、本実施の形態に係るベースバンドプロセッサ602では、ボコーダ処理用のプログラムが書換可能なメインメモリ604に格納されているため、プログラムを変更することができる。また、大容量のメインメモリ604を有効活用することができる。
さらに、図2に示された第2の比較例に係るベースバンドプロセッサ602はDSP31内にプリフェッチ要求部を備えていないのに対し、図6に示された実施の形態1に係るベースバンドプロセッサ602はDSP11内にプリフェッチ要求部11aを備えている。プリフェッチ要求部11aは、DSP11が間欠的に実行するボコーダ処理の合間に、キャッシュ制御部12に対してプリフェッチを要求する。
キャッシュ制御部12は、プリフェッチ要求部11aからのプリフェッチ要求に応じて、DSP11が次のボコーダ処理で実行するプログラムデータをメインメモリ604からプリフェッチする。そのため、次に行うボコーダ処理の際、原則としてキャッシュミスとならず、第2の比較例に比べキャッシュヒット率を劇的に向上させることができる。そのため、DSP11が、ボコーダ処理を高速に実行することができる。
以上のように、本実施の形態に係る半導体装置は、第1及び第2の比較例が抱える問題点を同時に解決することができる。すなわち、半導体装置の小型化とボコーダ処理の高速化とを両立することができる。具体的には、本実施の形態に係る半導体装置は、第2の比較例と同様に、キャッシュメモリを採用することにより小型化を実現した上で、DSP内にプリフェッチ要求部を備えることにより、キャッシュヒット率を向上(キャッシュミスヒット率を低減)することができる。
<実施の形態1に係る半導体装置の動作>
図7のタイミングチャートを参照して、図6に示した本実施の形態に係る半導体装置の動作について説明する。図7は、実施の形態1に係る半導体装置の動作を説明するためのタイミングチャートである。図7において最も左側に示された縦軸は、時間(ms)を示しており、図面上側から下側へ向かって時間が経過している。また、縦軸(時間軸)と平行な4本の縦線によって、図面左側から順にモデム処理、ボコーダ処理、音声処理(スピーカ側)、及び音声処理(マイク側)の4つの処理が示されている。さらに、図中の片矢印は、データの流れを示している。両矢印は、時間の区間を示している。
図7のタイミングチャートを参照して、図6に示した本実施の形態に係る半導体装置の動作について説明する。図7は、実施の形態1に係る半導体装置の動作を説明するためのタイミングチャートである。図7において最も左側に示された縦軸は、時間(ms)を示しており、図面上側から下側へ向かって時間が経過している。また、縦軸(時間軸)と平行な4本の縦線によって、図面左側から順にモデム処理、ボコーダ処理、音声処理(スピーカ側)、及び音声処理(マイク側)の4つの処理が示されている。さらに、図中の片矢印は、データの流れを示している。両矢印は、時間の区間を示している。
図7に示すように、例えば20msのサイクルタイムの中で、受信音声信号の復号化及び送信音声信号の符号化を実行する。
まず、第1のサイクル(時刻t1〜t7)について説明する。
時刻t1に、モデム14は無線インタフェースから受信音声信号(AMRデータ)を受信する。
時刻t1〜t2の間、モデム14は受信音声信号(AMRデータ)に対して第1の復調処理DEM1を実行する(図7における「MODEM処理」)。
まず、第1のサイクル(時刻t1〜t7)について説明する。
時刻t1に、モデム14は無線インタフェースから受信音声信号(AMRデータ)を受信する。
時刻t1〜t2の間、モデム14は受信音声信号(AMRデータ)に対して第1の復調処理DEM1を実行する(図7における「MODEM処理」)。
時刻t2に、モデム14により復調された受信音声信号(AMRデータ)をDSP11が受信する。
時刻t2〜t3の間、DSP11が第1の復号化処理DEC1(第1のボコーダ処理)を実行する(図7における「VOCODER処理」)。第1の復号化処理DEC1により、受信音声信号がAMRデータからPCMデータへ変換される。
時刻t2〜t3の間、DSP11が第1の復号化処理DEC1(第1のボコーダ処理)を実行する(図7における「VOCODER処理」)。第1の復号化処理DEC1により、受信音声信号がAMRデータからPCMデータへ変換される。
時刻t3に、DSP11により復号化された受信音声信号(PCMデータ)をポストプロセッサ13が受信する。
時刻t3〜t9の20msの間、ポストプロセッサ13は、受信音声信号(PCMデータ)に対して、ノイズキャンセルやエコーキャンセルなどの音質改善処理(音声処理)を実行する(図7における「音声処理スピーカ側」)。音声処理が実行された受信音声信号(PCMデータ)は、オーディオIC610を介して、スピーカ612へ送信される。
時刻t3〜t9の20msの間、ポストプロセッサ13は、受信音声信号(PCMデータ)に対して、ノイズキャンセルやエコーキャンセルなどの音質改善処理(音声処理)を実行する(図7における「音声処理スピーカ側」)。音声処理が実行された受信音声信号(PCMデータ)は、オーディオIC610を介して、スピーカ612へ送信される。
他方、時刻t0〜t4の20msの間、ポストプロセッサ13は、送信音声信号(PCMデータ)に対して、ノイズキャンセルやエコーキャンセルなどの音質改善処理(音声処理)を実行する(図7における「音声処理マイク側」)。なお、送信音声信号(PCMデータ)は、マイク611で検出された音声からオーディオIC610により生成される。
時刻t4に、ポストプロセッサ13により音声処理が実行された送信音声信号(PCMデータ)をDSP11が受信する。
時刻t4〜t5の間、DSP11は第1の符号化処理ENC1(第2のボコーダ処理)を実行する(図7における「VOCODER処理」)。第1の符号化処理ENC1により、送信音声信号がPCMデータからAMRデータへ変換される。
時刻t4〜t5の間、DSP11は第1の符号化処理ENC1(第2のボコーダ処理)を実行する(図7における「VOCODER処理」)。第1の符号化処理ENC1により、送信音声信号がPCMデータからAMRデータへ変換される。
時刻t5に、DSP11により符号化された送信音声信号(AMRデータ)をモデム14が受信する。
時刻t5〜t6の間、モデム14は送信音声信号(AMRデータ)に対して第1の変調処理MOD1を実行する(図7における「MODEM処理」)。
時刻t6に、モデム14により変調された送信音声信号(AMRデータ)が無線インタフェースへ送信される。
そして、時刻t7に、再びモデム14は無線インタフェースから受信音声信号(AMRデータ)を受信する。このように、時刻t1〜t7(サイクルタイム20ms)の処理が繰返し実行される。
時刻t5〜t6の間、モデム14は送信音声信号(AMRデータ)に対して第1の変調処理MOD1を実行する(図7における「MODEM処理」)。
時刻t6に、モデム14により変調された送信音声信号(AMRデータ)が無線インタフェースへ送信される。
そして、時刻t7に、再びモデム14は無線インタフェースから受信音声信号(AMRデータ)を受信する。このように、時刻t1〜t7(サイクルタイム20ms)の処理が繰返し実行される。
より分かり易くするため、第2のサイクル(時刻t7〜t13)についても説明する。第2のサイクルは第1のサイクルと同様の処理が実行される。
具体的には、時刻t7〜t8の間、モデム14は受信音声信号(AMRデータ)に対して第2の復調処理DEM2を実行する(図7における「MODEM処理」)。
具体的には、時刻t7〜t8の間、モデム14は受信音声信号(AMRデータ)に対して第2の復調処理DEM2を実行する(図7における「MODEM処理」)。
時刻t8に、モデム14により復調された受信音声信号(AMRデータ)をDSP11が受信する。
時刻t8〜t9の間、DSP11が第2の復号化処理DEC2(第3のボコーダ処理)を実行する(図7における「VOCODER処理」)。第2の復号化処理DEC2により、受信音声信号がAMRデータからPCMデータへ変換される。
時刻t8〜t9の間、DSP11が第2の復号化処理DEC2(第3のボコーダ処理)を実行する(図7における「VOCODER処理」)。第2の復号化処理DEC2により、受信音声信号がAMRデータからPCMデータへ変換される。
時刻t9に、DSP11により復号化された受信音声信号(PCMデータ)をポストプロセッサ13が受信する。
時刻t9〜t14の20msの間、ポストプロセッサ13は、受信音声信号(PCMデータ)に対して、ノイズキャンセルやエコーキャンセルなどの音質改善処理(音声処理)を実行する(図7における「音声処理スピーカ側」)。音声処理が実行された受信音声信号(PCMデータ)は、オーディオIC610を介して、スピーカ612へ送信される。
時刻t9〜t14の20msの間、ポストプロセッサ13は、受信音声信号(PCMデータ)に対して、ノイズキャンセルやエコーキャンセルなどの音質改善処理(音声処理)を実行する(図7における「音声処理スピーカ側」)。音声処理が実行された受信音声信号(PCMデータ)は、オーディオIC610を介して、スピーカ612へ送信される。
他方、時刻t4〜t10の20msの間、ポストプロセッサ13は、送信音声信号(PCMデータ)に対して、ノイズキャンセルやエコーキャンセルなどの音質改善処理(音声処理)を実行する(図7における「音声処理マイク側」)。
時刻t10に、ポストプロセッサ13により音声処理が実行された送信音声信号(PCMデータ)をDSP11が受信する。
時刻t10〜t11の間、DSP11は第2の符号化処理ENC2(第4のボコーダ処理)を実行する(図7における「VOCODER処理」)。第2の符号化処理ENC2により、送信音声信号がPCMデータからAMRデータへ変換される。
時刻t10〜t11の間、DSP11は第2の符号化処理ENC2(第4のボコーダ処理)を実行する(図7における「VOCODER処理」)。第2の符号化処理ENC2により、送信音声信号がPCMデータからAMRデータへ変換される。
時刻t11に、DSP11により符号化された送信音声信号(AMRデータ)をモデム14が受信する。
時刻t11〜t12の間、モデム14は送信音声信号(AMRデータ)に対して第2の変調処理MOD2を実行する(図7における「MODEM処理」)。
時刻t12に、モデム14により変調された送信音声信号(AMRデータ)が無線インタフェースへ送信される。
そして、時刻t13に、さらに再びモデム14は無線インタフェースから受信音声信号(AMRデータ)を受信する。
時刻t11〜t12の間、モデム14は送信音声信号(AMRデータ)に対して第2の変調処理MOD2を実行する(図7における「MODEM処理」)。
時刻t12に、モデム14により変調された送信音声信号(AMRデータ)が無線インタフェースへ送信される。
そして、時刻t13に、さらに再びモデム14は無線インタフェースから受信音声信号(AMRデータ)を受信する。
ここで、図7における「VOCODER処理」に示すように、復号化処理(DEC1、DEC2など)及び符号化処理(ENC1、ENC2など)は、交互に繰返し実行される。また、各処理は間欠的に実行される。具体的には、図7において、時刻t2〜t3の第1の復号化処理DEC1が実行された後、時刻t3〜t4の間をおいて、時刻t4〜t5の第1の符号化処理ENC1が実行される。また、第1の符号化処理ENC1の後、時刻t5〜t8の間をおいて、時刻t8〜t9の第2の復号化処理DEC2が実行される。さらに、第2の復号化処理DEC2の後、時刻t9〜t10の間をおいて、時刻t10〜t11の第2の符号化処理ENC2が実行される。
このように、VOCODER処理(復号化処理及び符号化処理)は、DSP11により間欠的に実行される。このようなVOCODER処理の特徴を利用して、本実施の形態に係る半導体装置では、隣接する復号化処理及び符号化処理の間に、DSP11がキャッシュ制御部12に対し、次処理に用いるプログラムデータのプリフェッチを要求する。図7には、このプリフェッチ要求(PREFERCH REQ.1など)が星印で示されている。
具体的には、DSP11は、第1の復号化処理DEC1(第1のボコーダ処理)を実行した後、第1の符号化処理ENC1(第2のボコーダ処理)を実行するまでの間(時刻t3〜t4)に、第1の符号化処理ENC1(第2のボコーダ処理)のプログラムデータのプリフェッチを要求するための第1のプリフェッチ要求(PREFERCH REQ.1)をプリフェッチ要求部11aからキャッシュ制御部12に出力する。
また、DSP11は、第1の符号化処理ENC1(第2のボコーダ処理)を実行した後、第2の復号化処理DEC2(第3のボコーダ処理)を実行するまでの間(時刻t5〜t8)に、第2の復号化処理DEC2(第3のボコーダ処理)のプログラムデータのプリフェッチを要求するための第2のプリフェッチ要求(PREFERCH REQ.2)をプリフェッチ要求部11aからキャッシュ制御部12に出力する。
さらに、DSP11は、第2の復号化処理DEC2(第3のボコーダ処理)を実行した後、第2の符号化処理ENC2(第4のボコーダ処理)を実行するまでの間(時刻t9〜t10)に、第2の符号化処理ENC2(第4のボコーダ処理)のプログラムデータのプリフェッチを要求するための第3のプリフェッチ要求(PREFERCH REQ.3)をプリフェッチ要求部11aからキャッシュ制御部12に出力する。
<比較例との動作の対比>
ここで、図2に示した第2の比較例に係る半導体装置では、DSP31が内部にプリフェッチ要求部を備えていないため、図3に示すように、隣接する復号化処理及び符号化処理の間に、DSP31はキャッシュ制御部12に対し、次処理に用いるプログラムデータのプリフェッチを要求することができない。そのため、キャッシュミスが発生し易く、DSP31によるボコーダ処理に遅延が生じる恐れがあった。
ここで、図2に示した第2の比較例に係る半導体装置では、DSP31が内部にプリフェッチ要求部を備えていないため、図3に示すように、隣接する復号化処理及び符号化処理の間に、DSP31はキャッシュ制御部12に対し、次処理に用いるプログラムデータのプリフェッチを要求することができない。そのため、キャッシュミスが発生し易く、DSP31によるボコーダ処理に遅延が生じる恐れがあった。
これに対し、図6に示した実施の形態1に係るベースバンドプロセッサ602は、DSP11の内部にプリフェッチ要求部11aを備えている。プリフェッチ要求部11aは、DSP11が間欠的に実行するボコーダ処理の合間に、キャッシュ制御部12に対してプリフェッチを要求する。キャッシュ制御部12は、プリフェッチ要求部11aからのプリフェッチ要求(PREFERCH REQ.1など)に応じて、DSP11が次のボコーダ処理で実行するプログラムデータをメインメモリ604からプリフェッチする。そのため、次のボコーダ処理(復号化処理又は符号化処理)の際、原則としてキャッシュミスとならず、第2の比較例に比べキャッシュヒット率を劇的に向上させることができる。そのため、DSP11が、ボコーダ処理を高速に実行することができる。
また、図7に示したプリフェッチ要求(PREFERCH REQ.1など)からも分かるように、DSP11が次のボコーダ処理で実行するプログラムデータは、その都度プリフェッチされる。換言すると、キャッシュメモリ12aに保持されるプログラムデータは、DSP11が次のボコーダ処理で実行するプログラムデータに順次書き換えられていく。そのため、キャッシュメモリ12aは各回のボコーダ処理に必要なプログラムデータさえ保持できればよく、キャッシュメモリ12aの容量を小さくすることができる。その結果、ベースバンドプロセッサ602を小型化することができる。
<変更例等>
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
例えば、上記実施の形態では、ベースバンドプロセッサ602がボコーダ処理を実行していたが、アプリケーションプロセッサ601がボコーダ処理を実行してもよい。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
例えば、上記実施の形態では、ベースバンドプロセッサ602がボコーダ処理を実行していたが、アプリケーションプロセッサ601がボコーダ処理を実行してもよい。
11 DSP(ボコーダ処理部)
11a プリフェッチ要求部
12 キャッシュ制御部
12a キャッシュメモリ
13 ポストプロセッサ
14 モデム
50 バス
500 無線通信端末
501 筐体
502 ディスプレイデバイス
503 タッチパネル
504 操作ボタン
505、506 カメラデバイス
600 無線通信装置
601 アプリケーションプロセッサ(ホストIC)
602 ベースバンドプロセッサ
603 RFIC
604 メインメモリ
605 バッテリ
606 PMIC
607 表示部
608 カメラ部
609 操作入力部
610 オーディオIC
611 マイク
612 スピーカ
11a プリフェッチ要求部
12 キャッシュ制御部
12a キャッシュメモリ
13 ポストプロセッサ
14 モデム
50 バス
500 無線通信端末
501 筐体
502 ディスプレイデバイス
503 タッチパネル
504 操作ボタン
505、506 カメラデバイス
600 無線通信装置
601 アプリケーションプロセッサ(ホストIC)
602 ベースバンドプロセッサ
603 RFIC
604 メインメモリ
605 バッテリ
606 PMIC
607 表示部
608 カメラ部
609 操作入力部
610 オーディオIC
611 マイク
612 スピーカ
Claims (20)
- 以下を含む電子装置のボコーダ処理方法:
ここで前記電子装置は以下を含む:
(i)所定のサイクルタイムで、送信音声信号の符号化処理と受信音声信号の復号化処理とを交互に繰返し実行するボコーダ処理部;
(ii)前記復号化処理及び前記符号化処理を実行するためのプログラムを格納するメモリ;
(iii)前記プログラムを構成するプログラムデータを一時的に保持するキャッシュメモリ、
(a)前記ボコーダ処理部は、前記符号化処理及び前記復号化処理の一方である第1のボコーダ処理を実行し;
(b)前記ボコーダ処理部は、前記第1のボコーダ処理を実行した後、次に前記符号化処理及び前記復号化処理の他方である第2のボコーダ処理を実行するまでの間に、当該第2のボコーダ処理に用いる第1のプログラムデータのプリフェッチを前記キャッシュメモリへ要求する。 - 前記ボコーダ処理部が前記第1のプログラムデータのプリフェッチを要求した際、
前記キャッシュメモリは、前記第1のプログラムデータを保持していなければ、前記メモリから前記第1のプログラムデータをプリフェッチする、請求項1に記載のボコーダ処理方法。 - 前記ボコーダ処理部は、前記第2のボコーダ処理を実行した後、次に前記符号化処理及び前記復号化処理の一方である第3のボコーダ処理を実行するまでの間に、当該第3のボコーダ処理に用いる第2のプログラムデータの前記メモリへのプリフェッチを前記キャッシュメモリへ要求する、請求項1に記載のボコーダ処理方法。
- 前記ボコーダ処理部が前記第2のプログラムデータのプリフェッチを要求した際、
前記キャッシュメモリは、前記第2のプログラムデータを保持していなければ、前記メモリから前記第2のプログラムデータをプリフェッチする、請求項3に記載のボコーダ処理方法。 - 前記キャッシュメモリの容量が100キロバイト以下である、請求項1に記載のボコーダ処理方法。
- 前記メモリが書換可能である、請求項1に記載のボコーダ処理方法。
- 前記メモリがDRAMである、請求項6に記載のボコーダ処理方法。
- 以下を含む半導体装置:
(a)所定のサイクルタイムで、送信音声信号の符号化処理と受信音声信号の復号化処理とを交互に繰返し実行するボコーダ処理部;
(b)外部メモリに格納された前記復号化処理及び前記符号化処理を実行するためのプログラムデータを一時的に保持するキャッシュメモリ、
ここで前記ボコーダ処理部は、前記符号化処理及び前記復号化処理の一方である第1のボコーダ処理を実行した後、次に前記符号化処理及び前記復号化処理の他方である第2のボコーダ処理を実行するまでの間に、当該第2のボコーダ処理に用いる第1のプログラムデータの前記外部メモリへのプリフェッチを前記キャッシュメモリへ要求する。 - 前記キャッシュメモリは、前記ボコーダ処理部から前記第1のプログラムデータのプリフェッチの要求があった際、前記第1のプログラムデータを保持していなければ、前記外部メモリから前記第1のプログラムデータをプリフェッチする、請求項8に記載の半導体装置。
- 前記ボコーダ処理部は、前記第2のボコーダ処理を実行した後、次に前記符号化処理及び前記復号化処理の一方である第3のボコーダ処理を実行するまでの間に、当該第3のボコーダ処理に用いる第2のプログラムデータの前記外部メモリへのプリフェッチを前記キャッシュメモリへ要求する、請求項8に記載の半導体装置。
- 前記キャッシュメモリは、前記ボコーダ処理部から前記第2のプログラムデータのプリフェッチの要求があった際、前記第2のプログラムデータを保持していなければ、前記外部メモリから前記第2のプログラムデータをプリフェッチする、請求項10に記載の半導体装置。
- 前記キャッシュメモリの容量が100キロバイト以下である、請求項8に記載の半導体装置。
- 符号化処理後の前記送信音声信号に対する変調処理と復号化処理前の前記受信音声信号に対する復調処理とを実行するモデムをさらに備える、請求項8に記載の半導体装置。
- 以下を含む電子装置:
(a)所定のサイクルタイムで、送信音声信号の符号化処理と受信音声信号の復号化処理とを交互に繰返し実行するボコーダ処理部;
(b)前記復号化処理及び前記符号化処理を実行するためのプログラムを格納するメモリ;
(c)前記プログラムを構成するプログラムデータを一時的に保持するキャッシュメモリ、
ここで前記ボコーダ処理部は、前記符号化処理及び前記復号化処理の一方である第1のボコーダ処理を実行した後、次に前記符号化処理及び前記復号化処理の他方である第2のボコーダ処理を実行するまでの間に、当該第2のボコーダ処理に用いる第1のプログラムデータの前記メモリへのプリフェッチを前記キャッシュメモリへ要求する。 - 前記キャッシュメモリは、前記ボコーダ処理部から前記第1のプログラムデータのプリフェッチの要求があった際、前記第1のプログラムデータを保持していなければ、前記メモリから前記第1のプログラムデータをプリフェッチする、請求項14に記載の電子装置。
- 前記ボコーダ処理部は、前記第2のボコーダ処理を実行した後、次に前記符号化処理及び前記復号化処理の一方である第3のボコーダ処理を実行するまでの間に、当該第3のボコーダ処理に用いる第2のプログラムデータの前記メモリへのプリフェッチを前記キャッシュメモリへ要求する、請求項14に記載の電子装置。
- 前記キャッシュメモリは、前記ボコーダ処理部から前記第2のプログラムデータのプリフェッチの要求があった際、前記第2のプログラムデータを保持していなければ、前記メモリから前記第2のプログラムデータをプリフェッチする、請求項16に記載の電子装置。
- 前記キャッシュメモリの容量が100キロバイト以下である、請求項14に記載の電子装置。
- 前記メモリが書換可能である、請求項14に記載の電子装置。
- 前記メモリがDRAMである、請求項19に記載の電子装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012176254A JP2014035431A (ja) | 2012-08-08 | 2012-08-08 | ボコーダ処理方法、半導体装置、及び電子装置 |
US13/925,922 US9257123B2 (en) | 2012-08-08 | 2013-06-25 | Vocoder processing method, semiconductor device, and electronic device |
US14/987,628 US20160118052A1 (en) | 2012-08-08 | 2016-01-04 | Vocoder processing method, semiconductor device, and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012176254A JP2014035431A (ja) | 2012-08-08 | 2012-08-08 | ボコーダ処理方法、半導体装置、及び電子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014035431A true JP2014035431A (ja) | 2014-02-24 |
Family
ID=50066831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012176254A Pending JP2014035431A (ja) | 2012-08-08 | 2012-08-08 | ボコーダ処理方法、半導体装置、及び電子装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9257123B2 (ja) |
JP (1) | JP2014035431A (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02268021A (ja) * | 1989-04-10 | 1990-11-01 | Fujitsu Ltd | 信号符号器 |
JPH06161497A (ja) * | 1992-11-25 | 1994-06-07 | Kyocera Corp | 音声復号化器並びに音声符号化器 |
JP2003216198A (ja) * | 1994-02-16 | 2003-07-30 | Qualcomm Inc | ボコーダasic |
JP2005524136A (ja) * | 2002-04-26 | 2005-08-11 | フリースケール セミコンダクター インコーポレイテッド | 命令キャッシュ、及びメモリ競合を低減する方法 |
JP2010524106A (ja) * | 2007-04-10 | 2010-07-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データをキャッシュ・メモリにプリフェッチする方法、コンピュータ・プログラム、及びシステム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09259040A (ja) | 1996-03-25 | 1997-10-03 | Sharp Corp | キャッシュメモリ装置 |
EP0992916A1 (en) * | 1998-10-06 | 2000-04-12 | Texas Instruments Inc. | Digital signal processor |
US6732235B1 (en) * | 1999-11-05 | 2004-05-04 | Analog Devices, Inc. | Cache memory system and method for a digital signal processor |
US7089390B2 (en) * | 2001-02-16 | 2006-08-08 | Broadcom Corporation | Apparatus and method to reduce memory footprints in processor architectures |
US7187663B2 (en) * | 2001-10-09 | 2007-03-06 | Schmidt Dominik J | Flexible processing system |
US8781836B2 (en) * | 2011-02-22 | 2014-07-15 | Apple Inc. | Hearing assistance system for providing consistent human speech |
-
2012
- 2012-08-08 JP JP2012176254A patent/JP2014035431A/ja active Pending
-
2013
- 2013-06-25 US US13/925,922 patent/US9257123B2/en not_active Expired - Fee Related
-
2016
- 2016-01-04 US US14/987,628 patent/US20160118052A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02268021A (ja) * | 1989-04-10 | 1990-11-01 | Fujitsu Ltd | 信号符号器 |
JPH06161497A (ja) * | 1992-11-25 | 1994-06-07 | Kyocera Corp | 音声復号化器並びに音声符号化器 |
JP2003216198A (ja) * | 1994-02-16 | 2003-07-30 | Qualcomm Inc | ボコーダasic |
JP2005524136A (ja) * | 2002-04-26 | 2005-08-11 | フリースケール セミコンダクター インコーポレイテッド | 命令キャッシュ、及びメモリ競合を低減する方法 |
JP2010524106A (ja) * | 2007-04-10 | 2010-07-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データをキャッシュ・メモリにプリフェッチする方法、コンピュータ・プログラム、及びシステム |
Also Published As
Publication number | Publication date |
---|---|
US20160118052A1 (en) | 2016-04-28 |
US20140046657A1 (en) | 2014-02-13 |
US9257123B2 (en) | 2016-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10818270B2 (en) | Display driving method, and electronic device including the display driver integrated circuit for supporting the same | |
US11847992B2 (en) | Control method based on vertical synchronization signal and electronic device | |
US9939844B2 (en) | Electronic device with curved display module and operating method thereof | |
EP3091719B1 (en) | Method for short-range wireless communication and electronic device using the same | |
US9516453B2 (en) | Communication connection method in bluetooth device and apparatus thereto | |
US20170116987A1 (en) | Electronic device and method for executing function using speech recognition thereof | |
WO2015035870A1 (zh) | 多cpu调度方法及装置 | |
EP3139591A1 (en) | Apparatus and method for operating a mobile device using motion gestures | |
WO2018161534A1 (zh) | 一种显示图像的方法、双屏终端和计算机可读的非易失性存储介质 | |
US10897531B2 (en) | Message obtaining method and apparatus | |
US20140210706A1 (en) | Electronic device employing a flexible display and operating method thereof | |
US11258474B2 (en) | Method for reducing SAR value of mobile terminal, storage medium and mobile terminal | |
JP6027694B2 (ja) | スライド操作応答方法、スライド操作応答装置、端末装置、プログラム及び記録媒体 | |
CN103702028A (zh) | 一种控制拍摄的方法、装置及终端设备 | |
WO2015078145A1 (zh) | 放大显示字体的方法和装置 | |
JP5871075B2 (ja) | 中央演算装置を制御するための方法および装置 | |
JP2022501739A (ja) | スタイラスペン検出方法、システムおよび関連装置 | |
WO2020082954A1 (zh) | 终端设备壳体和移动终端 | |
US10739968B2 (en) | Apparatus and method for rotating 3D objects on a mobile device screen | |
CN108600480A (zh) | 可折叠的终端外壳以及终端 | |
CN104240710B (zh) | 一种信息传输的方法、系统及终端设备 | |
WO2020103008A1 (zh) | 音频检测方法、计算机可读存储介质和电子设备 | |
US20150070360A1 (en) | Method and mobile terminal for drawing sliding trace | |
JP2014035431A (ja) | ボコーダ処理方法、半導体装置、及び電子装置 | |
JP7404389B2 (ja) | 運動軌跡記録方法及び関連デバイス |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20150219 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160308 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20161011 |