(57)【特許請求の範囲】
【請求項１】
メモリへ各帯域のデータを含む１サウンドグループ分の音声データをチャンネル順に書き込み及び上記メモリから上記音声データを各帯域のデータ順に読み出すための書き込みアドレス及び読み出しアドレスを発生するアドレス発生回路であって、
第１のクロックをカウントし、出力を書き込みアドレスとする所定ビット数の書き込みアドレスカウンタと、
第２のクロックをカウントし、出力を読み出しアドレスとする所定ビット数の読み出しアドレスカウンタと、
を有し、
上記両カウンタのカウント出力の最下位ビットの位置を、それぞれ１／２サウンドグループ分のデータ毎に交互に同一ビット数だけシフトすると共に、シフト前の読み出しアドレスカウンタのカウント出力の最下位ビットの位置が、シフト後の書き込みアドレスカウンタのシフト位置に対応するようにし、この状態で両カウンタにおいてカウントして、その出力を書き込みアドレス及び読み出しアドレスとすることを特徴とするアドレス発生回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データを記憶するメモリへのアクセスアドレスを発生するアドレス発生回路、特にライト後のデータを順序を変更してリードする場合に好適なものに関する。
【０００２】
【従来の技術】
従来より、オーディオデータや画像データなどの記録や送信においては、符号化・圧縮処理が行われ、再生や受信においては伸張・復号化処理が行われている。
【０００３】
例えば、ＭＤ（ミニ・ディスク）の記録においては、音声信号をデジタルデータに変換（Ａ／Ｄ変換）した後、ＱＭＦ（Ｑｕａｄｒａｔｕｒｅ  ＭｉｒｒｏｒＦｉｌｔｅｒ）と称されるデジタルフィルタにより低域、中域、高域３つの帯域（周波数帯域）毎に分割した後、ＭＤＣＴ（Ｍｏｄｉｆｉｅｄ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）処理、量子化処理などが行われ、得られたデータがＭＤに書き込まれる。そこで、再生の際には、逆量子化、ＩＭＤＣＴ（Ｉｎｖｅｒｓｅ  ＭＤＣＴ）、ＩＱＭＦ（Ｉｎｖｅｒｓｅ  ＱＭＦ）による逆フィルタ処理、Ｄ／Ａ変換などの逆の処理が行われる。
【０００４】
このような処理を行う場合、処理の過程において、処理途中のデータを蓄積するメモリが必要となる。例えば、ＭＤＣＴ処理を行う場合には、前段のフィルタから送られてくるデータを一旦メモリに蓄積し、これを読み出してＭＤＣＴ処理を行う。
【０００５】
ここで、ＭＤＣＴやＩＭＤＣＴでは、データを１１．６ｍｓｅｃ毎の１ＳＧ（サウンド・グループ）に分割して処理を行う。この１ＳＧは、１０２４ワードに対応するが、ＭＤＣＴ、ＩＭＤＣＴでは、サウンドグループ同士の境目においてデータを若干重複させるため、１０２４＋１９２ワードを処理対象としている。このため、例えばＩＭＤＣＴからは１ＳＧ毎に１０２４＋１９２ワードのデータが出力され、ＩＱＭＦへは１ＳＧ毎に１０２４ワードのデータが供給される。
【０００６】
また、ＩＭＤＣＴはＬ（左）チャンネルのデータと、Ｒ（右）チャンネルのデータを個別に出力する。すなわち、１ＳＧのデータについて、Ｌチャンネルのデータを出力した後、Ｒチャンネルのデータを出力する。一方、ＩＱＭＦへはＬチャンネル、Ｒチャンネルのデータを交互に出力する。
【０００７】
そこで、メモリの容量として、ＩＭＤＣＴからの出力データ書き込むための容量と、読み出すための容量を合算して２２４０ワードの容量を設け、書き込みが終わった１ＳＧ分のデータを読み出し用として利用している。このため、このためのメモリ容量は、１０２４×２＋１９２＝２２４０ワードであった。
【０００８】
【発明が解決しようとする課題】
このように、１ＳＧのデータについて、書き込み用と読み出し用の容量を設ければ、書き込みエリアと読み出しエリアを１ＳＧ期間毎に切り替えることによって、問題なく書き込み読み出しが行える。
【０００９】
しかし、メモリの容量は、なるべく小さくしたいという要望はある。また、１ＳＧ分のデータを書き込まなければ、読み出しが行えないわけではなく、メモリの管理方法によっては、メモリの容量を小さくできると考えられる。
【００１０】
本発明は、上記課題に鑑みなされたものであり、メモリ容量を小さくできるアドレス発生回路を提供することも目的とする。
【００１１】
【課題を解決するための手段】
本発明は、一定量のデータを記憶するメモリへのアクセスアドレスを発生するアドレス発生回路であって、所定のクロックをカウントし、出力をアクセスアドレスとする所定ビット数のカウンタを有し、このカウンタのカウント出力の最下位ビットの位置を一定時間毎に所定ビット数だけシフトした状態でカウントして、その出力をアドレスとすることを特徴とする。
【００１２】
本発明は、一定量のデータを記憶するメモリへの書き込みアドレス及び読み出しアドレスを発生するアドレス発生回路であって、第１のクロックをカウントし、出力を書き込みアドレスとする所定ビット数の書き込みアドレスカウンタと、第２のクロックをカウントし、出力を読み出しアドレスとする所定ビット数の読み出しアドレスカウンタと、を有し、上記両カウンタのカウント出力の最下位ビットの位置をそれぞれ一定時間毎に同一ビット数だけシフトすると共に、シフト前の読み出しアドレスカウンタのカウント出力の最下位ビットの位置が、シフト後の書き出しアドレスカウンタのシフト位置に対応するようにし、この状態で両カウンタにおいてカウントして、その出力を書き込みアドレス及び読み出しアドレスとすることを特徴とする。
【００１３】
本発明によれば、読み出しが終わった領域に書き込みを順次行う。従って、メモリの容量を効率的に利用して、余分な容量を持つことを防止できる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態（以下実施形態という）について、図面に基づいて説明する。
【００１５】
図１は、実施形態の構成を示すブロック図であり、メモリ１０にＩＭＤＣＴからのデータが入力データとして書き込まれる。そして、このメモリ１０からの読み出しデータがＩＱＭＦに向けて出力される。ここで、このメモリ１０の容量は、便宜的に１０２４ワードであり、０〜１０２３のアドレスを有するものとする。
【００１６】
このメモリ１０への入力データの書き込みアドレスは、書き込みアドレスカウンタ１２からのアドレス信号によって決定される。この書き込みアドレスカウンタ１２は、ａ９，ａ８，ａ７，  ・・・  ａ１，ａ０の１０ビットカウンタであり、ライトクロックＷＣＫをカウントして０〜１０２３のアドレスを発生する。
【００１７】
また、メモリ１０への読み出しアドレスは、読み出しアドレスカウンタ１４からのアドレス信号によって決定される。この読み出しアドレスカウンタ１４も、ａ９，ａ８，ａ７，  ・・・  ａ１，ａ０の１０ビットカウンタであり、リードクロックＲＣＫをカウントして０〜１０２３のアドレスを発生する。
【００１８】
ここで、書き込みアドレスカウンタ１２及び読み出しアドレスカウンタ１４は、いずれもＬＳＢの位置を変更できるようになっている。すなわち、これら書き込みアドレスカウンタ１２及び読み出しアドレスカウンタ１４においては、シフト信号ＳＦ１、ＳＦ２が入力された時に、ＬＳＢの位置が３ビットずれてカウントがなされる。例えば、ａ９，ａ８，ａ７，ａ６，ａ５，ａ４，ａ３，ａ２，ａ１，ａ０の次には、ａ６，ａ５，ａ４，ａ３，ａ２，ａ１，ａ０，ａ９，ａ８，ａ７という風に、ａ７がＬＳＢになり、ライトクロックＷＣＫまたはリードクロックＲＣＫをカウントしカウントアップしていく。
【００１９】
ここで、ＩＭＤＣＴから出力される１ＳＧの入力データを書き込みアドレスカウンタ１２を０からカウントアップしてそのままメモリ１０に書き込むと、Ｌチャンネルのデータが順次書き込まれ、これが終了した後Ｒチャンネルのデータが順次書き込まれる。また、Ｌチャンネル及びＲチャンネル共に、低域、中域、高域の３つのデータに分かれている。これらのデータは、２段のＱＭＦにより、１段目で入力データを低域＋中域と高域とに分離し、２段目で低域＋中域のデータを低域と中域とに分離するようにして生成される。このため、高域のデータは、低域及び中域のデータと比べて２倍のデータ量となる。従って、各データは、図２に示すように、低域及び中域のデータが１２８ワードずつ１つのブロックに記憶され、高域のデータが高域１及び高域２に分けられて１２８ワードずつ１つのブロックに記憶される。
【００２０】
一方、メモリ１０に書き込まれたデータを読み出す際には、各帯域からデータ順に読み出す必要がある。そこで、読み出しアドレスカウンタ１４は、その内部のビットを３ビットずらしておく。すなわち、
ａ６，ａ５，ａ４，ａ３，ａ２ａ，ａ１，ａ０，ａ９，ａ８，ａ７
の順番とし、ビットａ７をＬＳＢとしてカウントアップする。これによって、読み出しは、アドレスが１２８ずつ進み、Ｌチャンネルの低域、中域、高域１、高域２、Ｒチャンネルの低域、中域、高域１、高域２の順番で１ワードずつ読み出される。
【００２１】
ここで、メモリ１０においては、各データが一旦書き込まれた後、所定の期間を経過してそのデータが読み出され、さらに、そのデータの読み出しが完了した後に新たなデータが書き込まれる。従って、各データの書き込み及び読み出しの各タイミングには、一定のずれが与えられる。本実施形態においては、１／２ＳＧ分のデータの書き込みが完了した時点で、そのデータの読み出しを開始することにより、上述のようにして書き込まれたデータが所定の順序で読み出されるようになる。
【００２２】
そして、このような書き込み読み出しを１ＳＧの期間行った場合には、書き込みアドレスカウンタ１２において、また３ビットだけビット位置をずらす。すなわち、書き込みアドレスカウンタ１２における書き込みアドレスは、上述の読み出しアドレスと同じ、
ａ６，ａ５，ａ４，ａ３，ａ２ａ，ａ１，ａ０，ａ９，ａ８，ａ７
になる。これによって、データは、元々の各領域の１／２の領域に書き込まれる。この領域は、上述のようにして、すでに読み出された領域である。従って、この書き込みによって、読み出されていないデータが書き換えられてしまうことはない。
【００２３】
一方、読み出しアドレスは、その後１／２ＳＧ経過後に３ビットだけビット位置がずらされる。従って、
ａ３，ａ２ａ，ａ１，ａ０，ａ９，ａ８，ａ７，ａ６，ａ５，ａ４
となる。従って、読み出しは、上述のようにして、書き込まれた領域のそれぞれの先頭から順次読み出す。
【００２４】
このようなことを繰り返すことによって、書き込みは、常に読み出された領域について行われ、また読み出しは書き込みが終わった領域について行われる。従って、メモリ１０において、１ＳＧ分の容量を持つだけで、データの読み書きに対処できる。
【００２５】
ここで、このような動作について、図３に基づいて説明する。この図３の例では、簡単のため、ＬチャンネルとＲチャンネルの２種類のデータがあり、Ｌチャンネル、Ｒチャンネルのデータがこの順で書き込まれ、Ｌ，Ｒを１ワードずつ順に読み出す場合を示している。また、アドレスは、０〜７とし、書き込みアドレスカウンタ１２及び読み出しアドレスカウンタ１４は、ａ２，ａ１，ａ０の３ビットとする。
【００２６】
まず、書き込みアドレスカウンタ１２をａ２，ａ１，ａ０の順で使用して、１／２ＳＧ分のデータが書き終わった段階では、図３（ａ）に示すようにメモリ１０の上半分にＬチャンネルのデータが書き込まれる。続いて、Ｒチャンネルの１番目のデータを書き込むとき（０．５ＳＧ）に、読み出しアドレスカウンタ１４に基づく読み出しを開始する。
【００２７】
このとき、読み出しアドレスカウンタ１４は、ａ１，ａ０，ａ２の順でカウントを行う。これによって、読み出しは、０００，１００，００１，１０１，・・・というように、ＬチャンネルとＲチャンネルとで１ワードずつ交互に読み出されることになる。
【００２８】
そして、１ＳＧ分のデータが書き終わった時点では、図３（ｂ）のようにメモり１０に１ＳＧ分のデータが書き込まれている。この時点で、図３（ｃ）に示すように、読み出しは、Ｌチャンネル、Ｒチャンネル共にその１／２の領域の読み出しが終了している。
【００２９】
この時点で、書き込みアドレスカウンタ１２のＬＳＢを１ビットずらし、ａ１，ａ０，ａ２にする。これは、上述の読み出しアドレスと同一である。そこで、これから１／２ＳＧの期間は、読み出しが終了した領域についてＬチャンネルのデータが順に書き込みが行われる。すなわち、図３（ｄ）にＬと書かれている領域にデータの書き込みが開始される。
【００３０】
この状況で、１／２ＳＧの期間経過する（１．５ＳＧ）と、図３（ｄ）にＬと書かれている領域についての書き込みが終了する。一方、図３（ｅ）に示されているように、最初に書かれたＬチャンネル及びＲチャンネルについてデータの読み出しが終了する。
【００３１】
このため、読み出しアドレスカウンタ１４のＬＳＢの位置をシフトする。これによって、読み出しアドレスカウンタ１４におけるビット順は、ａ０，ａ２，ａ１となる。従って、図３（ｇ）にＬ，Ｒと記載されている領域についての読み出しが開始される。
【００３２】
２ＳＧの期間が経過すると、図３（ｆ）にＬ，Ｒが記載されたすべての領域の書き込みが終了する。一方、図３（ｇ）にＬ，Ｒが記載された半分の領域の読み出しが終了している。そこで、書き込みアドレスカウンタ１２のＬＳＢの位置をシフトし、ａ０，ａ２，ａ１の順にする。これによって、図３（ｈ）のＬが記載された領域にデータの書き込みが開始される。
【００３３】
また、２．５ＳＧが経過した時点では、図３（ｈ）にＬが記載された領域についての書き込みャンネルのデータの書き込みが終了し、Ｒチャンネルの書き込みが開始される。一方、図３（ｉ）に示されているように、読み出しが終了する。そこで、読み出しアドレスカウンタ１４のＬＳＢをシフトし、ビット順をａ２，ａ１，ａ０とする。これによって、図３（ｋ）に示すように、Ｌ，Ｒと記載されている領域が順に読み出される。
【００３４】
そして、３ＳＧになった場合には、図３（ｊ）に示すように、書き込みが完了する。この段階で図３（ｋ）に示すように上半分のデータの読み出しが終了している。そして、書き込みアドレスカウンタ１２のビット順がａ２，ａ１，ａ０に変更され、図３（ａ）に示すような順序で、書き込みが開始される。
【００３５】
このようにして、順序を変更したデータの書き込み及び読み出しが行われる。従って、メモリ１０の容量を１ＳＧの期間に入力されてくるデータ量に対応したものでよい。
【００３６】
【発明の効果】
以上説明したように、本発明によれば、メモリ容量を小さくして、データの読み書きが行える。
【図面の簡単な説明】
【図１】  実施形態の構成を示すブロック図である。
【図２】  メモリへの書き込みを示す図である。
【図３】  メモリへの書き込み手順を示す図である。
【符号の説明】
１０  メモリ、１２  書き込みアドレスカウンタ、１４  読み出しアドレスカウンタ。
【図１】
0003639424.tif 000002
【図２】
0003639424.tif 000003
【図３】
0003639424.tif 000004