JP4332973B2 - 復号化装置および復号化方法 - Google Patents
復号化装置および復号化方法 Download PDFInfo
- Publication number
- JP4332973B2 JP4332973B2 JP2000041433A JP2000041433A JP4332973B2 JP 4332973 B2 JP4332973 B2 JP 4332973B2 JP 2000041433 A JP2000041433 A JP 2000041433A JP 2000041433 A JP2000041433 A JP 2000041433A JP 4332973 B2 JP4332973 B2 JP 4332973B2
- Authority
- JP
- Japan
- Prior art keywords
- shift amount
- shift
- data
- encoded data
- decoding
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、ブロックごとに変換符号化が行なわれた、たとえばオーディオデータなどの任意の符号化データを復号化する装置および方法に関し、特に、復号化装置に使用するメモリの容量を少なくすることができる、復号化装置および復号化方法に関する。
【0002】
【従来の技術】
ディジタルオーディオ信号を高能率で圧縮する符号化方式としては、たとえばMPEGオーディオと呼ばれる国際標準化規格ISO/IEC11172−3(MPEG−1オーディオ)や13818−3(MPEG−2オーディオ)、13818−7(AAC:Advanced Audio Coding)などが知られている。
これらの方式では、オーディオ信号を複数個集めてブロック化し、ブロック単位で時間領域の信号から周波数領域の信号へと変換を行った後、人間の聴覚特性を利用した量子化を行ってデータ量の削減を行っている。
【0003】
たとえばAACの符号化処理では、入力されたオーディオ信号1024サンプルをブロック化し、ブロックごとにMDCT(Modified Discrete Cosine Transform)を行っている。そして、MDCTの結果出力される変換係数に対して量子化処理を行うことにより、データ量を圧縮している。AACにおいては、最終的に量子化された変換係数とヘッダ情報とをマルチプレクスし、符号化オーディオ信号のビットストリームが生成される。
なお、AACの詳細な内容については、たとえば、Marina BOSI,et al,“ISO/IECMPEG−2Advanced Audio Coding",Journal of Audio Engineering Society,Vol.45,No.10,1997 October に記載されている。
【0004】
たとえばこのようなAACで符号化されたオーディオ信号を復号化する、従来のオーディオ復号装置について、図5を参照して説明する。
図5は、従来の復号化装置の構成を示すブロック図であり、オーディオ復号装置90は、デマルチプレクス回路91、逆量子化回路92、データ用メモリ回路93および変換回路94を有する。
このようなオーディオ復号装置90においては、入力されたビットストリームは、デマルチプレクス回路91においてデマルチプレクスされて変換係数とヘッダ情報とに分離され、変換係数が逆量子化回路92へ入力される。
【0005】
逆量子化回路92において、変換係数に対して逆量子化処理が施され、逆量子化された変換係数はデータ用メモリ回路93に一時的に記憶された後、変換回路94に供給される。
そして、変換回路94においてIMDCT(逆MDCT)が行なわれ、周波数領域のデータである変換係数から、時間領域のデータである通常のオーディオ信号に変換され、元のオーディオ信号が復号され、オーディオ復号装置90より出力される。
【0006】
【発明が解決しようとする課題】
ところで、このようなブロック単位で変換および逆変換を行なうたとえばAACで符号化された信号の復号化装置においては、逆変換処理をブロック単位で行なう必要がある、すなわち、1ブロック分の変換係数がそろったところで行う必要がある。そのため、図5に示したオーディオ復号装置90のように、逆量子化回路92と変換回路94との間には、逆量子化処理と変換処理時間の時間のずれを吸収するためのバッファとしてのメモリが設けられている。
【0007】
しかしながら、このバッファとしてのメモリ回路は、決して容量が少ないものではなく、より容量を少なくしたいという要望がある。
たとえば、図5に示したオーディオ復号装置90において、データ用メモリ回路93のデータのビット幅BMは、逆量子化処理後の変換係数の1サンプルあたりのビット幅BQに基づいて決定される。このような場合、メモリ回路のビット幅BMと変換係数のビット幅BQの値を等しくすると、変換係数のビット幅BQの値が大きい場合にはメモリ回路の回路規模が著しく大きくなってしまう。
具体的には、たとえば変換係数のビット幅BQが24ビットで、ブロックサイズが1024サンプルの場合に、ステレオ信号左右2チャネル分のデータを記憶するには、6Kバイトの容量を有するメモリ回路が必要となる。
【0008】
特に、最近では、このような復号化装置はLSI上に構成する場合が多い。
そのような場合には、他の機能をも同じLSI上に構成したいため、あるいは安価なLSIを製造したいために、回路規模は少しでも小さくしたいという強い要望がある。しかしながら、たとえば前述したような6Kバイトもの容量を有するメモリ回路は、たとえが復号化LSIなどを考えた場合に、LSIの回路規模に対して十分大きい割合を占める回路であり、少しでも容量を少なくし、回路規模を小さくすることが望まれている。
【0009】
たとえば、前述したオーディオ復号装置90において、データ用メモリ回路93の容量を少なくするためには、メモリ回路のビット幅BMを変換係数のビット幅BQよりも小さくすることが考えられる。
しかし、そのような構成にすると、変換係数のビット精度が落ちるため、音質が劣化するなど、データ精度、データ品質に問題が生じる。
【0010】
さらに、そのような音質などのデータ品質の劣化を防ぐためには、ブロック単位で変換係数をMSB側にシフトすることにより、演算精度を必要なだけ確保するという方法も考えられる。しかし、そのような方法をとる場合には、一旦ブロック内のオーディオ信号全部を逆量子化しメモリに記憶してから、ブロック内の最大振幅を持つサンプルを検索し、そのサンプルのデータが飽和しないようにシフト量を決定しなければならず、結局、変換係数のビット幅BQと同じビット幅のメモリ回路が必要となってしまう。
【0011】
したがって本発明の目的は、データ品質の劣化を防ぎつつメモリ量を削減することのできる、安価でデータ品質の良い復号化装置を提供することにある。
また、本発明の他の目的は、データ品質の劣化を防ぎつつメモリ量を削減することのできる、安価でデータ品質の良い復号化方法を提供することにある。
【0012】
【課題を解決するための手段】
前記課題を解決するために、本発明の復号化装置は、順次入力される、ブロックごとに変換符号化された所定ビット幅の符号化データに対して、有効なビットを欠落させることなく当該データをMSB側にシフトする最大のシフト量を検出するシフト量検出手段と、前記順次入力される符号化データを、前記検出されたシフト量以下の仮のシフト量でMSB側にシフトする第1のシフト手段と、前記シフトされた符号化データの上位の所定ビット幅部分を記憶するデータ記憶手段と、前記記憶された符号化データを上記データ記憶手段から読み出し、上記読み出した符号化データについての上記仮のシフト量と実際に行うべきシフト量との差を調整シフト量として検出し、当該符号化データを上記調整シフト量でLSB側にシフトする第2のシフトを行なう第2のシフト手段と、前記第2のシフト手段でシフトされた前記符号化データを復号化する復号化手段とを有する。
【0013】
好適には、前記第1のシフト手段は、前記符号化データのビット幅と上記データ記憶手段のビット幅の差を上記仮のシフト量の初期値として設定し、当該符号化データに対して前記検出されたシフト量が、上記仮のシフト量より小さい場合は、当該検出されたシフト量で前記順次入力される符号化データをMSB側にシフトし、当該検出されたシフト量を上記仮のシフト量として更新し、上記仮のシフト量以上の場合は、当該上記仮のシフト量で前記順次入力される符号化データをMSB側にシフトし、設定されている上記仮のシフト量の値をそのまま維持する。
また好適には、前記第2のシフト手段は、上記最終的に更新された仮のシフト量を上記実際に行うべきシフト量として上記調整シフト量を検出して、前記記憶された符号化データを読み出しそのシフト量を調整する。
【0014】
さらに好適には、前記符号化データ各々の前記第1のシフト手段における仮のシフト量を記憶するシフト量記憶手段をさらに有し、前記第2のシフト手段は、前記記憶された符号化データを読み出し、当該読み出した符号化データについての上記仮のシフト量と実際に行うべきシフト量との差を調整シフト量として検出し、当該符号化データを上記調整シフト量でLSB側にシフトすることにより、そのシフト量を調整する。
特定的には、前記シフト量記憶手段は、前記順次入力される符号化データに応じて前記仮のシフト量が更新されるごとに、当該変更位置および変更結果のシフト量を記憶する。
【0015】
特定的には、ブロックごとに変換符号化され量子化された符号化データを順次逆量子化し所定ビット幅の逆量子化されたデータを順次生成する逆量子化手段をさらに有し、前記シフト量検出手段は、前記順次逆量子化されたデータに対して、前記最大のシフト量を検出する。
また好適には、前記データ記憶手段は、前記シフト量の調整された前記符号化データを順次記憶し、前記復号化手段は、前記記憶手段よりシフト量の調整された前記符号化データを読み出し、復号化する。
【0016】
また好適には、前記データ記憶手段は、前記シフトされた符号化データの上位の、当該データ記憶手段の1ワード当たりのビット幅に相当する部分を順次記憶する。
また特定的には、前記復号化手段において復号化された前記データを、当該復号化処理前の前記符号化データのシフト量に応じて調整する復号化データ調整手段をさらに有する。
さらに特定的には、前記データは、オーディオデータである。
【0017】
また、本発明の復号化方法は、順次入力される、ブロックごとに変換符号化された所定ビット幅の符号化データに対して、有効なビットを欠落させることなく当該データをMSB側にシフトする最大のシフト量を検出し、前記順次入力される符号化データを、前記検出されたシフト量以下の仮のシフト量でMSB側に第1のシフトを行ない、前記シフトされた符号化データの上位の所定ビット幅部分を順次記憶し、前記記憶された符号化データを読み出し、上記読み出した符号化データについての上記仮のシフト量と実際に行うべきシフト量との差を調整シフト量として検出し、当該符号化データを、上記調整シフト量でLSB側にシフトする第2のシフトを行ない、前記第2のシフトがされた前記符号化データを復号化する。
【0018】
【発明の実施の形態】
本発明の一実施の形態のオーディオ復号装置について、図1〜図5を参照して説明する。
【0019】
まず、そのオーディオ復号装置10の構成について説明する。
図1は、本発明の一実施の形態のオーディオ復号装置10の構成を示すブロック図である。
オーディオ復号装置10は、デマルチプレクス回路11、逆量子化回路12、バッファ処理部20、変換回路14およびデータ調整回路15を有する。
【0020】
デマルチプレクス回路11は、オーディオ復号装置10に入力されるブロック単位に符号化されたオーディオデータのビットストリームをデマルチプレクスし、ヘッダ情報と変換係数に分離し、変換係数を逆量子化回路12に出力する。ヘッダ情報は、図示しない制御部により、各構成部における処理の制御あるいは復号化したオーディオ信号の出力の際などに適宜参照される。
【0021】
逆量子化回路12は、デマルチプレクス回路11より入力された変換係数に対して逆量子化処理を行い、逆量子化された変換係数をバッファ処理部20のシフト回路24およびシフト量検出回路21に出力する。
なお、本実施の形態において逆量子化された変換係数のデータ幅(ビット幅)は、24ビットとする。
【0022】
バッファ処理部20は、逆量子化回路12と後段の変換回路14との間の処理時間の差異を吸収するために、逆量子化回路12より出力される逆量子化された変換係数を一時的に記憶するバッファである。
そして特に本実施の形態のバッファ処理部20は、逆量子化された変換係数の各サンプルデータをビット幅を縮小して記憶することにより、従来より少ないメモリ容量で逆量子化された変換係数を記憶するようにしている。
なお、バッファ処理部20においては、逆量子化回路12から入力される逆量子化された変換係数を仮のシフト量でシフトさせてデータ用メモリ回路25に記憶する第1段階のシフト処理と、その結果に基づいてブロックごとに統一したシフト量でシフトさせたデータを生成する第2段階のシフト処理とを行なう。
【0023】
このバッファ処理部20の構成について詳細に説明する。
バッファ処理部20は、図示のごとく、シフト量検出回路21、シフト制御回路22、シフト情報用メモリ回路23、シフト回路24およびデータ用メモリ回路25を有する。
【0024】
シフト量検出回路21は、前述した第1段階のシフト処理の際に、逆量子化回路12より入力される逆量子化された変換係数に対して、1サンプルデータごとに、そのデータを飽和することなく最大限MSB側に移動させるためのシフト量Stmp 、すなわち、そのデータの有効な最上位のビットをMSBの位置に移動させるためのシフト量Stmp を検出し、シフト制御回路22に出力する。ただし、後段で実際にシフトを行なう際の最大のシフト量は、逆量子化された変換係数のビット幅BQと、データ用メモリ回路25に記憶されるデータのビット幅BMとの差BQ−BMビットである。したがって、シフト量検出回路21においては、シフト量がビット幅の差BQ−BMビット以上となった場合には、いずれもこの最大シフト量BQ−BMビットを検出結果として出力する。
【0025】
具体的には、たとえば逆量子化回路12で逆量子化された変換係数のビット幅BQが24ビット(LSBをビット0、MSBをビット23とする)であり、あるサンプルのデータが18ビットで示される値、すなわち18ビットのデータであったとする。その場合、そのサンプルデータの最上位のビットはビット17となり、これをMSB(ビット23)までシフトさせるためには、6ビットのシフトが必要となる。この、たとえば6ビットというシフト量Stmp を各サンプルデータごとにシフト量検出回路21が検出し、シフト制御回路22に出力する。
【0026】
シフト制御回路22は、シフト回路24で行なうシフト量の決定およびそのシフトの制御を行なう。
まず、前述した第1段階のシフト処理の際には、シフト制御回路22は、シフト量検出回路21より入力されるシフト量Stmp に基づいて、シフト回路24において逆量子化回路12より出力される逆量子化された変換係数に対して実際に行なうシフト量Slastを決定し、そのシフトを制御する。
【0027】
第1段階のシフト処理の際のシフト制御回路22における処理について具体的に説明する。
まず、シフト制御回路22は、各ブロックの区切りごとに、シフト回路24において実際にシフトを行なうシフト量Slastに、シフト量の最大値である逆量子化された変換係数のビット幅BQとデータ用メモリ回路25のビット幅BMとの差BQ−BMを、初期値としてセットする。
しておく。
次に、逆量子化回路12より順次出力される逆量子化された変換係数に対応してシフト量検出回路21より入力されるシフト量Stmp を、実際に行なうシフト量Slastと比較し、シフト量Slast<シフト量Stmp であった場合にシフト量Slastをシフト量Stmp で更新する。シフト量Slast≧シフト量Stmp の場合には、そのままシフト量Slastの値を維持する。
【0028】
シフト量Slast>シフト量Stmp という状態は、そのシフト量Slastで変換係数をシフトした場合、変換係数のMSB側のビットが飽和して欠落し、変換係数が大きく変更されて音質に影響を与えるという状態である。したがってそのような場合には、実際にシフトを行なうシフト量Slastをその変換係数に対応した最大のシフト量シフト量Stmp で更新しておくことにより、変換係数のMSB側のデータの欠落を防ぐことができる。
【0029】
そして、このように適宜更新されたシフト量Slast分だけ、対応する逆量子化された変換係数をMSB側にシフトするように、シフト回路24を制御する。
なお、シフト量Slastの値が更新された場合には、シフト制御回路22は、その更新が行なわれた変換係数の、ブロック内での位置および、更新されたそのシフト量Stmp (=シフト量Slast)を、シフト情報用メモリ回路23に出力し、記憶する。
【0030】
また、前述した第2段階のシフト処理の際には、シフト制御回路22は、シフト回路24で行なわれる、第1段階のシフト処理で順次シフトを行いながら一旦データ用メモリ回路25に記憶させたブロックごとの変換係数に対する、シフト量を調整するための再度のシフト処理に対して、そのシフト量Sadj の決定およびそのシフトの制御を行なう。
【0031】
第2段階のシフト処理の際のシフト制御回路22における処理について具体的に説明する。
第2段階のシフト処理が開始される時点で、データ用メモリ回路25には、逆量子化回路12から出力された逆量子化された変換係数が第1段階のシフト処理により各々所定のシフト量でシフトされた結果のデータが記憶されている。
また、その第1段階のシフト処理の際の各変換係数に対するシフト量は、シフト情報用メモリ回路23に、シフト量が変更されたデータのぶロック内での位置、および、その際のシフト量という形態で記憶されている。
【0032】
さらに、第1段階のシフト処理が終了した時点で、シフト制御回路22が記憶しているシフト量Slastは、そのブロック内の全ての変換係数に対して同一のシフト量でMSB側にシフトを行なう場合に、いずれの変換係数についてもMSB側のデータを飽和させることなくシフトを行なうことのできる最大のシフト量が設定されていることになる。
したがってシフト制御回路22は、データ用メモリ回路25に記憶されている同一ブロック内の変換係数が、全て同じシフト量SlastでMSB側にシフトされたデータとなるように、シフト回路24において各変換係数のシフト量の調整を行なうように、シフト回路24を制御する。
【0033】
すなわち、シフト回路24が順次データ用メモリ回路25より変換係数を読み出すのに対応して、シフト情報用メモリ回路23に記憶されている情報を参照して、その変換係数が第1段階のシフト処理の際にシフトされたシフト量Sを検出し、そのシフト量Sと目的とするシフト量Slastとの差を検出する。この差が、調整すべきシフト量Sadj となり、シフト制御回路22は、このシフト量Sadj だけその変換係数をLSB側にシフトするよう、シフト回路24を制御する。
【0034】
シフト情報用メモリ回路23は、前述した第1段階のシフト処理の際に、シフト制御回路22の制御によりシフト回路24で行なわれた同一のブロック内の各変換係数に対するシフトの量を記憶するメモリである。
前述したように、シフト制御回路22においては、順次逆量子化回路12より出力されるブロックごとの変換係数に対して、最大のシフト量を初期値としておき、そのシフト量でシフトを行なうとデータが飽和してしまう場合に順次シフト量をそのデータに適したシフト量減少させていく。したがって、シフト量の変更は、最大でも逆量子化回路12より出力される変換係数のビット幅BQとデータ用メモリ回路25のデータのビット幅BMとの差BQ−BM回となる。
【0035】
たとえば、変換係数のビット幅BQが24ビットでデータ用メモリ回路25のデータのビット幅BMが16ビットの場合には、この差は8ビットである。したがってシフト情報用メモリ回路23は、図2に示すように、有効なデータの個数nを示すデータ、変更される最大8回の各シフト量を示すデータS[0]〜S[7]、および、最大8回のシフト量を変更した位置を示すデータP[0]〜P[7]が記憶されればよい。
このシフト情報用メモリ回路23に記憶されたデータは、第2段階のシフト処理の際に、シフト制御回路22より読み出されて参照される。
【0036】
シフト回路24は、シフト制御回路22からの制御に基づいて、順次入力される変換係数を所望の方向に所望のビット数だけシフトし、シフトしたデータのMSB側より、データ用メモリ回路25のデータのビット幅BM分のデータを抽出し、データ用メモリ回路25に記憶する。
第1段階のシフト処理の際には、シフト回路24は、逆量子化回路12から入力される逆量子化された変換係数を、シフト制御回路22から入力されるシフト量SlastだけMSB方向にシフトし、上位のBMビットをデータ用メモリ回路25に記憶する。
また、第2段階のシフト処理の際には、シフト回路24は、データ用メモリ回路25から読み出される変換係数を、シフト制御回路22から入力される調整用のシフト量Sadj だけLSB方向にシフトし、データ用メモリ回路25に記憶する。
【0037】
なお、このシフト回路24は、特許請求の範囲に記載の第1のシフト手段と第2のシフト手段の両方を機能を順に実現する回路である。すなわち、第1段階のシフト処理を行なっている時のシフト回路24が第1のシフト手段に相当し、第2段階のシフト処理を行なっている時のシフト回路24が第2のシフト手段に相当する。
【0038】
データ用メモリ回路25は、逆量子化回路12と変換回路14との間の処理時間の差異を吸収するために、逆量子化回路12より出力される逆量子化された変換係数を一時的に記憶する記憶手段本体である。
前述したように、データ用メモリ回路25には、第1段階のシフト処理により、逆量子化回路12からバッファ処理部20に入力された逆量子化された変換係数が、一旦、仮のシフト量でシフトされて記憶される。そして、第2段階のシフト処理により、この変換係数が読み出され、シフト量を調整するためにシフト回路24において再度シフト処理が行なわれ、再度データ用メモリ回路25に書き込まれる。
そして、第2段階のシフト処理が終了した変換係数は、変換回路14から順次読み出される。
以上が、バッファ処理部20の構成である。
【0039】
変換回路14は、データ用メモリ回路25よりブロックごとの変換係数を読み出し、たとえばIMDCT(逆MDCT)を行なうなどして、周波数領域のデータから時間領域の通常のオーディオ信号に変換する。変換結果のオーディオ信号は、データ調整回路15に出力する。
【0040】
データ調整回路15は、変換回路14より入力される時間領域の信号に変換されたオーディオ信号を、所定のシフト量だけLSB方向にシフトし、バッファ処理部20によりシフトされたことによるレベルの変化を元のレベルに調整し、オーディオ復号装置10からの復号オーディオ信号として出力する。
なお、ここでのシフト量は、各ブロックごとの変換係数に対するバッファ処理部20における最終的なシフト量、換言すれば、シフト制御回路22における第1段階のシフト処理の後のシフト量Slastと、変換回路14における変換方式に基づいて決定される。
【0041】
次に、このような構成のオーディオ復号装置10の動作について説明する。
なお、以下の説明では、逆量子化回路12より出力される逆量子化された変換係数のビット幅BQは24ビット、データ用メモリ回路25のデータのビット幅BMは16ビットとする。
まず、オーディオ復号装置10に入力された符号化されたオーディオ信号のビットストリームは、デマルチプレスク回路11においてデマルチプレクスされ、変換係数とヘッダ情報とに分離され、変換係数が逆量子化回路12へ出力される。
逆量子化回路12は、変換係数に対して逆量子化処理を施し、逆量子化された変換係数をバッファ処理部20のシフト量検出回路21およびシフト回路24に順次出力する。
【0042】
バッファ処理部20では、まず、第1段階のシフト処理として、逆量子化回路12の出力である変換係数を、適宜適応的に変更されるシフト量を用いてシフトし、シフト結果の変換係数の上位BMビット(16ビット)をデータ用メモリ回路25に書き込む。
バッファ処理部20におけるこの第1段階のシフト処理について、図3に示すフローチャートを参照して詳細に説明する。
【0043】
バッファ処理部20は、逆量子化回路12より新たなブロックの逆量子化された変換係数が出力されることにより新たな一連の処理を開始し(ステップS30)、まず、初期化を行なう(ステップS31)。具体的には、図2に示したような、シフト情報用メモリ回路23の、シフト量の変更個数n、シフト量S[0]〜S[7]、シフト位置P[0]〜P[7]の各値を0に初期化する。また、シフト制御回路22で使用するシフト量Slastをシフトの必要のある最大値に初期化し、変換係数の位置を示す補助変数iiを0に初期化する。なお、本実施の形態においてシフト量Slastの初期値は、BQ=24ビット、BM=16ビットであるため、その差の8となる。
【0044】
初期化が終了したら、シフト量検出回路21が逆量子化回路12から出力される逆量子化された変換係数を1つずつ読み込み(ステップS32)、その変換係数を飽和することなくMSB側にシフトできる最大のシフト量Stmp を検出し、シフト制御回路22に出力する(ステップS33)。なお、このシフト量Stmp も、BQ=24ビット、BM=16ビットであるため、0から8までの値となる。
【0045】
シフト制御回路22においては、このシフト量Stmp をそれまでに設定されているシフト回路24で使用するシフト量Slastと比較する(ステップS34)。
比較の結果、新たに検出されたシフト量Stmp が現在のシフト量Slastより小さい場合には、シフト量Slastを更新してSlast=Stmp とする(ステップS35)。そして、シフト量Slastをシフト量S[n]として、データの位置を示す補助変数iiをシフト位置P[n]として、各々シフト情報用メモリ回路23に記録し(ステップS36)、シフト量の変更個数nを1カウントアップしておく(ステップS37)。
【0046】
ステップS34において、新たに検出されたシフト量Stmp が現在のシフト量Slast以上の場合には、その変換係数のデータは現在のシフト量Slastによるシフトで飽和しないことになるので、シフト量の変更は行なわない。
そして、そのようなシフト量Stmp ≧シフト量Slastの場合、および、ステップS35〜ステップS37においてシフト量Slastの変更が行なわれた場合のいずれも、シフト回路24において、シフト量Slastを使って、対応する1サンプル分の変換係数を、シフト量SlastビットだけMSB側にシフトし、上位のBMビットをデータ用メモリ回路25に記録する(ステップS38)。また同時に、変換係数の位置を示す補助変数iiを1カウントアップする。
【0047】
そして、この補助変数iiの値がブロック内の変換係数の個数に一致するか否かを検出することにより(ステップS39)、ブロック内の全ての変換係数に対して、ステップS32〜ステップS38の、シフトおよびデータ用メモリ回路25への記憶の処理を行なったか否かをチェックし、全てのデータに対して処理を行なっていれば、この第1段階のシフト処理を終了する(ステップS40)。
なお、この時最後に保持されているシフト量Slastが、そのブロックに最適のシフト量となる。
【0048】
このような第1段階のシフト処理が終了し、全ての変換係数をデータ用メモリ回路25に書き終わったら、同じブロックの変換係数を、同一のシフト量でシフトされたデータにするために、シフト量の再調整を行う第2段階のシフト処理を行なう。
バッファ処理部20におけるこの第2段階のシフト処理について、図4に示すフローチャートを参照して詳細に説明する。
まず、第1段階の処理が終了すると、直ちに第2段階の処理が開始され(ステップS50)、初期設定として、シフト情報用メモリ回路23に記録されているシフト量の個数nがシフト制御回路22に読み込まれ(ステップS51)、さらに、記憶されているシフト量Sを指示するポインタm、および、変換係数の位置を示す補助変数iiが0にセットされる(ステップS52)。
【0049】
次に、シフト量を調整すべきデータの処理が終了したか否かをチェックするために、ポインタmを1加算した値(m+1)とシフト量の個数nとを比較する(ステップS53)。
値(m+1)とシフト量の個数nとが等しい時には、残りのデータは、最終的なシフト量Slast(=S[n+1]=S[m])で既にシフトされたデータと言うことになるので、第2段階のこのシフト量の調整処理は終了する(ステップS54)。これらのデータについては、データ用メモリ回路25に記憶されているデータの書き換えも行なわないものとする。
【0050】
値(m+1)とシフト量の個数nとが等しくない時、すなわち値(m+1)<シフト量の個数nの時は、シフト量S[m]は最終的なシフト量Slastではなく、このシフト量S[m]でシフトされた位置ii〜(P[m+1]−1)までのデータは、シフト量の調整が必要なデータということになる。
したがって、シフト回路24は、位置ii〜(P[m+1]−1)の間の変換係数をデータ用メモリ回路25から読み出し、(Slast−S[m])ビットだけLSB側にシフトし、再びデータ用メモリ回路25の同じアドレスに書き込む(ステップS55)。
【0051】
そして、位置iiを次のシフト量の開始位置P[m+1]に変更し、さらに、ポインタmを1カウントアップして(ステップS56)、ステップS53に戻り、次のシフト量についての調整に移る。
このようなステップS55,S56の処理を、ステップS53においてn=(m+1)となるまで続けることにより、シフト量Slast以外のシフト量でシフトされた全ての変換係数が、シフト量Slastでシフトされた値に調整される。
【0052】
バッファ処理部20において、このようにして、データ用メモリ回路25に変換係数が記憶されたら、変換回路14がこれを順次読み出し、IMDCTなどの処理を行なって周波数領域のデータから時間領域の通常のオーディオ信号に変換する。
そして得られたオーディオ信号に対して、バッファ処理部20においてシフトされた分の補正を、バッファ処理部20におけるシフト量Slastに基づいてデータ調整回路15で行い、復号オーディオ信号を得て、オーディオ復号装置10より出力する。
【0053】
このように、本実施の形態のオーディオ復号装置10においては、第一段階の処理でサンプルごとに適応的にシフト量を調整しながらブロック全体での最適なシフト量を求め、第二段階の処理でシフト量の不一致の分についての修正を行っている。したがって、変換係数のビット幅BQに比べて少ないビット幅のデータ用メモリ回路25を用いながらも、音質の劣化を防いで、復号化処理を行なうことができる。
そしてその結果、メモリ量の削減を行うことができ、オーディオ復号装置10は、安価で音質の良い復号化装置となっている。
【0054】
なお、本発明は本実施の形態に限られるものではなく、任意好適な種々の改変が可能である。
たとえば、本実施の形態においては、オーディオ信号の復号化装置を例示したが、ブロック単位で符号化が行なわれる符号化データであれば、任意のデータの復号化装置として適用可能である。たとえばビデオ信号の復号化装置に適用してもよい。
【0055】
また、本実施の形態においては、シフト回路24において、本発明の第1のシフト手段と第2のシフト手段の両方の機能を交互に実現するものとした。しかし、本発明の第1のシフト手段と第2のシフト手段に相当するシフト回路を、別個に設けるような構成であってもよい。
また、シフト回路24とデータ調整回路15は、本実施の形態においては実質的に同じシフト機能を持つ回路である。したがって、各処理間のタイミングをうまく調整できれば、二つの回路を一つの回路に統合するようにしてもよい。
また、変換回路14における変換処理も、AACの逆変換処理に限定されるものではなく、任意の変換処理を行なってよい。
【0056】
【発明の効果】
このように、本発明によれば、データ品質の劣化を防ぎつつメモリ量を削減することのできる、安価でデータ品質の良い復号化装置および復号化方法を提供することができる。
【図面の簡単な説明】
【図1】図1は、本発明の一実施の形態のオーディオ復号装置の構成を示すブロック図である。
【図2】図2は、図1に示したオーディオ復号装置のシフト情報用メモリ回路に記憶される、第1段階のシフト処理の際の各データのシフト量を示すデータを説明するための図である。
【図3】図3は、図1に示したオーディオ復号装置のバッファ処理部で行なう第1段階のシフト処理の流れを示すフローチャートである。
【図4】図4は、図1に示したオーディオ復号装置のバッファ処理部で行なう第2段階のシフト処理の流れを示すフローチャートである。
【図5】図5は、従来のオーディオ復号装置の構成を示すブロック図である。
【符号の説明】
10…オーディオ復号装置、11…デマルチプレクス回路、12…逆量子化回路、14…変換回路、15…データ調整回路、20…バッファ処理部、21…シフト量検出回路、22…シフト制御回路、23…シフト情報用メモリ回路、24…シフト回路、25…データ用メモリ回路、90…オーディオ復号装置、91…デマルチプレクス回路、92…逆量子化回路、93…データ用メモリ回路、94…変換回路
Claims (16)
- 順次入力される、ブロックごとに変換符号化された所定ビット幅の符号化データに対して、有効なビットを欠落させることなく当該データをMSB側にシフトする最大のシフト量を検出するシフト量検出手段と、
前記順次入力される符号化データを、前記検出されたシフト量以下の仮のシフト量でMSB側にシフトする第1のシフト手段と、
前記シフトされた符号化データの上位の所定ビット幅部分を記憶するデータ記憶手段と、
前記記憶された符号化データを上記データ記憶手段から読み出し、
上記読み出した符号化データについての上記仮のシフト量と実際に行うべきシフト量との差を調整シフト量として検出し、
当該符号化データを上記調整シフト量でLSB側にシフトする第2のシフトを行なう
第2のシフト手段と、
前記第2のシフト手段でシフトされた前記符号化データを復号化する復号化手段と
を有する復号化装置。 - 前記第1のシフト手段は、
前記符号化データのビット幅と上記データ記憶手段のビット幅の差を上記仮のシフト量の初期値として設定し、
当該符号化データに対して前記検出されたシフト量が、上記仮のシフト量より小さい場合は、当該検出されたシフト量で前記順次入力される符号化データをMSB側にシフトし、当該検出されたシフト量を上記仮のシフト量として更新し、
上記仮のシフト量以上の場合は、当該上記仮のシフト量で前記順次入力される符号化データをMSB側にシフトし、設定されている上記仮のシフト量の値をそのまま維持する
請求項1に記載の復号化装置。 - 前記第2のシフト手段は、上記最終的に更新された仮のシフト量を上記実際に行うべきシフト量として上記調整シフト量を検出して、前記記憶された符号化データを読み出しそのシフト量を調整する
請求項2に記載の復号化装置。 - 前記符号化データ各々の前記第1のシフト手段における仮のシフト量を記憶するシフト量記憶手段
をさらに有し、
前記第2のシフト手段は、前記記憶された符号化データを読み出し、当該読み出した符号化データについての上記仮のシフト量と実際に行うべきシフト量との差を調整シフト量として検出し、当該符号化データを上記調整シフト量でLSB側にシフトすることにより、そのシフト量を調整する
請求項3に記載の復号化装置。 - 前記シフト量記憶手段は、前記順次入力される符号化データに応じて前記仮のシフト量が更新されるごとに、当該変更位置および変更結果のシフト量を記憶する
請求項4に記載の復号化装置。 - ブロックごとに変換符号化され量子化された符号化データを順次逆量子化し所定ビット幅の逆量子化されたデータを順次生成する逆量子化手段
をさらに有し、
前記シフト量検出手段は、前記順次逆量子化されたデータに対して、前記最大のシフト量を検出する
請求項3に記載の復号化装置。 - 前記データ記憶手段は、前記シフト量の調整された前記符号化データを順次記憶し、
前記復号化手段は、前記記憶手段よりシフト量の調整された前記符号化データを読み出し、復号化する
請求項3に記載の復号化装置。 - 前記データ記憶手段は、前記シフトされた符号化データの上位の、当該データ記憶手段の1ワード当たりのビット幅に相当する部分を順次記憶する
請求項3に記載の復号化装置。 - 前記復号化手段において復号化された前記データを、当該復号化処理前の前記符号化データのシフト量に応じて調整する復号化データ調整手段
をさらに有する請求項3に記載の復号化装置。 - 前記データは、オーディオデータである
請求項3に記載の復号化装置。 - 順次入力される、ブロックごとに変換符号化された所定ビット幅の符号化データに対して、有効なビットを欠落させることなく当該データをMSB側にシフトする最大のシフト量を検出し、
前記順次入力される符号化データを、前記検出されたシフト量以下の仮のシフト量でMSB側に第1のシフトを行ない、
前記シフトされた符号化データの上位の所定ビット幅部分を順次記憶し、
前記記憶された符号化データを読み出し、
上記読み出した符号化データについての上記仮のシフト量と実際に行うべきシフト量との差を調整シフト量として検出し、
当該符号化データを、上記調整シフト量でLSB側にシフトする
第2のシフトを行ない、
前記第2のシフトがされた前記符号化データを復号化する
復号化方法。 - 前記第1のシフトにおいては、
前記符号化データのビット幅と上記データ記憶手段のビット幅の差を上記仮のシフト量の初期値として設定し、
当該符号化データに対して前記検出されたシフト量が、上記仮のシフト量より小さい場合は、当該検出されたシフト量で当該符号化データをMSB側にシフトし、当該検出されたシフト量を上記仮のシフト量として更新し、
上記仮のシフト量以上の場合は、当該上記仮のシフト量で当該符号化データをMSB側にシフトし、設定されている上記仮のシフト量の値をそのまま維持する
請求項11に記載の復号化方法。 - 前記第2のシフトにおいては、上記最終的に更新された仮のシフト量を上記実際に行うべきシフト量として上記調整シフト量を検出して前記記憶された符号化データをシフトする
請求項12に記載の復号化方法。 - 前記入力される符号化データは、ブロックごとに変換符号化され量子化されたデータを順次逆量子化した所定ビット幅のデータである
請求項13に記載の復号化方法。 - 前記第2のシフトが行なわれた符号化データを、前記第1のシフトを記憶した記憶手段に記憶し、
前記復号化は、前記記憶手段より前記第2のシフトが行なわれた前記符号化データを読み出し行なう
請求項13に記載の復号化方法。 - 前記復号化されたデータを、当該復号化処理前の前記符号化データのシフト量に応じて調整し、最終的な復号化データを得る
請求項13に記載の復号化方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000041433A JP4332973B2 (ja) | 2000-02-15 | 2000-02-15 | 復号化装置および復号化方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000041433A JP4332973B2 (ja) | 2000-02-15 | 2000-02-15 | 復号化装置および復号化方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001230674A JP2001230674A (ja) | 2001-08-24 |
| JP4332973B2 true JP4332973B2 (ja) | 2009-09-16 |
Family
ID=18564677
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000041433A Expired - Fee Related JP4332973B2 (ja) | 2000-02-15 | 2000-02-15 | 復号化装置および復号化方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4332973B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11818353B2 (en) * | 2021-05-13 | 2023-11-14 | Qualcomm Incorporated | Reduced complexity transforms for high bit-depth video coding |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4213708B2 (ja) * | 1995-09-29 | 2009-01-21 | ユナイテッド・モジュール・コーポレーション | オーディオ復号装置 |
| JP3761639B2 (ja) * | 1995-09-29 | 2006-03-29 | ユナイテッド・モジュール・コーポレーション | オーディオ復号装置 |
| JPH10294668A (ja) * | 1997-04-22 | 1998-11-04 | Matsushita Electric Ind Co Ltd | オーディオ符号化データ復号化方法、オーディオ符号化データ復号化装置、及び記録媒体 |
| JP2000165861A (ja) * | 1998-11-26 | 2000-06-16 | Oki Electric Ind Co Ltd | 動画像復号装置 |
-
2000
- 2000-02-15 JP JP2000041433A patent/JP4332973B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001230674A (ja) | 2001-08-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5867819A (en) | Audio decoder | |
| US9875746B2 (en) | Encoding device and method, decoding device and method, and program | |
| JP4639441B2 (ja) | ディジタル信号処理装置および処理方法、並びにディジタル信号記録装置および記録方法 | |
| US6240388B1 (en) | Audio data decoding device and audio data coding/decoding system | |
| JP5032314B2 (ja) | オーディオ符号化装置、オーディオ復号化装置およびオーディオ符号化情報伝送装置 | |
| US20080253587A1 (en) | Method for automatically adjusting audio volume and audio player | |
| JP2009116371A (ja) | 符号化装置および復号化装置 | |
| EP1087379B1 (en) | Quantization errors correction method in an audio decoder | |
| JP4800645B2 (ja) | 音声符号化装置、及び音声符号化方法 | |
| JP3811110B2 (ja) | ディジタル信号符号化方法、復号化方法、これらの装置、プログラム及び記録媒体 | |
| US5812982A (en) | Digital data encoding apparatus and method thereof | |
| JPH0846516A (ja) | 情報符号化方法及び装置、情報復号化方法及び装置、並びに記録媒体 | |
| JP4308229B2 (ja) | 符号化装置および復号化装置 | |
| EP1742203B1 (en) | Audio level control for compressed audio | |
| US20010032072A1 (en) | Apparatus and method for converting reproducing speed | |
| US8010374B2 (en) | Audio coding apparatus and audio decoding apparatus | |
| JP2001230674A (ja) | 復号化装置および復号化方法 | |
| KR100851715B1 (ko) | 데이터의 압축 및 압축해제를 위한 방법, 장치 및 회로 | |
| JP4351684B2 (ja) | ディジタル信号復号化方法、装置、プログラム及び記録媒体 | |
| JP3262941B2 (ja) | サブバンド分割符号化オーディオ復号器 | |
| JP2006146247A (ja) | オーディオ復号装置 | |
| KR100247348B1 (ko) | 엠펙 오디오 디코더에서 메모리 사이즈를 최소화하기 위한 회로 및 방법 | |
| Kurth et al. | A Dynamic Embedding Codec for Multiple Generations Compression | |
| JP2007178529A (ja) | 符号化オーディオ信号再生装置及び符号化オーディオ信号再生方法 | |
| JPH1152996A (ja) | データ圧縮装置およびデータ伸長装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060928 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090119 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090127 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090319 |
|
| 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: 20090602 |
|
| 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: 20090615 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120703 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120703 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |