(57)【要約】【課題】動画データ対して画像処理を行いつつ再生を行う際、ユーザが体感する再生画像データの品質を向上させる。【解決手段】ＰＣ１００は、動画データについて所定の画像処理を行って表示部１７０に表示する再生処理を行う。ＧＰＵ１２０の処理速度はＣＰＵ１１０の処理速度よりも速く、ＣＰＵおよびＧＰＵは動画データを構成するフレーム画像の各々について画像処理を行う。ＣＰＵはユーザ指示応じてフレーム画像の一部の領域を選択領域として選択し、当該選択領域についてＧＰＵによって画像処理を行う。そして、ＣＰＵは選択領域以外の領域について画像処理を行う。【選択図】図１
2018032147.tif 000002
【特許請求の範囲】
【請求項１】
動画データについて所定の画像処理を行って表示部に表示する再生処理を行う情報処理装置であって、
前記動画データを構成するフレーム画像の各々について前記画像処理を行う第１の画像処理手段および第２の画像処理手段と、
前記フレーム画像の一部の領域を選択領域として選択する選択手段と、
前記選択領域について前記第１の画像処理手段によって前記画像処理を行い、前記選択領域以外の領域について前記第２の画像処理手段によって前記画像処理を行うように制御する制御手段と、を有し、
前記第１の画像処理手段の処理速度は前記第２の画像処理手段の処理速度よりも速いことを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記表示部に前記動画データを再生処理した結果を表示するプレビューエリアを表示するとともに、前記選択手段によって前記選択領域を選択するための選択枠を前記プレビューエリアで移動可能に表示し、
前記選択手段は前記選択枠を前記プレビューエリアで移動させて前記選択枠によって決定された領域を選択領域とすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記表示部に表示された枠表示チェックがオンであると、前記選択枠を前記プレビューエリアに表示することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記制御手段は、複数の動画データから１つが選択されると、当該選択された動画データについてその先頭に位置するフレーム画像の全体について前記第１の画像処理手段による画像処理を行って前記プレビューエリアに表示する一枚プレビュー処理を行うことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
再生ボタンが操作された際に、前記枠表示チェックがオンであると、前記制御手段は、前記第１の画像処理手段によって前記選択領域について画像処理を行い、前記第２の画像処理手段によって前記選択領域以外の領域について画像処理を行って、予め設定された時間間隔で前記プレビューエリアに表示される画像を更新する連続プレビュー処理を行うことを特徴とする請求項３に記載の情報処理装置。
【請求項６】
再生ボタンが操作された際に、前記枠表示チェックがオフであると、前記制御手段は、前記第１の画像処理手段によって前記フレーム画像の全体について画像処理を行って、予め設定された時間間隔で前記プレビューエリアに表示される画像を更新する連続プレビュー処理を行うことを特徴とする請求項３又は５に記載の情報処理装置。
【請求項７】
前記再生ボタンの操作が行われず、かつ前記枠表示チェックがオンで前記選択領域の選択が行われると、前記制御手段は、前記プレビューエリアに表示されたフレーム画像の全体について前記第１の処理手段による画像処理を行うことを特徴とする請求項５又は６に記載の情報処理装置。
【請求項８】
前記制御手段は、前記第１の画像処理手段および前記第２の画像処理手段による画像処理で得られた出力フレーム画像を表示部に表示しており、
前記表示部に表示される前記出力フレーム画像を更新する際に、前記第２の画像処理手段による画像処理が完了していないと、当該画像処理が行われているフレーム画像の次のフレーム画像に係る前記第２の画像処理手段による画像処理をスキップすることを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記制御手段は、前記第１の画像処理手段および前記第２の画像処理手段による画像処理で得られた出力フレーム画像を表示部に表示しており、
前記制御手段は、前記第１の画像処理手段による画像処理に要する第１の処理時間と前記第２の画像処理手段による画像処理に要する第２の処理時間を取得して、前記第１の処理時間、前記第２の処理時間、および前記出力フレーム画像の表示を更新する時間間隔に応じて前記第１の画像処理手段および前記第２の画像処理手段でそれぞれ画像処理すべきフレーム画像を処理対象フレームとして決定することを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
前記第１の画像処理手段として１つのＧＰＵを用い、
前記制御手段および前記第２の画像処理手段として１つのＣＰＵを用いることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記第１の画像処理手段および前記第２の画像処理手段としてそれぞれ第１のＧＰＵおよび第２のＧＰＵを用い、
前記制御手段としてＣＰＵを用いることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１２】
動画データを構成するフレーム画像の各々について所定の画像処理を行う第１の画像処理手段および第２の画像処理手段を備え、前記第１の画像処理手段の処理速度は前記第２の画像処理手段の処理速度よりも速く、前記動画データについて前記画像処理を行って表示部に表示する再生処理を行う情報処理装置の制御方法であって、
前記フレーム画像の一部の領域を選択領域として選択する選択ステップと、
前記選択領域について前記第１の画像処理手段による前記画像処理を行い、前記選択領域以外の領域について前記第２の画像処理手段による画像処理を行う制御ステップと、
を有することを特徴とする制御方法。
【請求項１３】
動画データを構成するフレーム画像の各々について所定の画像処理を行う第１の画像処理手段および第２の画像処理手段を備え、前記第１の画像処理手段の処理速度は前記第２の画像処理手段の処理速度よりも速く、前記動画データについて前記画像処理を行って表示部に表示する再生処理を行う情報処理装置で用いられる制御プログラムであって、
前記情報処理装置が備えるコンピュータに、
前記フレーム画像の一部の領域を選択領域として選択する選択ステップと、
前記選択領域について前記第１の画像処理手段による前記画像処理を行い、前記選択領域以外の領域について前記第２の画像処理手段による画像処理を行う制御ステップと、
を実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法、および制御プログラムに関し、特に、画像領域毎に画像処理を行う情報処理装置に関する。
【背景技術】
【０００２】
近年、動画像データにおいてその解像度およびフレームレートが増大する傾向にある。データ量の大きい動画像データについてデモザイクなどの画像処理を施しつつリアルタイムに再生を行うためには、画質を落としてその処理量を削減するか又は処理能力の高い演算装置を用いる必要がある。
【０００３】
近年、ＰＣにおいては、ＣＰＵとＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を搭載したマルチプロセッサシステムが主流となっている。そして、このようなＰＣでは、これらのプロセッサを有効に使い分けることによって効率よく処理を行うようにしている。
【０００４】
例えば、ヘテロジニアスなマルチプロセッサシステムにおいて、動画像データのデコード処理およびグラフィックス処理など複数の処理を行うようにしたものがある（特許文献１参照）。ここでは、各処理を最も高速に行うことが可能なプロセッサを用いて処理の効率を向上させるようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１‐２１０２８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１においては、処理内容によってプロセッサを切り替えることによって効率化を図っているが、１つのプロセッサが動画像データ全体の処理を担当するので、データ量が増大するに伴って処理速度は低下し、スムーズな動画像再生が困難となる。
【０００７】
さらに、映像制作のワークフローにおいては、高解像度で撮影した動画像データの一部のみを使用することがある。この際には、ユーザはアプリケーションによって動画像データ全体を確認しつつ、ワークフローの後段で使用する領域を選択することになる。このとき、使用する領域とそれ以外の領域ではその注目度（つまり、重要度）が異なっているため、使用する領域においてのみ高速に処理を行うことで、ユーザが体感する再生品質を向上させることができる。しかし、特許文献１に記載の情報処理装置では、動画像データの一部のみについて処理速度を向上させることが困難である。
【０００８】
そこで、本発明の目的は、動画像データ対して画像処理を行いつつ再生を行う際、ユーザが体感する再生画像データの品質を向上させることのできる情報処理装置、その制御方法、および制御プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記の目的を達成するため、本発明による情報処理装置は、動画データについて所定の画像処理を行って表示部に表示する再生処理を行う情報処理装置であって、前記動画データを構成するフレーム画像の各々について前記画像処理を行う第１の画像処理手段および第２の画像処理手段と、前記フレーム画像の一部の領域を選択領域として選択する選択手段と、前記選択領域について前記第１の画像処理手段によって前記画像処理を行い、前記選択領域以外の領域について前記第２の画像処理手段によって前記画像処理を行うように制御する制御手段と、を有し、前記第１の画像処理手段の処理速度は前記第２の画像処理手段の処理速度よりも速いことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、動画像データ対して画像処理を行いつつ再生を行う際、ユーザが注目する選択領域について高速に画像処理を行う。これによって、ユーザが体感する再生画像データの品質を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態による情報処理装置の一例についてその構成を示すブロック図である。
【図２】図１に示す表示部に表示されるＧＵＩ画面の一例を示す図である。
【図３】図１に示す記録媒体に格納された動画データの構造についてその一例を説明するための図である。
【図４】図１に示すＣＰＵで生成される画像処理コマンドの一例を説明するための図である。
【図５】図１に示すＰＣで行われる動画再生処理を説明するためのフローチャートである。
【図６】図５に示すプレビュー処理を説明するためのフローチャートである。
【図７】図６に示すＧＰＵ処理およびＣＰＵ処理を説明するためのフローチャートである。
【図８】図６（ｂ）に示す連続プレビュー処理における画面更新および画像処理開始のタイミングと入力および出力フレーム画像との関係を説明するための図である。
【図９】本発明の第２の実施形態によるＰＣで行われる動画再生処理を説明するためのフローチャートである。
【図１０】図９に示す連続プレビュー処理を説明するためのフローチャートである。
【図１１】図１０に示す連続プレビュー処理における画面更新および画像処理開始のタイミングと入力および出力フレーム画像との関係を説明するための図である。
【図１２】本発明の第３の実施形態によるＰＣの一例についてその構成を示すブロック図である。
【図１３】図１２に示すＰＣで行われる動画再生処理を説明するためのフローチャートである。
【図１４】図１３に示す連続プレビュー処理を説明するためのフローチャートである。
【図１５】図１４で説明した選択領域データを説明するための図である。
【発明を実施するための形態】
【００１２】
以下に、本発明の実施の形態による情報処理装置の一例について図面を参照して説明する。
【００１３】
［第１の実施形態］
図１は、本発明の第１の実施形態による情報処理装置の一例についてその構成を示すブロック図である。
【００１４】
なお、以下の説明では、情報処理装置としてＰＣを例に挙げて、当該ＰＣがＣＰＵおよびＧＰＵをそれぞれ一つ備える場合について説明する。ＰＣは入力動画データの一部の領域（選択領域）についてはＧＰＵによって画像処理を行う。一方、残りの他の領域についてはＣＰＵによって画像処理を行う。そして、ＰＣは画像処理の結果である出力画像データ（出力フレーム）を所定の時間間隔で連続して表示する。
【００１５】
なお、ここでは、ユーザは動画像の再生開始前又は一時停止の場合にのみ選択領域の変更が可能であり、フレーム毎の選択領域に係る情報は保存されない。また、ＧＰＵおよびＣＰＵで行われる画像処理の内容およびその際に用いられるパラメータは同一である。
【００１６】
ＰＣ１００はＣＰＵ１１０を有しており、ＣＰＵ１１０はＰＣ１００の全体を制御するととともに、ＣＰＵ１１０が生成した画像処理コマンドを実行して出力画像データを出力する。また、ＧＰＵ１２０は、ＣＰＵ１１０によって生成された画像処理コマンドを実行して出力画像データを出力する。
【００１７】
ＲＡＭ１３０には、外部から供給されるプログラムおよびデータ（画像データを含む）が一時記憶される。また、ＲＡＭ１３０はプログラムの実行に伴って出力されるデータの一時的な格納領域として用いられる。ＲＯＭ１４０には、プログラムおよびパラメータが格納される。図示の例では、アプリケーションなどＣＰＵ１１０によって実行されるソフトウェアのプログラムコード、アプリケーションの動作に必要なパラメータなどがＲＯＭ１４０に格納される。なお、ここでは、ＲＯＭ１４０はフラッシュＲＯＭであって、制御プログラムの書き換えが可能である。
【００１８】
記録媒体１５０には画像データなどのデータが記録される。記録媒体１５０として、例えば、ＰＣ自体に備えられた内蔵メモリ、ＰＣに着脱可能なメモリカード、ＨＤＤ、ＣＤ−ＲＯＭ、ＭＯディスク、光ディスク、又は光磁気ディスクが用いられる。なお、記録媒体１５０には、動画像データなどのデータがファイルとして格納されている。
【００１９】
操作部１６０は、キーボードおよびマウスなどを有している。操作部１６０の操作によって入出力データの指定、プログラムの変更、そして、画像処理の実行又は中止などを行うことができる。
【００２０】
表示部１７０は、例えば、液晶ディスプレイであり、表示部１７０には、ＧＵＩ（グラフィックユーザインタフェース）画面が表示されるとともに、画像処理の結果などが表示される。図示のように、ＰＣ１００の各ブロックは内部バス１８０によって相互に接続されており、内部バス１８０を介して制御信号およびデータが送受される。
【００２１】
図２は、図１に示す表示部に表示されるＧＵＩ画面の一例を示す図である。なお、図示のＧＵＩ画面は、例えば、ＣＰＵ１１０によって表示される。
【００２２】
ＧＵＩ画面には、動画データ一覧表示エリア２１０が表示される。動画データ一覧表示エリア２１０には記録媒体１５０から読み込まれた動画データの一覧が階層表示される。そして、動画データ一覧表示エリア２１０においては各動画データがアイコン２１１で表示される。ユーザはアイコン２１１をクリックすることによって、画像処理の対象となる入力動画データを選択することができる。
【００２３】
プレビューエリア２２０には、ユーザによって選択された入力動画データを画像処理した結果である出力画像データに応じた画像が再生表示される。再生コントロール部２３０は、ユーザが再生制御を行う際に用いられる。ユーザは再生コントロール部２３０に備えられた再生ボタンおよび停止ボタンをクリックすることによって、それぞれ画像処理の開始および中止を指示することができる。
【００２４】
シークバー部２４０は、入力動画データの現在の再生位置を示す。アイコン２４１および２４２は、それぞれ入力動画データの再生の開始位置および終了位置を示す。ユーザはドラッグ＆ドロップによって、再生開始位置および終了位置を変更することができる。選択領域枠（選択枠）２５０は、プレビューエリア２２０においてユーザによって選択された領域の境界を示す。
【００２５】
選択領域枠表示モードチェックボックス（以下単にチェックボックスと呼ぶ）２６０は、ユーザが選択領域枠２５０をプレビューエリア２２０に表示するか否かを選択する際に用いられる。選択領域枠情報表示エリア（以下単に枠表示エリアと呼ぶ）２６１には、選択領域の水平方向の位置、垂直方向の位置、幅、および高さが表示される。
【００２６】
さらに、図示はしないが、表示部１７０には動画再生の際に画像処理を行うためのパラメータコントロール部が表示される。なお、ここでは、画像処理とは、例えば、明るさ調整、色温度調整、および色域変換などの処理をいう。
【００２７】
チェックボックス２６０がチェック状態であると、ＣＰＵ１１０はプレビューエリア２２０に選択領域枠２５０を表示し、さらに、枠表示エリア２６１に選択領域情報を表示する。チェックボックス２６０が未チェック状態であると、ＣＰＵ１１０は選択領域枠２５０を表示せず、さらに、枠表示エリア２６１に選択領域情報も表示しない。
【００２８】
図示の例では、選択領域は矩形であって、プレビューエリア２２０でマウスポインタ２５１のドラッグ＆ドロップ操作の始点と終点とを対角線とする矩形を選択領域とする。また、枠表示エリア２６１に数値（例えば、座標）を入力することによって選択領域を決定するようにしてもよい。
【００２９】
既に選択領域が設定されている場合には、選択領域枠２５０の内部を起点としてマウスポインタ２５１をドラッグ＆ドロップ操作することによって選択領域の位置を変更することができる。つまり、選択領域枠２５０は移動可能に表示され、ユーザ操作によって選択領域枠２５０は移動する。さらに、選択領域枠２５０のいずれかの頂点を起点としてマウスポインタ２５１をドラッグ＆ドロップ操作することによって選択領域のサイズを変更することができる。
【００３０】
図３は、図１に示す記録媒体に格納された動画データの構造についてその一例を説明するための図である。
【００３１】
動画データ３００は、ヘッダ部３０１を有しており、ヘッダ部３０１には動画の属性情報が記録される。例えば、属性情報として、クリップ名、撮影日時情報、タイムコード、動画を構成するフレーム画像の画像サイズ、フレームレート、カメラ機種名、色温度、絞り値、ＩＳＯ感度、およびその他の付加情報がある。
【００３２】
フレーム画像データ部３０２には、動画を構成するフレーム画像（画像データ）１〜Ｎが撮影されたタイミングが早い順に記録される。なお、Ｎは２以上の整数である。ここでは、フレーム画像はＲＡＷ画像とするが、ＪＰＥＧ形式などの圧縮された画像であってもよい。
【００３３】
図４は、図１に示すＣＰＵで生成される画像処理コマンドの一例を説明するための図である。
【００３４】
画像処理コマンドはコマンド情報４０１を有しており、コマンド情報４０１には、プロセッサ設定情報、コマンド種類、実行条件、実行パラメータ、およびその他の付加情報が含まれている。プロセッサ設定情報はＣＰＵ１１０およびＧＰＵ１２０のいずれにおいてコマンドを実行するかを指定する情報である。コマンド種類には、データ転送コマンドおよび画像処理実行コマンドがある。
【００３５】
コマンド種類がデータ転送コマンド４０２である場合には、当該データ転送コマンド４０２には入力データの先頭アドレス、入力データのサイズ、およびデータの出力先の先頭アドレスなどが含まれる。コマンド種類が画像処理実行コマンド４０３である場合には、当該画像処理実行コマンド４０３には画像処理の内容およびプロセッサを制御するための制御パラメータなどが含まれる。
【００３６】
画像処理の内容には、例えば、ＲＡＷ画像の現像処理、圧縮された画像のデコード処理、および色調整処理などが含まれる。なお、ＣＰＵ１１０およびＧＰＵ１２０の各々は、画像処理コマンドの実行条件を満たすタイミングで画像処理コマンドに応じた処理を行う。
【００３７】
図５は、図１に示すＰＣで行われる動画再生処理を説明するためのフローチャートである。
【００３８】
なお、ここでは、ＧＰＵ１２０はＣＰＵ１１０より高い性能を有している。このため、同一の画像データについて同一の画像処理を同時に開始した場合には、ＧＰＵ１２０はＰＵ１１０よりも早く処理を完了することができる。また、図示のフローチャートに係る処理を行うためのプログラムはＲＯＭ１４０に記録されているものとする。当該プログラムは記録媒体１５０に記録されていてもよく、さらには、ネットワーク上にプログラムが存在してもよい。
【００３９】
動画再生処理を開始すると、ＣＰＵ１１０は、ＰＣ１００に搭載され画像処理を実行可能なプロセッサ情報を取得する（ステップＳ５０１）。ここでは、ＣＰＵ１１０はプロセッサとしてプロセッサ種類を取得するものとし、ＣＰＵ１１０およびＧＰＵ１２０に関するプロセッサ情報を取得する。
【００４０】
続いて、ＣＰＵ１１０は、ＧＵＩを用いてユーザ操作があったか否かを判定する（ステップＳ５０２）。ユーザ操作がないと（ステップＳ５０２において、ＮＯ）、ＣＰＵ１１０は待機する。ユーザ操作があると（ステップＳ５０２において、ＹＥＳ）、ＣＰＵ１１０はユーザによって入力動画データが選択されたか否かを判定する（ステップＳ５０３）。
【００４１】
入力動画データが選択されると（ステップＳ５０３において、ＹＥＳ）、ＣＰＵ１１０は記録媒体１５０からユーザによって選択された入力動画データを取得する（ステップＳ５０４）。そして、ＣＰＵ１１０は当該入力動画データから先頭フレーム画像（先頭フレーム）を読み込み（ステップＳ５０５）、ＲＡＭ１３０に確保した入力フレーム画像領域に先頭フレームを書き込む。
【００４２】
続いて、ＣＰＵ１１０は先頭フレーム画像について、後述する一枚プレビュー処理を行う（ステップＳ５０６）。その後、ＣＰＵ１１０はステップＳ５０２の処理に戻る。
【００４３】
入力動画データが選択されないと（ステップＳ５０３において、ＮＯ）、ＣＰＵ１１０はユーザによって再生コントロール部２３０に備えられた再生ボタンが押されたか否かを判定する（ステップＳ５０７）。
【００４４】
再生ボタンが押されると（ステップＳ５０７において、ＹＥＳ）、ＣＰＵ１１０は現在プレビューエリア２２０に表示されているフレーム画像を読み込む（ステップＳ５０８）。そして、ＣＰＵ１１０は、当該フレーム画像をＲＡＭ１３０に確保した入力フレーム画像領域に書き込む。続いて、ＣＰＵ１１０は、ステップＳ５０８において取得したフレーム画像について、後述する連続プレビュー処理を行う（ステップＳ５０９）。
【００４５】
次に、ＣＰＵ１１０はステップＳ５０８で取得したフレーム画像が入力動画データの最終フレームであるか否かを判定する（ステップＳ５１０）。最終フレームであると（ステップＳ５１０において、ＹＥＳ）、ＣＰＵ１１０はステップＳ５０２の処理に戻る。一方、最終フレームでないと（ステップＳ５１０において、ＮＯ）、ＣＰＵ１１０はユーザによって再生コントロール部２３０に備えられた一時停止ボタンが押されたか否かを判定する（ステップＳ５１１）。
【００４６】
一時停止ボタンが押されると（ステップＳ５１１において、ＹＥＳ）、ＣＰＵ１１０はステップＳ５０２の処理に戻る。一方、一時停止ボタンが押されないと（ステップＳ５１１において、ＮＯ）、ＣＰＵ１１０はステップＳ５０８の処理に戻って現在プレビューエリア２２０に表示されているフレーム画像に連続する次の画像フレームを読み込む。
【００４７】
再生ボタンが押されないと（ステップＳ５０７において、ＮＯ）、ＣＰＵ１１０はチェックボックス２６０がチェック状態で、かつユーザによって選択領域の選択又は変更が行われたか否かを判定する（ステップＳ５１２）。チェックボックス２６０が未チェック状態であるか又は選択領域の選択などが行われないと（ステップＳ５１２において、ＮＯ）、ＣＰＵ１１０はチェックボックス２６０の状態が変更されたか否かを判定する（ステップＳ５１３）。
【００４８】
チェックボックス２６０の状態が変更されないと（ステップＳ５１３において、ＮＯ）、ＣＰＵ１１０はアプリケーション終了操作が行われたか否かを判定する（ステップＳ５１４）。アプリケーション終了操作が行われないと（ステップＳ５１４において、ＮＯ）、ＣＰＵ１１０はステップＳ５０２の処理に戻る。一方、アプリケーション終了操作が行われると（ステップＳ５１４において、ＹＥＳ）、ＣＰＵ１１０は動画再生処理を終了する。
【００４９】
チェックボックス２６０がチェック状態でかつ選択領域の選択又は変更が行われると（ステップＳ５１２において、ＹＥＳ）、ＣＰＵ１１０は選択領域の選択又は変更操作に応じて選択領域を設定する（ステップＳ５１５）。そして、ＣＰＵ１１０は現在プレビューエリア２２０に表示されているフレーム画像を読み込んで（ステップＳ５１６）、当該フレーム画像をＲＡＭ１３０に確保した入力フレーム画像領域に書き込む。
【００５０】
続いて、ＣＰＵ１１０は、ステップＳ５１６で取得したフレーム画像について、後縦する一枚プレビュー処理を行う（ステップＳ５１７）。その後、ＣＰＵ１１０はステップＳ５０２の処理に戻る。
【００５１】
なお、動画再生処理開始の後、最初にステップＳ５０４で入力動画データが取得されるまで、ＣＰＵ１１０は再生コントロール部２３０およびモードチェックボックス２６０などをグレーアウトするようにしてもよい。この際には、ＣＰＵ１１０はステップＳ５０７〜Ｓ５１３の処理においてその判定を偽とする。さらには、動画データ一覧表示エリア２１０に表示された動画データのうち表示位置、クリップ名、および撮影日時などによる順番が先頭又は末尾になる動画データを予め初期の入力動画データとして選択するようにしてもよい。また、前回画像処理の対象とした動画データなどを予め初期の入力動画データとして選択するようにしてもよい。
【００５２】
加えて、動画再生処理の開始後、初めてチェックボックス２６０がチェック状態にされた場合には、ＣＰＵ１１０は選択領域の選択を促すメッセージを表示部１７０に表示して再生コントロール部２３０を無効とする。この際には、選択領域を所定の初期値に応じて設定するようにしてもよい。さらには、入力動画データ毎に最後に選択された選択領域情報をＲＡＭ１３０又は記録媒体１５０に保存するようにしてもよい。そして、１つの入力動画データが２回目以降に選択された場合には、保存された選択領域情報を読み込んで初期値とするようにしてもよい。
【００５３】
図６は、図５に示すプレビュー処理を説明するためのフローチャートである。そして、図６（ａ）は一枚プレビュー処理を説明するためのフローチャートであり、図６（ｂ）は連続プレビュー処理を説明するためのフローチャートである。
【００５４】
まず、図６（ａ）を参照して、一枚プレビュー処理を開始すると、ＣＰＵ１１０は、図５で説明したステップＳ５０５又はＳ５１６でＲＡＭ１３０に書き込んだフレーム画像の全体についてＧＰＵ１２０によるＧＰＵ処理を開始する（ステップＳ６０１）。このＧＰＵ処理については後述する。
【００５５】
続いて、ＣＰＵ１１０は、ＧＰＵ処理が完了したか否かを判定する（ステップＳ６０２）。ＧＰＵ処理が完了しないと（ステップＳ６０２において、ＮＯ）、ＣＰＵ１１０は待機する。一方、ＧＰＵ処理が完了すると（ステップＳ６０２において、ＹＥＳ）、ＣＰＵ１１０はＧＰＵ処理で得られた出力フレーム画像をプレビューエリア２２０に表示する（ステップＳ６０３）。そして、ＣＰＵ１１０は一枚プレビュー処理を終了する。
【００５６】
続いて、図６（ｂ）を参照して、連続プレビュー処理においては、ＣＰＵ１１０およびＧＰＵ１２０の一方又は双方が画像処理を行う。
【００５７】
連続プレビュー処理を開始すると、ＣＰＵ１１０はチェックボックス２６０がチェック状態であるか否か、つまり、枠表示チェックがＯＮ（オン）であるか否かを判定する（ステップＳ６１１）。枠表示チェックがＯＮであると（ステップＳ６１１において、ＹＥＳ）、ＣＰＵ１１０は、今までに連続プレビュー処理を行った際に開始したＧＰＵ処理（前回ＧＰＵ処理）が完了しているか否かを判定する（ステップＳ６１２）。
【００５８】
前回ＧＰＵ処理が完了していると（ステップＳ６１２において、ＹＥＳ）、ＣＰＵ１１０は、図５に示すステップＳ５０８においてＲＡＭ１３０に書き込んだフレーム画像の選択領域についてＧＰＵ１２０によるＧＰＵ処理を開始する（ステップＳ６１３）。このＧＰＵ処理については後述する。
【００５９】
続いて、ＣＰＵ１１０は今までに連続プレビュー処理を行った際に開始したＣＰＵ処理（前回ＣＰＵ処理）が完了したか否かを判定する（ステップＳ６１４）。なお、前回ＧＰＵ処理が完了していないと（ステップＳ６１２において、ＮＯ）、ＣＰＵ１１０はステップＳ６１４の処理に進む。
【００６０】
前回ＣＰＵ処理が完了すると（ステップＳ６１４において、ＹＥＳ）、ＣＰＵ１１０は、図５に示すステップＳ５０８においてＲＡＭ１３０に書き込んだフレーム画像において選択領域以外の領域についてＣＰＵ処理を開始する（ステップＳ６１５）。このＣＰＵ処理については後述する。なお、ステップＳ６１４およびＳ６１５の処理をステップＳ６１２およびＳ６１３の処理よりも先に行うようにしてもよい。
【００６１】
続いて、ＣＰＵ１１０は、プレビューエリア２２０を更新すべき所定の時間が経過しているか否かを判定する。つまり、ＣＰＵ１１０は画面更新タイミングであるか否かを判定する（ステップＳ６１６）。画面更新タイミングでないと（ステップＳ６１６において、ＮＯ）、ＣＰＵ１１０は待機する。
【００６２】
一方、画面更新タイミングとなると（ステップＳ６１６において、ＹＥＳ）、ＣＰＵ１１０は、ＲＡＭ１３０に保存した出力フレーム画像をプレビューエリア２２０に表示する（ステップＳ６１７）。そして、ＣＰＵ１１０は、連続プレビュー処理を終了する。
【００６３】
枠表示チェックがＯＦＦ（オフ）であると（ステップＳ６１１において、ＮＯ）、ＣＰＵ１１０は前回ＧＰＵ処理が完了したか否かを判定する（ステップＳ６１８）。前回ＧＰＵ処理が完了すると（ステップＳ６１８において、ＹＥＳ）、ＣＰＵ１１０は、図５に示すステップＳ５０８においてＲＡＭ１３０に書き込んだ入力フレーム画像の全体についてＧＰＵ処理を開始する（ステップＳ６１９）。このＧＰＵ処理については後述する。
【００６４】
続いて、ＣＰＵ１１０は画面更新タイミングであるか否かを判定する（ステップＳ６２０）。画面更新タイミングでないと（ステップＳ６２０において、ＮＯ）、ＣＰＵ１１０は待機する。一方、画面更新タイミングとなると（ステップＳ６２０において、ＹＥＳ）、ＣＰＵ１１０はステップＳ６１７の処理に進む。なお、前回ＧＰＵ処理が完了しないと（ステップＳ６１８において、ＮＯ）、ＣＰＵ１１０はステップＳ６２０の処理に進む。
【００６５】
図７は、図６に示すＧＰＵ処理およびＣＰＵ処理を説明するためのフローチャートである。そして、図７（ａ）はＧＰＵ処理のフローチャートであり、図７（ｂ）はＣＰＵ処理のフローチャートである。
【００６６】
まず、図７（ａ）を参照して、ＧＰＵ処理を開始すると、ＣＰＵ１１０は、ＧＰＵ１２０が画像処理を担当する領域に係る画像データを、データ転送コマンドによってＧＰＵ１２０に転送する（ステップＳ７０１）。なお、担当する領域以外の画像データが画像処理において必要な場合には、必要とする領域の画像データも同様に転送される。
【００６７】
続いて、ＣＰＵ１１０は、画像処理実行コマンドによってＧＰＵ１２０に画像処理の実行開始を指示する（ステップＳ７０２）。そして、ＣＰＵ１１０は、ＧＰＵ１２０が担当する領域に係る画像処理が完了するまで待機する（ステップＳ７０３）。その後、つまり、ＧＰＵ１２０による画像処理が完了すると、ＣＰＵ１１０は、ＧＰＵ１２０の出力画像データを、データ転送コマンドによってＲＡＭ１３０に確保した領域に転送して出力画像データ（つまり、出力フレーム画像）を更新する（ステップＳ７０４）。そして、ＣＰＵ１１０はＧＰＵ処理を終了する。
【００６８】
続いて、図７（ｂ）を参照して、ＣＰＵ処理を開始すると、ＣＰＵ１１０は画像処理実行コマンドによって画像処理の実行を開始する（ステップＳ７１１）。そして、ＣＰＵ１１０は担当する領域に係る画像データについて画像処理が完了するまで待機する（ステップＳ７１２）。
【００６９】
続いて、画像処理が完了すると、ＣＰＵ１１０は出力画像データをＲＡＭ１３０に確保した領域にコピーして出力画像データ（つまり、出力フレーム画像）を更新する。そして、ＣＰＵ１１０はＣＰＵ処理を終了する。
【００７０】
図８は、図６（ｂ）に示す連続プレビュー処理における画面更新および画像処理開始のタイミングと入力および出力フレーム画像との関係を説明するための図である。
【００７１】
図８において、「入力」は、ＣＰＵ１１０が図５に示すステップＳ５０８においてＲＡＭ１３０に書き込んだ入力フレーム画像を示す。また、「ＧＰＵ１２０」は、ＧＰＵ１２０が画像処理の対象とする入力フレーム画像の領域を示す。さらに、「ＣＰＵ１１０」は、ＣＰＵ１１０が画像処理の対象とする入力フレーム画像の領域を示す。そして、「出力」は、ＧＰＵ１２０およびＣＰＵ１１０による画像処理の完了によって得られる出力フレーム画像を示す。
【００７２】
まず、１番目の入力フレーム画像”１”に対する画像処理を開始する。その後、図６（ｂ）で説明したステップＳ６１６において画面更新タイミングとなった時点で、ＧＰＵ１２０の処理は完了している。一方、ＣＰＵ１１０においては未だ処理を完了していない。
【００７３】
その結果、出力フレーム画像の選択領域は１番目の入力フレーム画像”１”の処理結果に応じて更新され、プレビューエリア２２０における選択領域の表示が更新される。選択領域以外の領域は更新されないので、プレビューエリア２２０における選択領域以外の領域の表示は変化しない。
【００７４】
２番目の入力フレーム画像”２”に対する画像処理を開始した際には、ＧＰＵ１２０は前回ＧＰＵ処理を完了している。よって、ＧＰＵ１２０は２番目の入力フレーム画像”２”について画像処理を開始する。一方、ＣＰＵ１１０は１番目の入力フレーム画像”１”に対する画像処理を続行する。
【００７５】
図６（ｂ）に示すステップＳ６１６において画面更新タイミングとなった時点で、ＧＰＵ１２０の処理は完了している。よって、出力フレーム画像の選択領域は２番目の入力フレーム画像”２”の処理結果に応じて更新されている。また、ＣＰＵ１１０の処理も完了しているので、出力フレーム画像の選択領域以外の領域は１番目の入力フレーム画像”１”の処理結果に応じて更新される。
【００７６】
以下同様にして、入力フレーム画像”３”〜”５”についても画像処理が行われることになる。
【００７７】
このようにして、画像処理の実行をスキップするか否かをプロセッサ毎に決定するようにしたので、ＣＰＵ１１０の処理を完了しているか否かに拘わらず、ＧＰＵ１２０の処理結果が画面更新に反映されることになる。
【００７８】
このように、本発明の第１の実施形態では、ユーザによって選択された選択領域についてはＧＰＵ１２０が画像処理を行う。一方、選択領域以外の領域についてはＣＰＵ１１０が画像処理を行う。この結果、ユーザが注目した選択領域について高速に画像処理を行って、ユーザが体感する画像の再生品質を向上することができる。
【００７９】
［第２の実施形態］
続いて、本発明の第２の実施形態によるＰＣの一例について説明する。なお、第２の実施形態によるＰＣの構成は図１に示すＰＣと同様であり、表示部に表示されるＧＵＩ画面は図２に示すＧＵＩ画面と同様である。また、記録媒体１５０に格納された入力動画データは図３に示す動画データと同様であり、ＣＰＵ１１０が生成する画像処理コマンドは図４に示す画像処理コマンドと同様である。
【００８０】
前述の第１の実施形態においては、ＧＰＵ１２０が入力動画データの一部の領域（選択領域）を画像処理し、ＣＰＵ１１０が選択領域以外の領域について画像処理を行う例について説明した。この際、ＧＰＵ１２０およびＣＰＵ１１０は同一のパラメータを用いて同一の画像処理を行って動画再生を行うようにした。一方、第２の実施形態では、ＣＰＵ１１０およびＧＰＵ１２０はそれぞれ異なるパラメータを用いて、互いに異なる画像処理を行って動画再生を行う。
【００８１】
さらに、第１の実施形態では、画像処理が完了していない領域についてプレビューエリア２２０の更新をスキップする例について説明した。一方、第２の実施形態では、後述するように、ＣＰＵ１１０およびＧＰＵ１２０の処理速度に応じていずれのフレーム画像について画像処理を行うかについて判定する判定処理を行う。
【００８２】
図９は、本発明の第２の実施形態によるＰＣで行われる動画再生処理を説明するためのフローチャートである。
【００８３】
なお、図９において、図５に示すフローチャートのステップと同一のステップについては同一の参照符号を付して説明を省略する。また、第２の実施形態においても、ＧＰＵ１２０はＣＰＵ１１０よりも高い性能を有している。その結果、同一の画像データについて同一の画像処理を同時に開始した場合には、ＧＰＵ１２０はＣＰＵ１１０よりも速く処理を完了することができる。
【００８４】
ステップＳ５０７において、再生ボタンが押されると（ステップＳ５０７において、ＹＥＳ）、ＣＰＵ１１０は後述する連続プレビュー処理を行う（ステップＳ９０１）。そして、連続プレビュー処理が終了すると、ＣＰＵ１１０はステップＳ５１０の処理に進む。
【００８５】
図１０は、図９に示す連続プレビュー処理を説明するためのフローチャートである。なお、連続プレビュー処理においては、ＣＰＵ１１０およびＧＰＵ１２０の一方又は双方が画像処理を行う。
【００８６】
連続プレビュー処理を開始すると、ＣＰＵ１１０はチェックボックス２６０がチェック状態であるか否か、つまり、枠表示チェックがＯＮであるか否かを判定する（ステップＳ１００１）。枠表示チェックがＯＮであると（ステップＳ１００１において、ＹＥＳ）、ＣＰＵ１１０は、入力動画データのＦ番目のフレームが先頭フレーム（Ｆ＝１）であるか又は（Ｆ−１）番目のフレームがＧＰＵ１２０の処理対象フレームであるか否かを判定する（ステップＳ１００２）。
【００８７】
なお、整数Ｆは入力動画データを取得してからの連続プレビュー処理の実行回数を示し、初期値はＦ＝１とする。Ｆ回目の連続プレビュー処理実行の際に出力フレーム画像が更新される場合には、Ｆ番目の入力フレーム画像に対する画像処理結果が用いられる。
【００８８】
また、処理対象フレームとは、画像処理が施され出力フレーム画像における領域を更新の対象となる入力フレーム画像をいい、プロセッサ、つまり、ここでは、ＣＰＵ１１０およびＧＰＵ１２０毎に設定される。処理対象フレームでないフレーム画像については、画像処理および出力フレーム画像の更新が行われない。ステップＳ５０７において再生ボタンが押された時点で、入力動画データの全フレームを処理対象フレームとし、後述するステップＳ１０１１において処理対象フレームが更新される。
【００８９】
Ｆ＝１であるか又は（Ｆ−１）番目のフレームがＧＰＵ処理対象フレームであると（ステップＳ１００２において、ＹＥＳ）、ＣＰＵ１１０はＦ番目以降のフレームにおいて最初のＧＰＵ１２０の処理対象フレームを取得する（ステップＳ１００３）。そして、ＣＰＵ１１０は当該処理対象フレームを、ＲＡＭ１３０に確保した入力フレーム画像領域に書き込む。
【００９０】
続いて、ＣＰＵ１１０は、ＲＡＭ１３０に書き込んだ処理対象フレームの選択領域についてＧＰＵ１２０によるＧＰＵ処理を開始する（ステップＳ１００４）。このＧＰＵ処理は、図７（ａ）で説明したＧＰＵ処理と同様の処理である。そして、ＣＰＵ１１０は、Ｆ＝１又は（Ｆ−１）番目のフレームがＣＰＵ１１０の処理対象フレームであるか否かを判定する（ステップＳ１００５）。
【００９１】
なお、Ｆ＝１でなくかつ（Ｆ−１）番目のフレームがＧＰＵ処理対象フレームでないと（ステップＳ１００２において、ＮＯ）、ＣＰＵ１１０はステップＳ１００５の処理に進む。
【００９２】
Ｆ＝１又は（Ｆ−１）番目のフレームがＣＰＵ１１０の処理対象フレームであるか否かを判定する（ステップＳ１００５）。Ｆ＝１又は（Ｆ−１）番目のフレームがＣＰＵ１１０の処理対象フレームであると（ステップＳ１００５において、ＹＥＳ）、ＣＰＵ１１０はＦ番目以降のフレームにおいて最初のＣＰＵ１１０の処理対象フレームを取得する（ステップＳ１００６）。そして、ＣＰＵ１１０は当該処理対象フレームを、ＲＡＭ１３０に確保した入力フレーム画像領域に書き込む。
【００９３】
続いて、ＣＰＵ１１０は、ＲＡＭ１３０に書き込んだ処理対象フレームの選択領域以外の領域についてＣＰＵ１１０によるＣＰＵ処理を開始する（ステップＳ１００７）。このＣＰＵ処理は、図７（ｂ）で説明したＣＰＵ処理と同様の処理である。この際には、画像処理で用いるパラメータをＧＰＵ１２０における画像処理よりも処理量の少ないパラメータとする。なお、ステップＳ１００５〜Ｓ１００７の処理をステップＳ１００２〜Ｓ１００４の処理よりも先に行うようにしてもよい。
【００９４】
続いて、ＣＰＵ１１０は、プレビューエリア２２０を更新すべき所定の時間が経過しているか否かを判定する。つまり、ＣＰＵ１１０は画面更新タイミングであるか否かを判定する（ステップＳ１００８）。なお、Ｆ＝１でなくかつ（Ｆ−１）番目のフレームがＣＰＵ１１０の処理対象フレームでないと（ステップＳ１００５において、ＮＯ）、ＣＰＵ１１０はステップＳ１００８の処理に進む。
【００９５】
画面更新タイミングでないと（ステップＳ１００８において、ＮＯ）、ＣＰＵ１１０は待機する。一方、画面更新タイミングとなると（ステップＳ１００８において、ＹＥＳ）、ＣＰＵ１１０は、連続プレビュー処理が再生ボタンの操作から一回目であるか否かを判定する（ステップＳ１００９）。
【００９６】
連続プレビュー処理が一回目であると（ステップＳ１００９において、ＹＥＳ）、ＣＰＵ１１０は、ＧＰＵ１２０およびＣＰＵ１１０の処理が完了するまで待機する（ステップＳ１０１０）。ＣＰＵ１１０は、ＧＰＵ１２０およびＣＰＵ１１０が画像処理を開始してから完了するまでに要した時間（処理時間）を取得する。そして、ＣＰＵ１１０は、ＣＰＵ１１０およびＧＰＵ１２０の各々について処理時間に応じて処理対象フレームを更新する（ステップＳ１０１１）。
【００９７】
ここで、ＧＰＵ１２０およびＣＰＵ１１０の各々について、画像処理に要する時間が画面更新の時間間隔のｎ倍未満となる最小の整数ｎを求める。そして、処理対象フレームを入力動画データのｎフレーム毎に設定して、他のフレームは処理対象フレームから除外する。
【００９８】
なお、処理対象フレームの更新は、連続プレビューの一回目のみでなくてもよい。例えば、所定の数のフレーム毎に更新するようにしてもよく、ＣＰＵ１１０およびＧＰＵ１２０の処理時間の変化に応じて更新するようにしてもよい。また、画像処理に要する時間を複数のフレームの各々について取得して、その平均値を処理時間としてもよい。
【００９９】
続いて、ＣＰＵ１１０はＲＡＭ１３０に保存した出力フレーム画像をプレビューエリア２２０に表示する（ステップＳ１０１２）。そして、ＣＰＵ１１０は連続プレビュー処理を終了する。なお、連続プレビュー処理が一回目でないと（ステップＳ１００９において、ＮＯ）、ＣＰＵ１１０はステップＳ１０１２の処理に進む。
【０１００】
枠表示チェックがＯＦＦであると（ステップＳ１００１において、ＮＯ）、ＣＰＵ１１０は、Ｆ＝１又は（Ｆ−１）番目のフレームがＧＰＵ１２０の処理対象フレームであるか否かを判定する（ステップＳ１０１３）。Ｆ＝１であるか又は（Ｆ−１）番目のフレームがＧＰＵ処理対象フレームであると（ステップＳ１０１３において、ＹＥＳ）、ＣＰＵ１１０はＦ番目以降のフレームにおいて最初のＧＰＵ処理対象フレームを取得する（ステップＳ１０１４）。そして、ＣＰＵ１１０は当該処理対象フレームを、ＲＡＭ１３０に確保した入力フレーム画像領域に書き込む。
【０１０１】
続いて、ＣＰＵ１１０は、ＲＡＭ１３０に書き込んだ処理対象フレームの全体についてＧＰＵ１２０によるＧＰＵ処理を開始する（ステップＳ１０１５）。そして、ＣＰＵ１１０は画面更新タイミングであるか否かを判定する（ステップＳ１０１６）。なお、Ｆ＝１でなくかつ（Ｆ−１）番目のフレームがＧＰＵ処理対象フレームでないと（ステップＳ１０１３において、ＮＯ）、ＣＰＵ１１０はステップＳ１０１６の処理に進む。
【０１０２】
画面更新タイミングでないと（ステップＳ１０１６において、ＮＯ）、ＣＰＵ１１０は待機する。一方、画面更新タイミングとなると（ステップＳ１０１６において、ＹＥＳ）、ＣＰＵ１１０はステップＳ１００９の処理に進む。
【０１０３】
図１１は、図１０に示す連続プレビュー処理における画面更新および画像処理開始のタイミングと入力および出力フレーム画像との関係を説明するための図である。なお、図１１において「入力」、「ＧＰＵ１２０」、「ＣＰＵ１１０」、および「出力」は図８に示す「入力」、「ＧＰＵ１２０」、「ＣＰＵ１１０」、および「出力」と同様の意味である。
【０１０４】
１番目の入力フレーム画像（Ｆ＝１）については、ＧＰＵ１２０およびＣＰＵ１１０の双方において処理を開始する。図１０に示すステップＳ１０１０においてＧＰＵ１２０およびＣＰＵ１１０の処理の完了を待機する。その後、ステップＳ１０１１において、出力フレーム画像の全体が１番目の入力フレーム画像の画像処理結果で更新され、ＧＰＵ１２０およびＣＰＵ１１０の処理対象フレームが更新される。
【０１０５】
図１１に示す例では、プレビューエリア２２０の表示の更新間隔が３０ミリ秒である。また、ＧＰＵ１２０およびＣＰＵ１１０の画像処理に要する時間はそれぞれ２０ミリ秒（＜更新間隔×１）、５０ミリ秒（＜更新間隔×２）である。この場合、ＧＰＵ１２０の処理対象フレームは全フレーム、ＣＰＵ１１０の処理対象フレームは２フレームに１フレームのみとなる。
【０１０６】
２番目の入力フレーム画像以降（Ｆ≧２）の場合には、ＧＰＵ１２０およびＣＰＵ１１０はそれぞれの処理対象フレームのみの画像処理を実行する。Ｆ＝２のとき、Ｆ−１（＝１）番目の入力フレーム画像は、ＧＰＵ１２０およびＣＰＵ１１０の双方における処理対象フレームである。このため、ＧＰＵ１２０およびＣＰＵ１１０の各々はＦ（＝２）番目以降において最初の処理対象フレームに対して処理を開始する。ＧＰＵ１２０においては２番目の入力フレーム画像が最初の処理対象フレームであり、ＣＰＵ１１０については３番目の入力フレーム画像が最初の処理対象フレームである。
【０１０７】
図１０に示すステップＳ１００８において画面更新タイミングとなると、ＧＰＵ１２０は処理を完了し、出力フレーム画像の選択領域は２番目の入力フレーム画像の画像処理結果に応じて更新される。一方、ＣＰＵ１１０では処理が完了していないので、出力フレーム画像の選択領域以外の領域は更新されず、Ｆ＝１で更新した状態のままとなる。
【０１０８】
Ｆ＝３のとき、Ｆ−１（＝２）番目の入力フレーム画像は、ＧＰＵ１２０の処理対象フレームであるが、ＣＰＵ１１０の処理対象フレームではない。このため、ＧＰＵ１２０はＦ（＝３）番目以降で最初の処理対象フレーム、つまり、３番目の入力フレーム画像に対して処理を開始する。一方、ＣＰＵ１１０は新たな処理を開始しない。
【０１０９】
図１０に示すステップＳ１００８において画面更新タイミングとなると、ＧＰＵ１２０およびＣＰＵ１１０は処理を完了する。よって、出力フレーム画像の選択領域およびそれ以外の領域は３番目の入力フレーム画像の画像処理結果に応じて更新される。
【０１１０】
図８で説明した例では、プロセッサの処理時間が長くなれる程、当該プロセッサの担当する領域をよりも古い入力フレーム画像の画像処理結果に応じて更新されることになる。一方、第２の実施形態では、予め画像処理の対象とする入力フレーム画像を決定するので、前倒しで画像処理を開始することができる結果、最新の入力フレーム画像の処理結果で更新することができる。
【０１１１】
このように、本発明の第２の実施形態では、ユーザによって選択された選択領域についてはＧＰＵで画像処理を行う。一方、選択領域以外の領域についてはＣＰＵによる画像処理を行う。これによって、ユーザが注目する領域について高速に画像処理を行って、ユーザが体感する再生画像の品質を向上することができる。
【０１１２】
さらに、第２の実施形態では、ＣＰＵによる画像処理を簡易的な処理としたので、選択領域以外のその他の領域の更新頻度を向上させることができる。そして、ＣＰＵおよびＧＰＵの処理速度に応じていずれのフレームにについて画像処理を行うかを予め判定するので、処理速度の遅いプロセッサ（ＣＰＵ）の担当領域を新しい内容で更新することができる。
【０１１３】
［第３の実施形態］
続いて、本発明の第３の実施形態によるＰＣの一例について説明する。
【０１１４】
第３の実施形態では、ＰＣは互いに性能の異なる２つのＧＰＵを備えている。ここでは、入力動画データの一部の領域（選択領域）については高性能ＧＰＵによって画像処理を行い、それ以外の領域について低性能ＧＰＵによって画像処理を行う。そして、画像処理の結果である出力フレーム画像の各々を所定の時間間隔で連続して表示部に表示する。
【０１１５】
さらに、第３の実施形態では、ユーザは動画再生中に選択領域を変更することができ、かつ、画像フレーム毎に選択領域情報を保存して再利用に用いる。なお、２つのＧＰＵで実行される画像処理の内容および画像処理に用いるパラメータは同一であるとする。
【０１１６】
図１２は、本発明の第３の実施形態によるＰＣの一例についてその構成を示すブロック図である。なお、図１２において、図１に示すＰＣと同一の構成要素については同一の参照番号を付して説明を省略する。
【０１１７】
図示のように、ＰＣ１２００は２つのＧＰＵ１２２０および１２２１を有している。ＧＰＵ１２２０および１２２１の各々は、ＣＰＵ１１０によって生成された画像処理コマンドを実行して出力画像データを生成する。
【０１１８】
なお、第３の実施形態によるＰＣにおいて、表示部１７０に表示されるＧＵＩ画面は図２に示すＧＵＩ画面と同様である。また、記録媒体１５０に格納された入力動画データは図３に示す動画データと同様であり、ＣＰＵ１１０が生成する画像処理コマンドは図４に示す画像処理コマンドと同様である。
【０１１９】
図１３は、図１２に示すＰＣで行われる動画再生処理を説明するためのフローチャートである。
【０１２０】
なお、図示の例では、ＧＰＵ１２２０および１２２１にはその性能に差がある。そして、同一の画像データに同一の画像処理を同時に開始した場合には、ＧＰＵ１２２０はＧＰＵ１２２１よりも処理速度が速いものとする。また、図１２において、図５に示すフローチャートのステップと同一のステップについては同一の参照符号を付して説明を省略する。
【０１２１】
動画再生処理を開始すると、ＣＰＵ１１０は、ＰＣ１２００に搭載され画像処理を実行可能なプロセッサ情報を取得する（ステップＳ１３０１）。ここでは、ＣＰＵ１１０はプロセッサ情報としてプロセッサ種類およびその性能を示すクロック周波数情報を取得するものとし、ＧＰＵ１２２０および１２２１に関するプロセッサ情報を取得する。
【０１２２】
ここでは、ＧＰＵ１２２０のクロック周波数はＧＰＵ１２２１のクロック周波数よりも高い。なお、性能を示す情報としてクロック周波数以外の情報を取得するようにしてもよい。例えば、データ転送速度、コア数、メモリ容量、および機種名などに関する情報を、性能を示す情報として用いるようにしてもよい。さらには、ＣＰＵ１１０は予め性能を示す情報を取得しておくようにしてもよい。
【０１２３】
なお、図１３に示すステップＳ５０６の処理（一枚プレビュー処理）は、処理速度が高いＧＰＵ１２２０で行われることになる。
【０１２４】
再生ボタンが押されると（ステップＳ５０７において、ＹＥＳ）、ＣＰＵ１１０は、枠表示チェックがＯＮであり、かつ選択領域を選択又は変更操作が行われたか否かを判定する（ステップＳ１３０８）。枠表示チェックがＯＮでかつ選択領域の選択又は変更があると（ステップＳ１３０８において、ＹＥＳ）、ＣＰＵ１１０は選択領域の選択又は変更操作に応じて選択領域の選択又は変更を行う（ステップＳ１３０９）。その後、ＣＰＵ１１０はステップＳ５０８の処理に進む。
【０１２５】
枠表示チェックがＯＦＦであるか又は選択領域の選択および変更がないと（ステップＳ１３０８において、ＮＯ）、ＣＰＵ１１０はステップＳ５０８の処理に進む。
【０１２６】
なお、動画再生中における選択領域の変更については、画像認識などを用いて自動で行うようにしてもよい。例えば、カメラの視点又は位置の変化、画像における特定の被写体の位置変化を検出して、当該検出結果に応じて選択領域を変更するようにしてもよい。
【０１２７】
続いて、ＣＰＵ１１０は、ステップＳ５０８で得たフレーム画像について、後述する連続プレビュー処理を行う（ステップＳ１３１１）。その後、ＣＰＵ１１０はステップＳ５１０の処理に進む。なお、図１３に示すステップＳ５１７の処理（一枚プレビュー処理）は、処理速度が高いＧＰＵ１２２０で行われることになる。
【０１２８】
ところで、動画再生処理の開始後に初めてチェックボックス２６０がチェック状態とされた場合には、画像フレームについて後述する選択領域データが記録媒体１５０に保存されていると、ＣＰＵ１１０は当該選択領域データを初期値とする。一方、選択領域データが記録媒体１５０に保存されていなければ、ＣＰＵ１１０はユーザに選択領域の選択を促すメッセージを表示部１７０に表示して再生コントロール部２３０を無効とする。なお、予め選択領域データを所定の初期値として設定するようにしてもよい。
【０１２９】
さらには、入力動画データにおいて現在の動画再生処理中の画像フレームよりも前に選択領域データが保存された画像フレームが存在するとする。この場合には、当該選択領域データと同一の選択領域データを設定するようにしてもよい。また、画像認識などを用いて自動で選択領域データを設定するようにしてもよい。
【０１３０】
入力動画データにおいて対象とする画像フレーム以前および以後に選択領域データが保存された複数の画像フレームが存在する場合には、その間を滑らかに繋ぐようにして補間した選択領域データを設定するようにしてもよい。
【０１３１】
図１４は、図１３に示す連続プレビュー処理を説明するためのフローチャートである。なお、連続プレビュー処理においては、ＧＰＵ１２２０および１２２１の一方又は双方が画像処理を行う。
【０１３２】
連続プレビュー処理を開始すると、ＣＰＵ１１０は枠表示チェックがＯＮであるか否かを判定する（ステップＳ１４０１）。枠表示チェックがＯＮであると（ステップＳ１４０１において、ＹＥＳ）、ＣＰＵ１１０は今までに連続プレビュー処理の際に開始したＧＰＵ１２２０のＧＰＵ処理（前回ＧＰＵ１２２０処理）が完了しているか否かを判定する（ステップＳ１４０２）。
【０１３３】
前回ＧＰＵ１２２０処理が完了していると（ステップＳ１４０２において、ＹＥＳ）、ＣＰＵ１１０はＲＡＭ１３０に書き込んだフレーム画像において選択領域についてＧＰＵ１２２０によるＧＰＵ処理を開始する（ステップＳ１４０３）。当該ＧＰＵ処理は、図７（ａ）で説明した処理と同様の処理である。
【０１３４】
続いて、ＣＰＵ１１０は今までに連続プレビュー処理の際に開始したＧＰＵ１２２１のＧＰＵ処理（前回ＧＰＵ１２２１処理）が完了しているか否かを判定する（ステップＳ１４０４）。なお、前回ＧＰＵ１２２１処理が完了していないと（ステップＳ１４０２において、ＮＯ）、ＣＰＵ１１０はステップＳ１４０４の処理に進む。
【０１３５】
前回ＧＰＵ１２２１処理が完了していると（ステップＳ１４０４において、ＹＥＳ）、ＣＰＵ１１０はＲＡＭ１３０に書き込んだフレーム画像において選択領域以外の領域についてＧＰＵ１２２１によるＧＰＵ処理を開始する（ステップＳ１４０５）。なお、なお、ステップＳ１４０４およびＳ１４０５の処理をステップＳ１４０２およびＳ１４０３の処理よりも先に行うようにしてもよい。
【０１３６】
続いて、ＣＰＵ１１０は画面更新タイミングであるか否かを判定する（ステップＳ１４０６）。画面更新タイミングでないと（ステップＳ１４０６において、ＮＯ）、ＣＰＵ１１０は待機する。一方、画面更新タイミングとなると（ステップＳ１４０６において、ＹＥＳ）、ＣＰＵ１１０はＲＡＭ１３０に保存した出力フレーム画像をプレビューエリア２２０に表示する（ステップＳ１４０７）。
【０１３７】
続いて、ＣＰＵ１１０は、現在のフレーム画像における選択領域情報を入力動画データに関連付けて、選択領域データとして記録媒体１５０に保存する（ステップＳ１４０８）。そして、ＣＰＵ１１０は連続プレビュー処理を終了する。
【０１３８】
枠表示チェックがＯＦＦであると（ステップＳ１４０１において、ＮＯ）、ＣＰＵ１１０は前回ＧＰＵ１２２０処理が完了したか否かを判定する（ステップＳ１４０９）。前回ＧＰＵ１２２０処理が完了していると（ステップＳ１４０９において、ＹＥＳ）、ＣＰＵ１１０は、ＲＡＭ１３０に書き込んだ入力フレーム画像の全体についてＧＰＵ１２２０処理を開始する（ステップＳ１４１０）。当該ＧＰＵ１２２０処理は、図７（ａ）で説明したＧＰＵ処理と同様の処理である。
【０１３９】
続いて、ＣＰＵ１１０は画面更新タイミングであるか否かを判定する（ステップＳ１４１１）。画面更新タイミングでないと（ステップＳ１４１１において、ＮＯ）、ＣＰＵ１１０は待機する。一方、画面更新タイミングとなると（ステップＳ１４１１において、ＹＥＳ）、ＣＰＵ１１０はステップＳ１４０７の処理に進む。なお、前回ＧＰＵ１２２０処理が完了しないと（ステップＳ１４０９において、ＮＯ）、ＣＰＵ１１０はステップＳ１４１１の処理に進む。
【０１４０】
図１５は、図１４で説明した選択領域データを説明するための図である。
【０１４１】
選択領域データは、動画情報１５０１および選択領域情報１５０２を有している。動画情報１５０１は選択領域データが関連付けられた動画データに関する情報である。例えば、動画情報１５０１はクリップ名、ファイルパス、およびその他の付加情報を有している。
【０１４２】
選択領域情報１５０２は動画データを構成するフレーム画像毎の選択領域に関する情報である。なお、Ｎは動画データを構成するフレーム画像の数を示す。選択領域情報１〜Ｎの各々は、例えば、フレーム番号および矩形情報を有している。そして、矩形情報には選択領域の水平方向の位置、垂直方向の位置、幅、および高さが含まれている。
【０１４３】
第３の実施形態において、連続プレビュー処理における画面更新および画像処理開始のタイミングと入力および出力フレーム画像との関係については、図８に示すＧＰＵ１２０をＧＰＵ１２２０に、ＣＰＵ１１０をＧＰＵ１２２１に置き換えればよい。
【０１４４】
このように、本発明の第３の実施形態では、ユーザによって選択された選択領域については高性能なＧＰＵで画像処理を行う。一方、選択領域以外の領域については性能の低いＧＰＵによる画像処理を行う。これによって、ユーザが注目する領域について高速に画像処理を行って、ユーザが体感する再生画像の品質を向上することができる。
【０１４５】
なお、前述の第１および第２の実施形態において、ＰＣ１００は画像処理を実行可能なプロセッサとしてＣＰＵ１１０およびＧＰＵ１２０を有するものとしたが、３つ以上のプロセッサを有するようにしてもよい。この際には、最も処理速度が速いプロセッサをＧＰＵ１２０に置き換え、次に処理速度が速いプロセッサをＣＰＵ１１０に置き換えて画像処理を行うようにすればよい。
【０１４６】
さらに、第３の実施形態では、ＰＣ１２００は画像処理を実行可能なプロセッサとしてＧＰＵ１２２０およびＧＰＵ１２２１を有するものとしたが、３台以上のＧＰＵ又はプロセッサを有するようにしてもよい。この際には、最も処理速度が速いプロセッサをＧＰＵ１２２０に置き換え、次に処理速度が速いプロセッサをＧＰＵ１２２１に置き換えて画像処理を行うようにすればよい。また、複数のプロセッサによってフレーム画像の選択領域又は選択領域以外の領域を分割して画像処理を行うようにしてもよい。
【０１４７】
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【０１４８】
例えば、上記の実施の形態の機能を制御方法として、この制御方法を情報処理装置に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムを情報処理装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【０１４９】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１５０】
１１０  ＣＰＵ
１２０  ＧＰＵ
１３０  ＲＡＭ
１４０  ＲＯＭ
１５０  記録媒体
１６０  操作部
１７０  表示部
１８０  内部バス
【図１】
2018032147.tif 000003
【図２】
2018032147.tif 000004
【図３】
2018032147.tif 000005
【図４】
2018032147.tif 000006
【図５】
2018032147.tif 000007
【図６】
2018032147.tif 000008
【図７】
2018032147.tif 000009
【図８】
2018032147.tif 000010
【図９】
2018032147.tif 000011
【図１０】
2018032147.tif 000012
【図１１】
2018032147.tif 000013
【図１２】
2018032147.tif 000014
【図１３】
2018032147.tif 000015
【図１４】
2018032147.tif 000016
【図１５】
2018032147.tif 000017