(57)【特許請求の範囲】
【請求項１】
画像中の物体の位置が視差分異なるステレオ動画像と、当該ステレオ動画像のフレームごとに、該フレームを構成する２枚の画像の各ブロック同士の対応を示す対応情報とを含む映像信号を複数取得する取得部と、
表示領域における前記ステレオ動画像を構成する２枚の画像を相対的に移動させて前記視差を変更する変更部と、
前記２枚の画像のうち、前記変更部により前記表示領域において移動された画像について、取得した前記対応情報をもとに、前記表示領域における当該画像が含まれない領域に対応する部分の画像を他方の画像から取得し、取得した画像を前記領域に設定し、前記表示領域の画像を生成する生成部と、
前記生成部により生成された前記表示領域の画像を出力する出力部と、
を有することを特徴とする生成装置。
【請求項２】
前記取得部は、前記表示領域における前記領域に対応する前記他方の画像の位置を示す情報を取得し、
前記生成部は、前記取得部により取得された情報に基づいて、前記表示領域における前記領域に対応する部分の画像を他方の画像から取得する
ことを特徴とする請求項１に記載の生成装置。
【請求項３】
コンピュータに、
画像中の物体の位置が視差分異なるステレオ動画像と、当該ステレオ動画像のフレームごとに、該フレームを構成する２枚の画像の各ブロック同士の対応を示す対応情報とを含む映像信号を複数取得し、
表示領域における前記ステレオ動画像を構成する２枚の画像を相対的に移動させて前記視差を変更し、
前記２枚の画像のうち、前記表示領域において移動された画像について、取得した前記対応情報をもとに、前記表示領域における当該画像が含まれない領域に対応する部分の画像を他方の画像から取得し、取得した画像を前記領域に設定し、前記表示領域の画像を生成し、
生成された前記表示領域の画像を出力する
各処理を実行させることを特徴とする生成プログラム。
【請求項４】
コンピュータが、
画像中の物体の位置が視差分異なるステレオ動画像と、当該ステレオ動画像のフレームごとに、該フレームを構成する２枚の画像の各ブロック同士の対応を示す対応情報とを含む映像信号を複数取得し、
表示領域における前記ステレオ動画像を構成する２枚の画像を相対的に移動させて前記視差を変更し、
前記２枚の画像のうち、前記表示領域において移動された画像について、取得した前記対応情報をもとに、前記表示領域における当該画像が含まれない領域に対応する部分の画像を他方の画像から取得し、取得した画像を前記領域に設定し、前記表示領域の画像を生成し、
生成された前記表示領域の画像を出力する
各処理を実行することを特徴とする生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生成装置、生成プログラムおよび生成方法に関する。
【背景技術】
【０００２】
複数の撮像装置を用いて撮影したステレオ画像から、立体映像を表示するための立体画像を生成する技術が知られている。ここでいうステレオ画像とは、例えば、所定の視差がある２つの画像の組を指す。また、撮像装置の一例としては、デジタルカメラや、携帯端末に設けられたカメラ、ＰＣ（Personal  Computer）などに設けられたカメラなどが挙げられる。【０００３】
また、立体映像のシーンのうち、撮像装置の急激な移動で立体映像に含まれる物体が急激に移動するシーンや、撮像装置に近い物体が移動するシーンなどでは、ユーザが不快に感じるなどの不具合が生ずる場合がある。【０００４】
ここで、ユーザが不快に感じる原因の１つとして、視差が大きすぎるような場合が原因として考えられる。そこで、ユーザの不快感を低減するような技術が提案されている。例えば、装置は、ユーザの指示に応じて、物体の視差が小さくなるように、表示領域におけるステレオ画像を構成する２枚の画像を相対的に移動させて視差を変更する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−３５５８０８号公報
【特許文献２】特開２００４−２２１７００号公報
【特許文献３】特開２００３−１８６１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の従来技術では、表示される画像の質が劣化するという問題がある。図１１は、従来技術の一例を説明するための図である。図１１の例では、表示領域９０に右目用の画像９１が表示された場合が示されている。また、図１１の例では、表示領域９０に左目用の画像９２が表示された場合が示されている。また、図１１の例では、符号９３は、画像９１と画像９２との間における視差の大きさを示す。このような場合に、ユーザによって、視差の大きさが指定され、視差の大きさを小さくする指示が行われると、従来技術では、図１１の例に示すように、視差の大きさ９３が指定された大きさとなるように、表示領域９０において画像９１が図１１中左方向に移動される。また、従来技術では、図１１の例に示すように、視差の大きさ９３が指定された大きさとなるように、表示領域９０において画像９２が図１１中右方向に移動される。【０００７】
このとき、図１１の例に示すように、表示領域９０には、画像９１が含まれない領域９４が発生する。また、表示領域９０には、画像９２が含まれない９５が発生する。そこで、従来技術では、領域９４、９５については、黒塗りにしたりする。このため、従来技術では、表示される画像の質が劣化する。【０００８】
開示の技術は、上記に鑑みてなされたものであって、画像の質の劣化を抑制することができる生成装置、生成プログラムおよび生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示する生成装置は、一つの態様において、取得部と、変更部と、生成部と、出力部とを有する。取得部は、画像中の物体の位置が視差分異なるステレオ動画像と、ステレオ動画像のフレームごとに、フレームを構成する２枚の画像の各ブロック同士の対応を示す対応情報とを含む映像信号を複数取得する。変更部は、表示領域におけるステレオ動画像を構成する２枚の画像を相対的に移動させて視差を変更する。生成部は、２枚の画像のうち、変更部により表示領域において移動された画像について、取得した対応情報をもとに、表示領域における当該画像が含まれない領域に対応する部分の画像を他方の画像から取得する。そして、生成部は、取得した画像を領域に設定し、表示領域の画像を生成する。出力部は、生成部により生成された表示領域の画像を出力する。
【発明の効果】
【００１０】
本願の開示する生成装置の一つの態様によれば、画像の質の劣化を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例に係る生成装置が適用されるシステム構成の一例を示す図である。
【図２】図２は、対応位置情報ＤＢのデータ構造の一例を示す図である。
【図３】図３は、対応位置情報ＤＢの登録内容が示す左目用の画像のブロックと、右目用の画像のブロックとの対応関係の一例を示す図である。
【図４】図４は、対応位置情報ＤＢの登録内容が示す左目用の画像のブロックと、右目用の画像のブロックとの対応関係の一例を示す図である。
【図５Ａ】図５Ａは、ブロックマッチング処理部が行う処理の一例を説明するための図である。
【図５Ｂ】図５Ｂは、ブロックマッチング処理部が行う処理の一例を説明するための図である。
【図５Ｃ】図５Ｃは、ブロックマッチング処理部が行う処理の一例を説明するための図である。
【図５Ｄ】図５Ｄは、ブロックマッチング処理部が行う処理の一例を説明するための図である。
【図６】図６は、実施例に係る端末装置が実行する処理の一例を説明するための図である。
【図７】図７は、実施例に係る端末装置が実行する処理の一例を説明するための図である。
【図８】図８は、実施例に係る登録処理の手順を示すフローチャートである。
【図９】図９は、実施例に係る生成処理の手順を示すフローチャートである。
【図１０】図１０は、生成プログラムを実行するコンピュータを示す図である。
【図１１】図１１は、従来技術の一例を説明するための図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する生成装置、生成プログラムおよび生成方法の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００１３】
実施例に係る生成装置について説明する。図１は、実施例に係る生成装置が適用されるシステム構成の一例を示す図である。図１に示すように、システム１は、生成装置１０と、端末装置２０とを有する。生成装置１０と端末装置２０とは、ネットワーク３０を介して接続されている。【００１４】
［生成装置の構成］
図１に示すように、生成装置１０は、入力部１１と、Ｉ／Ｆ（Inter  Face）１２と、クロック発生部１３と、通信部１４と、記憶部１５と、制御部１６とを有する。【００１５】
入力部１１は、制御部１６に情報を入力する。例えば、入力部１１は、ユーザからの指示を受け付けて、制御部１６に、後述の生成処理を実行する指示を入力する。入力部１１のデバイスの一例としては、キーボードやマウスなどが挙げられる。【００１６】
Ｉ／Ｆ１２は、第一の撮像装置１７および第二の撮像装置１８と、制御部１６との通信を行うための通信インタフェースである。例えば、Ｉ／Ｆ１２は、第一の撮像装置１７および第二の撮像装置１８に接続されている。そして、Ｉ／Ｆ１２は、第一の撮像装置１７および第二の撮像装置１８から送信された画像データを受信し、受信した画像データを制御部１６へ送信する。【００１７】
クロック発生部１３は、クロック信号を発生する。例えば、クロック発生部１３は、第一の撮像装置１７から送信された画像データと、第二の撮像装置１８から送信された画像データとの同期をとるためのクロック信号を発生し、制御部１６へ送信する。かかるクロック信号の周波数の一例としては、２７ＭＨｚが挙げられる。しかしながら、クロック信号の周波数は、これに限られず、任意の値を採用できる。【００１８】
通信部１４は、生成装置１０と端末装置２０との通信を行う。例えば、通信部１４は、制御部１６からエンコード処理が行われた画像データを受信すると、受信した画像データをネットワーク３０を介して、端末装置２０へ送信する。【００１９】
第一の撮像装置１７および第二の撮像装置１８は、所定の距離だけ離れた位置に設けられ、それぞれ、所定のフレームレートで画像データ（フレーム）を取得する。そして、第一の撮像装置１７および第二の撮像装置１８は、取得した画像データを生成装置１０に送信する。これにより、生成装置１０は、所定の視差分異なる２つの画像の組の画像データを所定のフレームレートで取得することができる。なお、生成装置１０では、かかる画像データを、映像に用いる信号として扱うため、以下の説明では、「画像データ」を含む信号を「映像信号」と表記する場合がある。また、以下の説明では、「所定の視差分異なる２つの画像」から構成される画像を「ステレオ画像」と表記する場合がある。また、第一の撮像装置１７によって取得された画像を右目用の画像、第二の撮像装置１８によって取得された画像を左目用の画像とする。【００２０】
記憶部１５は、制御部１６で実行される各種プログラムを記憶する。また、記憶部１５には、後述の取込部１６ａにより、画像データ１５ａが記憶される。また、記憶部１５は、対応位置情報ＤＢ（Data  Base）１５ｂを記憶する。【００２１】
画像データ１５ａについて説明する。画像データ１５ａには、第一の撮像装置１７および第二の撮像装置１８のそれぞれによって取得された画像データの他に、種々の情報が含まれる。例えば、画像データ１５ａには、画像データを取り込んだ時刻を示すクロックのカウント数である「ＣＬＫカウンタ情報」が含まれる。「ＣＬＫカウンタ情報」は、後述のクロック発生部１３により発生されたクロックのカウント数が、取込部１６ａによりカウントされたものである。取込部１６ａにより、かかるカウント数が「ＣＬＫカウンタ情報」として、画像データに付加される。【００２２】
対応位置情報ＤＢ１５ｂについて説明する。図２は、対応位置情報ＤＢのデータ構造の一例を示す図である。図２の例の対応位置情報ＤＢ１５ｂには、左目用の画像（フレーム）を複数のブロックで分割した場合のブロックごとに、「ブロックの位置」の項目、および、「対応するブロックの位置」の項目を有する。「ブロックの位置」の項目には、ブロックの４つの頂点のうちいずれかの座標が登録される。例えば、「ブロックの位置」の項目には、Ｘ−Ｙの２次元座標でブロックの領域を示した場合の４つの座標のうち、左上の座標が登録される。【００２３】
また、「対応するブロックの位置」の項目には、「ブロックの位置」の項目に登録された座標によって特定されるブロックと、類似する右目用の画像のブロックの位置を示す情報が登録される。例えば、「対応するブロックの位置」の項目には、「ブロックの位置」の項目に登録された上述の左上の座標を起点とし、この座標によって特定されるブロックに類似する右目用の画像のブロックの左上の座標を終点とする後述の動きベクトルが登録される。【００２４】
図３および図４は、対応位置情報ＤＢの登録内容が示す左目用の画像のブロックと、右目用の画像のブロックとの対応関係の一例を示す図である。図３の例は、動きベクトル（Ｘ１（ｘ７−ｘ１），Ｙ１（ｙ７−ｙ１））の一例を示す。図３の例の動きベクトル３３は、表示領域８０に表示される左目用の画像のブロック３０の左上の座標（ｘ１，ｙ１）を起点とする。また、動きベクトル３３は、ブロック３０に類似する、表示領域８０に表示される右目用の画像のブロック３１の左上の座標（ｘ７，ｙ７）を終点とする。図３の例の場合では、後述の生成部１６ｃによって、図２の例の１番目のレコードが示すように、「ブロックの位置」の項目に座標（ｘ１，ｙ１）が登録され、「対応するブロックの位置」の項目に動きベクトル（Ｘ１，Ｙ１）が登録される。【００２５】
このように、対応位置情報ＤＢ１５ｂには、左目用の画像のブロックと、このブロックに類似する右目用の画像のブロックとが対応付けられて、各フレームのブロックごとに後述の生成部１６ｃにより登録される。そのため、図４の例に示すように、左目用の画像３５の各ブロック３５ａと、右目用の画像３６の各ブロック３５ａと類似するブロック３６ａとが対応付けられる。対応位置情報ＤＢ１５ｂには、フレームごとに、左目用の画像のブロックと、このブロックに類似する右目用のブロックとが対応付けられて登録される。【００２６】
記憶部１５は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部１５は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)であってもよい。【００２７】
制御部１６は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部１６は、取込部１６ａと、ブロックマッチング処理部１６ｂと、生成部１６ｃと、エンコード処理部１６ｄと、送信制御部１６ｅとを有する。【００２８】
取込部１６ａは、画像中の物体の位置が視差分異なるステレオ画像を含む映像信号を複数取り込む。例えば、取込部１６ａは、第一の撮像装置１７および第二の撮像装置１８から送信される画像データを、Ｉ／Ｆ１２を介して取り込む。【００２９】
また、取込部１６ａは、クロック発生部１３から送信されるクロック信号をカウントする。例えば、取込部１６ａは、クロック信号の立ち上がりを検出し、立ち上がりを検出するたびに、カウンタの値を１つインクリメントする。このカウンタを、以下の説明では、「タイミングカウンタ」と表記する場合がある。【００３０】
そして、取込部１６ａは、画像データを受信したタイミングのタイミングカウンタの値を、画像データに付加する。【００３１】
ブロックマッチング処理部１６ｂは、取込部１６ａにより取り込まれたステレオ画像について、ブロックマッチング処理を行い、右目用および左目用の画像の組であるステレオ画像のうち、左目用の画像のブロックごとに動きベクトルを検出する。また、ブロックマッチング処理部１６ｂは、左目用の画像のブロックごとに類似度を算出する。【００３２】
ブロックマッチング処理部１６ｂが行う処理について具体例を挙げて説明する。例えば、ブロックマッチング処理部１６ｂは、まず、取込部１６ａにより取り込まれて、タイミングカウンタの値が付加された左目用の画像データが示す画像を分割する。【００３３】
図５Ａ、図５Ｂ、図５Ｃ、図５Ｄは、ブロックマッチング処理部が行う処理の一例を説明するための図である。図５Ａおよび図５Ｂの例では、ブロックマッチング処理部１６ｂが、左目用の画像データを複数のブロックＭＢ１、ＭＢ２、ＭＢ３・・・に分割した場合が示されている。また、図５Ｃの例では、各ブロックの画素数が２５６である場合が示されている。また、図５Ａおよび図５Ｂの例に示す画像データは、第一の撮像装置１７または第二の撮像装置１８のいずれか一方から送信される画像データである。また、図５Ｂの例に示す画像データは、図５Ａの例に示す画像データのペアとなるステレオ画像の画像データである。【００３４】
ブロックマッチング処理部１６ｂは、左目用の画像データの複数のブロックのうち、未選択のブロックがあるか否かを判定する。未選択のブロックがある場合には、ブロックマッチング処理部１６ｂは、左目用の画像データの複数のブロックのうち未選択のブロックを一つ選択する。そして、ブロックマッチング処理部１６ｂは、選択したブロックの複数の画素１〜２５６のそれぞれの画素値と、右目用の画像データの複数のブロックのそれぞれの画素１´〜２５６´のそれぞれの画素値との差分を算出する。続いて、ブロックマッチング処理部１６ｂは、算出した差分の総和を、左目用の画像データのブロックごとに算出する。かかる総和は、値が小さいほど、左目用の画像データが示す画像と右目用の画像データが示す画像とが類似する度合いが高いことを示す類似度である。そこで、ブロックマッチング処理部１６ｂは、算出した総和（類似度）が最も小さい、右目用の画像データのブロックを特定する。【００３５】
ブロックマッチング処理部１６ｂは、このようなブロックマッチング処理を、左目用の画像データの全てのブロックが選択されるまで繰り返し行う。そして、ブロックマッチング処理部１６ｂは、ブロックマッチング処理を、ステレオペアとされる画像データごとに、全ての画像データに対して行う。なお、以下の説明では、ステレオペアとなる画像データに対して行うブロックマッチング処理のことを「空間方向ブロックマッチング」と表記する場合がある。【００３６】
そして、空間方向ブロックマッチングを行った場合には、ブロックマッチング処理部１６ｂは、左目用の画像の画像データにおいて選択したブロックの位置と、ステレオペアとなる右目用の画像の画像データにおいて特定したブロックの位置との差分ベクトルを算出し、算出した差分ベクトルを動きベクトルとして検出する。【００３７】
図５Ｄの例では、ブロックマッチング処理部１６ｂが、左目用の画像データでブロックＭＢｎを選択した場合が示されている。また、図５Ｄの例では、ブロックマッチング処理部１６ｂが、右目用の画像データでブロックＭＢ１を特定した場合が示されている。図５Ｄの例では、ブロックマッチング処理部１６ｂは、差分ベクトル（ｘ１−ｘｎ、ｙ１−ｙｎ）を動きベクトルとして検出する。なお、図５Ｄの例では、左目用の画像データにおけるブロックＭＢｎの位置が（ｘｎ、ｙｎ）で表され、右目用の画像データにおけるブロックＭＢ１の位置が（ｘ１、ｙ１）で表されている。ブロックマッチング処理部１６ｂは、このような動きベクトルを検出する処理を、左目用の画像の画像データの全てのブロックが選択されるまで繰り返し行う。そして、ブロックマッチング処理部１６ｂは、このような動きベクトルを検出する処理を、ステレオペアとされる画像データごとに、全ての画像データに対して行う。【００３８】
生成部１６ｃは、左目用の画像のブロックの位置と、このブロックに類似する右目用の画像のブロックの位置とを対応付けた対応位置情報を生成し、生成した対応位置情報を対応位置情報ＤＢ１５ｂに登録する。【００３９】
具体例を挙げて説明する。例えば、先のブロックマッチング処理部１６ｂにより、空間方向ブロックマッチングが行われた場合には、生成部１６ｃは、ブロックマッチング処理部１６ｂにおいて選択された左目用の画像データのブロックが、画像の端のブロックであるか否かを判定する。画像の端のブロックである場合には、生成部１６ｃは、選択された左目用の画像データのブロックと、ブロックマッチング処理部１６ｂにおいて特定された右目用の画像データのブロックとの類似度が所定の閾値Ａ以下であるか否かを判定する。なお、閾値Ａについては、２つの画像が類似していると判別できるような類似度の上限値が設定される。類似度が閾値Ａ以下である場合には、選択された左目用の画像データのブロックと、特定された右目用の画像データのブロックとが類似しているため、生成部１６ｃは、次のような処理を行う。すなわち、生成部１６ｃは、選択されたブロックの領域をＸ−Ｙの２次元座標で示した場合の４つの座標のうち、左上の座標（ｘ，ｙ）と、ブロックマッチング処理部１６ｂにおいて算出された動きベクトル（Ｘ，Ｙ）とを対応付けた対応位置情報を生成する。また、類似度が閾値Ａ以下でない場合には、選択された左目用の画像データのブロックと、特定された右目用の画像データのブロックとが類似していないため、生成部１６ｃは、次のような処理を行う。すなわち、生成部１６ｃは、選択されたブロックの領域をＸ−Ｙの２次元座標で示した場合の４つの座標のうち、左上の座標（ｘ，ｙ）と、右目用の画像において対応するブロックがないことを示す情報、例えば、「ＦＦＦ」とを対応付けた対応位置情報を生成する。そして、生成部１６ｃは、生成した対応位置情報を対応位置情報ＤＢ１５ｂに登録する。このようにして対応位置情報を対応位置情報ＤＢ１５ｂに登録する処理を、生成部１６ｃは、ブロックマッチング処理部１６ｂにより空間方向ブロックマッチングが行われるたびに行う。【００４０】
エンコード処理部１６ｄは、通信部１４を介して、端末装置２０から画像データ１５ａを送信する旨の指示を受信した場合に、記憶部１５に記憶された画像データ１５ａを所定のアルゴリズムでエンコードするエンコード処理を実行する。この際、エンコード処理部１６ｄは、画像データ１５ａが示す画像を上記と同様に複数のブロックに分割し、ブロックごとに、エンコード処理を実行する。【００４１】
送信制御部１６ｅは、エンコード処理部１６ｄによりエンコード処理が行われたブロックのストリームをステレオペアごとに通信部１４に送信する。この際、送信制御部１６ｅは、対応位置情報ＤＢ１５ｂを参照し、対応する対応位置情報をエンコード処理が行われたブロックに付加して通信部１４に送信する。これにより、通信部１４が、ネットワーク３０を介して、エンコード処理部１６ｄによりエンコード処理が行われた画像データ１５ａの各ブロックに、対応位置情報を付加して、端末装置２０へ送信する。【００４２】
制御部１６は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。  【００４３】
図１に戻り、端末装置２０は、３次元の画像を生成装置１０から取得し、表示させる端末である。端末装置２０として、携帯電話、ＰＤＡ（Personal  Digital  Assistant）などの各種の端末を採用することができる。端末装置２０は、通信部２１、表示部２２、記憶部２３、制御部２４を有する。【００４４】
通信部２１は、端末装置２０と生成装置１０との通信を行う。例えば、通信部２１は、生成装置１０からエンコード処理が行われたブロックのストリームをステレオペアごとに受信すると、受信したステレオペアのストリームを制御部２４へ送信する。また、通信部２１は、ユーザの指示を受け付けるマウスやキーボードなどの操作受付部（図示せず）から、画像データ１５ａを送信する旨の指示を受信すると、受信した指示を、ネットワーク３０を介して、生成装置１０へ送信する。【００４５】
表示部２２は、各種の情報を表示する。例えば、後述の表示制御部２４ｅの制御により、３次元の画像を表示する。すなわち、表示部２２は、３次元の画像を出力する。【００４６】
記憶部２３は、各種の情報を記憶する。例えば、記憶部２３には、後述の取得部２４ａにより画像データ２３ａが格納される。【００４７】
記憶部２３は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部２３は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ、ＲＯＭであってもよい。【００４８】
制御部２４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部２４は、取得部２４ａと、デコード処理部２４ｂと、変更部２４ｃと、生成部２４ｄと、表示制御部２４ｅとを有する。【００４９】
取得部２４ａは、通信部２１からステレオペアの画像データ（フレーム）を受信し、受信した画像データ２３ａを記憶部２３に格納する。なお、かかる画像データ２３ａは、先の送信制御部１６ｅにより送信された画像データである。【００５０】
デコード処理部２４ｂは、画像データ２３ａをデコードするデコード処理を行う。【００５１】
変更部２４ｃは、表示領域におけるステレオ画像を構成する２枚の画像の位置を相対的に変更させて視差を変更する。例えば、変更部２４ｃは、上述した操作受付部から、左目用の画像を、所定の方向に、所定量移動させる指示を受け付けると、表示領域における左目用の画像を、所定の方向に、所定量移動させる。図６は、実施例に係る端末装置が実行する処理の一例を説明するための図である。図６の例は、ユーザにより、表示領域８０に表示される左目用の画像５０を、表示領域８０において、右方向に所定量移動させる指示が操作受付部により受け付けられた場合を示す。この場合、変更部２４ｃは、図６の例に示すように、左目用の画像５０を表示領域８０において右方向に所定量移動させる。なお、変更部２４ｃは、左目用の画像５０を上述と同様に複数のブロックに分割し、各ブロックを指示に基づいて移動させる。すなわち、変更部２４ｃは、ブロックごとに、指示に基づいた移動後の表示領域８０内の位置を算出し、算出した表示領域８０内の位置にブロックを設定する。ここで、図６の例に示すように、表示領域８０において、画像５０が移動された場合には、画像５０が含まれない領域５０ａが発生する。かかる領域５０ａは、第二の撮像装置１８によって撮影された画像が含まれない領域である。以下の説明では、かかる領域のことを「非撮影領域」と称する場合がある。【００５２】
生成部２４ｄは、ステレオ画像を構成する２枚の画像のうち、変更部２４ｃにより表示領域において移動された画像について、非撮影領域に対応する部分の画像を他方の画像から取得する。そして、生成部２４ｄは、取得した画像を非撮影領域に設定することにより、表示領域の画像を生成する。【００５３】
例えば、生成部２４ｄは、まず、変更部２４ｃにより表示領域に設定されたブロックが左目用の画像の非撮影領域側の端のブロックであるか否かを判定する。例えば、図６の例では、生成部２４ｄは、表示領域８０に設定されたブロック５１が左目用の画像５０の非撮影領域５０ａ側の端のブロックであると判定する。【００５４】
変更部２４ｃにより表示領域に設定されたブロックが左目用の画像の非撮影領域側の端のブロックである場合には、生成部２４ｄは、このブロックに付加された対応位置情報を取得する。例えば、図６の場合には、生成部２４ｄは、ブロック５１に付加された対応位置情報を取得する。そして、生成部２４ｄは、表示領域に設定されたブロックに対応するブロックがあるか否かを判定する。例えば、生成部２４ｄは、ブロックに付加された対応位置情報に、右目用の画像において対応するブロックがないことを示す情報、例えば、「ＦＦＦ」が含まれているか否かを判定する。ここで、ブロックに付加された対応位置情報に、右目用の画像において対応するブロックがないことを示す情報が含まれている場合には、生成部２４ｄは、表示領域に設定されたブロックに対応するブロックがないと判定する。また、ブロックに付加された対応位置情報に、右目用の画像において対応するブロックがないことを示す情報が含まれていない場合には、生成部２４ｄは、表示領域に設定されたブロックに対応するブロックがあると判定する。【００５５】
表示領域に設定されたブロックに対応するブロックがある場合には、生成部２４ｄは、非撮影領域の中から、表示領域に設定されたブロックに接する領域を抽出する。図６の例では、生成部２４ｄは、非撮影領域５０ａの中から、ブロック５１に接する領域６２を抽出する。そして、生成部２４ｄは、右目用の画像において、あると判定された対応するブロックに接する領域であって、抽出した領域に対応する領域の画像を取得する。図７は、実施例に係る端末装置が実行する処理の一例を説明するための図である。図７の例では、先の図６のブロック５１に対応する右目用の画像６０のブロック６１がある場合が示されている。図７の例では、生成部２４ｄは、右目用の画像６０において、あると判定された対応するブロック６１に接する領域であって、抽出した領域６２に対応する領域６３の画像を取得する。そして、生成部２４ｄは、取得した画像を抽出した領域にコピーする。図７の例では、生成部２４ｄは、取得した画像を抽出した領域６２にコピーする。これにより、画質の劣化を抑制することができる。【００５６】
一方、表示領域に設定されたブロックに対応するブロックがない場合には、生成部２４ｄは、次のような処理を行う。すなわち、生成部２４ｄは、表示領域に設定されたブロックに接する非撮影領域の部分について、公知の技術、例えば、特開２００４−２２１７００号公報に記載の技術を用いて、ブロックの画像を伸張して、かかる部分の画像とするような画像補間を行う。【００５７】
生成部２４ｄは、上述した処理を、ブロックごとに行って、表示領域の左目用の画像を生成する。【００５８】
表示制御部２４ｅは、左目用の画像の全てのブロックについて上述した生成部２４ｄによる処理が行われた場合には、次のような処理を行う。すなわち、表示制御部２４ｅは、生成部２４ｄによって生成された表示領域の左目用の画像、および、デコード処理部２４ｂによりデコードされた右目用の画像を用いて、３次元の画像を表示するように、表示部２２の表示を制御する。すなわち、表示制御部２４ｅは、３次元の画像を出力する。【００５９】
制御部２４は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。【００６０】
［処理の流れ］
次に、本実施例に係る生成装置１０の処理の流れを説明する。図８は、実施例に係る登録処理の手順を示すフローチャートである。この登録処理の実行タイミングとしては様々なタイミングが考えられる。例えば、登録処理は、生成装置１０の電源がＯＮの間、第一の撮像装置１７および第二の撮像装置１８から画像データが送信されるたびに実行される。【００６１】
図８に示すように、取込部１６ａは、画像データを取り込む（ステップＳ１０１）。そして、取込部１６ａは、画像データを受信したタイミングのタイミングカウンタの値を、画像データに付加する（ステップＳ１０２）。ブロックマッチング処理部１６ｂは、取込部１６ａにより取り込まれて、タイミングカウンタの値が付加された右目用または左目用の画像データが示す画像を分割する（ステップＳ１０３）。【００６２】
ブロックマッチング処理部１６ｂは、取り込まれた画像データの複数のブロックのうち、未選択のブロックがあるか否かを判定する（Ｓ１０４）。未選択のブロックがない場合（Ｓ１０４否定）には、処理を終了する。【００６３】
一方、未選択のブロックがある場合（Ｓ１０４肯定）には、ブロックマッチング処理部１６ｂは、画像データの複数のブロックのうち未選択のブロックを一つ選択する（Ｓ１０５）。続いて、ブロックマッチング処理部１６ｂは、上述した空間方向ブロックマッチングを行う（Ｓ１０６）。そして、ブロックマッチング処理部１６ｂは、動きベクトルを検出する（Ｓ１０７）。【００６４】
そして、生成部１６ｃは、ブロックマッチング処理部１６ｂにおいて選択された左目用の画像データのブロックが、画像の端のブロックであるか否かを判定する（Ｓ１０８）。画像の端のブロックでない場合（Ｓ１０８否定）には、Ｓ１０４へ戻る。一方、画像の端のブロックである場合（Ｓ１０８肯定）には、生成部１６ｃは、次のような処理を行う。すなわち、生成部１６ｃは、選択された左目用の画像データのブロックと、ブロックマッチング処理部１６ｂにおいて特定された右目用の画像データのブロックとの類似度が所定の閾値Ａ以下であるか否かを判定する（Ｓ１０９）。【００６５】
類似度が閾値Ａ以下である場合（Ｓ１０９肯定）には、生成部１６ｃは、選択されたブロックの左上の座標（ｘ，ｙ）と、動きベクトル（Ｘ，Ｙ）とを対応付けた対応位置情報を生成する（Ｓ１１０）。そして、Ｓ１１１へ進む。一方、類似度が閾値Ａ以下でない場合（Ｓ１０９否定）には、生成部１６ｃは、選択されたブロックの左上の座標（ｘ，ｙ）と、「ＦＦＦ」とを対応付けた対応位置情報を生成する（Ｓ１１２）。そして、生成部１６ｃは、生成した対応位置情報を対応位置情報ＤＢ１５ｂに登録し（Ｓ１１１）、Ｓ１０４へ戻る。【００６６】
次に、本実施例に係る端末装置２０の処理の流れを説明する。図６は、実施例に係る生成処理の手順を示すフローチャートである。この生成処理の実行タイミングとしては様々なタイミングが考えられる。例えば、生成処理は、端末装置２０の電源がＯＮの間、生成装置１０から送信された、エンコード処理が行われたステレオペアの画像データを制御部２４が受信するたびに実行される。【００６７】
図６に示すように、取得部２４ａは、通信部２１からステレオペアの画像データ（フレーム）を受信することにより取得し、取得した画像データ２３ａを記憶部２３に格納する（Ｓ２０１）。そして、デコード処理部２４ｂは、画像データ２３ａをデコードするデコード処理を行う（Ｓ２０２）。【００６８】
続いて、変更部２４ｃは、ステレオペアの画像データのうち、左目用の画像データを選択する（Ｓ２０３）。そして、変更部２４ｃは、選択した左目用の画像データが示す画像を上述した方法と同様に複数のブロックに分割する（Ｓ２０４）。その後、変更部２４ｃは、複数のブロックの中に、未選択のブロックがあるか否かを判定する（Ｓ２０５）。未選択のブロックがある場合（Ｓ２０５肯定）には、変更部２４ｃは、未選択のブロックを１つ選択する（Ｓ２０６）。そして、変更部２４ｃは、指示に基づいた移動後の表示領域内の位置を算出し、算出した表示領域内の位置に選択したブロックを設定する（Ｓ２０７）。【００６９】
そして、生成部２４ｄは、変更部２４ｃにより表示領域に設定されたブロックが左目用の画像の非撮影領域側の端のブロックであるか否かを判定する（Ｓ２０８）。変更部２４ｃにより表示領域に設定されたブロックが左目用の画像の非撮影領域側の端のブロックでない場合（Ｓ２０８否定）には、Ｓ２０５へ戻る。【００７０】
一方、変更部２４ｃにより表示領域に設定されたブロックが左目用の画像の非撮影領域側の端のブロックである場合（Ｓ２０８肯定）には、生成部２４ｄは、このブロックに付加された対応位置情報を取得する（Ｓ２０９）。そして、生成部２４ｄは、表示領域に設定されたブロックに対応するブロックがあるか否かを判定する（Ｓ２１０）。【００７１】
表示領域に設定されたブロックに対応するブロックがある場合（Ｓ２１０肯定）には、生成部２４ｄは、非撮影領域の中から、表示領域に設定されたブロックに接する領域を抽出する。そして、生成部２４ｄは、右目用の画像において、あると判定された対応するブロックに接する領域であって、抽出した領域に対応する領域の画像を取得する（Ｓ２１１）。そして、生成部２４ｄは、取得した画像を抽出した領域にコピーし（Ｓ２１２）、Ｓ２０５へ戻る。【００７２】
一方、表示領域に設定されたブロックに対応するブロックがない場合（Ｓ２１０否定）には、生成部２４ｄは、次のような処理を行う。すなわち、生成部２４ｄは、表示領域に設定されたブロックに接する非撮影領域の部分について、公知の技術を用いて、ブロックの画像を伸張して、かかる部分の画像とするような画像補間を行い（Ｓ２１３）、Ｓ２０５へ戻る。【００７３】
一方、未選択のブロックがない場合（Ｓ２０５否定）には、表示制御部２４ｅは、次のような処理を行う。すなわち、表示制御部２４ｅは、生成部２４ｄによって生成された表示領域の左目用の画像、および、デコード処理部２４ｂによりデコードされた右目用の画像を用いて、３次元の画像を表示するように、表示部２２の表示を制御する（Ｓ２１４）。そして、処理を終了する。【００７４】
［実施例の効果］
上述してきたように、本実施例に係るシステム１における端末装置２０は、ブロックマッチング処理などの高負荷の処理が行われずに、生成装置１０において、２次元の画像の表示または３次元の画像の表示を決定することができる。したがって、システム１および生成装置１０によれば、画像の表示を行う端末装置２０における処理の負荷を軽減することができる。【００７５】
また、本実施例に係る生成装置１０によれば、表示領域におけるステレオ画像を構成する２枚の画像の位置を相対的に変更させて視差を変更する。また、生成装置１０は、ステレオ画像を構成する２枚の画像のうち、表示領域において移動された画像について、非撮影領域に対応する部分の画像を他方の画像から取得する。そして、生成装置１０は、取得した画像を非撮影領域に設定することにより、表示領域の画像を生成する。その後、生成装置１０は、生成された表示領域の左目用の画像を用いて、３次元の画像を表示するように、表示部２２の表示を制御する。したがって、生成装置１０によれば、画質の劣化を抑制することができる。【００７６】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。【００７７】
例えば、開示の装置は、上記の実施例において、左目用の画像に対して行った処理を右目用の画像に対して行い、右目用の画像に対して行った処理を左目用の画像に対して行うことができる。【００７８】
また、実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。【００７９】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。【００８０】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。【００８１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。【００８２】
［生成プログラム］
また、上記の実施例で説明した生成装置１０の生成処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図１０を用いて、上記の実施例で説明した生成装置１０と同様の機能を有する生成プログラムを実行するコンピュータの一例を説明する。【００８３】
図１０は、生成プログラムを実行するコンピュータを示す図である。図１０に示すように、コンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＲＯＭ（Read  Only  Memory）３２０、ＨＤＤ（Hard  Disk  Drive）３３０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３００〜３４０の各部は、バス３５０を介して接続される。【００８４】
ＨＤＤ３３０には、上記の実施例で示す取得部２４ａ、デコード処理部２４ｂ、変更部２４ｃ、生成部２４ｄと、表示制御部２４ｅと同様の機能を発揮する生成プログラム３３０ａが予め記憶される。なお、生成プログラム３３０ａについては、適宜分離しても良い。【００８５】
そして、ＣＰＵ３１０が、生成プログラム３３０ａをＨＤＤ３３０から読み出して実行する。【００８６】
また、ＨＤＤ３３０には、画像データが設けられる。画像データは、画像データ２３ａに対応する。【００８７】
そして、ＣＰＵ３１０は、画像データを読み出してＲＡＭ３４０に格納する。さらに、ＣＰＵ３１０は、ＲＡＭ３４０に格納された画像データを用いて、生成プログラム３３０ａを実行する。なお、ＲＡＭ３４０に格納される各データは、常に全てのデータがＲＡＭ３４０に格納されなくともよく、全てのデータのうち処理に用いられるデータのみがＲＡＭ３４０に格納されれば良い。【００８８】
なお、上記した生成プログラム３３０ａについては、必ずしも最初からＨＤＤ３３０に記憶させなくともよい。【００８９】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。  【００９０】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００９１】
２０      端末装置
２３      記憶部
２３ａ    画像データ
２４      制御部
２４ａ    取得部
２４ｃ    変更部
２４ｄ    生成部
２４ｅ    表示制御部
【図１】
0005987899.tif 000002
【図２】
0005987899.tif 000003
【図３】
0005987899.tif 000004
【図４】
0005987899.tif 000005
【図５Ａ】
0005987899.tif 000006
【図５Ｂ】
0005987899.tif 000007
【図５Ｃ】
0005987899.tif 000008
【図５Ｄ】
0005987899.tif 000009
【図６】
0005987899.tif 000010
【図７】
0005987899.tif 000011
【図８】
0005987899.tif 000012
【図９】
0005987899.tif 000013
【図１０】
0005987899.tif 000014
【図１１】
0005987899.tif 000015