JP3705000B2 - Music generation method - Google Patents
Music generation method Download PDFInfo
- Publication number
- JP3705000B2 JP3705000B2 JP07857599A JP7857599A JP3705000B2 JP 3705000 B2 JP3705000 B2 JP 3705000B2 JP 07857599 A JP07857599 A JP 07857599A JP 7857599 A JP7857599 A JP 7857599A JP 3705000 B2 JP3705000 B2 JP 3705000B2
- Authority
- JP
- Japan
- Prior art keywords
- performance
- generation method
- performance control
- control
- musical sound
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 90
- 239000013598 vector Substances 0.000 claims description 106
- 238000001514 detection method Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 34
- 210000003811 finger Anatomy 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000000605 extraction Methods 0.000 description 9
- 238000004091 panning Methods 0.000 description 6
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、ビデオ画像を利用した楽音生成方法に関する。
【0002】
【従来の技術】
従来より、画像に対応して演奏の制御を行う技術が提案されている。このような技術としては、例えば特許第262974号公報や、特許第2508136号公報に、被写体の輪郭を利用してテンポ等を制御する技術が開示されている。これらの技術によれば、入力されたビデオ信号から、R(赤)G(緑)、B(青)の各色信号を分離して、各色毎にデジタルデータとして階調を表す階調データを生成する。そして、各色の階調データと予め定めたしきい値データとに基づいて被写体を特定し、当該被写体の輪郭を検出する。
このように輪郭を特定した後、特許第2629740号公報に記載された技術では輪郭の複雑さに応じて演奏を制御し、特許第2508136号公報に記載された技術では被写体の重心の移動に応じて演奏を制御している。
【0003】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術においては、被写体を特定し輪郭を検出する必要があったので、処理にかかる負担が大きいという問題があった。すなわち、各画素についてRGB各色毎の階調データを作成してしきい値と比較しなければならず、その上さらに、検出した被写体の輪郭の複雑さや、重心の移動などを求めなくてはならなかった。また、被写体を特定するために予め定めるしきい値の決定も困難であり、必ずしも精度よく輪郭を検出できるとは限らなかった。
このように、画像に基づいて演奏を制御するために従来から提案されている技術は、被写体検出のためのシステム構成が複雑になったり、しきい値の設定によって動作が不安定になるという問題があった。
【0004】
本発明は、上述した課題を解決するためになされたものであり、比較的簡易なシステムを用いて、画像に応じた演奏の制御を容易に行うことができる楽音生成方法を提供することを目的としている。
【0005】
【課題を解決するための手段】
上述した課題を解決するために、請求項1に記載の発明は、演奏の内容を示す演奏情報を供給する過程と、前記演奏を制御する複数の演奏制御用パラメータのうちのいずれかを指定する過程と、複数ブロックからなるビデオ画像を供給する過程と、供給された前記ビデオ画像から前記複数ブロックに対応する複数の動きベクトルを抽出する過程と、抽出した前記複数の動きベクトルから、指定された前記演奏制御用パラメータに対応した制御データを算出する過程と、算出した前記制御データに基づいて、指定された前記演奏制御用パラメータの変更または追加を行う過程と、前記供給された演奏情報および前記変更または追加された演奏制御用パラメータに基づいて楽音を生成する過程とを備えることを特徴とする。
また、請求項2に記載の発明は、請求項1に記載の楽音生成方法において、前記演奏制御用パラメータの変更または追加を行う過程は、算出した前記制御データにくわえて、過去に発生した演奏制御用パラメータにも基づいて、指定された前記演奏制御用パラメータの変更または追加を行うことを特徴とする。
また、請求項3に記載の発明は、請求項1または2に記載の楽音生成方法において、前記制御データを算出する過程は、抽出した前記複数ブロックのうちの一部の領域に対応する複数の動きベクトルから1つを算出することを特徴とする。
また、請求項4に記載の発明は、請求項1ないし3いずれかに記載の楽音生成方法において、操作子の操作に応じて前記ビデオ画像の中の一部の領域を指定する過程と、指定された前記一部の領域内の画像の変化を検出し、該変化を示す検出信号を発生する過程とをさらに備え、前記演奏制御用パラメータの変更または追加を行う過程は、発生した前記検出信号に基づいて、指定された前記演奏制御用パラメータの変更または追加を行うことを特徴とする。
また、請求項5に記載の発明は、請求項1ないし4いずれかに記載の楽音生成方法において、前記ビデオ画像の左右を反転させる反転過程と、前記反転過程において出力されたビデオ画像を表示する表示過程とを備えることを特徴とする。
請求項6に記載の発明は、請求項1ないし5いずれかに記載の楽音生成方法において、前記演奏情報を供給する過程は、当該演奏情報とともに、前記複数の演奏制御用パラメータのうちのいずれかを指定するイベント情報を供給し、前記複数の演奏制御用パラメータのうちのいずれかを指定する過程は、前記イベント情報に基づいて、前記複数の演奏制御用パラメータのうちのいずれかを指定することを特徴とする。
【0006】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態について説明する。
【0007】
1.実施形態の構成
1−1.実施形態の概要構成
図1は、実施形態の概要構成を示す図である。本実施形態は、図1に示すように、本発明にかかる演奏制御装置100に、ビデオカメラ200、ディスプレイ300、電子楽器400、操作子500、およびサウンドシステム600が接続された構成となっている。
演奏制御装置100は、ビデオカメラ200によって撮影された画像および操作子500の操作に基づいて、電子楽器400から入力する演奏あるいは演奏制御装置100における自動演奏を制御する装置であり、後に図2を参照して説明する構成を備えている。
ビデオカメラ200は、被写体である演奏者の動作を撮影し、ビデオ信号を生成して出力する装置である。
ディスプレイ300は、ビデオカメラ200によって撮影された画像を表示する装置であり、例えばCRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、プラズマディスプレイなどを用いる。なお、本実施形態では640画素×480画素の解像度のディスプレイを用いて説明するが、解像度はこれに限定されるものではない。
【0008】
電子楽器400は、演奏操作子(鍵盤やペダルなど)の操作状態に応じてMIDI(Musical Instrument Digital Interface)規格に基づいた演奏データを生成して出力する装置であり、例えば電子ピアノやMIDIギターなどを用いる。
操作子500は、演奏制御装置100における種々の設定を行うためのものであり、例えばキースイッチやパネル操作子などが該当する。この操作子500は、演奏制御装置100に備え付けられていてもよいし、別体としてケーブル接続されていてもよい。また、赤外線や電波などの無線によって操作状態を送信できるようになっていてもよい。
そして、サウンドシステム600は、アンプやスピーカなどから構成されており、演奏制御装置100から出力される音響信号を増幅して放音する装置である。
【0009】
1−2.演奏制御装置100
次に、図2を参照しながら、演奏制御装置100の構成について説明する。
図2に示すように、演奏制御装置100は、バスを介して接続されたCPU101、ROM102、RAM103、ハードディスク104、タイマ105、ビデオキャプチャ106、ビデオ再生107、MIDIインターフェイス108、操作子インターフェイス109、および音源110を備えて構成されている。
CPU101は、ROM102に記憶された各種プログラムに基づいて、バスを介して接続された各部の制御を行う。ROM102には、演奏制御装置100の動作を制御する各種プログラムが記憶されている。RAM103は、CPU101の動作に必要なワークエリアが設定される他、データを一時的に記憶するために用いられる。
ハードディスク104は、大容量のデータを記憶できる大容量記憶媒体であり、演奏制御装置100において自動演奏を行う場合に用いる曲データなどが記憶される。
【0010】
次に、タイマ105は、時間を計時して現在時刻を示すものである。ビデオキャプチャ106は、ビデオカメラ200から出力されるビデオ信号をデジタルデータである画像データに変換するものである。ビデオ再生107は、画像データをビデオ信号に変換してディスプレイ300に出力するものであり、例えばビデオメモリやビデオコントローラなどを備えたボードが該当する。
また、MIDIインターフェイス108は、電子楽器400とのインターフェイス動作を行い、操作子インターフェイス109は、操作子500とのインターフェイス動作を行う。
そして、音源110は、MIDIデータに基づいて楽音信号を生成するものであり、生成した楽音信号は、サウンドシステム600から放音される。
【0011】
2.実施形態の動作
次に、上記構成を有する実施形態の動作について説明する。
【0012】
2−1.概要処理
まず、本実施形態における処理の概要について説明する。
【0013】
(1)動作モード
本実施形態においては、予め設定された動作モードの中から、所望する動作モードを選択できるようになっている。
動作モードには、
▲1▼電子楽器400からリアルタイム入力されたMIDIデータに所定の処理を施すことによって演奏制御を行う「外部入力モード」、
▲2▼ハードディスク104に記憶されたMIDI曲データを読み出して、MIDIデータシーケンスデータを生成することによって演奏制御を行う「シーケンサモード」、および、
▲3▼演奏者を左右反転させた画像をディスプレイ300に表示して、演奏者がディスプレイ300を見ながら動作することによって演奏制御を指示する「反転画像モード」、の3種類のモードがある。
ここで、図3、図4および図5は、各動作モードにおける演奏制御装置100の動作の概要を示す機能ブロック図であり、図3は、外部入力モードにおける概要動作を、図4はシーケンサモードにおける概要動作を、図5は反転画像モードにおける概要動作をそれぞれ示している。
以下、外部入力モード(図3)、シーケンサモード(図4)、反転画像モード(図5)の動作概要についてそれぞれ説明する。
【0014】
1.外部入力モード
外部入力モードにおいては、図3に示すように、ROM102に記憶されたプログラムに基づいたCPU101の処理によって、動きベクトル抽出部120、演奏制御情報生成部130、およびMIDIデータ変更部140が構成される。
動きベクトル抽出部120は、ビデオカメラ200から出力されビデオキャプチャ106を介して入力された画像データに基づいて動きベクトルVkを抽出する。なお、動きベクトルVkについては、後に詳しく説明する。
演奏制御情報生成部130は、動きベクトル抽出部120によって抽出された動きベクトルVkに基づいて、演奏制御情報であるパラメータ制御データPsを生成する。
また、MIDIデータ変更部140は、演奏制御情報生成部130によって生成されたパラメータ制御データPsに基づいて、電子楽器400から出力されてMIDIインターフェイス108を介して入力されたMIDIデータの変更や追加を行い、音源110に供給する。ここで、MIDIデータの変更、追加とは、例えば、コントロールチェンジメッセージで制御されている音量、パン、EGパラメータ等を、その現在値に対する相対値ないし絶対値として制御する新たなメッセージを発生したり、ノートオンメッセージに含まれる音高やベロシテイ値を変更したり、シーケンサ等を制御するシステムメッセージを発生する等のあらゆるMIDIデータの制御を含む。
例えば、電子楽器400から出力されたMIDIデータが、ボリュームを制御するコントロールチェンジメッセージであれば、MIDIデータ変更部140は、コントロールチェンジメッセージ中に含まれるボリュームを示す値をパラメータ制御データPsに基づいて変更する。
【0015】
▲2▼シーケンサモード
シーケンサモードにおいては、図4に示すように、ROM102に記憶されたプログラムに基づいたCPU101の処理によって、動きベクトル抽出部120、演奏制御情報生成部130、およびシーケンサ150が構成される。なお、動きベクトル抽出部120および演奏制御情報生成部130は、図3に示したものと同様である。
シーケンサ150は、ハードディスク104から読み出されRAM103に記憶された曲データを解釈し、MIDIデータを生成して音源110に供給する。ここで、シーケンサ150は、演奏制御情報生成部130によって生成されたパラメータ制御データPsに基づいて、曲データに基づいて生成すべきMIDIデータを変更したり、曲データに基づいて生成されたMIDIデータを変更、追加する。
例えば、曲データによって指示されるテンポが120である場合に、パラメータ制御データPsがテンポアップを指示しているときは、シーケンサ150はテンポが例えば150になるようにMIDIデータを音源100に出力する。あるいは、曲データに基づいて生成されたMIDIデータを、▲1▼の場合と同様に変更ないし追加する。
【0016】
▲3▼反転画像モード
反転画像モードにおいては、図5に示すように、ROM102に記憶されたプログラムに基づいたCPU101の処理によって、動きベクトル抽出部120、演奏制御情報生成部130、MIDIデータ変更部140および画像反転部160が構成される。なお、動きベクトル抽出部120、演奏制御情報生成部130、およびMIDIデータ変更部140は、図3に示したものと同様である。
画像反転部160は、ディスプレイ300に表示させるべき画像を左右反転させるための画像データを生成する。これにより生成された画像データに基づいてディスプレイ300に表示される画像は、鏡に映った画像のようになる。この動作モードにおいて適した演奏制御処理については、後述する(図13参照)。
なお、電子楽器400を接続せずに、MIDI曲データを用いる場合は、MIDIインターフェイス108はハードディスク104およびRAM103に、MIDIデータ変更部140はシーケンサ150に置き換わる。
【0017】
(2)動きベクトル抽出部
次に、動きベクトル抽出部120について説明する。
動きベクトル抽出部120は、ビデオキャプチャ106から連続して入力される複数フレームの画像データに基づいて、以下に説明するように動きベクトルVkを検出する。なお、「動きベクトル」は、各フレーム画面における動きの大きさと方向を示すデータであり、画像データやオーディオデータをデータ圧縮する国際標準規格であるMPEG(Moving Picture Experts Group phase)における動き補償に用いられている。
本実施形態において、「動きベクトル」は、ある時点(kフレーム)における画素の位置を、過去(k−1フレーム)の画素を用いて表される。ここで、1フレーム分の画像データに含まれる個々の座標のデータを画素と呼ぶ。
具体的には、kフレームの画素Xijk(ijは座標、kはフレーム)を示すため、k−1フレームにおける画像の中からXilに最も近い画素値Ximを検索する。そして、XilとXimとの空間的なずれ|i-l|と|j-m|を求める。Xilに最も近い画素値Ximとは、水平および垂直に15画素範囲内でずらして、もっとも差分が小さな画素をいう。
本実施形態では、1フレーム画面を構成する複数の画素を、16画素×16画素を1画素ブロックとする複数の画素ブロックに分けて扱い、各画素ブロックの動きベクトルを求めて、これらの動きベクトルを総合的に示したものを、kフレームにおける1画面分の動きベクトルVkとする。フレームkにおける画素ブロックの動きベクトルは、具体的には次のように求められる。
【数1】
数1において最小となる画素位置(a,b)の値をこの画素ブロックの動きベクトルとする。
【0018】
より具体的には、パラメータa,bにそれぞれ0〜15の値を与えながら、フレームkにおけるX1 1〜X15 15までの各画素の画素値と、フレームk−1におけるX1±a 1±b〜X15±a 15±bとの差の絶対値を累算した場合に、数1の解が最小となる(a,b)の組を検索する。そして、画素位置の差が(a,b)である各画素値同士を比較して画素値の差がなければ、フレームk−1からフレームkまでの間に注目画素は(a,b)だけ移動したことになる。
そして、画素ブロックに含まれる全画素について画素値の差を求め、この差を累算した値が最小となる(a,b)が、この画素フレームの動きを最もよく表す各画素ブロックの動きベクトルとして検出される。但し、前記差を累算した値が最小となる(a,b)について、その累算値が所定のしきい値以下にならない場合には、その画素ブロックの動きベクトルは検出不能と判断される。
図6は、各画素ブロックにおいて検出した(a,b)を画素ブロックの中心からのベクトルとして示している。本実施形態では1画面の画素数は640画素×480画素であるから、縦30×横40個の画素ブロックの動きベクトルVk1〜Vk1200が検出される。
1画面分の動きベクトルVkは、例えば図7に示すように、各画素ブロックの動きベクトルVk1〜Vk1200の平均値、重み付け平均値、自乗平均値等として算出されたベクトルとしたり、複数画素ブロックの複数ベクトルの中から選択された最大の大きさをもつベクトルとすればよい。あるいは、該大きさが上位のn個のベクトルの平均ベクトルが最も大きくなるものの平均ベクトルとしてもよい。
このように、「動きベクトル」を抽出すれば、被写体を特定する必要なく動き量を示すことができるようになる。
【0019】
(3)演奏制御生成部
次に、演奏制御情報生成部130の動作について説明する。演奏制御情報生成部130は、動きベクトル抽出部120において抽出された動きベクトルVkに基づいて、演奏のパラメータ制御データPsを生成して出力する。
本実施形態では、パラメータ制御データPsを生成する処理として、
▲1▼操作子500を操作することによって、いずれのパラメータについて制御を行うかを選択することができる「操作子選択モード」、
▲2▼指揮者が腕を上下に振る動作に基づいてテンポを制御する「テンポモード」、▲3▼予め設定されたエリア内の動きベクトルに基づいて制御を行う「エリアモード」、
の3つの制御モードの中から選択できる。なお、各モードはパラメータ制御データPsを生成する処理の例示であって、以下に説明する各態様に限定されるものではなく、3つの制御モード中に示す各要素を任意に組み合わせたモードであっても構わない。
【0020】
▲1▼操作子選択モード
操作子選択モードは、操作子500を操作することによって、いずれのパラメータについて制御を行うかを選択することができるモードである。ここで、操作子500は、例えば演奏者が手に装着する「指スイッチ」であり、この「指スイッチ」は、人指し指で操作するスイッチShと、中指で操作するスイッチSnとを備えており、いずれかのスイッチを親指で押下することによってオン状態にすることができるようになっている。
本実施形態では、人指し指で操作するスイッチShがオン状態の場合は、ボリューム制御用のパラメータ制御データVOLを動きベクトルに基づいて生成する。また、中指で操作するスイッチSnがオン状態の場合は、テンポパラメータ制御用のパラメータ制御データΔTMPを動きベクトルに基づいて生成する。スイッチSh、Snのいずれもがオフ状態の場合は、パラメータ制御を行わず、パラメータ制御データPsは生成しない。
なお、このモードにおける具体的な処理は、図11を参照しながら後述する。
【0021】
▲2▼テンポモード
テンポモードは、指揮者が腕を上下に振る動作に基づいてテンポを制御するモードであり、上下方向の動きベクトルを検出してテンポ制御用のパラメータ制御データPstを生成する。
なお、このモードにおける具体的な処理は、図12を参照しながら後述する。
【0022】
▲3▼エリアモード
エリアモードは、予め設定されたエリア内の動きベクトルに基づいて制御を行うモードである。本実施形態では、図8に示すように、3つのエリア(i1、i2、i3)が予め設定されており、各エリアにおける動きベクトルを検出して、それぞれのエリアに割り当てられたパラメータの制御を行う。それぞれに割り当てられたパラメータは、例えばエリアi1はボリューム、エリアi2はテンポ、エリアi3はパンニングである。
【0023】
また、ディスプレイ300には、図9に示すように被写体を左右反転させて表示されるようになっており(上述した反転画像モード)、演奏者にとっては、鏡に映った自分の姿を見ながら動作できるようになっている。
そして、予め各パラメータに割り当てられたエリアi1、i2、i3は、演奏者が確認できるように、ディスプレイ300にスーパーインポーズによって表示される。例えば、演奏者がボリュームの制御を所望する場合は、ディスプレイ300に表示されたエリアi1内に自己の動作が表示されるようにすれば、演奏制御装置100がエリアi1内における動きベクトルを検出してボリュームの制御を行う。
なお、このモードにおける具体的な処理は、図13を参照しながら後述する。
【0024】
2−2.処理の内容
次に、上述した本実施形態における動作を実現するためのCPU101にける処理について、フローチャートを参照(10図〜13図)しながら説明する。
【0025】
(1)メインルーチン
まず、図10は、メインルーチンを示すフローチャートである。
メインルーチンが起動され、処理が開始すると、まず、CPU101は初期設定を行う(S101)。初期設定においては、例えば操作子500の状態などに基づいて動作モードを選択する処理や、各種変数の初期化などを行う。
なお、画像データをビデオキャプチャ106から取り込んで、RAM103に記憶しておく処理は、キャプチャ106によって、以下に説明するステップS102〜S105のCPU処理と並行して行われており、後述するように、ステップS106において読み出され、動きベクトルが抽出されるものとする。
CPU101は、初期設定を終了すると、次に、MIDI処理を行う(S102)。MIDI処理は、ステップS101の初期化処理において外部入力モード(図3)あるいは反転画像モード(図5)が選択された場合には、電子楽器400から出力されるMIDIデータを読み込む処理であり、シーケンサモード(図4)が選択された場合には、シーケンサ150において曲データに基づいてMIDIデータを生成する処理である。
【0026】
CPU101は、MIDI処理に続いて、操作子処理を行う(S103)。操作子処理は、操作子500の状態を読み込んでRAM103に記憶したり、状態の変化に応じて各種設定を変更する処理などが該当する。
操作子処理が終了すると、CPU101は、その他の処理を行う(S104)。その他の処理とは、ステップS102において読み込んだないし生成したMIDIデータに基づいて、音源110における楽音の生成を制御したり、ステップS103において読み込まれた操作子500の状態に応じたシステム状態の変更などを行う処理である。
【0027】
その他の処理が終了すると、CPU101は、所定のタイミングから所定の時間が経過したか否かをタイマ105によって計時された時刻に基づいて判別する(S105)。ここで、所定のタイミングとは、当該判別が最初の判別であれは、初期設定(S101)を行ったタイミングをいい、当該判別が2回目以降の判別であれば、前回動きベクトルの抽出(S106)を行ったタイミングをいう。
ステップS105の判別において、所定の時間が経過していないと判別した場合は(S105;NO)、処理をステップS102に移行させ、再びMIDI処理を行う。すなわち、タイマ105が所定の時間を計時するまでの間は、ステップS102〜ステップS105を循環しながら、動きベクトルに影響されない楽音生成処理を行っている。
【0028】
一方、ステップS105の判別において、所定の時間が経過していると判別した場合は(S105;YES)、所定時間内に入力された画像データに基づいて前述したように動きベクトルを抽出する処理を行う(S106)。
そして、ステップS106において抽出された動きベクトルに基づいて、動きベクトルに応じた楽音制御処理を行う(S200)。この楽音制御処理は、前述した各モード(▲1▼操作子選択モード、▲2▼テンポモード、▲3▼エリアモード)に応じて異なるので、以下、楽音制御処理について、各モード毎に処理を説明する。
【0029】
(2)楽音制御処理
1.操作子選択モード
まず、操作子選択モードにおける処理について図11に示すフローチャートを参照しながら説明する。
楽音制御処理が開始すると、まず、メインルーチンのステップS103において読み込んだ操作子500の状態についての判別を行う(S2101)。
操作子500には、前述の指スイッチが含まれており、ここでは、人指し指で操作するスイッチShがオン状態の場合はボリューム制御用のパラメータ制御データVOLを生成し、中指で操作するスイッチSnがオン状態の場合はテンポ制御用のパラメータ制御データΔTMPを生成する。スイッチSh、Snのいずれもがオフ状態の場合は、パラメータ制御を行わず、パラメータ制御データPsは生成しない。
従って、ステップS2101の判別において、スイッチShがオン状態であると判別した場合は、音量を制御するパラメータ制御データVOL(MIDIデータの1つ)を生成する処理に移行する(S2102)。
具体的には、ステップS106において抽出した時刻kにおけるフレームkの各動きベクトルVk1〜Vk1200に基づいて、各動きベクトルのy方向の成分を求め、1画面分の全画素ブロックのy方向成分の平均値Vkを検出する。
そして、Vkに基づいてパラメータ制御データVOLを生成する。そして、パラメータ制御データVOLに応じて楽音の音量を制御する(S2103)。具体的には、その時点の音量値をパラメータ制御データVOLに基づいて決定された音量値をパラメータとするMIDIデータ(例えばコントロールチェンジメッセージ)として発生する。なお、過去に発生した音量を制御するMIDIデータの値を保持しておけば、その時点の音量値は判別できる。
このように、抽出された動きベクトルのy方向成分の平均値に応じて音量を制御したのち、処理をメインルーチンに戻す。
【0030】
ところで、ステップS2101の判別において、スイッチSnがオン状態であると判別した場合は、テンポを制御するパラメータ制御データΔTMPを生成する処理に移行する(S2104)。
具体的には、ステップS106において抽出した時刻kにおけるフレームkの各動きベクトルVk1〜Vk1200に基づいて、各動きベクトルのうちの最大ベクトルの長さを検出して、パラメータ制御データΔTMPを生成する。
そして、パラメータ制御データΔTMPに応じて楽音のテンポを制御する(S2105)。具体的には、例えば、曲データが指示するテンポが120であれば、本来は4分音符1拍分のノートオンメッセージを0.5秒間隔で出力する(1分間に4分音符が120拍)が、パラメータ制御データΔTMPがテンポを60まで下げることを指示していた場合は、シーケンサ150は、4分音符1拍分のノートオンメッセージを1秒間隔で出力する(1分間に4分音符が60拍)。
このように、動きベクトルの最大ベクトルの長さに応じてテンポを制御した後、処理をメインルーチンに戻す。
ところで、ステップS2101の判別において、スイッチShあるいはスイッチSnのいずれもがオフ状態であると判別した場合は、楽音制御処理を行わず、そのまま処理をメインルーチンに戻す。
【0031】
このように、操作子500を操作することによって、動きベクトルをどのような制御に用いるかを選択できるので、演奏中に制御内容を自由に切り換えることができるようになる。
【0032】
2.テンポモード
次に、テンポモードにおける処理について図12に示すフローチャートを参照しながら説明する。
テンポモードは、動きベクトルのy方向成分に基づいてテンポを制御するモードであるので、まず、y方向成分のピークを検出して変数Vyの値とする(S2201)。次に、ステップS2201において検出した値をローパスフィルタに通して雑音と除去し、変数Vyとする(S2202)。
テンポモードは、y方向における被写体の往復運動の速さに基づいてテンポを制御するので、y正方向の動きが加速から減速に転じたタイミングを検出し、前回の加速から減速に転じたタイミングとの時間間隔で1往復運動に要した時間を計測する処理を行う。
具体的には、y方向における被写体の動きは、だんだん加速してピークを迎えた後減速し、戻りの動作が行われるという1サイクルを仮定し、以下に説明するように、動きベクトルのy成分であるVyの大きさを、y方向における被写体の動作の速さとを示す値として扱う。また、1サイクルにおける動きベクトルのy成分の最大値Pyを、y方向における被写体の動作のピークを示す値として扱う。
そして、y正方向における演奏者の動作状態を、ST=0、ST=1、ST=2のいずれかによって示すものとしている。
ここで、ST=0は、被写体のy方向における動きが検出されない場合を示している。この場合は、ステップS2202で決定したVyは、負の値を示しているか、後述するように、しきい値Tyを超えていない。また、ST=1は、被写体のy方向における動きがy正方向において加速している場合を示している。この場合は、ステップS2202で決定したVyは、しきい値Tyを超えている。
また、Vyは、前回更新した最大値Pyを超えており、被写体のy方向における動きがさらに速くなったことを示している。
そして、ST=2は、被写体のy方向における動きが正方向において減速している場合を示している。この場合は、ステップS2202で決定したVyは、正の値を示すが、最大値Py以下となる。
【0033】
このような規則に従って被写体の動き状態を判別するために、ステップS2202においてVyを決定した後、動きベクトルのy方向成分の態様を示すステートメントSTを判別する(S2203)。
まず、ステップS2203の判別において、ST=0、すなわち正方向の動きが検出されていないと判別した場合は(S2203;ST=0)、次に、Vy>Ty、すなわちy方向のピーク値Vyがしきい値Tyよりも大きいか否かを判別する(S2204)。
ここでVy≦Tyと判別した場合は(S2204;NO)、検出されたy方向のピーク値がしきい値以下(負方向を含む)であるので、ステートメントSTの値を変更せず、そのまま処理をメインルーチンに戻す。
【0034】
一方、ステップS2204の判別においてVy>Tyであると判別した場合は(S2204;YES)、正方向への動きを検出したのでステートメントSTを1とし、ステップS2201において検出したVyを当該サイクルのピーク値Pyとして(S2205)、処理をメインルーチンに戻す。
すなわち、次回のステップS2203の判別においてST=1と判別すると(S2203;ST=1)、次に、Vy>Pyであるか否かの判別を行う(S2206)。ここでは、S2201において検出されたVyが当該サイクルのピーク値Pyよりも大きければ、被写体の動きは未だ加速中であると判別できる。
従って、Vy>Pyであると判別した場合は(S2206;YES)、PyをVyで更新して(S2207)、処理をメインルーチンに戻す。
【0035】
一方、ステップS2206の判別において、Vy≦Pyと判別した場合は(S2206;NO)、y方向成分がピーク値Pyを下回り始めたと判別できるので、ステートメントSTを2とし、現在時刻を示す変数tを、タイマ105(図2参照)によって計時している時刻とする(S2208)。
そして、ステップS2208おける時刻を示すtから同様の処理を前回行った際の時刻を示すt0を引いて、1サイクルに要した時間Δtを求める。Δtを求めた後は、次回のサイクルにおいて同様に時間差を算出できるように、t0の値をtの値で更新する(S2209)。
このようにして求めた1サイクルに要した時間Δtに応じて、例えば、Δtが現在のテンポ値に対応した拍の時間間隔に比べて小さければテンポを加速し、大きければテンポを減速するといったテンポ制御を行い(S2210)、処理をメインルーチンに戻す。
ただし、Δtと前記拍の時間間隔の差が大きく離れていた場合には、前記テンポの制御は行わない方がよい。また、拍の時間間隔と比較する代わりに、2拍の時間間隔や1小節の時間間隔と比較するようにしてもよい。
【0036】
被写体のy方向への動きが減速に転じてステートメントST=2となると、ステップS2203の判別の後、Vy<0であるか否か、すなわち、動きベクトルのy成分の値が正に転じたか否かを判別し(S2211)、Vy≧0と判別すると(S2211;NO)、被写体のy正方向における動きは減速中であるので、次のサイクルに移行していない。従って、ステートメントSTの値は変更せず、そのまま処理をメーンルーチンに戻す。
一方、ステップS2211の判別において、Vy<0であると判別した場合は(S2211;YES)、被写体のy方向における動作が負方向に転じたので、次のサイクルに移行させるためにステートメントST=0とし(S2212)、処理をメインルーチンに戻す。
【0037】
このような処理を循環する過程において、演奏者が上下に手を振る動きに応じてST=0→ST=1→ST=2→ST=0……というサイクルが形成され、ST=1からSR=2に転じる時刻において、前回ST=1からSR=2に転じた時刻との時間差Δtに応じたテンポ制御が行われる。
従って、被写体である演奏者が手を速く動かせばテンポが速くなり、遅く動かせばテンポが遅くなる。ここでは、複数画素ブロックの動きベクトルからピーク値を抽出してテンポ制御を行ったが、ピーク値の代わりに平均値等を使用してもよい。
【0038】
▲3▼エリアモード
次に、エリアモードにおける処理について図13に示すフローチャートを参照しながら説明する。
本実施形態においては、図8に示したように、予め設定されたエリアi1、i2、およびi3における動きベクトルに基づいて制御を行うので、各エリアについて順次動きベクトルの抽出を行い、当該エリアに割り当てられたパラメータについて動きベクトルに基づいた制御を行う。
そこで、まずエリアi1から処理を行うべく、エリアを示す変数iを1に設定し(S2301)、画面中のエリアi1の最大ベクトルを抽出し、x方向成分とy方向成分を(Mx,My)とする(S2302)。なお、(Mx,My)の具体例については、図9に示している。
そして、まず動きベクトルのy成分を示すMyを使用するか否かを判別し(S2303)、Myを使用すると判別した場合は(S2303;YES)、次にMyに応じてパラメータPYiを制御する(S2304)。
パラメータPYiとは、エリアiにおけるy方向に割り当てられた制御対象のパラメータである。本実施形態では、エリアi1にはボリュームが割り当てられており、動きベクトルのy方向成分に基づいてボリュームを制御する。
従ってi=1である場合は、ステップS2303の判別においてYESと判別されて、y方向のベクトル成分Myに応じてボリュームが制御される。
【0039】
ステップS2303の判別において、Myを使用しないと判別した場合(S2303;NO)、あるいは、ステップS2304の処理を終了した場合は、次に、動きベクトルのx成分を示すMxを使用するか否かを判別し(S2305)、Mxを使用すると判別した場合は(S2305;YES)、Mxに応じてパラメータPXiを制御する(S2306)。ここで、パラメータPXiは、エリアiにおけるx方向に割り当てられた制御対象のパラメータである。本実施形態では、エリアi3にはパンニングが割り当てられており、動きベクトルのx方向成分に基づいてパンニングを制御する。
従ってi=3である場合は、ステップS2305の判別においてYESと判別されて、x方向のベクトル成分Mxに応じてパンニングが制御され、左右のバランスが変化する。
【0040】
ステップS2305の判別において、Mxを使用しないと判別した場合(S2305;NO)、あるいは、ステップS2304の処理を終了した場合は、次に、残りのエリアがあるか否かを判別する(S2307)。すなわち、予め設定されたエリアi1、i2、i3の全てについて処理を行ったか否かを判別する。
ステップS2307の判別において、残りエリアがあると判別した場合は(S2307;YES)、次のエリアの処理を行うべく変数iを1インクリメントして(S2308)、処理をステップS2302に移行させる。
一方、残りエリアがない、すなわちエリアi1、i2、i3の全てについて処理が終了したと判別した場合は(S2307;NO)、処理をメインルーチンに戻す。
【0041】
このように、ステップS2302からS2307の処理を循環する過程において、エリアi1においては、y方向のベクトル成分に応じてボリュームが制御(S2304)、エリアi2においては、y方向のベクトル成分に応じてテンポが制御され(S2304)、エリアi3においては、x方向のベクトル成分に応じてパンニングが制御される(S2306)。
なお、設定するエリアの数や形状、また、そのエリアを画面上の何処に配置するかは任意であり、例えば、操作子500の操作に応じてユーザが任意に選択・設定できるようにすればよい。さらに、各エリアの動きベクトルを何で制御するかも任意であり、同じく、操作子500の操作に応じてユーザが任意に設定・選択できるようにすればよい。また、上記説明では、1つのエリアの動きベクトルのx成分とy成分のいずれか一方でパラメータを制御するようにしたが、xy両方の成分で同一ないし互いに異なるパラメータを独立して制御するようにしてもよい。
【0042】
2−3.まとめ
このように、ビデオカメラ200で撮影した画像に基づいて、まず画像全体の各画素ブロックの動きベクトルを機械的に求め、その1画面分の複数の動きベクトルから制御用の動きベクトルを生成して楽音制御を行うので、被写体における検出すべき映像要素の位置を正確に特定する必要がなくなり、動きに応じた制御を容易に行うことができるようになる。
また、画素ブロック毎の動きベクトルを抽出する技術は、MPEGなどの規格で、すでに広く用いられているので、その技術の進歩を容易に本発明に組み入れていくことができる。すなわち、本発明によれば、画像圧縮の目的で抽出される動きベクトルを、演奏の制御に容易に用いることができるようになる。
【0043】
3.変形例
なお、本発明は既述した実施形態に限定されるものではなく、以下のような各種の変形が可能である。
【0044】
動画像から抽出された動きベクトルに基づいて制御量を決定する手段は、上記実施形態に限定されるものではなく、例えば、上記実施形態では、ビデオカメラ200によって撮影されたビデオ信号に基づいて動きベクトルを抽出しているが、MPEGの画像データ等に含まれている画素ブロック毎の動きベクトルを利用してもよい。また、動きベクトルを抽出する際の画素ブロックの単位は、上記実施形態のように16画素×16画素に限らず、例えば8画素×8画素、5画素×10画素、その他3角形の形状等、任意の画素ブロックでもかまわない。
また、上記実施形態では、例えば操作子選択モード(図11参照)ではY方向の成分だけを使用して制御しているが、ここで、x成分を用いて制御するようにしても構わなく、y方向の成分とx方向の成分との両方を使用して制御を行っても構わない。同様に、他の例(図12、図13)においても、使用する成分は実施例に限定されるものではない。
また、必ずしもフレームごとに動きベクトルを抽出する必要はなく、複数フレームおきに抽出するようにしてもよい。
【0045】
また、上記実施形態においてフレームkにおける動きベクトルVkは、各画素ブロックの動きベクトルの平均値として説明しているが、これに限らず、全画素ブロックの動きベクトルのピーク値や最大値など、他の代表値でも構わない。
動作モードや制御モードも上記実施形態に限定されるものではなく、例えば、一定時間内の複数フレームにおける動きベクトルを積分して作成した、積分画像を用いて制御するようなモードがあってもよい。
また、上記実施形態の外部入力モード(▲1▼)においては、動きベクトルにより制御する制御対象を、操作子500に設けられた人指し指と中指のスイッチで選択するものとして説明したが、選択の方法はこれに限らない。例えば、他の指のスイッチや、ベルトやウエアに設けられたスイッチ、フットスイッチ、光スイッチ、圧力センサ、傾きセンサ等、いかなる検出器の検出結果により選択を行うようにしてもよい。
スイッチ個々に割り当てられた検出対象をオン/オフする選択方法に限らず、複数スイッチの組み合わせ操作により制御したり、同じスイッチの操作で異なる制御方法を順次選択するようにしてもよい。また、操作子で選択する代わりに、同時に演奏する曲データに埋め込まれ、演奏情報とともに再生される選択イベント情報に応じて選択するようにしてもよい。
このように選択された制御対象に応じて、複数画素ブロックの動きベクトルから動きベクトルを生成する方法を異ならせることにより、制御対象に応じて最適な制御を行うことができる。
【0046】
また、各モードの切り換え指示を、上記実施形態のように操作子500を用いて指示してもよいし、被写体の動作によって指示できるようにしてもよい。例えば、上述のエリアモードにおいて、外部入力モードとシーケンサモードとを切り換えるためのエリアを設定しておき、当該エリアにおいて所定の動きベクトルが検出された場合はモード切り替えを行うようにしてもよい。
【0047】
決定した制御量に応じて演奏を制御する手段も上記実施形態に限定されるものではなく、例えば、上記実施形態では、動きベクトルによって制御するパラメータとして、ボリューム、テンポ、パンニングを挙げたが、これらに限定されるものではなく、例えば、音色の変更や音高の変更などを行ってもよい。
また、上記実施形態ではMIDIデータを用いているが、これに限らず、音楽情報をデジタルデータとして扱うことができる規格であればどのようなものでもよく、独自の規格のデータであってもよい。
【0048】
上記実施形態では、プログラムはROM102に記憶されているが、これに限らず、不揮発性メモリカード、CD−ROM、フロッピーディスク、光磁気ディスク、および磁気ディスク等の可搬型の記録媒体に記録されたデータをハードディスク104等の記憶装置に転送できるように構成してもよい。このようにすれば、制御情報や制御プログラム等の追加(インストール)や更新(バージョンアップ)の際に便利である。また、可搬型の記録媒体から直接RAM103へデータを転送するようにしてもよい。
さらに、可搬型の記録媒体経由ではなく、図示せぬ通信インターフェイス経由で、ハードディスク等の記録装置上の制御情報や制御プログラム等を通信ネットワーク側からダウンロードするようにしてもよい。
【0049】
【発明の効果】
以上説明したように、本発明によれば、比較的簡易なシステムを用いて画像に応じた演奏の制御を行うことができる。
【図面の簡単な説明】
【図1】 実施形態の全体構成を示す図である。
【図2】 演奏制御装置の構成を示すブロック図である。
【図3】 実施形態の機能ブロック図である(その1)。
【図4】 実施形態の機能ブロック図である(その2)。
【図5】 実施形態の機能ブロック図である(その3)。
【図6】 1画面分の動きベクトルを説明する図である(その1)。
【図7】 1画面分の動きベクトルを説明する図である(その2)。
【図8】 予めエリアを設定した画像の例である。
【図9】 予め設定したエリアにおける動きベクトルを説明する図である。
【図10】 実施形態の動作のメインルーチンを示すフローチャートである。
【図11】 楽音制御処理のサブルーチンを示すフローチャートである(その1)。
【図12】 楽音制御処理のサブルーチンを示すフローチャートである(その2)。
【図13】 楽音制御処理のサブルーチンを示すフローチャートである(その3)。
【符号の説明】
100……演奏制御装置、101……CPU、102……ROM、103……RAM、104……ハードディスク、105……タイマ、106……ビデオキャプチャ、107……ビデオ再生、108……MIDIインターフェイス、109……操作子インターフェイス、110……音源、200……ビデオカメラ、300……ディスプレイ、400……電子楽器、500……操作子、600……サウンドシステム。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for generating musical sounds using video images.LawAbout.
[0002]
[Prior art]
Conventionally, a technique for controlling performance corresponding to an image has been proposed. As such a technique, for example, Japanese Patent No. 262974 and Patent No.2508136Japanese Laid-Open Patent Publication No. Hokukai discloses a technique for controlling the tempo and the like using the contour of a subject. According to these technologies, R (red), G (green), and B (blue) color signals are separated from the input video signal, and gradation data representing gradation is generated as digital data for each color. To do. Then, a subject is specified based on the gradation data of each color and predetermined threshold data, and the contour of the subject is detected.
After specifying the contour in this way, the technique described in Japanese Patent No. 2629740 controls the performance according to the complexity of the contour.2508136In the technique described in Japanese Patent Publication No. Gazette, the performance is controlled according to the movement of the center of gravity of the subject.
[0003]
[Problems to be solved by the invention]
However, in the conventional technique described above, it is necessary to identify the subject and detect the contour, so that there is a problem that the processing load is large. That is, gradation data for each RGB color must be created for each pixel and compared with a threshold value, and in addition, the complexity of the contour of the detected object, the movement of the center of gravity, etc. must be obtained. There wasn't. In addition, it is difficult to determine a predetermined threshold value for specifying a subject, and it is not always possible to detect a contour with high accuracy.
As described above, conventionally proposed techniques for controlling performance based on images have a complicated system configuration for subject detection,ofThere was a problem that operation became unstable by setting.
[0004]
The present invention has been made to solve the above-described problems, and uses a relatively simple system to easily perform musical performance control according to an image.LawThe purpose is to provide.
[0005]
[Means for Solving the Problems]
In order to solve the above-described problem, the invention according to
The invention according to claim 22. The musical tone generation method according to
The invention described in claim 3 is the musical sound generation method according to
According to a fourth aspect of the present invention, there is provided a musical sound generation method according to any one of the first to third aspects, wherein a step of designating a partial area in the video image in accordance with an operation of an operator, And detecting a change in the image in the partial area, and a detection signal indicating the changeThe process of generatingFurther, the performance control parameterChange or addThe process is based on the generated detection signal and the specified performance control parameterChange or addIt is characterized by that.
The invention described in
According to a sixth aspect of the present invention, in the musical sound generating method according to the first to fifth aspects, the step of supplying the performance information includes any one of the plurality of performance control parameters together with the performance information. The process of supplying event information for designating and specifying any one of the plurality of performance control parameters is to specify any one of the plurality of performance control parameters based on the event information. It is characterized by.
[0006]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0007]
1. Configuration of the embodiment
1-1. Outline Configuration of Embodiment
FIG. 1 is a diagram illustrating a schematic configuration of the embodiment. In the present embodiment, as shown in FIG. 1, a
The
The
The
[0008]
The electronic
The
The
[0009]
1-2.
Next, the configuration of the
As shown in FIG. 2, the
The
The
[0010]
Next, the
The
The
[0011]
2. Operation of the embodiment
Next, the operation of the embodiment having the above configuration will be described.
[0012]
2-1. Overview processing
First, an overview of processing in the present embodiment will be described.
[0013]
(1) Operation mode
In the present embodiment, a desired operation mode can be selected from preset operation modes.
The operation mode includes
(1) “External input mode” for performing control by performing predetermined processing on MIDI data inputted in real time from the electronic
(2) “Sequencer mode” for performing performance control by reading out MIDI music data stored in the
{Circle around (3)} There are three types of modes: “inverted image mode” in which an image obtained by reversing the performer on the left and right is displayed on the
Here, FIGS. 3, 4 and 5 are functional block diagrams showing an outline of the operation of the
Hereinafter, the outline of operations in the external input mode (FIG. 3), the sequencer mode (FIG. 4), and the reverse image mode (FIG. 5) will be described.
[0014]
1.External input mode
In the external input mode, as shown in FIG. 3, the motion
The motion
The performance control
Also, the MIDI
For example, if the MIDI data output from the electronic
[0015]
(2) Sequencer mode
In the sequencer mode, as shown in FIG. 4, the motion
The
For example, when the tempo indicated by the song data is 120 and the parameter control data Ps indicates a tempo increase, the
[0016]
(3) Reverse image mode
In the reverse image mode, as shown in FIG. 5, the motion
The
When MIDI music data is used without connecting the electronic
[0017]
(2) Motion vector extraction unit
Next, the motion
The motion
In the present embodiment, the “motion vector” represents the pixel position at a certain point in time (k frame) using pixels in the past (k−1 frame). Here, each coordinate data included in one frame of image data is referred to as a pixel.
Specifically, in order to indicate a pixel Xijk (ij is a coordinate and k is a frame) of k frames, a pixel value Xim closest to Xil is searched from images in k−1 frames. Then, the spatial deviations | i-l | and | j-m | between Xil and Xim are obtained. The pixel value Xim closest to Xil is a pixel that is shifted horizontally and vertically within a 15-pixel range and has the smallest difference.
In the present embodiment, a plurality of pixels constituting one frame screen are divided into a plurality of pixel blocks each having 16 pixels × 16 pixels as one pixel block, and a motion vector of each pixel block is obtained, and these motion vectors are obtained. Is a motion vector Vk for one screen in k frames. Specifically, the motion vector of the pixel block in the frame k is obtained as follows.
[Expression 1]
The value of the pixel position (a, b) that is minimum in
[0018]
More specifically, while giving values of 0 to 15 to the parameters a and b, respectively, the pixel values of each pixel from X11 to X1515 in the frame k, and X1 ± a1 ± b to the frame k−1 When the absolute value of the difference from X15 ± a15 ± b is accumulated, a set of (a, b) that minimizes the solution of
Then, the difference between the pixel values is obtained for all the pixels included in the pixel block, and the accumulated value of the difference is minimized (a, b), but the motion vector of each pixel block that best represents the motion of this pixel frame. Detected as However, when the accumulated value of the difference is minimum (a, b), if the accumulated value does not fall below a predetermined threshold, the motion vector of the pixel block is determined to be undetectable. .
FIG. 6 shows (a, b) detected in each pixel block as a vector from the center of the pixel block. In this embodiment, since the number of pixels in one screen is 640 pixels × 480 pixels, motion vectors Vk1 to Vk1200 of 30 × 40 pixel blocks are detected.
For example, as shown in FIG. 7, the motion vector Vk for one screen is a vector calculated as an average value, a weighted average value, a mean square value, or the like of the motion vectors Vk1 to Vk1200 of each pixel block. A vector having the maximum size selected from a plurality of vectors may be used. Alternatively, the average vector having the largest average vector of the n vectors having the highest magnitude may be used.
Thus, by extracting the “motion vector”, it is possible to indicate the amount of motion without the need to specify the subject.
[0019]
(3) Performance control generator
Next, the operation of the performance control
In the present embodiment, as the process of generating the parameter control data Ps,
(1) “Operator selection mode” in which it is possible to select which parameter to control by operating the
(2) “Tempo mode” for controlling the tempo based on the action of the conductor swinging his / her arm up and down; (3) “area mode” for controlling based on a motion vector in a preset area;
The three control modes can be selected. Each mode is an example of processing for generating the parameter control data Ps, and is not limited to each mode described below, and is a mode in which the elements shown in the three control modes are arbitrarily combined. It doesn't matter.
[0020]
(1) Operator selection mode
The operator selection mode is a mode in which it is possible to select which parameter is controlled by operating the
In the present embodiment, when the switch Sh operated by the index finger is in the on state, the parameter control data VOL for volume control is generated based on the motion vector. Further, when the switch Sn operated with the middle finger is in an ON state, parameter control data ΔTMP for tempo parameter control is generated based on the motion vector. When both of the switches Sh and Sn are in the off state, parameter control is not performed and parameter control data Ps is not generated.
Specific processing in this mode will be described later with reference to FIG.
[0021]
(2) Tempo mode
The tempo mode is a mode in which the conductor controls the tempo based on the movement of his / her arm up and down, and detects the vertical motion vector to generate parameter control data Pst for tempo control.
Specific processing in this mode will be described later with reference to FIG.
[0022]
(3) Area mode
The area mode is a mode in which control is performed based on a motion vector within a preset area. In this embodiment, as shown in FIG. 8, three areas (i1, i2, and i3) are set in advance, and a motion vector in each area is detected to control parameters assigned to each area. Do. For example, the parameter assigned to each area is volume for area i1, tempo for area i2, and panning for area i3.
[0023]
In addition, the
Then, the areas i1, i2, and i3 previously assigned to the parameters are displayed on the
A specific process in this mode will be described later with reference to FIG.
[0024]
2-2. Processing details
Next, processing in the
[0025]
(1) Main routine
First, FIG. 10 is a flowchart showing a main routine.
When the main routine is activated and the process starts, first, the
Note that the process of capturing image data from the
After completing the initial setting, the
[0026]
The
When the operator processing is finished, the
[0027]
When the other processing is completed, the
If it is determined in step S105 that the predetermined time has not elapsed (S105; NO), the process proceeds to step S102, and the MIDI process is performed again. That is, until the
[0028]
On the other hand, if it is determined in step S105 that the predetermined time has elapsed (S105; YES), the process of extracting the motion vector as described above based on the image data input within the predetermined time is performed. Perform (S106).
Then, based on the motion vector extracted in step S106, a musical tone control process corresponding to the motion vector is performed (S200). Since this musical tone control process differs depending on the above-mentioned modes ((1) operator selection mode, (2) tempo mode, (3) area mode), hereinafter, the musical tone control process is performed for each mode. explain.
[0029]
(2) Musical sound control processing
1.Controller selection mode
First, processing in the operator selection mode will be described with reference to the flowchart shown in FIG.
When the musical tone control process is started, first, a determination is made as to the state of the
The
Therefore, if it is determined in step S2101 that the switch Sh is in the ON state, the process proceeds to processing for generating parameter control data VOL (one of MIDI data) for controlling the volume (S2102).
Specifically, based on the motion vectors Vk1 to Vk1200 of the frame k extracted at the time k extracted in step S106, the y-direction component of each motion vector is obtained, and the average of the y-direction components of all the pixel blocks for one screen is obtained. The value Vk is detected.
Then, parameter control data VOL is generated based on Vk. Then, the tone volume is controlled according to the parameter control data VOL (S2103). Specifically, the current soundQuantity valueMIDI data (for example, control change message) whose volume value is determined based on the parameter control data VOLAsOccur. If the value of the MIDI data for controlling the volume generated in the past is held, the volume value at that time can be determined.
As described above, after controlling the volume according to the average value of the y-direction components of the extracted motion vectors, the process returns to the main routine.
[0030]
If it is determined in step S2101 that the switch Sn is on, the process proceeds to processing for generating parameter control data ΔTMP for controlling the tempo (S2104).
Specifically, based on the motion vectors Vk1 to Vk1200 of the frame k extracted at the time k extracted in step S106, the length of the maximum vector among the motion vectors is detected, and the parameter control data ΔTMP is generated.
Then, the tempo of the musical tone is controlled according to the parameter control data ΔTMP (S2105). Specifically, for example, if the tempo indicated by the song data is 120, a note-on message for one beat of a quarter note is output at an interval of 0.5 seconds (a quarter note is 120 beats per minute). ) Indicates that the parameter control data ΔTMP indicates that the tempo is to be reduced to 60, the
Thus, after controlling the tempo according to the length of the maximum vector of motion vectors, the process is returned to the main routine.
By the way, if it is determined in step S2101 that both the switch Sh and the switch Sn are in the OFF state, the musical tone control process is not performed, and the process returns to the main routine as it is.
[0031]
In this way, by operating the
[0032]
2.Tempo mode
Next, processing in the tempo mode will be described with reference to the flowchart shown in FIG.
Since the tempo mode is a mode for controlling the tempo based on the y direction component of the motion vector, first, the peak of the y direction component is detected and set as the value of the variable Vy (S2201). Next, the value detected in step S2201 is passed through a low-pass filter to remove noise and set as a variable Vy (S2202).
In the tempo mode, the tempo is controlled based on the speed of the reciprocating motion of the subject in the y direction. Therefore, the timing at which the movement in the positive y direction changes from acceleration to deceleration is detected, and the timing at which the acceleration changes from the previous acceleration to A process for measuring the time required for one reciprocating motion at a time interval of is performed.
Specifically, the movement of the subject in the y direction is assumed to be one cycle in which the object gradually accelerates, reaches a peak, then decelerates, and a return operation is performed. As described below, the y component of the motion vector Is treated as a value indicating the speed of movement of the subject in the y direction. The maximum value Py of the y component of the motion vector in one cycle is treated as a value indicating the peak of the subject's motion in the y direction.
The player's operation state in the positive y direction is indicated by one of ST = 0, ST = 1, and ST = 2.
Here, ST = 0 indicates a case where no movement of the subject in the y direction is detected. In this case, Vy determined in step S2202 indicates a negative value or does not exceed the threshold value Ty as described later. ST = 1 indicates a case where the movement of the subject in the y direction is accelerating in the y positive direction. In this case, Vy determined in step S2202 exceeds the threshold value Ty.TheYes.
Further, Vy exceeds the previously updated maximum value Py, indicating that the movement of the subject in the y direction is further accelerated.
ST = 2 indicates a case where the movement of the subject in the y direction is decelerated in the positive direction. In this case, Vy determined in step S2202 shows a positive value, but is not more than the maximum value Py.
[0033]
In order to determine the motion state of the subject according to such a rule, after determining Vy in step S2202, a statement ST indicating the mode of the y direction component of the motion vector is determined (S2203).
First, in the determination of step S2203, when it is determined that ST = 0, that is, no positive direction motion is detected (S2203; ST = 0), then Vy> Ty, that is, the peak value Vy in the y direction is It is determined whether or not it is larger than the threshold value Ty (S2204).
If it is determined that Vy ≦ Ty (S2204; NO), since the detected peak value in the y direction is equal to or less than the threshold value (including the negative direction), the value of the statement ST is not changed and the process is performed as it is. Return to the main routine.
[0034]
On the other hand, if it is determined in step S2204 that Vy> Ty is satisfied (S2204; YES), since the movement in the positive direction is detected, the statement ST is set to 1, and Vy detected in step S2201 is the peak value of the cycle. As Py (S2205), the process returns to the main routine.
That is, if it is determined that ST = 1 in the next determination in step S2203 (S2203; ST = 1), it is then determined whether or not Vy> Py (S2206). Here, if Vy detected in S2201 is larger than the peak value Py of the cycle, it can be determined that the movement of the subject is still accelerating.
Therefore, if it is determined that Vy> Py (S2206; YES), Py is updated with Vy (S2207), and the process returns to the main routine.
[0035]
On the other hand, if it is determined in step S2206 that Vy ≦ Py (S2206; NO), it can be determined that the y-direction component has started to fall below the peak value Py, so the statement ST is set to 2 and the variable t indicating the current time is set. The time measured by the timer 105 (see FIG. 2) is set (S2208).
Then, the time Δt required for one cycle is obtained by subtracting t0 indicating the time when the same processing was previously performed from t indicating the time in step S2208. After obtaining Δt, the value of t0 is updated with the value of t so that the time difference can be calculated similarly in the next cycle (S2209).
In accordance with the time Δt required for one cycle thus obtained, for example, the tempo is accelerated if Δt is smaller than the beat time interval corresponding to the current tempo value, and the tempo is decelerated if larger. Control is performed (S2210), and the process returns to the main routine.
However, it is better not to control the tempo when the difference between the time intervals of Δt and the beat is greatly separated. Further, instead of comparing with the beat time interval, it may be compared with the time interval of two beats or the time interval of one measure.
[0036]
When the movement of the subject in the y direction turns to deceleration and the statement ST = 2, whether or not Vy <0 is satisfied after the determination in step S2203, that is, whether or not the value of the y component of the motion vector has turned positive. If it is determined that Vy ≧ 0 (S2211; NO), the movement of the subject in the positive y direction is decelerating, and thus the process does not proceed to the next cycle. Therefore, the value of the statement ST is not changed, and the process is returned to the main routine as it is.
On the other hand, if it is determined in step S2211 that Vy <0 (S2211: YES), the movement of the subject in the y direction has changed to the negative direction, so that the statement ST = 0 in order to shift to the next cycle. (S2212), and the process returns to the main routine.
[0037]
In the process of circulating such processing, a cycle of ST = 0 → ST = 1 → ST = 2 → ST = 0... Is formed in accordance with the movement of the player waving up and down, and ST = 1 to SR. Tempo control is performed according to the time difference Δt from the time when the previous ST = 1 to SR = 2.
Therefore, if the performer who is the subject moves his / her hand quickly, the tempo increases, and if the player moves slowly, the tempo decreases. Here, the tempo control is performed by extracting the peak value from the motion vectors of the plurality of pixel blocks, but an average value or the like may be used instead of the peak value.
[0038]
(3) Area mode
Next, processing in the area mode will be described with reference to the flowchart shown in FIG.
In the present embodiment, as shown in FIG. 8, control is performed based on the motion vectors in the preset areas i1, i2, and i3. Therefore, motion vectors are sequentially extracted for each area, The assigned parameter is controlled based on the motion vector.
Therefore, first, in order to perform processing from the area i1, the variable i indicating the area is set to 1 (S2301), the maximum vector of the area i1 in the screen is extracted, and the x-direction component and the y-direction component are (Mx, My). (S2302). A specific example of (Mx, My) is shown in FIG.
First, it is determined whether or not My indicating the y component of the motion vector is used (S2303). If it is determined that My is used (S2303; YES), then the parameter PYi is controlled according to My (S2303; S2304).
The parameter PYi is a control target parameter assigned in the y direction in the area i. In this embodiment, a volume is assigned to the area i1, and the volume is controlled based on the y-direction component of the motion vector.
Therefore, if i = 1, YES is determined in the determination in step S2303, and the volume is controlled according to the vector component My in the y direction.
[0039]
If it is determined in step S2303 that My is not used (S2303; NO), or if the process in step S2304 is terminated, it is next determined whether or not Mx indicating the x component of the motion vector is used. If it is determined (S2305) and it is determined that Mx is used (S2305; YES), the parameter PXi is controlled according to Mx (S2306). Here, the parameter PXi is a control target parameter assigned in the x direction in the area i. In the present embodiment, panning is assigned to the area i3, and panning is controlled based on the x-direction component of the motion vector.
Therefore, if i = 3, YES is determined in the determination in step S2305, panning is controlled according to the vector component Mx in the x direction, and the left / right balance changes.
[0040]
If it is determined in step S2305 that Mx is not used (S2305; NO), or if the process in step S2304 is terminated, it is next determined whether there is a remaining area (S2307). That is, it is determined whether or not the processing has been performed for all the preset areas i1, i2, and i3.
If it is determined in step S2307 that there is a remaining area (S2307; YES), the variable i is incremented by 1 to perform processing for the next area (S2308), and the process proceeds to step S2302.
On the other hand, when it is determined that there is no remaining area, that is, the processing has been completed for all the areas i1, i2, and i3 (S2307; NO), the processing is returned to the main routine.
[0041]
As described above, in the process of circulating the processing from step S2302 to S2307, the volume is controlled according to the vector component in the y direction in the area i1 (S2304), and the tempo in the area i2 according to the vector component in the y direction. Is controlled (S2304), and in the area i3, panning is controlled in accordance with the vector component in the x direction (S2306).
Note that the number and shape of the areas to be set and where the areas are arranged on the screen are arbitrary. For example, if the user can arbitrarily select and set according to the operation of the
[0042]
2-3. Summary
As described above, based on the image captured by the
In addition, since a technique for extracting a motion vector for each pixel block is already widely used in standards such as MPEG, the progress of the technique can be easily incorporated into the present invention. That is, according to the present invention, a motion vector extracted for the purpose of image compression can be easily used for performance control.
[0043]
3. Modified example
The present invention is not limited to the above-described embodiments, and various modifications as described below are possible.
[0044]
The means for determining the control amount based on the motion vector extracted from the moving image is not limited to the above embodiment. For example, in the above embodiment, the motion is based on the video signal photographed by the
In the above embodiment, for example, in the operator selection mode (see FIG. 11), the control is performed using only the component in the Y direction. However, the control may be performed using the x component. Control may be performed using both the y-direction component and the x-direction component. Similarly, in other examples (FIGS. 12 and 13), the components to be used are not limited to the examples.
Further, it is not always necessary to extract a motion vector for each frame, and it may be extracted every plural frames.
[0045]
In the above embodiment, the motion vector Vk in the frame k is described as an average value of the motion vectors of each pixel block. The representative value may be used.
The operation mode and the control mode are not limited to the above embodiment. For example, there may be a mode in which control is performed using an integrated image created by integrating motion vectors in a plurality of frames within a certain time. .
Further, in the external input mode (1) of the above embodiment, the control target controlled by the motion vector has been described as being selected by the index finger and middle finger switches provided on the
It is not limited to the selection method for turning on / off the detection target assigned to each switch, but may be controlled by a combination operation of a plurality of switches, or different control methods may be sequentially selected by the operation of the same switch. Further, instead of selecting with an operator, selection may be made according to selected event information embedded in music data to be played simultaneously and reproduced together with performance information.
By varying the method for generating the motion vector from the motion vectors of the plurality of pixel blocks according to the control target selected in this way, optimal control can be performed according to the control target.
[0046]
In addition, the switching instruction of each mode may be instructed by using the
[0047]
The means for controlling performance according to the determined control amount is not limited to the above embodiment. For example, in the above embodiment, volume, tempo, and panning are listed as parameters controlled by motion vectors. For example, the tone color or the pitch may be changed.
In the above embodiment, MIDI data is used. However, the present invention is not limited to this, and any standard that can handle music information as digital data may be used. .
[0048]
In the above embodiment, the program is stored in the
Furthermore, control information, a control program, and the like on a recording device such as a hard disk may be downloaded from the communication network side not via a portable recording medium but via a communication interface (not shown).
[0049]
【The invention's effect】
As described above, according to the present invention, it is possible to control performance according to an image using a relatively simple system.
[Brief description of the drawings]
FIG. 1 is a diagram showing an overall configuration of an embodiment.
FIG. 2 is a block diagram showing a configuration of a performance control device.
FIG. 3 is a functional block diagram of the embodiment (part 1);
FIG. 4 is a functional block diagram of the embodiment (No. 2).
FIG. 5 is a functional block diagram of the embodiment (part 3);
FIG. 6 is a diagram for explaining motion vectors for one screen (No. 1).
FIG. 7 is a diagram for explaining a motion vector for one screen (part 2);
FIG. 8 is an example of an image in which an area is set in advance.
FIG. 9 is a diagram illustrating motion vectors in a preset area.
FIG. 10 is a flowchart showing a main routine of the operation of the embodiment.
FIG. 11 is a flowchart showing a musical sound control process subroutine (part 1);
FIG. 12 is a flowchart showing a musical sound control processing subroutine (part 2);
FIG. 13 is a flowchart showing a musical sound control process subroutine (No. 3);
[Explanation of symbols]
100...
Claims (6)
前記演奏を制御する複数の演奏制御用パラメータのうちのいずれかを指定する過程と、
複数ブロックからなるビデオ画像を供給する過程と、
供給された前記ビデオ画像から前記複数ブロックに対応する複数の動きベクトルを抽出する過程と、
抽出した前記複数の動きベクトルから、指定された前記演奏制御用パラメータに対応した制御データを算出する過程と、
算出した前記制御データに基づいて、指定された前記演奏制御用パラメータの変更または追加を行う過程と、
前記供給された演奏情報および前記変更または追加された演奏制御用パラメータに基づいて楽音を生成する過程と
を備えることを特徴とする楽音生成方法。A process of supplying performance information indicating the content of the performance;
Designating any one of a plurality of performance control parameters for controlling the performance;
Providing a video image consisting of multiple blocks;
Extracting a plurality of motion vectors corresponding to the plurality of blocks from the supplied video image;
A step of calculating control data corresponding to the designated performance control parameter from the extracted plurality of motion vectors;
On the basis of the control data issued calculated, and the process to make a change or addition of the specified the performance control parameter,
A musical sound generation method comprising: generating a musical sound based on the supplied performance information and the changed or added performance control parameter.
前記演奏制御用パラメータの変更または追加を行う過程は、The process of changing or adding the performance control parameters includes:
算出した前記制御データにくわえて、過去に発生した演奏制御用パラメータにも基づいて、指定された前記演奏制御用パラメータの変更または追加を行うIn addition to the calculated control data, the specified performance control parameters are changed or added based on performance control parameters that have occurred in the past.
ことを特徴とする楽音生成方法。A musical sound generation method characterized by the above.
抽出した前記複数ブロックのうちの一部の領域に対応する複数の動きベクトルから1つを算出する
ことを特徴とする請求項1または2に記載の楽音生成方法。The process of calculating the control data includes:
The musical sound generation method according to claim 1, wherein one is calculated from a plurality of motion vectors corresponding to a partial region of the extracted plurality of blocks.
操作子の操作に応じて前記ビデオ画像の中の一部の領域を指定する過程と、
指定された前記一部の領域内の画像の変化を検出し、該変化を示す検出信号を発生する過程と
をさらに備え、
前記演奏制御用パラメータの変更または追加を行う過程は、
発生した前記検出信号に基づいて、指定された前記演奏制御用パラメータの変更または追加を行う
ことを特徴とする楽音生成方法。In the musical sound production | generation method in any one of Claim 1 thru | or 3,
A process of designating a partial area in the video image according to the operation of the operator;
Detecting a change in an image in the specified partial area and generating a detection signal indicating the change;
Further comprising a,
The process of changing or adding the performance control parameters includes:
A musical tone generation method comprising changing or adding the specified performance control parameter based on the generated detection signal.
前記ビデオ画像の左右を反転させる反転過程と、
前記反転過程において出力されたビデオ画像を表示する表示過程と
を備えることを特徴とする楽音生成方法。In the musical sound production | generation method in any one of Claim 1 thru | or 4,
An inversion process for inverting the left and right of the video image;
And a display process for displaying the video image output in the inversion process.
前記演奏情報を供給する過程は、The process of supplying the performance information includes:
当該演奏情報とともに、前記複数の演奏制御用パラメータのうちのいずれかを指定するイベント情報を供給し、Along with the performance information, supplying event information specifying any of the plurality of performance control parameters,
前記複数の演奏制御用パラメータのうちのいずれかを指定する過程は、The process of designating any one of the plurality of performance control parameters includes:
前記イベント情報に基づいて、前記複数の演奏制御用パラメータのうちのいずれかを指定するSpecify any one of the plurality of performance control parameters based on the event information
ことを特徴とする楽音生成方法。A musical sound generation method characterized by the above.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP07857599A JP3705000B2 (en) | 1999-03-23 | 1999-03-23 | Music generation method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP07857599A JP3705000B2 (en) | 1999-03-23 | 1999-03-23 | Music generation method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000276139A JP2000276139A (en) | 2000-10-06 |
| JP3705000B2 true JP3705000B2 (en) | 2005-10-12 |
Family
ID=13665712
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP07857599A Expired - Fee Related JP3705000B2 (en) | 1999-03-23 | 1999-03-23 | Music generation method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3705000B2 (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005316300A (en) * | 2004-04-30 | 2005-11-10 | Kyushu Institute Of Technology | Semiconductor device having musical tone generation function, and portable electronic device, mobile phone device, spectacle instrument, and spectacle instrument set using the same |
| US7655856B2 (en) | 2004-06-09 | 2010-02-02 | Toyota Motor Kyushu Inc. | Musical sounding producing apparatus, musical sound producing method, musical sound producing program, and recording medium |
| JP4882443B2 (en) * | 2006-03-27 | 2012-02-22 | ヤマハ株式会社 | Performance equipment |
| WO2021038833A1 (en) * | 2019-08-30 | 2021-03-04 | ソニフィデア合同会社 | Acoustic space creation apparatus |
| KR102390951B1 (en) * | 2020-06-09 | 2022-04-26 | 주식회사 크리에이티브마인드 | Method for composing music based on image and apparatus therefor |
-
1999
- 1999-03-23 JP JP07857599A patent/JP3705000B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2000276139A (en) | 2000-10-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5159140A (en) | Acoustic control apparatus for controlling musical tones based upon visual images | |
| JP7396341B2 (en) | Audiovisual processing device and method, and program | |
| Camurri et al. | Multimodal analysis of expressive gesture in music and dance performances | |
| US10482856B2 (en) | Automatic performance system, automatic performance method, and sign action learning method | |
| Friberg | A fuzzy analyzer of emotional expression in music performance and body motion | |
| US8113953B2 (en) | Image-linked sound output method and device | |
| CN101827213A (en) | Picture pick-up device and control method thereof | |
| JP2008170685A (en) | Voice evaluation device and karaoke device | |
| US9877129B2 (en) | Device and method for playing sound | |
| CN113170074B (en) | Image control device | |
| JP3705000B2 (en) | Music generation method | |
| JP2018170678A (en) | Live video processing system, live video processing method, and program | |
| WO2021065694A1 (en) | Information processing system and method | |
| JP5928279B2 (en) | Exercise support apparatus and program | |
| JP3643829B2 (en) | Musical sound generating apparatus, musical sound generating program, and musical sound generating method | |
| JP5061953B2 (en) | Imaging apparatus, moving image imaging method, and program | |
| JP3938327B2 (en) | Composition support system and composition support program | |
| JP3117413B2 (en) | Real-time multimedia art production equipment | |
| JP2004354583A (en) | Music generation device and music generation method | |
| EP3220385B1 (en) | System and method for stringed instruments' pickup | |
| JP2006064973A (en) | Control system | |
| JP4765705B2 (en) | Music control device | |
| JP6543147B2 (en) | Image processing apparatus, photographing guide apparatus, imaging apparatus, image processing method and image processing program | |
| JP2005026927A (en) | Sequence control data generating device, performance photographing device, and program | |
| JP4257300B2 (en) | Karaoke terminal device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041109 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050107 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050322 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050519 |
|
| 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: 20050705 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050718 |
|
| R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090805 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100805 Year of fee payment: 5 |
|
| LAPS | Cancellation because of no payment of annual fees |