(57)【特許請求の範囲】
【請求項１】
低解像度入力画像と低解像度参照画像とから高解像度な画像用の動きベクトルを推定する画像処理装置において、
入力された上記低解像度入力画像と上記低解像度参照画像とに基づいて、粗粒度な動きベクトルを検出し、当初の動きベクトル候補として出力する当初動きベクトル候補生成部と、
入力された動きベクトル候補の粒度を徐々に細かくしていく動きベクトル粒度向上部とを備え、
上記動きベクトル粒度向上部が、
動きベクトル候補を平滑化し、平滑化された動きベクトルを出力する動きベクトル平滑化部と、
平滑化された動きベクトルが、予め定められた粒度よりも粗いか否かを判定し、平滑化された動きベクトルが、予め定められた粒度以下の粒度の場合に、当該動きベクトル粒度向上部から出力させる制御部と、
平滑化された動きベクトルが、予め定められた粒度よりも粗い粒度の場合に、平滑化された動きベクトルが与えられ、平滑化された動きベクトルを細分化し、細分化された動きベクトルを新たな動きベクトル候補とする動きベクトル細分化部とを有し、
入力された基準ビットストリームを復号することで上記低解像度入力画像を生成する基準復号部と、
入力されたＤＶＣビットストリームを、上記予測された高解像度入力画像を用いてＤＶＣ復号することで高解像度画像を生成するＤＶＣ復号部と、
上記低解像度入力画像が、符号化されるときに参照していた画像のインデックスを、当該基準ビットストリームから求め、参照画像インデックスを出力する参照インデックス計算部と、
上記参照画像インデックスが指す画像を内部メモリから取り出し、上記低解像度参照画像として出力すると共に、復号済みの当該低解像度入力画像を、内部メモリに一時的に保持する低解像度参照画像選択部と、
上記参照画像インデックスが指す画像を内部メモリから取り出し、上記高解像度参照画像として出力すると共に、復号済みの当該高解像度画像を、内部メモリに一時的に保持する高解像度参照画像選択部とをさらに備える
ことを特徴とする画像処理装置。
【請求項２】
上記当初動きベクトル候補生成部は、粗粒度な動きベクトルの検出動作に代え、上記基準ビットストリームから、低解像度入力画像を符号化するのに利用されていた動きベクトルを抽出し、当初の動きベクトル候補として出力することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記高解像度画像と上記高解像度参照画像とから、動きベクトルを推定する動きベクトル改善部を備えることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
上記動きベクトル改善部は、
上記高解像度画像と上記高解像度参照画像とから、粗粒度な動きベクトルを検出し、改善動きベクトル候補として出力する第２動きベクトル検出部と、
当該改善動きベクトル候補を、上記高解像度画像と上記高解像度参照画像とを用いて平滑化し、平滑化された動きベクトルを出力する第２動きベクトル平滑化部と、
当該平滑化された動きベクトルが、予め定められた粒度よりも粗いか否かを判定し、平滑化された動きベクトルが、予め定められた粒度以下の粒度の場合に、当該動きベクトル改善部から出力させる第２制御部と、
平滑化された動きベクトルが、予め定められた粒度よりも粗い粒度の場合に、平滑化された動きベクトルが与えられ、平滑化された動きベクトルを細分化し、細分化された動きベクトルを改善動きベクトル候補として上記第２動きベクトル平滑化部に出力する第２動きベクトル細分化部とを有する
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
上記動きベクトル改善部は、内部で生成された改善動きベクトル候補とゼロベクトルのうち、精度が良い方を選択して、新たな改善動きベクトル候補とする第２ゼロベクトル選択部をさらに有することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
上記動きベクトル改善部は、内部で生成された改善動きベクトル候補の動きベクトルを中心にして、よりコストの低い動きベクトルを探索し微調整し、微調整された動きベクトルを新たな改善動きベクトル候補とする動きベクトル微調整部をさらに有することを特徴とする請求項４に記載の画像処理装置。
【請求項７】
上記動きベクトル改善部には、上記入力画像拡大部からの上記拡大入力画像と、上記参照画像拡大部からの上記拡大参照画像とが入力され、
上記動きベクトル改善部の構成要素のうち、動きベクトルのコスト計算を伴う処理を行う少なくとも一部の構成要素は、上記高解像度画像と上記高解像度参照画像とを用いて計算される動きベクトルのコストに、上記拡大入力画像と上記拡大参照画像とを用いて計算される動きベクトルのコストを加えることで、動きベクトルのコストを計算する
ことを特徴とする請求項４〜６のいずれかに記載の画像処理装置。
【請求項８】
上記動きベクトル改善部の上記第２動きベクトル検出部には、上記高解像度画像と上記高解像度参照画像とではなく、上記低解像度入力画像と上記低解像度参照画像とが入力され、上記第２動きベクトル検出部は、これら上記低解像度入力画像と上記低解像度参照画像とから粗粒度な動きベクトルを検出し、その後、検出された粗粒度な動きベクトルを、所定の比率で拡大し、改善動きベクトル候補として出力することを特徴とする請求項４〜７のいずれかに記載の画像処理装置。
【請求項９】
上記高解像度参照画像と、上記動きベクトル改善部の出力する改善動きベクトルとを用いて、予測された高解像度入力画像を生成する予測画像再生成部をさらに備えることを特徴とする請求項４〜８のいずれかに記載の画像処理装置。
【請求項１０】
上記ＤＶＣビットストリームを、上記予測画像再生成部の出力する予測された高解像度入力画像を用いてＤＶＣ復号することで、改善後高解像度画像を生成する第２ＤＶＣ復号部をさらに備えることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
上記高解像度参照画像選択部は、上記参照画像インデックスが指す画像を内部メモリから取り出し、上記高解像度参照画像として出力すると共に、復号済みの上記高解像度画像に代えて、復号済みの上記改善後高解像度画像を内部メモリに一時的に保持するものであることを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
画像処理装置に搭載されるコンピュータを、
入力された低解像度入力画像と低解像度参照画像とに基づいて、粗粒度な動きベクトルを検出し、当初の動きベクトル候補として出力する当初動きベクトル候補生成部と、
動きベクトル候補を平滑化し、平滑化された動きベクトルを出力する動きベクトル平滑化部と、
平滑化された動きベクトルが、予め定められた粒度よりも粗いか否かを判定し、平滑化された動きベクトルが、予め定められた粒度以下の粒度の場合に、当該動きベクトル粒度向上部から出力させる制御部と、
平滑化された動きベクトルが、予め定められた粒度よりも粗い粒度の場合に、平滑化された動きベクトルが与えられ、平滑化された動きベクトルを細分化し、細分化された動きベクトルを新たな動きベクトル候補とする動きベクトル細分化部と、
入力された基準ビットストリームを復号することで上記低解像度入力画像を生成する基準復号部と、
入力されたＤＶＣビットストリームを、上記予測された高解像度入力画像を用いてＤＶＣ復号することで高解像度画像を生成するＤＶＣ復号部と、
上記低解像度入力画像が、符号化されるときに参照していた画像のインデックスを、当該基準ビットストリームから求め、参照画像インデックスを出力する参照インデックス計算部と、
上記参照画像インデックスが指す画像を内部メモリから取り出し、上記低解像度参照画像として出力すると共に、復号済みの当該低解像度入力画像を、内部メモリに一時的に保持する低解像度参照画像選択部と、
上記参照画像インデックスが指す画像を内部メモリから取り出し、上記高解像度参照画像として出力すると共に、復号済みの当該高解像度画像を、内部メモリに一時的に保持する高解像度参照画像選択部と
して機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに関し、例えば、低解像度入力画像と低解像度参照画像とから高解像度な画像用の動きベクトルを推定する場合や、推定された動きベクトルと高解像度参照画像とを用いて高解像度入力画像を予測する場合に適用し得るものである。
【背景技術】
【０００２】
特許文献１にて提案されている技術は、低解像度画像と高解像度画像を交互に符号化・復号するシステムにおいて、低解像度画像と類似する領域を高解像度画像の中から検出する手段と、低解像度画像と上記類似領域を画素混合する手段とを組み合わせることで、低解像度画像を拡大したときの解像度感を高める方法である。低解像度画像と類似する領域を高解像度画像の中から検出する方法は、高解像度画像を所定の方法で低解像度化し、入力された低解像度画像と高解像度画像から生成された低解像度画像の間で動きベクトルを検出し、得られた動きベクトルを低解像度画像と高解像度画像との解像度比（以下、低解像度画像と高解像度画像との解像度比を、単に「解像度比」と呼ぶ）で拡大して求められた動きベクトルを利用して検出する方法である。
【０００３】
次に、低解像度入力画像と低解像度参照画像と高解像度参照画像とから高解像度入力画像を予測する従来技術を、図１８を参照しながら説明する。
【０００４】
図１８において、動きベクトル検出部１０１は、入力された低解像度入力画像ＬＲＰＩＣと低解像度参照画像ＬＲＰＩＣｒｅｆとの間で動きベクトルを検出し、低解像度画像用の動きベクトルＭＢ１０１を出力し、動きベクトル拡大部１０２は、低解像度画像用の動きベクトルＭＢ１０１を解像度比で拡大し、拡大後の動きベクトルＭＢ１０２を出力する。そして、予測画像生成部１０３は、動きベクトルＭＢ１０２と高解像度参照画像ＨＲＰＩＣｒｅｆとに基づいて、予測される高解像度入力画像（高解像度入力画像の予測画像）ＨＲＰＩＣＰＲを生成する。
【０００５】
予測画像生成部１０３による生成方法には様々な方法が存在する。例えば、高解像度参照画像ＨＲＰＩＣｒｅｆに動き補償を行うと共に、低解像度入力画像ＬＲＰＩＣを所定の方法で拡大し、その拡大画像と動き補償画像とを画素混合して、予測される高解像度入力画像ＨＲＰＩＣＰＲを生成する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１５２６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、低解像度入力画像と低解像度参照画像とから、高解像度画像用の、粒度が細かく精度の高い動きベクトルを検出することが困難である（但し、粒度は動きベクトルを得るブロック（領域）の大きさを表している；より具体的な説明は後述する）。低解像度画像に係る動きベクトルを高解像度画像用に拡大しても、その粒度や精度は、低解像度画像用の元々の動きベクトルと同程度であり、粒度や精度はほとんど向上しない。低解像度画像は、高周波成分が欠落しているために、特に粒度の細かい動きベクトルを検出する場合に、動きベクトルの検出精度が低下する。加えて、粒度の細かい動きベクトルを検出しようとすると、演算量が著しく増加するという課題もある。
【０００８】
そのため、低解像度入力画像と低解像度参照画像とから、粒度の細かい高精度の高解像度画像用の動きベクトルを推定できる画像処理装置及びプログラムが望まれている。
【課題を解決するための手段】
【０００９】
第１の本発明は、低解像度入力画像と低解像度参照画像とから高解像度な画像用の動きベクトルを推定する画像処理装置において、（１）入力された上記低解像度入力画像と上記低解像度参照画像とに基づいて、粗粒度な動きベクトルを検出し、当初の動きベクトル候補として出力する当初動きベクトル候補生成部と、（２）入力された動きベクトル候補の粒度を徐々に細かくしていく動きベクトル粒度向上部とを備え、上記動きベクトル粒度向上部が、（２−１）動きベクトル候補を平滑化し、平滑化された動きベクトルを出力する動きベクトル平滑化部と、（２−２）平滑化された動きベクトルが、予め定められた粒度よりも粗いか否かを判定し、平滑化された動きベクトルが、予め定められた粒度以下の粒度の場合に、当該動きベクトル粒度向上部から出力させる制御部と、（２−３）平滑化された動きベクトルが、予め定められた粒度よりも粗い粒度の場合に、平滑化された動きベクトルが与えられ、平滑化された動きベクトルを細分化し、細分化された動きベクトルを新たな動きベクトル候補とする動きベクトル細分化部とを有し、（３）入力された基準ビットストリームを復号することで上記低解像度入力画像を生成する基準復号部と、（４）入力されたＤＶＣビットストリームを、上記予測された高解像度入力画像を用いてＤＶＣ復号することで高解像度画像を生成するＤＶＣ復号部と、（５）上記低解像度入力画像が、符号化されるときに参照していた画像のインデックスを、当該基準ビットストリームから求め、参照画像インデックスを出力する参照インデックス計算部と、（６）上記参照画像インデックスが指す画像を内部メモリから取り出し、上記低解像度参照画像として出力すると共に、復号済みの当該低解像度入力画像を、内部メモリに一時的に保持する低解像度参照画像選択部と、（７）上記参照画像インデックスが指す画像を内部メモリから取り出し、上記高解像度参照画像として出力すると共に、復号済みの当該高解像度画像を、内部メモリに一時的に保持する高解像度参照画像選択部とをさらに備えることを特徴とする。
【００１０】
第２の本発明の画像処理プログラムは、画像処理装置に搭載されるコンピュータを、（１）入力された低解像度入力画像と低解像度参照画像とに基づいて、粗粒度な動きベクトルを検出し、当初の動きベクトル候補として出力する当初動きベクトル候補生成部と、（２）動きベクトル候補を平滑化し、平滑化された動きベクトルを出力する動きベクトル平滑化部と、（３）平滑化された動きベクトルが、予め定められた粒度よりも粗いか否かを判定し、平滑化された動きベクトルが、予め定められた粒度以下の粒度の場合に、当該動きベクトル粒度向上部から出力させる制御部と、（４）平滑化された動きベクトルが、予め定められた粒度よりも粗い粒度の場合に、平滑化された動きベクトルが与えられ、平滑化された動きベクトルを細分化し、細分化された動きベクトルを新たな動きベクトル候補とする動きベクトル細分化部と、（５）入力された基準ビットストリームを復号することで上記低解像度入力画像を生成する基準復号部と、（６）入力されたＤＶＣビットストリームを、上記予測された高解像度入力画像を用いてＤＶＣ復号することで高解像度画像を生成するＤＶＣ復号部と、（７）上記低解像度入力画像が、符号化されるときに参照していた画像のインデックスを、当該基準ビットストリームから求め、参照画像インデックスを出力する参照インデックス計算部と、（８）上記参照画像インデックスが指す画像を内部メモリから取り出し、上記低解像度参照画像として出力すると共に、復号済みの当該低解像度入力画像を、内部メモリに一時的に保持する低解像度参照画像選択部と、（９）上記参照画像インデックスが指す画像を内部メモリから取り出し、上記高解像度参照画像として出力すると共に、復号済みの当該高解像度画像を、内部メモリに一時的に保持する高解像度参照画像選択部として機能させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、低解像度入力画像と低解像度参照画像とから、粒度の細かい高精度の高解像度画像用の動きベクトルを推定できる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係る画像処理装置の構成を示すブロック図である。
【図２】第１の実施形態に係る画像処理装置の動作を示すフローチャートである。
【図３】動きベクトルの粒度の説明図である。
【図４】動きベクトルの平滑化の説明図である。
【図５】第２の実施形態に係る画像処理装置の構成を示すブロック図である。
【図６】第２の実施形態に係る画像処理装置の動作を示すフローチャートである。
【図７】第３の実施形態に係る画像処理装置の構成を示すブロック図である。
【図８】第３の実施形態に係る画像処理装置の動作を示すフローチャートである。
【図９】第４の実施形態に係る画像処理装置の構成を示すブロック図である。
【図１０】第４の実施形態に係る画像処理装置における動きベクトル候補拡大部の動作の説明図である。
【図１１】第５の実施形態に係る画像処理装置の構成を示すブロック図である。
【図１２】第５の実施形態に係る画像処理装置の動作を示すフローチャートである。
【図１３】第６の実施形態に係る画像処理装置の構成を示すブロック図である。
【図１４】第７の実施形態に係る画像処理装置の構成を示すブロック図である。
【図１５】第７の実施形態に係る画像処理装置における画質改善部の詳細構成を示すブロック図である。
【図１６】第７の実施形態に係る画像処理装置の動作を示すフローチャートである。
【図１７】第７の実施形態に係る画像処理装置における画質改善動作の詳細を示すフローチャートである。
【図１８】従来の画像処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
（Ａ）第１の実施形態
以下、本発明による画像処理装置及びプログラムの第１の実施形態を、図面を参照しながら詳述する。
【００１４】
（Ａ−１）第１の実施形態の構成
図１は、第１の実施形態に係る画像処理装置の構成を示すブロック図であり、上述した図１８との同一、対応部分には同一符号を付して示している。第１の実施形態に係る画像処理装置は、ハードウェア的に構成しても良いが、ＣＰＵと、ＣＰＵが実行するプログラムとを中心としてソフトウェア的に構成しても良く、ソフトウェア的に構成した場合にも、機能的には、図１で表すことができる。
【００１５】
図１において、第１の実施形態に係る画像処理装置１００Ａは、動きベクトル検出部１０１と、動きベクトル平滑化部１０４と、制御部１０５と、動きベクトル細分化部１０６と、ゼロベクトル選択部１０７と、動きベクトル拡大部１０２と、予測画像生成部１０３とを有する。
【００１６】
動きベクトル検出部１０１は、低解像度入力画像ＬＲＰＩＣと低解像度参照画像ＬＲＰＩＣｒｅｆとの間で、粗粒度な動きベクトルを検出し、動きベクトル候補ＭＢ１０１Ｐとして出力するものである。
【００１７】
動きベクトル平滑化部１０４は、低解像度入力画像ＬＲＰＩＣと低解像度参照画像ＬＲＰＩＣｒｅｆとを用いて、動きベクトル候補ＭＢ１０１Ｐを平滑化し、平滑化された動きベクトルＭＢ１０４を出力するものである。
【００１８】
制御部１０５と、平滑化された動きベクトルＭＢ１０４が、予め定められた粒度よりも粗い粒度の場合には、平滑化された動きベクトルＭＢ１０４を平滑化された動きベクトルＭＢ１０５ａとして動きベクトル細分化部１０６に出力し、平滑化された動きベクトルＭＢ１０４が、予め定められた粒度以下の場合は、平滑化された動きベクトルＭＢ１０４を平滑化された動きベクトルＭＢ１０５ｂとして動きベクトル拡大部１０２に出力するものである。
【００１９】
動きベクトル細分化部１０６は、平滑化された動きベクトルＭＢ１０５ａを細分化し、細分化された動きベクトルＭＢ１０６を出力するものである。
【００２０】
ゼロベクトル選択部１０７は、細分化された動きベクトルＭＢ１０６とゼロベクトルのどちらが高精度かを、低解像度入力画像ＬＲＰＩＣと低解像度参照画像ＬＲＰＩＣｒｅｆとから選択し、選択された動きベクトルを動きベクトル候補ＭＢ１０１として動きベクトル平滑化部１０４に出力するものである。
【００２１】
この第１の実施形態の動きベクトル拡大部１０２は、平滑化された動きベクトルＭＢ１０５ｂを解像度比で拡大し、拡大された動きベクトルを動きベクトルＭＢ１０２として出力するものである。
【００２２】
この第１の実施形態の予測画像生成部１０３も、高解像度参照画像ＨＲＰＩＣｒｅｆと動きベクトルＭＢ１０２とを用いて、予測された高解像度入力画像ＨＲＰＩＣＰＲを生成するものである。
【００２３】
なお、予測画像生成部１０３は、従来技術の項でも記載したように、様々な実装が可能である。この第１の実施形態は、動きベクトルＭＢ１０２と高解像度参照画像ＨＲＰＩＣｒｅｆとから、動き補償を用いて予測された高解像度入力画像ＨＲＰＩＣＰＲを生成する場合を例に説明するが、他の方法で高解像度入力画像ＨＲＰＩＣＰＲを生成しても良い。例えば、低解像度入力画像ＬＲＰＩＣを既知のフィルタによって拡大し、それを動き補償によって生成した画像と、高解像度参照画像ＨＲＰＩＣｒｅｆとを画素混合（例えば重み付け合成）して高解像度参照画像ＨＲＰＩＣｒｅｆを生成するようにしても良い。
【００２４】
また、第１の実施形態では、ゼロベクトル選択部１０７を含んだ構成について説明するが、ゼロベクトル選択部１０７を含まない構成であっても良い。但し、ゼロベクトル選択部１０７を含まない構成で動作させる場合、演算量が削減される分、得られる動きベクトルの精度も低下する。ゼロベクトル選択部１０７を含まない構成では、動きベクトル細分化部１０６は、細分化された動きベクトルＭＢ１０６を動きベクトル候補ＭＢ１０１Ｐとして動きベクトル平滑化部１０４に出力する。
【００２５】
さらに、低解像度参照画像ＬＲＰＩＣｒｅｆは、図１に示す構成の外部で高解像度参照画像ＨＲＰＩＣｒｅｆから縮小フィルタによって生成されたものであっても良い。
【００２６】
（Ａ−２）第１の実施形態の動作
次に、以上のような構成を有する第１の実施形態に係る画像処理装置１００Ａの動作を、図１に加え、図２を参照しながら説明する。図２は、画像処理装置１００Ａの動作を示すフローチャートである。
【００２７】
まず、動きベクトル検出部１０１において、低解像度入力画像ＬＲＰＩＣと低解像度参照画像ＬＲＰＩＣｒｅｆとから粗粒度な動きベクトルを検出し、動きベクトル候補ＭＢ１０１Ｐとして出力する（ステップＳ１０１）。
【００２８】
１つの動きベクトルは、ある一定の領域に対して与えられる。この明細書では、その領域の大きさを粒度と呼んでいる。従って、粗粒度な動きベクトルとは、相対的に広い領域に対して与えられた動きベクトルであり、例えば、１６×１６画素で構成されるブロック（領域）に対して与えられる動きベクトルを用いる。図３は、粗粒度な動きベクトルと細粒度な動きベクトルを比較した例を示している。図３の例では、８×８画素で構成されるブロック（領域）に対して与えられる動きベクトルを細粒度な動きベクトルとしている。しかし、粒度はあくまで相対的な表現であり、例えば、８×８画素で構成されるブロック（領域）に対して与えられる動きベクトルは、４×４画素で構成されるブロック（領域）に対して与えられる動きベクトルから見れば粒度は粗い。
【００２９】
動きベクトルの検出方法は、ブロックマッチング法など、既存の検出方法を適用すれば良い。低解像度入力画像ＬＲＰＩＣと低解像度参照画像ＬＲＰＩＣｒｅｆは、動きベクトルを計算するために利用している。
【００３０】
動きベクトル平滑化部１０４において、動きベクトル候補ＭＢ１０１Ｐを平滑化し、平滑化された動きベクトルＭＢ１０４として出力する（ステップＳ１０２）。
【００３１】
図４は、動きベクトルの平滑化の説明図である。動きベクトルの平滑化とは、図４（Ａ）から図４（Ｂ）への変化のように、隣接する動きベクトルがなるべく同じ方向と大きさを持つように平滑化することである。動きベクトルの平滑化方法として、例えば、ベクトルメジアンフィルタによる方法がある。ベクトルメジアンフィルタは、隣接する動きベクトルがなるべく同じ方向と大きさを持つように、なおかつ、動きベクトルのコスト（コストが低いほど、その動きベクトルが高精度であるとみなす）がなるべく大きくならないように、動きベクトルを調整するフィルタである。そのため、ベクトルメジアンフィルタは、動きベクトルのコストの計算を行う際に、入力画像と参照画像を必要とする。ベクトルメジアンフィルタは、動きベクトルのコストも加味して平滑化処理を行うため、ベクトルメジアンフィルタを通したとしても、必ずしも隣接するベクトルが同じ方向、大きさを持つようになるとは限らない。第１の実施形態は、動きベクトル平滑化部１０４にベクトルメジアンフィルタを適用することとしており、そのために、動きベクトル平滑化部１０４に、低解像度入力画像ＬＲＰＩＣと低解像度参照画像ＬＲＰＩＣｒｅｆとを入力している。
【００３２】
しかしながら、動きベクトルの平滑化方法は、ベクトルメジアンフィルタを適用したものに限定されない。
【００３３】
なお、ベクトルメジアンフィルタについては、例えば、文献Ａ「Ｊ．Ａｓｃｅｎｓｏ，Ｃ．Ｂｒｉｔｅｓ，  ａｎｄ  Ｆ．Ｐｅｒｅｉｒａ，“Ｉｍｐｒｏｖｉｎｇ  ｆｒａｍｅ  ｉｎｔｅｒｐｏｌａｔｉｏｎ  ｗｉｔｈ  ｓｐａｔｉａｌ  ｍｏｔｉｏｎ  ｓｍｏｏｔｈｉｎｇ  ｆｏｒ  ｐｉｘｅｌ  ｄｏｍａｉｎ  ｄｉｓｔｒｉｂｕｔｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ，”５ｔｈ  ＥＵＲＡＳＩＰ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ，  ２００５．」に記載されている。また、特開２０１１−７７９４８号公報や特開２０１０−２８５２４号公報には、ベクトルメジアンフィルタに準じた動きベクトルの平滑化方法が記載されている。
【００３４】
制御部１０５において、平滑化された動きベクトルＭＢ１０４の粒度が設定値未満であるかどうかを判定する（ステップＳ１０３）。ここで、設定値とは、ベクトルの粒度を指定するものである。
【００３５】
平滑化された動きベクトルＭＢ１０４の粒度が設定値未満である場合、つまり平滑化された動きベクトルＭＢ１０４の粒度が設定値よりも粗い場合、例えば、設定値が４×４画素ブロックであるときに平滑化された動きベクトルＭＢ１０４の粒度が８×８画素ブロックであった場合、平滑化された動きベクトルＭＢ１０４を、平滑化された動きベクトルＭＢ１０５ａとして、動きベクトル細分化部１０６に出力する。
【００３６】
平滑化された動きベクトルＭＢ１０４の粒度が設定値以上である場合、つまり平滑化された動きベクトルＭＢ１０４の粒度が設定値以上に細かい場合、例えば設定値が４×４画素ブロックであるときに平滑化された動きベクトルＭＢ１０４の粒度が４×４画素ブロックであった場合、平滑化された動きベクトルＭＢ１０４を、平滑化された動きベクトルＭＢ１０５ｂとして、動きベクトル拡大部１０２に出力する。
【００３７】
動きベクトル細分化部１０６において、平滑化された動きベクトルＭＢ１０５ａを分割し、細分化された動きベクトルＭＢ１０６を出力する（ステップＳ１０４）。
【００３８】
動きベクトルの分割とは、より狭い領域に動きベクトルを割り当てることである。例えば、平滑化された動きベクトルＭＢ１０５ａが１６×１６画素単位当たりに一つ与えられていたとすると、細分化された動きベクトルＭＢ１０６は、８×８画素単位当たりに一つ与えられたものである。細分化された動きベクトルＭＢ１０６は、分割前の平滑化された動きベクトルＭＢ１０５ａと同じ向きと大きさを持つようにする。
【００３９】
平滑化された動きベクトルＭＢ１０５ａが有する領域を何分割するかに制限はないが、例えば、４分割する方法がある。上述した図３の細粒度動きベクトルは、粗粒度動きベクトルを４つに細分化した場合の例となっている。
【００４０】
以上のような動きベクトルの分割（細分）を繰り返すことによって、やがて、制御部１０５において、平滑化された動きベクトルＭＢ１０４の粒度が設定値以上に細かいと判定され、平滑化された動きベクトルＭＢ１０５ｂが動きベクトル拡大部１０２に出力されるようになる。
【００４１】
ゼロベクトル選択部１０７において、細分化された動きベクトルＭＢ１０６とゼロベクトルのうち、高精度である方（コストが小さい方）を選択し、選択された動きベクトルを動きベクトル候補ＭＢ１０１Ｐとして出力する（ステップＳ１０５）。低解像度入力画像ＬＲＰＩＣと低解像度参照画像ＬＲＰＩＣｒｅｆは、ゼロベクトル選択部１０７において、動きベクトルのコストを計算するために利用される。低解像度入力画像ＬＲＰＩＣ及び低解像度参照画像ＬＲＰＩＣｒｅｆの一方を動きベクトルＭＢ１０６を用いて動き補償し、その動き補償後の画像ブロックと、他方の画像ブロックとの相違度を表すコスト（相違が小さいほど小さいな値をとる）と、動き補償しない（ゼロベクトルでの動き補償）２つの画像ブロック間のコストとの比較で選択するベクトルを決定する。
【００４２】
なお、ゼロベクトル選択部１０７を含まないように、画像処理装置１００Ａを構成した場合には、ステップＳ１０５の処理は省略される。
【００４３】
動きベクトル拡大部１０２において、平滑化された動きベクトルＭＢ１０５ｂを解像度比で拡大し、拡大された動きベクトルを動きベクトルＭＢ１０２として出力する（ステップＳ１０６）。
【００４４】
最後に、予測画像生成部１０３において、動きベクトルＭＢ１０２と高解像度参照画像ＨＲＰＩＣｒｅｆを用いて予測された高解像度入力画像ＨＲＰＩＣＰＲを生成する（ステップＳ１０７）。
【００４５】
（Ａ−３）第１の実施形態の効果
以上のように、第１の実施形態によれば、粗粒度な動きベクトル検出と動きベクトルの平滑化と動きベクトルの細分化とゼロベクトルとの選択とを組み合わせることで、高周波成分の欠落した低解像度な画像からも、高精度な動きベクトルを検出することが可能になる。
【００４６】
その結果、低解像度な画像から得た動きベクトルを利用して、高解像度な画像用の動きベクトルを推定しても、推定した動きベクトルの精度を高いものとすることができ、推定した動きベクトルを高解像度参照画像に適用して得た予測された高解像度入力画像の精度を高いものとすることができる。
【００４７】
ここで、計算量が比較的多い、動きベクトル検出部が動作するのは、粗い粒度で動き検出するときだけであるため、演算量の増加を抑えることができる。すなわち、細かい粒度の動きベクトルの検出を高精度で可能にしつつ、検出に必要な演算量を抑制できる。その結果として、高解像度入力画像を低演算量かつ高精度で予測できる。
【００４８】
（Ｂ）第２の実施形態
次に、本発明による画像処理装置及びプログラムの第２の実施形態を、図面を参照しながら詳述する。
【００４９】
（Ｂ−１）第２の実施形態の構成
図５は、第２の実施形態に係る画像処理装置の構成を示すブロック図であり、上述した第１の実施形態に係る図１との同一、対応部分には同一符号を付して示している。
【００５０】
図５において、第２の実施形態に係る画像処理装置１００Ｂは、入力画像拡大部２０１と、参照画像拡大部２０２と、動きベクトル検出部１０１と、動きベクトル平滑化部１０４と、制御部１０５と、動きベクトル細分化部１０６と、ゼロベクトル選択部１０７と、予測画像生成部１０３とを有する。
【００５１】
第２の実施形態に係る画像処理装置１００Ｂは、第１の実施形態と比較すると、入力画像拡大部２０１及び参照画像拡大部２０２が増え、動きベクトル拡大部１０２が減っている。
【００５２】
入力画像拡大部２０１は、低解像度入力画像ＬＲＰＩＣを所定の方法で拡大し、高解像度画像と同じ解像度を持つ拡大入力画像ＥＸＰＩＣを出力するものである。
【００５３】
参照画像拡大部２０２は、低解像度参照画像ＬＲＰＩＣｒｅｆを所定の方法で拡大し、高解像度画像と同じ解像度を持つ拡大参照画像ＥＸＰＩＣｒｅｆを出力するものである。入力画像拡大部２０１及び参照画像拡大部２０２が適用している拡大方法は同一のものである。
【００５４】
動きベクトル検出部１０１、動きベクトル平滑化部１０４、制御部１０５、動きベクトル細分化部１０６及びゼロベクトル選択部１０７は、第１の実施形態のものとほぼ同様である。但し、動きベクトル検出部１０１と、動きベクトル平滑化部１０４及びゼロベクトル選択部１０７に入力される画像が、入力画像拡大部２０１及び参照画像拡大部２０２から出力された拡大入力画像ＥＸＰＩＣ及び拡大参照画像ＥＸＰＩＣｒｅｆである点が第１の実施形態とは異なっている。また、制御部１０５が、平滑化された動きベクトルＭＢ１０４が予め定められた粒度以下の粒度の場合は、平滑化された動きベクトルＭＢ１０４を動きベクトルＭＢ１０５ｂとして予測画像生成部１０３に出力する点が第１の実施形態と異なっている。ゼロベクトル選択部１０７からの選択動きベクトルは、動きベクトル平滑化部１０４にフィードバックされる。
【００５５】
予測画像生成部１０３も、第１の実施形態のものとほぼ同様である。但し、動きベクトルＭＢ１０５ｂが制御部１０５から与えられるので、その動きベクトルＭＢ１０５ｂを用いて、予測された高解像度入力画像ＨＲＰＩＣＰＲを生成する点が、第１の実施形態と異なっている。
【００５６】
なお、低解像度参照画像ＬＲＰＩＣｒｅｆが高解像度参照画像ＨＲＰＩＣｒｅｆから縮小フィルタによって生成するシステムの場合であれば、参照画像拡大部２０２を省略し、拡大参照画像ＥＸＰＩＣｒｅｆに代えて、高解像度参照画像ＨＲＰＩＣｒｅｆを、動きベクトル検出部１０１と、動きベクトル平滑化部１０４及びゼロベクトル選択部１０７に入力するようにしても良い。
【００５７】
（Ｂ−２）第２の実施形態の動作
次に、以上のような構成を有する第２の実施形態に係る画像処理装置１００Ｂの動作を、図５に加え、図６を参照しながら説明する。図６は、第２の実施形態に係る画像処理装置１００Ｂの動作を示すフローチャートであり、第１の実施形態に係る上述した図２との同一、対応ステップには同一符号を付して示している。
【００５８】
まず、入力画像拡大部２０１において、低解像度入力画像ＬＲＰＩＣを解像度比で拡大することで、拡大入力画像ＥＸＰＩＣを生成し（ステップＳ２０１）、また、参照画像拡大部２０２において、低解像度参照画像ＬＲＰＩＣｒｅｆを解像度比で拡大することで、拡大参照画像ＥＸＰＩＣｒｅｆを生成する（ステップＳ２０２）。これらの拡大は、Ｂｉｌｉｎｅａｒ法やＢｉｃｕｂｉｃ法などの既存の拡大方法を用いて行う。なお、ステップＳ２０１及びＳ２０２の拡大処理はいずれを先に実行しても良く、図６とは異なるが、並行的に実行しても良い。
【００５９】
動きベクトル検出部１０１において、拡大入力画像ＥＸＰＩＣと拡大参照画像ＥＸＰＩＣｒｅｆとを用いて粗粒度な動きベクトルを検出し、動きベクトル候補ＭＢ１０１として出力する（ステップＳ１０１）。
【００６０】
動きベクトル平滑化部１０４において、拡大入力画像ＥＸＰＩＣと拡大参照画像ＥＸＰＩＣｒｅｆとを用いて、動きベクトル候補ＭＢ１０１Ｐを平滑化し、平滑化された動きベクトルＭＢ１０４として出力する（ステップＳ１０２）。
【００６１】
制御部１０５において、平滑化された動きベクトルＭＢ１０４の粒度が設定値未満であるかどうかを判定し、判定結果に応じて、動きベクトル細分化部１０６又は予測画像生成部１０３に出力する（ステップＳ１０３）。第１の実施形態と異なるのは、設定値以上である場合、つまり平滑化された動きベクトルＭＢ１０４の粒度が設定値以上に細かい場合に、平滑化された動きベクトルＭＢ１０４を、動きベクトル１０５Ｂｂとして、予測画像生成部１０３に出力する点である。
【００６２】
動きベクトル細分化部１０６において、平滑化された動きベクトル１０５Ｂａを分割し、細分化された動きベクトルＭＢ１０６として出力する（ステップＳ１０４）。
【００６３】
ゼロベクトル選択部１０７において、細分化された動きベクトルＭＢ１０６とゼロベクトルとの精度（コスト）を、拡大入力画像ＥＸＰＩＣと拡大参照画像ＥＸＰＩＣｒｅｆとを用いて算出し、高精度である方（コストが小さい方）を選択し、選択された動きベクトルを動きベクトル候補ＭＢ１０１Ｐとして出力する（ステップＳ１０５）。
【００６４】
予測画像生成部１０３において、制御部１０５から与えられた動きベクトル１０５Ｂｂと、高解像度参照画像ＨＲＰＩＣｒｅｆとを用いて、予測された高解像度入力画像ＨＲＰＩＣＰＲを生成する（ステップＳ１０７）。
【００６５】
（Ｂ−３）第２の実施形態の効果
以上のように、第２の実施形態によれば、拡大入力画像と拡大参照画像を生成し、拡大入力画像と拡大参照画像に基づき、粗粒度な動きベクトルの検出、動きベクトルの平滑化、動きベクトルの細分化、ゼロベクトルとの選択を行えることで、高精度な動きベクトルを検出（推定）することが可能になる。結果として、高解像度入力画像を高精度で予測することができる。
【００６６】
（Ｃ）第３の実施形態
次に、本発明による画像処理装置及びプログラムの第３の実施形態を、図面を参照しながら詳述する。
【００６７】
（Ｃ−１）第３の実施形態の構成
図７は、第３の実施形態に係る画像処理装置の構成を示すブロック図であり、上述した第２の実施形態に係る図５との同一、対応部分には同一符号を付して示している。
【００６８】
図７において、第３の実施形態に係る画像処理装置１００Ｃは、入力画像拡大部２０１と、参照画像拡大部２０２と、動きベクトル検出部１０１と、動きベクトル候補拡大部３０１と、動きベクトル平滑化部１０４と、制御部１０５と、動きベクトル細分化部１０６と、ゼロベクトル選択部１０７と、予測画像生成部１０３とを有する。
【００６９】
第３の実施形態に係る画像処理装置１００Ｃが、第２の実施形態と異なる点は、動きベクトル検出部１０１が低解像度入力画像ＬＲＰＩＣと低解像度参照画像ＬＲＰＩＣｒｅｆとを用いて、粗粒度な動きベクトル候補ＭＢ１０１を生成することと、動きベクトル候補拡大部３０１が追加されていることである。
【００７０】
動きベクトル候補拡大部３０１は、動きベクトル検出部１０１から出力された粗粒度な動きベクトル候補ＭＢ１０１を解像度比で拡大し、動きベクトル候補ＭＢ３０１として動きベクトル平滑化部１０４に出力するものである。
【００７１】
入力画像拡大部２０１、参照画像拡大部２０２、動きベクトル平滑化部１０４、制御部１０５、動きベクトル細分化部１０６、ゼロベクトル選択部１０７及び予測画像生成部１０３は、第２の実施形態のものと同様であるので、その機能説明は省略する。
【００７２】
（Ｃ−２）第３の実施形態の動作
次に、以上のような構成を有する第３の実施形態に係る画像処理装置１００Ｃの動作を、図７に加え、図８を参照しながら説明する。図８は、第３の実施形態に係る画像処理装置１００Ｃの動作を示すフローチャートであり、第２の実施形態に係る上述した図６との同一、対応ステップには同一符号を付して示している。
【００７３】
拡大入力画像ＥＸＰＩＣ及び拡大参照画像ＥＸＰＩＣｒｅｆを生成するステップＳ２０１及びＳ２０２は、第２の実施形態と同様である。
【００７４】
動きベクトル検出部１０１において、低解像度入力画像ＬＲＰＩＣと低解像度参照画像ＬＲＰＩＣｒｅｆとから粗粒度な動きベクトルを検出し、低解像度画像用の動きベクトル候補ＭＢ１０１として出力する（ステップＳ３０１）。なお、ステップＳ３０１をステップＳ２０１やＳ２０２より先に実行しても良い。
【００７５】
動きベクトル候補拡大部３０１において、動きベクトル候補ＭＢ１０１を解像度比で拡大し、動きベクトル候補ＭＢ３０１として出力する（ステップＳ３０２）。
【００７６】
動きベクトル平滑化部１０４において、拡大された動きベクトル候補ＭＢ３０１を平滑化し、平滑化された動きベクトルＭＢ１０４として出力する（ステップＳ１０２）。
【００７７】
これ以降の処理は、第２の実施形態と同様である。平滑化された動きベクトルＭＢ１０４の粒度を確認し、出力先を選択する処理（ステップＳ１０３）、動きベクトルを細分化する処理（ステップＳ１０４）、細分化された動きベクトルＭＢ１０６又はゼロベクトルを選択する処理（ステップＳ１０５）、及び、予測された高解像度入力画像ＨＲＰＩＣＰＲを生成する処理（ステップＳ１０７）は、第２の実施形態と同様である。
【００７８】
（Ｃ−３）第３の実施形態の効果
以上のように、第３の実施形態によれば、拡大入力画像と拡大参照画像を生成し、拡大入力画像と拡大参照画像に基づき、動きベクトルの平滑化、ゼロベクトルとの選択を行う一方で、粗粒度な動きベクトルの検出には低解像度入力画像と低解像度参照画像を用いることで、動きベクトルの検出を高精度に行いながら、演算量を低減することができる。結果として、高精度な高解像度入力画像を低演算量で予測することができる。
【００７９】
（Ｄ）第４の実施形態
次に、本発明による画像処理装置及びプログラムの第４の実施形態を、図面を参照しながら詳述する。
【００８０】
（Ｄ−１）第４の実施形態の構成
図９は、第４の実施形態に係る画像処理装置の構成を示すブロック図であり、上述した第３の実施形態に係る図７との同一、対応部分には同一符号を付して示している。
【００８１】
第４の実施形態に係る画像処理装置１００Ｄは、動きベクトル検出部１０１から出力された動きベクトル候補ＭＢ１０１を拡大し、拡大後の動きベクトル候補ＭＢ４０１を動きベクトル平滑化部１０４に与える動きベクトル候補拡大部４０１が、第３の実施形態における動きベクトル候補拡大部３０１と異なっており、動きベクトル候補拡大部４０１以外の構成は、第３の実施形態と同様である。
【００８２】
（Ｄ−２）第４の実施形態の動作
そのため、第４の実施形態に係る画像処理装置１００Ｄの動作の流れも、図示は省略するが、第３の実施形態とほぼ同様であるが、動きベクトル候補拡大部４０１において実行される動作のみが異なっている（図８のステップＳ３０２参照）。
【００８３】
動きベクトル候補拡大部４０１において、低解像度画像に係る動きベクトル候補ＭＢ１０１を解像度比で拡大し、拡大した動きベクトルが指す座標を中心とする予め定められた小領域の中から、拡大入力画像ＥＸＰＩＣと拡大参照画像ＥＸＰＩＣｒｅｆとを用いて計算する動きベクトルのコストが最小（若しくは準最小）となる動きベクトルを探索し、コストが最小（若しくは準最小）となる動きベクトルを動きベクトル候補ＭＢ４０１として動きベクトル平滑部１０４に出力する。ここで、コストが準最小となる動きベクトルとは、コストが最小となる動きベクトルを見付けることを保証しない高速な動きベクトル探索アルゴリズムを用いて求めた動きベクトルのことを表している。後述する図１２においては、この処理をステップＳ４０２で表している。
【００８４】
動きベクトル候補拡大部４０１は、拡大入力画像ＥＸＰＩＣと拡大参照画像ＥＸＰＩＣｒｅｆとを用いて、拡大した動きベクトルの微調整を行って、最適な動きベクトル候補ＭＢ４０１を得る機能を有している。
【００８５】
今、図１０（Ａ）に示すような動きベクトル候補ＭＢ１０１が動きベクトル検出部１０１によって得られたとする。この動きベクトル候補ＭＢ１０１を解像度比で拡大した動きベクトルが、図１０（Ｂ）に示す動きベクトルＭＢ３０１である。上述した第３の実施形態では、この動きベクトルＭＢ３０１を動きベクトル候補として動きベクトル平滑化部１０４に出力していた。この第４の実施形態では、動きベクトルＭＢ３０１の先端（移動先）を中心にして、図１０（Ｂ）に示すように小領域ＳＡＲを設定し、小領域ＳＡＲ内の各画素が動きベクトルの先端とした場合のコストをそれぞれ計算する。例えば、拡大参照画像ＥＸＰＩＣｒｅｆを動きベクトル補償した画像と、拡大入力画像ＥＸＰＩＣとの相違を表すコスト（例えば、対応する画素同士の差分の絶対値の総和）を計算する。計算されたコストが最小（若しくは準最小）となる、小領域ＳＡＲ内の画素を先端とする動きベクトルを、当該動きベクトル候補拡大部４０１の出力ベクトルとする。
【００８６】
（Ｄ−３）第４の実施形態の効果
以上のように、第４の実施形態によれば、低解像度入力画像と低解像度参照画像を用いることで、粗粒度な動きベクトルの検出を低演算量で行う一方で、粗粒度な動きベクトルを拡大する際に、拡大入力画像と拡大参照画像を用いて拡大した動きベクトルの微調整を行うことで、高精度な動きベクトルを検出することが可能になる。結果として、高精度な高解像度入力画像を低演算量で予測することができる。
【００８７】
（Ｅ）第５の実施形態
次に、本発明による画像処理装置及びプログラムの第５の実施形態を、図面を参照しながら詳述する。第５の実施形態に係る画像処理装置は、Ｓｌｅｐｉａｎ−Ｗｏｌｆ理論及びＷｙｎｅｒ−Ｚｉｖ理論を応用した映像符号化方式であるＤＶＣ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）方式に従う動画像復号装置である。
【００８８】
（Ｅ−１）第１の実施形態の構成
図１１は、第５の実施形態に係る画像処理装置の構成を示すブロック図であり、上述した第４の実施形態に係る図９との同一、対応部分には同一符号を付して示している。
【００８９】
第５の実施形態に係る画像処理装置１００Ｅが第４の実施形態と相違する点は、主に、スケーラブル構造を有するＤＶＣでの復号に関わる機能と、スケーラブル構造を有するＤＶＣのビットストリームの特徴を活用しＤＶＣの復号に必要な予測画像を低演算量かつ高精度で生成する機能とが追加されている点である。
【００９０】
ＤＶＣでは、誤り訂正符号を映像符号化に応用する形で実現され、Ｈ．２６４／ＡＶＣのような標準の動画像符号化方式と比較して、エンコーダの計算量が少なく、デコーダの計算量が多いという特徴を持つ映像符号化方式である。第５の実施形態に係る画像処理装置１００Ｅは、数あるＤＶＣの実装方法の中で、文献「Ｍ．Ｔａｇｌｉａｓａｃｃｈｉ，Ａ．Ｍａｊｕｍｄａｒ，  ａｎｄ  Ｋ．Ｒａｍｃｈａｎｄｒａｎ，“Ａでｄｉｓｔｒｉｂｕｔｅｄ−ｓｏｕｒｃｅ−ｃｏｄｉｎｇ  ｂａｓｅｄ  ｒｏｂｕｓｔ  ｓｐａｔｉｏ−ｔｅｍｐｏｒａｌ  ｓｃａｌａｂｌｅ  ｖｉｄｅｏ  ｃｏｄｅｃ，”Ｐｒｏｃ．  Ｐｉｃｔｕｒｅ  Ｃｏｄｉｎｇ  Ｓｙｍｐｏｓｉｕｍ，  Ｃｉｔｅｓｅｅｒ，  ２００４．」のようにスケーラブル構造を有したＤＶＣの復号システムを実現するものである。
【００９１】
以下では、圧縮したい原画像を所定の方法で縮小し（解像度を落とし）、低解像度化した原画像を、例えば、Ｈ．２６４／ＡＶＣのようなハイブリッド符号化技術を用いて符号化することで生成されるビットストリームを基準ビットストリームと呼ぶ。また、圧縮したい原画像をＤＶＣの概念に基づき符号化することで生成されるビットストリームをＤＶＣビットストリームと呼ぶ。
【００９２】
第５の実施形態に係る画像処理装置１００Ｅは、基準復号部５０１と、ＤＶＣ復号部５０６と、参照インデックス計算部５０２と、低解像度参照画像選択部５０３と、高解像度参照画像選択部５０５とが追加され、動きベクトル検出部１０１に代えて動きベクトル抽出部５０４が設けられている点が、第４の実施形態と相違している。
【００９３】
基準復号部５０１は、入力された基準ビットストリームＢＳを復号することで低解像度入力画像ＬＲＰＩＣを生成するものである。
【００９４】
ＤＶＣ復号部５０６は、入力されたＤＶＣビットストリームＢＳＤＶＣを、予測画像生成部１０３から出力された予測された高解像度入力画像ＨＲＰＩＣＰＲを用いてＤＶＣ復号することで高解像度画像ＨＲＰＩＣを生成するものである。
【００９５】
参照インデックス計算部５０２は、低解像度入力画像ＬＲＰＩＣが、符号化されるときに参照していた画像のインデックスを、基準ビットストリームＢＳから求め、参照画像インデックスＩＮＤを出力するものである。
【００９６】
低解像度参照画像選択部５０３は、参照画像インデックスＩＮＤが指す画像を内部メモリから取り出し、低解像度参照画像ＬＲＰＩＣｒｅｆとして出力すると共に、復号済みの低解像度入力画像ＬＲＰＩＣを内部メモリに一時的に保持するものである。
【００９７】
動きベクトル抽出部５０４は、基準ビットストリームＢＳから、低解像度入力画像ＬＲＰＩＣを符号化するのに利用されていた動きベクトルを抽出し、低解像度画像に係る動きベクトル候補ＭＢ５０４として動きベクトル拡大部４０１に出力するものである。
【００９８】
高解像度参照画像選択部５０５は、参照画像インデックスＩＮＤが指す画像を内部メモリから取り出し、高解像度参照画像ＨＲＰＩＣｒｅｆとして予測画像生成部１０３に出力すると共に、復号済みの高解像度画像ＨＲＰＩＣを内部メモリに一時的に保持するものである。
【００９９】
その他の各部の機能は、第４の実施形態の対応部分と同様であるので、その説明は省略する。
【０１００】
（Ｅ−２）第５の実施形態の動作
次に、以上のような構成を有する第５の実施形態に係る画像処理装置１００Ｅの動作を、図１１に加え、図１２を参照しながら説明する。図１２は、第５の実施形態に係る画像処理装置１００Ｅの動作を示すフローチャートであり、第３の実施形態に係る上述した図１１との同一、対応ステップには同一、対応符号を付して示している。
【０１０１】
基準復号部５０１において、入力された基準ビットストリームＢＳを復号することで低解像度入力画像ＬＲＰＩＣを生成する（ステップＳ５０１）。
【０１０２】
入力画像拡大部２０１において、低解像度入力画像ＬＲＰＩＣを解像度比で拡大し、拡大入力画像ＥＸＰＩＣを生成する（ステップＳ２０１）。
【０１０３】
参照画像インデックス計算部５０２において、低解像度入力画像ＬＲＰＩＣが符号化されるときに参照していた画像のインデックスを、基準ビットストリームＢＳから求め、参照画像インデックスＩＮＤを出力する（ステップＳ５０２）。
【０１０４】
低解像度参照画像選択部５０３において、参照画像インデックスＩＮＤが指す画像を内部メモリから取り出し、低解像度参照画像ＬＲＰＩＣｒｅｆとして出力すると共に、復号済みの低解像度入力画像ＬＲＰＩＣを内部メモリに一時的に保持する（ステップＳ５０３）。
【０１０５】
参照画像拡大部２０２において、低解像度参照画像ＬＲＰＩＣｒｅｆを解像度比で拡大し、拡大参照画像ＥＸＰＩＣｒｅｆを生成する（ステップＳ２０２）。
【０１０６】
動きベクトル抽出部５０４において、基準ビットストリームＢＳから、低解像度入力画像８を符号化するのに利用されていた動きベクトルを抽出し、低解像度画像に係る動きベクトル候補ＭＢ５０４として出力する（ステップＳ５０４）。
【０１０７】
動きベクトル候補拡大部４１０において、動きベクトル候補ＭＢ５０４を解像度比で拡大し、拡大した動きベクトルが指す座標を中心に、さらにコストの低い動きベクトルを探索し、動きベクトル候補ＭＢ４０１として出力する（ステップＳ４０１）。
【０１０８】
拡大された動きベクトル候補ＭＢ４０１を平滑化する処理（ステップＳ１０２）、平滑化された動きベクトルＭＢ１０４の粒度を確認し、出力先を選択する処理（ステップＳ１０３）、動きベクトルを細分化する処理（ステップＳ１０４）、及び、細分化された動きベクトルＭＢ１０６又はゼロベクトルを選択する処理（ステップＳ１０５）は、第３の実施形態と同様である。
【０１０９】
高解像度参照画像選択部５０５において、参照画像インデックスＩＮＤが指す画像を内部メモリから取り出し、高解像度参照画像ＨＲＰＩＣｒｅｆとして出力すると共に、復号済みの高解像度画像ＨＲＰＩＣを、内部メモリに一時的に保持する（ステップＳ５０５）。
【０１１０】
予測画像生成部１０３において、動きベクトルＭＢ１０５ｂと高解像度参照画像ＨＲＰＩＣｒｅｆを用いて、予測された高解像度入力画像ＨＲＰＩＣＰＲを生成する（ステップＳ１０７）。
【０１１１】
ＤＶＣ復号部５０６において、入力されたＤＶＣビットストリームＢＳＤＶＣを予測された高解像度入力画像ＨＲＰＩＣＰＲを用いてＤＶＣ復号することで、高解像度画像ＨＲＰＩＣを生成する（ステップＳ５０６）。
【０１１２】
（Ｅ−３）第５の実施形態の効果
以上のように、第５の実施形態によれば、スケーラブル構造を有するＤＶＣの復号に関わる機能と、スケーラブル構造を有するＤＶＣのビットストリームの特徴を活用しＤＶＣの復号に必要な予測画像を低演算量かつ高精度で生成する機能とが追加されているので、細粒度な動きベクトルや予測された高解像度入力画像がより一層低演算量で生成されるようになると共に、予測された高解像度入力画像に含まれる予測誤りが訂正され、高解像度画像の品質がさらに高くなる。
【０１１３】
ＤＶＣの観点から鑑みても、高い品質の予測画像を低演算量で生成できることで、復号にかかる演算量を抑制しながら、高い符号化効率を実現できるようになる。
【０１１４】
（Ｆ）第６の実施形態
次に、本発明による画像処理装置及びプログラムの第６の実施形態を、図面を参照しながら詳述する。第６の実施形態に係る画像処理装置もＤＶＣ方式に従う動画像復号装置である。
【０１１５】
（Ｆ−１）第６の実施形態の構成
図１３は、第６の実施形態に係る画像処理装置の構成を示すブロック図であり、上述した第５の実施形態に係る図１１との同一、対応部分には同一符号を付して示している。
【０１１６】
第６の実施形態に係る画像処理装置１００Ｆは、第５の実施形態における動きベクトル抽出部５０４及び動きベクトル候補拡大部４０１に代えて、第２の実施形態で説明した動きベクトル検出部１０１を有する点が、第５の実施形態と異なっており、動きベクトル検出部１０１以外の構成は、第５の実施形態と同様である。
【０１１７】
動きベクトル検出部１０１は、第２の実施形態で説明した通り、拡大入力画像ＥＸＰＩＣと拡大参照画像ＥＸＰＩＣｒｅｆとの間で、粗粒度な動きベクトルを検出し、動きベクトル候補ＭＢ１０１として動きベクトル平滑化部１０４に出力するものである。
【０１１８】
動きベクトル検出部１０１は、第３の実施形態における動きベクトル検出部１０１と動きベクトル候補拡大部３０１の組み合わせ、又は、第４の実施形態における動きベクトル検出部１０１と動きベクトル候補拡大部４０１の組み合わせによって構成しても良く、これらの場合、動きベクトル検出部１０１には、低解像度入力画像ＬＲＰＩＣと低解像度参照画像ＬＲＰＩＣｒｅｆとが入力される。
【０１１９】
（Ｆ−２）第６の実施形態の動作
そのため、第６の実施形態に係る画像処理装置１００Ｆの動作の流れも、図示は省略するが、第５の実施形態とほぼ同様であるが、動きベクトル抽出部５０４及び動きベクトル候補拡大部４０１において実行されていた動作（図１２のステップＳ５０４、Ｓ４０１参照）が、以下の動作に置き換わった点が第５の実施形態と異なっている。
【０１２０】
「動きベクトル検出部１０１において、拡大入力画像ＥＸＰＩＣと拡大参照画像ＥＸＰＩＣｒｅｆとから粗粒度な動きベクトルを検出し、動きベクトル候補ＭＢ１０１として動きベクトル平滑化部１０４に出力する」
（Ｆ−３）第６の実施形態の効果
以上のように、第６の実施形態によれば、粗粒度な動きベクトルの推定を行う際に、基準ビットストリームに含まれる動きベクトルを流用するのではなく、拡大入力画像と拡大参照画像を用いて、動きベクトルを推定していることで、より品質の高い画像を復号できるようになる。
【０１２１】
基準ビットストリームに含まれる動きベクトルは、低解像度画像を用いて求められた動きベクトルであり、その精度は低いため、基準ビットストリームから抽出した動きベクトルに基づきＤＶＣ復号すると、復号品質はそれなりであるが、第６の実施形態では、拡大入力画像と拡大参照画像とを用いて、精度の高い動きベクトルを推定して、推定した動きベクトルに基づきＤＶＣ復号していることで、復号品質を高いものとすることができる。
【０１２２】
（Ｇ）第７の実施形態
次に、本発明による画像処理装置及びプログラムの第７の実施形態を、図面を参照しながら詳述する。第７の実施形態に係る画像処理装置もＤＶＣ方式に従う動画像復号装置である。
【０１２３】
（Ｇ−１）第７の実施形態の構成
図１４は、第７の実施形態に係る画像処理装置の構成を示すブロック図であり、上述した第６の実施形態に係る図１３との同一、対応部分には同一符号を付して示している。
【０１２４】
第７の実施形態に係る画像処理装置１００Ｇは、第６の実施形態の構成に、画質改善部８００が追加されたものである。
【０１２５】
画質改善部７００は、ＤＶＣ復号部５０６から出力された高解像度画像ＨＲＰＩＣを用いて、再び動き推定と予測画像生成とを行い、その結果得られる予測画像を用いてＤＶＣ復号することで、改善後高解像度画像ＲＥＨＲＰＩＣを生成するものである。ここで、第７の実施形態の場合、高解像度参照画像選択部５０５には、改善後高解像度画像ＲＥＨＲＰＩＣが入力されるようになっている。但し、高解像度参照画像選択部５０５に、改善後高解像度画像ＲＥＨＲＰＩＣを入力するのではなく高解像度画像ＨＲＰＩＣを入力するようにしても良い。
【０１２６】
図１５は、画質改善部７００の詳細構成を示すブロック図である。画質改善部７００は、動きベクトル改善部７０１と、予測画像再生成部７０２と、ＤＶＣ復号部７０３とを有する。
【０１２７】
動きベクトル改善部７０１は、拡大入力画像ＥＸＰＩＣと拡大参照画像ＥＸＰＩＣｒｅｆと高解像度画像ＨＲＰＩＣと高解像度参照画像ＨＲＰＩＣｒｅｆとを用いて、動きベクトルＭＢ７０６ｂを推定するものである。
【０１２８】
予測画像再生成部７０２は、高解像度参照画像ＨＲＰＩＣｒｅｆと動きベクトルＭＢ７０６ｂとを用いて、予測された高解像度入力画像ＨＲＰＩＣＰＲ２を生成するものである。
【０１２９】
ＤＶＣ復号部７０３は、ＤＶＣビットストリームＢＳＤＶＣを、予測された高解像度入力画像ＨＲＰＩＣＰＲ２を用いてＤＶＣ復号することで、改善後高解像度画像ＲＥＨＲＰＩＣを生成するものである。
【０１３０】
動きベクトル改善部７０１は、動きベクトル検出部７０４と、動きベクトル平滑化部７０５と、制御部７０６と、動きベクトル細分化部７０７と、ゼロベクトル選択部７０８と、動きベクトル微調整部７０９とを有する。
【０１３１】
動きベクトル検出部７０４は、拡大入力画像ＥＸＰＩＣと拡大参照画像ＥＸＰＩＣｒｅｆとの間と、高解像度画像ＨＲＰＩＣと高解像度参照画像ＨＲＰＩＣｒｅｆとの間で、粗粒度な動きベクトルを検出し、動きベクトル候補ＭＢ７０４として出力するものである。例えば、ブロックマッチングなどで動きベクトル候補ＭＢ７０４を探索している際のコストは、拡大入力画像ＥＸＰＩＣと拡大参照画像ＥＸＰＩＣｒｅｆとの間のコストと、高解像度画像ＨＲＰＩＣと高解像度参照画像ＨＲＰＩＣｒｅｆとの間のコストとの和とし、動きベクトル検出部７０４は、拡大入力画像ＥＸＰＩＣと拡大参照画像ＥＸＰＩＣｒｅｆとの間と、高解像度画像ＨＲＰＩＣと高解像度参照画像ＨＲＰＩＣｒｅｆとの間とで共に、良好な動きベクトルを検出する。
【０１３２】
動きベクトル平滑化部７０５は、拡大入力画像ＥＸＰＩＣ及び拡大参照画像ＥＸＰＩＣｒｅｆと、高解像度画像ＨＲＰＩＣ及び高解像度参照画像ＨＲＰＩＣｒｅｆとを用いて、動きベクトル候補ＭＢ７０４を平滑化し、平滑化された動きベクトルＭＢ７０５を出力する
制御部７０６は、平滑化された動きベクトルＭＢ７０５が、予め定められた粒度よりも粗い粒度の場合は、平滑化された動きベクトルＭＢ７０５を平滑化された動きベクトルＭＢ７０６ａとして動きベクトル細分化部７０７に出力し、平滑化された動きベクトル７０５が、予め定められた粒度以下の粒度の場合は、平滑化された動きベクトルＭＢ７０５を動きベクトル７０６ｂとして予測画像再生成部７０２に出力するものである。
【０１３３】
動きベクトル細分化部７０７は、平滑化された動きベクトル７０６ａを細分化し、細分化された動きベクトルＭＢ７０７を出力するものである。
【０１３４】
ゼロベクトル選択部７０８と、細分化された動きベクトルＭＢ７０７とゼロベクトルのうち高精度のベクトルを、拡大入力画像ＥＸＰＩＣと拡大参照画像ＥＸＰＩＣｒｅｆと高解像度画像ＨＲＰＩＣと高解像度参照画像ＨＲＰＩＣｒｅｆとを用いて選択し、選択された動きベクトルＭＢ７０８を出力する
動きベクトル微調整部７０９は、選択された動きベクトルＭＢ７０８を中心にして、よりコストの低い動きベクトルを探索し、よりコストの低い動きベクトルに微調整し、微調整された動きベクトルを動きベクトル候補ＭＢ７０４として動きベクトル平滑化部７０５に出力するものである。
【０１３５】
動きベクトル改善部７０１として、ゼロベクトル選択部７０８を含まない構成も可能である。動きベクトル改善部７０１として、動きベクトル微調整部７０９を含まない構成も可能である。動きベクトル改善部７０１として、ゼロベクトル選択部７０８と動きベクトル微調整部７０９の実行順序を入れ替えた構成も可能である。
【０１３６】
また、動きベクトルのコストを計算することを行っている動きベクトル検出部７０４、動きベクトル平滑化部７０５、ゼロベクトル選択部７０８及び動きベクトル微調整部７０９が、高解像度画像ＨＲＰＩＣと高解像度参照画像ＨＲＰＩＣｒｅｆとのみから動きベクトルのコストを計算するようにしても良い。
【０１３７】
さらに、動きベクトル検出部７０４を、第３の実施形態や第４の実施形態で説明したような、低解像度入力画像ＬＲＰＩＣと低解像度参照画像ＬＲＰＩＣｒｅｆとから動きベクトルを検出する動きベクトル検出部と、その出力を拡大する動きベクトル候補拡大部との組み合わせによって構成するようにしても良い。
【０１３８】
（Ｇ−２）第７の実施形態の動作
次に、以上のような構成を有する第７の実施形態に係る画像処理装置１００Ｇの動作を、図１４及び図１５に加え、図１６及び図１７を参照しながら説明する。図１６は、第７の実施形態に係る画像処理装置１００Ｇの動作を示すフローチャートであり、第５の実施形態に係る上述した図１２との同一、対応ステップには同一、対応符号を付して示している。図１７は、図１６のステップＳ８０１の詳細を示すフローチャートである。
【０１３９】
第７の実施形態に係る画像処理装置１００Ｇは、ステップＳ５０５を含め、これ以降の処理が第５の実施形態と異なっている。
【０１４０】
但し、第７の実施形態に係る画像処理装置１００Ｇは、第６の実施形態と同様に、第５の実施形態の動きベクトル抽出部５０４及び動きベクトル候補拡大部４０１を、動きベクトル検出部１０１と置き換えているので、第５の実施形態におけるステップＳ５０４、Ｓ４０１の部分が、「動きベクトル検出部１０１において、拡大入力画像ＥＸＰＩＣと拡大参照画像ＥＸＰＩＣｒｅｆとから粗粒度な動きベクトルを検出し、動きベクトル候補ＭＢ１０１として動きベクトル平滑化部１０４に出力する」（ステップＳ１０１）に置き換わっている。
【０１４１】
以下、ステップＳ５０５以降の処理を説明する。
【０１４２】
高解像度参照画像選択部５０５において、参照画像インデックスＩＮＤが指す画像を内部メモリから取り出し、高解像度参照画像ＨＲＰＩＣｒｅｆとして出力すると共に、復号済みの改善後高解像度画像ＲＥＨＲＰＩＣを、内部メモリに保持する（ステップＳ５０５）。
【０１４３】
予測画像生成部１０３において、動きベクトルＭＢ１０５ｂと高解像度参照画像ＨＲＰＩＣｒｅｆを用いて、予測された高解像度入力画像ＨＲＰＩＣＰＲを生成する（ステップＳ１０７）。
【０１４４】
ＤＶＣ復号部５０６において、入力されたＤＶＣビットストリームＢＳＤＶＣを、予測された高解像度入力画像ＨＲＰＩＣＰＲを用いてＤＶＣ復号することで、高解像度画像ＨＲＰＩＣを生成する（ステップＳ５０６）。
【０１４５】
画質改善部７００において、高解像度画像ＨＲＰＩＣを用いて、再び動きベクトル推定と予測画像生成とＤＶＣ復号とを行うことで、改善後高解像度画像ＲＥＨＲＰＩＣを生成する（ステップＳ７０１）。次に、このステップＳ７０１の詳細な動作を説明する。
【０１４６】
動きベクトル検出部７０４において、拡大入力画像ＥＸＰＩＣと拡大参照画像ＥＸＰＩＣｒｅｆと高解像度画像ＨＲＰＩＣと高解像度参照画像ＨＲＰＩＣｒｅｆとから粗粒度な動きベクトルを検出し、動きベクトル候補ＭＢ７０４として出力する（ステップＳ７０２）。
【０１４７】
動きベクトル平滑化部７０５において、動きベクトル候補ＭＢ７０４を平滑化し、平滑化された動きベクトルＭＢ７０５として出力する（ステップＳ７０３）。
【０１４８】
制御部７０６において、平滑化された動きベクトルＭＢ７０５の粒度が設定値未満であるかどうかを判定する（ステップＳ７０４）。平滑化された動きベクトルＭＢ７０５の粒度が設定値未満である場合、つまり平滑化された動きベクトルＭＢ７０５の粒度が設定値よりも粗い場合、平滑化された動きベクトルＭＢ７０５を、平滑化された動きベクトルＭＢ７０６ａとして、動きベクトル細分化部７０７に出力する。平滑化された動きベクトルＭＢ７０５の粒度が設定値以上である場合、つまり平滑化された動きベクトルＭＢ７０５の粒度が設定値以上に細かい場合、平滑化された動きベクトルＭＢ７０５を、動きベクトル７０６ｂとして、予測画像再生成部７０２に出力する。
【０１４９】
動きベクトル細分化部７０７において、平滑化された動きベクトル７０６ａを分割し、細分化された動きベクトルＭＢ７０７として出力する（ステップＳ７０５）。
【０１５０】
ゼロベクトル選択部７０８において、細分化された動きベクトルＭＢ７０７とゼロベクトルの精度が良い方を選択し、選択された動きベクトルＭＢ７０８として出力する（ステップＳ７０６）。
【０１５１】
動きベクトル微調整部７０９において、選択された動きベクトルＭＢ７０８を中心にして、よりコストの低い動きベクトルを探索し微調整し、微調整された動きベクトルを動きベクトル候補ＭＢ７０４として出力する（ステップＳ７０７）。
【０１５２】
予測画像再生成部７０２において、動きベクトルＭＢ７０６ｂと高解像度参照画像ＨＲＰＩＣｒｅｆを用いて予測された高解像度入力画像ＨＲＰＩＣＰＲ２を生成する（ステップＳ７０８）。
【０１５３】
ＤＶＣ復号部７０３において、ＤＶＣビットストリームＢＳＤＶＣを、予測された高解像度入力画像ＨＲＰＩＣＰＲ２を用いてＤＶＣ復号することで、改善後高解像度画像ＲＥＨＲＰＩＣを生成する（ステップＳ７０９）。
【０１５４】
この第７の実施形態の構成の項で説明した変形実施形態の場合、上述した処理の流れや処理の内容が変更になることもあるが、その説明は省略する。
【０１５５】
（Ｇ−３）第７の実施形態の効果
以上のように、第７の実施形態によれば、一度目のＤＶＣ復号によって得られた高周波成分の情報を用いて、さらに高品質な動きベクトルを推定するようにしたので、さらに高品質な予測画像を生成することができ、その予測画像を用いて二度目のＤＶＣ復号を行うことで、復号品質を高めることができる。高周波成分の情報を利用できることで、動きベクトルを細分化するごとに動きベクトルを微調整することで、動きベクトルの推定品質をさらに改善することができる。
【０１５６】
（Ｈ）他の実施形態
上記第７の実施形態においては、動きベクトル改善部７０１が、拡大入力画像ＥＸＰＩＣ及び拡大参照画像ＥＸＰＩＣｒｅｆから動きベクトルを得るものを示したが、低解像度入力画像ＬＲＰＩＣ及び低解像度参照画像ＬＲＰＩＣｒｅｆから動きベクトルを検出し、それを拡大して、動きベクトル平滑化部７０５に入力するようにしても良い。この第７の実施形態に対する変形実施形態は、動きベクトル改善部での動きベクトルの検出ではないが、当初動きベクトルの検出ではあるが、第２の実施形態と第３の実施形態との関係と同様である（図５及び図７参照）。
【０１５７】
第５〜第７の実施形態に係る画像処理装置は、本発明をＤＶＣの復号で必要な予測画像の生成に利用した復号装置であるが、本発明をＤＶＣの符号化で利用する簡易予測画像の生成に利用するようにしても良く、上述と同様な効果を得ることができる。この場合、ＤＶＣは、誤り耐性の高い符号化方式として利用するか、復号時に更に高負荷で高精度な予測画像生成手段を採用することでエンコーダの負荷が低く、デコーダの負荷が高いというＤＶＣの特徴を出す符号化方式として利用するか、のいずれかの目的で使用することになる。
【符号の説明】
【０１５８】
１００Ａ〜１００Ｇ…画像処理装置、１０１…動きベクトル検出部、１０２…動きベクトル拡大部、１０３…予測画像生成部、１０４…動きベクトル平滑化部、１０５…制御部、１０６…動きベクトル細分化部、１０７…ゼロベクトル選択部、２０１…入力画像拡大部、２０２…参照画像拡大部、３０１、４０１…動きベクトル候補拡大部、５０１…基準復号部、５０２…参照インデックス計算部、５０３…低解像度参照画像選択部、５０４…動きベクトル抽出部、５０５…高解像度参照画像選択部、５０６…ＤＶＣ復号部、７００…画質改善部、７０１…動きベクトル改善部、７０２…予測画像再生成部、７０３…ＤＶＣ復号部。
【図１】
0005845774.tif 000002
【図２】
0005845774.tif 000003
【図３】
0005845774.tif 000004
【図４】
0005845774.tif 000005
【図５】
0005845774.tif 000006
【図６】
0005845774.tif 000007
【図７】
0005845774.tif 000008
【図８】
0005845774.tif 000009
【図９】
0005845774.tif 000010
【図１０】
0005845774.tif 000011
【図１１】
0005845774.tif 000012
【図１２】
0005845774.tif 000013
【図１３】
0005845774.tif 000014
【図１４】
0005845774.tif 000015
【図１５】
0005845774.tif 000016
【図１６】
0005845774.tif 000017
【図１７】
0005845774.tif 000018
【図１８】
0005845774.tif 000019