Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3682863B2 - Speech decoding method and speech decoding apparatus - Google Patents
[go: Go Back, main page]

JP3682863B2 - Speech decoding method and speech decoding apparatus - Google Patents

Speech decoding method and speech decoding apparatus Download PDF

Info

Publication number
JP3682863B2
JP3682863B2 JP2001212432A JP2001212432A JP3682863B2 JP 3682863 B2 JP3682863 B2 JP 3682863B2 JP 2001212432 A JP2001212432 A JP 2001212432A JP 2001212432 A JP2001212432 A JP 2001212432A JP 3682863 B2 JP3682863 B2 JP 3682863B2
Authority
JP
Japan
Prior art keywords
data
data string
point
string
fifo buffer
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
Application number
JP2001212432A
Other languages
Japanese (ja)
Other versions
JP2003029788A (en
Inventor
慶介 宮本
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.)
Korg Inc
Original Assignee
Korg Inc
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 Korg Inc filed Critical Korg Inc
Priority to JP2001212432A priority Critical patent/JP3682863B2/en
Publication of JP2003029788A publication Critical patent/JP2003029788A/en
Application granted granted Critical
Publication of JP3682863B2 publication Critical patent/JP3682863B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To make composable a multi-channel voice decoder even of an inexpensive DSP by reducing the quantity of RAM to be used when composing the voice decoder of multiple channels of the DSP provided with the RAM of limited capacity. SOLUTION: In this voice decoding method, one half part to become symmetric is cut out from data streams A and B provided as a matrix arithmetic result, the remaining half parts of the data streams A and B are stored on a FIFO buffer 203-2 just for a number of times of prescribed matrix arithmetic processing, and the half parts of the data streams A and B for every number of times of storage are respectively read out of the FIFO buffer 203-2 a plurality of times. Thus, the original data streams A and B are reproduced and regular window arithmetic processing can be carried out.

Description

【0001】
【発明の属する技術分野】
この発明はMPEG音声符号化復号化方法に準処した音声復号化方法及び音声復号化装置に関し、特に複数トラック(チャンネル)の同時再生機能を廉価、かつコンパクトなシステム上に実装する方法及び装置に関する。
【0002】
【従来の技術】
図4は4トラックのマルチトラックレコーダを構成した場合のデコーダ部(復号化部)の構成を示している。記憶媒体100から読み出された例えば各楽器別に記録されている4トラック分のビットストリーム(圧縮されているデータ列)がそれぞれ復号器101に入力され、出力されたPCMデータをミキサー102でミックスし、DA変換器103で2チャンネルのステレオ信号として再現し、音声信号1及び2を得る。
【0003】
復号器101はモノラルビットストリームを復号する復号器である。4トラックマルチトラックレコーダの場合、同じ構成のものが4つ並列に並ぶ。MPEGオーディオ勧告書(ISO/IEC11172−3Information t−echnonogy‐Coding of moving picturesand associated audio for digital sto−rage media at up to about 1.5 Mbit/s‐Part3:Audio 以下MPEG勧告書)で示される実装方法によれば、復号化処理においてサブバンドフィルタバンク処理で使用するメモリ使用量は復号器101で使用するメモリ使用量の大半を占める。しかも、サブバンドフィルタバンク処理で利用されるメモリ領域はフィルタリング処理の中間結果を保持するものであるためスタティックな領域に確保する必要がある。従って、他のトラックと共用することができない。
【0004】
図5は一つの復号器101の構成例である。MPEGオーディオLayerIIの場合、1152サンプルを1固まりとしてこれを1フレームと呼ぶ。1トラック分のビットストリームが圧縮データバッファ200にストアされ、1フレーム分のデータが溜まった時点でビットストリーム展開処理器201へ入力される。ビットストリーム展開処理器201では上述の勧告書で定められているフレームのアンパッキング処理、ビットアロケーション処理、スケールファクタ処理、サブバンドサンプル構成処理を経てサブバンドサンプルを出力する。210はサブバンドフィルタリング処理部を示す。このサブバンドフィルタリング処理部210で施される処理はMPEG勧告書に詳細が示されており、以下にその手順を示す。
手順1:j=0〜31について新しい32個のサブバンドデータSs[j]を入力する。
手順2:n=1023〜64についてV[n]=V[n−64]の処理を行うことでFIFOバッファ203の古い64個のデータを破棄し、次の手順3で得られる64個のデータのためのスペースを作る。
手順3:マトリクス演算処理を行う。マトリクス演算はn=0〜63について
【0005】
【数1】

