JP3972840B2 - Signal processing apparatus and method - Google Patents

Signal processing apparatus and method Download PDF

Info

Publication number
JP3972840B2
JP3972840B2 JP2003063596A JP2003063596A JP3972840B2 JP 3972840 B2 JP3972840 B2 JP 3972840B2 JP 2003063596 A JP2003063596 A JP 2003063596A JP 2003063596 A JP2003063596 A JP 2003063596A JP 3972840 B2 JP3972840 B2 JP 3972840B2
Authority
JP
Japan
Prior art keywords
data
channel
channels
frame
decoding process
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
JP2003063596A
Other languages
Japanese (ja)
Other versions
JP2004271982A (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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2003063596A priority Critical patent/JP3972840B2/en
Publication of JP2004271982A publication Critical patent/JP2004271982A/en
Application granted granted Critical
Publication of JP3972840B2 publication Critical patent/JP3972840B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、デジタルオーディオデータ等のストリームデータに対しデコード処理等の信号処理を施す信号処理装置および方法に関し、特に信号処理が施されたデータを出力するための技術に関する。
【0002】
【従来の技術】
BSデジタルチューナやD−VHS(登録商標)等の再生装置には、再生すべきデジタルオーディオデータをデコードするための信号処理装置が組み込まれており、この信号処理装置としては、例えば、MPEG-2(Audio)の拡張符号化方式であるAAC(Advanced Audio Coding)に準拠した5.1チャンネルのデジタルオーディオデコーダが知られている。このデコーダは、BSデジタルチューナやD−VHS等から得られたディジタルオーディオデータをストリームデータとして入力し、フレームを単位としてデコード処理を施した後、1チャンネルあたり1024サンプル分のデータを順次出力する。通常、この種の装置には、出力の際にデータを一時的に格納するためのデータバッファが出力段に設けられており、現在のフレームに対するデコード処理と並行して前回のフレームのデータを出力することにより、見かけ上の動作速度(動作周波数)を向上させている。
【0003】
ここで、上述のデコーダに関する第1の従来技術として、1フレーム内で出力すべきデータ量の2倍の記憶容量を有するデータバッファを備えたものがある(特許文献1参照)。図5(a)を参照して第1の従来技術を説明する。同図は、1フレーム内における各チャンネルに対応するデータバッファの記憶領域を示し、記憶領域Aは、現在のフレームで外部に読み出すべき前回のフレームのデコード結果が記憶された領域を表し、記憶領域Bは現在のフレームでデコード結果が書き込まれる領域を表す。この例では、前方左側のメインスピーカを駆動するチャンネルLと、前方右側のメインスピーカを駆動するチャンネルRと、後方左側のサラウンドスピーカを駆動するチャンネルLSと、後方右側のサラウンドスピーカを駆動するチャンネルRSと、前方中央のスピーカを駆動するチャンネルCと、重低音専用のサブウーファを駆動するチャンネルLFE(以下、チャンネルSと称す)との各チャンネルについて上述の記憶領域A,Bが用意されている。
【0004】
図5(a)において、フレームNの周期では、各チャンネルの1フレーム分のデコード結果がデータバッファの記憶領域Bに書き込まれ、かつ記憶領域Aから前回の1フレーム分のデコード結果が読み出される。次のフレームN+1の周期では、フレームNの周期で記憶領域Bとされた領域が記憶領域Aとなり、この記憶領域Aに記憶されているデータ、即ちフレームNで記憶領域Bに書き込まれたデータが読み出される。ここで、同一のチャンネルに着目すると、フレームN+1での各記憶領域Bは、フレームNでの記憶境域Bを、1つのチャンネルに割り付けられた記憶領域(A+B)の2分の1だけシフトさせたものに相当し、データバッファ全体が巡回バッファとして機能する。これにより、現在のフレームのデコード結果の書き込みと、前回のフレームのデコード結果の出力とを並行して行わせ、見かけ上の動作速度を改善している。この例では、各フレームでデータバッファに書き込まれたデータは1フレーム分だけ遅れて読み出される。
図6(a)に、第1の従来技術によるデコード処理と出力データとのタイミング関係を示す。同図に示すように、出力データはデコード処理が行われてから1フレーム分だけ遅延するので、デコード処理はその前の1フレームの周期内に終了していればよい。従って、デコード処理の負荷が過大にならなず、デコード処理能力が低くても、その処理能力を十分に活用することができる。
【0005】
次に、図5(b)を参照して第2の従来技術を説明する。この例では、1フレーム内で出力すべきデータ量の1.5倍の記憶容量を有するデータバッファを備える。図5(b)では、記憶領域A1は、現在のフレームの前半の周期で読み出すべき前回のフレームのデコード結果が記憶された領域を表し、記憶領域A2は、現在のフレームの後半の周期で読み出すべき前回のフレームのデコード結果が記憶された領域を表す。記憶領域Bは、上述と同様に現在のフレームでデコード結果が書き込まれる領域を表す。各チャンネルの定義は上述と同様であり、各チャンネルについて記憶領域A1,A2,Bが用意されている。
【0006】
図5(b)において、フレームNの前半の周期(N0〜1/2)では、各チャンネルの1フレーム分のデコード結果がデータバッファの記憶領域Bに書き込まれ、かつ記憶領域A1から前回のフレームのデコード結果の後半が読み出される。また、フレームNの後半の周期(N1/2〜2/2)では、フレームNの前半の周期(N0〜1/2)で記憶領域Bとされた領域の前半が記憶領域A2となり、この記憶領域A2から現在のフレームNのデコード結果の前半が読み出される。次のフレームN+1の前半の周期(N+10〜1/2)では、フレームNの周期で記憶領域Bとされた領域の後半が記憶領域A1とされ、この記憶領域A1に記憶されているデータ、即ちフレームNで記憶領域Bの後半に書き込まれたデータが読み出される。
【0007】
また、このフレームN+1の前半の周期(N+10〜1/2)では、フレームNの周期で記憶領域A1とされていた領域が新たに記憶領域Bの前半とされ、フレームNの周期で記憶領域Bの前半とされていた領域が新たに記憶領域Bの後半とされる。この新たな記憶領域Bに対してフレームN+1でのデコード結果が書き込まれる。ここで、同一のチャンネルに着目すると、フレームN+1での各記憶領域Bは、フレームNでの記憶領域Bを、1つのチャンネルに割り付けられた記憶領域の3分の2だけシフトさせたものに相当し、データバッファ全体が巡回バッファとして機能する。これにより、書き込みと読み出しを並行して行わせ、見かけ上の動作速度を改善している。この例では、各フレームでデータバッファに書き込まれたデータは2分の1フレーム分だけ遅れて読み出される。図6(b)に、この第2の従来技術によるデコード処理と出力データとの関係を示す。この例では、同図に示すように、出力データはデコード処理が行われてから1フレームの半周期分だけ遅延する。
【0008】
【特許文献1】
特開平11−327559号公報(段落番号0029、図2)
【0009】
【発明が解決しようとする課題】
しかしながら、上述の第1の従来技術によれば、信号処理の単位となる1フレーム分のデータ量の2倍に相当する記憶領域をデータバッファ内に用意しなければならず、データバッファの記憶容量が大幅に増加するという問題がある。
また、第2の従来技術によれば、上述の第1の従来技術に比較すれば、少ない記憶容量でデータバッファを構成することが可能になる反面、上述の図6(b)に示すように、1フレームの前半の周期でデコード処理を終えなければならず、このため、第1の従来技術に比較して2倍の処理能力を必要とするという問題がある。
【0010】
この発明は、上記事情に鑑みてなされたもので、データバッファの記憶容量の増加を有効に抑えながら、信号処理能力を有効に活用することが可能な信号処理装置および方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
上記課題を解決するため、この発明は以下の構成を有する。
即ち、この発明に係る信号処理装置は、1フレーム単位で圧縮された複数のチャンネルのデータをストリームデータとして入力し、該ストリームデータにデコード処理を施し、該デコード処理が施されたデータをチャンネル毎に出力する信号処理装置において、前記複数のチャンネルに対応付けられた複数の記憶領域を有し、該複数の記憶領域のそれぞれが、前記1チャンネル分のデコード処理に必要なデータ量と、該1チャンネル分のデコード処理に必要なデータ量を前記複数のチャンネルの数で除したデータ量との和に相当する記憶容量を有し、前記デコード処理が施された各チャンネルのデータを格納するデータバッファを備え、前記複数のチャンネルの1チャンネルのデータにデコード処理を施し、該デコード処理が施されたデータを前記データバッファの複数の記憶領域の空き領域に記憶し、該デコード処理と並行して、前回のフレームでスワップ処理された各チャンネルのデータを、1チャンネル分のデコード処理に必要なデータ量を前記複数のチャンネルの数で除したデータ量ずつ前記複数の記憶領域からサンプリングレートに応じたタイミングで並行して外部のD/Aコンバータに出力して、該データが出力された領域を空き領域とする処理を前記複数のチャンネル分繰り返し、1フレームの最後にデコード処理されるチャンネルのデコード処理の後、前記複数の記憶領域に記憶されたデータを前記チャンネル毎に集中させて配列し直すスワップ処理を行い、これら一連の処理を前記1フレーム毎に繰り返すことを特徴としている。
【0012】
この構成によれば、データバッファは、複数のチャンネルに対応付けられた複数の記憶領域を有し、複数の記憶領域のそれぞれが、1チャンネル分のデコード処理に必要なデータ量と、1チャンネル分のデコード処理に必要なデータ量を複数のチャンネルの数で除したデータ量との和に相当する記憶容量を有しているので、デコード処理の単位となるデータがデータバッファに格納されたとしても、記憶容量に余剰分が発生する。ここで、例えば、新たにデコード処理が施された1つ目のチャンネルのデータは上記余剰分に格納される。従って、新たにデコード処理が施されたデータをデータバッファに格納しても、既にデコード処理が施されてデータバッファに予め格納されているデータの読み出しが阻害されることはない。この予め格納されたデータの読み出しに伴ってデータバッファに空き領域が発生する。2つ目以降のチャンネルのデータは、この空き領域に順次記憶されていく。従って、この発明の構成によれば、データバッファの記憶容量の増加(余剰分)を抑えながら、信号処理能力を有効に活用することができる。
【0014】
この発明に係る信号処理方法は、信号処理装置が、1フレーム単位で圧縮された複数のチャンネルのデータをストリームデータとして入力し、該ストリームデータにデコード処理を施し、該デコード処理が施されたデータをチャンネル毎に出力する信号処理方法において、前記信号処理装置が、前記複数のチャンネルの1チャンネルのデータにデコード処理を施す第1ステップと、前記信号処理装置が、前記デコード処理が施されたデータを、前記複数のチャンネルに対応付けられた複数の記憶領域を有し、該複数の記憶領域のそれぞれが、前記1チャンネル分のデコード処理に必要なデータ量と、該1チャンネル分のデコード処理に必要なデータ量を前記複数のチャンネルの数で除したデータ量との和に相当する記憶容量を有し、前記デコード処理が施された各チャンネルのデータを格納するデータバッファの複数の記憶領域の空き領域に記憶する第2ステップと、前記信号処理装置が、前記デコード処理と並行して、前回のフレームでスワップ処理された各チャンネルのデータを、1チャンネル分のデコード処理に必要なデータ量を前記複数のチャンネルの数で除したデータ量ずつ前記複数の記憶領域からサンプリングレートに応じたタイミングで並行して外部のD/Aコンバータに出力して、該データが出力された領域を空き領域とする第3ステップと、を含み、前記信号処理装置が、前記第1ステップから前記第3ステップを前記複数のチャンネル分繰り返し、1フレームの最後にデコード処理されるチャンネルのデコード処理の後、前記複数の記憶領域に記憶されたデータを前記チャンネル毎に集中させて配列し直すスワップ処理を行い、これら一連の処理を前記1フレーム毎に繰り返すことを特徴としている。
【0015】
【発明の実施の形態】
以下、図面を参照して、この発明の実施形態を説明する。
図1に、この実施形態に係る信号処理装置100の構成を示す。この信号処理装置100は、AACに準拠した5.1チャンネル・サラウンドシステムのデジタルオーディオデコーダであって、ストリームデータDINをデコードしてデジタルオーディオデータDOUTをチャンネル毎に出力するものであり、入力インタフェース110、入力データバッファ120、信号処理演算部(DSP;Digital Signal Processor)130、出力データバッファ140、出力インタフェース150、サンプルカウンタ160、作業バッファ170を備える。
【0016】
ストリームデータDINは、AACに準拠した5.1チャンネル・サラウンドシステムのデジタルオーディオデータであり、BSデジタルチューナやD−VHS等から得られるSPDIF形式のデータを図示しないDIR(Digital Interface Receiver)で解釈して得られたものである。このサラウンドシステムのチャンネルの種類としては、左前方のスピーカに対応するチャンネルL、右前方のスピーカに対応するチャンネルR、左後方のサラウンド用のスピーカに対応するチャンネルLS、右後方のサラウンド用のスピーカに対応するチャンネルRS、前方中央のセンタースピーカに対応するチャンネルC、および重低音再生用のサブウーファスピーカに対応するチャンネルSの合計6チャンネルがある。
【0017】
入出力クロック信号CLKは、上述のDIRで生成されたものであって、各ワードの境界を表すワードクロック信号、各ビットの位置を表すビットクロック信号、動作タイミングの基準となるマスタクロック信号等が含まれる。入力インタフェース110は、上述のDIRからストリームデータDINを入力するためのものであり、入力データバッファ120は、前段の入力インタフェース110を介して入力されたストリームデータDINを一時的に格納して後段の信号処理演算部130に供給するタイミングを調節するものである。信号処理演算部130は、ストリームデータDINに対するデコード処理(所定の信号処理)を実行し、このストリームデータDINを上述のチャンネルL,R,LS,RS,C,Sの各オーデオデータに変換するものである。
【0018】
出力データバッファ140は、本発明の特徴をなすもので、上述のデコード処理が施された各チャンネルのオーディオデータを一時的に格納するものである。この出力データバッファ140は、信号処理演算部130でのデコード処理の単位となる1フレーム分のデータ量と、チャンネルの数とに応じた記憶容量(以下、αと称す)とを有している。この実施形態では、出力データバッファ140の記憶容量は、1フレーム分のデータ量と、このデータ量をチャンネル数で除したデータ量との和に相当し、αは、1フレーム分のデータ量をチャンネル数で除した値(小数点以下切り上げ)となる。具体的には、このオーディオデータの1フレーム分のサンプル数は、例えば、1チャンネルあたり1024個であり、そのデータ量は1024ワードである。このデータ量をチャンネル数の「6」で除算して得られるデータ量は171ワード(小数点以下切り上げ)であるから、これらの和である1195ワードが出力データバッファ140の1チャンネルあたりの記憶容量となる。
【0019】
出力インタフェース150は、出力データバッファ140に格納された各チャンネルのオーディオデータを外部の図示しないD/Aコンバータに出力するものであり、このD/Aコンバータの出力信号は電力増幅されて図示しないスピーカに供給される。サンプルカウンタ160は、入出力クロック信号CLKに基づき出力データバッファ140にデータを書き込むタイミングを規定するタイミング信号を生成するものである。作業バッファ170は、信号処理演算部130が一連のデコード処理を実行する過程で発生するデータを一時的に格納するための作業領域であり、後述するスワップ処理を行う際の作業領域としても兼用される。
【0020】
次に、この実施形態の動作を、図2に示すフローに沿って、図3及び図4を参照しながら説明する。ここで、図3は、フレームNでの出力データバッファ140の記憶領域を示し、記憶領域A〜Aは、現在のフレームNの周期で読み出すべきデコード結果が記憶された領域を表す。また、記憶領域l〜lは、チャンネルLのデコード結果の記憶領域を表す。同様に、記憶領域r〜r、ls〜ls、rs〜rs、c〜c、s〜s、は、それぞれ、チャンネルL,R、LS,RS,C,S(=LFE)のデコード結果の記憶領域を表す。この例では、各チャンネルについて、実線で表現した領域が1フレーム分のデータ量(1024個のサンプルに相当するデータ量)の記憶領域に対応し、点線で表現した領域が1フレーム分のデータ量をチャンネル数の「6」で除したデータ量(171個のサンプルに相当するデータ量)の記憶領域に対応する。図4は、信号処理演算部130のデコード処理と、出力データバッファ140の出力データとのタイミング関係を示す。
【0021】
先ず、信号処理演算部130は、デコード処理を終了する旨の要求があるか否かを判断し(ステップS1)、この要求がある場合(ステップS1;Yes)には処理を終了し、この要求がない場合(ステップS1;No)には、以下の一連のデコード処理を実行する。即ち、信号処理演算部130は、フレームNの開始の要求があるか否かを判断し(ステップS2)、この要求がない場合(ステップS2;No)には処理を待機し、この要求がある場合(ステップS2;Yes)、1チャンネル目であるチャンネルLのデジタルオーディオデータに対するデコード処理を実行する(ステップS3)。
【0022】
ここで、フレームNの先頭から6分の1までの期間、即ちサンプル数が0から171に相当する期間が経過する前に、信号処理演算部130は、フレームNにおけるチャンネルLのデコード結果として得られる1024個のサンプルに相当するディジタルオーディオデータを、記憶領域l〜lの6つの領域に分散させて書き込む。即ち、フレームNの1024個のサンプルのうち、1〜171個目までを記憶領域lに書き込み、172〜342個目を記憶領域lに書き込み、343〜513個目を記憶領域lに書き込み、514〜684個目を記憶領域lに書き込み、685〜855個目を記憶領域lに書き込み、856〜1024個目を記憶領域lに書き込む。この間、出力インタフェース150は、各チャンネルに割り付けられた記憶領域Aから前回のフレーム(N−1)のデコード結果である1〜171個目のサンプルに相当するディジタルオーディオデータを読み出して外部(図示しないD/A変換器)に出力する。
【0023】
続いて、信号処理演算部130は、フレームNの6分の1の期間が経過したか否かを判断し(ステップS4)、この期間が経過していなければ(ステップS4;No)、処理を待機する。そして、フレームNの6分の1の期間が経過すると(ステップS4;Yes)、2チャンネル目であるチャンネルRのデジタルオーディオデータに対するデコード処理を実行する(ステップS5)。ここで、フレームNの6分の1の期間が過ぎると、上述の記憶領域Aからデータの読み出しが終了し、この領域が空くので、信号処理演算部130は、この記憶領域Aを新たに記憶領域r〜rとして、上述のチャンネルRのデコード結果を記憶領域r〜rに書き込む。この間、出力インタフェース150は、各チャンネルに割り付けられた記憶領域Aから前回のフレーム(N−1)のデコード結果である172〜342個目のサンプルに相当するディジタルオーディオデータを読み出して外部(図示しないD/A変換器)に出力する。以下同様に、フレームNの6分の2〜6分の5までの期間の経過が判断され、各期間が経過すると、記憶領域ls〜ls,rs〜rs,c〜c、s〜sにデコード結果を書き込むと共に、記憶領域A〜Aから前回のフレーム(N−1)のデコード結果である343〜513個目、514〜684個目、685〜855個目、856〜1024個目のサンプルに相当する各ディジタルオーディオデータが出力データバッファ150に読み出されて外部に出力される(ステップS6〜S13)。
【0024】
この状態では、図3の上から6段目に示すように、チャンネルL,R,LS,RS,C,Sのデコード結果が書き込まれた記憶領域が分散しており、出力データバッファ140は、各チャンネルのデコード結果を分散した状態で記憶している。そこで、分散された各チャンネルのデコード結果に対しスワップ処理を施し(ステップS14)、図3の上から7段目に示すように、信号処理演算部130は、現在のフレームNで得られたデコード結果がチャンネル毎に集中するようにこれを配列し直し、この配列し直されたデコード結果を出力データバッファ140の各記憶領域に記憶させる。配列し直されたデコード結果は上述の記憶領域A1〜A6と同様に、次のフレームN+1についてのデコード処理の周期において出力データバッファ140から出力インタフェース150に読み出されて外部に出力される。
【0025】
図3の最下段に、次のフレームN+1の6分の1までの期間における記憶領域A、l〜lが示されている。同図に示されるように、上述のフレームNにおけるスワップ処理後の記憶領域Aが、フレームN+1の6分の1までの期間のデコード結果が書き込まれる記憶領域l〜lとして使用される。また、フレームN+1において各チャンネルに割り付けられる記憶領域は、上述のフレームNに対し、1024個のサンプルに相当する領域分だけシフトし、出力データバッファ140の全体が巡回バッファとして機能する。フレームN+1以降についての動作は、上述のフレームN−1に対するフレームNについての動作と同様である。
この例では、1フレームにつき15回のスワップが必要となるが、連続メモリ転送に適したDSPを利用すれば、大きな処理量とはならない。また、スワップに必要な作業領域は171ワードとなるが、必ずしもこの作業領域を出力データバッファ内に設ける必要はない。この程度の作業領域であれば、デコード処理で使用される作業バッファ170を兼用することができる。
【0026】
次に、図4を参照して、この実施形態による効果を説明する。図4は、この実施形態に係る信号処理装置によるデコード処理と出力データとのタイミング関係を示し、信号処理演算部130の処理能力が十分に高い場合を仮定している。同図から理解されるように、チャンネルL,R,LS,RS,Sに対する各デコード処理が均等に分散される。従って、前述の図6に示す第1および第2の従来技術と比較すると、出力データバッファの記憶容量の増加を抑え、しかもデコード処理能力を有効に活用することができ、信号処理演算部130に過大な負荷を与えることがない。
【0027】
また、この実施形態では、1フレーム内の最後の6分の1の期間において、チャンネルSのデコード処理に加えてスワップ処理を行っているが、一般には、スワップ処理に要する時間はデコード処理に要する時間に比べて短く、しかも低周波信号のチャンネルS(LFE)は他のチャンネルに比べて処理が軽い。従って、1フレームの最後の6分の1の期間でチャンネルSのデコード処理に加えてスワップ処理を行うものとし、この期間でのデコード処理能力を他の期間でのデコード処理能力と均等に設定しても不都合はない。ただし、スワップ処理に要する時間が過大になって1フレーム内で処理が終了しないような場合や、チャンネル間で必要とされるデコード処理能力に極端な偏りがある場合には、αの値を2倍などに適宜増やせばよい。これにより、各チャンネルについての処理が前倒しされ、1フレーム内で全ての処理を終了することができるようになる。
さらに、この実施形態に係る信号処理装置は、デコード処理をフレーム単位で実行するものであるため、隣接するフレームのサイズが異なるシステムにも適用することができる。
【0028】
【発明の効果】
以上説明したように、この発明によれば、信号処理の単位となるデータ量とチャンネル数とに応じた記憶容量を有するデータバッファを備え、このデータバッファに信号処理結果を分散させて記憶するようにしたので、データバッファの記憶容量の増加を抑えながら、信号処理能力を有効に活用することが可能となる。
【図面の簡単な説明】
【図1】 この発明の実施形態に係る信号処理装置の構成を示すブロック図である。
【図2】 この発明の実施形態に係る信号処理装置の動作の流れを示すフローチャートである。
【図3】 この発明の実施形態に係る出力データバッファの各記憶領域を示す図である。
【図4】 この発明の実施形態に係る信号処理装置のデコード処理と出力データとのタイミング関係を示す図である。
【図5】 従来技術に係る信号処理装置が備える出力データバッファの各記憶領域を示す図である。
【図6】 従来技術に係る信号処理装置のデコード処理と出力データとのタイミング関係を示す図である。
【符号の説明】
100;信号処理装置、110;入力インタフェース、120;入力データバッファ、130;信号処理演算部(DSP)、140;出力データバッファ、150;出力インタフェース、160;サンプルカウンタ、170;作業バッファ、L,R,LS,RS,C,S(LFE);チャンネル、N,N+1;フレーム、A1〜A6,l〜l,r〜r,ls〜ls,rs〜rs,c〜c,s〜s;記憶領域、α;記憶容量。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a signal processing apparatus and method for performing signal processing such as decoding processing on stream data such as digital audio data, and more particularly to a technique for outputting data subjected to signal processing.
[0002]
[Prior art]
A playback device such as a BS digital tuner or D-VHS (registered trademark) incorporates a signal processing device for decoding digital audio data to be played back. As this signal processing device, for example, MPEG-2 A 5.1 channel digital audio decoder conforming to AAC (Advanced Audio Coding), which is an (Audio) extended encoding system, is known. This decoder inputs digital audio data obtained from a BS digital tuner, D-VHS, or the like as stream data, performs decoding processing in units of frames, and sequentially outputs data for 1024 samples per channel. Normally, this type of device is provided with a data buffer in the output stage for temporarily storing data at the time of output, and outputs the data of the previous frame in parallel with the decoding process for the current frame. By doing so, the apparent operation speed (operation frequency) is improved.
[0003]
Here, as a first related art relating to the above-described decoder, there is one provided with a data buffer having a storage capacity that is twice the amount of data to be output in one frame (see Patent Document 1). The first prior art will be described with reference to FIG. The figure shows the storage area of the data buffer corresponding to each channel in one frame, and the storage area A represents the area in which the decoding result of the previous frame to be read out in the current frame is stored. B represents an area where a decoding result is written in the current frame. In this example, a channel L that drives the front left main speaker, a channel R that drives the front right main speaker, a channel LS that drives the rear left surround speaker, and a channel RS that drives the rear right surround speaker. The storage areas A and B described above are prepared for each of the channel C for driving the front center speaker and the channel LFE (hereinafter referred to as channel S) for driving the subwoofer dedicated to deep bass.
[0004]
In FIG. 5A, in the period of frame N, the decoding result for one frame of each channel is written to the storage area B of the data buffer, and the decoding result for the previous one frame is read from the storage area A. In the next cycle of frame N + 1, the storage area B is the storage area B, and the data stored in the storage area A, that is, the data written in the storage area B in the frame N is the storage area A. Read out. Here, focusing on the same channel, each storage area B in the frame N + 1 has shifted the storage area B in the frame N by one half of the storage area (A + B) allocated to one channel. The entire data buffer functions as a circular buffer. As a result, writing of the decoding result of the current frame and output of the decoding result of the previous frame are performed in parallel to improve the apparent operation speed. In this example, data written to the data buffer in each frame is read with a delay of one frame.
FIG. 6A shows the timing relationship between the decoding process according to the first prior art and the output data. As shown in the figure, since the output data is delayed by one frame after the decoding process is performed, the decoding process only needs to be completed within the period of the previous one frame. Therefore, the load of decoding processing does not become excessive, and even when the decoding processing capability is low, the processing capability can be fully utilized.
[0005]
Next, the second prior art will be described with reference to FIG. In this example, a data buffer having a storage capacity 1.5 times the amount of data to be output in one frame is provided. In FIG. 5B, the storage area A1 represents an area in which the decoding result of the previous frame to be read in the first half cycle of the current frame is stored, and the storage area A2 is read in the second half cycle of the current frame. This represents an area in which the decoding result of the power previous frame is stored. The storage area B represents an area where the decoding result is written in the current frame as described above. The definition of each channel is the same as described above, and storage areas A1, A2, and B are prepared for each channel.
[0006]
In FIG. 5B, the first half period (N 0 to 1/2 ), The decoding result for one frame of each channel is written to the storage area B of the data buffer, and the second half of the decoding result of the previous frame is read from the storage area A1. Further, the second half of the frame N (N 1 / 2-2 / 2 ) In the first half of the frame N (N 0 to 1/2 ), The first half of the area designated as the storage area B becomes the storage area A2, and the first half of the decoding result of the current frame N is read from this storage area A2. The first half period (N + 1) of the next frame N + 1 0 to 1/2 ), The second half of the area designated as the storage area B in the cycle of the frame N is designated as the storage area A1, and the data stored in the storage area A1, that is, the data written in the second half of the storage area B in the frame N Read out.
[0007]
In addition, the first half period (N + 1) of this frame N + 1 0 to 1/2 ), The area that was set as the storage area A1 in the cycle of the frame N is newly set as the first half of the storage area B, and the area that was set as the first half of the storage area B in the cycle of the frame N is set as the second half of the storage area B. It is said. In this new storage area B, the decoding result in frame N + 1 is written. Here, focusing on the same channel, each storage area B in frame N + 1 is equivalent to the storage area B in frame N shifted by two-thirds of the storage area allocated to one channel. The entire data buffer functions as a circular buffer. Thereby, writing and reading are performed in parallel, and the apparent operation speed is improved. In this example, data written to the data buffer in each frame is read with a delay of one-half frame. FIG. 6B shows the relationship between the decoding process according to the second prior art and the output data. In this example, as shown in the figure, the output data is delayed by a half cycle of one frame after the decoding process is performed.
[0008]
[Patent Document 1]
Japanese Patent Laid-Open No. 11-327559 (paragraph number 0029, FIG. 2)
[0009]
[Problems to be solved by the invention]
However, according to the first prior art described above, a storage area corresponding to twice the amount of data for one frame, which is a unit of signal processing, must be prepared in the data buffer. There is a problem that increases significantly.
Further, according to the second prior art, it is possible to configure a data buffer with a small storage capacity as compared with the first prior art described above, but as shown in FIG. 6B described above. There is a problem in that the decoding process must be completed in the first half of one frame, and therefore, twice the processing capability is required compared to the first prior art.
[0010]
The present invention has been made in view of the above circumstances, and an object thereof is to provide a signal processing apparatus and method capable of effectively utilizing signal processing capability while effectively suppressing an increase in storage capacity of a data buffer. And
[0011]
[Means for Solving the Problems]
In order to solve the above problems, the present invention has the following configuration.
That is, the signal processing apparatus according to the present invention is Compressed by 1 frame unit Input data of multiple channels as stream data, Decoding process And apply Decoding process In the signal processing device that outputs the data subjected to each channel, A plurality of storage areas associated with the plurality of channels, each of the plurality of storage areas being required for a decoding process for the one channel and a decoding process for the one channel; Corresponds to the sum of the data amount divided by the number of the plurality of channels. Having a storage capacity, Decoding process It has a data buffer that stores the data of each channel that has been subjected to Decoding the data of one channel of the plurality of channels, storing the decoded data in empty areas of a plurality of storage areas of the data buffer, and in parallel with the decoding process, The data of each channel swapped in step 1 is paralleled at the timing corresponding to the sampling rate from the plurality of storage areas by the amount of data obtained by dividing the amount of data necessary for decoding processing for one channel by the number of the plurality of channels. Output the data to an external D / A converter and repeat the process of setting the area where the data is output as a vacant area for the plurality of channels after the decoding process of the channel to be decoded at the end of one frame, Stored in multiple storage areas Rearrange the data in a concentrated manner for each channel. Swap processing is performed, and this series of processing is repeated for each frame. It is characterized by that.
[0012]
According to this configuration, the data buffer is It has a plurality of storage areas associated with a plurality of channels, and each of the plurality of storage areas has a plurality of data amounts necessary for decoding processing for one channel and a plurality of data amounts necessary for decoding processing for one channel. Equivalent to the amount of data divided by the number of channels Since it has a storage capacity, Decode Even if data as a unit of processing is stored in the data buffer, a surplus occurs in the storage capacity. Here, for example, newly Decode The processed first channel data is stored in the surplus. Therefore, newly Decode Even if the processed data is stored in the data buffer, Decode Reading data stored in the data buffer after processing is not hindered. A free space is generated in the data buffer in accordance with the reading of the prestored data. The data of the second and subsequent channels are sequentially stored in this empty area. Therefore, according to the configuration of the present invention, it is possible to effectively use the signal processing capability while suppressing the increase (surplus) of the storage capacity of the data buffer.
[0014]
The signal processing method according to the present invention includes: The signal processor was compressed in units of one frame Input data of multiple channels as stream data, Decoding process And apply Decoding process In the signal processing method for outputting the data subjected to each channel, A first step in which the signal processing device decodes the data of one channel of the plurality of channels, and the signal processing device associates the decoded data with the plurality of channels; A plurality of storage areas, and each of the storage areas has a data amount necessary for the decoding process for the one channel and a data amount necessary for the decoding process for the one channel; A second step of storing in a free space of a plurality of storage areas of a data buffer having a storage capacity corresponding to the sum of the data amount divided by the data buffer and storing the data of each channel subjected to the decoding process; In parallel with the decoding processing, the signal processing device decodes the data of each channel swapped in the previous frame for one channel. The data amount required for processing is divided by the number of the plurality of channels, and the data amount is output from the plurality of storage areas in parallel to the external D / A converter at a timing corresponding to the sampling rate, and the data is output. A third step of setting the generated region as a free region, wherein the signal processing device repeats the first step to the third step for the plurality of channels, and sets a channel to be decoded at the end of one frame. After the decoding process, stored in the plurality of storage areas Rearrange the data in a concentrated manner for each channel. Swap processing is performed, and this series of processing is repeated for each frame. It is characterized by that.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 shows a configuration of a signal processing apparatus 100 according to this embodiment. This signal processing apparatus 100 is a 5.1 channel surround system digital audio decoder compliant with AAC, which decodes stream data DIN and outputs digital audio data DOUT for each channel. , An input data buffer 120, a signal processing arithmetic unit (DSP) 130, an output data buffer 140, an output interface 150, a sample counter 160, and a work buffer 170.
[0016]
Stream data DIN is 5.1 channel surround system digital audio data compliant with AAC, and SPDIF format data obtained from BS digital tuner, D-VHS, etc. is interpreted by DIR (Digital Interface Receiver) (not shown). It was obtained. Channel types of this surround system include a channel L corresponding to the left front speaker, a channel R corresponding to the right front speaker, a channel LS corresponding to the left rear surround speaker, and a right rear surround speaker. There are a total of 6 channels: a channel RS corresponding to the center speaker C, a channel C corresponding to the center speaker in the front center, and a channel S corresponding to the subwoofer speaker for reproducing heavy bass.
[0017]
The input / output clock signal CLK is generated by the above-described DIR, and includes a word clock signal that represents the boundary of each word, a bit clock signal that represents the position of each bit, a master clock signal that serves as a reference for operation timing, and the like. included. The input interface 110 is for inputting the stream data DIN from the above-mentioned DIR, and the input data buffer 120 temporarily stores the stream data DIN input via the input interface 110 at the previous stage and stores the stream data DIN at the subsequent stage. The timing for supplying the signal processing operation unit 130 is adjusted. The signal processing operation unit 130 performs a decoding process (predetermined signal processing) on the stream data DIN, and converts the stream data DIN into the above-described audio data of the channels L, R, LS, RS, C, and S. It is.
[0018]
The output data buffer 140 is a feature of the present invention, and temporarily stores the audio data of each channel subjected to the decoding process described above. The output data buffer 140 has a storage capacity (hereinafter referred to as α) corresponding to the data amount for one frame, which is a unit of decoding processing in the signal processing arithmetic unit 130, and the number of channels. . In this embodiment, the storage capacity of the output data buffer 140 corresponds to the sum of the data amount for one frame and the data amount obtained by dividing the data amount by the number of channels, and α represents the data amount for one frame. The value divided by the number of channels (rounded up after the decimal point). Specifically, the number of samples of one frame of the audio data is, for example, 1024 per channel, and the data amount is 1024 words. Since the amount of data obtained by dividing this amount of data by the number of channels “6” is 171 words (rounded up after the decimal point), the sum of these 1195 words is the storage capacity per channel of the output data buffer 140. Become.
[0019]
The output interface 150 outputs the audio data of each channel stored in the output data buffer 140 to an external D / A converter (not shown), and the output signal of the D / A converter is amplified in power to a speaker (not shown). To be supplied. The sample counter 160 generates a timing signal that defines the timing for writing data to the output data buffer 140 based on the input / output clock signal CLK. The work buffer 170 is a work area for temporarily storing data generated in the process in which the signal processing operation unit 130 executes a series of decoding processes, and is also used as a work area when performing a swap process described later. The
[0020]
Next, the operation of this embodiment will be described along the flow shown in FIG. 2 with reference to FIG. 3 and FIG. Here, FIG. 3 shows the storage area of the output data buffer 140 in the frame N, and the storage area A 1 ~ A 6 Represents an area in which a decoding result to be read in the current frame N cycle is stored. Storage area l 1 ~ L 6 Represents a storage area of the decoding result of channel L. Similarly, the storage area r 1 ~ R 6 , Ls 1 ~ Ls 6 , Rs 1 ~ Rs 6 , C 1 ~ C 6 , S 1 ~ S 6 , Represents storage areas for decoding results of channels L, R, LS, RS, C, and S (= LFE), respectively. In this example, for each channel, the area represented by a solid line corresponds to a storage area for a data amount of one frame (data amount corresponding to 1024 samples), and the area represented by a dotted line represents a data amount for one frame. Corresponds to a storage area of a data amount (data amount corresponding to 171 samples) divided by “6” of the number of channels. FIG. 4 shows the timing relationship between the decoding process of the signal processing operation unit 130 and the output data of the output data buffer 140.
[0021]
First, the signal processing calculation unit 130 determines whether or not there is a request to end the decoding process (step S1), and when there is this request (step S1; Yes), the process is ended and this request is made. If there is no error (step S1; No), the following series of decoding processes are executed. That is, the signal processing calculation unit 130 determines whether or not there is a request to start the frame N (step S2), and when there is no request (step S2; No), the process waits for the request. In the case (step S2; Yes), a decoding process is performed on the digital audio data of channel L, which is the first channel (step S3).
[0022]
Here, before the period from the beginning of frame N to 1/6, that is, the period corresponding to the number of samples from 0 to 171 has elapsed, the signal processing operation unit 130 obtains the decoding result of channel L in frame N as the decoding result. The digital audio data corresponding to 1024 samples to be stored in the storage area l 1 ~ L 6 Are distributed and written in the six areas. That is, from the 1024 samples of frame N, the first to 171th samples are stored in the storage area 1 172 to 342th storage area l 2 343 to 513th memory area l 3 514 to 684th memory area l 4 685-855th storage area l 5 856 to 1024th memory area l 6 Write to. During this time, the output interface 150 uses the storage area A allocated to each channel. 1 The digital audio data corresponding to the 1st to 171st samples, which is the decoding result of the previous frame (N−1), is read out and output to the outside (D / A converter not shown).
[0023]
Subsequently, the signal processing calculation unit 130 determines whether or not a one-sixth period of the frame N has elapsed (step S4). If this period has not elapsed (step S4; No), the processing is performed. stand by. When a period of 1/6 of the frame N elapses (step S4; Yes), the decoding process is performed on the digital audio data of the channel R which is the second channel (step S5). Here, when the period of 1/6 of the frame N has passed, the above-mentioned storage area A 1 Since the reading of data from the memory is completed and this area becomes free, the signal processing calculation unit 130 uses the storage area A. 1 A new storage area r 1 ~ R 6 As described above, the decoding result of the channel R is stored in the storage area 1 ~ R 6 Write to. During this time, the output interface 150 uses the storage area A allocated to each channel. 2 The digital audio data corresponding to the 172nd to 342nd samples, which is the decoding result of the previous frame (N-1), is read out and output to the outside (D / A converter not shown). Similarly, the passage of the period from 2/6 to 5/6 of the frame N is determined, and after each period, the storage area ls 1 ~ Ls 6 , Rs 1 ~ Rs 6 , C 1 ~ C 6 , S 1 ~ S 6 The decoding result is written to the storage area A 2 ~ A 6 , The digital audio data corresponding to the 343rd to 513th, 514 to 684th, 685 to 855th, and 856 to 1024th samples, which are the decoding results of the previous frame (N-1), are output data buffers. 150 is read out and output to the outside (steps S6 to S13).
[0024]
In this state, as shown in the sixth row from the top in FIG. 3, the storage areas in which the decoding results of the channels L, R, LS, RS, C, and S are written are dispersed, and the output data buffer 140 is The decoding result of each channel is stored in a distributed state. Therefore, a swap process is performed on the distributed decoding results of each channel (step S14), and the signal processing calculation unit 130 decodes the decoding result obtained in the current frame N as shown in the seventh row from the top in FIG. The results are rearranged so that the results are concentrated for each channel, and the rearranged decoding results are stored in each storage area of the output data buffer 140. The rearranged decoding results are read out from the output data buffer 140 to the output interface 150 and output to the outside in the decoding processing cycle for the next frame N + 1, similarly to the storage areas A1 to A6 described above.
[0025]
At the bottom of FIG. 3, the storage area A in the period up to 1/6 of the next frame N + 1 1 , L 1 ~ L 6 It is shown. As shown in the figure, the storage area A after the swap processing in the frame N described above 6 Is a storage area l in which a decoding result for a period of up to 1/6 of the frame N + 1 is written. 1 ~ L 6 Used as. In addition, the storage area allocated to each channel in frame N + 1 is shifted by an area corresponding to 1024 samples with respect to frame N described above, and the entire output data buffer 140 functions as a circular buffer. The operation for the frame N + 1 and thereafter is the same as the operation for the frame N for the frame N−1 described above.
In this example, 15 swaps are required per frame, but if a DSP suitable for continuous memory transfer is used, the amount of processing is not large. The work area required for swap is 171 words, but this work area is not necessarily provided in the output data buffer. In such a work area, the work buffer 170 used in the decoding process can also be used.
[0026]
Next, effects of this embodiment will be described with reference to FIG. FIG. 4 shows the timing relationship between the decoding process and the output data by the signal processing apparatus according to this embodiment, and assumes that the processing capability of the signal processing arithmetic unit 130 is sufficiently high. As understood from the figure, the decoding processes for the channels L, R, LS, RS, and S are evenly distributed. Therefore, compared with the first and second prior arts shown in FIG. 6 described above, the increase in the storage capacity of the output data buffer can be suppressed, and the decoding processing capability can be effectively utilized. There is no excessive load.
[0027]
In this embodiment, swap processing is performed in addition to channel S decoding processing in the last one-sixth period in one frame. Generally, the time required for swap processing is required for decoding processing. The channel S (LFE), which is shorter than the time and is a low frequency signal, is lighter in processing than the other channels. Therefore, the swap processing is performed in addition to the decoding processing of channel S in the last one-sixth period of one frame, and the decoding processing capacity in this period is set equal to the decoding processing capacity in other periods. There is no inconvenience. However, if the time required for the swap process is excessive and the process does not end within one frame, or if the decoding processing capability required between channels is extremely biased, the value of α is set to 2. What is necessary is just to increase suitably to double etc. As a result, the processing for each channel is advanced and all processing can be completed within one frame.
Furthermore, since the signal processing apparatus according to this embodiment performs decoding processing in units of frames, it can be applied to systems in which the sizes of adjacent frames are different.
[0028]
【The invention's effect】
As described above, according to the present invention, a data buffer having a storage capacity corresponding to the amount of data as a unit of signal processing and the number of channels is provided, and the signal processing results are distributed and stored in the data buffer. Therefore, it is possible to effectively use the signal processing capability while suppressing an increase in the storage capacity of the data buffer.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a signal processing apparatus according to an embodiment of the present invention.
FIG. 2 is a flowchart showing an operation flow of the signal processing apparatus according to the embodiment of the present invention.
FIG. 3 is a diagram showing each storage area of the output data buffer according to the embodiment of the present invention.
FIG. 4 is a diagram showing a timing relationship between decoding processing and output data of the signal processing apparatus according to the embodiment of the present invention.
FIG. 5 is a diagram illustrating each storage area of an output data buffer included in a signal processing device according to the related art.
FIG. 6 is a diagram illustrating a timing relationship between decoding processing and output data of a signal processing device according to the related art.
[Explanation of symbols]
100; signal processing device 110; input interface 120; input data buffer 130; signal processing operation unit (DSP) 140; output data buffer 150; output interface 160; sample counter 170; work buffer L; R, LS, RS, C, S (LFE); channel, N, N + 1; frame, A1 to A6, l 1 ~ L 6 , R 1 ~ R 6 , Ls 1 ~ Ls 6 , Rs 1 ~ Rs 6 , C 1 ~ C 6 , S 1 ~ S 6 Storage area, α; storage capacity.

