(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
図1は、本発明の一実施形態のシステム構成を示す。コンピュータ100とコンピュータ内の画像を投射するプロジェクタ170と実物の絵画180と実物の絵画上に投射されたプロジェクタ投射画面190があり、コンピュータ内には実物の絵画を撮影しデジタルデータにした絵画データ110と絵画データ110の色の分布を分析する色分布分析手段120と解析結果となる色分布データベース125と絵画データ110の色の分布を変更する色分布変更部130と絵画データ110を色分布変更部130で変更した結果となる表示データ140で構成される。絵画データ110は画像データ読取り部によって取り込まれる。
【0011】
コンピュータ100内の絵画データ110は色分布解析部120で色の分布を解析し、色分布データベース125として解析された結果が一時的に蓄えられる。色分布変更部130は色分布データベース125を参考にして絵画データを変更し、それが表示データ140となり、プロジェクタ170を介して、実物の絵画上にプロジェクタ投射画面190として投射される。ここで、実物の絵画としたが、これはいわゆるレプリカや印刷物などであることが現実的である。また、この実物の絵画(等)の設置を如何に行うか(磁石、接着剤、ねじなどの機械的な固定は問わない。
【0012】
図9は色分布データベース125の具体的な構成を示す。色分布データベース125は画素値920に対応する画素の個数が格納されている。画素値920とは色を表す値そのものである。チャンネルが8ビットで表されている場合、画素値920は(0)〜(255)の範囲となり、画素値920(0)は黒色、画素値920(255)は白色を意味する。絵画データ110が赤、緑、青の3チャンネルで表されている場合、チャンネル910毎にデータベースを持つ。たとえば画素の色が緑の場合、赤の画素値920は(0)、緑の画素値920は(255)、赤の画素値920は(0)と、3つの画素値920で表される。
【0013】
色分布データベース900の表は、縦がチャンネル910赤、緑、青の分類、横が画素値920(0)から(255)の分類となっている。図面の大きさの都合で画素値は点線で省略している部分がある。表の中身は画素の個数である。例えば画素値920(222)はチャンネル赤に15個、チャンネル緑に8個、チャンネル青に3個存在していることを示している。またチャンネル赤、緑、青の画素の個数の合計も持っている。画素の個数を画素値920(0)から順次見ていくと、チャンネル赤は画素値920(30)で初めて画素の個数11個が出てくる。同様にチャンネル緑は画素値920(30)で初めて画素の個数26個が出てくる。同様にチャンネル青は画素値920(30)で初めて画素の個数19個が出てくる。つまり色分布データベース900の値が1以上の数で一番小さい画素値を特定し、画像の一番暗い色は画素値920(30)となる。また画素の個数を画素値920(255)から順次見ていくと、色分布データベース900で表された画像の一番明るい色は画素値920(222)となる。
【0014】
図9をグラフ化して表現したものが
図2の色分布データベース211/221/231である。グラフの横軸に画素値、縦軸に画素の個数を示しており、画素の個数はチャンネル赤、緑、青の個数を加算した数値となっている。
【0015】
図2は、本発明の一実施形態の絵画データと色の分布を示す。
図2で示している色分布データベース211/221/231は
図1の色分布データベース125の具体的な値を示している。
【0016】
図2aは実物の絵画180を撮影しデジタルデータにした、オリジナルの絵画データ110と、色分布解析部120の解析結果の色分布データベース211を示す。色分布データベース211を見ると一番暗い色は画素値920(30)、一番明るい色は画素値920(222)となっている。
【0017】
図2bは、
図2aの一番暗い部分の色を黒色に変更した場合の絵画データと、色分布解析部120の解析結果の色分布データベース221を示す。絵画データ110の色分布データベース211では一番暗い色は画素値920(30)なので、次の変換式1が導かれる。変換式1:変換後の画素値=画素値-30。つまり全ての画素値に変換式1を適用する。たとえば画素値920(128)は画素値920(98)となり暗くなる。色分布データベース221では一番暗い色は画素値920(0)、一番明るい色は画素値920(192)となっている。・
ここでは、赤、緑、青それぞれのチャンネルの一番暗い色の画素値が全て(30)の場合を考えたが、実際はそれぞれのチャンネルが違う値をとり、それぞれのチャンネルの最小の画素値が必ずしも一致するとは限らない。その場合は、赤、緑、青の中から最も暗い画素値をとるものを選び出し、その中(赤、緑、青)で一番大きな画素値分を全ての画素値から引くこととする。
【0018】
例えば赤、緑、青の画素値の組み合わせが(30,40,50)の青の画素値(30)が一番小さい場合は、(50)を全ての画素値からひく。
【0019】
また別の方法として、例えば、赤、緑、青の画素値で表されている、つまりRGB系の値を、L*a*b*表色系に変換して、明るさの度合いを表すL値を見て、L値が一番低いものを特定することとしてもよい。具体的には赤、緑、青のそれぞれの画素値をR、G、Bとおくと、まず、Y=0.2123*((R/255)の2.2乗)+0.7010*((G/255)の2.2乗)+ 0.0858*((B/255)の2.2乗)、Y0=100とおき、Y/Y0>0.008856の場合は、L=116*((Y/Y0)の1/3乗)−16(Lは0〜100の範囲)、Y/Y0<=0.008856の場合は、L=116*((903.3*(Y/Y0)+16)/116)−16(Lは0〜100の範囲)として計算する。Lにより一番暗いとして特定された赤、緑、青の画素値のうち一番大きいものの値を全ての画素値から減算する。
【0020】
また、本実施例では一番暗い色の画素値920を黒に変えることとしたが、適当な画素値の入力を受付けて、それにより画素値を変換することとしてもよい。その場合、変換式1は変換後の画素値=画素値―受付けた画素値の値となる。
【0021】
図2cは、
図2bの画素値920(0)の黒色は変化させず、他の色の明度と彩度を上げた場合の絵画データと、色分布解析部120の解析結果の色分布データベース231を示す。明度と彩度の上げ方には様々な方法があるが、ここでは、画素値920(0)から画素値920(127)の間を、画素値920(0)から(255)へ均等に割り当てる方法をとった。画素値920(0)から画素値920(127)の間の変換方法は、次の変換式2とする。変換式2:変換後の画素値=変換前の画素値/127X255。
【0022】
変換式2を適用すると例えば画素値920(0)は0となる。画素値920(64)は128.5となり四捨五入し画素値920は(129)となる。画素値920(127)は画素値920(255)となる。
【0023】
そして画素値920(128)から画素値920(255)の間の変換方法は、次の変換式3とする。変換式3:変換後の画素値=255。変換式3を適用すると、画素値920(128)から画素値920(255)は画素値920(255)となる。色分布データベースは231のようになる。
このよう本実施例では明度と彩度を上げるために画素値の中央値である127までの、赤、青、黄のそれぞれの画素値を上げることで、明度と彩度をあげて、画素値920(128)以降については全て画素値920(255)の画素値の最大をとることとした。しかしながら、これに限定されるものではなく、中央値でなくとも、明度と彩度を上げたい上限の画素値の入力を受付けることで、画素値920(180)まで、画素値920(200)までといった任意の画素値までの画素値を上げることとしても良い。また明度と彩度をあげるため、画素値920(0)から(255)まで均等に割当てることとしているが、これも均等に割当てる範囲の画素値入力を受付け、その値に基づいて割当処理をすることとしてもよい。その場合、変換式2は変換後の画素値=変換前の画素値/明度と彩度を上げたい上限の画素値×均等に割当てる範囲の画素値となる。
【0024】
図3は、本発明の一実施形態の絵画データの加工方法のフローチャートであり次に本実施例を
図3のフローチャートに従って説明する。
【0025】
ステップ310では、実物の絵画を撮影しデジタルデータにした絵画データ110を準備する。ステップ320では、色分布解析部120を用いて絵画データ210の色分布データベース125を作る。絵画データ210の全ての画素のチャンネル赤・緑・青の画素値920を読み、
図9の表の当てはまる箇所に1を加算していく。横軸が画素値920、縦軸が画素の個数の合計となる。
【0026】
ステップ325では、作成した色分布データベース125を用いて絵画データ210の一番暗い色を求める。この場合は画素値920(30)となる。一番明るい色は画素値920(222)である。
【0027】
ステップ330では、色分布変更部130は、色分布データベース125を参照して、絵画データ210の特定された一番暗い色の画素値分を画素値から減算する。具体的には画素値920(30)を画素値920(0)に変更する。他の色も同様に30引く。この場合、一番暗い色は画素値920(0)、一番明るい色は画素値920(192)となる。その結果の色分布データベースの状態は221となる。
【0028】
ステップ340では、色分布変更部130は、色分布データベース125を参照して、絵画データ
図2bの黒色を変化させないで、他の色の明度と彩度を上げる。つまり、色分布データベース125を参照して、変更された画素値920が(0)の部分を変化させないで、他の色の明度と彩度を上げる。明度と彩度を上げる方法は様々あるが、ここでは画素値920(0)から画素値920(127)を画素値920(0)から画素値920(255)に均等に割り当てる。画素値920(128)から画素値920(255)は全て画素値920(255)に割り当てる。その結果の色分布データベースは231となる。
【0029】
ステップ350では、プロジェクタ170を用いて、変更された色分布データベースから作成される色の調整を反映した絵画データ
図2cを表示データ140として、実物の絵画180上のプロジェクタ投射画面190に投射する。
このように、
図2aに対して、絵画データの一番暗い色を黒色になるように全ての画素を暗く(変換式1使用)することで
図2bを作成し、
図2bに対して、一番暗い色、つまり黒色以外のほかの画素を明るく(変換式2、3使用)することで
図2cを作成する。
図2cを表示データとして絵画上にプロジェクタで投射する基本的な方法を
図1から
図3で示した。
【0030】
これより応用としての使い方を示す。基本に加えて、表示データと音声データのデータベース500が追加され、表示タイミングや音声との同期を行なう。本実施例では表示データのデータベースと音声データのデータベースをまとめてひとつにしているが、限定されるものではなく別々でもよい。本発明を使うと、絵画あるいは複製画を用いた絵画を解説するシステムとしてユニークなものになる。
【0031】
図4は、本発明の一実施形態の表示データと音声を制御するシステム構成を示す。
図4は
図1を拡張した構成となっている。コンピュータ400とコンピュータ内の画像を投射するプロジェクタ170と実物の絵画180と実物の絵画上に投射されたプロジェクタ投射画面190があり、コンピュータ内には実物の絵画を撮影しデジタルデータにした絵画データ110と絵画データ110の色の分布を分析する色分布解析部120と解析結果となる色分布データベース125と絵画データ110の色の分布を変更する色分布変更部130と絵画データ110を色分布変更部130で変更した結果となる表示データのデータベース440と表示データの表示方法を制御するデータ制御部445と音声データのデータベース440と音声データの再生方法を制御するデータ制御部445とスピーカー460から構成される。
【0032】
コンピュータ400内の絵画データ110は色分布解析部120で色の分布を解析し、色分布データベース125として解析された結果が一時的に蓄えられる。色分布変更部130は色分布データベース125を参考にして絵画データを変更し、それが表示データのデータベース440に登録される。表示データはデータ制御部445によって、プロジェクタ170を介して実物の絵画上にプロジェクタ投射画面190として投射される。さらに音声データもあらかじめ音声データのデータベース440に登録されており、データ制御部445によってスピーカー460を介して再生される。
【0033】
図5は、本発明の一実施形態の表示データと音声データのデータベース500の構成を示す。データのID510とデータの種別520とデータのファイル名530と保存場所のパス540から成る。ID=001には種別=画像、ファイル名=表示データ1.jpg、パス=c:\rootが登録されおり、ID=002には種別=画像、ファイル名=表示データ2.jpg、パス=c:\root、ID=003には種別=画像、ファイル名=表示データ3.jpg、パス=c:\root、ID=004には種別=音声、ファイル名=音声データ1.wav、パス=c:\rootが登録されている。
【0034】
図6は、本発明の一実施形態のデータベースへの登録方法をフローチャートで示す。ステップ610で、変数ID を001に設定、ユーザ指定(パスの入力受付)によって変数path=c:\rootに設定する。
【0035】
ステップ620で登録するデータはあるか否かを判定し無ければ処理は終了する。データの有無の判定は変数path=c:\rootのディレクトリの中を確認し、ファイルがあれば「データあり」とする。ループ処理にて再度判定する場合には一度「データあり」と判定したデータは判定対象としない。判定処理はフラグやif文などで実装する。
【0036】
ステップ630でデータが画像か否かを判定する。画像か否かの判定方法は様々あるが、ここではファイル名で判定する。ファイル名の最後に.jpgや.tifや.pngなどの文字列が含まれれば画像とする。
【0037】
ステップ630でデータが画像であると判定された場合、ステップ640で絵画データ110を、
図3で示すように加工し、ユーザから指定されたファイル名で、指定されたパスへ保存する。ただし、明度や彩度の上げ方の度合いや、絵画のどこの範囲を上げるかについては、絵画を解説する内容によって変化する。例えば、解説内容が絵画全体に渡る場合は、絵画全体を小さな度合いで明度や彩度を上げた画像が必要になり、さらにつぎの解説内容が中央部分を強調したい場合は、絵画全体を小さな度合いで明度や彩度を上げたあとに、中央部分だけを度合いを大きくした画像が必要となる。
【0038】
ステップ650で表示データと音声データのデータベース500のデータID項目へ変数IDを設定、表示データと音声データのデータベース500の種別項目へ画像を設定、表示データと音声データのデータベース500のファイル名項目へユーザから指定されたファイル名を設定、表示データと音声データのデータベース500のパス項目へ変数pathを設定する。
【0039】
ステップ630でデータが音声データと判定された場合、ステップ660で音声データに対する処理となる。あらかじめ準備された音声データを、前後の切り取りなどを行い、ユーザから指定されたファイル名で、指定されたパスへ保存する。ステップ670はステップ650と同様に表示データと音声データのデータベース500へ設定する。ただし種別は音声となる。ステップ680で変数IDを+1する。
【0040】
図7は、本発明の一実施形態の表示データと音声を制御するタイムテーブルを示す。1つのタイムテーブルは4つの要素から成る。1つ目はタイムID701、タイムテーブルのIDを示す。2つ目は時間710、動作を開始するトリガーとして使用される。3つ目は対象ID720、動作の相手を決める。対象IDは
図5表示データと音声データのデータベース500のデータIDを特定する。4つ目は動作730そのものである。
図7にはタイムテーブルは5つある。上から順番にタイムテーブル001、002、003、004、005の順に実行される。
【0041】
タイムID=001は0分0秒になると対象ID=001のデータをディゾルブ2秒の表示効果で表示することを意味する。対象ID=001のデータとは
図5表示データと音声データのデータベース500のデータID=対照IDのデータのことである。よってタイムテーブル=001では、0分0秒になるとc:\root\表示データ1.jpgの画像をディゾルブ2秒の表示効果することを意味する。
ほかも同様に、タイムID=002は0分0秒になると対象ID=004のデータを0秒の位置から音声再生することを意味する。タイムID=003は1分0秒になると対象ID=002のデータをディゾルブ2秒の表示効果で表示することを意味する。タイムID=004は2分0秒になると対象ID=003のデータをディゾルブ2秒の表示効果で表示することを意味する。タイムID=005は3分0秒になると対象ID=005のデータを音声再生を停止することを意味する。
【0042】
図8は、本発明の一実施形態の表示データと音声の制御のフローチャートである。ステップ810でタイムテーブルの有無の判定し、ステップ811でタイムテーブルの対象IDを使ってデータベースの種別とファイル名とパスの取得し、ステップ821で時間の判定をし、時間がきたと判定すると、ステップ822の種別の判定に進む。種別が画像であると判定された場合、ステップ830で取得したファイル名とパスを使って指定された動作で表示すし、ステップ822で音声データと判定された場合は、ステップ850の音声データの動作の判定に進む。ステップ850の動作の状態の判定で、再生と判定されれば、
ステップ851の取得したファイル名とパスを使って指定された動作で音声データを再生する動作にうつり、ステップ850で停止と判定されれば、ステップ852の進み、取得したファイル名とパスにより動作を停止させる。次にステップ890で次のタイムテーブルを参照する。
【0043】
図8のフローを用いて
図7のタイムテーブルを実行すると次のようになる。まずシステムとして時間を0分0秒に合わせ、タイマーをスタートさせる。タイムテーブルのタイムID=001が存在すると、対象ID=001を元に
図5表示データと音声データのデータベース500のデータベース500を参照する。
【0044】
データベース500のデータID=001から種別とファイル名とパスを取得する。タイマーが時間0分0秒を過ぎているので実行する。種別=画像、ファイル=c:\root\表示データ1.jpgを用いて、動作はディゾルブ2秒の表示効果で表示を実行する。次にタイムID=002が存在すると、対象ID=004を元にデータベース500を参照する。データベースのデータID=004から種別とファイル名とパスを取得する。タイマーが時間0分0秒を過ぎているので実行する。種別=音声、ファイル=c:\root\音声データ1.wavを用いて、動作は0秒の位置から音声再生を実行する。次にタイムID=003が存在すると、対象ID=002を元にデータベース500を参照する。データベースのデータID=002から種別とファイル名とパスを取得する。タイマーが時間1分0秒になるまで待ち実行する。 種別=画像、ファイル=c:\root\表示データ2.jpgを用いて、動作はディゾルブ2秒の表示効果で表示を実行する。次にタイムID=004が存在すると、対象ID=003を元にデータベース500を参照する。データベースのデータID=003から種別とファイル名とパスを取得する。タイマーが時間2分0秒になるまで待ち実行する。種別=画像、ファイル=c:\root\表示データ3.jpgを用いて、動作はディゾルブ2秒の表示効果で表示を実行する。次にタイムID=005が存在すると、対象ID=004を元にデータベース500を参照する。データベースのデータID=004から種別とファイル名とパスを取得する。タイマーが時間3分0秒になるまで待ち実行する。種別=音声、ファイル=c:\root\音声データ1.wavを用いて、動作は音声停止を実行する。
【0045】
図4、
図5、
図6、
図7、
図8では表示データと音声データをあらかじめ規定したタイムテーブルにそって自動で制御した。ほかの応用としてはマウスやタッチパネルなどを用いたユーザの入力によって表示データや音声データが表示、再生されるシステムとしてもよい。