Figure 0003682863
【0006】
を算出することにより得られる。ただし、
【0007】
【数2】
Figure 0003682863
【0008】
である。
手順4:i=0〜7、j=0〜31について512サンプルのベクトルUを構成する。Uは
U[64i+j]=V[128i+j] (3)
U[64i+32+j]=V[128i+96+j] (4)
の式で計算される。
手順5:512個の係数で窓掛けを行ってベクトルWを構成する。Wはm=0〜511について
W[m]=U[m]*D[m] (5)
を算出することで得られる。ただし、D[m]はMPEG勧告書の表B.3(Table B.3 Coefficients Di of systhesis window)で示されている512点の係数である。
手順6:j=0〜31について
【0009】
【数3】
Figure 0003682863
【0010】
を計算して32個のPCMサンプル出力Sp[j]を得る。以下では図5に示したサブバンドフィルタリング処理部210で施される処理を上記手順と対応させて図5及び図6を用いて説明する。
手順1ではビットストリーム展開処理器201から得られたサブバンドデータを32個のデータ毎にマトリクス演算処理器202へ入力する。
手順2は1024点FIFOバッファ203−1を64点シフトして最も古い64個のデータを破棄する。この処理は通常は1024点FIFOバッファ203−1をFIFO(先入れ先出し)バッファとして構成することにより簡単に構成することができる。FIFOバッファは汎用DSP(デジタル・シグナル・プロセッサ)の機能として実装されているサーキュラアドレッシング(巡回アドレッシング)機能を使って容易に実現することができる。
【0011】
手順3はマトリクス演算処理器202に入力された32個のデータの入力に対してマトリクス演算処理を施し64個のデータを計算する処理である。マトリクス演算処理はcos係数の対称性、周期性を利用することにより、実装対象DSPにとって最も実行サイクルが少ない計算方式を選択して実装する。
式(2)は係数メモリ205(図5参照)上にcos係数のテーブルを保持しておくことで処理の度に計算することなく利用できる。手順4、手順5、手順6はメモリ節約のため中間結果であるベクトルUおよびベクトルWをバッファ上にとらず、1024点FIFOバッファ203−1から直接計算結果を得る。(3)式、(4)式で計算されるベクトルUはアドレス選択部301でアドレスを選択することで得られる。アドレス選択部302では係数メモリ206内のアドレスを選択しこれらの出力を使って乗算器303において(5)式に相当する乗算が行われる。アドレス選択部301および302はj(j=0〜31)によって32のアドレスを順番に選択する事を示している。i=0〜15についての乗算器303の出力結果を累積器304で累積した結果がPCM出力Sp[j]である。このSp[j]をj=0〜31について算出すれば32個のデータが得られる。
【0012】
【発明が解決しようとする課題】
MPEGオーディオ符号化復号方式を利用したマルチトラックレコーダの場合、トラック数を多く採るとトラック数に比例して利用するメモリ量が増加する。従って、高速なアクセス速度を持つDSPの内部RAMのみを利用して上記サブバンドフィルタリング処理部210を構成することが困難になる。
その結果としてアクセス速度の遅い外部RAM(DSPの外部にRAMを接続した場合、DSPとRAMとの間のデータの授受に時間がかかり、アクセス速度が遅くなる欠点がある)を利用するか、内部に大容量のRAM領域を装備した高価なDSPを選択せざるを得なくなるという問題があった。
【0013】
つまり、MPEGオーディオ勧告書で定義されている実装方法によれば、1024点FIFOバッファ203−1は(図6に示したように)アドレス32〜95、160〜223、288〜351、416〜479、544〜607、672〜735、800〜863、928〜991の全部で64×8=512アドレス分の領域がデータに遅延時間を与えるためのバッファとして流用されるから、無駄が多い。
ここで1024点FIFOバッファ203−1に空き領域が存在する理由を説明する。1024点FIFOバッファ203−1に1回に入力されるデータは64個のデータ列である。この64個のデータ列は図11に示すように前半の32個をAデータ列、後半の32個のデータ列をBデータ列と表記する。FIFOバッファ203−1は1024点のアドレスを有していることから、16回分のマトリクス演算結果を格納することができる。
【0014】
アドレス選択部301の各読み出し点i0〜i15では読出点i0は0〜31アドレス分読み出す。つまり最新のAデータ列を読み出す。
読出点i1では2個目に古いBデータ列を0〜31アドレス分読み出す。
読出点i2では3個目に古いAデータ列を0〜31アドレス分読み出す。
読出点i3では4個目に古いBデータ列を0〜31アドレス分読み出す。
従って、先に説明した勧告書に従ってFIFOバッファ203−1と読出点i0〜i15の読み出しを実行するためには各読出点i0〜i15ではAデータ列とBデータ列を交互に選び、且つデータ列の取り込み順序を1番ずつ繰上げて順番に選択することになる。図7に乗算器303の各入力端子X0〜X15に入力されるデータの配列を示す。各データ名A、Bのカッコ内はデータの取り込み順序に付した番号を表す。このデータの配列を得るためにFIFOバッファ203−1上に余分な記憶領域が必要となる。
【0015】
この発明の目的はFIFOバッファ203−1に無駄が生じることなく、従って最小アドレス容量で実現可能とした音声復号化方法及びこの復号化方法を用いて動作する音声復号装置を提案しようとするものである。
【0016】
この発明の請求項1では、帯域分割されたサブバンドデータにマトリクス演算処理を施し、マトリクス演算処理結果として所定サンプル数で構成され、データ値の配置形状がデータ列の所定サンプル点において前半部と後半部とで点対称となるAデータ列及び所定のサンプル点において前半部と後半部とで線対称となるBデータ列を求め、このAデータ列とBデータ列がマトリクス演算処理部から算出される毎にAデータ列とBデータ列の各データをFIFOバッファに蓄積し、FIFOバッファには過去複数回のマトリクス演算結果を配列し、新たにマトリクス演算結果がFIFOバッファに投入される毎にN回前に蓄積されたAデータ列とBデータ列をFIFOバッファから排出すると共に、このFIFOバッファに配列されたN回分のAデータ列とBデータ列を各取り込み回数の順序に従ってAデータ列とBデータ列を交互に抽出し、この抽出された各データに係数を乗算して窓掛け演算処理を施し、その演算結果を累積加算してPCM信号を生成する音声復号化方法において、マトリクス演算結果として得られるAデータ列の点対称となるデータ配列の前半部又は後半部の何れか一方及びBデータ列の線対称となるデータ配列の前半部又は後半部の何れか一方を切除し、残されたデータ量が半分のaデータ列とbデータ列をFIFOバッファに所定のマトリクス演算処理回数分蓄積させ、各蓄積回毎のaデータ列は点対称となるサンプル点を折返点として往復にわたり一方の読み出し時と他方の読み出し時は符号を異ならせて読み出すことにより元のデータ量を持つAデータ列を生成し、bデータ列は線対称となるサンプル点を折返点として往復にわたって読み出すことによって元のデータ量を持つBデータ列を生成し、生成された元のAデータ列及びBデータ列に窓掛け演算処理を実行してPCM信号を生成する音声復号化方法を提案する。
【0017】
この発明の請求項2では、記憶媒体から読み出された圧縮データを蓄積する圧縮データバッファと、この圧縮データバッファに所定量の圧縮データ列が読み出される毎に、圧縮された音声データ列にビットストリーム展開処理を施すビットストリーム展開処理器と、このビットストリーム展開処理器で展開され帯域分割されたサブバンドデータ列にマトリクス演算処理を施すマトリクス演算処理器と、このマトリクス演算処理器で演算処理された所定サンプル数のデータ列で構成され、データ値の配列形状がデータ列の所定サンプル点において前半部と後半部とで点対称となるAデータ列及び所定のサンプル点において前半部と後半部とで線対称となるBデータ列のそれぞれのデータ列の中から前半部又は後半部で構成される対称型の一方の部分を切除するデータ切除器と、
【0018】
このデータ切除器でデータの一部を切除した残りのaデータ列及びbデータ列をN回のマトリクス演算回数分配列して記憶するFIFOバッファと、このFIFOバッファから、aデータ列は点対称となるサンプル点を折返点とし往と復で異符号を付して往復にわたって読み出し、元のデータ量を持つAデータ列を生成し、bデータ列は線対称となるサンプル点を折返点として往復にわたって読み出し、元のデータ量を持つBデータ列を生成する読み出し手段と、この読み出し手段で生成したAデータ列及びBデータ列に係数を乗算し窓掛演算処理する乗算器と、この乗算器の乗算結果を累積加算し、PCM信号を生成する累積加算器と、によって構成したことを特徴とする音声復号装置を提案する。
【0019】
この縮小された配列からaデータ列及びbデータ列を読み出す際にその各aデータ列及びbデータ列を複数回読み出すことにより切除前の元のAデータ列及びBデータ列を再生し、この再生されたAデータ列及びBデータ列に窓掛け演算を施すことにより正規の音声信号を復号する。
従って、この発明によればaデータ列及びbデータ列を配列して記憶しておくFIFOバッファの記憶容量を半減させることができる。この結果、DSPの内部に装備しているRAMの容量でも、充分多チャンネルの復号装置を構成できることになる。従って、廉価なDSPで多チャンネルの音声再生器を構成することができる利点が得られる。
【0020】
ここでマトリクス演算処理されてFIFOバッファに投入されるAデータ列及びBデータ列が対称形になっていることについて説明する。
図5及び図6に示した係数メモリ205には(2)式に示すcos関数を表す係数が格納されている。図8及び図9に係数メモリ205に記憶している係数の一部を示す。この係数は(2)式にnの値と、kの値を代入して求めた値である。
因みに、図8に示すn=0とk=0の欄では(2)式にn=0とk=0を代入すると、
cos[(16+0)(1)]π/64=cos(16/64)π
となる。これを図10に示すcos曲線状に当て嵌めるとπ/4となりcos45°の値を意味する。
【0021】
n=0、k=1の場合は
Figure 0003682863
となる。これをcos曲線上に当て嵌めるとπ/4の逆極性の値を採ることが分かる。従って、ここでは−cos(16/64)πと表記している。
図8及び図9に示す係数表で特異な点はn=16の点である。n=16の点ではkの値が0〜31(図では0〜7までを示す)の全てに対して−cos(32/64)πとなる。この値はcos(π/2)を意味し、cosπ/2=0となる。従って、ここではn=16で与えられるデータをD0と称することにする。
【0022】
更に、図9に示すn=48の点ではkの値に関係なく、係数は全て−cos(0/64)πとなる。つまり−cos0°を意味し、常に一定値−1となる。従って、ここではn=48で得られるデータをDCと称することにする。図8及び図9に示した係数を解析すると、マトリクス演算処理して求められる64個のデータの値は図11に示すように前半のAデータ列はゼロとなるデータD0を中心に点対称形となり、また後半のBデータ列は中央のデータDCを境に線対称形となることが解る。
【0023】
データD0はどの時点で出力されるAデータ列であってもゼロとなる。
この出願の発明者はこの点に着目し、対称型のデータ列の一方を切除してFIFOバッファに記憶させ、読出時に記憶しているデータ列を複数回読み出す(アドレスを逆向きに読み出す)ことにより元のデータ列を再現することを思いついた。
【0024】
【発明の実施の形態】
図1にこの発明による音声復号装置の一実施例を示す。この実施例を説明することにより、この発明の音声復号化方法についても説明する。図5と対応する部分には同一符号を付して示す。この発明の特徴とする構成はマトリクス演算処理器202の出力側にデータ切除器207を設けた点と、FIFOバッファ203−2を図6に示したFIFOバッファ203−1の半分の容量512点のFIFOバッファとした点と、このFIFOバッファ203−2の読出側にデータ再生器208を設けた構成とした点である。
【0025】
マトリクス演算処理器202で演算処理されて出力される64個のデータは図11で説明したように前半のAデータ列はデータD0を境に点対称である、後半のBデータ列は中央のデータDCを境に線対称であることから、データ切除器207はAデータ列の後半とゼロ値を与えるデータD0を切除し、更にBデータ列の最初のデータ(図11に示したデータSP33)とデータDC以後の15個のデータを切除する。
先ず、この発明の理解を助けるために、図11に示したAデータ列及びBデータ列のそれぞれからどの部分のデータを切除し、どの部分のデータをFIFOバッファ203−2に記憶し、FIFOバッファ203−2からデータを読み出す際にどのようにして元のAデータ列及びBデータ列を再現するかについて説明する。
【0026】
図11に示したAデータ列とBデータ列においてAデータ列では先頭のデータSP1から16サンプル目のデータSP16までをFIFOバッファ203−2に書き込み、データDOから32サンプル目のデータSP32までのデータを切除する。
Bデータ列では33サンプル目のデータSP33を除いて34サンプル目のデータSP34からデータDCまでをFIFOバッファ203−2に書き込み、他を切除する。
【0027】
この結果FIFOバッファ203−2に書き込むデータはAデータ列から16サンプル、Bデータ列から16サンプルの合計32サンプルのデータがFIFOバッファ203−2に書き込まれる。従って、FIFOバッファ203−2に書き込むそれぞれ16サンプルで構成されるデータ列をここではaデータ列及びbデータ列と表記することにする。図2にaデータ列とbデータ列を抜き出して示す。
次に、図11を用いて図2に示したaデータ列とbデータ列から元のAデータ列及びBデータ列を再現する方法について説明する。先ずaデータ列について説明する。FIFOバッファFIFO203−2には図11に破線で囲んだ先頭のデータSP1から16サンプル目のデータSP16が格納される。データSP1からSP16までを読み出し、データSP16を読み出した後にデータDOを挿入して再びデータSP16から1アドレスずつ逆向に読み出しを行なう。逆向に読み出しを行なう場合、読み出したデータに「−」符号を付し、極性を反転させ、先頭から1個手前のデータSP2までを読み出す。この読み出しにより図11に示す32サンプルで構成されるAデータ列が再現される。
【0028】
次にbデータ列について説明する。bデータ列は34サンプル目のデータSP34からデータDCまでがFIFOバッファ203−2に書き込まれる。従って、このbデータ列を往復読み出すことにより、図11に示す34サンプル目のデータSP34から最終の64サンプル目のデータSP64までが再現できる。然し乍らこの場合、再現されたデータ列は31サンプル数となる。
つまり、Bデータ列の先頭のデータSP33が再現されていないことになる。データSP33はAデータ列の先頭のデータSP1を極性反転させたデータである。このため、bデータ列を読み出す際にはFIFOバッファ203−2において、aデータ列の先頭のアドレスからデータSP1を読み出し、この読み出したデータSP1を極性反転させて1サンプルを生成し、この1サンプルに続いてFIFOバッファ203−2からデータSP34〜データDCまでを読み出すと共に、データDCから逆向に先頭のデータSP34までを読み出すと、Bデータ列の後半のb′データ列が再現される。データSP34からデータDCまでを往復読み出すと、データDCは読み出しが1度であるから全部で31サンプルとなる。この31サンプルのデータ列の先頭にaデータ列の先頭から読み出したデータSP33(データSP1を極性反転させて加える)を加えることにより全体で32サンプルのBデータ列を再現することができる。
【0029】
ここでデータSP33の取扱いについて説明する。データSP33はAデータ列の先頭のデータを極性反転させたデータである。従って本来はAデータ列に属することが望ましいのであるが、Aデータ列は先頭から32サンプル目のデータSP32で既にサンプル数が32となる。図6で説明したように乗算器303では図6に示した各入力端子X0〜X15に32サンプルずつデータを入力することを演算処理の都合上要求するから、Aデータ列及びBデータ列は32サンプルずつに揃える必要がある。このような理由からデータSP33をBデータ列に含ませたものである。
【0030】
以上の説明から明らかなようにFIFOバッファ203−2には図2に示すAデータ列の半分のデータ量となったaデータ列と、Bデータ列の半分のデータ量となったbデータ列を書き込む。aデータ列とbデータ列はそれぞれ16サンプルのデータで構成されるため、FIFOバッファ203−2には一度に32個のデータが書き込まれる。
FIFOバッファ203−2には512点の記憶容量を持たせる。従って、FIFOバッファ203−2には図3に示すように、16回分のマトリックス演算結果が格納される。
【0031】
データ再生器208はアドレス選択部301とこのアドレス選択部301を制御するアドレスコントローラ305と、読出回路に設けた付加回路306とによって構成することができる。アドレスコントローラ305はアドレス選択部301を制御する。アドレス選択部301は16個の読出点i0〜15の読出アドレスを制御する。各読出点i0〜i15は512点のFIFOバッファのアドレス領域を16等分した各領域に割付けられたアドレス0〜31を読み出すように制御される。ここで特に偶数番目の読出点i0、i2、i4、i6、i8、i10、i12、i14は各領域の前半のアドレス0〜15を読み出す。また奇数番目の読出点i1、i3、i5、i7、i9、i11、i13、i15は各領域のaデータ列の先頭のアドレスと後半のアドレス16〜31を読み出す。
【0032】
この結果偶数番目の読出点i0、i2、…i14はFIFOバッファ203−2に書き込まれているaデータ列を読み出すことになり、また奇数番目の読出点i1、i3、…i15はFIFOバッファ203−2に書き込まれているaデータ列の先頭のデータとbデータ列を読み出すことになる。
更に、aデータ列を読み出す偶数番目の読出点i0、i2、…i14は各自己に割当てられた領域の0〜15のアドレスを0〜15まで読み出した後、今度は逆向きにアドレスを15〜1までの読出を実行する。このとき復路の読み出しは、復路の読出の実行を開始する時点でゼロを与えるデータD0を付加回路306で付加し、更にマイナス符号「−」を付加して読み出すことにより、図11に示した本来の32サンプルで構成されるAデータ列を再現することができる。
【0033】
一方、奇数番目の読出点i1、i3、…i15では各領域に記憶したaデータ列の先頭のアドレスとbデータ列を記憶しているアドレスを16〜31まで読み出し、aデータ列から読み出したデータを極性反転することにより、図11に示したbデータ列(33サンプル目のデータSP33を含む)を読み出すことができる。更にその最大アドレス31から逆向きにアドレス16までを読み出せば、図11に示した本来の32サンプルで構成されるBデータ列を再現することができる。
【0034】
アドレスコントローラ305がアドレス選択部301の各読出点i0〜i15を上述のように制御することにより、各読出点i0〜i15は
(1)読出点i0は最新のaデータ列を読み出して本来の32サンプルで構成されるデータ列Aを再現する。
(2)読出点i1は2番目に古いaデータ列の先頭とbデータ列を読み出して本来の32サンプルで構成されるデータ列Bを再現する。
(3)読出点i2は3番目に古いaデータ列を読み出して本来の32サンプルで構成されるデータ列Aを再現する。
(4)読出点i3は4番目に古いaデータ列の先頭とbデータ列を読み出して本来の32サンプルで構成されるデータ列Bを再現する。
(5)読出点i4は5番目に古いaデータ列を読み出して本来の32サンプルで構成されるデータ列Aを再現する。
【0035】