Claims (2)

1フレーム単位で圧縮された複数のチャンネルのデータをストリームデータとして入力し、該ストリームデータにデコード処理を施し、該デコード処理が施されたデータをチャンネル毎に出力する信号処理装置において、
前記複数のチャンネルに対応付けられた複数の記憶領域を有し、該複数の記憶領域のそれぞれが、前記1チャンネル分のデコード処理に必要なデータ量と、該1チャンネル分のデコード処理に必要なデータ量を前記複数のチャンネルの数で除したデータ量との和に相当する記憶容量を有し、前記デコード処理が施された各チャンネルのデータを格納するデータバッファを備え、
前記データバッファは巡回バッファを構成し、
前記複数のチャンネルの1チャンネルのデータにデコード処理を施し、該デコード処理が施されたデータを前記データバッファの複数の記憶領域の空き領域のうち、前回のフレームにおいて最初にデコードされたチャンネルの最初のサンプルデータの記憶位置を基準とする、1チャンネル分のデコード処理に必要なデータ量を前記複数のチャンネルの数で除したデータ量ごとの所定位置に記憶し、該デコード処理と並行して、前回のフレームでスワップ処理された各チャンネルのデータを、1チャンネル分のデコード処理に必要なデータ量を前記複数のチャンネルの数で除したデータ量ずつ前記複数の記憶領域からサンプリングレートに応じたタイミングで並行して外部のD/Aコンバータに出力して、該データが出力された領域を空き領域とする処理を前記複数のチャンネル分繰り返し、1フレームの最後にデコード処理されるチャンネルのデコード処理の後、1フレームの最初にデコードされるチャンネルの最初のサンプルデータの記憶位置を基準にして前記複数の記憶領域に記憶されたデータを前記チャンネル毎に集中させて所定配置に配列し直すスワップ処理を行い、これら一連の処理を前記1フレーム毎に繰り返す
ことを特徴とする信号処理装置。
In a signal processing apparatus that inputs data of a plurality of channels compressed in units of one frame as stream data, decodes the stream data, and outputs the decoded data for each channel.
A plurality of storage areas associated with the plurality of channels, and each of the plurality of storage areas is required for a decoding process for one channel and a decoding process for the one channel; A storage capacity corresponding to the sum of the amount of data divided by the number of channels and a data buffer for storing data of each channel subjected to the decoding process;
The data buffer constitutes a circular buffer;
The decoding process is performed on the data of one channel of the plurality of channels, and the data subjected to the decoding process is the first of the channels decoded first in the previous frame among the empty areas of the plurality of storage areas of the data buffer. Stored in a predetermined position for each data amount obtained by dividing the amount of data required for the decoding process for one channel by the number of the plurality of channels, with the storage position of the sample data as a reference, in parallel with the decoding process, Timing according to the sampling rate from the plurality of storage areas by the amount of data obtained by dividing the data amount of each channel swapped in the previous frame by the number of the plurality of channels by the amount of data necessary for decoding processing for one channel In parallel, the data is output to an external D / A converter and the area where the data is output is a free area. The process of repeatedly said plurality of channels, 1 after the end of the decoding process of a channel is decoded frames, said plurality of with respect to the first storage location of the first sample data of the channel to be decoded for one frame A signal processing apparatus characterized by performing a swap process in which data stored in a storage area is concentrated for each channel and rearranged in a predetermined arrangement, and the series of processes is repeated for each frame.
信号処理装置が、1フレーム単位で圧縮された複数のチャンネルのデータをストリームデータとして入力し、該ストリームデータにデコード処理を施し、該デコード処理が施されたデータをチャンネル毎に出力する信号処理方法において、
前記信号処理装置が、前記複数のチャンネルの1チャンネルのデータにデコード処理を施す第1ステップと、
前記信号処理装置が、前記デコード処理が施されたデータを、巡回バッファを構成するデータバッファであって、前記複数のチャンネルに対応付けられた複数の記憶領域を有し、該複数の記憶領域のそれぞれが、前記1チャンネル分のデコード処理に必要なデータ量と、該1チャンネル分のデコード処理に必要なデータ量を前記複数のチャンネルの数で除したデータ量との和に相当する記憶容量を有し、前記デコード処理が施された各チャンネルのデータを格納するデータバッファの複数の記憶領域の空き領域のうち、前回のフレームにおいて最初にデコードされたチャンネルの最初のサンプルデータの記憶位置を基準とする、1チャンネル分のデコード処理に必要なデータ量を前記複数のチャンネルの数で除したデータ量ごとの所定位置に記憶する第2ステップと、
前記信号処理装置が、前記デコード処理と並行して、前回のフレームでスワップ処理された各チャンネルのデータを、1チャンネル分のデコード処理に必要なデータ量を前記複数のチャンネルの数で除したデータ量ずつ前記複数の記憶領域からサンプリングレートに応じたタイミングで並行して外部のD/Aコンバータに出力して、該データが出力された領域を空き領域とする第3ステップと、を含み、
前記信号処理装置が、前記第1ステップから前記第3ステップを前記複数のチャンネル分繰り返し、1フレームの最後にデコード処理されるチャンネルのデコード処理の後、1フレームの最初にデコードされるチャンネルの最初のサンプルデータの記憶位置を基準にして前記複数の記憶領域に記憶されたデータを前記チャンネル毎に集中させて所定配置に配列し直すスワップ処理を行い、これら一連の処理を前記1フレーム毎に繰り返すことを特徴とする信号処理方法。
A signal processing method in which a signal processing apparatus inputs data of a plurality of channels compressed in units of one frame as stream data, decodes the stream data, and outputs the decoded data for each channel In
A first step in which the signal processing device performs a decoding process on data of one channel of the plurality of channels;
The signal processing device is a data buffer constituting a circular buffer for the data subjected to the decoding process, and has a plurality of storage areas associated with the plurality of channels. Each has a storage capacity corresponding to the sum of the amount of data required for the decoding process for one channel and the amount of data required for the decoding process for one channel divided by the number of the plurality of channels. The storage position of the first sample data of the channel first decoded in the previous frame among the empty areas of the plurality of storage areas of the data buffer for storing the data of each channel subjected to the decoding process to, the amount of data necessary for decoding processing for one channel at a predetermined position of each data amount obtained by dividing the number of said plurality of channels A second step of 憶,
Data obtained by dividing the data amount of each channel swapped in the previous frame by the number of the plurality of channels, in parallel with the decoding processing, by the signal processing device. A third step of outputting the data output from the plurality of storage areas to an external D / A converter in parallel at a timing corresponding to a sampling rate, and setting the area where the data is output as a free area,
The signal processing apparatus repeats the first step to the third step for the plurality of channels, and after the decoding process of the channel to be decoded at the end of one frame, the first of the channels to be decoded at the beginning of one frame The data stored in the plurality of storage areas is concentrated for each channel and rearranged in a predetermined arrangement with reference to the storage position of the sample data, and the series of processes is repeated for each frame. And a signal processing method.
JP2003063596A 2003-03-10 2003-03-10 Signal processing apparatus and method Expired - Fee Related JP3972840B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003063596A JP3972840B2 (en) 2003-03-10 2003-03-10 Signal processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003063596A JP3972840B2 (en) 2003-03-10 2003-03-10 Signal processing apparatus and method

