(57)【特許請求の範囲】
【請求項１】
所定のソフトウェアに基づく表示を行う第１のウィンドウ内で、該ソフトウェアに基づく表示に重ねて一連の複数フレームの画像からなる動画像を表示して動画像再生を行う動画像再生装置において、
前記動画像のフレーム毎の形状情報及び色情報を入力する入力部と、
入力された形状情報に基づき前記第１のウィンドウの子ウィンドウである第２のウィンドウに、前記動画像再生装置が再生すべき動画像の形状を設定する形状設定部と、
入力された色情報に基づき前記第２のウィンドウの子ウィンドウである第３のウィンドウに、前記形状が設定されたフレームの画像を描画する描画部と、
前記第１、第２及び第３のウィンドウを管理するウィンドウシステムからのメッセージに従って、前記形状設定部に対する形状の設定の指示及び前記描画部に対する描画の指示を行う制御部とを具備し、
前記形状設定部は、前記形状の設定後、前記第１のウィンドウに対する再描画を前記ウィンドウシステムに指示することを特徴とする動画像再生装置。
【請求項２】
前記制御部は、動画像再生時に前記形状設定部に対して前記形状の設定を指示し、その後に前記ウィンドウシステムからのメッセージを受け取って、前記描画部に対して前記形状設定部により形状が設定されたフレームの画像の描画を指示することを特徴とする請求項１に記載の動画像再生装置。
【請求項３】
前記制御部は、動画像再生の一時停止時に前記形状設定部に対して前記形状の設定を指示し、前記ウィンドウシステムからのメッセージを待つことなく、前記描画部に対して前記形状設定部により形状が設定されたフレームの画像の描画を指示することを特徴とする請求項１に記載の動画像再生装置。
【請求項４】
所定のソフトウェアに基づく表示を行う第１のウィンドウ内で、該ソフトウェアに基づく表示に重ねて一連の複数フレームの画像からなる動画像を表示して動画像再生を行う動画像再生処理をコンピュータに実行させるためのプログラムであって、
前記動画像のフレーム毎の形状情報及び色情報を入力する処理と、
入力された形状情報に基づき前記第１のウィンドウの子ウィンドウである第２のウィンドウに、再生すべき動画像の形状を設定する処理と、
入力された色情報に基づき前記第２のウィンドウの子ウィンドウである第３のウィンドウに、前記形状が設定されたフレームの画像を描画する処理と、
前記第１、第２及び第３のウィンドウを管理するウィンドウシステムからのメッセージに従って、前記動画像の形状を設定する処理の指示及び前記描画する処理の指示を行う処理と、
前記形状の設定後、前記第１のウィンドウに対する再描画を前記ウィンドウシステムに指示する処理とを含む動画像再生処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ウィンドウシステムが管理するウィンドウにおいて動作するソフトウェアに基づく表示に動画像を重ねて表示することで動画像再生を行う動画像再生方法及び装置に関する。
【０００２】
【従来の技術】
文字、静止画及び動画像などの複数のメディアからなる文書を表示し、ユーザの入力に対話的に応答する装置が開発されている。例えば、ＨＴＭＬ(HyperText Markup Language)は、ＷＷＷ(World Wide Web)で提供する文書を記述する形式として広く用いられており、このようなＨＴＭＬ文書を表示するソフトウェアであるウェブブラウザが開発されている。
【０００３】
ＨＴＭＬは、ＣＳＳ(Cascading Style Sheets)を併用することによって、文書の構成要素の配置を指定することができる。例えば、文字や静止画などの文書の個々の構成要素について表示位置や大きさを設定することができ、これらの構成要素を重ね合わせて表示することも可能である。
【０００４】
ウェブブラウザに標準で表示機能が搭載されていない形式で提供されるメディアを表示するために、ウェブブラウザにはプラグインと呼ばれる、ソフトウェアを追加する機能がある。プラグインを用いることによって、プラグインを起動するソフトウェアでは対応していない符号化方法や伝送方式を持つ動画像を再生することが可能である。プラグインは、これが組み込まれるソフトウェアの機能を拡張するために一般に用いられている手法であり、ソフトウェアが描画する画像の所定の領域に、そのソフトウェアが対応していない種類のデータを描画させることができる。
【０００５】
【発明が解決しようとする課題】
あるウィンドウに表示を行うソフトウェアＡがプラグインＢを起動し、プラグインＢがソフトウェアＡによる表示に重ねて表示を行う方法としては、（ａ）ソフトウェアＡが表示を行うウィンドウにプラグインＢが直接描画を行う方法と、（ｂ）ソフトウェアＡが表示を行うウィンドウの直接または間接に子に当たるウィンドウをソフトウェアＡが生成し、その子ウィンドウをプラグインＢが描画を行う領域として割り当てる方法が知られている。これらの方法においては、プラグインＢによる表示の形状が変化したり、矩形でない任意の形状をとる場合に、表示が乱れるという問題がある。
【０００６】
まず、ソフトウェアＡが表示を行うウィンドウにプラグインＢが直接描画する（ａ）の方法では、プラグインＢにより動画像を再生する場合に、動画像の再生に伴って動画像のフレーム毎の形状が変化すると、ソフトウェアＡによる表示が形状の変化する動画像の表示によって乱されてしまう。すなわち、動画像の形状が変化すると、動画像の形状変化前の既に描画した画像の一部が形状変化後のフレームの範囲を外れた場合でも、その既に描画した画像は新たな画像によって上書きされずに表示が一部残り、ソフトウェアＡによる表示を上書きしたままの状態になる。
【０００７】
ソフトウェアＡが生成した子ウィンドウにプラグインＢが描画を行う（ｂ）の方法では、プラグインＢに割り当てた子ウィンドウによって、ソフトウェアＡが描画を行うウィンドウの表示を隠すことで、動画像を重ね合わせて表示する。この方法では、プラグインＢの描画するウィンドウは矩形しか利用できない。すなわち、プラグインＢがウィンドウの形状を非矩形に設定しても、ソフトウェアＡはプラグインＢによるウィンドウの配置を変更する時や、ソフトウェアＡが描画を行うウィンドウのサイズを変更する時に、プラグインＢに割り当てたウィンドウの形状を矩形に戻す場合があり、動画像再生を一時停止している際に動画像を正しく表示することができなかった。
【０００８】
これらの問題を避けるために、ソフトウェアＡが描画するウィンドウと親子関係にない独立したウィンドウをプラグインＢの表示画面とする方法がある。しかし、この方法ではプラグインＢによる表示をソフトウェアＡによる表示の動きと連動して変化させることが不可能である。例えば、ソフトウェアＡに基づくウィンドウの表示領域に他のソフトウェアに基づくウィンドウが重なったり、ソフトウェアＡに基づくウィンドウがスクロールしたりすることによって、プラグインＢに基づく表示の一部または全体が隠されるべき場合でも、隠されるべき部分に動画像が表示されたままとなってしまう。また、ソフトウェアＡによるウィンドウの位置やサイズが変化した場合に、プラグインＢによる表示が適切に変化しないという問題があった。
【０００９】
本発明は、上記のような問題点を解消し、ウィンドウシステムが管理するウィンドウ内で実行されるソフトウェアに基づく表示を乱すことなく、この表示に重ねて形状の変化を伴ったり、任意の形状を有する動画像を適切に表示再生できる動画像再生方法及び装置を提供することを目的とする。
【００１０】
また、動画像が表示再生される対象のウィンドウの位置及びサイズ等の変化やスクロールに応じて動画像の表示を適切に変化させることができる動画像再生方法及び装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記の課題を解決するため、本発明は所定のソフトウェアに基づく表示を行う第１のウィンドウ内で該ソフトウェアに基づく表示に重ねて一連の複数フレームの画像からなる動画像を表示して動画像の再生を行う動画像再生方法において、第１のウィンドウの子ウィンドウである第２のウィンドウに動画像のフレーム毎の形状を設定し、第２のウィンドウの子ウィンドウである第３のウィンドウに該形状が設定されたフレームの画像を描画することを特徴とする。
【００１２】
また、本発明は所定のソフトウェアに基づく表示を行う第１のウィンドウ内で、該ソフトウェアに基づく表示に重ねて一連の複数フレームの画像からなる動画像を表示して動画像再生を行う動画像再生装置において、動画像のフレーム毎の形状情報及び色情報を入力する入力部と、入力された形状情報に基づき第１のウィンドウの子ウィンドウである第２のウィンドウに、動画像再生装置が再生すべき動画像の形状を設定する形状設定部と、入力された色情報に基づき第２のウィンドウの子ウィンドウである第３のウィンドウに、形状が設定されたフレームの画像を描画する描画部と、第１、第２及び第３のウィンドウを管理するウィンドウシステムからのメッセージに従って、形状設定部に対する形状の設定の指示及び描画部に対する描画の指示を行う制御部とを具備することを特徴とする。
【００１３】
動画像再生時には、制御部は形状設定部に対して形状の設定を指示し、その後にウィンドウシステムからのメッセージを受け取って、描画部に対して形状設定部により形状が設定されたフレームの画像の描画を指示する。
また、動画像再生の一時停止時には、制御部は形状設定部に対して形状の設定を指示し、ウィンドウシステムからのメッセージを待つことなく、描画部に対して形状設定部により形状が設定されたフレームの画像の描画を指示する。
さらに、形状設定部は形状の設定後、第１のウィンドウに対する再描画をウィンドウシステムに指示する。
このようにすることにより、形状の変化する動画像の再生及び一時停止において、動画像や動画像を重ねる第１のウィンドウ上の表示を乱すことなく、良好な動画像再生が可能となる。
【００１４】
また、制御部は第３のウィンドウの左上端の座標について第２のウィンドウの左上端からの相対座標を算出し、形状設定部が第２のウィンドウに動画像のフレーム毎の形状を設定する際の基準座標とする。これにより動画像を重ねる対象であるウィンドウがスクロールした場合でも、動画像を正しい位置及び形状で表示することが可能である。
【００１５】
さらに、本発明によると上述した動画像再生処理をコンピュータに実行させるためのプログラム、あるいは該プログラムを格納したコンピュータ読み取り可能な記録媒体を提供することもできる。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態を説明する。
図１は、本発明の一実施形態に係る動画像再生装置の構成を示している。この動画像再生装置１は、ウィンドウシステム１１、動画像入力部１２、動画像復号部１３、形状設定部１４、描画部１５及び制御部１６から構成される。動画像再生装置１の外部には、ＣＲＴディスプレイや液晶ディスプレイのような表示装置２と、マウスやキーボードのような入力装置３が接続されている。動画像再生装置１の各部は、以下のように構成される。
【００１７】
ウィンドウシステム１１は、後述する第１〜第３のウィンドウを含む複数のウィンドウの管理を行い、さらに表示装置２に各ウィンドウの画面情報を出力し、入力装置３からの入力を所定のウィンドウに通知する機能を有する。ウィンドウシステム１１は、複数のウィンドウを表示する場合、それらを重ねて表示することが可能である。ウィンドウシステム１１はプロセッサ、メモリ及びグラフィックカード等の部品を含むハードウェア及びそのハードウェア上で実行されるソフトウェアによって構成される。
【００１８】
動画像入力部１２は、本実施形態では一連の複数フレームからなる動画像データをＭＰＥＧ−４方式その他の動画像符号化形式で符号化して得られた動画像符号化データを入力する。動画像データは、ＲＧＢやＹＵＶ等の複数の色成分からなる一連の複数フレームの静止画の集合であってもよい。動画像入力部１２は、具体的には例えばハードディスク、ＤＶＤその他の記録媒体に記録された動画像符号化データを読み込んだり、あるいは動画像再生装置１の外部に接続されたネットワークと通信を行ったりすることにより動画像符号化データを取得する。
【００１９】
動画像復号部１３は、動画像入力部１２によって入力された動画像符号化データを復号し、動画像のフレーム毎の形状情報と色情報を取得する。形状情報は、例えば動画像を構成する各フレームの画像の画素位置の情報と、各画素が透明か不透明かを示す情報から構成される。色情報は、例えば各フレームの画像の画素位置の情報と、各画素の色を示す情報から構成される。各フレームの画像の画素位置の情報は、例えば後述するように画像の形状を座標によって指定することができ、例えばある基準座標に対する画像の縦横の画素数によって表すことができる。このように形状情報及び色情報を定めた場合、動画像を構成する各フレームの画像の形状は、形状情報中の不透明を示す情報の画素位置によって決定され、また形状情報に従って不透明とされた画素位置の色情報の画素の色に従って描画が行われる。
【００２０】
なお、動画像入力部１２が動画像の形状情報と色情報を入力するものであってもよく、あるいは復号後または圧縮されていない動画像データを入力し、この動画像データから形状情報と色情報を生成して出力する機能を有していてもい。これらの場合、動画像復号部１３は不要である。
【００２１】
形状設定部１４は、ウィンドウシステム１１に指示を出すことにより、動画像復号部１３から入力された形状情報に基づき、制御部１６によって指定された第２のウィンドウに対して動画像のフレーム毎の形状を設定する。
【００２２】
描画部１５は、ウィンドウシステム１１に指示を出すことにより、動画像復号部１３から入力された色情報に基づき、形状設定部１４によって形状が設定されたフレームの画像を制御部１６によって指定された第３のウィンドウに描画する。
【００２３】
制御部１６は、動画像復号部１３、形状設定部１４及び描画部１５に指示を出すことによって動画像の再生を制御する。具体的には、制御部１６は形状設定部１４に動画像の形状を設定すべき第２のウィンドウを指定し、さらに描画部１５に動画像を描画すべき第３のウィンドウを指定する。また、制御部１６はウィンドウシステム１１から第３のウィンドウに関するメッセージを受け取って処理を行う。
【００２４】
上述した動画入力部１２、動画像復号部１３、形状設定部１４、描画部１５及び制御部１６は、プロセッサとメモリ等の部品を含むハードウェア及びその上で実行されるソフトウェアによって構成される。動画入力部１２には必要に応じて記録媒体及び読み出し装置や、ネットワークインタフェースを備えることができる。ウィンドウシステム１１は、これら動画像再生装置１内の他の構成要素と同一の装置に搭載することも、別の装置に搭載することも可能である。
【００２５】
次に、本実施形態の動画像再生装置１を使用して動画像の再生を行う動作について説明する。最初に、動画像を再生するためのウィンドウシステム１１の使用方法について述べる。
【００２６】
図２に、あるアプリケーションソフトウェア（ソフトウェアＡとする）に基づく表示画面Ｅ２１に、プラグインＢによって再生される動画像を重ねて表示した様子を示す。表示画面Ｅ２１は動画像表示Ｅ２３を重ねる対象であり、その内容は文字や静止画によって構成される。
【００２７】
矩形領域Ｅ２２は、表示画面Ｅ２１上のプラグインＢによって再生される動画像の表示領域を示している。例えば、表示画面Ｅ２１上に表示されたＨＴＭＬ文書を構成する文字や静止画などの構成要素に動画像を重ねて配置する場合は、ＣＳＳを用いて動画像の表示領域である矩形領域Ｅ２２の配置を指定すればよい。図２の例では、表示画面Ｅ２１の左上端を基準座標（０，０）とし、この基準座標（０，０）から右にｘ画素目、下にｙ画素目の位置を左上端として幅ｗ画素、高さｈ画素の大きさの矩形領域Ｅ２２を配置している。なお、（ａ，ｂ）と記載した場合、ａは水平方向（左右方向）の座標値、ｂは垂直方向（上下方向）の座標値を表すものとする。
【００２８】
本実施形態によると、動画像表示Ｅ２３では、表示画面Ｅ２１上のソフトウェアＡに基づく表示に重ねて、矩形領域Ｅ２２内で動画像が表示される。この動画像表示Ｅ２３は、動画像の再生に伴ってフレーム毎の動画像の形状及び描画内容が変化する。図２の例では、動画像表示Ｅ２３は非矩形（例えば楕円）となっている。動画像表示Ｅ２３の範囲は、矩形領域Ｅ２２の範囲内に限定される。表示画面Ｅ２１のうち、矩形領域Ｅ２２の外側の領域と、矩形領域Ｅ２２に属しかつ動画像表示Ｅ２３の動画像の形状の外側に属する領域は、ソフトウェアＡに基づく内容（文字や静止画など）が表示される。動画像の再生により動画像の形状が変化するのに伴い、動画像表示Ｅ２３の領域と表示画面Ｅ２１のソフトウェアＡに基づく内容が表示される領域は、時間と共に変化する。
【００２９】
ソフトウェアＡは、上述のように表示画面Ｅ２１を描画する。さらに、ソフトウェアＡは動画像を再生するためにプラグインＢを起動し、矩形領域Ｅ２２をプラグインＢに基づく描画領域と規定する。プラグインＢは、動画像表示Ｅ２３の形状設定と描画を行う。なお、ソフトウェアＡ及びプラグインＢは、動画像再生装置１を構成するハードウェア上で、動画像再生装置１の構成要素と同様に実行されることが可能である。
【００３０】
一般に、ウィンドウシステム上で動作するソフトウェアにおいては、そのソフトウェアにウィンドウが割り当てられ、そのウィンドウに描画することによって表示を行うことが可能である。ウィンドウシステムにおいては、ユーザによる入力操作等により、ウィンドウを所有するソフトウェアの実行以外の要因によって、ウィンドウの移動、拡大縮小、及び他のウィンドウとの重ね合わせ順位の変動が発生する。このような場合にも、動画像表示Ｅ２３は表示画面Ｅ２１の一部として表示されなければならない。
【００３１】
ウィンドウシステムにおいては、以下のように複数のウィンドウに親子関係を持たせる機能が存在する。子ウィンドウの表示領域は、基本的に親ウィンドウの表示領域の範囲内に限定される。子ウィンドウは親ウィンドウの内に完全に含まれる必要はなく、要するに子ウィンドウの表示領域が親ウィンドウの表示領域に含まれれていればよい。子ウィンドウの描画は、親ウィンドウのうち子ウィンドウと同一位置（座標）の描画内容を上書きして行われる。親ウィンドウが移動した場合は、子ウィンドウも親ウィンドウとの相対位置を保ったまま、連動して移動する。親ウィンドウが親子関係にない他のウィンドウに隠された場合には、子ウィンドウも同様に、他のウィンドウに隠される。
【００３２】
本実施形態におけるウィンドウシステム１１も、上述した機能を有する。ウィンドウシステム１１を用いて動画像を表示するために、本実施形態では図３のように３つのウィンドウＥ３１，Ｅ３２，Ｅ３３を使用する。第１のウィンドウＥ３１に対しては、ソフトウェアＡが図２の表示画面Ｅ２１の内容を描画する。第２のウィンドウＥ３２は、第１のウィンドウＥ３１の子ウィンドウである。第３のウィンドウＥ３３は、第２のウィンドウＥ３２の子ウィンドウである。第２のウィンドウＥ３２は、ソフトウェアＡによって生成され、プラグインＢに割り当てられる。第３のウィンドウＥ３３については、ソフトウェアＡ及びプラグインＢのいずれによっても生成することが可能である。
【００３３】
図３において、動画像が表示される領域は第２のウィンドウＥ３２の領域と第３のウィンドウＥ３３の領域との積集合であり、さらに第１のウィンドウＥ３１の領域との積集合をとった領域である。これにより動画像が表示される領域は、第２のウィンドウＥ３２で示される非矩形の形状になる。動画像の色情報は、第２のウィンドウＥ３２の動画像表示領域内で、かつ第３のウィンドウＥ３３上に描画される。第３のウィンドウＥ３３に対する描画内容は、第２のウィンドウＥ３２の動画像表示領域内のみが表示され、動画像表示領域外、つまり動画像の形状の範囲外については、ウィンドウシステム１１によって描画はなされず、第１のウィンドウＥ３１の本来の描画内容が表示される。この結果、第１、第２及び第３のウィンドウＥ３１，Ｅ３２，Ｅ３３は、ウィンドウシステム１１によってそれぞれ図２のＥ２１，Ｅ２２，Ｅ２３のように表示装置３上で表示される。
【００３４】
ここで、再生すべき動画像のフレーム毎の形状が変化した場合には、第２のウィンドウＥ３２の形状が変化することにより、その動画像の形状変化が動画像の表示に反映される。表示すべき動画像の色情報が変化した場合には、第３のウィンドウＥ３３がその色情報に従って再描画されることにより、色情報の変化が動画像の表示に反映される。
【００３５】
このように本実施形態では、再生すべき動画像のフレーム毎に、動画像を重ねて表示する対象である第１のウィンドウＥ３１の子ウィンドウである第１のウィンドウＥ３２上に動画像のフレーム毎の形状を設定し、第１のウィンドウＥ３２の子ウィンドウである第３のウィンドウＥ３３上に、第２のウィンドウＥ３２に形状が設定された各フレームの画像を描画する。
【００３６】
これにより本実施形態によると、動画像の形状変化に対しても、あるいは動画像が非矩形の形状であっても、第１のウィンドウＥ３１上のソフトウェアＡに基づく表示を乱すことなく、この表示の上に動画像を正しく表示再生することができる。また、ソフトウェアＡに基づく第１のウィンドウＥ３１の表示画面がスクロールするような場合であっても、動画像の表示を適切に行うことが可能である。以下、これらの効果について詳細に説明する。
【００３７】
次に、図３のウィンドウ構成において動画像を再生するための具体的な処理手順について図４を参照して説明する。
最初に、動画像を再生するための初期化処理を行う。初期化処理に際して、制御部１６はウィンドウシステム１１から動画像のフレーム毎の形状設定及び描画を行うための第２のウィンドウＥ３２及び第３のウィンドウＥ３３に関する情報を取得する。これら第１及び第２のウィンドウＥ３２，Ｅ３３がソフトウェアＡからプラグインＢに割り当てられない場合は、制御部１６がウィンドウシステム１１にウィンドウＥ３２，Ｅ３３を生成させることによって、それらのウィンドウの情報を取得する。
【００３８】
制御部１６は、引き続き動画像復号部１３に対して動画像を再生するための準備を指示する。この指示を受けて、動画像復号部１３は動画入力部１２から再生すべき動画像の符号化データを取得し、さらに符号化方式、画素数及びフレーム数など再生に必要な情報を取得して解析する。
【００３９】
上述した初期化処理が完了すると、制御部１６は図４に示す処理を行う。最初に、再生すべき動画像のフレームの画像を描画対象のウィンドウである第３のウィンドウＥ３３上に描画させるための指示をウィンドウシステム１１に出す（ステップＳ４１）。動画像の再生を指示してから最初にステップＳ４１の処理を実行する場合は、先頭フレームの画像を第３のウィンドウＥ３３上に描画する旨の指示をウィンドウシステム１１に出す。
【００４０】
次に、制御部１６はステップＳ４１で画像の描画を指示したフレームの表示時間後にタイマーが呼び出されるようにウィンドウシステム１１に指示を出し、そのタイマー呼び出しを登録させる（ステップＳ４２）。タイマーが一定周期で繰り返し呼び出しを行う機能を備えており、かつフレームの表示時間がすべて等しい場合は、一度タイマーを設定すると再生が行われている間は再設定する必要はない。
【００４１】
次に、制御部１６は必要に応じてタイマー呼び出しと平行して、再生すべき動画像のフレームの動画像符号化データの取得を動画入力部１２に行わせるように、動画像復号部１３に指示を出す（ステップＳ４３）。動画像符号化データの取得をこの時点ではなく、以下のように動画像復号部１３が動画像符号化データから動画像のフレーム毎の形状と色情報を復号する時点で行うようにしてもよい。
【００４２】
例えば、動画像入力部１２が動画像再生装置１の外部に接続されたネットワークから動画像符号化データを受信する場合は、再生すべきフレームの動画像を再生するために最低限必要な動画像符号化データの受信が完了するのを待つ。動画像符号化データが動画像再生装置１に搭載された記録媒体に保存されている場合は、記録媒体から表示すべきフレームの動画像符号化データを読み出す。
【００４３】
次に、ウィンドウシステム１１からのタイマー呼び出しを待ち（ステップＳ４４）、タイマー呼び出しがあると動画像を再生すべきフレームの番号を更新する（ステップＳ４５）。このステップＳ４５では、動画像を再生すべきフレームの画像再生及び動画像符号化データの取得がフレームの表示時間通り行われている場合は、ステップＳ４４でタイマー呼び出しがあると、動画像を再生すべきフレームの番号を一つ先のフレームの番号に進める。
【００４４】
動画像符号化データをネットワークから受信して取得する場合に、すべてのフレームのデータを受信するために十分な通信容量が確保できない場合は、動画像再生の実時間性を重視するためにフレーム番号を不連続に進め、最新のフレームの番号に更新してもよい。
【００４５】
ステップＳ４５の処理が完了すると、ステップＳ４１に戻り、第３のウィンドウＥ３３に対して動画像を表示すべきフレームの画像を描画するように指示を出し、以下同様の処理を繰り返す。
【００４６】
このように再生すべき動画像のフレームを動画像符号化データで規定されるフレームの表示時間毎に更新することによって、動画像を再生することが可能である。動画像再生を一時停止している場合、または再生を終了した場合は、図４の処理は行わない。
【００４７】
次に、制御部１６がウィンドウシステム１１から通知されたメッセージを処理する手順について、図５を用いて説明する。
【００４８】
まず、ステップＳ５１において、制御部１６はウィンドウシステム１１からメッセージが通知されるのを待ち、通知されたメッセージの種類に応じて以下のステップＳ５２〜Ｓ５５の処理を実行する。
【００４９】
ステップＳ５２において、制御部１６がウィンドウを閉じるメッセージを受信した場合は、制御部１６は処理を終了する。このとき制御部１６が図４の処理を実行している場合でも、制御部１６は処理を終了する。
【００５０】
ステップＳ５３において、制御部１６が第３のウィンドウＥ３３への描画を指示する描画指示メッセージを受信した場合は、制御部１６はステップＳ５４に進み描画処理を行う。このウィンドウＥ３３に対する描画指示メッセージは、図４のステップＳ４１の実行によって発生する場合と、ユーザの入力によるウィンドウの重ね合わせ順位の変更その他の理由でウィンドウシステム１１が生成する場合がある。ステップＳ５３において、受信した描画指示メッセージがウィンドウＥ３３への描画指示以外のメッセージであった場合は、ステップＳ５１に戻る。
【００５１】
ステップＳ５４において、動画像の再生中であった場合には、後に説明する図６のステップＳ６１に進む。ステップＳ５５において、動画像再生を一時停止している場合は、後に説明する図８のステップＳ８１に進む。動画像の再生中でも一時停止中でもない場合、例えば初期状態または停止中の場合は、描画処理を行わずステップＳ５１に戻る。
【００５２】
次に、動画像の再生中における描画処理の具体的な手順について図６を用いて説明する。
図５のステップＳ５４において動画像の再生中であった場合には、ステップＳ６１において動画像のフレーム毎の形状が設定済みかどうかを判定する。例えば、図４のステップＳ４１の描画指示によって動画像の新たなフレームの画像を第３のウィンドウＥ３３上に描画する時点では、第２のウィンドウＥ３２上に動画像のフレーム毎の形状はまだ設定されていない。このような場合、ステップＳ６１からステップＳ６２に進み、Ｓ６２〜Ｓ６４の処理によって第２のウィンドウＥ３２上に動画像のフレーム毎の形状を設定する。
【００５３】
まず、ステップＳ６２において、形状設定部１４が動画像復号部１３から動画像のフレーム毎の形状情報を取得する。動画像復号部１３は、動画入力部１２から動画像符号化データを取得して動画像のフレーム毎の形状情報と色情報を復号し、これらをそれぞれ形状設定部１４及び描画部１５の要求に応じて返す。
【００５４】
次に、ステップＳ６３において、形状設定部１４が動画像の形状を座標によって指定する場合の基準座標を取得する。通常の基準座標は（０，０）に固定されている。この基準座標を基に、形状設定部１４は動画像のフレーム毎の形状情報をウィンドウシステム１１が規定する形式に変換する。例えば、図７（ａ）の左上端（０の位置）である基準座標を（ｂｘ，ｂｙ）として、図７（ａ）のＥ７１で示す動画像のフレーム毎の形状の動画像を矩形の集合として表現すると、図７（ｂ）に示す座標を持つ三個の矩形の和集合で表現される。図７（ｂ）は、三個の矩形の各々の左上端及び右下端の座標を示している。
【００５５】
次に、ステップＳ６４において形状設定部１４が図７（ｂ）に示す座標の情報に基づき図７（ａ）の動画像の形状を第２のウィンドウＥ３２の領域として設定する。この設定は、形状設定部１４がウィンドウＥ３２上に動画像のフレーム毎の形状を設定するようにウィンドウシステム１１に指示を出すことによって行われる。
【００５６】
次に、ステップＳ６５において、形状設定部１４は動画像を重ねる対象である第１のウィンドウＥ３１への再描画の指示をウィンドウシステム１１に対して出す。この指示を受けて、ウィンドウシステム１１は第２のウィンドウＥ３２上に形状設定部１４により設定された形状の外側の領域において第１のウィンドウＥ３１上にソフトウェアＡに基づく描画（再描画）を行う。これによって、ソフトウェアＡでは表示すべき動画像の形状が矩形であることを仮定している場合であっても、第１のウィンドウＥ３１が動画像によって隠されない部分について、ソフトウェアＡに基づく描画内容を正しく表示することができる。
【００５７】
ステップＳ６４で動画像の形状を設定すると、上述したステップＳ６５の処理の後、図５のステップＳ５１に進む。ステップＳ５１に移ると、制御部１６はウィンドウシステム１１からの描画指示メッセージを再び受け取り、ステップＳ５２〜Ｓ５４の処理を経てステップＳ６１の処理を実行する。表示する動画像の形状はステップＳ６４により設定済みであるので、ステップＳ６１からステップＳ６６に移行する。
【００５８】
ステップＳ６６においては、描画部１５が動画像復号部１３から再生すべき動画像のフレームの色情報を取得し、その色情報を基に第３のウィンドウＥ３３に描画するようにウィンドウシステム１１に指示を出すことによって、ステップＳ６４で動画像の形状が設定されたフレームの画像を色情報に従って描画する。
【００５９】
このように本実施形態によると、動画像の再生時には制御部１６が形状設定部１４に対して動画像のフレーム毎の形状の設定を指示し、この指示に基づき形状設定部１４がウィンドウシステム１１を介して第２のウィンドウＥ３２上に動画像のフレーム毎の形状を設定する。この後、制御部１６がウィンドウシステム１１から描画指示のメッセージを受け取って、描画部１５に対して形状設定部１４により動画像の形状が設定されたフレームの画像の描画を指示し、この指示に基づき描画部１５がウィンドウシステム１１を介して第３のウィンドウＥ３３上に画像を描画する。このようにすることによって、動画像の描画対象である第１のウィンドウＥ３１内のプログラムＡに基づく表示に重ねて動画像を表示再生することが可能である。
【００６０】
また、第２のウィンドウＥ３２に対してフレーム毎の動画像の形状の設定した後、第１のウィンドウＥ３１への再描画を行うことにより、動画像を重ねて表示する対象である、プログラムＡに基づく表示を行う第１のウィンドウＥ３１上の表示が乱れないようにすることが可能である。
【００６１】
例えば、従来の技術のうちソフトウェアＡが表示を行うウィンドウにプラグインＢが上書きにより直接描画を行う（ａ）の方法では、プラグインＢにより動画像を再生する場合に、動画像の再生に伴って動画像の形状が変化すると、ソフトウェアＡによる表示が動画像の形状変化によって乱されてしまう場合があったが、本実施形態によると動画像の形状設定後に、第１のウィンドウＥ３１上にソフトウェアＡに基づく表示の再描画を行うことによって、このような問題を解決することができる。
【００６２】
次に、動画像再生を一時停止している場合の動画像の表示方法について図８を用いて説明する。
制御部１６が動画像の描画指示のメッセージをウィンドウシステム１１から受信した際に、動画像再生を一時停止している場合には、処理は図５のステップＳ５５から図８のステップＳ８１へ移行する。ステップＳ８１，Ｓ８２，Ｓ８３においては、図６のステップＳ６２，Ｓ６３，Ｓ６４の処理と同様に、動画像再生を一時停止した時点での動画像の形状を設定する。
【００６３】
ソフトウェアＡは、動画像再生の一時停止時に第２のウィンドウＥ３２の形状を矩形に戻す場合があるので、制御部１６は形状設定部１４に対して動画像の形状を設定する指示を与える必要がある。
【００６４】
次に、ステップＳ８４において形状設定部１４が図６のステップＳ６５と同様に、動画像を重ねる対象である第１のウィンドウＥ３１への再描画の指示をウィンドウシステム１１に対して出す。これにより動画像再生の一時停止時においても、ウィンドウＥ３１の描画内容を正しく表示することができる。
【００６５】
そして、この場合は先の動画像再生中と異なり、ウィンドウシステム１１からのメッセージを待つことなく、ステップＳ８５において図６のステップＳ６６と同様に、描画部１５が動画像復号部１３から再生すべき動画像のフレームの色情報を取得し、その色情報を基に第３のウィンドウＥ３３に描画するようにウィンドウシステム１１に指示を出すことにより、ステップＳ８３で動画像の形状が設定されたフレームの画像を色情報に従って描画する。
【００６６】
このように本実施形態によると、動画像再生を一時停止している場合においても、以下のように動画像を正しく表示することが可能である。
例えば、従来の技術のうちソフトウェアＡが生成した子ウィンドウにプラグインＢが描画を行う（ｂ）の方法では、プラグインＢが子ウィンドウの形状を非矩形に設定しても、ソフトウェアＡはプラグインＢによるウィンドウの配置変更時やソフトウェアＡによるウィンドウサイズの変更時に、プラグインＢによるウィンドウの形状を矩形に戻す場合があるために、動画像再生を一時停止している際に動画像を正しく表示することができなかった。
【００６７】
これに対して、本実施形態では動画像再生の一時停止時には、図８のステップＳ８３で形状設定部１４が第２のウィンドウＥ３２上に動画像の形状を設定した後、図５のステップＳ５１のウィンドウシステム１１からのメッセージ待ち受け処理及びステップＳ５３の描画指示メッセージの確認を行うことなく、ステップＳ８４の第１のウィンドウＥ３１への再描画指示を経て、直ちにステップＳ８５において第３のウィンドウＥ３３上に色情報を再描画することにより、動画像を正しく表示再生することができる。
【００６８】
最後に、動画像を重ねる対象のウィンドウである第１のウィンドウがスクロールした場合に動画像の表示再生を正しく行う方法について、図９〜図１１を用いて説明する。
図９に示すように、ソフトウェアＡが描画を行い、かつ動画像を重ねる対象である表示Ｅ９１の大きさが第１のウィンドウＥ９２よりも大きい場合には、ウィンドウＥ９２をスクロールさせることによって、表示Ｅ９１の一部をウィンドウＥ９２内に表示することが可能である。
【００６９】
矩形領域Ｅ９３は、プラグインＢによって再生される動画像の表示領域を示している。表示Ｅ９１の左上端である座標（０，０）を基準座標として、矩形領域Ｅ９３は左上端が基準座標（０，０）から右にｘ画素目、下にｙ画素目の座標（ｘ，ｙ）の位置にあり、ここから右に幅ｗ画素、下に高さｈ画素の大きさを有するものとする。
【００７０】
第１のウィンドウＥ９２をスクロールする際に、矩形領域Ｅ９３は表示Ｅ９１との相対位置を保ったままウィンドウＥ９２上を相対的に移動する。動画像全体がウィンドウＥ９２の外に出た場合には、図９（ａ）のようにウィンドウＥ９２に動画像は表示されない。第１のウィンドウＥ９２上に一部または全部が重なって動画像が存在する場合には、図９（ｂ）に示すように動画像はウィンドウＥ９２の範囲内にある部分のみが表示される。
【００７１】
動画像のフレーム毎の形状が設定される第２のウィンドウ及び描画が行われる第３のウィンドウは、共に矩形領域Ｅ９３に配置されているとする。ソフトウェアＡが常に第１の表示Ｅ９１の左上端の座標（０，０）である基準座標からの相対位置を（ｘ，ｙ）に保って第１のウィンドウＥ９２を配置する場合には、動画像をウィンドウＥ９２の適切な位置に表示することができる。
【００７２】
本実施形態では、動画像を重ねる対象の第１のウィンドウＥ９２上に動画像が配置されている場合に、動画像のフレーム毎の形状が設定される第２のウィンドウをウィンドウＥ９２に収まる範囲に設定するソフトウェアが用意される。このソフトウェアは図１０（ａ）に示すように、動画像を重ねる対象の表示Ｅ９１の左上端の基準座標（０，０）に対して、描画が行われる第３のウィンドウＥ９４の左上端を座標（ｘ，ｙ）に配置するように構成される。第３のウィンドウＥ９４の幅をｗ画素、高さをｈ画素とすれば、このウィンドウＥ９４の右下端は座標（ｘ＋ｗ，ｙ＋ｈ）に位置する。
【００７３】
一方、このソフトウェアは図１０（ｂ）に示すように動画像のフレーム毎の形状が設定される第２のウィンドウＥ９５については、左上端の座標を表示Ｅ９１の左上端である基準座標（０，０）からの相対座標（ｓｘ，ｓｙ）とし、右下端の座標は第３のウィンドウＥ９４と同じく座標（ｘ＋ｗ，ｙ＋ｈ）とする。このように第２のウィンドウＥ９５の領域が第１のウィンドウＥ９２の領域に包含されるように、相対座標（ｓｘ，ｓｙ）を設定する必要がある。
【００７４】
そして、第２のウィンドウＥ９５に動画像の形状を設定する際には、基準座標を描画が行われる第３のウィンドウＥ９４の基準座標（０，０）と同じにせず、図１１（ａ）に示すように（ｘ−ｓｘ，ｙ−ｓｙ）に設定する。言い換えれば、第３のウィンドウＥ９４の左上端の座標（ｘ，ｙ）について、第２のウィンドウＥ９５の左上端の座標（ｓｘ，ｓｙ）からの相対座標（ｘ−ｓｘ，ｙ−ｓｙ）を求め、この相対座標（ｘ−ｓｘ，ｙ−ｓｙ）を第２のウィンドウＥ９５に対して動画像の形状を設定する際の基準座標とする。
【００７５】
これによって動画像のフレーム毎の形状の設定と画像の描画を同一座標に重ね合わせ、第１のウィンドウＥ９２がスクロールする場合でも、図１１（ｂ）に示すようにウィンドウＥ９２内に動画像の一部を正しく表示することができる。また、第１のウィンドウＥ９２がスクロールする場合のみでなく、ウィンドウＥ９２の位置や大きさが変化する場合でも、同様にウィンドウＥ９２内に動画像を表示することができる。
【００７６】
図２及び図３に示したようなウィンドウの配置においてはｓｘ＝ｘ，ｓｙ＝ｙであり、基準座標は（０，０）であるので、この方法を適用することが可能である。
このように第１のウィンドウＥ９２がスクロールしたり、ウィンドウＥ９２の位置や大きさが変化する場合でも、動画像をウィンドウＥ９２内の正しい位置に重ね合わせて表示することが可能である。
【００７７】
上述した本発明による動画像再生処理は、例えばパーソナルコンピュータやＥＷＳ（エンジニアリングワークステーション）のようなコンピュータ、あるいは携帯通信端末に内蔵のコンピュータを用いてソフトウェアにより実行することが可能である。従って、本発明は上述した一連の動画像再生処理をコンピュータに実行させるためのプログラムあるいは当該プログラムを格納したコンピュータ読み取り可能な記録媒体を提供することもできる。
【００７８】
【発明の効果】
以上説明したように、本発明によれば動画像を重ねる対象の第１のウィンドウの子ウィンドウに当たる第２のウィンドウに動画像のフレーム毎の形状を設定し、第２のウィンドウのさらに子ウィンドウに当たる第３のウィンドウに動画像の描画を行うことにより、第１のウィンドウの表示を乱すことなく、動画像のフレーム毎の形状が変化する動画像を第１のウィンドウ上の表示に重ねて適切に表示することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る動画像再生装置の構成を示すブロック図
【図２】同実施形態に係る動画像再生装置が出力する表示画面の一例を示す図
【図３】同実施形態に係る動画像再生装置が管理する第１〜第３のウィンドウの構成図
【図４】同実施形態における制御部の基本的な処理を示す流れ図
【図５】同実施形態における制御部のウィンドウシステムからのメッセージ処理を示す流れ図
【図６】同実施形態における通常の動画像再生時の制御部、形状設定部及び描画部の処理を示す流れ図
【図７】同実施形態において再生される動画像及びその動画像のフレーム毎の形状の一例を示す図
【図８】同実施形態における動画像再生一時停止時の制御部、形状設定部及び描画部の処理を示す流れ図
【図９】同実施形態におけるスクロール時の表示画面及びウィンドウの構成の一例を示す図
【図１０】同実施形態におけるスクロール時の表示画面及びウィンドウの構成の一例を示す図
【図１１】同実施形態におけるスクロール時の表示画面及びウィンドウの構成の一例を示す図
【符号の説明】
１…動画像再生装置
２…表示装置
３…入力装置
１１…ウィンドウシステム
１２…動画像入力部
１３…動画像復号部
１４…動画像のフレーム毎の形状設定部
１５…描画部
１６…制御部
Ｅ３１，Ｅ９２…第１のウィンドウ
Ｅ３２，Ｅ９５…第２のウィンドウ
Ｅ３３，Ｅ９４…第３のウィンドウ
【図１】
0003906031.tif 000002
【図２】
0003906031.tif 000003
【図３】
0003906031.tif 000004
【図４】
0003906031.tif 000005
【図５】
0003906031.tif 000006
【図６】
0003906031.tif 000007
【図７】
0003906031.tif 000008
【図８】
0003906031.tif 000009
【図９】
0003906031.tif 000010
【図１０】
0003906031.tif 000011
【図１１】
0003906031.tif 000012