(16)読出点i15は16番目に古いaデータ列の先頭とbデータ列を読み出して本来の32サンプルで構成されるデータ列Bを再現するように動作する。
この動作の結果は図6で説明した動作と等価であり、図7に示したデータの配列と同じデータの配列となる。従来は1024点のFIFOバッファを用いて実現している窓掛演算に出力するデータ列の読出を、512点のFIFOバッファで実現することができる。
【0036】
つまり、窓掛演算を実行する乗算器303の各入力端子X0〜X15には図7に示したように、
X0に最新のAデータ列A(1)が入力され、
X1に2番目に古いBデータ列B(2)が入力され、
X2に3番目に古いAデータ列A(3)が入力され、
X3に4番目に古いBデータ列B(4)が入力され、



X15に16番目に古いBデータ列B(16)が入力される。
【0037】
乗算器303の他の入力端子には係数メモリ206から従来と同様の窓掛係数が入力され、その乗算値を累積器304で累積することによりPCM信号を出力することができる。このPCM信号は図4に示したDA変換器103でDA変換され、アナログ信号として出力される。
【0038】
【発明の効果】
以上説明したように、この発明によれば1チャンネルのデコーダを512点のFIFOバッファ203−2で構成することができるから、4チャンネルのデコーダを構成する場合でもFIFOバッファ203−2としては512×4=2048点のFIFOバッファが存在すれば実現することができる。2048点のFIFOバッファを装備しているDSP(デジタル・シグナル・プロセッサ)は比較的安価に入手することができるから、この発明によれば廉価なDSPを用いて多チャンネル(例えば4チャンネル)の音声復号装置を構成することができる。この結果、小型で廉価な多チャンネル音声復号装置を提供できる利点が得られる。
【図面の簡単な説明】
【図1】この発明の一実施例を説明するためのブロック図。
【図2】この発明の要部の動作を説明するための図。
【図3】この発明の要部の構成を説明するための接続図。
【図4】一般的な多チャンネル音声復号装置の全体の構成を説明するためのブロック図。
【図5】従来の技術を説明するためのブロック図。
【図6】従来の音声復号装置の要部の構成を説明するためのブロック図。
【図7】図6に示した従来の音声信号装置でFIFOバッファ203−1から読み出されるデータの配列を説明するための図。
【図8】図5に示した係数メモリ205に格納したCOS係数の一部を示す図。
【図9】図5に示した係数メモリ205に格納したCOS係数の一部を示す図。
【図10】図8と図9に示したCOS係数の意味するところを説明するための図。
【図11】図8及び図9に示したCOS係数を利用してマトリックス演算を施したデータ列の様子を説明する図。
【符号の説明】
200 圧縮データバッファ
201 ビットストリーム展開処理器
202 マトリクス演算処理器
203−1 1024点FIFOバッファ
203−2 512点FIFOバッファ
204 窓掛け演算処理器
205、206 係数メモリ
207 データ切除器
208 データ再生器
301、302 アドレス選択部
303 乗算器
304 累積器
305 アドレスコントローラ
306 付加回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an audio decoding method and an audio decoding apparatus that are processed in accordance with the MPEG audio encoding and decoding method, and more particularly to a method and apparatus for implementing a simultaneous reproduction function of a plurality of tracks (channels) on an inexpensive and compact system. .
[0002]
[Prior art]
FIG. 4 shows a configuration of a decoder unit (decoding unit) when a 4-track multi-track recorder is configured. For example, a 4-track bit stream (compressed data sequence) recorded for each instrument read from the storage medium 100 is input to the decoder 101, and the output PCM data is mixed by the mixer 102. The D / A converter 103 reproduces the signal as a two-channel stereo signal to obtain audio signals 1 and 2.
[0003]
The decoder 101 is a decoder that decodes a monaural bit stream. In the case of a 4-track multi-track recorder, four units having the same configuration are arranged in parallel. MPEG audio recommendation (ISO / IEC11172-3 Information t-technology-Coding of moving pictures and associated audio for digital media implementation up to 1.5) Mbit / s Therefore, the memory usage used in the subband filter bank processing in the decoding processing occupies most of the memory usage used in the decoder 101. In addition, since the memory area used in the subband filter bank process holds an intermediate result of the filtering process, it needs to be secured in a static area. Therefore, it cannot be shared with other tracks.
[0004]
FIG. 5 is a configuration example of one decoder 101. In the case of MPEG audio Layer II, 1152 samples are grouped together and this is called one frame. A bit stream for one track is stored in the compressed data buffer 200 and is input to the bit stream development processor 201 when data for one frame is accumulated. The bitstream development processor 201 outputs subband samples through frame unpacking processing, bit allocation processing, scale factor processing, and subband sample configuration processing defined in the above-mentioned recommendation. Reference numeral 210 denotes a subband filtering processing unit. The details of the processing performed by the subband filtering processing unit 210 are shown in the MPEG recommendation, and the procedure is shown below.
Procedure 1: 32 new subband data Ss [j] are input for j = 0 to 31.
Procedure 2: The process of V [n] = V [n-64] is performed for n = 1023 to 64, so that the old 64 data in the FIFO buffer 203 is discarded, and the 64 data obtained in the next procedure 3 Make space for.
Procedure 3: Perform matrix calculation processing. Matrix operation for n = 0 to 63
[0005]
[Expression 1]
Figure 0003682863
[0006]
It is obtained by calculating. However,
[0007]
[Expression 2]
Figure 0003682863
[0008]
It is.
Procedure 4: Construct a 512-sample vector U for i = 0-7 and j = 0-31. U is
U [64i + j] = V [128i + j] (3)
U [64i + 32 + j] = V [128i + 96 + j] (4)
It is calculated by the following formula.
Procedure 5: A vector W is constructed by windowing with 512 coefficients. W is about m = 0 to 511
W [m] = U [m] * D [m] (5)
It is obtained by calculating. However, D [m] is the value in Table B. of the MPEG recommendation. 3 (Table B.3 Coefficients Di of synthesis window) is a 512-point coefficient.
Procedure 6: For j = 0 to 31
[0009]
[Equation 3]
Figure 0003682863
[0010]
To obtain 32 PCM sample outputs Sp [j]. Hereinafter, processing performed by the subband filtering processing unit 210 illustrated in FIG. 5 will be described with reference to FIGS. 5 and 6 in association with the above procedure.
In the procedure 1, the subband data obtained from the bit stream development processor 201 is input to the matrix arithmetic processor 202 every 32 pieces of data.
Procedure 2 shifts the 1024-point FIFO buffer 203-1 by 64 points and discards the oldest 64 data. This process can usually be easily configured by configuring the 1024-point FIFO buffer 203-1 as a FIFO (first-in first-out) buffer. The FIFO buffer can be easily realized by using a circular addressing (cyclic addressing) function implemented as a function of a general-purpose DSP (digital signal processor).
[0011]
The procedure 3 is a process of calculating 64 data by performing a matrix operation on the 32 pieces of data input to the matrix processor 202. The matrix calculation process uses the symmetry and periodicity of the cos coefficient to select and implement a calculation method having the least execution cycle for the mounting target DSP.
Expression (2) can be used without calculating each time by storing a cos coefficient table on the coefficient memory 205 (see FIG. 5). In Step 4, Step 5, and Step 6, the vector U and vector W, which are intermediate results, are not stored on the buffer to save memory, and the calculation results are obtained directly from the 1024-point FIFO buffer 203-1. The vector U calculated by the equations (3) and (4) is obtained by selecting an address by the address selection unit 301. The address selection unit 302 selects an address in the coefficient memory 206, and uses these outputs to perform multiplication corresponding to the equation (5) in the multiplier 303. The address selection units 301 and 302 indicate that 32 addresses are sequentially selected by j (j = 0 to 31). The result obtained by accumulating the output result of the multiplier 303 for i = 0 to 15 by the accumulator 304 is the PCM output Sp [j]. If this Sp [j] is calculated for j = 0 to 31, 32 data are obtained.
[0012]
[Problems to be solved by the invention]
In the case of a multi-track recorder using the MPEG audio encoding / decoding method, if a large number of tracks are taken, the amount of memory used increases in proportion to the number of tracks. Therefore, it is difficult to configure the subband filtering processing unit 210 using only the DSP internal RAM having a high access speed.
As a result, use an external RAM with a slow access speed (if the RAM is connected to the outside of the DSP, it takes time to exchange data between the DSP and the RAM, resulting in a slow access speed), or an internal RAM However, there is a problem that an expensive DSP equipped with a large capacity RAM area must be selected.
[0013]
That is, according to the implementation method defined in the MPEG audio recommendation, the 1024-point FIFO buffer 203-1 has addresses 32 to 95, 160 to 223, 288 to 351, and 416 to 479 (as shown in FIG. 6). Since the area for 64 × 8 = 512 addresses in all of 544 to 607, 672 to 735, 800 to 863, and 928 to 991 is used as a buffer for giving a delay time to data, there is a lot of waste.
Here, the reason why there is an empty area in the 1024-point FIFO buffer 203-1 will be described. The data input to the 1024-point FIFO buffer 203-1 at a time is 64 data strings. As shown in FIG. 11, the 64 data strings are represented as 32 data strings in the first half and 32 data strings in the second half as B data strings. Since the FIFO buffer 203-1 has 1024 addresses, it can store the matrix operation results for 16 times.
[0014]
At each read point i0 to i15 of the address selection unit 301, the read point i0 reads 0 to 31 addresses. That is, the latest A data string is read.
At the read point i1, the second old B data string is read for 0 to 31 addresses.
At the read point i2, the third old A data string is read for 0 to 31 addresses.
At the read point i3, the fourth old B data string is read for 0 to 31 addresses.
Therefore, in order to execute reading of the FIFO buffer 203-1 and the reading points i0 to i15 according to the recommendation described above, the A data string and the B data string are alternately selected at the reading points i0 to i15, and the data string is selected. Are sequentially selected one by one. FIG. 7 shows an arrangement of data input to the input terminals X0 to X15 of the multiplier 303. The numbers in the parentheses of the data names A and B represent numbers assigned to the data fetching order. In order to obtain this data arrangement, an extra storage area is required on the FIFO buffer 203-1.
[0015]
An object of the present invention is to propose a speech decoding method that can be realized with a minimum address capacity without waste in the FIFO buffer 203-1, and a speech decoding device that operates using this decoding method. is there.
[0016]
In claim 1 of the present invention, Subband data that has been divided Matrix calculation processing is performed, and the matrix calculation processing result is configured with a predetermined number of samples. The A data sequence in which the arrangement of data values is point-symmetric at the first half and the second half at a predetermined sample point of the data sequence and the B data sequence at which the first half and the second half are line symmetric at a predetermined sample point are obtained. , This A data column and B data column Is calculated from the matrix calculation processing unit Of A data column and B data column Each data Are stored in the FIFO buffer, and the matrix operation results of the past multiple times are arranged in the FIFO buffer. Each time a matrix operation result is newly input to the FIFO buffer, the A and B data sequences are stored N times before. Are extracted from the FIFO buffer, N data A and B data sequences arranged in the FIFO buffer are alternately extracted in accordance with the order of the number of fetches, and each of the extracted data This is obtained as a matrix operation result in a speech decoding method in which data is multiplied by a coefficient to perform a windowing operation process, and the operation results are cumulatively added to generate a PCM signal. Amount of data remaining by cutting off either the first half or the second half of the data array that is point-symmetric in the A data string and either the first half or the second half of the data array that is line-symmetric in the B data string Half of the a and b data columns A predetermined number of matrix calculation processes are accumulated in the FIFO buffer, and each accumulation time The a data string is a round trip point with a sample point that is point symmetric, and the A data string having the original data amount is generated by reading differently at the time of reading one and the other at the time of reading, and b data string Generates a B data string having the original amount of data by reading back and forth as sample points that are line symmetric, and performs a windowing operation on the generated original A data string and B data string. Generate PCM signal A speech decoding method is proposed.
[0017]
According to a second aspect of the present invention, a compressed data buffer for accumulating compressed data read from a storage medium, and each time a predetermined amount of compressed data string is read into the compressed data buffer, a bit is added to the compressed audio data string. Bitstream expansion processor that performs stream expansion processing, and expansion using this bitstream expansion processor Subband A matrix arithmetic processor that performs matrix arithmetic processing on the data string, and the matrix arithmetic processor And the array shape of the data values is point-symmetric between the first half and the second half at a predetermined sample point of the data sequence. A data string and The first half and the second half are line symmetric at a given sample point. B data string Each de Data column Consists of the first half or second half A data ablator that excises one part of the symmetry,
[0018]
A FIFO buffer that stores and stores the remaining a data strings and b data strings obtained by excising a part of data by this data excision device for the number of times of N matrix operations, and from the FIFO buffer , A Data column Uses a point symmetric sample point as a turning point, adds a different sign for forward and backward, reads back and forth, generates an A data string with the original amount of data, and b data string returns a line symmetric sample point. Read back and forth as points to generate a B data string with the original amount of data Reading means and this Generated by reading means A multiplier that multiplies the A data string and the B data string by a coefficient and performs a windowed operation process, and a cumulative adder that cumulatively adds multiplication results of the multiplier and generates a PCM signal. A speech decoding device is proposed.
[0019]
When the a data string and the b data string are read from the reduced array, the original A data string and B data string before excision are reproduced by reading each a data string and b data string a plurality of times. A normal audio signal is decoded by performing a windowing operation on the A data string and the B data string.
Therefore, according to the present invention, it is possible to halve the storage capacity of the FIFO buffer in which the a data string and the b data string are arranged and stored. As a result, a sufficiently multi-channel decoding device can be configured even with the capacity of the RAM provided in the DSP. Therefore, there is an advantage that a multi-channel audio player can be configured with an inexpensive DSP.
[0020]
Here, a description will be given of the fact that the A data string and the B data string that are subjected to matrix calculation processing and are input to the FIFO buffer are symmetrical.
The coefficient memory 205 shown in FIGS. 5 and 6 stores a coefficient representing the cos function shown in the equation (2). 8 and 9 show some of the coefficients stored in the coefficient memory 205. FIG. This coefficient is a value obtained by substituting the value of n and the value of k into equation (2).
Incidentally, in the column of n = 0 and k = 0 shown in FIG. 8, if n = 0 and k = 0 are substituted into the equation (2),
cos [(16 + 0) (1)] π / 64 = cos (16/64) π
It becomes. When this is applied to the cos curve shown in FIG. 10, it becomes π / 4, which means a value of cos 45 °.
[0021]
When n = 0 and k = 1
Figure 0003682863
It becomes. When this is applied to the cos curve, it can be seen that a value of π / 4 reverse polarity is taken. Accordingly, it is expressed as -cos (16/64) π here.
A unique point in the coefficient table shown in FIGS. 8 and 9 is a point of n = 16. At the point of n = 16, the value of k is −cos (32/64) π for all of 0 to 31 (showing 0 to 7 in the figure). This value means cos (π / 2), and cos π / 2 = 0. Therefore, the data given by n = 16 is referred to as D0 here.
[0022]
Furthermore, at the point of n = 48 shown in FIG. 9, all the coefficients are −cos (0/64) π regardless of the value of k. In other words, it means -cos 0 °, and is always a constant value -1. Therefore, here, data obtained when n = 48 is referred to as DC. When the coefficients shown in FIGS. 8 and 9 are analyzed, the 64 data values obtained by the matrix calculation process are point-symmetrical about the data D0 in which the first A data string is zero as shown in FIG. Further, it can be seen that the B data string in the latter half is line symmetric with respect to the central data DC.
[0023]
The data D0 is zero regardless of the A data string output at any time.
The inventor of this application pays attention to this point, cuts one of the symmetrical data strings and stores it in the FIFO buffer, and reads the data string stored at the time of reading a plurality of times (reads the address in the reverse direction). Came up with the idea of reproducing the original data string.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 shows an embodiment of a speech decoding apparatus according to the present invention. By describing this embodiment, the speech decoding method of the present invention will also be described. Parts corresponding to those in FIG. 5 are denoted by the same reference numerals. The feature of the present invention is that a data ablation device 207 is provided on the output side of the matrix arithmetic processor 202, and that the FIFO buffer 203-2 has a capacity of 512 points that is half that of the FIFO buffer 203-1 shown in FIG. A FIFO buffer is used, and a data regenerator 208 is provided on the read side of the FIFO buffer 203-2.
[0025]
As described with reference to FIG. 11, the 64 data outputted by the matrix processor 202 are point-symmetric with respect to the data D0, and the latter B data string is the central data. Since it is line symmetric with respect to DC, the data ablation device 207 excises the latter half of the A data string and the data D0 giving the zero value, and further the first data of the B data string (data SP33 shown in FIG. 11). Fifteen data after the data DC are excised.
First, in order to help understanding of the present invention, which part of data is cut out from each of the A data string and B data string shown in FIG. 11, and which part of data is stored in the FIFO buffer 203-2, the FIFO buffer A description will be given of how to reproduce the original A data string and B data string when reading data from 203-2.
[0026]
In the A data string and the B data string shown in FIG. 11, in the A data string, the first data SP1 to the 16th sample data SP16 are written to the FIFO buffer 203-2, and the data from the data DO to the 32nd sample data SP32 are written. Excise.
In the B data string, except for the 33rd sample data SP33, the 34th sample data SP34 to the data DC are written in the FIFO buffer 203-2 and the others are cut off.
[0027]
As a result, the data to be written into the FIFO buffer 203-2 is a total of 32 samples of data from the A data string and 16 samples from the B data string, and is written into the FIFO buffer 203-2. Accordingly, a data string composed of 16 samples written to the FIFO buffer 203-2 is represented as an a data string and a b data string here. FIG. 2 shows an extracted a data string and b data string.
Next, a method for reproducing the original A data sequence and B data sequence from the a data sequence and the b data sequence shown in FIG. 2 will be described with reference to FIG. First, the a data string will be described. The FIFO buffer FIFO 203-2 stores data SP16 of the 16th sample from the top data SP1 surrounded by a broken line in FIG. Data SP1 to SP16 are read out, data SP16 is read out, data DO is inserted, and data SP16 is again read in reverse from the data SP16 one address at a time. When reading in the reverse direction, a “−” sign is added to the read data, the polarity is inverted, and the data SP2 immediately before the head is read. By this reading, the A data string composed of 32 samples shown in FIG. 11 is reproduced.
[0028]
Next, the b data string will be described. In the b data string, data SP34 to data DC of the 34th sample are written in the FIFO buffer 203-2. Therefore, by reading this b data string back and forth, the data from the 34th sample data SP34 to the final 64th sample data SP64 shown in FIG. 11 can be reproduced. However, in this case, the reproduced data string is 31 samples.
That is, the top data SP33 of the B data string is not reproduced. Data SP33 is data obtained by inverting the polarity of the first data SP1 of the A data string. For this reason, when reading the b data string, the FIFO buffer 203-2 reads the data SP1 from the head address of the a data string, and inverts the polarity of the read data SP1 to generate one sample. Subsequently, when data SP34 to data DC are read from the FIFO buffer 203-2 and the head data SP34 is read backward from the data DC, the second half b 'data string of the B data string is reproduced. When the data SP34 to the data DC are read back and forth, the data DC is read once, so there are 31 samples in total. By adding the data SP33 (added by reversing the polarity of the data SP1) read from the head of the a data string to the head of the 31 sample data string, a total of 32 samples of the B data string can be reproduced.
[0029]
Here, handling of the data SP33 will be described. Data SP33 is data obtained by reversing the polarity of the top data of the A data string. Accordingly, it is desirable that the data belongs to the A data string, but the A data string is the data SP32 of the 32nd sample from the beginning, and the number of samples is already 32. As described with reference to FIG. 6, the multiplier 303 requires 32 samples of data to be input to the input terminals X0 to X15 shown in FIG. It is necessary to prepare for each sample. For this reason, the data SP33 is included in the B data string.
[0030]
As is clear from the above description, the FIFO buffer 203-2 includes the a data string having half the data amount of the A data string and the b data string having half the data amount of the B data string shown in FIG. Write. Since the a data string and the b data string are each composed of 16 samples of data, 32 pieces of data are written into the FIFO buffer 203-2 at a time.
The FIFO buffer 203-2 has a storage capacity of 512 points. Therefore, as shown in FIG. 3, the FIFO buffer 203-2 stores the matrix operation results for 16 times.
[0031]
The data regenerator 208 can be configured by an address selection unit 301, an address controller 305 that controls the address selection unit 301, and an additional circuit 306 provided in the reading circuit. The address controller 305 controls the address selection unit 301. The address selection unit 301 controls the read addresses of the 16 read points i0-15. The read points i0 to i15 are controlled so as to read the addresses 0 to 31 assigned to the areas obtained by dividing the address area of the 512 FIFO buffers into 16 equal parts. Here, in particular, even-numbered read points i0, i2, i4, i6, i8, i10, i12, and i14 read addresses 0 to 15 in the first half of each area. The odd-numbered read points i1, i3, i5, i7, i9, i11, i13, and i15 read the first address and the second half addresses 16 to 31 of the a data string in each area.
[0032]
As a result, the even-numbered read points i0, i2,... I14 read the a data string written in the FIFO buffer 203-2, and the odd-numbered read points i1, i3,. The first data of the a data string written in 2 and the b data string are read out.
Further, the even-numbered read points i0, i2,..., I14 for reading the a data string read addresses 0 to 15 from 0 to 15 in their assigned areas, and then set addresses 15 to 15 in the opposite direction. Read up to 1. At this time, the return path read is performed by adding data D0 giving zero at the start of the return path read by the addition circuit 306 and further adding a minus sign “−” to read the original data as shown in FIG. A data string composed of 32 samples can be reproduced.
[0033]
On the other hand, at the odd-numbered reading points i1, i3,..., I15, the leading address of the a data string stored in each area and the address storing the b data string are read from 16 to 31, and the data read from the a data string is read. Is reversed, the b data string (including the data SP33 of the 33rd sample) shown in FIG. 11 can be read out. Further, by reading from the maximum address 31 to the address 16 in the reverse direction, the original B data string composed of 32 samples shown in FIG. 11 can be reproduced.
[0034]
The address controller 305 controls the read points i0 to i15 of the address selection unit 301 as described above, so that the read points i0 to i15 are
(1) The reading point i0 reads the latest a data string and reproduces the original data string A composed of 32 samples.
(2) The read point i1 reads the head of the second oldest a data string and the b data string to reproduce the original data string B composed of 32 samples.
(3) The reading point i2 reads the third oldest a data string to reproduce the original data string A composed of 32 samples.
(4) The reading point i3 reads the head of the fourth oldest a data string and the b data string to reproduce the original data string B composed of 32 samples.
(5) The reading point i4 reads the fifth oldest a data string and reproduces the original data string A composed of 32 samples.
[0035]



