(57)【特許請求の範囲】
【請求項１】
動画像データ内の処理対象のフレームに含まれる複数の画素ブロックに対応する複数の動きベクトルを含む第１ベクトル群を決定し、前記決定された第１ベクトル群を用いて、前記処理対象のフレームに含まれる複数の画素に対応する、前記処理対象のフレームの一つ前のフレームに含まれる複数の画素を決定する動き探索手段と、
前記処理対象のフレームに含まれる画素と、当該画素に対応する、前記一つ前のフレームに含まれる画素とをブレンディングすることによって、前記処理対象のフレームが再生される際に生じるフリッカを低減するフリッカ低減手段と、
前記ブレンディングされた画素を含む処理対象のフレームを画面に表示するように制御する表示制御手段とを具備する電子機器。
【請求項２】
前記動き探索手段は、前記処理対象のフレームと前記一つ前のフレームとの間の中間フレームに含まれる複数の画素ブロックに対応する複数の動きベクトルを含む第２ベクトル群を用いて、前記第１ベクトル群を決定する請求項１記載の電子機器。
【請求項３】
前記動き探索手段は、前記中間フレームに含まれる複数の画素ブロックの内の１以上の画素ブロックについて、処理対象のフレームに含まれる複数の画素ブロックの内の第１画素ブロックと、前記１以上の画素ブロックの内の第２画素ブロックを、当該第２画素ブロックに対応する動きベクトルに基づいて移動した領域とが重なり合う領域の大きさを示す評価値を算出し、前記算出された評価値が最大である第２画素ブロックに対応する動きベクトルを、前記第１画素ブロックに対応する動きベクトルに設定する請求項２記載の電子機器。
【請求項４】
前記１以上の画素ブロックは、前記中間フレームに含まれる複数の画素ブロックの内、前記第１画素ブロックと当該第１画素ブロックの近傍の画素ブロックとに対応する位置にある画素ブロックを含む請求項３記載の電子機器。
【請求項５】
前記動き探索手段は、前記第１ベクトル群に含まれる複数の動きベクトルに、前記第２ベクトル群に含まれる複数の動きベクトルの内の１つの動きベクトルをそれぞれ設定する請求項２記載の電子機器。
【請求項６】
前記フリッカ低減手段は、前記処理対象のフレームに含まれる画素と、当該画素に対応する、前記一つ前のフレームに含まれる画素とを所定の重み係数を用いて加算し、前記加算された値を当該処理対象のフレームに含まれる画素に設定することによって、前記フリッカを低減する請求項１記載の電子機器。
【請求項７】
動画像データ内の処理対象のフレームに含まれる複数の画素ブロックに対応する複数の動きベクトルを含む第１ベクトル群を決定し、前記決定された第１ベクトル群を用いて、前記処理対象のフレームに含まれる複数の画素に対応する、前記処理対象のフレームの一つ前のフレームに含まれる複数の画素を決定し、
前記処理対象のフレームに含まれる画素と、当該画素に対応する、前記一つ前のフレームに含まれる画素とをブレンディングすることによって、前記処理対象のフレームが再生される際に生じるフリッカを低減し、
前記ブレンディングされた画素を含む処理対象のフレームを画面に表示するように制御する画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、動画像データを再生する電子機器及び該機器に適用される画像処理方法に関する。
【背景技術】
【０００２】
動画像データが再生されるとき、画面に表示される動画像にフリッカが生じることがある。フリッカは、動画像が再生される際に生じる時間軸方向のちらつき（ノイズ）である。このフリッカを低減するために、例えば、処理対象のフレーム内の画素と、当該画素と同じ位置にある一つ前のフレーム内の画素とを用いて、画素値をブレンディングする方法が用いられている。このブレンディングによって、フレーム間での画素値の変化が小さくなるので、動画像が再生される際に生じるフリッカを低減することができる。
【０００３】
また、時間軸方向の変化が小さい領域（静止領域）と大きい領域（非静止領域）とに対して上述のようなブレンディングを施した場合、静止領域ではフリッカを低減できる一方、非静止領域では画像がぼけたように見える可能性がある。すなわち、非静止領域に含まれる画素にブレンディングが施された際には、フリッカではないフレーム間の画素値の変化が小さく変更されてしまう可能性がある。そのため、フレーム内の静止領域を検出し、検出された静止領域に含まれる画素にのみブレンディングを施す方法も提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１７７６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、この静止領域に含まれる画素にのみブレンディングを施す方法では、動物体を含む非静止領域に生じたフリッカを低減することは困難である。
【０００６】
また、処理対象のフレーム内の画素が動物体に含まれる画素である場合、当該画素と、同じ位置にある一つ前のフレーム内の画素とは対応していない可能性がある。つまり、動物体に含まれる画素では、フレーム間でその位置が移動していることがある。そのため、処理対象のフレーム内の画素と、当該画素と同じ位置にある一つ前のフレーム内の画素とを用いて画素値をブレンディングする方法では、対応しない画素同士がブレンディングされることにより、ユーザが、表示される画像に違和感を覚える可能性がある。
【０００７】
本発明は、動物体を含む動画像が再生される際に生じるフリッカを低減できる電子機器及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態によれば、電子機器は、動き探索手段、フリッカ低減手段及び表示制御手段を具備する。動き探索手段は、動画像データ内の処理対象のフレームに含まれる複数の画素ブロックに対応する複数の動きベクトルを含む第１ベクトル群を決定し、前記決定された第１ベクトル群を用いて、前記処理対象のフレームに含まれる複数の画素に対応する、前記処理対象のフレームの一つ前のフレームに含まれる複数の画素を決定する。フリッカ低減手段は、前記処理対象のフレームに含まれる画素と、当該画素に対応する、前記一つ前のフレームに含まれる画素とをブレンディングすることによって、前記処理対象のフレームが再生される際に生じるフリッカを低減する。表示制御手段は、前記ブレンディングされた画素を含む処理対象のフレームを画面に表示するように制御する。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る電子機器の外観を示す斜視図。
【図２】同実施形態の電子機器の構成を示すブロック図。
【図３】同実施形態の電子機器によって実行される動画像再生プログラムの構成の示すブロック図。
【図４】画像フレーム間の動きを探索する例について説明するための概念図。
【図５】同実施形態の電子機器によって探索されるフレーム間の動きの例について説明するための概念図。
【図６】同実施形態の電子機器によって探索されるフレーム間の動きの別の例について説明するための概念図。
【図７】同実施形態の電子機器によって探索されるフレーム間の動きの他の例を示す図。
【図８】同実施形態の電子機器によって実行される動画像再生処理の手順の例を示すフローチャート。
【図９】同実施形態の電子機器によって実行される動きベクトル選択処理の手順の例を示すフローチャート。
【図１０】同実施形態の電子機器によって実行されるフリッカ低減処理の手順の例を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、実施の形態について図面を参照して説明する。  
図１は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えばタブレットタイプのパーソナルコンピュータ（ＰＣ）１０として実現される。また、この電子機器は、スマートフォン、ＰＤＡ、ノートブックタイプのＰＣ、テレビジョン受信機等としても実現され得る。図１に示すように、本コンピュータ１０は、コンピュータ本体１１とタッチスクリーンディスプレイ１７とから構成される。
【００１１】
コンピュータ本体１１は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１７には、ＬＣＤ（liquid crystal display）１７Ａ及びタッチパネル１７Ｂが組み込まれている。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面を覆うように設けられる。タッチスクリーンディスプレイ１７は、コンピュータ本体１１の上面に重ね合わせるように取り付けられている。
【００１２】
コンピュータ本体１１の上側面には、本コンピュータ１０を電源オン／電源オフするためのパワーボタン、音量調節ボタン、メモリカードスロット等が配置されている。コンピュータ本体１１の下側面には、スピーカ等が配置されている。コンピュータ本体の右側面には、例えばＵＳＢ（universal serial bus）２．０規格のＵＳＢケーブルやＵＳＢデバイスを接続するためのＵＳＢコネクタ１３、ＨＤＭＩ（high-definition multimedia interface）規格に対応した外部ディスプレイ接続端子１等が設けられている。この外部ディスプレイ接続端子１は、デジタル映像信号を外部ディスプレイに出力するために用いられる。
【００１３】
図２は、本コンピュータ１０のシステム構成を示す図である。  
本コンピュータ１０は、図２に示されるように、ＣＰＵ１０１、主メモリ１０３、Ｉ／Ｏコントローラ１０４、グラフィクスコントローラ１０５、サウンドコントローラ１０６、ＢＩＯＳ−ＲＯＭ１０７、ＬＡＮコントローラ１０８、ソリッドステートドライブ（ＳＳＤ）１０９、Ｂｌｕｅｔｏｏｔｈ（登録商標）モジュール１１０、無線ＬＡＮコントローラ１１２、エンベデッドコントローラ（ＥＣ）１１３、ＥＥＰＲＯＭ１１４、ＨＤＭＩ制御回路２等を備える。
【００１４】
ＣＰＵ１０１は、本コンピュータ１０内の各部の動作を制御するプロセッサである。ＣＰＵ１０１は、ＳＳＤ１０９から主メモリ１０３にロードされる、オペレーティングシステム（ＯＳ）２０１、動画像再生プログラム２０２、各種アプリケーションプログラム等を実行する。動画像再生プログラム２０２は、動画像データを再生することによって動画像をディスプレイ１７に表示する動画像再生機能を有する。動画像再生プログラム２０２は、例えばユーザによる操作に応じて、指定された動画像データを再生する。動画像データは、例えばＳＳＤ１０９のような記憶装置に格納されたデータである。動画像データは、ネットワークを介して受信されたデータであってもよい。また、動画像データは、ＵＳＢフラッシュメモリやＳＤカードのような外部記憶メディアに格納されたデータであってもよい。動画像再生プログラム２０２は、符号化（圧縮符号化）された動画像データを復号することによって動画像データを再生する。
【００１５】
動画像再生プログラム２０２は、さらに、再生される動画像に生じるフリッカを低減（補正）するフリッカ低減機能を有する。動画像再生プログラム２０２は、例えば、処理対象の画像フレームに含まれる画素と、当該画素に対応する、処理対象の画像フレームの一つ前のフレーム（以下、一つ前のフレームとも称する）に含まれる画素とを、所定の重み係数を用いて加算し、この加算された値を第１画素に設定することによって、処理対象の画像フレームに生じるフリッカを低減する。
【００１６】
タブレットタイプのコンピュータ１０では、一般に、通常のノートブックタイプやデスクトップタイプのコンピュータよりも、ユーザとディスプレイ１７との間の距離（視聴距離）が短く、またユーザがディスプレイ１７を見る角度が変動しやすい。さらに、タブレットタイプのコンピュータ１０では、ディスプレイ１７に用いられる液晶の応答速度が遅いことがある。そのため、フリッカのようなノイズが、ユーザによる動画像の観賞等に影響を与えやすい。動画像再生プログラム２０２は、タブレットタイプのコンピュータ１０のようにフリッカ等のノイズの影響を受けやすい構成においても、ユーザが快適に観賞できる動画像を表示する。
【００１７】
また、動画像再生プログラム２０２では、複数のフレームを用いた演算や、フレーム内の多数の画素を用いた演算を要するため、演算量が大きくなる可能性がある。このような演算は、例えば、１画素毎の演算ではなく、複数の画素（例えば、８画素）の演算を同時に実行できるような並列演算のための命令（コマンド）を用いることによって実現される。そのため、コンピュータ１０には、並列演算のためのコマンド群が格納されていてもよい。
【００１８】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０７に格納されたＢＩＯＳも実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。ＣＰＵ１０１には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、ＣＰＵ１０１は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してグラフィクスコントローラ１０５との通信を実行する機能も有している。
【００１９】
グラフィクスコントローラ１０５は、本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示コントローラである。このグラフィクスコントローラ１０５によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて映像を表示する。
【００２０】
ＨＤＭＩ端子１は、前述の外部ディスプレイ接続端子である。ＨＤＭＩ端子１は、非圧縮のデジタル映像信号とデジタルオーディオ信号とを１本のケーブルでテレビのような外部ディスプレイ装置に送出することができる。ＨＤＭＩ制御回路２は、ＨＤＭＩモニタと称される外部ディスプレイ装置にデジタル映像信号をＨＤＭＩ端子１を介して送出するためのインタフェースである。
【００２１】
Ｉ／Ｏコントローラ１０４は、ＣＰＵ１０１に接続され、ＰＣＩ（Peripheral Component Interconnect）バス上の各デバイス及びＬＰＣ（Low Pin Count）バス上の各デバイスを制御する。また、Ｉ／Ｏコントローラ１０４は、ＳＳＤ１０９を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。
【００２２】
Ｉ／Ｏコントローラ１０４は、タッチパネル１７Ｂを制御するためのＵＳＢコントローラを内蔵している。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面上で入力を行うためのポインティングデバイスである。ユーザは、タッチパネル１７Ｂを用いて、ＬＣＤ１７Ａの画面に表示されたグラフィカルユーザインタフェース（ＧＵＩ）等を操作することができる。例えば、ユーザは、画面に表示されたボタンをタッチすることによって、当該ボタンに対応する機能の実行を指示することができる。また、このＵＳＢコントローラは、例えば、ＵＳＢコネクタ１３に接続されたＵＳＢ２．０規格のケーブルを介して外部機器との通信を実行する。
【００２３】
さらに、Ｉ／Ｏコントローラ１０４は、サウンドコントローラ１０６との通信を実行する機能も有している。サウンドコントローラ１０６は音源デバイスであり、再生対象のオーディオデータをスピーカ１８Ａ，１８Ｂに出力する。ＬＡＮコントローラ１０８は、例えばＩＥＥＥ  ８０２．３規格の有線通信を実行する有線通信デバイスである。無線ＬＡＮコントローラ１１２は、例えばＩＥＥＥ  ８０２．１１ｇ規格の無線通信を実行する無線通信デバイスである。Ｂｌｕｅｔｏｏｔｈモジュール１１０は、外部機器とのＢｌｕｅｔｏｏｔｈ通信を実行する通信モジュールである。
【００２４】
ＥＣ１１３は、電力管理のためのエンベデッドコントローラを含む１チップマイクロコンピュータである。ＥＣ１１３は、ユーザによるパワーボタンの操作に応じて本コンピュータ１０を電源オン／電源オフする機能を有している。
【００２５】
次いで、図３を参照して、動画像再生プログラム２０２の一機能構成を説明する。動画像再生プログラム２０２は、上述のように、動画像データを再生する動画像再生機能と、再生される動画像に生じるフリッカを低減するためのフリッカ低減機能とを有する。
【００２６】
フリッカ低減機能では、例えば、入力画像フレーム（処理対象のフレームとも称する）と参照画像フレーム（処理対象のフレームの一つ前のフレームとも称する）との間で画素値をブレンディングすることによって、フリッカが低減される。入力画像フレーム内の画素Ｘと当該画素に対応する参照画像フレーム内の画素Ｙとは、例えば、重み係数Ｗを用いてブレンディングされる。また、この重み係数は、例えば、一次関数や非線形関数に基づいて算出される。したがって例えば、次式により、ブレンディングによって新たに設定される画素ＸＢが算出される。  
ＸＢ＝ＷＸ−（１−Ｗ）Ｙ  
なお、重み係数Wは、例えば、入力画像フレームと参照画像フレームとの差分（例えば、｜Ｘ−Ｙ｜）に応じて変更される必要がある。これは、フレーム間の差分が大きい領域では、画素値のブレンディングによって、エッジがぼけたり、動物体の近傍で残像のような誤差伝搬が発生するためである。フレーム間の差分に基づいて重み係数を変更することにより、フリッカが低減され、且つエッジ部の画素がぼけないように、入力画像フレームの画質を調整することができる。
【００２７】
しかし、参照画像フレームと入力画像フレームとの間の変化（差分信号）は、フリッカだけでなく、動画像に捉えられた動物体によっても生じる。したがって、参照画像フレームに対する入力画像フレームの変化が、フリッカと動物体のいずれによって生じているかを差分信号に基づいて判断することは困難である。また、静止物体（背景等を含む）では、参照画像フレーム上でのその静止物体の位置と入力画像フレーム上での該静止物体の位置とが同じである可能性が高い。しかし、動物体では、例えば参照画像フレームから入力画像フレームまでの間に移動しているので、参照画像フレーム上での動物体の位置と入力画像フレーム上での該動物体の位置とが異なる可能性がある。そのため、参照画像フレームと入力画像フレームとで同じ位置にある画素をブレンディングした場合、例えば、背景の画素と動物体上の画素とがブレンディングされるので、画像に生じているフリッカを適切に低減することができない。また、このブレンディングによって生じた誤差が後続するフレームに伝搬するので（すなわち、ブレンディングが施された画素を含むフレームが、後続するフレームのフリッカ低減処理に用いられるので）、後続するフレームにおいてもフリッカが適切に低減された画像を表示することができなくなる可能性がある。
【００２８】
そのため、動画像再生プログラム２０２は、処理対象のフレームに対して、処理対象のフレームと一つ前のフレームとの間での動きを考慮したフリッカ低減処理を施す。より具体的には、処理対象のフレームに対応する動きベクトルを決定し、決定された動きベクトルに基づいて、処理対象のフレーム内の第１画素と、この第１画素に対応する一つ前のフレーム内の第２画素とを決定する。そして、これら第１画素と第２画素とをブレンディングすることによって、処理対象のフレームに生じるフリッカを低減する。
【００２９】
動画像再生プログラム２０２は、動画像復号部３１、フレーム遅延部３２、動き探索部３４、動きベクトル割り当て部３５、フリッカ低減部３６、及び表示制御部３７を備える。
【００３０】
動画像復号部３１は、動画像データを復号することによって、復号された動画像データを生成する。動画像データは、例えば圧縮符号化されたデータである。動画像復号部３１は、ユーザによって動画像データの再生が指示されたこと、ネットワークを介して動画像データを受信したこと、動画像データを含むＵＳＢフラッシュメモリ、ＳＤカード等の記憶メディアを検出したこと等に応じて、該動画像データを復号する。
【００３１】
復号された動画像データは、複数の画像フレーム（以下、フレームとも云う）を含む。動画像復号部３１は、複数の画像フレームを、先頭のフレームから順に１フレームずつ、処理対象のフレームＴに設定する。そして、動画像復号部３１は、設定された処理対象のフレームＴをフレーム遅延部３２及び動き探索部３４に出力する。
【００３２】
フレーム遅延部３２は、処理対象のフレームＴをフレームバッファ３３に格納（バッファリング）しておくことによって、処理対象の一つ前のフレーム（Ｔ−１）を動き探索部３４に出力する。
【００３３】
動き探索部３４は、フレーム遅延部３２によって出力された一つ前のフレーム（Ｔ−１）と、動画像復号部３１によって出力された処理対象のフレームＴとを用いて、一つ前のフレーム（Ｔ−１）と処理対象のフレームＴとの間の中間フレーム（Ｔ−０．５）の画素ブロック毎の動きベクトルを算出する。動き探索部３４は、例えば、中間フレーム（Ｔ−０．５）と処理対象のフレームＴとの間の動きを推定することによって、中間フレーム（Ｔ−０．５）の画素ブロック毎の動きベクトルを算出する。画素ブロックは、例えば４×４画素のブロックである。また、中間フレーム（Ｔ−０．５）の画素ブロック毎の動きベクトルには、補間フレームを生成するためのフレーム補間処理によって既に算出された動きベクトルを利用してもよい。動き探索部３４は、算出された中間フレーム（Ｔ−０．５）の画素ブロック毎の動きベクトルを、動き割り当て部３５に出力する。また、動き探索部３４は、算出された中間フレーム（Ｔ−０．５）の画素ブロック毎の動きベクトルを示す情報、処理対象のフレームＴを示す情報、一つ前のフレーム（Ｔ−１）を示す情報等を、画像情報記憶部３８に格納する。画像情報記憶部３８は、動画像データが再生される際に用いられる各種の情報を格納するための記憶領域である。
【００３４】
動きベクトル割り当て部３５は、動き探索部３４によって出力された、中間フレーム（Ｔ−０．５）の画素ブロック毎の動きベクトルを用いて、処理対象のフレームＴ内の複数の画素ブロックに割り当てられる複数の動きベクトルを決定する。そして、動きベクトル割り当て部３５は、決定された動きベクトルに基づいて、処理対象のフレームＴ内の複数の画素ブロックと、それら複数の画素ブロックそれぞれに対応する、一つ前のフレーム（Ｔ−１）内の画素ブロックとを決定する。
【００３５】
中間フレーム（Ｔ−０．５）の画素ブロック毎の動きベクトルを用いて、処理対象のフレームＴ内の複数の画素ブロックに割り当てられる複数の動きベクトルを探索する方法には、例えば、シンメトリックサーチが考えられる。図４は、シンメトリックサーチによって、処理対象の画素ブロックの動きを探索する例を示す。シンメトリックサーチでは、処理対象のフレーム４３と一つ前のフレーム４１との間の中間フレーム４２を中心に動きが探索される。図４に示す例では、中間フレーム４２の画素ブロック毎の動きベクトルが決定されていることを想定する。なお、中間フレーム４２の画素ブロック毎の動きベクトルは、中間フレーム４２から処理対象のフレーム４３への動きを示すベクトルである。
【００３６】
例えば、中間フレーム４２内の画素ブロック４２１に注目する場合、この画素ブロック４２１に対応する動きベクトル４２Ａ（ｍｖ）に基づいて、画素ブロック４２１に対応する、処理対象のフレーム４３内の画素ブロック４３２が検出される。画素ブロック４３２は、画素ブロック４２１を動きベクトル４２Ａに従って移動させた領域に対応するブロックである。また、動きベクトル４２Ａに対称（すなわち、シンメトリック）な動きベクトル４１Ａ（−ｍｖ）に基づいて、画素ブロック４２１に対応する、一つ前のフレーム４１内の画素ブロック４１２が検出される。画素ブロック４１２は、画素ブロック４２１を動きベクトル４１Ａに従って移動させた領域に対応するブロックである。これらのことに基づいて、シンメトリックサーチでは、処理対象のフレーム４３内の画素ブロック４３２と一つ前のフレーム内の画素ブロック４１２とが対応することを決定する。
【００３７】
しかし、シンメトリックサーチでは中間フレーム４２を中心に動きが探索されるので、処理対象フレーム４３内の画素には、中間フレーム４２内の画素ブロックが動きベクトルに基づいて移動する領域に含まれない画素が存在する可能性がある。つまり、処理対象フレーム４３内の画素に対応する、中間フレーム４２内の画素が決定されない可能性がある。また同様に、一つ前のフレーム４１内の画素に対応する、中間フレーム４２内の画素が決定されない可能性がある。そしてその場合には、処理対象フレーム４３内の画素と一つ前のフレーム４１内の画素との対応を決定することができない。つまり、処理対象フレーム４３内に、一つ前のフレーム４１内の画素との対応が取れていない歯抜け領域（動き情報を参照できない領域）が存在してしまう。
【００３８】
そのため、シンメトリックサーチでは、例えば、この歯抜け領域に含まれる画素に対応する動きベクトルとして零ベクトルを用いることにより、当該画素に対応する、一つ前のフレーム４１内の画素を決定する。すなわち、歯抜け領域に含まれる画素については、処理対象のフレーム４３内と一つ前のフレーム４１内とで同じ位置にある画素同士を対応付ける。また、例えば、歯抜け領域に含まれる画素に対応する動きベクトルとして、当該画素の近傍にある画素に対応する動きベクトルを用いることにより、当該画素に対応する、一つ前のフレーム４１内の画素を決定する。しかし、このような方法で決定された画素では、処理対象のフレーム４３と一つ前のフレーム４１との間の動きに基づかない画素同士が対応付けられている可能性があるので、そのような画素を用いてフリッカ低減のためのブレンディングを行った場合には、処理対象のフレーム内に境界のような不連続な領域が生じる可能性がある。したがってユーザは、表示される動画像に違和感を覚える可能性がある。
【００３９】
そのため、本実施形態では、処理対象のフレームＴ内の複数の画素ブロックに対応する複数の動きベクトル（第１動きベクトル群）を、中間フレーム（Ｔ−０．５）内の複数の画素ブロックに対応する複数の動きベクトル（第２動きベクトル群）を用いて決定することによって、処理対象のフレームＴ内の複数の画素ブロックそれぞれに対応する、一つ前のフレーム（Ｔ−１）内の画素ブロックが決定される。
【００４０】
より具体的には、動きベクトル割り当て部３５は、まず、処理対象のフレームＴを所定のサイズの画素ブロックに分割する。画素ブロックは、上述のように、例えば４×４画素のブロックである。次に、動きベクトル割り当て部３５は、処理対象のフレームＴ内の複数の画素ブロックの内、処理対象の画素ブロックを設定する。動きベクトル割り当て部３５は、例えば、処理対象のフレームＴ内の左上端に設定された画素ブロックから順に、処理対象の画素ブロックに設定する。
【００４１】
次いで、動きベクトル割り当て部３５は、中間フレーム（Ｔ−０．５）に設定された画素ブロックの内、処理対象の画素ブロックに対応する位置の画素ブロックと、その画素ブロックに隣接する画素ブロックとに注目する。例えば、動きベクトル割り当て部３５は、中間フレーム（Ｔ−０．５）に設定された画素ブロックの内、処理対象の画素ブロックに対応する位置の画素ブロックを中心とする３×３の画素ブロック（９つの画素ブロック）を、注目画素ブロックに設定する。そして、動きベクトル割り当て部３５は、それら注目画素ブロックに対応する動きベクトルを候補動きベクトルに設定する。例えば、動きベクトル割り当て部３５は、３×３の画素ブロックが注目画素ブロックに設定されている場合、その３×３の注目画素ブロックに対応する９つの動きベクトルを候補動きベクトルに設定する。
【００４２】
そして、動きベクトル割り当て部３５は、中間フレーム（Ｔ−０．５）の画素ブロック毎の動きベクトルの内、処理対象の画素ブロックを最も参照する動きベクトルを選択する。具体的には、動きベクトル割り当て部３５は、設定された複数の候補ベクトルそれぞれの評価値f(x)を次式により算出する。  
【数１】
0005148732.tif 000002
【００４３】
なお、SrcT-0.5(i,j)は、１つの注目画素ブロックに含まれる複数の画素の内の、(i,j)で示される位置に対応する１つの画素を示す。SrcTは、処理対象の画素ブロックに含まれる全ての画素を示す。また、mvは、１つの注目画素ブロックに対応する動きベクトルを示し、mvxは動きベクトルmvの水平成分を示し、mvyは動きベクトルmvの垂直成分を示す。したがって、算出される評価値f(x)は、注目画素ブロックを動きベクトルmvに基づいて移動させた場合に、移動させた注目画素ブロックの画素SrcT-0.5(i+mvx, j+mvy)と処理対象の画素ブロックの画素SrcTとが重なり合う領域の大きさを示す。この大きさは、例えば画素数で表される。なお、動きベクトル割り当て部３５は、算出された評価値f(x)に重み付けして算出してもよい。例えば、動きベクトル割り当て部３５は、算出された評価値f(x)に、処理対象の画素ブロックに近い位置にある注目画素ブロックほど大きな重みをかけて、その値を評価値f(x)として用いる。
【００４４】
次いで、動きベクトル割り当て部３５は、次式に示すように、処理対象の画素ブロックの動きベクトルＭＶに、候補ベクトルの内、評価値f(x)が最大である動きベクトルを設定する。  
ＭＶ＝max f(x)  
そして、動きベクトル割り当て部３５は、決定された処理対象の画素ブロックの動きベクトルに基づいて、処理対象の画素ブロックに対応する、一つ前のフレーム（Ｔ−１）内の画素ブロックを決定する。つまり、決定された動きベクトルに基づいて示される位置にある画素ブロックを、処理対象の画素ブロックに対応する、一つ前のフレーム（Ｔ−１）内の画素ブロックに設定する。動きベクトルを用いることによってフレーム間での動きが考慮されるので、処理対象の画素ブロックが動物体に含まれる場合であっても、処理対象のフレームＴに含まれる画素ブロックと一つ前のフレーム（Ｔ−１）に含まれる画素ブロックとを正しく対応付けることができる。
【００４５】
動きベクトル割り当て部３５は、上述の手順を繰り返すことによって、処理対象のフレームＴ内の複数の画素ブロックそれぞれに対応する、一つ前のフレーム（Ｔ−１）内の画素ブロックを決定する。動きベクトル割り当て部３５は、処理対象のフレームＴ内の複数の画素ブロックと、それら複数の画素ブロックそれぞれに対応する、一つ前のフレーム（Ｔ−１）内の画素ブロックとを示す情報をフリッカ低減部３６に出力する。また、動きベクトル割り当て部３５は当該情報を画像情報記憶部３８に格納する。なお、処理対象の画素ブロックの動きを探索する例については、図５から図７を参照して後述する。
【００４６】
フリッカ低減部３６は、動きベクトル割り当て部３５によって出力された、処理対象のフレームＴ内の複数の画素ブロックと、それら複数の画素ブロックそれぞれに対応する、一つ前のフレーム（Ｔ−１）内の画素ブロックとを示す情報を用いて、処理対象のフレームＴが再生される際に生じるフリッカを低減する。フリッカ低減部３６は、動きベクトル割り当て部３５によって出力された情報を用いて、処理対象のフレームＴ内の画素ブロックに含まれる画素と、一つ前のフレーム（Ｔ−１）内の、対応する画素ブロックに含まれる画素とをブレンディングする。つまり、フリッカ低減部３６は、動きベクトルに基づいて対応する画素同士をブレンディングする。
【００４７】
より具体的には、フリッカ低減部３６は、処理対象のフレームＴに設定された複数の画素ブロックの内、処理対象の画素ブロックを設定する。そして、フリッカ低減部３６は、動きベクトル割り当て部３５によって出力された情報に基づいて、一つ前の画像フレーム（Ｔ−１）内の対応する画素ブロックを決定する。
【００４８】
次いで、フリッカ低減部３６は、処理対象の画素ブロック内の第１画素と、決定された画素ブロック内の対応する第２画素とをブレンディングした値を、第１画素に設定する。例えば、画素ブロックが４×４画素のブロックである場合、フリッカ低減部３６は、処理対象の画素ブロック内の１６個の画素と決定された画素ブロック内の１６個の画素とを、位置が対応する画素同士でそれぞれブレンディングする。このブレンディングは、例えば、画素値の重み付き加算である。また、この重み付けに用いられる重み係数Ｗは、例えば、所定の値や、処理対象のフレームＴと一つ前のフレーム（Ｔ−１）とのフレーム間差分に基づいて決定される値である。
【００４９】
フリッカ低減部３６は、処理対象のフレームＴ内に設定された全ての画素ブロック（画素）に対してブレンディングを施す。このブレンディングにより、処理対象のフレームＴが再生される際に生じるフリッカを低減することができる。フリッカ低減部３６は、フリッカが低減された処理対象のフレームＴを表示制御部３７に出力する。  
そして、表示制御部３７は、フリッカ低減部３６によって出力された処理対象のフレームを画面（ＬＣＤ１７Ａ）に表示する。つまり、表示制御部３７は、フリッカが低減された、処理対象の画像フレームを順次表示する。
【００５０】
以上の構成により、動物体を含む動画像が再生される際に生じるフリッカを低減できる。動きベクトル割り当て部３５は、中間フレーム（Ｔ−０．５）の画素ブロック毎の動きベクトルを用いて、処理対象のフレームＴの画素ブロック毎の動きベクトルを決定する。そして、動きベクトル割り当て部３５は、決定された動きベクトルを用いることによりフレーム間の動きが考慮された、処理対象のフレームＴ内の画素ブロックと、この画素ブロックに対応する、一つ前のフレーム（Ｔ−１）内の画素ブロックとを決定する。これにより、フリッカ低減部３６は、フレーム間の動きが考慮された、対応する２つの画素ブロックを用いて、処理対象のフレームＴが再生される際に生じるフリッカを低減できる。
【００５１】
図５から図７は、動きベクトル割り当て部３５によって、処理対象の画素ブロック５２１に動きベクトルが割り当てられる例を示す。以下では、処理対象のフレーム５２に含まれる複数の画素ブロックの内、画素ブロック５２１が処理対象の画素ブロックに設定されていることを想定する。動きベクトル割り当て部３５は、中間フレーム５１の画素ブロック毎の動きベクトルの内、処理対象の画素ブロック５２１に対応する位置近傍の動きベクトル群５３から、処理対象の画素ブロック５２１に最も適した動きベクトルを選択する。具体的には、動きベクトル割り当て部３５は、動きベクトル群５３に含まれる動きベクトルそれぞれが、処理対象の画素ブロック５２１の動きベクトルに適している度合いを示す評価値を算出する。
【００５２】
例えば、図５を参照して、画素ブロック５１１に対応する動きベクトル５１Ａの評価値が算出される例について説明する。動きベクトル５１Ａは、中間フレーム５１内の画素ブロック５１１が、処理対象の画像フレーム５２では画素ブロック５２２で示される領域に移動することを示す。つまり、動きベクトル５１Ａは、画素ブロック５１１と画素ブロック５２２とが対応することを示す。そして、この画素ブロック５２２と処理対象の画素ブロック５２１とで重複している画素の数が、動きベクトル５１Ａの評価値として算出されるので、動きベクトル５１Ａの評価値は０である。
【００５３】
また、図６を参照して、画素ブロック５１２に対応する動きベクトル５１Ｂの評価値が算出される例について説明する。動きベクトル５１Ｂは、中間フレーム５１内の画素ブロック５１２が、処理対象の画像フレーム５２では画素ブロック５２３で示される位置に移動することを示す。つまり、動きベクトル５１Ｂは、画素ブロック５１２と画素ブロック５２３とが対応することを示す。そして、この画素ブロック５２３と処理対象の画素ブロック５２１とで重複している画素の数が、動きベクトル５１Ｂの評価値として算出されるので、動きベクトル５１Ｂの評価値は９である。
【００５４】
同様にして、動きベクトル群５３に含まれる全ての動きベクトルの評価値が算出される。そして、図７に示すように、算出された評価値が最大である動きベクトル５１Ｂが、処理対象の画素ブロック５２１の動きベクトル（ＭＶ）５２Ａに決定される。
【００５５】
上述のように、中間フレーム５１の画素ブロック毎の動きベクトルの内、処理対象の画素ブロック５２１に最も当てはまる動きベクトルを、処理対象の画素ブロック５２１の動きベクトル５２Ａに設定する。以上の処理を、処理対象のフレーム５２内の全ての画素ブロックに対して行うことにより、全ての画素ブロックのそれぞれに対応する動きベクトルが決定される。これにより、シンメトリックサーチの場合のような歯抜け領域が生じることなく、処理対象のフレーム内の全ての画素ブロックについて、対応する一つ前のフレーム内の画素ブロックを決定することができる。また、動画像データに対してフレーム補間処理や動きを利用したフレーム内（空間方向）のノイズ除去処理等が施される場合には、このフレーム補間処理やノイズ除去処理において既に算出された補間フレームの画素ブロック毎の動きベクトルを、処理対象フレーム内の画素ブロック毎の動きベクトルの決定に利用することができる。そのため、処理対象のフレームＴと一つ前のフレーム（Ｔ−１）とを用いて、処理対象フレーム内の画素ブロック毎の動きベクトルを算出するよりも計算コストを抑制することができる。
【００５６】
次いで、図８を参照して、コンピュータ１０によって実行される動画像再生処理の手順の例について説明する。  
まず、動画像復号部３１は、動画像データの再生が要求されたか否かを判定する（ブロックＢ１０）。動画像データは、例えば圧縮符号化されたデータである。動画像データの再生が要求されていない場合（ブロックＢ１０のＮＯ）、ブロックＢ１０に戻り、再度動画像データの再生が要求されたか否かを判定する。
【００５７】
動画像データの再生が要求されている場合（ブロックＢ１０のＹＥＳ）、動画像復号部３１は動画像データを復号する（ブロックＢ１１）。そして、動画像復号部３１は、復号された動画像データに含まれる複数の画像フレームの内の一つの画像フレームを処理対象のフレームＴに設定する（ブロックＢ１２）。フレームに生じているフリッカを低減するための処理には処理対象のフレームＴとその一つ前のフレーム（Ｔ−１）とが用いられるので、動画像復号部３１は、例えば、複数の画像フレームを、先頭から２番目のフレームから順に処理対象のフレームＴに設定する。その場合、表示制御部３７は、先頭のフレームがそのまま画面１７に表示されるように制御する。
【００５８】
次いで、動き探索部３４は、処理対象のフレームＴとその一つ前のフレーム（Ｔ−１）との間の中間フレーム（Ｔ−０．５）の画素ブロック毎の動きベクトルを算出する（ブロックＢ１３）。つまり、動き探索部３４は、中間フレーム（Ｔ−０．５）と処理対象のフレームＴとの間の動きを推定する。画素ブロックは、例えば４×４画素のブロックである。また、中間フレーム（Ｔ−０．５）の画素ブロック毎の動きベクトルには、中間フレーム（Ｔ−０．５）を生成するために既に算出された動きベクトルを利用してもよい。
【００５９】
また、動きベクトル割り当て部３５は、処理対象のフレームＴを複数の画素ブロックに分割する（ブロックＢ１４）。画素ブロックは、上述のように、例えば４×４画素のブロックである。そして、動きベクトル割り当て部３５は、中間フレーム（Ｔ−０．５）の画素ブロック毎の動きベクトルを用いて、処理対象のフレームＴの画素ブロック毎の動きベクトルを決定するための動きベクトル選択処理を実行する（ブロックＢ１５）。動きベクトル選択処理の手順については、図９に示すフローチャートを参照して後述する。
【００６０】
次いで、フリッカ低減部３６は、処理対象のフレームＴの画素ブロック毎の動きベクトルに基づいて、処理対象のフレームＴと一つ前のフレーム（Ｔ−１）とを用いて、処理対象のフレームＴに生じているフリッカを低減するためのフリッカ低減処理を実行する（ブロックＢ１６）。フリッカ低減処理の手順については、図１０に示すフローチャートを参照して後述する。
【００６１】
そして、表示制御部３７は、フリッカ低減処理が施された処理対象のフレームが画面１７に表示されるように制御する（ブロックＢ１７）。次いで、動画像復号部３１は、現在の処理対象のフレームＴに後続する画像フレームがあるか否かを判定する（ブロックＢ１８）。後続する画像フレームがある場合（ブロックＢ１８のＹＥＳ）、ブロックＢ１２に戻り、その後続する画像フレームを新たな処理対象のフレームＴに設定することによって、新たな処理対象のフレームＴに対して上述の処理が施される。
【００６２】
後続する画像フレームがない場合（ブロックＢ１８のＮＯ）、すなわち、動画像データ内の全ての画像フレームが画面１７に表示された場合、動画像再生処理を終了する。
【００６３】
なお、動画像データの先頭のフレームについて、動きベクトル選択処理とフリッカ低減処理とを行ってもよい。その場合には、例えば、先頭のフレームと先頭から２枚目のフレームとの間の中間フレームの画素ブロック毎の動きベクトルを用いて、先頭のフレームの画素ブロック毎の動きベクトルが決定され、先頭のフレームと先頭から２枚目のフレームとを用いて、先頭のフレームに生じているフリッカが低減される。また、動き探索部３４は、ブロックＢ１３で動きベクトルを算出する際に、処理対象のフレームＴとその一つ前のフレーム（Ｔ−１）との間にシーンチェンジが発生しているか否かを検出してもよい。そして、処理対象のフレームＴとその一つ前のフレーム（Ｔ−１）との間にシーンチェンジが発生している場合には、処理対象のフレームに対してフリッカ低減処理が施されない。これは、シーンチェンジに対応するフレームが再生される際にはフリッカが生じないためであり、また、そのようなフレームにフリッカ低減処理が施されることによって、不要な誤差伝搬が生じることを抑制するためである。
【００６４】
次いで、図９を参照して、処理対象のフレームＴの画素ブロック毎の動きベクトルを決定するための動きベクトル選択処理の手順の例について説明する。  
まず、動きベクトル割り当て部３５は、処理対象のフレームＴ内の複数の画素ブロックの内、処理対象の画素ブロックを設定する（ブロックＢ２１）。具体的には、動きベクトル割り当て部３５は、例えば、処理対象のフレームＴ内の左上端に設定された画素ブロックから順に、処理対象の画素ブロックに設定する。
【００６５】
そして、動きベクトル割り当て部３５は、中間フレーム（Ｔ−０．５）に設定された画素ブロックの内、処理対象の画素ブロックに対応する位置の画素ブロックと、その画素ブロックに隣接する画素ブロックとに注目し、それら注目する画素ブロックの動きベクトルを候補動きベクトルに設定する（ブロックＢ２２）。例えば、動きベクトル割り当て部３５は、中間フレーム（Ｔ−０．５）に設定された画素ブロックの内、処理対象の画素ブロックに対応する位置の画素ブロックを中心とする３×３の画素ブロックの動きベクトルを候補動きベクトルに設定する。
【００６６】
次いで、動きベクトル割り当て部３５は、設定された複数の候補動きベクトルそれぞれの評価値を算出する（ブロックＢ２３）。候補動きベクトルの評価値は、図５及び図６を参照して説明した通り、例えば、候補動きベクトルで示される画素ブロックと処理対象の画素ブロックとで重複している画素の数を示す。動きベクトル割り当て部３５は、算出された候補動きベクトルそれぞれの評価値に基づいて、評価値が最大である候補動きベクトルを選択することによって、処理対象の画素ブロックの動きベクトルを決定する（ブロックＢ２４）。
【００６７】
次いで、動きベクトル割り当て部３５は、決定された動きベクトルに基づいて、処理対象の画素ブロックに対応する、一つ前の画像フレーム（Ｔ−１）内の画素ブロックを決定する（ブロックＢ２５）。つまり、動きベクトル割り当て部３５は、処理対象の画像フレームＴと一つ前の画像フレーム（Ｔ−１）との間の動きを考慮して、画像フレームＴ内の処理対象の画素ブロックに対応する、一つ前の画像フレーム（Ｔ−１）内の画素ブロックを決定する。
【００６８】
そして、動きベクトル割り当て部３５は、対応する一つ前の画像フレーム（Ｔ−１）内の画素ブロックが決定されていない画素ブロックがあるか否かを判定する（ブロックＢ２６）。対応する一つ前の画像フレーム（Ｔ−１）内の画素ブロックが決定されていない画素ブロックがある場合（ブロックＢ２６のＹＥＳ）、ブロックＢ２１に戻り、新たな処理対象の画素ブロックを設定し、その画素ブロック対応する一つ前の画像フレーム（Ｔ−１）内の画素ブロックを決定する。対応する一つ前の画像フレーム（Ｔ−１）内の画素ブロックが決定されていない画素ブロックがない場合（ブロックＢ２６のＮＯ）、すなわち、全ての画素ブロックに対応する、一つ前の画像フレーム（Ｔ−１）内の画素ブロックが決定された場合、動きベクトル選択処理を終了する。
【００６９】
また、図１０のフローチャートは、処理対象のフレームＴに生じるフリッカを低減するためのフリッカ低減処理の手順の例を示す。  
まず、フリッカ低減部３６は、処理対象のフレームＴに設定された複数の画素ブロックの内、処理対象の画素ブロックを設定する（ブロックＢ３１）。そして、フリッカ低減部３６は、設定された処理対象の画素ブロックに対応する、一つ前の画像フレーム（Ｔ−１）内の画素ブロックを検出する（ブロックＢ３２）。
【００７０】
次いで、フリッカ低減部３６は、処理対象の画素ブロック内の画素と、検出された画素ブロック内の対応する画素とをブレンディングする（ブロックＢ３３）。例えば、画素ブロックが４×４画素のブロックである場合、フリッカ低減部３６は、処理対象の画素ブロック内の１６個の画素と決定された画素ブロック内の１６個の画素とを、位置が対応する画素同士でそれぞれブレンディングする。このブレンディングは、例えば、画素値の重み付け加算である。また、この重み付けに用いられる値は、例えば、所定の値や、差分に基づいて決定される値である。このブレンディングにより、処理対象の画素ブロックに生じるフリッカを低減することができる。
【００７１】
そして、フリッカ低減部３６は、ブレンディングが施されていない画素ブロックがあるか否かを判定する（ブロックＢ３４）。ブレンディングが施されていない画素ブロックがある場合（ブロックＢ３４のＹＥＳ）、ブロックＢ３１に戻り、新たな処理対象の画素ブロックを設定することによって、その画素ブロックに対してブレンディングが施される。ブレンディングが施されていない画素ブロックがない場合（ブロックＢ３４のＮＯ）、すなわち、全ての画素ブロックに対してブレンディングが施された場合、フリッカ低減処理を終了する。
【００７２】
以上説明したように、本実施形態によれば、動物体を含む動画像が再生される際に生じるフリッカを低減できる。動きベクトル割り当て部３５は、中間フレーム（Ｔ−０．５）の画素ブロック毎の動きベクトルを用いて、処理対象のフレームＴの画素ブロック毎の動きベクトルを決定する。そして、動きベクトル割り当て部３５は、決定された動きベクトルを用いることにより、フレーム間の動きを考慮して、処理対象のフレームＴ内の画素ブロックと、この画素ブロックに対応する、一つ前のフレーム（Ｔ−１）内の画素ブロックとを決定する。すなわち、動きベクトルを用いて、フレーム間で移動している動物体（動物体に対応する画素ブロック）を追跡することができる。そして、フリッカ低減部３６は、フレーム間の動きが追跡された２つの画素ブロックを用いることにより、処理対象のフレームＴが再生される際に生じるフリッカを低減することができる。
【００７３】
なお、本実施形態の動画像再生処理の手順は全てソフトウェアによって実行することができる。このため、動画像再生処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【００７４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７５】
２０２…動画像再生プログラム、３１…動画像復号部、３２…フレーム遅延部、３３…フレームバッファ、３４…動き探索部、３５…動きベクトル割り当て部、３６…フリッカ低減部、３７…表示制御部、３８…画像情報記憶部。
【図１】
0005148732.tif 000003
【図２】
0005148732.tif 000004
【図３】
0005148732.tif 000005
【図４】
0005148732.tif 000006
【図５】
0005148732.tif 000007
【図６】
0005148732.tif 000008
【図７】
0005148732.tif 000009
【図８】
0005148732.tif 000010
【図９】
0005148732.tif 000011
【図１０】
0005148732.tif 000012