JP4055784B2 - マルチトラック再生装置 - Google Patents

マルチトラック再生装置 Download PDF

Info

Publication number
JP4055784B2
JP4055784B2 JP2005094735A JP2005094735A JP4055784B2 JP 4055784 B2 JP4055784 B2 JP 4055784B2 JP 2005094735 A JP2005094735 A JP 2005094735A JP 2005094735 A JP2005094735 A JP 2005094735A JP 4055784 B2 JP4055784 B2 JP 4055784B2
Authority
JP
Japan
Prior art keywords
track
buffer
waveform data
playback
data
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
JP2005094735A
Other languages
English (en)
Other versions
JP2006277829A (ja
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 JP2005094735A priority Critical patent/JP4055784B2/ja
Publication of JP2006277829A publication Critical patent/JP2006277829A/ja
Application granted granted Critical
Publication of JP4055784B2 publication Critical patent/JP4055784B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、記憶手段に記憶されている波形データを、複数トラック分読み出して再生するマルチトラック再生装置に関する。
近年、マイク等で集めた音をデジタルの波形データとしてHDD等の記憶手段に記録して録音することが広く行われるようになっている。そしてこのような録音を行う際、複数のトラックを同時再生しながら、複数のトラックへ同時に録音できるようにすることが行われている。
また、各トラックに録音を行う際には、時間軸の全体について波形データを記録するのではなく、その一部のリージョンと呼ばれる期間についてのみ、波形データを記録するようにすることが行われている。
そして、各トラックの再生や録音の際の波形データの転送方式としては、例えば、トラック毎に2つのバッファを用意し、これを用いてHDDと波形データ入出力部との間で波形データの転送を行う方式が提案されている。そしてこの場合、HDDとバッファの間の波形データの転送はHDDでの記憶ブロック(例えばクラスタ)単位で、バッファと波形データ入出力部との間での波形データの転送はサンプル単位で行うことが提案されている。
このような転送方式については、例えば特許文献1に記載されている。
特開2003−323174号公報
この文献に記載の方式は、波形データの再生に注目すると、より具体的には、以下のような処理を行うものである。
(1)各トラックについて、再生するリージョンの再生開始時刻より前に、HDDからそのリージョンの先頭2ブロック分の波形データを読み出し、トラックと対応させて用意した2つのバッファにそれぞれ書き込む。
(2)再生開始時刻になったら、バッファに書き込んだ先頭ブロック中の再生開始位置から、各サンプリング周期毎に1サンプルずつ波形データを順次読み出し、波形データ出力部に供給して再生を行う。
(3)上記(2)の再生動作により、いずれかのバッファにおいて全サンプルの読み出しが終了すると、HDDから次のブロックの波形データを読み出して、そのバッファに書き込む一方、もう1つのバッファに書き込んである波形データを順次読み出して再生する。
(4)上記(2),(3)の動作を、リージョンの再生終了時刻まで継続する。
ところで、上記特許文献1に記載の方式では、1つのバッファの波形データの再生が終わったら、もう1つのバッファの波形データの再生を行うが、再生の終了したバッファへの次のブロックの波形データの書き込みは、そのもう1つのバッファの波形データの再生が完了するまでに完了しなければならない。また、HDDからの波形データの読み出しはブロック毎に行われ、前のブロックの読み出しが終了するまで、次のブロックの読み出しを開始できない。
複数のトラックを同時に再生している場合には、複数のトラックについてバッファ内の波形データの再生が近接したタイミングで相次いで終了することも考えられ、その場合、再生を終了した各トラックのバッファに、それぞれ対応する次のブロックの波形データをHDDから読み出して補充しなければならないが、このような場合には、各ブロックのデータを順次読み出していくことになる。一方で、波形データをバッファに書き込むための時間的な猶予は、1つのバッファ分の波形データの再生に要する時間しかない。従って、上記のような場合には、次のブロックの再生開始時までに、必要なデータをバッファに書き込めなくなってしまうこともあった。そして、このような場合には、再生に不具合が生じてしまうという問題があった。
また、リージョンに関する波形データの編集操作を行うと、編集されたリージョンの先頭や末尾に、波形データのうち一部しか再生されないようなブロックが生じる場合がある。そして、このようなブロックは、再生時間が通常のブロックより短いため、このようなブロックの次のブロックの波形データをバッファに書き込むための時間の猶予は、通常のブロックの場合よりも短くなってしまい、書き込みが間に合わない危険性が高くなってしまう。
ここで、各トラックについて3以上のバッファを用意するようにすれば、バッファに書き込みを行うための時間的猶予を、(用意したバッファ数−1)だけのバッファの波形データの再生に要する時間とすることができ、書き込みが間に合わない危険性を下げることができる。しかし、再生時間が極めて短いブロックが続くような場合には十分な時間の猶予を確保できない場合も生じ得るし、全トラックについて一律に多数のバッファを用意するとすると、必要なメモリ容量が大きくなり、装置のコストアップにつながるという問題もある。
この発明は、このような問題を解決し、記憶手段に記憶されている波形データを複数トラック分読み出して再生する場合において、必要なバッファの容量を比較的小さくしながら、波形データの再生を安定して行えるようにすることを目的とする。
上記の目的を達成するため、この発明は、記憶手段に所定サイズ単位で記憶されている波形データを、複数のトラックの各トラック毎の制御データに従って、複数トラック分読み出して再生するマルチトラック再生装置において、波形データを記憶する複数のバッファ領域を有するバッファメモリと、そのバッファ領域からの波形データの読み出し制御に使用するパラメータを記憶する複数のバッファ情報記憶部と、上記再生の実行中に、上記制御データが有音区間であることを示す部分については、使用されていないバッファ情報記憶部とバッファ領域とを上記トラックに割り当て、その割り当てたバッファ領域に、割当先のトラックの波形データを上記所定サイズ分上記記録媒体から読み出して記憶させると共に、割り当てたバッファ情報記憶部に有音読出設定を行い、上記制御データが無音区間であることを示す部分については、使用されていないバッファ情報記憶部を上記トラックに割り当てると共にそのバッファ情報記憶部に無音読出設定を行うことにより、上記各トラックの再生準備を行う再生準備手段と、上記各トラックについて、上記再生準備手段が割り当てを行った順に、割り当てられた上記バッファ情報記憶部に記憶しているパラメータに従って、上記有音読出設定が行われている部分では、上記割り当てたバッファ領域に記憶させた波形データを読み出して再生し、上記無音読出設定が行われている部分では、無音の波形データを再生する再生手段と、上記再生手段による、対応する再生処理が完了したバッファ情報記憶部及びバッファ領域を解放する解放手段と、上記再生準備手段が行う再生準備の順番を、上記各トラックのうち準備済みの再生の完了予定時刻の早いトラックの再生準備を優先的に行うよう制御する順番制御手段とを設けたものである。
このようなマルチトラック再生装置において、上記複数のバッファ情報記憶部のうち少なくとも一部を、各々1つの上記バッファ領域と予め対応付けておくようにするおくとよい。
さらに、上記複数のトラックの中から再生を行うトラックの指定を受け付ける手段を設け、上記再生準備手段が、その指定されたトラックについてのみ上記再生準備を行うようにするとよい。
さらにまた、上記無音区間については、上記バッファ情報記憶部に、上記所定サイズの波形データと対応する時間より長い時間の再生を設定できるようにするとよい。
以上のようなこの発明のマルチトラック再生装置によれば、記憶手段に記憶されている波形データを複数トラック分読み出して再生する場合において、必要なバッファの容量を比較的小さくしながら、波形データの再生を安定して行えるようにすることができる。
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
まず、この発明のマルチトラック再生装置の実施形態であるマルチトラックレコーダ(ハードディスクレコーダ)の構成について、図1を用いて説明する。図1は、そのマルチトラックレコーダの概略構成を示すブロック図である。
このマルチトラックレコーダ1は、複数のチャンネルの信号経路を有し、最大16トラックの同時録音,16トラックの同時再生,16トラックの同時再生をしながら8トラックの同時録音が可能な装置である。
そして、録音は、アナログ又はデジタルの入力波形をデジタルの波形データとして記録することによって行い、再生は、この波形データを順次読み出して出力処理することによって行う。また、再生した波形データに対して、ミキシングやイコライジング等の合成,変換処理等を行うこともでき、さらにこの処理後の波形データを録音(記録)することもできる。
なお、上述したチャンネルとは、個々のトラックの波形データについて信号処理を行う信号経路(各チャンネル毎に物理的に分割された信号経路のみならず、各チャンネルの波形データが時分割処理される物理的には共通の信号経路を含む)またはその信号経路を流れる波形データ自体をいう。
このようなマルチトラックレコーダ1は、表示器11,フェーダ12,操作子13,CPU14,フラッシュメモリ15,RAM16,パーソナルコンピュータインタフェース(PCI/F)17,ミキサ18,データ転送ユニット19,IDE(Integrated Drive Electronics)I/F20を備えており、これらが互いにシステムバス23で接続されている。また、HDD21及びCD−RW(Compact Disk - Rewritable)ドライブ22も備え、これらはIDEI/F20を介してデータ転送ユニット19及びシステムバス23に接続されている。
表示器11は表示手段であり、液晶表示器(LCD)や蛍光(EL)表示器等によって構成することができる。そして、マルチトラックレコーダ1の動作状態や設定状態及び、録音,再生を行っている波形データの内容等を表示するユニットである。
フェーダ12は、各チャンネルにおける入出力の音量(波形データの波高値)を調整するためのユニットである。
操作子13は、マルチトラックレコーダ1の操作を行うための各種キーやスイッチであり、キーボードとスライドスイッチやダイアルスイッチ、ボタンスイッチ等によって構成することができる。なお、表示器11にグラフィカル・ユーザ・インタフェース(GUI)を表示して、そのGUI上のスイッチをこれらのスイッチ等の一部としてあるいは一部に代えて用いるようにしてもよい。
CPU14は、マルチトラックレコーダ1の動作を統括制御する制御部であり、フラッシュメモリ15に記憶された各種制御プログラムを実行することによって、各部の動作や波形データの処理等の制御を行う。
フラッシュメモリ15は、書き換え可能な不揮発性記憶手段であり、各種制御プログラムや設定等の、マルチトラックレコーダ1の動作に必要な情報を記憶するユニットである。このフラッシュメモリ15に記憶しているプログラムは、例えば新しいプログラムの記録されたCD−ROMディスクをCD−RWドライブ22にセットして内容を読み込む等することにより、必要に応じて書き換えてバージョンアップを行うことができる。設定の変更も、操作子13からの操作等によって行うことができる。
RAM16は、CPU14のワークエリアとして使用したり、一時的に必要なデータを記憶したりするための揮発性の記憶手段である。
PCI/F17は、マルチトラックレコーダ1をPC等のコンピュータと接続するためのインタフェースである。マルチトラックレコーダ1をPCに接続することにより、PC側からマルチトラックレコーダ1の動作を制御することが可能になる。
ミキサ18は、波形処理手段であり、サンプリング周期毎に、入力される波形データに対して合成,変換,出力等の処理を行うことのできるデジタルシグナルプロセッサ(DSP)である。ここで、合成処理としては例えばミキシング、変換処理としては例えばイコライジングが考えられる。また、このミキサ18は波形データ入力端子41及び波形データ出力端子42を備えている。
波形データ入力端子41は、マイクその他のオーディオ機器からの波形データの入力を受け付ける端子であるが、これらの波形データは、必要な場合にはA/D変換回路によってデジタルデータに変換してから入力される。波形データ出力端子42は、ミキサ18による編集後の波形データを出力する端子であり、例えばその波形データを外部のスピーカを備えたオーディオ機器に出力して発音を行わせることができる。この出力は、必要な場合にはD/A変換回路によってアナログデータに変換して行うことができ、また、光デジタル出力器によって行ってもよい。
さらに、ミキサ18はデータ転送ユニット19と接続されており、記録すべき波形データをデータ転送ユニット19に転送したり、データ転送ユニット19から処理すべき波形データの転送を受けたりすることもできる。例えば、波形データ入力端子41から入力された波形データの録音(記録)を行う場合には、ここから入力された波形データに必要な場合にはミキシング等の処理を行ってからデータ転送ユニット19に転送する。また、HDD21に記録されている波形データに基づいて外部のオーディオ機器に発音させる場合には、データ転送ユニット19から転送されてくる波形データに必要な場合にはミキシング等の処理を行ってから波形データ出力端子42から出力する。
このマルチトラックレコーダ1は、前述したように再生と同時に録音が可能であるので、HDD21から読み出されてデータ転送ユニット19を経由してミキサ18に入力された16トラックの波形データをミックスダウンして2トラックの波形データを作成し、これを再びデータ転送ユニット19に出力し、CD−RWドライブ22に格納されているCD−RWディスクに記録して音楽CDを作成すること等も行うことができる。
データ転送ユニット19は、バッファ領域を設けるためのバッファメモリ30を備え、ミキサ18及びIDEI/F20と直接データの授受が可能なように接続されている。そして、IDEI/F20を介してHDD21及びCD−RWドライブ22から読み出した波形データをバッファメモリ30に一旦書き込み、サンプリング周期毎に1サンプルずつ読み出してミキサ18に転送するユニットである。また、ミキサ18から出力された、HDD21あるいはCD−RWドライブ22に書き込むべき波形データも、バッファメモリ30に一旦蓄積し、所定のデータサイズ単位分あるいはサンプル数単位分まとめてIDEI/F20に出力して書き込みを行う。この実施形態の主な特徴は、このデータ転送ユニット19からミキサ18への波形データ転送の制御を行う手段であるが、この点については後に詳述する。
IDEI/F20は、HDD21及びCD−RWドライブ22に対するデータの入出力を行うためのインタフェースであり、データ転送ユニット19や他の各部から転送されてくるデータをHDD21やCD−RWドライブ22に書き込んだり、HDD21やCD−RWドライブ22から読み出したデータをデータ転送ユニット19や他の各部に転送したりするユニットである。ここで、HDD21へは最大で再生24トラック分(16トラック再生と同時に8トラック録音を実行時)の波形データを時分割で入出力でき、CD−RWドライブ22へは2チャンネル分の波形データを時分割で入出力できる。
なお、このIDEI/F20は、ここではIDEとしているが、HDD21やCD−RWドライブ22へのデータ入出力を行うインタフェースであれば特にこれに限定されるものではなく、これに代えてSCSI(Small Computer System Interface),USB2(Universal Serial Bus 2),IEEE1394(Institute of Electrical and Electronic Engineers 1394)等の他のインタフェースを用いてもよい。
HDD21とCD−RWドライブ22とは、このマルチトラックレコーダで録音した波形データや合成,変換,再生等の処理を行う波形データの記憶を行うための記憶手段である。またその他にも、CD−RWドライブ22は、CD−ROMメディア等に記録された各種のデータやアプリケーションプログラム等を読み取ってフラッシュメモリ15に記憶されたプログラムを更新する際にも用いることができる。
以上がこのマルチトラックレコーダ1の概略構成である。
以後の説明においては、特に断らない限り、HDD21を記憶媒体として用いて波形データの録音及び再生を行う場合を例にしてこのマルチトラックレコーダの動作について説明する。
上記のマルチトラックレコーダ1において、波形データの録音や再生を行う場合には、CPU14からの指示に応じて、HDD21とバッファメモリ30の間のデータ転送と、バッファメモリ30とミキサ18との間のデータ転送とが行われる。
このうち前者の転送は、ここではHDD21の1クラスタ分を1単位として行うようにしている。また、この装置においては、録音・再生を安定して行うため、通常のHDDよりもクラスタサイズを大きくしており、1クラスタは64キロワードである。そして、これは42kHzのサンプリング周期で1秒間分程度の波形データに相当する。
また後者の転送は、サンプリング周期毎に、各サンプリング周期分(1サンプル)の波形データについて行う。
ここで、図2に、バッファメモリ30における記憶領域の構成を示す。
この図に示すように、バッファメモリ30には、n個のバッファ領域を設けており、それぞれのバッファ領域に1クラスタ分の波形データを記憶できるようにしている。そして、後述するように、この各バッファ領域を再生や録音を行うトラックに動的に割り当て、そのトラックの波形データの再生や録音を行うために使用するようにしている。
なおnの値は、少なくともトラック数の2倍とするようにし、コストの許す限り大きい値とすることが好ましい。また、再生トラック1つにつき平均して4つ程度のバッファ領域を割り当てることができれば、後述するバッファ領域の割り当て制御による効果を十分に得ることができる。
そして、マルチトラックレコーダ1においては、録音を行う場合には、まずCPU14が、録音を行う各トラックにバッファメモリ30のバッファ領域を2つずつ割り当てる。その後、ミキサ18はサンプリング周期毎にそのサンプリング周期分の波形データを各トラックについてデータ転送ユニット19に転送し、データ転送ユニット19はこれをバッファメモリ30のうち各トラックに割り当てられたバッファ領域の一方(A領域とする)に記憶させる。そして、1クラスタ分の波形データが記憶されると、そのデータをHDD21上のそのデータを記憶すべきクラスタに転送して記憶させる。
また、この転送中もミキサ18からデータ転送ユニット19へのデータ転送は継続され、転送ユニット19はこのデータを今度はバッファメモリ30のうち各トラックに割り当てられたバッファ領域のもう一方(B領域とする)に記憶させる。そして、再び1クラスタ分の波形データが記憶されると、そのデータをHDD111上のそのデータを記憶すべきクラスタに転送して記憶させる。
この間にミキサ18からデータ転送ユニット19へ転送されてくる波形データは、今度はA領域に記憶され、HDD21への転送を終えたA領域のデータを逐次新たなデータに更新する。このように、転送ユニット19は、バッファメモリ30上に設けた各トラックについての2つの記憶領域を交互に用いながら、ミキサ18から連続的に転送されてくる波形データを、クラスタ単位でHDD21に転送して記憶させる。
一方、再生を行う場合にも、まずCPU14が、再生を行う各トラックにバッファメモリ30のバッファ領域を2つずつ割り当てる。そしてその後、転送ユニット19は、再生する各トラックについて、再生すべき波形データのうち、先頭から2クラスタ分の波形データを読み出して、バッファメモリ30のうちそのトラックに割り当てた2つのバッファ領域に、割り当て順に記憶させる。
また、その後、残ったバッファ領域もいずれかのトラックに割り当て、割り当て先のトラック次の波形データを、1クラスタ分ずつ順次読み出して、割り当てたバッファ領域に記憶させる。
そして再生を開始すると、転送ユニット19はサンプリング周期毎に各トラックについて、最初に割り当てられたバッファ領域に記憶させたものから順に、波形データを1サンプルずつ読み出してミキサ18に転送する。そして、ミキサ18はこれらの各波形データについて処理を行う。
1つのバッファ領域のデータを全て転送し終わると、続けて次に割り当てられたバッファ領域のデータの転送を行うが、同時に転送の終わったバッファ領域を解放して新たにいずれかのトラックに割り当て、HDD21からそのトラックの次のクラスタの波形データを読み出し、これをその新たに割り当てられたバッファ領域に記憶させ、そのバッファ領域の波形データを更新する。
このような処理を行うことにより、記憶手段に記憶されている波形データを所定のデータサイズ単位あるいはサンプル数単位で順次読み出してバッファ領域に書き込み、サンプリング周期毎に該バッファ領域から波形データを1サンプルずつ読み出して再生し、バッファ領域中の読み出しを終了したアドレスのデータを記憶手段から読み出される新たな期間の波形データで順次更新して、波形データを連続的に処理することができる。
なお、上記のバッファ領域の割り当てや波形データの記憶については、実際にはもう少し複雑な処理を行うが、その詳細については、後述する。
また、録音と再生を同時に行う場合には、それぞれについての転送を並行して行うものとする。
次に、HDD21における波形データの記憶方式について説明する。
まず図3に、このマルチトラックレコーダ1のHDD21のアドレス領域におけるデータの配置を示す。
HDD21のアドレス領域は先頭から、固定容量のシステム管理データ用アドレス領域51と、それに続く最後尾までの共用アドレス領域52に分割されている。そして、共用アドレス領域52には、前方側の端部から波形データがテイク(録音の単位で、1テイク=1回分の録音)順にトラック毎にクラスタ単位で分散して記憶されて蓄積され、その蓄積された領域が波形データ領域53となり、一度録音された波形データは操作者による明示の、該当するテイクの消去指令が与えられない限り消去されない。そして、後方側の端部から、このクラスタ単位で分散記憶された波形データを管理するためのソング管理データが複数ソング分順次記憶されて、ソング管理データ領域54−1,54−2,……(以下、総称する場合には符号54で示す)が順次形成される。
また、各ソング管理データ領域54は固定容量(例えば、1ソングあたり1.5メガバイト)であり、操作者により新規にソングファイルの作成が指示されるごとに、そのソングについてのソング管理データ領域54が新たに初期化されて確保され、そのソングについて波形データの追加や編集がなされるごとにそれに対応してソング管理データが更新される。各ソング管理データ領域54は一度定められると固定であり、操作者による明示のソングの消去指令が与えられない限り消去されない。
システム管理データ用アドレス領域51には、ソングごとのソング管理データの記憶位置を知るためのデータを含むシステム管理データが記憶されている。ソング管理データ領域54は、ソング単位でHDD21の全アドレス領域の後方側の端部から順次作成され、しかも個々のソング管理データ領域54の容量は固定であるので、システム管理データ用アドレス領域51にHDD21の全アドレス領域の最後尾のアドレスを記憶しておくことにより、各ソング管理データ領域54の開始位置を演算で求めることができる。
例えば、ソング1のソング管理データ領域54−1の開始位置は、〔HDD21の全アドレス領域の最後尾のアドレス〕−〔1つのソング管理データ領域54の容量〕の演算で求められる。
ここで、個々のソング管理データ領域54内では、データは通常どおり前方側から正方向(アドレスが増加する方向)に記憶されることを注記しておく。
なお、演算で求める代わりに、システム管理データ用アドレス領域51に、各ソングのソング管理データ領域54の開始位置のアドレスを記憶しておくこともできる。また、上記の例では、共用アドレス領域の最後尾のアドレスがHDD21の全アドレス領域の最後尾のアドレスに一致する例を示したが、一致しないようにしてもよい。
次に、図4に、上述したソングデータの構成を示す。
この図に示すように、各ソングのソング管理データの内部は、階層構造を有する。すなわち、1つのソングは16のトラックによって構成される。また、録音及び再生を行う場合には、どのトラックについて録音や再生、又はその両方を行うかを指定して行う。そして、録音の場合には、ミキサ18からデータ転送ユニット19を通して転送されてくる波形データは、指定されたトラックの波形データとして波形データ領域53に記憶され、再生の場合には、指定されたトラックの波形データが波形データ領域53から読み出されてデータ転送ユニット19を介してミキサ18へ転送される。
そして、例えば複数トラックを同時に録音する場合、各トラックの波形データはそれらが記憶される時点での共用アドレス領域52における波形データ記憶済み領域の最後尾に続けて記憶されるので、各トラックの波形データは、波形データ領域53内にクラスタ単位で分散して記憶されることになる。
このマルチトラックレコーダ1において新規の録音を行う場合、まず新規のソングを作成するが、この状態では、作成されたソングを構成する各仮想トラックは全て無音区間になっている。なお、この明細書において、「無音」は、実質的に音が聞こえなくなる状態のことをいうものとし、完全な無音と、多少音が残っていても耳に聞こえない実質的な無音の両方を含むものとする。
そして、トラックを選択して録音を行うことにより、そのトラックに波形データの存在する有音区間(リージョン)が形成され、波形データが波形データ領域53に記憶される。
従って、例えば、初めて録音の行われたトラックには、その録音の終了時にはリージョンが1つだけ存在することになる。そして、そのリージョンの再生開始時刻は、ソングの時間軸においてそのリージョンの録音が開始された位置であり、再生時間は、録音開始から録音終了までの時間である。
また、同じトラックの異なる時間範囲について順次録音を行えば、1つのトラックに複数のリージョンが形成されることになる。そして、通常、曲をレコーディングする際には、複数のトラックに対して録音が行われる。
さらに、このマルチトラックレコーダにおいては、このように録音した各トラックの各リージョンを編集することもできる。例えば、各リージョンについて、波形データ領域53に記憶されたそのリージョンに対応する波形データの読み出し開始位置や終了位置を変更したり、再生開始時刻や再生時間を変更したりすることができる。
図5に、このように形成した複数のリージョンを含むトラックのデータ構成の例を示す。
まず、各トラックの波形データは、上述したようにクラスタ単位で分散して記憶されるので、これを連結するため、1クラスタ分の波形データをブロックとし、各ブロックについて、波形データ領域53におけるそのブロックの波形データを記憶したクラスタのアドレス(後述するクラスタ番号)と、次のブロックを連結するための連結情報(後述する後のブロックのブロック番号)とを含む情報を記憶するようにしている。そして、各ブロックの連結情報に基づいてブロックを辿り、各ブロックの波形データを記憶したクラスタから波形データを順次読み出すことにより、録音した波形データを再現することができる。なお、図5において、各ブロックに付した数字はそのブロックのブロック番号を示す。
そして、各リージョンについて、そのリージョンで再生する波形データの先頭を示す再生開始位置(後述する先頭ブロックのブロック番号と再生開始ポイント)と、再生開始時刻と、再生時間と、次のリージョンを連結するための連結情報(後述する後のリージョンのリージョン番号)とを含む情報を記憶している。図5では、ブロックの下側に付した上向きの矢印が各リージョンにおける再生開始位置を、下向きの矢印が再生終了位置を示す。
これに加えて、トラックの情報として先頭のリージョンを示す先頭情報(後述する先頭リージョンのリージョン番号)を含む情報を記憶しておき、再生時に、先頭情報の示すリージョンから連結情報に基づいてリージョンを辿り、各リージョンについて記憶している再生開始時刻から再生時間だけ、再生開始位置から波形データを順次再生することにより、仮想トラックの波形データを再生することができる。
ここで、各トラックにおいて、ソングの開始時刻からそのトラックの最初のリージョンの再生開始時刻までの区間や、あるリージョンの再生終了時刻(再生終了時刻の再生時間だけ後)からその次のリージョンの再生開始時刻までの区間等は、対応する波形データの存在しない区間となる。この実施例においては、この区間を無音区間と呼んでいる。また、無音区間については、リージョンとリージョンに挟まれた1つの区間全体、あるいはその部分を所定時間毎に区切った各々の区間を、1つのブロックとしている。また、ここでいう所定時間は、後述するように、バッファメモリ120に設けたバッファ領域の大きさや、波形データの読み出し制御に使用するレジスタの桁数に応じて定めればよい。
なお、トラックの時間軸上でリージョンとリージョンが隙間なくつながっており、リージョン間の無音区間が存在しない場合もある。
このマルチトラックレコーダにおいては、上述した各トラック,リージョン,ブロックについての情報をソング管理データ領域54に記憶し、これらの情報に基づいて波形データの再生順序及び再生タイミングを決定して再生している。その意味で、これらの情報をシーケンスデータと呼ぶ。また、このシーケンスデータが制御データに該当する。
各ソングのソング管理データ領域54には、そのソング全体にわたる情報を記憶するヘッダ領域、そのソングの各トラックの情報を記憶するトラック領域、そのソングの各リージョンの情報を記憶するリージョン領域、そのソングの各ブロックの情報を記憶するブロック領域が互いに混在する状態で含まれている。
このうちヘッダ領域には、そのソングのソング名及び作成日の情報が記憶される。
トラック領域には、各トラックの名前と、先頭リージョンのリージョン番号(又は先頭リージョンのリージョン情報へのポインタ)が記憶される。このうち、先頭リージョンのリージョン番号については、例えば図5に示した例の場合では、トラック5について119が記憶されることになる。
そして、リージョン領域には、各リージョンについてのリージョン情報として、前のリージョンのリージョン番号,後のリージョンのリージョン番号,再生開始時刻,そのリージョンで最初に再生する先頭ブロックのブロック番号,先頭ブロック内の再生開始ポイント,再生時間が記憶される。ここで、前のリージョンや後のリージョンのリージョン番号については、該当するリージョンがない場合にはNULL(空白)となる。また、該当するリージョンのリージョン情報の記憶位置を示すポインタとして記憶してもよい。ブロック番号についても、同様にブロック情報の記憶位置を示すポインタとして記憶してもよい。再生開始時刻は、そのリージョンの波形データの再生を開始する時刻をソングの再生開始からの相対時刻で指定する。再生時間は、そのリージョンで再生するブロック数及び最終ブロック内の再生終了ポイントによって指定する。
例えば、図5に示したリージョン119の場合には、前のリージョンのリージョン番号としてNULL,後のリージョンのリージョン番号として122,先頭ブロックのブロック番号として5011,再生開始時刻として何らかの値,再生開始ポイントとして図中のブロック5011の下側に示した上矢印に相当する位置、再生時間として再生ブロック数3とブロック5023の下側に示した下矢印に相当する位置が記憶されることになる。
ここで、再生開始時刻から再生時間だけ経過した時刻が再生終了時刻であるので、実質的に再生終了時刻の情報もリージョン情報として記憶されていることになる。
ブロック領域には、各ブロックについてのブロック情報として、前のブロックのブロック番号,後のブロックのブロック番号,HDD21中のそのブロックの波形データを記憶したアドレス(クラスタ番号)が記憶される。ここで、前のブロックや後のブロックのブロック番号については、該当するブロックがない場合にはNULL(空白)となる。また、該当するブロックのブロック情報の記憶位置を示すポインタとして記憶してもよい。
例えば、図5に示したブロック5019の場合には、前のブロックのブロック番号として5011,後のブロックのブロック番号として5023,そして適切なクラスタ番号を記憶することになる。
CPU14は、これらのシーケンスデータを参照して、各仮想トラックの波形データの記憶位置と再生タイミングとを認識し、再生時における波形データのHDD21からバッファメモリ30への転送と、バッファメモリ30からミキサ18への転送とを制御することができる。
なお、このマルチトラックレコーダにおいては、波形データを録音する際には、1つのリージョンの波形データは連鎖するブロックの波形データとして記憶する。この連鎖を示すのが、図5でブロック間を繋ぐ矢印であり、連鎖の先頭のブロックにおいては常にその先頭から波形データが記憶される。最終ブロックにおいては、録音の中止された時点までしか波形データが存在しないが、それ以降にも無音状態を示す波形データを書き込み、大きさはやはり1クラスタ分としている。
そして、一度録音した波形データに対して再録音を伴わない切り貼りの編集を行う場合には、もとの波形データ、すなわち初めに録音した各ブロックの波形データに変更を加えることなく、シーケンスデータを変更して編集結果を作成する。すなわち、あるリージョンの先頭部を削除する場合には先頭ブロックを後ろのブロックにずらしたり再生開始ポイントにオフセットを設けたりし、位置をずらす場合には再生開始時刻を変更する等している。
このようにしても、CPU14が編集後のシーケンスデータを参照して波形データの転送タイミングを制御すれば、各ブロックの波形データ自体を切り貼り編集して得た波形データを再生する場合と同様の再生を行うことができる。
次に、このようにHDD21に記憶されている波形データを再生する際のデータ転送の制御について説明する。
図6に、図1に示したデータ転送ユニット19の構成をより詳しく示す。
このマルチトラックレコーダ1において、HDD21に記憶されている波形データを再生する際には、ソング管理データに従ってHDD21からクラスタ単位で波形データを順次読み出してデータ転送ユニット19のバッファメモリ30に記憶させ、ここからサンプリング周期毎に1サンプルずつ読み出してミキサ18に転送することは既に述べた。
この転送の中継を行うデータ転送ユニット19は、図6に示す構成である。すなわち、HDD21からIDEI/F20を介して読み込む波形データのバッファメモリ30への書き込みアドレスを制御するための転送カウンタ33及び比較回路34と、ミキサ18とバッファメモリ30との間で波形データを転送する際(録音ないし再生時)のバッファメモリ30からの波形データの読み出しアドレスとバッファメモリ30への波形データの書き込みアドレスとミュート回路32の動作とを制御するための録再カウンタ35及び比較回路36とを備え、マルチプレクサ31によって転送カウンタ33と録再カウンタ35との出力の一方を時分割に選択してバッファメモリ30における書き込み及び読み出しアドレスを制御している。この時分割の態様としては、例えば、ミキサ18とバッファメモリ30との間の転送を行うための録再カウンタ35の出力をその転送タイミングで優先的に選択し、その残りの時間に転送カウンタ33の出力を選択するようにすればよい。
さらに、ミュートの指示があったミュート期間はバッファメモリ30から読み出された波形データをミュートしてミキサ18に転送するミュート手段としてミュート回路32を設けている。
また、このデータ転送ユニット19はレジスタ群37,バッファレジスタ群38及びトラックレジスタ群39も備えており、転送カウンタ33の動作は比較回路34とレジスタ群37によって、録再カウンタ35の動作は比較回路36とバッファレジスタ群38とトラックレジスタ群39によって制御される。
そして、録再カウンタ35,比較回路36,トラックレジスタ群39は、録音及び再生を行うトラック毎に同じものを1組ずつ設けている。すなわち、このマルチトラックレコーダは、最大で16トラックの再生と8トラックの録音を同時に行うので、録再カウンタ35,比較回路36,トラックレジスタ群39の組を24組備えている。
そして、最大でこれら24組の録再カウンタが並列してマルチプレクサ31及びミュート回路32に信号を出力することになる。どの録再カウンタをどのトラックに対応させるかは、録音/再生の開始時にCPU14が決定するものとする。
また、16トラックの再生と8トラックの録音を同時に行うため、データ転送ユニット19は、24組の録再カウンタ35を用いて録音と再生のための波形データの転送を時分割化されたタイミングで行う。すなわち、録再カウンタ35の出力する読出アドレスに従って、データ転送ユニット19とミキサ18の間では、各サンプリング周期毎に、最大16トラックの再生のための波形データがデータ転送ユニット19からミキサ18に転送され、また、最大8トラックの録音のための波形データがミキサ18から転送ユニット19に転送される。従って、波形データはミュート回路32を時分割で通過することになる。
また、24組の録再カウンタ35はそれぞれ、ミュート回路32にミュートを指示する場合、その録再カウンタ35の出力する読出アドレスから波形データを読み出して転送を行うタイミング、すなわち、その録再カウンタ35に対応付けられたトラックの波形データがミュート回路32を通過するタイミングでミュートを指示する。
このマルチトラックレコーダ1では、データ転送ユニット19による波形データの転送タイミングに同期してミュートを行うようにしているので、時分割化され転送される複数のトラックの波形データのうちの任意のトラックの波形データをミュートするための構成が簡単である。
また、レジスタ群37には、開始アドレスレジスタであるSADレジスタ,終了アドレスレジスタであるEADレジスタ,トリガフラグとして用いるTrigerレジスタが含まれる。そして、HDD21から波形データを読み出してバッファメモリ30に書き込む場合には、CPU14がSADレジスタとEADレジスタにそれぞれ書き込み領域の開始アドレスと終了アドレスを設定し、IDEI/F20にHDD21からの読み出しを行う旨と対象のクラスタの番号を設定する。
その後、CPU14がTrigerレジスタに1を書き込むと、IDEI/F20はHDD21を制御して、指定したクラスタの頭出し、すなわち、ヘッドの移動及びディスクの回転待ちを行い、頭出しが完了したらそのクラスタのデータをIDEI/F20内の図示しないデータバッファに順次読み込む。IDEI/F20は、データバッファに読み込まれたデータがあることを、データ転送ユニットに通知する。このようにして、指定したクラスタの1クラスタ分すなわち有音区間の1ブロック分の波形データが読み出しが開始される。
転送カウンタ33は、SADレジスタの値からカウントを開始し、そのカウント値を書き込みアドレスとしてマルチプレクサ31に出力する。そして、前述したようにバッファメモリ30への書き込みとバッファメモリからの読み出しは並行して行うので、マルチプレクサ31はこのタイミングを調整する。IDEI/F20から「データ有り」が通知されているとき、マルチプレクサ31がタイミングを計ってそのアドレスをバッファメモリ30に出力すると、そのアドレスへの書き込みが実行される。すると、転送カウンタ33はカウント値をカウントアップし、次の書き込みアドレスとしてマルチプレクサ31に出力する。一方、転送カウンタ33のカウント値は比較回路34にも入力され、比較回路34はこの値をEADレジスタの値と比較する。
このような手順で転送カウンタ33がEADレジスタの値までカウントアップすると、比較回路34での比較が一致するので、この時点で比較回路34が転送カウンタ33にカウント動作の中止を指示すると共に、CPU14の処理に割り込みを発生させて1クラスタ分の波形データの読み込みが終了した旨を伝達する。ここで、この割り込みは、複数トラック分の波形データの記憶が同時に必要になった場合に、これらの記憶を順番に効率よく実行するための制御に用いるものである。
このような処理により、HDD21上の指定したクラスタに記憶された波形データを読み出して、バッファメモリ30上のSADレジスタとEADレジスタとで指定した領域に書き込むことができる。ここで、読み出しは常に1クラスタ単位で行われるので、EADレジスタは設けず、終了アドレスはSADレジスタの値から演算で求めるようにしてもよい。
なお、録音時にHDD21への波形データの書き込みを行う場合も、IDEI/F20に書き込みを行う旨を設定することにより、同様の動作で、バッファメモリ30上のSADレジスタとEADレジスタとで指定した領域に記憶された波形データをHDD21上の指定したクラスタに書き込むことができる。
一方、バッファレジスタ群38には、図2に示したバッファメモリ30中の各バッファ領域と対応させて、それぞれDestレジスタとTarレジスタとMuteレジスタを有する1番目からn番目のバッファレジスタを設けている。この各バッファレジスタが、バッファ情報記憶部である。
そしてこのうち、Destレジスタは、対応するバッファ領域に記憶させた波形データの読み出し開始アドレスを指定するためのレジスタであり、Tarレジスタは、同じく波形データの読み出し終了アドレスを指定するためのレジスタである。そして、バッファメモリ30中のバッファ領域から波形データを読み出してミキサ18に転送する場合には、CPU14は、そのバッファ領域と対応するバッファレジスタ中のDestレジスタ及びTarレジスタにそれぞれ適切な値を設定することによって、バッファメモリ30上の波形データを読み出すべきアドレスを指定する。
なお、Destレジスタ及びTarレジスタに設定する値は、基本的にはバッファメモリ30中の対応するバッファ領域の開始あるいは終了アドレスと一致するが、前述したシーケンスデータによって再生開始ポイントや再生終了ポイントが設定され、その領域に記憶される波形データの一部しか再生しない場合には、これに応じて領域の途中のアドレスが設定されることになる。
また、Muteレジスタは、DestレジスタとTarレジスタの設定内容に従って波形データを読み出して再生する場合に、ミュートを行うか否かを指定するためのレジスタである。
また、トラックレジスタ群39には、バッファナンバFIFO(Buf_No FIFO)、バッファナンバ(Buf_No)レジスタ、開始/終了(Start/Stop)フラグ、カレント位置(C_Position)レジスタを設けている。
そして、バッファナンバFIFOは、対応するトラックに割り当てたバッファレジスタの番号をファーストイン・ファーストアウト(FIFO)で記憶及び出力するレジスタである。また、バッファナンバレジスタは、対応するトラックの再生又は録音に使用するバッファレジスタの番号を指定するためのレジスタであり、ここには、バッファナンバFIFOの出力が設定される。
開始/終了フラグは、対応するトラックの再生又は録音の開始及び終了を指示するためのトリガフラグである。また、カレント位置レジスタは、ソングを再生する場合に、対応するトラックではブロック内のどの部分から再生を開始するかを指定するためのレジスタである。
そして、HDD21に記録された波形データの再生を行う場合、再生はソング毎に行うが、CPU14はHDD21から再生するソングについての前述したシーケンスデータを読み出して参照し、再生すべきトラック、リージョン及びブロックの構成や再生タイミング、そして無音区間の配置を認識する。
そして、再生開始準備として、上述したように、再生を行う各トラックにバッファメモリ30中のバッファ領域を割り当て、その割り当て順に、ソング中の再生開始位置と対応するブロックから始めて、割り当てたバッファ領域1つ当たり1ブロック分の波形データをHDD21から読み出させて記憶させ、対応するバッファレジスタのDest,Tar,Muteの各レジスタに、適切な値を設定する。
なお、再生開始位置がソングの開始位置と異なる場合には、最初のブロックについては、シーケンスデータに基づいて定めるDestレジスタの値とは異なる位置から再生を開始するべき場合もある。そこで、最初のブロック中での再生開始位置を示す値を各トラックのカレント位置レジスタに設定し、最初のブロックの再生には、Destレジスタの値に代えてこのカレント位置レジスタの値を使用するようにする。また、ブロックの切れ目はトラック毎に異なってよいため、特定の再生開始位置と対応するカレント位置レジスタの値は、トラック毎に異なってよい。
また、無音区間のブロックの場合は、波形データとしてどのような値が記憶されていても、結局はミュート回路32により無音を示すデータをミキサ部18に出力することになるので、HDD21からの波形データの読み出し及びバッファ領域への書き込みを行う必要はない。さらに言えば、バッファ領域自体を割り当てることも必須ではなく、バッファレジスタのDest,Tar,Muteの各レジスタの値に適切な値を設定しさえすればよい。そしてこのことにより、Tarレジスタの値からDestレジスタの値を引いた数のサンプル数分の期間の無音再生を指示することができる。すなわち、バッファ領域のサイズとは無関係に、レジスタの容量(桁数)に応じて指定可能な範囲内の期間の無音再生を指示することができる。
ここでは、バッファ領域とバッファレジスタとを対応させて設けているため、いずれか一方をトラックに割り当てた場合には他方も同時に割り当てることになる。しかし実際には、上記のように、バッファ領域を割り当てる必要がない場合もあるため、以後の説明においては、各トラックへはバッファレジスタを割り当て、それに伴って対応するバッファ領域の割り当ても行われるものとして説明を行う。
なお、CPU14は、各トラックについて上記のような再生開始準備を行う場合、各トラックと対応するバッファナンバFIFOに、割り当てたバッファレジスタの番号を、再生に使用する順番で記憶させるようにしている。
そしてその後、ユーザが操作子13のプレイボタンを押下する等して再生開始を指示すると、CPU14は再生を行うトラックの開始/終了フラグに1を書き込み、転送開始のトリガをかける。すると、そのトラックではバッファナンバFIFOから最初のバッファレジスタの番号が読み出されてバッファナンバレジスタに設定され、その番号のバッファレジスタをそのトラックの再生に使用する旨が設定される。
そして、各トラックの録再カウンタ35は、再生に使用するバッファレジスタ中のDestレジスタの値からカウントを開始し、そのカウント値を読み出しアドレスとしてマルチプレクサ31に出力する。そして、前述したようにバッファメモリ30への書き込みとバッファメモリ30からの読み出しは並行して行うので、マルチプレクサ31はこのタイミングを調整する。
そしてマルチプレクサ31がタイミングを計ってそのアドレスをバッファメモリ30に出力すると、そのアドレスから1サンプルの波形データが読み出され、ミュート回路32を通してミキサ18に転送される。ここでは、マルチプレクサ31が読出手段として機能する。
このとき、再生に使用するバッファレジスタ中のMuteフラグが「1」であれば、すなわち再生中のブロックが無音区間のブロックであれば、録再カウンタ35がミュート回路32にミュートを指示する。そしてこの場合、ミュート回路32は、波形データをミュートし、無音状態を示すデータに変更してからミキサ18に対して出力する。このミュートは、例えばミュート回路32をアンドゲートによって構成し、入力端子の一方に波形データを入力するようにし、ミュート指示を行う場合には入力端子のもう一方に0を入力するようにして行うことができる。
1サンプルの読み出しが完了し、次のサンプリング周期になると、録再カウンタ35はカウント値をカウントアップし、次の読み出しアドレスとしてマルチプレクサ31に出力する。一方、録再カウンタ35のカウント値は比較回路36に入力され、比較回路36はこの値を再生に使用するバッファレジスタ中のTarレジスタの値と比較する。
このような手順でサンプリング周期毎にバッファメモリ30から1サンプルずつ波形データを読み出してミキサ18に転送し、録再カウンタ35がTarレジスタの値までカウントアップすると、比較回路36での比較が一致する。この時点で、有音区間の場合には、最初に割り当てられたバッファ領域の終わりまで読み出しが終了したことになるので、比較回路36は、そのトラックのバッファナンバFIFOから次のバッファレジスタの番号を読み出してバッファナンバレジスタに入力し、次にその番号のバッファレジスタを再生に使用させるとともに、CPU14の処理に割り込みを発生させ、その旨を伝達する。
またこのとき、該当するトラックの次のサンプリング周期までに、次に使用するバッファレジスタ中のDestレジスタの値を、そのトラックの録再カウンタ35に設定する。また、もしFIFOに次のバッファレジスタの番号が登録されていなければ、そのトラックをミュートするようにする。
無音区間の場合には、バッファ領域とは必ずしも関係ないが、ブロックの末尾まで再生が終了したことになるので、同様に割り込みを発生させる。
また、CPU14は、上記の割り込みを認識すると、割り込みが発生したトラックの再生に使用していたバッファレジスタの割り当てを解消する。
割り当てを解消したバッファレジスタは、改めていずれかのトラックに割り当て、そのトラックにおいてバッファレジスタへのパラメータの設定や波形データのバッファ領域への書き込みが完了しているブロックの次のブロックの再生に使用させるようにする。そして、そのブロックが有音であれば、そのブロックの波形データを、HDD21から読み出して割り当てたバッファレジスタと対応するバッファ領域に書き込む指示を行う。また、そのブロックの有音/無音及び、有音の場合にはブロック中の再生すべき部分、無音の場合にはブロックの長さに応じて、Dest,Tar,Muteの各レジスタの内容を更新すると共に、バッファレジスタを割り当てたトラックのバッファナンバFIFOに、その割り当てたバッファレジスタの番号を登録する。
以上の割り当てに関する処理は、割り当てを解消したバッファレジスタの内容や、そのバッファレジスタと対応するバッファ領域に記憶されている波形データの内容とは無関係に行うものである。
以後このような処理を繰り返すことにより、再生する各トラックの波形データを、予めHDD21から読み出してバッファメモリ30に記憶させた上で、再生に必要なタイミングでミキサ18に転送することができ、各トラックの波形データを連続的に再生することができる。
以上のうち、HDD21からバッファメモリ30への波形データの転送の処理においては、CPU14とマルチプレクサ31と転送カウンタ33とが再生準備手段として機能する。また、バッファメモリ30からミキサ18への波形データの転送の処理においては、CPU14とマルチプレクサ31とミュート回路32と録再カウンタ35とが再生手段として機能する。
なお、波形データの再生中にユーザから再生中止の指示があると、CPU14は開始/終了フラグに1を書き込み、その時点で録再カウンタ35のカウントアップ動作が停止される。
次に、図7乃至図11のフローチャートを用いて、複数トラックの同時再生を行う場合の、データ転送ユニット109における上述したバッファレジスタ及びバッファ領域の割り当てや、HDD21からのバッファメモリ30への波形データの読み出しの制御のための処理について説明する。これらのフローチャートに示す処理は、全てCPU14が所要の制御プログラムを実行することにより行うものである。
まず、図7に、ユーザによるソングの再生開始位置の指定があった場合の処理のフローチャートを示す。
CPU14は、ユーザが再生すべきソング及び再生開始位置を指定すると、図7のフローチャートに示す処理を開始し、ユーザの再生指示に応じてすぐにソングの再生を開始できるよう、再生準備を行う。なお、再生準備の完了後、あるいは準備中であっても、再生を開始する前であれば、再生開始位置が変更された場合には、それまでの準備内容を無効にし、再度図7のフローチャートに示す処理を開始する。
そして、この処理においてはまず、バッファレジスタ群38の全バッファレジスタを割り当て状態から開放して新たに割り当てを行うことができるようにする(S11)と共に、指定されたソング中で再生するトラック及び再生開始位置の指定を検出する(S12)。なお、この指定は、操作子13等により受け付けることができる。
そしてその後、再生する各トラックについて、指定された再生開始位置と対応するブロック及びそのブロック中での位置を特定する(S13)と共に、再生する各トラックに、バッファレジスタを2つずつ割り当てる(S14)。
その後、再生する各トラックについて、再生開始位置を含むブロックとその次のブロックについて、有音区間であれば、そのブロックに係る1クラスタ分の波形データをHDD21から読み出し、そのトラックに割り当てたバッファレジスタと対応するバッファ領域に記憶させる(S15)。このとき、再生開始位置を含むブロックの波形データは最初に割り当てた方、次のブロックの波形データは2番目に割り当てた方のバッファレジスタと対応するバッファ領域に記憶させる。
そして、再生するソングのシーケンスデータに基づき、再生する各トラックに割り当てたバッファレジスタ中のDest,Tar,Muteの各レジスタの値を設定する(S16)と共に、そのバッファレジスタの番号を、割り当て先のトラックと対応するバッファナンバFIFOに、割り当て順に登録する(S17)。そしてさらに、再生開始位置に応じて、再生する各トラックのカレント位置レジスタの値を設定する(S18)。
以上により、少なくとも再生する各トラックについて、最初の2ブロック分の再生に使用するデータはバッファメモリ30及び各レジスタに準備される。
そこで、次に、残っているバッファレジスタも各トラックに割り当て、さらに再生準備を進めるべく、図8に示す転送制御処理に進む(S19)。なお、転送制御処理からこの図7の処理に戻ってくる必要はなく、そのまま処理を終了してしまってよい。
以上の処理において、ステップS15乃至S18の処理は、一応再生準備に係る処理であり、CPU14が再生準備手段として機能するが、最初の部分の特殊な処理であり、順番の制御は、以下の処理の場合とは異なる。
次に、図8に、上述の転送制御処理のフローチャートを示す。この処理は、後述のように、図7のステップS19以外でも随時呼び出されるものであるが、終了後に元の処理に戻る必要はない。
そして、この転送制御処理においては、CPU14は、まずトラックに割り当てられていない空きのバッファレジスタがあるか否か判断する(S21)。どのバッファレジスタが割り当て済みかは、CPU14が図示しないフラグ等により管理しておくようにするとよい。
そして、空きのものがなければそのまま処理を終了するが、あれば、FULLフラグが「0」かつ再生を行うトラックのうち、波形データをバッファメモリ30に読み出し済み又は無音読出設定済みの部分、すなわち既に再生準備が完了している部分の再生終了予定時刻が最も早いトラックを検出する(S22)。
ここで、FULLフラグは、対応するトラックのバッファナンバFIFOに、容量一杯までバッファレジスタの番号が登録されている場合、すなわち、対応するトラックに所定の限度数までバッファレジスタが割り当てられている場合に「1」とし、それ以外の場合に「0」とするフラグである。このフラグは、図6には示していないが、CPU14が別途管理するものである。
そして、ステップS22の後、ここで検出したトラックの再生終了時刻が現在時刻より所定時間以上後であれば(S23)、次のブロックのデータが必要になるまで十分に時間的余裕があり、ここで更なる再生準備を行う必要はないと考えられるため、そのまま処理を終了する。
一方、所定時間以上の余裕がなければ、ステップS22で検出したトラックに、空きのバッファレジスタのいずれかを割り当てる(S24)。どのバッファレジスタを割り当てるかは、適宜定めればよく、ランダムな順番でよい。その後、シーケンスデータに基づいて、割り当て先のトラックの次のブロックが無音区間であるか否か判断し(S25)、無音区間であれば、割り当てたバッファレジスタ中のMuteレジスタに無音区間を示す「1」を設定する(S26)。また、割り当てたバッファレジスタ中のDestレジスタとTarレジスタに、次のブロックの長さを示す値を設定する(S27)。
そしてその後、そのバッファレジスタの番号を割り当て先のトラックのバッファナンバFIFOに登録する(S28)。このとき、登録したFIFOに空き領域がなくなった場合に、割当先トラックのFULLフラグを「1」に設定する(S29,S30)。その後、ステップS21に戻って処理を繰り返す。
一方、ステップS25で次のブロックが有音区間であった場合には、データ転送ユニット19及びIDEI/F20に対し、割り当て先トラックの次のブロックの波形データをHDD21から読み出し、ステップS24で割り当てたバッファレジスタと対応するバッファ領域に書き込む指示を行う(S31)。そしてこの場合、処理を一旦ここで終了し、書き込み終了の割り込みがあった場合に続きの処理を行う。
以上の処理を行うことにより、空きのバッファレジスタを、次のブロックの再生準備を行うための猶予時間が短いトラックに優先的に割り当て、そのトラックの再生準備を行うことができる。
また、以上の処理において、ステップS22の処理がバッファレジスタの割り当て先を決定する処理であり、この処理においてはCPU14が順番制御手段として機能する。また、ステップS24乃至S28及びS31の処理においては、CPU14が再生準備手段として機能する。そして、ステップS26乃至S28の処理が、無音読出設定の処理である。
なお、ステップS22の判断でFULLフラグの内容を用いること、またFULLフラグを設けること自体も必須ではない。このようなフラグを設けると、1つのトラックに過剰な数のバッファレジスタが割り当てられ、他のトラックに割り当てる数が減ってしまうような事態が防止できるし、バッファナンバFIFOの容量を一定量に抑えることができるが、バッファナンバFIFOに、想定される最大割り当て数分のバッファレジスタの番号を記憶できるだけの容量を設けておけば、動作上は特に問題ない。
また、再生終了予定時刻についても、必ずしも最も早いトラックに限らず、割り当て済みのバッファレジスタ数等、他の条件も加味して判断するようにしてもよい。
次に、図9に、1ブロック分の波形データのHDD21からバッファメモリ30への転送終了を示す割り込みがあった場合の処理のフローチャートを示す。この割り込みは、図6に示した比較回路34が発生させるものである。
CPU14は、比較回路34が割り込みを発生させると、図9のフローチャートに示す処理を開始し、まず、データ転送が終了したバッファ領域と対応するバッファレジスタ中のMuteレジスタに、有音区間を示す「0」を設定する(S41)。また、そのバッファレジスタ中のDestレジスタとTarレジスタの値を、シーケンスデータに基づき、ソングの再生時に再生すべき区間を示す値に設定する(S42)。このとき、再生開始位置の情報は考慮しなくてよい。
そしてその後、そのバッファレジスタの番号を割り当て先のトラックのバッファナンバFIFOに登録する(S43)。このとき、登録したFIFOに空き領域がなくなった場合に、割当先トラックのFULLフラグを「1」に設定する(S44,S45)。
その後、ステップS46で再度図8に示した転送制御処理を起動し、他のバッファレジスタに関する再生準備を試みる。
以上の処理により、対応するバッファ領域への波形データの書き込みが終了したバッファレジスタについて、各レジスタに必要な情報を設定して再生処理に使用できる状態にすることができる。また、以上の処理において、ステップS41乃至S43の処理が、有音読出設定の処理に該当し、これらの処理においてもCPU14が再生準備手段として機能する。
なお、図7に示した処理の範囲で生じる転送終了の割り込みについては、これに応じて行うステップS41乃至S43の処理は、図7の処理に含めて記載している。また、図7の時点ではまだ、ステップS44乃至S46の処理を行う必要はない。
次に、図10に、ユーザからの再生開始指示があった場合の処理のフローチャートを示す。
CPU14は、操作子13の操作等により再生開始の指示を受け付けると、図10のフローチャートに示す処理を開始する。そして、再生する各トラックについて2ブロック分の再生準備が完了していれば(S51)、再生する各トラックの開始/終了レジスタに「1」を書き込んで再生開始を指示し(S52)、処理を終了する。また、ステップS51で完了していなければ、2ブロック分の再生準備が完了するまで待機してから(S53)、再生開始の指示を行う。その後の再生処理は、図6を用いて説明した手順により、別途制御する。
このように、少なくとも2ブロック分の再生準備が完了してから再生を開始すれば、通常は、そのブロックに係る再生中に以後のブロックの再生準備のための時間を確保できるので、全てのバッファレジスタがいずれかのトラックに割り当てられ、必要なデータがバッファメモリ30に読み出されるまで待つ必要はない。
次に、図11に、1ブロック分の再生終了を示す割り込みがあった場合の処理のフローチャートを示す。この割り込みは、図6に示した比較回路36が発生させるものである。
CPU14は、いずれかのトラックと対応する比較回路36が割り込みを発生させると、図11のフローチャートに示す処理を開始し、まず、割り込みを発生させた比較回路36と対応するトラックで再生に使用中のバッファレジスタの番号を取得して(S61)、その番号のバッファレジスタを空きバッファレジスタとして登録する(S62)。
このことにより、再生の終了したブロックと対応するバッファレジスタを解放して他のトラックに割り当てられるようにすることができる。
そしてその後、そのトラックのFULLフラグを0に設定する(S63)。上述のように、1ブロック分の再生終了割り込みが発生した場合には、データ転送ユニット19のハードウェアの機能により、該当トラックのバッファナンバFIFOから次のバッファレジスタの番号を読み出してバッファナンバレジスタに設定するようにしているので、この処理により、そのトラックのバッファナンバFIFOには必ず空きができるためである。
そして、HDD21からの波形データの読み出しを実行中であれば(S64)、そのまま処理を終了するが、実行中でなければ、図8に示した転送制御処理を起動する(S65)。ここまでの処理で、少なくとも1つはバッファレジスタに空きができているので、それを新たにいずれかのトラックに割り当て、次のブロックについて再生準備を行うためである。ステップS64でYESの場合には、次の転送制御処理は図9のステップS46で起動されることになる。
以上の処理により、再生の終了したブロックと対応するバッファレジスタを解放し、他のブロックの再生準備に使用できる状態とすることができる。そして、ステップS61及びS62の処理において、CPU14が解放手段として機能する。
次に、図12を用いて、以上の図7乃至図11に示した処理による、バッファレジスタ及びバッファ領域の割り当て例について説明する。この図には、具体例として、図の上側に示したトラックAとトラックBを再生するために、6つ用意したバッファレジスタを各トラックに割り当てる場合の例を示している。そして、各トラックについて、枠を示した部分が有音区間、線で示した部分が無音区間である。図中の数字は、ブロック番号を示す。また、aの矢印で示す位置が、再生開始位置である。
また、(a)から(j)で示すのは、図の上側のトラックにおいて、再生が対応するアルファベットを付した矢印の位置まで進んだ時点でのバッファレジスタの各トラックへの割り当て状態である。また、枠1つがバッファレジスタ1つを示し、その内部の数字は、各バッファレジスタにどのブロックと対応するデータを設定するかを示すものである。この数字は同時に、対応するバッファ領域にどのブロックの波形データを記憶させるかを示すものである。無音区間については、「(mute)」で示しており、この部分は対応するバッファ領域に波形データを記憶させる必要はない。
なお、何番のバッファレジスタをどのトラックに割り当てるかということはあまり重要ではないので、この図には示していない。
この図に示す例において、ユーザがaの矢印で示す再生開始位置を指定すると、CPU14は、図7に示した処理を行い、(a)に実線で示すように、まずトラックAとトラックBにそれぞれ2つずつバッファレジスタを割り当て、最初の2ブロックは双方のトラックで有音区間であるから、これらの部分の波形データを対応するバッファ領域に記憶させる。このとき、先頭ブロックにおいて再生開始位置と対応する位置を、カレント位置レジスタにより示すが、この位置は、(a)に矢印で示す位置となる。
また、各トラックに2つずつ割り当てた後で、あと2つのバッファレジスタが残るため、再生準備が完了している部分の再生終了予定時刻が早いほうから順に1つずつ割り当てると、トラックAとトラックBの双方に1つずつ割り当て、それぞれブロック113とブロック123のデータを記憶させることになる。
その後、ユーザが再生開始を指示し、再生がbの位置まで進むと、ブロック111の再生が終了するため、CPUは、図11に示した処理を行い、(b)に破線とバツ印で示すように、対応するバッファレジスタを解放する。その後、図8に示した処理によりそのバッファレジスタの割り当てを行うが、その時点で再生準備が完了している部分(トラックAはブロック113まで、トラックBはブロック123まで)の再生終了予定時刻を比べると、トラックAの方が早いため、こちらに割り当てる。そして、破線で示すように、次のブロック114の波形データを、HDD21から読み出して対応するバッファ領域に記憶させる。また、この読み出し中も、継続して続きの再生処理を行う。
以後、c→d→eと再生が進むにつれ、それぞれ図に示すような割り当て解除と再割り当てが発生する。この部分までは、トラックAとトラックBに均等にバッファレジスタが割り当てられる。
しかし、fの時点では、その時点で再生準備が完了している部分(トラックAはブロック115まで、トラックBはブロック125まで)の再生終了予定時刻を比べると、再生が終了したブロック113の属するトラックAではなく、トラックBの方が早い。従って、ブロック113の再生に使用していたバッファレジスタは、トラックBに割り当てられ、次のブロック126のデータを記憶させることになる。
図からわかるように、この部分ではトラックBの方が1ブロック当たりの時間が短いが、トラックBに優先的にバッファレジスタ(及び対応するバッファ領域)を割り当てて、再生準備のための時間を十分に確保することができる。
そして、次のgの時点でも、バッファレジスタはトラックBに割り当てられることになるが、hの時点では、ブロック127よりもブロック115の再生終了予定時刻が早いため、バッファレジスタはトラックAに割り当てられる。
さらに、次のiの時点でも、バッファレジスタはトラックAに割り当てられ、再度トラックAとトラックBに均等にバッファレジスタが割り当てられる状態になる。
マルチトラックレコーダ1においては、CPU14が以上説明してきたような処理を行うことにより、バッファレジスタ(及びバッファ領域)を、再生及び録音しようとしているトラックに動的に割り当て、限られた数のバッファ領域を有効に活用して波形データの再生及び録音を行うことができる。
特に、再生の場合には、1ブロック当たりの再生時間が極めて短い部分が存在する場合があるが、再生準備が完了している部分の再生終了予定時刻に基づいてバッファレジスタの割り当てを定めるようにすれば、このような部分のあるトラックにバッファレジスタを集中的に割り当てることができる。従って、再生準備済みのブロックの再生が終了するまでに、次のブロックの再生準備が間に合わないような事態を効果的に防止でき、安定した再生を行うことができる。
また、再生を行うトラックの指定を受け付け、実際に再生を行うトラックのみにバッファレジスタの割り当てを行うようにすれば、1トラック当たりに割り当て可能なバッファレジスタの数を増やすことができ、より一層安定した再生を行うことができる。このような柔軟な対応が可能であるのも、バッファレジスタの割り当てを動的に行うようにしたためである。
また、無音区間については、波形データの読み出しを行わなくてよいので、バッファレジスタに、波形データの記録単位と対応する時間より長い時間の再生を設定できるようにすれば、少ない数のバッファレジスタを用いて長い時間の再生を準備することができ、バッファレジスタの数(対応してバッファ領域を設けるのであればその数も)を節約することができる。また、割り当て処理の回数も減るため、そのためのCPUの負荷も低減することができる。
以上で実施形態の説明を終了するが、装置の構成、具体的な処理内容やデータの形式等が上述の各実施形態で説明したものに限られないことはもちろんである。
例えば、バッファレジスタとバッファ領域は、必ずしも対応して設ける必要はなく、これらの割り当てを独立して行うことができるようにしてもよい。この場合、1ブロックの再生を準備するために、トラックに対して1つのバッファレジスタと1つのバッファ領域とを割り当てることになる。そして、バッファレジスタに、使用するバッファ領域の番号を記憶させる等して対応関係を把握できるようにするとよい。
また、このような独立の割り当てを可能にした場合、再生するブロックが無音区間である場合にはバッファ領域を全く割り当てなくてよい。従って、バッファレジスタをバッファ領域の数より多く用意し、実際よりも多くのバッファ領域が存在するかのような割り当て制御を行うようにすることも考えられる。
また、バッファレジスタをバッファ領域と対応させて設け、さらにそれに加えて対応するバッファ領域のないバッファレジスタも設け、前者を有音区間の再生に、後者を無音区間の再生に使用するように、トラックへの割り当てを行えば、バッファレジスタとバッファ領域の対応関係を静的なものにして、対応関係を別途管理する必要をなくしつつ、実際よりも多くのバッファ領域が存在するかのような割り当て制御を行うことも考えられる。この場合において、有音区間用のバッファレジスタを無音区間用として流用してもよい。
また、上述した割り当て処理においては、録音を行うトラックにおいて使用するバッファレジスタやバッファ領域を考慮していなかったが、いつでも録音を開始できるよう、再生と同時に使用可能な各録音用トラックについて2つずつは、割り当てを行わずに常に確保しておくようにしてもよい。
また、録音を行うトラックについては、常に2つのバッファレジスタ(及び対応するバッファ領域)を割り当てておけばよいので、録音トラックに対する割り当ては固定で行うようにしてもよい。
また、各再生トラックについて、再生中に再生準備が完了しているブロックが1つだけにならないよう監視を行い、万一1つだけになってしまうトラックがあった場合に、そのトラックに対して優先的にバッファレジスタを割り当てるようにするとよい。
また、ここではこの発明をHDDを用いたマルチトラックレコーダに適用した例について説明したが、この発明は波形データを再生する際の制御手段に特徴を有するので、録音機能は必須ではない。また、波形データの記録についても、HDDに限らず、光ディスクや光磁気ディスクを用いてもよいことは言うまでもない。これらの記憶手段も、装置に内蔵したものであっても、SCSI(Small Computer System Interface)等によるインタフェースを介して接続して外部に設けたものでもよい。
これ以外にも、この発明の要旨を逸脱しない範囲で種々の変更を行うことができることも、いうまでもない。また、各変形の内容を、矛盾しない範囲で組み合わせて適用できることも、もちろんである。
以上の説明から明らかなように、この発明のマルチトラック再生装置によれば、記憶手段に記憶されている波形データを複数トラック分読み出して再生する場合において、必要なバッファの容量を比較的小さくしながら、波形データの再生を安定して行えるようにすることことができる。
従って、再生時の安定性が高いマルチトラック再生装置を提供することができる。
この発明のマルチトラック再生装置の実施形態であるマルチトラックレコーダの概略構成を示すブロック図である。 図1に示したバッファメモリにおける記憶領域の構成を示す図である。 図1に示したマルチトラックレコーダのHDDのアドレス領域におけるデータの配置を示す図である。 同じくソングデータの構成を示す図である。 同じく複数のリージョンを含むトラックのデータ構成の例を示す図である。
図1に示したデータ転送ユニットの構成をより詳しく示す図である。 図1に示したマルチトラックレコーダのCPUが実行する、ユーザによるソングの再生開始位置の指定があった場合の処理のフローチャートである。 同じく転送制御処理のフローチャートである。 同じく1ブロック分の波形データのHDDからバッファメモリへの転送終了を示す割り込みがあった場合の処理のフローチャートである。 同じくユーザからの再生開始指示があった場合の処理のフローチャートである。 同じく1ブロック分の再生終了を示す割り込みがあった場合の処理のフローチャートである。 図7乃至図11に示した処理による、バッファレジスタ及びバッファ領域の割り当て例について説明するための図である。
符号の説明
1…マルチトラックレコーダ、11…表示器、12…フェーダ、13…操作子、14…CPU、15…フラッシュメモリ、16…RAM、17…PCI/F、18…ミキサ、19…データ転送ユニット、20…IDEI/F、21…HDD、22…CD−RWドライブ、23…システムバス、30…バッファメモリ、31…マルチプレクサ、32…ミュート回路、33…転送カウンタ、34,36…比較回路、35…録再カウンタ、37…レジスタ群、38…バッファレジスタ群、39…トラックレジスタ群、41…波形データ入力端子、42…波形データ出力端子、51…システム管理データ用アドレス領域、52…共用アドレス領域、53…波形データ領域、54…ソング管理データ領域

Claims (4)

  1. 記憶手段に所定サイズ単位で記憶されている波形データを、複数のトラックの各トラック毎の制御データに従って、複数トラック分読み出して再生するマルチトラック再生装置であって、
    波形データを記憶する複数のバッファ領域を有するバッファメモリと、
    該バッファ領域からの波形データの読み出し制御に使用するパラメータを記憶する複数のバッファ情報記憶部と、
    前記再生の実行中に、前記制御データが有音区間であることを示す部分については、使用されていないバッファ情報記憶部とバッファ領域とを前記トラックに割り当て、その割り当てたバッファ領域に、割当先のトラックの波形データを前記所定サイズ分前記記録媒体から読み出して記憶させると共に、割り当てたバッファ情報記憶部に有音読出設定を行い、前記制御データが無音区間であることを示す部分については、使用されていないバッファ情報記憶部を前記トラックに割り当てると共にそのバッファ情報記憶部に無音読出設定を行うことにより、前記各トラックの再生準備を行う再生準備手段と、
    前記各トラックについて、前記再生準備手段が割り当てを行った順に、割り当てられた前記バッファ情報記憶部に記憶しているパラメータに従って、前記有音読出設定が行われている部分では、前記割り当てたバッファ領域に記憶させた波形データを読み出して再生し、前記無音読出設定が行われている部分では、無音の波形データを再生する再生手段と、
    前記再生手段による、対応する再生処理が完了したバッファ情報記憶部及びバッファ領域を解放する解放手段と、
    前記再生準備手段が行う再生準備の順番を、前記各トラックのうち準備済みの再生の完了予定時刻の早いトラックの再生準備を優先的に行うよう制御する順番制御手段とを設けたことを特徴とするマルチトラック再生装置。
  2. 請求項1記載のマルチトラック再生装置であって、
    前記複数のバッファ情報記憶部のうち少なくとも一部が、各々1つの前記バッファ領域と予め対応付けられていることを特徴とするマルチトラック再生装置。
  3. 請求項1又は2記載のマルチトラック再生装置であって、
    前記複数のトラックの中から再生を行うトラックの指定を受け付ける手段を設け、
    前記再生準備手段が、その指定されたトラックについてのみ前記再生準備を行うようにしたことを特徴とするマルチトラック再生装置。
  4. 請求項1乃至3のいずれか一項記載のマルチトラック再生装置であって、
    前記無音区間については、前記バッファ情報記憶部に、前記所定サイズの波形データと対応する時間より長い時間の再生を設定できるようにしたことを特徴とするマルチトラック再生装置。
JP2005094735A 2005-03-29 2005-03-29 マルチトラック再生装置 Expired - Fee Related JP4055784B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005094735A JP4055784B2 (ja) 2005-03-29 2005-03-29 マルチトラック再生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005094735A JP4055784B2 (ja) 2005-03-29 2005-03-29 マルチトラック再生装置

Publications (2)

Publication Number Publication Date
JP2006277829A JP2006277829A (ja) 2006-10-12
JP4055784B2 true JP4055784B2 (ja) 2008-03-05

Family

ID=37212440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005094735A Expired - Fee Related JP4055784B2 (ja) 2005-03-29 2005-03-29 マルチトラック再生装置

Country Status (1)

Country Link
JP (1) JP4055784B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5999408B2 (ja) * 2012-02-08 2016-09-28 ヤマハ株式会社 楽音信号制御システムおよびプログラム

Also Published As

Publication number Publication date
JP2006277829A (ja) 2006-10-12

Similar Documents

Publication Publication Date Title
JP3700931B2 (ja) マルチトラック・ディジタル録音再生装置
JP3857381B2 (ja) 編集装置及びデータ記録媒体
US20080069383A1 (en) Mixing apparatus for audio data, method of controlling the same, and mixing control program
US7259314B2 (en) Waveform data processing apparatus
US6437228B2 (en) Method and apparatus for storing audio data
US20020015504A1 (en) Mixing apparatus with recording/reproducing function
JPH10162560A (ja) 映像編集方法、及びノンリニア映像編集装置
JP2002100159A (ja) データ信号処理装置および方法、並びに記録媒体
JP4055784B2 (ja) マルチトラック再生装置
JP2002520973A (ja) ディジタルビデオ情報信号の編集
JP2002050123A (ja) マルチトラック・ディジタル録音再生装置
JP4151726B2 (ja) 波形データ処理装置
JP3925294B2 (ja) 波形データ処理装置
JP4003419B2 (ja) ピンポン録音の方法およびマルチトラックレコーダ装置
JP4207914B2 (ja) 波形データ処理装置
JP4140612B2 (ja) 波形データ処理装置
JP3770030B2 (ja) 録音再生装置
JP3852890B2 (ja) 記録再生装置
JP4135002B2 (ja) サンプルデータ再生装置およびサンプルデータ記録再生装置
JP3666467B2 (ja) 波形編集装置及び波形編集用プログラム
JP3714087B2 (ja) サンプルデータ再生装置およびサンプルデータ記録再生装置
JP3980751B2 (ja) 電子楽器
JP3509683B2 (ja) 複数チャンネルサンプルデータ用記録装置、再生装置、記録再生装置のバッファ回路
JP2650382B2 (ja) ディジタル信号処理方法及び回路
JPH11282469A (ja) 電子楽器

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070814

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071012

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071203

R150 Certificate of patent or registration of utility model

Ref document number: 4055784

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131221

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees