説明

画像処理装置及びプログラム

【課題】 低解像度入力画像と低解像度参照画像とから、粒度の細かい高精度の高解像度画像用の動きベクトルを推定する。
【解決手段】 低解像度な入力画像及び参照画像とに基づいて、粗粒度な動きベクトルを検出し、当初の動きベクトル候補として出力する当初動きベクトル候補生成部と、入力された動きベクトル候補の粒度を徐々に細かくしていく動きベクトル粒度向上部とを備える。動きベクトル粒度向上部は、動きベクトル候補を平滑化して出力する動きベクトル平滑化部と、平滑化動きベクトルの粒度が予め定められた粒度以下の場合に、当該動きベクトル粒度向上部から出力させる制御部と、平滑化動きベクトルが予め定められた粒度よりも粗い場合に、平滑化動きベクトルが与えられてそれを細分化し、細分化された動きベクトルを新たな動きベクトル候補とする動きベクトル細分化部とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及びプログラムに関し、例えば、低解像度入力画像と低解像度参照画像とから高解像度な画像用の動きベクトルを推定する場合や、推定された動きベクトルと高解像度参照画像とを用いて高解像度入力画像を予測する場合に適用し得るものである。
【背景技術】
【0002】
特許文献1にて提案されている技術は、低解像度画像と高解像度画像を交互に符号化・復号するシステムにおいて、低解像度画像と類似する領域を高解像度画像の中から検出する手段と、低解像度画像と上記類似領域を画素混合する手段とを組み合わせることで、低解像度画像を拡大したときの解像度感を高める方法である。低解像度画像と類似する領域を高解像度画像の中から検出する方法は、高解像度画像を所定の方法で低解像度化し、入力された低解像度画像と高解像度画像から生成された低解像度画像の間で動きベクトルを検出し、得られた動きベクトルを低解像度画像と高解像度画像との解像度比(以下、低解像度画像と高解像度画像との解像度比を、単に「解像度比」と呼ぶ)で拡大して求められた動きベクトルを利用して検出する方法である。
【0003】
次に、低解像度入力画像と低解像度参照画像と高解像度参照画像とから高解像度入力画像を予測する従来技術を、図18を参照しながら説明する。
【0004】
図18において、動きベクトル検出部101は、入力された低解像度入力画像LRPICと低解像度参照画像LRPICrefとの間で動きベクトルを検出し、低解像度画像用の動きベクトルMB101を出力し、動きベクトル拡大部102は、低解像度画像用の動きベクトルMB101を解像度比で拡大し、拡大後の動きベクトルMB102を出力する。そして、予測画像生成部103は、動きベクトルMB102と高解像度参照画像HRPICrefとに基づいて、予測される高解像度入力画像(高解像度入力画像の予測画像)HRPICPRを生成する。
【0005】
予測画像生成部103による生成方法には様々な方法が存在する。例えば、高解像度参照画像HRPICrefに動き補償を行うと共に、低解像度入力画像LRPICを所定の方法で拡大し、その拡大画像と動き補償画像とを画素混合して、予測される高解像度入力画像HRPICPRを生成する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2011−15262号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、低解像度入力画像と低解像度参照画像とから、高解像度画像用の、粒度が細かく精度の高い動きベクトルを検出することが困難である(但し、粒度は動きベクトルを得るブロック(領域)の大きさを表している;より具体的な説明は後述する)。低解像度画像に係る動きベクトルを高解像度画像用に拡大しても、その粒度や精度は、低解像度画像用の元々の動きベクトルと同程度であり、粒度や精度はほとんど向上しない。低解像度画像は、高周波成分が欠落しているために、特に粒度の細かい動きベクトルを検出する場合に、動きベクトルの検出精度が低下する。加えて、粒度の細かい動きベクトルを検出しようとすると、演算量が著しく増加するという課題もある。
【0008】
そのため、低解像度入力画像と低解像度参照画像とから、粒度の細かい高精度の高解像度画像用の動きベクトルを推定できる画像処理装置及びプログラムが望まれている。
【課題を解決するための手段】
【0009】
第1の本発明は、低解像度入力画像と低解像度参照画像とから高解像度な画像用の動きベクトルを推定する画像処理装置において、(1)入力された上記低解像度入力画像と上記低解像度参照画像とに基づいて、粗粒度な動きベクトルを検出し、当初の動きベクトル候補として出力する当初動きベクトル候補生成部と、(2)入力された動きベクトル候補の粒度を徐々に細かくしていく動きベクトル粒度向上部とを備え、上記動きベクトル粒度向上部が、(2−1)動きベクトル候補を平滑化し、平滑化された動きベクトルを出力する動きベクトル平滑化部と、(2−2)平滑化された動きベクトルが、予め定められた粒度よりも粗いか否かを判定し、平滑化された動きベクトルが、予め定められた粒度以下の粒度の場合に、当該動きベクトル粒度向上部から出力させる制御部と、(2−3)平滑化された動きベクトルが、予め定められた粒度よりも粗い粒度の場合に、平滑化された動きベクトルが与えられ、平滑化された動きベクトルを細分化し、細分化された動きベクトルを新たな動きベクトル候補とする動きベクトル細分化部とを有することを特徴とする。
【0010】
第2の本発明の画像処理プログラムは、画像処理装置に搭載されるコンピュータを、(1)入力された低解像度入力画像と低解像度参照画像とに基づいて、粗粒度な動きベクトルを検出し、当初の動きベクトル候補として出力する当初動きベクトル候補生成部と、(2)動きベクトル候補を平滑化し、平滑化された動きベクトルを出力する動きベクトル平滑化部と、(3)平滑化された動きベクトルが、予め定められた粒度よりも粗いか否かを判定し、平滑化された動きベクトルが、予め定められた粒度以下の粒度の場合に、当該動きベクトル粒度向上部から出力させる制御部と、(4)平滑化された動きベクトルが、予め定められた粒度よりも粗い粒度の場合に、平滑化された動きベクトルが与えられ、平滑化された動きベクトルを細分化し、細分化された動きベクトルを新たな動きベクトル候補とする動きベクトル細分化部として機能させることを特徴とする。
【発明の効果】
【0011】
本発明によれば、低解像度入力画像と低解像度参照画像とから、粒度の細かい高精度の高解像度画像用の動きベクトルを推定できる。
【図面の簡単な説明】
【0012】
【図1】第1の実施形態に係る画像処理装置の構成を示すブロック図である。
【図2】第1の実施形態に係る画像処理装置の動作を示すフローチャートである。
【図3】動きベクトルの粒度の説明図である。
【図4】動きベクトルの平滑化の説明図である。
【図5】第2の実施形態に係る画像処理装置の構成を示すブロック図である。
【図6】第2の実施形態に係る画像処理装置の動作を示すフローチャートである。
【図7】第3の実施形態に係る画像処理装置の構成を示すブロック図である。
【図8】第3の実施形態に係る画像処理装置の動作を示すフローチャートである。
【図9】第4の実施形態に係る画像処理装置の構成を示すブロック図である。
【図10】第4の実施形態に係る画像処理装置における動きベクトル候補拡大部の動作の説明図である。
【図11】第5の実施形態に係る画像処理装置の構成を示すブロック図である。
【図12】第5の実施形態に係る画像処理装置の動作を示すフローチャートである。
【図13】第6の実施形態に係る画像処理装置の構成を示すブロック図である。
【図14】第7の実施形態に係る画像処理装置の構成を示すブロック図である。
【図15】第7の実施形態に係る画像処理装置における画質改善部の詳細構成を示すブロック図である。
【図16】第7の実施形態に係る画像処理装置の動作を示すフローチャートである。
【図17】第7の実施形態に係る画像処理装置における画質改善動作の詳細を示すフローチャートである。
【図18】従来の画像処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【0013】
(A)第1の実施形態
以下、本発明による画像処理装置及びプログラムの第1の実施形態を、図面を参照しながら詳述する。
【0014】
(A−1)第1の実施形態の構成
図1は、第1の実施形態に係る画像処理装置の構成を示すブロック図であり、上述した図18との同一、対応部分には同一符号を付して示している。第1の実施形態に係る画像処理装置は、ハードウェア的に構成しても良いが、CPUと、CPUが実行するプログラムとを中心としてソフトウェア的に構成しても良く、ソフトウェア的に構成した場合にも、機能的には、図1で表すことができる。
【0015】
図1において、第1の実施形態に係る画像処理装置100Aは、動きベクトル検出部101と、動きベクトル平滑化部104と、制御部105と、動きベクトル細分化部106と、ゼロベクトル選択部107と、動きベクトル拡大部102と、予測画像生成部103とを有する。
【0016】
動きベクトル検出部101は、低解像度入力画像LRPICと低解像度参照画像LRPICrefとの間で、粗粒度な動きベクトルを検出し、動きベクトル候補MB101Pとして出力するものである。
【0017】
動きベクトル平滑化部104は、低解像度入力画像LRPICと低解像度参照画像LRPICrefとを用いて、動きベクトル候補MB101Pを平滑化し、平滑化された動きベクトルMB104を出力するものである。
【0018】
制御部105と、平滑化された動きベクトルMB104が、予め定められた粒度よりも粗い粒度の場合には、平滑化された動きベクトルMB104を平滑化された動きベクトルMB105aとして動きベクトル細分化部106に出力し、平滑化された動きベクトルMB104が、予め定められた粒度以下の場合は、平滑化された動きベクトルMB104を平滑化された動きベクトルMB105bとして動きベクトル拡大部102に出力するものである。
【0019】
動きベクトル細分化部106は、平滑化された動きベクトルMB105aを細分化し、細分化された動きベクトルMB106を出力するものである。
【0020】
ゼロベクトル選択部107は、細分化された動きベクトルMB106とゼロベクトルのどちらが高精度かを、低解像度入力画像LRPICと低解像度参照画像LRPICrefとから選択し、選択された動きベクトルを動きベクトル候補MB101として動きベクトル平滑化部104に出力するものである。
【0021】
この第1の実施形態の動きベクトル拡大部102は、平滑化された動きベクトルMB105bを解像度比で拡大し、拡大された動きベクトルを動きベクトルMB102として出力するものである。
【0022】
この第1の実施形態の予測画像生成部103も、高解像度参照画像HRPICrefと動きベクトルMB102とを用いて、予測された高解像度入力画像HRPICPRを生成するものである。
【0023】
なお、予測画像生成部103は、従来技術の項でも記載したように、様々な実装が可能である。この第1の実施形態は、動きベクトルMB102と高解像度参照画像HRPICrefとから、動き補償を用いて予測された高解像度入力画像HRPICPRを生成する場合を例に説明するが、他の方法で高解像度入力画像HRPICPRを生成しても良い。例えば、低解像度入力画像LRPICを既知のフィルタによって拡大し、それを動き補償によって生成した画像と、高解像度参照画像HRPICrefとを画素混合(例えば重み付け合成)して高解像度参照画像HRPICrefを生成するようにしても良い。
【0024】
また、第1の実施形態では、ゼロベクトル選択部107を含んだ構成について説明するが、ゼロベクトル選択部107を含まない構成であっても良い。但し、ゼロベクトル選択部107を含まない構成で動作させる場合、演算量が削減される分、得られる動きベクトルの精度も低下する。ゼロベクトル選択部107を含まない構成では、動きベクトル細分化部106は、細分化された動きベクトルMB106を動きベクトル候補MB101Pとして動きベクトル平滑化部104に出力する。
【0025】
さらに、低解像度参照画像LRPICrefは、図1に示す構成の外部で高解像度参照画像HRPICrefから縮小フィルタによって生成されたものであっても良い。
【0026】
(A−2)第1の実施形態の動作
次に、以上のような構成を有する第1の実施形態に係る画像処理装置100Aの動作を、図1に加え、図2を参照しながら説明する。図2は、画像処理装置100Aの動作を示すフローチャートである。
【0027】
まず、動きベクトル検出部101において、低解像度入力画像LRPICと低解像度参照画像LRPICrefとから粗粒度な動きベクトルを検出し、動きベクトル候補MB101Pとして出力する(ステップS101)。
【0028】
1つの動きベクトルは、ある一定の領域に対して与えられる。この明細書では、その領域の大きさを粒度と呼んでいる。従って、粗粒度な動きベクトルとは、相対的に広い領域に対して与えられた動きベクトルであり、例えば、16×16画素で構成されるブロック(領域)に対して与えられる動きベクトルを用いる。図3は、粗粒度な動きベクトルと細粒度な動きベクトルを比較した例を示している。図3の例では、8×8画素で構成されるブロック(領域)に対して与えられる動きベクトルを細粒度な動きベクトルとしている。しかし、粒度はあくまで相対的な表現であり、例えば、8×8画素で構成されるブロック(領域)に対して与えられる動きベクトルは、4×4画素で構成されるブロック(領域)に対して与えられる動きベクトルから見れば粒度は粗い。
【0029】
動きベクトルの検出方法は、ブロックマッチング法など、既存の検出方法を適用すれば良い。低解像度入力画像LRPICと低解像度参照画像LRPICrefは、動きベクトルを計算するために利用している。
【0030】
動きベクトル平滑化部104において、動きベクトル候補MB101Pを平滑化し、平滑化された動きベクトルMB104として出力する(ステップS102)。
【0031】
図4は、動きベクトルの平滑化の説明図である。動きベクトルの平滑化とは、図4(A)から図4(B)への変化のように、隣接する動きベクトルがなるべく同じ方向と大きさを持つように平滑化することである。動きベクトルの平滑化方法として、例えば、ベクトルメジアンフィルタによる方法がある。ベクトルメジアンフィルタは、隣接する動きベクトルがなるべく同じ方向と大きさを持つように、なおかつ、動きベクトルのコスト(コストが低いほど、その動きベクトルが高精度であるとみなす)がなるべく大きくならないように、動きベクトルを調整するフィルタである。そのため、ベクトルメジアンフィルタは、動きベクトルのコストの計算を行う際に、入力画像と参照画像を必要とする。ベクトルメジアンフィルタは、動きベクトルのコストも加味して平滑化処理を行うため、ベクトルメジアンフィルタを通したとしても、必ずしも隣接するベクトルが同じ方向、大きさを持つようになるとは限らない。第1の実施形態は、動きベクトル平滑化部104にベクトルメジアンフィルタを適用することとしており、そのために、動きベクトル平滑化部104に、低解像度入力画像LRPICと低解像度参照画像LRPICrefとを入力している。
【0032】
しかしながら、動きベクトルの平滑化方法は、ベクトルメジアンフィルタを適用したものに限定されない。
【0033】
なお、ベクトルメジアンフィルタについては、例えば、文献A「J.Ascenso,C.Brites, and F.Pereira,“Improving frame interpolation with spatial motion smoothing for pixel domain distributed video coding,”5th EURASIP Conference on, 2005.」に記載されている。また、特開2011−77948号公報や特開2010−28524号公報には、ベクトルメジアンフィルタに準じた動きベクトルの平滑化方法が記載されている。
【0034】
制御部105において、平滑化された動きベクトルMB104の粒度が設定値未満であるかどうかを判定する(ステップS103)。ここで、設定値とは、ベクトルの粒度を指定するものである。
【0035】
平滑化された動きベクトルMB104の粒度が設定値未満である場合、つまり平滑化された動きベクトルMB104の粒度が設定値よりも粗い場合、例えば、設定値が4×4画素ブロックであるときに平滑化された動きベクトルMB104の粒度が8×8画素ブロックであった場合、平滑化された動きベクトルMB104を、平滑化された動きベクトルMB105aとして、動きベクトル細分化部106に出力する。
【0036】
平滑化された動きベクトルMB104の粒度が設定値以上である場合、つまり平滑化された動きベクトルMB104の粒度が設定値以上に細かい場合、例えば設定値が4×4画素ブロックであるときに平滑化された動きベクトルMB104の粒度が4×4画素ブロックであった場合、平滑化された動きベクトルMB104を、平滑化された動きベクトルMB105bとして、動きベクトル拡大部102に出力する。
【0037】
動きベクトル細分化部106において、平滑化された動きベクトルMB105aを分割し、細分化された動きベクトルMB106を出力する(ステップS104)。
【0038】
動きベクトルの分割とは、より狭い領域に動きベクトルを割り当てることである。例えば、平滑化された動きベクトルMB105aが16×16画素単位当たりに一つ与えられていたとすると、細分化された動きベクトルMB106は、8×8画素単位当たりに一つ与えられたものである。細分化された動きベクトルMB106は、分割前の平滑化された動きベクトルMB105aと同じ向きと大きさを持つようにする。
【0039】
平滑化された動きベクトルMB105aが有する領域を何分割するかに制限はないが、例えば、4分割する方法がある。上述した図3の細粒度動きベクトルは、粗粒度動きベクトルを4つに細分化した場合の例となっている。
【0040】
以上のような動きベクトルの分割(細分)を繰り返すことによって、やがて、制御部105において、平滑化された動きベクトルMB104の粒度が設定値以上に細かいと判定され、平滑化された動きベクトルMB105bが動きベクトル拡大部102に出力されるようになる。
【0041】
ゼロベクトル選択部107において、細分化された動きベクトルMB106とゼロベクトルのうち、高精度である方(コストが小さい方)を選択し、選択された動きベクトルを動きベクトル候補MB101Pとして出力する(ステップS105)。低解像度入力画像LRPICと低解像度参照画像LRPICrefは、ゼロベクトル選択部107において、動きベクトルのコストを計算するために利用される。低解像度入力画像LRPIC及び低解像度参照画像LRPICrefの一方を動きベクトルMB106を用いて動き補償し、その動き補償後の画像ブロックと、他方の画像ブロックとの相違度を表すコスト(相違が小さいほど小さいな値をとる)と、動き補償しない(ゼロベクトルでの動き補償)2つの画像ブロック間のコストとの比較で選択するベクトルを決定する。
【0042】
なお、ゼロベクトル選択部107を含まないように、画像処理装置100Aを構成した場合には、ステップS105の処理は省略される。
【0043】
動きベクトル拡大部102において、平滑化された動きベクトルMB105bを解像度比で拡大し、拡大された動きベクトルを動きベクトルMB102として出力する(ステップS106)。
【0044】
最後に、予測画像生成部103において、動きベクトルMB102と高解像度参照画像HRPICrefを用いて予測された高解像度入力画像HRPICPRを生成する(ステップS107)。
【0045】
(A−3)第1の実施形態の効果
以上のように、第1の実施形態によれば、粗粒度な動きベクトル検出と動きベクトルの平滑化と動きベクトルの細分化とゼロベクトルとの選択とを組み合わせることで、高周波成分の欠落した低解像度な画像からも、高精度な動きベクトルを検出することが可能になる。
【0046】
その結果、低解像度な画像から得た動きベクトルを利用して、高解像度な画像用の動きベクトルを推定しても、推定した動きベクトルの精度を高いものとすることができ、推定した動きベクトルを高解像度参照画像に適用して得た予測された高解像度入力画像の精度を高いものとすることができる。
【0047】
ここで、計算量が比較的多い、動きベクトル検出部が動作するのは、粗い粒度で動き検出するときだけであるため、演算量の増加を抑えることができる。すなわち、細かい粒度の動きベクトルの検出を高精度で可能にしつつ、検出に必要な演算量を抑制できる。その結果として、高解像度入力画像を低演算量かつ高精度で予測できる。
【0048】
(B)第2の実施形態
次に、本発明による画像処理装置及びプログラムの第2の実施形態を、図面を参照しながら詳述する。
【0049】
(B−1)第2の実施形態の構成
図5は、第2の実施形態に係る画像処理装置の構成を示すブロック図であり、上述した第1の実施形態に係る図1との同一、対応部分には同一符号を付して示している。
【0050】
図5において、第2の実施形態に係る画像処理装置100Bは、入力画像拡大部201と、参照画像拡大部202と、動きベクトル検出部101と、動きベクトル平滑化部104と、制御部105と、動きベクトル細分化部106と、ゼロベクトル選択部107と、予測画像生成部103とを有する。
【0051】
第2の実施形態に係る画像処理装置100Bは、第1の実施形態と比較すると、入力画像拡大部201及び参照画像拡大部202が増え、動きベクトル拡大部102が減っている。
【0052】
入力画像拡大部201は、低解像度入力画像LRPICを所定の方法で拡大し、高解像度画像と同じ解像度を持つ拡大入力画像EXPICを出力するものである。
【0053】
参照画像拡大部202は、低解像度参照画像LRPICrefを所定の方法で拡大し、高解像度画像と同じ解像度を持つ拡大参照画像EXPICrefを出力するものである。入力画像拡大部201及び参照画像拡大部202が適用している拡大方法は同一のものである。
【0054】
動きベクトル検出部101、動きベクトル平滑化部104、制御部105、動きベクトル細分化部106及びゼロベクトル選択部107は、第1の実施形態のものとほぼ同様である。但し、動きベクトル検出部101と、動きベクトル平滑化部104及びゼロベクトル選択部107に入力される画像が、入力画像拡大部201及び参照画像拡大部202から出力された拡大入力画像EXPIC及び拡大参照画像EXPICrefである点が第1の実施形態とは異なっている。また、制御部105が、平滑化された動きベクトルMB104が予め定められた粒度以下の粒度の場合は、平滑化された動きベクトルMB104を動きベクトルMB105bとして予測画像生成部103に出力する点が第1の実施形態と異なっている。ゼロベクトル選択部107からの選択動きベクトルは、動きベクトル平滑化部104にフィードバックされる。
【0055】
予測画像生成部103も、第1の実施形態のものとほぼ同様である。但し、動きベクトルMB105bが制御部105から与えられるので、その動きベクトルMB105bを用いて、予測された高解像度入力画像HRPICPRを生成する点が、第1の実施形態と異なっている。
【0056】
なお、低解像度参照画像LRPICrefが高解像度参照画像HRPICrefから縮小フィルタによって生成するシステムの場合であれば、参照画像拡大部202を省略し、拡大参照画像EXPICrefに代えて、高解像度参照画像HRPICrefを、動きベクトル検出部101と、動きベクトル平滑化部104及びゼロベクトル選択部107に入力するようにしても良い。
【0057】
(B−2)第2の実施形態の動作
次に、以上のような構成を有する第2の実施形態に係る画像処理装置100Bの動作を、図5に加え、図6を参照しながら説明する。図6は、第2の実施形態に係る画像処理装置100Bの動作を示すフローチャートであり、第1の実施形態に係る上述した図2との同一、対応ステップには同一符号を付して示している。
【0058】
まず、入力画像拡大部201において、低解像度入力画像LRPICを解像度比で拡大することで、拡大入力画像EXPICを生成し(ステップS201)、また、参照画像拡大部202において、低解像度参照画像LRPICrefを解像度比で拡大することで、拡大参照画像EXPICrefを生成する(ステップS202)。これらの拡大は、Bilinear法やBicubic法などの既存の拡大方法を用いて行う。なお、ステップS201及びS202の拡大処理はいずれを先に実行しても良く、図6とは異なるが、並行的に実行しても良い。
【0059】
動きベクトル検出部101において、拡大入力画像EXPICと拡大参照画像EXPICrefとを用いて粗粒度な動きベクトルを検出し、動きベクトル候補MB101として出力する(ステップS101)。
【0060】
動きベクトル平滑化部104において、拡大入力画像EXPICと拡大参照画像EXPICrefとを用いて、動きベクトル候補MB101Pを平滑化し、平滑化された動きベクトルMB104として出力する(ステップS102)。
【0061】
制御部105において、平滑化された動きベクトルMB104の粒度が設定値未満であるかどうかを判定し、判定結果に応じて、動きベクトル細分化部106又は予測画像生成部103に出力する(ステップS103)。第1の実施形態と異なるのは、設定値以上である場合、つまり平滑化された動きベクトルMB104の粒度が設定値以上に細かい場合に、平滑化された動きベクトルMB104を、動きベクトル105Bbとして、予測画像生成部103に出力する点である。
【0062】
動きベクトル細分化部106において、平滑化された動きベクトル105Baを分割し、細分化された動きベクトルMB106として出力する(ステップS104)。
【0063】
ゼロベクトル選択部107において、細分化された動きベクトルMB106とゼロベクトルとの精度(コスト)を、拡大入力画像EXPICと拡大参照画像EXPICrefとを用いて算出し、高精度である方(コストが小さい方)を選択し、選択された動きベクトルを動きベクトル候補MB101Pとして出力する(ステップS105)。
【0064】
予測画像生成部103において、制御部105から与えられた動きベクトル105Bbと、高解像度参照画像HRPICrefとを用いて、予測された高解像度入力画像HRPICPRを生成する(ステップS107)。
【0065】
(B−3)第2の実施形態の効果
以上のように、第2の実施形態によれば、拡大入力画像と拡大参照画像を生成し、拡大入力画像と拡大参照画像に基づき、粗粒度な動きベクトルの検出、動きベクトルの平滑化、動きベクトルの細分化、ゼロベクトルとの選択を行えることで、高精度な動きベクトルを検出(推定)することが可能になる。結果として、高解像度入力画像を高精度で予測することができる。
【0066】
(C)第3の実施形態
次に、本発明による画像処理装置及びプログラムの第3の実施形態を、図面を参照しながら詳述する。
【0067】
(C−1)第3の実施形態の構成
図7は、第3の実施形態に係る画像処理装置の構成を示すブロック図であり、上述した第2の実施形態に係る図5との同一、対応部分には同一符号を付して示している。
【0068】
図7において、第3の実施形態に係る画像処理装置100Cは、入力画像拡大部201と、参照画像拡大部202と、動きベクトル検出部101と、動きベクトル候補拡大部301と、動きベクトル平滑化部104と、制御部105と、動きベクトル細分化部106と、ゼロベクトル選択部107と、予測画像生成部103とを有する。
【0069】
第3の実施形態に係る画像処理装置100Cが、第2の実施形態と異なる点は、動きベクトル検出部101が低解像度入力画像LRPICと低解像度参照画像LRPICrefとを用いて、粗粒度な動きベクトル候補MB101を生成することと、動きベクトル候補拡大部301が追加されていることである。
【0070】
動きベクトル候補拡大部301は、動きベクトル検出部101から出力された粗粒度な動きベクトル候補MB101を解像度比で拡大し、動きベクトル候補MB301として動きベクトル平滑化部104に出力するものである。
【0071】
入力画像拡大部201、参照画像拡大部202、動きベクトル平滑化部104、制御部105、動きベクトル細分化部106、ゼロベクトル選択部107及び予測画像生成部103は、第2の実施形態のものと同様であるので、その機能説明は省略する。
【0072】
(C−2)第3の実施形態の動作
次に、以上のような構成を有する第3の実施形態に係る画像処理装置100Cの動作を、図7に加え、図8を参照しながら説明する。図8は、第3の実施形態に係る画像処理装置100Cの動作を示すフローチャートであり、第2の実施形態に係る上述した図6との同一、対応ステップには同一符号を付して示している。
【0073】
拡大入力画像EXPIC及び拡大参照画像EXPICrefを生成するステップS201及びS202は、第2の実施形態と同様である。
【0074】
動きベクトル検出部301において、低解像度入力画像LRPICと低解像度参照画像LRPICrefとから粗粒度な動きベクトルを検出し、低解像度画像用の動きベクトル候補MB101として出力する(ステップS301)。なお、ステップS301をステップS201やS202より先に実行しても良い。
【0075】
動きベクトル候補拡大部301において、動きベクトル候補MB101を解像度比で拡大し、動きベクトル候補MB301として出力する(ステップS302)。
【0076】
動きベクトル平滑化部104において、拡大された動きベクトル候補MB301を平滑化し、平滑化された動きベクトルMB104として出力する(ステップS102)。
【0077】
これ以降の処理は、第2の実施形態と同様である。平滑化された動きベクトルMB104の粒度を確認し、出力先を選択する処理(ステップS103)、動きベクトルを細分化する処理(ステップS104)、細分化された動きベクトルMB106又はゼロベクトルを選択する処理(ステップS105)、及び、予測された高解像度入力画像HRPICPRを生成する処理(ステップS107)は、第2の実施形態と同様である。
【0078】
(C−3)第3の実施形態の効果
以上のように、第3の実施形態によれば、拡大入力画像と拡大参照画像を生成し、拡大入力画像と拡大参照画像に基づき、動きベクトルの平滑化、ゼロベクトルとの選択を行う一方で、粗粒度な動きベクトルの検出には低解像度入力画像と低解像度参照画像を用いることで、動きベクトルの検出を高精度に行いながら、演算量を低減することができる。結果として、高精度な高解像度入力画像を低演算量で予測することができる。
【0079】
(D)第4の実施形態
次に、本発明による画像処理装置及びプログラムの第4の実施形態を、図面を参照しながら詳述する。
【0080】
(D−1)第4の実施形態の構成
図9は、第4の実施形態に係る画像処理装置の構成を示すブロック図であり、上述した第3の実施形態に係る図7との同一、対応部分には同一符号を付して示している。
【0081】
第4の実施形態に係る画像処理装置100Dは、動きベクトル検出部101から出力された動きベクトル候補MB101を拡大し、拡大後の動きベクトル候補MB401を動きベクトル平滑部102に与える動きベクトル候補拡大部401が、第3の実施形態における動きベクトル候補拡大部301と異なっており、動きベクトル候補拡大部401以外の構成は、第3の実施形態と同様である。
【0082】
(D−2)第4の実施形態の動作
そのため、第4の実施形態に係る画像処理装置100Dの動作の流れも、図示は省略するが、第3の実施形態とほぼ同様であるが、動きベクトル候補拡大部401において実行される動作のみが異なっている(図8のステップS302参照)。
【0083】
動きベクトル候補拡大部401において、低解像度画像に係る動きベクトル候補MB101を解像度比で拡大し、拡大した動きベクトルが指す座標を中心とする予め定められた小領域の中から、拡大入力画像EXPICと拡大参照画像EXPICrefとを用いて計算する動きベクトルのコストが最小(若しくは準最小)となる動きベクトルを探索し、コストが最小(若しくは準最小)となる動きベクトルを動きベクトル候補MB401として動きベクトル平滑部104に出力する。ここで、コストが準最小となる動きベクトルとは、コストが最小となる動きベクトルを見付けることを保証しない高速な動きベクトル探索アルゴリズムを用いて求めた動きベクトルのことを表している。後述する図12においては、この処理をステップS402で表している。
【0084】
動きベクトル候補拡大部401は、拡大入力画像EXPICと拡大参照画像EXPICrefとを用いて、拡大した動きベクトルの微調整を行って、最適な動きベクトル候補MB401を得る機能を有している。
【0085】
今、図10(A)に示すような動きベクトル候補MB101が動きベクトル検出部101によって得られたとする。この動きベクトル候補MB101を解像度比で拡大した動きベクトルが、図10(B)に示す動きベクトルMB301である。上述した第3の実施形態では、この動きベクトルMB301を動きベクトル候補として動きベクトル平滑部104に出力していた。この第4の実施形態では、動きベクトルMB301の先端(移動先)を中心にして、図10(B)に示すように小領域SARを設定し、小領域SAR内の各画素が動きベクトルの先端とした場合のコストをそれぞれ計算する。例えば、拡大参照画像EXPICrefを動きベクトル補償した画像と、拡大入力画像EXPICとの相違を表すコスト(例えば、対応する画素同士の差分の絶対値の総和)を計算する。計算されたコストが最小(若しくは準最小)となる、小領域SAR内の画素を先端とする動きベクトルを、当該動きベクトル候補拡大部401の出力ベクトルとする。
【0086】
(D−3)第4の実施形態の効果
以上のように、第4の実施形態によれば、低解像度入力画像と低解像度参照画像を用いることで、粗粒度な動きベクトルの検出を低演算量で行う一方で、粗粒度な動きベクトルを拡大する際に、拡大入力画像と拡大参照画像を用いて拡大した動きベクトルの微調整を行うことで、高精度な動きベクトルを検出することが可能になる。結果として、高精度な高解像度入力画像を低演算量で予測することができる。
【0087】
(E)第5の実施形態
次に、本発明による画像処理装置及びプログラムの第5の実施形態を、図面を参照しながら詳述する。第5の実施形態に係る画像処理装置は、Slepian−Wolf理論及びWyner−Ziv理論を応用した映像符号化方式であるDVC(Distributed Video Coding)方式に従う動画像復号装置である。
【0088】
(E−1)第1の実施形態の構成
図11は、第5の実施形態に係る画像処理装置の構成を示すブロック図であり、上述した第4の実施形態に係る図9との同一、対応部分には同一符号を付して示している。
【0089】
第5の実施形態に係る画像処理装置100Eが第4の実施形態と相違する点は、主に、スケーラブル構造を有するDVCでの復号に関わる機能と、スケーラブル構造を有するDVCのビットストリームの特徴を活用しDVCの復号に必要な予測画像を低演算量かつ高精度で生成する機能とが追加されている点である。
【0090】
DVCでは、誤り訂正符号を映像符号化に応用する形で実現され、H.264/AVCのような標準の動画像符号化方式と比較して、エンコーダの計算量が少なく、デコーダの計算量が多いという特徴を持つ映像符号化方式である。第5の実施形態に係る画像処理装置100Eは、数あるDVCの実装方法の中で、文献「M.Tagliasacchi,A.Majumdar, and K.Ramchandran,“Aでdistributed−source−coding based robust spatio−temporal scalable video codec,”Proc. Picture Coding Symposium, Citeseer, 2004.」のようにスケーラブル構造を有したDVCの復号システムを実現するものである。
【0091】
以下では、圧縮したい原画像を所定の方法で縮小し(解像度を落とし)、低解像度化した原画像を、例えば、H.264/AVCのようなハイブリッド符号化技術を用いて符号化することで生成されるビットストリームを基準ビットストリームと呼ぶ。また、圧縮したい原画像をDVCの概念に基づき符号化することで生成されるビットストリームをDVCビットストリームと呼ぶ。
【0092】
第5の実施形態に係る画像処理装置100Eは、基準復号部501と、DVC復号部506と、参照インデックス計算部502と、低解像度参照画像選択部503と、高解像度参照画像選択部505とが追加され、動きベクトル検出部101に代えて動きベクトル抽出部504が設けられている点が、第4の実施形態と相違している。
【0093】
基準復号部501は、入力された基準ビットストリームBSを復号することで低解像度入力画像LRPICを生成するものである。
【0094】
DVC復号部506は、入力されたDVCビットストリームBSDVCを、予測画像生成部103から出力された予測された高解像度入力画像HRPICPRを用いてDVC復号することで高解像度画像HRPICを生成するものである。
【0095】
参照インデックス計算部502は、低解像度入力画像LRPICが、符号化されるときに参照していた画像のインデックスを、基準ビットストリームBSから求め、参照画像インデックスINDを出力するものである。
【0096】
低解像度参照画像選択部503は、参照画像インデックスINDが指す画像を内部メモリから取り出し、低解像度参照画像LRPICrefとして出力すると共に、復号済みの低解像度入力画像LRPICを内部メモリに一時的に保持するものである。
【0097】
動きベクトル抽出部504は、基準ビットストリームBSから、低解像度入力画像LRPICを符号化するのに利用されていた動きベクトルを抽出し、低解像度画像に係る動きベクトル候補MB504として動きベクトル拡大部401に出力するものである。
【0098】
高解像度参照画像選択部505は、参照画像インデックスINDが指す画像を内部メモリから取り出し、高解像度参照画像HRPICrefとして予測画像生成部103に出力すると共に、復号済みの高解像度画像HRPICを内部メモリに一時的に保持するものである。
【0099】
その他の各部の機能は、第4の実施形態の対応部分と同様であるので、その説明は省略する。
【0100】
(E−2)第5の実施形態の動作
次に、以上のような構成を有する第5の実施形態に係る画像処理装置100Eの動作を、図11に加え、図12を参照しながら説明する。図12は、第5の実施形態に係る画像処理装置100Eの動作を示すフローチャートであり、第3の実施形態に係る上述した図11との同一、対応ステップには同一、対応符号を付して示している。
【0101】
基準復号部501において、入力された基準ビットストリームBSを復号することで低解像度入力画像LRPICを生成する(ステップS501)。
【0102】
入力画像拡大部201において、低解像度入力画像LRPICを解像度比で拡大し、拡大入力画像EXPICを生成する(ステップS201)。
【0103】
参照画像インデックス計算部502において、低解像度入力画像LRPICが符号化されるときに参照していた画像のインデックスを、基準ビットストリームBSから求め、参照画像インデックスINDを出力する(ステップS502)。
【0104】
低解像度参照画像選択部503において、参照画像インデックスINDが指す画像を内部メモリから取り出し、低解像度参照画像LRPICrefとして出力すると共に、復号済みの低解像度入力画像LRPICを内部メモリに一時的に保持する(ステップS503)。
【0105】
参照画像拡大部202において、低解像度参照画像LRPICrefを解像度比で拡大し、拡大参照画像EXPICrefを生成する(ステップS202)。
【0106】
動きベクトル抽出部504において、基準ビットストリームBSから、低解像度入力画像8を符号化するのに利用されていた動きベクトルを抽出し、低解像度画像に係る動きベクトル候補MB504として出力する(ステップS504)。
【0107】
動きベクトル候補拡大部410において、動きベクトル候補MB504を解像度比で拡大し、拡大した動きベクトルが指す座標を中心に、さらにコストの低い動きベクトルを探索し、動きベクトル候補MB401として出力する(ステップS401)。
【0108】
拡大された動きベクトル候補MB401を平滑化する処理(ステップS102)、平滑化された動きベクトルMB104の粒度を確認し、出力先を選択する処理(ステップS103)、動きベクトルを細分化する処理(ステップS104)、及び、細分化された動きベクトルMB106又はゼロベクトルを選択する処理(ステップS105)は、第3の実施形態と同様である。
【0109】
高解像度参照画像選択部505において、参照画像インデックスINDが指す画像を内部メモリから取り出し、高解像度参照画像HRPICrefとして出力すると共に、復号済みの高解像度画像HRPICを、内部メモリに一時的に保持する(ステップS505)。
【0110】
予測画像生成部103において、動きベクトルMB105bと高解像度参照画像HRPICrefを用いて、予測された高解像度入力画像HRPICPRを生成する(ステップS107)。
【0111】
DVC復号部506において、入力されたDVCビットストリームBSDVCを予測された高解像度入力画像HRPICPRを用いてDVC復号することで、高解像度画像HRPICを生成する(ステップS506)。
【0112】
(E−3)第5の実施形態の効果
以上のように、第5の実施形態によれば、スケーラブル構造を有するDVCの復号に関わる機能と、スケーラブル構造を有するDVCのビットストリームの特徴を活用しDVCの復号に必要な予測画像を低演算量かつ高精度で生成する機能とが追加されているので、細粒度な動きベクトルや予測された高解像度入力画像がより一層低演算量で生成されるようになると共に、予測された高解像度入力画像に含まれる予測誤りが訂正され、高解像度画像の品質がさらに高くなる。
【0113】
DVCの観点から鑑みても、高い品質の予測画像を低演算量で生成できることで、復号にかかる演算量を抑制しながら、高い符号化効率を実現できるようになる。
【0114】
(F)第6の実施形態
次に、本発明による画像処理装置及びプログラムの第6の実施形態を、図面を参照しながら詳述する。第6の実施形態に係る画像処理装置もDVC方式に従う動画像復号装置である。
【0115】
(F−1)第6の実施形態の構成
図13は、第6の実施形態に係る画像処理装置の構成を示すブロック図であり、上述した第5の実施形態に係る図11との同一、対応部分には同一符号を付して示している。
【0116】
第6の実施形態に係る画像処理装置100Fは、第5の実施形態における動きベクトル抽出部504及び動きベクトル候補拡大部401に代えて、第2の実施形態で説明した動きベクトル検出部101を有する点が、第5の実施形態と異なっており、動きベクトル検出部101以外の構成は、第5の実施形態と同様である。
【0117】
動きベクトル検出部101は、第2の実施形態で説明した通り、拡大入力画像EXPICと拡大参照画像EXPICrefとの間で、粗粒度な動きベクトルを検出し、動きベクトル候補MB101として動きベクトル平滑部104に出力するものである。
【0118】
動きベクトル検出部101は、第3の実施形態における動きベクトル検出部101と動きベクトル候補拡大部301の組み合わせ、又は、第4の実施形態における動きベクトル検出部101と動きベクトル候補拡大部401の組み合わせによって構成しても良く、これらの場合、動きベクトル検出部101には、低解像度入力画像LRPICと低解像度参照画像LRPICrefとが入力される。
【0119】
(F−2)第6の実施形態の動作
そのため、第6の実施形態に係る画像処理装置100Fの動作の流れも、図示は省略するが、第5の実施形態とほぼ同様であるが、動きベクトル抽出部504及び動きベクトル候補拡大部401において実行されていた動作(図12のステップS504、S401参照)が、以下の動作に置き換わった点が第5の実施形態と異なっている。
【0120】
「動きベクトル検出部101において、拡大入力画像EXPICと拡大参照画像EXPICrefとから粗粒度な動きベクトルを検出し、動きベクトル候補MB101として動きベクトル平滑化部104に出力する」
(F−3)第6の実施形態の効果
以上のように、第6の実施形態によれば、粗粒度な動きベクトルの推定を行う際に、基準ビットストリームに含まれる動きベクトルを流用するのではなく、拡大入力画像と拡大参照画像を用いて、動きベクトルを推定していることで、より品質の高い画像を復号できるようになる。
【0121】
基準ビットストリームに含まれる動きベクトルは、低解像度画像を用いて求められた動きベクトルであり、その精度は低いため、基準ビットストリームから抽出した動きベクトルに基づきDVC復号すると、復号品質はそれなりであるが、第6の実施形態では、拡大入力画像と拡大参照画像とを用いて、精度の高い動きベクトルを推定して、推定した動きベクトルに基づきDVC復号していることで、復号品質を高いものとすることができる。
【0122】
(G)第7の実施形態
次に、本発明による画像処理装置及びプログラムの第7の実施形態を、図面を参照しながら詳述する。第7の実施形態に係る画像処理装置もDVC方式に従う動画像復号装置である。
【0123】
(G−1)第7の実施形態の構成
図14は、第7の実施形態に係る画像処理装置の構成を示すブロック図であり、上述した第6の実施形態に係る図13との同一、対応部分には同一符号を付して示している。
【0124】
第7の実施形態に係る画像処理装置100Gは、第6の実施形態の構成に、画質改善部800が追加されたものである。
【0125】
画質改善部700は、DVC復号部506から出力された高解像度画像HRPICを用いて、再び動き推定と予測画像生成とを行い、その結果得られる予測画像を用いてDVC復号することで、改善後高解像度画像REHRPICを生成するものである。ここで、第7の実施形態の場合、高解像度参照画像選択部505には、改善後高解像度画像REHRPICが入力されるようになっている。但し、高解像度参照画像選択部505に、改善後高解像度画像REHRPICを入力するのではなく高解像度画像HRPICを入力するようにしても良い。
【0126】
図15は、画質改善部700の詳細構成を示すブロック図である。画質改善部700は、動きベクトル改善部701と、予測画像再生成部702と、DVC復号部703とを有する。
【0127】
動きベクトル改善部701は、拡大入力画像EXPICと拡大参照画像EXPICrefと高解像度画像HRPICと高解像度参照画像HRPICrefとを用いて、動きベクトルMB706bを推定するものである。
【0128】
予測画像再生成部702は、高解像度参照画像HRPICrefと動きベクトルMB706bとを用いて、予測された高解像度入力画像HRPICPR2を生成するものである。
【0129】
DVC復号部703は、DVCビットストリームBSDVCを、予測された高解像度入力画像HRPICPR2を用いてDVC復号することで、改善後高解像度画像REHRPICを生成するものである。
【0130】
動きベクトル改善部701は、動きベクトル検出部704と、動きベクトル平滑化部705と、制御部706と、動きベクトル細分化部707と、ゼロベクトル選択部708と、動きベクトル微調整部709とを有する。
【0131】
動きベクトル検出部704は、拡大入力画像EXPICと拡大参照画像EXPICrefとの間と、高解像度画像HRPICと高解像度参照画像HRPICrefとの間で、粗粒度な動きベクトルを検出し、動きベクトル候補MB704として出力するものである。例えば、ブロックマッチングなどで動きベクトル候補MB704を探索している際のコストは、拡大入力画像EXPICと拡大参照画像EXPICrefとの間のコストと、高解像度画像HRPICと高解像度参照画像HRPICrefとの間のコストとの和とし、動きベクトル検出部704は、拡大入力画像EXPICと拡大参照画像EXPICrefとの間と、高解像度画像HRPICと高解像度参照画像HRPICrefとの間とで共に、良好な動きベクトルを検出する。
【0132】
動きベクトル平滑化部705は、拡大入力画像EXPIC及び拡大参照画像EXPICrefと、高解像度画像HRPIC及び高解像度参照画像HRPICrefとを用いて、動きベクトル候補MB704を平滑化し、平滑化された動きベクトルMB705を出力する
制御部706は、平滑化された動きベクトルMB705が、予め定められた粒度よりも粗い粒度の場合は、平滑化された動きベクトルMB705を平滑化された動きベクトルMB706aとして動きベクトル細分化部707に出力し、平滑化された動きベクトル705が、予め定められた粒度以下の粒度の場合は、平滑化された動きベクトルMB705を動きベクトル706bとして予測画像再生成部702に出力するものである。
【0133】
動きベクトル細分化部707は、平滑化された動きベクトル706aを細分化し、細分化された動きベクトルMB707を出力するものである。
【0134】
ゼロベクトル選択部708と、細分化された動きベクトルMB707とゼロベクトルのうち高精度のベクトルを、拡大入力画像EXPICと拡大参照画像EXPICrefと高解像度画像HRPICと高解像度参照画像HRPICrefとを用いて選択し、選択された動きベクトルMB708を出力する
微調整部709は、選択された動きベクトルMB708を中心にして、よりコストの低い動きベクトルを探索し、よりコストの低い動きベクトルに微調整し、微調整された動きベクトルを動きベクトル候補MB704として動きベクトル平滑化部705に出力するものである。
【0135】
動きベクトル改善部701として、ゼロベクトル選択部708を含まない構成も可能である。動きベクトル改善部701として、動きベクトル微調整部709を含まない構成も可能である。動きベクトル改善部701として、ゼロベクトル選択部708と動きベクトル微調整部709の実行順序を入れ替えた構成も可能である。
【0136】
また、動きベクトルのコストを計算することを行っている動きベクトル検出部704、動きベクトル平滑化部705、ゼロベクトル選択部708及び動きベクトル微調整部709が、高解像度画像HRPICと高解像度参照画像HRPICrefとのみから動きベクトルのコストを計算するようにしても良い。
【0137】
さらに、動きベクトル検出部704を、第3の実施形態や第4の実施形態で説明したような、低解像度入力画像LRPICと低解像度参照画像LRPICrefとから動きベクトルを検出する動きベクトル検出部と、その出力を拡大する動きベクトル候補拡大部との組み合わせによって構成するようにしても良い。
【0138】
(G−2)第7の実施形態の動作
次に、以上のような構成を有する第7の実施形態に係る画像処理装置100Gの動作を、図14及び図15に加え、図16及び図17を参照しながら説明する。図16は、第7の実施形態に係る画像処理装置100Gの動作を示すフローチャートであり、第5の実施形態に係る上述した図12との同一、対応ステップには同一、対応符号を付して示している。図17は、図16のステップS801の詳細を示すフローチャートである。
【0139】
第7の実施形態に係る画像処理装置100Gは、ステップS505を含め、これ以降の処理が第5の実施形態と異なっている。
【0140】
但し、第7の実施形態に係る画像処理装置100Gは、第6の実施形態と同様に、第5の実施形態の動きベクトル抽出部504及び動きベクトル候補拡大部401を、動きベクトル検出部101と置き換えているので、第5の実施形態におけるステップS504、S401の部分が、「動きベクトル検出部101において、拡大入力画像EXPICと拡大参照画像EXPICrefとから粗粒度な動きベクトルを検出し、動きベクトル候補MB101として動きベクトル平滑化部104に出力する」(ステップS101)に置き換わっている。
【0141】
以下、ステップS505以降の処理を説明する。
【0142】
高解像度参照画像選択部505において、参照画像インデックスINDが指す画像を内部メモリから取り出し、高解像度参照画像HRPICrefとして出力すると共に、復号済みの改善後高解像度画像REHRPICを、内部メモリに保持する(ステップS505)。
【0143】
予測画像生成部103において、動きベクトルMB105bと高解像度参照画像HRPICrefを用いて、予測された高解像度入力画像HRPICPRを生成する(ステップS107)。
【0144】
DVC復号部506において、入力されたDVCビットストリームBSDVCを、予測された高解像度入力画像HRPICPRを用いてDVC復号することで、高解像度画像HRPICを生成する(ステップS506)。
【0145】
画質改善部700において、高解像度画像HRPICを用いて、再び動きベクトル推定と予測画像生成とDVC復号とを行うことで、改善後高解像度画像REHRPICを生成する(ステップS701)。次に、このステップS701の詳細な動作を説明する。
【0146】
動きベクトル検出部704において、拡大入力画像EXPICと拡大参照画像EXPICrefと高解像度画像HRPICと高解像度参照画像HRPICrefとから粗粒度な動きベクトルを検出し、動きベクトル候補MB704として出力する(ステップS702)。
【0147】
動きベクトル平滑化部705において、動きベクトル候補MB704を平滑化し、平滑化された動きベクトルMB705として出力する(ステップS703)。
【0148】
制御部706において、平滑化された動きベクトルMB705の粒度が設定値未満であるかどうかを判定する(ステップS704)。平滑化された動きベクトルMB705の粒度が設定値未満である場合、つまり平滑化された動きベクトルMB705の粒度が設定値よりも粗い場合、平滑化された動きベクトルMB705を、平滑化された動きベクトルMB706aとして、動きベクトル細分化部707に出力する。平滑化された動きベクトルMB705の粒度が設定値以上である場合、つまり平滑化された動きベクトルMB705の粒度が設定値以上に細かい場合、平滑化された動きベクトルMB705を、動きベクトル706bとして、予測画像再生成部702に出力する。
【0149】
動きベクトル細分化部707において、平滑化された動きベクトル706aを分割し、細分化された動きベクトルMB707として出力する(ステップS705)。
【0150】
ゼロベクトル選択部708において、細分化された動きベクトルMB707とゼロベクトルの精度が良い方を選択し、選択された動きベクトルMB708として出力する(ステップS706)。
【0151】
動きベクトル微調整部709において、選択された動きベクトルMB708を中心にして、よりコストの低い動きベクトルを探索し微調整し、微調整された動きベクトルを動きベクトル候補MB704として出力する(ステップS707)。
【0152】
予測画像再生成部702において、動きベクトルMB706bと高解像度参照画像HRPICrefを用いて予測された高解像度入力画像HRPICPR2を生成する(ステップS708)。
【0153】
DVC復号部703において、DVCビットストリームBSDVCを、予測された高解像度入力画像HRPICPR2を用いてDVC復号することで、改善後高解像度画像REHRPICを生成する(ステップS709)。
【0154】
この第7の実施形態の構成の項で説明した変形実施形態の場合、上述した処理の流れや処理の内容が変更になることもあるが、その説明は省略する。
【0155】
(G−3)第7の実施形態の効果
以上のように、第7の実施形態によれば、一度目のDVC復号によって得られた高周波成分の情報を用いて、さらに高品質な動きベクトルを推定するようにしたので、さらに高品質な予測画像を生成することができ、その予測画像を用いて二度目のDVC復号を行うことで、復号品質を高めることができる。高周波成分の情報を利用できることで、動きベクトルを細分化するごとに動きベクトルを微調整することで、動きベクトルの推定品質をさらに改善することができる。
【0156】
(H)他の実施形態
上記第7の実施形態においては、動きベクトル改善部701が、拡大入力画像EXPIC及び拡大参照画像EXPICrefから動きベクトルを得るものを示したが、低解像度入力画像LRPIC及び低解像度参照画像LRPICrefから動きベクトルを検出し、それを拡大して、動きベクトル平滑部705に入力するようにしても良い。この第7の実施形態に対する変形実施形態は、動きベクトル改善部での動きベクトルの検出ではないが、当初動きベクトルの検出ではあるが、第2の実施形態と第3の実施形態との関係と同様である(図5及び図7参照)。
【0157】
第5〜第7の実施形態に係る画像処理装置は、本発明をDVCの復号で必要な予測画像の生成に利用した復号装置であるが、本発明をDVCの符号化で利用する簡易予測画像の生成に利用するようにしても良く、上述と同様な効果を得ることができる。この場合、DVCは、誤り耐性の高い符号化方式として利用するか、復号時に更に高負荷で高精度な予測画像生成手段を採用することでエンコーダの負荷が低く、デコーダの負荷が高いというDVCの特徴を出す符号化方式として利用するか、のいずれかの目的で使用することになる。
【符号の説明】
【0158】
100A〜100G…画像処理装置、101…動きベクトル検出部、102…動きベクトル拡大部、103…予測画像生成部、104…動きベクトル平滑化部、105…制御部、106…動きベクトル細分化部、107…ゼロベクトル選択部、201…入力画像拡大部、202…参照画像拡大部、301、401…動きベクトル候補拡大部、501…基準復号部、502…参照インデックス計算部、503…低解像度参照画像選択部、504…動きベクトル抽出部、505…高解像度参照画像選択部、506…DVC復号部、700…画質改善部、701…動きベクトル改善部、702…予測画像再生成部、703…DVC復号部。

【特許請求の範囲】
【請求項1】
低解像度入力画像と低解像度参照画像とから高解像度な画像用の動きベクトルを推定する画像処理装置において、
入力された上記低解像度入力画像と上記低解像度参照画像とに基づいて、粗粒度な動きベクトルを検出し、当初の動きベクトル候補として出力する当初動きベクトル候補生成部と、
入力された動きベクトル候補の粒度を徐々に細かくしていく動きベクトル粒度向上部とを備え、
上記動きベクトル粒度向上部が、
動きベクトル候補を平滑化し、平滑化された動きベクトルを出力する動きベクトル平滑化部と、
平滑化された動きベクトルが、予め定められた粒度よりも粗いか否かを判定し、平滑化された動きベクトルが、予め定められた粒度以下の粒度の場合に、当該動きベクトル粒度向上部から出力させる制御部と、
平滑化された動きベクトルが、予め定められた粒度よりも粗い粒度の場合に、平滑化された動きベクトルが与えられ、平滑化された動きベクトルを細分化し、細分化された動きベクトルを新たな動きベクトル候補とする動きベクトル細分化部とを有する、
ことを特徴とする画像処理装置。
【請求項2】
上記動きベクトル粒度向上部が、上記動きベクトル細分化部からの細分化された動きベクトル候補とゼロベクトルのうち、精度が良い方を選択して、上記動きベクトル候補として上記動きベクトル平滑化部に出力するゼロベクトル選択部をさらに有することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
上記当初動きベクトル候補生成部及び上記動きベクトル粒度向上部が、低解像度用の動きベクトルを取り扱うものであり、上記動きベクトル粒度向上部から出力された、平滑化された動きベクトルを、所定の比率で拡大し、高解像度な画像用の推定動きベクトルとして出力する動きベクトル拡大部をさらに備えることを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
上記当初動きベクトル候補生成部は、
上記低解像度入力画像を拡大した拡大入力画像を生成する入力画像拡大部と、
上記低解像度参照画像を拡大した拡大参照画像を生成する参照画像拡大部と、
上記拡大入力画像と上記拡大参照画像とから、粗粒度な動きベクトルを検出し当初の動きベクトル候補として出力する動きベクトル検出部とを有し、
上記動きベクトル粒度向上部内の各部が利用する画像が、上記拡大入力画像及び上記拡大参照画像であり、上記動きベクトル粒度向上部からの出力ベクトルを、高解像度な画像用の推定動きベクトルとする
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項5】
上記当初動きベクトル候補生成部は、
入力された上記低解像度入力画像と上記低解像度参照画像とから、粗粒度な動きベクトルを検出する動きベクトル検出部と、
検出された粗粒度な動きベクトルを、所定の比率で拡大し、動きベクトル候補として出力する動きベクトル候補拡大部とを有し、
上記動きベクトル粒度向上部が、
上記低解像度入力画像を拡大した拡大入力画像を生成する入力画像拡大部と、
上記低解像度参照画像を拡大した拡大参照画像を生成する参照画像拡大部とを有し、
上記動きベクトル粒度向上部内の各部が利用する画像が、上記拡大入力画像及び上記拡大参照画像であり、上記動きベクトル粒度向上部からの出力ベクトルを、高解像度な画像用の推定動きベクトルとする
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項6】
上記動きベクトル候補拡大部は、上記動きベクトル検出部で検出された動きベクトルを所定の比率で拡大し、拡大した動きベクトルが指す座標を中心とする予め定められた小領域の中から、上記拡大入力画像と上記拡大参照画像とを用いて計算するコストが最小若しくは準最小となる動きベクトルを探索し、動きベクトル候補として出力することを特徴とする請求項5に記載の画像処理装置。
【請求項7】
入力された高解像度参照画像と高解像度な画像用の推定動きベクトルを用いて、予測された高解像度入力画像を生成する予測画像生成部をさらに備えることを特徴とする請求項1〜6のいずれかに記載の画像処理装置。
【請求項8】
入力された基準ビットストリームを復号することで上記低解像度入力画像を生成する基準復号部と、
入力されたDVCビットストリームを、上記予測された高解像度入力画像を用いてDVC復号することで高解像度画像を生成するDVC復号部と、
上記低解像度入力画像が、符号化されるときに参照していた画像のインデックスを、当該基準ビットストリームから求め、参照画像インデックスを出力する参照インデックス計算部と、
上記参照画像インデックスが指す画像を内部メモリから取り出し、上記低解像度参照画像として出力すると共に、復号済みの当該低解像度入力画像を、内部メモリに一時的に保持する低解像度参照画像選択部と、
上記参照画像インデックスが指す画像を内部メモリから取り出し、上記高解像度参照画像として出力すると共に、復号済みの当該高解像度画像を、内部メモリに一時的に保持する高解像度参照画像選択部とをさらに備える
ことを特徴とする請求項1〜7のいずれかに記載の画像処理装置。
【請求項9】
上記当初動きベクトル候補生成部は、粗粒度な動きベクトルの検出動作に代え、上記基準ビットストリームから、低解像度入力画像を符号化するのに利用されていた動きベクトルを抽出し、当初の動きベクトル候補として出力することを特徴とする請求項8に記載の画像処理装置。
【請求項10】
上記高解像度画像と上記高解像度参照画像とから、動きベクトルを推定する動きベクトル改善部を備えることを特徴とする請求項8又は9に記載の画像処理装置。
【請求項11】
上記動きベクトル改善部は、
上記高解像度画像と上記高解像度参照画像とから、粗粒度な動きベクトルを検出し、改善動きベクトル候補として出力する第2動きベクトル検出部と、
当該改善動きベクトル候補を、上記高解像度画像と上記高解像度参照画像とを用いて平滑化し、平滑化された動きベクトルを出力する第2動きベクトル平滑化部と、
当該平滑化された動きベクトルが、予め定められた粒度よりも粗いか否かを判定し、平滑化された動きベクトルが、予め定められた粒度以下の粒度の場合に、当該動きベクトル改善部から出力させる第2制御部と、
平滑化された動きベクトルが、予め定められた粒度よりも粗い粒度の場合に、平滑化された動きベクトルが与えられ、平滑化された動きベクトルを細分化し、細分化された動きベクトルを改善動きベクトル候補として上記第2動きベクトル平滑化部に出力する第2動きベクトル細分化部とを有する
ことを特徴とする請求項10に記載の画像処理装置。
【請求項12】
上記動きベクトル改善部は、内部で生成された改善動きベクトル候補とゼロベクトルのうち、精度が良い方を選択して、新たな改善動きベクトル候補とする第2ゼロベクトル選択部をさらに有することを特徴とする請求項11に記載の画像処理装置。
【請求項13】
上記動きベクトル改善部は、内部で生成された改善動きベクトル候補の動きベクトルを中心にして、よりコストの低い動きベクトルを探索し微調整し、微調整された動きベクトルを新たな改善動きベクトル候補とする動きベクトル微調整部をさらに有することを特徴とする請求項11に記載の画像処理装置。
【請求項14】
上記動きベクトル改善部には、上記入力画像拡大部からの上記拡大入力画像と、上記参照画像拡大部からの上記拡大参照画像とが入力され、
上記動きベクトル改善部の構成要素のうち、動きベクトルのコスト計算を伴う処理を行う少なくとも一部の構成要素は、上記高解像度画像と上記高解像度参照画像とを用いて計算される動きベクトルのコストに、上記拡大入力画像と上記拡大参照画像とを用いて計算される動きベクトルのコストを加えることで、動きベクトルのコストを計算する
ことを特徴とする請求項11〜13のいずれかに記載の画像処理装置。
【請求項15】
上記動きベクトル改善部の上記第2動きベクトル検出部には、上記高解像度画像と上記高解像度参照画像とではなく、上記低解像度入力画像と上記低解像度参照画像とが入力され、上記第2動きベクトル検出部は、これら上記低解像度入力画像と上記低解像度参照画像とから粗粒度な動きベクトルを検出し、その後、検出された粗粒度な動きベクトルを、所定の比率で拡大し、改善動きベクトル候補として出力することを特徴とする請求項11〜14のいずれかに記載の画像処理装置。
【請求項16】
上記高解像度参照画像と、上記動きベクトル改善部の出力する改善動きベクトルとを用いて、予測された高解像度入力画像を生成する予測画像再生成部をさらに備えることを特徴とする請求項11〜15のいずれかに記載の画像処理装置。
【請求項17】
上記DVCビットストリームを、上記予測画像再生成部の出力する予測された高解像度入力画像を用いてDVC復号することで、改善後高解像度画像を生成する第2DVC復号部をさらに備えることを特徴とする請求項16に記載の画像処理装置。
【請求項18】
上記高解像度参照画像選択部は、上記参照画像インデックスが指す画像を内部メモリから取り出し、上記高解像度参照画像として出力すると共に、復号済みの上記高解像度画像に代えて、復号済みの上記改善後高解像度画像を内部メモリに一時的に保持するものであることを特徴とする請求項17に記載の画像処理装置。
【請求項19】
画像処理装置に搭載されるコンピュータを、
入力された低解像度入力画像と低解像度参照画像とに基づいて、粗粒度な動きベクトルを検出し、当初の動きベクトル候補として出力する当初動きベクトル候補生成部と、
動きベクトル候補を平滑化し、平滑化された動きベクトルを出力する動きベクトル平滑化部と、
平滑化された動きベクトルが、予め定められた粒度よりも粗いか否かを判定し、平滑化された動きベクトルが、予め定められた粒度以下の粒度の場合に、当該動きベクトル粒度向上部から出力させる制御部と、
平滑化された動きベクトルが、予め定められた粒度よりも粗い粒度の場合に、平滑化された動きベクトルが与えられ、平滑化された動きベクトルを細分化し、細分化された動きベクトルを新たな動きベクトル候補とする動きベクトル細分化部と
して機能させることを特徴とする画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2013−74317(P2013−74317A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−209630(P2011−209630)
【出願日】平成23年9月26日(2011.9.26)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】