(16) The read point i15 operates to read the head of the 16th oldest a data string and the b data string to reproduce the original data string B composed of 32 samples.
The result of this operation is equivalent to the operation described with reference to FIG. 6, and has the same data arrangement as that shown in FIG. Reading of a data string to be output to a windowing operation that has been realized using a 1024-point FIFO buffer in the past can be realized with a 512-point FIFO buffer.
[0036]
That is, as shown in FIG. 7, the input terminals X0 to X15 of the multiplier 303 that performs the windowing operation are as follows.
The latest A data string A (1) is input to X0,
The second oldest B data string B (2) is input to X1,
The third oldest A data string A (3) is input to X2,
The fourth oldest B data string B (4) is input to X3,



The 16th oldest B data string B (16) is input to X15.
[0037]
A windowing coefficient similar to the conventional one is input from the coefficient memory 206 to the other input terminal of the multiplier 303, and a PCM signal can be output by accumulating the multiplied value in the accumulator 304. This PCM signal is DA-converted by the DA converter 103 shown in FIG. 4 and output as an analog signal.
[0038]
【The invention's effect】
As described above, according to the present invention, a 1-channel decoder can be configured by a 512-point FIFO buffer 203-2. Therefore, even when a 4-channel decoder is configured, the FIFO buffer 203-2 has 512 × This can be realized if there are 4 = 2048 FIFO buffers. Since a DSP (digital signal processor) equipped with a 2048-point FIFO buffer can be obtained at a relatively low cost, according to the present invention, a multi-channel (for example, 4 channels) audio signal can be obtained using an inexpensive DSP. A decoding device can be configured. As a result, there is an advantage that a small and inexpensive multi-channel speech decoding apparatus can be provided.
[Brief description of the drawings]
FIG. 1 is a block diagram for explaining an embodiment of the present invention.
FIG. 2 is a view for explaining the operation of the main part of the present invention.
FIG. 3 is a connection diagram for explaining a configuration of a main part of the present invention.
FIG. 4 is a block diagram for explaining the overall configuration of a general multi-channel audio decoding apparatus.
FIG. 5 is a block diagram for explaining a conventional technique.
FIG. 6 is a block diagram for explaining a configuration of a main part of a conventional speech decoding apparatus.
7 is a diagram for explaining an arrangement of data read from a FIFO buffer 203-1 in the conventional audio signal device shown in FIG.
FIG. 8 is a view showing a part of COS coefficients stored in the coefficient memory 205 shown in FIG. 5;
FIG. 9 is a view showing a part of COS coefficients stored in the coefficient memory 205 shown in FIG. 5;
10 is a diagram for explaining what the COS coefficients shown in FIGS. 8 and 9 mean; FIG.
11 is a diagram for explaining a state of a data string that has been subjected to matrix calculation using the COS coefficients shown in FIGS. 8 and 9. FIG.
[Explanation of symbols]
200 Compressed data buffer
201 Bitstream development processor
202 Matrix processor
203-1 1024-point FIFO buffer
203-2 512-point FIFO buffer
204 Windowing processor
205, 206 Coefficient memory
207 Data excisor
208 Data regenerator
301, 302 Address selection unit
303 multiplier
304 Accumulator
305 Address controller
306 Additional circuit

