(57)【特許請求の範囲】
【請求項１】
矩形領域毎に読み取られた楽譜画像データから、楽譜の各種記号を認識する楽譜認識装置において、
上記矩形領域毎に読み取られた楽譜画像データから、五線を検出する五線検出手段と、
上記矩形領域毎に読み取られた楽譜画像データから、隣接する五線間に延びる段落線、最上部の五線から上方へ延びる段落線および最下部の五線から下方へ延びる段落線を検出する段落線検出手段とを備え、
上下方向で隣接する上記矩形領域毎に読み取られた楽譜画像データにおいて、上側の矩形領域内で読み取られた楽譜画像データの最下部の五線から下方へ延びる段落線が検出され、下側の矩形領域内で読み取られた楽譜画像データの最上部の五線から上方へ延びる段落線が検出された場合には、上記最下部の五線と上記最上部の五線は１つの段落に含まれると認識することを特徴とする楽譜認識装置。
【請求項２】
矩形領域毎に読み取られた楽譜画像データから、楽譜の各種記号を認識する楽譜認識装置において、
上記矩形領域毎に読み取られた楽譜画像データから、五線を検出する五線検出手段と、
上記矩形領域毎に読み取られた楽譜画像データから、複数の五線間の段落線の有無を検出する段落検出手段と、
それぞれの段落線の左側で、大かっこの有無を検出する大かっこ検出手段とを備え、
上記大かっこ検出手段により大かっこが有りと検出された場合には、上記大かっこで括られる複数の五線を１つのパートと認識することを特徴とする楽譜認識装置。
【請求項３】
楽譜画像データから、楽譜に記載されたパート名を認識するパート名認識手段と、上記パート名認識手段により認識されたパート名に基づき、段落間におけるパートの対応をとるパート対応検出手段とを備えたことを特徴とする請求項２に記載の楽譜認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は楽譜認識装置に関し、特に、楽譜の段落やパートを認識し、楽譜情報を適切に時系列化することが可能な楽譜認識装置に関するものである。
【０００２】
【従来の技術】
従来の楽譜認識装置においては、例えばスキャナによって読み込んだ楽譜画像データについて、五線、音符や各種記号を認識して、ＭＩＤＩファイルデータ等の演奏データを生成するものがあった。そして、このような楽譜認識装置では、スコア譜を認識する場合には、全ての段落でパート数が固定されているものを対象にしていた。この場合、認識できたパートを各段落内の五線に上から順に対応させればデータの時系列化が完了する。
【０００３】
【発明が解決しようとする課題】
実際のスコア譜では、全ての段落でパート数が等しいものだけでなく、ある段落からのパートの追加、パートの省略、パートの融合（単独譜表２つがある段落から大譜表になる）、パートの分離（その逆）、譜表の変更（大譜表←→単独譜表）などが行われる場合がある。このような場合には、段落内の各五線にパートを上から順に対応させるだけでは、データの時系列化を正しく行うことができないという問題点があった。
本発明の目的は、前記のような従来技術の問題点を解決し、スコア譜における段落の分離、パートの対応を認識し、楽譜認識したデータをトラックごと時系列化することが可能な楽譜認識装置を提供することにある。
【０００４】
【課題を解決するための手段】
本発明は、矩形領域毎に読み取られた楽譜画像データから、楽譜の各種記号を認識する楽譜認識装置において、五線を検出する五線検出手段と、矩形領域毎に読み取られた楽譜画像データから、隣接する五線間に延びる段落線、最上部の五線から上方へ延びる段落線および最下部の五線から下方へ延びる段落線を検出する段落線検出手段とを備え、上下方向で隣接する上記矩形領域毎に読み取られた楽譜画像データにおいて、上側の矩形領域内で読み取られた楽譜画像データの最下部の五線から下方へ延びる段落線が検出され、下側の矩形領域内で読み取られた楽譜画像データの最上部の五線から上方へ延びる段落線が検出された場合には、上記最下部の五線と上記最上部の五線は１つの段落に含まれると認識することを特徴とする。
また、矩形領域毎に読み取られた楽譜画像データから、複数の五線間の段落線の有無を検出する段落検出手段と、それぞれの段落線の左側で、大かっこの有無を検出する大かっこ検出手段とを備え、上記大かっこ検出手段により大かっこが有りと検出された場合には、上記大かっこで括られる複数の五線を１つのパートと認識することを特徴とする。
更に、楽譜画像データから、楽譜に記載されたパート名を認識するパート名認識手段と、上記パート名認識手段により認識されたパート名に基づき、段落間におけるパートの対応をとるパート対応検出手段とを備えたことを特徴とする。
【０００５】
本発明はこのような構成により、五線を各段落毎に的確にグループ化でき、更に段落間において各パートの対応を取ることができる。従って、楽譜に記載されている音符などを適切なタイミングおよび音色の演奏情報に自動的に変換することが可能である。
【０００６】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。図１は本発明の楽譜認識装置の１実施例の構成を示すブロック図である。この装置は、パソコン等の一般的な計算機システムにスキャナやＭＩＤＩインターフェース回路を付加したものである。ＣＰＵ１は、ＲＯＭ２あるいはＲＡＭ３に格納されるプログラムに基づき、楽譜認識装置全体の制御を行う中央処理装置である。また、予め設定された所定の周期でＣＰＵ１に割り込みをかけるタイマ回路を内蔵している。ＲＡＭ３はプログラムエリアの他、画像データバッファ、ワークエリア等として使用される。ハードディスク装置ＨＤＤ４およびフロッピディスク装置ＦＤＤ５は、プログラムおよび画像データ、演奏データ等を格納する。ＣＲＴ６はＣＰＵ１の制御に基づき、ＣＲＴインターフェース回路７から出力される映像情報を表示し、キーボード８から入力された情報は、キーボードインターフェース回路９を経てＣＰＵ１に取り込まれる。プリンタ１０は、ＣＰＵ１の制御に基づき、プリンタインターフェース回路１１から出力される印字情報を印字する。
【０００７】
スキャナ１２は、（印刷された）楽譜を光学的に走査して、２値あるいはグレイスケールの画像データに変換するものであり、フラットベッド型、ハンディ型、フィーダー型等任意のタイプのものを使用できる。スキャナ１２によって読み取られた画像情報は、スキャナインターフェース回路１３を介して、ＲＡＭ３あるいはＨＤＤ４に取り込まれる。ＭＩＤＩインターフェース回路１４は、音源モジュール等の外部のＭＩＤＩ機器との間でＭＩＤＩデータの送受信を行う回路である。バス１５は楽譜認識装置内の各回路を接続している。なお、この他にマウス等のポインティングデバイス、ＲＳ２３２Ｃ等のシリアルインターフェース回路等を備えていてもよい。
【０００８】
図３は、ＣＰＵ１のメイン処理を示すフローチャートである。Ｓ１においては、スキャナ１２によって楽譜のイメージをＲＡＭ３に取り込む。画像は２値の画像として取り込む。Ｓ２においては、かすれやドットノイズなどを軽減するために、図形融合などの画質平滑化処理を行う。Ｓ３においては、画質チェック処理を行う。画質チェック処理においては、倍率と濃度の情報を得ると共に、後段における五線検出の基準データを得るために、まず五線の線幅と五線の各線間の間幅を検出する。線幅、間幅を求めるためには、まず、画像上の横（ｘ）方向の数箇所において縦（ｙ）方向に走査し、黒ラン（連続する黒画素）と白ランの長さを全て求めて、長さ毎に頻度分布（ヒストグラム）データを作成する。
【０００９】
楽譜上で最も多い記号は五線であるので、作成された黒ラン長ヒストグラムと、白ラン長ヒストグラムのピークをそれぞれ検出することで、五線の線幅、間幅が推定できる。そして、画像データの倍率は、例えば間幅から推定可能であり、また、濃度は線幅と間幅の比から推定することができる。楽譜の認識処理においては、倍率および濃度が所定の範囲から外れると認識率が低下してしまうので、Ｓ３においては、これらの値が、所定の範囲内に入っているか否かがチェックされる。Ｓ４においては、Ｓ３におけるチェック結果が画質ＯＫであるか否かが判定され、結果がＯＫでない場合にはＳ１に戻って、倍率や濃度を変えて再取り込みを行う。
【００１０】
Ｓ５においては、後述する五線認識を行う。五線認識処理は、大きく五線領域分離処理、五線走査開始位置検出処理、および五線シフト量の検出処理に分かれる。Ｓ６においては、後述する段落認識処理を行う。この処理は、大きく、段落認識処理と、大かっこ認識処理に分かれる。
【００１１】
Ｓ７においては、段落の認識結果を表示して、段落認識結果が正しいか否かを利用者にチェックさせることにより、ＯＫか否かが判定され、結果がＯＫでない場合にはＳ８に移行して、段落認識結果の修正が行われる。スコア譜においては、各段落のパート構成が等しいものの他に、途中でパートの省略や追加があったり、同じパートで単独譜表と大譜表が段落ごとに変化する場合もある。このようなパートの対応は、大かっこの対比等で行う。これは、全段落中から２つの段落を抜き出し、それぞれの段落の大譜表同士の対応の組み合わせの中から、大譜表間の大譜表でないパートの数の差が最も少なくなる組み合わせを選んでいくという方法で行うが、パートの対応が一意に決められない場合もあるので、予め段落認識結果の修正を行えるようにする。
【００１２】
なお、五線認識が失敗した場合には、その後の処理が行えないので、倍率や濃度を変更して再度画像を取り込む必要がある。従って、ステップＳ７においては、まず五線の認識結果を表示し、正しいか否かを利用者に判定させ、もし正しくない場合には、Ｓ１に戻ってイメージの再取り込みを行い、また五線が正しく認識されている場合には、段落認識結果を表示し、チェックさせるようにしてもよい。
【００１３】
Ｓ９においては、処理矩形の決定処理が行われる。求められた五線（大譜表の場合には譜表中の五線）を含む、ある程度広い矩形を採り、これを認識処理矩形とする。この際の矩形は、求められた五線から、まず、五線のずらし量を考慮してある程度の幅を持った矩形にし、五線側から見て、上下方向にある程度の幅の空白が存在した場合には矩形を縮小する。
【００１４】
Ｓ１０においては、五線傾き補正処理を行う。概略を述べると、先に求めた五線シフト量に基づいて、矩形内の画像の縦方向の画素列を上下にシフトする。大譜表の場合には、五線が複数になるので、一番上の五線のシフト量を採用するか、あるいはシフト量の平均を取ってもよい。この後、その矩形が上下の五線に重なっていた場合には、その部分を消去し、更に、矩形の上下端に接し、かつ認識する五線の部分に達していないラベルが存在した場合には、上下の五線のパートを構成するラベルとして消去する。この処理を行った後に、矩形の端から黒画素の存在する部分まで、矩形を更に縮小してもよい。
【００１５】
Ｓ１１〜Ｓ１５においては、各種記号の認識処理が行われる。楽譜記号は、形、位置に関して大まかに以下の３つの種類がある。（１）定型で、上下位置がほぼ決まっているもの（音部記号、拍子記号等）。（２）定型で、上下位置は自由度があるもの（臨時記号、休符等）。（３）不定型かつ位置も不定のもの（音符、スラー、タイ等）。これらをそれぞれに適した方式で、音部記号、拍子認識、音符認識、定型記号認識、文字列認識、スラー、タイ認識の順に認識する。
【００１６】
音部記号、拍子認識を最初に行うのは、処理コストの低い認識を最初に行って、この記号を削除することによって、後の認識の処理コストを軽減するためと、最初により確実なものを認識することで、後の認識での誤認識を減らすためである。また、音符認識の後に定型記号認識を行うのは、ラベルの接触に影響されにくい認識方式である音符認識を行って、この音符を削除することで、音符に接触した臨時記号等の認識を可能にするためである。スラー、タイ認識が最後になっているのは、処理コストの高いスラー認識の対象になるラベルをなるべく少なくするためである。また、先に検出された音符の周りのラベルだけをスラー、タイ認識の対象にすることによって、更にスラー、タイ認識の処理コストを下げ、かつ、スラー、タイの誤認識も減らすことができる。
【００１７】
Ｓ１１においては、五線に対して定位置にある記号として、音部記号と拍子記号を認識する。該処理においては、まず、求められた五線を含む矩形領域で縦に黒画素のヒストグラムを取っていき、黒画素量があるしきい値以上の帯域を、記号が存在する可能性のある場所としてマッチングの対象とする。マッチングは、五線間の数箇所について横方向のペリフェラル特徴によって行う。ペリフェラル特徴とは、マッチング対象となる記号のみを含む矩形領域の左右端から五線間の数箇所の白画素領域を内方向に走査し、黒画素領域に到達するまでの距離を、１次（最初）あるいは数次（２回目以降）まで求めたものである。また、マッチングに失敗した場合には、隣接した帯域を併合して再度認識を行う。そして、認識された記号は画像データから削除する。
【００１８】
Ｓ１２においては音符認識を行う。まず、矩形領域を横に走査して、所定の長さ以下の黒ランを検出し、分離する。分離された画像データは、横が細い部分であるので、ここから符尾や小節線の候補になる縦線を検出する。次に、縦に所定の長さ以下の黒ランを検出し分離する。分離された画像データは細い横線を構成する部分なので、ここから加線やクレッシェンドなどの候補になる横線を検出する。最後に、元の画像データから検出された縦横の細ランを消せば、画像中の太い部分（以下太ラベル）が抽出できる。楽譜の場合、４部音符より短い音符の符頭（以下黒玉符頭）や連鉤（複数の音符をつなぐ帯）が分離できる。
【００１９】
黒玉符頭は、太ラベルの境界線についての座標チェーンデータを求め、この座標データから公知の方法により楕円式を計算し、この形や太ラベルとのマッチング度をとって認識する。２部音符、全音符の符頭（以下白抜き符頭）は、画像の穴の座標チェーンから楕円式を計算する。
【００２０】
最後に、先に求めた符尾候補と結合して音符を検出する。連鉤は、これまでに求められた旗を考えない音符の符尾の周辺に存在する太ラベルを検出し、これの形状から連鉤の本数を計算する。また、この連鉤に連結している他の音符も検出する。連結する他の音符が無い場合には単独の旗を持つ音符と考える。連鉤の本数により、音符の情報を変更する。この後、分離した横線を使って音の高さ（加線）やクレッシェンド、横線と縦線を使ってくり返しかっこ等を認識する。残った縦線から小節線を認識する。そして、認識された記号は画像から削除する。
【００２１】
Ｓ１３においては、定型記号認識が行われる。この処理においては、まず、公知の輪郭線荷重方向指数を取り、辞書の各記号データについてラベルのサイズと荷重方向指数のマッチング度を計算して、各マッチング度を正規化し、統合した結果が最も高い記号を出力する。なお、サイズと荷重方向指数の他に、ペリフェラルなどの他の特徴を使ってもよい。また、五線消去によりラベルが切れたものの対策として、五線消去によって切れたラベルを辞書に登録し、この記号であると認識された場合には、その周りのラベルを結合して再認識する。認識された記号は画像から削除する。
【００２２】
Ｓ１４においては、文字列認識を行う。速度記号などの文字列を認識するために、定型記号認識で認識されたアルファベットその他の記号を使い、その記号を囲む矩形が文字列状に並んでいるものを抽出し、これと文字列辞書のマッチングをとることで、文字列状の記号を、それぞれの構成文字が多少間違っていても認識できるようにする。
【００２３】
Ｓ１５においては、スラータイ認識を行う。この処理においては、残ったラベルのうち、検出された音符の周りのラベルに関して、これを細線化し、これを多円弧近似する。そして、以前に消された記号により線が切れている場合があるので、求められた多円弧同士の連結を行う。最後に、求められた円弧の形や元画像の図の太さ、音符との関係などからスラー、タイを認識する。これが認識で最後のルーチンなので、認識された記号は画像から削除しなくてもよいが、認識したスラー、タイを削除し、この後で再度定型記号認識を行うようにすれば、スラー、タイと接触した記号を認識することができるようになる。
【００２４】
Ｓ１６においては、例えば認識結果に基づき、楽譜画像データを合成して表示し、正しいか否かを利用者にチェックさせることにより、ＯＫか否かが判定され、結果がＯＫでない場合にはＳ１７に移行して、マウス、キーボード等を用いて、手動により認識結果の修正が行われる。Ｓ１８においては、演奏データ作成処理が行われる。該処理においては、認識した各種の記号や音符情報に基づき、例えば公知の演奏データ形式であるＭＩＤＩファイルデータを生成する。
【００２５】
図４は、図３のＳ５の五線認識処理の詳細を示すフローチャートである。五線認識処理においては、まず、横方向に並んだコーダ状の五線の認識を行いやすくするために、段落矩形の検出を行う。この矩形検出処理は、後で正確な段落線の検出を行うので、おおまかなもので良く、段落矩形が、正しいものより小さく、例えば五線ごとに分離されていてもよい。
Ｓ２０においては、画像の各横軸ごとの黒画素数を計数し、ヒストグラムを作成する。図２は、ヒストグラムの説明図である。図２（ａ）の楽譜画像（音符等は存在するが記載は省略してある）の各ｙ座標における黒画素数を計数したものが（ｂ）のヒストグラムである。このヒストグラムは五線が存在する箇所において大きな値となるが、値の増減が激しいので、このままでは判定が困難である。そこで、Ｓ２１においては、波形を平滑化するために、各ｙ座標に関して所定幅のｙ座標範囲のヒストグラム値を合計した加算ヒストグラムを作成する。幅は例えば五線の隣接する２本の線間の幅程度でよく、加算範囲は、例えば任意のｙ座標に対してそれより下の所定範囲であってもよいし、ｙ座標を中心とする上下の範囲であってもよい。図２（ｃ）は加算ヒストグラムの例である。
【００２６】
Ｓ２２においては、上（ｙ座標の小さい方）から加算ヒストグラムを検索し、加算ヒストグラム値が、図２（ｃ）に点線で示す、先に求めた五線の線幅、五間の幅で正規化した所定のしきい値以上となるｙ座標（ｙ１）を検出する。なお、Ｓ２２において画像の下端に達した場合にはＳ２７に移行する。Ｓ２３においては、ｙ１から下に加算ヒストグラムを検索し、加算ヒストグラム値が所定のしきい値以下となるｙ座標（ｙ２）を検出する。更に、ｙ２から下に加算ヒストグラムを検索し、加算ヒストグラム値が再び所定のしきい値以上となるｙ座標（ｙ３）を検出する。ただし、もし（ｙ３−ｙ２）が所定の値以下である場合、即ち黒画素の少ない領域の幅が狭い場合には該ｙ２、ｙ３を破棄し、ｙ３より下において再度ｙ２を探索する。またｙ３検索中に下端に達した場合には、十分下方でｙ３を検出したものと見なして、Ｓ２５に移行する。
Ｓ２５においては、（ｙ２−ｙ１）が所定の値、例えば五線全体の幅以上であれば、段落あるいは五線が含まれると推定される矩形として、該矩形の座標情報等を保存する。Ｓ２６においては、画像の下端に達したか否かが判定され、結果が否定の場合にはＳ２２に戻って、残りの領域について検索を行う。
【００２７】
Ｓ２７からＳ３０においては、横軸方向に五線の切れ目を検索する。まず、Ｓ２７においては、Ｓ２５において検出された各矩形について、各縦軸ごとの黒画素数のヒストグラムを取る。Ｓ２８においては、ヒストグラムを左から検索し、ヒストグラム値が所定の値以上になるｘ座標（ｘ１）を検出する。しきい値を例えば五線４本分の黒画素数としておけば、五線が存在すれば必ずしきい値を超える。Ｓ２９においては、ヒストグラムをｘ１から右に検索し、ヒストグラム値が所定の値以下になるｘ座標（ｘ２）を検出する。Ｓ３０においては、（ｘ２−ｘ１）が所定値以上であれば、矩形を分割する。なお、五線の右に記号等が存在する可能性があるので、最右端の短い矩形は左の矩形に含める。
【００２８】
Ｓ３１においては、それぞれの段落矩形で五線認識を行う。まず、段落矩形を五線検出矩形とし、矩形内で五線の線幅、五間の幅を再計算する。そして、五線シフト量走査の開始位置を求め、更に五線シフト量を求める。このようにして求められた一つ目の五線から、五線検出矩形の上下端までを次の五線検出矩形とし、この矩形の縦幅があるしきい値以上あれば、これらの矩形中でも同様に五線の線幅、五間の幅を再計算し、五線検出を行う。五線の線幅、五間の幅をそれぞれの矩形中で再計算するのは、段落矩形中の全ての五線の幅が一定であるとは限らないからである。それぞれの段落矩形の中で、五線が検出できる矩形がなくなるまでこの処理を行う。
【００２９】
五線走査開始位置検出処理の概略を述べると、ｘ軸方向のある位置で、黒画素と白画素の幅を順に求め、求められた線幅と間幅が五線状に並んでいる位置を、ある程度の誤差を考慮して検出する。そして、加線（五線からはみ出した音符を記載するために付加した横線）の影響を除くために、五線状の並びの両側に間幅より大きな白画素幅があるという条件を加える。この条件に合う白黒画素の並びがあるｘ位置の各黒ランの中点を五線走査開始位置とする。
【００３０】
Ｓ３２においては、五線を追跡し、補正のためのシフト量を検出する。五線シフト量の検出処理の概略を述べると、求められたｘ位置の五線走査開始位置（５点の黒画素位置）から、１ドットずつ位置を左右に変えて五線を追跡していき、５点の内、黒画素がある個数（例えば３あるいは４個）以下になった場合に、５点を上下にずらして黒画素数をチェックし、黒画素の割合が高くなる方向へｙ座標をシフトする。そして開始位置からのシフト量を五線のシフト量とする。五線走査開始位置から左右に、黒画素個数が０になる位置まで追跡することにより五線の検出を行う。
【００３１】
図５は、図３のＳ６の段落認識処理の詳細を示すフローチャートである。Ｓ４０においては、検出した五線情報を上から順に並べる。Ｓ４１においては、隣合う五線について、五線の左端のｘ座標の差の絶対値ｄを求める。なお、段落が途中で切れている場合など、必ずしも段落内の五線がｙ座標において隣接しているとは限らないので、全ての五線の組み合わせについてチェックするか、あるいはある五線に対して所定のｙ軸距離内にある五線について全てチェックするようにする。
【００３２】
Ｓ４２においては、距離ｄが所定のしきい値ＴＨＲ未満であるか否かが判定され、結果が否定の場合にはＳ４６に移行するが、肯定の場合にはＳ４３に移行する。Ｓ４３においては、２つの五線の左端の間の領域に連続する段落線が存在するか否かがチェックされる。段落線の存在は、黒画素が上から下まで８連結で連続しているか否かをチェックすることにより判明するが、画像がかすれていても段落線の存在を認識できるようにするために、ある程度の黒画素が途切れても、その後連続していれば、段落線が存在するものと判定する。
【００３３】
図６は段落線の検出領域を示す説明図である。段落線の検出は、上下の五線の左端間の領域Ａにおいて行われる。領域Ａは２つの五線の左端の座標が判明しているので、該座標データから求めることができる。なお、ハンディスキャナ等の幅の狭いスキャナで楽譜画像を読み込んだ場合には、段落の途中で画像データが分かれてしまう場合がある。このような場合には、最上部の五線の上部の領域Ｂあるいは最下部の五線の下部の領域Ｃに画像データの端まで続く段落線が存在するか否かをチェックし、他の画像データとの連続性を検出する。例えばＣの領域に段落線が存在し、次の画像データのＢの領域にやはり段落線が存在した場合には２つの画像データの段落線は接続されているものと判断する。
【００３４】
Ｓ４４においては、Ｓ４３のチェック結果が段落線有りか否かが判定され、結果が否定の場合にはＳ４６に移行するが、肯定の場合にはＳ４５に移行する。Ｓ４５においては、上下の五線を同じ段落番号にする。Ｓ４６においては、残っている五線の組み合わせが無いか否かが判定され、まだ残っている場合にはＳ４１に戻って、段落線のチェックを繰り返す。なお、求められた段落矩形同士が横軸方向に重複せず、縦軸方向に重複していて、かつ、五線の数が等しい場合には、コーダ状の段落であるとする。この場合、２つの段落を結合して１つの段落とするか、あるいは、別の段落として記号、音符認識を行い、後で時系列処理を行う。
【００３５】
Ｓ４７においては、段落線が検出された各段落において、五線が大譜表か単独譜表かを区別するために、大かっこの認識を行う。求められた段落の五線の左端より左の領域で、ラベル抽出を行いながら記号認識を行う。この際、大かっこが段落線と接触している場合もあるので、あらかじめ段落線の部分でラベルを切り取っておく。この時の記号認識は、大かっこと大弧線とその他のものを区別できる程度の認識率でよい。また、大かっこは中心の細い部分でラベルが分離していることが多いので、分離した辞書データも用意し、上下の分離大かっこと認識された場合には認識結果を結合する。そして、段落内の五線の内、大かっこで括られていると認識された五線の組は、同じパートナンバーを割り振る。
【００３６】
以上実施例を開示したが、次に示すような変形例も考えられる。画像データはスキャナで読み込んだ画像データを１個づつ順に認識する方式を開示したが、例えばハンドスキャナで読み込んだ場合には、１曲分が複数のイメージファイルとして取り込まれる可能性が高い。このような場合には、複数の画像データファイルを予め１つのファイルに合成してから認識してもよい。また、予め画像データを複数に分割してから本発明の認識処理を行ってもよい。
【００３７】
段落認識処理においては、段落線の有無をチェックする方式を開示したが、予めｘ軸、ｙ軸方向に黒画素のヒストグラムを取り、これの完全な空白部分を検出することによって段落の存在を推定してもよい。
【００３８】
段落認識処理時に、大かっこ、大弧線の認識と同時に、パート名を認識するための文字列認識を行ってもよい。この場合、大かっこ認識時より広い範囲を認識対象にして、辞書も、英数字（日本語）を追加する。文字が認識された場合には、この認識矩形の並びから文字列対象の認識結果を抽出し、文字列一致ポイントの最大値選択しきい値判定によってパート名を認識する。これを行うためのパート名の文字列辞書も用意する。また、多くの場合、段落によって、パート名が略記されているので、略記とそうでないパート名の対応も取れるようにする。
【００３９】
認識処理矩形に於いて、矩形の上下端からも、五線からも離れているラベル、つまり譜表の構成要素は、上下の認識処理矩形の両方に入っている場合がある。この場合には、前の認識処理矩形で認識された記号情報を次の認識処理矩形の認識時にチェックし、次の認識処理矩形での同じ図形を予め消しておけば、認識の高速化に貢献できる。また、例えば、矩形の下端での下向きのスラーなど、記号によっては、予めどちらのパートに属するのかを決定できるものもあるので、この場合には、記号情報を対応するパートのみに入れる。
実施例においては、五線ごとにシフト量を計算し、矩形画像内でシフト補正を行う例を開示したが、シフト量は、取り込み画像全体で１つ計算し、画像全体をシフトしてもよい。
【００４０】
【発明の効果】
以上述べたように、本発明は、五線を各段落毎にグループ化でき、更に段落間において各パートの対応を取ることができる。従って、楽譜に記載されている音符などを適切なタイミングおよび音色の演奏情報に自動的に変換することが可能となるという効果がある。また、楽譜の倍率や記号の形などが異なっていても高い認識率を達成することが可能となるという効果もある。
【図面の簡単な説明】
【図１】本発明の楽譜認識装置の実施例の構成を示すブロック図である。
【図２】ヒストグラムの説明図である。
【図３】ＣＰＵ１のメイン処理を示すフローチャートである。
【図４】図３のＳ５の五線認識処理の詳細を示すフローチャートである。
【図５】図３のＳ６の段落認識処理の詳細を示すフローチャートである。
【図６】段落線の検出領域を示す説明図である。
【符号の説明】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、４…ハードディスク装置、５…フロッピディスク装置、６…ＣＲＴディスプレイ装置、７…ＣＲＴインターフェース回路、８…キーボード、９…キーボードインターフェース回路、１０…プリンタ、１１…プリンタインターフェース回路、１２…スキャナ、１３…スキャナインターフェース回路、１４…ＭＩＤＩインターフェース回路、１５…バス
【図１】
0003608674.tif 000002
【図２】
0003608674.tif 000003
【図３】
0003608674.tif 000004
【図４】
0003608674.tif 000005
【図５】
0003608674.tif 000006
【図６】
0003608674.tif 000007