(57)【要約】【課題】処理範囲の最適化により画像処理を高速化することができ、リアルタイムの動画プレビューを行う際にも、メモリ上へのレンダリング処理を省略することができる情報処理装置および情報処理方法を提供する。【解決手段】識別情報を有する画像を入力する画像入力部と、前記入力された画像の処理を行う画像処理部と、前記入力された画像を第１の画像、前記画像処理部より出力された画像を第２の画像として、前記第１の画像と前記第２の画像とを比較して前記処理が行われた領域を検出する検出部と、前記検出された領域を示す領域情報を生成する領域情報生成部と、前記生成された領域情報と前記第１の画像の識別情報とを紐づけて記憶する記憶部と、前記記憶部に記憶された情報をもとに、前記第１の画像に対して前記画像処理部にて再度処理を行う場合の当該第１の画像における処理対象の領域を特定する処理範囲特定部とを具備する。【選択図】図７
2013225756.tif 000002
【特許請求の範囲】
【請求項１】
識別情報を有する画像を入力する画像入力部と、
前記入力された画像の処理を行う画像処理部と、
前記入力された画像を第１の画像、前記画像処理部より出力された画像を第２の画像として、前記第１の画像と前記第２の画像とを比較して前記処理が行われた領域を検出する検出部と、
前記検出された領域を示す領域情報を生成する領域情報生成部と、
前記生成された領域情報と前記第１の画像の識別情報とを紐づけて記憶する記憶部と、
前記記憶部に記憶された情報をもとに、前記第１の画像に対して前記画像処理部にて再度処理を行う場合の当該第１の画像における処理対象の領域を特定する処理範囲特定部と
を具備する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記画像処理部は、前記第１の画像に対してユーザより指定された範囲を少なくとも含む条件に従って処理を行う
情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
前記処理範囲特定部は、再度処理を行う前記第１の画像の前記識別情報に紐づけられた前記領域情報をもとに当該第１の画像における処理対象の領域を特定する
情報処理装置。
【請求項４】
請求項１に記載の情報処理装置であって、
前記第１の画像は、時間軸に沿って連続的に変化する複数の画像の一つであり、
前記識別情報は、前記第１の画像に対応する時間軸上の時刻情報である
情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記処理範囲特定部は、再度処理を行う前記第１の画像の前記時刻情報が前記記憶部に記憶されていない場合、当該時刻情報に最も近い時刻情報に紐づけられた前記領域情報をもとに当該第１の画像における処理対象の領域を特定する
情報処理装置。
【請求項６】
請求項１に記載の情報処理装置であって、
前記画像処理部は、グラフィックス・プロセッシング・ユニットであり、
前記領域情報生成部は、前記グラフィックス・プロセッシング・ユニットの特性に基づいて前記領域情報の生成を行う
情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記グラフィックス・プロセッシング・ユニットは、前記画像処理を複数の処理単位に分割して実行可能であり、
前記領域情報生成部は、前記検出された領域を、前記グラフィックス・プロセッシング・ユニットによる画像処理の空間的な単位に分解する領域情報を生成する
情報処理装置。
【請求項８】
情報処理装置内の画像入力部が、識別情報を有する画像を入力し、
前記情報処理装置内の画像処理部が、前記入力された画像の処理を行い、
前記情報処理装置内の検出部が、前記入力された画像を第１の画像、前記画像処理部より出力された画像を第２の画像として、前記第１の画像と前記第２の画像とを比較して前記処理が行われた領域を検出し、
前記情報処理装置内の領域情報生成部が、前記検出された領域を示す領域情報を生成し、
前記情報処理装置内の記憶部が、前記生成された領域情報と前記第１の画像の識別情報とを紐づけて記憶し、
前記情報処理装置内の処理範囲特定部が、前記記憶部に記憶された情報をもとに、前記第１の画像に対して前記画像処理部にて再度処理を行う場合の当該第１の画像における処理対象の領域を特定する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、ＧＰＵ（Graphics Processing Unit）を用いて画像のエフェクト処理を行う情報処理装置に関する。
【背景技術】
【０００２】
画像処理の分野においても、以前は専用ハードウェアでのみ実装可能であった処理が、汎用計算機上において実行されるプログラムにより実装される状況が本格的になってきた。それは、ＣＰＵやメモリの性能向上により、プログラムによる実装でも、ユーザが満足する程度の処理速度が得られるようになったからである。
【０００３】
また、近年では計算機に組み込まれているグラフィック・レンダリング用のＧＰＵを、レンダリングのみならず、他の数値演算にも利用するＧＰＧＰＵ (Ｇｅｎｅｒａｌ−Ｐｕｒｐｏｓｅ ｃｏｍｐｕｔｉｎｇ ｏｎ Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔｓ; ＧＰＵによる汎目的計算)という技術分野が存在する。
【０００４】
ＧＰＵは安価なうえ、入手が容易であり、かつ高速な演算が実現できるため、画像の特殊効果（エフェクト）などの処理を行うＧＰＵを組み込んだ編集システムがローコストで開発できるようになった。
【０００５】
しかしながら、単純にＧＰＵ上で動作するプログラムを作成し、実行すれば、簡単に高速化が図れるというわけではない。サイズの大きな画像の処理や、演算量の多い画像処理を、リアルタイムに実現するには、そのプログラム開発において、画像処理アルゴリズムの工夫や、実装上の工夫が必要である。
【０００６】
最近では、動画編集において、画像処理の結果を表示するプレビュー表示品質の最適化を行う工夫に言及する発明が公開されている。
【０００７】
例えば特許文献１では、動画編集システムにおいて、編集中の動画の編集効果をリアルタイムで確認する場合に、編集目的によって要求されるプレビュー表示品質が異なる場合でも、その編集目的に対応するプレビュー表示をすることができる動画編集システムが開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−１０１２３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
画像処理を行った動画のプレビューを行う場合、リアルタイム性を確保する為に画像処理の処理結果を一旦メモリ上にレンダリングするのが一般的である。そしてメモリ上へのレンダリングには膨大な時間がかかるので、ユーザはプレビュー操作に際し、レンダリング処理が終了するまで長時間待たなければならなかった。また、長尺の映像素材をレンダリングするには多くのメモリが使用されるので、映像編集用のシステムメモリが圧迫されていた。
【００１０】
特許文献１には、プレビューを行う際に編集目的に合わせたプレビュー表示を行う技術は開示されているが、プレビュー開始までの待ち時間を短縮する技術、例えば、プレビュー開始前のレンダリング処理を行わずにプレビューを行う技術は開示されていない。
【００１１】
以上のような事情に鑑み、本技術の目的は、処理範囲の最適化により画像処理を高速化することができ、リアルタイムの動画プレビューを行う際にも、メモリ上へのレンダリング処理を省略することができる情報処理装置および情報処理方法を提供することにある。
【課題を解決するための手段】
【００１２】
（１）上記目的を達成するため、本技術の一形態に係る情報処理装置は、識別情報を有する画像を入力する画像入力部と、前記入力された画像の処理を行う画像処理部と、前記入力された画像を第１の画像、前記画像処理部より出力された画像を第２の画像として、前記第１の画像と前記第２の画像とを比較して前記処理が行われた領域を検出する検出部と、前記検出された領域を示す領域情報を生成する領域情報生成部と、前記生成された領域情報と前記第１の画像の識別情報とを紐づけて記憶する記憶部と、前記記憶部に記憶された情報をもとに、前記第１の画像に対して前記画像処理部にて再度処理を行う場合の当該第１の画像における処理対象の領域を特定する処理範囲特定部とを具備する。
【００１３】
本技術では、画像入力部が受け付けた入力画像に対し、まず画像処理部が画像処理を行う。そして検出部が入力画像と画像処理した結果の処理結果画像とを比較し、画像処理が行われた領域を検出する。そして領域情報生成部が、検出した領域に基づき、再度同じ画像に対して同様の画像処理を行う場合に画像処理の計算量を減らせるように、画像処理の処理範囲を示す領域情報を生成する。生成された領域情報は、同じ画像を再処理する際に利用できるよう、入力画像（第１の画像）の識別情報と紐づけて記憶部に蓄積される。再度同じ画像を受け付けた際には、処理範囲特定部が、記憶部から取得した情報により画像処理の処理範囲を特定する。画像処理部は、特定された処理範囲に対してのみ画像処理を行う。これにより、本技術では、画像処理にかかる処理時間を短縮することができる。また、画像処理の時間短縮により、リアルタイムの動画プレビューを行う際にも、メモリ上へのレンダリング処理を省略することができる。
【００１４】
（２）また、本技術の一形態に係る情報処理装置では、前記画像処理部は、前記第１の画像に対してユーザより指定された範囲を少なくとも含む条件に従って処理を行う。最初に行う画像処理では、その処理範囲がユーザにより指定される。そして再度処理を行う際には、ユーザによる指定無しに画像処理を行うので、再処理時にユーザが範囲指定を行う手間を省くことができる。
【００１５】
（３）また、本技術の一形態に係る情報処理装置では、前記処理範囲特定部は、再度処理を行う前記第１の画像の前記識別情報に紐づけられた前記領域情報をもとに当該第１の画像における処理対象の領域を特定する。再度同じ画像を受け付けた際、処理範囲特定部は、画像処理の処理範囲を特定するのに、その入力画像（第１の画像）の識別情報に基づき、記憶部から対応する領域情報を取得するので、領域情報の取得が容易にできる。
【００１６】
（４）また、本技術の一形態に係る情報処理装置では、前記第１の画像は、時間軸に沿って連続的に変化する複数の画像の一つであり、前記識別情報は、前記第１の画像に対応する時間軸上の時刻情報である。本技術の一形態に係る情報処理装置は、映像編集装置であることが想定されるので、動画映像の各フレームには対応する時間軸上の時刻情報であるタイムコードが付けられている。この時刻情報を識別情報として用いることにより、別途識別情報を設ける手間を省くことができる。
【００１７】
（５）また、本技術の一形態に係る情報処理装置では、前記処理範囲特定部は、再度処理を行う前記第１の画像の前記時刻情報が前記記憶部に記憶されていない場合、当該時刻情報に最も近い時刻情報に紐づけられた前記領域情報をもとに当該第１の画像における処理対象の領域を特定する。時刻情報は時間軸に沿って連続して並んでいるので、処理する画像の時刻情報に紐づけられた領域情報が記憶部に無い場合でも、その時刻情報に最も近い時刻情報に紐づけられた領域情報があれば、その領域情報を用いて画像処理の処理範囲を特定することができる。
【００１８】
（６）また、本技術の一形態に係る情報処理装置は、前記画像処理部は、グラフィックス・プロセッシング・ユニットであり、前記領域情報生成部は、前記グラフィックス・プロセッシング・ユニットの特性に基づいて前記領域情報の生成を行う構成でもよい。この構成によると、グラフィックス・プロセッシング・ユニットの特性に基づいて領域情報の生成を行うことにより、画像処理を、利用するグラフィックス・プロセッシング・ユニットの特性に合わせて最適化することができる。
【００１９】
（７）また、本技術の一形態に係る情報処理装置では、前記グラフィックス・プロセッシング・ユニットは、前記画像処理を複数の処理単位に分割して実行可能であり、
前記領域情報生成部は、前記検出された領域を、前記グラフィックス・プロセッシング・ユニットによる画像処理の空間的な単位に分解する領域情報を生成する構成でもよい。この構成によると、検出された領域をグラフィックス・プロセッシング・ユニットによる画像処理の空間的な単位に分解した情報として領域情報を作成するので、グラフィックス・プロセッシング・ユニットにおける画像処理を最適化することができる。
【００２０】
（８）また、本技術の他の形態に係る情報処理方法は、情報処理装置内の画像入力部が、識別情報を有する画像を入力し、前記情報処理装置内の画像処理部が、前記入力された画像の処理を行い、前記情報処理装置内の検出部が、前記入力された画像を第１の画像、前記画像処理部より出力された画像を第２の画像として、前記第１の画像と前記第２の画像とを比較して前記処理が行われた領域を検出し、前記情報処理装置内の領域情報生成部が、前記検出された領域を示す領域情報を生成し、前記情報処理装置内の記憶部が、前記生成された領域情報と前記第１の画像の識別情報とを紐づけて記憶し、前記情報処理装置内の処理範囲特定部が、前記記憶部に記憶された情報をもとに、前記第１の画像に対して前記画像処理部にて再度処理を行う場合の当該第１の画像における処理対象の領域を特定する。
【発明の効果】
【００２１】
以上のように、本技術によれば、処理範囲の最適化により画像処理を高速化することができ、リアルタイムの動画プレビューを行う際にも、メモリ上へのレンダリング処理を省略することができる。
【図面の簡単な説明】
【００２２】
【図１】情報処理装置のハードウェア構成を表すブロック図である。
【図２】カラーグレーディング処理における、アプリケーションソフトウェアの、ハードウェアを含む実行形態を表す図である。
【図３】カラーグレーディング処理における具体的なワークフローを示す図である。
【図４ａ】カラーグレーディング処理における具体例を示すフローチャートである。
【図４ｂ】カラーグレーディング処理における具体例を示す図である。
【図４ｃ】カラーグレーディング処理における具体例を示す図である。
【図４ｄ】カラーグレーディング処理における具体例を示す図である。
【図５ａ】カラーグレーディング処理における具体例を示すフローチャートである。
【図５ｂ】カラーグレーディング処理における具体例を示す図である。
【図５ｃ】カラーグレーディング処理における具体例を示す図である。
【図５ｄ】カラーグレーディング処理における具体例を示す図である。
【図６ａ】カラーグレーディング処理における具体例を示すフローチャートである。
【図６ｂ】カラーグレーディング処理における具体例を示す図である。
【図６ｃ】カラーグレーディング処理における具体例を示す図である。
【図６ｄ】カラーグレーディング処理における具体例を示す図である。
【図７】本技術を適用した映像処理プラグインプログラムの機能ブロック図である。
【図８】エフェクト処理制御パラメータの具体例を示す図である。
【図９】処理領域限定情報の例を示す図である。
【図１０】本技術の実施形態における処理の流れのうち、全体の概略を示すフローチャートである。
【図１１】本技術の実施形態における処理の流れのうち、「処理領域限定情報の新規登録／更新」処理の部分を示すフローチャートである。
【図１２】本技術の実施形態における処理の流れのうち、「処理領域限定情報の抽出」処理の部分を示すフローチャートである。
【図１３ａ】エフェクト効果領域情報の例を示す図である。
【図１３ｂ】エフェクト効果領域情報をＧＰＵカーネルの処理単位に分割した例を示す図である。
【図１３ｃ】マスク画像の例である。
【図１４】本技術の実施形態における処理の流れのうち、「処理領域限定情報の利用」処理の部分を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
本技術の適用例としてカラーグレーディング処理を挙げる。最初にＧＰＵ（Graphics Processing Unit）を用いたハードウェア構成を説明し、次に、一般的なカラーグレーディング処理について説明し、最後に、本技術をカラーグレーディング処理に適用する場合の説明を行う。
【００２４】
［情報処理装置のハードウェア構成］
図１は、情報処理装置１０のハードウェア構成を表すブロック図である。情報処理装置１０は、具体的には、カラーグレーディング処理などの映像編集を行う映像編集装置が例として挙げられる。
【００２５】
情報処理装置１０は、ＣＰＵ部１１、ＧＰＵ部１２、記憶装置１３、表示インターフェース１４、操作インターフェース１５、ネットワークインターフェース１６、これらを相互に接続するバス１７を備える。
【００２６】
ＣＰＵ部１１は、ＣＰＵ１１１とメモリ１１２（以下「ＣＰＵメモリ」と呼ぶ。）を有し、ＣＰＵメモリ１１２に格納されたプログラムを実行させることによってＣＰＵメモリ１１２上で各種の演算処理に関する命令を実行する。ＣＰＵ部１１は、操作インターフェース１５に接続された操作入力装置１８を通じてユーザより入力された指令を解釈してプログラムの動作に反映させる。例えば、ＣＰＵ部１１は、記憶装置１３に記憶された画像データを読み出してＣＰＵメモリ１１２に取り込み、この画像データに対してエフェクト等の処理を行ったりすることができる。ＣＰＵメモリ１１２に保持された画像データは表示インターフェース１４に供給され、ここで描画処理されることによって可視的な描画データとされ、必要に応じて後述するＧＰＵ部１２によって処理された画像の描画データとマージされて表示装置１９に出力される。さらにＣＰＵ部１１は、ＣＰＵメモリ１１２に保持された処理後の画像データを、必要に応じて、ＧＰＵ部１２によって処理された画像データとマージして記憶装置１３に書き戻したりするように制御を行うことが可能である。
【００２７】
ＧＰＵ部１２は、ＧＰＵ１２１とメモリ１２２（以下「ＧＰＵメモリ１２２」と呼ぶ。）とを有し、ＧＰＵメモリ１２２に格納されたプログラムを実行させることによってＧＰＵメモリ１２２上でエフェクトなどの画像処理を並列演算処理により実行することが可能である。ＧＰＵメモリ１２２に保持された画像データは表示インターフェース１４に供給され、ここで描画処理によって可視的な描画データとされ、必要に応じて、上記のＧＰＵ部１２によって処理された画像の描画データとマージされて表示装置１９に出力される。
【００２８】
ＣＰＵ部１１とＧＰＵ部１２との間は、バス１７により接続されており、映像に対する演算処理を行う際、ＣＰＵ部とＧＰＵ部１２との間では、ＣＰＵメモリ１１２、バス１７、およびＧＰＵメモリ１２２を介して、データ転送が行われる。
【００２９】
表示インターフェース１４は、表示装置１９とのインターフェースであり、ＣＰＵ部１１およびＧＰＵ部１２より供給された画像データの描画処理を行い、必要に応じて、ＣＰＵ部１１により処理された画像の描画データとＧＰＵ部１２により処理された画像の描画データをマージして１つの画像の描画データとして表示装置１９に供給する。この表示インターフェース１４の処理は、例えば、上記のＧＰＵ１２１もしくは別途設けられたＧＰＵ（図示せず）により実現される。
【００３０】
操作インターフェース１５は、操作入力装置１８とのインターフェースであり、操作入力装置１８から入力されたユーザからのデータおよび指令をＣＰＵ部１１に供給する処理などを行う。
【００３１】
記憶装置１３は、例えば、編集前の画像データおよび編集後の画像データの保存、編集処理をＣＰＵ部１１およびＧＰＵ部１２に実行させるための各種のプログラムなどを蓄積する。
【００３２】
ネットワークインターフェース１６は、ネットワーク３０との接続をとるためのインターフェースである。
【００３３】
ＣＰＵ１１１およびＧＰＵ１２１は、後述する各機能ブロックを実現する。ＣＰＵ１１１およびＧＰＵ１２１は、ＣＰＵメモリ１１２、ＧＰＵメモリ１２２等に格納されたプログラムを実行して、必要に応じて、上記各部材を制御する。これにより、本実施の形態の情報処理装置１０は、種々の機能ブロックを実現することができ、上記各部材を、情報処理装置１０として動作させることができる。
【００３４】
［アプリケーションソフトウェアの実行形態］
図２は、本技術を適用する具体例の一つであるカラーグレーディング処理における、アプリケーションソフトウェアの、ハードウェアを含む実行形態を表す図である。
【００３５】
本アプリケーションソフトウェアは、映像の読み出しや描画・出力などを行う映像編集プログラムであるアプリケーション本体ＡＰと、映像に各種のエフェクト処理を施すサブルーチンであるプラグインプログラムとから構成される。ここでは、プラグインプログラムは、入力された映像に対しフィルタ処理等のエフェクトを施す映像処理プラグインプログラムである。
【００３６】
アプリケーション本体ＡＰである映像編集プログラムは、ＣＰＵ部１１において実行される。プラグインプログラムは、ＣＰＵ部１１においてのみ実行されるプログラムと、ＣＰＵ部１１およびＧＰＵ部１２により実行されるプログラムとに分類される。
【００３７】
図に示されるように、処理の流れは、アプリケーション本体ＡＰが、映像に施すエフェクト処理をスケジューリングし、映像処理プラグインプログラムを呼び出して映像の編集を行う。
【００３８】
図に沿って、処理の流れを説明する。まず、アプリケーション本体ＡＰが映像の読み出しを行い、最初の映像処理プラグインプログラム１（ＰＰ１）を呼び出す。映像処理プラグインプログラム１（ＰＰ１）は、ＣＰＵ部１１において実行されるプログラム（ＣＰＵ映像処理プラグイン）なので、ＧＰＵ部１２のリソースは使用されない。
【００３９】
図の右上に、ＣＰＵ映像処理プラグインにおける処理の詳細を示す。アプリケーション本体ＡＰは、映像処理プラグインプログラム１（ＰＰ１）を呼び出し、画像の処理を依頼するが、その際、ＣＰＵメモリ１１２上の入力バッファＩＢｃに処理を依頼する画像を１フレーム分だけ置く。呼び出された映像処理プラグインプログラム１（ＰＰ１）は、入力バッファＩＢｃから画像を受け取り、エフェクト処理１（ＥＰ１ｃ）からエフェクト処理Ｎ（ＥＰＮｃ）まで、必要なエフェクト処理を行う。そして、映像処理プラグインプログラム１（ＰＰ１）は、処理結果をＣＰＵメモリ１１２上の出力バッファＯＢｃに置き、処理をアプリケーション本体ＡＰに戻す。
【００４０】
アプリケーション本体ＡＰは、映像処理プラグインプログラム１（ＰＰ１）に続き、様々な映像処理プラグインプログラムを呼び出して処理を進めていく。図では、最後に呼び出されるプラグインプログラムは、映像処理プラグインプログラムＮ（ＰＰＮ）である。映像処理プラグインプログラムＮ（ＰＰＮ）は、ＣＰＵ部１１およびＧＰＵ部１２において実行されるプログラムである。
【００４１】
図の右下に、ＧＰＵ映像処理プラグインにおける処理の詳細を示す。映像処理プラグインプログラムＮ（ＰＰＮ）は、アプリケーション本体ＡＰから呼び出されると、まず、ＣＰＵメモリ１１２から、ＧＰＵメモリ１２２上の入力バッファＩＢｇに画像を１フレーム分だけ転送する。次に、映像処理プラグインプログラムＮ（ＰＰＮ）は、ＧＰＵ部１２上において、入力バッファＩＢｇを介して受け取った画像に対し、エフェクト処理ＥＰ１ｇからエフェクト処理ＥＰＮｇまで、必要なエフェクト処理を行う。そして、映像処理プラグインプログラムＮ（ＰＰＮ）は、処理結果をＧＰＵメモリ１２２上の出力バッファＯＢｇに置く。最後に、映像処理プラグインプログラムＮ（ＰＰＮ）は、出力バッファＯＢｇの内容を、ＣＰＵメモリ１１２に転送し、処理をアプリケーション本体ＡＰに戻す。
本技術は、上記のプラグインプログラムにおいて適用することを想定している。
【００４２】
［カラーグレーディング処理のワークフロー］
図３は、カラーグレーディング処理における具体的なワークフローを示す図である。
【００４３】
この図にあるように、まず、アプリケーション本体ＡＰは、前の工程より編集前の映像素材を受け取る。次に、アプリケーション本体ＡＰは、「色調整」、「キーイング」、「デフォーカス／ブラー」などのエフェクト処理を、プラグインプログラムを呼び出すことにより行う。次に、アプリケーション本体ＡＰは、「コンポジット」の処理を行い、調整した映像の合成を行う。ここで、合成した結果が満足できるものであれば、アプリケーション本体ＡＰは、ここまでの処理を終了し、「レンダリング」の処理により、処理結果の書き出しを行う。書き出した映像は、編集後映像素材として、次の工程に渡される。
【００４４】
もし、「コンポジット」の処理後に、合成した映像が満足のいくものでなかった場合は、アプリケーション本体ＡＰの処理は、最初に戻り、「色調整」、「キーイング」、「デフォーカス／ブラー」などの調整処理が繰り返される。
【００４５】
このように、カラーグレーディング処理とは、画像全体や部分領域に対して色の操作やエフェクト処理を施す処理を指す。ユーザは、「色調整」や「デフォーカス／ブラー」などのエフェクト処理、「キーイング処理」、ミキサ処理である「コンポジット」を組み合わせ、輝度値などのエフェクトパラメータを調整することにより、編集操作を行う。
【００４６】
すなわち、カラーグレーディング処理において、アプリケーション本体ＡＰは、画像中の同じ領域に対して、エフェクトパラメータを少し変えたエフェクトを施す処理と、その処理結果を動画としてユーザにプレビューさせる処理とを、ユーザが処理結果に満足するまで繰り返し行うという特徴を持っている。本技術は、この特徴に着目して生み出されたものである。
【００４７】
［カラーグレーディング処理の具体例］
図４ａから図６ｄは、カラーグレーディング処理における具体例を示す図である。
【００４８】
最初に、「色調整」処理の具体例を、図４ａのフローチャートおよび図４ｂから図４ｄの図を用いて説明する。
【００４９】
まず、アプリケーション本体ＡＰは、図４ｂに示す色調整前の画像に対し、キーイング処理用映像処理プラグインプログラムを用いて、色調整を行う画像領域を選択する。（ステップ１、以下Ｓ１と略す）
【００５０】
次に、アプリケーション本体ＡＰは、領域選択が適切か否かの判断を行う。（Ｓ２）
領域選択が適切であれば、Ｓ３の処理に進み、適切でなければＳ１の処理に戻る。図４ｃは、適切に領域選択された例である。図中、白く表現された部分が、色調整処理を行う領域として選択された部分である。
【００５１】
Ｓ２において領域選択が適切であると判断された場合、次に、アプリケーション本体ＡＰは、図４ｂに示す色調整前の画像に対し、図４ｃに示す選択領域と色調整用映像処理プラグインプログラムを用いて、選択領域の色調整処理を行う。（Ｓ３）
【００５２】
次に、アプリケーション本体ＡＰは、選択領域に対する色調整の結果が適切か否かを判断する。（Ｓ４）
色調整の結果が適切であれば、「色調整」の処理を終了し、適切でなければ、Ｓ３の処理に戻り、色調整を繰り返す。
【００５３】
図４ｄは、色調整の結果を示す図である。処理前の図４ｂでは緑色（図では右斜線により表現）であった木の色が、黄色（図では左斜線により表現）に変更されていることがわかる。
【００５４】
次に、「デフォーカス」処理の具体例を、図５ａのフローチャートおよび図５ｂから図５ｄの図を用いて説明する。
【００５５】
まず、アプリケーション本体ＡＰは、図５ｂに示すデフォーカス処理前の画像に対し、キーイング処理用映像処理プラグインプログラムを用いて、デフォーカス処理を行う画像領域を選択する。（Ｓ５）
次に、アプリケーション本体ＡＰは、領域選択が適切か否かの判断を行う。（Ｓ６）
領域選択が適切であれば、Ｓ７の処理に進み、適切でなければＳ５の処理に戻る。図５ｃは、適切に領域選択された例である。図中、白く表現された部分が、デフォーカス（ぼかし）処理を行う領域として選択された部分である。
【００５６】
Ｓ６において領域選択が適切であると判断された場合、次に、アプリケーション本体ＡＰは、図５ｂに示すデフォーカス処理前の画像に対し、図５ｃに示す選択領域とデフォーカス用映像処理プラグインプログラムを用いて、選択領域のデフォーカス処理を行う。（Ｓ７）
【００５７】
次に、アプリケーション本体ＡＰは、選択領域に対するデフォーカス処理の結果が適切か否かを判断する。（Ｓ８）
デフォーカス処理の結果が適切であれば、「デフォーカス」の処理を終了し、適切でなければ、Ｓ７の処理に戻り、デフォーカス処理を繰り返す。
【００５８】
図５ｄは、デフォーカス処理の結果を示す図である。処理前の図５ｂでは雲の境界線は鮮明（図では太い実線により表現）であったが、ぼやけている（図では太い点線により表現）に変更されていることがわかる。
【００５９】
次に、「コンポジット」処理の具体例を、図６ａのフローチャートおよび図６ｂから図６ｄの図を用いて説明する。
【００６０】
まず、アプリケーション本体ＡＰは、図６ｂに示す色調整処理後の画像を取得し、映像処理プラグインプログラムを用いて、雲を加算する部分以外をキーイング処理する。（Ｓ９）
図６ｂに示す図では、雲の部分はキーイング処理されないので、黒く抜けている事がわかる。
【００６１】
次に、アプリケーション本体ＡＰは、図６ｃに示すデフォーカス処理後の画像を取得し、映像処理プラグインプログラムを用いて、雲の部分のみをキーイング処理する。（Ｓ１０）
図６ｃに示す図では、雲の部分のみがキーイング処理されるので、雲以外の部分が黒く抜けている事がわかる。
【００６２】
次に、アプリケーション本体ＡＰは、映像処理プラグインプログラムを用いて、画像の加算処理を行い、処理を終了する。（Ｓ１１）
図６ｄに示す図では、図６ｂにおいてキーイングされた、雲以外の部分と、図６ｃにおいてキーイングされた雲の部分とが加算されることにより、色調整の結果とデフォーカス処理の結果とが合成されている。
【００６３】
このように、カラーグレーディング処理では、変更中のエフェクト処理について、エフェクト効果が反映される画像領域が変わらず、領域内のエフェクトパラメータのみを変更する処理がある。また、編集作業の途中において処理内容（輝度値の操作や色の置き換えなど）が確定したエフェクト機能については、各フレームにおいてエフェクト効果が反映される画像領域が決まっているという特徴がある。本技術は、この特徴に着目して生み出されたものである。
【００６４】
［本技術の概要］
本技術は、ユーザ操作が繰り返し発生する処理において、エフェクト処理を施す範囲を最適化し、操作毎の体感速度の向上と処理速度の高速化とを実現するための手法を提案するものである。
【００６５】
本技術は、映像処理プラグインプログラムの内部において実現してもよい。各プラグインプログラムは、画像中においてエフェクト効果がかけられた領域を検出し、その検出結果（以降、エフェクト効果領域情報と呼ぶ）に基づいて、映像処理を実行するデバイス（ＣＰＵ、ＧＰＵ等）のデバイスリソースを最適化したり、画像の処理範囲を制限したりする事により、エフェクト処理にかかる処理時間の削減を行う。
【００６６】
本技術は、映像編集システムの一部として実現されてもよいので、その場合、素材映像の各フレームには、識別情報として、タイムコードが付けられている。すなわち、入力画像（第１の画像）は、時間軸に沿って連続的に変化する複数の画像の一つであり、識別情報は、入力画像（第１の画像）に対応する時間軸上のタイムコード（時刻情報）である。また、同時に複数の動画を編集する場合、各動画を区別するためにシーケンスＩＤが用いられる。
【００６７】
タイムコードおよびシーケンスＩＤと、画像の処理範囲を制限したりエフェクト処理の計算量を制御したりする情報全般（例えば、マスク画像や、エフェクト処理関数に与える引数など。以降、処理領域限定情報と呼ぶ）とを紐付けしたデータ（以降、エフェクト処理制御パラメータと呼ぶ）を、テーブル（以降、エフェクト処理制御テーブルと呼ぶ）として保持する。
【００６８】
エフェクト処理実行時に、各プラグインプログラムは、エフェクト処理制御テーブルを参照して処理領域限定情報を取り出し、エフェクト処理を行う領域を制限することにより、一度エフェクト処理を行った画像について、操作毎の体感速度の向上とエフェクト処理速度の高速化とを実現する。デバイスリソースの最適化を行うので、実行するエフェクトの数とデバイスリソース量との関係に応じて、可能な限り高速に処理を行うことができる。
【００６９】
また、本技術は、エフェクト処理速度の高速化により、実解像度での高速なプレビュー操作を提供する。プレビュー操作が高速化されるので、本技術では、プレビューをリアルタイムに行う為のメモリレンダリング操作を必要としない。そのため、映像編集用のシステムメモリを圧迫しないという効果がある。
【００７０】
［本技術の機能ブロック図］
図７は、本技術を適用した映像処理プラグインプログラム２００の機能ブロック図である。
【００７１】
映像処理プラグインプログラム２００は、機能ブロックとして、入力バッファ２１０、エフェクト処理部２２０、出力バッファ２３０、および処理領域決定部２４０を含んでいる。また、処理領域決定部２４０は、差分検出部２４１、処理領域限定情報抽出部２４２、エフェクト処理制御テーブル２４３を含んでいる。
【００７２】
エフェクト処理部２２０は、ＣＰＵ１１１とＧＰＵ１２１のいずれかで実行され、入力バッファ２１０および出力バッファ２３０は、エフェクト処理部２２０がＣＰＵ１１１上において実行される場合は、ＣＰＵメモリ１１２上にあり、エフェクト処理部２２０がＧＰＵ１２１上において実行される場合は、ＧＰＵメモリ１２２上にある。処理領域決定部２４０は、ＣＰＵ１１１上において実行される。
【００７３】
入力バッファ２１０は、アプリケーション本体ＡＰから渡された入力画像を受け付け、エフェクト処理部２２０および差分検出部２４１に渡す。
【００７４】
エフェクト処理部２２０は、入力バッファ２１０から渡された入力画像に対し、エフェクト処理を行い、処理結果である出力画像を出力バッファ２３０に渡す。エフェクト処理としては、例えば、キーイング処理、色調整処理、デフォーカス／ブラー処理などが挙げられる。なお、エフェクト処理部２２０は、入力画像であるフレームのタイムコードおよびシーケンスＩＤを基に、エフェクト処理制御テーブル２４３に問い合わせを行う。そして、エフェクト処理部２２０は、入力画像のタイムコードおよびシーケンスＩＤに対応した処理領域限定情報を取得し、取得した処理領域限定情報に基づき、エフェクト処理を行う。
【００７５】
出力バッファ２３０は、エフェクト処理部２２０から渡された出力画像を、差分検出部２４１に渡すとともに、映像処理プラグインプログラムの処理が終了しアプリケーション本体ＡＰに処理が戻る際に、アプリケーション本体ＡＰに渡す。
【００７６】
差分検出部２４１は、入力バッファ２１０から渡されたエフェクト処理前の入力画像と、出力バッファ２３０から渡されたエフェクト処理後の出力画像とを比較し、差分を検出する。そして、差分検出部２４１は、検出された差分を、エフェクト効果領域情報として、処理領域限定情報抽出部２４２に渡す。
【００７７】
処理領域限定情報抽出部２４２は、差分検出部２４１から受け取ったエフェクト効果領域情報を、処理領域限定情報に変換し、変換した処理領域限定情報をエフェクト処理制御テーブルに渡す。エフェクト効果領域情報から処理領域限定情報への変換について、詳細は後述する。
【００７８】
エフェクト処理制御テーブル２４３は、エフェクト処理部２２０から受け取った入力画像のタイムコードやシーケンスＩＤと、処理領域限定情報抽出部２４２から受け取った処理領域限定情報とを紐づけて、エフェクト処理制御パラメータとして記憶する。また、エフェクト処理部２２０が、入力画像のタイムコードおよびシーケンスＩＤをキーとして、エフェクト処理制御パラメータの問い合わせた際、該当するタイムコードおよびシーケンスＩＤが存在する場合、エフェクト処理制御テーブル２４３は、そのタイムコードおよびシーケンスＩＤに対応した処理領域限定情報をエフェクト処理部２２０に返す。
【００７９】
なお、エフェクト処理制御パラメータの具体例を図８に示す。この例では、一つのタイムコードおよびシーケンスＩＤの組み合わせに対し、複数の処理領域限定情報が紐づけられており、一度に複数の処理領域限定情報がエフェクト処理に利用されることを示している。
【００８０】
また、一つのタイムコードおよびシーケンスＩＤの組み合わせに対し、処理領域限定情報を紐づけているので、フレーム毎にエフェクト処理を施す領域が変化する場合でも，一度操作されたエフェクトであるなら高速処理が可能となる。
【００８１】
なお、本実施の形態にかかる情報処理装置は、タイムコード（識別情報）を有する画像を入力する入力バッファ２１０（画像入力部）と、前記入力された画像の処理を行うエフェクト処理部２２０（画像処理部）と、前記入力された画像を第１の画像、前記エフェクト処理部２２０（画像処理部）より出力された画像を第２の画像として、前記第１の画像と前記第２の画像とを比較して前記処理が行われた領域を検出する差分検出部２４１（検出部）と、前記検出された領域を示す領域情報を生成する処理領域限定情報抽出部２４２（領域情報生成部）と、前記生成された領域情報と前記第１の画像の識別情報とを紐づけて記憶するエフェクト処理制御テーブル２４３（記憶部）と、
前記エフェクト処理制御テーブル２４３（記憶部）に記憶された情報をもとに、前記第１の画像に対して前記エフェクト処理部２２０（画像処理部）にて再度処理を行う場合の当該第１の画像における処理対象の領域を特定するエフェクト処理部２２０（処理範囲特定部）とを具備する構成でもよい。
【００８２】
［処理領域限定情報について］
図９は、処理領域限定情報の例を示す図である。処理領域限定情報とは、画像の処理範囲を制限したりエフェクト処理の計算量を制御したりする情報全般を指す。図の左側に示す例が、マスク画像であり、図の右側に示す例が、ＧＰＵ実行時パラメータである。
【００８３】
マスク画像は、エフェクト処理をＧＰＵ１２１上において適切に動作させるため、エフェクト効果領域情報をエフェクト処理部２２０において扱う画像処理の処理単位（ＧＰＵ１２１内のスレッドの分割単位）にアライメントをとるものであり、エフェクト処理の際に不要なＧＰＵスレッドの発生を抑え演算時間を短縮する効果がある。
【００８４】
アライメントの取り方は後述する。概略としては、すなわち、ＧＰＵ１２１（グラフィックス・プロセッシング・ユニット）は、エフェクト処理（画像処理）を複数の処理単位に分割して実行可能であり、処理領域限定情報抽出部２４２（領域情報生成部）は、差分検出部２４１により検出された領域を、ＧＰＵ１２１（グラフィックス・プロセッシング・ユニット）による画像処理の空間的な単位に分解する領域情報を生成するということである。
【００８５】
ＧＰＵ実行時パラメータは、超並列処理の分割数やＧＰＵカーネル実行パラメータなどを含むものである。
【００８６】
［処理の流れ（全体）］
図１０は、本技術の実施形態における処理の流れのうち、全体の概略を示すフローチャートである。このフローチャートに示すのは、アプリケーション本体ＡＰから映像処理プラグインプログラム２００が呼び出された後の処理である。
【００８７】
まず、エフェクト処理部２２０が、最初のエフェクト処理を実行する。（Ｓ１００）
【００８８】
最初のエフェクト処理は、ユーザにより指定された範囲に対して行われる。この時点では、まだ処理領域限定情報が作成されていないので、エフェクト処理部２２０は、処理領域限定情報を利用せずに、エフェクト処理の実行を行う。
【００８９】
次に、映像処理プラグインプログラム２００は、エフェクト処理の処理領域に変更があるか否かの判断を行う。（Ｓ１０１）
【００９０】
エフェクト処理の処理領域に変更がある場合は、Ｓ１０２の処理に進み、変更が無い場合は、Ｓ１０４の処理に進む。
【００９１】
エフェクト処理の処理領域に変更がある場合とは、画像中の処理領域が変更されるようなエフェクトパラメータの変化が発生した場合であり、カラーグレーディング処理では、キー画像が変更された場合などが相当する。なお、Ｓ１０２の処理に進む条件を、同一のタイムコードおよびシーケンスＩＤの組み合わせを持つ画像に対し、エフェクト効果の処理領域への画像操作がユーザ指定の規定回数より多く発生した場合、または、前工程のエフェクト処理において処理内容が変更され後工程の処理範囲に影響を及ぼす場合として構成してもよい。
【００９２】
Ｓ１０１においてエフェクト処理の処理領域に変更があると判断された場合、次に、差分検出部２４１が、入力バッファ２１０から得た入力画像と、出力バッファ２３０から得た、エフェクト処理部２２０が処理したエフェクト処理結果との差分を検出する。（Ｓ１０２）
【００９３】
次に、映像処理プラグインプログラム２００は、Ｓ１０２の処理において、差分が検出されたか否かを判断する。（Ｓ１０３）
【００９４】
差分が検出された場合は、Ｓ２００の処理に進み、差分が検出されない場合は、Ｓ１０４の処理に進む。なお、差分が検出されない場合には、映像処理プラグインプログラム２００が、ユーザによるエフェクトパラメータの変更が無いと認識し、エフェクト処理制御テーブル２４３への更新処理（Ｓ２０５参照）を行わないか、現在の画像のタイムコードより過去のタイムコードに紐づけられた処理領域限定情報をエフェクト処理制御テーブル２４３に書き込む構成でもよい。
【００９５】
Ｓ１０３において差分が検出されたと判断された場合、次に、映像処理プラグインプログラム２００は、「処理領域限定情報の新規登録／更新」処理を行い、Ｓ１０４の処理に進む。（Ｓ２００）
【００９６】
「処理領域限定情報の新規登録／更新」処理の詳細については、別のフローチャートを用いて後述する。
【００９７】
Ｓ１０３において差分が無いと判断された場合、または、Ｓ２００の処理が終わった後に、次に、映像処理プラグインプログラム２００は、処理領域限定情報を利用するか否かを判断する。（Ｓ１０４）
【００９８】
この判断は、例えば、エフェクト操作ごとの、ユーザによる指示に基づくものでもよいし、予め閾値を設けておき、エフェクト処理の回数がその閾値を超えたら処理領域限定情報を利用するように構成してもよい。処理領域限定情報を利用する場合は、Ｓ３００の処理に進み、処理領域限定情報を利用しない場合は、処理を終了し、アプリケーション本体ＡＰに制御を戻す。
【００９９】
Ｓ１０４において処理領域限定情報を利用すると判断された場合、次に、映像処理プラグインプログラム２００は、「処理領域限定情報の利用」処理を行う。（Ｓ３００）
【０１００】
「処理領域限定情報の利用」処理の詳細は、別のフローチャートを用いて後述する。
【０１０１】
Ｓ３００以降の処理では、エフェクト処理制御テーブル２４３に記録されたエフェクト処理制御パラメータを基に、エフェクト処理をかける領域を制限しながらエフェクト処理を実行していく。
【０１０２】
Ｓ３００の処理において、利用する処理領域限定情報を取得した後、次に、エフェクト処理部２２０は、再度エフェクト処理の実行を行う。（Ｓ１０５）
【０１０３】
今回のエフェクト処理の実行では、処理領域限定情報を用いてエフェクト処理を行うので、処理の実行が高速化される。
【０１０４】
以上のように、繰り返し操作されるエフェクト処理において、計算量削減のためのパラメータである処理領域限定情報を抽出し、抽出した処理領域限定情報を利用してエフェクト処理を行うことにより、エフェクト処理のレスポンス向上が実現される。
【０１０５】
［処理の流れ（処理領域限定情報の新規登録／更新）］
図１１は、本技術の実施形態における処理の流れのうち、「処理領域限定情報の新規登録／更新」処理の部分を示すフローチャートである。
【０１０６】
まず、処理領域限定情報抽出部２４２が、「処理領域限定情報の抽出」処理を行う。（Ｓ４００）
【０１０７】
「処理領域限定情報の抽出」処理の詳細については、別のフローチャートを用いて後述する。
【０１０８】
次に、映像処理プラグインプログラム２００は、入力画像のタイムコードの取得を行う。（Ｓ２０１）
【０１０９】
次に、映像処理プラグインプログラム２００は、入力画像のシーケンスＩＤの取得を行う。（Ｓ２０２）
【０１１０】
次に、映像処理プラグインプログラム２００は、取得したタイムコードおよびシーケンスＩＤを用いてエフェクト処理制御テーブル２４３を検索し、同一のタイムコードおよびシーケンスＩＤを持つ処理領域限定情報が存在するか否かを判断する。（Ｓ２０３）
同一のタイムコードおよびシーケンスＩＤを持つ処理領域限定情報が存在する場合、映像処理プラグインプログラム２００は、Ｓ２０４の処理に進み、同一のタイムコードおよびシーケンスＩＤを持つ処理領域限定情報が存在しない場合、Ｓ２０５の処理に進む。
【０１１１】
Ｓ２０３において同一のタイムコードおよびシーケンスＩＤを持つ処理領域限定情報が存在すると判断された場合、次に、映像処理プラグインプログラム２００は、エフェクト処理制御テーブル２４３の内容を、そのタイムコードおよびシーケンスＩＤと、Ｓ４００において抽出した処理領域限定情報とにより更新する。更新後、処理を終了する。（Ｓ２０４）
【０１１２】
Ｓ２０３において同一のタイムコードおよびシーケンスＩＤを持つ処理領域限定情報が存在しないと判断された場合、次に、映像処理プラグインプログラム２００は、エフェクト処理制御テーブル２４３に対し、そのタイムコードおよびシーケンスＩＤと、Ｓ４００において抽出した処理領域限定情報とを紐づけて、エフェクト処理制御パラメータとして、新規に登録する。登録後、処理を終了する。（Ｓ２０５）
【０１１３】
なお、上記のタイムコードに代わり、処理を行う画像のフレーム番号を用いる構成でもよい。
【０１１４】
また、Ｓ１０１の処理から分かるように、エフェクト処理制御テーブル２４３内のエフェクト処理制御パラメータは，エフェクト処理の処理領域に変化があった画像毎に作成・更新される。
【０１１５】
［処理の流れ（処理領域限定情報の抽出）］
図１２は、本技術の実施形態における処理の流れのうち、「処理領域限定情報の抽出」処理の部分を示すフローチャートである。処理領域限定情報には、ＣＰＵ１１１において利用されるものもあるが、ここでは、ＧＰＵ１２１において利用される処理領域限定情報の抽出例を示す。抽出の流れの概略として、エフェクト処理部２２０（画像処理部）は、ＧＰＵ１２１（グラフィックス・プロセッシング・ユニット）であり、処理領域限定情報抽出部２４２（領域情報生成部）は、ＧＰＵの特性に基づいて処理領域限定情報（領域情報）の抽出（生成）を行うということである。
【０１１６】
なお、以下の説明では、図１３ａから図１３ｃを用いて、フローチャート内の各ステップにおいて用いる情報や画像の例を示し、その説明も行う。
【０１１７】
まず、処理領域限定情報抽出部２４２は、差分検出部２４１からエフェクト効果領域情報を取得する。（Ｓ４０１）
【０１１８】
図１３ａは、エフェクト効果領域情報の例である。この例は、上記のカラーグレーディング処理の具体例を示す際に用いた、木と雲の画像において、色調整処理の処理前および処理後の画像の差分をとったものである。色調整処理では、木の色のみを緑色から黄色に変更しているので、このエフェクト効果領域情報では、色の変更があった部分のみが白くなり、色の変更などが行われなかった部分は黒くなっている。
【０１１９】
次に、処理領域限定情報抽出部２４２は、ＧＰＵカーネルの処理単位ごとにエフェクト効果領域情報を分割する。（Ｓ４０２）
【０１２０】
処理領域限定情報抽出部２４２は、予めＧＰＵカーネルの処理単位の値を保持しており、そのＧＰＵカーネルの処理単位の値に基づいて、Ｓ４０１の処理において取得したエフェクト効果領域情報を、例えば格子状に、分割する。
【０１２１】
図１３ｂは、エフェクト効果領域情報を、ＧＰＵカーネルの処理単位に分割しアライメントした例である。この例では、エフェクト効果領域情報が、格子状に分割されている。格子の四角一つ一つが、ＧＰＵカーネルの処理単位（ＧＰＵスレッド）に相当する。
【０１２２】
次に、処理領域限定情報抽出部２４２は、マスク画像が必要か否かを判断する。（Ｓ４０３）
【０１２３】
エフェクト効果領域情報における白色部分、すなわちエフェクトがかけられた部分が複雑であり、図１３ａに示すように画像として指定しなければならない場合はマスク画像が必要と判断される。エフェクト効果領域情報における白色部分が単純な四角形の場合などは、マスク画像は不要であり、実行時パラメータの設定を行えばよいと判断される。
【０１２４】
マスク画像が必要と判断された場合、処理領域限定情報抽出部２４２は、Ｓ４０４の処理に進み、マスク画像は必要ないと判断された場合、処理領域限定情報抽出部２４２は、Ｓ４０５の処理に進む。
【０１２５】
Ｓ４０３においてマスク画像が必要と判断された場合、次に、処理領域限定情報抽出部２４２は、エフェクト効果領域情報の分割結果をマスク画像としてエフェクト処理制御テーブル２４３に出力し、処理を終了する。（Ｓ４０４）
【０１２６】
図１３ｃは、マスク画像の例である。この例において白色のブロックになっている部分は、エフェクト効果領域情報を格子状に分割した結果、格子の四角の中に、エフェクト効果領域情報の白色部分が含まれる部分を表す。この白色のブロックの部分については、ＧＰＵ１２１において、ＧＰＵカーネルがエフェクト処理を行うことを意味する。
また、黒色のブロックになっている部分は、エフェクト効果領域情報を格子状に分割した結果、格子の四角の中に、エフェクト効果領域情報の白色部分が含まれなかった部分を表す。この黒色のブロックの部分については、ＧＰＵ１２１において、ＧＰＵカーネルがエフェクト処理を行わない。このように、マスク画像を作成することで，ＧＰＵ内スレッドの不要な動作を軽減させることができる。
【０１２７】
Ｓ４０３においてマスク画像が必要ではないと判断された場合、次に、処理領域限定情報抽出部２４２は、エフェクト効果領域情報の分割結果に適した超並列処理の分割数およびカーネル実行パラメータの設定を行い、処理を終了する。（Ｓ４０５）
【０１２８】
ＧＰＵ１２１における超並列処理の分割数を調整することにより、ＧＰＵ１２１内の不要なスレッドの発生を防止することができる。
【０１２９】
［処理の流れ（処理領域限定情報の利用）］
図１４は、本技術の実施形態における処理の流れのうち、「処理領域限定情報の利用」処理の部分を示すフローチャートである。なお、処理領域限定情報を利用する構成として、映像処理プラグインプログラム２００（処理範囲特定部）は、再度処理を行う入力画像（第１の画像）のタイムコードおよびシーケンスＩＤ（識別情報）に紐づけられた処理領域限定情報（領域情報）をもとに当該入力画像（第１の画像）における処理対象の領域を限定（特定）する構成とすることもできる。
【０１３０】
まず、映像処理プラグインプログラム２００は、現在作業を行っている画像のタイムコードおよびシーケンスＩＤを取得する。（Ｓ３０１）
【０１３１】
次に、映像処理プラグインプログラム２００は、取得したタイムコードおよびシーケンスＩＤを用いて、エフェクト処理制御テーブル２４３を参照する。（Ｓ３０２）
【０１３２】
次に、映像処理プラグインプログラム２００は、参照結果に基づき、エフェクト処理制御テーブル２４３が空であるか否かを判断する。（Ｓ３０３）
【０１３３】
エフェクト処理制御テーブル２４３が空であると判断された場合、映像処理プラグインプログラム２００は、Ｓ３０４の処理に進み、エフェクト処理制御テーブル２４３が空ではないと判断された場合、Ｓ３０７の処理に進む。
【０１３４】
Ｓ３０３においてエフェクト処理制御テーブル２４３が空であると判断された場合、次に、映像処理プラグインプログラム２００は、取得したタイムコードおよびシーケンスＩＤと同一のタイムコードおよびシーケンスＩＤに紐づけられた処理領域限定情報が、エフェクト処理制御テーブル２４３に存在するか否かを判断する。（Ｓ３０４）
【０１３５】
取得したタイムコードおよびシーケンスＩＤと同一のタイムコードおよびシーケンスＩＤに紐づけられた処理領域限定情報が存在する場合、映像処理プラグインプログラム２００は、Ｓ３０５の処理に進み、存在しない場合、Ｓ３０６の処理に進む。
【０１３６】
Ｓ３０４において取得したタイムコードおよびシーケンスＩＤと同一のタイムコードおよびシーケンスＩＤに紐づけられた処理領域限定情報が存在すると判断された場合、次に、映像処理プラグインプログラム２００は、エフェクト処理制御テーブル２４３に存在する、その処理領域限定情報を利用して、以降のエフェクト処理を行う。（Ｓ３０５）
【０１３７】
Ｓ３０４において取得したタイムコードおよびシーケンスＩＤと同一のタイムコードおよびシーケンスＩＤに紐づけられた処理領域限定情報が存在しないと判断された場合、次に、映像処理プラグインプログラム２００は、処理領域限定情報の補間を行い、以降のエフェクト処理を行う。（Ｓ３０６）
【０１３８】
処理領域限定情報を補間する方法としては、現在処理している画像であるフレームの前後のフレームに紐づけられた処理領域限定情報を利用してもよいし、現在のフレームより過去のフレームに紐づけられた処理領域限定情報のみを利用してもよい。すなわち、映像処理プラグインプログラム２００（処理範囲特定部）は、再度処理を行う入力画像（第１の画像）のタイムコード（時刻情報）がエフェクト処理制御テーブル２４３（記憶部）に記憶されていない場合、当該タイムコード（時刻情報）に最も近いタイムコード（時刻情報）に紐づけられた処理領域限定情報（領域情報）をもとに当該入力画像（第１の画像）における処理対象の領域を限定（特定）する。
【０１３９】
Ｓ３０３においてエフェクト処理制御テーブル２４３が空であると判断された場合、映像処理プラグインプログラム２００は、次に、エフェクト処理制御テーブル２４３に新規登録するエフェクト処理制御パラメータを作成するか否かを判断する。（Ｓ３０７）
【０１４０】
エフェクト処理制御テーブル２４３に新規登録するエフェクト処理制御パラメータを作成しない場合は、Ｓ３０８の処理に進み、作成する場合は、Ｓ２００の処理に進む。エフェクト処理制御テーブル２４３に新規登録するエフェクト処理制御パラメータを作成するか否かの判断は、エフェクト処理の内容に基づいて判断されてもよいし、ユーザの指定に基づいて判断されてもよい。
【０１４１】
Ｓ３０７においてエフェクト処理制御テーブル２４３に新規登録するエフェクト処理制御パラメータを作成しないと判断された場合、次に、映像処理プラグインプログラム２００は、デフォルト値の処理領域限定情報を、利用する処理領域限定情報として、以降のエフェクト処理に用いる。（Ｓ３０８）
【０１４２】
デフォルト値の処理領域限定情報とは、例えば、画像全体を均等に処理することなどである。
【０１４３】
Ｓ３０７においてエフェクト処理制御テーブル２４３に新規登録するエフェクト処理制御パラメータを作成すると判断された場合、次に、映像処理プラグインプログラム２００は、「処理領域限定情報の新規登録／更新」処理を行う。（Ｓ２００）
【０１４４】
ここで行う「処理領域限定情報の新規登録／更新」処理は、上述のものと同一である。
【０１４５】
次に、映像処理プラグインプログラム２００は、「処理領域限定情報の新規登録／更新」処理によって得られた処理領域限定情報を利用する処理領域限定情報として、以降のエフェクト処理を行う。（Ｓ３０９）
【０１４６】
［従来技術との相違点について］
従来は、映像編集装置を操作する際の体感速度を上げるため、プロキシ画に対してエフェクト処理を施したものをプレビューしながら作業を行い、実解像度（フルレゾ）での最終的なエフェクト効果の確認については、一旦メモリ上にエフェクト処理結果をレンダリングした上でプレビューを行っていた。
【０１４７】
すなわち、実解像度の映像に対してエフェクト処理を行った結果をリアルタイムにプレビューするためには、メモリ上に一旦レンダリングを行う必要があり、膨大な時間を要していた。
【０１４８】
メモリ上にレンダリングを行うためには、動画シーケンス分のメモリ容量が必要であり、素材映像の解像度が大きくなると、レンダリング可能な尺の長さが短くなる（長尺の動画シーケンスのレンダリングが出来ない）という問題があった。
【０１４９】
また、プロキシ画とフルレゾ画では、プレビューするエフェクト処理結果に差異があるという問題点もあった。
また、エフェクト処理のエフェクトパラメータを一部でも変更すると、エフェクト処理の反映される動画シーケンス部分の再レンダリングが必要となってしまったり、エフェクト処理の反映される動画シーケンス部分はプロキシ画でのプレビューとなってしまったりする問題があった。
【０１５０】
エフェクト処理におけるエフェクトパラメータの変更が動画シーケンスや他のエフェクト処理に及ぼす影響は、変更されたエフェクトパラメータの内容やエフェクト処理の内容により異なる。そのため、本来ならば再レンダリングする必要のないエフェクト処理に関しても最終的なエフェクト効果の確認のたびに再レンダリング処理が発生し、プレビューするまでに膨大な時間を要する場合があった。
【０１５１】
本技術では、エフェクト処理を行う時間が短縮されるので、動画のプレビューに際し、これまでのように、メモリ上へエフェクト処理の結果を一旦レンダリングする必要がない。そのため、エフェクトパラメータを変更した際にも、再レンダリングを行う必要が無い。また、実解像度でのエフェクト処理の結果をプレビューすることができる。
【０１５２】
［本技術の他の構成］
なお、本技術は以下のような構成も採ることができる。
（１）識別情報を有する画像を入力する画像入力部と、前記入力された画像の処理を行う画像処理部と、前記入力された画像を第１の画像、前記画像処理部より出力された画像を第２の画像として、前記第１の画像と前記第２の画像とを比較して前記処理が行われた領域を検出する検出部と、前記検出された領域を示す領域情報を生成する領域情報生成部と、前記生成された領域情報と前記第１の画像の識別情報とを紐づけて記憶する記憶部と、前記記憶部に記憶された情報をもとに、前記第１の画像に対して前記画像処理部にて再度処理を行う場合の当該第１の画像における処理対象の領域を特定する処理範囲特定部とを具備する情報処理装置。
（２）前記（１）に記載の情報処理装置であって、前記画像処理部は、前記第１の画像に対してユーザより指定された範囲を少なくとも含む条件に従って処理を行う情報処理装置。
（３）前記（１）または（２）に記載の情報処理装置であって、前記処理範囲特定部は、再度処理を行う前記第１の画像の前記識別情報に紐づけられた前記領域情報をもとに当該第１の画像における処理対象の領域を特定する情報処理装置。
（４）前記（１）から（３）のうちいずれか１つに記載の情報処理装置であって、前記第１の画像は、時間軸に沿って連続的に変化する複数の画像の一つであり、前記識別情報は、前記第１の画像に対応する時間軸上の時刻情報である情報処理装置。
（５）前記（４）に記載の情報処理装置であって、請求項４に記載の情報処理装置であって、前記処理範囲特定部は、再度処理を行う前記第１の画像の前記時刻情報が前記記憶部に記憶されていない場合、当該時刻情報に最も近い時刻情報に紐づけられた前記領域情報をもとに当該第１の画像における処理対象の領域を特定する情報処理装置。
（６）前記（１）から（５）のうちいずれか１つに記載の情報処理装置であって、前記画像処理部は、グラフィックス・プロセッシング・ユニットであり、前記領域情報生成部は、前記グラフィックス・プロセッシング・ユニットの特性に基づいて前記領域情報の生成を行う情報処理装置。
（７）前記（６）に記載の情報処理装置であって、前記グラフィックス・プロセッシング・ユニットは、前記画像処理を複数の処理単位に分割して実行可能であり、前記領域情報生成部は、前記検出された領域を、前記グラフィックス・プロセッシング・ユニットによる画像処理の空間的な単位に分解する領域情報を生成する情報処理装置。
（８）情報処理装置内の画像入力部が、識別情報を有する画像を入力し、前記情報処理装置内の画像処理部が、前記入力された画像の処理を行い、前記情報処理装置内の検出部が、前記入力された画像を第１の画像、前記画像処理部より出力された画像を第２の画像として、前記第１の画像と前記第２の画像とを比較して前記処理が行われた領域を検出し、前記情報処理装置内の領域情報生成部が、前記検出された領域を示す領域情報を生成し、前記情報処理装置内の記憶部が、前記生成された領域情報と前記第１の画像の識別情報とを紐づけて記憶し、前記情報処理装置内の処理範囲特定部が、前記記憶部に記憶された情報をもとに、前記第１の画像に対して前記画像処理部にて再度処理を行う場合の当該第１の画像における処理対象の領域を特定する情報処理方法。
【符号の説明】
【０１５３】
１０…情報処理装置
１１…ＣＰＵ部
１２…ＧＰＵ部
１７…バス
１８…操作入力装置
１９…表示装置
１１１…ＣＰＵ
１１２…ＣＰＵメモリ
１２１…ＧＰＵ
１２２…ＧＰＵメモリ
２００…映像処理プラグインプログラム
２１０…入力バッファ
２２０…エフェクト処理部
２３０…出力バッファ
２４０…処理領域決定部
２４１…差分検出部
２４２…処理領域限定情報抽出部
２４３…エフェクト処理制御テーブル
【図１】
2013225756.tif 000003
【図２】
2013225756.tif 000004
【図３】
2013225756.tif 000005
【図４ａ】
2013225756.tif 000006
【図４ｂ】
2013225756.tif 000007
【図４ｃ】
2013225756.tif 000008
【図４ｄ】
2013225756.tif 000009
【図５ａ】
2013225756.tif 000010
【図５ｂ】
2013225756.tif 000011
【図５ｃ】
2013225756.tif 000012
【図５ｄ】
2013225756.tif 000013
【図６ａ】
2013225756.tif 000014
【図６ｂ】
2013225756.tif 000015
【図６ｃ】
2013225756.tif 000016
【図６ｄ】
2013225756.tif 000017
【図７】
2013225756.tif 000018
【図８】
2013225756.tif 000019
【図９】
2013225756.tif 000020
【図１０】
2013225756.tif 000021
【図１１】
2013225756.tif 000022
【図１２】
2013225756.tif 000023
【図１３ａ】
2013225756.tif 000024
【図１３ｂ】
2013225756.tif 000025
【図１３ｃ】
2013225756.tif 000026
【図１４】
2013225756.tif 000027