Claims (2)

帯域分割されたサブバンドデータにマトリクス演算処理を施し、マトリクス演算処理結果として所定サンプル数で構成され、データ値の配置形状がデータ列の所定サンプル点において前半部と後半部とで点対称となるAデータ列及び所定のサンプル点において前半部と後半部とで線対称となるBデータ列を求め、このAデータ列とBデータ列が上記マトリクス演算処理部から算出される毎に上記Aデータ列とBデータ列の各データをFIFOバッファに蓄積し、FIFOバッファには過去複数回のマトリクス演算結果を配列し、新たにマトリクス演算結果が上記FIFOバッファに投入される毎にN回前に蓄積されたAデータ列とBデータ列を上記FIFOバッファから排出すると共に、このFIFOバッファに配列されたN回分のAデータ列とBデータ列を各取り込み回数の順序に従ってAデータ列とBデータ列を交互に抽出し、この抽出された各データに係数を乗算して窓掛け演算処理を施し、その演算結果を累積加算してPCM信号を生成する音声復号化方法において、
上記マトリクス演算結果として得られるAデータ列の点対称となるデータ配列の前半部又は後半部の何れか一方及びBデータ列の線対称となるデータ配列の前半部又は後半部の何れか一方を切除し、残されたデータ量が半分のaデータ列とbデータ列を上記FIFOバッファに所定のマトリクス演算処理回数分蓄積させ、各蓄積回毎のaデータ列は上記点対称となるサンプル点を折返点として往復にわたり一方の読み出し時と他方の読み出し時は符号を異ならせて読み出すことにより元のデータ量を持つAデータ列を生成し、bデータ列は上記線対称となるサンプル点を折返点として往復にわたって読み出すことによって元のデータ量を持つBデータ列を生成し、生成された元のAデータ列及びBデータ列に窓掛け演算処理を実行して上記PCM信号を生成する音声復号化方法。
Matrix operation processing is performed on the band-divided subband data, and the matrix operation processing result is configured with a predetermined number of samples. The arrangement of data values is point-symmetric between the first half and the second half at a predetermined sample point of the data string. A data string and a B data string that is axisymmetric in the first half and the second half at a predetermined sample point are obtained , and the A data string is calculated each time the A data string and the B data string are calculated from the matrix processing unit. and the B data data sequence accumulated in the FIFO buffer, the FIFO buffer arranged matrix calculation result of a past plurality of times, a new matrix calculation result is stored before N times each time it is put into the FIFO buffer The A data string and the B data string are discharged from the FIFO buffer and N times of A data arranged in the FIFO buffer. And B data strings are extracted alternately according to the order of the number of times of acquisition, and the extracted data is multiplied by a coefficient to perform a windowing calculation process, and the calculation results are cumulatively added. In a speech decoding method for generating a PCM signal,
Either the first half or the second half of the data array that is point-symmetric of the A data string obtained as a result of the matrix operation and the first half or the second half of the data array that is axisymmetric of the B data string are excised. Then, the a data string and the b data string with the remaining data amount being half are accumulated in the FIFO buffer for a predetermined number of times of matrix calculation processing, and the a data string for each accumulation time is used to fold the sample points that are point-symmetric. As a point, A data string having the original data amount is generated by reading with different signs at the time of one reading and the other reading as a point, and b data string has the above-mentioned sample points that are line symmetric as turning points By reading back and forth, a B data string having the original data amount is generated, and a windowing operation process is performed on the generated original A data string and B data string. Speech decoding method for generating M signals.
A.記憶媒体から読み出された圧縮データを蓄積する圧縮データバッファと、
B.この圧縮データバッファに所定量の圧縮データ列が読み出される毎に、圧縮された音声データ列にビットストリーム展開処理を施すビットストリーム展開処理器と、
C.このビットストリーム展開処理器で展開され帯域分割されたサブバンドデータ列にマトリクス演算処理を施すマトリクス演算処理器と、
D.このマトリクス演算処理器で演算処理された所定サンプル数のデータ列で構成され、データ値の配列形状がデータ列の所定サンプル点において前半部と後半部とで点対称となるAデータ列及び所定のサンプル点において前半部と後半部とで線対称となるBデータ列のそれぞれのデータ列の中から上記前半部又は後半部で構成される対称型の一方の部分を切除するデータ切除器と、
E.このデータ切除器でデータの一部を切除した残りのaデータ列及びbデータ列をN回のマトリクス演算回数分配列して記憶するFIFOバッファと、
F.このFIFOバッファから、aデータ列は上記点対称となるサンプル点を折返点とし往と復で異符号を付して往復にわたって読み出し、元のデータ量を持つAデータ列を生成し、bデータ列は上記線対称となるサンプル点を折返点として往復にわたって読み出し、元のデータ量を持つBデータ列を生成する読み出し手段と、
.この読み出し手段で生成したAデータ列及びBデータ列に係数を乗算し窓掛演算処理する乗算器と、
.この乗算器の乗算結果を累積加算し、PCM信号を生成する累積加算器と、
によって構成したことを特徴とする音声復号装置。
A. A compressed data buffer for storing compressed data read from the storage medium;
B. A bitstream decompression processor that performs a bitstream decompression process on the compressed audio data sequence each time a predetermined amount of the compressed data sequence is read into the compressed data buffer;
C. A matrix operation processor that performs matrix operation processing on the sub-band data sequence that is expanded and band-divided by the bit stream expansion processor;
D. An A data sequence composed of a data sequence of a predetermined number of samples subjected to arithmetic processing by this matrix arithmetic processing unit, and an array shape of data values being point-symmetric between the first half and the second half at a predetermined sample point of the data sequence, and a predetermined a data ablation instrument to ablate one of the symmetric type composed within each of the data columns in the first half is line symmetrical with the latter half portion and the B data sequence by the first half or the latter half portion at the sample point ,
E. A FIFO buffer for storing the remaining a data strings and b data strings obtained by excising a part of the data with this data excisor, and arranging them for N matrix operations;
F. From this FIFO buffer , the a data string is read back and forth with the above-mentioned point-symmetric sample points as turning points, with different signs added in the forward and backward directions, to generate an A data string having the original data amount, and the b data string Reads out the sample points that are line-symmetric with respect to a round trip point as a turning point, and reads out means for generating a B data string having the original data amount ;
G. A multiplier for multiplying the A data sequence and the B data sequence generated by the reading means by a coefficient and performing a windowing operation;
H. A cumulative adder that cumulatively adds the multiplication results of the multiplier and generates a PCM signal;
A speech decoding apparatus characterized by comprising:
JP2001212432A 2001-07-12 2001-07-12 Speech decoding method and speech decoding apparatus Expired - Fee Related JP3682863B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001212432A JP3682863B2 (en) 2001-07-12 2001-07-12 Speech decoding method and speech decoding apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001212432A JP3682863B2 (en) 2001-07-12 2001-07-12 Speech decoding method and speech decoding apparatus

