画像符号化装置、画像復号装置、並びにそれらの方法及びプログラム
【課題】視差補償予測方式において、視差補償予測に必要な情報以外の追加情報を必要とせずに、常に精度の良い画像間特性差補償処理を実施できるようにする。
【解決手段】本発明の画像符号化装置は、少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に、各視点画像間の特性差を補正して視差補償を行う。この画像符号化装置は、符号化対象ブロック403を符号化する際に参照する参照ブロック405を抽出する対応ブロック抽出部と、符号化対象ブロック403の周辺のブロック404と参照ブロック405の周辺のブロック406との類似性に基づいて、各視点画像間の特性差を補正する補正処理部と、を備える。
【解決手段】本発明の画像符号化装置は、少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に、各視点画像間の特性差を補正して視差補償を行う。この画像符号化装置は、符号化対象ブロック403を符号化する際に参照する参照ブロック405を抽出する対応ブロック抽出部と、符号化対象ブロック403の周辺のブロック404と参照ブロック405の周辺のブロック406との類似性に基づいて、各視点画像間の特性差を補正する補正処理部と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の視点から撮影された画像に対して視差補償予測符号化を行う画像符号化装置、その符号化されたデータを視差補償予測復号により復号する画像復号装置、並びに、それらの方法及びプログラムに関する。
【背景技術】
【0002】
同一の被写体や背景を、複数のカメラで撮影した動画像(多視点動画像)を符号化するための方式として、MPEG(Moving Picture Experts Group)−4 AVC/H.264の拡張規格であるMVC(Multiview Video Coding)がある。この符号化方式では、従来の単一視点の動画像符号化方式(MPEG−2、MPEG−4、MPEG−4 AVC/H.264など)と同様に、動画像の時間方向の相関性を利用した動き補償フレーム間予測符号化と、拡張により導入された視点方向の相関性を利用した視差補償予測符号化とを駆使して、符号量の削減が図られている。
【0003】
視差補償予測符号化については、複数の個体差のあるカメラによる撮影のため、それぞれのカメラが十分に校正されていない場合、同一被写体を撮影しても動画像内の被写体の明るさや色味が異なり、視差補償のための予測精度が下がり、その結果として符号化効率が低下する問題が発生することがある。このような異なるカメラ間の画像の特性不一致は、カメラの校正不足による要因以外にも、被写体表面を反射した光の入り方がカメラ毎に異なる場合にも起こり得る。
【0004】
カメラ間の画像の特性の不一致が起こっても符号化効率を低下させないために、輝度補償IC(Illumination Compensation)とカラー補償CC(Color Compensation)を導入した視差補償予測符号化方式が提案されている(非特許文献1)。以下、輝度補償と色補償の両方式を組み合わせて、或いはいずれか一方のことを便宜上、画像間特性差補償と呼ぶこととする。
【0005】
非特許文献1では、符号化時に参照するブロック(参照ブロック)に対して、オフセットパラメータCICとスケールパラメータSICを用いて輝度補償を行っている。このとき輝度補償を施した参照ブロックは以下の式(1)のようになる。ここで、添え字Rは参照画像内のブロックであることを示し、μは参照ブロックの輝度平均、ωは平均値0の正規分布である。
【0006】
【数1】
【0007】
具体的な符号化方法は、以下の通りである。初めに符号化対象ブロックと最も相関の高い参照ブロックが、符号化対象画像とは異なる視点の参照画像内より抽出される。抽出された参照ブロックと符号化対象ブロックに基づいて、上記オフセットパラメータとスケールパラメータが導出される。続いて、参照ブロックの相対位置を示すベクトル(視差ベクトル)と参照画像を示すID(参照視点番号、参照フレーム番号)と上記パラメータ(オフセットパラメータとスケールパラメータ)、及び輝度補償後の参照ブロックと符号化対象ブロックとの残差成分が、符号化され伝送される。
【0008】
復号時には、参照画像を示すIDと視差ベクトルによって特定された参照ブロックに対して、式(1)を用いて輝度補償が施される。さらに、輝度補償後の画像に、残差成分が加算されて、元の画像が再現される。色補償についても輝度補償と同様な方法によって実現可能である。以下、色補償におけるオフセットパラメータをCCC、スケールパラメータをSCCとして説明する。
【0009】
しかしながら、上記画像間特性差補償を行うためには、視差補償で必要な情報以外の追加の情報(輝度補償や色補償のためのオフセットパラメータとスケールパラメータ)が必要となり、必ずしも符号化効率を高めることにならない場合がある。そこで、以下のようなシンタックスを導入して最適化する方法が提案されている。
【0010】
符号化のシンタックスとしては、スライス・レベルにおいて、現在のスライスで輝度補償、或いは色補償を有効にするか否かを示すフラグ(ic_flag,cc_flag)と、各マクロブロックにおける輝度補償、或いは色補償を有効にするか否かを示すフラグ(ic_enable,cc_enable)が導入される。これら導入されたフラグを用いて、符号化効率の向上が見込めない条件においては、上記画像間特性差補償の処理をキャンセルすることができる。
【0011】
以上、画像間特性差補償を実現するには、シンタックスを含めた補償のための情報(オフセットパラメータ、スケールパラメータ)を、通常の視差補償符号化に必要な情報(視差ベクトル、参照画像を示すID、残差成分)に加えて符号化する必要がある。
【0012】
さらに効率を高めるために、特許文献1,2では上記画像間特性差補償に用いられる情報の一部を明示的に伝送しなくてもよい方法が提案されている。特許文献1,2に記載の方法では、画像の特性差を低減する画像間特性差補償において、上記追加の情報(画像間特性差補償のためのシンタックス、及びパラメータ)を伝送するモード(モード1)と、追加の情報を明示的に伝送しないモード(モード2)を備え、適宜切り替えを行っている。追加情報を伝送するモードは、ここまで説明したように画像間特性差補償に必要な追加の情報を全て伝送し、その情報に基づいて補償処理を行うモードである(上記非特許文献1で説明した方法と基本処理は同じである)。明示的に画像間特性差補償の一部の情報を伝送しないモードでは、隣接ブロック(空間的、時間的、視点横断的)に用いられたオフセット量(、スケール量)を用いて処理対象ブロックのオフセット量(、スケール量)が算出される。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特表2010−507334号公報
【特許文献2】特表2010−507336号公報
【非特許文献】
【0014】
【非特許文献1】非特許文献1:“Block-based Illumination Compensation and Search Techniques for Multiview Video Coding”, Picture Coding Symposium(PCS) (2004)
【発明の概要】
【発明が解決しようとする課題】
【0015】
非特許文献1に記載の方法では、特許文献1で指摘されているように画像間特性差補償を実施するためのパラメータ(オフセットパラメータ、スケールパラメータ)とマクロブロック以下のシンタックス(ic_enable,cc_enable)を余計に符号化して伝送する必要があり、条件によっては符号化効率が低下するといった問題がある。
【0016】
一方、特許文献1,2に記載の方法では、符号化対象ブロック周辺において画像間特性差補償に利用できる情報が有効である場合(モード2)のみに、それらの情報を用いて符号化対象ブロックに対するパラメータを推測することが可能となる。その場合、非特許文献1の方法で必要な追加情報を送る必要がなくなるが、このような方式を用いても、符号化対象ブロック周辺に利用できる情報が存在しない場合(モード1)には、非特許文献1に記載の画像間特性差補償と同様な方式を用いる必要があり、符号化効率が低下するといった問題がある。例えば図14に示すように、符号化対象ブロックを視差補償予測モードにて符号化しようとしているときに、周辺ブロックの予測方式が視差補償予測とは異なる方式(図14の例では動き補償フレーム間予測符号化)で符号化処理されている場合である。
【0017】
さらに、特許文献1,2に記載の方法では、隣接ブロック及び符号化対象ブロック間で異なる被写体が重なる境界においても、周辺ブロックの情報が誤って利用されて画像間特性差補償の精度を低下させるといった問題がある。例えば図15の模式図に示すように、符号化対象ブロック及び隣接ブロックCに被写体OH(人物の頭)が写っているが、隣接ブロックA及び隣接ブロックBに被写体OB(背景)が写っているような場合に、隣接ブロックA及び隣接ブロックBで採用された画像間特性差補償による特性差を用いて符号化対象ブロックの画像間特性差補償予測を行ってしまう問題がある。この場合、誤った情報を用いて補償予測することになるため、符号化効率を悪くさせる可能性が高い。
【0018】
また、MPEGのアドホックグループであるMPEG−3DVにおいてカメラで撮影した映像と合わせて奥行き画像も伝送する新しい規格が策定されている。奥行き画像とはカメラから被写体までの距離を表した情報であり、生成方法としては、例えばカメラの近傍に設置された距離を測定する装置から取得する方法がある。また、複数視点のカメラから撮影された画像を解析することによって奥行き画像を生成することもできる。
【0019】
MPEG−3DVの新しい規格におけるシステムの全体図を図16に示す。この新しい規格は、2視点以上の複数視点に対応しているが、図16では2視点の場合で説明する。このシステムでは、被写体901をカメラ902、904で撮影し画像を出力すると共に、それぞれのカメラの近傍に設置されている被写体901までの距離を測定するセンサ903、905を用いて奥行き画像(デプスマップ)を生成し出力する。符号化器906は、入力として画像と奥行き画像を受取り、動き補償フレーム間予測符号化や視差補償予測を用いて、画像及び奥行き画像を符号化し出力する。復号器907は、ネットワークNを介して又は直接伝送されてくる符号化器906の出力結果を入力として受取り、復号し、復号画像及び復号した奥行き画像を出力する。表示部908は入力として復号器907から復号画像と復号した奥行き画像を受取り、復号画像を表示する、或いは、奥行き画像を用いた処理を復号画像に施してから表示する。
【0020】
このように、MPEG−3DVにおいて、多視点動画像及び対応する視点の奥行き動画像を符号化する方式の策定が進められており、ここでも常に精度の良い画像間特性差補償処理を実施し、高効率で視差補償予測を行うことが望まれている。
【0021】
本発明は、上述のような実情に鑑みてなされたものであり、その目的は、視差補償予測方式において、視差補償予測に必要な情報以外の追加情報を必要とせずに、常に精度の良い画像間特性差補償処理を実施できるようにすることにある。
【0022】
また、本発明の他の目的は、MPEG−3DVで策定が進められている多視点動画像及び対応する視点の奥行き動画像符号化方式において、常に精度の良い画像間特性差補償処理を実施し、高効率で視差補償予測を行うことにある。
【課題を解決するための手段】
【0023】
上記課題を解決するために、本発明の第1の技術手段は、少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に、各視点画像間の特性差を補正して視差補償を行う画像符号化装置であって、符号化対象ブロックを符号化する際に参照する参照ブロックを抽出する対応ブロック抽出部と、前記符号化対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正する補正処理部と、を備えたことを特徴としたものである。
【0024】
第2の技術手段は、第1の技術手段において、前記符号化対象ブロックから見た前記符号化対象ブロックの周辺のブロックの相対位置は、前記対応ブロック抽出部で前記符号化対象ブロックの参照元として抽出された前記参照ブロックから見た、前記参照ブロックの周辺のブロックの相対位置と対応していることを特徴としたものである。
【0025】
第3の技術手段は、第1又は第2の技術手段において、前記補正処理部は、前記符号化対象ブロックに写る被写体とは異なる被写体が写る周辺のブロックを除外して、補正を実行することを特徴としたものである。
【0026】
第4の技術手段は、第1又は第2の技術手段において、前記補正処理部は、前記符号化対象ブロックに写る被写体と同じ被写体が写る可能性が最も高い周辺のブロックを一つ選んで、補正を実行することを特徴としたものである。
【0027】
第5の技術手段は、第3又は第4の技術手段において、前記被写体の判定に、各視点画像に対応する奥行き情報を用いることを特徴としたものである。
【0028】
第6の技術手段は、第5の技術手段において、前記奥行き情報は、奥行き画像を分割したブロックの代表値に基づく情報であることを特徴としたものである。
【0029】
第7の技術手段は、少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に、各視点画像間の特性差を補正して視差補償を行う画像復号装置であって、復号対象ブロックを復号する際に参照する参照ブロックを抽出する対応ブロック抽出部と、前記復号対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正する補正処理部と、を備えたことを特徴としたものである。
【0030】
第8の技術手段は、第7の技術手段において、前記復号対象ブロックから見た前記復号対象ブロックの周辺のブロックの相対位置は、前記対応ブロック抽出部で前記復号対象ブロックの参照元として抽出された前記参照ブロックから見た、前記参照ブロックの周辺のブロックの相対位置と対応していることを特徴としたものである。
【0031】
第9の技術手段は、第7又は第8の技術手段において、前記補正処理部は、前記復号対象ブロックに写る被写体とは異なる被写体が写る周辺のブロックを除外して、補正を実行することを特徴としたものである。
【0032】
第10の技術手段は、第7又は第8の技術手段において、前記補正処理部は、前記復号対象ブロックに写る被写体と同じ被写体が写る可能性が最も高い周辺のブロックを一つ選んで、補正を実行することを特徴としたものである。
【0033】
第11の技術手段は、第9又は第10の技術手段において、前記被写体の判定に、各視点画像に対応する奥行き情報を用いることを特徴としたものである。
【0034】
第12の技術手段は、第11の技術手段において、前記奥行き情報は、奥行き画像を分割したブロックの代表値に基づく情報であることを特徴としたものである。
【0035】
第13の技術手段は、少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に、各視点画像間の特性差を補正して視差補償を行う画像符号化方法であって、符号化対象ブロックを符号化する際に参照する参照ブロックを抽出するステップと、前記符号化対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正するステップと、を有することを特徴としたものである。
【0036】
第14の技術手段は、少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に、各視点画像間の特性差を補正して視差補償を行う画像復号方法であって、復号対象ブロックを復号する際に参照する参照ブロックを抽出するステップと、前記復号対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正するステップと、を有することを特徴としたものである。
【0037】
第15の技術手段は、少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に各視点画像間の特性差を補正して視差補償を行う画像符号化処理を、コンピュータに実行させるための画像符号化プログラムであって、前記画像符号化処理は、符号化対象ブロックを符号化する際に参照する参照ブロックを抽出するステップと、前記符号化対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正するステップと、を有することを特徴としたものである。
【0038】
第16の技術手段は、少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に各視点画像間の特性差を補正して視差補償を行う画像復号処理を、コンピュータに実行させるための画像復号プログラムであって、前記画像復号処理は、復号対象ブロックを復号する際に参照する参照ブロックを抽出するステップと、前記復号対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正するステップと、を有することを特徴としたものである。
【発明の効果】
【0039】
本発明によれば、視差補償予測方式において、符号化対象ブロックの視差ベクトルが指し示す先の参照ブロックの少なくとも一つ以上の周辺ブロックと、それに対応する符号化対象ブロックの周辺ブロックの間の画像間特性差を用いることで、視差補償予測に必要な情報以外の追加情報を必要とせずに常に精度の良い画像間特性差補償処理を実施でき、結果として高効率で視差補償予測を行うことが可能になる。
【0040】
また、本発明のある形態によれば、MPEG−3DVで策定が進められている多視点動画像及び対応する視点の奥行き動画像符号化方式において、その奥行き画像の奥行きの差に基づいて異なる被写体を判定し、その判定結果に基づいて画像間特性差補償処理の実施を制御することで、常に精度の良い画像間特性差補償処理が可能になり、結果として高効率で視差補償予測を行うことが可能になる。
【図面の簡単な説明】
【0041】
【図1】本発明の画像符号化装置の構成例を示すブロック図である。
【図2】図1の画像符号化装置における画像符号化部の構成例を示すブロック図である。
【図3】図2の画像符号化部における動き/視差補償部の構成例を示すブロック図である。
【図4】図3の動き/視差補償部における対応ブロック抽出部が抽出するブロック位置を概念的に説明するための図で、画像間特性差補償処理で扱うブロック位置を示す概念図である。
【図5】代表奥行き値の決定処理の概念図である。
【図6】図1の画像符号化装置が実行する画像符号化処理を説明するためのフローチャートである。
【図7】図2の画像符号化部が実行する画像符号化処理を説明するためのフローチャートである。
【図8】図2の画像符号化部における画面間予測部が実行する画面間予測処理を説明するためのフローチャートである。
【図9】本発明の画像復号装置の構成例を示すブロック図である。
【図10】図9の画像復号装置における画像復号部の構成例を示すブロック図である。
【図11】図9の画像復号装置が実行する画像復号処理を説明するためのフローチャートである。
【図12】図10の画像復号部が実行する画像復号処理を説明するためのフローチャートである。
【図13】図10の画像復号部における画面間予測部が実行する画面間予測処理を説明するためのフローチャートである。
【図14】従来の画像間特性差補償の問題の一例を示す概念図である。
【図15】従来の画像間特性差補償の問題の一例を示す他の概念図である。
【図16】MPEG−3DVの新しい規格におけるシステムの全体図である。
【発明を実施するための形態】
【0042】
以下、図面を参照しながら本発明の実施形態について説明する。図面において同じ機能を有する部分については同じ符号を付し、繰り返しの説明は省略する。
【0043】
(実施形態1)
<画像符号化装置の構成>
図1は、本発明の一実施形態である画像符号化装置の構成例を示すブロック図である。
図1で例示する画像符号化装置100は、画像符号化部101及び符号構成部104を含んで構成される。なお、画像符号化部101の内部に記載した点線で示したブロック及び矢印は、画像符号化部101の動作を概念的に説明するために利用する。
【0044】
以下、画像符号化装置100の機能及び動作について説明する。
画像符号化装置100に入力される視点画像は、基準視点画像と非基準視点画像である。基準視点の視点画像は単一の視点による画像に限定されるが、非基準視点の視点画像は複数の視点による画像が複数入力されてもよい。基準視点画像とは、複数の視点画像において基準となる視点の画像である。
【0045】
視点画像は、初めに画像符号化部101に入力される。基準視点符号化処理部102では、基準視点の視点画像を視点内予測符号化方式により圧縮符号化する。視点内予測符号化では、画面内予測や同一視点内で動き補償を行って、視点内の画像データのみに基づいて画像データを圧縮符号化する。同時に、後述する非基準視点の視点画像を符号化する際の参照用に、逆処理すなわち内部復号を行い、画像信号に復元しておく。非基準視点符号化処理部103では、復元された上記基準視点画像に基づいて、非基準視点の視点画像を視点間予測符号化方式により圧縮符号化する。視点間予測符号化方式では、符号化対象画像とは異なる視点の画像を用いて視差補償を行い、画像データを圧縮符号化する。なお、非基準視点符号化処理部103では、視点内の画像データのみを用いた視点内予測符号化方式を、全体の符号化効率に基づいて選択することもできる。基準視点符号化処理部102によって符号化された符号化データと非基準視点符号化処理部103によって符号化された符号化データが、画像符号化部101より出力される。
【0046】
符号構成部104は、画像符号化部101より符号化データを受取り、連結・並べ替えがなされ、符号化ストリームとして画像符号化装置100の外部(例えば、後述する画像復号装置700)に出力する。
【0047】
続いて、画像符号化部101の詳細について、図2を用いて説明する。図2は、画像符号化部101の構成例を示すブロック図である。
【0048】
画像符号化部101は、画像入力部201、減算部202、直交変換部203、量子化部204、エントロピー符号化部205、逆量子化部206、逆直交変換部207、加算部208、予測方式制御部209、画像選択部210、デブロッキング・フィルタ部211、フレームメモリ212、動き/視差補償部213、動き/視差ベクトル検出部214、及びイントラ予測部215を含んで構成される。なお、説明のために、画面内予測部217と画面間予測部218を点線で図示し、画面内予測部217はイントラ予測部215を含み、画面間予測部218はデブロッキング・フィルタ部211、フレームメモリ212、動き/視差補償部213、及び動き/視差ベクトル検出部214を含むものとする。
【0049】
図1において画像符号化部101の動作を説明した際には、基準視点の符号化処理とそれ以外の非基準視点の符号化処理を明示的に分けて、基準視点符号化処理部102と非基準視点符号化処理部103としたが、実際にはお互いに共通する処理が多いため、以下では基準視点符号化処理と非基準視点符号化処理を統合した形態について説明を行う。
【0050】
具体的には、前述の基準視点符号化処理部102として行う視点内予測符号化方式は、図2の画面内予測部217で実施される処理と画面間予測部218で実施される処理の一部である同一視点の画像を参照する処理(動き補償)を組み合わせたものである。また、非基準視点符号化処理部103として行う視点間予測符号化方式は、画面内予測部217で実施される処理と画面間予測部218で実施される同一視点の画像を参照する処理(動き補償)及び異なる視点の画像を参照する処理(視差補償)を組み合わせたものである。さらに、画面間予測部218で実施される符号化対象の視点と同一視点の画像を参照する処理(動き補償)と異なる視点の画像を参照する処理(視差補償)についても、符号化時に参照する画像が異なるだけで、参照画像を指し示すID情報(参照視点番号、参照フレーム番号)を用いることで処理を共通化することが可能である。また、各予測部217,218で予測した画像と入力した視点画像の残差成分を符号化する方法も、基準視点であっても非基準視点であっても共通に行える。詳細は後述する。
【0051】
画像入力部201は、画像符号化部101の外部から入力される符号化対象となる視点画像(基準視点画像、或いは非基準視点画像)を示す画像信号を、予め定めた大きさ(例えば、垂直方向16画素×水平方向16画素)のブロックに分割する。
【0052】
画像入力部201は、分割した画像ブロック信号を、減算部202、画面内予測部217の中にあるイントラ予測部215、及び画面間予測部218の内部にある動き/視差ベクトル検出部214に出力する。画面内予測部217は、符号化対象ブロックより前に処理の完了した同一画面内の情報のみを用いて符号化を行う処理部であり、その処理内容については後述する。一方、画面間予測部218は、符号化対象画像とは異なる、過去に処理した同一視点の視点画像、或いは異なる視点の視点画像の情報を用いて符号化を行う処理部であり、その処理内容については後述する。
【0053】
画像入力部201は、ブロック位置を順次変えながら、画像フレーム内の全てのブロックが完了し、そして入力される画像が全て終了するまで繰り返して出力する。なお、画像入力部201が、画像信号を分割する際のブロックサイズは、前述の16×16サイズに限らず、8×8、4×4などのサイズでもよい。また、縦横の画素数が同数でなくともよく、例えば16×8、8×16、8×4、4×8などのサイズでもよい。これらのサイズの例は、H.264、MVCなどの従来方式で用いられた符号化ブロックサイズである。後述する符号化手順に従って、全ブロックサイズの符号化を一通り実施し、最終的に効率の良いものを選択する。なお、ブロックサイズについては上記サイズに限定するものではなく、将来の符号化方式で採用される任意のブロックサイズに対応することが可能である。
【0054】
減算部202は、画像入力部201から入力した画像ブロック信号から画像選択部210から入力した予測画像ブロック信号を減算して、差分画像ブロック信号を生成する。減算部202は、生成した差分画像ブロック信号を直交変換部203に出力する。
【0055】
直交変換部203は、減算部202から入力した差分画像ブロック信号を直交変換し、種々の周波数特性の強度を示す信号を生成する。直交変換部203は、差分画像ブロック信号を直交変換する際に、その差分画像ブロック信号を、例えばDCT変換(離散コサイン変換;Discrete Cosine Transform)して周波数領域信号(例えば、DCT変換を行った場合はDCT係数)を生成する。直交変換部203は、差分画像ブロック信号に基づき周波数領域信号を生成することができれば、DCT変換に限らず、他の方法(例えば、FFT(高速フーリエ変換;Fast Fourier Transform))を用いてもよい。直交変換部203は、生成した周波数領域信号に含まれる係数値を、量子化部204に出力する。
【0056】
量子化部204は、直交変換部203より入力した周波数特性強度を示す係数値を所定の量子化係数にて量子化し、生成した量子化信号(差分画像ブロック符号)を、エントロピー符号化部205と逆量子化部206に出力する。なお、量子化係数は、外部より与えられる符号量を決めるためのパラメータで、逆量子化部206及びエントロピー符号化部205においても参照される。
【0057】
逆量子化部206は、量子化部204から入力された差分画像符号を、上記量子化係数を用いて上記量子化部204で行った量子化と逆の処理(逆量子化)をして復号周波数領域信号を生成し、逆直交変換部207に出力する。
【0058】
逆直交変換部207は、入力された復号周波数領域信号を直交変換部203とは逆の処理、例えば逆DCT変換して空間領域信号である復号差分画像ブロック信号を生成する。逆直交変換部207は、復号周波数領域信号に基づき空間領域信号を生成することができれば、逆DCT変換に限らず、他の方法(例えば、IFFT(高速フーリエ逆変換;Inverse Fast Fourier Transform))を用いてもよい。そして、逆直交変換部207は、生成した復号差分画像ブロック信号を加算部208に出力する。
【0059】
加算部208は、画像選択部210から予測画像ブロック信号を入力すると共に、逆直交変換部207から復号差分画像ブロック信号を入力する。加算部208は、予測画像ブロック信号に復号差分画像ブロック信号を加算し、入力画像を符号化・復号した参照画像ブロック信号を生成する(内部デコード)。この参照画像ブロック信号は、画面内予測部217及び画面間予測部218に出力される。
【0060】
画面内予測部217は、加算部208より参照画像ブロック信号を入力すると共に、画像入力部201より符号化対象画像の画像ブロック信号を入力し、所定の方向に画面内予測した画面内予測画像ブロック信号を予測方式制御部209と画像選択部210に出力する。同時に、画面内予測部217は、画面内予測画像ブロック信号を生成するために必要な予測の方向を示す情報を画面内予測符号化情報として生成し、予測方式制御部209に出力する。画面内予測は、従来方式(例えば、H.264 Reference Software JM ver. 13.2 Encoder, http://iphome.hhi.de/suehring/tml/, 2008)の画面内予測方式に従って実施される。なお、画面内予測部217におけるこれらの処理は、上述した構成で示したようにイントラ予測部215が実行することになる。
【0061】
画面間予測部218は、加算部208より参照画像ブロック信号を入力すると共に、画像入力部201より符号化対象画像の画像ブロック信号を入力し、画面間予測により生成した画面間予測画像ブロック信号を予測方式制御部209と画像選択部210に出力する。同時に、画面間予測部218は、画面間予測画像ブロック信号を生成するために必要な情報(参照視点画像番号と参照フレーム番号を含む参照画像情報や、動き/視差ベクトルと予測ベクトルとの差分ベクトル)を、画面間予測符号化情報として生成し、生成した画面間予測符号化情報を予測方式制御部209に出力する。画面間予測部218の詳細については後述する。
【0062】
続いて、予測方式制御部209は、入力画像のピクチャの種類及び符号化効率に基づいて、画面内予測部217より入力される画面内予測画像ブロック信号とその画面内予測符号化情報、及び画面間予測部218より入力される画面間予測画像ブロック信号とその画面間符号化情報に基づいてブロック毎の予測方式を決め、その予測方式の情報を画像選択部210に出力する。ここで、入力画像のピクチャの種類とは、符号化対象画像が予測画像に参照できる画像を識別するための情報で、Iピクチャ、Pピクチャ、Bピクチャなどがあり、ピクチャの種類は、量子化係数と同様に外部より与えられるパラメータによって決まるもので、従来方式のMVCと同じ方法を利用できる。
【0063】
予測方式制御部209は、入力画像のピクチャの種類を監視し、入力された符号化対象画像が画面内の情報しか参照できないIピクチャの場合は画面内予測方式を確定的に選択する。符号化済みの過去のフレーム或いは異なる視点の画像を参照できるPピクチャや、符号化済みの過去のフレーム及び符号化済みの未来のフレーム(表示順番では未来のフレームではあるが、過去に処理されたフレーム)と異なる視点の画像を参照できるBピクチャの場合には、予測方式制御部209は、エントロピー符号化部205で行う符号化により生成されるビット数と減算部202の原画像との残差から、例えば従来の手法(例えば、H.264 Reference Software JM ver. 13.2 Encoder, http://iphome.hhi.de/suehring/tml/, 2008)を用いてラグランジュコストを算出し、画面内予測方式或いは画面間予測方式を決める。
【0064】
同時に、予測方式制御部209は、画面内予測符号化情報若しくは画面間予測符号化情報のうち、上記方法によって選択された予測方式に対応する符号化情報に、予測方式を特定できる情報を付加し予測符号化情報として、エントロピー符号化部205に出力する。
【0065】
画像選択部210は、予測方式制御部209より入力される予測方式の情報に従って、画面内予測部217より入力される画面内予測画像ブロック信号、或いは画面間予測部218より入力される画面間予測画像ブロック信号を選択して、減算部202及び加算部208に予測画像ブロック信号を出力する。画像選択部210は、予測方式制御部209より入力される予測方式が画面内予測である場合には、画面内予測部217より入力される画面内予測画像ブロック信号を選択して出力し、予測方式制御部209より入力される予測方式が画面間予測である場合は、画面間予測部218より入力される画面間予測画像ブロック信号を選択して出力するものとする。
【0066】
エントロピー符号化部205は、量子化部204より入力される差分画像符号と量子化部204で用いられた量子化係数、予測方式制御部209より入力される予測符号化情報をパッキング(packing;詰込)し、例えば可変長符号化(エントロピー符号化)を用いて符号化し、情報量がより圧縮された符号化データを生成する。エントロピー符号化部205は、生成した符号化データを符号構成部104に出力し、その後、符号構成部104は符号化ストリームとして画像符号化装置100の外部(例えば、画像復号装置700)に出力する。
【0067】
次に、画面間予測部218の詳細について説明する。
デブロッキング・フィルタ部211は、加算部208より参照画像ブロック信号を入力し、画像の符号化時に発生するブロック歪みを減少させるための、従来の手法(例えば、H.264 Reference Software JM ver. 13.2 Encoder, http://iphome.hhi.de/suehring/tml/, 2008)で用いられるFIRフィルタ処理を行う。デブロッキング・フィルタ部211は、処理結果(補正ブロック信号)をフレームメモリ212に出力する。
【0068】
フレームメモリ212は、デブロッキング・フィルタ部211から補正ブロック信号を入力し、視点番号とフレーム番号を同定できる情報と共に画像の一部として補正ブロック信号を保持しておく。フレームメモリ212は、図示していないメモリ管理部によって、入力画像のピクチャの種類或いは画像の順番が管理され、その指示に従って画像を蓄えたり破棄したりする。画像管理については、従来方式のMVCの画像管理方法を利用することもできる。
【0069】
動き/視差ベクトル検出部214は、画像入力部201より入力される画像ブロック信号に類似するブロックを、フレームメモリ212に蓄積された画像群から後述するブロックマッチングで探し出し、探し出したブロックを指し示すベクトル情報、視点番号、及びフレーム番号を生成する。ここで、ベクトル情報は、参照する画像が符号化対象画像と同一視点の場合は動きベクトルと呼び、参照する画像が符号化対象画像と異なる視点の場合は視差ベクトルと呼ぶ。動き/視差ベクトル検出部214は、ブロックマッチングを行う際、当該分割されたブロックとの間の指標値を領域毎に算出し、算出した指標値が最小となる領域を探し出す。指標値は、画像信号間の相関性や類似性を示すものであればよい。動き/視差ベクトル検出部214は、例えば、分割されたブロックに含まれる画素の輝度値と参照画像のある領域における輝度値の差の絶対値総和(SAD;Sum of Absolute Difference)を用いる。入力された視点画像信号から分割されたブロック(例えば、大きさがN×N画素)と参照画像信号のブロックとの間のSADは次の式(2)で表される。
【0070】
【数2】
【0071】
式(2)において、Iin(i0+i,j0+j)は入力画像の座標(i0+i,j0+j)における輝度値、(i0,j0)は当該分割されたブロックの左上端の画素座標を示す。Iref(i0+i+p,j0+j+q)は参照画像の座標(i0+i+p,j0+j+q)における輝度値、(p,q)は当該分割されたブロックの左上端の座標を基準にしたシフト量(動きベクトル)である。すなわち、動き/視差ベクトル検出部214は、ブロックマッチングにおいて、(p,q)毎にSAD(p,q)を算出し、SAD(p,q)を最小とする(p,q)を探し出す。(p,q)は入力された視点画像から当該分割されたブロックから当該参照領域の位置までのベクトル(動き/視差ベクトル)を表す。
【0072】
動き/視差補償部213は、動き/視差ベクトル検出部214より入力された動きベクトル或いは視差ベクトル、視点番号、及びフレーム番号に基づいて、参照画像ブロックをフレームメモリ212より抽出する。
【0073】
動き/視差ベクトル検出部214より入力された参照ベクトルが視差ベクトルである場合には、動き/視差補償部213は同時に、フレームメモリ212より、既に処理の完了した符号化対象ブロック周辺の画像ブロック信号と、それに対応する参照画像ブロック周辺の画像ブロック信号とを入力する(画像ブロックの位置については、後述する)。動き/視差補償部213は、符号化対象画像と参照画像内の対応する隣接ブロック同士の相関性を示す指標値を算出し、お互いに同一の被写体を示す画像ブロックであると判定した場合には、画像間特性差補償を実施する(詳細は後述する)。動き/視差補償部213は、処理後の画像ブロックを画面間予測画像ブロック信号として、予測方式制御部209と画像選択部210に出力する。
【0074】
なお、動き/視差補償部213は、動き/視差ベクトル検出部214より入力された参照ベクトルが動きベクトルである場合には、前述の周辺ブロックの入力と画像間特性差補償処理を行わずに、フレームメモリ212より、動きベクトルと参照画像番号及びフレーム番号に基づいて抽出した参照画像ブロックをそのまま、画面間予測画像ブロック信号として、予測方式制御部209と画像選択部210に出力する。
【0075】
動き/視差補償部213はさらに、上記ブロックマッチングで算出した動き/視差ベクトルから、符号化対象ブロックに隣接する符号化済みブロックで採用された動き/視差ベクトルに基づいて生成された予測ベクトルを減算し、差分ベクトルを算出する。予測ベクトルの生成方法は、符号化対象ブロックの上に隣接しているブロックと、右上に隣接しているブロックと、左に隣接しているブロックのそれぞれのベクトルの水平成分及び垂直成分の中央値を求めて、予測ベクトルとする。予測ベクトルの算出方法は、MVCで採用されている方式を利用できる。
【0076】
動き/視差補償部213は、上記差分ベクトルと参照画像情報(参照視点番号、参照フレーム番号)を、画面間符号化情報として予測方式制御部209に出力する。なお、ブロックマッチングで検出された入力画像ブロックと最も類似する領域と、上記予測ベクトルが指し示す領域は、少なくとも参照視点画像番号と参照フレーム番号が一致するようにしておく必要がある。
【0077】
続いて、本発明の特徴である画像間特性差補償の方法について、図3と図4を用いて説明する。図3は、動き/視差補償部213内部の構成例を示すブロック図である。
動き/視差補償部213は、対応ブロック抽出部301、補正係数算出部302、及び補正処理部303を含んで構成される。
【0078】
動き/視差ベクトル検出部214より入力された動き/視差ベクトル、参照視点番号及び参照フレーム番号は、対応ブロック抽出部301に入力される。対応ブロック抽出部301は、入力された動き/視差ベクトル、参照視点番号、及び参照フレーム番号に基づいて、フレームメモリ212より該当する画像ブロック(参照画像ブロック)を抽出する。
【0079】
同時に、対応ブロック抽出部301は、入力された参照ベクトルが視差ベクトルである場合には、既に符号化が完了してフレームメモリ212に格納されている、符号化対象ブロックの周辺ブロック(以下、符号化対象ブロック周辺画像ブロックと呼ぶ)の画像信号と、それに位置的に対応する参照画像ブロック周辺の周辺ブロック(以下、参照ブロック周辺画像ブロックと呼ぶ)の画像信号を抽出する。このように、対応ブロック抽出部301は、符号化対象ブロックを符号化する際に参照する参照ブロックを抽出する。なお、本発明の特徴の一つである対応ブロック抽出部では、例示した対応ブロック抽出部301のように動きベクトルの抽出も行ってもよいが、少なくとも視差ベクトルの抽出を少なくとも行うものとする。
【0080】
図4は、対応ブロック抽出部301が抽出するブロック位置を概念的に説明するための図である。図4において、符号化対象画像401は符号化対象の視点画像を示し、参照画像402は符号化対象画像401で参照する画像を示している。このとき、参照画像402は、既に画像全体が符号化・復号されてフレームメモリ212に格納されている画像であり、符号化対象画像401とは異なる視点の視点画像である。符号化対象画像401については、符号化対象ブロック位置の直前のブロックまで符号化・復号が完了している。
【0081】
いま、符号化処理を行っているブロックが符号化対象ブロック403であり、そこから延びるベクトル407は、動き/視差ベクトル検出部214より入力された視差ベクトルである。この視差ベクトルと参照画像番号及び参照フレーム番号によって、参照画像の特定のブロック(参照ブロック405)が特定される。
【0082】
前述の符号化対象ブロック周辺画像ブロック404とは、符号化対象ブロック403の上のブロック(隣接ブロックA)、右上のブロック(隣接ブロックB)、及び左のブロック(隣接ブロックC)である。また、前述の参照ブロック周辺画像ブロック406とは、参照ブロック405の上のブロック(隣接ブロックA′)、右上のブロック(隣接ブロックB′)、及び左のブロック(隣接ブロックC′)である。このように、符号化対象ブロック403から見たその符号化対象ブロック403の周辺のブロック404の相対位置は、対応ブロック抽出部301でその符号化対象ブロック403の参照元として抽出された参照ブロック405から見た、その参照ブロック405の周辺のブロック406の相対位置と対応している。
【0083】
そしてこの対応関係は、対応ブロック抽出部301で参照ブロック405を抽出することから分かるように、符号化対象ブロック403での視差ベクトルに基づき各隣接ブロックAとA′、BとB′、CとC′のそれぞれの関係において一律であってよい。若しくは、上述の対応関係は、符号化対象ブロック403及びその隣接ブロックA,B,Cでの視差ベクトルに基づき、例えば隣接ブロックAの符号化対象ブロック403に対する相対位置と隣接ブロックA′の参照ブロック405に対する相対位置との対応関係と、隣接ブロックBの符号化対象ブロック403に対する相対位置と隣接ブロックB′の参照ブロック405に対する相対位置との対応関係とが異なっていてもよい。
【0084】
なお、周辺の画像ブロックの位置についてはこれに限定するものではなく、符号化対象ブロックより前に符号化・復号されたブロックであれば利用について問題はなく、そのブロックの数も特段限定するものではない。また、図4では、精確な特性差補正のための好ましい例として、符号化対象ブロック403から見た隣接ブロックA,B,Cそれぞれの相対位置と、参照ブロック405から見た隣接ブロックA′,B′,C′それぞれの相対位置とが対応している例を挙げたが、このような対応関係がないように参照ブロックの隣接ブロックの位置を決めておくこともできる。
【0085】
図3に戻り、対応ブロック抽出部301は、動き/視差ベクトル検出部214より入力された参照ベクトルが視差ベクトルの場合、符号化対象ブロック403の周辺ブロック(符号化対象ブロック周辺画像ブロック)404の画像信号と参照ブロック405の周辺ブロック(参照ブロック周辺画像ブロック)406の画像信号を抽出して、補正係数算出部302に出力する。
【0086】
補正係数算出部302は、対応ブロック抽出部301より符号化対象ブロック周辺画像ブロックの画像信号及び参照ブロック周辺画像ブロックの画像信号を受取り、双方の周辺ブロックの類似性を判定する(詳細は後述する)。補正係数算出部302は、符号化対象ブロック周辺画像ブロックと参照ブロック周辺画像ブロックの類似性が高いと判定した場合は、画像間特性差補償のための補正係数を算出して、補正処理部303にその補正係数を出力する。補正係数算出部302は、類似性が低いと判定した場合には、補正を行わないような補正係数を算出して(或いは、処理を無視するためのフラグを)補正処理部303に出力する。
【0087】
[類似性の判定方法]
類似性の判定については、当該分割された複数の隣接ブロックとの間の指標値を算出し、得られた指標値に基づいて判定を行う。指標値には、前述のブロックマッチングと同様に、式(3)に示すような輝度値の差の絶対値総和を導入することができる。
【0088】
【数3】
【0089】
ここで、Itarget、Irefはそれぞれ、符号化対象画像の輝度値と参照画像の輝度値であることを示している。また、block={A,B,C}は、図4に示す隣接ブロックA,B,Cのブロック位置を示している。また、このブロック位置において、右辺にある符号化対象画像と参照画像の隣接ブロックA,B,Cにおける左上端の座標を(iblock,jblock)で表す。ここで、参照画像の隣接ブロックの位置については、A=A′、B=B′、C=C′と置き換えて位置を特定するものとする。
【0090】
上記指標値を、符号化対象ブロックの隣接ブロックとそれに対応する参照画像の隣接ブロックにおいてそれぞれ算出し、類似性判定を実行する。その際の閾値としては、例えば値「20」を用いることができる。この閾値よりも式(3)で示した指標値が小さい場合に個々のブロックの類似性が高いと判定する。上記類似性をA,B,Cの各ブロックで算出し、全てのブロックにおいて類似性が高いと判定したら、後述の補正係数の算出及び補正処理を実施する。同時に、ここで用いた上記閾値を画像復号装置に伝送し(画像全体で固定の閾値を用いる場合、処理の最初で一度閾値を伝送するだけでよい)、復号時に同じ類似性の判定結果を得る必要がある。
【0091】
閾値については、画像全体において共通にしてもよいし、画像の符号化効率を鑑みて適応的に切り替える方法を採用してもよい。適応的に切り替える方法では、その情報を全て画像復号装置に伝送する必要がある。また、上述の例では、A,B,C全てのブロックにおいて類似性が高いと判定した場合に補正処理を行うようにしているが、特に限定するものではない。例えば、そのうち任意の1又は2つのブロックにおいて(若しくは予め決めた位置の1又は2のブロックにおいて)類似性が高い場合に補正処理を行い、判定対象のブロック数(若しくは判定対象のブロックの位置)を示す情報を閾値と共に画像復号装置に伝送するようにしてもよい。また、類似性を判定する指標として輝度値の差の絶対値総和を用いたが、対応するブロックの類似性を判定できる指標であれば、どのような方式でも問題ない。
【0092】
[補正係数算出]
上記、類似性の判定において補正処理を行うと判定した場合は、前述の従来技術で採用されている式(1)を用いた補正を実行してもよいが、本実施形態では、まず補正係数算出部302が式(4)のような補正係数の算出を行う。式(4)では、補正係数として、輝度値の平均値のオフセット(offsetY)と色差成分の平均値のオフセット(offsetU,offsetV)を導入している。上述の式(3)で用いた輝度Iと式(4)で用いたYは同じものである。
【0093】
【数4】
【0094】
補正係数算出部302は、類似性の判定において補正処理を行わないと判定した場合には、offsetY=0、offsetU=0、offsetV=0とする。補正係数算出部302は、このようにして算出したオフセット値を補正処理部303に出力する。
【0095】
[補正処理]
補正処理部303は、対応ブロック抽出部301より参照画像ブロック信号を入力し、補正係数算出部302より入力した補正係数に基づいて補正処理を実施する。なお、補正処理部303は、補正係数算出部302より入力した補正係数が、補正を行わないような係数(或いは、処理を無視するためのフラグ)の場合、補正処理を行わずに、対応ブロック抽出部301より入力された参照ブロック信号をそのまま出力する。補正処理については、以下の式(5)で示すように行う。式(5)において、Y(x,y)、U(x,y)、V(x,y)は、対応ブロック抽出部301より入力された参照画像ブロックの画素値である。
【0096】
【数5】
【0097】
最後に、動き/視差補償部213は、補正処理部303の出力である画像ブロック信号を画面間予測画像ブロック信号として予測方式制御部209及び画像選択部210に出力するのと同時に、動き/視差ベクトル検出部214より入力される参照ベクトルより算出した前述の差分ベクトルと参照画像情報(参照視点画像番号、参照フレーム番号)も合わせて予測方式制御部209に出力する。
【0098】
画像符号化装置100は、このように少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に、各視点画像間の特性差(つまり異なる視点間での撮影画像の特性差)を補正して視差補償を行う。図2の例では、動き/視差補償部213がこの視差補償の処理を行っている。視差補償自体は、異なる視点画像の視点間の冗長性を考慮した処理である。そして、動き/視差補償部213の補正処理部303が、符号化対象ブロックの周辺のブロックと視差ベクトルが指し示す参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間(視点間の画像)の特性差を補正する。このような補正(画像間特性差補償)により、撮影したカメラの個体差や校正差やレンズへの被写体表面の反射光の入射の違いなどによって生じる視差画像間の特性差が精度良く補正され、補正された状態で視差補償を行うことになるため、高効率の視差補償が実施できる。さらに特性差の補正処理は、既に符号化・復号が完了したブロックの信号を用いるだけであるため、復号側に視差補償予測に必要な情報以外の追加情報を伝送する必要もなく、伝送負荷を軽減させることができる。
【0099】
[補正係数算出方法の別の例]
補正係数算出方法の別の例としては、画像に対応した奥行き情報を利用して、符号化対象ブロックと異なる被写体が写っていると想定されるブロックを補正係数算出から除外する方法がある。本例では、補正処理部303は、符号化対象ブロックに写る被写体とは異なる被写体が写る周辺のブロックを除外して補正を実行することになる。本例を用いることで、補正係数算出にとって雑音となるブロックを除外でき、補正係数の精度をさらに向上させることができる。つまり、上述のような画像間特性差補償処理において、同時に符号化対象ブロックと周辺ブロックに写る被写体の相違を判定し、画像間特性差補償処理を制御することで、視差補償予測精度をさらに向上させ、符号化効率を高めることができる。
【0100】
奥行き情報とは、画像に映っている被写体までの距離を示す画像情報である。用いる奥行き情報は、符号化対象ブロック及びその周辺ブロック、並びに参照ブロック及びその周辺ブロックについての奥行き情報となる。
【0101】
奥行き情報に関し、上述したMPEG−3DVで扱われる奥行き画像を本例に利用することができる。画像符号化装置100の外部より符号化対象画像に対応した奥行き画像を入力し、上記符号化対象ブロックと符号化対象ブロック周辺画像ブロック位置に対応する奥行き値の代表値を算出する。算出した奥行き値に基づいて、符号化対象ブロックの奥行き代表値と各位置における周辺ブロックの奥行き値の代表値と比べて、その差が所定の値より大きい場合に、補正係数算出処理から除外する。具体的には、以下の式(6)を用いて処理を行う。
【0102】
【数6】
【0103】
ここで、FLG(・)とは、所定のブロック位置において補正係数算出処理から除外をするか否かを決めるフラグであり、以下のように与えられる。
【0104】
【数7】
【0105】
ここで、各記号について説明する。BKは、上記隣接する周辺ブロックの位置を示す。Dcurは符号化対象ブロックの奥行き値の代表値で、D(BK)は符号化対象ブロック周辺ブロックBKにおける奥行き値の代表値である。また、THDは判定の閾値(上記所定の値)である。
【0106】
分割されたブロック毎の奥行き値の代表値は、例えば以下の方法で算出することができる。具体的には、ブロック内の奥行き値の頻度分布(ヒストグラム)を作成し、最も出現頻度の高い奥行き値を抽出して代表値として決定する。
【0107】
図5に、代表奥行き値の決定処理の概念図を示す。図5(A)で例示する視点画像501に対応する奥行き画像として図5(B)で例示する奥行き画像502が与えられているとする。奥行き画像は、輝度のみのモノクロ画像として表される。輝度が高い(=奥行き値が大きい)領域ほどカメラからの距離が近いことを意味し、輝度が低い(=奥行き値が小さい)領域ほどカメラからの距離が遠いことを意味する。奥行き画像502の中の分割されたブロック503において、奥行き値が図5(C)で例示する頻度分布504のような頻度分布をとる場合、最も出現頻度の高い奥行き値505を、ブロック503の代表奥行き値として決定する。
【0108】
なお、奥行き値の代表値を決定する際には、前述のようなヒストグラムに基づく方法の他に、以下の方法に従って決定してもよい。例えば、(a)ブロック内奥行き値の中間値、(b)ブロック内奥行き値の出現頻度を考慮した平均値、(c)ブロック内奥行き値のうちカメラからの距離が最も近い値(ブロック内奥行き値の最大値)、(d)ブロック内奥行き値のうちカメラからの距離が最も遠い値(ブロック内奥行き値の最小値)、或いは(e)ブロック内奥行き値のうちブロックの中心位置の奥行き値、のいずれかを抽出して代表値として決定してもよい。どの方法を選択するかの基準は、例えば、一番効率の良いものを、符号化及び復号で共通の方式に固定する方法、それぞれの方法に基づいて得られた奥行き代表値を用いて視差予測をした際にもっとも予測誤差の小さい方法を適応的に選択するという方法がある。後者の場合、選択した方法を上記符号化ストリームに付加し、画像復号装置に与える必要がある。また、後者の場合の選択肢として、上述した最も出現頻度の高い奥行き値505や(a)〜(e)の全てを用意しておく必要はなく、このうち少なくとも2つの中から選択すればよい。
【0109】
また、奥行き画像を分割する際のブロックサイズは、画像の分割ブロックサイズに合わせればよい。そのサイズは、16×16サイズに限らず、8×8、4×4などのサイズでもよい。また、縦横の画素数が同数でなくともよく、例えば16×8、8×16、8×4、4×8などのサイズでもよい。これらのサイズは、画像符号化部101が採用する符号化対象ブロックのブロックサイズに合わせる方法がある。或いは奥行き画像や対応する視点画像に含まれる被写体の大きさや、要求される圧縮率などに応じて最適なサイズを選択する方法なども可能である。
【0110】
なお、奥行き情報として、奥行き画像を分割したブロックの代表値に基づく情報を採用した例を挙げているが、これに限ったものではなく、例えば精度を少し落とすことを容認すればスライス毎に用意された奥行き情報を用いることもできる。また、被写体の判定に、各視点画像(符号化対象画像)に対応する奥行き情報を用いた例を挙げたが、色判定やエッジ検出などを施してその情報を用いるなど、他の情報を用いることもできる。その他の例としては、複数の異なる視点画像から視差量を求めて、領域毎の視差量の違いを用いて判定することもできる。そもそも奥行き情報は視差から算出できる情報であるため、この判定方法は奥行き情報を用いることとほぼ等価であるが、奥行き情報を別途用いなくて済むといった利点はある。また、例示したようにブロック毎に奥行き情報(や他の情報)を1つだけ用意して(若しくは1つだけ取得するようにして)処理を実行することで、符号化対象ブロックの1つの周辺ブロックに複数の被写体が写っているように判定されることがないため、すなわち周辺ブロックに符号化対象ブロックに写った被写体と同じ被写体と異なる被写体との双方が含まれるように判定されることがないため、異なる被写体が写る周辺のブロックだけ除外することができる。
【0111】
また、符号化対象ブロックと周辺ブロックに写る被写体の相違を判定し、画像間特性差補償処理を制御する他の例として、補正処理部303は、符号化対象ブロックに写る被写体と同じ被写体が写る可能性が最も高い周辺のブロックを一つ選んで、補正を実行するようにしてもよい。ここでも被写体の判定には、各視点画像に対応する奥行き情報を用いた例を挙げるが、他の情報を用いることもできし、奥行き情報として、奥行き画像を分割したブロックの代表値に基づく情報を採用した例を挙げるが、これに限ったものではない。
【0112】
上記他の例として、奥行き情報を用いた補正係数算出処理(式(6))の別の方法を説明する。この方法では、符号化対象ブロックの奥行き値の代表値に一番近い奥行き値の代表値を持つ隣接の周辺ブロックを用いる。その方法を以下の式(8)に示している。
【0113】
【数8】
【0114】
ここで、select(・)関数は、以下の式(9)に示す符号化対象ブロックの奥行き値の代表値に一番近い奥行き値を持つ隣接ブロック位置に基づいて、対応する引数の値を出力するものである。例えば、隣接ブロックAが一番近い場合には1番目の引数、隣接ブロックBが一番近い場合には2番目の引数、隣接ブロックCが一番近い場合には3番目の引数として入力した値を出力する。
【0115】
【数9】
【0116】
<画像符号化装置100のフローチャート>
次に、本実施形態に係る画像符号化装置100が行う画像符号化処理について説明する。図6は、画像符号化装置100が行う画像符号化処理を示すフローチャートである。図1も参照しながら説明する。
【0117】
まずステップS101において、画像符号化装置100は、外部から視点画像(基準視点、非基準視点)を入力する。その後、ステップS102に進む。
【0118】
ステップS102において、画像符号化部101は、外部より入力される視点画像の符号化を行う。画像符号化部101は、符号構成部104に符号化データを出力する。その後、ステップS103に進む。
【0119】
ステップS103において、画像符号化装置100は、外部からの視点画像の入力が終了していればステップS104に進む。画像符号化装置100は、外部からの視点画像の入力が終了していなければ、ステップS101に戻って処理を繰り返す。
【0120】
ステップS104において、符号構成部104は、画像符号化部101より複数視点の画像の符号化データを入力し、符号化データの連結・並べ替えを行い、符号化ストリームとして画像符号化装置100の外部へ出力する。
【0121】
上記ステップS102で実施される視点画像の符号化について、図7及び図2を用いてより詳しく説明する。
ステップS201において、画像符号化部101は、外部から視点画像を入力する。その後、ステップS202に進む。
【0122】
ステップS202において、画像入力部201は、画像符号化部101の外部から入力された視点画像である入力画像信号を予め定めた大きさ(例えば、垂直方向16画素×水平方向16画素)のブロックに分割して、減算部202と画面内予測部217及び画面間予測部218に出力する。
【0123】
画像符号化部101は、ステップS202〜ステップS210の処理をフレーム内の画像ブロック毎に繰り返す。次に、ステップS203とステップS204に進む。
【0124】
ステップS203において、画面内予測部217は、画像入力部201から視点画像の画像ブロック信号を入力すると共に加算部208から復号(内部デコード)された参照画像ブロック信号を入力し、画面内予測を実施する。画面内予測部217は、生成した画面内予測画像ブロック信号を予測方式制御部209と画像選択部210に、画面内予測符号化情報を予測方式制御部209に出力する。なお、最初の処理において、加算部208の処理が完了していない場合には、リセットされた画像ブロック(全ての画素値が0の画像ブロック)を入力するものとする。画面内予測部の処理が完了すると、ステップS205に進む。
【0125】
ステップS204において、画面間予測部218は、画像入力部201から視点画像の画像ブロック信号を入力すると共に加算部208から復号(内部デコード)された参照画像ブロック信号を入力し、画面間予測を実施する。画面間予測部218は、生成した画面間予測画像ブロック信号を予測方式制御部209と画像選択部210に、画面間予測符号化情報を予測方式制御部209に出力する。なお、最初の処理において、加算部208の処理が完了していない場合には、リセットされた画像ブロック(全ての画素値が0の画像ブロック信号)を入力するものとする。画面間予測部218の処理が完了すると、ステップS205に進む。
【0126】
ステップS205において、予測方式制御部209は、画面内予測部217より画面内予測画像ブロック信号と画面内予測符号化情報を受取り、並びに画面間予測部218より画面間予測画像ブロック信号と画面間予測符号化情報を受取り、前述のラグランジュコストに基づいて、符号化効率の良い予測モードを選択する。予測方式制御部209は、選択した予測モードの情報を画像選択部210に出力する。予測方式制御部209は、選択した予測モードに対応する予測符号化情報に、さらに選択した予測モードを識別するための情報を付加して、エントロピー符号化部205に出力する。
【0127】
画像選択部210は、予測方式制御部209から入力される予測モード情報に従って、画面内予測部217から入力される画面内予測画像ブロック信号、或いは画面間予測部218から入力される画面間予測画像ブロック信号を選択して、減算部202と加算部208に出力する。その後、ステップS206に進む。
【0128】
ステップS206において、減算部202は、画像入力部201から入力される画像ブロック信号から画像選択部210から入力される予測画像ブロック信号を減算し、差分画像ブロック信号を生成する。減算部202は、差分画像ブロック信号を直交変換部203に出力する。その後、ステップS207に進む。
【0129】
ステップS207において、直交変換部203は、減算部202から差分画像ブロック信号を入力し、上述の直交変換を実施する。直交変換部203は、直交変換後の信号を量子化部204に出力する。量子化部204は、直交変換部203から入力された信号を、上述の量子化処理を実施し、差分画像符号を生成する。量子化部204は、差分画像符号及び量子化係数を、エントロピー符号化部205と逆量子化部206に出力する。
【0130】
エントロピー符号化部205は、量子化部204から入力される差分画像符号と量子化係数及び予測方式制御部209から入力される予測符号化情報をパッキング(packing;詰込)し、可変長符号化(エントロピー符号化)を行い、情報量がより圧縮された符号化データを生成する。エントロピー符号化部205は、符号化データを外部の符号構成部104に出力する。その後、ステップS208に進む。
【0131】
ステップS208において、逆量子化部206は、量子化部204から差分画像符号及び量子化係数を入力し、量子化部204で実施した量子化の逆の処理を行う。逆量子化部206は、生成された信号を逆直交変換部207に出力する。逆直交変換部207は、逆量子化部206から逆量子化された信号を入力し、直交変換部203で実施した直交変換処理の逆直交変換処理を実施し、差分画像(復号差分画像ブロック信号)を復号する。逆直交変換部207は、復号された差分画像ブロック信号を加算部208に出力する。その後、ステップS209に進む。
【0132】
ステップS209において、加算部208は、逆直交変換部207から入力される復号された差分画像ブロック信号に、画像選択部210から入力される予測画像ブロック信号を加算して、入力画像を復号する(参照画像ブロック信号)。加算部208は、参照画像ブロック信号を、画面内予測部217と画面間予測部218に出力する。その後、ステップS210に進む。
【0133】
ステップS210において、画像符号化部101が、フレーム内の全ブロック及び全視点画像についてステップS202〜S210の処理が完了していない場合、処理対象となるブロックを変更してステップS202に戻る。
全ての処理が完了している場合、終了する。
【0134】
上述のステップS203で実施される画面内予測の処理フローは、従来方式であるH.264或いはMVCの画面内予測の処理ステップと同じでよい。
【0135】
上述のステップS204で実施される画面間予測の処理フローについては、図8及び図2を用いて説明する。
まずステップS301において、デブロッキング・フィルタ部211は、画面間予測部218の外部にある加算部208から参照画像ブロック信号を入力し、前述のFIRフィルタ処理を実施する。デブロッキング・フィルタ部211は、フィルタ処理後の補正ブロック信号をフレームメモリ212に出力する。その後、ステップS302に進む。
【0136】
ステップS302において、フレームメモリ212は、デブロッキング・フィルタ部211の補正ブロック信号を入力し、視点番号とフレーム番号を同定できる情報と共に画像の一部として補正ブロック信号を保持しておく。その後、ステップS303に進む。
【0137】
ステップS303において、動き/視差ベクトル検出部214は、画像入力部201から画像ブロック信号を受取ると、該画像ブロックに類似するブロックを、フレームメモリ212に蓄積された参照画像群より探し出し(ブロックマッチング)、探し出したブロックを表すベクトル情報(動きベクトル/視差ベクトル)を生成する。動き/視差ベクトル検出部214は、検出したベクトル情報を含めた符号化のために必要な情報(参照視点画像番号、参照フレーム番号)を動き/視差補償部213に出力する。その後、ステップS304に進む。
【0138】
ステップS304において、動き/視差補償部213は、動き/視差ベクトル検出部214から符号化のために必要な情報を入力し、該当する予測ブロックをフレームメモリ212より抽出する。
【0139】
同時に、動き/視差補償部213は、動き/視差ベクトル検出部214から入力した参照視点画像番号が符号化対象画像と異なる場合には、既に符号化が完了した周辺の複数の画像ブロック信号と、上記視差ベクトルが指し示す参照画像内の対応する周辺の複数の画像ブロック信号を、フレームメモリ212より抽出する。動き/視差補償部213は、入力した周辺画像ブロック信号同士の相関が高い場合には、上記画像間特性差補償処理を実施する。動き/視差補償部213は、最終的に生成した予測画像ブロック信号を画面間予測画像ブロック信号として予測方式制御部209と画像選択部210に出力する。
【0140】
動き/視差補償部213は、動き/視差ベクトル検出部214から入力した参照ベクトルが動きベクトルである場合には、画像間特性差補償処理を行わずに、参照画像ブロック信号をそのまま画面間予測画像ブロック信号として予測方式制御部209と画像選択部210に出力する。
【0141】
同時に、動き/視差補償部213は、符号化対象ブロックの隣接ブロックのベクトル情報に基づいて生成した予測ベクトルと動き/視差ベクトル検出部214より入力した動き/視差ベクトルとの差分ベクトルを算出する。動き/視差補償部213は、算出した差分ベクトル及び予測に必要な情報(参照視点画像番号及び参照フレーム番号)を予測方式制御部209に出力する。その後、画面間予測を終了する。
【0142】
このように、本実施形態によれば、画像符号化装置100は、視差補償予測方式において、符号化対象ブロックの視差ベクトルが指し示す先の参照ブロックの少なくとも一つ以上の周辺ブロックと、それに対応する符号化対象ブロックの周辺ブロックの間の画像間特性差を用いて参照ブロックの信号を補正して視差補償予測を行うことで、つまり画像間の特性の違いを低減させる輝度補償及び/又は色補償を用いて視差補償予測を行うことで、暗黙的な追加情報(画像間特性差補償のための追加情報)を必要とせず、無論復号側に伝送する必要もなく、視差補償予測時に画像間特性差補償処理を行うことができる。そして、異なる被写体が符号化対象ブロック及びその周辺に写っている場合であっても、上記画像間特性差補償処理に必要な情報を精度良く推定することを可能にした符号化方法を提供しているため、符号化効率を飛躍的に向上させることができる。
【0143】
(実施形態2)
<画像復号装置の構成>
図9は、本発明の一実施形態である画像復号装置の構成例を示すブロック図である。
図9で例示する画像復号装置700は、符号分離部701、画像復号部702を含んで構成される。なお、画像復号部702の内部に記載した点線で示したブロック及び矢印は、画像復号部702の動作を概念的に説明するために利用する。
【0144】
以下、画像復号装置700の機能及び動作について説明する。
画像復号装置700は、伝送された符号化ストリームを入力すると、符号分離部701に渡す。符号分離部701は、符号化ストリームを受取ると、基準視点画像符号化データ、非基準視点画像符号化データを分離する。符号分離部701は、分離した基準視点画像符号化データと非基準視点画像符号化データを画像復号部702に出力する。画像復号部702の内部については、概念的な処理の内容について説明する。基準視点復号処理部703は、視点内予測符号化に従う方式により圧縮符号化された符号化データを復号し、基準視点の視点画像を復元する。復元した視点画像は、そのまま表示(或いは出力)に使用されると共に、後述する非基準視点の視点画像の復号にも使用される。非基準視点復号処理部704は、視点間予測符号化に従う方式により圧縮符号化された符号化データを、復元された上記基準視点画像に基づいて復号し、非基準視点の視点画像を復元する。最終的に、基準視点画像、非基準視点画像は、そのまま表示用画像(或いは出力用画像)として使用される。
【0145】
続いて、画像復号部702の詳細について、図10を用いて説明する。図10は、画像復号部702の構成例を示すブロック図である。
【0146】
画像復号部702は、符号化データ入力部813、エントロピー復号部801、逆量子化部802、逆直交変換部803、加算部804、予測方式制御部805、画像選択部806、デブロッキング・フィルタ部807、フレームメモリ808、動き/視差補償部809、イントラ予測部810、及び画像出力部812を含んで構成される。なお、説明のために、画面内予測部816と画面間予測部815を点線で図示し、画面内予測部816はイントラ予測部810を含み、画面間予測部815はデブロッキング・フィルタ部807、フレームメモリ808、及び動き/視差補償部809を含むものとする。
【0147】
図9において画像復号部702の動作を説明した際には、基準視点の復号処理とそれ以外の非基準視点の復号処理を明示的に分けて、基準視点復号処理部703と非基準視点復号処理部704としたが、実際にはお互いに共通する処理が多いため、以下では基準視点復号処理と非基準視点復号処理を統合した形態について説明を行う。
【0148】
具体的には、前述の基準視点復号処理部703として行う視点内予測復号方式は、図10の画面内予測部816で実施される処理と画面間予測部815で実施される処理の一部である同一視点の画像を参照する処理(動き補償)を組み合わせたものである。また、非基準視点復号処理部704として行う視点間予測復号方式は、画面内予測部816で実施される処理と画面間予測部815で実施される同一視点の画像を参照する処理(動き補償)及び異なる視点の画像を参照する処理(視差補償)を組み合わせたものである。さらに、画面間予測部815で実施される処理対象視点と同一視点の画像を参照する処理(動き補償)と異なる視点を参照する処理(視差補償)についても、復号時に参照する画像が異なるだけで、参照画像を指し示すID情報(参照視点番号、参照フレーム番号)を用いることで処理を共通化することが可能である。また、画像符号化データを復号した残差成分と各予測部815,816で予測した画像を加算して画像を復元処理する処理も、基準視点であっても非基準視点であっても共通に行える。詳細は後述する。
【0149】
符号化データ入力部813は、符号分離部701から入力された画像符号化データを、処理ブロック単位(例えば、16画素×16画素)に分割して、エントロピー復号部801に出力する。符号化データ入力部813は、ブロック位置を順次変えながら、フレーム内の全てのブロックが完了し、そして入力される符号化データが終了するまで繰り返して出力する。
【0150】
エントロピー復号部801は、符号化データ入力部813から入力された符号化データを、図2のエントロピー符号化部205が行った符号化方法(例えば、可変長符号化)と逆の処理(例えば、可変長復号)であるエントロピー復号して、差分画像符号と量子化係数及び予測符号化情報を抽出する。エントロピー復号部801は、差分画像符号と量子化係数を逆量子化部802に、予測符号化情報を予測方式制御部805に出力する。
【0151】
逆量子化部802は、エントロピー復号部801から入力された差分画像符号を、抽出した量子化係数を用いて逆量子化して復号周波数領域信号を生成し、逆直交変換部803に出力する。
【0152】
逆直交変換部803は、入力された復号周波数領域信号を、例えば逆DCT変換して空間領域信号である復号差分画像ブロック信号を生成する。逆直交変換部803は、復号周波数領域信号に基づき空間領域信号を生成することができれば、逆DCT変換に限らず、他の方法(例えば、IFFT(高速フーリエ逆変換;Inverse Fast Fourier Transform))を用いてもよい。逆直交変換部803は、生成した復号差分画像ブロック信号を加算部804に出力する。
【0153】
予測方式制御部805は、エントロピー復号部801から入力される予測符号化情報の中から、図1及び図2で示した画像符号化装置100で採用されたブロック単位の予測方式を取り出す。予測方式は、画面内予測、或いは画面間予測である。予測方式制御部805は、抽出した予測方式に関する情報を画像選択部806に出力する。また、予測方式制御部805は、エントロピー復号部801から入力される予測符号化情報の中から符号化情報を取り出し、抽出した予測方式に対応する処理部に符号化情報を出力する。予測方式制御部805は、予測方式が画面内予測である場合には、画面内予測部816に符号化情報を画面内予測符号化情報として出力する。予測方式制御部805は、予測方式が画面間予測である場合には、画面間予測部815に符号化情報を画面間予測符号化情報として出力する。
【0154】
画像選択部806は、予測方式制御部805から入力された予測方式に従って、画面内予測部816から入力される画面内予測画像ブロック信号、或いは画面間予測部815から入力される画面間予測画像ブロック信号を選択する。予測方式が、画面内予測の場合には、画面内予測画像ブロック信号を選択する。予測方式が、画面間予測の場合には、画面間予測画像ブロック信号を選択する。画像選択部806は、選択した予測画像ブロック信号を、加算部804に出力する。
【0155】
加算部804は、逆直交変換部803から入力した復号差分画像ブロック信号に画像選択部806から入力した予測画像ブロック信号を加算し、復号画像ブロック信号を生成する。加算部804は、復号した復号画像ブロック信号を、画面内予測部816と画面間予測部815、及び画像出力部812に出力する。
【0156】
画像出力部812は、加算部804から復号画像ブロック信号を入力し、図示しないフレームメモリに画像の一部として一旦保持する。画像出力部812は、表示順にフレームの並び替えを行った後、全ての視点画像が揃った時に、画像復号装置700の外部に出力する。
【0157】
続いて、画面内予測部816と画面間予測部815について説明する。
まず、画面内予測部816について説明する。
画面内予測部816内のイントラ予測部810は、加算部804より復号画像ブロック信号と予測方式制御部805より画面内予測符号化情報を入力する。イントラ予測部810は、画面内予測符号化情報に基づいて、符号化時に実施した画面内予測を再現する。なお、画面内予測は上述の従来方式に従って実施できる。イントラ予測部810は、生成した予測画像を画面内予測画像ブロック信号として、画像選択部806に出力する。
【0158】
続いて、画面間予測部815の詳細について説明する。
デブロッキング・フィルタ部807は、加算部804から入力される復号画像ブロック信号に対して、デブロッキング・フィルタ部211で行うFIRフィルタと同じ処理を行い、その処理結果(補正ブロック信号)をフレームメモリ808に出力する。
【0159】
フレームメモリ808は、デブロッキング・フィルタ部807から補正ブロック信号を入力し、視点番号とフレーム番号を同定できる情報と共に画像の一部として補正ブロック信号を保持しておく。フレームメモリ808は、図示していないメモリ管理部によって、入力画像のピクチャの種類、或いは画像の順番が管理され、その指示に従って画像を蓄えたり破棄たりする。画像管理については、従来方式のMVCの画像管理方法を利用することもできる。
【0160】
動き/視差補償部809は、予測方式制御部805より画面間予測符号化情報を入力し、その中から参照画像情報(参照視点画像番号と参照フレーム番号)と差分ベクトル(動き/視差ベクトルと予測ベクトルの差分ベクトル)を取り出す。動き/視差補償部809は、前述の動き/視差補償部213で実施した予測ベクトル生成方法と同じ方法によって、予測ベクトルを生成する。動き/視差補償部809は、算出した予測ベクトルに差分ベクトルを加算して、動き/視差ベクトルを再現する。動き/視差補償部809は、参照画像情報と動き/視差ベクトルに基づいて、フレームメモリ808に蓄積されている画像の中から対象の画像ブロック信号(予測画像ブロック信号)を抽出する。
【0161】
参照ベクトルが視差ベクトルの場合、動き/視差補償部809は同時に、復号対象ブロック周辺の画像ブロック信号(復号対象ブロック周辺画像ブロック信号)と予測画像ブロック周辺の画像信号ブロック信号(予測画像ブロック周辺画像ブロック信号)を抽出し、前述の符号化時に用いた類似性を判定する方法を用いて、符号化時と同じ条件で類似性の判定を行う。さらに、その判定結果に従い、符号化時と同じ画像間特性差補正処理を実施する。
【0162】
参照ベクトルが動きベクトルの場合、画像間特性差補償処理を行わずに、参照画像ブロック信号をそのまま出力する。
【0163】
動き/視差補償部809は、画像間特性差補正後の画像ブロック信号、或いは参照画像ブロック信号を画面間予測画像ブロック信号として画像選択部806に出力する。
【0164】
以上のように、画像復号装置700は、少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に、各視点画像間の特性差を補正して視差補償を行う。図10の例では、動き/視差補償部809が前述の動き/視差補償部213と同様にしてこの視差補償の処理を行っている。つまり、動き/視差補償部809は、復号対象ブロックを復号する際に参照する参照ブロックを抽出する対応ブロック抽出部と、復号対象ブロックの周辺のブロックと視差ベクトルが指し示す参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正する補正処理部と、を備える。
【0165】
上述したように、符号化時と同じ条件での類似性の判定や、その判定結果に従った符号化時と同じ画像間特性差補正処理を実施する。つまり、前述の動き/視差補償部213における他の応用例についても同様に動き/視差補償部809に適用できる。
【0166】
より具体的には、画像復号装置700において、復号対象ブロックから見たその復号対象ブロックの周辺のブロックの相対位置は、対応ブロック抽出部でその復号対象ブロックの参照元として抽出された参照ブロックから見た、その参照ブロックの周辺のブロックの相対位置と対応していることが好ましい。また、補正処理部は、復号対象ブロックに写る被写体とは異なる被写体が写る周辺のブロックを除外して補正を実行する、若しくは、復号対象ブロックに写る被写体と同じ被写体が写る可能性が最も高い周辺のブロックを一つ選んで補正を実行することが好ましい。さらに、被写体の判定に、各視点画像(復号対象画像)に対応する奥行き情報を用いることができる。用いる奥行き情報は、復号対象ブロック及びその周辺ブロック、並びに参照ブロック及びその周辺ブロックについての奥行き情報となる。また、奥行き情報は、奥行き画像を分割したブロックの代表値に基づく情報であることが好ましい。
【0167】
<画像復号装置のフローチャート>
次に、本実施形態に係る画像復号装置700が行う画像復号処理について説明する。図11は、画像復号装置700が行う画像復号処理を示すフローチャートである。図9も参照しながら説明する。
【0168】
ステップS501において、画像復号装置700は、外部(例えば、画像符号化装置100)から符号化ストリームを入力し、符号分離部701によって各視点の画像符号化データに分離・抽出する。その後、ステップS502に進む。
【0169】
ステップS502において、画像復号部702は、ステップS501で分離・抽出された、視点画像の画像符号化データを復号し、結果を画像復号部702の外部に出力する。その後、ステップS503に進む。
【0170】
ステップS503において、画像復号装置700は、全ての視点画像の処理が終了していると判定した場合には、視点画像の時間軸方向の並べ替えと視点方向の順番を整えたうえで、結果を画像復号装置700の外部に出力する。画像復号装置700は、全ての視点と時間の画像の処理が終了していないと判定した場合は、ステップS502に戻って処理を続ける。
【0171】
続いて、ステップS502で実施される視点画像の復号について、図12及び図10を用いて説明する。
ステップS601において、画像復号部702は、外部から画像符号化データを入力する。その後、ステップS602に進む。
ステップS602において、符号化データ入力部813は、画像復号部702の外部から入力された符号化データを予め定めた大きさ(例えば、垂直方向16画素×水平方向16画素)に対応する処理ブロックに分割して、エントロピー復号部801に出力する。画像復号部702は、ステップS602〜ステップS608の処理をフレーム内の画像ブロック毎に繰り返す。
【0172】
ステップS603において、エントロピー復号部801は、符号化データ入力部813から入力された画像符号化データをエントロピー復号し、差分画像符号と量子化係数、及び予測符号化情報を生成する。エントロピー復号部801は、差分画像符号と量子化係数を、逆量子化部802に出力し、予測符号化情報を予測方式制御部805に出力する。予測方式制御部805は、エントロピー復号部801から予測符号化情報を入力し、予測方式に関する情報とその予測方式に対応する符号化情報を取り出す。予測方式が、画面内予測の場合には、符号化情報を画面内予測符号化情報として画面内予測部816に出力する。予測方式が、画面間予測の場合には、符号化情報を画面間予測符号化情報として画面間予測部815に出力する。その後、ステップS604とステップS605に進む。
【0173】
ステップS604において、画面内予測部816内のイントラ予測部810は、予測方式制御部805から入力される画面内予測符号化情報と加算部804から入力される復号画像ブロック信号を入力して、画面内予測処理を実施する。イントラ予測部810は、生成された画面内予測画像ブロック信号を画像選択部806に出力する。なお、最初の処理において、加算部804の処理が完了していない場合には、リセットされた画像ブロック信号(全ての画素値が0の画像ブロック信号)を入力するものとする。その後、ステップS606に進む。
【0174】
ステップS605において、画面間予測部815は、予測方式制御部805から入力される画面間予測符号化情報と加算部804から入力される復号画像ブロック信号に基づいて、画面間予測を実施する。画面間予測部815は、生成された画面間予測画像ブロック信号を画像選択部806に出力する。画面間予測の処理については後述する。なお、最初の処理において、加算部804の処理が完了していない場合には、リセットされた画像ブロック信号(全ての画素値が0の画像ブロック信号)を入力するものとする。その後、ステップS606に進む。
【0175】
ステップS606において、画像選択部806は、予測方式制御部805から入力された予測方式に関する情報に基づいて、画面内予測部816から入力された画面内予測画像ブロック信号、若しくは画面間予測部815から入力された画面間予測画像信号を選択して、加算部804に出力する。その後、ステップS607に進む。
【0176】
ステップS607において、逆量子化部802は、エントロピー復号部801から入力した差分画像符号と量子化係数を用いて、図2の画像符号化部101の量子化部204で実施した量子化の逆の処理を行う。逆量子化部802は、生成された復号周波数領域信号を逆直交変換部803に出力する。逆直交変換部803は、逆量子化部802から逆量子化された復号周波数領域信号を入力し、図2の画像符号化部101の直交変換部203で実施した直交変換処理の逆直交変換処理を実施し、差分画像(復号差分画像ブロック信号)を復号する。逆直交変換部803は、復号された復号差分画像ブロック信号を加算部804に出力する。加算部804は、逆直交変換部803から入力される復号差分画像ブロック信号に画像選択部806から入力される予測画像ブロック信号を加算して、復号画像ブロック信号を生成する。加算部804は、復号した復号画像ブロック信号を画像出力部812と画面内予測部816及び画面間予測部815に出力する。その後、ステップS608に進む。
【0177】
ステップS608において、画像出力部812は、加算部804から入力される復号画像ブロック信号を、画像内の対応する位置に配置させ出力画像生成する。フレーム内の全ブロックについてステップS602〜ステップS608の処理が完了していない場合、処理対象となるブロックを変更してステップS602に戻る。
画像出力部812は、画像を表示順に並び替えを行い、同一フレームの視点画像を揃えて画像復号装置700の外部に出力する。
【0178】
画面間予測部815の処理フローについては、図13及び図10を用いて説明する。
ステップS701において、デブロッキング・フィルタ部807は、画面間予測部815の外部にある加算部804から復号画像ブロック信号を入力し、上記符号化時に行ったFIRフィルタ処理を実施する。デブロッキング・フィルタ部807は、フィルタ処理後の補正ブロック信号をフレームメモリ808に出力する。その後、ステップS702に進む。
【0179】
ステップS702において、フレームメモリ808は、デブロッキング・フィルタ部807の補正ブロック信号を入力し、視点番号とフレーム番号を同定できる情報と共に画像の一部として補正ブロック信号を保持しておく。その後、ステップS703に進む。
【0180】
ステップS703において、動き/視差補償部809は、予測方式制御部805から画面間予測符号化情報を入力し、その中から参照画像情報(参照視点画像番号と参照フレーム番号)と差分ベクトル(動き/視差ベクトルと予測ベクトルとの差分ベクトル)を取り出す。動き/視差補償部809は、前述の動き/視差補償部213で実施した予測ベクトル生成方法と同じ方法によって、予測ベクトルを生成する。動き/視差補償部809は、算出した予測ベクトルに差分ベクトルを加算して、動き/視差ベクトルを生成する。動き/視差補償部809は、参照画像情報と動き/視差ベクトルに基づいて、フレームメモリ808に蓄積されている画像の中から対象の画像ブロック信号(予測画像ブロック信号)を抽出する。同時に、動き/視差補償部809は、参照ベクトルが視差ベクトルの場合には、符号化対象ブロックと参照画像ブロックそれぞれの周辺画像ブロック信号を取り出し、前述の画像間特性差補償処理を実施し、結果を画面間予測画像ブロック信号として画像選択部806に出力する。
【0181】
動き/視差補償部809は、参照ベクトルが動きベクトルの場合には、前述の画像間特性差補償処理を行わずに、予測画像ブロック信号をそのまま画面間予測画像ブロック信号として画像選択部806に出力する。
その後、画面間予測処理を終了する。
【0182】
このように、本実施形態によれば、画像復号装置700は、明示的な画像間特性差補償のための追加情報を受信することなく、画像間特性差補償を実施した視差補償予測を行うことができる。つまり、本実施形態によれば、図1の画像符号化装置100のようにして符号化効率を高めて符号化されたデータを復号することができる。
【0183】
(実施形態3)
<ソフトウェア、方法>
上述した実施形態における画像符号化装置100、画像復号装置700の一部、例えば、符号構成部104と、画像符号化部101内の減算部202、直交変換部203、量子化部204、エントロピー符号化部205、逆量子化部206、逆直交変換部207、加算部208、予測方式制御部209、画像選択部210、デブロッキング・フィルタ部211、動き/視差補償部213、動き/視差ベクトル検出部214、及びイントラ予測部215と、符号分離部701と、画像復号部702内のエントロピー復号部801、逆量子化部802、逆直交変換部803、加算部804、予測方式制御部805、画像選択部806、デブロッキング・フィルタ部807、動き/視差補償部809、及びイントラ予測部810を、コンピュータで実現するようにしてもよい。
【0184】
その場合、この制御機能を実現するためのプログラム(画像符号化プログラム及び/又は画像復号プログラム)をコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、画像符号化装置100又は画像復号装置700に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるものであってもよい。また、このプログラムは、可搬の記録媒体やネットワークを介して流通させるに限らず、放送波を介して流通させることもできる。
【0185】
上記画像符号化プログラムは、少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に各視点画像間の特性差を補正して視差補償を行う画像符号化処理を、コンピュータに実行させるためのプログラムである。ここで、上記画像符号化処理は、符号化対象ブロックを符号化する際に参照する参照ブロックを抽出するステップと、符号化対象ブロックの周辺のブロックと参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正するステップと、を有するものとする。その他の応用例については、画像符号化装置について説明した通りである。
【0186】
また、上記画像復号プログラムは、少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に各視点画像間の特性差を補正して視差補償を行う画像復号処理を、コンピュータに実行させるためのプログラムである。ここで、上記画像復号処理は、復号対象ブロックを復号する際に参照する参照ブロックを抽出するステップと、復号対象ブロックの周辺のブロックと参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正するステップと、を有するものとする。その他の応用例については、画像復号装置について説明した通りである。この画像復号プログラムは、多視点画像の再生ソフトウェアの一部として実装することができる。
【0187】
また、上述した実施形態における画像符号化装置100及び画像復号装置700の一部、又は全部を、LSI(Large Scale Integration)等の集積回路又はIC(Integrated Circuit)チップセットとして実現してもよい。画像符号化装置100及び画像復号装置700の各機能ブロックは個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0188】
また、本発明は、画像符号化装置、画像復号装置における制御の流れを例示したように、さらには画像符号化プログラム、画像復号プログラムの各ステップの処理として説明したように、画像符号化方法、画像復号方法としての形態も採り得る。
【0189】
上記画像符号化方法は、少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に、各視点画像間の特性差を補正して視差補償を行う方法であって、符号化対象ブロックを符号化する際に参照する参照ブロックを抽出するステップと、符号化対象ブロックの周辺のブロックと参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正するステップと、を有するものとする。その他の応用例については、画像符号化装置について説明した通りである。
【0190】
また、上記画像復号方法は、少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に、各視点画像間の特性差を補正して視差補償を行う方法であって、復号対象ブロックを復号する際に参照する参照ブロックを抽出するステップと、復号対象ブロックの周辺のブロックと参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正するステップと、を有するものとする。その他の応用例については、画像復号装置について説明した通りである。
【符号の説明】
【0191】
100…画像符号化装置、101…画像符号化部、102…基準視点符号化処理部、103…非基準視点符号化処理部、104…符号構成部、201…画像入力部、202…減算部、203…直交変換部、204…量子化部、205…エントロピー符号化部、206…逆量子化部、207…逆直交変換部、208…加算部、209…予測方式制御部、210…画像選択部、211…デブロッキング・フィルタ部、212…フレームメモリ、213…動き/視差補償部、214…視差ベクトル検出部、215…イントラ予測部、217…画面内予測部、218…画面間予測部、301…対応ブロック抽出部、302…補正係数算出部、303…補正処理部、401…符号化対象画像、402…参照画像、403…符号化対象ブロック、404…符号化対象ブロック周辺画像ブロック、405…参照ブロック、406…参照ブロック周辺画像ブロック、407…視差ベクトル、700…画像復号装置、701…符号分離部、702…画像復号部、703…基準視点復号処理部、704…非基準視点復号処理部、801…エントロピー復号部、802…逆量子化部、803…逆直交変換部、804…加算部、805…予測方式制御部、806…画像選択部、807…デブロッキング・フィルタ部、808…フレームメモリ、809…動き/視差補償部、810…イントラ予測部、812…画像出力部、813…符号化データ入力部、815…画面間予測部、816…画面内予測部、901…被写体、902…カメラ、903…センサ、906…符号化器、907…復号器、908…表示部。
【技術分野】
【0001】
本発明は、複数の視点から撮影された画像に対して視差補償予測符号化を行う画像符号化装置、その符号化されたデータを視差補償予測復号により復号する画像復号装置、並びに、それらの方法及びプログラムに関する。
【背景技術】
【0002】
同一の被写体や背景を、複数のカメラで撮影した動画像(多視点動画像)を符号化するための方式として、MPEG(Moving Picture Experts Group)−4 AVC/H.264の拡張規格であるMVC(Multiview Video Coding)がある。この符号化方式では、従来の単一視点の動画像符号化方式(MPEG−2、MPEG−4、MPEG−4 AVC/H.264など)と同様に、動画像の時間方向の相関性を利用した動き補償フレーム間予測符号化と、拡張により導入された視点方向の相関性を利用した視差補償予測符号化とを駆使して、符号量の削減が図られている。
【0003】
視差補償予測符号化については、複数の個体差のあるカメラによる撮影のため、それぞれのカメラが十分に校正されていない場合、同一被写体を撮影しても動画像内の被写体の明るさや色味が異なり、視差補償のための予測精度が下がり、その結果として符号化効率が低下する問題が発生することがある。このような異なるカメラ間の画像の特性不一致は、カメラの校正不足による要因以外にも、被写体表面を反射した光の入り方がカメラ毎に異なる場合にも起こり得る。
【0004】
カメラ間の画像の特性の不一致が起こっても符号化効率を低下させないために、輝度補償IC(Illumination Compensation)とカラー補償CC(Color Compensation)を導入した視差補償予測符号化方式が提案されている(非特許文献1)。以下、輝度補償と色補償の両方式を組み合わせて、或いはいずれか一方のことを便宜上、画像間特性差補償と呼ぶこととする。
【0005】
非特許文献1では、符号化時に参照するブロック(参照ブロック)に対して、オフセットパラメータCICとスケールパラメータSICを用いて輝度補償を行っている。このとき輝度補償を施した参照ブロックは以下の式(1)のようになる。ここで、添え字Rは参照画像内のブロックであることを示し、μは参照ブロックの輝度平均、ωは平均値0の正規分布である。
【0006】
【数1】
【0007】
具体的な符号化方法は、以下の通りである。初めに符号化対象ブロックと最も相関の高い参照ブロックが、符号化対象画像とは異なる視点の参照画像内より抽出される。抽出された参照ブロックと符号化対象ブロックに基づいて、上記オフセットパラメータとスケールパラメータが導出される。続いて、参照ブロックの相対位置を示すベクトル(視差ベクトル)と参照画像を示すID(参照視点番号、参照フレーム番号)と上記パラメータ(オフセットパラメータとスケールパラメータ)、及び輝度補償後の参照ブロックと符号化対象ブロックとの残差成分が、符号化され伝送される。
【0008】
復号時には、参照画像を示すIDと視差ベクトルによって特定された参照ブロックに対して、式(1)を用いて輝度補償が施される。さらに、輝度補償後の画像に、残差成分が加算されて、元の画像が再現される。色補償についても輝度補償と同様な方法によって実現可能である。以下、色補償におけるオフセットパラメータをCCC、スケールパラメータをSCCとして説明する。
【0009】
しかしながら、上記画像間特性差補償を行うためには、視差補償で必要な情報以外の追加の情報(輝度補償や色補償のためのオフセットパラメータとスケールパラメータ)が必要となり、必ずしも符号化効率を高めることにならない場合がある。そこで、以下のようなシンタックスを導入して最適化する方法が提案されている。
【0010】
符号化のシンタックスとしては、スライス・レベルにおいて、現在のスライスで輝度補償、或いは色補償を有効にするか否かを示すフラグ(ic_flag,cc_flag)と、各マクロブロックにおける輝度補償、或いは色補償を有効にするか否かを示すフラグ(ic_enable,cc_enable)が導入される。これら導入されたフラグを用いて、符号化効率の向上が見込めない条件においては、上記画像間特性差補償の処理をキャンセルすることができる。
【0011】
以上、画像間特性差補償を実現するには、シンタックスを含めた補償のための情報(オフセットパラメータ、スケールパラメータ)を、通常の視差補償符号化に必要な情報(視差ベクトル、参照画像を示すID、残差成分)に加えて符号化する必要がある。
【0012】
さらに効率を高めるために、特許文献1,2では上記画像間特性差補償に用いられる情報の一部を明示的に伝送しなくてもよい方法が提案されている。特許文献1,2に記載の方法では、画像の特性差を低減する画像間特性差補償において、上記追加の情報(画像間特性差補償のためのシンタックス、及びパラメータ)を伝送するモード(モード1)と、追加の情報を明示的に伝送しないモード(モード2)を備え、適宜切り替えを行っている。追加情報を伝送するモードは、ここまで説明したように画像間特性差補償に必要な追加の情報を全て伝送し、その情報に基づいて補償処理を行うモードである(上記非特許文献1で説明した方法と基本処理は同じである)。明示的に画像間特性差補償の一部の情報を伝送しないモードでは、隣接ブロック(空間的、時間的、視点横断的)に用いられたオフセット量(、スケール量)を用いて処理対象ブロックのオフセット量(、スケール量)が算出される。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特表2010−507334号公報
【特許文献2】特表2010−507336号公報
【非特許文献】
【0014】
【非特許文献1】非特許文献1:“Block-based Illumination Compensation and Search Techniques for Multiview Video Coding”, Picture Coding Symposium(PCS) (2004)
【発明の概要】
【発明が解決しようとする課題】
【0015】
非特許文献1に記載の方法では、特許文献1で指摘されているように画像間特性差補償を実施するためのパラメータ(オフセットパラメータ、スケールパラメータ)とマクロブロック以下のシンタックス(ic_enable,cc_enable)を余計に符号化して伝送する必要があり、条件によっては符号化効率が低下するといった問題がある。
【0016】
一方、特許文献1,2に記載の方法では、符号化対象ブロック周辺において画像間特性差補償に利用できる情報が有効である場合(モード2)のみに、それらの情報を用いて符号化対象ブロックに対するパラメータを推測することが可能となる。その場合、非特許文献1の方法で必要な追加情報を送る必要がなくなるが、このような方式を用いても、符号化対象ブロック周辺に利用できる情報が存在しない場合(モード1)には、非特許文献1に記載の画像間特性差補償と同様な方式を用いる必要があり、符号化効率が低下するといった問題がある。例えば図14に示すように、符号化対象ブロックを視差補償予測モードにて符号化しようとしているときに、周辺ブロックの予測方式が視差補償予測とは異なる方式(図14の例では動き補償フレーム間予測符号化)で符号化処理されている場合である。
【0017】
さらに、特許文献1,2に記載の方法では、隣接ブロック及び符号化対象ブロック間で異なる被写体が重なる境界においても、周辺ブロックの情報が誤って利用されて画像間特性差補償の精度を低下させるといった問題がある。例えば図15の模式図に示すように、符号化対象ブロック及び隣接ブロックCに被写体OH(人物の頭)が写っているが、隣接ブロックA及び隣接ブロックBに被写体OB(背景)が写っているような場合に、隣接ブロックA及び隣接ブロックBで採用された画像間特性差補償による特性差を用いて符号化対象ブロックの画像間特性差補償予測を行ってしまう問題がある。この場合、誤った情報を用いて補償予測することになるため、符号化効率を悪くさせる可能性が高い。
【0018】
また、MPEGのアドホックグループであるMPEG−3DVにおいてカメラで撮影した映像と合わせて奥行き画像も伝送する新しい規格が策定されている。奥行き画像とはカメラから被写体までの距離を表した情報であり、生成方法としては、例えばカメラの近傍に設置された距離を測定する装置から取得する方法がある。また、複数視点のカメラから撮影された画像を解析することによって奥行き画像を生成することもできる。
【0019】
MPEG−3DVの新しい規格におけるシステムの全体図を図16に示す。この新しい規格は、2視点以上の複数視点に対応しているが、図16では2視点の場合で説明する。このシステムでは、被写体901をカメラ902、904で撮影し画像を出力すると共に、それぞれのカメラの近傍に設置されている被写体901までの距離を測定するセンサ903、905を用いて奥行き画像(デプスマップ)を生成し出力する。符号化器906は、入力として画像と奥行き画像を受取り、動き補償フレーム間予測符号化や視差補償予測を用いて、画像及び奥行き画像を符号化し出力する。復号器907は、ネットワークNを介して又は直接伝送されてくる符号化器906の出力結果を入力として受取り、復号し、復号画像及び復号した奥行き画像を出力する。表示部908は入力として復号器907から復号画像と復号した奥行き画像を受取り、復号画像を表示する、或いは、奥行き画像を用いた処理を復号画像に施してから表示する。
【0020】
このように、MPEG−3DVにおいて、多視点動画像及び対応する視点の奥行き動画像を符号化する方式の策定が進められており、ここでも常に精度の良い画像間特性差補償処理を実施し、高効率で視差補償予測を行うことが望まれている。
【0021】
本発明は、上述のような実情に鑑みてなされたものであり、その目的は、視差補償予測方式において、視差補償予測に必要な情報以外の追加情報を必要とせずに、常に精度の良い画像間特性差補償処理を実施できるようにすることにある。
【0022】
また、本発明の他の目的は、MPEG−3DVで策定が進められている多視点動画像及び対応する視点の奥行き動画像符号化方式において、常に精度の良い画像間特性差補償処理を実施し、高効率で視差補償予測を行うことにある。
【課題を解決するための手段】
【0023】
上記課題を解決するために、本発明の第1の技術手段は、少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に、各視点画像間の特性差を補正して視差補償を行う画像符号化装置であって、符号化対象ブロックを符号化する際に参照する参照ブロックを抽出する対応ブロック抽出部と、前記符号化対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正する補正処理部と、を備えたことを特徴としたものである。
【0024】
第2の技術手段は、第1の技術手段において、前記符号化対象ブロックから見た前記符号化対象ブロックの周辺のブロックの相対位置は、前記対応ブロック抽出部で前記符号化対象ブロックの参照元として抽出された前記参照ブロックから見た、前記参照ブロックの周辺のブロックの相対位置と対応していることを特徴としたものである。
【0025】
第3の技術手段は、第1又は第2の技術手段において、前記補正処理部は、前記符号化対象ブロックに写る被写体とは異なる被写体が写る周辺のブロックを除外して、補正を実行することを特徴としたものである。
【0026】
第4の技術手段は、第1又は第2の技術手段において、前記補正処理部は、前記符号化対象ブロックに写る被写体と同じ被写体が写る可能性が最も高い周辺のブロックを一つ選んで、補正を実行することを特徴としたものである。
【0027】
第5の技術手段は、第3又は第4の技術手段において、前記被写体の判定に、各視点画像に対応する奥行き情報を用いることを特徴としたものである。
【0028】
第6の技術手段は、第5の技術手段において、前記奥行き情報は、奥行き画像を分割したブロックの代表値に基づく情報であることを特徴としたものである。
【0029】
第7の技術手段は、少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に、各視点画像間の特性差を補正して視差補償を行う画像復号装置であって、復号対象ブロックを復号する際に参照する参照ブロックを抽出する対応ブロック抽出部と、前記復号対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正する補正処理部と、を備えたことを特徴としたものである。
【0030】
第8の技術手段は、第7の技術手段において、前記復号対象ブロックから見た前記復号対象ブロックの周辺のブロックの相対位置は、前記対応ブロック抽出部で前記復号対象ブロックの参照元として抽出された前記参照ブロックから見た、前記参照ブロックの周辺のブロックの相対位置と対応していることを特徴としたものである。
【0031】
第9の技術手段は、第7又は第8の技術手段において、前記補正処理部は、前記復号対象ブロックに写る被写体とは異なる被写体が写る周辺のブロックを除外して、補正を実行することを特徴としたものである。
【0032】
第10の技術手段は、第7又は第8の技術手段において、前記補正処理部は、前記復号対象ブロックに写る被写体と同じ被写体が写る可能性が最も高い周辺のブロックを一つ選んで、補正を実行することを特徴としたものである。
【0033】
第11の技術手段は、第9又は第10の技術手段において、前記被写体の判定に、各視点画像に対応する奥行き情報を用いることを特徴としたものである。
【0034】
第12の技術手段は、第11の技術手段において、前記奥行き情報は、奥行き画像を分割したブロックの代表値に基づく情報であることを特徴としたものである。
【0035】
第13の技術手段は、少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に、各視点画像間の特性差を補正して視差補償を行う画像符号化方法であって、符号化対象ブロックを符号化する際に参照する参照ブロックを抽出するステップと、前記符号化対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正するステップと、を有することを特徴としたものである。
【0036】
第14の技術手段は、少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に、各視点画像間の特性差を補正して視差補償を行う画像復号方法であって、復号対象ブロックを復号する際に参照する参照ブロックを抽出するステップと、前記復号対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正するステップと、を有することを特徴としたものである。
【0037】
第15の技術手段は、少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に各視点画像間の特性差を補正して視差補償を行う画像符号化処理を、コンピュータに実行させるための画像符号化プログラムであって、前記画像符号化処理は、符号化対象ブロックを符号化する際に参照する参照ブロックを抽出するステップと、前記符号化対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正するステップと、を有することを特徴としたものである。
【0038】
第16の技術手段は、少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に各視点画像間の特性差を補正して視差補償を行う画像復号処理を、コンピュータに実行させるための画像復号プログラムであって、前記画像復号処理は、復号対象ブロックを復号する際に参照する参照ブロックを抽出するステップと、前記復号対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正するステップと、を有することを特徴としたものである。
【発明の効果】
【0039】
本発明によれば、視差補償予測方式において、符号化対象ブロックの視差ベクトルが指し示す先の参照ブロックの少なくとも一つ以上の周辺ブロックと、それに対応する符号化対象ブロックの周辺ブロックの間の画像間特性差を用いることで、視差補償予測に必要な情報以外の追加情報を必要とせずに常に精度の良い画像間特性差補償処理を実施でき、結果として高効率で視差補償予測を行うことが可能になる。
【0040】
また、本発明のある形態によれば、MPEG−3DVで策定が進められている多視点動画像及び対応する視点の奥行き動画像符号化方式において、その奥行き画像の奥行きの差に基づいて異なる被写体を判定し、その判定結果に基づいて画像間特性差補償処理の実施を制御することで、常に精度の良い画像間特性差補償処理が可能になり、結果として高効率で視差補償予測を行うことが可能になる。
【図面の簡単な説明】
【0041】
【図1】本発明の画像符号化装置の構成例を示すブロック図である。
【図2】図1の画像符号化装置における画像符号化部の構成例を示すブロック図である。
【図3】図2の画像符号化部における動き/視差補償部の構成例を示すブロック図である。
【図4】図3の動き/視差補償部における対応ブロック抽出部が抽出するブロック位置を概念的に説明するための図で、画像間特性差補償処理で扱うブロック位置を示す概念図である。
【図5】代表奥行き値の決定処理の概念図である。
【図6】図1の画像符号化装置が実行する画像符号化処理を説明するためのフローチャートである。
【図7】図2の画像符号化部が実行する画像符号化処理を説明するためのフローチャートである。
【図8】図2の画像符号化部における画面間予測部が実行する画面間予測処理を説明するためのフローチャートである。
【図9】本発明の画像復号装置の構成例を示すブロック図である。
【図10】図9の画像復号装置における画像復号部の構成例を示すブロック図である。
【図11】図9の画像復号装置が実行する画像復号処理を説明するためのフローチャートである。
【図12】図10の画像復号部が実行する画像復号処理を説明するためのフローチャートである。
【図13】図10の画像復号部における画面間予測部が実行する画面間予測処理を説明するためのフローチャートである。
【図14】従来の画像間特性差補償の問題の一例を示す概念図である。
【図15】従来の画像間特性差補償の問題の一例を示す他の概念図である。
【図16】MPEG−3DVの新しい規格におけるシステムの全体図である。
【発明を実施するための形態】
【0042】
以下、図面を参照しながら本発明の実施形態について説明する。図面において同じ機能を有する部分については同じ符号を付し、繰り返しの説明は省略する。
【0043】
(実施形態1)
<画像符号化装置の構成>
図1は、本発明の一実施形態である画像符号化装置の構成例を示すブロック図である。
図1で例示する画像符号化装置100は、画像符号化部101及び符号構成部104を含んで構成される。なお、画像符号化部101の内部に記載した点線で示したブロック及び矢印は、画像符号化部101の動作を概念的に説明するために利用する。
【0044】
以下、画像符号化装置100の機能及び動作について説明する。
画像符号化装置100に入力される視点画像は、基準視点画像と非基準視点画像である。基準視点の視点画像は単一の視点による画像に限定されるが、非基準視点の視点画像は複数の視点による画像が複数入力されてもよい。基準視点画像とは、複数の視点画像において基準となる視点の画像である。
【0045】
視点画像は、初めに画像符号化部101に入力される。基準視点符号化処理部102では、基準視点の視点画像を視点内予測符号化方式により圧縮符号化する。視点内予測符号化では、画面内予測や同一視点内で動き補償を行って、視点内の画像データのみに基づいて画像データを圧縮符号化する。同時に、後述する非基準視点の視点画像を符号化する際の参照用に、逆処理すなわち内部復号を行い、画像信号に復元しておく。非基準視点符号化処理部103では、復元された上記基準視点画像に基づいて、非基準視点の視点画像を視点間予測符号化方式により圧縮符号化する。視点間予測符号化方式では、符号化対象画像とは異なる視点の画像を用いて視差補償を行い、画像データを圧縮符号化する。なお、非基準視点符号化処理部103では、視点内の画像データのみを用いた視点内予測符号化方式を、全体の符号化効率に基づいて選択することもできる。基準視点符号化処理部102によって符号化された符号化データと非基準視点符号化処理部103によって符号化された符号化データが、画像符号化部101より出力される。
【0046】
符号構成部104は、画像符号化部101より符号化データを受取り、連結・並べ替えがなされ、符号化ストリームとして画像符号化装置100の外部(例えば、後述する画像復号装置700)に出力する。
【0047】
続いて、画像符号化部101の詳細について、図2を用いて説明する。図2は、画像符号化部101の構成例を示すブロック図である。
【0048】
画像符号化部101は、画像入力部201、減算部202、直交変換部203、量子化部204、エントロピー符号化部205、逆量子化部206、逆直交変換部207、加算部208、予測方式制御部209、画像選択部210、デブロッキング・フィルタ部211、フレームメモリ212、動き/視差補償部213、動き/視差ベクトル検出部214、及びイントラ予測部215を含んで構成される。なお、説明のために、画面内予測部217と画面間予測部218を点線で図示し、画面内予測部217はイントラ予測部215を含み、画面間予測部218はデブロッキング・フィルタ部211、フレームメモリ212、動き/視差補償部213、及び動き/視差ベクトル検出部214を含むものとする。
【0049】
図1において画像符号化部101の動作を説明した際には、基準視点の符号化処理とそれ以外の非基準視点の符号化処理を明示的に分けて、基準視点符号化処理部102と非基準視点符号化処理部103としたが、実際にはお互いに共通する処理が多いため、以下では基準視点符号化処理と非基準視点符号化処理を統合した形態について説明を行う。
【0050】
具体的には、前述の基準視点符号化処理部102として行う視点内予測符号化方式は、図2の画面内予測部217で実施される処理と画面間予測部218で実施される処理の一部である同一視点の画像を参照する処理(動き補償)を組み合わせたものである。また、非基準視点符号化処理部103として行う視点間予測符号化方式は、画面内予測部217で実施される処理と画面間予測部218で実施される同一視点の画像を参照する処理(動き補償)及び異なる視点の画像を参照する処理(視差補償)を組み合わせたものである。さらに、画面間予測部218で実施される符号化対象の視点と同一視点の画像を参照する処理(動き補償)と異なる視点の画像を参照する処理(視差補償)についても、符号化時に参照する画像が異なるだけで、参照画像を指し示すID情報(参照視点番号、参照フレーム番号)を用いることで処理を共通化することが可能である。また、各予測部217,218で予測した画像と入力した視点画像の残差成分を符号化する方法も、基準視点であっても非基準視点であっても共通に行える。詳細は後述する。
【0051】
画像入力部201は、画像符号化部101の外部から入力される符号化対象となる視点画像(基準視点画像、或いは非基準視点画像)を示す画像信号を、予め定めた大きさ(例えば、垂直方向16画素×水平方向16画素)のブロックに分割する。
【0052】
画像入力部201は、分割した画像ブロック信号を、減算部202、画面内予測部217の中にあるイントラ予測部215、及び画面間予測部218の内部にある動き/視差ベクトル検出部214に出力する。画面内予測部217は、符号化対象ブロックより前に処理の完了した同一画面内の情報のみを用いて符号化を行う処理部であり、その処理内容については後述する。一方、画面間予測部218は、符号化対象画像とは異なる、過去に処理した同一視点の視点画像、或いは異なる視点の視点画像の情報を用いて符号化を行う処理部であり、その処理内容については後述する。
【0053】
画像入力部201は、ブロック位置を順次変えながら、画像フレーム内の全てのブロックが完了し、そして入力される画像が全て終了するまで繰り返して出力する。なお、画像入力部201が、画像信号を分割する際のブロックサイズは、前述の16×16サイズに限らず、8×8、4×4などのサイズでもよい。また、縦横の画素数が同数でなくともよく、例えば16×8、8×16、8×4、4×8などのサイズでもよい。これらのサイズの例は、H.264、MVCなどの従来方式で用いられた符号化ブロックサイズである。後述する符号化手順に従って、全ブロックサイズの符号化を一通り実施し、最終的に効率の良いものを選択する。なお、ブロックサイズについては上記サイズに限定するものではなく、将来の符号化方式で採用される任意のブロックサイズに対応することが可能である。
【0054】
減算部202は、画像入力部201から入力した画像ブロック信号から画像選択部210から入力した予測画像ブロック信号を減算して、差分画像ブロック信号を生成する。減算部202は、生成した差分画像ブロック信号を直交変換部203に出力する。
【0055】
直交変換部203は、減算部202から入力した差分画像ブロック信号を直交変換し、種々の周波数特性の強度を示す信号を生成する。直交変換部203は、差分画像ブロック信号を直交変換する際に、その差分画像ブロック信号を、例えばDCT変換(離散コサイン変換;Discrete Cosine Transform)して周波数領域信号(例えば、DCT変換を行った場合はDCT係数)を生成する。直交変換部203は、差分画像ブロック信号に基づき周波数領域信号を生成することができれば、DCT変換に限らず、他の方法(例えば、FFT(高速フーリエ変換;Fast Fourier Transform))を用いてもよい。直交変換部203は、生成した周波数領域信号に含まれる係数値を、量子化部204に出力する。
【0056】
量子化部204は、直交変換部203より入力した周波数特性強度を示す係数値を所定の量子化係数にて量子化し、生成した量子化信号(差分画像ブロック符号)を、エントロピー符号化部205と逆量子化部206に出力する。なお、量子化係数は、外部より与えられる符号量を決めるためのパラメータで、逆量子化部206及びエントロピー符号化部205においても参照される。
【0057】
逆量子化部206は、量子化部204から入力された差分画像符号を、上記量子化係数を用いて上記量子化部204で行った量子化と逆の処理(逆量子化)をして復号周波数領域信号を生成し、逆直交変換部207に出力する。
【0058】
逆直交変換部207は、入力された復号周波数領域信号を直交変換部203とは逆の処理、例えば逆DCT変換して空間領域信号である復号差分画像ブロック信号を生成する。逆直交変換部207は、復号周波数領域信号に基づき空間領域信号を生成することができれば、逆DCT変換に限らず、他の方法(例えば、IFFT(高速フーリエ逆変換;Inverse Fast Fourier Transform))を用いてもよい。そして、逆直交変換部207は、生成した復号差分画像ブロック信号を加算部208に出力する。
【0059】
加算部208は、画像選択部210から予測画像ブロック信号を入力すると共に、逆直交変換部207から復号差分画像ブロック信号を入力する。加算部208は、予測画像ブロック信号に復号差分画像ブロック信号を加算し、入力画像を符号化・復号した参照画像ブロック信号を生成する(内部デコード)。この参照画像ブロック信号は、画面内予測部217及び画面間予測部218に出力される。
【0060】
画面内予測部217は、加算部208より参照画像ブロック信号を入力すると共に、画像入力部201より符号化対象画像の画像ブロック信号を入力し、所定の方向に画面内予測した画面内予測画像ブロック信号を予測方式制御部209と画像選択部210に出力する。同時に、画面内予測部217は、画面内予測画像ブロック信号を生成するために必要な予測の方向を示す情報を画面内予測符号化情報として生成し、予測方式制御部209に出力する。画面内予測は、従来方式(例えば、H.264 Reference Software JM ver. 13.2 Encoder, http://iphome.hhi.de/suehring/tml/, 2008)の画面内予測方式に従って実施される。なお、画面内予測部217におけるこれらの処理は、上述した構成で示したようにイントラ予測部215が実行することになる。
【0061】
画面間予測部218は、加算部208より参照画像ブロック信号を入力すると共に、画像入力部201より符号化対象画像の画像ブロック信号を入力し、画面間予測により生成した画面間予測画像ブロック信号を予測方式制御部209と画像選択部210に出力する。同時に、画面間予測部218は、画面間予測画像ブロック信号を生成するために必要な情報(参照視点画像番号と参照フレーム番号を含む参照画像情報や、動き/視差ベクトルと予測ベクトルとの差分ベクトル)を、画面間予測符号化情報として生成し、生成した画面間予測符号化情報を予測方式制御部209に出力する。画面間予測部218の詳細については後述する。
【0062】
続いて、予測方式制御部209は、入力画像のピクチャの種類及び符号化効率に基づいて、画面内予測部217より入力される画面内予測画像ブロック信号とその画面内予測符号化情報、及び画面間予測部218より入力される画面間予測画像ブロック信号とその画面間符号化情報に基づいてブロック毎の予測方式を決め、その予測方式の情報を画像選択部210に出力する。ここで、入力画像のピクチャの種類とは、符号化対象画像が予測画像に参照できる画像を識別するための情報で、Iピクチャ、Pピクチャ、Bピクチャなどがあり、ピクチャの種類は、量子化係数と同様に外部より与えられるパラメータによって決まるもので、従来方式のMVCと同じ方法を利用できる。
【0063】
予測方式制御部209は、入力画像のピクチャの種類を監視し、入力された符号化対象画像が画面内の情報しか参照できないIピクチャの場合は画面内予測方式を確定的に選択する。符号化済みの過去のフレーム或いは異なる視点の画像を参照できるPピクチャや、符号化済みの過去のフレーム及び符号化済みの未来のフレーム(表示順番では未来のフレームではあるが、過去に処理されたフレーム)と異なる視点の画像を参照できるBピクチャの場合には、予測方式制御部209は、エントロピー符号化部205で行う符号化により生成されるビット数と減算部202の原画像との残差から、例えば従来の手法(例えば、H.264 Reference Software JM ver. 13.2 Encoder, http://iphome.hhi.de/suehring/tml/, 2008)を用いてラグランジュコストを算出し、画面内予測方式或いは画面間予測方式を決める。
【0064】
同時に、予測方式制御部209は、画面内予測符号化情報若しくは画面間予測符号化情報のうち、上記方法によって選択された予測方式に対応する符号化情報に、予測方式を特定できる情報を付加し予測符号化情報として、エントロピー符号化部205に出力する。
【0065】
画像選択部210は、予測方式制御部209より入力される予測方式の情報に従って、画面内予測部217より入力される画面内予測画像ブロック信号、或いは画面間予測部218より入力される画面間予測画像ブロック信号を選択して、減算部202及び加算部208に予測画像ブロック信号を出力する。画像選択部210は、予測方式制御部209より入力される予測方式が画面内予測である場合には、画面内予測部217より入力される画面内予測画像ブロック信号を選択して出力し、予測方式制御部209より入力される予測方式が画面間予測である場合は、画面間予測部218より入力される画面間予測画像ブロック信号を選択して出力するものとする。
【0066】
エントロピー符号化部205は、量子化部204より入力される差分画像符号と量子化部204で用いられた量子化係数、予測方式制御部209より入力される予測符号化情報をパッキング(packing;詰込)し、例えば可変長符号化(エントロピー符号化)を用いて符号化し、情報量がより圧縮された符号化データを生成する。エントロピー符号化部205は、生成した符号化データを符号構成部104に出力し、その後、符号構成部104は符号化ストリームとして画像符号化装置100の外部(例えば、画像復号装置700)に出力する。
【0067】
次に、画面間予測部218の詳細について説明する。
デブロッキング・フィルタ部211は、加算部208より参照画像ブロック信号を入力し、画像の符号化時に発生するブロック歪みを減少させるための、従来の手法(例えば、H.264 Reference Software JM ver. 13.2 Encoder, http://iphome.hhi.de/suehring/tml/, 2008)で用いられるFIRフィルタ処理を行う。デブロッキング・フィルタ部211は、処理結果(補正ブロック信号)をフレームメモリ212に出力する。
【0068】
フレームメモリ212は、デブロッキング・フィルタ部211から補正ブロック信号を入力し、視点番号とフレーム番号を同定できる情報と共に画像の一部として補正ブロック信号を保持しておく。フレームメモリ212は、図示していないメモリ管理部によって、入力画像のピクチャの種類或いは画像の順番が管理され、その指示に従って画像を蓄えたり破棄したりする。画像管理については、従来方式のMVCの画像管理方法を利用することもできる。
【0069】
動き/視差ベクトル検出部214は、画像入力部201より入力される画像ブロック信号に類似するブロックを、フレームメモリ212に蓄積された画像群から後述するブロックマッチングで探し出し、探し出したブロックを指し示すベクトル情報、視点番号、及びフレーム番号を生成する。ここで、ベクトル情報は、参照する画像が符号化対象画像と同一視点の場合は動きベクトルと呼び、参照する画像が符号化対象画像と異なる視点の場合は視差ベクトルと呼ぶ。動き/視差ベクトル検出部214は、ブロックマッチングを行う際、当該分割されたブロックとの間の指標値を領域毎に算出し、算出した指標値が最小となる領域を探し出す。指標値は、画像信号間の相関性や類似性を示すものであればよい。動き/視差ベクトル検出部214は、例えば、分割されたブロックに含まれる画素の輝度値と参照画像のある領域における輝度値の差の絶対値総和(SAD;Sum of Absolute Difference)を用いる。入力された視点画像信号から分割されたブロック(例えば、大きさがN×N画素)と参照画像信号のブロックとの間のSADは次の式(2)で表される。
【0070】
【数2】
【0071】
式(2)において、Iin(i0+i,j0+j)は入力画像の座標(i0+i,j0+j)における輝度値、(i0,j0)は当該分割されたブロックの左上端の画素座標を示す。Iref(i0+i+p,j0+j+q)は参照画像の座標(i0+i+p,j0+j+q)における輝度値、(p,q)は当該分割されたブロックの左上端の座標を基準にしたシフト量(動きベクトル)である。すなわち、動き/視差ベクトル検出部214は、ブロックマッチングにおいて、(p,q)毎にSAD(p,q)を算出し、SAD(p,q)を最小とする(p,q)を探し出す。(p,q)は入力された視点画像から当該分割されたブロックから当該参照領域の位置までのベクトル(動き/視差ベクトル)を表す。
【0072】
動き/視差補償部213は、動き/視差ベクトル検出部214より入力された動きベクトル或いは視差ベクトル、視点番号、及びフレーム番号に基づいて、参照画像ブロックをフレームメモリ212より抽出する。
【0073】
動き/視差ベクトル検出部214より入力された参照ベクトルが視差ベクトルである場合には、動き/視差補償部213は同時に、フレームメモリ212より、既に処理の完了した符号化対象ブロック周辺の画像ブロック信号と、それに対応する参照画像ブロック周辺の画像ブロック信号とを入力する(画像ブロックの位置については、後述する)。動き/視差補償部213は、符号化対象画像と参照画像内の対応する隣接ブロック同士の相関性を示す指標値を算出し、お互いに同一の被写体を示す画像ブロックであると判定した場合には、画像間特性差補償を実施する(詳細は後述する)。動き/視差補償部213は、処理後の画像ブロックを画面間予測画像ブロック信号として、予測方式制御部209と画像選択部210に出力する。
【0074】
なお、動き/視差補償部213は、動き/視差ベクトル検出部214より入力された参照ベクトルが動きベクトルである場合には、前述の周辺ブロックの入力と画像間特性差補償処理を行わずに、フレームメモリ212より、動きベクトルと参照画像番号及びフレーム番号に基づいて抽出した参照画像ブロックをそのまま、画面間予測画像ブロック信号として、予測方式制御部209と画像選択部210に出力する。
【0075】
動き/視差補償部213はさらに、上記ブロックマッチングで算出した動き/視差ベクトルから、符号化対象ブロックに隣接する符号化済みブロックで採用された動き/視差ベクトルに基づいて生成された予測ベクトルを減算し、差分ベクトルを算出する。予測ベクトルの生成方法は、符号化対象ブロックの上に隣接しているブロックと、右上に隣接しているブロックと、左に隣接しているブロックのそれぞれのベクトルの水平成分及び垂直成分の中央値を求めて、予測ベクトルとする。予測ベクトルの算出方法は、MVCで採用されている方式を利用できる。
【0076】
動き/視差補償部213は、上記差分ベクトルと参照画像情報(参照視点番号、参照フレーム番号)を、画面間符号化情報として予測方式制御部209に出力する。なお、ブロックマッチングで検出された入力画像ブロックと最も類似する領域と、上記予測ベクトルが指し示す領域は、少なくとも参照視点画像番号と参照フレーム番号が一致するようにしておく必要がある。
【0077】
続いて、本発明の特徴である画像間特性差補償の方法について、図3と図4を用いて説明する。図3は、動き/視差補償部213内部の構成例を示すブロック図である。
動き/視差補償部213は、対応ブロック抽出部301、補正係数算出部302、及び補正処理部303を含んで構成される。
【0078】
動き/視差ベクトル検出部214より入力された動き/視差ベクトル、参照視点番号及び参照フレーム番号は、対応ブロック抽出部301に入力される。対応ブロック抽出部301は、入力された動き/視差ベクトル、参照視点番号、及び参照フレーム番号に基づいて、フレームメモリ212より該当する画像ブロック(参照画像ブロック)を抽出する。
【0079】
同時に、対応ブロック抽出部301は、入力された参照ベクトルが視差ベクトルである場合には、既に符号化が完了してフレームメモリ212に格納されている、符号化対象ブロックの周辺ブロック(以下、符号化対象ブロック周辺画像ブロックと呼ぶ)の画像信号と、それに位置的に対応する参照画像ブロック周辺の周辺ブロック(以下、参照ブロック周辺画像ブロックと呼ぶ)の画像信号を抽出する。このように、対応ブロック抽出部301は、符号化対象ブロックを符号化する際に参照する参照ブロックを抽出する。なお、本発明の特徴の一つである対応ブロック抽出部では、例示した対応ブロック抽出部301のように動きベクトルの抽出も行ってもよいが、少なくとも視差ベクトルの抽出を少なくとも行うものとする。
【0080】
図4は、対応ブロック抽出部301が抽出するブロック位置を概念的に説明するための図である。図4において、符号化対象画像401は符号化対象の視点画像を示し、参照画像402は符号化対象画像401で参照する画像を示している。このとき、参照画像402は、既に画像全体が符号化・復号されてフレームメモリ212に格納されている画像であり、符号化対象画像401とは異なる視点の視点画像である。符号化対象画像401については、符号化対象ブロック位置の直前のブロックまで符号化・復号が完了している。
【0081】
いま、符号化処理を行っているブロックが符号化対象ブロック403であり、そこから延びるベクトル407は、動き/視差ベクトル検出部214より入力された視差ベクトルである。この視差ベクトルと参照画像番号及び参照フレーム番号によって、参照画像の特定のブロック(参照ブロック405)が特定される。
【0082】
前述の符号化対象ブロック周辺画像ブロック404とは、符号化対象ブロック403の上のブロック(隣接ブロックA)、右上のブロック(隣接ブロックB)、及び左のブロック(隣接ブロックC)である。また、前述の参照ブロック周辺画像ブロック406とは、参照ブロック405の上のブロック(隣接ブロックA′)、右上のブロック(隣接ブロックB′)、及び左のブロック(隣接ブロックC′)である。このように、符号化対象ブロック403から見たその符号化対象ブロック403の周辺のブロック404の相対位置は、対応ブロック抽出部301でその符号化対象ブロック403の参照元として抽出された参照ブロック405から見た、その参照ブロック405の周辺のブロック406の相対位置と対応している。
【0083】
そしてこの対応関係は、対応ブロック抽出部301で参照ブロック405を抽出することから分かるように、符号化対象ブロック403での視差ベクトルに基づき各隣接ブロックAとA′、BとB′、CとC′のそれぞれの関係において一律であってよい。若しくは、上述の対応関係は、符号化対象ブロック403及びその隣接ブロックA,B,Cでの視差ベクトルに基づき、例えば隣接ブロックAの符号化対象ブロック403に対する相対位置と隣接ブロックA′の参照ブロック405に対する相対位置との対応関係と、隣接ブロックBの符号化対象ブロック403に対する相対位置と隣接ブロックB′の参照ブロック405に対する相対位置との対応関係とが異なっていてもよい。
【0084】
なお、周辺の画像ブロックの位置についてはこれに限定するものではなく、符号化対象ブロックより前に符号化・復号されたブロックであれば利用について問題はなく、そのブロックの数も特段限定するものではない。また、図4では、精確な特性差補正のための好ましい例として、符号化対象ブロック403から見た隣接ブロックA,B,Cそれぞれの相対位置と、参照ブロック405から見た隣接ブロックA′,B′,C′それぞれの相対位置とが対応している例を挙げたが、このような対応関係がないように参照ブロックの隣接ブロックの位置を決めておくこともできる。
【0085】
図3に戻り、対応ブロック抽出部301は、動き/視差ベクトル検出部214より入力された参照ベクトルが視差ベクトルの場合、符号化対象ブロック403の周辺ブロック(符号化対象ブロック周辺画像ブロック)404の画像信号と参照ブロック405の周辺ブロック(参照ブロック周辺画像ブロック)406の画像信号を抽出して、補正係数算出部302に出力する。
【0086】
補正係数算出部302は、対応ブロック抽出部301より符号化対象ブロック周辺画像ブロックの画像信号及び参照ブロック周辺画像ブロックの画像信号を受取り、双方の周辺ブロックの類似性を判定する(詳細は後述する)。補正係数算出部302は、符号化対象ブロック周辺画像ブロックと参照ブロック周辺画像ブロックの類似性が高いと判定した場合は、画像間特性差補償のための補正係数を算出して、補正処理部303にその補正係数を出力する。補正係数算出部302は、類似性が低いと判定した場合には、補正を行わないような補正係数を算出して(或いは、処理を無視するためのフラグを)補正処理部303に出力する。
【0087】
[類似性の判定方法]
類似性の判定については、当該分割された複数の隣接ブロックとの間の指標値を算出し、得られた指標値に基づいて判定を行う。指標値には、前述のブロックマッチングと同様に、式(3)に示すような輝度値の差の絶対値総和を導入することができる。
【0088】
【数3】
【0089】
ここで、Itarget、Irefはそれぞれ、符号化対象画像の輝度値と参照画像の輝度値であることを示している。また、block={A,B,C}は、図4に示す隣接ブロックA,B,Cのブロック位置を示している。また、このブロック位置において、右辺にある符号化対象画像と参照画像の隣接ブロックA,B,Cにおける左上端の座標を(iblock,jblock)で表す。ここで、参照画像の隣接ブロックの位置については、A=A′、B=B′、C=C′と置き換えて位置を特定するものとする。
【0090】
上記指標値を、符号化対象ブロックの隣接ブロックとそれに対応する参照画像の隣接ブロックにおいてそれぞれ算出し、類似性判定を実行する。その際の閾値としては、例えば値「20」を用いることができる。この閾値よりも式(3)で示した指標値が小さい場合に個々のブロックの類似性が高いと判定する。上記類似性をA,B,Cの各ブロックで算出し、全てのブロックにおいて類似性が高いと判定したら、後述の補正係数の算出及び補正処理を実施する。同時に、ここで用いた上記閾値を画像復号装置に伝送し(画像全体で固定の閾値を用いる場合、処理の最初で一度閾値を伝送するだけでよい)、復号時に同じ類似性の判定結果を得る必要がある。
【0091】
閾値については、画像全体において共通にしてもよいし、画像の符号化効率を鑑みて適応的に切り替える方法を採用してもよい。適応的に切り替える方法では、その情報を全て画像復号装置に伝送する必要がある。また、上述の例では、A,B,C全てのブロックにおいて類似性が高いと判定した場合に補正処理を行うようにしているが、特に限定するものではない。例えば、そのうち任意の1又は2つのブロックにおいて(若しくは予め決めた位置の1又は2のブロックにおいて)類似性が高い場合に補正処理を行い、判定対象のブロック数(若しくは判定対象のブロックの位置)を示す情報を閾値と共に画像復号装置に伝送するようにしてもよい。また、類似性を判定する指標として輝度値の差の絶対値総和を用いたが、対応するブロックの類似性を判定できる指標であれば、どのような方式でも問題ない。
【0092】
[補正係数算出]
上記、類似性の判定において補正処理を行うと判定した場合は、前述の従来技術で採用されている式(1)を用いた補正を実行してもよいが、本実施形態では、まず補正係数算出部302が式(4)のような補正係数の算出を行う。式(4)では、補正係数として、輝度値の平均値のオフセット(offsetY)と色差成分の平均値のオフセット(offsetU,offsetV)を導入している。上述の式(3)で用いた輝度Iと式(4)で用いたYは同じものである。
【0093】
【数4】
【0094】
補正係数算出部302は、類似性の判定において補正処理を行わないと判定した場合には、offsetY=0、offsetU=0、offsetV=0とする。補正係数算出部302は、このようにして算出したオフセット値を補正処理部303に出力する。
【0095】
[補正処理]
補正処理部303は、対応ブロック抽出部301より参照画像ブロック信号を入力し、補正係数算出部302より入力した補正係数に基づいて補正処理を実施する。なお、補正処理部303は、補正係数算出部302より入力した補正係数が、補正を行わないような係数(或いは、処理を無視するためのフラグ)の場合、補正処理を行わずに、対応ブロック抽出部301より入力された参照ブロック信号をそのまま出力する。補正処理については、以下の式(5)で示すように行う。式(5)において、Y(x,y)、U(x,y)、V(x,y)は、対応ブロック抽出部301より入力された参照画像ブロックの画素値である。
【0096】
【数5】
【0097】
最後に、動き/視差補償部213は、補正処理部303の出力である画像ブロック信号を画面間予測画像ブロック信号として予測方式制御部209及び画像選択部210に出力するのと同時に、動き/視差ベクトル検出部214より入力される参照ベクトルより算出した前述の差分ベクトルと参照画像情報(参照視点画像番号、参照フレーム番号)も合わせて予測方式制御部209に出力する。
【0098】
画像符号化装置100は、このように少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に、各視点画像間の特性差(つまり異なる視点間での撮影画像の特性差)を補正して視差補償を行う。図2の例では、動き/視差補償部213がこの視差補償の処理を行っている。視差補償自体は、異なる視点画像の視点間の冗長性を考慮した処理である。そして、動き/視差補償部213の補正処理部303が、符号化対象ブロックの周辺のブロックと視差ベクトルが指し示す参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間(視点間の画像)の特性差を補正する。このような補正(画像間特性差補償)により、撮影したカメラの個体差や校正差やレンズへの被写体表面の反射光の入射の違いなどによって生じる視差画像間の特性差が精度良く補正され、補正された状態で視差補償を行うことになるため、高効率の視差補償が実施できる。さらに特性差の補正処理は、既に符号化・復号が完了したブロックの信号を用いるだけであるため、復号側に視差補償予測に必要な情報以外の追加情報を伝送する必要もなく、伝送負荷を軽減させることができる。
【0099】
[補正係数算出方法の別の例]
補正係数算出方法の別の例としては、画像に対応した奥行き情報を利用して、符号化対象ブロックと異なる被写体が写っていると想定されるブロックを補正係数算出から除外する方法がある。本例では、補正処理部303は、符号化対象ブロックに写る被写体とは異なる被写体が写る周辺のブロックを除外して補正を実行することになる。本例を用いることで、補正係数算出にとって雑音となるブロックを除外でき、補正係数の精度をさらに向上させることができる。つまり、上述のような画像間特性差補償処理において、同時に符号化対象ブロックと周辺ブロックに写る被写体の相違を判定し、画像間特性差補償処理を制御することで、視差補償予測精度をさらに向上させ、符号化効率を高めることができる。
【0100】
奥行き情報とは、画像に映っている被写体までの距離を示す画像情報である。用いる奥行き情報は、符号化対象ブロック及びその周辺ブロック、並びに参照ブロック及びその周辺ブロックについての奥行き情報となる。
【0101】
奥行き情報に関し、上述したMPEG−3DVで扱われる奥行き画像を本例に利用することができる。画像符号化装置100の外部より符号化対象画像に対応した奥行き画像を入力し、上記符号化対象ブロックと符号化対象ブロック周辺画像ブロック位置に対応する奥行き値の代表値を算出する。算出した奥行き値に基づいて、符号化対象ブロックの奥行き代表値と各位置における周辺ブロックの奥行き値の代表値と比べて、その差が所定の値より大きい場合に、補正係数算出処理から除外する。具体的には、以下の式(6)を用いて処理を行う。
【0102】
【数6】
【0103】
ここで、FLG(・)とは、所定のブロック位置において補正係数算出処理から除外をするか否かを決めるフラグであり、以下のように与えられる。
【0104】
【数7】
【0105】
ここで、各記号について説明する。BKは、上記隣接する周辺ブロックの位置を示す。Dcurは符号化対象ブロックの奥行き値の代表値で、D(BK)は符号化対象ブロック周辺ブロックBKにおける奥行き値の代表値である。また、THDは判定の閾値(上記所定の値)である。
【0106】
分割されたブロック毎の奥行き値の代表値は、例えば以下の方法で算出することができる。具体的には、ブロック内の奥行き値の頻度分布(ヒストグラム)を作成し、最も出現頻度の高い奥行き値を抽出して代表値として決定する。
【0107】
図5に、代表奥行き値の決定処理の概念図を示す。図5(A)で例示する視点画像501に対応する奥行き画像として図5(B)で例示する奥行き画像502が与えられているとする。奥行き画像は、輝度のみのモノクロ画像として表される。輝度が高い(=奥行き値が大きい)領域ほどカメラからの距離が近いことを意味し、輝度が低い(=奥行き値が小さい)領域ほどカメラからの距離が遠いことを意味する。奥行き画像502の中の分割されたブロック503において、奥行き値が図5(C)で例示する頻度分布504のような頻度分布をとる場合、最も出現頻度の高い奥行き値505を、ブロック503の代表奥行き値として決定する。
【0108】
なお、奥行き値の代表値を決定する際には、前述のようなヒストグラムに基づく方法の他に、以下の方法に従って決定してもよい。例えば、(a)ブロック内奥行き値の中間値、(b)ブロック内奥行き値の出現頻度を考慮した平均値、(c)ブロック内奥行き値のうちカメラからの距離が最も近い値(ブロック内奥行き値の最大値)、(d)ブロック内奥行き値のうちカメラからの距離が最も遠い値(ブロック内奥行き値の最小値)、或いは(e)ブロック内奥行き値のうちブロックの中心位置の奥行き値、のいずれかを抽出して代表値として決定してもよい。どの方法を選択するかの基準は、例えば、一番効率の良いものを、符号化及び復号で共通の方式に固定する方法、それぞれの方法に基づいて得られた奥行き代表値を用いて視差予測をした際にもっとも予測誤差の小さい方法を適応的に選択するという方法がある。後者の場合、選択した方法を上記符号化ストリームに付加し、画像復号装置に与える必要がある。また、後者の場合の選択肢として、上述した最も出現頻度の高い奥行き値505や(a)〜(e)の全てを用意しておく必要はなく、このうち少なくとも2つの中から選択すればよい。
【0109】
また、奥行き画像を分割する際のブロックサイズは、画像の分割ブロックサイズに合わせればよい。そのサイズは、16×16サイズに限らず、8×8、4×4などのサイズでもよい。また、縦横の画素数が同数でなくともよく、例えば16×8、8×16、8×4、4×8などのサイズでもよい。これらのサイズは、画像符号化部101が採用する符号化対象ブロックのブロックサイズに合わせる方法がある。或いは奥行き画像や対応する視点画像に含まれる被写体の大きさや、要求される圧縮率などに応じて最適なサイズを選択する方法なども可能である。
【0110】
なお、奥行き情報として、奥行き画像を分割したブロックの代表値に基づく情報を採用した例を挙げているが、これに限ったものではなく、例えば精度を少し落とすことを容認すればスライス毎に用意された奥行き情報を用いることもできる。また、被写体の判定に、各視点画像(符号化対象画像)に対応する奥行き情報を用いた例を挙げたが、色判定やエッジ検出などを施してその情報を用いるなど、他の情報を用いることもできる。その他の例としては、複数の異なる視点画像から視差量を求めて、領域毎の視差量の違いを用いて判定することもできる。そもそも奥行き情報は視差から算出できる情報であるため、この判定方法は奥行き情報を用いることとほぼ等価であるが、奥行き情報を別途用いなくて済むといった利点はある。また、例示したようにブロック毎に奥行き情報(や他の情報)を1つだけ用意して(若しくは1つだけ取得するようにして)処理を実行することで、符号化対象ブロックの1つの周辺ブロックに複数の被写体が写っているように判定されることがないため、すなわち周辺ブロックに符号化対象ブロックに写った被写体と同じ被写体と異なる被写体との双方が含まれるように判定されることがないため、異なる被写体が写る周辺のブロックだけ除外することができる。
【0111】
また、符号化対象ブロックと周辺ブロックに写る被写体の相違を判定し、画像間特性差補償処理を制御する他の例として、補正処理部303は、符号化対象ブロックに写る被写体と同じ被写体が写る可能性が最も高い周辺のブロックを一つ選んで、補正を実行するようにしてもよい。ここでも被写体の判定には、各視点画像に対応する奥行き情報を用いた例を挙げるが、他の情報を用いることもできし、奥行き情報として、奥行き画像を分割したブロックの代表値に基づく情報を採用した例を挙げるが、これに限ったものではない。
【0112】
上記他の例として、奥行き情報を用いた補正係数算出処理(式(6))の別の方法を説明する。この方法では、符号化対象ブロックの奥行き値の代表値に一番近い奥行き値の代表値を持つ隣接の周辺ブロックを用いる。その方法を以下の式(8)に示している。
【0113】
【数8】
【0114】
ここで、select(・)関数は、以下の式(9)に示す符号化対象ブロックの奥行き値の代表値に一番近い奥行き値を持つ隣接ブロック位置に基づいて、対応する引数の値を出力するものである。例えば、隣接ブロックAが一番近い場合には1番目の引数、隣接ブロックBが一番近い場合には2番目の引数、隣接ブロックCが一番近い場合には3番目の引数として入力した値を出力する。
【0115】
【数9】
【0116】
<画像符号化装置100のフローチャート>
次に、本実施形態に係る画像符号化装置100が行う画像符号化処理について説明する。図6は、画像符号化装置100が行う画像符号化処理を示すフローチャートである。図1も参照しながら説明する。
【0117】
まずステップS101において、画像符号化装置100は、外部から視点画像(基準視点、非基準視点)を入力する。その後、ステップS102に進む。
【0118】
ステップS102において、画像符号化部101は、外部より入力される視点画像の符号化を行う。画像符号化部101は、符号構成部104に符号化データを出力する。その後、ステップS103に進む。
【0119】
ステップS103において、画像符号化装置100は、外部からの視点画像の入力が終了していればステップS104に進む。画像符号化装置100は、外部からの視点画像の入力が終了していなければ、ステップS101に戻って処理を繰り返す。
【0120】
ステップS104において、符号構成部104は、画像符号化部101より複数視点の画像の符号化データを入力し、符号化データの連結・並べ替えを行い、符号化ストリームとして画像符号化装置100の外部へ出力する。
【0121】
上記ステップS102で実施される視点画像の符号化について、図7及び図2を用いてより詳しく説明する。
ステップS201において、画像符号化部101は、外部から視点画像を入力する。その後、ステップS202に進む。
【0122】
ステップS202において、画像入力部201は、画像符号化部101の外部から入力された視点画像である入力画像信号を予め定めた大きさ(例えば、垂直方向16画素×水平方向16画素)のブロックに分割して、減算部202と画面内予測部217及び画面間予測部218に出力する。
【0123】
画像符号化部101は、ステップS202〜ステップS210の処理をフレーム内の画像ブロック毎に繰り返す。次に、ステップS203とステップS204に進む。
【0124】
ステップS203において、画面内予測部217は、画像入力部201から視点画像の画像ブロック信号を入力すると共に加算部208から復号(内部デコード)された参照画像ブロック信号を入力し、画面内予測を実施する。画面内予測部217は、生成した画面内予測画像ブロック信号を予測方式制御部209と画像選択部210に、画面内予測符号化情報を予測方式制御部209に出力する。なお、最初の処理において、加算部208の処理が完了していない場合には、リセットされた画像ブロック(全ての画素値が0の画像ブロック)を入力するものとする。画面内予測部の処理が完了すると、ステップS205に進む。
【0125】
ステップS204において、画面間予測部218は、画像入力部201から視点画像の画像ブロック信号を入力すると共に加算部208から復号(内部デコード)された参照画像ブロック信号を入力し、画面間予測を実施する。画面間予測部218は、生成した画面間予測画像ブロック信号を予測方式制御部209と画像選択部210に、画面間予測符号化情報を予測方式制御部209に出力する。なお、最初の処理において、加算部208の処理が完了していない場合には、リセットされた画像ブロック(全ての画素値が0の画像ブロック信号)を入力するものとする。画面間予測部218の処理が完了すると、ステップS205に進む。
【0126】
ステップS205において、予測方式制御部209は、画面内予測部217より画面内予測画像ブロック信号と画面内予測符号化情報を受取り、並びに画面間予測部218より画面間予測画像ブロック信号と画面間予測符号化情報を受取り、前述のラグランジュコストに基づいて、符号化効率の良い予測モードを選択する。予測方式制御部209は、選択した予測モードの情報を画像選択部210に出力する。予測方式制御部209は、選択した予測モードに対応する予測符号化情報に、さらに選択した予測モードを識別するための情報を付加して、エントロピー符号化部205に出力する。
【0127】
画像選択部210は、予測方式制御部209から入力される予測モード情報に従って、画面内予測部217から入力される画面内予測画像ブロック信号、或いは画面間予測部218から入力される画面間予測画像ブロック信号を選択して、減算部202と加算部208に出力する。その後、ステップS206に進む。
【0128】
ステップS206において、減算部202は、画像入力部201から入力される画像ブロック信号から画像選択部210から入力される予測画像ブロック信号を減算し、差分画像ブロック信号を生成する。減算部202は、差分画像ブロック信号を直交変換部203に出力する。その後、ステップS207に進む。
【0129】
ステップS207において、直交変換部203は、減算部202から差分画像ブロック信号を入力し、上述の直交変換を実施する。直交変換部203は、直交変換後の信号を量子化部204に出力する。量子化部204は、直交変換部203から入力された信号を、上述の量子化処理を実施し、差分画像符号を生成する。量子化部204は、差分画像符号及び量子化係数を、エントロピー符号化部205と逆量子化部206に出力する。
【0130】
エントロピー符号化部205は、量子化部204から入力される差分画像符号と量子化係数及び予測方式制御部209から入力される予測符号化情報をパッキング(packing;詰込)し、可変長符号化(エントロピー符号化)を行い、情報量がより圧縮された符号化データを生成する。エントロピー符号化部205は、符号化データを外部の符号構成部104に出力する。その後、ステップS208に進む。
【0131】
ステップS208において、逆量子化部206は、量子化部204から差分画像符号及び量子化係数を入力し、量子化部204で実施した量子化の逆の処理を行う。逆量子化部206は、生成された信号を逆直交変換部207に出力する。逆直交変換部207は、逆量子化部206から逆量子化された信号を入力し、直交変換部203で実施した直交変換処理の逆直交変換処理を実施し、差分画像(復号差分画像ブロック信号)を復号する。逆直交変換部207は、復号された差分画像ブロック信号を加算部208に出力する。その後、ステップS209に進む。
【0132】
ステップS209において、加算部208は、逆直交変換部207から入力される復号された差分画像ブロック信号に、画像選択部210から入力される予測画像ブロック信号を加算して、入力画像を復号する(参照画像ブロック信号)。加算部208は、参照画像ブロック信号を、画面内予測部217と画面間予測部218に出力する。その後、ステップS210に進む。
【0133】
ステップS210において、画像符号化部101が、フレーム内の全ブロック及び全視点画像についてステップS202〜S210の処理が完了していない場合、処理対象となるブロックを変更してステップS202に戻る。
全ての処理が完了している場合、終了する。
【0134】
上述のステップS203で実施される画面内予測の処理フローは、従来方式であるH.264或いはMVCの画面内予測の処理ステップと同じでよい。
【0135】
上述のステップS204で実施される画面間予測の処理フローについては、図8及び図2を用いて説明する。
まずステップS301において、デブロッキング・フィルタ部211は、画面間予測部218の外部にある加算部208から参照画像ブロック信号を入力し、前述のFIRフィルタ処理を実施する。デブロッキング・フィルタ部211は、フィルタ処理後の補正ブロック信号をフレームメモリ212に出力する。その後、ステップS302に進む。
【0136】
ステップS302において、フレームメモリ212は、デブロッキング・フィルタ部211の補正ブロック信号を入力し、視点番号とフレーム番号を同定できる情報と共に画像の一部として補正ブロック信号を保持しておく。その後、ステップS303に進む。
【0137】
ステップS303において、動き/視差ベクトル検出部214は、画像入力部201から画像ブロック信号を受取ると、該画像ブロックに類似するブロックを、フレームメモリ212に蓄積された参照画像群より探し出し(ブロックマッチング)、探し出したブロックを表すベクトル情報(動きベクトル/視差ベクトル)を生成する。動き/視差ベクトル検出部214は、検出したベクトル情報を含めた符号化のために必要な情報(参照視点画像番号、参照フレーム番号)を動き/視差補償部213に出力する。その後、ステップS304に進む。
【0138】
ステップS304において、動き/視差補償部213は、動き/視差ベクトル検出部214から符号化のために必要な情報を入力し、該当する予測ブロックをフレームメモリ212より抽出する。
【0139】
同時に、動き/視差補償部213は、動き/視差ベクトル検出部214から入力した参照視点画像番号が符号化対象画像と異なる場合には、既に符号化が完了した周辺の複数の画像ブロック信号と、上記視差ベクトルが指し示す参照画像内の対応する周辺の複数の画像ブロック信号を、フレームメモリ212より抽出する。動き/視差補償部213は、入力した周辺画像ブロック信号同士の相関が高い場合には、上記画像間特性差補償処理を実施する。動き/視差補償部213は、最終的に生成した予測画像ブロック信号を画面間予測画像ブロック信号として予測方式制御部209と画像選択部210に出力する。
【0140】
動き/視差補償部213は、動き/視差ベクトル検出部214から入力した参照ベクトルが動きベクトルである場合には、画像間特性差補償処理を行わずに、参照画像ブロック信号をそのまま画面間予測画像ブロック信号として予測方式制御部209と画像選択部210に出力する。
【0141】
同時に、動き/視差補償部213は、符号化対象ブロックの隣接ブロックのベクトル情報に基づいて生成した予測ベクトルと動き/視差ベクトル検出部214より入力した動き/視差ベクトルとの差分ベクトルを算出する。動き/視差補償部213は、算出した差分ベクトル及び予測に必要な情報(参照視点画像番号及び参照フレーム番号)を予測方式制御部209に出力する。その後、画面間予測を終了する。
【0142】
このように、本実施形態によれば、画像符号化装置100は、視差補償予測方式において、符号化対象ブロックの視差ベクトルが指し示す先の参照ブロックの少なくとも一つ以上の周辺ブロックと、それに対応する符号化対象ブロックの周辺ブロックの間の画像間特性差を用いて参照ブロックの信号を補正して視差補償予測を行うことで、つまり画像間の特性の違いを低減させる輝度補償及び/又は色補償を用いて視差補償予測を行うことで、暗黙的な追加情報(画像間特性差補償のための追加情報)を必要とせず、無論復号側に伝送する必要もなく、視差補償予測時に画像間特性差補償処理を行うことができる。そして、異なる被写体が符号化対象ブロック及びその周辺に写っている場合であっても、上記画像間特性差補償処理に必要な情報を精度良く推定することを可能にした符号化方法を提供しているため、符号化効率を飛躍的に向上させることができる。
【0143】
(実施形態2)
<画像復号装置の構成>
図9は、本発明の一実施形態である画像復号装置の構成例を示すブロック図である。
図9で例示する画像復号装置700は、符号分離部701、画像復号部702を含んで構成される。なお、画像復号部702の内部に記載した点線で示したブロック及び矢印は、画像復号部702の動作を概念的に説明するために利用する。
【0144】
以下、画像復号装置700の機能及び動作について説明する。
画像復号装置700は、伝送された符号化ストリームを入力すると、符号分離部701に渡す。符号分離部701は、符号化ストリームを受取ると、基準視点画像符号化データ、非基準視点画像符号化データを分離する。符号分離部701は、分離した基準視点画像符号化データと非基準視点画像符号化データを画像復号部702に出力する。画像復号部702の内部については、概念的な処理の内容について説明する。基準視点復号処理部703は、視点内予測符号化に従う方式により圧縮符号化された符号化データを復号し、基準視点の視点画像を復元する。復元した視点画像は、そのまま表示(或いは出力)に使用されると共に、後述する非基準視点の視点画像の復号にも使用される。非基準視点復号処理部704は、視点間予測符号化に従う方式により圧縮符号化された符号化データを、復元された上記基準視点画像に基づいて復号し、非基準視点の視点画像を復元する。最終的に、基準視点画像、非基準視点画像は、そのまま表示用画像(或いは出力用画像)として使用される。
【0145】
続いて、画像復号部702の詳細について、図10を用いて説明する。図10は、画像復号部702の構成例を示すブロック図である。
【0146】
画像復号部702は、符号化データ入力部813、エントロピー復号部801、逆量子化部802、逆直交変換部803、加算部804、予測方式制御部805、画像選択部806、デブロッキング・フィルタ部807、フレームメモリ808、動き/視差補償部809、イントラ予測部810、及び画像出力部812を含んで構成される。なお、説明のために、画面内予測部816と画面間予測部815を点線で図示し、画面内予測部816はイントラ予測部810を含み、画面間予測部815はデブロッキング・フィルタ部807、フレームメモリ808、及び動き/視差補償部809を含むものとする。
【0147】
図9において画像復号部702の動作を説明した際には、基準視点の復号処理とそれ以外の非基準視点の復号処理を明示的に分けて、基準視点復号処理部703と非基準視点復号処理部704としたが、実際にはお互いに共通する処理が多いため、以下では基準視点復号処理と非基準視点復号処理を統合した形態について説明を行う。
【0148】
具体的には、前述の基準視点復号処理部703として行う視点内予測復号方式は、図10の画面内予測部816で実施される処理と画面間予測部815で実施される処理の一部である同一視点の画像を参照する処理(動き補償)を組み合わせたものである。また、非基準視点復号処理部704として行う視点間予測復号方式は、画面内予測部816で実施される処理と画面間予測部815で実施される同一視点の画像を参照する処理(動き補償)及び異なる視点の画像を参照する処理(視差補償)を組み合わせたものである。さらに、画面間予測部815で実施される処理対象視点と同一視点の画像を参照する処理(動き補償)と異なる視点を参照する処理(視差補償)についても、復号時に参照する画像が異なるだけで、参照画像を指し示すID情報(参照視点番号、参照フレーム番号)を用いることで処理を共通化することが可能である。また、画像符号化データを復号した残差成分と各予測部815,816で予測した画像を加算して画像を復元処理する処理も、基準視点であっても非基準視点であっても共通に行える。詳細は後述する。
【0149】
符号化データ入力部813は、符号分離部701から入力された画像符号化データを、処理ブロック単位(例えば、16画素×16画素)に分割して、エントロピー復号部801に出力する。符号化データ入力部813は、ブロック位置を順次変えながら、フレーム内の全てのブロックが完了し、そして入力される符号化データが終了するまで繰り返して出力する。
【0150】
エントロピー復号部801は、符号化データ入力部813から入力された符号化データを、図2のエントロピー符号化部205が行った符号化方法(例えば、可変長符号化)と逆の処理(例えば、可変長復号)であるエントロピー復号して、差分画像符号と量子化係数及び予測符号化情報を抽出する。エントロピー復号部801は、差分画像符号と量子化係数を逆量子化部802に、予測符号化情報を予測方式制御部805に出力する。
【0151】
逆量子化部802は、エントロピー復号部801から入力された差分画像符号を、抽出した量子化係数を用いて逆量子化して復号周波数領域信号を生成し、逆直交変換部803に出力する。
【0152】
逆直交変換部803は、入力された復号周波数領域信号を、例えば逆DCT変換して空間領域信号である復号差分画像ブロック信号を生成する。逆直交変換部803は、復号周波数領域信号に基づき空間領域信号を生成することができれば、逆DCT変換に限らず、他の方法(例えば、IFFT(高速フーリエ逆変換;Inverse Fast Fourier Transform))を用いてもよい。逆直交変換部803は、生成した復号差分画像ブロック信号を加算部804に出力する。
【0153】
予測方式制御部805は、エントロピー復号部801から入力される予測符号化情報の中から、図1及び図2で示した画像符号化装置100で採用されたブロック単位の予測方式を取り出す。予測方式は、画面内予測、或いは画面間予測である。予測方式制御部805は、抽出した予測方式に関する情報を画像選択部806に出力する。また、予測方式制御部805は、エントロピー復号部801から入力される予測符号化情報の中から符号化情報を取り出し、抽出した予測方式に対応する処理部に符号化情報を出力する。予測方式制御部805は、予測方式が画面内予測である場合には、画面内予測部816に符号化情報を画面内予測符号化情報として出力する。予測方式制御部805は、予測方式が画面間予測である場合には、画面間予測部815に符号化情報を画面間予測符号化情報として出力する。
【0154】
画像選択部806は、予測方式制御部805から入力された予測方式に従って、画面内予測部816から入力される画面内予測画像ブロック信号、或いは画面間予測部815から入力される画面間予測画像ブロック信号を選択する。予測方式が、画面内予測の場合には、画面内予測画像ブロック信号を選択する。予測方式が、画面間予測の場合には、画面間予測画像ブロック信号を選択する。画像選択部806は、選択した予測画像ブロック信号を、加算部804に出力する。
【0155】
加算部804は、逆直交変換部803から入力した復号差分画像ブロック信号に画像選択部806から入力した予測画像ブロック信号を加算し、復号画像ブロック信号を生成する。加算部804は、復号した復号画像ブロック信号を、画面内予測部816と画面間予測部815、及び画像出力部812に出力する。
【0156】
画像出力部812は、加算部804から復号画像ブロック信号を入力し、図示しないフレームメモリに画像の一部として一旦保持する。画像出力部812は、表示順にフレームの並び替えを行った後、全ての視点画像が揃った時に、画像復号装置700の外部に出力する。
【0157】
続いて、画面内予測部816と画面間予測部815について説明する。
まず、画面内予測部816について説明する。
画面内予測部816内のイントラ予測部810は、加算部804より復号画像ブロック信号と予測方式制御部805より画面内予測符号化情報を入力する。イントラ予測部810は、画面内予測符号化情報に基づいて、符号化時に実施した画面内予測を再現する。なお、画面内予測は上述の従来方式に従って実施できる。イントラ予測部810は、生成した予測画像を画面内予測画像ブロック信号として、画像選択部806に出力する。
【0158】
続いて、画面間予測部815の詳細について説明する。
デブロッキング・フィルタ部807は、加算部804から入力される復号画像ブロック信号に対して、デブロッキング・フィルタ部211で行うFIRフィルタと同じ処理を行い、その処理結果(補正ブロック信号)をフレームメモリ808に出力する。
【0159】
フレームメモリ808は、デブロッキング・フィルタ部807から補正ブロック信号を入力し、視点番号とフレーム番号を同定できる情報と共に画像の一部として補正ブロック信号を保持しておく。フレームメモリ808は、図示していないメモリ管理部によって、入力画像のピクチャの種類、或いは画像の順番が管理され、その指示に従って画像を蓄えたり破棄たりする。画像管理については、従来方式のMVCの画像管理方法を利用することもできる。
【0160】
動き/視差補償部809は、予測方式制御部805より画面間予測符号化情報を入力し、その中から参照画像情報(参照視点画像番号と参照フレーム番号)と差分ベクトル(動き/視差ベクトルと予測ベクトルの差分ベクトル)を取り出す。動き/視差補償部809は、前述の動き/視差補償部213で実施した予測ベクトル生成方法と同じ方法によって、予測ベクトルを生成する。動き/視差補償部809は、算出した予測ベクトルに差分ベクトルを加算して、動き/視差ベクトルを再現する。動き/視差補償部809は、参照画像情報と動き/視差ベクトルに基づいて、フレームメモリ808に蓄積されている画像の中から対象の画像ブロック信号(予測画像ブロック信号)を抽出する。
【0161】
参照ベクトルが視差ベクトルの場合、動き/視差補償部809は同時に、復号対象ブロック周辺の画像ブロック信号(復号対象ブロック周辺画像ブロック信号)と予測画像ブロック周辺の画像信号ブロック信号(予測画像ブロック周辺画像ブロック信号)を抽出し、前述の符号化時に用いた類似性を判定する方法を用いて、符号化時と同じ条件で類似性の判定を行う。さらに、その判定結果に従い、符号化時と同じ画像間特性差補正処理を実施する。
【0162】
参照ベクトルが動きベクトルの場合、画像間特性差補償処理を行わずに、参照画像ブロック信号をそのまま出力する。
【0163】
動き/視差補償部809は、画像間特性差補正後の画像ブロック信号、或いは参照画像ブロック信号を画面間予測画像ブロック信号として画像選択部806に出力する。
【0164】
以上のように、画像復号装置700は、少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に、各視点画像間の特性差を補正して視差補償を行う。図10の例では、動き/視差補償部809が前述の動き/視差補償部213と同様にしてこの視差補償の処理を行っている。つまり、動き/視差補償部809は、復号対象ブロックを復号する際に参照する参照ブロックを抽出する対応ブロック抽出部と、復号対象ブロックの周辺のブロックと視差ベクトルが指し示す参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正する補正処理部と、を備える。
【0165】
上述したように、符号化時と同じ条件での類似性の判定や、その判定結果に従った符号化時と同じ画像間特性差補正処理を実施する。つまり、前述の動き/視差補償部213における他の応用例についても同様に動き/視差補償部809に適用できる。
【0166】
より具体的には、画像復号装置700において、復号対象ブロックから見たその復号対象ブロックの周辺のブロックの相対位置は、対応ブロック抽出部でその復号対象ブロックの参照元として抽出された参照ブロックから見た、その参照ブロックの周辺のブロックの相対位置と対応していることが好ましい。また、補正処理部は、復号対象ブロックに写る被写体とは異なる被写体が写る周辺のブロックを除外して補正を実行する、若しくは、復号対象ブロックに写る被写体と同じ被写体が写る可能性が最も高い周辺のブロックを一つ選んで補正を実行することが好ましい。さらに、被写体の判定に、各視点画像(復号対象画像)に対応する奥行き情報を用いることができる。用いる奥行き情報は、復号対象ブロック及びその周辺ブロック、並びに参照ブロック及びその周辺ブロックについての奥行き情報となる。また、奥行き情報は、奥行き画像を分割したブロックの代表値に基づく情報であることが好ましい。
【0167】
<画像復号装置のフローチャート>
次に、本実施形態に係る画像復号装置700が行う画像復号処理について説明する。図11は、画像復号装置700が行う画像復号処理を示すフローチャートである。図9も参照しながら説明する。
【0168】
ステップS501において、画像復号装置700は、外部(例えば、画像符号化装置100)から符号化ストリームを入力し、符号分離部701によって各視点の画像符号化データに分離・抽出する。その後、ステップS502に進む。
【0169】
ステップS502において、画像復号部702は、ステップS501で分離・抽出された、視点画像の画像符号化データを復号し、結果を画像復号部702の外部に出力する。その後、ステップS503に進む。
【0170】
ステップS503において、画像復号装置700は、全ての視点画像の処理が終了していると判定した場合には、視点画像の時間軸方向の並べ替えと視点方向の順番を整えたうえで、結果を画像復号装置700の外部に出力する。画像復号装置700は、全ての視点と時間の画像の処理が終了していないと判定した場合は、ステップS502に戻って処理を続ける。
【0171】
続いて、ステップS502で実施される視点画像の復号について、図12及び図10を用いて説明する。
ステップS601において、画像復号部702は、外部から画像符号化データを入力する。その後、ステップS602に進む。
ステップS602において、符号化データ入力部813は、画像復号部702の外部から入力された符号化データを予め定めた大きさ(例えば、垂直方向16画素×水平方向16画素)に対応する処理ブロックに分割して、エントロピー復号部801に出力する。画像復号部702は、ステップS602〜ステップS608の処理をフレーム内の画像ブロック毎に繰り返す。
【0172】
ステップS603において、エントロピー復号部801は、符号化データ入力部813から入力された画像符号化データをエントロピー復号し、差分画像符号と量子化係数、及び予測符号化情報を生成する。エントロピー復号部801は、差分画像符号と量子化係数を、逆量子化部802に出力し、予測符号化情報を予測方式制御部805に出力する。予測方式制御部805は、エントロピー復号部801から予測符号化情報を入力し、予測方式に関する情報とその予測方式に対応する符号化情報を取り出す。予測方式が、画面内予測の場合には、符号化情報を画面内予測符号化情報として画面内予測部816に出力する。予測方式が、画面間予測の場合には、符号化情報を画面間予測符号化情報として画面間予測部815に出力する。その後、ステップS604とステップS605に進む。
【0173】
ステップS604において、画面内予測部816内のイントラ予測部810は、予測方式制御部805から入力される画面内予測符号化情報と加算部804から入力される復号画像ブロック信号を入力して、画面内予測処理を実施する。イントラ予測部810は、生成された画面内予測画像ブロック信号を画像選択部806に出力する。なお、最初の処理において、加算部804の処理が完了していない場合には、リセットされた画像ブロック信号(全ての画素値が0の画像ブロック信号)を入力するものとする。その後、ステップS606に進む。
【0174】
ステップS605において、画面間予測部815は、予測方式制御部805から入力される画面間予測符号化情報と加算部804から入力される復号画像ブロック信号に基づいて、画面間予測を実施する。画面間予測部815は、生成された画面間予測画像ブロック信号を画像選択部806に出力する。画面間予測の処理については後述する。なお、最初の処理において、加算部804の処理が完了していない場合には、リセットされた画像ブロック信号(全ての画素値が0の画像ブロック信号)を入力するものとする。その後、ステップS606に進む。
【0175】
ステップS606において、画像選択部806は、予測方式制御部805から入力された予測方式に関する情報に基づいて、画面内予測部816から入力された画面内予測画像ブロック信号、若しくは画面間予測部815から入力された画面間予測画像信号を選択して、加算部804に出力する。その後、ステップS607に進む。
【0176】
ステップS607において、逆量子化部802は、エントロピー復号部801から入力した差分画像符号と量子化係数を用いて、図2の画像符号化部101の量子化部204で実施した量子化の逆の処理を行う。逆量子化部802は、生成された復号周波数領域信号を逆直交変換部803に出力する。逆直交変換部803は、逆量子化部802から逆量子化された復号周波数領域信号を入力し、図2の画像符号化部101の直交変換部203で実施した直交変換処理の逆直交変換処理を実施し、差分画像(復号差分画像ブロック信号)を復号する。逆直交変換部803は、復号された復号差分画像ブロック信号を加算部804に出力する。加算部804は、逆直交変換部803から入力される復号差分画像ブロック信号に画像選択部806から入力される予測画像ブロック信号を加算して、復号画像ブロック信号を生成する。加算部804は、復号した復号画像ブロック信号を画像出力部812と画面内予測部816及び画面間予測部815に出力する。その後、ステップS608に進む。
【0177】
ステップS608において、画像出力部812は、加算部804から入力される復号画像ブロック信号を、画像内の対応する位置に配置させ出力画像生成する。フレーム内の全ブロックについてステップS602〜ステップS608の処理が完了していない場合、処理対象となるブロックを変更してステップS602に戻る。
画像出力部812は、画像を表示順に並び替えを行い、同一フレームの視点画像を揃えて画像復号装置700の外部に出力する。
【0178】
画面間予測部815の処理フローについては、図13及び図10を用いて説明する。
ステップS701において、デブロッキング・フィルタ部807は、画面間予測部815の外部にある加算部804から復号画像ブロック信号を入力し、上記符号化時に行ったFIRフィルタ処理を実施する。デブロッキング・フィルタ部807は、フィルタ処理後の補正ブロック信号をフレームメモリ808に出力する。その後、ステップS702に進む。
【0179】
ステップS702において、フレームメモリ808は、デブロッキング・フィルタ部807の補正ブロック信号を入力し、視点番号とフレーム番号を同定できる情報と共に画像の一部として補正ブロック信号を保持しておく。その後、ステップS703に進む。
【0180】
ステップS703において、動き/視差補償部809は、予測方式制御部805から画面間予測符号化情報を入力し、その中から参照画像情報(参照視点画像番号と参照フレーム番号)と差分ベクトル(動き/視差ベクトルと予測ベクトルとの差分ベクトル)を取り出す。動き/視差補償部809は、前述の動き/視差補償部213で実施した予測ベクトル生成方法と同じ方法によって、予測ベクトルを生成する。動き/視差補償部809は、算出した予測ベクトルに差分ベクトルを加算して、動き/視差ベクトルを生成する。動き/視差補償部809は、参照画像情報と動き/視差ベクトルに基づいて、フレームメモリ808に蓄積されている画像の中から対象の画像ブロック信号(予測画像ブロック信号)を抽出する。同時に、動き/視差補償部809は、参照ベクトルが視差ベクトルの場合には、符号化対象ブロックと参照画像ブロックそれぞれの周辺画像ブロック信号を取り出し、前述の画像間特性差補償処理を実施し、結果を画面間予測画像ブロック信号として画像選択部806に出力する。
【0181】
動き/視差補償部809は、参照ベクトルが動きベクトルの場合には、前述の画像間特性差補償処理を行わずに、予測画像ブロック信号をそのまま画面間予測画像ブロック信号として画像選択部806に出力する。
その後、画面間予測処理を終了する。
【0182】
このように、本実施形態によれば、画像復号装置700は、明示的な画像間特性差補償のための追加情報を受信することなく、画像間特性差補償を実施した視差補償予測を行うことができる。つまり、本実施形態によれば、図1の画像符号化装置100のようにして符号化効率を高めて符号化されたデータを復号することができる。
【0183】
(実施形態3)
<ソフトウェア、方法>
上述した実施形態における画像符号化装置100、画像復号装置700の一部、例えば、符号構成部104と、画像符号化部101内の減算部202、直交変換部203、量子化部204、エントロピー符号化部205、逆量子化部206、逆直交変換部207、加算部208、予測方式制御部209、画像選択部210、デブロッキング・フィルタ部211、動き/視差補償部213、動き/視差ベクトル検出部214、及びイントラ予測部215と、符号分離部701と、画像復号部702内のエントロピー復号部801、逆量子化部802、逆直交変換部803、加算部804、予測方式制御部805、画像選択部806、デブロッキング・フィルタ部807、動き/視差補償部809、及びイントラ予測部810を、コンピュータで実現するようにしてもよい。
【0184】
その場合、この制御機能を実現するためのプログラム(画像符号化プログラム及び/又は画像復号プログラム)をコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、画像符号化装置100又は画像復号装置700に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるものであってもよい。また、このプログラムは、可搬の記録媒体やネットワークを介して流通させるに限らず、放送波を介して流通させることもできる。
【0185】
上記画像符号化プログラムは、少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に各視点画像間の特性差を補正して視差補償を行う画像符号化処理を、コンピュータに実行させるためのプログラムである。ここで、上記画像符号化処理は、符号化対象ブロックを符号化する際に参照する参照ブロックを抽出するステップと、符号化対象ブロックの周辺のブロックと参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正するステップと、を有するものとする。その他の応用例については、画像符号化装置について説明した通りである。
【0186】
また、上記画像復号プログラムは、少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に各視点画像間の特性差を補正して視差補償を行う画像復号処理を、コンピュータに実行させるためのプログラムである。ここで、上記画像復号処理は、復号対象ブロックを復号する際に参照する参照ブロックを抽出するステップと、復号対象ブロックの周辺のブロックと参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正するステップと、を有するものとする。その他の応用例については、画像復号装置について説明した通りである。この画像復号プログラムは、多視点画像の再生ソフトウェアの一部として実装することができる。
【0187】
また、上述した実施形態における画像符号化装置100及び画像復号装置700の一部、又は全部を、LSI(Large Scale Integration)等の集積回路又はIC(Integrated Circuit)チップセットとして実現してもよい。画像符号化装置100及び画像復号装置700の各機能ブロックは個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0188】
また、本発明は、画像符号化装置、画像復号装置における制御の流れを例示したように、さらには画像符号化プログラム、画像復号プログラムの各ステップの処理として説明したように、画像符号化方法、画像復号方法としての形態も採り得る。
【0189】
上記画像符号化方法は、少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に、各視点画像間の特性差を補正して視差補償を行う方法であって、符号化対象ブロックを符号化する際に参照する参照ブロックを抽出するステップと、符号化対象ブロックの周辺のブロックと参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正するステップと、を有するものとする。その他の応用例については、画像符号化装置について説明した通りである。
【0190】
また、上記画像復号方法は、少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に、各視点画像間の特性差を補正して視差補償を行う方法であって、復号対象ブロックを復号する際に参照する参照ブロックを抽出するステップと、復号対象ブロックの周辺のブロックと参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正するステップと、を有するものとする。その他の応用例については、画像復号装置について説明した通りである。
【符号の説明】
【0191】
100…画像符号化装置、101…画像符号化部、102…基準視点符号化処理部、103…非基準視点符号化処理部、104…符号構成部、201…画像入力部、202…減算部、203…直交変換部、204…量子化部、205…エントロピー符号化部、206…逆量子化部、207…逆直交変換部、208…加算部、209…予測方式制御部、210…画像選択部、211…デブロッキング・フィルタ部、212…フレームメモリ、213…動き/視差補償部、214…視差ベクトル検出部、215…イントラ予測部、217…画面内予測部、218…画面間予測部、301…対応ブロック抽出部、302…補正係数算出部、303…補正処理部、401…符号化対象画像、402…参照画像、403…符号化対象ブロック、404…符号化対象ブロック周辺画像ブロック、405…参照ブロック、406…参照ブロック周辺画像ブロック、407…視差ベクトル、700…画像復号装置、701…符号分離部、702…画像復号部、703…基準視点復号処理部、704…非基準視点復号処理部、801…エントロピー復号部、802…逆量子化部、803…逆直交変換部、804…加算部、805…予測方式制御部、806…画像選択部、807…デブロッキング・フィルタ部、808…フレームメモリ、809…動き/視差補償部、810…イントラ予測部、812…画像出力部、813…符号化データ入力部、815…画面間予測部、816…画面内予測部、901…被写体、902…カメラ、903…センサ、906…符号化器、907…復号器、908…表示部。
【特許請求の範囲】
【請求項1】
少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に、各視点画像間の特性差を補正して視差補償を行う画像符号化装置であって、
符号化対象ブロックを符号化する際に参照する参照ブロックを抽出する対応ブロック抽出部と、
前記符号化対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正する補正処理部と、
を備えたことを特徴とする画像符号化装置。
【請求項2】
前記符号化対象ブロックから見た前記符号化対象ブロックの周辺のブロックの相対位置は、前記対応ブロック抽出部で前記符号化対象ブロックの参照元として抽出された前記参照ブロックから見た、前記参照ブロックの周辺のブロックの相対位置と対応していることを特徴とする請求項1に記載の画像符号化装置。
【請求項3】
前記補正処理部は、前記符号化対象ブロックに写る被写体とは異なる被写体が写る周辺のブロックを除外して、補正を実行することを特徴とする請求項1又は2に記載の画像符号化装置。
【請求項4】
前記補正処理部は、前記符号化対象ブロックに写る被写体と同じ被写体が写る可能性が最も高い周辺のブロックを一つ選んで、補正を実行することを特徴とする請求項1又は2に記載の画像符号化装置。
【請求項5】
前記被写体の判定に、各視点画像に対応する奥行き情報を用いることを特徴とする請求項3又は4に記載の画像符号化装置。
【請求項6】
前記奥行き情報は、奥行き画像を分割したブロックの代表値に基づく情報であることを特徴とする請求項5に記載の画像符号化装置。
【請求項7】
少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に、各視点画像間の特性差を補正して視差補償を行う画像復号装置であって、
復号対象ブロックを復号する際に参照する参照ブロックを抽出する対応ブロック抽出部と、
前記復号対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正する補正処理部と、
を備えたことを特徴とする画像復号装置。
【請求項8】
前記復号対象ブロックから見た前記復号対象ブロックの周辺のブロックの相対位置は、前記対応ブロック抽出部で前記復号対象ブロックの参照元として抽出された前記参照ブロックから見た、前記参照ブロックの周辺のブロックの相対位置と対応していることを特徴とする請求項7に記載の画像復号装置。
【請求項9】
前記補正処理部は、前記復号対象ブロックに写る被写体とは異なる被写体が写る周辺のブロックを除外して、補正を実行することを特徴とする請求項7又は8に記載の画像復号装置。
【請求項10】
前記補正処理部は、前記復号対象ブロックに写る被写体と同じ被写体が写る可能性が最も高い周辺のブロックを一つ選んで、補正を実行することを特徴とする請求項7又は8に記載の画像復号装置。
【請求項11】
前記被写体の判定に、各視点画像に対応する奥行き情報を用いることを特徴とする請求項9又は10に記載の画像復号装置。
【請求項12】
前記奥行き情報は、奥行き画像を分割したブロックの代表値に基づく情報であることを特徴とする請求項11に記載の画像復号装置。
【請求項13】
少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に、各視点画像間の特性差を補正して視差補償を行う画像符号化方法であって、
符号化対象ブロックを符号化する際に参照する参照ブロックを抽出するステップと、
前記符号化対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正するステップと、
を有することを特徴とする画像符号化方法。
【請求項14】
少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に、各視点画像間の特性差を補正して視差補償を行う画像復号方法であって、
復号対象ブロックを復号する際に参照する参照ブロックを抽出するステップと、
前記復号対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正するステップと、
を有することを特徴とする画像復号方法。
【請求項15】
少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に各視点画像間の特性差を補正して視差補償を行う画像符号化処理を、コンピュータに実行させるための画像符号化プログラムであって、前記画像符号化処理は、
符号化対象ブロックを符号化する際に参照する参照ブロックを抽出するステップと、
前記符号化対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正するステップと、
を有することを特徴とする画像符号化プログラム。
【請求項16】
少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に各視点画像間の特性差を補正して視差補償を行う画像復号処理を、コンピュータに実行させるための画像復号プログラムであって、前記画像復号処理は、
復号対象ブロックを復号する際に参照する参照ブロックを抽出するステップと、
前記復号対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正するステップと、
を有することを特徴とする画像復号プログラム。
【請求項1】
少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に、各視点画像間の特性差を補正して視差補償を行う画像符号化装置であって、
符号化対象ブロックを符号化する際に参照する参照ブロックを抽出する対応ブロック抽出部と、
前記符号化対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正する補正処理部と、
を備えたことを特徴とする画像符号化装置。
【請求項2】
前記符号化対象ブロックから見た前記符号化対象ブロックの周辺のブロックの相対位置は、前記対応ブロック抽出部で前記符号化対象ブロックの参照元として抽出された前記参照ブロックから見た、前記参照ブロックの周辺のブロックの相対位置と対応していることを特徴とする請求項1に記載の画像符号化装置。
【請求項3】
前記補正処理部は、前記符号化対象ブロックに写る被写体とは異なる被写体が写る周辺のブロックを除外して、補正を実行することを特徴とする請求項1又は2に記載の画像符号化装置。
【請求項4】
前記補正処理部は、前記符号化対象ブロックに写る被写体と同じ被写体が写る可能性が最も高い周辺のブロックを一つ選んで、補正を実行することを特徴とする請求項1又は2に記載の画像符号化装置。
【請求項5】
前記被写体の判定に、各視点画像に対応する奥行き情報を用いることを特徴とする請求項3又は4に記載の画像符号化装置。
【請求項6】
前記奥行き情報は、奥行き画像を分割したブロックの代表値に基づく情報であることを特徴とする請求項5に記載の画像符号化装置。
【請求項7】
少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に、各視点画像間の特性差を補正して視差補償を行う画像復号装置であって、
復号対象ブロックを復号する際に参照する参照ブロックを抽出する対応ブロック抽出部と、
前記復号対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正する補正処理部と、
を備えたことを特徴とする画像復号装置。
【請求項8】
前記復号対象ブロックから見た前記復号対象ブロックの周辺のブロックの相対位置は、前記対応ブロック抽出部で前記復号対象ブロックの参照元として抽出された前記参照ブロックから見た、前記参照ブロックの周辺のブロックの相対位置と対応していることを特徴とする請求項7に記載の画像復号装置。
【請求項9】
前記補正処理部は、前記復号対象ブロックに写る被写体とは異なる被写体が写る周辺のブロックを除外して、補正を実行することを特徴とする請求項7又は8に記載の画像復号装置。
【請求項10】
前記補正処理部は、前記復号対象ブロックに写る被写体と同じ被写体が写る可能性が最も高い周辺のブロックを一つ選んで、補正を実行することを特徴とする請求項7又は8に記載の画像復号装置。
【請求項11】
前記被写体の判定に、各視点画像に対応する奥行き情報を用いることを特徴とする請求項9又は10に記載の画像復号装置。
【請求項12】
前記奥行き情報は、奥行き画像を分割したブロックの代表値に基づく情報であることを特徴とする請求項11に記載の画像復号装置。
【請求項13】
少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に、各視点画像間の特性差を補正して視差補償を行う画像符号化方法であって、
符号化対象ブロックを符号化する際に参照する参照ブロックを抽出するステップと、
前記符号化対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正するステップと、
を有することを特徴とする画像符号化方法。
【請求項14】
少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に、各視点画像間の特性差を補正して視差補償を行う画像復号方法であって、
復号対象ブロックを復号する際に参照する参照ブロックを抽出するステップと、
前記復号対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正するステップと、
を有することを特徴とする画像復号方法。
【請求項15】
少なくとも2つ以上の視点から撮影した各視点画像を符号化する際に各視点画像間の特性差を補正して視差補償を行う画像符号化処理を、コンピュータに実行させるための画像符号化プログラムであって、前記画像符号化処理は、
符号化対象ブロックを符号化する際に参照する参照ブロックを抽出するステップと、
前記符号化対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、各視点画像間の特性差を補正するステップと、
を有することを特徴とする画像符号化プログラム。
【請求項16】
少なくとも2つ以上の視点から撮影した各視点画像の符号化ストリームを復号する際に各視点画像間の特性差を補正して視差補償を行う画像復号処理を、コンピュータに実行させるための画像復号プログラムであって、前記画像復号処理は、
復号対象ブロックを復号する際に参照する参照ブロックを抽出するステップと、
前記復号対象ブロックの周辺のブロックと前記参照ブロックの周辺のブロックとの類似性に基づいて、視点画像間の特性差を補正するステップと、
を有することを特徴とする画像復号プログラム。
【図1】
【図2】
【図3】
【図4】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図5】
【図2】
【図3】
【図4】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図5】
【公開番号】特開2013−110555(P2013−110555A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−253617(P2011−253617)
【出願日】平成23年11月21日(2011.11.21)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願日】平成23年11月21日(2011.11.21)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
[ Back to top ]