(57)【特許請求の範囲】
【請求項１】
動画に含まれる複数のフレームに対して行われた描画を示す描画情報が各々対応付けられた前記複数のフレームのいずれかのフレーム上で編集された描画のフレーム内での位置を示す位置情報と、編集内容とを受け付ける受付部と、
フレーム内での描画の位置情報と、該描画が行われたフレームの識別子との対応情報が記憶された記憶部を参照して、前記受付部で受け付けた位置情報に対応するフレームの識別子を特定する特定部と、
前記特定部により特定された識別子が示すフレームの各々に対応付けられた描画情報を、前記受付部により受け付けられた編集内容に基づいて編集する編集部と、
を含む描画処理装置。
【請求項２】
前記編集部は、前記編集内容が描画の削除及び描画の追加の場合、前記特定部により特定された識別子が示すフレームの各々に対応付けられた描画情報を削除すると共に、追加された描画を示す描画情報を、描画情報が削除されたフレームの各々に対応付ける請求項１記載の描画処理装置。
【請求項３】
前記編集部は、前記受付部により各フレームが表示されている期間に受け付けた位置情報及び編集内容と、該フレームの識別子とを対応付けたフレーム単位の前記描画情報を前記記憶部に記憶する請求項１又は請求項２記載の描画処理装置。
【請求項４】
前記編集部は、前記描画情報の位置情報として、該描画情報に対応するフレームが表示されている期間における描画の始点及び終点の位置情報を記憶する請求項３記載の描画処理装置。
【請求項５】
前記編集部は、前記記憶部に描画情報を記憶する際、及び前記記憶部に記憶された描画情報を編集する際に、該描画情報により特定される描画の位置情報に対応付けて前記記憶部に記憶された前記対応情報を更新する請求項３記載の描画処理装置。
【請求項６】
前記複数のフレームの各々に対応付けられた描画情報を、前記動画の再生時に表示されるフレームに応じて累積した累積描画情報を生成し、前記表示されるフレームに生成した前記累積描画情報が示す累積描画を合成する合成部を含む請求項１〜請求項５のいずれか１項記載の描画処理装置。
【請求項７】
前記描画情報が対応付けられた動画を再生する際、前記描画情報を前記動画から分離して前記記憶部に記憶する分離部を含む請求項１〜請求項６のいずれか１項記載の描画処理装置。
【請求項８】
前記描画情報には、一群の描画を識別するための識別情報が含まれる請求項１〜請求項７のいずれか１項記載の描画処理装置。
【請求項９】
動画に含まれる複数のフレームに対して行われた描画を示す描画情報が各々対応付けられた前記複数のフレームのいずれかのフレーム上で編集された描画のフレーム内での位置を示す位置情報と、編集内容とを受け付け、
フレーム内での描画の位置情報と、該描画が行われたフレームの識別子との対応情報が記憶された記憶部を参照して、受け付けた位置情報に対応するフレームの識別子を特定し、
特定された識別子が示すフレームの各々に対応付けられた描画情報を、受け付けられた編集内容に基づいて編集する
ことを含む処理をコンピュータに実行させる描画処理方法。
【請求項１０】
動画に含まれる複数のフレームに対して行われた描画を示す描画情報が各々対応付けられた前記複数のフレームのいずれかのフレーム上で編集された描画のフレーム内での位置を示す位置情報と、編集内容とを受け付け、
フレーム内での描画の位置情報と、該描画が行われたフレームの識別子との対応情報が記憶された記憶部を参照して、受け付けた位置情報に対応するフレームの識別子を特定し、
特定された識別子が示すフレームの各々に対応付けられた描画情報を、受け付けられた編集内容に基づいて編集する
ことを含む処理をコンピュータに実行させる描画処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画処理装置、描画処理方法、及び描画処理プログラムに関する。
【背景技術】
【０００２】
従来、動画像の再生時に、手書きなどの描画を動画像に重畳表示することが行われている。例えば、ネットワークを介してライブ放送を行うライブストリーミング放送方法において、カメラ映像データを入力しながら、入力中のカメラ映像データに手書きの描画データなどの他の映像データを合成するライブストリーミング放送方法が提案されている。
【０００３】
また、講師用コンピュータに、必要な講義用資料が表示されると共に、カメラによって撮影された講師の撮影画像や、タブレットからの手書き画像データが合成されて表示されるシステムが提案されている。
【０００４】
また、記録媒体に記録された、動画ストリームと字幕等のグラフィクスストリームとを多重化することにより得られたデジタルストリームを再生するシステムが提案されている。
【０００５】
また、撮像装置によって撮影された映像に対応する画像データ、及びこの映像について動体抽出処理を行って得られたベクトルデータを管理する技術が提案されている。この技術では、各フレームの画像データの末尾にこの画像データに対応して得られた移動体の位置及びサイズを示す図形を表すベクトルデータを結合して動画表示装置に送信する。動画表示装置において、動画データ管理装置から各フレームの画像データを受け取る毎に、そのフレームの画像データに基づく表示処理を行う。次いで、画像データに基づいて再生された画像に、ベクトルデータに基づいて生成される図形を表す線画を上書きする。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−５１７０３号公報
【特許文献２】特開２００５−７９９１３号公報
【特許文献３】国際公開公報ＷＯ２００５／００２２２０
【特許文献４】特開２００６−１９７４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、入力中のカメラ映像データに手書きの描画データを合成する従来技術では、手書きの描画データは、カメラ映像データと共に新しい１つの動画像として記録される。このため、この従来技術では、記録後に手書き描画を編集することはできない。講師用コンピュータに手書き画像データが合成されて表示される従来技術についても同様である。
【０００８】
また、動画ストリームと字幕等のグラフィクスストリームとを多重化する従来技術では、予め用意されたデータが予め定めた表示タイミングのフレームに重畳されるものであるため、手書き描画に対応することができない。同様に、画像データに基づいて再生された画像に、ベクトルデータに基づいて生成される図形を表す線画を上書きする従来技術も、画像解析結果に基づいて、線画を上書きするタイミングやその線画のデータが事前に判明していることが前提である。そのため、手書き描画に対応することはできない。
【０００９】
一つの側面として、本発明は、各フレームに対応付けられた描画情報を編集可能とすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、一つの態様では、描画情報が各々対応付けられた複数のフレームのいずれかのフレーム上で編集された描画のフレーム内での位置を示す位置情報と、編集内容とを受け付ける受付部を備える。描画情報は、動画に含まれる複数のフレームに対して行われた描画を示す情報である。また、本発明は、フレーム内での描画の位置情報と、該描画が行われたフレームの識別子との対応情報が記憶された記憶部を参照して、前記受付部で受け付けた位置情報に対応するフレームの識別子を特定する特定部を備える。また、本発明は、前記特定部により特定された識別子が示すフレームの各々に対応付けられた描画情報を、前記受付部により受け付けられた編集内容に基づいて編集する編集部を備える。
【発明の効果】
【００１１】
一つの側面として、各フレームに対応付けられた描画情報を編集可能とすることができる、という効果を有する。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る描画処理装置の概略構成を示す機能ブロック図である。
【図２】画面の一例を示す図である。
【図３】手書きツールが表示された画面の一例を示す図である。
【図４】手書き情報テーブルの一例を示す図である。
【図５】動画の再生中における描画の追加を説明するための図である。
【図６】描画情報テーブルの一例を示す図である。
【図７】検索テーブルの一例を示す図である。
【図８】検索テーブルの更新を説明するための図である。
【図９】動画の再生中に描画が追加された場合の累積描画情報の作成を説明するための図である。
【図１０】動画の再生中における描画の削除を説明するための図である。
【図１１】動画の再生中に描画が削除された場合の累積描画情報の作成を説明するための図である。
【図１２】修正モードにおける描画の削除を説明するための図である。
【図１３】修正モードにおける描画の追加を説明するための図である。
【図１４】ＩＤによる描画の表示態様を説明するための図である。
【図１５】動画データと描画情報との多重化を説明するための図である。
【図１６】描画処理装置として機能するコンピュータの概略構成を示すブロック図である。
【図１７】手書き情報蓄積処理の一例を示すフローチャートである。
【図１８】描画処理の一例を示すフローチャートである。
【図１９】修正モード処理の一例を示すフローチャートである。
【図２０】描画処理装置での処理を説明するためのシーケンス図である。
【図２１】描画処理装置での処理を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明に係る実施形態の一例を詳細に説明する。
【００１４】
図１に示すように、本実施形態に係る描画処理装置１０は、入力された原動画ストリーム又は合成動画ストリームを表示デバイス３２で再生すると共に、表示デバイス３２で再生されている動画に対して、手書き入力デバイス３０による手書きの描画を受け付ける。原動画ストリームは、複数のフレームで構成された動画データである。また、合成動画ストリームは、原動画ストリームに手書きの描画を示す描画情報を多重化したデータである。以下では、原動画ストリームと合成動画ストリームとを区別なく説明する場合には、単に「動画ストリーム」という。描画処理装置１０は、受け付けた手書きの描画を、表示デバイス３２で再生している動画に重畳して表示すると共に、原動画ストリームに手書きの描画を示す描画情報を多重化した合成動画ストリームを生成して保存する。
【００１５】
なお、原動画ストリームには、音声データ等の他のデータが多重化されていてもよい。これらの音声データ等については、後述する分離部１１及び多重化部１６において、一般的な多重化及び分離の技術を適用可能であるため、本実施形態では説明を省略する。
【００１６】
表示デバイス３２は、例えば、液晶ディスプレイとタッチパネルとが一体となったタッチパネルディスプレイとすることができる。手書き入力デバイス３０は、タッチパネルに対するタッチ操作により、液晶ディスプレイに表示されたボタンやキーの選択などの各種操作を行ったり、文字や図などを手書き描画したりする際に使われるポインティングデバイスである。
【００１７】
図２に示す、表示デバイス３２に表示される画面４０の一例を参照して、本実施形態の概要について説明する。図２は、指導者である野球のコーチが、被指導者である選手に投球フォームや打撃フォームなどについての指導を行う場面を想定した画面４０である。この例では、過去の試合を録画した原動画ストリームを表示デバイス３２で再生し、指導者が手書き入力デバイス３０で描画を行いながら、被指導者に対する指導を行うことが想定される。
【００１８】
図２の例では、画面４０には、再生可能な動画ストリームの一覧が表示される一覧表示領域４１と、一覧表示領域４１から選択された動画ストリームが示す動画が再生される再生領域４２とが含まれる。また、画面４０には、再生領域４２で再生されている動画の巻戻し、再生、一時停止、早送り等の制御を指示するためのコマンドボタン群４３と、描画情報の識別情報であるＩＤ（identification、詳細は後述）を選択するめのＩＤ選択ボタン４４とが含まれる。また、画面４０には、手書き入力デバイス３０による手書きの描画を行う際に選択される手書き入力ボタン４５が含まれる。
【００１９】
ここで、手書き入力された描画が重畳表示された動画を記録しておき、指導者又は被指導者が後で再確認可能とすることを考える。この場合、当初の手書き描画時に書き損じが生じた場合には、間違った説明記録が残るのを避けるために、手書き部分の修正を行いたい場合が生じる。
【００２０】
しかし、従来技術のように、描画が重畳表示された動画を１つのファイルとして保存する場合には、一度手書き入力を行った描画を部分的に修正することはできない。そのため、書き損じた描画が重畳表示されたファイルを保存することなく、最初から動画再生と手書き入力とをやり直さなければならない。
【００２１】
また、従来技術のように、動画に重畳するデータを動画の画像解析により作成し、このデータを修正可能とする技術を、手書きの描画情報の修正に適用することを考える。この場合、動画に重畳されるデータは、動画の画像解析により得られているため、動画のどのフレームに重畳されるかが事前に判明している。しかし、手書き描画の場合、どのフレームのどの位置に描画が行われたかは、動画を画像解析しても把握することはできない。そのため、修正するデータが重畳されたフレームをそれぞれ表示して、フレーム毎に重畳されたデータを修正する必要がある。
【００２２】
このように、従来方式又は従来方式を手書き描画に適用した方式では、手書き入力された描画の部分的な修正ができない。又、修正するために手間のかかる操作を強いられる、という問題がある。
【００２３】
そこで、本実施形態では、簡易な操作で部分的な手書き入力の描画情報の編集（描画の削除及び追加）を行う仕組みを提供する。
【００２４】
本実施形態では、画面４０の手書き入力ボタン４５が選択されると、図３に示すように、画面４０には、鉛筆アイコン及び消しゴムアイコンを含む手書きツール４６が表示される。鉛筆アイコンは鉛筆ツールを選択するためのアイコンであり、手書き入力デバイス３０を用いて鉛筆ツールを操作することにより、画面４０上に手書きの描画（図３中の４７）を追加することができる。鉛筆ツールは、描画する線のサイズ（太さ）や色を選択可能である。また、消しゴムアイコンは消しゴムツールを選択するためのアイコンであり、手書き入力デバイス３０を用いて消しゴムアイコンを操作することにより、既に手書きされている描画を削除することができる。
【００２５】
本実施形態では、上記の手書きツールにより描画の修正が行われる際に、動画の巻戻しなどにより対象のフレームを探索したり表示したりする手間をかけることなく、描画情報を部分的に修正する仕組みを提供する。さらに、合成動画ストリームとして多重化されて保存されている描画情報に対しても、部分的な修正を可能とする仕組みを提供する。
【００２６】
以下、本実施形態に係る描画処理装置１０の各機能部について説明する。
【００２７】
描画処理装置１０は、図１に示すように、機能的には、分離部１１と、動画再生部１２と、受付部１３と、編集部１４と、合成部１５と、多重化部１６とを含む。また、描画処理装置１０の所定の記憶領域には、描画データベース（ＤＢ）２０が記憶されると共に、動画遅延バッファ２４及び累積描画フレームメモリ２６が設けられる。
【００２８】
分離部１１は、合成動画ストリームが入力された場合には、合成動画ストリームを動画データと、描画情報とに分離する。分離部１１は、分離した動画データを動画再生部１２へ受け渡すと共に、動画遅延バッファ２４に記憶する。動画遅延バッファ２４は、合成動画ストリームを生成するための１ファイル分の動画データを記憶しておく記憶領域である。また、分離部１１は、分離した描画情報を描画ＤＢ２０の手書き情報テーブル（詳細は後述）に記憶する。また、分離部１１は、原動画ストリームが入力された場合には、上記の分離した動画データの場合と同様に、動画データを動画再生部１２へ受け渡すと共に、動画遅延バッファ２４に記憶する。
【００２９】
動画再生部１２は、分離部１１から受け渡された動画データを復号して、フレーム毎の画像データ（以下、「フレーム画像」という）を、所定のフレームレート（例えば、３０ｆｐｓ）で１フレームずつ合成部１５へ出力する。また、動画再生部１２は、合成部１５へフレーム画像を１フレームずつ出力するタイミングで、フレーム情報を編集部１４へ出力する。フレーム情報は、出力するフレームの識別子の情報を含む。フレームの識別子としては、例えば、先頭フレームから１、２、・・・の順に付与されるフレーム番号や、先頭フレームから開始して該当のフレームが表示されるまでの再生時間（以下、フレーム時間）という）を用いることができる。本実施形態では、フレームの識別子としてフレーム番号を用いる場合について説明する。
【００３０】
受付部１３は、画面４０に表示された各ボタンに対する選択操作を受け付ける。また、受付部１３は、手書き入力ボタン４５が選択されている場合には、手書きツール４６による操作情報として手書き入力デバイス３０から入力される操作内容及び手書きが行われた位置を示す位置情報を、所定時間毎（例えば、１ｍｓｅｃ毎）に受け付ける。操作内容は、鉛筆ツールが選択されている場合には「追加」であり、消しゴムツールが選択されている場合には「削除」である。また、位置情報は、再生領域４２上に設定した座標系における各画素の座標位置である。座標系は、例えば、再生領域４２の所定の位置（例えば、右上角）を原点とし、左方向をＸプラス方向、下方向をＹプラス方向とする座標系とすることができる。
【００３１】
受付部１３は、手書き入力デバイス３０から受け付けた操作内容及び位置情報と、選択されている鉛筆ツールのサイズ及び色と、設定されているＩＤの情報とを対応付けて、手書き入力情報とし、描画ＤＢ２０の手書き情報テーブルに記憶する。図４に、手書き情報テーブル２１の一例を示す。図４の手書き情報テーブル２１の例では、受付部１３により操作内容及び位置情報を受け付けた時間毎に、手書き入力情報が対応付けて記憶されている。手書き情報テーブル２１は、少なくとも１フレームの表示時間に取得される手書き入力情報を記憶する容量を有する。
【００３２】
なお、手書き情報テーブル２１の「ＩＤ」とは、一群の手書き描画を識別するための情報である。例えば、手書き入力ボタン４５が選択されている状態で、ＩＤ選択ボタン４４を選択して、所望のＩＤ（例えば、「１」）を設定することができる。このように設定されたＩＤが、手書き入力情報のＩＤとして用いられる。また、描画処理装置１０により提供されるアプリケーションにログインした際のユーザＩＤなどを、手書き入力情報のＩＤとして用いてもよい。
【００３３】
また、手書き情報テーブル２１の「始点フラグ」及び「終点フラグ」とは、分離部１１で分離された描画情報が記憶される際に利用される項目である。詳細については後述する。
【００３４】
また、受付部１３は、描画に対する修正を行うための修正モードへの移行及び解除が指示されると、その旨を編集部１４に通知する。例えば、受付部１３は、コマンドボタン群４３に含まれる一時停止ボタンが選択され、かつ手書きツール４６が選択されたことを、修正モードへの移行の指示として受け付ける。また、受付部１３は、一時停止の状態から、一時停止ボタンが再度選択されるか、又はコマンドボタン群４３に含まれる再生ボタンが選択されたことを、修正モードの解除の指示として受け付ける。
【００３５】
編集部１４は、動画再生部１２から出力されたフレーム情報をトリガとして、手書き情報テーブル２１に記憶された手書き入力情報に基づいて、各フレームの表示時間単位の描画情報を作成する。
【００３６】
具体的には、編集部１４は、フレーム情報が出力されたタイミングで、手書き情報テーブル２１から全ての手書き入力情報を取り出し、先頭の（取得時間が最も古い）手書き入力情報と、末尾の（取得時間が最も新しい）手書き入力情報とを抽出する。編集部１４は、先頭の手書き入力情報に含まれる位置情報が示す位置を始点、末尾の手書き入力情報に含まれる位置情報が示す位置を終点とする。また、詳細は後述するが、分離部１１で分離された描画情報が手書き情報テーブル２１に記憶された場合には、各手書き入力情報には、「始点フラグ」又は「終点フラグ」が設定される。この場合、編集部１４は、「始点フラグ」又は「終点フラグ」が設定されている手書き入力情報に含まれる位置情報が示す位置を始点及び終点とする。
【００３７】
そして、編集部１４は、始点及び終点の位置情報と、先頭又は末尾の手書き入力情報に含まれる線のサイズ、色、操作、及びＩＤの情報とをあわせて、出力されたフレーム情報が示すフレーム番号のフレームの描画情報として作成する。
【００３８】
例えば、図５に示すように、フレーム１、フレーム２、フレーム３、・・・、フレームｎの連続するフレームが示す動画の再生中に、鉛筆ツールにより描画の追加が行われた場合を例に説明する。
【００３９】
図５の上段は、フレーム時間の経過毎に描画が書き進められる様子を示す。図５の中段は、フレーム１〜ｎの間の描画について、各フレームに対応する部分のみを抽出し、その始点及び終点の位置情報を示したものである。例えば、フレーム１の表示期間には、Ｘ座標＝１５０、Ｙ座標＝２８０の点（以下、「（Ｘ，Ｙ）」という形式で表記する）のみが描画されたことを表している。フレーム２はフレーム１の次に表示されるフレームであり、フレーム２の表示期間には、始点＝（１５２，２７０）と終点＝（１５８，２７０）との間の部分が描画されたことを表している。
【００４０】
編集部１４は、上述したように、始点及び終点と他の手書き入力情報とを合せて、図５下段に示すように、フレーム毎の描画情報を作成する。各描画情報に含まれる位置情報は、始点及び終点の位置情報のみであるため、各描画情報が示す描画は、始点及び終点間を結ぶ直線となる。例えば、フレーム２の描画情報は、（１５２，２７８）から（１５８，２７０）への直線を描画することを意味する。
【００４１】
このように、各フレームに対して手書きされた描画を細かい直線の集合体と捉えて数値化することで、描画を示す全ての画素の位置情報を記録する場合よりも情報量を小さくすることができる。一般的な動画のフレームレート３０ｆｐｓの場合、１フレームの表示時間は約３３ｍｓであり、この時間に人間が手書きで入力できる点や線は極僅かである。そのため、フレーム単位の描画部分を細かい直線とみなし、この細かい直線の集合体を疑似曲線として表示しても、表示される描画の精度の低下は小さい。なお、各フレームの描画情報に、そのフレームに対して行われた描画を示す全ての画素の位置情報を記録するようにしてもよい。この場合、記録する情報量は増えるが、表示される描画の精度は高くなる。
【００４２】
編集部１４は、作成した描画情報を、描画ＤＢ２０内の描画情報テーブルに記憶する。図６に、描画情報テーブル２２の一例を示す。図６では、フレーム毎に複数の描画情報を記憶可能な例を示している。なお、描画が行われていないフレームの描画情報は、例えば、描画情報の各要素を「なし」に設定すると共に、「ＩＤ」を、描画情報が存在しないことを示す値（例えば、「０」）に設定する。すなわち、「ＩＤ」は、描画情報の識別情報を示すと共に、各フレームの描画情報の有無を示すフラグとしても機能する。また、描画情報テーブル２２には、少なくとも、合成動画ストリームを生成するための１ファイル分のフレームに対応する描画情報が記憶される。
【００４３】
なお、手書き入力情報と描画情報とでは、データ構造が異なる。そのため、上述の分離部１１において、合成動画ストリームから分離した描画情報を手書き情報テーブル２１に記憶する際には、描画情報に含まれる始点及び終点の各々に対応する手書き入力情報に分離して記憶する。より具体的には、描画情報に含まれる始点の位置情報を含む手書き入力情報に「始点フラグ」を設定して記憶する。同様に、描画情報に含まれる終点の位置情報を含む手書き入力情報に「終点フラグ」を設定して記憶する。１つのフレームに描画情報が複数対応付けられている場合には、始点と終点との組み合わせが識別可能な「始点フラグ」及び「終点フラグ」を設定する。
【００４４】
また、編集部１４は、作成した描画情報に基づいて、描画が行われた位置と描画が行われたフレームとの対応情報を示す検索テーブルを更新する。検索テーブルは、一度入力した手書き情報を修正する場合に、描画が行われた位置（座標）からフレーム番号を特定するためのものである。図７に、検索テーブル２３の一例を示す。図７の検索テーブル２３の要素数は、再生領域４２の画素数と同じであり、例えば、再生領域４２のサイズが６４０画素×４８０画素であれば、６４０×４８０＝３０７２００個の要素を持つ。図７に示す検索テーブル２３では、再生領域４２の各画素について、その座標Ｘ及び座標Ｙに、その画素に描画が行われたフレームのフレーム番号が対応付けて記憶されている。なお、同一画素に重複して描画が行われることを考慮して、１つの画素に複数のフレーム番号を対応付けて記憶可能としている。なお、１つの画素に対応付けるフレーム番号の数は、予め定めた数（図７の例では、描画履歴１〜５の５つ）としてもよいし、無制限に記憶可能とするために、フレーム番号を記憶する欄を可変とするデータ構造としてもよい。
【００４５】
具体的には、編集部１４は、フレームｉの描画情報に含まれる始点と終点とを結ぶ直線、及び線のサイズに基づいて、フレームｉの描画対象の画素を求める。例えば、図８に示す例では、フレーム２の描画情報から、始点＝（１５２，２７８）、終点＝（１５８，２７０）、サイズ（太さ）＝３画素が得られる。これらの情報から、編集部１４は、始点＝（１５２，２７８）と終点＝（１５８，２７０）とを結ぶ直線上の画素と、直線上の画素とあわせてサイズが３画素となるように、直線上の画素の周囲１画素とを特定する。そして、編集部１４は、検索テーブル２３において、特定した画素に対応するフレーム番号の欄に「ｉ（図８の例では「２」）」を記憶する。なお、図７及び図８の検索テーブル２３の例では、フレーム番号が「０」の欄は、フレーム番号が記録されていない初期状態であることを示す。したがって、編集部１４は、初期状態のフレーム番号欄に、描画履歴１、２、・・・の順にフレーム番号を記録していく。
【００４６】
また、編集部１４は、作成した描画情報に基づいて、動画に重畳表示する描画を示す累積描画情報を作成する。上述したように、各描画情報は各フレームに対応する描画部分の情報しか持たないため、各フレームの描画情報を累積して、実際に手書きされた描画を画像化するものである。具体的には、編集部１４は、各フレームの描画情報を作成する都度、作成した描画情報を、累積描画フレームメモリ２６に追加する。例えば、図５に示すように作成されたフレーム１〜ｎの各フレームの描画情報を順次追加して作成した累積描画情報の例を図９に示す。このように、累積描画情報は、１つのフレームメモリ上で作成されるため、保持しておくべき描画情報の情報量の増加を抑制することができる。なお、累積描画フレームメモリ２６は、描画情報に含まれるＩＤ毎に設けておく。
【００４７】
上記のように作成された累積描画情報が示す描画は、後述する合成部１５を介して表示デバイス３２に表示される。表示された描画に対しては、消しゴムツールによる削除が可能である。図１０に、フレーム１１、フレーム１２、フレーム１３、・・・、フレームｍの連続するフレームが示す動画の再生中に、削除ツールにより描画の削除が行われた例を示す。手書き入力情報には、消しゴムツールで削除された描画の位置情報が含まれるため、描画の追加の場合と同様に、削除された描画のフレーム毎の始点及び終点を得ることができ、図１０下段に示すような描画情報が作成される。
【００４８】
また、編集部１４は、フレームｉの描画情報に含まれる操作内容が「削除」の場合には、検索テーブル２３において、フレームｉの描画情報に基づいて特定される画素に対応付けて記憶されているフレーム番号を初期値に戻す。検索テーブル２３に、その画素に対応するフレーム番号が複数記憶されている場合には、予め定めたルールに従って選択したフレーム番号を初期値に戻す。例えば、フレームｉに最も近いフレーム番号を選択したり、直近で記憶された（描画履歴の番号が最も大きい）フレーム番号を選択したりすることができる。
【００４９】
また、編集部１４は、描画情報に含まれる操作内容が「削除」の場合には、累積描画情報からも対象の部分が削除されるように、その描画情報に基づいて特定される画素に対応する累積描画フレームメモリ２６上の画素の情報を削除する。図１０のように作成されたフレーム１１〜ｍの各フレームの描画情報を順次追加して作成した累積描画情報の例を図１１に示す。このように、動画の再生中に行われた描画の削除については、削除の経過も含めて描画の表示を行うことができる。
【００５０】
また、描画情報の一括削除ボタン（図示省略）が選択された場合には、編集部１４は、描画情報テーブル２２の全ての描画情報、及び累積描画フレームメモリ２６に記憶された累積描画情報の全体を削除する。さらに、編集部１４は、検索テーブル２３のフレーム番号を全て初期値に戻す。
【００５１】
さらに、編集部１４は、受付部１３から修正モードに移行したことが通知されると、再生領域４２で再生中の動画を一時停止し、一時停止したフレーム画像に重畳されている描画に対して行われた修正に基づいて、描画ＤＢ２０を更新する。
【００５２】
具体的には、一時停止中のフレーム上で描画の削除が行われた場合には、編集部１４は、一時停止中に受付部１３により受け付けられ、手書き情報テーブル２１に記憶された、操作内容が「削除」の手書き入力情報を取得する。編集部１４は、取得した手書き入力情報に含まれる位置情報から、消しゴムツールで削除された描画の各画素を特定し、検索テーブル２３を参照して、特定した画素に対応付けて記憶されたフレーム番号を特定する。特定した画素に対応するフレーム番号が複数記憶されている場合には、予め定めたルールに従ってフレーム番号を選択する。すなわち、編集部１４は、編集対象として受け付けた画素に対応付けられているフレーム番号を特定する特定部として機能する。そして、編集部１４は、描画情報テーブル２２から、特定したフレーム番号の描画情報を削除する。また、編集部１４は、検索テーブル２３において、削除された描画の各画素から特定したフレーム番号を初期値に戻す。
【００５３】
例えば、図１２の上段に示すように、フレームｎで修正モードに移行し、フレームｎ上で、表示されている描画部分（図１２上段中の楕円部分）が、すなわち画像中の特定の領域が、消しゴムツールにより削除されたとする。そして、検索テーブル２３を参照して、削除された描画部分の各画素から、フレーム３〜ｎが特定されたとする。この場合、図１２の中段及び下段に示すように、編集部１４は、特定されたフレーム３〜ｎの描画情報を削除する。
【００５４】
また、編集部１４は、修正モードにおいて、鉛筆ツールが選択され、描画の追加が開始されると、タイマにより擬似フレーム情報を出力させる。擬似フレーム情報とは、表示しているフレーム画像が一時停止の状態において、動画再生部１２によりフレーム画像の出力と連動して出力されるフレーム情報と同じフレームレートで、描画の追加開始時点から順次出力される擬似的なフレーム情報である。なお、描画情報が削除されたフレームのフレーム番号が古い（小さい）順に擬似フレーム情報として出力される。また、描画情報が削除されたフレームのうちの最終フレームのフレーム番号を示す擬似フレーム情報が出力された後も描画の追加が継続している場合も考えられる。この場合には、削除されたフレームのうちのいずれかのフレーム（例えば、最終フレーム）のフレーム番号を示す擬似フレーム情報を、描画の追加が終了するまで繰り返し出力させる。
【００５５】
編集部１４は、通常のフレーム情報をトリガとする場合と同様に、擬似フレーム情報をトリガとして、一時停止中のフレーム画像上に手書きされる描画を示す描画情報を作成する。例えば、図１２の例のように、フレーム３〜ｎの描画情報の削除に続き、図１３の上段に示すように手書きの描画部分（図１３上段中の楕円部分）が追加されたとする。この描画部分が追加されている間、動画再生部１２から出力される擬似フレーム情報をトリガとして、フレーム３〜ｎについて、図１３の下段に示すような描画情報が作成される。
【００５６】
なお、削除されたフレームの最終フレームに対応する擬似フレーム情報が出力される前に、描画の追加が終了した場合には、残りの擬似フレーム情報に対応するフレームの描画情報は削除された状態のままとなる。また、削除されたフレームの最終フレームに対応する擬似フレーム情報が出力された後も描画の追加が継続している場合も考えられる。この場合、削除されたフレームのうちのいずれかのフレーム（例えば、最終フレーム。図１３の例ではフレームｎ）を示す擬似フレーム情報が出力されているため、この擬似フレーム情報が示すフレーム番号に、複数の描画情報を対応付ければよい。また、編集部１４は、追加された描画について作成した複数の描画情報を、削除したフレーム数に収まるよう割り当て直してもよい。
【００５７】
これにより、１つのフレーム上で行われた描画の編集（削除及び追加）であっても、内部的には検索テーブル２３を用いて修正したいフレームまで遡り、既に書き込まれていた手書きの描画を示す描画情報を、部分的に修正することができる。
【００５８】
また、修正モードに移行して、描画の削除を行うことなく、描画の追加が行われることも考えられる。この場合は、編集部１４は、動画再生部１２に、追加の描画が行われる一時停止中のフレーム（図１３の例ではフレームｎ）のフレーム番号を示す擬似フレーム情報を出力させる。したがって、追加された描画を示す複数の描画情報は、一時停止中のフレームに対応付けられる。
【００５９】
合成部１５は、動画再生部１２から受け渡されたフレーム画像に、累積描画フレームメモリ２６に記憶されている累積描画情報が示す描画を重畳した合成画面を、再生領域４２に表示する。累積描画フレームメモリ２６は、描画情報に含まれるＩＤ毎に設けられているため、合成部１５は、ＩＤ選択ボタン４４で選択されたＩＤに対応する累積描画フレームメモリ２６に記憶されている累積描画情報が示す描画を重畳する。
【００６０】
なお、選択可能なＩＤは１つに限定されず、合成部１５は、複数のＩＤが選択された場合には、選択されたＩＤの各々に対応する複数の描画を重畳表示する。その際、図１４に示すように、合成部１５は、描画情報に含まれるＩＤ毎に、描画情報が示す描画を異なる色や線種で表示することができる。また、いずれのＩＤも選択されていない場合には、描画は重畳することなく、動画データのフレーム画像のみを表示してもよい。
【００６１】
また、合成部１５は、図２に示すような画面４０の各ボタンの表示、各ボタンが選択された際のメニューの表示や選択されたボタンの強調表示等の表示制御も行う。
【００６２】
多重化部１６は、１ファイル分の動画データが動画遅延バッファ２４に蓄積されると、１ファイル分の動画データと、描画情報テーブル２２に蓄積されている１ファイル分の描画情報とを多重化して、合成動画ストリームを生成する。本実施形態においては、描画情報がフレーム単位で記憶されるものであれば、多重化フォーマットは特に限定されない。ただし、一般的に用いられている多重化の方式を採用することで、描画情報が示す描画を重畳表示する機能を有さないデコーダでも、合成動画ストリームの動画データが示す動画だけは再生可能となる。
【００６３】
ここでは、一例として、各種ストリーミングサービスで一般的に用いられているMPEG-2 Transport Stream（ＴＳ）により、動画データと描画情報とを多重化する場合について説明する。
【００６４】
図１５に示すように、多重化部１６は、動画データをフレーム単位で可変長のPacketized Elementary Stream（ＰＥＳ）パケットに分割し、さらにＰＥＳパケットを固定長（１８８ｂｙｔｅ）のＴＳパケットに分割する。また、多重化部１６は、フレーム毎の描画情報をＰＥＳパケット化し、さらにＴＳパケット化する。そして、多重化部１６は、各フレームの動画データのＴＳパケットと描画情報のＴＳパケットとを組み合わせ、フレーム順に並べることにより、動画データと描画情報とを多重化する。この方式では、フレーム毎に動画データと描画情報とがまとめられるため、再生時の動画データと描画情報との同期が容易である。
【００６５】
描画処理装置１０は、例えば図１６に示すコンピュータ５０で実現することができる。コンピュータ５０はＣＰＵ５１、一時記憶領域としてのメモリ５２、及び不揮発性の記憶部５３を備える。また、コンピュータ５０は、手書き入力デバイス３０及び表示デバイス３２が接続される入出力インターフェース（Ｉ／Ｆ）、記録媒体５９に対するデータの読み込み及び書き込みを制御するread/write（Ｒ／Ｗ）部５５、並びに通信Ｉ／Ｆ５６を備える。ＣＰＵ５１、メモリ５２、記憶部５３、入出力Ｉ／Ｆ５４、Ｒ／Ｗ部５５、及び通信Ｉ／Ｆ５６は、バス５７を介して互いに接続される。
【００６６】
記憶部５３はHard Disk Drive（ＨＤＤ）、solid state drive（ＳＳＤ）、フラッシュメモリ等によって実現できる。記憶部５３には、描画ＤＢ２０、動画遅延バッファ２４、及び累積描画フレームメモリ２６を格納することができる。記憶媒体としての記憶部５３には、コンピュータ５０を描画処理装置１０として機能させるための描画処理プログラム６０が記憶されている。描画処理プログラム６０は、分離プロセス６１と、動画再生プロセス６２と、受付プロセス６３と、編集プロセス６４と、合成プロセス６５と、多重化プロセス６６とを有する。
【００６７】
ＣＰＵ５１は、描画処理プログラム６０を記憶部５３から読み出してメモリ５２に展開し、描画処理プログラム６０が有するプロセスを順次実行する。ＣＰＵ５１は、分離プロセス６１を実行することで、図１に示す分離部１１として動作する。また、ＣＰＵ５１は、動画再生プロセス６２を実行することで、図１に示す動画再生部１２として動作する。また、ＣＰＵ５１は、受付プロセス６３を実行することで、図１に示す受付部１３として動作する。また、ＣＰＵ５１は、編集プロセス６４を実行することで、図１に示す編集部１４として動作する。また、ＣＰＵ５１は、合成プロセス６５を実行することで、図１に示す合成部１５として動作する。また、ＣＰＵ５１は、多重化プロセス６６を実行することで、図１に示す多重化部１６として動作する。これにより、描画処理プログラム６０を実行したコンピュータ５０が、描画処理装置１０として機能することになる。
【００６８】
なお、描画処理プログラム６０により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit（ＡＳＩＣ）等で実現することも可能である。
【００６９】
次に、本実施形態に係る描画処理装置１０の作用について説明する。描画処理装置１０により提供されるアプリケーションが起動されると、合成部１５が、例えば図２に示すような画面４０を表示デバイス３２に表示する。なお、この段階では、再生領域４２での動画の再生は行われていない。ユーザにより、画面４０の手書き入力ボタン４５が選択されると、描画処理装置１０において、図１７に示す手書き情報蓄積処理が実行される。また、ユーザにより、一覧表示領域４１から再生する動画ストリームが選択されると、選択された動画ストリームが描画処理装置１０に入力され、描画処理装置１０において、図１８に示す描画処理が実行される。
【００７０】
図１７に示す手書き情報蓄積処理のステップＳ１１で、受付部１３が、手書きツール４６による操作情報として手書き入力デバイス３０から入力される操作内容及び手書きが行われた位置を示す位置情報を受け付ける。
【００７１】
次に、ステップＳ１２で、受付部１３が、手書き入力デバイス３０から受け付けた操作内容及び位置情報と、選択されている鉛筆ツールのサイズ及び色と、設定されているＩＤの情報とを対応付けて、手書き入力情報を作成する。
【００７２】
次に、ステップＳ１３で、受付部１３が、作成した手書き入力情報を、描画ＤＢ２０の手書き情報テーブル２１に記憶して、手書き情報蓄積処理は終了する。手書き情報蓄積処理は、手書き入力ボタン４５が選択されている間、所定時間毎（例えば、１ｍｓｅｃ毎）に繰り返し実行される。
【００７３】
図１８に示す描画処理のステップＳ２１で、分離部１１が、入力された動画ストリームを動画データと、描画情報とに分離する。次に、ステップＳ２２で、分離部１１が、分離した動画データを動画再生部１２へ受け渡すと共に、動画遅延バッファ２４に記憶する。次に、ステップＳ２３で、分離部１１が、分離した描画情報を、その描画情報に含まれる始点に対応する手書き入力情報と終点に対応する手書き入力情報とに分離して、描画ＤＢ２０の手書き情報テーブル２１に記憶する。
【００７４】
なお、入力された動画ストリームが原動画ストリームの場合、すなわち描画情報を含まない場合には、上記ステップＳ２１及びＳ２３の処理はスキップされる。
【００７５】
次に、ステップＳ２４で、動画再生部１２が、分離部１１から受け渡された動画データを復号して、１フレーム分のフレーム画像を、所定のフレームレート（例えば、３０ｆｐｓ）で合成部１５へ出力する。合成部１５は、動画再生部１２から受け渡されたフレーム画像に、累積描画フレームメモリ２６に記憶されている累積描画情報が示す描画を重畳した合成画像を、再生領域４２に表示する。なお、累積描画フレームメモリ２６に累積描画情報が記憶されていない状態では、フレーム画像のみが表示される。
【００７６】
次に、ステップＳ２５で、受付部１３が、修正モードへの移行を受け付けたか否かを判定する。例えば、受付部１３は、コマンドボタン群４３に含まれる一時停止ボタンが選択され、かつ手書きツール４６が選択された場合に、修正モードへの移行の指示を受け付けたと判定する。修正モードへの移行の指示を受け付けた場合には、処理はステップＳ４０へ移行し、修正モードへの移行の指示を受け付けていない場合には、処理はステップＳ２６へ移行する。
【００７７】
ステップＳ２６では、動画再生部１２が、合成部１５へ出力したフレーム画像のフレーム番号をフレーム情報として編集部１４へ出力する。次に、ステップＳ２７で、編集部１４が、動画再生部１２から出力されたフレーム情報をトリガとして、手書き情報テーブル２１に記憶された手書き入力情報を取得する。そして、編集部１４は、取得した手書き入力情報に基づいて、上記ステップＳ２６で出力されたフレーム情報が示すフレーム番号に対応する描画情報を作成する。
【００７８】
次に、ステップＳ２８で、編集部１４が、作成した描画情報を、描画ＤＢ２０内の描画情報テーブル２２に記憶する。また、編集部１４は、作成した描画情報から特定される画素に上記ステップＳ２６で出力されたフレーム情報が示すフレーム番号を対応付けて、検索テーブル２３に記憶する。
【００７９】
次に、ステップＳ２９で、編集部１４が、作成した描画情報を、累積描画フレームメモリ２６に追加して累積描画情報を作成する。そして、合成部１５が、累積描画フレームメモリ２６に記憶されている累積描画情報が示す描画を再生領域４２に表示しているフレーム画像に重畳した合成画像を、再生領域４２に表示する。
【００８０】
次に、ステップＳ３０で、多重化部１６が、動画遅延バッファ２４に１ファイル分の動画データが蓄積されたか否かを判定することにより、１ファイル分の動画ストリームの処理が終了したか否かを判定する。１ファイル分の動画ストリームの処理が終了した場合には、処理はステップＳ３１へ移行し、終了していない場合には、処理はステップＳ２１に戻る。
【００８１】
ステップＳ３１では、多重化部１６が、１ファイル分の描画情報と、１ファイル分の動画データとを多重化して、合成動画ストリームを生成する。多重化部１６は、生成した合成動画ストリームを所定の記憶領域又は記録媒体５９に記憶して、描画処理は終了する。
【００８２】
一方、ステップＳ４０では、図１９に示す修正モード処理が実行される。
【００８３】
図１９に示す修正モード処理のステップＳ４１で、編集部１４が、再生領域４２に表示されるフレーム画像又は合成画像が、現在のフレームで一時停止となるように設定する。
【００８４】
次に、ステップＳ４２で、受付部１３が、一時停止の状態から、一時停止ボタンが再度選択されるか、又はコマンドボタン群４３に含まれる再生ボタンが選択されることにより、一時停止の解除を受け付けたか否かを判定する。一時停止の解除を受け付けていない場合には、処理はステップＳ４３へ移行する。ステップＳ４３では、受付部１３が、手書きツール４６から鉛筆アイコンが選択されたか否かを判定する。鉛筆アイコンが選択されていない場合には、受付部１３は、消しゴムアイコンが選択されていると判定し、処理はステップＳ４４へ移行する。
【００８５】
ステップＳ４４では、編集部１４が、一時停止中に受付部１３により受け付けられ、手書き情報テーブル２１に記憶された、操作内容が「削除」の手書き入力情報を取得する。次に、ステップＳ４５で、編集部１４が、取得した手書き入力情報に含まれる位置情報から、消しゴムツールで削除された描画の各画素を特定し、検索テーブル２３を参照して、特定した画素に対応付けて記憶されたフレーム番号を特定する。次に、ステップＳ４６で、編集部１４が、描画情報テーブル２２から、特定したフレーム番号の描画情報を削除する。次に、ステップＳ４７で、編集部１４が、検索テーブル２３において、上記ステップＳ４５で特定したフレーム番号を初期値に戻す。
【００８６】
次に、ステップＳ４８で、編集部１４が、上記ステップＳ４６で削除された描画情報に基づいて累積描画情報を作成し、合成部１５が、合成画像を表示し、処理はステップＳ４２に戻る。
【００８７】
一方、上記ステップＳ４３で、受付部１３が、手書きツール４６から鉛筆アイコンが選択されたと判定すると、処理はステップＳ４９へ移行する。ステップＳ４９では、編集部１４が、タイマにより擬似フレーム情報を出力させる。次に、ステップＳ５０で、編集部１４が、擬似フレーム情報をトリガとして、一時停止中のフレーム画像上に手書きされた描画を示す描画情報を作成する。次に、ステップＳ５１で、編集部１４が、上記ステップＳ５０で作成した描画情報を描画情報テーブル２２に記憶すると共に、検索テーブル２３の該当の対応情報を更新して、処理はステップＳ４８へ移行する。ステップＳ４８では、上記ステップＳ５０で作成された描画情報に基づいて累積描画情報を作成し、合成部１５が、合成画像を表示し、処理はステップＳ４２に戻る。
【００８８】
また、上記ステップＳ４２で、受付部１３が、一時停止の解除を受け付けたと判定すると、処理はステップＳ５２へ移行する。ステップＳ５２では、上記ステップＳ４１で設定した一時停止を解除して、処理は描画処理（図１８）に戻る。
【００８９】
次に、図２０及び図２１に示すシーケンス図を参照して、各部間でのデータのやり取りに着目して、描画処理装置１０の作用を説明する。なお、図２０及び図２１に示す各処理について、図１７に示す手書き情報蓄積処理、並びに図１８及び図１９に示す描画処理と同様の処理については、対応するステップ番号を付与して、詳細な説明を省略する。
【００９０】
まず、図２０を参照して、原動画ストリームを再生しながら描画を行う場合について説明する。原動画ストリームが入力されると（Ｓ６０）、動画データが動画遅延バッファ２４に記憶されると共に（Ｓ２２Ａ）、動画再生部１２へ受け渡される（Ｓ２２Ｂ）。動画再生部１２は、動画データを復号して（Ｓ２４Ａ）、１フレームずつフレーム画像を合成部１５へ出力する（Ｓ２４Ｂ）。合成部１５は、フレーム画像に累積描画情報が示す描画を重畳した合成画像を表示する。ここでは、累積描画情報が存在しないため、フレーム画像のみが表示される（Ｓ２４Ｃ）。
【００９１】
このフレーム画像に対して、手書き描画が行われると、受付部１３が手書き入力デバイス３０から、描画の操作内容及び位置情報を所定時間間隔で受け付け、手書き入力情報を作成して（Ｓ１２）、描画ＤＢ２０の手書き情報テーブル２１に記憶する（Ｓ１３）。
【００９２】
動画再生部１２は、フレーム画像を出力するタイミングで、フレーム情報を編集部１４へ出力する（Ｓ２６）。編集部１４は、フレーム情報の出力をトリガとして（Ｓ２７Ａ）、描画ＤＢ２０から手書き入力情報を取得し（Ｓ２７Ｂ）、フレーム情報が示すフレーム番号に対応した描画情報を作成する（Ｓ２７Ｃ）。そして、作成した描画情報を描画ＤＢ２０の描画情報テーブル２２に記憶すると共に、検索テーブル２３を更新する（Ｓ２８）。
【００９３】
また、編集部１４は、作成した描画情報を累積描画フレームメモリ２６に追加して累積描画情報を作成する（Ｓ２９Ａ）。合成部１５は、累積描画フレームメモリ２６から累積描画情報を取得し（Ｓ２９Ｂ）、フレーム画像に累積描画情報が示す描画を重畳した（Ｓ２９Ｃ）合成画像を表示する（Ｓ２９Ｄ）。
【００９４】
動画遅延バッファ２４に１ファイル分の動画データが蓄積されると、多重化部１６が、描画情報テーブル２２から１ファイル分の描画情報を取得し（Ｓ３１Ａ）、動画遅延バッファ２４から１ファイル分の動画データを取得する（Ｓ３１Ｂ）。そして、多重化部１６が、動画データと描画情報とを多重化し（Ｓ３１Ｃ）、合成動画ストリームとして記憶する（Ｓ３１Ｄ）。
【００９５】
次に、引き続き図２０を参照して、合成動画ストリームを再生する場合について説明する。合成動画ストリームが入力されると（Ｓ６０）、分離部１１が、合成動画ストリームを分離し（Ｓ２１）、分離した描画情報を描画ＤＢ２０の手書き情報テーブル２１に記憶する（Ｓ２３）。これにより、合成動画ストリームに記録されている描画情報が示す描画が、今まさに手書き入力されたかのように処理することができる。すなわち、ステップＳ２１で合成動画ストリームを分離し、ステップＳ２３で描画情報が手書き情報テーブル２１に記憶される以外は、上述の原動画ストリームの再生時に描画が行われる場合と同様に処理することができる。また、合成動画ストリームの再生中に描画が追加される場合も、上述の原動画ストリームの再生時に描画が行われる場合と同様に処理することができる。
【００９６】
次に、図２１を参照して、修正モードについて説明する。図２１では、既に手書きされている描画を削除した上で新たに追加して修正する場合について説明する。
【００９７】
編集部１４は、一時停止中に行われた削除の手書き入力情報を手書き情報テーブル２１から取得する（Ｓ４４）し、手書き入力情報に含まれる位置情報から、消しゴムツールで削除された描画の各画素を特定する。そして、編集部１４は、検索テーブル２３を参照して、特定した画素に対応付けて記憶されたフレーム番号を特定する（Ｓ４５）。編集部１４は、描画情報テーブル２２から、特定したフレーム番号の描画情報を削除し（Ｓ４６）、検索テーブル２３において、特定したフレーム番号を初期値に戻す（Ｓ４７）。また、編集部１４は、削除した描画情報に基づいて累積描画情報を更新し（Ｓ４８Ａ）、合成部１５が、更新された累積描画情報を取得し（Ｓ４８Ｂ）、一時停止中のフレーム画像に累積描画情報が示す描画を重畳した（Ｓ４８Ｃ）合成画像を表示する（Ｓ４８Ｄ）。
【００９８】
そして、手書きツール４６が消しゴムツールから鉛筆ツールに変更され、描画の追加が開始されると、タイマにより擬似フレーム情報を出力させる（Ｓ４９）。編集部１４は、擬似フレーム情報の出力をトリガとして（Ｓ５０Ａ）、描画ＤＢ２０の手書き情報テーブル２１から手書き入力情報を取得し（Ｓ５０Ｂ）、フレーム情報が示すフレーム番号に対応した描画情報を作成する（Ｓ５０Ｃ）。そして、作成した描画情報を描画ＤＢ２０の描画情報テーブル２２に記憶すると共に、検索テーブル２３を更新する（Ｓ５１）。
【００９９】
また、編集部１４は、作成した描画情報を累積描画フレームメモリ２６に追加して累積描画情報を作成する（Ｓ４８Ｅ）。合成部１５は、累積描画フレームメモリ２６から累積描画情報を取得し（Ｓ４８Ｆ）、フレーム画像に累積描画情報が示す描画を重畳した（Ｓ４８Ｇ）合成画像を表示する（Ｓ４８Ｈ）。
【０１００】
以上説明したように、本実施形態に係る描画処理装置によれば、手書きによる描画を示す描画情報をフレーム毎に対応付けておき、描画が行われた位置（座標）とフレームの識別子との対応情報を検索テーブルに記録しておく。そして、描画情報を修正する際には、修正された描画の位置に対応するフレームを検索テーブルから特定して、特定したフレームに対応する描画情報が、修正された内容に応じて更新される。これにより、修正したい描画に対応するフレームを検索したり表示したりする手間をかけることなく、各フレームに対応付けられた描画情報を編集することができる。
【０１０１】
また、描画情報を多重化した合成動画ストリームを再生する際には、描画情報を分離して手書き情報テーブルに記憶するため、一旦合成動画ストリームとして記録された描画情報であっても、描画情報を編集することができる。
【０１０２】
なお、上記実施形態では、一例として、野球のコーチと選手との間で利用される場面を想定した例について説明したが、本発明は、野球以外のスポーツ指導、教育現場、プレゼンテーション等、様々な分野に適用可能である。
【０１０３】
また、上記では、描画処理プログラム６０が記憶部５３に予め記憶（インストール）されている態様を説明したが、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記憶媒体に記録された形態で提供することも可能である。
【０１０４】
以上の上記実施形態に関し、更に以下の付記を開示する。
【０１０５】
（付記１）
動画に含まれる複数のフレームに対して行われた描画を示す描画情報が各々対応付けられた前記複数のフレームのいずれかのフレーム上で編集された描画のフレーム内での位置を示す位置情報と、編集内容とを受け付ける受付部と、
フレーム内での描画の位置情報と、該描画が行われたフレームの識別子との対応情報が記憶された記憶部を参照して、前記受付部で受け付けた位置情報に対応するフレームの識別子を特定する特定部と、
前記特定部により特定された識別子が示すフレームの各々に対応付けられた描画情報を、前記受付部により受け付けられた編集内容に基づいて編集する編集部と、
を含む描画処理装置。
【０１０６】
（付記２）
前記編集部は、前記編集内容が描画の削除及び描画の追加の場合、前記特定部により特定された識別子が示すフレームの各々に対応付けられた描画情報を削除すると共に、追加された描画を示す描画情報を、描画情報が削除されたフレームの各々に対応付ける付記１記載の描画処理装置。
【０１０７】
（付記３）
前記編集部は、追加された描画の描画時間が、前記描画情報が削除されたフレームの各々の再生時間より長い場合には、前記描画情報が削除されたフレームのうちのいずれかのフレームに超過時間分の複数の描画情報を対応付けるか、又は、追加された描画を示す描画情報を、前記描画情報が削除されたフレームの各々に割り当て直す付記２記載の描画処理装置。
【０１０８】
（付記４）
前記編集部は、前記受付部により各フレームが表示されている期間に受け付けた位置情報及び編集内容と、該フレームの識別子とを対応付けたフレーム単位の前記描画情報を前記記憶部に記憶する付記１〜付記３のいずれか１項記載の描画処理装置。
【０１０９】
（付記５）
前記編集部は、前記描画情報の位置情報として、該描画情報に対応するフレームが表示されている期間における描画の始点及び終点の位置情報を記憶する付記４記載の描画処理装置。
【０１１０】
（付記６）
前記編集部は、前記記憶部に描画情報を記憶する際、及び前記記憶部に記憶された描画情報を編集する際に、該描画情報により特定される描画の位置情報に対応付けて前記記憶部に記憶された前記対応情報を更新する付記４記載の描画処理装置。
【０１１１】
（付記７）
前記複数のフレームの各々に対応付けられた描画情報を、前記動画の再生時に表示されるフレームに応じて累積した累積描画情報を生成し、前記表示されるフレームに生成した前記累積描画情報が示す累積描画を合成する合成部を含む付記１〜付記６のいずれか１項記載の描画処理装置。
【０１１２】
（付記８）
前記描画情報が対応付けられた動画を再生する際、前記描画情報を前記動画から分離して前記記憶部に記憶する分離部を含む付記１〜付記７のいずれか１項記載の描画処理装置。
【０１１３】
（付記９）
前記対応情報は、１つの位置情報に対して複数のフレームの識別子が対応付けられた情報である付記１〜付記８のいずれか１項記載の描画処理装置。
【０１１４】
（付記１０）
前記特定部は、前記受付部で受け付けた位置情報に対応するフレームの識別子が複数存在する場合には、描画の編集が行われたフレームと動画再生時における表示タイミングが最も近いフレームの識別子を特定する付記９記載の描画処理装置。
【０１１５】
（付記１１）
前記描画情報には、一群の描画を識別するための識別情報が含まれる付記１〜付記１０のいずれか１項記載の描画処理装置。
【０１１６】
（付記１２）
動画に含まれる複数のフレームに対して行われた描画を示す描画情報が各々対応付けられた前記複数のフレームのいずれかのフレーム上で編集された描画のフレーム内での位置を示す位置情報と、編集内容とを受け付け、
フレーム内での描画の位置情報と、該描画が行われたフレームの識別子との対応情報が記憶された記憶部を参照して、受け付けた位置情報に対応するフレームの識別子を特定し、
特定された識別子が示すフレームの各々に対応付けられた描画情報を、受け付けられた編集内容に基づいて編集する
ことを含む処理をコンピュータに実行させる描画処理方法。
【０１１７】
（付記１３）
前記編集内容が描画の削除及び描画の追加の場合、特定された識別子が示すフレームの各々に対応付けられた描画情報を削除すると共に、追加された描画を示す描画情報を、描画情報が削除されたフレームの各々に対応付ける付記１２記載の描画処理方法。
【０１１８】
（付記１４）
追加された描画の描画時間が、前記描画情報が削除されたフレームの各々の再生時間より長い場合には、前記描画情報が削除されたフレームのうちのいずれかのフレームに超過時間分の複数の描画情報を対応付けるか、又は、追加された描画を示す描画情報を、前記描画情報が削除されたフレームの各々に割り当て直す付記１３記載の描画処理方法。
【０１１９】
（付記１５）
各フレームが表示されている期間に受け付けた位置情報及び編集内容と、該フレームの識別子とを対応付けたフレーム単位の前記描画情報を前記記憶部に記憶する付記１２〜付記１４のいずれか１項記載の描画処理方法。
【０１２０】
（付記１６）
前記描画情報の位置情報として、該描画情報に対応するフレームが表示されている期間における描画の始点及び終点の位置情報を記憶する付記１５記載の描画処理方法。
【０１２１】
（付記１７）
前記記憶部に描画情報を記憶する際、及び前記記憶部に記憶された描画情報を編集する際に、該描画情報により特定される描画の位置情報に対応付けて前記記憶部に記憶された前記対応情報を更新する付記１５記載の描画処理方法。
【０１２２】
（付記１８）
前記複数のフレームの各々に対応付けられた描画情報を、前記動画の再生時に表示されるフレームに応じて累積した累積描画情報を生成し、前記表示されるフレームに生成した前記累積描画情報が示す累積描画を合成することをさらに含む処理を前記コンピュータに実行させる付記１２〜付記１７のいずれか１項記載の描画処理方法。
【０１２３】
（付記１９）
前記描画情報が対応付けられた動画を再生する際、前記描画情報を前記動画から分離して前記記憶部に記憶することをさらに含む処理を前記コンピュータに実行させる付記１２〜付記１８のいずれか１項記載の描画処理方法。
【０１２４】
（付記２０）
前記対応情報は、１つの位置情報に対して複数のフレームの識別子が対応付けられた情報である付記１２〜付記１９のいずれか１項記載の描画処理方法。
【０１２５】
（付記２１）
受け付けた位置情報に対応するフレームの識別子が複数存在する場合には、描画の編集が行われたフレームと動画再生時における表示タイミングが最も近いフレームの識別子を特定する付記２０記載の描画処理方法。
【０１２６】
（付記２２）
前記描画情報には、一群の描画を識別するための識別情報が含まれる付記１２〜付記２１のいずれか１項記載の描画処理方法。
【０１２７】
（付記２３）
動画に含まれる複数のフレームに対して行われた描画を示す描画情報が各々対応付けられた前記複数のフレームのいずれかのフレーム上で編集された描画のフレーム内での位置を示す位置情報と、編集内容とを受け付け、
フレーム内での描画の位置情報と、該描画が行われたフレームの識別子との対応情報が記憶された記憶部を参照して、受け付けた位置情報に対応するフレームの識別子を特定し、
特定された識別子が示すフレームの各々に対応付けられた描画情報を、受け付けられた編集内容に基づいて編集する
ことを含む処理をコンピュータに実行させる描画処理プログラム。
【０１２８】
（付記２４）
前記編集内容が描画の削除及び描画の追加の場合、特定された識別子が示すフレームの各々に対応付けられた描画情報を削除すると共に、追加された描画を示す描画情報を、描画情報が削除されたフレームの各々に対応付ける付記２３記載の描画処理プログラム。
【０１２９】
（付記２５）
追加された描画の描画時間が、前記描画情報が削除されたフレームの各々の再生時間より長い場合には、前記描画情報が削除されたフレームのうちのいずれかのフレームに超過時間分の複数の描画情報を対応付けるか、又は、追加された描画を示す描画情報を、前記描画情報が削除されたフレームの各々に割り当て直す付記２４記載の描画処理プログラム。
【０１３０】
（付記２６）
各フレームが表示されている期間に受け付けた位置情報及び編集内容と、該フレームの識別子とを対応付けたフレーム単位の前記描画情報を前記記憶部に記憶する付記２３〜付記２５のいずれか１項記載の描画処理プログラム。
【０１３１】
（付記２７）
前記描画情報の位置情報として、該描画情報に対応するフレームが表示されている期間における描画の始点及び終点の位置情報を記憶する付記２６記載の描画処理プログラム。
【０１３２】
（付記２８）
前記記憶部に描画情報を記憶する際、及び前記記憶部に記憶された描画情報を編集する際に、該描画情報により特定される描画の位置情報に対応付けて前記記憶部に記憶された前記対応情報を更新する付記２６記載の描画処理プログラム。
【０１３３】
（付記２９）
前記複数のフレームの各々に対応付けられた描画情報を、前記動画の再生時に表示されるフレームに応じて累積した累積描画情報を生成し、前記表示されるフレームに生成した前記累積描画情報が示す累積描画を合成することをさらに含む処理を前記コンピュータに実行させる付記２３〜付記２８のいずれか１項記載の描画処理プログラム。
【０１３４】
（付記３０）
前記描画情報が対応付けられた動画を再生する際、前記描画情報を前記動画から分離して前記記憶部に記憶することをさらに含む処理を前記コンピュータに実行させる付記２３〜付記２９のいずれか１項記載の描画処理プログラム。
【０１３５】
（付記３１）
前記対応情報は、１つの位置情報に対して複数のフレームの識別子が対応付けられた情報である付記２３〜付記３０のいずれか１項記載の描画処理プログラム。
【０１３６】
（付記３２）
受け付けた位置情報に対応するフレームの識別子が複数存在する場合には、描画の編集が行われたフレームと動画再生時における表示タイミングが最も近いフレームの識別子を特定する付記３１記載の描画処理プログラム。
【０１３７】
（付記３３）
前記描画情報には、一群の描画を識別するための識別情報が含まれる付記２３〜付記３２のいずれか１項記載の描画処理プログラム。
【０１３８】
（付記３４）
動画に含まれる複数のフレームに対して行われた描画を示す描画情報が各々対応付けられた前記複数のフレームのいずれかのフレーム上で編集された描画のフレーム内での位置を示す位置情報と、編集内容とを受け付け、
フレーム内での描画の位置情報と、該描画が行われたフレームの識別子との対応情報が記憶された記憶部を参照して、受け付けた位置情報に対応するフレームの識別子を特定し、
特定された識別子が示すフレームの各々に対応付けられた描画情報を、受け付けられた編集内容に基づいて編集する
ことを含む処理をコンピュータに実行させる描画処理プログラムを記憶した記憶媒体。
【０１３９】
（付記３５）
動画の再生タイミングと対応づけて記憶されている、前記動画に含まれる複数のフレームに対して行われた描画を示す描画情報を参照して、前記記憶された再生タイミングで前記動画に重畳して描画情報を再生し、
前記描画情報を重畳した前記動画の再生中に、再生中の動画に重畳された第一の描画を第二の描画に変更する編集操作を受け付けて記憶し、
前記第一の描画の前記動画に対する再生タイミングと同じタイミングで、前記動画に前記第二の描画を重畳して、再生する
ことを含む処理をコンピュータに実行させる描画処理方法。
【符号の説明】
【０１４０】
１０   描画処理装置
１１   分離部
１２   動画再生部
１３   受付部
１４   編集部
１５   合成部
１６   多重化部
２０   描画データベース
２１   手書き情報テーブル
２２   描画情報テーブル
２３   検索テーブル
２４   動画遅延バッファ
２６   累積描画フレームメモリ
３０   手書き入力デバイス
３２   表示デバイス
４０   画面
４２   再生領域
４６   手書きツール
５０   コンピュータ
５１   ＣＰＵ
５２   メモリ
５３   記憶部
５９   記録媒体
６０   描画処理プログラム
【図１】
0006623876.tif 000002
【図２】
0006623876.tif 000003
【図３】
0006623876.tif 000004
【図４】
0006623876.tif 000005
【図５】
0006623876.tif 000006
【図６】
0006623876.tif 000007
【図７】
0006623876.tif 000008
【図８】
0006623876.tif 000009
【図９】
0006623876.tif 000010
【図１０】
0006623876.tif 000011
【図１１】
0006623876.tif 000012
【図１２】
0006623876.tif 000013
【図１３】
0006623876.tif 000014
【図１４】
0006623876.tif 000015
【図１５】
0006623876.tif 000016
【図１６】
0006623876.tif 000017
【図１７】
0006623876.tif 000018
【図１８】
0006623876.tif 000019
【図１９】
0006623876.tif 000020
【図２０】
0006623876.tif 000021
【図２１】
0006623876.tif 000022