(57)【要約】【課題】計算リソースを抑えつつ、より精度の高い動きベクトルを算出することが可能な映像処理装置、映像処理方法、及びプログラムを提供すること。を提供すること。【解決手段】入力された符号化データから得られる所定精度の動きベクトルを用いて高精度の動きベクトルを算出することが可能な映像処理装置が提供される。当該映像処理装置は、所定精度の動きベクトルの方向性に応じてブロックマッチングする領域を設定する領域設定部と、領域設定部により設定された領域内で高精度のブロックマッチングを実行することによって、高精度の動きベクトルを算出する動きベクトル算出部とを備える。【選択図】図１
2009027643.tif 000002
【特許請求の範囲】
【請求項１】
入力された符号化データから得られる所定精度の動きベクトルを用いて高精度の動きベクトルを算出することが可能な映像処理装置であって、
前記所定精度の動きベクトルの方向性に応じてブロックマッチングする領域を設定する領域設定部と、
前記領域設定部により設定された領域内で高精度のブロックマッチングを実行することによって前記高精度の動きベクトルを算出する動きベクトル算出部と、
を備えることを特徴とする、映像処理装置。
【請求項２】
前記動きベクトル算出部により算出された動きベクトルに基づいて補間フレームを生成する補間フレーム生成部と、
前記符号化データから得られる映像信号がインターレース信号の場合に、前記補間フレームを用いて前記インターレース信号をプログレッシブ信号に変換するインターレース・プログレッシブ変換部と、
をさらに備えることを特徴とする、請求項１に記載の映像処理装置。
【請求項３】
前記動きベクトル算出部により算出された動きベクトルに基づいて補間フレームを生成する補間フレーム生成部と、
前記補間フレームを用いて、前記符号化データから得られる映像信号から、より高い時間解像度を有する映像信号に変換する時間解像度変換部と、
をさらに備えることを特徴とする、請求項１に記載の映像処理装置。
【請求項４】
前記動きベクトル算出部により算出された高い精度を有する動きベクトルに基づいて補間フレームを生成する動き補償部と、
前記補間フレームと前記符号化データから得られる映像信号とを用いて、より高い空間解像度を有する映像信号に変換する空間解像度変換部と、
をさらに備えることを特徴とする、請求項１に記載の映像処理装置。
【請求項５】
前記領域設定部は、前記ブロックマッチングが実行される領域として、前記所定精度の動きベクトルの方向性と同じ方向性を有する動きベクトルが含まれる領域を設定することを特徴とする、請求項１に記載の映像処理装置。
【請求項６】
前記領域設定部は、前記ブロックマッチングが実行される領域として、前記所定精度の動きベクトルの方向性と同じ方向性を有する領域を設定することを特徴とする、請求項１に記載の映像処理装置。
【請求項７】
前記領域設定部は、前記ブロックマッチングが実行される領域として、前記所定精度の動きベクトルの方向性と逆の方向性を有する動きベクトルが含まれない領域を設定することを特徴とする、請求項１に記載の映像処理装置。
【請求項８】
入力された符号化データから得られる所定精度の動きベクトルを用いて高精度の動きベクトルを算出することが可能な映像処理方法であって、
前記所定精度の動きベクトルの方向性に応じてブロックマッチングする領域を設定する領域設定ステップと、
前記領域設定ステップにより設定された領域内で高精度のブロックマッチングを実行することによって、前記高精度の動きベクトルを算出する動きベクトル算出ステップと、
を含むことを特徴とする、映像処理方法。
【請求項９】
請求項１〜７に記載の映像処理装置が有する機能をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像処理装置、映像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、情報処理技術、及び情報通信技術の急速な発展に伴い、高品質な映像や音楽のデジタル配信サービスが普及しつつある。しかしながら、高画質映像はデータ容量が膨大であるため、それを経済的に配信するためには何らかの工夫が必要とされる。そのため、高精細な大画面テレビ等で視聴される高画質映像の配信技術には大きな注目が集まっている。その中でも、高画質な映像データを高画質なままにデータ容量を圧縮する種々の符号化技術が盛んに研究されている。例えば、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）やＶＣＥＧ（Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）により規格化された映像データ等の圧縮方式はよく知られた圧縮符号化技術の一つである。
【０００３】
ところで、映像データの圧縮符号化技術の代表的な例として「動き補償」と呼ばれる技術がある。この技術よると、まず、複数のフレーム間で同一又は最も近似する画素を含むブロックが抽出され、そのブロックが移動した方向と移動量とを表す動きベクトルが算出される。そして、フレーム間の差分符号化が行われる際に、その動きベクトルに基づいて画素の補償が行われる。その結果、同一又は近似した画素値を持つブロックがフレーム間で移動した場合等において、画質を悪化させずに映像データのデータ容量を大きく低減させることが可能になる。この技術を応用して、例えば、下記特許文献１のように、フレームレート変換やインターレース／プログレッシブ変換（以下、ＩＰ変換）を行うこともできる。その場合、動き補償を利用してフレーム間を補間する中間画像が生成される。
【０００４】
【特許文献１】特開２００７−１０４６５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、動きベクトルの算出に要する処理負荷が他の符号化処理に比べて大きいため、高精度の動きベクトルを算出すること自体が容易ではない。例えば、動きベクトルの算出法として良く知られるブロックマッチング法の例について簡単に説明する。この方法によると、一対の参照フレームに対してブロック単位で画素値の差分絶対値和が算出され、その最小値に対応するブロックの移動方向と移動量とが算出されることで動きベクトルが決定される。そこで、例えば、所定のブロック位置から水平に±７画素、垂直に±３画素の範囲でブロックマッチングする場合を考えると、１画素の動きベクトルを求めるために『（２１画素の差分＋２１回の絶対値計算＋２１回の累積加算）×水平１５方向×垂直７方向』の計算が必要とされる。つまり、この計算に要するリソースがゲート規模で１００万ゲート以上になる。
【０００６】
そこで、ブロックマッチングを行う際に、ブロックマッチングする範囲を縮小して計算量を低減させたり、或いは、ブロックの移動量を大きく設定して粗くブロックマッチングすることで計算量を低減する方法等が考えられる。しかし、これらの簡易的な方法を適用すると、動きベクトルの推定精度自体が低下してしまうため、動き補償の際に画素の補正を誤ってしまう。その結果、映像信号にノイズが発生して画質の低下を招いてしまう。このように、動きベクトルの精度を上げると計算リソースが多く要求され、一方で、計算リソースを抑えると動きベクトルの推定精度が低下してしまう。つまり、計算リソースと動きベクトルの推定精度とはトレードオフの関係にあると言える。
【０００７】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、演算量を抑えつつ、より精度の高い動きベクトルを算出することが可能な、新規かつ改良された映像処理装置、映像処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある観点によれば、入力された符号化データから得られる所定精度の動きベクトルを用いて高精度の動きベクトルを算出することが可能な映像処理装置が提供される。当該映像処理装置は、前記所定精度の動きベクトルの方向性に応じてブロックマッチングする領域を設定する領域設定部と、前記領域設定部により設定された領域内で高精度のブロックマッチングを実行することによって前記高精度の動きベクトルを算出する動きベクトル算出部とを備える。
【０００９】
かかる構成により、ブロックマッチングする領域が限定されるため、必要な計算リソースを抑えることができる。さらに、所定精度の動きベクトルの方向性に基づいて領域が選択されるため、高精度の動きベクトルが含まれる可能性の高い領域内をブロックマッチングすることができる。つまり、高精度の動きベクトルが所定精度の動きベクトルに近い又は同一の方向性を有していると考えられるため、上記の構成を用いることにより、動きベクトルの推定精度を損なうことなく計算リソースを低減させることができるのである。
【００１０】
また、前記動きベクトル算出部により算出された動きベクトルに基づいて補間フレームを生成する補間フレーム生成部と、前記符号化データから得られる映像信号がインターレース信号の場合に、前記補間フレームを用いて前記インターレース信号をプログレッシブ信号に変換するインターレース・プログレッシブ変換部とをさらに備えていてもよい。
【００１１】
また、前記動きベクトル算出部により算出された動きベクトルに基づいて補間フレームを生成する補間フレーム生成部と、前記補間フレームを用いて、前記符号化データから得られる映像信号から、より高い時間解像度を有する映像信号に変換する時間解像度変換部とをさらに備えていてもよい。
【００１２】
また、前記動きベクトル算出部により算出された高い精度を有する動きベクトルに基づいて補間フレームを生成する動き補償部と、前記補間フレームと前記符号化データから得られる映像信号とを用いて、より高い空間解像度を有する映像信号に変換する空間解像度変換部とをさらに備えていてもよい。
【００１３】
また、前記領域設定部は、前記ブロックマッチングが実行される領域として、前記所定精度の動きベクトルの方向性と同じ方向性を有する動きベクトルが含まれる領域を設定してもよい。
【００１４】
また、前記領域設定部は、前記ブロックマッチングが実行される領域として、前記所定精度の動きベクトルの方向性と同じ方向性を有する領域を設定してもよい。
【００１５】
また、前記領域設定部は、前記ブロックマッチングが実行される領域として、前記所定精度の動きベクトルの方向性と逆の方向性を有する動きベクトルが含まれない領域を設定してもよい。
【００１６】
また、上記課題を解決するために、本発明の別の観点によれば、入力された符号化データから得られる所定精度の動きベクトルを用いて高精度の動きベクトルを算出することが可能な映像処理方法が提供される。当該映像処理方法は、前記所定精度の動きベクトルの方向性に応じてブロックマッチングする領域を設定する領域設定ステップと、前記領域設定ステップにより設定された領域内で高精度のブロックマッチングを実行することによって、前記高精度の動きベクトルを算出する動きベクトル算出ステップとを含む。
【００１７】
また、上記課題を解決するために、本発明の別の観点によれば、上記の映像処理装置が有する機能をコンピュータに実現させるためのプログラムが提供される。
【発明の効果】
【００１８】
以上説明したように本発明によれば、演算量を抑えつつ、より精度の高い動きベクトルを算出することが可能になる。
【発明を実施するための最良の形態】
【００１９】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２０】
［高画質化処理の概要］
まず、本発明の好適な実施形態について説明するのに先立ち、動きベクトルを利用した映像データの高画質化処理について簡単に説明する。尚、高画質化処理の一例として、フレームレート変換について説明するが、以下で述べる本発明の好適な実施形態を適用可能な高画質化処理はこれに限定されるものではない。例えば、上で述べたＩＰ変換等にも適用することが可能である。ＩＰ変換に適用する場合、前後のインターレース画像から推定された動きベクトルを用いて、インターレース画像の奇数番目又は偶数番目のブランクラインが補間される。
【００２１】
（フレームレート変換について）
まず、図１を参照しながら、映像処理装置によるフレームレート変換について簡単に説明する。図１は、動きベクトルを用いたフレームレート変換の原理を説明するための説明図である。図１には、一例として、時刻ｔ０、ｔ１、ｔ２に対応する３つのフレームが記載されている。その中で、時刻ｔ０及びｔ２に対応するフレームをオリジナルフレームと呼び、時刻ｔ１に対応するフレームを補間フレームと呼ぶことにする。オリジナルフレームは、変換前の映像データに含まれるフレームである。一方、補間フレームは、動きベクトルを用いて新たに生成されるフレームである。
【００２２】
フレームレート変換とは、図１に示すように、オリジナルフレーム間に補間フレームを挿入することによって映像データの時間解像度を高める処理である。その際、補間フレームは、例えば、前後の時刻に対応するオリジナルフレームの画素値に基づいて生成される。図１の例で説明すると、補間フレームの画素Ａ”は、時刻ｔ０のオリジナルフレームに含まれる画素Ａと、その画素Ａに対応し、時刻ｔ２のオリジナルフレームに含まれる画素Ａ’とに基づいて算出される。このとき、画素Ａと画素Ａ’との間の対応関係は、動きベクトルＭＶ０２により表現される。動きベクトルとは、ある画素が移動する方向と移動する速さ（単位時間当たりの移動量）とを表すベクトル量である。従って、動きベクトルＭ０２が算出されると、映像処理装置は、補間フレームが挿入される時刻ｔ１（即ち、Δｔ０１、Δｔ０２）と動きベクトルＭ０２とに基づいて、画素Ａ及び画素Ａ’に対応する補間フレーム上の画素Ａ”を生成することが可能になる。
【００２３】
（ブロックマッチング法について）
例えば、映像処理装置は、ブロックマッチング法を用いて動きベクトルを推定することができる。ブロックマッチング法とは、参照されるオリジナルフレーム（以下、参照フレーム）の各画素値に対し、所定サイズのブロック単位で差分絶対値和を算出した上で、その最小値に対応するブロックを抽出する手法である。
【００２４】
ここで、図２の例を参照しながら、ブロックマッチング法について簡単に説明する。図２は、ブロックマッチング法の原理を説明するための説明図である。図２の例では、ブロックのサイズをｘ方向に５画素、ｙ方向に３画素としているが、これに限定されない。また、図２の各図は、図１の投影図に対応する。
【００２５】
まず、映像処理装置は、生成したい補間フレーム上の画素Ａ”に画素Ａ及びＡ’が一致するように各ブロックを設定する（Ｓｔｅｐ．０）。次いで、映像処理装置は、画素Ａに対応するブロック（以下、ブロックＡ）をｘ方向及びｙ方向に所定画素数だけ移動させる。同様に、映像処理装置は、画素Ａ’に対応するブロック（以下、ブロックＡ’）をブロックＡと逆方向に移動させる。例えば、映像処理装置は、ブロックＡをｘ方向に２画素、ｙ方向に１画素移動させ、ブロックＡ’をｘ方向に−２画素、ｙ方向にー１画素移動させる（Ｓｔｅｐ．１）。そして、映像処理装置は、ブロックＡの各画素値と、それに対応するブロックＡ’の各画素値との間の差分絶対値を算出する。
【００２６】
図２のＳｔｅｐ．１に示すように、例えば、映像処理装置は、ブロックＡの右上（位置（１，５））に位置する画素の画素値ｑ１５と、ブロックＡ’の右上（位置（１，５））に位置する画素の画素値ｑ’１５との間の差分絶対値｜Δｑ１５｜＝｜ｑ１５−ｑ’１５｜を算出する。但し、位置（ｉ，ｊ）は、ブロックの左上隅を位置（１，１）として、ｘ方向のｉ番目、ｙ方向のｊ番目にある画素の位置を表すものとする。同様にして、映像処理装置は、ブロックＡ及びＡ’に含まれる全ての画素に対して差分絶対値｜Δｑｉｊ｜（ｉ＝１〜５，ｊ＝１〜３）を算出する。その後、映像処理装置は、全ての差分絶対値｜Δｑｉｊ｜を累積して差分絶対値和Ｓ１＝Σ｜Δｑｉｊ｜を算出する。
【００２７】
さらに、映像処理装置は、ブロックＡ及びＡ’の位置を移動させて差分絶対値和を算出する。例えば、映像処理装置は、Ｓｔｅｐ．１の位置からブロックＡをｘ方向に２画素、ｙ方向に１画素移動し、ブロックＡ’をｘ方向にー２画素、ｙ方向に−１画素移動させる。そして、映像処理装置は、Ｓｔｅｐ．１と同様に、移動後のブロックＡ及びＡ’の各画素に対して差分絶対値｜Δｑ’ｉｊ｜を算出した上で、差分絶対値和Ｓ２＝Σ｜Δｑ’ｉｊ｜を算出する（Ｓｔｅｐ．２）。
【００２８】
さらに、映像処理装置は、Ｓｔｅｐ．１及びＳｔｅｐ．２と同様にして、様々な位置にブロックＡ及びＡ’を移動させながら、差分絶対値和Ｓｋ（ｋ＝１，２，．．．）を算出する。その後、映像処理装置は、算出された差分絶対値和Ｓｋの最小値Ｓｍｉｎを抽出し、最小値Ｓｍｉｎに対応するブロックＡ及びＡ’の位置を検出する。そして、映像処理装置は、最小値Ｓｍｉｎに対応するブロックＡ及びＡ’について、ブロックＡに含まれる画素Ａと、ブロックＡ’に含まれる画素Ａ’とを結ぶベクトルを動きベクトルＭＶ０２に設定する。上記のように、参照フレームのブロック（以下、参照ブロック）を移動させながら差分絶対値和を算出して動きベクトルを推定する方法をブロックマッチング法と呼ぶ。
【００２９】
図２の例では、説明の都合上、ブロックを移動させる方向や移動量を大雑把に示したが、実際には、１画素又は少数の画素単位でブロックを移動させながら、±ｘ方向及び±ｙ方向にそれぞれブロックマッチングが行われる。特に、高精度に動きベクトルを推定する場合には、より細かな画素単位で全方向にブロックマッチングが行われる。以下の説明において、上記の方法又は他の方法を用いて動きベクトルを推定することを単に動き推定と呼ぶことがある。
【００３０】
上記のように、ブロックマッチング法を用いることで、比較的単純なアルゴリズムにより動きベクトルの推定が可能になる。しかしながら、ブロックマッチング法は、動きベクトルを推定する処理に要する計算リソースが大きいという問題点を含んでいる。図２のように、参照ブロックを互いに対称的に移動させてブロックマッチングした場合でも膨大な計算量が必要になる。例えば、ｘ方向に±７画素、ｙ方向に±３画素の移動幅と１画素単位の移動量とを考慮してブロックマッチングする場合、ブロックのサイズが２１画素であるから、１つの動きベクトルを推定するのに要する演算量は、（２１画素の差分絶対値演算＋累積演算）＊ｘ方向の移動分（１５画素）＊ｙ方向の移動分（７画素）となり、ゲート規模で１００万ゲートを越えてしまう。
【００３１】
そこで、動きベクトルの推定に要する演算量を削減するための種々の工夫が考え出された。その中から、現実的なものとして、「ブロックマッチングする範囲を限定する方法」「ブロックマッチングするエリアを縮小する方法」「階層的にブロックマッチングする方法」について簡単に説明する。これらの方法は、いずれも簡易的に動きベクトルを推定する方法であって、高い推定精度が要求される場合にはあまり適さない。従って、後述する本発明に係る実施形態の特徴がより良く理解できるように説明されるものである。
【００３２】
（ブロックマッチングする範囲を限定する方法について）
まず、図３を参照しながら、以下の説明において用いる表記について簡単に説明する。図３は、参照ブロックの移動方向を示す説明図である。上記の説明からも推察される通り、十分な計算リソースが利用可能である場合、参照ブロックを自由な方向に１画素単位で移動させながら、ブロックマッチングを実行することができる。その例が図３である。
【００３３】
図３の例では、説明の都合上、ブロックサイズをｘ方向に３画素、ｙ方向に５画素に設定している。また、図３中の鎖線四角（以下、基準ブロックＲ０）は、図２のＳｔｅｐ．０に示したブロック位置の外枠に対応する。以下の説明において、各参照ブロックの位置は、基準ブロックＲ０の位置に基づいて説明されるか、或いは、この基準ブロックＲ０の中心位置（画素Ａ”に対応）に示した白丸の位置に基づいて説明される。また、基準ブロックＲ０と参照ブロックとの位置関係（又は移動方向）を点線矢印で示している。さらに、参照ブロックの一方をＲ、他方をＲ’と表記し、基準ブロックＲ０に対する参照ブロックＲの移動を（ｘ，ｙ）のように表現する。
【００３４】
例えば、−ｘ方向に３画素、−ｙ方向に２画素だけ移動した状況はＳ（−３，−２）と表現される。尚、図３は、説明の都合上、参照ブロックＲが−ｘ方向及び−ｙ方向（第３象限）に移動した状況のみを示している。しかし、図３に明示してはいないが、以下の説明において、他の方向に関するブロックマッチングについても考慮されている点に注意が必要である。また、Ｓ（ｉ，ｊ）（ｉ＝−５〜５，ｊ＝−３〜３）について考慮されている点にも注意されたい。
【００３５】
以上の表記法を踏まえ、図４を参照しながら、「ブロックマッチングする範囲を限定する方法」について説明する。図４は、ブロックマッチングする範囲を限定する方法を示す説明図である。
【００３６】
図４に示すように、この方法は、ブロックマッチングする範囲をｘ方向及びｙ方向のみに限定する方法である。つまり、この方法は、参照ブロックＲ及びＲ’を移動させる方向をＳ（ｘ，０）又はＳ（０，ｙ）のみに限定し、Ｓ（ｘ，ｙ）（ｘ≠０∩ｙ≠０）の範囲についてブロックマッチングを行わないという方法である。この方法を用いると、計算リソースは、（１５画素の差分絶対値演算＋累積演算）＊（ｘ方向の移動分（１１画素）＋ｙ方向の移動分（７画素））となる。範囲を限定しない場合、計算リソースは、（１５画素の差分絶対値演算＋累積演算）＊ｘ方向の移動分（１１画素）＊ｙ方向の移動分（７画素）である。従って、計算リソースが（１１＋７）／（１１＊７）に削減されたことになる。しかしながら、この方法では、斜め方向の動きベクトルが無視されるため、大きく推定精度が低下してしまう。但し、計算リソースとのトレードオフにはなるが、限定する範囲を少なくすることも、もちろん可能である。
【００３７】
（ブロックマッチングするエリアを縮小する方法について）
次に、図５を参照しながら、ブロックマッチングするエリアを縮小する方法について簡単に説明する。図５は、ブロックマッチングするエリアを縮小する方法を示す説明図である。尚、図５においても、図３と同じ表記を用いる。
【００３８】
図５に示すように、この方法は、参照ブロックＲ及びＲ’のエリア自体を縮小してブロックマッチングする範囲を縮小する方法である。図５の例では、参照ブロックＲ、Ｒ’のサイズをｘ方向、ｙ方向共に３画素としている。つまり、図３の例に比べてｘ方向に２画素縮小したことになる。その結果、参照ブロックを移動させる範囲は、（ｘ，ｙ）（ｘ＝−３〜３，ｙ＝−３〜３）に限定される。さらに、ブロックサイズが縮小された分、差分絶対値を算出する回数も削減される。この方法を用いると、計算リソースは、（９画素の差分絶対値演算＋累積演算）＊ｘ方向の移動分（７画素）＊ｙ方向の移動分（７画素）になる。従って、図３の例に比べ、計算リソースが（９／１１）＊（７／１１）に低減される。しかしながら、ブロックマッチングする範囲が縮小されることから、動きベクトルの推定精度が低下するため、高精度の動き推定には適していない。
【００３９】
（階層的にブロックマッチングする方法について）
次に、図６を参照しながら、階層的にブロックマッチングする方法について簡単に説明する。図６は、階層的にブロックマッチングする方法を示す説明図である。尚、図６においても、図３と同じ表記を用いる。
【００４０】
この方法は、参照ブロックの大きさや移動量等を変化させながら、階層的にブロックマッチングを行う方法である。図６には、一例として、大きな移動量で粗くブロックマッチングして得られる参照ベクトルの位置関係を基準に、より小さい移動量で細かくブロックマッチングする方法が示されている。図６に示すように、まず、映像処理装置は、２画素単位で参照ブロックを移動させながらブロックマッチングを実行し、最小の差分絶対値和を有する参照ブロックの位置を決定する（Ｓｔｅｐ．１）。次いで、映像処理装置は、Ｓｔｅｐ．１で算出された参照ブロックの位置関係を基準にして、その周辺を１画素単位でブロックマッチングする（Ｓｔｅｐ．２）。この方法を用いると、粗い移動量の動き推定では見落とされる動きベクトルを次段の処理で検出することが可能になるため、粗い動き推定に比べて、動きベクトルの推定精度を高めることができる。さらに、演算リソースは、（１５画素の差分絶対値演算＋累積演算）＊｛（ｘ方向の移動分（５画素）＊ｙ方向の移動分（３画素）；１回目）＋（ｘ方向の移動分（３画素）＊ｙ方向の移動分（３画素）；２回目）｝になる。このように、図３の場合に比べて計算リソースが低減される。
【００４１】
以上、ブロックマッチング法の計算リソースを削減する簡易的な方法について説明した。しかしながら、これらの簡易的な方法を用いると、図３の方法（以下、全検索）に比べて動きベクトルの推定精度が大きく下回るため、高い推定精度が要求されるフレームレート変換やＩＰ変換等の補間フレーム生成に利用することは困難である。低精度の動きベクトルを用いてフレームレート変換やＩＰ変換等の高画質化処理を行うと、変換された映像信号にノイズが発生するために、映像品質が低下してしまう。そこで、計算リソースを抑制しつつ、高精度の動きベクトルを生成する技術が求められる。こうした要求を受けて、本件出願人は、以下に示す新規な映像処理装置及び方法を考案した。
【００４２】
＜本発明の実施形態＞
以下、本発明の一実施形態について詳細に説明する。本実施形態の特徴は、補間フレームの画素を生成するために用いる動きベクトル（以下、補間動きベクトル）の算出方法にある。基本的に、本実施形態に係る映像処理装置１００は、上記の全検索に準ずるブロックマッチング法を用いて補間動きベクトルを推定するが、その検索範囲を符号化データから検出された参照フレーム間の動きベクトルに基づいて設定する。そのため、本実施形態に係る映像処理装置１００は、計算リソースを抑えつつ、上記の全検索と実質的に同一精度の動き推定を実現できるのである。
【００４３】
［映像処理装置１００の機能構成］
図７を参照しながら、本実施形態に係る映像処理装置１００の機能構成について説明する。図７は、本実施形態に係る映像処理装置１００の機能構成を示す説明図である。
【００４４】
図７に示すように、映像処理装置１００は、主に、映像信号復元部１１０と、解像度変換部１４０とにより構成される。映像信号復元部１１０は、例えば、ＭＰＥＧやＨ．２６４の方式等で符号化された符号化データをデコードする機能を有する。映像信号復元部１１０は、映像信号復元部１１０によりデコードされた映像信号を高い時間解像度又は空間解像度を有する高品質な映像信号に変換する機能を有する。例えば、解像度変換部１４０は、フレームレート変換やＩＰ変換等の機能を有する。
【００４５】
《映像信号復元部１１０》
まず、映像信号復元部１１０について詳細に説明する。図７に示すように、映像信号復元部１１０は、例えば、可変長復号部１１２と、逆量子化部１１４と、変換復号部１１６と、動き補償復号部１１８と、フレームメモリ１２０とにより構成される。
【００４６】
可変長復号部１１２は、入力端子Ｉｎから入力される可変長符号化（ＶＬＣ；Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）された符号化データ（例えば、ＭＰＥＧビットストリーム等）を復号（ＶＬＤ；Ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  Ｄｅｃｏｄｉｎｇ）する。次いで、逆量子化部１１４は、可変長復号部１１２により可変長復号された符号化データを逆量子化する。次いで、変換復号部１１６は、逆量子化された符号化データを逆離散コサイン変換（ＩＤＣＴ；Ｉｎｖｅｒｓｅ  Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）する。但し、符号化データの変換方式に、ＤＣＴとは異なる他の変換方式（例えば、ＫＬ変換（Ｋａｒｈｕｎｅｎ−Ｌｏｅｖｅ  Ｔｒａｎｓｆｏｒｍ）やウェーブレット変換等）を用いることもできる。その場合、変換復号部１１６は、他の変換方式に応じた逆変換をする。
【００４７】
次いで、動き補償復号部１１８は、変換復号部１１６により復号された符号化データから動きベクトルを算出し、これに基づいて元の映像信号を復元する。例えば、動きベクトルは、マクロブロック単位で算出される。このとき、動き補償復号部１１８は、フレームを蓄積するためのフレームメモリ１２０を利用する。例えば、動き補償復号部１１８は、動きベクトルに基づいて算出される差分画像とフレームメモリ１２０に蓄積されたフレーム画像とを合成して映像信号を復元する等の処理を実行する。そして、動き補償復号部１１８は、復元された映像信号の情報（例えば、色度値（Ｙ，Ｃｂ，Ｃｒ）等）と、符号化データから抽出された動きベクトルの情報（例えば、図１のＭＶ０２に相当）とを解像度変換部１４０に伝送する。
【００４８】
《解像度変換部１４０》
次に、解像度変換部１４０について詳細に説明する。図７に示すように、解像度変換部１４０は、例えば、補間動きベクトル算出部１４２と、補間フレーム生成部１４４と、フレームメモリ１４６とにより構成される。尚、補間動きベクトル算出部１４２は、領域設定部の一例である。
【００４９】
（補間動きベクトル算出部１４２）
補間動きベクトル算出部１４２は、映像信号復元部１１０の動き補償復号部１１８から取得した映像信号の情報と動きベクトルの情報とに基づいて、補間フレームを生成するための補間動きベクトルＭＶｉｔｐを算出する。このとき、補間動きベクトル算出部１４２は、ブロックマッチング法を用いて補間動きベクトルを算出する。但し、本実施形態に係る補間動きベクトル算出部１４２は、動き補償復号部１１８から取得した動きベクトルの方向性に応じて、効率的に補間動きベクトルを推定する機能を有している。そこで、この機能について、図８を参照しながら、より詳細に説明する。図８は、本実施形態に係る補間動きベクトルの推定方法の一例を示す説明図である。
【００５０】
図８には、参照ブロックＲ、Ｒ’の移動状態Ｓ（ｘ，ｙ）（ｘ＝−５〜５，ｙ＝−３〜３）に加え、動き補償復号部１１８により得られた動きベクトルＭＶ０２と、検索領域ＳＡとが示されている。検索領域ＳＡは、ブロックマッチングのために参照ブロックを移動させる範囲を表す。また、検索領域ＳＡは、補間動きベクトル算出部１４２により設定される。本実施形態は、この検索領域ＳＡを設定する構成に特徴を有している。図８に示す例の場合、補間動きベクトル算出部１４２は、動きベクトルＭＶ０２が左下（−ｘ、−ｙ）方向を示しているため、「左下向きの動きベクトル」に対応する範囲（第３象限に相当）を検索領域ＳＡに設定する。そして、補間動きベクトル算出部１４２は、設定された検索領域ＳＡの範囲に対して、参照フレームを移動しながら１画素又は少数の画素単位でブロックマッチングを実行する。
【００５１】
上記のように、補間動きベクトル算出部１４２は、動き補償復号部１１８により得られた動きベクトルの方向性と、「補間動きベクトルの方向性」とが一致する範囲内で、参照ブロックを移動させる検索領域ＳＡの範囲を設定する。そのため、上記の全検索と同程度の画素単位でブロックマッチングを実行したとしても、上記の全検索に比べて大幅に計算リソースを低減させることが可能になる。図８の例では、計算リソースが１／４程度にまで削減されることがわかる。
【００５２】
また、補間動きベクトル算出部１４２は、動き補償復号部１１８により得られた動きベクトルが示す参照フレームの位置を基準にして、その周辺の所定画素数を検索領域ＳＡに設定することも可能である。例えば、参照ブロックのサイズを大きく設定した場合、動きベクトルの方向性に基づいて検索領域ＳＡを設定したとしても、必要な計算リソースが依然として大きい場合も考えられる。その場合、移動範囲をある程度制限した上で、動きベクトルの方向性に沿った検索領域ＳＡを設定することで、計算リソースと動き推定精度とのバランスをとることが可能になる。例えば、図８のように、動きベクトルＭ０２がＳ（−５，−３）に対応する場合、補間動きベクトル算出部１４２は、Ｓ（ｘ，ｙ）（ｘ＝−５〜−２，ｙ＝−３〜０）までを検索領域ＳＡに設定することもできる。
【００５３】
その後、補間動きベクトル算出部１４２は、算出された補間動きベクトル（ＭＶｉｔｐ）を補間フレーム生成部１４４に伝送する。
【００５４】
（補間フレーム生成部１４４）
再び図７を参照する。補間フレーム生成部１４４には、動き補償復号部１１８により得られた映像信号と、補間動きベクトル算出部１４２により算出された補間動きベクトルとが入力される。そこで、補間フレーム生成部１４４は、入力された映像信号と補間動きベクトルとを用いて補間フレームを生成する。このとき、補間フレーム生成部１４４は、フレームを蓄積するためのフレームメモリ１４６を利用する。例えば、補間フレーム生成部１４４は、補間動きベクトルに基づいて算出される差分画像とフレームメモリ１４６に蓄積されたフレーム画像とを合成して高品質の映像信号を復元する等の処理を行う。但し、フレームメモリ１４６は、フレームメモリ１２０と一体に構成してもよい。
【００５５】
そして、補間フレーム生成部１４４は、生成された補間フレームを元の映像信号に挿入して高品質の映像信号を生成する。例えば、補間フレーム生成部１４４は、補間フレームを利用して、フレームレート変換やＩＰ変換等の高画質化処理を行う。その後、補間フレーム生成部１４４は、高品質の映像信号を出力端子Ｏｕｔに出力する。
【００５６】
以上、本発明の一実施形態に係る映像処理装置１００の機能構成について説明した。上記のように、本実施形態に係る映像処理装置１００は、符号化データから映像信号を復元する際に得られる動きベクトルを用いて、補間フレームを生成するために利用する補間動きベクトルを低計算リソースで高精度に推定することができる。その結果、補間動きベクトルの推定精度に起因して高画質化処理の際に発生するノイズを低減させることが可能になる。
【００５７】
［映像処理方法］
ここで、図９を参照しながら、本実施形態に係る映像処理方法について説明する。図９は、本実施形態に係る映像処理方法の流れを示す説明図である。
【００５８】
まず、全体的な流れについて説明する。図９に示すように、映像処理装置１００は、まず、入力された符号化データを復号する（Ｓ１００）。Ｓ１００は、映像信号復元部１１０による処理に対応する。次いで、映像処理装置１００は、（補間）動きベクトルを算出する（Ｓ２００）。Ｓ２００は、補間動きベクトル算出部１４２による処理に対応する。次いで、映像処理装置１００は、補間画素を作成する（Ｓ３００）。Ｓ３００は、補間フレーム生成部１４４による処理に対応する。
【００５９】
既に述べた通り、本実施形態は、補間動きベクトル算出部１４２による補間動きベクトルの算出処理が重要である。そこで、Ｓ２００の処理について詳細に説明する。
【００６０】
図９に示すように、補間動きベクトル算出部１４２は、第１のループ処理（Ｌｏｏｐ．１）を開始する（Ｓ２０２）。次いで、補間動きベクトル算出部１４２は、参照ブロックを移動させる（Ｓ２０４）。次いで、補間動きベクトル算出部１４２は、第２のループ処理（Ｌｏｏｐ．２）を開始する（Ｓ２０６）。次いで、補間動きベクトル算出部１４２は、参照ブロックに含まれる画素に対して画素値の差分を算出する（Ｓ２０８）。次いで、補間動きベクトル算出部１４２は、画素値の差分に対して差分絶対値を算出する（Ｓ２１０）。次いで、補間動きベクトル算出部１４２は、差分絶対値を累積加算する（Ｓ２１２）。補間動きベクトル算出部１４２は、参照ブロックの画素数分だけ第２のループ（Ｌｏｏｐ．２；Ｓ２０８〜Ｓ２１４）に含まれる処理を繰り返す。
【００６１】
さらに、補間動きベクトル算出部１４２は、ブロックの移動数分だけ第１のループ（Ｌｏｏｐ．１；Ｓ２０４〜Ｓ２１６）に含まれる処理を繰り返す。最後に、補間動きベクトル算出部１４２は、最小の累積加算値を抽出する（Ｓ２１８）。以上の処理により、補間動きベクトル算出部１４２は、補間動きベクトルを算出することができる。但し、補間動きベクトル算出部１４２は、所定の検索領域ＳＡの範囲内で参照ブロックを移動（Ｓ２０２）して上記の処理を実行している点に注意が必要である。
【００６２】
以上、本発明の一実施形態に係る映像処理方法について説明した。この方法を用いると、精度良く補間動きベクトルを推定することが可能になるため、動きベクトルを用いた映像信号の高画質化処理が可能になる。通常、ＭＰＥＧデコードの際、マクロブロック単位で動きベクトルが算出される。しかし、フレームレート変換やＩＰ変換等の高画質化処理を施すためには、マクロブロック単位よりも細かい動きベクトルが必要とされる。そこで、本件出願人は、マクロブロック単位で算出された動きベクトルに近い範囲でブロックマッチングすることにより、より高精細な動きベクトルを推定する上記の方法を考案した。この方法により、上記の全検索と実質的に同等の精度を有する動きベクトルを低い演算負荷で実現される。その結果、より高画質な映像信号が得られるものと期待される。
【００６３】
［第１変形例］
次に、図１０を参照しながら、本実施形態の第１変形例について説明する。図１０は、本実施形態の第１変形例を示す説明図である。
【００６４】
既に説明したように、本実施形態に係る補間動きベクトル算出部１４２は、符号化データの復号時に得られる動きベクトルに応じて検索領域ＳＡの方向性を設定することができる。図８の例では、検索領域ＳＡとして、動きベクトルＭＶ０２と同じ左下方向を向く動きベクトルに対応する左下領域のみが設定された。しかし、補間動きベクトル算出部１４２は、実施の態様に応じて、適宜、その検索領域ＳＡを変形することが可能である。その一例が図１０である。
【００６５】
例えば、補間動きベクトル算出部１４２は、動きベクトルＭＶ０２の方向性と、「検索領域ＳＡの方向性」とが一致するように、選択領域ＳＡの範囲を設定することができる。この場合、動きベクトルＭＶ０２の方向性と補間動きベクトルの方向性とが一致しない状態も検索領域ＳＡに含まれるが、特に、動きベクトルＭＶ０２の推定精度が低い場合等において、補間動きベクトルの推定精度を向上させる効果が期待できる。
【００６６】
［第２変形例］
次に、図１１を参照しながら、本実施形態の第２変形例について説明する。図１１は、本実施形態の第２変形例を示す説明図である。
【００６７】
図１１に示すように、補間動きベクトル算出部１４２は、上記の第１変形例よりも更に広い範囲を検索領域ＳＡに設定することも可能である。図１１の例は、動きベクトルＭＶ０２の方向と逆方向の方向性を有する補間動きベクトルを排除する場合を示している。このように、補間動きベクトル算出部１４２は、符号化データから得られる動きベクトルの方向性と逆の方向性を有する補間動きベクトルを含まない検索領域ＳＡの範囲を設定し、その範囲内で細かくブロックマッチングを行うことが可能である。その結果、上記の第１変形例よりも、参照ブロックを移動させる範囲が広がるため、動きベクトルの推定精度が向上するという効果が期待される。
【００６８】
［ハードウェア構成］
上記装置が有する各構成要素の機能は、例えば、図１２に示すハードウェア構成を有する情報処理装置により実現することが可能である。図１２は、上記装置の各構成要素が有する機能を実現することが可能な情報処理装置のハードウェア構成を示す説明図である。
【００６９】
図１２に示すように、前記の情報処理装置は、主に、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０４と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０６と、ホストバス９０８と、ブリッジ９１０と、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とにより構成される。
【００７０】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、例えば、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータ等を格納する。ＲＡＭ９０６は、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等を一時的又は永続的に格納する。これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス９０８によって相互に接続されている。また、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続されている。
【００７１】
入力部９１６は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等の操作手段である。また、入力部９１６は、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントロール手段（所謂、リモコン）であってもよい。なお、入力部９１６は、上記の操作手段を用いて入力された情報を入力信号としてＣＰＵ９０２に伝送するための入力制御回路等により構成されている。
【００７２】
出力部９１８は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＰＤＰ（Ｐｌａｓｍａ  ＤｉｓｐｌａｙＰａｎｅｌ）、又はＥＬＤ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。
【００７３】
記憶部９２０は、各種のデータを格納するための装置であり、例えば、ハードディスクドライブ（ＨＤＤ；Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等により構成される。
【００７４】
ドライブ９２２は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８は、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア、ＨＤ−ＤＶＤメディア、コンパクトフラッシュ（ＣＦ；ＣｏｍｐａｃｔＦｌａｓｈ）（登録商標）、メモリースティック、又はＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等である。もちろん、リムーバブル記録媒体９２８は、例えば、非接触型ＩＣチップを搭載したＩＣカード（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｃａｒｄ）、又は電子機器等であってもよい。
【００７５】
接続ポート９２４は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９３０を接続するためのポートである。外部接続機器９３０は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。
【００７６】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスであり、例えば、有線又は無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、又は各種通信用のモデム等である。また、通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、放送、又は衛星通信等である。
【００７７】
以上、本発明の好適な実施形態について詳細に説明した。上記の技術を適用することにより、例えば、（１）計算リソースの削減、（２）動き推定の精度向上、（３）ＩＰ変換の品質向上、（４）フレームレート変換の品質向上、（５）高画質化処理の品質向上等の効果が期待される。
【００７８】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【００７９】
例えば、ブロックマッチングを行う際に、参照ブロックの移動量を大きく設定することで、より動きベクトルの推定精度を向上させることができる。或いは、上記の実施形態に係る映像処理方法と、「ブロックマッチングする範囲を限定する方法」、「ブロックマッチングするエリアを縮小する方法」、又は「階層的にブロックマッチングする方法」とを組み合わせて用いることもできる。これらの変形は、計算リソースと必要な動きベクトルの推定精度との兼ね合いに応じて適宜調整されうる。
【図面の簡単な説明】
【００８０】
【図１】動きベクトルによるフレームレート変換の原理を示す説明図である。
【図２】ブロックマッチング法の原理を説明するための説明図である。
【図３】ブロックマッチング法の原理を説明するための説明図である。
【図４】ブロックマッチングする範囲を限定する方法を示す説明図である。
【図５】ブロックマッチングするエリアを縮小する方法を示す説明図である。
【図６】階層的にブロックマッチングする方法を示す説明図である。
【図７】本発明の一実施形態に係る映像処理装置の機能構成例を示す説明図である。
【図８】同実施形態に係る補間動きベクトルの推定方法を示す説明図である。
【図９】同実施形態に係る映像処理方法の流れを示す説明図である。
【図１０】同実施形態の第１変形例に係る補間動きベクトルの推定方法を示す説明図である。
【図１１】同実施形態の第２変形例に係る補間動きベクトルの推定方法を示す説明図である。
【図１２】同実施形態に係る映像処理装置のハードウェア構成例を示す説明図である。
【符号の説明】
【００８１】
１００    映像処理装置
１１０    映像信号復元部
１１２    可変長復号部
１１４    逆量子化部
１１６    変換復号部
１１８    動き補償復号部
１２０、１４６    フレームメモリ
１４０    解像度変換部
１４２    補間動きベクトル算出部
１４４    補間フレーム生成部
【図１】
2009027643.tif 000003
【図２】
2009027643.tif 000004
【図３】
2009027643.tif 000005
【図４】
2009027643.tif 000006
【図５】
2009027643.tif 000007
【図６】
2009027643.tif 000008
【図７】
2009027643.tif 000009
【図８】
2009027643.tif 000010
【図９】
2009027643.tif 000011
【図１０】
2009027643.tif 000012
【図１１】
2009027643.tif 000013
【図１２】
2009027643.tif 000014