画像処理装置、画像処理方法および画像処理システム
【課題】3次元表示用の画像を、高品位に2次元表示することが可能な画像処理装置、画像処理方法および画像処理システムを提供する。
【解決手段】実施形態によれば、画像処理システムは、復号部と、対応領域検出部と、画像補正部とを備えている。前記復号部は、互いに異なる複数の視点から見た複数の画像が符号化された入力画像信号を復号し、第1の視点から見た第1の画像に対応する第1の画像信号と、前記第1の視点とは異なる第2の視点から見た第2の画像に対応する第2の画像信号と、前記第2の画像から前記第1の画像を参照するための動きベクトルと、を生成する。前記対応領域検出部は、前記第1および第2の画像信号と前記動きベクトルとに基づいて、前記第1の画像内の対象ブロックと対応する、前記第2の画像内の対応領域を検出する。前記画像補正部は、前記対象ブロックと前記対応領域との類似度に応じて、前記対象ブロック内の各画素と前記対応領域内の各画素とを混合し、第3の画像信号を生成する。
【解決手段】実施形態によれば、画像処理システムは、復号部と、対応領域検出部と、画像補正部とを備えている。前記復号部は、互いに異なる複数の視点から見た複数の画像が符号化された入力画像信号を復号し、第1の視点から見た第1の画像に対応する第1の画像信号と、前記第1の視点とは異なる第2の視点から見た第2の画像に対応する第2の画像信号と、前記第2の画像から前記第1の画像を参照するための動きベクトルと、を生成する。前記対応領域検出部は、前記第1および第2の画像信号と前記動きベクトルとに基づいて、前記第1の画像内の対象ブロックと対応する、前記第2の画像内の対応領域を検出する。前記画像補正部は、前記対象ブロックと前記対応領域との類似度に応じて、前記対象ブロック内の各画素と前記対応領域内の各画素とを混合し、第3の画像信号を生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、画像処理装置、画像処理方法および画像処理システムに関する。
【背景技術】
【0002】
近年、映像を3次元的に表示する立体表示装置が普及しつつある。立体表示装置には、複数の視点から見た複数の動画像、例えば左目用の動画像と右目用の動画像とが表示される。そして、視聴者は、右目で右目用視差画像を、左目で左目用視差画像をそれぞれ見ることにより、表示された映像が3次元的に見える。
【0003】
動画像符号化規格の1つであるH.264では、3次元表示用の動画像を符号化することができる。しかしながら、3次元表示用の動画像を符号化する場合、複数の動画像を符号化する必要があるため、2次元表示用の動画像のみを符号化する場合に比べると、各動画像の符号量を少なくせざるを得ない。そのため、符号化された3次元映像を復号して2次元表示すると、動画像の品位が低下してしまうという問題がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−283623号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
3次元表示用の画像を、高品位に2次元表示することが可能な画像処理装置、画像処理方法および画像処理システムを提供する。
【課題を解決するための手段】
【0006】
実施形態によれば、画像処理システムは、復号部と、対応領域検出部と、画像補正部とを備えている。前記復号部は、互いに異なる複数の視点から見た複数の画像が符号化された入力画像信号を復号し、第1の視点から見た第1の画像に対応する第1の画像信号と、前記第1の視点とは異なる第2の視点から見た第2の画像に対応する第2の画像信号と、前記第2の画像から前記第1の画像を参照するための動きベクトルと、を生成する。前記対応領域検出部は、前記第1および第2の画像信号と前記動きベクトルとに基づいて、前記第1の画像内の対象ブロックと対応する、前記第2の画像内の対応領域を検出する。前記画像補正部は、前記対象ブロックと前記対応領域との類似度に応じて、前記対象ブロック内の各画素と前記対応領域内の各画素とを混合し、第3の画像信号を生成する。
【図面の簡単な説明】
【0007】
【図1】一実施形態に係る画像処理システムの概略ブロック図。
【図2】復号部1の内部構成の一例と記憶部3とを示す概略ブロック図。
【図3】画像処理部2の内部構成の一例と記憶部3とを示す概略ブロック図。
【図4】画像処理システムの処理動作の概略を示すフローチャート。
【図5】図4のステップS1を説明する図。
【図6】図4のステップS2をより詳細に示すフローチャート。
【図7】図4のステップS3をより詳細に示すフローチャート。
【図8】探索範囲の一例を示す図。
【図9】ステップS43〜S45の対応ベクトル探索を説明する図。
【図10】探索範囲44と、各ラインにおける最小コストを示す図。
【図11】ステップS3で算出される最小コストCSTminと重みWとの関係の一例を示す図。
【発明を実施するための形態】
【0008】
以下、実施形態について、図面を参照しながら具体的に説明する。
図1は、一実施形態に係る画像処理システムの概略ブロック図である。画像処理システムは、復号部1と、画像処理部2と、記憶部3と、表示部4とを備えている。本実施形態の画像処理システムは、3次元表示用の入力動画像信号が入力され、これを復号および高画質化処理して、高品位な2次元表示用の動画像信号を生成し、これを表示するものである。入力動画像信号は、それぞれ異なる視点から見た複数の動画像が符号化されており、本実施形態では、水平方向に並ぶ2つの視点から見た左目用および右目用の動画像が符号化された入力動画像信号が入力される例を示す。
【0009】
復号部1は入力動画像信号を復号し、ベースビュー(base view、第1の画像信号)、非ベースビュー(non−base view、第2の画像信号)および動きベクトル(MV)を生成する。ベースビューは、例えば左目用の動画像に対応する。非ベースビューは、ベースビューを参照して符号化された動画像であり、例えば右目用の動画像に対応する。また、ここでの動きベクトルとは、非ベースビューを基準とし、非ベースビュー内の各ブロックからベースビューを参照するためのベクトルである。ベースビューおよび非ベースビューは画像処理部2へ供給される。また、動きベクトルに関する情報が、ベースビュー内のブロックをインデックスとして記憶部3に記憶される。
【0010】
画像処理部2は、記憶部3に記憶された動きベクトルに関する情報を用いて、ベースビュー内のブロック毎に類似する非ベースビュー内の領域を、対応領域として検出する。そして、画像処理部2は、ベースビュー内のブロックに含まれる各画素と、対応領域に含まれる各画素と、を混合する。これにより、ノイズが低減された2次元表示用の動画像信号(第3の画像信号)が生成される。この動画像信号は表示部4に供給され、2次元動画像として表示される。
【0011】
図2は、復号部1の内部構成の一例と記憶部3とを示す概略ブロック図である。復号部1は、エントロピー復号部11と、逆量子化部12と、逆直交変換部13と、画面内予測画像生成部14と、画面間予測画像生成部15と、選択部16と、加算部17と、デブロッキングフィルタ18と、画像メモリ19とを有する。
【0012】
エントロピー復号部11は入力動画像信号に対して可変長復号処理を行い、量子化DCT(Discrete Cosine Transform)係数、量子化パラメータおよび復号情報を生成する。復号情報とは、入力動画像信号がどのように符号化されていたのかを示す情報であり、参照フレーム番号、動きベクトル、予測モード等を含む。量子化DCT係数および量子化パラメータは逆量子化部12へ、参照フレーム番号および動きベクトルは画面間予測画像生成部15へ、予測モードは選択部16へ、それぞれ供給される。また、量子化DCT係数は画面内予測画像生成部14および画面間予測画像生成部15へも供給される。
【0013】
逆量子化部12は量子化パラメータに基づいて量子化DCT係数を逆量子化し、DCT係数を生成する。DCT係数は逆直交変換部13に供給される。逆直交変換部13はDCT係数に逆DCT変換処理を行い、残差信号を生成する。残差信号は加算部17に供給される。
【0014】
画面内予測画像生成部14は、量子化DCT係数を用いて、画面内予測画像を生成する。画面内予測画像は選択部16へ供給される。
【0015】
画面間予測画像生成部15は、量子化DCT係数、画像メモリ19に記憶された復号処理済みのフレーム画像、参照フレーム番号および動きベクトルを用いて、画面間予測画像および動きベクトルに関する情報を生成する。画面間予測画像は選択部16へ供給される。動きベクトルに関する情報は、記憶部3に記憶される。
【0016】
選択部16は、予測モードに応じて、画面内予測画像または画面間予測画像を選択し、加算部17へ供給する。より具体的には、選択部16は、復号対象のブロックが画面内符号化されている場合は画面内予測画像を、画面間符号化されている場合は画面間予測画像を選択する。
【0017】
加算部17は、選択された予測画像と、残差信号とを加算し、フレーム画像を生成する。フレーム画像はデブロッキングフィルタ18に供給される。
【0018】
デブロッキングフィルタ18は、フレーム画像に対して、ブロック間の歪みを改善する処理を施し、ベースビューおよび非ベースビューを生成する。これらは画像処理部2に供給されるとともに、画像メモリ19に記憶される。
【0019】
図3は、画像処理部2の内部構成の一例と記憶部3とを示す概略ブロック図である。画像処理部2は、対応領域検出部21と、画像補正部22とを有する。また、対応領域検出部21は、探索中心計算部211および対応ベクトル探索部212を有し、画像補正部22は、重み計算部221および混合部222を有する。画像処理部2は、ベースビュー内のブロック単位で、対応領域の検出処理および補正処理を行う。
【0020】
対応領域検出部21は、記憶部3に記憶された動きベクトルに関する情報に基づいて、ベースビュー内の処理対象のブロック(以下、対象ブロック)と類似する非ベースビュー内の対応領域を検出する。より具体的には、探索中心計算部211は、動きベクトルに関する情報に基づき、対象ブロックについて探索中心ベクトルを生成する。探索中心ベクトルは非ベースビュー内で対応領域の探索を行う範囲の中心位置を示すとともに、対応領域のおおよその位置を示す。対応ベクトル探索部212は、探索中心ベクトルが示す位置を中心とする所定の探索範囲内で、対象ブロックと最も類似している領域を対応領域として探索する。そして対象ブロックと対応領域との位置関係を示す対応ベクトル、および、どの程度類似しているかを示す類似度が画像補正部22に供給される。
【0021】
画像補正部22は、対象ブロックと、対応ベクトルが示す対応領域との類似度に応じて、これらを混合する。より具体的には、重み計算部221は対象ブロックと対応領域との類似度から重みを計算する。混合部222は、対象ブロック内の各画素と、対応領域内の対応する画素と、を重みに応じて混合する。
【0022】
次に、図1〜図3に示す画像処理システムの処理動作を説明する。図4は、画像処理システムの処理動作の概略を示すフローチャートである。
まず、復号部1が入力動画像信号を復号し、ベースビュー、非ベースビューおよび動きベクトルを生成し、画面間予測画像生成部15は、生成された動きベクトルに基づいて、動きベクトルに関する情報を生成して記憶部3に記憶する(S1)。この処理はブロック単位ではなくフレーム単位で行われる。一方、以降の処理はブロック単位で行う。
【0023】
探索中心計算部211は、記憶部3に記憶された動きベクトルに関する情報および対応ベクトルに基づいて、ベースビューにおける対象ブロックの探索中心ベクトルを計算し、非ベースビュー内の探索範囲の探索中心を計算する(S2)。
【0024】
さらに、対応ベクトル探索部212は、探索中心を中心とする所定の探索範囲内で、対象ブロックと最も類似している領域を対応領域として探索する(S3)。なお、対応領域を示す対応ベクトルは、対象ブロックごとに記憶部3に記憶され、他の対象ブロックの探索中心ベクトルを計算するために用いられる。
【0025】
そして、重み計算部221は、対象ブロックと対応領域との類似度から重みを計算する(S4)。さらに、混合部222は、対象ブロック内の各画素と、対応領域内の対応する画素と、を重みに応じて混合する(S5)。
【0026】
以上のステップS2〜S5の処理を、フレーム内の全ブロックについて処理し(S6)、1フレーム分の2次元表示用の動画像を生成する。
【0027】
続いて、図4の各処理について、より詳細に説明する。
図5は、ステップS1を説明する図である。入力動画像信号に対してエントロピー復号処理を行うことにより動きベクトルが生成される。この動きベクトルは、非ベースビュー内のブロックを始点とし、そのブロックが参照しているベースビュー内の領域を終点とするベクトルである。図5(a)の例では、非ベースビュー内のブロックb0の動きベクトルはMV(x0,y0)である。この動きベクトルMVにより、ベースビュー内の領域b0’が非ベースビュー内のブロックb0から参照される。領域b0’はベースビュー内のブロックとは必ずしも一致せず、同図の例では、ブロックa1〜a4に跨っている。
【0028】
そこで、図5(b)に示すように、記憶部3には、ベースビュー内のブロックをインデックスとし、各ブロックに向かう動きベクトルと、評価値とを記憶する。例えば入力動画像信号の画素数が1920*1088であり、ブロック内の画素数が16*16の場合、(1920*1088)/(16*16)=8160個のインデックスが記憶部3に存在する。
【0029】
図5の例では、ブロックa1〜a4はいずれも動きベクトルMVの終点であるため、ブロックa1〜a4の動きベクトルとしてMV(x0,y0)が記憶される。また、ブロックa1〜a4のそれぞれと、領域b0’との重複している画素の数を評価値とする。例えば、ブロックa1と領域b0’のうちn1個の画素とが重複している場合、ブロックa1の評価値としてn1が記憶される。評価値が大きいほど、ベースビュー内のブロックと、記憶される動きベクトルの始点である非ベースビュー内のブロックと、が類似していることを意味する。
【0030】
なお、ベースビュー内のブロックによっては、非ベースビュー内のいずれのブロックからも参照されないブロックもある。このようなブロックについては、動きベクトルは記憶されず、評価値は0となる。
【0031】
一方、ベースビュー内のブロックが、複数の非ベースビュー内のブロックから参照されることもある。この場合、評価値がより高いブロックの動きベクトルおよび評価値のみを記憶する。評価値が高いほど、ベースビュー内のブロックと非ブロック内のブロックがより類似しているためである。また、評価値が等しい場合は、動きベクトルの垂直成分の絶対値が小さいブロックを優先して動きベクトルおよび評価値を設定する。これは、人間の目はほぼ水平方向にのみ離れているため、3次元表示用のベースビューおよび非ベースビューは、水平方向に類似しているブロックが存在することが多いためである。
【0032】
以上のようにして、1フレーム分の動きベクトルに関する情報が記憶部3に記憶される。なお、記憶部3には、ベースビュー内のブロックをインデックスとして、後述する対応ベクトルも記憶される。引き続き、探索中心計算部211は、以下のようにして、ベースビュー内の対象ブロックについて、探索中心を示す探索中心ベクトルを計算する(図4のステップS2)。
【0033】
図6は、図4のステップS2をより詳細に示すフローチャートである。
対象ブロックが非ベースビュー内のいずれかのブロックから参照されていて、記憶部3の対象ブロックのインデックスに動きベクトルが記憶されており(S11のYES)、その動きベクトルの評価値が閾値TH以上、かつ、垂直成分の絶対値が閾値THy以下の場合(S12のYES)、探索中心計算部211は動きベクトルの符号を反転したベクトルを探索中心ベクトルとする(S13)。閾値TH,THyを設定する理由は、ある程度信頼性が高い動きベクトルがある場合に限って探索中心ベクトルとするためである。なお、閾値TH,THyは、任意の値である。
【0034】
一方、対象ブロックが非ベースビュー内のいずれのブロックからも参照されておらず、記憶部3の対象ブロックのインデックスに動きベクトルが記憶されていない場合(S11のNO)、および、動きベクトルが記憶されていても、評価値が閾値TH以下または垂直成分の絶対値が閾値THy以下の場合(S12のNO)、対象ブロックの周囲のブロックの対応ベクトルおよび動きベクトルを利用して、探索中心ベクトルを計算する。
【0035】
対象ブロックの周囲で、既にステップS3の処理が行われて対応ベクトルが記憶部3に記憶されているブロックが存在する場合(S14のYES)、探索中心計算部211は周囲のブロックのすべての対応ベクトルを取得する(S15)。周囲で既にステップS3の処理が行われているブロックとは、例えばフレームの左上から右下へラスタスキャン順に処理を行う場合、対象ブロックの左上、上、右上および左のブロックである。
【0036】
また、対応領域の周囲で、対応ベクトルが記憶されてなくても、動きベクトルが記憶されているブロックが存在する場合(S16のYES)、探索中心計算部211は周囲のブロックの動きベクトルの符号を反転して取得する(S17)。以下、動きベクトルの符号を反転したベクトルを反転動きベクトルと呼ぶ。なお、ステップS16での「周囲のブロック」は必ずしもステップS3の処理が行われている必要はない。
【0037】
ステップS15,17で取得した対応ベクトルおよび反転動きベクトルのうち、垂直成分の絶対値が閾値THy以下のベクトルが取得された場合(S18のYES)、これらのベクトルの水平成分のメディアンおよび垂直成分のメディアンからなるベクトルを探索中心ベクトルとする(S19)。平均等ではなくメディアンとするのは、他のベクトルと大きく異なるベクトルの影響を抑えるためである。
【0038】
ステップS15,17で取得した対応ベクトルおよび反転動きベクトルのうち、垂直成分の絶対値が閾値THy以下のベクトルが取得されなかったが(S18のNO)、少なくとも1つの反転動きベクトルまたは対応ベクトルが取得された場合(S20のYES)、これらのベクトルの水平成分のメディアンおよび垂直成分のメディアンからなるベクトルを探索中心ベクトルとする(S21)。
また、ステップS15,17で対応ベクトルおよび反転動きベクトルが全く取得されなかった場合(S20のNO)、(0,0)を探索中心ベクトルとする(S22)。
【0039】
以上のようにして、対象ブロックの探索中心ベクトルが生成されると、引き続き、対応ベクトル探索部212が当該対象ブロックの対応ベクトルを探索し、対応領域を検出する(図4のS3)。
【0040】
図7は、図4のステップS3をより詳細に示すフローチャートである。
まず、対応ベクトル探索部212は、非ベースビュー内に設定される探索範囲に対象ブロックと同じ垂直方向の位置が含まれるか否かを判断する(S41)。以下にこの処理を具体的に説明する。
【0041】
図8は探索範囲の一例を示す図である。例えば図8(a)に示すように、ベースビュー内の対象ブロック31から探索中心ベクトルにより参照される、非ベースビュー内の領域を探索中心41とする。そして、探索中心41を中心とする予め定めた領域を探索範囲42として設定する。探索範囲は、例えば探索中心から垂直方向の上下に8画素ずつ、水平方向の左右に32画素ずつとする。通常、3次元表示用動画像は、水平方向に並ぶ複数の視点から見た複数の動画像を含むので、探索範囲を水平方向に長く設定するのが望ましい。
【0042】
図8(a)は、探索範囲42内に対象ブロック31の垂直方向の位置が含まれない(S41のNO)例である。一方、図8(b)は、探索範囲42内に対象ブロック31の垂直方向の位置が含まれる(S41のYES)例である。
【0043】
図8(a)に示すように、探索範囲42内に対象ブロック31の垂直方向の位置が含まれない場合(S41のNO)、対応ベクトル探索部212は探索範囲42全体を探索し、対象ブロック31と最も類似している対応領域を検出する(S42)。なお、対応領域は、必ずしも非ベースビュー内のブロックと一致していなくてもよいが、ブロックと同じ画素サイズである。以下、探索範囲42内で、ベースビュー内のブロックと同じ画素サイズからなる領域をブロック領域と呼ぶ。ブロック領域を互いに重ならないように設定してもよいが、本実施形態のブロック領域は一部が互いに重なるように設定される。これにより、細かく対応ベクトルを探索できる。
【0044】
より具体的には、対応ベクトル探索部212は対象ブロック31と各ブロック領域との類似度を示すコストCSTを算出する。コストCSTは、例えば対象ブロック31内の画素値とブロック領域内の画素値との差分絶対値和であり、下記(1)式で表される。
【数1】
【0045】
ここで、A(x,y)は対象ブロック内の座標(x,y)の画素値であり、S(x,y)はブロック領域内で座標(x,y)と相対的に対応する座標の画素値である。上記(1)式は、両画素値の差分絶対値をブロック内で累積した値を示す。座標(x,y)は、対象ブロックおよびブロック領域内で、例えば左上の画素を原点とする座標である。なお、コストとして、差分絶対値和の他に、例えば両画素値の差分のDCT値の絶対値和等を用いてもよい。コストが小さいほど、対象ブロック31とブロック領域とが類似している。
【0046】
探索範囲42内の全ブロック領域についてコストCSTを計算し、コストが最小となるブロック領域が、対象ブロックと最も類似している対応領域である。そこで、最小となるコストCSTを最小コストCSTmin、コストが最小となるブロック領域(対応領域)と対象ブロックとの位置関係を示すベクトルを対応ベクトルVminとして取得する。対応ベクトルVminは、対象ブロックを始点とし、対応領域を終点とするベクトルである。
【0047】
一方、図8(b)に示すように、探索範囲44内に対象ブロック31と同じ垂直方向の位置が含まれる場合(S41のYES)、この垂直方向の位置を含む水平方向のラインを、基準ライン45に設定する。そして、基準ライン45から対応ベクトルの探索を開始する。
【0048】
対応ベクトル探索部212は基準ライン45上のブロック領域のそれぞれについてコストCSTを算出する。そして、最小となるコストCSTをコストCST0、コストが最小となるブロック領域と対象ブロックとの位置関係を示すベクトルをベクトルV0として取得する(S43)。
【0049】
また、対応ベクトル探索部212は基準ライン45より1つ上のライン上のブロック領域のそれぞれについてコストCSTを算出し、最小となるコストCSTをコストCSTu、コストが最小となるブロック領域と対象ブロックとの位置関係を示すベクトルをベクトルVuとして取得する(S44)。ここで、基準ライン45より1つ上のラインとは、基準ライン45より垂直方向に例えば1画素上のラインである。
【0050】
同様に、対応ベクトル探索部212は基準ライン45より1つ下のライン上のブロック領域のそれぞれについてコストCSTを算出し、最小となるコストCSTをコストCSTd、コストが最小となるブロック領域と対象ブロックとの位置関係を示すベクトルをベクトルVdとし
て取得する(S45)。
【0051】
図9は、ステップS43〜S45の対応ベクトル探索を説明する図である。なお、同図では、ブロック領域が4*4画素からなる例を示している。
【0052】
ステップS43では、まず、対応ベクトル探索部212は基準ライン45における左端のブロック領域についてコストCSTを算出する(図9(a1))。続いて、対応ベクトル探索部212は、水平方向右側に1画素だけずれた位置のブロック領域について、コストCSTを算出する(図9(b1))。以下、同様にして水平方向に1画素ずつずらしながら、対応ベクトル探索部212はコストCSTが最小となるブロック領域を探索し(図9(c1))、最小コストCST0、ベクトルV0を取得する。
【0053】
ステップS44では、対応ベクトル探索部212は、基準ライン45より垂直方向に1画素上のラインにおける左端のブロック領域について、コストCSTを算出する(図9(a2))。以下ステップS43と同様にして、対応ベクトル探索部212は、基準ライン45より1つ上のラインで、コストCSTが最小となるブロック領域を探索し、最小コストCSTuおよびベクトルVuを取得する。一方、ステップS45では、図9(a3),(b3),(c3)に示すように、対応ベクトル探索部212は、基準ライン45より垂直方向に1画素下のラインで、コストCSTが最小となるブロック領域を探索し、最小コストCSTdおよびベクトルVdを取得する。
【0054】
そして、CSTu≦CSTd(図7のS46のYES)の場合、探索方向を上に設定し、かつ、CST1=CSTuに設定する(S47)。
【0055】
一方、CSTu>CSTd(S46のNO)の場合、探索方向を下に設定し、かつ、CST1=CSTdに設定する(S48)。
【0056】
CST0≦CST1(S49のYES)、すなわち、基準ライン45における最小コストが極小である場合、対応ベクトル探索部212は、最小コストCSTmin、対応ベクトルVminを取得し(S50)、処理を終了する。
【0057】
一方、CST0>CST1(S49のNO)、すなわち、基準ライン45における最小コストが極小でない場合、対応ベクトル探索部212はさらに探索を行うか否かを判断する(S51)。すなわち、探索方向が上に設定されている場合はコストCSTを算出したラインの1つ上のラインが探索範囲内であるか否か、探索方向が下に設定されている場合はコストCSTを算出したラインの1つ下のラインが探索範囲内であるか否か、を対応ベクトル探索部212は判断する。
【0058】
さらに探索を行う場合(S51のYES)、コストCST1をコストCST0に、ベクトルV1をベクトルV0に設定する(S52)。そして、探索方向が上に設定されている場合は、さらに1つ上のライン上のブロック領域のそれぞれについてコストCSTを算出し、最小となるコストCSTをCST1、コストが最小となるブロック領域と対象ブロックとの位置関係を示すベクトルをベクトルV1とする(S53)。そして、ステップS49以降の処理を繰り返す。繰り返す過程で、CST0≦CST1(S49のYES)、すなわち、極小のコストが得られた場合、最小コストCSTminおよび対応ベクトルVminを取得して(S50)、処理を終了する。
【0059】
一方、ステップS49以降の処理を繰り返し、探索範囲の上限(あるいは下限)のラインまでコストを計算してもコストCST0が極小とならない場合、すなわち、CST0≦CST1(S49のYES)とならない場合、探索範囲を超えての探索は行わず(S51のNO)、探索範囲の上限(あるいは下限)のラインのコストCST1を最小コストCSTminとし、ベクトルV1を対応ベクトルVminとして取得し(S54)、処理を終了する。
【0060】
なお、ステップS42,50,54で取得された対応ベクトルVminは記憶部3に記憶され(図5(b))、その後の対象ブロックの探索中心を計算するために用いられる。
【0061】
ステップS46以降の処理の具体例を説明する。図10は、探索範囲44と、各ラインにおける最小コストを示す図である。
【0062】
図10(a)の例では、CST0<CSTu<CSTdである。CSTu<CSTdであるため(S46のYES)、CST1=CSTuに設定される(S47)。そして、CST0≦CST1(=CSTu)を満たすため(S49のYES)、基準ライン45でのコストが極小であり、最小コストCSTmin、対応ベクトルVminが取得される(S50)。
【0063】
一方、図10(b)の例では、CSTd<CST0<CSTuである。CSTd<CSTuであるため(S46のNO)、CST1=CSTd、および、探索方向が下に設定される(S48)。ここで、CST1(=CSTd)<CST0であるため(S49のNO)、以降、下方向にコストCSTが極小となるブロック領域が探索される(S49〜S54)。
【0064】
3次元表示用の動画像は、通常、水平方向に並ぶ複数の視点からの動画像である。そのため、対象ブロックと類似する対象領域は、対象ブロックと水平方向にずれた位置に存在する可能性が高い。本実施形態では、対象ブロックと同じ垂直方向の位置を含む基準ラインからブロック領域の探索を開始するため、迅速に対応ベクトルを得られる。また、コストが極小になった時点で対応ベクトルを決定し、その後の探索を終了するため、処理量を減らすことができる。
【0065】
以上のようにして、対応領域が検出されると、引き続き、重み計算部221は対象ブロックと対応領域とを混合する重みを計算する(図4のS4)。
図11は、ステップS3で算出される最小コストCSTminと重みWとの関係の一例を示す図である。同図に示すように、重み計算部221は下記(2)式に基づいて重みWを計算する。
【0066】
W = (-1/T) * CSTmin + 1 (if CSTmin < T)
0 (else (CSTmin ≧ T)) ・・・(2)
ここで、Tは予め定めた定数である。なお、図11および上記(2)式は一例である。重み計算部221は、最小コストCSTminが小さいほど(すなわち、類似度が大きいほど)、重みWを大きく設定する。なお、他の関数や予め定めたテーブルを用いて重みWを計算してもよい。
【0067】
続いて、混合部222は、対象ブロック内の各画素と対応領域内の各画素とを、重みWに応じて混合する(図4のS5)。より具体的には、混合部222は、例えば下記(3)式に基づいて画素同士を混合する。
【0068】
r = (p + W * q) / (1 + W) ・・・(3)
ここで、pは対象ブロック内の画素値、qは対応領域内の画素値である。rは混合後の動画像信号における画素値であり、画像処理部2の出力である2次元表示用の動画像における画素値である。対象ブロック内の画素と混合すべき対応領域内の画素は、対応ベクトルにより示される。このような混合処理を行うことにより、ノイズを低減することができる。
以上、図4の処理を行うことで、2次元表示用の動画像信号が生成される。
【0069】
このように、本実施形態では、ベースビュー内の各ブロックと類似した、非ベースブロック内の領域を検出し、ベースビューと非ベースビューとを混合する。そのため、ノイズが低減された高品位な2次元表示用の動画像を生成できる。
【0070】
上述した実施形態で説明した画像処理システムの少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、画像処理システムの少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【0071】
また、画像処理システムの少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【0072】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0073】
1 復号部
2 画像処理部
21 対応領域検出部
211 探索中心計算部
212 対応ベクトル探索部
22 画像補正部
221 重み計算部
222 混合部
3 記憶部
4 表示部
31 対象ブロック
41,43 探索中心
42,44 探索範囲
45 基準ライン
【技術分野】
【0001】
本発明の実施形態は、画像処理装置、画像処理方法および画像処理システムに関する。
【背景技術】
【0002】
近年、映像を3次元的に表示する立体表示装置が普及しつつある。立体表示装置には、複数の視点から見た複数の動画像、例えば左目用の動画像と右目用の動画像とが表示される。そして、視聴者は、右目で右目用視差画像を、左目で左目用視差画像をそれぞれ見ることにより、表示された映像が3次元的に見える。
【0003】
動画像符号化規格の1つであるH.264では、3次元表示用の動画像を符号化することができる。しかしながら、3次元表示用の動画像を符号化する場合、複数の動画像を符号化する必要があるため、2次元表示用の動画像のみを符号化する場合に比べると、各動画像の符号量を少なくせざるを得ない。そのため、符号化された3次元映像を復号して2次元表示すると、動画像の品位が低下してしまうという問題がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−283623号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
3次元表示用の画像を、高品位に2次元表示することが可能な画像処理装置、画像処理方法および画像処理システムを提供する。
【課題を解決するための手段】
【0006】
実施形態によれば、画像処理システムは、復号部と、対応領域検出部と、画像補正部とを備えている。前記復号部は、互いに異なる複数の視点から見た複数の画像が符号化された入力画像信号を復号し、第1の視点から見た第1の画像に対応する第1の画像信号と、前記第1の視点とは異なる第2の視点から見た第2の画像に対応する第2の画像信号と、前記第2の画像から前記第1の画像を参照するための動きベクトルと、を生成する。前記対応領域検出部は、前記第1および第2の画像信号と前記動きベクトルとに基づいて、前記第1の画像内の対象ブロックと対応する、前記第2の画像内の対応領域を検出する。前記画像補正部は、前記対象ブロックと前記対応領域との類似度に応じて、前記対象ブロック内の各画素と前記対応領域内の各画素とを混合し、第3の画像信号を生成する。
【図面の簡単な説明】
【0007】
【図1】一実施形態に係る画像処理システムの概略ブロック図。
【図2】復号部1の内部構成の一例と記憶部3とを示す概略ブロック図。
【図3】画像処理部2の内部構成の一例と記憶部3とを示す概略ブロック図。
【図4】画像処理システムの処理動作の概略を示すフローチャート。
【図5】図4のステップS1を説明する図。
【図6】図4のステップS2をより詳細に示すフローチャート。
【図7】図4のステップS3をより詳細に示すフローチャート。
【図8】探索範囲の一例を示す図。
【図9】ステップS43〜S45の対応ベクトル探索を説明する図。
【図10】探索範囲44と、各ラインにおける最小コストを示す図。
【図11】ステップS3で算出される最小コストCSTminと重みWとの関係の一例を示す図。
【発明を実施するための形態】
【0008】
以下、実施形態について、図面を参照しながら具体的に説明する。
図1は、一実施形態に係る画像処理システムの概略ブロック図である。画像処理システムは、復号部1と、画像処理部2と、記憶部3と、表示部4とを備えている。本実施形態の画像処理システムは、3次元表示用の入力動画像信号が入力され、これを復号および高画質化処理して、高品位な2次元表示用の動画像信号を生成し、これを表示するものである。入力動画像信号は、それぞれ異なる視点から見た複数の動画像が符号化されており、本実施形態では、水平方向に並ぶ2つの視点から見た左目用および右目用の動画像が符号化された入力動画像信号が入力される例を示す。
【0009】
復号部1は入力動画像信号を復号し、ベースビュー(base view、第1の画像信号)、非ベースビュー(non−base view、第2の画像信号)および動きベクトル(MV)を生成する。ベースビューは、例えば左目用の動画像に対応する。非ベースビューは、ベースビューを参照して符号化された動画像であり、例えば右目用の動画像に対応する。また、ここでの動きベクトルとは、非ベースビューを基準とし、非ベースビュー内の各ブロックからベースビューを参照するためのベクトルである。ベースビューおよび非ベースビューは画像処理部2へ供給される。また、動きベクトルに関する情報が、ベースビュー内のブロックをインデックスとして記憶部3に記憶される。
【0010】
画像処理部2は、記憶部3に記憶された動きベクトルに関する情報を用いて、ベースビュー内のブロック毎に類似する非ベースビュー内の領域を、対応領域として検出する。そして、画像処理部2は、ベースビュー内のブロックに含まれる各画素と、対応領域に含まれる各画素と、を混合する。これにより、ノイズが低減された2次元表示用の動画像信号(第3の画像信号)が生成される。この動画像信号は表示部4に供給され、2次元動画像として表示される。
【0011】
図2は、復号部1の内部構成の一例と記憶部3とを示す概略ブロック図である。復号部1は、エントロピー復号部11と、逆量子化部12と、逆直交変換部13と、画面内予測画像生成部14と、画面間予測画像生成部15と、選択部16と、加算部17と、デブロッキングフィルタ18と、画像メモリ19とを有する。
【0012】
エントロピー復号部11は入力動画像信号に対して可変長復号処理を行い、量子化DCT(Discrete Cosine Transform)係数、量子化パラメータおよび復号情報を生成する。復号情報とは、入力動画像信号がどのように符号化されていたのかを示す情報であり、参照フレーム番号、動きベクトル、予測モード等を含む。量子化DCT係数および量子化パラメータは逆量子化部12へ、参照フレーム番号および動きベクトルは画面間予測画像生成部15へ、予測モードは選択部16へ、それぞれ供給される。また、量子化DCT係数は画面内予測画像生成部14および画面間予測画像生成部15へも供給される。
【0013】
逆量子化部12は量子化パラメータに基づいて量子化DCT係数を逆量子化し、DCT係数を生成する。DCT係数は逆直交変換部13に供給される。逆直交変換部13はDCT係数に逆DCT変換処理を行い、残差信号を生成する。残差信号は加算部17に供給される。
【0014】
画面内予測画像生成部14は、量子化DCT係数を用いて、画面内予測画像を生成する。画面内予測画像は選択部16へ供給される。
【0015】
画面間予測画像生成部15は、量子化DCT係数、画像メモリ19に記憶された復号処理済みのフレーム画像、参照フレーム番号および動きベクトルを用いて、画面間予測画像および動きベクトルに関する情報を生成する。画面間予測画像は選択部16へ供給される。動きベクトルに関する情報は、記憶部3に記憶される。
【0016】
選択部16は、予測モードに応じて、画面内予測画像または画面間予測画像を選択し、加算部17へ供給する。より具体的には、選択部16は、復号対象のブロックが画面内符号化されている場合は画面内予測画像を、画面間符号化されている場合は画面間予測画像を選択する。
【0017】
加算部17は、選択された予測画像と、残差信号とを加算し、フレーム画像を生成する。フレーム画像はデブロッキングフィルタ18に供給される。
【0018】
デブロッキングフィルタ18は、フレーム画像に対して、ブロック間の歪みを改善する処理を施し、ベースビューおよび非ベースビューを生成する。これらは画像処理部2に供給されるとともに、画像メモリ19に記憶される。
【0019】
図3は、画像処理部2の内部構成の一例と記憶部3とを示す概略ブロック図である。画像処理部2は、対応領域検出部21と、画像補正部22とを有する。また、対応領域検出部21は、探索中心計算部211および対応ベクトル探索部212を有し、画像補正部22は、重み計算部221および混合部222を有する。画像処理部2は、ベースビュー内のブロック単位で、対応領域の検出処理および補正処理を行う。
【0020】
対応領域検出部21は、記憶部3に記憶された動きベクトルに関する情報に基づいて、ベースビュー内の処理対象のブロック(以下、対象ブロック)と類似する非ベースビュー内の対応領域を検出する。より具体的には、探索中心計算部211は、動きベクトルに関する情報に基づき、対象ブロックについて探索中心ベクトルを生成する。探索中心ベクトルは非ベースビュー内で対応領域の探索を行う範囲の中心位置を示すとともに、対応領域のおおよその位置を示す。対応ベクトル探索部212は、探索中心ベクトルが示す位置を中心とする所定の探索範囲内で、対象ブロックと最も類似している領域を対応領域として探索する。そして対象ブロックと対応領域との位置関係を示す対応ベクトル、および、どの程度類似しているかを示す類似度が画像補正部22に供給される。
【0021】
画像補正部22は、対象ブロックと、対応ベクトルが示す対応領域との類似度に応じて、これらを混合する。より具体的には、重み計算部221は対象ブロックと対応領域との類似度から重みを計算する。混合部222は、対象ブロック内の各画素と、対応領域内の対応する画素と、を重みに応じて混合する。
【0022】
次に、図1〜図3に示す画像処理システムの処理動作を説明する。図4は、画像処理システムの処理動作の概略を示すフローチャートである。
まず、復号部1が入力動画像信号を復号し、ベースビュー、非ベースビューおよび動きベクトルを生成し、画面間予測画像生成部15は、生成された動きベクトルに基づいて、動きベクトルに関する情報を生成して記憶部3に記憶する(S1)。この処理はブロック単位ではなくフレーム単位で行われる。一方、以降の処理はブロック単位で行う。
【0023】
探索中心計算部211は、記憶部3に記憶された動きベクトルに関する情報および対応ベクトルに基づいて、ベースビューにおける対象ブロックの探索中心ベクトルを計算し、非ベースビュー内の探索範囲の探索中心を計算する(S2)。
【0024】
さらに、対応ベクトル探索部212は、探索中心を中心とする所定の探索範囲内で、対象ブロックと最も類似している領域を対応領域として探索する(S3)。なお、対応領域を示す対応ベクトルは、対象ブロックごとに記憶部3に記憶され、他の対象ブロックの探索中心ベクトルを計算するために用いられる。
【0025】
そして、重み計算部221は、対象ブロックと対応領域との類似度から重みを計算する(S4)。さらに、混合部222は、対象ブロック内の各画素と、対応領域内の対応する画素と、を重みに応じて混合する(S5)。
【0026】
以上のステップS2〜S5の処理を、フレーム内の全ブロックについて処理し(S6)、1フレーム分の2次元表示用の動画像を生成する。
【0027】
続いて、図4の各処理について、より詳細に説明する。
図5は、ステップS1を説明する図である。入力動画像信号に対してエントロピー復号処理を行うことにより動きベクトルが生成される。この動きベクトルは、非ベースビュー内のブロックを始点とし、そのブロックが参照しているベースビュー内の領域を終点とするベクトルである。図5(a)の例では、非ベースビュー内のブロックb0の動きベクトルはMV(x0,y0)である。この動きベクトルMVにより、ベースビュー内の領域b0’が非ベースビュー内のブロックb0から参照される。領域b0’はベースビュー内のブロックとは必ずしも一致せず、同図の例では、ブロックa1〜a4に跨っている。
【0028】
そこで、図5(b)に示すように、記憶部3には、ベースビュー内のブロックをインデックスとし、各ブロックに向かう動きベクトルと、評価値とを記憶する。例えば入力動画像信号の画素数が1920*1088であり、ブロック内の画素数が16*16の場合、(1920*1088)/(16*16)=8160個のインデックスが記憶部3に存在する。
【0029】
図5の例では、ブロックa1〜a4はいずれも動きベクトルMVの終点であるため、ブロックa1〜a4の動きベクトルとしてMV(x0,y0)が記憶される。また、ブロックa1〜a4のそれぞれと、領域b0’との重複している画素の数を評価値とする。例えば、ブロックa1と領域b0’のうちn1個の画素とが重複している場合、ブロックa1の評価値としてn1が記憶される。評価値が大きいほど、ベースビュー内のブロックと、記憶される動きベクトルの始点である非ベースビュー内のブロックと、が類似していることを意味する。
【0030】
なお、ベースビュー内のブロックによっては、非ベースビュー内のいずれのブロックからも参照されないブロックもある。このようなブロックについては、動きベクトルは記憶されず、評価値は0となる。
【0031】
一方、ベースビュー内のブロックが、複数の非ベースビュー内のブロックから参照されることもある。この場合、評価値がより高いブロックの動きベクトルおよび評価値のみを記憶する。評価値が高いほど、ベースビュー内のブロックと非ブロック内のブロックがより類似しているためである。また、評価値が等しい場合は、動きベクトルの垂直成分の絶対値が小さいブロックを優先して動きベクトルおよび評価値を設定する。これは、人間の目はほぼ水平方向にのみ離れているため、3次元表示用のベースビューおよび非ベースビューは、水平方向に類似しているブロックが存在することが多いためである。
【0032】
以上のようにして、1フレーム分の動きベクトルに関する情報が記憶部3に記憶される。なお、記憶部3には、ベースビュー内のブロックをインデックスとして、後述する対応ベクトルも記憶される。引き続き、探索中心計算部211は、以下のようにして、ベースビュー内の対象ブロックについて、探索中心を示す探索中心ベクトルを計算する(図4のステップS2)。
【0033】
図6は、図4のステップS2をより詳細に示すフローチャートである。
対象ブロックが非ベースビュー内のいずれかのブロックから参照されていて、記憶部3の対象ブロックのインデックスに動きベクトルが記憶されており(S11のYES)、その動きベクトルの評価値が閾値TH以上、かつ、垂直成分の絶対値が閾値THy以下の場合(S12のYES)、探索中心計算部211は動きベクトルの符号を反転したベクトルを探索中心ベクトルとする(S13)。閾値TH,THyを設定する理由は、ある程度信頼性が高い動きベクトルがある場合に限って探索中心ベクトルとするためである。なお、閾値TH,THyは、任意の値である。
【0034】
一方、対象ブロックが非ベースビュー内のいずれのブロックからも参照されておらず、記憶部3の対象ブロックのインデックスに動きベクトルが記憶されていない場合(S11のNO)、および、動きベクトルが記憶されていても、評価値が閾値TH以下または垂直成分の絶対値が閾値THy以下の場合(S12のNO)、対象ブロックの周囲のブロックの対応ベクトルおよび動きベクトルを利用して、探索中心ベクトルを計算する。
【0035】
対象ブロックの周囲で、既にステップS3の処理が行われて対応ベクトルが記憶部3に記憶されているブロックが存在する場合(S14のYES)、探索中心計算部211は周囲のブロックのすべての対応ベクトルを取得する(S15)。周囲で既にステップS3の処理が行われているブロックとは、例えばフレームの左上から右下へラスタスキャン順に処理を行う場合、対象ブロックの左上、上、右上および左のブロックである。
【0036】
また、対応領域の周囲で、対応ベクトルが記憶されてなくても、動きベクトルが記憶されているブロックが存在する場合(S16のYES)、探索中心計算部211は周囲のブロックの動きベクトルの符号を反転して取得する(S17)。以下、動きベクトルの符号を反転したベクトルを反転動きベクトルと呼ぶ。なお、ステップS16での「周囲のブロック」は必ずしもステップS3の処理が行われている必要はない。
【0037】
ステップS15,17で取得した対応ベクトルおよび反転動きベクトルのうち、垂直成分の絶対値が閾値THy以下のベクトルが取得された場合(S18のYES)、これらのベクトルの水平成分のメディアンおよび垂直成分のメディアンからなるベクトルを探索中心ベクトルとする(S19)。平均等ではなくメディアンとするのは、他のベクトルと大きく異なるベクトルの影響を抑えるためである。
【0038】
ステップS15,17で取得した対応ベクトルおよび反転動きベクトルのうち、垂直成分の絶対値が閾値THy以下のベクトルが取得されなかったが(S18のNO)、少なくとも1つの反転動きベクトルまたは対応ベクトルが取得された場合(S20のYES)、これらのベクトルの水平成分のメディアンおよび垂直成分のメディアンからなるベクトルを探索中心ベクトルとする(S21)。
また、ステップS15,17で対応ベクトルおよび反転動きベクトルが全く取得されなかった場合(S20のNO)、(0,0)を探索中心ベクトルとする(S22)。
【0039】
以上のようにして、対象ブロックの探索中心ベクトルが生成されると、引き続き、対応ベクトル探索部212が当該対象ブロックの対応ベクトルを探索し、対応領域を検出する(図4のS3)。
【0040】
図7は、図4のステップS3をより詳細に示すフローチャートである。
まず、対応ベクトル探索部212は、非ベースビュー内に設定される探索範囲に対象ブロックと同じ垂直方向の位置が含まれるか否かを判断する(S41)。以下にこの処理を具体的に説明する。
【0041】
図8は探索範囲の一例を示す図である。例えば図8(a)に示すように、ベースビュー内の対象ブロック31から探索中心ベクトルにより参照される、非ベースビュー内の領域を探索中心41とする。そして、探索中心41を中心とする予め定めた領域を探索範囲42として設定する。探索範囲は、例えば探索中心から垂直方向の上下に8画素ずつ、水平方向の左右に32画素ずつとする。通常、3次元表示用動画像は、水平方向に並ぶ複数の視点から見た複数の動画像を含むので、探索範囲を水平方向に長く設定するのが望ましい。
【0042】
図8(a)は、探索範囲42内に対象ブロック31の垂直方向の位置が含まれない(S41のNO)例である。一方、図8(b)は、探索範囲42内に対象ブロック31の垂直方向の位置が含まれる(S41のYES)例である。
【0043】
図8(a)に示すように、探索範囲42内に対象ブロック31の垂直方向の位置が含まれない場合(S41のNO)、対応ベクトル探索部212は探索範囲42全体を探索し、対象ブロック31と最も類似している対応領域を検出する(S42)。なお、対応領域は、必ずしも非ベースビュー内のブロックと一致していなくてもよいが、ブロックと同じ画素サイズである。以下、探索範囲42内で、ベースビュー内のブロックと同じ画素サイズからなる領域をブロック領域と呼ぶ。ブロック領域を互いに重ならないように設定してもよいが、本実施形態のブロック領域は一部が互いに重なるように設定される。これにより、細かく対応ベクトルを探索できる。
【0044】
より具体的には、対応ベクトル探索部212は対象ブロック31と各ブロック領域との類似度を示すコストCSTを算出する。コストCSTは、例えば対象ブロック31内の画素値とブロック領域内の画素値との差分絶対値和であり、下記(1)式で表される。
【数1】
【0045】
ここで、A(x,y)は対象ブロック内の座標(x,y)の画素値であり、S(x,y)はブロック領域内で座標(x,y)と相対的に対応する座標の画素値である。上記(1)式は、両画素値の差分絶対値をブロック内で累積した値を示す。座標(x,y)は、対象ブロックおよびブロック領域内で、例えば左上の画素を原点とする座標である。なお、コストとして、差分絶対値和の他に、例えば両画素値の差分のDCT値の絶対値和等を用いてもよい。コストが小さいほど、対象ブロック31とブロック領域とが類似している。
【0046】
探索範囲42内の全ブロック領域についてコストCSTを計算し、コストが最小となるブロック領域が、対象ブロックと最も類似している対応領域である。そこで、最小となるコストCSTを最小コストCSTmin、コストが最小となるブロック領域(対応領域)と対象ブロックとの位置関係を示すベクトルを対応ベクトルVminとして取得する。対応ベクトルVminは、対象ブロックを始点とし、対応領域を終点とするベクトルである。
【0047】
一方、図8(b)に示すように、探索範囲44内に対象ブロック31と同じ垂直方向の位置が含まれる場合(S41のYES)、この垂直方向の位置を含む水平方向のラインを、基準ライン45に設定する。そして、基準ライン45から対応ベクトルの探索を開始する。
【0048】
対応ベクトル探索部212は基準ライン45上のブロック領域のそれぞれについてコストCSTを算出する。そして、最小となるコストCSTをコストCST0、コストが最小となるブロック領域と対象ブロックとの位置関係を示すベクトルをベクトルV0として取得する(S43)。
【0049】
また、対応ベクトル探索部212は基準ライン45より1つ上のライン上のブロック領域のそれぞれについてコストCSTを算出し、最小となるコストCSTをコストCSTu、コストが最小となるブロック領域と対象ブロックとの位置関係を示すベクトルをベクトルVuとして取得する(S44)。ここで、基準ライン45より1つ上のラインとは、基準ライン45より垂直方向に例えば1画素上のラインである。
【0050】
同様に、対応ベクトル探索部212は基準ライン45より1つ下のライン上のブロック領域のそれぞれについてコストCSTを算出し、最小となるコストCSTをコストCSTd、コストが最小となるブロック領域と対象ブロックとの位置関係を示すベクトルをベクトルVdとし
て取得する(S45)。
【0051】
図9は、ステップS43〜S45の対応ベクトル探索を説明する図である。なお、同図では、ブロック領域が4*4画素からなる例を示している。
【0052】
ステップS43では、まず、対応ベクトル探索部212は基準ライン45における左端のブロック領域についてコストCSTを算出する(図9(a1))。続いて、対応ベクトル探索部212は、水平方向右側に1画素だけずれた位置のブロック領域について、コストCSTを算出する(図9(b1))。以下、同様にして水平方向に1画素ずつずらしながら、対応ベクトル探索部212はコストCSTが最小となるブロック領域を探索し(図9(c1))、最小コストCST0、ベクトルV0を取得する。
【0053】
ステップS44では、対応ベクトル探索部212は、基準ライン45より垂直方向に1画素上のラインにおける左端のブロック領域について、コストCSTを算出する(図9(a2))。以下ステップS43と同様にして、対応ベクトル探索部212は、基準ライン45より1つ上のラインで、コストCSTが最小となるブロック領域を探索し、最小コストCSTuおよびベクトルVuを取得する。一方、ステップS45では、図9(a3),(b3),(c3)に示すように、対応ベクトル探索部212は、基準ライン45より垂直方向に1画素下のラインで、コストCSTが最小となるブロック領域を探索し、最小コストCSTdおよびベクトルVdを取得する。
【0054】
そして、CSTu≦CSTd(図7のS46のYES)の場合、探索方向を上に設定し、かつ、CST1=CSTuに設定する(S47)。
【0055】
一方、CSTu>CSTd(S46のNO)の場合、探索方向を下に設定し、かつ、CST1=CSTdに設定する(S48)。
【0056】
CST0≦CST1(S49のYES)、すなわち、基準ライン45における最小コストが極小である場合、対応ベクトル探索部212は、最小コストCSTmin、対応ベクトルVminを取得し(S50)、処理を終了する。
【0057】
一方、CST0>CST1(S49のNO)、すなわち、基準ライン45における最小コストが極小でない場合、対応ベクトル探索部212はさらに探索を行うか否かを判断する(S51)。すなわち、探索方向が上に設定されている場合はコストCSTを算出したラインの1つ上のラインが探索範囲内であるか否か、探索方向が下に設定されている場合はコストCSTを算出したラインの1つ下のラインが探索範囲内であるか否か、を対応ベクトル探索部212は判断する。
【0058】
さらに探索を行う場合(S51のYES)、コストCST1をコストCST0に、ベクトルV1をベクトルV0に設定する(S52)。そして、探索方向が上に設定されている場合は、さらに1つ上のライン上のブロック領域のそれぞれについてコストCSTを算出し、最小となるコストCSTをCST1、コストが最小となるブロック領域と対象ブロックとの位置関係を示すベクトルをベクトルV1とする(S53)。そして、ステップS49以降の処理を繰り返す。繰り返す過程で、CST0≦CST1(S49のYES)、すなわち、極小のコストが得られた場合、最小コストCSTminおよび対応ベクトルVminを取得して(S50)、処理を終了する。
【0059】
一方、ステップS49以降の処理を繰り返し、探索範囲の上限(あるいは下限)のラインまでコストを計算してもコストCST0が極小とならない場合、すなわち、CST0≦CST1(S49のYES)とならない場合、探索範囲を超えての探索は行わず(S51のNO)、探索範囲の上限(あるいは下限)のラインのコストCST1を最小コストCSTminとし、ベクトルV1を対応ベクトルVminとして取得し(S54)、処理を終了する。
【0060】
なお、ステップS42,50,54で取得された対応ベクトルVminは記憶部3に記憶され(図5(b))、その後の対象ブロックの探索中心を計算するために用いられる。
【0061】
ステップS46以降の処理の具体例を説明する。図10は、探索範囲44と、各ラインにおける最小コストを示す図である。
【0062】
図10(a)の例では、CST0<CSTu<CSTdである。CSTu<CSTdであるため(S46のYES)、CST1=CSTuに設定される(S47)。そして、CST0≦CST1(=CSTu)を満たすため(S49のYES)、基準ライン45でのコストが極小であり、最小コストCSTmin、対応ベクトルVminが取得される(S50)。
【0063】
一方、図10(b)の例では、CSTd<CST0<CSTuである。CSTd<CSTuであるため(S46のNO)、CST1=CSTd、および、探索方向が下に設定される(S48)。ここで、CST1(=CSTd)<CST0であるため(S49のNO)、以降、下方向にコストCSTが極小となるブロック領域が探索される(S49〜S54)。
【0064】
3次元表示用の動画像は、通常、水平方向に並ぶ複数の視点からの動画像である。そのため、対象ブロックと類似する対象領域は、対象ブロックと水平方向にずれた位置に存在する可能性が高い。本実施形態では、対象ブロックと同じ垂直方向の位置を含む基準ラインからブロック領域の探索を開始するため、迅速に対応ベクトルを得られる。また、コストが極小になった時点で対応ベクトルを決定し、その後の探索を終了するため、処理量を減らすことができる。
【0065】
以上のようにして、対応領域が検出されると、引き続き、重み計算部221は対象ブロックと対応領域とを混合する重みを計算する(図4のS4)。
図11は、ステップS3で算出される最小コストCSTminと重みWとの関係の一例を示す図である。同図に示すように、重み計算部221は下記(2)式に基づいて重みWを計算する。
【0066】
W = (-1/T) * CSTmin + 1 (if CSTmin < T)
0 (else (CSTmin ≧ T)) ・・・(2)
ここで、Tは予め定めた定数である。なお、図11および上記(2)式は一例である。重み計算部221は、最小コストCSTminが小さいほど(すなわち、類似度が大きいほど)、重みWを大きく設定する。なお、他の関数や予め定めたテーブルを用いて重みWを計算してもよい。
【0067】
続いて、混合部222は、対象ブロック内の各画素と対応領域内の各画素とを、重みWに応じて混合する(図4のS5)。より具体的には、混合部222は、例えば下記(3)式に基づいて画素同士を混合する。
【0068】
r = (p + W * q) / (1 + W) ・・・(3)
ここで、pは対象ブロック内の画素値、qは対応領域内の画素値である。rは混合後の動画像信号における画素値であり、画像処理部2の出力である2次元表示用の動画像における画素値である。対象ブロック内の画素と混合すべき対応領域内の画素は、対応ベクトルにより示される。このような混合処理を行うことにより、ノイズを低減することができる。
以上、図4の処理を行うことで、2次元表示用の動画像信号が生成される。
【0069】
このように、本実施形態では、ベースビュー内の各ブロックと類似した、非ベースブロック内の領域を検出し、ベースビューと非ベースビューとを混合する。そのため、ノイズが低減された高品位な2次元表示用の動画像を生成できる。
【0070】
上述した実施形態で説明した画像処理システムの少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、画像処理システムの少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【0071】
また、画像処理システムの少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【0072】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0073】
1 復号部
2 画像処理部
21 対応領域検出部
211 探索中心計算部
212 対応ベクトル探索部
22 画像補正部
221 重み計算部
222 混合部
3 記憶部
4 表示部
31 対象ブロック
41,43 探索中心
42,44 探索範囲
45 基準ライン
【特許請求の範囲】
【請求項1】
互いに異なる複数の視点から見た複数の画像が符号化された入力画像信号を復号し、第1の視点から見た第1の画像に対応する第1の画像信号と、前記第1の視点とは異なる第2の視点から見た第2の画像に対応する第2の画像信号と、前記第2の画像から前記第1の画像を参照するための動きベクトルと、を生成する復号部と、
前記第1および第2の画像信号と前記動きベクトルとに基づいて、前記第1の画像内の対象ブロックと対応する、前記第2の画像内の対応領域を検出する対応領域検出部と、
前記対象ブロックと前記対応領域との類似度に応じて、前記対象ブロック内の各画素と前記対応領域内の各画素とを混合し、第3の画像信号を生成する画像補正部と、を備えることを特徴とする画像処理システム。
【請求項2】
前記対応領域検出部は、
前記動きベクトルに基づいて、前記対応領域を前記第2の画像内で探索する範囲の中心を示す探索中心を計算する探索中心計算部と、
前記探索中心を中心とする探索範囲内で、前記対応領域を探索する対応ベクトル探索部と、を有することを特徴とする請求項1に記載の画像処理システム。
【請求項3】
前記探索中心計算部は、前記対象ブロックと関連する前記動きベクトルと、前記対象ブロックの周囲のブロックと関連する前記動きベクトルと、前記対象ブロックの周囲のブロックの対応領域を示す対応ベクトルと、のうちの少なくとも一部に基づいて、前記探索中心を計算することを特徴とする請求項2に記載の画像処理システム。
【請求項4】
前記対応ベクトル探索部は、前記対象ブロックと、前記探索範囲内の複数の画素からなるブロック領域と、の類似度を示すコストを算出し、前記コストに基づいて、前記対応領域を検出することを特徴とする請求項2に記載の画像処理システム。
【請求項5】
第1の視点から見た第1の画像に対応する第1の画像信号と、前記第1の視点とは異なる第2の画像に対応する第2の画像信号と、前記第2の画像から前記第1の画像を参照するための動きベクトルと、に基づいて、前記第1の画像内の対象ブロックと対応する、前記第2の画像内の対応領域を検出する対応領域検出部と、
前記対象ブロックと前記対応領域との類似度に応じて、前記対象ブロック内の各画素と前記対応領域内の各画素とを混合し、第3の画像信号を生成する画像補正部と、を備えることを特徴とする画像処理装置。
【請求項6】
第1の視点から見た第1の画像に対応する第1の画像信号と、前記第1の視点とは異なる第2の画像に対応する第2の画像信号と、前記第2の画像から前記第1の画像を参照するための動きベクトルと、に基づいて、前記第1の画像内の対象ブロックと対応する、前記第2の画像内の対応領域を検出するステップと、
前記対象ブロックと前記対応領域との類似度に応じて、前記対象ブロック内の各画素と前記対応領域内の各画素とを混合するステップと、を備えることを特徴とする画像処理方法。
【請求項1】
互いに異なる複数の視点から見た複数の画像が符号化された入力画像信号を復号し、第1の視点から見た第1の画像に対応する第1の画像信号と、前記第1の視点とは異なる第2の視点から見た第2の画像に対応する第2の画像信号と、前記第2の画像から前記第1の画像を参照するための動きベクトルと、を生成する復号部と、
前記第1および第2の画像信号と前記動きベクトルとに基づいて、前記第1の画像内の対象ブロックと対応する、前記第2の画像内の対応領域を検出する対応領域検出部と、
前記対象ブロックと前記対応領域との類似度に応じて、前記対象ブロック内の各画素と前記対応領域内の各画素とを混合し、第3の画像信号を生成する画像補正部と、を備えることを特徴とする画像処理システム。
【請求項2】
前記対応領域検出部は、
前記動きベクトルに基づいて、前記対応領域を前記第2の画像内で探索する範囲の中心を示す探索中心を計算する探索中心計算部と、
前記探索中心を中心とする探索範囲内で、前記対応領域を探索する対応ベクトル探索部と、を有することを特徴とする請求項1に記載の画像処理システム。
【請求項3】
前記探索中心計算部は、前記対象ブロックと関連する前記動きベクトルと、前記対象ブロックの周囲のブロックと関連する前記動きベクトルと、前記対象ブロックの周囲のブロックの対応領域を示す対応ベクトルと、のうちの少なくとも一部に基づいて、前記探索中心を計算することを特徴とする請求項2に記載の画像処理システム。
【請求項4】
前記対応ベクトル探索部は、前記対象ブロックと、前記探索範囲内の複数の画素からなるブロック領域と、の類似度を示すコストを算出し、前記コストに基づいて、前記対応領域を検出することを特徴とする請求項2に記載の画像処理システム。
【請求項5】
第1の視点から見た第1の画像に対応する第1の画像信号と、前記第1の視点とは異なる第2の画像に対応する第2の画像信号と、前記第2の画像から前記第1の画像を参照するための動きベクトルと、に基づいて、前記第1の画像内の対象ブロックと対応する、前記第2の画像内の対応領域を検出する対応領域検出部と、
前記対象ブロックと前記対応領域との類似度に応じて、前記対象ブロック内の各画素と前記対応領域内の各画素とを混合し、第3の画像信号を生成する画像補正部と、を備えることを特徴とする画像処理装置。
【請求項6】
第1の視点から見た第1の画像に対応する第1の画像信号と、前記第1の視点とは異なる第2の画像に対応する第2の画像信号と、前記第2の画像から前記第1の画像を参照するための動きベクトルと、に基づいて、前記第1の画像内の対象ブロックと対応する、前記第2の画像内の対応領域を検出するステップと、
前記対象ブロックと前記対応領域との類似度に応じて、前記対象ブロック内の各画素と前記対応領域内の各画素とを混合するステップと、を備えることを特徴とする画像処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−85157(P2013−85157A)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2011−224525(P2011−224525)
【出願日】平成23年10月12日(2011.10.12)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願日】平成23年10月12日(2011.10.12)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]