画像処理装置及びその制御方法
【課題】 動画とグラフィックスが互いに重なり合って表示される場合に、正しく表示を行うためにはグラフィックスの描画結果を格納するバッファを複数持たなければならない。
【解決手段】 描画処理命令に含まれるグラフィックス描画処理命令に従ってグラフィックス描画結果を得る(207)。また、描画処理命令に含まれる動画描画処理命令からクリッピング処理命令を生成し(208)、グラフィックス描画結果を、そのクリッピング処理命令によりクリッピングしたクリッピング済グラフィックスを得て、それを保持する(203)。また描画処理命令に含まれる動画描画処理命令に従って処理した動画データを生成し(204)、保持されているクリッピング済グラフィックスと、その生成された動画データとを合成して(205)出力する。
【解決手段】 描画処理命令に含まれるグラフィックス描画処理命令に従ってグラフィックス描画結果を得る(207)。また、描画処理命令に含まれる動画描画処理命令からクリッピング処理命令を生成し(208)、グラフィックス描画結果を、そのクリッピング処理命令によりクリッピングしたクリッピング済グラフィックスを得て、それを保持する(203)。また描画処理命令に含まれる動画描画処理命令に従って処理した動画データを生成し(204)、保持されているクリッピング済グラフィックスと、その生成された動画データとを合成して(205)出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、グラフィックスと動画データとを入力して合成する画像処理装置及びその制御方法に関するものである。
【背景技術】
【0002】
動画とグラフィックスを含む画像を構成する際、従来は動画のフレームを切り出し、そのフレームを静止画像とし、それにグラフィックスを合わせることによって実現していた。しかし、動画とグラフィックスでは、画像の使用用途、データ形式、要求される描画処理の種類が異なる。例えば、動画の場合は、コマ落ちなどによって動画の品質が低下しないようにすること等が求められる。そのために動画とグラフィックスの処理系を分離し、それぞれの処理系の出力結果を合成して出力している。
【0003】
動画とグラフィックスとを合成して出力する画像形成装置に関して、メモリに格納されているグラフィックスデータと動画データを、そのメモリの読み出しアドレスを切り替えながら合成する方法が提案されている(特許文献1参照)。また、ビデオ信号の処理機能をグラフィックスコントローラから独立させ、そのグラフィックスコントローラで作成した画像をビデオ信号として入力し、ビデオの高画質化を図る提案もされている(特許文献2参照)。
【特許文献1】特開平7−072850号公報
【特許文献2】特開2005−321481号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来の方法によれば、動画の描画処理命令とグラフィックスの描画処理命令とが混在した描画処理命令を処理する際、動画とグラフィックスの処理系を分離している。これにより動画とグラフィックスそれぞれの品質を高めることができるが、動画とグラフィックスが互いに重なり合って表示される場合に、正しく表示を行うためにはグラフィックスの描画結果を格納するバッファを複数持たなければならない。これにより装置のコストが増大するという問題があった。
【0005】
本発明の目的は、上述した従来の問題点を解決することにある。
【0006】
本願発明の一態様によれば、グラフィックスの描画結果を保持するメモリ容量を少なくして、動画とグラフィックスの合成を実現できる技術を提供できる。
【課題を解決するための手段】
【0007】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
単一又は複数の動画描画処理命令及び単一又は複数のグラフィックス描画処理命令を含む描画処理命令を受け取って描画処理を行なう画像処理装置であって、
前記描画処理命令に含まれる前記グラフィックス描画処理命令に従ってグラフィックス描画結果を得るグラフィックス描画手段と、
前記描画処理命令に含まれる前記動画描画処理命令からクリッピング処理命令を生成するクリッピング処理手段と、
前記グラフィックス描画結果を前記クリッピング処理命令によりクリッピングしたクリッピング済グラフィックスを保持する保持手段と、
前記描画処理命令に含まれる前記動画描画処理命令に従って処理した動画データを生成する動画描画手段と、
前記保持手段に保持されている前記クリッピング済グラフィックスと前記動画描画手段により生成された前記動画データとを合成する合成手段と、
を有することを特徴とする。
【0008】
上記目的を達成するために本発明の一態様に係る画像処理装置の制御方法は以下のような工程を備える。即ち、
単一又は複数の動画描画処理命令及び単一又は複数のグラフィックス描画処理命令を含む描画処理命令を受け取って描画処理を行なう画像処理装置の制御方法であって、
前記描画処理命令に含まれる前記グラフィックス描画処理命令に従ってグラフィックス描画結果を得るグラフィックス描画工程と、
前記描画処理命令に含まれる前記動画描画処理命令からクリッピング処理命令を生成するクリッピング処理工程と、
前記グラフィックス描画結果を前記クリッピング処理命令によりクリッピングしたクリッピング済グラフィックスを保持する保持工程と、
前記描画処理命令に含まれる前記動画描画処理命令に従って処理した動画データを生成する動画描画工程と、
前記保持工程に保持されている前記クリッピング済グラフィックスと前記動画描画工程により生成された前記動画データとを合成する合成工程と、
を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、グラフィックスと動画とを重ねて表示する場合に、動画に重ねるグラフィックスをクリッピングした結果を保持することにより、メモリ使用量を削減してグラフィックスと動画とを合成して出力できるという効果がある。
【発明を実施するための最良の形態】
【0010】
以下、添付図面を参照して本発明の好適な実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0011】
図1は、本発明の実施形態に係る画像処理装置の概略構成を示すブロック図である。
【0012】
図において、CPU102は、ROM103或はRAM104にロードされたプログラムに従って、この装置全体の動作を制御している。ROM103は、変更を必要としないプログラムや各種パラメータを格納する。RAM104はSDRAM、DRAM等で構成され、CPU102により使用されるワークエリアを提供するとともに、外部装置などから供給されるプログラムや、画像データなどの各種データ等を一時記憶するのに使用される。表示部105は、プログラムによって描画された画像を表示する。システムバス101は、CPU102、ROM103、RAM104、表示ユニット105等を相互に接続する。
【0013】
図2は、本実施形態に係る画像処理装置201の機能を説明する機能ブロック図である。
【0014】
図において、本実施形態に係る画像処理装置201において、描画制御部202は、単一又は複数の動画描画処理命令及び単一又は複数のグラフィックス描画処理命令を含む描画処理命令を入力してグラフィックスを作成する。グラフィックス保持部203は、その作成されたグラフィックスを格納する。動画描画部204は、入力した動画データ及び描画処理命令分離部206からの指示に従って動画フレームを作成して合成部205に出力する。合成部205は、グラフィックスと動画とを合成する。
【0015】
描画制御部202は、描画処理命令分離部206、グラフィックス描画部207、クリッピング処理部208を有している。描画処理命令分離部206は、描画処理命令を受信し、グラフィックス描画処理命令と動画描画処理命令に分離する。グラフィックス描画部207は、描画処理命令分離部206で分離されたグラフィックス処理命令を実行してグラフィックスを作成し、それをグラフィックス保持部203に格納する。クリッピング処理部208は、描画処理命令分離部206で分離された動画描画処理命令に含まれる、動画の幾何学情報のパラメータを取得する。そして、グラフィックス描画部207で描画されたグラフィックスに対するクリッピング処理命令を生成してグラフィックス保持部203に出力する。これによりグラフィックス保持部203は、そこに格納しているグラフィックスに対して、クリッピング処理命令に従ったクリッピング処理を行って、クリッピング済グラフィックスを得る。動画描画部204は動画データを受信し、描画処理命令分離部206で分離された動画描画処理命令に含まれる、動画に対する、例えば2次元アフィン変換等のパラメータを取得して動画の変形処理を行う。合成部205は、グラフィックス保持部203に格納されているグラフィックスと、動画描画部204で変形処理された動画データとを合成し、その合成画像を表示部105に表示する。
【0016】
[実施形態1]
次に、本発明の実施形態1に係る画像処理装置における処理の流れを説明する。本実施形態1に係る動画の幾何学情報は、2次元アフィン変換のパラメータで表されるものとする。
【0017】
図3(A)は、本実施形態に係る画像処理装置に入力される描画処理命令の一例を示す図である。
【0018】
この描画処理命令は、矩形描画処理命令301、動画描画処理命令302、矩形描画処理命令303、動画描画処理命令304を含み、図3(A)で示す順序で呼び出される。矩形描画処理命令301は、点(x1,y1)を左下の点とするX軸方向に幅w1、Y軸方向に高さh1の矩形を色c1で描画する命令である。この矩形は図3(B)の矩形305で示されている。また矩形描画命令303も同様に、点(x3,y3)を左下の点とするX軸方向に幅w3、Y軸方向に高さh3の矩形を色c3で描画する命令である。この矩形は図3(D)の矩形306で示されている。
【0019】
また動画描画処理命令302は、動画をX軸方向にsx2倍、Y軸方向にsy2倍に拡大或は縮小し、X軸方向にx2、Y軸方向にy2だけ平行移動する処理を示している。この矩形は図3(C)の矩形307で示されている。また動画描画処理命令304も同様に、動画をX軸方向にsx4倍、Y軸方向にsy4倍に拡大或は縮小し、X軸方向にx4、Y軸方向にy4だけ平行移動する処理を示している。この矩形は図3(E)の矩形308で示されている。
【0020】
それぞれの描画処理を単独で実行した場合の描画内容を示したのが図3(B)〜図3(E)である。図3(C)で、画像の幅vw2は動画の幅をsx2倍し、高さvh2は動画の高さをsy2倍した結果を示している。また同様に、図3(E)の画像の幅vw4は、動画の幅をsx4倍し、高さvh4は動画の高さをsy4倍した結果を示している。尚、ここでは2次元アフィン変換として拡大或は縮小及び平行移動を利用して説明するが、回転や歪みなどを使用してもよく、更に、それらを組み合わせたアフィン変換でもよい。
【0021】
描画処理命令分離部206は、描画処理命令を1つずつ受信し、その描画処理命令を動画描画処理命令とグラフィックス描画処理命令とに分離する。入力された描画処理命令がグラフィックス描画処理命令であった場合、グラフィックス描画部207がグラフィックス描画命令を受信して、その描画命令を実行してグラフィックスを作成する。こうして作成されたグラフィックスをグラフィックス保持部203に格納する。一方、入力した描画処理命令が動画描画処理命令であった場合は、まずクリッピング処理部208によりクリッピング処理命令を生成してグラフィックス保持部203に供給する。これにより、グラフィックス保持部203は、その格納しているグラフィックスに対するクリッピング処理を行う。ここでクリッピング処理命令は、動画描画処理命令のパラメータから動画が占める領域を計算し、その領域のグラフィックスを除去するように生成される。描画処理命令分離部206は、クリッピング処理部208によりクリッピング処理を指示した後、動画描画部204に動画描画処理命令を送る。動画描画部204は、この動画描画処理命令を受信して動画の変形処理を行う。合成部205は、動画描画部204から入力される複数の変形処理済の動画を、描画処理命令が先に入力されたものから合成し、続いてグラフィックス保持部203から入力されるグラフィックスをその上から合成する。描画処理命令の入力を受信した後の処理について、図3(A)に示した描画処理命令を例として、図を用いて説明する。まずグラフィックス描画処理について説明する。
【0022】
図4は、図3(A)に示す描画処理命令を順次実行したときのグラフィックス保持部203で保持するグラフィックス描画結果の内容を示した模式図である。
【0023】
先ず最初、グラフィックス保持部203が保持するグラフィックス描画結果の内容はクリアされていて透明の状態であるとする。図3(A)に示す矩形描画処理命令301が入力されると、描画処理命令分離部206においてグラフィックス描画処理命令であると判定され、グラフィックス描画部207で処理が実行される。これにより図4(A)で示すように、色c1で矩形が描画される。図4(A)の411は、この描画結果を示している。
【0024】
次に図3(A)に示す動画描画処理命令302が入力されると、描画処理命令分離部206において動画描画処理命令であると判定され、クリッピング処理部208においてクリッピング処理命令421が生成される。この場合の処理を図4(B)に示している。このクリッピング処理命令421は、(x2,y2)を左下の点とし、X軸方向に幅vw2、Y軸方向に高さvh2の矩形の領域のピクセルの色値を透明に変更する命令である。このクリッピング処理命令421を処理すると、その描画結果は412で示した状態になる。図4(B)では、図4(A)の矩形領域(図3(B)の305に相当)を、図3(C)の307で示す領域でクリッピングしている。
【0025】
次に図3(A)に示す矩形描画処理命令303が入力されると、グラフィックス処理部207で処理が実行され、色c3で矩形が描画される(図4(C))。これは図3(D)の306に相当している。この処理により、図4(C)に示す描画結果413が得られる。
【0026】
次に図3(A)に示す動画描画処理命令304が入力されると、描画処理命令分離部206において動画描画処理命令であると判定され、クリッピング処理部208においてクリッピング処理命令422(図4(D))が生成される。これは図3(D)の矩形306を図3(E)の矩形308でクリッピングする処理である。クリッピング処理命令422は(x4,y4)を左下の点とし、X軸方向に幅vw4、Y軸方向に高さvh4の矩形の範囲をクリッピングする命令で、このクリッピング処理によって図4(D)に示す描画結果414が得られる。
【0027】
次に動画描画処理について図5の模式図を用いて説明する。
【0028】
図5は、本発明の実施形態1に係る動画の描画処理を説明する模式図である。
【0029】
動画描画部204は、複数の動画描画処理ユニットを有し、各動画描画処理ユニットは動画描画処理命令に1対1で対応しているものとする。ここで動画描画処理命令302により描画される動画データを動画データ501、動画描画処理命令304により描画される動画データを動画データ502とする。また動画描画処理ユニット503は、動画描画処理命令302を処理し、動画描画処理ユニット504は動画描画処理命令304を処理する。動画描画処理ユニット503,504はまた、それぞれ動画データ501,502を受信する。尚、ここで動画データのフォーマットは、MPEG1,MPEG2,AVIなどのいずれでもよく、ここでは特定しない。更に、動画描画処理ユニット503,504は、描画処理命令分離部206から供給される動画描画処理命令に従って、その動画データに対して変形処理を行う。例えば、動画描画処理ユニット503は、動画描画処理命令302の各パラメータに基づいて、動画データ501をX軸方向にsx2倍、Y軸方向にsy2倍し、X軸方向にx2、Y軸方向にy2平行移動して、変形処理済の動画データ505が得られる。また動画描画処理ユニット504においても同様に、動画描画処理命令304の各パラメータに基づいて、動画データ502をX軸方向にsx4倍、Y軸方向にsy4倍し、X軸方向にx4、Y軸方向にy4平行移動して、変形処理済の動画データ506が得られる。これらの処理は前述の図3(C),(E)で説明したのと同じである。
【0030】
図6は、本実施形態に係る合成部における合成処理を説明する模式図である。
【0031】
合成部205には、グラフィックス保持部203からの描画結果414、変形処理済の動画データ505,506が入力されている。合成部205は、まず変形処理済の動画データ505,506を入力して、これらを合成する。変形処理済の動画データ505は動画描画処理命令302によって、変形処理済の動画データ506は動画描画処理命令304によってそれぞれ生成されている。動画描画処理命令302は、動画描画処理命令304より先に描画制御部202に入力されているので、変形処理済の動画データ505が変形処理済の動画データ506の下層に位置するように重ねて合成処理を行う。その結果、図6の611で示すように、動画データ506が動画データ505の上にくるように合成した結果が得られる。次に、グラフィックス保持部203に格納されている描画結果414と、動画合成結果611とを合成する。このとき、動画合成結果611が描画結果414よりも下のレイヤとなるように重ねて合成処理を行う。こうして最終的に動画とグラフィックスの合成結果612が得られ、それを表示部105に表示する。
【0032】
尚、本実施形態1では、動画描画処理命令が描画処理命令の中に2つ含まれている場合で説明したが、1つでも3つ以上であっても成立する。また、ここでは合成処理を動画から先に行ったが、レイヤの上下関係を保っていれば、どのような順序で行っても構わない。
【0033】
[実施形態2]
以下、本発明の実施形態2について図面を参照して説明する。尚、本実施形態2に係る画像処理装置のハードウェア構成及び機能構成は、前述の実施形態1について説明したものと同じであるので説明を省略する。
【0034】
次に、本発明の実施の形態2に係る画像処理装置における処理の流れを説明する。ここで、本実施形態2で扱う動画の幾何学情報は2次元アフィン変換のパラメータの指定とマスク画像(マスク情報)で表される。
【0035】
図7(A)は、本実施形態2に係る画像処理装置に入力される描画処理命令のシーケンスの例を示した図である。
【0036】
この描画処理命令は、多角形描画処理命令701、動画描画処理命令702、楕円描画処理命令703、動画描画処理命令704を含み、それぞれその入力順序に従って呼び出される。次にそれぞれの描画処理命令による描画結果を、図7(B)に示した模式図を用いて説明する。
【0037】
多角形描画処理命令701は、ここでは6つのX座標、Y座標が配列px[],py[]として渡される。(px[0],py[0])、(px[1],py[1])、(px[2],py[2])、(px[3],py[3])、(px[4],py[4])、(px[5],py[5])、(px[0],py[0])の順に線分を引く。そして、これら線分で囲まれた領域を色cpで塗りつぶすグラフィックス描画処理命令である。図7(B)の710は、この多角形描画処理命令701により描画された例を示している。
【0038】
楕円描画処理命令703は、中心の座標を(cx,cy)とし、幅2rx、高さ2ryとなる楕円の内部、つまり図8に示した方程式を満たす座標(x,y)のピクセルを色ceで塗りつぶすグラフィックス描画処理命令である。図7(B)の711は、この楕円描画処理命令703により描画された楕円を示している。
【0039】
動画描画処理命令702は、動画データに対しマスク画像データm5を用いてマスク処理を行い、マスク処理済の動画をX軸方向にsx5倍、Y軸方向にsy5倍に拡大或は縮小し、X軸方向にx5、Y軸方向にy5平行移動する命令である。マスク画像データm5は、入力される動画データ712の各ピクセルに対応して「0」或は「1」のマスク値が与えられ、マスク値が「0」のピクセルは透明に、「1」であれば動画データのピクセルの色となるように動画データ712を変換する。
【0040】
マスク画像722は、マスク画像データm5を図示したものである。黒い領域はマスク値が「0」、白い領域はマスク値が「1」であることを示している。動画データ712にこのマスク画像722を用いて処理した結果、マスク処理済動画データ732が生成される。そして、動画描画処理命令702により、図7(B)の713で示すような動画データが得られる。ここで、動画の幅vw5は動画データ712の幅をsx5倍し、高さvh5は動画データ712の高さをsy5倍したものである。
【0041】
動画描画処理命令704は同様に、動画データに対してマスク画像データm6を用いてマスク処理を行い、マスク処理済み動画をX軸方向にsx6倍、Y軸方向にsy6倍に拡大或は縮小し、X軸方向にx6、Y軸方向にy6平行移動する命令である。マスク画像データm6を例示したものがマスク画像724であり、動画データ714に対してマスク処理を行った結果マスク処理済の動画データ734が生成される。そして、動画描画処理命令704により、図7(B)の715で示すような動画データが得られる。ここで、動画の幅vw6は動画データ714の幅をsx6倍し、高さvh6は動画データ714の高さをsy6倍したものである。
【0042】
次に本実施形態2において、図7(A)に示すような描画処理命令を受信した後の処理について図7(A)(B)に示した例を用いて説明する。まずグラフィックス描画処理について説明する。
【0043】
図9は、図7(A)に示した描画処理命令を順次実行したときのグラフィックス保持部203が保持するグラフィックス描画結果の内容例を示した模式図である。
【0044】
はじめにグラフィックス保持部203が保持するグラフィックス描画結果の内容はクリアされており、全てのピクセルが透明であるとする。
【0045】
図7(A)の多角形描画処理命令701が入力されると、図9(A)において、描画処理命令分離部206によりグラフィックス描画処理命令であると判定され、グラフィックス描画部207で描画処理が実行され、色cpで多角形が描画される。グラフィックス保持部203で保持する描画結果は、描画結果911に示したようになる。
【0046】
次に図7(A)の動画描画処理命令702が入力されると、描画処理命令分離部206により動画描画処理命令であると判定される。そしてクリッピング処理部208により、マスク画像データm5をX軸方向にsx5倍、Y軸方向にsy5倍に拡大或は縮小し、X軸方向にx5、Y軸方向にy5平行移動した新たなマスク画像データm15を生成する。そして図9(B)に示すように、この生成されたマスク画像データm15をパラメータとしてクリッピング処理命令921を生成する。このクリッピング処理命令921は、グラフィックス描画結果911に対してマスク画像データm15でマスク値が「1」となるピクセルを透明に変換する処理を行う。そしてこのクリッピング処理命令921を実行することにより、図9(B)に示す描画結果912が得られる。
【0047】
次に図7(A)の楕円描画処理命令703が入力されると、図9(C)に示すように、グラフィックス描画部207によって描画処理が実行され、色ceで楕円が描画されて描画結果913が得られる。
【0048】
次に図7(A)の動画処理命令動画描画処理命令704が入力されると、描画処理命令分離部206により動画描画処理命令であると判定される。クリッピング処理部208において、マスク画像データm6をX軸方向にsx6倍、Y軸方向にsy6倍に拡大或は縮小し、X軸方向にx6、Y軸方向にy6平行移動した新たなマスク画像データm16を生成する。そして図9(D)に示すように、このマスク画像データm16をパラメータとしてクリッピング処理命令922を生成して処理する。このクリッピング処理命令921は、グラフィックス描画結果に対してマスク画像データm16でマスク値が「1」となるピクセルを透明に変換する命令である。そして、このクリッピング処理命令922の実行により描画結果914が得られる。
【0049】
図10は、本実施形態2に係る動画描画部204における動画の描画処理を説明する図である。
【0050】
動画描画部204は、複数の動画描画処理ユニットを有し、各動画描画処理ユニットは動画描画処理命令に1対1で対応しているものとする。前述の図7(A)に示す動画描画処理命令702は、動画描画処理ユニット1003を介して動画データ712を描画し、動画描画処理命令704は、動画描画処理ユニット1004を介して動画データ714を描画する。動画描画処理ユニット1003,1004はそれぞれ動画データ712,714を受信する。このときの動画データのフォーマットは、MPEG1,MPEG2,AVI等のいずれでもよく、ここでは特定しない。更に、描画処理命令分離部206で動画描画処理命令を受信し、それぞれの動画データを動画描画処理命令に従ってマスク処理及び変形処理を行う。動画描画処理ユニット1003は、動画描画処理命令702の各パラメータに基づいて、まず動画データをマスク画像データm5によって変換する。そして更に、X軸方向にsx5倍、Y軸方向にsy5倍に拡大或は縮小し、X軸方向にx5、Y軸方向にy5平行移動を行って変形処理済の動画データ1005を出力する。また動画描画処理ユニット1004においても同様に、動画描画処理命令704の各パラメータに基づいて動画データをマスク画像データm6によって変換する。更に、X軸方向にsx6倍、Y軸方向にsy6倍に拡大或は縮小し、X軸方向にx6、Y軸方向にy6平行移動を行って変形処理済動画データ1006を出力する。
【0051】
図11は、本実施形態2に係る合成部205における合成処理について説明する模式図である。
【0052】
ここでは合成部205に対して、図9(D)に示す描画結果914、及び図10の変形処理済動画データ1005,1006が入力されている。この合成部205は、まず変形処理済動画データ1005と変形処理済動画データ1006とを合成する。図10で説明したように、変形処理済動画データ1005は動画描画処理命令702によって、変形処理済動画データ1006は動画描画処理命令704によって生成されている。ここで動画描画処理命令702は、動画描画処理命令704より先に描画制御部202に入力されているので、変形処理済動画データ1005が変形処理済動画データ1006より下のレイヤとなるように重ねて合成処理を行う。その結果、動画合成結果1111が得られる。
【0053】
次に、グラフィックス保持部203に格納されている描画結果914と、動画合成結果1111とを合成する。このとき動画合成結果1111が描画結果914より下のレイヤとなるように重ねて合成処理を行う。こうして最終的に動画グラフィックス合成結果1112が得られ、それを表示部105に表示する。
【0054】
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
【0055】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【0056】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0057】
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
【0058】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
【0059】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【0060】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0061】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0062】
【図1】本発明の実施形態に係る画像処理装置の概略構成を示すブロック図である。
【図2】本実施形態に係る画像処理装置の機能を説明する機能ブロック図である。
【図3】本実施形態に係る画像処理装置に入力される描画処理命令の一例、及びその描画処理命令を実行した結果例を示す図である。
【図4】図3(A)に示す描画処理命令を順次実行したときのグラフィックス保持部で保持するグラフィックス描画結果の内容を示した模式図である。
【図5】本発明の実施形態1に係る動画描画処理を説明する模式図である。
【図6】本実施形態に係る合成部における合成処理を説明する模式図である。
【図7】本実施形態2に係る画像処理装置に入力される描画処理命令のシーケンスの一例、及びその描画処理命令を実行した結果例を示す図である。
【図8】本発明の実施形態2に係る楕円描画処理命令で使用する方程式を示す図である。
【図9】図7に示した描画処理命令を順次実行したときのグラフィックス保持部が保持するグラフィックス描画結果の内容例を示した模式図である。
【図10】本実施形態2に係る動画描画部における動画の描画処理を説明する図である。
【図11】本実施形態2に係る合成部における合成処理について説明する模式図である。
【符号の説明】
【0063】
201 画像処理装置
202 描画制御部
203 グラフィックス保持部
204 動画描画部
205 合成部
206 描画処理命令分離部
207 グラフィックス描画部
208 クリッピング処理部
【技術分野】
【0001】
本発明は、グラフィックスと動画データとを入力して合成する画像処理装置及びその制御方法に関するものである。
【背景技術】
【0002】
動画とグラフィックスを含む画像を構成する際、従来は動画のフレームを切り出し、そのフレームを静止画像とし、それにグラフィックスを合わせることによって実現していた。しかし、動画とグラフィックスでは、画像の使用用途、データ形式、要求される描画処理の種類が異なる。例えば、動画の場合は、コマ落ちなどによって動画の品質が低下しないようにすること等が求められる。そのために動画とグラフィックスの処理系を分離し、それぞれの処理系の出力結果を合成して出力している。
【0003】
動画とグラフィックスとを合成して出力する画像形成装置に関して、メモリに格納されているグラフィックスデータと動画データを、そのメモリの読み出しアドレスを切り替えながら合成する方法が提案されている(特許文献1参照)。また、ビデオ信号の処理機能をグラフィックスコントローラから独立させ、そのグラフィックスコントローラで作成した画像をビデオ信号として入力し、ビデオの高画質化を図る提案もされている(特許文献2参照)。
【特許文献1】特開平7−072850号公報
【特許文献2】特開2005−321481号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来の方法によれば、動画の描画処理命令とグラフィックスの描画処理命令とが混在した描画処理命令を処理する際、動画とグラフィックスの処理系を分離している。これにより動画とグラフィックスそれぞれの品質を高めることができるが、動画とグラフィックスが互いに重なり合って表示される場合に、正しく表示を行うためにはグラフィックスの描画結果を格納するバッファを複数持たなければならない。これにより装置のコストが増大するという問題があった。
【0005】
本発明の目的は、上述した従来の問題点を解決することにある。
【0006】
本願発明の一態様によれば、グラフィックスの描画結果を保持するメモリ容量を少なくして、動画とグラフィックスの合成を実現できる技術を提供できる。
【課題を解決するための手段】
【0007】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
単一又は複数の動画描画処理命令及び単一又は複数のグラフィックス描画処理命令を含む描画処理命令を受け取って描画処理を行なう画像処理装置であって、
前記描画処理命令に含まれる前記グラフィックス描画処理命令に従ってグラフィックス描画結果を得るグラフィックス描画手段と、
前記描画処理命令に含まれる前記動画描画処理命令からクリッピング処理命令を生成するクリッピング処理手段と、
前記グラフィックス描画結果を前記クリッピング処理命令によりクリッピングしたクリッピング済グラフィックスを保持する保持手段と、
前記描画処理命令に含まれる前記動画描画処理命令に従って処理した動画データを生成する動画描画手段と、
前記保持手段に保持されている前記クリッピング済グラフィックスと前記動画描画手段により生成された前記動画データとを合成する合成手段と、
を有することを特徴とする。
【0008】
上記目的を達成するために本発明の一態様に係る画像処理装置の制御方法は以下のような工程を備える。即ち、
単一又は複数の動画描画処理命令及び単一又は複数のグラフィックス描画処理命令を含む描画処理命令を受け取って描画処理を行なう画像処理装置の制御方法であって、
前記描画処理命令に含まれる前記グラフィックス描画処理命令に従ってグラフィックス描画結果を得るグラフィックス描画工程と、
前記描画処理命令に含まれる前記動画描画処理命令からクリッピング処理命令を生成するクリッピング処理工程と、
前記グラフィックス描画結果を前記クリッピング処理命令によりクリッピングしたクリッピング済グラフィックスを保持する保持工程と、
前記描画処理命令に含まれる前記動画描画処理命令に従って処理した動画データを生成する動画描画工程と、
前記保持工程に保持されている前記クリッピング済グラフィックスと前記動画描画工程により生成された前記動画データとを合成する合成工程と、
を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、グラフィックスと動画とを重ねて表示する場合に、動画に重ねるグラフィックスをクリッピングした結果を保持することにより、メモリ使用量を削減してグラフィックスと動画とを合成して出力できるという効果がある。
【発明を実施するための最良の形態】
【0010】
以下、添付図面を参照して本発明の好適な実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0011】
図1は、本発明の実施形態に係る画像処理装置の概略構成を示すブロック図である。
【0012】
図において、CPU102は、ROM103或はRAM104にロードされたプログラムに従って、この装置全体の動作を制御している。ROM103は、変更を必要としないプログラムや各種パラメータを格納する。RAM104はSDRAM、DRAM等で構成され、CPU102により使用されるワークエリアを提供するとともに、外部装置などから供給されるプログラムや、画像データなどの各種データ等を一時記憶するのに使用される。表示部105は、プログラムによって描画された画像を表示する。システムバス101は、CPU102、ROM103、RAM104、表示ユニット105等を相互に接続する。
【0013】
図2は、本実施形態に係る画像処理装置201の機能を説明する機能ブロック図である。
【0014】
図において、本実施形態に係る画像処理装置201において、描画制御部202は、単一又は複数の動画描画処理命令及び単一又は複数のグラフィックス描画処理命令を含む描画処理命令を入力してグラフィックスを作成する。グラフィックス保持部203は、その作成されたグラフィックスを格納する。動画描画部204は、入力した動画データ及び描画処理命令分離部206からの指示に従って動画フレームを作成して合成部205に出力する。合成部205は、グラフィックスと動画とを合成する。
【0015】
描画制御部202は、描画処理命令分離部206、グラフィックス描画部207、クリッピング処理部208を有している。描画処理命令分離部206は、描画処理命令を受信し、グラフィックス描画処理命令と動画描画処理命令に分離する。グラフィックス描画部207は、描画処理命令分離部206で分離されたグラフィックス処理命令を実行してグラフィックスを作成し、それをグラフィックス保持部203に格納する。クリッピング処理部208は、描画処理命令分離部206で分離された動画描画処理命令に含まれる、動画の幾何学情報のパラメータを取得する。そして、グラフィックス描画部207で描画されたグラフィックスに対するクリッピング処理命令を生成してグラフィックス保持部203に出力する。これによりグラフィックス保持部203は、そこに格納しているグラフィックスに対して、クリッピング処理命令に従ったクリッピング処理を行って、クリッピング済グラフィックスを得る。動画描画部204は動画データを受信し、描画処理命令分離部206で分離された動画描画処理命令に含まれる、動画に対する、例えば2次元アフィン変換等のパラメータを取得して動画の変形処理を行う。合成部205は、グラフィックス保持部203に格納されているグラフィックスと、動画描画部204で変形処理された動画データとを合成し、その合成画像を表示部105に表示する。
【0016】
[実施形態1]
次に、本発明の実施形態1に係る画像処理装置における処理の流れを説明する。本実施形態1に係る動画の幾何学情報は、2次元アフィン変換のパラメータで表されるものとする。
【0017】
図3(A)は、本実施形態に係る画像処理装置に入力される描画処理命令の一例を示す図である。
【0018】
この描画処理命令は、矩形描画処理命令301、動画描画処理命令302、矩形描画処理命令303、動画描画処理命令304を含み、図3(A)で示す順序で呼び出される。矩形描画処理命令301は、点(x1,y1)を左下の点とするX軸方向に幅w1、Y軸方向に高さh1の矩形を色c1で描画する命令である。この矩形は図3(B)の矩形305で示されている。また矩形描画命令303も同様に、点(x3,y3)を左下の点とするX軸方向に幅w3、Y軸方向に高さh3の矩形を色c3で描画する命令である。この矩形は図3(D)の矩形306で示されている。
【0019】
また動画描画処理命令302は、動画をX軸方向にsx2倍、Y軸方向にsy2倍に拡大或は縮小し、X軸方向にx2、Y軸方向にy2だけ平行移動する処理を示している。この矩形は図3(C)の矩形307で示されている。また動画描画処理命令304も同様に、動画をX軸方向にsx4倍、Y軸方向にsy4倍に拡大或は縮小し、X軸方向にx4、Y軸方向にy4だけ平行移動する処理を示している。この矩形は図3(E)の矩形308で示されている。
【0020】
それぞれの描画処理を単独で実行した場合の描画内容を示したのが図3(B)〜図3(E)である。図3(C)で、画像の幅vw2は動画の幅をsx2倍し、高さvh2は動画の高さをsy2倍した結果を示している。また同様に、図3(E)の画像の幅vw4は、動画の幅をsx4倍し、高さvh4は動画の高さをsy4倍した結果を示している。尚、ここでは2次元アフィン変換として拡大或は縮小及び平行移動を利用して説明するが、回転や歪みなどを使用してもよく、更に、それらを組み合わせたアフィン変換でもよい。
【0021】
描画処理命令分離部206は、描画処理命令を1つずつ受信し、その描画処理命令を動画描画処理命令とグラフィックス描画処理命令とに分離する。入力された描画処理命令がグラフィックス描画処理命令であった場合、グラフィックス描画部207がグラフィックス描画命令を受信して、その描画命令を実行してグラフィックスを作成する。こうして作成されたグラフィックスをグラフィックス保持部203に格納する。一方、入力した描画処理命令が動画描画処理命令であった場合は、まずクリッピング処理部208によりクリッピング処理命令を生成してグラフィックス保持部203に供給する。これにより、グラフィックス保持部203は、その格納しているグラフィックスに対するクリッピング処理を行う。ここでクリッピング処理命令は、動画描画処理命令のパラメータから動画が占める領域を計算し、その領域のグラフィックスを除去するように生成される。描画処理命令分離部206は、クリッピング処理部208によりクリッピング処理を指示した後、動画描画部204に動画描画処理命令を送る。動画描画部204は、この動画描画処理命令を受信して動画の変形処理を行う。合成部205は、動画描画部204から入力される複数の変形処理済の動画を、描画処理命令が先に入力されたものから合成し、続いてグラフィックス保持部203から入力されるグラフィックスをその上から合成する。描画処理命令の入力を受信した後の処理について、図3(A)に示した描画処理命令を例として、図を用いて説明する。まずグラフィックス描画処理について説明する。
【0022】
図4は、図3(A)に示す描画処理命令を順次実行したときのグラフィックス保持部203で保持するグラフィックス描画結果の内容を示した模式図である。
【0023】
先ず最初、グラフィックス保持部203が保持するグラフィックス描画結果の内容はクリアされていて透明の状態であるとする。図3(A)に示す矩形描画処理命令301が入力されると、描画処理命令分離部206においてグラフィックス描画処理命令であると判定され、グラフィックス描画部207で処理が実行される。これにより図4(A)で示すように、色c1で矩形が描画される。図4(A)の411は、この描画結果を示している。
【0024】
次に図3(A)に示す動画描画処理命令302が入力されると、描画処理命令分離部206において動画描画処理命令であると判定され、クリッピング処理部208においてクリッピング処理命令421が生成される。この場合の処理を図4(B)に示している。このクリッピング処理命令421は、(x2,y2)を左下の点とし、X軸方向に幅vw2、Y軸方向に高さvh2の矩形の領域のピクセルの色値を透明に変更する命令である。このクリッピング処理命令421を処理すると、その描画結果は412で示した状態になる。図4(B)では、図4(A)の矩形領域(図3(B)の305に相当)を、図3(C)の307で示す領域でクリッピングしている。
【0025】
次に図3(A)に示す矩形描画処理命令303が入力されると、グラフィックス処理部207で処理が実行され、色c3で矩形が描画される(図4(C))。これは図3(D)の306に相当している。この処理により、図4(C)に示す描画結果413が得られる。
【0026】
次に図3(A)に示す動画描画処理命令304が入力されると、描画処理命令分離部206において動画描画処理命令であると判定され、クリッピング処理部208においてクリッピング処理命令422(図4(D))が生成される。これは図3(D)の矩形306を図3(E)の矩形308でクリッピングする処理である。クリッピング処理命令422は(x4,y4)を左下の点とし、X軸方向に幅vw4、Y軸方向に高さvh4の矩形の範囲をクリッピングする命令で、このクリッピング処理によって図4(D)に示す描画結果414が得られる。
【0027】
次に動画描画処理について図5の模式図を用いて説明する。
【0028】
図5は、本発明の実施形態1に係る動画の描画処理を説明する模式図である。
【0029】
動画描画部204は、複数の動画描画処理ユニットを有し、各動画描画処理ユニットは動画描画処理命令に1対1で対応しているものとする。ここで動画描画処理命令302により描画される動画データを動画データ501、動画描画処理命令304により描画される動画データを動画データ502とする。また動画描画処理ユニット503は、動画描画処理命令302を処理し、動画描画処理ユニット504は動画描画処理命令304を処理する。動画描画処理ユニット503,504はまた、それぞれ動画データ501,502を受信する。尚、ここで動画データのフォーマットは、MPEG1,MPEG2,AVIなどのいずれでもよく、ここでは特定しない。更に、動画描画処理ユニット503,504は、描画処理命令分離部206から供給される動画描画処理命令に従って、その動画データに対して変形処理を行う。例えば、動画描画処理ユニット503は、動画描画処理命令302の各パラメータに基づいて、動画データ501をX軸方向にsx2倍、Y軸方向にsy2倍し、X軸方向にx2、Y軸方向にy2平行移動して、変形処理済の動画データ505が得られる。また動画描画処理ユニット504においても同様に、動画描画処理命令304の各パラメータに基づいて、動画データ502をX軸方向にsx4倍、Y軸方向にsy4倍し、X軸方向にx4、Y軸方向にy4平行移動して、変形処理済の動画データ506が得られる。これらの処理は前述の図3(C),(E)で説明したのと同じである。
【0030】
図6は、本実施形態に係る合成部における合成処理を説明する模式図である。
【0031】
合成部205には、グラフィックス保持部203からの描画結果414、変形処理済の動画データ505,506が入力されている。合成部205は、まず変形処理済の動画データ505,506を入力して、これらを合成する。変形処理済の動画データ505は動画描画処理命令302によって、変形処理済の動画データ506は動画描画処理命令304によってそれぞれ生成されている。動画描画処理命令302は、動画描画処理命令304より先に描画制御部202に入力されているので、変形処理済の動画データ505が変形処理済の動画データ506の下層に位置するように重ねて合成処理を行う。その結果、図6の611で示すように、動画データ506が動画データ505の上にくるように合成した結果が得られる。次に、グラフィックス保持部203に格納されている描画結果414と、動画合成結果611とを合成する。このとき、動画合成結果611が描画結果414よりも下のレイヤとなるように重ねて合成処理を行う。こうして最終的に動画とグラフィックスの合成結果612が得られ、それを表示部105に表示する。
【0032】
尚、本実施形態1では、動画描画処理命令が描画処理命令の中に2つ含まれている場合で説明したが、1つでも3つ以上であっても成立する。また、ここでは合成処理を動画から先に行ったが、レイヤの上下関係を保っていれば、どのような順序で行っても構わない。
【0033】
[実施形態2]
以下、本発明の実施形態2について図面を参照して説明する。尚、本実施形態2に係る画像処理装置のハードウェア構成及び機能構成は、前述の実施形態1について説明したものと同じであるので説明を省略する。
【0034】
次に、本発明の実施の形態2に係る画像処理装置における処理の流れを説明する。ここで、本実施形態2で扱う動画の幾何学情報は2次元アフィン変換のパラメータの指定とマスク画像(マスク情報)で表される。
【0035】
図7(A)は、本実施形態2に係る画像処理装置に入力される描画処理命令のシーケンスの例を示した図である。
【0036】
この描画処理命令は、多角形描画処理命令701、動画描画処理命令702、楕円描画処理命令703、動画描画処理命令704を含み、それぞれその入力順序に従って呼び出される。次にそれぞれの描画処理命令による描画結果を、図7(B)に示した模式図を用いて説明する。
【0037】
多角形描画処理命令701は、ここでは6つのX座標、Y座標が配列px[],py[]として渡される。(px[0],py[0])、(px[1],py[1])、(px[2],py[2])、(px[3],py[3])、(px[4],py[4])、(px[5],py[5])、(px[0],py[0])の順に線分を引く。そして、これら線分で囲まれた領域を色cpで塗りつぶすグラフィックス描画処理命令である。図7(B)の710は、この多角形描画処理命令701により描画された例を示している。
【0038】
楕円描画処理命令703は、中心の座標を(cx,cy)とし、幅2rx、高さ2ryとなる楕円の内部、つまり図8に示した方程式を満たす座標(x,y)のピクセルを色ceで塗りつぶすグラフィックス描画処理命令である。図7(B)の711は、この楕円描画処理命令703により描画された楕円を示している。
【0039】
動画描画処理命令702は、動画データに対しマスク画像データm5を用いてマスク処理を行い、マスク処理済の動画をX軸方向にsx5倍、Y軸方向にsy5倍に拡大或は縮小し、X軸方向にx5、Y軸方向にy5平行移動する命令である。マスク画像データm5は、入力される動画データ712の各ピクセルに対応して「0」或は「1」のマスク値が与えられ、マスク値が「0」のピクセルは透明に、「1」であれば動画データのピクセルの色となるように動画データ712を変換する。
【0040】
マスク画像722は、マスク画像データm5を図示したものである。黒い領域はマスク値が「0」、白い領域はマスク値が「1」であることを示している。動画データ712にこのマスク画像722を用いて処理した結果、マスク処理済動画データ732が生成される。そして、動画描画処理命令702により、図7(B)の713で示すような動画データが得られる。ここで、動画の幅vw5は動画データ712の幅をsx5倍し、高さvh5は動画データ712の高さをsy5倍したものである。
【0041】
動画描画処理命令704は同様に、動画データに対してマスク画像データm6を用いてマスク処理を行い、マスク処理済み動画をX軸方向にsx6倍、Y軸方向にsy6倍に拡大或は縮小し、X軸方向にx6、Y軸方向にy6平行移動する命令である。マスク画像データm6を例示したものがマスク画像724であり、動画データ714に対してマスク処理を行った結果マスク処理済の動画データ734が生成される。そして、動画描画処理命令704により、図7(B)の715で示すような動画データが得られる。ここで、動画の幅vw6は動画データ714の幅をsx6倍し、高さvh6は動画データ714の高さをsy6倍したものである。
【0042】
次に本実施形態2において、図7(A)に示すような描画処理命令を受信した後の処理について図7(A)(B)に示した例を用いて説明する。まずグラフィックス描画処理について説明する。
【0043】
図9は、図7(A)に示した描画処理命令を順次実行したときのグラフィックス保持部203が保持するグラフィックス描画結果の内容例を示した模式図である。
【0044】
はじめにグラフィックス保持部203が保持するグラフィックス描画結果の内容はクリアされており、全てのピクセルが透明であるとする。
【0045】
図7(A)の多角形描画処理命令701が入力されると、図9(A)において、描画処理命令分離部206によりグラフィックス描画処理命令であると判定され、グラフィックス描画部207で描画処理が実行され、色cpで多角形が描画される。グラフィックス保持部203で保持する描画結果は、描画結果911に示したようになる。
【0046】
次に図7(A)の動画描画処理命令702が入力されると、描画処理命令分離部206により動画描画処理命令であると判定される。そしてクリッピング処理部208により、マスク画像データm5をX軸方向にsx5倍、Y軸方向にsy5倍に拡大或は縮小し、X軸方向にx5、Y軸方向にy5平行移動した新たなマスク画像データm15を生成する。そして図9(B)に示すように、この生成されたマスク画像データm15をパラメータとしてクリッピング処理命令921を生成する。このクリッピング処理命令921は、グラフィックス描画結果911に対してマスク画像データm15でマスク値が「1」となるピクセルを透明に変換する処理を行う。そしてこのクリッピング処理命令921を実行することにより、図9(B)に示す描画結果912が得られる。
【0047】
次に図7(A)の楕円描画処理命令703が入力されると、図9(C)に示すように、グラフィックス描画部207によって描画処理が実行され、色ceで楕円が描画されて描画結果913が得られる。
【0048】
次に図7(A)の動画処理命令動画描画処理命令704が入力されると、描画処理命令分離部206により動画描画処理命令であると判定される。クリッピング処理部208において、マスク画像データm6をX軸方向にsx6倍、Y軸方向にsy6倍に拡大或は縮小し、X軸方向にx6、Y軸方向にy6平行移動した新たなマスク画像データm16を生成する。そして図9(D)に示すように、このマスク画像データm16をパラメータとしてクリッピング処理命令922を生成して処理する。このクリッピング処理命令921は、グラフィックス描画結果に対してマスク画像データm16でマスク値が「1」となるピクセルを透明に変換する命令である。そして、このクリッピング処理命令922の実行により描画結果914が得られる。
【0049】
図10は、本実施形態2に係る動画描画部204における動画の描画処理を説明する図である。
【0050】
動画描画部204は、複数の動画描画処理ユニットを有し、各動画描画処理ユニットは動画描画処理命令に1対1で対応しているものとする。前述の図7(A)に示す動画描画処理命令702は、動画描画処理ユニット1003を介して動画データ712を描画し、動画描画処理命令704は、動画描画処理ユニット1004を介して動画データ714を描画する。動画描画処理ユニット1003,1004はそれぞれ動画データ712,714を受信する。このときの動画データのフォーマットは、MPEG1,MPEG2,AVI等のいずれでもよく、ここでは特定しない。更に、描画処理命令分離部206で動画描画処理命令を受信し、それぞれの動画データを動画描画処理命令に従ってマスク処理及び変形処理を行う。動画描画処理ユニット1003は、動画描画処理命令702の各パラメータに基づいて、まず動画データをマスク画像データm5によって変換する。そして更に、X軸方向にsx5倍、Y軸方向にsy5倍に拡大或は縮小し、X軸方向にx5、Y軸方向にy5平行移動を行って変形処理済の動画データ1005を出力する。また動画描画処理ユニット1004においても同様に、動画描画処理命令704の各パラメータに基づいて動画データをマスク画像データm6によって変換する。更に、X軸方向にsx6倍、Y軸方向にsy6倍に拡大或は縮小し、X軸方向にx6、Y軸方向にy6平行移動を行って変形処理済動画データ1006を出力する。
【0051】
図11は、本実施形態2に係る合成部205における合成処理について説明する模式図である。
【0052】
ここでは合成部205に対して、図9(D)に示す描画結果914、及び図10の変形処理済動画データ1005,1006が入力されている。この合成部205は、まず変形処理済動画データ1005と変形処理済動画データ1006とを合成する。図10で説明したように、変形処理済動画データ1005は動画描画処理命令702によって、変形処理済動画データ1006は動画描画処理命令704によって生成されている。ここで動画描画処理命令702は、動画描画処理命令704より先に描画制御部202に入力されているので、変形処理済動画データ1005が変形処理済動画データ1006より下のレイヤとなるように重ねて合成処理を行う。その結果、動画合成結果1111が得られる。
【0053】
次に、グラフィックス保持部203に格納されている描画結果914と、動画合成結果1111とを合成する。このとき動画合成結果1111が描画結果914より下のレイヤとなるように重ねて合成処理を行う。こうして最終的に動画グラフィックス合成結果1112が得られ、それを表示部105に表示する。
【0054】
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
【0055】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【0056】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0057】
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
【0058】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
【0059】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【0060】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0061】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0062】
【図1】本発明の実施形態に係る画像処理装置の概略構成を示すブロック図である。
【図2】本実施形態に係る画像処理装置の機能を説明する機能ブロック図である。
【図3】本実施形態に係る画像処理装置に入力される描画処理命令の一例、及びその描画処理命令を実行した結果例を示す図である。
【図4】図3(A)に示す描画処理命令を順次実行したときのグラフィックス保持部で保持するグラフィックス描画結果の内容を示した模式図である。
【図5】本発明の実施形態1に係る動画描画処理を説明する模式図である。
【図6】本実施形態に係る合成部における合成処理を説明する模式図である。
【図7】本実施形態2に係る画像処理装置に入力される描画処理命令のシーケンスの一例、及びその描画処理命令を実行した結果例を示す図である。
【図8】本発明の実施形態2に係る楕円描画処理命令で使用する方程式を示す図である。
【図9】図7に示した描画処理命令を順次実行したときのグラフィックス保持部が保持するグラフィックス描画結果の内容例を示した模式図である。
【図10】本実施形態2に係る動画描画部における動画の描画処理を説明する図である。
【図11】本実施形態2に係る合成部における合成処理について説明する模式図である。
【符号の説明】
【0063】
201 画像処理装置
202 描画制御部
203 グラフィックス保持部
204 動画描画部
205 合成部
206 描画処理命令分離部
207 グラフィックス描画部
208 クリッピング処理部
【特許請求の範囲】
【請求項1】
単一又は複数の動画描画処理命令及び単一又は複数のグラフィックス描画処理命令を含む描画処理命令を受け取って描画処理を行なう画像処理装置であって、
前記描画処理命令に含まれる前記グラフィックス描画処理命令に従ってグラフィックス描画結果を得るグラフィックス描画手段と、
前記描画処理命令に含まれる前記動画描画処理命令からクリッピング処理命令を生成するクリッピング処理手段と、
前記グラフィックス描画結果を前記クリッピング処理命令によりクリッピングしたクリッピング済グラフィックスを保持する保持手段と、
前記描画処理命令に含まれる前記動画描画処理命令に従って処理した動画データを生成する動画描画手段と、
前記保持手段に保持されている前記クリッピング済グラフィックスと前記動画描画手段により生成された前記動画データとを合成する合成手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記描画処理命令を受け取って前記動画描画処理命令と前記グラフィックス描画処理命令とに分離し、前記動画描画処理命令を前記クリッピング処理手段及び前記動画描画手段に供給し、前記グラフィックス描画処理命令を前記グラフィックス描画手段に供給する分離手段を更に有することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記動画描画処理命令は幾何学情報を含み、前記クリッピング処理命令は前記幾何学情報に従って動画データの占める領域をクリッピングし、前記動画描画手段は前記幾何学情報に従って前記動画に対して処理を施した前記動画データを出力することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記幾何学情報は、アフィン変換のパラメータであることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記幾何学情報は、動画に対するマスク情報であることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項6】
前記合成手段は、前記動画描画処理命令が入力された順に動画データを合成し、前記グラフィックス描画結果が前記動画データの下層に位置するように合成することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
単一又は複数の動画描画処理命令及び単一又は複数のグラフィックス描画処理命令を含む描画処理命令を受け取って描画処理を行なう画像処理装置の制御方法であって、
前記描画処理命令に含まれる前記グラフィックス描画処理命令に従ってグラフィックス描画結果を得るグラフィックス描画工程と、
前記描画処理命令に含まれる前記動画描画処理命令からクリッピング処理命令を生成するクリッピング処理工程と、
前記グラフィックス描画結果を前記クリッピング処理命令によりクリッピングしたクリッピング済グラフィックスを保持する保持工程と、
前記描画処理命令に含まれる前記動画描画処理命令に従って処理した動画データを生成する動画描画工程と、
前記保持工程に保持されている前記クリッピング済グラフィックスと前記動画描画工程により生成された前記動画データとを合成する合成工程と、
を有することを特徴とする画像処理装置の制御方法。
【請求項8】
前記描画処理命令を受け取って前記動画描画処理命令と前記グラフィックス描画処理命令とに分離し、前記動画描画処理命令を前記クリッピング処理工程及び前記動画描画工程に供給し、前記グラフィックス描画処理命令を前記グラフィックス描画工程に供給する分離工程を更に有することを特徴とする請求項7に記載の画像処理装置の制御方法。
【請求項9】
前記動画描画処理命令は幾何学情報を含み、前記クリッピング処理命令は前記幾何学情報に従って動画データの占める領域をクリッピングし、前記動画描画工程は前記幾何学情報に従って前記動画に対して処理を施した前記動画データを出力することを特徴とする請求項7又は8に記載の画像処理装置の制御方法。
【請求項10】
前記幾何学情報は、アフィン変換のパラメータであることを特徴とする請求項7乃至9のいずれか1項に記載の画像処理装置の制御方法。
【請求項11】
前記幾何学情報は、動画に対するマスク情報であることを特徴とする請求項7乃至9のいずれか1項に記載の画像処理装置の制御方法。
【請求項12】
前記合成工程は、前記動画描画処理命令が入力された順に動画データを合成し、前記グラフィックス描画結果が前記動画データの下層に位置するように合成することを特徴とする請求項7乃至11のいずれか1項に記載の画像処理装置の制御方法。
【請求項1】
単一又は複数の動画描画処理命令及び単一又は複数のグラフィックス描画処理命令を含む描画処理命令を受け取って描画処理を行なう画像処理装置であって、
前記描画処理命令に含まれる前記グラフィックス描画処理命令に従ってグラフィックス描画結果を得るグラフィックス描画手段と、
前記描画処理命令に含まれる前記動画描画処理命令からクリッピング処理命令を生成するクリッピング処理手段と、
前記グラフィックス描画結果を前記クリッピング処理命令によりクリッピングしたクリッピング済グラフィックスを保持する保持手段と、
前記描画処理命令に含まれる前記動画描画処理命令に従って処理した動画データを生成する動画描画手段と、
前記保持手段に保持されている前記クリッピング済グラフィックスと前記動画描画手段により生成された前記動画データとを合成する合成手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記描画処理命令を受け取って前記動画描画処理命令と前記グラフィックス描画処理命令とに分離し、前記動画描画処理命令を前記クリッピング処理手段及び前記動画描画手段に供給し、前記グラフィックス描画処理命令を前記グラフィックス描画手段に供給する分離手段を更に有することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記動画描画処理命令は幾何学情報を含み、前記クリッピング処理命令は前記幾何学情報に従って動画データの占める領域をクリッピングし、前記動画描画手段は前記幾何学情報に従って前記動画に対して処理を施した前記動画データを出力することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記幾何学情報は、アフィン変換のパラメータであることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記幾何学情報は、動画に対するマスク情報であることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項6】
前記合成手段は、前記動画描画処理命令が入力された順に動画データを合成し、前記グラフィックス描画結果が前記動画データの下層に位置するように合成することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
単一又は複数の動画描画処理命令及び単一又は複数のグラフィックス描画処理命令を含む描画処理命令を受け取って描画処理を行なう画像処理装置の制御方法であって、
前記描画処理命令に含まれる前記グラフィックス描画処理命令に従ってグラフィックス描画結果を得るグラフィックス描画工程と、
前記描画処理命令に含まれる前記動画描画処理命令からクリッピング処理命令を生成するクリッピング処理工程と、
前記グラフィックス描画結果を前記クリッピング処理命令によりクリッピングしたクリッピング済グラフィックスを保持する保持工程と、
前記描画処理命令に含まれる前記動画描画処理命令に従って処理した動画データを生成する動画描画工程と、
前記保持工程に保持されている前記クリッピング済グラフィックスと前記動画描画工程により生成された前記動画データとを合成する合成工程と、
を有することを特徴とする画像処理装置の制御方法。
【請求項8】
前記描画処理命令を受け取って前記動画描画処理命令と前記グラフィックス描画処理命令とに分離し、前記動画描画処理命令を前記クリッピング処理工程及び前記動画描画工程に供給し、前記グラフィックス描画処理命令を前記グラフィックス描画工程に供給する分離工程を更に有することを特徴とする請求項7に記載の画像処理装置の制御方法。
【請求項9】
前記動画描画処理命令は幾何学情報を含み、前記クリッピング処理命令は前記幾何学情報に従って動画データの占める領域をクリッピングし、前記動画描画工程は前記幾何学情報に従って前記動画に対して処理を施した前記動画データを出力することを特徴とする請求項7又は8に記載の画像処理装置の制御方法。
【請求項10】
前記幾何学情報は、アフィン変換のパラメータであることを特徴とする請求項7乃至9のいずれか1項に記載の画像処理装置の制御方法。
【請求項11】
前記幾何学情報は、動画に対するマスク情報であることを特徴とする請求項7乃至9のいずれか1項に記載の画像処理装置の制御方法。
【請求項12】
前記合成工程は、前記動画描画処理命令が入力された順に動画データを合成し、前記グラフィックス描画結果が前記動画データの下層に位置するように合成することを特徴とする請求項7乃至11のいずれか1項に記載の画像処理装置の制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2009−301293(P2009−301293A)
【公開日】平成21年12月24日(2009.12.24)
【国際特許分類】
【出願番号】特願2008−154589(P2008−154589)
【出願日】平成20年6月12日(2008.6.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成21年12月24日(2009.12.24)
【国際特許分類】
【出願日】平成20年6月12日(2008.6.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]