JP3411736B2 - 楽譜認識装置 - Google Patents

楽譜認識装置

Info

Publication number
JP3411736B2
JP3411736B2 JP27513495A JP27513495A JP3411736B2 JP 3411736 B2 JP3411736 B2 JP 3411736B2 JP 27513495 A JP27513495 A JP 27513495A JP 27513495 A JP27513495 A JP 27513495A JP 3411736 B2 JP3411736 B2 JP 3411736B2
Authority
JP
Japan
Prior art keywords
staff
width
run
recognition
pixel
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
JP27513495A
Other languages
English (en)
Other versions
JPH0997059A (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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP27513495A priority Critical patent/JP3411736B2/ja
Publication of JPH0997059A publication Critical patent/JPH0997059A/ja
Application granted granted Critical
Publication of JP3411736B2 publication Critical patent/JP3411736B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/30Character recognition based on the type of data
    • G06V30/304Music notations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Character Discrimination (AREA)
  • Auxiliary Devices For Music (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は楽譜認識装置に関
し、特に楽譜内の五線の位置を確実に検出し、かつ、ず
れを修正することが可能な楽譜認識装置に関するもので
ある。
【0002】
【従来の技術】従来の楽譜認識装置においては、例えば
スキャナによって読み込んだ楽譜画像データについて、
横(X軸)方向の1走査線上にある黒画素(白い用紙に
黒で五線が記載されている場合)数を計数し、これを縦
(Y軸)方向に並べた頻度分布図(ヒストグラム)を求
め、そのピーク値の位置から五線を検出していた。
【0003】
【発明が解決しようとする課題】従来の楽譜認識装置の
五線検出処理においては、読み込んだ画像データが走査
線に対して傾いていると、頻度分布図のピークがなまっ
て、五線位置の正確な検出ができないという問題点があ
った。このために、五線検出の前に、何らかの方法で画
像データの傾きを検出し、画像全体を回転させて傾きを
補正する必要があった。しかし、高価なフラットベッド
型のスキャナの場合には画像データの傾きは回転により
補正可能であるが、安価なハンディスキャナの場合には
部分的な上下のずれが生じ、このずれは回転しても補正
できないという問題点があった。本発明の目的は、前記
のような従来技術の問題点を解決し、上下のずれのある
楽譜画像データからでも五線を確実に検出することが可
能な楽譜認識装置を提供することにある。また、本発明
の目的は、上下のずれの補正を行うことが可能な楽譜認
識装置を提供することにある。
【0004】
【課題を解するための手段】本発明は、入力された楽譜
画像データから各種記号を認識する楽譜認識装置におい
て、前記楽譜画像データを五線と直角方向に走査し、黒
画素および白画素のラン幅を順に検出するラン幅検出手
段と、前記ラン幅検出手段によって検出された黒画素お
よび白画素のラン幅がそれぞれ、黒画素の基準ラン幅お
よび白画素の基準ラン幅に対してそれぞれ第1の所定の
誤差内および第2の所定の誤差内で一致して五線状に並
んでいることを検出するとともに、前記白画素の基準ラ
ン幅に対して前記第2の所定の誤差内で一致するラン幅
より大きい所定のラン幅を超えるラン幅の白画素のラン
が存在することを検出する検出手段とを備え、前記検出
手段による検出結果に基づいて、五線位置とする位置を
検出することを特徴とする。また、上記構成に加えて、
五線位置とされた位置に含まれる複数の座標点を始点と
して、五線と並行方向に隣接する座標点の画素を順に走
査し、五線上であることを示す黒画素の割合が所定値以
下になった場合には、割合が最大となるように前記座標
点を上あるいは下にシフトさせると共に、シフト量を記
録するシフト量検出手段と、前記シフト量に基づき、前
記楽譜画像データを修正する傾き補正手段とを含むこと
を特徴とする。
【0005】本発明はこのような構成により、例えば、
ハンディスキャナで楽譜画像データを取り込み、楽譜
データの一部が上下にずれているような場合であって
も、確実に五線位置を検出することが可能となる。また
五線の各部において上下へのシフト量を検出し、該シフ
ト量に基づき楽譜画像データを修正するので、ハンディ
スキャナによる部分的な上下のずれを含む楽譜画像デー
タを正確に修正することができる。
【0006】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して詳細に説明する。図1は本発明の楽譜認識装
置の一実施例の構成を示すブロック図である。この装置
は、パソコン等の一般的な計算機システムにスキャナや
MIDIインターフェース回路を付加したものである。
CPU1は、ROM2あるいはRAM3に格納されるプ
ログラムに基づき、楽譜認識装置全体の制御を行う中央
処理装置である。また、予め設定された所定の周期でC
PU1に割り込みをかけるタイマ回路を内蔵している。
RAM3はプログラムエリアの他、画像データバッフ
ァ、ワークエリア等として使用される。ハードディスク
装置HDD4およびフロッピディスク装置FDD5は、
プログラムおよび画像データ、演奏データ等を格納す
る。CRT6はCPU1の制御に基づき、CRTインタ
ーフェース回路7から出力される映像情報を表示し、キ
ーボード8から入力された情報は、キーボードインター
フェース回路9を経てCPU1に取り込まれる。プリン
タ10は、CPU1の制御に基づき、プリンタインター
フェース回路11から出力される印字情報を印字する。
【0007】スキャナ12は、例えば(印刷された)楽
譜を光学的に走査して、2値あるいはグレイスケールの
画像データに変換するものであり、フラットベッド型、
ハンディ型、フィーダー型等任意のタイプのスキャナを
使用できる。スキャナ12によって読み取られた画像情
報は、スキャナインターフェース回路13を介して、R
AM3あるいはHDD4に取り込まれる。MIDIイン
ターフェース回路14は、音源モジュール等の外部のM
IDI機器との間でMIDIデータの送受信を行う回路
である。バス15は楽譜認識装置内の各回路を接続して
いる。なお、この他にマウス等のポインティングデバイ
ス、RS232C等のシリアルインターフェース回路等
を備えていてもよい。
【0008】図3は、CPU1のメイン処理を示すフロ
ーチャートである。ステップS1においては、スキャナ
12によって楽譜のイメージをRAM3に取り込む。画
像は2値の画像として取り込む。ステップS2において
は、かすれやドットノイズなどを軽減するために、図形
融合などの画質平滑化処理を行う。ステップS3におい
ては、画質チェック処理を行う。該処理においては、倍
率と濃度の情報を得ると共に、後段における五線検出の
基準データを得るために、まず五線の線幅と五線の各線
間の間幅を検出する。そして、画像データの倍率は、例
えば間幅から推定可能であり、また、濃度は線幅と間幅
の比から推定することができる。従って、ステップS3
においては、これらの値が、所定の範囲内に入っている
か否かがチェックされる。ステップS4においては、ス
テップS3におけるチェック結果が画質OKであるか否
かが判定され、結果がOKでない場合にはステップS1
に戻って、倍率や濃度を変えて再取り込みを行う。
【0009】ステップS5においては、後述する五線認
識を行う。五線認識処理においては、五線走査開始位置
検出処理と五線シフト量の検出処理が行われる。ステッ
プS6においては、段落認識処理を行う。この処理は、
大きく、段落認識処理及び大かっこ認識処理に分かれ
る。段落認識処理においては、画像全体で五線を検出
し、五線同士で左端がほぼ同じ場所にある五線の組を探
し、五線の端同士が黒画素で結ばれているかどうかを検
査し、段落を認識する。段落を囲む矩形が左右に並んで
いた場合には、これも時系列になるように処理を行う。
なお、予め、x軸、y軸方向に黒画素のヒストグラムを
取り、これの空白部分を検出することによって段落の存
在を推定しても良い。
【0010】五線同士が大かっこで結ばれていた場合に
は、五線同士にまたがる音符等が存在する場合があるの
で、大かっこで結ばれた五線は1つの単位で処理を行っ
た方が良い。大かっこ認識においては、段落線の左の所
定の範囲で、後述する定型記号認識と同様の手法で認識
を行う。なお、この認識においては、大かっこおよび大
弧線が認識できれば良い。
【0011】ステップS7においては、段落の認識結果
を表示して、段落認識結果が正しいか否かを利用者にチ
ェックさせることにより、OKか否かが判定され、結果
がOKでない場合にはステップS8に移行して、段落認
識結果の修正が行われる。スコア譜においては、各段落
のパート構成が等しいものの他に、途中でパートの省略
や追加があったり、同じパートで単独譜表と大譜表が段
落ごとに変化する場合もある。このようなパートの対応
は、大かっこの対比等で行うが、パートの対応が一意に
決められない場合もあるので、予め段落認識結果の修正
を行えるようにする。
【0012】なお、五線認識が失敗した場合には、その
後の処理が行えないので、倍率や濃度を変更して再度画
像を取り込む必要がある。従って、ステップS7におい
ては、まず五線の認識結果を表示し、正しいか否かを利
用者に判定させ、もし正しくない場合には、S1に戻っ
てイメージの再取り込みを行い、また五線が正しく認識
されている場合には、段落認識結果を表示し、チェック
させるようにしてもよい。
【0013】ステップS9においては、処理矩形の決定
処理が行われる。求められた五線、(大譜表の場合に
は、譜表中の五線)を含む、ある程度広い矩形を採り、
これを認識処理矩形とする。矩形の大きさは、その五線
に関係する音楽記号が存在する最大領域以上で、かつ五
線傾き補正により、必要な記号が消えない様な大きさに
する。これ以降の認識はこの矩形内で行う。
【0014】ステップS10においては、後述する五線
傾き補正処理を行う。概略を述べると、先に求めた五線
シフト量に基づいて矩形画像の列ごとに画素列を上下に
シフトする。なお、五線ごとにシフト量を計算し、矩形
画像内でシフト補正を行った方がより正確であるが、シ
フト量は、取り込み画像全体で1つ計算し、画像全体を
シフトしても良い。この後、矩形の上下端に接した図形
ラベル(独立した黒画素領域)は上下のパートの構成要
素として削除する。最後に、上下端の空白部分を検出し
て、矩形を縮小する。
【0015】ステップS11〜S15においては、各種
記号の認識処理が行われる。楽譜記号は、形、位置に関
して大まかに以下の3つの種類がある。(1)定型で、
上下位置がほぼ決まっているもの(音部記号、拍子記号
等)。(2)定型で、上下位置は自由度があるもの(臨
時記号、休符等)。(3)不定型かつ位置も不定のもの
(音符、スラー、タイ等)。これらをそれぞれに適した
方式で、音部記号、拍子認識、音符認識、定型記号認
識、文字列認識、スラー、タイ認識の順に認識する。
【0016】音部記号、拍子認識を最初に行うのは、処
理コストの低い認識を最初に行って、この記号を削除す
ることによって、後の認識の処理コストを軽減するため
と、最初により確実なものを認識することで、後の認識
での誤認識を減らすためである。また、音符認識の後に
定型記号認識を行うのは、ラベルの接触に影響されにく
い認識方式である音符認識を行って、この音符を削除す
ることで、音符に接触した臨時記号等の認識を可能にす
るためである。スラー、タイ認識が最後になっているの
は、処理コストの高いスラー認識の対象になるラベルを
なるべく少なくするためである。また、先に検出された
音符の周りのラベルだけをスラー、タイ認識の対象にす
ることによって、更にスラー、タイ認識の処理コストを
下げ、かつ、スラー、タイの誤認識も減らすことができ
る。
【0017】ステップS11においては、五線に対して
定位置にある記号として、音部記号と拍子記号を認識す
る。該処理においては、まず、求められた五線を含む矩
形領域で縦に黒画素のヒストグラムを取っていき、黒画
素量があるしきい値以上の帯域を、記号が存在する可能
性のある場所としてマッチングの対象とする。マッチン
グは、五線間の数箇所について横方向のペリフェラル特
徴によって行う。ペリフェラル特徴とは、マッチング対
象となる記号のみを含む矩形領域において、左右端から
五線間の数箇所の白画素領域を内方向に走査し、黒画素
領域に達するまでの距離を1次(最初)あるいは数次
(2回目以降)まで求めたものである。また、マッチン
グに失敗した場合には、隣接した帯域を併合して再度認
識を行う。そして、認識された記号は画像データから削
除する。
【0018】ステップS12においては音符認識を行
う。まず、矩形領域を横に走査して、所定の長さ以下の
黒ランを検出し、分離する。分離された画像データは、
横が細い部分であるので、ここから符尾や小節線の候補
になる縦線を検出する。次に、縦に所定の長さ以下の黒
ランを検出し分離する。分離された画像データは細い横
線を構成する部分なので、ここから加線(五線からはみ
出した音符を記載するために付加した横線)やクレッシ
ェンドなどの候補になる横線を検出する。最後に、元の
画像データから検出された縦横の細ランを消せば、画像
中の太い部分(以下太ラベル)が抽出できる。楽譜の場
合、4部音符より短い音符の符頭(以下黒玉符頭)や連
鉤(複数の音符をつなぐ帯)が分離できる。
【0019】黒玉符頭は、太ラベルの境界線についての
座標チェーンデータを求め、この座標データから公知の
方法により楕円式を計算し、この形や太ラベルとのマッ
チング度をとって認識する。和音への対応として、まず
横方向に並んだ和音を認識するために、符尾候補の縦線
により太ラベルを切断する。また縦方向の和音への対応
は、太ラベルのくぼみを検出し、左右のくぼみ同士の組
を作って、これを結ぶ線で太ラベルを切断する。画像が
つぶれている場合など、くぼみが1つ、あるいは全く見
つからなかった場合には、くぼみの位置を推定する。
【0020】2部音符、全音符の符頭(以下白抜き符
頭)は、画像の穴の座標チェーンから楕円式を計算す
る。音符が線上にあるものに対しては、2つの座標チェ
ーンを結合したものから楕円式を計算する。なお、楕円
式を計算して認識する代わりに、ペリフェラル特徴等で
認識しても良いし、和音対策のために太ラベルを切断せ
ずに、そのままの太ラベルを辞書に持っておいても良
い。
【0021】最後に、先に求めた符尾候補と結合して音
符を検出する。連鉤は、これまでに求められた旗を考え
ない音符の符尾の周辺に存在する太ラベルを検出し、こ
れの形状から連鉤の本数を計算する。また、この連鉤に
連結している他の音符も検出する。連結する他の音符が
無い場合には単独の旗を持つ音符と考える。連鉤の本数
により、音符の情報を変更する。この後、分離した横線
を使って音の高さ(加線)やクレッシェンド、横線と縦
線を使ってくり返しかっこ等を認識する。残った縦線か
ら小節線を認識する。そして、認識された記号は画像か
ら削除する。
【0022】ステップS13においては、定型記号認識
が行われる。この処理においては、まず、公知の輪郭線
荷重方向指数を取り、辞書の各記号データについてラベ
ルのサイズと荷重方向指数のマッチング度を計算して、
各マッチング度を正規化し、統合した結果が最も高い記
号を出力する。なお、サイズと荷重方向指数の他に、ペ
リフェラルなどの他の特徴を使っても良い。また、五線
消去によりラベルが切れたものの対策として、五線消去
によって切れたラベルを辞書に登録し、この記号である
と認識された場合には、その周りのラベルを結合して再
認識する。認識された記号は画像から削除する。
【0023】ステップS14においては、文字列認識を
行う。速度記号などの文字列を認識するために、定型記
号認識で認識されたアルファベットその他の記号を使
い、その記号を囲む矩形が文字列状に並んでいるものを
抽出し、これと文字列辞書のマッチングをとることで、
文字列状の記号を、それぞれの構成文字が多少間違って
いても認識できるようにする。
【0024】ステップS15においては、スラータイ認
識を行う。この処理においては、残ったラベルのうち、
検出された音符の周りのラベルに関して、これを細線化
し、これを多円弧近似する。そして、以前に消された記
号により線が切れている場合があるので、求められた多
円弧同士の連結を行う。最後に、求められた円弧の形や
元画像の図の太さ、音符との関係などからスラー、タイ
を認識する。これが認識で最後のルーチンなので、認識
された記号は画像から削除しなくても良いが、認識した
スラー、タイを削除し、この後で再度定型記号認識を行
うようにすれば、スラー、タイと接触した記号を認識す
ることができるようになる。
【0025】ステップS16においては、例えば認識結
果に基づき、楽譜画像データを合成して表示し、正しい
か否かを利用者にチェックさせることにより、OKか否
かが判定され、結果がOKでない場合にはステップS1
7に移行して、マウス、キーボード等を用いて、手動に
より認識結果の修正が行われる。ステップS18におい
ては、演奏データ作成処理が行われる。該処理において
は、認識した各種の記号や音符情報に基づき、例えば公
知の演奏データ形式であるMIDIファイルデータを生
成する。
【0026】図6は、図3のステップS3〜S5の処理
を詳細に示すフローチャートである。ステップS90に
おいては、倍率と濃度の情報を得ると共に、後段におけ
る五線検出の基準データを得るために、まず五線の線幅
と五線の各線間の間幅を検出する。線幅、間幅を求める
ためには、まず、画像上の横(x)方向の数箇所におい
て縦(y)方向に走査し、黒ラン(連続する黒画素)と
白ランの長さを全て求めて、長さ毎に頻度分布(ヒスト
グラム)データを作成する。楽譜上で最も多い記号は五
線であるので、作成された黒ラン長ヒストグラムと、白
ラン長ヒストグラムのピークを検出することで、五線の
線幅、間幅が推定できる。
【0027】ステップS91においては、画質のチェッ
クを行う。画像データの倍率は、例えば間幅から推定可
能であり、また、濃度は線幅と間幅の比から推定するこ
とができる。楽譜の認識処理においては、倍率および濃
度が所定の範囲から外れると認識率が低下してしまうの
で、ステップS91においては、これらの値が、所定の
範囲内に入っているか否かがチェックされる。ステップ
S92においては、ステップS91におけるチェック結
果が画質OKであるか否かが判定され、結果がOKでな
い場合にはステップS93に移行して、倍率あるいは濃
度が不適当であることを表示し、ステップS1に戻っ
て、倍率や濃度を自動であるいは手動により変更して再
取り込みを行う。
【0028】ステップS94においては、五線検出時の
誤差レベルの初期値として、変数level に0を設定し、
ステップS95においては、後述する五線走査開始位置
検出処理が行われる。図2は、五線走査開始位置の検出
動作を示す説明図である。図2を参照して、該処理の概
略を述べると、x軸方向の例えば中点位置で、y軸方向
に黒画素と白画素のラン幅を順に求め、求められた線幅
と間幅が、図2右側に示すように五線状に並んでいる位
置を、ある程度の誤差を考慮して検出する。そして、加
線の影響を除くために、五線状の並びの両側に間幅より
大きな白画素幅があるという条件を加える。この条件に
合う白黒画素の並びがあるx位置の各黒ランの中点を五
線走査開始位置とする。音符等が存在するために、下端
まで走査しても五線が検出されない場合には、x座標を
左右にシフトして検出動作を繰り返す。
【0029】ステップS96においては、後述する五線
シフト量検出処理が行われる。図8は、五線シフト量検
出動作を示す説明図である。図8を参照して、該処理の
概略を述べると、求められたx位置の五線走査開始位置
(5点の黒画素位置)から、1ドットずつ位置を右およ
び左に変えて、黒画素数の合計をチェックしていく。そ
して、5点の内、黒画素がある個数(例えば3あるいは
4個)以下になった場合(図8においてはx座標がx+
n+1の位置で黒画素が0個になっている)には、5点
を上下にずらして黒画素数をチェックし、y座標を黒画
素の割合が高くなる方向へシフトする(図8において
は、5点を下にシフトする)。そして開始位置からのシ
フト量を五線のシフト量とする。五線走査開始位置から
左右に、黒画素個数が0になる位置まで走査することに
より五線の検出を行う。
【0030】図4、5は、図6のステップS95の五線
走査開始位置検出処理を示すフローチャートである。ス
テップS20においては、五線検出を行うx座標を示す
変数xに矩形のx座標の中点の値(xstart)をセット
し、またy軸方向の走査の向きを示す変数xflag に定数
XPLUS (例えば1)をセットする。またその他の変数も
初期化する。ステップS21においては、画素パターン
のポインタである変数ptr に0を、直前(上)の画素値
を表す変数cpに定数BACKGROUND(例えば0:白)を、現
在の画素のラン長を示すlengthに定数THR3(例えば間幅
の2倍)に1を加算した値をセットする。ステップS2
2においては、五線検出を行うy座標の初期値として、
図2に示すように矩形上端の値(0)をセットする。
【0031】ステップS23においては、座標(x,
y)の画素値を変数cにセットする。ステップS24に
おいては、cと上の画素値cpとが等しいか否か、即ち
色の変化が無いか否かが判定され、結果が肯定の場合に
はステップS25に移行して、変数lengthに1を加算
し、ステップS28に移行する。しかし判定結果が否定
の場合にはステップS26に移行し、後述するラン状態
のチェック処理が行われる。ステップS27において
は、チェックの結果、五線が検出されたか否かが判定さ
れ、結果が肯定の場合には図5のステップS42に移行
するが、否定の場合にはステップS28に移行する。ス
テップS28においては、変数yが矩形の下端まで達し
たか否かが判定され、結果が否定の場合にはステップS
29においてyに1が加算され、ステップS23に戻っ
て処理を繰り返すが、肯定の場合にはステップS30に
移行する。
【0032】ステップS30〜35の処理は、矩形の下
端あるいはその近傍に五線が存在した場合においても、
五線を確実に検出するための処理である。ステップS3
0においては、cの値が定数FOREGROUND(例えば1:
黒)であるか否かが判定され、結果が肯定の場合にはス
テップS31のラン状態のチェック処理に移行する。ス
テップS31においては、所定範囲内の黒ラン長が存在
した場合には、後述する処理により、画素パターンのポ
インタptr が1だけ歩進する。ステップS32において
は、五線が検出されたか否かが判定され、結果が否定の
場合にはステップS33に移行する。ステップS33に
おいては、cpにBACKGROUNDをセットし、lengthに定数TH
R3に1を加算した値をセットする。これは、矩形の下端
より下に広い白領域が存在するものと仮定して五線検出
を試みるためである。ステップS34においては、再度
ラン状態のチェック処理が行われ、ステップS35にお
いては、五線が検出されたか否かが判定され、結果が肯
定の場合には図5のステップS42に移行するが、否定
の場合にはステップS36に移行する。
【0033】ステップS36〜41は、下端まで走査し
ても五線が検出されなかった場合に、五線検出を行うx
座標を左右に移動する処理を行う。ステップS36にお
いては、xflag がXPLUS と等しいか否かが判定され、結
果が肯定の場合には、ステップS37でxに1を加算
し、ステップS38に移行する。ステップS38におい
ては、xの値が矩形の右端より大きいか否かが判定さ
れ、結果が肯定の場合にはステップS39に移行して、
xflag に定数XMINUS(例えば0)を、xに(xstart−
1)をセットし、ステップS21に戻る。ステップS3
6において判定結果が否定の場合には、ステップS40
に移行してxから1を減算し、ステップS41において
は、xが矩形の左端より小さいか否かが判定され、結果
が否定の場合にはステップS21に戻るが、肯定の場合
には、xを左右に移動しても五線が検出されなかったの
で、図5のステップS48に移行する。
【0034】図5に移行して、ラン状態のチェックによ
り、五線が検出された場合に移行するステップS42に
おいては、検出された五線の上端と矩形画像の上端との
y幅が定数THR4より大きいか否かが判定され、結果が肯
定の場合にはステップS43に移行する。なお、THR4
は、五線が検出された後、残りの矩形中に更に五線を検
出できるほどの縦方向の隙間があるかどうかを判別する
ためのしきい値であり、例えば五線全体の幅(height =
thick×4 + blank ×4 )の2倍程度の値としてもよ
い。
【0035】ステップS43においては、五線検出を行
う矩形を五線より上の部分に縮小し、ステップS44に
おいては、図4、5に示す五線走査位置検出処理を再帰
的に呼び出す。従って、ステップS44においては、ス
テップS43において縮小された矩形領域において五線
検出処理を行うことになり、この処理の中で更に再帰呼
び出しが行われる可能性もある。ステップS45におい
ては、検出された五線と矩形画像の下端とのy幅がTHR4
より大きいか否かが判定され、結果が肯定の場合にはス
テップS46に移行する。ステップS46においては、
五線検出を行う矩形を五線より下の部分に縮小し、ステ
ップS47においては、五線走査位置検出処理を再帰的
に呼び出す。以上のような再帰呼び出し処理により、全
ての五線が検出される。
【0036】x座標を左右に移動して走査しても五線が
検出されなかった場合には、図4のステップS41から
図5のステップS48に移行する。ステップS48にお
いては、線幅や間幅を検出する際の誤差のレベルを示す
変数level が0(誤差が小さい)であるか否かが判定さ
れ、結果が肯定の場合にはステップS49に移行し、le
vel を1にセットする。そして、ステップS50におい
て、再帰的に五線走査開始位置検出処理を呼び出し、大
きな誤差まで許容する五線検出を行う。
【0037】図7は、図4のステップS26他のラン状
態のチェック処理を示すフローチャートである。ステッ
プS60においては、CPがFOREGROUND、即ち黒画素であ
るか否かが判定され、結果が肯定の場合にはステップS
61に移行する。ステップS61においては、lengthと
五線の線幅thick との差の絶対値を変数error にセット
する。ステップS62においては、error 値が現在のle
vel 値によって参照される定数THR1(level) 以下である
か否かが判定され、結果が肯定の場合にはステップS6
3に移行し、変数kindに線を意味する定数LIN がセット
される。しかし、結果が否定の場合にはステップS64
に移行し、変数kindに五線以外の領域を意味する定数EL
S がセットされる。
【0038】ステップS60における判定結果が否定の
場合にはステップS65に移行する。ステップS65に
おいては、lengthと五線の間幅blank との差の絶対値を
変数error にセットする。ステップS66においては、
error 値が現在のlevel 値によって参照される定数THR2
(level) 以下であるか否かが判定され、結果が肯定の場
合にはステップS67に移行し、変数kindに線間を意味
する定数SPC がセットされる。しかし、結果が否定の場
合にはステップS68に移行する。ステップS68にお
いては、lengthが定数THR3より大きいか否かが判定さ
れ、結果が肯定の場合にはステップS69に移行して、
変数kindに長い白ランを意味する定数LNG がセットされ
る。しかし、結果が否定の場合にはステップS70に移
行し、変数kindに五線以外の領域を意味する定数ELS が
セットされる。なお、定数THR1(level) 、THR2(level)
、THR3の値は例えば、THR1(0)=THR2(0)=thick、THR1
(1)=THR2(1)=thick ×2、THR3=blank×2であってもよ
い。
【0039】ステップS71においては、kindがELS で
あるか否かが判定され、結果が肯定の場合には五線以外
の領域であるので、ステップS78に移行してポインタ
ptrを0にセットし、ステップS79に移行する。ステ
ップS72においては、kindと、ポインタptr によって
参照されるデータアレイstaffarray(ptr) の値とが等し
くないか否かが判定され、結果が肯定の場合にはステッ
プS78に移行するが、否定の場合にはステップS73
に移行する。staffarray(ptr) は、五線走査開始位置に
なる白ラン、黒ランの並びを検出するための辞書配列で
あり、staffArray(11) = (LNG,LIN,SPC,LIN,SPC,LIN,SP
C,LIN,SPC,LIN,LNG)のようなデータ配列を取る。なお、
LNG は充分広い白ラン、LIN は線と考えられる黒ラン、
SPC は線間と考えられる白ランに対応する。
【0040】ステップS73においては、kindがLIN に
等しいか否かが判定され、結果が肯定の場合にはステッ
プS74に移行し、五線位置(直前の黒画素ランの中点
座標)を仮の五線位置バッファに格納する。ステップS
75においては、ポインタptr に1を加算し、ステップ
S76においては、ptr が11になったか否かが判定さ
れる。そして、結果が肯定の場合には、ステップS77
に移行し、五線検出フラグdetectを1にセットするが、
否定の場合にはステップS79に移行する。ステップS
79においては、lengthを0にセットし、cの画素値を
cpにセットする。ステップS80においては、detect
を0にセットする。図2右側に示すような五線を走査し
た場合には、画素の色が変化する度に図7に示すラン状
態のチェック処理が呼び出され、各画素のラン状態がst
affarray(ptr) と一致するので、ptr がカウントアップ
し、11に達すると五線が検出されたものと判断され
る。
【0041】以上、実施例を説明したが、次のような変
形例も考えられる。後の認識でのしきい値の基準となる
五線の線幅および間幅の精度を上げるために、五線検出
後に、求められた五線位置で、線幅および間幅とを再計
算(例えば五線全体の幅から間幅を求める)しても良
い。五線シフト量の検出処理においては、5点のうち
の、黒画素である点の割り合いをチェックしているが、
それぞれの点の上下近傍に黒画素が存在する点の割り合
いを求めるようにしてもよい。
【0042】実施例においては、完全な五線のパターン
を検出したときのみ、五線検出と判断する例を開示した
が、例えば五線の配列の内の3本(LIN,SPC,LIN,SPC,LI
N )以上の線の配列によって五線があると判断し、上下
の広い余白の間の距離が五線幅と一致した場合には加線
や記号が無いと判断できるので、これから五線を検出し
てもよい。五線のシフト量の検出処理の始点としては、
各黒ランの中点とする例を開示したが、偶然に、始点の
線幅が太くあるいは細くなっていた場合には始点座標が
不適切な位置になってしまう。従って、検出した五線幅
の中を線幅および間幅データに基づいて均等に分割した
点を始点としてもよい。
【0043】
【発明の効果】以上述べたように、本発明は、ハンディ
スキャナで楽譜画像データを取り込み、楽譜画像データ
の一部が上下にずれて、五線の傾きが直線状でない場合
であっても、またかすれやつぶれがあっても確実に五線
位置を検出することが可能となるという効果がある。更
に、五線の各部において上下へのシフト量を検出し、該
シフト量に基づき楽譜画像データを修正するので、ハン
ディスキャナによる上下のずれを含む画像データを正確
に修正することができるという効果がある。
【図面の簡単な説明】
【図1】本発明の楽譜認識装置の実施例の構成を示すブ
ロック図である。
【図2】五線走査開始位置の検出動作を示す説明図であ
る。
【図3】CPU1のメイン処理を示すフローチャートで
ある。
【図4】五線走査開始位置検出処理を示すフローチャー
ト(1)である。
【図5】五線走査開始位置検出処理を示すフローチャー
ト(2)である。
【図6】図3のS3〜S5の処理を詳細に示すフローチ
ャートである。
【図7】S26のラン状態のチェック処理を示すフロー
チャートである。
【図8】五線シフト量検出動作を示す説明図である。
【符号の説明】
1…CPU、2…ROM、3…RAM、4…ハードディ
スク装置、5…フロッピディスク装置、6…CRTディ
スプレイ装置、7…CRTインターフェース回路、8…
キーボード、9…キーボードインターフェース回路、1
0…プリンタ、11…プリンタインターフェース回路、
12…スキャナ、13…スキャナインターフェース回
路、14…MIDIインターフェース回路、15…バス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大場 厚始 静岡県浜松市寺島町200番地 株式会社 河合楽器製作所内 (56)参考文献 特開 平1−304498(JP,A) 特開 平6−102868(JP,A) 特開 昭61−62982(JP,A) (58)調査した分野(Int.Cl.7,DB名) G10G 1/00 - 3/04 G10H 1/00 G06K 9/00 - 9/03 Z G06K 9/46 - 9/52 G06K 9/62 - 9/82

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力された楽譜画像データから各種記号
    を認識する楽譜認識装置において、 前記楽譜画像データを五線と直角方向に走査し、黒画素
    および白画素のラン幅を順に検出するラン幅検出手段
    と、 前記ラン幅検出手段によって検出された黒画素および白
    画素のラン幅がそれぞれ、黒画素の基準ラン幅および白
    画素の基準ラン幅に対してそれぞれ第1の所定の誤差内
    および第2の所定の誤差内で一致して五線状に並んでい
    ることを検出するとともに、前記白画素の基準ラン幅に
    対して前記第2の所定の誤差内で一致するラン幅より大
    きい所定のラン幅を超えるラン幅の白画素のランが存在
    することを検出する検出手段とを備え、 前記検出手段による検出結果に基づいて、五線位置とす
    る位置を検出することを特徴とする楽譜認識装置。
  2. 【請求項2】 更に、前記五線位置とされた位置に含ま
    れる複数の座標点を始点として、五線と並行方向に隣接
    する座標点の画素を順に走査し、五線上であることを示
    す黒画素の割合が所定値以下になった場合には、割合が
    最大となるように前記座標点を上あるいは下にシフトさ
    せると共に、シフト量を記録するシフト量検出手段と、 前記シフト量に基づき、前記楽譜画像データを修正する
    傾き補正手段とを含むことを特徴とする請求項1に記載
    の楽譜認識装置。
  3. 【請求項3】 前記検出手段は、前記五線位置とする位
    置が検出されなかった場合には、前記第1の所定の誤差
    および前記第2の所定の誤差の値を大きくして再度検出
    を試みることを特徴とする請求項1に記載の楽譜認識装
    置。
JP27513495A 1995-09-29 1995-09-29 楽譜認識装置 Expired - Fee Related JP3411736B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27513495A JP3411736B2 (ja) 1995-09-29 1995-09-29 楽譜認識装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27513495A JP3411736B2 (ja) 1995-09-29 1995-09-29 楽譜認識装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003030970A Division JP3812835B2 (ja) 2003-02-07 2003-02-07 楽譜認識装置

Publications (2)

Publication Number Publication Date
JPH0997059A JPH0997059A (ja) 1997-04-08
JP3411736B2 true JP3411736B2 (ja) 2003-06-03

Family

ID=17551174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27513495A Expired - Fee Related JP3411736B2 (ja) 1995-09-29 1995-09-29 楽譜認識装置

Country Status (1)

Country Link
JP (1) JP3411736B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3796001B2 (ja) * 1997-04-17 2006-07-12 ローランド株式会社 自動演奏装置のマーカー操作装置
JP4738135B2 (ja) * 2005-10-26 2011-08-03 株式会社河合楽器製作所 楽譜認識装置および楽譜認識プログラム

Also Published As

Publication number Publication date
JPH0997059A (ja) 1997-04-08

Similar Documents

Publication Publication Date Title
JP3278471B2 (ja) 領域分割方法
JP5154886B2 (ja) 楽譜認識装置及びコンピュータプログラム
JP2001109844A (ja) 文字列抽出方法、手書き文字列抽出方法、文字列抽出装置、および画像処理装置
US6947596B2 (en) Character recognition method, program and recording medium
JPH08287184A (ja) 画像切り出し装置及び文字認識装置
JP2003242438A (ja) 楽譜認識装置
JP3411736B2 (ja) 楽譜認識装置
JP3445039B2 (ja) 楽譜認識装置
JP3608674B2 (ja) 楽譜認識装置
JP3812836B2 (ja) 楽譜認識装置
JP3812835B2 (ja) 楽譜認識装置
JP3709991B2 (ja) 楽譜認識装置
US6580805B1 (en) Method and recognizing music and computer-readable recording medium having music-recognizing program recorded therein
JP3613356B2 (ja) 楽譜認識装置
EP0601730A1 (en) Image processing method for correcting character slant
JP3558834B2 (ja) 楽譜認識方法及び楽譜認識プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4070486B2 (ja) 画像処理装置、画像処理方法及び同方法の実行に用いるプログラム
JP3019897B2 (ja) 行切出し方法
JP5248074B2 (ja) 楽譜認識装置、楽譜認識方法、及びコンピュータプログラム
JP3597354B2 (ja) 楽譜認識方法及び楽譜認識プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11250179A (ja) 文字認識装置および文字認識方法
JP2755299B2 (ja) 画像処理方法
JP3071479B2 (ja) 行間スペース検出方法
JP3024234B2 (ja) 文書画像の罫線抽出装置
JPH0433082A (ja) 文書認識装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080320

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090320

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100320

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100320

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110320

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120320

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120320

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130320

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130320

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20140320

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees