(57)【要約】【課題】全体の視認性を低下させずに、ユーザが指定した部分だけ拡大表示して確認する。【解決手段】楽譜表示装置に設けられたＣＰＵ１１は、画面上に表示された楽譜の任意の箇所が指定された際に、この指定された箇所を基準として楽譜の拡大表示の対象となる範囲である元領域を設定する元領域設定部１１ａと、元領域に対応した画面上の表示先領域を設定する表示先領域設定部１１ｂと、元領域内の楽譜を抽出し、画面上の表示先領域に拡大表示する表示制御部１１ｃとを備える。【選択図】図２
2015060189.tif 000002
【特許請求の範囲】
【請求項１】
楽譜のデータが記憶された楽譜データ記憶手段と、
画面上に表示された楽譜の任意の箇所を指定する指定手段と、
この指定手段によって指定された箇所を基準として、上記楽譜データ記憶手段に記憶された楽譜の拡大表示の対象となる範囲である元領域を設定する元領域設定手段と、
この元領域設定手段によって設定された上記元領域に対応した画面上の表示先領域を設定する表示先領域設定手段と、
上記元領域内の楽譜を、上記表示先領域設定手段によって設定された画面上の表示先領域に拡大表示する表示制御手段と
を具備したことを特徴とする楽譜表示装置。
【請求項２】
上記元領域設定手段は、
上記楽譜の中で上記指定箇所が属する小節を判断し、その小節を拡大表示対象として上記元領域を設定することを特徴とする請求項１記載の楽譜表示装置。
【請求項３】
上記元領域設定手段は、
上記小節が複数のパートから構成されている場合に上記指定箇所と上記各パートとの位置関係に応じて上記元領域を設定することを特徴とする請求項１または２記載の楽譜表示装置。
【請求項４】
上記元領域設定手段は、
上記指定箇所が上記各パートのいずれかのパートの五線譜上にある場合に、そのパートを拡大表示対象として上記元領域を設定することを特徴とする請求項３記載の楽譜表示装置。
【請求項５】
上記元領域設定手段は、
上記指定箇所が上記各パートの五線譜の間にある場合に、すべてのパートを拡大表示対象として上記元領域を設定することを特徴とする請求項３記載の楽譜表示装置。
【請求項６】
上記表示先領域設定手段は、
上記楽譜の中で上記指定箇所が属する小節を判断し、その小節内の音符に重ならない位置に上記表示先領域を設定することを特徴とする請求項１記載の楽譜表示装置。
【請求項７】
上記表示先領域設定手段は、
上記小節内の最高音の音符または最低音の音符を検索し、その音符の位置を基準にして上記表示先領域を設定することを特徴とする請求項６記載の楽譜表示装置。
【請求項８】
上記表示制御手段は、
上記元領域に対応した上記楽譜の一部を上記表示先領域に拡大表示したときに、上記元領域に対応した上記楽譜の一部を他の部分と区別して表示することを特徴とする請求項１から７のいずれかに記載の楽譜表示装置。
【請求項９】
楽譜のデータが記憶された楽譜データ記憶手段と接続された楽譜表示装置において実行される楽譜表示方法であって、
該楽譜表示装置が、
画面上に表示された楽譜の任意の箇所が指定された際に、この指定された箇所を基準として、上記楽譜データ記憶手段に記憶された楽譜の拡大表示の対象となる範囲である元領域を設定し、
上記元領域に対応した画面上の表示先領域を設定し、
上記元領域内の楽譜を上記画面上の表示先領域に拡大表示する
ことを特徴とする楽譜表示方法。
【請求項１０】
楽譜のデータが記憶された楽譜データ記憶手段と接続されたコンピュータによって実行される楽譜表示用のプログラムであって、
上記コンピュータに、
画面上に表示された楽譜の任意の箇所が指定された際に、この指定された箇所を基準として、上記楽譜データ記憶手段に記憶された楽譜の拡大表示の対象となる範囲である元領域を設定する機能と、
上記元領域に対応した画面上の表示先領域を設定する機能と、
上記元領域内の楽譜を上記画面上の表示先領域に拡大表示する機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面上に任意の楽譜を表示する楽譜表示装置と、同装置に用いられる楽譜表示方法及びプログラムに関する。
【背景技術】
【０００２】
従来より画面上に任意の楽譜を所定の配置で表示し、曲の進行に合わせて上記配置された楽譜の一部を順次更新して表示する楽譜表示装置が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３４６３５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した従来の楽譜表示装置にて楽譜を表示する場合に、あらかじめ定められた配置として、全体の視認性を求めて広い範囲を表示するようにすると、楽譜の細部が見づらくなる。特に、複数のパートからなる楽曲の楽譜では、各パートの間隔が狭くなり、また、各五線譜の線と線の間隔も極めて狭くなり、音符がどの高さを表しているかも曖昧となり、その他の種々の音楽記号も含めて非常に見づらい。一方、細部を見やすくために狭い範囲を大きく表示する設定とすると、楽譜全体が画面内に収まらずに視認性を低下させてしまう。
【０００５】
本発明は上記のような点に鑑みなされたもので、全体の視認性を低下させずに、ユーザが指定した部分だけ拡大表示して確認することのできる楽譜表示装置、楽譜表示方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る楽譜表示装置は、画面上に表示された楽譜の任意の箇所を指定する指定手段と、この指定手段によって指定された箇所を基準にして上記楽譜の中の拡大表示の対象範囲を示す元領域を設定する元領域設定手段と、この元領域設定手段によって設定された上記元領域に対応した表示先領域を設定する表示先領域設定手段と、上記元領域に対応した上記楽譜の一部を抽出し、上記表示先領域設定手段によって設定された上記表示先領域に拡大表示する表示制御手段とを具備する。
【発明の効果】
【０００７】
本発明によれば、楽譜全体の視認性を低下させずに、ユーザの指定された部分を拡大表示して確認することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は本発明の第１の実施形態に係る楽譜表示装置の構成を示すブロック図である。
【図２】図２は第１の実施形態における楽譜表示装置に備えられたＣＰＵの機能構成を示すブロック図である。
【図３】図３は第１の実施形態における楽譜表示装置の表示画面に関する制御変数を示す図である。
【図４】図４は第１の実施形態における楽譜表示装置の楽譜画像に関する制御変数を示す図である。
【図５】図５は第１の実施形態における楽譜表示装置の小節情報の構成を示す図である。
【図６】図６は第１の実施形態における楽譜表示装置の演奏情報の構成を示す図である。
【図７】図７は第１の実施形態における楽譜表示装置の現在表示中の楽譜画像に設定される拡大表示の元領域と表示先領域との関係を示す図である。
【図８】図８は第１の実施形態における楽譜表示装置の現在表示中の楽譜画像に設定される拡大表示の元領域と表示先領域との関係を示す図である。
【図９】図９は第１の実施形態における楽譜表示装置のＣＰＵによって実行されるメイン処理を示すフローチャートである。
【図１０】図１０は第１の実施形態における上記図９のステップＡ１３で実行される楽譜画像表示処理を示すフローチャートである。
【図１１】図１１は第１の実施形態における楽譜表示装置の楽譜画像として用いられる元画像とディスプレイ画面との関係を示す図である。
【図１２】図１２は第１の実施形態における上記図９のステップＡ１６で実行される部分拡大表示処理を示すフローチャートである。
【図１３】図１３は第１の実施形態における上記図１２のステップＣ１４で実行される元領域設定処理を示すフローチャートである。
【図１４】図１４は第１の実施形態における上記元領域設定処理によって設定される元領域を説明するための図である。
【図１５】図１５は第１の実施形態における上記元領域が楽譜画像領域の左側からはみ出した状態を説明するための図である。
【図１６】図１６は第１の実施形態における上記図１２のステップＣ１５で実行される表示先領域設定処理を示すフローチャートである。
【図１７】図１７は第１の実施形態における上記図１２のステップＣ１５で実行される表示先領域設定処理を示すフローチャートである。
【図１８】図１８は第１の実施形態における上記表示先領域設定処理によって設定される表示先領域を説明するための図である。
【図１９】図１９は第１の実施形態における上記表示先領域を指定箇所より上に設定する処理を説明するための図である。
【図２０】図２０は第１の実施形態における上記表示先領域を指定箇所より下に設定する処理を説明するための図である。
【図２１】図２１は本発明の第２の実施形態における現在表示中の楽譜画像に設定される拡大表示の元領域を示す図である。
【図２２】図２２は第２の実施形態における現在表示中の楽譜画像に設定される拡大表示の元領域を示す図である。
【図２３】図２３は第２の実施形態における上記図９のステップＡ１６で実行される部分拡大表示処理を示すフローチャートである。
【図２４】図２４は第２の実施形態における上記図２３のステップＦ１４で実行される小節番号取得処理を示すフローチャートである。
【図２５】図２５は第２の実施形態における指定箇所が属する小節について説明するための図であり、図２５（ａ）は２つのパートを有する楽曲の楽譜を例とした図、同図（ｂ）は３つのパートを有する楽曲の楽譜を例とした図である。
【図２６】図２６は第２の実施形態における上記図２３のステップＦ１７で実行される元領域設定処理（楽譜考慮）を示すフローチャートである。
【図２７】図２７は第２の実施形態における上記図２３のステップＦ１７で実行される元領域設定処理（楽譜考慮）を示すフローチャートである。
【図２８】図２８は第２の実施形態における上記元領域設定処理（楽譜考慮）によって設定される元領域を説明するための図である。
【図２９】図２９は第２の実施形態における上記元領域設定処理（楽譜考慮）によって設定されるパートを考慮した元領域を説明するための図である。
【図３０】図３０は第２の実施形態における上記元領域設定処理（楽譜考慮）によって設定される小節内に含まれる各音の位置を考慮した元領域を説明するための図である。
【図３１】図３１は本発明の第３の実施形態における現在表示中の楽譜画像に設定される表示先領域を示す図である。
【図３２】図３２は第３の実施形態における現在表示中の楽譜画像に設定される表示先領域を示す図である。
【図３３】図３３は第３の実施形態における上記図９のステップＡ１６で実行される部分拡大表示処理を示すフローチャートである。
【図３４】図３４は第３の実施形態における上記図３３のステップＩ１８で実行される表示先領域設定処理（楽譜考慮）を示すフローチャートである。
【図３５】図３５は第３の実施形態における上記図３３のステップＩ１８で実行される表示先領域設定処理（楽譜考慮）を示すフローチャートである。
【図３６】図３６は第３の実施形態における上記表示先領域設定処理（楽譜考慮）によって指示箇所の上に設定される表示先領域を示す図である。
【図３７】図３７は第３の実施形態における上記表示先領域設定処理（楽譜考慮）によって指示箇所の下に設定される表示先領域を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施形態について説明する。
【００１０】
（第１の実施形態）
図１は本発明の第１の実施形態に係る楽譜表示装置の構成を示すブロック図である。図中の１０は楽譜表示装置全体を示す。
【００１１】
楽譜表示装置１０は、例えばＰＣ（パーソナルコンピュータ）で構成される。この楽譜表示装置１０には、主制御部であるＣＰＵ１１と、このＣＰＵ１１に接続されるＲＡＭ１２、ＲＯＭ１３、入力部１４、表示部１５などが設けられている。
【００１２】
ＣＰＵ１１は、ＲＯＭ１３に記憶された各種プログラム１３ａを起動し、入力部１４から入力されるイベントに従って各種処理を実行する。本実施形態において、このＣＰＵ１１には、楽譜表示を実現するための各種機能が備えられている（図２参照）。
【００１３】
ＲＡＭ１２には、ＣＰＵ１１の処理に必要な各種データが記憶される。このＲＡＭ１２には、後述する楽譜の画像データや演奏情報などが記憶される。ＲＯＭ１３には、各種プログラム１３ａなどが記憶されている。上記各種プログラム１３ａには、本発明の楽譜表示制御用のプログラムも含まれる。
【００１４】
入力部１４は、例えばキーボードやマウスなどの入力デバイスであり、ユーザの入力操作に対応したイベントを発生してＣＰＵ１１に与える。表示部１５は、例えばＬＣＤ（Liquid Crystal Display）等のカラー表示可能な表示デバイスからなり、所定サイズの画面を有する。ここで、本実施形態では、入力部１４としてタッチパネルを用い、そのタッチパネルが表示部１５の画面上に載置された構成を想定している。
【００１５】
図２はＣＰＵ１１の機能構成を示すブロック図である。ＣＰＵ１１には、楽譜表示に関わる機能構成として、元領域設定部１１ａと、表示先領域設定部１１ｂと、表示制御部１１ｃとが設けられている。
【００１６】
元領域設定部１１ａは、画面上に表示された楽譜の任意の箇所が指定された際に、その指定された箇所を基準として、ＲＡＭ１２に記憶された楽譜の拡大表示の対象となる範囲である元領域を設定する。表示先領域設定部１１ｂは、元領域設定部１１ａによって設定された画面上の元領域に対応した表示先領域を設定する。表示制御部１１ｃは、元領域内の楽譜を抽出し、表示先領域設定部１１ｂによって設定された画面上の表示先領域に拡大表示する。
【００１７】
図３は表示画面に関する制御変数を示す図である。なお、以下の各図における変数は、構造体形式やクラスで定義される変数で実現される例を示している。
【００１８】
表示画面に関する制御変数として、「表示中のページ」，「前回の指示時刻」，「ディスプレイ上のｘ方向楽譜表示開始座標」，「ディスプレイ上のｙ方向楽譜表示開始座標」，「ディスプレイ上の楽譜表示幅」，「ディスプレイ上の楽譜表示高さ」，「ページ数」，「各ページの画像データ」，「元画像に対する表示倍率」，「元画像のｘ方向表示開始座標」，「元画像のｙ方向表示開始座標」，「元画像のｘ方向の表示幅」，「元画像のｙ方向の表示幅」が図３に示すような変数で定義されている。これらの変数に関するデータは、例えばＲＡＭ１２内の図示せぬ表示画面制御領域に記憶されている。
【００１９】
図４は楽譜画像に関する制御変数を示す図である。
【００２０】
楽譜画像に関する制御変数として、「画像データ」，「幅」，「高さ」が図４に示すような変数で定義されている。これらの変数に関するデータは、例えばＲＡＭ１２内の図示せぬ楽譜画像制御領域に記憶されている。
【００２１】
図５は小節情報の構成を示す図である。
【００２２】
楽譜のデータは小節単位で管理されている。図中の“Ｍｅａｓ［Ｎ］”のＮは小節の番号を表している。各小節の「（存在する）ページ番号」，「元画像上での小節の矩形座標（Ｌｅｆｔ／Ｔｏｐ／Ｒｉｇｈｔ／Ｂｏｔｔｏｍ）」，「段番号」，「元画像上での右手パートの最上部五線のｙ座標」，「元画像上での右手パートの最下部五線のｙ座標」，「元画像上での左手パートの最上部五線のｙ座標」，「元画像上での左手パートの最下部五線のｙ座標」，「小節先頭の時刻」，「小節の長さ（時間）」が図５に示すような変数で定義されており、これらの変数に関するデータが例えばＲＡＭ１２内の図示せぬ小節管理領域に記憶されている。なお、ここでは、ピアノ用の大譜表（２段譜）の場合を想定しているので、右手用と左手用の五線のｙ座標を記憶しているが、より多段の楽譜の場合、例えば、各段の上下の五線の位置を記憶しているようにしても良い。
【００２３】
図６は演奏情報の構成を示す図である。
【００２４】
演奏情報は、楽譜の各音符を発音するための情報であり、音符単位で管理されている。図中の“Ｎｏｔｅ［Ｎ］”のＮは音符（ノート）番号を表している。各音符の「発音開始時間」，「発音継続時間」，「音高」，「トラック番号（１：右手用，２：左手用）」，「小節番号」，「元画像上での玉のｘ座標」，「元画像上での玉のｙ座標」が図６に示すような変数で定義されており、これらの変数に関するデータが例えばＲＡＭ１２内の図示せぬ演奏情報管理領域に記憶されている。
【００２５】
ここで、楽譜演奏装置１０の動作を説明する前に理解を容易にするため、本発明の楽譜の拡大表示方法について具体例を挙げて説明する。
【００２６】
図７は現在表示中の楽譜画像に設定される拡大表示の元領域と表示先領域との関係を示す図である。
【００２７】
図中の２０が楽譜画像である。この楽譜画像２０は、複数段（ここでは２段）からなる任意の楽譜をイメージ化したものであり、表示部１５の画面内に所定のサイズで表示される。ユーザが画面上の楽譜画像２０の任意の箇所２１を指でタッチして指定すると、その指定箇所２１を基準にして矩形状の元領域２２と、この元領域２２に対応した矩形状の表示先領域２３が設定される。
【００２８】
元領域２２は、楽譜画像２０の中の拡大表示の対象範囲を示す。表示先領域２３は、拡大表示先の範囲を示す。元領域２２と表示先領域２３が設定されると、元領域２２内の楽譜画像２０の一部が抽出され、表示先領域２３内に拡大表示される。このとき、元領域２２内が所定の色で塗り潰しされる（図中の斜線で示す部分）。
【００２９】
ここで、第１の実施形態において、元領域２２は、指定箇所２１を中心にして固定のサイズである。表示先領域２３は、指定箇所２１の近傍に元領域２２に重ならない場所に設定される。ただし、表示先領域２３が楽譜画像２０の範囲を超える場合には他の場所に設定される。このときの例を図８に示す。
【００３０】
図８は現在表示中の楽譜画像に設定される拡大表示の元領域と表示先領域との関係を示す図であり、表示先領域を指示箇所の下に設定した例を示している。
【００３１】
例えば、ユーザが画面上の楽譜画像２０の上部付近を指でタッチして指定したとする。このような場合、指定箇所２１を基準にして元領域２２の上に表示先領域２３を設定すると、楽譜画像２０の範囲からはみ出してしまうため、元領域２２の下に表示先領域２３が設定される。
【００３２】
以下に、第１の実施形態における楽譜表示装置１０の動作について、（ａ）メイン処理、（ｂ）楽譜画像表示処理、（ｃ）部分拡大表示処理に分けて詳しく説明する。なお、以下の各フローチャートで示される処理は、楽譜表示装置１０に設けられたＣＰＵ１１がＲＯＭ１３に記憶されたプログラム１３ａを読み込むことにより実行される。
【００３３】
（ａ）メイン処理
図９は楽譜表示装置１０のＣＰＵ１１によって実行されるメイン処理を示すフローチャートである。
【００３４】
まず、ＣＰＵ１１は、電源投入時のイニシャライズとして、図３から図６に示した各種制御変数を必要に応じて初期化した後（ステップＡ１１）、所定の操作により選択された楽譜の画像データをＲＡＭ１２から読み込み（ステップＡ１２）、表示部１５の画面上に表示する（ステップＡ１３）。詳しくは、後に図１０を参照して説明する。
【００３５】
ここで、ユーザのタッチ操作により部分拡大が指示されると（ステップＡ１５のＹｅｓ）、ＣＰＵ１１は、現在表示中の楽譜画像３０の一部を拡大表示する（ステップＡ１６）。この部分拡大表示処理については、後に図１２などを参照して詳しく説明する。また、所定の操作により終了指示があると（ステップＡ１４のＹｅｓ）、ここでの一連の処理が終了する。
【００３６】
（ｂ）楽譜画像表示処理
図１０は上記図９のステップＡ１３で実行される楽譜画像表示処理を示すフローチャートである。
【００３７】
いま、図１１に示すように、楽譜画像として用いられる元画像４１内の一部をディスプレイ画面４２（表示部１５の画面）に表示する場合を想定する。なお、各変数の定義は図３に従う。ただし、簡単のため、構造体名（例えば図３のｓｃｏｒｅＣｔｒｌなど）は、適宜省略して、メンバ変数のみで説明する。
【００３８】
まず、ＣＰＵ１１は、ディスプレイ画面４２内の画像表示エリア４４の始点の座標（ｓｃｒＸ，ｓｃｒＹ）と、縦横サイズ（ｓｃｒＳＸ，ｓｃｒＳＹ）を設定する（ステップＢ１１）。例えば、ＰＣで作動しているアプリケーションのウィンドウの所定の楽譜表示エリアなどに基づいて設定される。続いて、ＣＰＵ１１は、楽譜表示する元画像４１内の始点の座標（ｘ，ｙ）を設定する（ステップＢ１２）。具体的には、例えば、現在表示すべき楽譜のページ番号や小節番号などに応じて定められる。
【００３９】
ここで、ＣＰＵ１１は、元画像４１に対する表示倍率（Ｓｃａｌｅ）を取得し（ステップＢ１３）、その表示倍率に従って元画像４１の中で楽譜表示する矩形領域を決定し（ステップＢ１４）、その矩形領域内の画像４３を楽譜画像２０としてディスプレイ画面４２上の画像表示エリア４４に展開して表示する（ステップＢ１５）。
【００４０】
具体的には、ユーザの設定や、アプリケーションによって設定された表示倍率（Ｓｃａｌｅ）に基づき、ステップＢ１２で設定された元画像４１内の始点の座標（ｘ，ｙ）から、画面表示する縦横サイズ（ｓｃｒＳＸ，ｓｃｒＳＹ）をスケール変換したサイズの画像部分を画像表示する矩形領域として決定し、表示倍率（Ｓｃａｌｅ）により拡大縮小を施してディスプレイ画面４２上の画像表示エリア４４に展開して表示する。
【００４１】
この図１０に示した一連の処理によって、楽譜画像として用いられる元画像４１内の一部が、ディスプレイ画面４２（表示部１５の画面）に表示される。
【００４２】
（ｃ）部分拡大表示処理
図１２は上記図９のステップＡ１６で実行される部分拡大表示処理を示すフローチャートである。
【００４３】
先に説明した図１０の楽譜画像表示処理によって、表示部１５の画面上に任意の楽譜画像２０が表示された状態で（ステップＣ１１）、ＣＰＵ１１は以下のような処理を実行する。
【００４４】
すなわち、ＣＰＵ１１は、ユーザが指定した箇所２１のディスプレイ画面４２（表示部１５の画面）上の指示座標を、タッチパネルの入力位置座標情報に基づいて取得し（ステップＣ１２）、その指示座標を元画像４１上の座標に変換する（ステップＣ１３）。詳しくは、図１１に示した元画像４１とディスプレイ画面４２との相対関係からディスプレイ画面４２上の指示座標に対応した元画像４１上の座標を算出する。
【００４５】
ここで、元画像４１の座標系において、ＣＰＵ１１は、ユーザが指定した箇所２１（指示座標）に基づいて拡大表示の対象となる元領域２２を設定するための元領域設定処理と（ステップＣ１４）、この元領域２２に対する表示先領域２３を設定するための表示先領域設定処理を実行する（ステップＣ１５）。なお、元領域設定処理については、後に図１３を参照して詳しく説明する。また、表示先領域設定処理については、後に図１６および図１７を参照して詳しく説明する。
【００４６】
元領域２２と表示先領域２３がそれぞれ設定されると、ＣＰＵ１１は、元画像４１の楽譜画像２０内の元領域２２を抽出し、これをディスプレイ画面４２上の表示先領域２３に対応した箇所に拡大表示する（ステップＣ１６）。
【００４７】
その際、ＣＰＵ１１は、元画像４１内の元領域２２の矩形領域をディスプレイ画面４２の座標に変換し（ステップＣ１７）、元領域２２に対応した箇所を他の部分と区別して所定の色で塗り潰す（ステップＣ１８）。これにより、楽譜画像２０のどの部分が拡大表示の対象となっているのかを視覚的に把握することができる。
【００４８】
以下に、元領域設定処理と表示先領域設定処理について詳しく説明する。なお、これらの処理については、すべて元画像４１の座標系を使って行われる。
【００４９】
（元領域設定処理）
図１３は上記図１２のステップＣ１４で実行される元領域設定処理を示すフローチャートである。
【００５０】
まず、ＣＰＵ１１は、ディスプレイ画面４２（表示部１５の画面）上でユーザが指定した箇所２１の、元画像４１上における座標（指示点のｘ，ｙ座標）を取得する（ステップＤ１１）。具体的には、ディスプレイ画面上のタッチされた位置をタッチパネルにより検出し、そのタッチ位置座標を、元画像４１とディスプレイ画面４２との対応関係に基づいて、タッチされた位置に相当する元画像上における位置座標を算出する。その後ＣＰＵ１１は、矩形領域の規定表示サイズを取得する（ステップＤ１２）。具体的には、例えば、あらかじめ、ユーザの指定した位置を中心として、どのくらいの範囲（幅／高さ）の画像を表示させるかが定められていて、その規定のサイズを読み出すこと等により行う。
【００５１】
次に、ＣＰＵ１１は、現在画面上に表示されている楽譜の画像領域に対応した元画像４１上の４辺（左辺，右辺，上辺，下辺）の座標（左辺／右辺のｘ座標、上辺／下辺のｙ座標）を取得すると共に（ステップＤ１３）、指定箇所２１の座標を中心にして、拡大表示すべき領域つまり元領域２２（矩形領域）の４辺（左辺，右辺，上辺，下辺）の座標を取得する（ステップＤ１４）。
【００５２】
このときの様子を図１４に示す。  
いま、元画像４１上における指定箇所２１の座標を（ｘｃ，ｙｃ）とすると、その座標を中心にして上記規定表示サイズだけ広げた矩形領域が拡大表示の対象範囲を示す元領域２２として得られる。この元領域２２（矩形領域）の４辺（左辺，右辺，上辺，下辺）の座標を「SrcRect.left，SrcRect.right，SrcRect.top，SrcRect.bottom」とする。
【００５３】
ここで、ＣＰＵ１１は、ステップＤ１４で取得した元領域２２が、ステップＤ１３で取得した、現在表示中の楽譜画像領域内に収まっているか否かを判断する。その結果、元領域２２が楽譜画像領域内に収まっていれば、現在の座標位置で確定される。
【００５４】
一方、元領域２２が楽譜画像領域内に収まっていなければ、元領域２２は現在表示している楽譜領域からはみ出していることになるので、ＣＰＵ１１は、楽譜画像領域内に収めるように元領域２２の座標位置を修正する。すなわち、例えば楽譜画像領域の左側からはみ出している場合には（ステップＤ１５のＹｅｓ）、ＣＰＵ１１は、元領域２２をそのはみ出し分だけ右にずらす（ステップＤ１６）。
【００５５】
このときの様子を図１５に示す。  
元領域２２が楽譜画像領域の左側（bmp L）からはみ出している場合に、そのはみ出し分を修正量（Offset）として右にずらすものとする。
【００５６】
同様にして、ＣＰＵ１１は、元領域２２が楽譜画像領域の上側からはみ出している場合には下にずらし（ステップＤ１７，Ｄ１８）、楽譜画像領域の右側からはみ出している場合には左にずらし（ステップＤ１９，Ｄ２０）、楽譜画像領域の下側からはみ出している場合には上にずらして（ステップＤ２１，Ｄ２２）、楽譜画像領域内に収めるように元領域２２の座標を修正する。
【００５７】
以上の処理により、元の楽譜画像上において、拡大する元領域が設定される。
【００５８】
（表示先領域設定処理）
図１６および図１７は上記図１２のステップＣ１５で実行される表示先領域設定処理を示すフローチャートである。
【００５９】
まず、ＣＰＵ１１は、ディスプレイ画面４２（表示部１５の画面）上でユーザが指定した箇所２１の元画像４１上の座標（指示点のｘ，ｙ座標）を取得する（ステップＥ１１）。また、ＣＰＵ１１は、拡大表示の表示先領域のディスプレイ画面４２上のサイズに所定の倍率をかけて元画像４１でのサイズに置き換える（ステップＥ１２）。具体的には、ステップＢ１３にて求めた、元画像と表示画像との表示倍率（ｓｃａｌｅ）に基づいて、ディスプレイ画面４２上の表示領域のサイズを、元画像４１でのサイズに変換する。
【００６０】
次に、ＣＰＵ１１は、現在画面上に表示されている楽譜の画像領域に対応した元画像４１上の４辺（左辺，右辺，上辺，下辺）の座標（左辺／右辺のｘ座標、上辺／下辺のｙ座標）を取得すると共に（ステップＥ１３）、指定箇所２１のＸ座標から表示先領域（矩形領域）の左辺と右辺の座標を取得する（ステップＥ１４）。
【００６１】
このときの様子を図１８に示す。  
いま、元画像４１上における指定箇所２１の座標を（ｘｃ，ｙｃ）とし、表示先領域２３の幅サイズをdestｗとする。指定箇所２１のＸ座標から左右にdestｗ／２だけ広げた位置が表示先領域２３（矩形領域）の左辺，右辺の座標（destRect.left，destRect.right）として得られる。
【００６２】
表示先領域２３（矩形領域）の左辺，右辺の座標が得られると、続いてＣＰＵ１１は、表示先領域２３を指定箇所２１より上に表示する仮定で表示先領域２３の下辺の座標を所定のマージンを考慮して設定するとともに（ステップＥ１５）、その下辺の座標を基準にして上辺の座標を設定する（ステップＥ１６）。
【００６３】
このときの様子を図１９に示す。  
表示先領域２３の高さサイズをdestｈとすると、指定箇所２１の座標（ｘｃ，ｙｃ）から上方向に所定のマージン（margin）分だけ移動させた位置が表示先領域２３の下辺座標（destRect.bottom）となる。また、この下辺座標（destRect.bottom）から高さdestｈの分だけ上げた位置が表示先領域２３の上辺座標（destRect.top）となる。なお、実際には、例えば、所定のマージン（margin）としては、拡大元領域２２のサイズを考慮した値とすることができる。
【００６４】
ここで、ＣＰＵ１１は、表示先領域２３が現在表示中の楽譜画像領域内に収まっているか否かを判断する。その結果、表示先領域２３が楽譜画像領域内に収まっていれば、現在の座標位置で確定される。
【００６５】
一方、表示先領域２３が楽譜画像領域内に収まっていなければ、ＣＰＵ１１は、楽譜画像領域内に収めるように元領域２２の座標位置を修正する。すなわち、例えば楽譜画像領域の左側からはみ出している場合には（ステップＥ１８のＹｅｓ）、ＣＰＵ１１は、表示先領域２３をそのはみ出し分だけ右にずらす（ステップＥ１９）。
【００６６】
また、楽譜画像領域の上側からはみ出している場合には（ステップＥ２０のＹｅｓ）、ＣＰＵ１１は、指定箇所の下に表示するように表示先領域２３の上辺と下辺の座標を再設定する（ステップＥ２１，Ｅ２２）。
【００６７】
このときの様子を図２０に示す。  
表示先領域２３が楽譜画像領域の上側から出てしまう場合には、指定箇所２１の座標（ｘｃ，ｙｃ）から下方向に所定のマージン（margin）分だけ移動させた位置を表示先領域２３の上辺座標（destRect.top）として再設定する。また、この上辺座標（destRect.top）から高さdestｈの分だけ下げた位置を表示先領域２３の下辺座標（destRect.bottom）として再設定する。
【００６８】
なお、本フローチャートでは、このようにして下方向に表示させた結果、下側にはみ出した場合の判定を行っていないが、これは、上記のように、当初上側に拡大表示を行うべく座標の計算を行い、その結果、上側にはみ出た場合にのみ下側に表示するようにしているため、下側にはみ出た時点で、上も下も、どちらへ持って行ってもはみ出てしまうことを意味している。従って、そのような場合は、例えば、はみ出ることは承知の上で、片方側（例えば、そのまま下側）に表示できる部分だけ表示するようにする。
【００６９】
また、楽譜画像領域の右側からはみ出している場合には（ステップＥ２３のＹｅｓ）、ＣＰＵ１１は、表示先領域２３をそのはみ出し分だけ左にずらす（ステップＥ２４）。
【００７０】
このようにして、元領域２２と表示先領域２３が設定されると、図１２のステップＣ１６〜Ｃ１８で説明したように、元領域２２内の楽譜画像２０の一部が抽出されてディスプレイ画面４２上の表示先領域２３に対応した箇所に拡大表示される。その際、ディスプレイ画面４２上の元領域２２に対応した箇所が所定の色で塗り潰される。
【００７１】
このように第１の実施形態によれば、画面上に楽譜が表示された状態で、ユーザがタッチ操作により任意の箇所を指定すると、その指定箇所を基準にして楽譜の中の拡大表示の対象範囲を示す第１の領域（元領域２２）と拡大表示先の第２の領域（表示先領域２３）が設定され、第１の領域内の楽譜の一部が第２の領域に拡大表示される。
【００７２】
したがって、全体の視認性を求めて楽譜全体を表示しておくことができ、ユーザが楽譜の細部を確認したいときにタッチ操作すれば、そのタッチ操作で指定された箇所を部分拡大表示して確認することできる。
【００７３】
その際、拡大表示の対象となった領域が所定の色で区別表示されるので、楽譜のどの部分が拡大表示されているのかを視覚的に把握することができる。
【００７４】
（第２の実施形態）
次に、第２の実施形態について説明する。
【００７５】
上記第１の実施形態では、拡大表示の対象範囲を示す元領域２２のサイズが固定であったが、第２の実施形態では、楽譜の小節とパートを考慮して元領域２２のサイズが決定される。
【００７６】
具体例を挙げて説明する。  
図２１および図２２は楽譜画像の表示画面上に設定される拡大表示の元領域を示す図である。なお、図中の点線で示す矩形領域は上記第１の実施形態での元領域２２の範囲の例を示している。
【００７７】
上記第１の実施形態と同様に、ユーザが画面上の楽譜画像２０の任意の箇所２１を指でタッチして指定すると、その指定箇所２１を基準にして矩形状の元領域２２が設定される。
【００７８】
ここで、第２の実施形態では、指定箇所２１が属する小節の範囲が元領域２２として設定される。その際に、指定箇所２１が楽譜上の位置に応じてパート別で元領域２２の範囲が変わる。すなわち、図２１の例のように、ユーザが楽譜の上段の五線譜をタッチしている場合にはその上段五線譜の小節部分を表示対象とした元領域２２が設定される。
【００７９】
また、例えばユーザが楽譜の下段の五線譜をタッチすれば、下段の五線譜の小節部分を表示対象とした元領域２２が設定される。さらに、図２２に示すように、上段と下段の中間位置をタッチすると、上段と下段の両方の小節を表示対象とした元領域２２が設定される。
【００８０】
第２の実施形態における楽譜表示装置１０の動作について詳しく説明する。
【００８１】
（ａ）メイン処理、（ｂ）楽譜画像表示処理については上記第１の実施形態と同様である（図９および図１０参照）。ここでは、（ｃ）部分拡大表示処理について説明する。なお、以下の各フローチャートで示される処理は、楽譜表示装置１０に設けられたＣＰＵ１１がＲＯＭ１３に記憶されたプログラム１３ａを読み込むことにより実行される。
【００８２】
（ｃ）部分拡大表示処理
図２３は上記図９のステップＡ１６で、本第２の実施形態の場合に図１２に替えて実行される部分拡大表示処理を示すフローチャートである。
【００８３】
先に説明した図１０の楽譜画像表示処理によって、表示部１５の画面上に任意の楽譜画像２０が表示された状態で（ステップＦ１１）、ＣＰＵ１１は以下のような処理を実行する。
【００８４】
すなわち、ＣＰＵ１１は、ユーザが指定した箇所２１のディスプレイ画面４２（表示部１５の画面）上の指示座標を、タッチパネルの入力位置座標情報に基づいて取得し（ステップＦ１２）、その指示座標を元画像４１上の座標に変換する（ステップＦ１３）。詳しくは、図１１に示した元画像４１とディスプレイ画面４２との相対関係からディスプレイ画面４２上の指示座標に対応した元画像４１上の座標を算出する。
【００８５】
次に、元画像４１の座標系において、ＣＰＵ１１は、ユーザが指定した箇所２１（指示座標）の小節番号を取得する（ステップＦ１４）。なお、小節番号取得処理については、後に図２４を参照して詳しく説明する。
【００８６】
ここで、ユーザの指定箇所２１が楽譜の小節内にあるか否かによって処理が分岐する。指定箇所２１が楽譜の小節外（例えば余白部分等）であれば（ステップＦ１５のＮｏ）、ＣＰＵ１１は、通常の元領域設定処理（図１３参照）により元領域２２を設定する（ステップＦ１６）。指定箇所２１が楽譜の小節内であれば（ステップＦ１５のＹｅｓ）、ＣＰＵ１１は、楽譜を考慮した元領域設定処理により元領域２２を設定する（ステップＦ１７）。この元領域設定処理については、後に図２６および図２７を参照して説明する。
【００８７】
上記ステップＦ１６またはＦ１７の元領域設定処理によって元領域２２が設定されると、ＣＰＵ１１は、この元領域２２に対する表示先領域２３を設定するための表示先領域設定処理を実行する（ステップＦ１８）。この表示先領域設定処理については上記第１の実施形態と同様であり、既に図１６および図１７を参照して説明済みであるため、ここではその詳しい説明は省略するものとする。
【００８８】
元領域２２と表示先領域２３がそれぞれ設定されると、ＣＰＵ１１は、元画像４１の楽譜画像２０内の元領域２２を抽出し、これをディスプレイ画面４２上の表示先領域２３に対応した箇所に拡大表示する（ステップＦ１９）。
【００８９】
その際、ＣＰＵ１１は、元画像４１内の元領域２２の矩形領域をディスプレイ画面４２の座標に変換し（ステップＦ２０）、元領域２２に対応した箇所を他の部分と区別して所定の色で塗り潰す（ステップＦ２１）。
【００９０】
以下に、第２の実施形態の特徴的な処理である小節番号取得処理と元領域設定処理（楽譜考慮）について詳しく説明する。
【００９１】
（小節番号取得処理）
図２４は上記図２３のステップＦ１４で実行される小節番号取得処理を示すフローチャートである。
【００９２】
まず、ＣＰＵ１１は、楽譜画像２０の中で現在画面上に表示されているページを取得し（ステップＧ１１）、そのページの楽譜の小節を先頭から順にサーチして、指定箇所（指示座標）が属する小節の番号を検索する（ステップＧ１２）。この場合、複数段からなる楽譜であれば、各段を含んだ小節の区切りで指定箇所が属する小節を判断することになる。
【００９３】
ここで、指定箇所（指示座標）が属する小節について定義しておく。  
図２５（ａ）は２つのパートを有する楽曲の楽譜を例とした図、同図（ｂ）は３つのパートを有する楽曲の楽譜を例とした図である。
【００９４】
図２５（ａ）に示すように、２つのパートを有する楽曲の楽譜であれば、上段のパート１における五線譜の小節の区切りの左上の点Ｐ１と右上の点Ｐ２と、下段のパート２における五線譜の小節の区切りの左下の点Ｐ３と右下の点Ｐ４の４点で囲まれる範囲が指定箇所の属する小節である。
【００９５】
また、図２５（ｂ）に示すように、３つのパート１，２，３を有する楽譜であれば、最上段のパート１における五線譜の小節の区切りの左上の点Ｐ１と右上の点Ｐ２と、最下段のパート３における五線譜の小節の区切りの左下の点Ｐ３と右下の点Ｐ４の４点で囲まれる範囲内が指定箇所の属する小節である。
【００９６】
該当する小節の番号が得られると、続いてＣＰＵ１１は、指定箇所が属するパートの番号を取得する（ステップＧ１３）。この場合、指定箇所のｙ座標が小節内のどこに位置しているのかを見てパートの番号を決める。
【００９７】
すなわち、図２５（ａ）の例で、指定箇所のｙ座標が小節のパート１の中にあれば、パート番号として「１」が設定される。指定箇所のｙ座標が小節のパート２の中にあれば、パート番号として「２」が設定される。さらに、指定箇所のｙ座標がパート１とパート２との間であれば、パート１とパート２の両方の小節の範囲が表示対象となる。この場合、パート番号として「０」が設定される。なお、指定箇所のｙ座標がパート１とパート２のどこにもなければ、表示対象外として処理される。なお、例えば「指定箇所のｙ座標が小節のパート１の中にある」とは、指定位置のｙ座標が、パート１の五線譜の第五線（最上線）から第一線（最下線）の間にある場合等とすることによって判定可能である。
【００９８】
また、図２５（ｂ）の例では、指定箇所のｙ座標がパート１とパート２との間、またはパート２とパート３との間であれば、全パートの小節の範囲が表示対象となり、パート番号として「０」が設定される。
【００９９】
（元領域設定処理）
図２６および図２７は上記図２３のステップＦ１７で実行される元領域設定処理（楽譜考慮）を示すフローチャートである。
【０１００】
まず、ＣＰＵ１１は、ディスプレイ画面４２（表示部１５の画面）上でユーザが指定した箇所２１の元画像４１上の座標（指示点のｘ，ｙ座標）を取得する（ステップＨ１１）。また、ＣＰＵ１１、現在画面上に表示されている楽譜の画像領域に対応した元画像４１上の４辺（左辺，右辺，上辺，下辺）の座標（左辺／右辺のｘ座標、上辺／下辺のｙ座標）を取得する（ステップＨ１２）。
【０１０１】
ここで、ＣＰＵ１１は、上記図２４の小節番号取得処理で得られた小節番号とパート番号に基づいて、元画像４１における元領域２２の座標を設定する。詳しくは、まず、ＣＰＵ１１は、上記小節番号に基づいて元画像４１上の該当する小節の左右の座標を確認し、その左右の座標（ユーザの指定箇所が属する小節の左右の座標）を基準にして、拡大表示を行うべき元領域２２（矩形領域）の左右の座標を、所定のマージンを含めて設定する（ステップＨ１３）
このときの様子を図２８に示す。  
指定箇所２１の座標（ｘｃ，ｙｃ）が属する小節が得られた場合に、その小節の左右の座標に所定のマージン（margin）を加えた位置を元領域２２の左右の座標（SrcRect.left，SrcRect.right）として決定する。すなわち、この場合、指定箇所２１の位置に対して、拡大すべき元領域２２は、必ずしも指定箇所２１を中心として左右対称の幅を決定するとは限らず、その指定箇所２１が含まれる小節の範囲によって元領域が定まることとなる。
【０１０２】
続いて、ＣＰＵ１１は、上記パート番号に基づいて元画像４１上の該当するパートに応じて元領域２２（矩形領域）の上下の座標を設定する（ステップＨ１４）。
【０１０３】
このときの様子を図２９に示す。  
例えば、指定箇所２１の座標（ｘｃ，ｙｃ）が属する小節のパート番号が「１」であれば、当該小節の上段のパート１の上下の座標を元領域２２の上下の座標（SrcRect.top，SrcRect.bootom）として決定する。
【０１０４】
同様に、パート番号が「２」であれば、当該小節の中段のパート２の上下の座標を元領域２２の上下の座標として決定し、パート番号が「３」であれば、当該小節の下段のパート３の上下の座標を元領域２２の上下の座標として決定する。また、パート番号が「０」であった場合には、当該小節のすべてパートが表示対象となり、パート１の上辺の座標が元領域２２の上辺の座標として決定され、パート３の下辺の座標が元領域２２の下辺の座標として決定されることになる。なお、この段階で、元領域２２の上下の座標に対して、左右の座標を設定したときと同様、マージンを設定することとしても良い。
【０１０５】
このようにして、元画像４１上における元領域２２を構成する矩形領域の４辺（左辺，右辺，上辺，下辺）の座標が設定されると、ＣＰＵ１１は、音符の位置や画面サイズに応じて元領域２２の位置をさらに調整する。
【０１０６】
詳しくは、まず、ＣＰＵ１１は、表示対象とする小節内のパートの各音を図６の演奏情報から順次検索し、その中で最高音と最低音の音符の座標を取得する（ステップＨ１５）。そして、ＣＰＵ１１は、これらの音符の座標に基づいて最高音と最低音を元領域２２内に収めるように上下の座標を適宜修正する（ステップＨ１６）。
【０１０７】
このときの様子を図３０に示す。  
表示対象とする小節内に含まれる各音の中で、最低音の音符の玉の位置が五線譜の一番下の第一線より下にあれば、その音符の玉の位置に合わせて元領域２２の下辺の座標（SrcRect.bootom）を修正する。また、最高音の音符の玉の位置が五線譜の一番上の第五線より上にあれば、その音符の玉の位置に合わせて元領域２２の上辺の座標（SrcRect.top）を修正する。
【０１０８】
続いて、ＣＰＵ１１は、元領域２２が現在表示中の楽譜画像領域内に収まっているか否かを判断する。その結果、元領域２２が楽譜画像領域内に収まっていれば、現在の座標位置で確定される。
【０１０９】
一方、元領域２２が楽譜画像領域内に収まっていなければ、ＣＰＵ１１は、楽譜画像領域内に収めるように元領域２２の座標位置を修正する。すなわち、図１５で説明したように、例えば楽譜画像領域の左側からはみ出している場合には（ステップＨ１７のＹｅｓ）、ＣＰＵ１１は、元領域２２をそのはみ出し分だけ右にずらす（ステップＨ１８）。
【０１１０】
同様にして、ＣＰＵ１１は、元領域２２が楽譜画像領域の上側からはみ出している場合には下にずらし（ステップＨ１９，Ｈ２０）、楽譜画像領域の右側からはみ出している場合には左にずらし（ステップＨ２１，Ｈ２２）、楽譜画像領域の下側からはみ出している場合には上にずらして（ステップＨ２３，Ｈ２４）、楽譜画像領域内に収めるように元領域２２の座標を修正する。
【０１１１】
このようして元領域２２が設定されると、以後は図２３のステップＦ１８〜Ｆ２１で説明したように、元領域２２に対する表示先領域２３が設定された後、元領域２２内の楽譜画像２０の一部が抽出されてディスプレイ画面４２上の表示先領域２３に対応した箇所に拡大表示される。その際、ディスプレイ画面４２上の元領域２２に対応した箇所が所定の色で塗り潰される。
【０１１２】
このように第２の実施形態によれば、ユーザの指定箇所が属する小節の範囲を拡大表示の対象とした領域（元領域２２）が設定される。したがって、その領域内を拡大表示したときに、小節の単位で細部を確認することができる。さらに、本第２の実施例では、拡大表示の対象とする領域（元領域２２）が、ユーザの指定箇所が属する小節の範囲に基づいて設定されるので、ユーザが着目している小節を適切に拡大表示することができ、音楽的に意味の無い範囲の拡大表示（たとえば、小節の半分のみを拡大表示したり、五線譜の第３線より上のみを拡大表示する、といった、音楽的に意味の無い区切りによる拡大表示）を防いで、使いやすい拡大表示を行うことができる。
【０１１３】
また、その小節が複数のパートから構成されている場合に、指定箇所と各パートの位置関係に応じて拡大表示対象領域（元領域２２）が設定される。つまり、指定箇所が各パートのいずれかのパートの五線譜上にあれば、そのパートが拡大表示対象となり、指定箇所が各パートの五線譜の間にあれば、すべてのパートが拡大表示対象となる。したがって、簡単な操作で所望のパートを拡大表示して細部を確認することができ、多数のパートを有する楽曲を練習するような場合に便利である。
【０１１４】
（第３の実施形態）
次に、第３の実施形態について説明する。
【０１１５】
上記第１の実施形態では、元領域２２に対応した表示先領域２３が任意の位置に設定されていたが、第３の実施形態では、指定箇所の楽譜を考慮して表示先領域２３を設定するものである。
【０１１６】
具体例を挙げて説明する。  
図３１および図３２は現在表示中の楽譜画像に設定される表示先領域を示す図である。なお、図中の点線で示す矩形領域は上記第１の実施形態での表示先領域２３の範囲を示している。
【０１１７】
上記第１の実施形態と同様に、ユーザが画面上の楽譜画像２０の任意の箇所２１を指でタッチして指定すると、その指定箇所２１を基準にして矩形状の元領域２２が設定される。また、この指定箇所２１を基準にして矩形状の表示先領域２３が設定され、元領域２２内の楽譜の一部が表示先領域２３に拡大表示される。
【０１１８】
ここで、第３の実施形態では、指定箇所２１の近くの楽譜を隠さないように表示先領域２３の位置が設定される。すなわち、図３１の例では、指定箇所２１のすぐ上に表示先領域２３を設定した場合、指定箇所２１の含まれている小節の、上段の楽譜が表示先領域２３で隠れてしまう。そこで、さらに上の位置に表示先領域２３を設定して元領域２２内の楽譜の一部を拡大表示する。
【０１１９】
また、図３２の例では。指定箇所２１のすぐ下に表示先領域２３を設定した場合に、指定箇所２１の含まれている小節の下段の楽譜が表示先領域２３で隠れてしまうので、さらに下の位置に表示先領域２３を設定して元領域２２内の楽譜の一部を拡大表示する。
【０１２０】
第３の実施形態における楽譜表示装置１０の動作について詳しく説明する。
【０１２１】
（ａ）メイン処理、（ｂ）楽譜画像表示処理については上記第１の実施形態と同様である（図９および図１０参照）。ここでは、（ｃ）部分拡大表示処理について説明する。なお、以下の各フローチャートで示される処理は、楽譜表示装置１０に設けられたＣＰＵ１１がＲＯＭ１３に記憶されたプログラム１３ａを読み込むことにより実行される。
【０１２２】
（ｃ）部分拡大表示処理
図３３は上記図９のステップＡ１６で、本第３の実施形態の場合に図１２に替えて実行される部分拡大表示処理を示すフローチャートである。
【０１２３】
先に説明した図１０の楽譜画像表示処理によって、表示部１５の画面上に任意の楽譜画像２０が表示された状態で（ステップＩ１１）、ＣＰＵ１１は以下のような処理を実行する。
【０１２４】
すなわち、ＣＰＵ１１は、ユーザが指定した箇所２１のディスプレイ画面４２（表示部１５の画面）上の指示座標を、タッチパネルの入力位置座標情報に基づいて取得し（ステップＩ１２）、その指示座標を元画像４１上の座標に変換する（ステップＩ１３）。詳しくは、図１１に示した元画像４１とディスプレイ画面４２との相対関係からディスプレイ画面４２上の指示座標に対応した元画像４１上の座標を算出する。
【０１２５】
次に、元画像４１の座標系において、ＣＰＵ１１は、ユーザが指定した箇所２１（指示座標）に基づいて拡大表示の対象となる元領域２２を設定するための元領域設定処理を実行する（ステップＩ１４）。なお、元領域設定処理については、上記第１の実施形態のステップＣ１４と同様であり、既に図１３を参照して説明済みであるため、ここではその詳しい説明は省略するものとする。
【０１２６】
また、ＣＰＵ１１は、ユーザが指定した箇所２１（指示座標）の小節番号を取得する（ステップＩ１５）。なお、小節番号取得処理については、上記第２の実施形態のステップＦ１４と同様であり、既に図２４を参照して説明済みであるため、ここではその詳しい説明は省略するものとする。
【０１２７】
ここで、ユーザの指定箇所２１が楽譜の小節内にあるか否かによって処理が分岐する。指定箇所２１が楽譜の小節外（例えば余白部分等）であれば（ステップＩ１６のＮｏ）、ＣＰＵ１１は、通常の表示先領域設定処理（図１６および図１７参照）により表示先領域２３を設定する（ステップＩ１７）。指定箇所２１が楽譜の小節内であれば（ステップＩ１６のＹｅｓ）、ＣＰＵ１１は、楽譜を考慮した表示先領域設定処理を実行する（ステップＩ１８）。この表示先領域設定処理については、後に図３４および図３５を参照して説明する。
【０１２８】
元領域２２と表示先領域２３がそれぞれ設定されると、ＣＰＵ１１は、元画像４１の楽譜画像２０内の元領域２２を抽出し、これをディスプレイ画面４２上の表示先領域２３に対応した箇所に拡大表示する（ステップＩ１９）。
【０１２９】
その際、ＣＰＵ１１は、元画像４１内の元領域２２の矩形領域をディスプレイ画面４２の座標に変換し（ステップＩ２０）、元領域２２に対応した箇所を他の部分と区別して所定の色で塗り潰す（ステップＩ２１）。
【０１３０】
以下に、第３の実施形態の特徴的な処理である表示先領域設定処理（楽譜考慮）について詳しく説明する。
【０１３１】
（表示先領域設定処理）
図３４および図３５は上記図３３のステップＩ１８で実行される表示先領域設定処理（楽譜考慮）を示すフローチャートである。
【０１３２】
まず、ＣＰＵ１１は、ディスプレイ画面４２（表示部１５の画面）上でユーザが指定した箇所２１の元画像４１上の座標（指示点のｘ，ｙ座標）を取得する（ステップＪ１１）。また、ＣＰＵ１１は、拡大表示の表示先領域のディスプレイ画面４２上のサイズに所定の倍率をかけて元画像４１でのサイズに置き換える（ステップＪ１２）。
【０１３３】
次に、ＣＰＵ１１は、現在画面上に表示されている楽譜の画像領域に対応した元画像４１上の４辺（左辺，右辺，上辺，下辺）の座標（左辺／右辺のｘ座標、上辺／下辺のｙ座標）を取得すると共に（ステップＪ１３）、指定箇所２１のＸ座標から表示先領域（矩形領域）の左辺と右辺の座標を取得する（ステップＥ１４）。
【０１３４】
すなわち、図１８で説明したように、いま、元画像４１上における指定箇所２１の座標を（ｘｃ，ｙｃ）とし、表示先領域２３の幅サイズをdestｗとすると、指定箇所２１のＸ座標から左右にdestｗ／２だけ広げた位置が表示先領域２３（矩形領域）の左辺，右辺の座標（destRect.left，destRect.right）として得られる。
【０１３５】
表示先領域２３（矩形領域）の左辺，右辺の座標が得られると、ＣＰＵ１１は、その表示先領域２３が現在表示中の楽譜画像領域の左右から外れているか否かを判断する。その結果、楽譜画像領域の左側からはみ出している場合には（ステップＪ１５のＹｅｓ）、ＣＰＵ１１は、表示先領域２３をそのはみ出し分だけ右にずらす（ステップＪ１６）。楽譜画像領域の右側からはみ出している場合には（ステップＪ１７のＹｅｓ）、ＣＰＵ１１は、表示先領域２３をそのはみ出し分だけ左にずらす（ステップＪ１８）。
【０１３６】
このようして表示先領域２３の左辺と右辺の座標が決定されると、続いてＣＰＵ１１は、指定箇所が属する小節との位置関係に応じて、以下のようにして上辺と下辺の座標を決める。
【０１３７】
まず、ＣＰＵ１１は、ユーザが指示した箇所の上方に表示先領域２３を設定するものと仮定して、表示先領域２３の下辺の座標として、指示箇所が属する小節の上辺の座標を設定する（ステップＪ１９）。そして、さらにＣＰＵ１１は、当該小節内の各音を図６の演奏情報から順次検索し（ステップＪ２０）、表示先領域２３の下辺の座標よりも上に音符が在った場合に、表示先領域２３の下辺の座標をその音符の位置に合わせる（ステップＪ２１）。
【０１３８】
ＣＰＵ１１は、当該小節内の各音について同様のチェックを行って表示先領域２３の下辺の座標を適宜修正した後（ステップＪ２２のＹｅｓ）、さらに所定のマージン分だけ上にずらした位置を表示先領域２３の下辺の座標として決定する（ステップＪ２３）。
【０１３９】
表示先領域２３の下辺座標が決まると、ＣＰＵ１１は、その下辺座標を基準にして表示先領域２３の上辺の座標を設定する（ステップＪ２４）。
【０１４０】
この様子を図３６に示す。
【０１４１】
ユーザの指示箇所の座標（ｘｃ，ｙｃ）の上に表示先領域２３を設定する場合を想定する。その際、まず最初に、表示先領域２３の下辺座標（destRect.bottom）として、指示箇所が属する小節の上辺座標（MeasRect.top）を設定する。
【０１４２】
ここで、当該小節内の音符の位置をチェックする。その結果、表示先領域２３の下辺座標（destRect.bottom）よりも上に音符が有った場合に、その音符のコマの位置＋所定のマージン（margin）分だけ上にずらした位置を最終的な下辺座標（destRect.bottom）として決定する。また、この下辺座標（destRect.bottom）から高さdestｈの分だけ上げた位置が表示先領域２３の上辺座標（destRect.top）となる。
【０１４３】
このようにして、ユーザの指示箇所の上に表示先領域２３を設定した後に、ＣＰＵ１１は、この設定された表示先領域２３が現在表示中の楽譜画像領域内に収まっているか否かを判断する。その結果、表示先領域２３が楽譜画像領域内に収まっていれば、現在の座標位置で確定される。
【０１４４】
一方、表示先領域２３が楽譜画像領域内に収まっていない場合、つまり、表示先領域２３の上辺座標が楽譜画像領域を超えてはみ出ている場合には（ステップＪ２５のＹｅｓ）、以下のようにしてユーザの指示箇所の下方に表示先領域２３を設定し直す。
【０１４５】
すなわち、まず、ＣＰＵ１１は、表示先領域２３の上辺の座標として、指示箇所が属する小節の下辺の座標を設定する（ステップＪ２６）。そして、さらにＣＰＵ１１は、当該小節内の各音を図６の演奏情報から順次検索し（ステップＪ２７）、表示先領域２３の上辺の座標よりも下に音符が在った場合に、表示先領域２３の上辺の座標をその音符の位置に合わせる（ステップＪ２８）。
【０１４６】
ＣＰＵ１１は、当該小節内の各音について同様のチェックを行って表示先領域２３の上辺の座標を適宜修正した後（ステップＪ２９のＹｅｓ）、さらに所定のマージン分だけ下にずらした位置を表示先領域２３の上辺の座標として決定する（ステップＪ３０）。
【０１４７】
表示先領域２３の上辺座標が決まると、ＣＰＵ１１は、その上辺座標を基準にして表示先領域２３の下辺の座標を設定する（ステップＪ３１）。
【０１４８】
この様子を図３７に示す。
【０１４９】
ユーザの指示箇所の座標（ｘｃ，ｙｃ）の下に表示先領域２３を設定する場合に、まず、表示先領域２３の上辺座標（destRect.top）として、指示箇所が属する小節の下辺座標（MeasRect.bottom）を設定する。
【０１５０】
ここで、当該小節内の音符の位置をチェックする。その結果、表示先領域２３の上辺座標（destRect.top）よりも下に音符が有った場合に、その音符のコマの位置＋所定のマージン（margin）分だけ下にずらした位置を最終的な上辺座標（destRect.top）として決定する。また、この上辺座標（destRect.top）から高さdestｈの分だけ下げた位置が表示先領域２３の下辺座標（destRect.bottom）となる。
【０１５１】
このようして表示先領域２３が設定されると、以後は図３３のステップＦ１９〜Ｆ２１で説明したように、元領域２２内の楽譜画像２０の一部が抽出されてディスプレイ画面４２上の表示先領域２３に対応した箇所に拡大表示される。その際、ディスプレイ画面４２上の元領域２２に対応した箇所が所定の色で塗り潰される。
【０１５２】
このように第３の実施形態によれば、ユーザが楽譜の任意の箇所を指定した際に、その指定箇所が属する小節全体の表示や、さらにその小節内の音符に重ならないように拡大表示先の領域（表示先領域２３）が設定される。
【０１５３】
詳しくは、まず、当該小節の上辺若しくは下辺の位置座標に基づいて、表示先領域の下辺若しくは上辺が設定され、これにより、表示先領域が当該小節の範囲と重ならずに表示されることとなる。そしてさらに、当該小節内の最高音の音符と最低音の音符が検索され、これらの音符の位置を基準にして拡大表示先の領域（表示先領域２３）が設定される。したがって、楽譜の一部を拡大表示したときに、その拡大表示によってユーザの指定箇所の楽譜が見えなくなる不具合を解消でき、拡大表示された部分と指定箇所の部分とを見比べながら楽譜の勉強を行うことができる。
【０１５４】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１５５】
例えば、ユーザの指定箇所に応じて、どの段の楽譜を何段分拡大表示するか、といった点については、種々の形態が可能である。例えば、楽譜が多段からなるオーケストラ譜のような場合には、ユーザの指定箇所が、ある五線の段内でない場合に、例えば、指定箇所の上下の段を表示することとしても良いし、例えば、弦楽器群、金管楽器群、木管楽器群、など、所定の複数の段について拡大表示することとしても良い。
【０１５６】
また、元領域２２については、ユーザの指定箇所に応じた複数小節分の領域を拡大することとしても良い。例えば、ユーザの指定箇所が含まれる小節と、その次の小節の２小節分を表示するようにしても良い。
【０１５７】
また、表示先領域２３と元領域２２について、いずれかの領域の広さに応じて、他方の領域の広さを変化させることとしても良い。例えば、上記第２の実施形態の場合に、元領域２２としてある小節の範囲が設定された場合に、その小節範囲を拡大するのに相応しい表示先領域２３が設定されるようにしても良い。また、他の方法として、表示先領域２３と元領域２２が定まった後に、これらの両領域に応じて、表示倍率（ｓｃａｌｅ）を定めて、ちょうど良い倍率によって拡大表示を行うこととしても良い。
【０１５８】
さらに、上述した実施形態において記載した手法は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク（フレシキブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリなどの記録媒体に書き込んで各種装置に適用したり、通信媒体により伝送して各種装置に適用することも可能である。本装置を実現するコンピュータは、記録媒体に記録されたプログラムを読み込み、このプログラムによって動作が制御されることにより、上述した処理を実行する。
【０１５９】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。  
［１］
楽譜のデータが記憶された楽譜データ記憶手段と、
画面上に表示された楽譜の任意の箇所を指定する指定手段と、
この指定手段によって指定された箇所を基準として、上記楽譜データ記憶手段に記憶された楽譜の拡大表示の対象となる範囲である元領域を設定する元領域設定手段と、
この元領域設定手段によって設定された上記元領域に対応した画面上の表示先領域を設定する表示先領域設定手段と、
上記元領域内の楽譜を、上記表示先領域設定手段によって設定された画面上の表示先領域に拡大表示する表示制御手段と
を具備したことを特徴とする楽譜表示装置。
【０１６０】
［２］
上記元領域設定手段は、
上記楽譜の中で上記指定箇所が属する小節を判断し、その小節を拡大表示対象として上記元領域を設定することを特徴とする［１］記載の楽譜表示装置。
【０１６１】
［３］
上記元領域設定手段は、
上記小節が複数のパートから構成されている場合に上記指定箇所と上記各パートとの位置関係に応じて上記元領域を設定することを特徴とする［１］または［２］記載の楽譜表示装置。
【０１６２】
［４］
上記元領域設定手段は、
上記指定箇所が上記各パートのいずれかのパートの五線譜上にある場合に、そのパートを拡大表示対象として上記元領域を設定することを特徴とする［３］記載の楽譜表示装置。
【０１６３】
［５］
上記元領域設定手段は、
上記指定箇所が上記各パートの五線譜の間にある場合に、すべてのパートを拡大表示対象として上記元領域を設定することを特徴とする［３］記載の楽譜表示装置。
【０１６４】
［６］
上記表示先領域設定手段は、
上記楽譜の中で上記指定箇所が属する小節を判断し、その小節内の音符に重ならない位置に上記表示先領域を設定することを特徴とする［１］記載の楽譜表示装置。
【０１６５】
［７］
上記表示先領域設定手段は、
上記小節内の最高音の音符または最低音の音符を検索し、その音符の位置を基準にして上記表示先領域を設定することを特徴とする［６］記載の楽譜表示装置。
【０１６６】
［８］
上記表示制御手段は、
上記元領域に対応した上記楽譜の一部を上記表示先領域に拡大表示したときに、上記元領域に対応した上記楽譜の一部を他の部分と区別して表示することを特徴とする［１］から［７］のいずれかに記載の楽譜表示装置。
【０１６７】
［９］
楽譜のデータが記憶された楽譜データ記憶手段と接続された楽譜表示装置において実行される楽譜表示方法であって、
該楽譜表示装置が、
画面上に表示された楽譜の任意の箇所が指定された際に、この指定された箇所を基準として、上記楽譜データ記憶手段に記憶された楽譜の拡大表示の対象となる範囲である元領域を設定し、
上記元領域に対応した画面上の表示先領域を設定し、
上記元領域内の楽譜を上記画面上の表示先領域に拡大表示する
ことを特徴とする楽譜表示方法。
【０１６８】
［１０］
楽譜のデータが記憶された楽譜データ記憶手段と接続されたコンピュータによって実行される楽譜表示用のプログラムであって、
上記コンピュータに、
画面上に表示された楽譜の任意の箇所が指定された際に、この指定された箇所を基準として、上記楽譜データ記憶手段に記憶された楽譜の拡大表示の対象となる範囲である元領域を設定する機能と、
上記元領域に対応した画面上の表示先領域を設定する機能と、
上記元領域内の楽譜を上記画面上の表示先領域に拡大表示する機能と
を実現させるためのプログラム。
【符号の説明】
【０１６９】
１０…ＰＣ、１１…ＣＰＵ、１１ａ…元領域設定部、１１ｂ…表示先領域設定部、１１ｃ…表示制御部、１２…ＲＡＭ、１３…ＲＯＭ、１３ａ…プログラム、１４…入力部、１５…表示部、３０…楽譜画像、２０…楽譜画像、２１…指定箇所、２２…元領域、２３…表示先領域。
【図１】
2015060189.tif 000003
【図２】
2015060189.tif 000004
【図３】
2015060189.tif 000005
【図４】
2015060189.tif 000006
【図５】
2015060189.tif 000007
【図６】
2015060189.tif 000008
【図７】
2015060189.tif 000009
【図８】
2015060189.tif 000010
【図９】
2015060189.tif 000011
【図１０】
2015060189.tif 000012
【図１１】
2015060189.tif 000013
【図１２】
2015060189.tif 000014
【図１３】
2015060189.tif 000015
【図１４】
2015060189.tif 000016
【図１５】
2015060189.tif 000017
【図１６】
2015060189.tif 000018
【図１７】
2015060189.tif 000019
【図１８】
2015060189.tif 000020
【図１９】
2015060189.tif 000021
【図２０】
2015060189.tif 000022
【図２１】
2015060189.tif 000023
【図２２】
2015060189.tif 000024
【図２３】
2015060189.tif 000025
【図２４】
2015060189.tif 000026
【図２５】
2015060189.tif 000027
【図２６】
2015060189.tif 000028
【図２７】
2015060189.tif 000029
【図２８】
2015060189.tif 000030
【図２９】
2015060189.tif 000031
【図３０】
2015060189.tif 000032
【図３１】
2015060189.tif 000033
【図３２】
2015060189.tif 000034
【図３３】
2015060189.tif 000035
【図３４】
2015060189.tif 000036
【図３５】
2015060189.tif 000037
【図３６】
2015060189.tif 000038
【図３７】
2015060189.tif 000039