Publications (2)

Publication Number Publication Date
JP2004271982A JP2004271982A (en) 2004-09-30
JP3972840B2 true JP3972840B2 (en) 2007-09-05

Family

ID=33125135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003063596A Expired - Fee Related JP3972840B2 (en) 2003-03-10 2003-03-10 Signal processing apparatus and method

Country Status (1)

Country Link
JP (1) JP3972840B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4815780B2 (en) 2004-10-20 2011-11-16 ヤマハ株式会社 Oversampling system, decoding LSI, and oversampling method

Also Published As

Publication number Publication date
JP2004271982A (en) 2004-09-30

Similar Documents

Publication Publication Date Title
US9009032B2 (en) Method and system for performing sample rate conversion
US9053753B2 (en) Method and system for a flexible multiplexer and mixer
JP2004240713A (en) Data transfer method and data transfer device
US10904689B2 (en) Audio metadata providing apparatus and method, and multichannel audio data playback apparatus and method to support dynamic format conversion
US20070165675A1 (en) Data conversion method and client-server system
JP3972840B2 (en) Signal processing apparatus and method
JP2007067797A (en) Sampling rate converter and semiconductor integrated circuit
US20080147218A1 (en) Recording/reproduction apparatus
US5936859A (en) Method and apparatus for performing decimation and interpolation of PCM data
US20080162862A1 (en) Signal Processing Apparatus and Signal Processing Method
JPWO2006013660A1 (en) Playback signal processing device
JP3225502B2 (en) Compressed data playback device for audio information
JP2002304197A (en) Method and device for audio decoding
US7508895B2 (en) Oversampling apparatus, decoding LSI chip, and oversampling method
JPH10271082A (en) Voice data decoder
JP7473284B2 (en) Semiconductor Device
JP2852270B2 (en) Frame coded data decoding / playback device
JP2009116685A (en) Data processor, and data transfer method using the same
JP2008047223A (en) Audio reproduction circuit
US20070019521A1 (en) Method and apparatus for flexibly setting channels of multi-channel audio data
JP3548021B2 (en) Signal processing device
JPH09282000A (en) Data processing circuit
WO2007099580A1 (en) Multimedia data reproducing apparatus and method
JP2002258895A (en) Multichannel sound recording and reproducing device
JP4290818B2 (en) Bit transfer additional data high-speed transfer circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070416

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070604

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110622

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120622

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120622

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130622

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees