マップ変換方法、マップ変換装置及びマップ変換プログラム
【課題】3次元画像の表示に関し、再現可能な奥行き範囲内でより良好な奥行き感を得られるように奥行きマップを変換可能なマップ変換技術を提供する。
【解決手段】マップ変換装置は、3次元画像の表示に関し、入力画像の一部の画素を含む画像領域の奥行きを画素毎に示す奥行きマップを用いて、奥行きの存在頻度の累積を表す累積ヒストグラムを算出し、当該累積ヒストグラムを用いて、入力画像における奥行きマップを、出力先における奥行き範囲内の奥行きを画素毎に示す奥行きマップに変換する。
【解決手段】マップ変換装置は、3次元画像の表示に関し、入力画像の一部の画素を含む画像領域の奥行きを画素毎に示す奥行きマップを用いて、奥行きの存在頻度の累積を表す累積ヒストグラムを算出し、当該累積ヒストグラムを用いて、入力画像における奥行きマップを、出力先における奥行き範囲内の奥行きを画素毎に示す奥行きマップに変換する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、マップ変換方法、マップ変換装置及びマップ変換プログラムに関する。
【背景技術】
【0002】
従来より、2つの視点からの視差を有する2つの画像を含むステレオ画像や、画像の奥行きを画素毎に示す奥行きマップを伴った画像を用いて、奥行きが表現された3次元的な画像(3次元画像という)を表示する表示デバイス(3D表示デバイスという)がある。このような3D表示デバイスで再現可能な奥行きの範囲(奥行き範囲という)は、3D表示デバイス毎に異なる。また、3D表示デバイスに入力される画像(入力画像という)における奥行き範囲と、出力先の3D表示デバイスで再現可能な奥行き範囲とが異なるため、3次元画像の表示に際して、入力画像における奥行き範囲を出力先の3D表示デバイスに適した奥行き範囲に変換(補正)する必要がある。このような奥行き範囲の変換を行わないでそのまま画像を3D表示デバイスに表示させると、例えば、手前側や奥側がボケたり、奥行き感が足りなく感じられたりすることがある。奥行き範囲の変換の技術には、例えば、所望の視差量となるように逐次的に奥行き範囲を補正する方法がある(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−298753号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、従来の技術では、奥行き範囲を変換する方法によっては、例えば、変換先の奥行きが圧縮されすぎてしまい、出力先の3D表示デバイスで表示された画像に表れる物体が潰れて見えてしまう恐れがあった。
【0005】
本発明の一側面は、3次元画像の表示に関し、再現可能な奥行き範囲内でより良好な奥行き感を得られるように奥行きマップを変換可能なマップ変換方法、マップ変換装置及びマップ変換プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の一の実施形態に係るマップ変換方法は、画像の一部の画素を含む画像領域の奥行きを画素毎に示す第1のマップを用いて、前記画像領域における奥行きの存在頻度を算出する算出ステップと、前記存在頻度を用いて、前記第1のマップを、第1の範囲内の奥行きを画素毎に示す第2のマップに変換する第1変換ステップとを含む。
【図面の簡単な説明】
【0007】
【図1】奥行きマップの変換に係る線形変換を例示する図。
【図2】線形変換を用いた奥行きマップの変換を説明するための図。
【図3】第1の実施の形態の奥行きマップの変換を説明するための図。
【図4】マップ変換装置の機能的構成を例示する図。
【図5】マップ変換処理の手順を示すフローチャート。
【図6】累積ヒストグラムを例示する図。
【図7】累積ヒストグラムを用いた奥行きマップの変換を説明するための図。
【図8】第2の実施の形態のマップ変換装置の機能的構成を例示する図。
【図9】マップ変換処理の手順を示すフローチャート。
【図10】奥行きマップの変換に係るガンマ変換を例示する図。
【図11】奥行きマップの変換に係る逆ガンマ変換を例示する図。
【図12】累積ヒストグラムを用いた変換とベース変換との合成を例示する図。
【発明を実施するための形態】
【0008】
以下に添付図面を参照して、本実施形態に係るマップ変換方法、マップ変換装置及びマップ変換プログラムを詳細に説明する。
【0009】
[第1の実施の形態]
本実施の形態に係るマップ変換装置1は、異なる2つの視点からの視差を有する2つの画像を含むステレオ画像や、異なる3つ以上の視点からの視差を有する3つ以上の画像を含む多視差画像や、画像の一部の画素を含む画像領域の奥行きを画素毎に示す奥行きマップが対応付けられた画像が入力されたときに、当該画像を用いて奥行きが表現された3次元画像を3D表示デバイスに表示させるために、当該奥行きマップを出力先の3D表示デバイスに適した奥行きマップに変換する。ステレオ画像や多視差画像には奥行きマップは対応付けられていないが、ステレオマッチング技術により、異なる視点の画像間の対応付けを求め、これに基づいて奥行きマップが生成され得る。また、2次元で表現された画像を3次元的に表示させるために、当該画像に対して奥行きマップが別途生成されて対応付けられる場合であっても同様に、当該画像及び奥行きマップがマップ変換装置1に入力され得る。以下では、奥行きマップが既に対応付けられた画像が入力されるものとして説明を行うが、本実施の形態においては、これに限定されるものではない。
【0010】
奥行きマップの変換の方法としては、例えば、図1に例示されるような線形変換を用いることが考えられる。即ち、入力画像における奥行き範囲が出力先の3D表示デバイスにおける奥行き範囲に収まるように線形関数を使って奥行きマップを変換する方法である。同図の例では、横軸に、入力画像における奥行き(入力奥行き)が示され、縦軸に、出力先における奥行き(出力奥行き)が示されており、入力画像における奥行き範囲「sn≦x≦sx」が、出力における奥行き範囲「dn≦y≦dy」に変換されることが示されている。しかし線形変換には以下のような問題が発生する恐れがある。例えば、手前側に物体が大きく表れ、奥側に背景が一部表れる画像を考える。その時の奥行き値の存在頻度(頻度)を表すヒストグラムは、図2に例示されるグラフの横軸下部に示されるようになる。同図においては、グラフの左側が、3次元空間における手前側の奥行きを示し、グラフの右側が、3次元空間の奥側の奥行きを示している。この例では、3次元空間における手前側に、奥行きの多くある物体が存在しており、奥側の一部に、奥行きのややある背景が存在している。このような入力画像における奥行き範囲全体を線形変換により、出力先の3D表示デバイスで再現可能な奥行き範囲に圧縮する場合を考える。出力先の3D表示デバイスでの奥行きの存在頻度は、図2の縦軸左側に示されるものになるが、同図から分かるように、手前側の物体の奥行きが圧縮されすぎてしまい、これが3D表示デバイスで表示されると、手前側の物体の奥行きが潰れたように見えてしまう。自然界には非常に大きな奥行き範囲が存在するが、それを限られた奥行き範囲の中に全て収めて再現しようとするために、物体の奥行きの潰れが発生してしまうことがある。即ち、奥行きマップの変換の方法に応じて、物体の奥行き感が損なわれてしまう恐れがある。そこで本実施の形態においては、マップ変換装置1は、再現可能な奥行き範囲内でより良好な奥行き感を得られるように、奥行きの頻度の累積を表す累積ヒストグラムを用いて、入力画像における奥行きマップを出力先における奥行き範囲に収まる奥行きマップに変換する。このとき、マップ変換装置1は、図3に例示されるように、変換元の画素毎の奥行きをそれぞれ、その存在頻度が高いほど大きい範囲の奥行きに変換し、その存在頻度が低いほど小さい範囲の奥行きに変換することにより、奥行きマップの変換を行う。このようにすることで物体が潰れて見えてしまうことを防ぐことができる。以下、このような奥行きマップの変換を実現するための詳細な構成について説明する。
【0011】
まず、本実施の形態に係るマップ変換装置1のハードウェア構成について説明する。本実施の形態のマップ変換装置1は、装置全体を制御するCPU(Central Processing Unit)等の制御部と、各種データや各種プログラムを記憶するROM(Read Only Memory)やRAM(Random Access Memory)等の主記憶部と、各種データや各種プログラムを記憶するHDD(Hard Disk Drive)やCD(Compact Disk)ドライブ装置等の補助記憶部と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、マップ変換装置1には、上述の3D表示デバイスや、ユーザの指示入力を受け付けるキーボードやマウス等の操作入力部や、外部装置の通信を制御する通信I/F(interface)が有線又は無線により各々接続されるようにしても良い。上述した奥行きマップが対応付けられた画像は、画素毎に画素値を示す画像データとして奥行きマップと共に例えばHDD等の補助記憶部に記憶される。また、マップ変換装置1が、放送波を受信する受信部を備えるようにしても良く、当該放送波により搬送された画像データが、奥行きマップが対応付けられた画像の画像データとして主記憶部や補助記憶部に記憶されるようにしても良い。
【0012】
次に、このようなハードウェア構成におけるマップ変換装置1の機能的構成について図4を用いて説明する。マップ変換装置1は、入力受付部11と、算出部12と、第1変換部13と、出力部14とを有する。これらの各部は、マップ変換装置1のCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される。尚、ここでは図示されていないが、マップ変換装置1は、出力部14に接続される視差画像生成部を更に有するようにしても良いし、他の画像処理装置の有する視差画像生成部と接続されるようにしても良い。なお、視差画像生成部とは、複数の視点からの視差を有する複数の画像(視差画像という)を生成するものである。
【0013】
入力受付部11は、画像に対応付けられた奥行きマップの入力を受け付ける。奥行きマップは、画像の一部の画素を含む画像領域の奥行きを画素毎に示すものであり、ここでは、奥行きの値(奥行き値という)自体を画素毎に示すものとする。画像の一部の画素を含む画像領域とは、画像の全部の画素を含むものであっても良いし、所定の単位である例えばブロックであっても良いし、画像において物体や人体などのオブジェクトを表す特定の領域であっても良い。
【0014】
算出部12は、入力受付部11が入力を受け付けた奥行きマップを用いて、奥行きマップによって示される奥行き値の存在頻度を算出する。本実施の形態においては、算出部12は、奥行きマップによって示される奥行き値の存在頻度の累積を表す累積ヒストグラムを算出する。累積ヒストグラムを算出する具体的な方法については後述の動作欄で説明する。
【0015】
第1変換部13は、算出部12が算出した累積ヒストグラムを用いて、入力受付部11が入力を受け付けた奥行きマップを、出力先の3D表示デバイスにおける奥行き範囲内の奥行き値を示す奥行きマップに変換する。尚、出力先の3D表示デバイスにおける奥行き範囲については、第1変換部13は予め取得しておく。奥行きマップを変換する具体的な方法については後述の動作欄で説明する。
【0016】
出力部14は、第1変換部13が変換した奥行きマップを出力する。出力先としては、例えば、視差画像生成部がある。視差画像生成部に、入力受付部11が入力を受け付けた奥行きマップに対応付けられた画像に対して画像処理が適宜行われた画像と、出力部14が出力した奥行きマップとが入力されると、視差画像生成部は、これらを用いて、視差画像を生成する。このようにして生成された視差画像が3D表示デバイスに出力されると、当該視差画像が3次元画像として3D表示デバイスに表示される。
【0017】
次に、本実施の形態に係るマップ変換装置1の行うマップ変換処理の手順について図5を用いて説明する。マップ変換装置1は、入力受付部11の機能により、画像に対応付けられた奥行きマップの入力を受け付けると(ステップS1)、算出部12の機能により、当該奥行きマップを用いて、累積ヒストグラムを算出する(ステップS2)。具体的には、例えば、算出部12は、まず、奥行きマップによって示される奥行き値の存在頻度を表すヒストグラムを算出する。ここで、画像に含まれる画素の位置(画素位置)をxとし、奥行きマップにおいて当該画素の奥行き値をz(x)とし、奥行き値の取り得る値の範囲(奥行き範囲)は「0≦z(x)≦255」とする。但し、奥行き範囲はこの範囲に限ったものではない。出力先の3D表示デバイスにおける奥行き範囲は、dminからdmaxとする。画素位置xの奥行き値z(x)を整数化したものをzi(0≦i≦255)とし、ziの存在頻度をh(zi)とし、画像に含まれる全ての画素の数をNとする。このとき、算出部12は、h(zi)を「0」で初期化しておき、以下の式1によりヒストグラムを算出する。
【0018】
【数1】
【0019】
尚、「←」は右辺を左辺に代入することを意味している。式1は、奥行き値を整数化した値ziの存在頻度の値として「1/N」をh(zi)に加算することを意味する。算出部12は、画像領域に含まれる全ての画素の奥行き値を参照して、「0≦i≦255」の各iについてそれぞれ、式1により存在頻度h(zi)を算出する。この式1によって各iについてそれぞれ算出された存在頻度h(zi)を表すヒストグラムは、ziの存在頻度の値が、画像領域に含まれる全ての画素の数で正規化された正規化ヒストグラムになっている。即ち、正規化ヒストグラムでは、奥行きマップによって示される奥行き値の存在頻度が正規化されて、当該奥行き値の出現する確率が表される。算出部12は、各iについて奥行き値を整数化した値ziの頻度を表すヒストグラムを、当該値ziの存在頻度の累積(累積頻度という)を表す累積ヒストグラムに変換する。ここで、h(zi)に対する累積頻度をc(i)とし、「c(−1)=0」とすると、算出部12は、「0≦i≦255」の各iについてそれぞれ、以下の式2により累積頻度c(i)を算出する。
【0020】
【数2】
【0021】
この式2によって各iについてそれぞれ算出された累積頻度c(i)を表すものが累積ヒストグラムである。図6は、累積ヒストグラムを例示する図である。同図では、横軸に、入力画像における奥行き値(入力奥行き)が示され、縦軸に、奥行き値の存在頻度が示されている。同図の例では、各iについてh(zi)の値に応じて「0」から「1」までの範囲で累積された累積頻度c(i)が示されている。同図から、横軸のh(zi)の値が大きいほどこの値に対応する縦軸のc(i)の値の範囲は大きくなり、h(zi)の値が小さいほどこの値に対応する縦軸のc(i)の値の範囲は小さくなっていることが分かる。即ち、入力画像においてその存在頻度が高い奥行きに対応する出力先における奥行きの範囲は大きくなり、入力画像においてその存在頻度が低い奥行きに対応する出力先における奥行きの範囲は小さくなる。
【0022】
マップ変換装置1は、第1変換部13の機能により、ステップS2で算出された累積ヒストグラムを用いて、画素毎に、ステップS1で入力が受け付けられた奥行きマップを、出力先の3D表示デバイスにおける奥行き範囲(第1の範囲)内の奥行き値を示す奥行きマップに変換する(ステップS3)。具体的には、出力先の奥行きマップにおける奥行き値をz′(x)とし、奥行き値z(x)を整数化した値を[z(x)]とする。奥行き値z(x)の整数化には、何らかの整数化関数を用いれば良い。このとき、第1変換部13は、各画素位置xについてそれぞれ、以下の式3により、奥行き値z(x)を奥行き値z′(x)に変換する。
【0023】
【数3】
【0024】
尚、c(i)の最小値(cminとする)が「0」ではない場合もあるため、第1変換部13は、各画素位置xについてそれぞれ、以下の式4により、奥行き値z(x)を奥行き値z′(x)に変換するようにしても良い。
【0025】
【数4】
【0026】
第1変換部13が、画像に含まれる全ての画素について奥行き値z(x)を奥行き値z′(x)に変換すると、ステップS1で入力を受け付けた奥行きマップを、当該奥行き値z′(x)を画素毎に示す奥行きマップに変換したことになる。
【0027】
図7は、入力画像における奥行き範囲(第2の範囲)が累積ヒストグラムにより出力先における奥行き範囲(第1の範囲)に変換された結果を概略的に例示する図である。同図の例から、入力画像における奥行きについて、その存在頻度の高いほど出力先において大きい範囲の奥行きに変換され、その存在頻度が低いほど出力先において小さい範囲の奥行きに変換されることが分かる。
【0028】
図5の説明に戻る。第1変換部13は、ステップS3で変換した奥行きマップを出力する(ステップS4)。ここで出力された奥行きマップが、例えば、視差画像生成部に入力され、ステップS1で入力が受け付けられた奥行きマップに対応付けられた画像に対して画像処理が適宜行われた画像と共に用いられて視差画像が生成されて3D表示デバイスに出力されると、当該視差画像が3次元画像として3D表示デバイスに表示されることになる。
【0029】
以上のようにして、画像の一部の画素を含む画像領域の奥行きを画素毎に示す奥行きマップに対して奥行きの存在頻度の累積を表す累積ヒストグラムを算出し、これを用いて出力先における奥行き範囲に収まるように奥行きマップを変換する。これにより、画像に表れる物体の奥行きを階調豊かに変換し、逆に奥行きが存在しないような空間については階調を圧縮することができ、入力画像における奥行き範囲全体を出力先における奥行き範囲に収めつつ、物体の奥行きを維持することができる。従って、以上のような構成によれば、3次元画像の表示に関し、再現可能な奥行き範囲内でより良好な奥行き感を得られるように奥行きマップを変換することができる。
【0030】
[第2の実施の形態]
次に、マップ変換方法、マップ変換装置及びマップ変換プログラムの第2の実施の形態について説明する。なお、上述の第1の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【0031】
第1の実施の形態においては、マップ変換装置1は、累積ヒストグラムを用いることにより、従来の線形変換では対応できないような、画像に表れる物体の奥行き感を維持したまま、入力画像における奥行きマップを、出力先における奥行き範囲に収まるように変換した。しかし、この累積ヒストグラムを用いた変換によれば、線形変換では維持されていた奥行き全体のスケール感が失われてしまう可能性がある。これは奥行きの頻度だけを元にして奥行きマップを変換してしまうために、画像全体の奥行きの傾向が圧縮されてしまうことがあるからである。そこで本実施の形態におけるマップ変換装置2は、線形変換などのベース変換と、第1の実施の形態で説明した累積ヒストグラムを用いた変換との合成により、入力画像における奥行きマップを、出力先における奥行き範囲に収まる奥行きマップに変換する。
【0032】
図8は、本実施の形態に係るマップ変換装置2の機能的構成を例示する図である。マップ変換装置2は、入力受付部11と、算出部12と、第1変換部13と、出力部14とに加え、検出部15と、第2変換部16と、合成部17とを更に有する。これらの各部は、マップ変換装置2のCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される。
【0033】
検出部15は、入力受付部11が入力を受け付けた奥行きマップによって示される奥行き値の範囲(レンジ)を検出する。第2変換部16は、検出部15が検出したレンジを用いて、入力受付部11が入力を受け付けた奥行きマップによって示される奥行き全体を一様に変換するベース変換により、当該奥行きマップを、出力先の3D表示デバイスにおける奥行き範囲内の奥行き値を示す奥行きマップに変換する。
【0034】
合成部17は、第1変換部13が変換した奥行きマップと、第2変換部16が変換した奥行きマップとをブレンド定数α(0≦α≦1)を用いて合成することにより、入力受付部11が入力を受け付けた奥行きマップを出力先の3D表示デバイスにおける奥行き範囲内の奥行き値を示す奥行きマップに変換する。ブレンド定数αの値は、設計者により予め定められていても良いし、例えば、操作入力部を介したユーザの操作入力により適宜設定されるようにしても良い。
【0035】
次に、本実施の形態に係るマップ変換装置2の行うマップ変換処理の手順について図9を用いて説明する。ステップS1〜S4は第1の実施の形態と同様である。尚、マップ変換装置2は、ステップS1の後、ステップS2の他、ステップS10を行う。ステップS10では、マップ変換装置2は、検出部15の機能より、ステップS1で入力が受け付けられた奥行きマップによって示される奥行き値のレンジを検出する。具体的には、検出部15は、当該奥行きマップによって示される全ての奥行き値を参照して、最小値zmin及び最大値zmaxを検出することにより、当該最小値zminから最大値zmaxまでの範囲(レンジ)を検出する。
【0036】
ステップS11では、マップ変換装置2は、第2変換部16の機能により、画素毎に、ステップS10で検出されたレンジを用いて、ステップS1で入力が受け付けられた奥行きマップを、ベース変換により、出力先の3D表示デバイスにおける奥行き範囲内の奥行き値を示す奥行きマップに変換する。ベース変換としては、例えば、図1に例示されるような線形変換がある。具体的には、第2変換部16は、各画素位置xについてそれぞれ、以下の式5により、奥行き値z(x)を奥行き値z″(x)に変換する。z(x)は、第1の実施の形態で説明したのと同様に、入力が受け付けられた奥行きマップによって示される奥行き値であり、z″(x)は、出力先における奥行きマップによって示される奥行き値である。
【0037】
【数5】
【0038】
また、ベース変換は、図10に例示されるようなガンマ変換であっても良い。この場合、第2変換部16は、各画素位置xについてそれぞれ、以下の式6により、奥行き値z(x)を奥行き値z″(x)に変換する。
【0039】
【数6】
【0040】
また、ベース変換は、図11に例示されるような逆ガンマ変換であっても良い。この場合、第2変換部16は、各画素位置xについてそれぞれ、以下の式7により、奥行き値z(x)を奥行き値z″(x)に変換する。
【0041】
【数7】
【0042】
なお、第2変換部16が用いる変換式は、上述のものに限られず、奥行き全体を一様に変換するベース変換であれば、いかなる変換式を用いても構わない。
【0043】
ステップS12では、マップ変換装置2は、合成部17の機能により、各画素位置xについてそれぞれ、ステップS11で変換された奥行き値z″(x)に対して「1−α」を乗じ、一方、ステップS13では、ステップS3で変換された奥行き値z′(x)に対してαを乗じて、ステップS14では、以下の式8により、奥行き値z″(x)と奥行き値z′(x)とを合成して、奥行き値z′′′(x)を求める。
【0044】
【数8】
【0045】
図12は、「α=0.5」の場合に累積ヒストグラムを用いた変換と、ベース変換と、これらの合成による変換とを例示する図である。累積ヒストグラムを用いた変換と、ベース変換との合成による変換として同図に示されるブレンド関数により、奥行き値z′′′(x)が求められる。ここで、ブレンド定数αが大きいほど累積ヒストグラムを用いた変換の要素が強くなり、ブレンド定数αが小さいほどベース変換の要素が強くなる。このようなブレンド関数により求められた奥行き値z′′′(x)を画素毎に示す奥行きマップが、入力画像における奥行きマップから、出力先の3D表示デバイスに適した奥行きマップとして最終的に変換される奥行きマップとなる。即ち、マップ変換装置2は、ステップS1で入力を受け付けた奥行きマップを、ステップS3において累積ヒストグラムを用いて変換した奥行き値と、ステップS11においてベース変換により変換した奥行き値とを画素毎に合成することにより求めた奥行き値を画素毎に示す奥行きマップに変換する。このようにして、マップ変換装置2は、累積ヒストグラムを用いて変換した奥行きマップと、ベース変換により変換した奥行きマップとを画素毎に合成して、入力画像における奥行きマップを出力先の3D表示デバイスに適した奥行きマップに変換する。
【0046】
その後ステップS4では、マップ変換装置2は、ステップS14で変換した奥行きマップを出力する。
【0047】
以上のような構成によれば、入力画像における奥行き範囲全体を出力先における奥行き範囲に収めつつ、画像に表れる物体の奥行きを維持することができると共に、奥行き全体のスケール感を維持することができる。従って、以上のような構成によっても、3次元画像の表示に関し、再現可能な奥行き範囲内でより良好な奥行き感を得られるように奥行きマップを変換することができる。
【0048】
[変形例]
尚、本発明は上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【0049】
上述した実施の形態において、画像処理装置で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。
【0050】
上述した各実施の形態において、奥行きの存在頻度を表すものとして、ヒストグラムを用い、このヒストグラムを用いて奥行きの存在頻度の累積を表す累積ヒストグラムを用いたが、奥行きの存在頻度やその存在頻度の累積を表すものはこれらに限らない。
【0051】
上述した各実施の形態において、マップ変換装置1,2は、画像に含まれる全部の画素についてマップ変換処理を行う場合であっても、ブロック毎又は特定の領域毎に奥行きマップを取得してマップ変換処理を行うようにしても良い。
【0052】
上述した各実施の形態において、奥行きマップは、画像の一部の画素を含む画像領域の奥行き値自体を画素毎に示すものとしたが、これに限らず、画像の一部の画素を含む画像領域の奥行きを視差により画素毎に示すものであっても良い。奥行き値と視差とは一対一に対応している。このため、マップ変換装置1,2は、画像の一部の画素を含む画像領域の奥行きを視差により画素毎に示す奥行きマップに対して、上述の各実施の形態と同様にして、累積ヒストグラムを算出して、当該累積ヒストグラムを用いて、出力先の3D表示デバイスに適した奥行きマップに変換することにより、再現可能な奥行き範囲内でより良好な奥行き感を得られるように奥行きマップを変換することができる。
【0053】
上述の第2の実施の形態においては、ベース変換は、入力画像における奥行きマップによって示される奥行き全体を一様に変換するものであれば、上述の例に限らない。
【符号の説明】
【0054】
1,2 マップ変換装置
11 入力受付部
12 算出部
13 第1変換部
14 出力部
15 検出部
16 第2変換部
17 合成部
【技術分野】
【0001】
本発明の実施形態は、マップ変換方法、マップ変換装置及びマップ変換プログラムに関する。
【背景技術】
【0002】
従来より、2つの視点からの視差を有する2つの画像を含むステレオ画像や、画像の奥行きを画素毎に示す奥行きマップを伴った画像を用いて、奥行きが表現された3次元的な画像(3次元画像という)を表示する表示デバイス(3D表示デバイスという)がある。このような3D表示デバイスで再現可能な奥行きの範囲(奥行き範囲という)は、3D表示デバイス毎に異なる。また、3D表示デバイスに入力される画像(入力画像という)における奥行き範囲と、出力先の3D表示デバイスで再現可能な奥行き範囲とが異なるため、3次元画像の表示に際して、入力画像における奥行き範囲を出力先の3D表示デバイスに適した奥行き範囲に変換(補正)する必要がある。このような奥行き範囲の変換を行わないでそのまま画像を3D表示デバイスに表示させると、例えば、手前側や奥側がボケたり、奥行き感が足りなく感じられたりすることがある。奥行き範囲の変換の技術には、例えば、所望の視差量となるように逐次的に奥行き範囲を補正する方法がある(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−298753号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、従来の技術では、奥行き範囲を変換する方法によっては、例えば、変換先の奥行きが圧縮されすぎてしまい、出力先の3D表示デバイスで表示された画像に表れる物体が潰れて見えてしまう恐れがあった。
【0005】
本発明の一側面は、3次元画像の表示に関し、再現可能な奥行き範囲内でより良好な奥行き感を得られるように奥行きマップを変換可能なマップ変換方法、マップ変換装置及びマップ変換プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の一の実施形態に係るマップ変換方法は、画像の一部の画素を含む画像領域の奥行きを画素毎に示す第1のマップを用いて、前記画像領域における奥行きの存在頻度を算出する算出ステップと、前記存在頻度を用いて、前記第1のマップを、第1の範囲内の奥行きを画素毎に示す第2のマップに変換する第1変換ステップとを含む。
【図面の簡単な説明】
【0007】
【図1】奥行きマップの変換に係る線形変換を例示する図。
【図2】線形変換を用いた奥行きマップの変換を説明するための図。
【図3】第1の実施の形態の奥行きマップの変換を説明するための図。
【図4】マップ変換装置の機能的構成を例示する図。
【図5】マップ変換処理の手順を示すフローチャート。
【図6】累積ヒストグラムを例示する図。
【図7】累積ヒストグラムを用いた奥行きマップの変換を説明するための図。
【図8】第2の実施の形態のマップ変換装置の機能的構成を例示する図。
【図9】マップ変換処理の手順を示すフローチャート。
【図10】奥行きマップの変換に係るガンマ変換を例示する図。
【図11】奥行きマップの変換に係る逆ガンマ変換を例示する図。
【図12】累積ヒストグラムを用いた変換とベース変換との合成を例示する図。
【発明を実施するための形態】
【0008】
以下に添付図面を参照して、本実施形態に係るマップ変換方法、マップ変換装置及びマップ変換プログラムを詳細に説明する。
【0009】
[第1の実施の形態]
本実施の形態に係るマップ変換装置1は、異なる2つの視点からの視差を有する2つの画像を含むステレオ画像や、異なる3つ以上の視点からの視差を有する3つ以上の画像を含む多視差画像や、画像の一部の画素を含む画像領域の奥行きを画素毎に示す奥行きマップが対応付けられた画像が入力されたときに、当該画像を用いて奥行きが表現された3次元画像を3D表示デバイスに表示させるために、当該奥行きマップを出力先の3D表示デバイスに適した奥行きマップに変換する。ステレオ画像や多視差画像には奥行きマップは対応付けられていないが、ステレオマッチング技術により、異なる視点の画像間の対応付けを求め、これに基づいて奥行きマップが生成され得る。また、2次元で表現された画像を3次元的に表示させるために、当該画像に対して奥行きマップが別途生成されて対応付けられる場合であっても同様に、当該画像及び奥行きマップがマップ変換装置1に入力され得る。以下では、奥行きマップが既に対応付けられた画像が入力されるものとして説明を行うが、本実施の形態においては、これに限定されるものではない。
【0010】
奥行きマップの変換の方法としては、例えば、図1に例示されるような線形変換を用いることが考えられる。即ち、入力画像における奥行き範囲が出力先の3D表示デバイスにおける奥行き範囲に収まるように線形関数を使って奥行きマップを変換する方法である。同図の例では、横軸に、入力画像における奥行き(入力奥行き)が示され、縦軸に、出力先における奥行き(出力奥行き)が示されており、入力画像における奥行き範囲「sn≦x≦sx」が、出力における奥行き範囲「dn≦y≦dy」に変換されることが示されている。しかし線形変換には以下のような問題が発生する恐れがある。例えば、手前側に物体が大きく表れ、奥側に背景が一部表れる画像を考える。その時の奥行き値の存在頻度(頻度)を表すヒストグラムは、図2に例示されるグラフの横軸下部に示されるようになる。同図においては、グラフの左側が、3次元空間における手前側の奥行きを示し、グラフの右側が、3次元空間の奥側の奥行きを示している。この例では、3次元空間における手前側に、奥行きの多くある物体が存在しており、奥側の一部に、奥行きのややある背景が存在している。このような入力画像における奥行き範囲全体を線形変換により、出力先の3D表示デバイスで再現可能な奥行き範囲に圧縮する場合を考える。出力先の3D表示デバイスでの奥行きの存在頻度は、図2の縦軸左側に示されるものになるが、同図から分かるように、手前側の物体の奥行きが圧縮されすぎてしまい、これが3D表示デバイスで表示されると、手前側の物体の奥行きが潰れたように見えてしまう。自然界には非常に大きな奥行き範囲が存在するが、それを限られた奥行き範囲の中に全て収めて再現しようとするために、物体の奥行きの潰れが発生してしまうことがある。即ち、奥行きマップの変換の方法に応じて、物体の奥行き感が損なわれてしまう恐れがある。そこで本実施の形態においては、マップ変換装置1は、再現可能な奥行き範囲内でより良好な奥行き感を得られるように、奥行きの頻度の累積を表す累積ヒストグラムを用いて、入力画像における奥行きマップを出力先における奥行き範囲に収まる奥行きマップに変換する。このとき、マップ変換装置1は、図3に例示されるように、変換元の画素毎の奥行きをそれぞれ、その存在頻度が高いほど大きい範囲の奥行きに変換し、その存在頻度が低いほど小さい範囲の奥行きに変換することにより、奥行きマップの変換を行う。このようにすることで物体が潰れて見えてしまうことを防ぐことができる。以下、このような奥行きマップの変換を実現するための詳細な構成について説明する。
【0011】
まず、本実施の形態に係るマップ変換装置1のハードウェア構成について説明する。本実施の形態のマップ変換装置1は、装置全体を制御するCPU(Central Processing Unit)等の制御部と、各種データや各種プログラムを記憶するROM(Read Only Memory)やRAM(Random Access Memory)等の主記憶部と、各種データや各種プログラムを記憶するHDD(Hard Disk Drive)やCD(Compact Disk)ドライブ装置等の補助記憶部と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、マップ変換装置1には、上述の3D表示デバイスや、ユーザの指示入力を受け付けるキーボードやマウス等の操作入力部や、外部装置の通信を制御する通信I/F(interface)が有線又は無線により各々接続されるようにしても良い。上述した奥行きマップが対応付けられた画像は、画素毎に画素値を示す画像データとして奥行きマップと共に例えばHDD等の補助記憶部に記憶される。また、マップ変換装置1が、放送波を受信する受信部を備えるようにしても良く、当該放送波により搬送された画像データが、奥行きマップが対応付けられた画像の画像データとして主記憶部や補助記憶部に記憶されるようにしても良い。
【0012】
次に、このようなハードウェア構成におけるマップ変換装置1の機能的構成について図4を用いて説明する。マップ変換装置1は、入力受付部11と、算出部12と、第1変換部13と、出力部14とを有する。これらの各部は、マップ変換装置1のCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される。尚、ここでは図示されていないが、マップ変換装置1は、出力部14に接続される視差画像生成部を更に有するようにしても良いし、他の画像処理装置の有する視差画像生成部と接続されるようにしても良い。なお、視差画像生成部とは、複数の視点からの視差を有する複数の画像(視差画像という)を生成するものである。
【0013】
入力受付部11は、画像に対応付けられた奥行きマップの入力を受け付ける。奥行きマップは、画像の一部の画素を含む画像領域の奥行きを画素毎に示すものであり、ここでは、奥行きの値(奥行き値という)自体を画素毎に示すものとする。画像の一部の画素を含む画像領域とは、画像の全部の画素を含むものであっても良いし、所定の単位である例えばブロックであっても良いし、画像において物体や人体などのオブジェクトを表す特定の領域であっても良い。
【0014】
算出部12は、入力受付部11が入力を受け付けた奥行きマップを用いて、奥行きマップによって示される奥行き値の存在頻度を算出する。本実施の形態においては、算出部12は、奥行きマップによって示される奥行き値の存在頻度の累積を表す累積ヒストグラムを算出する。累積ヒストグラムを算出する具体的な方法については後述の動作欄で説明する。
【0015】
第1変換部13は、算出部12が算出した累積ヒストグラムを用いて、入力受付部11が入力を受け付けた奥行きマップを、出力先の3D表示デバイスにおける奥行き範囲内の奥行き値を示す奥行きマップに変換する。尚、出力先の3D表示デバイスにおける奥行き範囲については、第1変換部13は予め取得しておく。奥行きマップを変換する具体的な方法については後述の動作欄で説明する。
【0016】
出力部14は、第1変換部13が変換した奥行きマップを出力する。出力先としては、例えば、視差画像生成部がある。視差画像生成部に、入力受付部11が入力を受け付けた奥行きマップに対応付けられた画像に対して画像処理が適宜行われた画像と、出力部14が出力した奥行きマップとが入力されると、視差画像生成部は、これらを用いて、視差画像を生成する。このようにして生成された視差画像が3D表示デバイスに出力されると、当該視差画像が3次元画像として3D表示デバイスに表示される。
【0017】
次に、本実施の形態に係るマップ変換装置1の行うマップ変換処理の手順について図5を用いて説明する。マップ変換装置1は、入力受付部11の機能により、画像に対応付けられた奥行きマップの入力を受け付けると(ステップS1)、算出部12の機能により、当該奥行きマップを用いて、累積ヒストグラムを算出する(ステップS2)。具体的には、例えば、算出部12は、まず、奥行きマップによって示される奥行き値の存在頻度を表すヒストグラムを算出する。ここで、画像に含まれる画素の位置(画素位置)をxとし、奥行きマップにおいて当該画素の奥行き値をz(x)とし、奥行き値の取り得る値の範囲(奥行き範囲)は「0≦z(x)≦255」とする。但し、奥行き範囲はこの範囲に限ったものではない。出力先の3D表示デバイスにおける奥行き範囲は、dminからdmaxとする。画素位置xの奥行き値z(x)を整数化したものをzi(0≦i≦255)とし、ziの存在頻度をh(zi)とし、画像に含まれる全ての画素の数をNとする。このとき、算出部12は、h(zi)を「0」で初期化しておき、以下の式1によりヒストグラムを算出する。
【0018】
【数1】
【0019】
尚、「←」は右辺を左辺に代入することを意味している。式1は、奥行き値を整数化した値ziの存在頻度の値として「1/N」をh(zi)に加算することを意味する。算出部12は、画像領域に含まれる全ての画素の奥行き値を参照して、「0≦i≦255」の各iについてそれぞれ、式1により存在頻度h(zi)を算出する。この式1によって各iについてそれぞれ算出された存在頻度h(zi)を表すヒストグラムは、ziの存在頻度の値が、画像領域に含まれる全ての画素の数で正規化された正規化ヒストグラムになっている。即ち、正規化ヒストグラムでは、奥行きマップによって示される奥行き値の存在頻度が正規化されて、当該奥行き値の出現する確率が表される。算出部12は、各iについて奥行き値を整数化した値ziの頻度を表すヒストグラムを、当該値ziの存在頻度の累積(累積頻度という)を表す累積ヒストグラムに変換する。ここで、h(zi)に対する累積頻度をc(i)とし、「c(−1)=0」とすると、算出部12は、「0≦i≦255」の各iについてそれぞれ、以下の式2により累積頻度c(i)を算出する。
【0020】
【数2】
【0021】
この式2によって各iについてそれぞれ算出された累積頻度c(i)を表すものが累積ヒストグラムである。図6は、累積ヒストグラムを例示する図である。同図では、横軸に、入力画像における奥行き値(入力奥行き)が示され、縦軸に、奥行き値の存在頻度が示されている。同図の例では、各iについてh(zi)の値に応じて「0」から「1」までの範囲で累積された累積頻度c(i)が示されている。同図から、横軸のh(zi)の値が大きいほどこの値に対応する縦軸のc(i)の値の範囲は大きくなり、h(zi)の値が小さいほどこの値に対応する縦軸のc(i)の値の範囲は小さくなっていることが分かる。即ち、入力画像においてその存在頻度が高い奥行きに対応する出力先における奥行きの範囲は大きくなり、入力画像においてその存在頻度が低い奥行きに対応する出力先における奥行きの範囲は小さくなる。
【0022】
マップ変換装置1は、第1変換部13の機能により、ステップS2で算出された累積ヒストグラムを用いて、画素毎に、ステップS1で入力が受け付けられた奥行きマップを、出力先の3D表示デバイスにおける奥行き範囲(第1の範囲)内の奥行き値を示す奥行きマップに変換する(ステップS3)。具体的には、出力先の奥行きマップにおける奥行き値をz′(x)とし、奥行き値z(x)を整数化した値を[z(x)]とする。奥行き値z(x)の整数化には、何らかの整数化関数を用いれば良い。このとき、第1変換部13は、各画素位置xについてそれぞれ、以下の式3により、奥行き値z(x)を奥行き値z′(x)に変換する。
【0023】
【数3】
【0024】
尚、c(i)の最小値(cminとする)が「0」ではない場合もあるため、第1変換部13は、各画素位置xについてそれぞれ、以下の式4により、奥行き値z(x)を奥行き値z′(x)に変換するようにしても良い。
【0025】
【数4】
【0026】
第1変換部13が、画像に含まれる全ての画素について奥行き値z(x)を奥行き値z′(x)に変換すると、ステップS1で入力を受け付けた奥行きマップを、当該奥行き値z′(x)を画素毎に示す奥行きマップに変換したことになる。
【0027】
図7は、入力画像における奥行き範囲(第2の範囲)が累積ヒストグラムにより出力先における奥行き範囲(第1の範囲)に変換された結果を概略的に例示する図である。同図の例から、入力画像における奥行きについて、その存在頻度の高いほど出力先において大きい範囲の奥行きに変換され、その存在頻度が低いほど出力先において小さい範囲の奥行きに変換されることが分かる。
【0028】
図5の説明に戻る。第1変換部13は、ステップS3で変換した奥行きマップを出力する(ステップS4)。ここで出力された奥行きマップが、例えば、視差画像生成部に入力され、ステップS1で入力が受け付けられた奥行きマップに対応付けられた画像に対して画像処理が適宜行われた画像と共に用いられて視差画像が生成されて3D表示デバイスに出力されると、当該視差画像が3次元画像として3D表示デバイスに表示されることになる。
【0029】
以上のようにして、画像の一部の画素を含む画像領域の奥行きを画素毎に示す奥行きマップに対して奥行きの存在頻度の累積を表す累積ヒストグラムを算出し、これを用いて出力先における奥行き範囲に収まるように奥行きマップを変換する。これにより、画像に表れる物体の奥行きを階調豊かに変換し、逆に奥行きが存在しないような空間については階調を圧縮することができ、入力画像における奥行き範囲全体を出力先における奥行き範囲に収めつつ、物体の奥行きを維持することができる。従って、以上のような構成によれば、3次元画像の表示に関し、再現可能な奥行き範囲内でより良好な奥行き感を得られるように奥行きマップを変換することができる。
【0030】
[第2の実施の形態]
次に、マップ変換方法、マップ変換装置及びマップ変換プログラムの第2の実施の形態について説明する。なお、上述の第1の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【0031】
第1の実施の形態においては、マップ変換装置1は、累積ヒストグラムを用いることにより、従来の線形変換では対応できないような、画像に表れる物体の奥行き感を維持したまま、入力画像における奥行きマップを、出力先における奥行き範囲に収まるように変換した。しかし、この累積ヒストグラムを用いた変換によれば、線形変換では維持されていた奥行き全体のスケール感が失われてしまう可能性がある。これは奥行きの頻度だけを元にして奥行きマップを変換してしまうために、画像全体の奥行きの傾向が圧縮されてしまうことがあるからである。そこで本実施の形態におけるマップ変換装置2は、線形変換などのベース変換と、第1の実施の形態で説明した累積ヒストグラムを用いた変換との合成により、入力画像における奥行きマップを、出力先における奥行き範囲に収まる奥行きマップに変換する。
【0032】
図8は、本実施の形態に係るマップ変換装置2の機能的構成を例示する図である。マップ変換装置2は、入力受付部11と、算出部12と、第1変換部13と、出力部14とに加え、検出部15と、第2変換部16と、合成部17とを更に有する。これらの各部は、マップ変換装置2のCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される。
【0033】
検出部15は、入力受付部11が入力を受け付けた奥行きマップによって示される奥行き値の範囲(レンジ)を検出する。第2変換部16は、検出部15が検出したレンジを用いて、入力受付部11が入力を受け付けた奥行きマップによって示される奥行き全体を一様に変換するベース変換により、当該奥行きマップを、出力先の3D表示デバイスにおける奥行き範囲内の奥行き値を示す奥行きマップに変換する。
【0034】
合成部17は、第1変換部13が変換した奥行きマップと、第2変換部16が変換した奥行きマップとをブレンド定数α(0≦α≦1)を用いて合成することにより、入力受付部11が入力を受け付けた奥行きマップを出力先の3D表示デバイスにおける奥行き範囲内の奥行き値を示す奥行きマップに変換する。ブレンド定数αの値は、設計者により予め定められていても良いし、例えば、操作入力部を介したユーザの操作入力により適宜設定されるようにしても良い。
【0035】
次に、本実施の形態に係るマップ変換装置2の行うマップ変換処理の手順について図9を用いて説明する。ステップS1〜S4は第1の実施の形態と同様である。尚、マップ変換装置2は、ステップS1の後、ステップS2の他、ステップS10を行う。ステップS10では、マップ変換装置2は、検出部15の機能より、ステップS1で入力が受け付けられた奥行きマップによって示される奥行き値のレンジを検出する。具体的には、検出部15は、当該奥行きマップによって示される全ての奥行き値を参照して、最小値zmin及び最大値zmaxを検出することにより、当該最小値zminから最大値zmaxまでの範囲(レンジ)を検出する。
【0036】
ステップS11では、マップ変換装置2は、第2変換部16の機能により、画素毎に、ステップS10で検出されたレンジを用いて、ステップS1で入力が受け付けられた奥行きマップを、ベース変換により、出力先の3D表示デバイスにおける奥行き範囲内の奥行き値を示す奥行きマップに変換する。ベース変換としては、例えば、図1に例示されるような線形変換がある。具体的には、第2変換部16は、各画素位置xについてそれぞれ、以下の式5により、奥行き値z(x)を奥行き値z″(x)に変換する。z(x)は、第1の実施の形態で説明したのと同様に、入力が受け付けられた奥行きマップによって示される奥行き値であり、z″(x)は、出力先における奥行きマップによって示される奥行き値である。
【0037】
【数5】
【0038】
また、ベース変換は、図10に例示されるようなガンマ変換であっても良い。この場合、第2変換部16は、各画素位置xについてそれぞれ、以下の式6により、奥行き値z(x)を奥行き値z″(x)に変換する。
【0039】
【数6】
【0040】
また、ベース変換は、図11に例示されるような逆ガンマ変換であっても良い。この場合、第2変換部16は、各画素位置xについてそれぞれ、以下の式7により、奥行き値z(x)を奥行き値z″(x)に変換する。
【0041】
【数7】
【0042】
なお、第2変換部16が用いる変換式は、上述のものに限られず、奥行き全体を一様に変換するベース変換であれば、いかなる変換式を用いても構わない。
【0043】
ステップS12では、マップ変換装置2は、合成部17の機能により、各画素位置xについてそれぞれ、ステップS11で変換された奥行き値z″(x)に対して「1−α」を乗じ、一方、ステップS13では、ステップS3で変換された奥行き値z′(x)に対してαを乗じて、ステップS14では、以下の式8により、奥行き値z″(x)と奥行き値z′(x)とを合成して、奥行き値z′′′(x)を求める。
【0044】
【数8】
【0045】
図12は、「α=0.5」の場合に累積ヒストグラムを用いた変換と、ベース変換と、これらの合成による変換とを例示する図である。累積ヒストグラムを用いた変換と、ベース変換との合成による変換として同図に示されるブレンド関数により、奥行き値z′′′(x)が求められる。ここで、ブレンド定数αが大きいほど累積ヒストグラムを用いた変換の要素が強くなり、ブレンド定数αが小さいほどベース変換の要素が強くなる。このようなブレンド関数により求められた奥行き値z′′′(x)を画素毎に示す奥行きマップが、入力画像における奥行きマップから、出力先の3D表示デバイスに適した奥行きマップとして最終的に変換される奥行きマップとなる。即ち、マップ変換装置2は、ステップS1で入力を受け付けた奥行きマップを、ステップS3において累積ヒストグラムを用いて変換した奥行き値と、ステップS11においてベース変換により変換した奥行き値とを画素毎に合成することにより求めた奥行き値を画素毎に示す奥行きマップに変換する。このようにして、マップ変換装置2は、累積ヒストグラムを用いて変換した奥行きマップと、ベース変換により変換した奥行きマップとを画素毎に合成して、入力画像における奥行きマップを出力先の3D表示デバイスに適した奥行きマップに変換する。
【0046】
その後ステップS4では、マップ変換装置2は、ステップS14で変換した奥行きマップを出力する。
【0047】
以上のような構成によれば、入力画像における奥行き範囲全体を出力先における奥行き範囲に収めつつ、画像に表れる物体の奥行きを維持することができると共に、奥行き全体のスケール感を維持することができる。従って、以上のような構成によっても、3次元画像の表示に関し、再現可能な奥行き範囲内でより良好な奥行き感を得られるように奥行きマップを変換することができる。
【0048】
[変形例]
尚、本発明は上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【0049】
上述した実施の形態において、画像処理装置で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。
【0050】
上述した各実施の形態において、奥行きの存在頻度を表すものとして、ヒストグラムを用い、このヒストグラムを用いて奥行きの存在頻度の累積を表す累積ヒストグラムを用いたが、奥行きの存在頻度やその存在頻度の累積を表すものはこれらに限らない。
【0051】
上述した各実施の形態において、マップ変換装置1,2は、画像に含まれる全部の画素についてマップ変換処理を行う場合であっても、ブロック毎又は特定の領域毎に奥行きマップを取得してマップ変換処理を行うようにしても良い。
【0052】
上述した各実施の形態において、奥行きマップは、画像の一部の画素を含む画像領域の奥行き値自体を画素毎に示すものとしたが、これに限らず、画像の一部の画素を含む画像領域の奥行きを視差により画素毎に示すものであっても良い。奥行き値と視差とは一対一に対応している。このため、マップ変換装置1,2は、画像の一部の画素を含む画像領域の奥行きを視差により画素毎に示す奥行きマップに対して、上述の各実施の形態と同様にして、累積ヒストグラムを算出して、当該累積ヒストグラムを用いて、出力先の3D表示デバイスに適した奥行きマップに変換することにより、再現可能な奥行き範囲内でより良好な奥行き感を得られるように奥行きマップを変換することができる。
【0053】
上述の第2の実施の形態においては、ベース変換は、入力画像における奥行きマップによって示される奥行き全体を一様に変換するものであれば、上述の例に限らない。
【符号の説明】
【0054】
1,2 マップ変換装置
11 入力受付部
12 算出部
13 第1変換部
14 出力部
15 検出部
16 第2変換部
17 合成部
【特許請求の範囲】
【請求項1】
画像の一部の画素を含む画像領域の奥行きを画素毎に示す第1のマップを用いて、前記画像領域における奥行きの存在頻度を算出する算出ステップと、
前記存在頻度を用いて、前記第1のマップを、第1の範囲内の奥行きを画素毎に示す第2のマップに変換する第1変換ステップとを含む
マップ変換方法。
【請求項2】
前記第1変換ステップでは、前記第1のマップによって示される画素毎の奥行きをそれぞれ、前記存在頻度の高いほど前記第2のマップにおいて大きい範囲の奥行きに変換し、前記存在頻度の低いほど前記第2のマップにおいて小さい範囲の奥行きに変換することにより、前記第1のマップを前記第2のマップに変換する
請求項1に記載のマップ変換方法。
【請求項3】
前記算出ステップでは、前記第1のマップを用いて、前記画像領域における奥行きの存在頻度の累積を表す累積ヒストグラムを算出し、
前記第1変換ステップでは、前記累積ヒストグラムを用いて、前記第1のマップを前記第2のマップに変換する
請求項1又は2記載のマップ変換方法。
【請求項4】
前記算出ステップでは、所定の変換関数を用いて、前記第1のマップを、前記第1の範囲内の奥行きを画素毎に示す第3のマップに変換する第2変換ステップと、
前記第2のマップと、前記第3のマップとを画素毎に合成することにより、前記第1のマップを、前記第1の範囲内の奥行きを画素毎に示す第4のマップに変換する合成ステップとを更に含む
請求項1乃至3に記載のマップ変換方法。
【請求項5】
前記第2変換ステップでは、線形関数を用いて、前記第1のマップを前記第3のマップに変換する
請求項4に記載のマップ変換方法。
【請求項6】
前記算出ステップでは、前記画像領域の奥行きを、第2の範囲内の奥行き値により画素毎に示す前記第1のマップを用いて、前記存在頻度を算出する
請求項1乃至5のいずれか一項に記載のマップ変換方法。
【請求項7】
前記算出ステップでは、前記画像領域の奥行きを、第2の範囲内の視差により画素毎に示す前記第1のマップを用いて、前記存在頻度を算出する
請求項1乃至5のいずれか一項に記載のマップ変換方法。
【請求項8】
画像の一部の画素を含む画像領域の奥行きを画素毎に示す第1のマップを用いて、前記画像領域における奥行きの存在頻度を算出部と、
前記存在頻度を用いて、前記第1のマップを、第1の範囲内の奥行きを画素毎に示す第2のマップに変換する変換部と
を備えるマップ変換装置。
【請求項9】
コンピュータを、
画像の一部の画素を含む画像領域の奥行きを画素毎に示す第1のマップを用いて、前記画像領域における奥行きの存在頻度を算出手段と、
前記存在頻度を用いて、前記第1のマップを、第1の範囲内の奥行きを画素毎に示す第2のマップに変換する変換手段と
して機能させるためのマップ変換プログラム。
【請求項1】
画像の一部の画素を含む画像領域の奥行きを画素毎に示す第1のマップを用いて、前記画像領域における奥行きの存在頻度を算出する算出ステップと、
前記存在頻度を用いて、前記第1のマップを、第1の範囲内の奥行きを画素毎に示す第2のマップに変換する第1変換ステップとを含む
マップ変換方法。
【請求項2】
前記第1変換ステップでは、前記第1のマップによって示される画素毎の奥行きをそれぞれ、前記存在頻度の高いほど前記第2のマップにおいて大きい範囲の奥行きに変換し、前記存在頻度の低いほど前記第2のマップにおいて小さい範囲の奥行きに変換することにより、前記第1のマップを前記第2のマップに変換する
請求項1に記載のマップ変換方法。
【請求項3】
前記算出ステップでは、前記第1のマップを用いて、前記画像領域における奥行きの存在頻度の累積を表す累積ヒストグラムを算出し、
前記第1変換ステップでは、前記累積ヒストグラムを用いて、前記第1のマップを前記第2のマップに変換する
請求項1又は2記載のマップ変換方法。
【請求項4】
前記算出ステップでは、所定の変換関数を用いて、前記第1のマップを、前記第1の範囲内の奥行きを画素毎に示す第3のマップに変換する第2変換ステップと、
前記第2のマップと、前記第3のマップとを画素毎に合成することにより、前記第1のマップを、前記第1の範囲内の奥行きを画素毎に示す第4のマップに変換する合成ステップとを更に含む
請求項1乃至3に記載のマップ変換方法。
【請求項5】
前記第2変換ステップでは、線形関数を用いて、前記第1のマップを前記第3のマップに変換する
請求項4に記載のマップ変換方法。
【請求項6】
前記算出ステップでは、前記画像領域の奥行きを、第2の範囲内の奥行き値により画素毎に示す前記第1のマップを用いて、前記存在頻度を算出する
請求項1乃至5のいずれか一項に記載のマップ変換方法。
【請求項7】
前記算出ステップでは、前記画像領域の奥行きを、第2の範囲内の視差により画素毎に示す前記第1のマップを用いて、前記存在頻度を算出する
請求項1乃至5のいずれか一項に記載のマップ変換方法。
【請求項8】
画像の一部の画素を含む画像領域の奥行きを画素毎に示す第1のマップを用いて、前記画像領域における奥行きの存在頻度を算出部と、
前記存在頻度を用いて、前記第1のマップを、第1の範囲内の奥行きを画素毎に示す第2のマップに変換する変換部と
を備えるマップ変換装置。
【請求項9】
コンピュータを、
画像の一部の画素を含む画像領域の奥行きを画素毎に示す第1のマップを用いて、前記画像領域における奥行きの存在頻度を算出手段と、
前記存在頻度を用いて、前記第1のマップを、第1の範囲内の奥行きを画素毎に示す第2のマップに変換する変換手段と
して機能させるためのマップ変換プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−134881(P2012−134881A)
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2010−286657(P2010−286657)
【出願日】平成22年12月22日(2010.12.22)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願日】平成22年12月22日(2010.12.22)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]