Publications (2)

Publication Number Publication Date
JP2003029788A JP2003029788A (en) 2003-01-31
JP3682863B2 true JP3682863B2 (en) 2005-08-17

Family

ID=19047594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001212432A Expired - Fee Related JP3682863B2 (en) 2001-07-12 2001-07-12 Speech decoding method and speech decoding apparatus

Country Status (1)

Country Link
JP (1) JP3682863B2 (en)

Also Published As

Publication number Publication date
JP2003029788A (en) 2003-01-31

Similar Documents

Publication Publication Date Title
JP3682863B2 (en) Speech decoding method and speech decoding apparatus
KR100300887B1 (en) A method for backward decoding an audio data
JP3639424B2 (en) Address generation circuit
CN1071475C (en) Digital signal processor
JP2943636B2 (en) Signal processing device
JP2852270B2 (en) Frame coded data decoding / playback device
JP2014021162A (en) Decoding device, decoding method, and program
JP3852890B2 (en) Recording / playback device
JP3581431B2 (en) MPEG audio decoder
JP2005242126A (en) Acoustic signal playback device
JP3258526B2 (en) Compressed audio decompression device
JP3922289B2 (en) Sound generator
JP2822388B2 (en) Digital filter
JP3479999B2 (en) Waveform data generator
JPS6128224A (en) Coder and decoder
JP2002258895A (en) Multi-channel recording and playback device
JPH11311997A (en) Audio reproduction speed conversion apparatus and method
JP2009116685A (en) Data processing apparatus and data transfer method using the same
JP4552211B2 (en) Speech encoding method and speech decoding method
JPH0785599A (en) Signal playback device
JP2005326894A (en) Speech encoding method and speech decoding method
JPS6059398A (en) Voice synthesizer
JPH09219064A (en) Disc playback device
JPH0769720B2 (en) Voice recording / playback device
JPH04345997A (en) Voice processor

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050331

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

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20050519

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050519

R150 Certificate of patent or registration of utility model

Ref document number: 3682863

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080603

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090603

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090603

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100603

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20100603

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110603

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110603

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120603

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120603

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130603

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130603

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees