説明

動画像撮影装置、情報処理システム、情報処理装置、および画像データ処理方法

【課題】対象物の撮像から、そのデータを用いた画像表示までのレイテンシを抑制する。
【解決手段】カメラの画像合成部156は、前段に設けられた、撮影した動画像のフレームを複数段階に縮小するためのピラミッドフィルタから1/4、1/16、1/64デモザイク後画像の横一列分の画素値を受け取る。そして所定の規則でつなげて仮想的な合成画像を生成し、ストリームとして出力する。画像送出部151の制御部164は、ホスト端末からの要求をデータ選択部154に通知する。データ選択部154は、画像合成部156、および全段に設けられた画像取得部、デモザイク部からそれぞれ入力される、合成画像、RAW画像、1/1デモザイク後画像のデータのストリームから、必要なデータを選択、抽出して、送信すべきデータのストリームを生成する。パケット化部162は当該ストリームをパケット化してホスト端末へ送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物の動きに応じて情報処理を行う技術に関する。
【背景技術】
【0002】
従来、ユーザの頭部など体の一部をビデオカメラで撮影し、目、口、手などの所定の領域を抽出し、その領域を別の画像で置換してディスプレイに表示するゲームが知られている(例えば、特許文献1)。また、ビデオカメラで撮影された口や手の動きをアプリケーションの操作指示として受け取るユーザインタフェースシステムも知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】欧州特許出願公開第0999518号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような技術では、ユーザの口や手などの所定の領域を抽出するために高解像度の画像が必要になる。しかしながら、ビデオカメラの撮像素子を高性能化するほど高解像度化などデータ量が増大し、転送用の圧縮、伸張処理や認識、検出、計測処理等に必要な情報を適切なスケールで提供するフィルタリングやスケーリング、クロッピング等のデータマイニング処理コストが増大し、カメラ入力から各処理出力までのレイテンシが増大してしまうという問題がある。また、カメラをユーザインタフェースとして使用する場合には、レイテンシの増大は使い勝手を著しく低下させてしまうという問題がある。このように、ビデオカメラの撮像素子の性能が向上しても、システム全体としての性能が悪化してしまうおそれがある。
【0005】
本発明はこうした課題に鑑みてなされたものであり、その目的は、高性能の撮像素子を使用しつつ、撮像から、そのデータを用いた画像表示までのレイテンシを抑制することができる画像処理技術を提供することにある。
【課題を解決するための手段】
【0006】
本発明のある態様は動画像撮影装置に関する。この動画像撮影装置は、対象物を撮影して得られる動画像の各フレームを多段階で縮小することにより異なる解像度の複数の画像のデータを、それぞれ所定の画素順に生成し、ストリームとして順次出力する画像データ生成部と、画像データ生成部から出力された複数の画像のデータのうち所定の複数の画像のデータを、画像の一列分の画素列またはそれより小さい範囲の画素列ごとに接続してストリームとして出力することにより、所定の複数の画像を含む仮想的な合成画像を生成する画像合成部と、接続したホスト端末からデータの送信要求を受け付け、画像データ生成部および画像合成部から出力された複数のストリームから、要求された画像および領域に含まれる画素のデータを抽出していくことにより送信すべきデータのストリームを生成し、ホスト端末に送信する画像送出部と、を備えることを特徴とする。
【0007】
本発明の別の態様も動画像撮影装置に関する。この動画像撮影装置は、左右の異なる視点から同じ対象物を撮影する一対のカメラを備えた動画像撮影装置であって、一対のカメラはそれぞれ、対象物を撮影して得られる動画像の各フレームを多段階で縮小することにより異なる解像度の複数の画像のデータを、それぞれ所定の画素順に生成し、ストリームとして順次出力する画像データ生成部と、画像データ生成部から出力された複数の画像のデータのうち所定の複数の画像のデータを、画像の一列分の画素列またはそれより小さい範囲の画素列ごとに接続してストリームとして出力することにより、所定の複数の画像を含む仮想的な合成画像を生成する画像合成部と、を備え、動画像撮影装置はさらに、一対のカメラが生成した視点の異なる画像のデータのうち、所定の解像度の画像のデータに対しステレオマッチングを行うことにより、対象物の3次元空間における位置を表す奥行き画像を所定の画素順に生成し、ストリームとして順次出力するステレオマッチング処理部と、接続したホスト端末からデータの送信要求を受け付け、画像データ生成部、画像合成部、およびステレオマッチング処理部から出力された複数のストリームから、要求された画像および領域に含まれる画素のデータを抽出していくことにより送信すべきデータのストリームを生成し、ホスト端末に送信する画像送出部と、を備えることを特徴とする。
【0008】
本発明のさらに別の態様は情報処理システムに関する。この情報処理システムは、対象物を撮影して動画像のデータを生成する動画像撮影装置と、当該動画像撮影装置から動画像のデータの一部を取得し、それを利用して所定の画像処理を行ったうえ画像を表示するホスト端末と、を備えた情報処理システムであって、動画像撮影装置は、撮影して得られた動画像の各フレームを多段階で縮小することにより異なる解像度の複数の画像のデータを、それぞれ所定の画素順に生成し、ストリームとして順次出力する画像データ生成部と、画像データ生成部から出力された複数の画像のデータのうち所定の複数の画像のデータを、画像の一列分の画素列またはそれより小さい範囲の画素列ごとに接続してストリームとして出力することにより、所定の複数の画像を含む仮想的な合成画像を生成する画像合成部と、画像データ生成部および画像合成部から出力された複数のストリームから、ホスト端末から要求された画像および領域に含まれる画素のデータを抽出していくことにより送信すべきデータのストリームを生成したうえ、ホスト端末に送信する画像送出部と、を備えることを特徴とする。
【0009】
本発明のさらに別の態様は情報処理装置に関する。この情報処理装置は、対象物を撮影しているカメラに対し、解像度および画像内の領域を指定して動画像のフレームの画像データの送信を要求するデータ要求部と、要求に従ってカメラから送信された、指定した領域の画素値を画素列ごとに接続したストリームの状態の画像データを、メインメモリにおいて2次元の画像データとして展開するデータ展開部と、2次元の画像データを利用して所定の画像処理を行ったうえ画像を表示するデータ処理部と、を備え、データ要求部は、カメラ内で生成される、動画像のフレームを多段階で縮小することにより得られる異なる解像度の複数の画像をそれぞれ所定の矩形領域に配置した合成画像を指定し、データ展開部は、カメラから送信された合成画像を、合成対象の画像ごとに個別の2次元の画像データに展開することにより画像の分別を行うことを特徴とする。
【0010】
本発明のさらに別の態様は画像データ処理方法に関する。この画像データ処理方法は、動画像撮影装置が行う画像データ処理方法であって、対象物を撮影して得られる動画像の各フレームを多段階で縮小することにより異なる解像度の複数の画像のデータを、それぞれ所定の画素順に生成し、ストリームとして順次出力するステップと、出力するステップにおいて出力された複数の画像のデータのうち所定の複数の画像のデータを、画像の一列分の画素列またはそれより小さい範囲の画素列ごとに接続してストリームとして出力することにより、所定の複数の画像を含む仮想的な合成画像を生成するステップと、接続したホスト端末からデータの送信要求を受け付け、出力するステップおよび生成するステップにおいて出力された複数のストリームから、要求された画像および領域に含まれる画素のデータを抽出していくことにより送信すべきデータのストリームを生成し、ホスト端末に送信するステップと、を含むことを特徴とする。
【0011】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0012】
本発明によると、撮像から、そのデータを用いた画像の表示までのレイテンシを抑えることができる。
【図面の簡単な説明】
【0013】
【図1】実施の形態1に係る低遅延カメラシステムの全体構成を示す図である。
【図2】実施の形態1に係るカメラの構成を示す図である。
【図3】実施の形態1におけるカメラの画像合成部および画像送出部の構成を詳細に示す図である。
【図4】実施の形態1におけるホスト端末の内部回路構成を示す図である。
【図5】実施の形態1のカメラおよびホスト端末におけるデータの形態の基本的な変遷を模式的に示す図である。
【図6】実施の形態1における、1/4デモザイク後画像、1/16デモザイク後画像、1/64デモザイク後画像の画素値の、ピラミッドフィルタ部からの入力タイミングを示すタイムチャートである。
【図7】実施の形態1において画像合成部が複数の画像の画素列のデータをつなげた様子を模式的に示す図である。
【図8】実施の形態1におけるホスト端末のデータ要求処理およびカメラのデータ送信処理に係る構成を示す図である。
【図9】実施の形態1における画像送出部の構成の変形例を示す図である。
【図10】実施の形態2に係るカメラの構成を示す図である。
【図11】実施の形態3に係るカメラの構成を示す図である。
【図12】実施の形態3におけるホスト端末とステレオカメラが協働して画像処理を行う処理手順の例を示すフローチャートと、生成される画像例を示す図である。
【図13】実施の形態3におけるホスト端末とステレオカメラが協働して画像処理を行う処理手順の別の例を示すフローチャートと、生成される画像例を示す図である。
【図14】実施の形態3におけるホスト端末とステレオカメラが協働して画像処理を行う処理手順の別の例を示すフローチャートと、生成される画像例を示す図である。
【発明を実施するための形態】
【0014】
実施の形態1
図1は、本実施形態に係る低遅延カメラシステム10の全体構成を示す。このシステムでは、ユーザ6の動画像をカメラ100で撮像し、そのデータに基づきホスト端末20で画像処理を行い、ディスプレイ4にその結果を映し出したり、またはインターネット、LAN(Local Area Network)等のネットワーク12を介して所定の通信先に送信したりする。
【0015】
カメラ100は、CCD(Charge Coupled Device)またはCMOS(Complementary Metal Oxide Semiconductor)等の撮像素子を備えたデジタルビデオカメラであり、図示するように、ディスプレイ4の筐体の上部に設置される。ディスプレイ4は、例えば液晶テレビ、プラズマテレビ、PCディスプレイ等であり、通常ユーザ6はディスプレイ4の前方に位置してカメラ100によってユーザの全身または一部が撮像される。
【0016】
ディスプレイ4に映る像は、低遅延カメラシステム10で実行されるアプリケーションによって異なる。例えば、低遅延カメラシステム10をユーザ6の動作や表情を認識して何らかの操作指示として解釈するユーザインタフェース(UI)として使用する場合、ディスプレイ4に映し出される像8はユーザ6の顔や手などの体の一部または全身である。低遅延カメラシステム10をビデオチャットとして使用する場合、ディスプレイ4に映し出される像8はチャット相手の顔であり、ユーザ6自身の像はネットワーク12を介してチャット相手のディスプレイ上に映し出される。
【0017】
上記のような使用態様から、カメラ100はディスプレイ4の上部に設置されるのが最適である。しかしながら、ユーザ6の全身または一部を撮像できる限り、ディスプレイ4の近傍以外、例えばホスト端末20の近傍やユーザの周囲などに配置されてもよい。また、カメラ100は単体の構成でなく、ディスプレイ4の筐体などに埋め込まれていてもよい。カメラ100で撮像素子を使用する代わりに、アナログ画像をA/D変換して用いてもよい。
【0018】
ホスト端末20は、画像処理機能を備えたパーソナルコンピュータやゲーム装置などのコンピュータ端末である。ホスト端末20は、ユーザ6をカメラ100で撮影して得られた動画像の各フレーム、または各フレームから得られる各種データを時系列的に連続して取り込み、所定の画像処理を行う。ビデオチャットアプリケーションの場合は、ユーザ6の画像をネットワーク12を介してリアルタイムでチャット相手に送信する。ユーザインタフェースアプリケーションの場合は、ユーザ6の画像、それから得られる各種データなどに基づき所定の情報処理を実施し、その結果をディスプレイ4に出力する。
【0019】
例えばユーザ6の動きに応じて動くキャラクターの画像や、ユーザ6の手に剣などのアイテムを持たせた画像をリアルタイムでディスプレイ4に出力する。このようなアプリケーションにおいて必要となる、ユーザ6の顔検出処理や特定部位のトラッキング処理は、ホスト端末20が行ってもよいし、後述するようにカメラ100が行い、その結果を上記「各種データ」の一部としてホスト端末20に送信するようにしてもよい。
【0020】
なお上記のビデオチャットアプリケーションにおいても、顔検出処理の結果得られたユーザ6の顔の領域のみ高解像度で表すなどの加工を行ってもよい。ホスト端末20は、上記の画像処理の他に、各種アプリケーションを実行するためのメニューやカーソル等のオブジェクト画像を合成してディスプレイ4に表示させることもできる。
【0021】
このように、低遅延カメラシステム10においてカメラ100が撮影した動画像を利用してなされる処理は様々考えられ、その内容は特に限定されない。本実施の形態ではいずれの処理を行う場合でも、カメラ100が、動画像の撮影のみならず、それを用いた何らかの処理を行い、複数種類のデータを生成する。カメラ100が行う処理、ひいてはその構成もまた、アプリケーションや、カメラおよびホスト端末の処理能力などによって様々考えられる。
【0022】
本実施の形態では、カメラ100が、自らが撮影している映像を複数の解像度で表した動画像データを生成してゆき、ホスト端末20からの要求に従い、そのうち必要なデータのみをリアルタイムにホスト端末20に送出する。ここでホスト端末20は、解像度、表色系やその要素など画像全体の表し方を指定できるほか、フレーム内の領域も指定できることとする。
【0023】
例えば低解像度の全体画像のデータと、高解像度の画像のうち注目すべき領域のみの画像データをカメラ100から取得し、それらの画像を画像平面上で合成することにより、データ伝送の負荷を抑えつつ、注目すべき領域については詳細に表現された動画像を表示することができる。この例は、ホスト端末20において顔検出処理を行うことにより得られた顔の領域を注目すべき領域とすれば、ビデオチャットなどのアプリケーションに有効である。
【0024】
図2は、本実施形態に係るカメラ100の構成を示す。同図および後述の図3、4、8〜11は、ハードウェア的には、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、描画回路などの構成で実現でき、ソフトウェア的にはデータ入力機能、データ保持機能、画像処理機能、描画機能などの諸機能を発揮するプログラムで実現される。これらの図では、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによって様々な形で実現できる。なお、図2中には、説明を容易にするために、各機能ブロックで処理される画像部分の模式図も含まれている。
【0025】
カメラ100は、画像取得部102、デモザイク部104、ピラミッドフィルタ部170、画像合成部156、画像送出部151、および通信部108を備える。画像取得部102は、CCDまたはCMOS等の撮像素子で露光された画像を所定のタイミング(例えば、60回/秒)で読み出す。以下の説明では、この画像は横方向に画素W個分、縦方向に画素H個分の幅を有するものとする。この画像はいわゆるRAW画像である。画像取得部102は、RAW画像の横一列分の露光が完了する毎に、これをデモザイク部104および画像送出部151に送る。
【0026】
デモザイク部104は、画素W個分の容量を有するFIFO(First In First Out)バッファ105と簡易デモザイク処理部106とを有する。FIFOバッファ105には、RAW画像の横一列分の画素情報が入力され、次の横一列分の画素がデモザイク部104に入力されるまでそれを保持する。簡易デモザイク処理部106は、横二列分の画素を受け取ると、それらを用いて、各画素に対してその周辺画素に基づき色情報を補完してフルカラー画像を作り出すデモザイク(de-mosaic)処理を実行する。
【0027】
当業者には周知のように、このデモザイク処理には多数の手法が存在するが、ここでは横二列分の画素のみを利用する簡易なデモザイク処理で十分である。一例として、対応するYCbCr値を算出すべき画素がG値のみを有している場合は、R値は左右に隣接するR値を平均、G値は当該G値をそのまま使用、B値は上または下に位置するB値を使用してRGB値とし、これを所定の変換式に代入してYCbCr値を算出するなどである。このようなデモザイク処理は周知であるからこれ以上詳細な説明は省略する。なおデモザイク部104および以後の処理で生成される画像データの色空間はYCbCrに限定されるものではない。
【0028】
簡易なデモザイク処理で十分な理由は、高品質の画像が必要な場合はRAW画像を用いることができるためである。簡易なデモザイク処理の変形例として、RGBの4画素から一画素のYCbCr値を構成する手法を用いてもよい。この場合は、RAW画像の1/4サイズのデモザイク後画像が得られるので、後述する第1フィルタ110は不要になる。
【0029】
簡易デモザイク処理部106は、例えば図示のように、横2×縦2のRGBの4画素をYCbCrカラー信号に変換する。そして、この4画素からなるブロックは、画像送出部151に1/1デモザイク画像として渡されるとともに、ピラミッドフィルタ部170に送られる。
【0030】
ピラミッドフィルタ部170は、ある画像を複数の解像度に階層化して出力する機能を有する。ピラミッドフィルタは、一般に必要とする解像度のレベルに応じた数の1/4縮小フィルタを備えるが、本実施形態では第1フィルタ110〜第3フィルタ130の3階層のフィルタを有している。各フィルタは、相互に隣接する4個の画素をバイリニア補間して4画素の平均画素値を演算する処理を実行する。したがって、処理後の画像サイズは処理前の画像の1/4になる。なお本実施の形態は、3階層以外のフィルタ数であっても同様に適用できることは当業者には容易に理解されるところである。
【0031】
第1フィルタ110の前段には、Y、Cb、Crのそれぞれの信号に対応して、画素W個分のFIFOバッファ112が一つずつ配置される。これらのFIFOバッファ112は、横一列分のYCbCr画素を、次の横一列分の画素が簡易デモザイク処理部106から出力されるまで保持する役割を有する。画素の保持時間は、撮像素子のラインスキャンの速度に応じて決まる。横二列分の画素が入力されると、第1フィルタ110は、横2×縦2の4画素分のY、Cb、Crの画素値を平均する。この処理を繰り返すことによって、1/1デモザイク後画像は縦横それぞれ1/2の長さとなり、全体として1/4のサイズに変換される。変換された1/4デモザイク後画像は、画像合成部156に送られるとともに、次段の第2フィルタ120に渡される。
【0032】
第2フィルタ120の前段階には、Y、Cb,Crのそれぞれの信号に対応して、画素W/2個分のFIFOバッファ122が一つずつ配置される。これらのFIFOバッファ122も、横一列分のYCbCr画素を、次の横一列分の画素が第1フィルタ110から出力されるまで保持する役割を有する。横二列分の画素が入力されると、第2フィルタ120は、横2×縦2の4画素分のY、Cb、Crの画素値を平均する。この処理を繰り返すことによって、1/4デモザイク後画像は縦横それぞれ1/2の長さとなり、全体として1/16のサイズに変換される。変換された1/16デモザイク後画像は、画像合成部156に送られるとともに、次段の第3フィルタ130に渡される。
【0033】
第3フィルタ130についても、前段にW/4個分のFIFOバッファ132が配置される以外は、上記と同様の処理を繰り返す。そして画像合成部156に、1/64サイズのデモザイク後画像を出力する。なお、上記のようなピラミッドフィルタは、特許文献1にも記載されているように周知であるから、本明細書ではこれ以上の詳細な説明を省略する。
【0034】
このように、ピラミッドフィルタ部170の各フィルタからは、1/4ずつ縮小された画像出力が画像合成部156に入力される。これから分かるように、ピラミッドフィルタ部170内のフィルタを通過するほど、各フィルタの前段に必要となるFIFOバッファの大きさは小さくて済むようになる。なおフィルタの数は3つに限定されず、求められる解像度の幅に応じて適宜決定してよい。
【0035】
画像合成部156は、第1フィルタ110、第2フィルタ120、第3フィルタ130からそれぞれ1/4、1/16、1/64デモザイク後画像のYCbCr画素値を受け取る。そして各画像の横一列分の画素列、あるいは一列分より小さい範囲の画素列を所定の規則でつなげて、Y、Cb、Crの画素値のそれぞれについて、1/4、1/16、1/64デモザイク後画像の画素列が接続した新たな画素列を生成する。生成された画素列は画像送出部151に送られる。
【0036】
画像送出部151は、入力された複数種類の画像データのうち、ホスト端末20から通信部108を介して受けたデータ要求に応じて必要なデータを選び出す。そして選び出したデータをパケット化して通信部108に送る。本実施の形態においてカメラ100が行う処理は、画像の左上を起点とし、左から右への処理を画像の下方向へ繰り返すラスタ順で実行され、横一列の画素を基本的な処理単位とする。そして画像送出部151へ入力する各種画像のデータ形式、およびホスト端末20へ送信される画像のデータ形式は基本的に、画像の横一列のデータを上から順につなげたストリームとする。
【0037】
通信部108は、例えばUSB1.0/2.0等の所定のプロトコルにしたがって、パケットをホスト端末20に送出する。ホスト端末20との通信は有線に限らず、例えばIEEE802.11a/b/gなどの無線LAN通信、IrDAなどの赤外線通信であってもよい。なお図2においてはY、Cb、Crのデータを個別に表現し、そのそれぞれに対してデータ入出力のための矢印を示したが、以後は図が煩雑になるのを防ぐため、それらの要素を1セットで表す。
【0038】
本実施の形態において、画像合成部156が生成するデータは、3つのデモザイク後画像の画素列が混在する一連の画素値のストリームである。したがって厳密には3つのデモザイク後画像をつなげた結果を2次元平面の画像として生成するものではない。しかしながら後に詳述するように、画像合成部156が出力するストリームに対し、画像の横一列分の画素数に相当する画素数を定義すれば、以後の処理は、画像合成部156を介さないRAW画像や1/1画像のデータと同様となる。結果として画像合成部156は、実質的には1/4、1/16、1/64デモザイク後画像を合成した画像を生成していることになる。以後、この仮想的な画像を「合成画像」と呼ぶ。
【0039】
図3はカメラ100の画像合成部156および画像送出部151の構成を詳細に示している。画像合成部156は、第2フィルタ120および第3フィルタ130から取得した1/16、1/64デモザイク後画像の横一列分のデータをそれぞれ一時保存するFIFOバッファ149、150を有する。
【0040】
そして後に詳述するように、第1フィルタ110からの1/4デモザイク後画像の横一列分の画素のデータに、第2フィルタ120からの1/16デモザイク後画像の横一列分の画素列の半分の画素のデータと、第3フィルタ130からの1/64デモザイク後画像の横一列分の画素列の4分の1の分の画素のデータをこの順でつなげて仮想的な合成画像の横一列分のデータとする。
【0041】
画像送出部151はデータ選択部154、パケット化部162、および制御部164を有する。画像送出部151の制御部164は、ホスト端末20からの要求に基づき、データ選択部154に、各種画像データのうちいずれをパケットとして送出するかを指示する。データ選択部154は、画像取得部102から入力されたRAW画像、デモザイク部104から入力された1/1デモザイク後画像、画像合成部156から入力された合成画像の画素列のデータを入力データとし、制御部164から指示されたデータを選択、抽出し、パケット化部162に送る。
【0042】
このとき、ホスト端末20からの要求によっては上述のとおり、ある画像データのストリームをそのまま送る場合と、注目すべき領域に含まれる一部の範囲のデータのみを送る場合がある。後者の場合、送る部分のデータをつなげることによりストリームを再構築する。パケット化部162はデータ選択部154から入力されたストリームを、通信部108のプロトコルに応じたサイズごとにパケット化し、内部のパケットバッファ(図示せず)に書き込む。例えばUSBの場合、ストリームをエンドポイントのサイズごとにパケット化する。
【0043】
通信部108は、当該パケットバッファ内のパケットを、所定の通信プロトコルにしたがってホスト端末20に転送する。なお、RAW画像、1/1デモザイク後画像、合成画像のデータのうち、複数の画像のデータが要求された場合、データ選択部154はそれらに対応する複数のストリームをパケット化部162に入力する。データ選択部154の出力、およびパケット化部162の入出力、通信部108の入出力に複数のチャンネルを設け、要求された複数のデータを並列に送信するようにすることで、より低遅延のデータ送出を実現してもよい。この場合については後に詳述する。
【0044】
図4はホスト端末20の内部回路構成を示している。ホスト端末20は、CPU(Central Processing Unit)50、GPU(Graphics Porcessing Unit)52、表示制御部54、記憶部56、メインメモリ58、および通信部60を含む。CPU50は、オペレーティングシステムやアプリケーションなどのプログラムに基づいて、信号処理や内部構成要素を制御する。GPU52はCPU50からの要求に従い画像処理を行う。表示制御部54は、GPU52がフレームバッファ(図示せず)に描画した画像データをディスプレイ4に表示するためのビデオ信号を生成する。
【0045】
記憶部56はハードディスクドライブや不揮発性メモリなどで構成され、低遅延カメラシステム10を動作させるためのプログラムや必要なデータが格納される。メインメモリ58は、RAM(ランダムアクセスメモリ)などで構成され、プログラムやデータのロードのほか、カメラ100から送信されたデータを格納する。通信部60はUSBやIEEE1394などの周辺機器インタフェースや、有線又は無線LANのネットワークインタフェースであり、本実施の形態では特に、カメラ100へのデータ要求信号の送信、カメラ100から送信されたデータの受信を行う。これらの各部は、バス62を介して相互に接続されている。なおGPU52は、テクスチャデータなど処理に必要なデータを、バス62を介してメインメモリ58から直接読み出すことができる。
【0046】
図5はカメラ100およびホスト端末20におけるデータの形態の基本的な変遷を模式的に示している。ここでは例として、横方向に画素W個分、縦方向に画素H個分の幅を有するフレーム画像200全体のデータを、カメラ100からホスト端末20に送信する場合を考える。上述のように本実施の形態では画像データの生成、選択、送信を画素のラスタ順に行い、横一列分の画素列を順次つなげてストリームの形式で処理する。
【0047】
このような状況においてデータ選択部154が出力するデータがストリーム202である。同図においてストリーム202の横軸は時間経過を表しており、ストリーム202を構成する各矩形L1、L2、・・・、LHはそれぞれ、フレーム画像200の1列目、2列目、・・・、H列目の画素のデータを表す。1画素のデータサイズをdバイトとすると各矩形のデータサイズはW×dバイトである。
【0048】
パケット化部162は、ストリーム202を所定サイズごとにパケットにまとめ、パケットP1、P2、P3、P4、P5、・・・を生成する。これによりカメラ100からホスト端末20へ、パケットP1、P2、P3、P4、P5、・・・の順に送信される。ホスト端末20はパケットP1、P2、P3、P4、P5、・・・を通信部60を介して受信すると、CPU50の制御のもとメインメモリ58に格納する。
【0049】
このとき、本来のフレーム画像200の横方向の画素数Wを横幅とするようにメインメモリ58にパケットのデータをラスタ順に並べていき、W×d×Hバイトの連続したアドレスにデータを展開することにより、画像204を復元する。同図において画像204を構成する矩形は各パケットのデータを示している。GPU52はCPU50の制御のもと、メインメモリ58に展開された画像204に加工を施したり別の画像と合成したりしてディスプレイ4に表示すべき画像を描画する。
【0050】
次に画像合成部156が1/4、1/16、1/64デモザイク後画像を合成する手法について説明する。図6は、1/4デモザイク後画像、1/16デモザイク後画像、1/64デモザイク後画像の画素値の、ピラミッドフィルタ部170の各フィルタからの入力タイミングを示すタイムチャートである。同図において時間ステップS1、S2、S3、S4、・・・はそれぞれ、1/4デモザイク後画像の1行目、2行目、3行目、4行目、・・・の画素値が入力される期間を表す。
【0051】
上記の1/4デモザイク後画像のように、合成画像に含まれる画像のうち最高解像度の画像は、ピラミッドフィルタ部170におけるデータの生成レートが最も高い。そこで当該画像の横一列分の画素値が入力される期間を基準の時間ステップとし、当該時間ステップを合成画像の横一列分の画素列と対応させる。すなわち、最高解像度の画像の横一列分の画素値が入力される期間を基準周期として、合成画像の横一列分のデータが生成される。
【0052】
図の上段、中段、下段はそれぞれ、1/4デモザイク後画像、1/16デモザイク後画像、1/64デモザイク後画像の入力タイミングを示しており、1つの矩形が1画素分の入力に対応する。まず時間ステップS1において、1/4デモザイク後画像の1列目の画素列L(1/4)1の画素値が左の画素から順に入力される。この時間ステップでは、1/16デモザイク後画像、1/64デモザイク後画像は生成されていないため入力されない。
【0053】
次の時間ステップS2では、1/4デモザイク後画像の2列目の画素列L(1/4)2の画素値が左の画素から順に入力される。このときピラミッドフィルタ部170では、1/4デモザイク画像の1列目の画素列L(1/4)1および2列目の画素列L(1/4)2の画素値を用いて1/16デモザイク後画像の1列目の画素列L(1/16)1が生成されるため、時間ステップS2では当該画素列の画素値も入力される。
【0054】
例えば1/16デモザイク後画像の1列目の画素列L(1/16)1の左端の期間210で入力される画素値は、1/4デモザイク後画像の1列目の画素列L(1/4)1のうち、期間206で入力される2つの画素の画素値、および2列目の画素列L(1/4)2のうち、期間208で入力される2つの画素の画素値を用いて生成される。このため時間ステップS2において、画素列L(1/16)1の画素値の入力タイミングは、画素列L(1/4)2の対応する画素の画素値の入力タイミングより少なくとも2画素分遅延する。
【0055】
次の時間ステップS3では、1/4デモザイク後画像の3列目の画素列L(1/4)3の画素値が入力される。この時間ステップでは、1/16デモザイク後画像の2列目の画素値が生成されておらず、1/64デモザイク後画像は生成されていないため、そのいずれも入力されない。次の時間ステップS4、すなわち1/4デモザイク画像の4列目の画素列L(1/4)4の画素値が入力される期間では、時間ステップS2と同様、1/16デモザイク後画像の2列目の画素列L(1/16)2の画素値も入力される。
【0056】
さらにピラミッドフィルタ部170では、1/16デモザイク画像の1列目の画素列L(1/16)1および2列目の画素列L(1/16)2の画素値を用いて1/64デモザイク後画像の1列目の画素列L(1/64)1が生成されるため、時間ステップS4では当該画素列の画素値も入力される。例えば1/64デモザイク後画像の1列目の画素列L(1/64)1のうち、最初の入力期間218で入力される画素値は、1/16デモザイク画像の1列目の画素列L(1/16)1のうち、期間210および期間212で入力される2つの画素の画素値、および2列目の画素列L(1/16)2のうち、期間214および期間216で入力される2つの画素の画素値を用いて生成される。
【0057】
このため時間ステップS4において、画素列L(1/64)1の入力タイミングは、画素列L(1/16)2の対応する画素の画素値の入力タイミングより少なくとも2画素分遅延する。以後、同様に各画像の画素値入力を繰り返すことにより、1/4デモザイク後画像、1/16デモザイク後画像、1/64デモザイク後画像の全画素値が画像合成部156へ入力される。
【0058】
このように各画像の画素値は、ピラミッドフィルタ部170の対応するフィルタから個別のストリームとしてラスタ順に入力される。画像合成部156はこれらをつなげて1つのストリームとなるようにして画像送出部151へ出力する。最も単純には、元の画像に関わらず、入力された時間順で画素値のデータをつなげていくことが考えられる。この場合、合成処理自体は容易であるが、後の処理で画像ごとに一列ずつデータを分類、抽出する必要が生じ、処理が煩雑化する。
【0059】
また各時間ステップにおいて画像ごとに画素値をまとめて画素列を生成し、それらを直列につなげることも考えられる。この場合、時間ステップS1やS3では、入力される画素値が1/4デモザイク後画像のデータのみであるのに対し、例えば時間ステップS4では1/4デモザイク画像、1/16デモザイク画像、1/64デモザイク画像の3つの画像のデータとなるなど、時間ステップによって出力されるデータ長が大きく変化する。そこで本実施の形態では、データが入力されない時間ステップがある画像については、その時間ステップを利用して、直前に入力された画素値の一部を出力するようにし、各時間ステップで出力されるデータ長をおよそ均等化する。
【0060】
図7は画像合成部156が複数の画像の画素列のデータをつなげた様子を模式的に示している。図中、S0、S1、S2、S3、・・・は図6と同様の時間ステップであり、それぞれの期間に、1/4デモザイク後画像の一列分の画素値が入力される。同図では各時間ステップにデータが出力される画素列を、画像ごとに異なる網掛け矩形で示している。図6を参照して説明したように、時間ステップS1では1/4デモザイク後画像の1列目の画素列L(1/4)1の画素値のみが入力されるため、画像合成部156はそれをそのまま出力する。元のRAW画像の横方向の画素数がWであるとすると、1/4デモザイク後画像の一列分の画素数は、同図に示すようにW/2である。
【0061】
次の時間ステップS2では、1/4デモザイク後画像の2列目の画素列L(1/4)2の画素値、および1/16デモザイク後画像の1列目の画素列L(1/16)1の画素値が図6に示すようなタイミングで並列に入力される。画像合成部156はそのうち、1/16デモザイク後画像の1列目の画素列L(1/16)1の画素値をFIFOバッファ149に一時保存し、1/4デモザイク後画像の2列目の画素列L(1/4)2の画素値を連続して先に出力する。
【0062】
1/4デモザイク画像の2列目の画素列L(1/4)2の画素値が全て出力されたら、続けて、1/16デモザイク後画像の1列目の画素列L(1/16)1をFIFOバッファ149から読み出し、出力する。このとき次の時間ステップS3で出力する分を考慮し、1/16デモザイク後画像の1列目の画素列L(1/16)1の全画素のうち前半部分(画像平面における左半分)の画素値のみ出力し、残りはFIFOバッファ149に引き続き保存しておく。
【0063】
次の時間ステップS3では、1/4デモザイク後画像の3列目の画素列L(1/4)3の画素値のみが入力される。画像合成部156は、当該画素列の画素値をそのまま出力し、続けて、1/16デモザイク後画像の1列目の画素列L(1/16)1のうち未出力であった後半部分(画像平面における右半分)の画素値を内部メモリから読み出し、出力する。
【0064】
次の時間ステップS4では、1/4デモザイク後画像の4列目の画素列L(1/4)4の画素値および1/16デモザイク後画像の2列目の画素列L(1/16)2、1/64デモザイク後画像の1列目の画素列L(1/64)1の画素値が図6に示すようなタイミングで並列に入力される。画像合成部156はそのうち、1/16デモザイク後画像の2列目の画素列L(1/16)2および1/64デモザイク後画像の1列目の画素列L(1/64)1の画素値をそれぞれFIFOバッファ149、150に一時保存し、1/4デモザイク後画像の4列目の画素列L(1/4)4の画素値を連続して先に出力する。
【0065】
1/4デモザイク画像の4列目の画素列L(1/4)4の画素値が全て出力されたら、続けて、1/16デモザイク後画像の2列目の画素列L(1/16)2の前半部分をFIFOバッファ149から読み出し、出力する。次に1/64デモザイク後画像の1列目の画素列L(1/64)1を出力する。このとき次以降の3つの時間ステップS5、S6、S7で出力する分を考慮し、1/64デモザイク後画像の1列目の画素列L(1/16)1を4分の1分割し、その最初の部分の画素値のみ出力する。残りはFIFOバッファ150に保存しておく。
【0066】
次の時間ステップS5では、1/4デモザイク後画像の5列目の画素列L(1/4)5の画素値のみが入力される。画像合成部156は、当該画素列の画素値をそのまま出力し、続けて、1/16デモザイク後画像の2列目の画素列L(1/16)2のうち未出力であった後半部分の画素値をFIFOバッファ149から読み出し、出力する。さらに1/64デモザイク後画像の1列目の画素列L(1/16)1の未出力のデータのうち4分の1分割した2番目の部分の画素値を出力する。
【0067】
同様に、次の時間ステップS6では、1/4デモザイク後画像の6列目の画素列L(1/4)6の画素値、1/16デモザイク後画像の3列目の画素列L(1/16)3の前半部分の画素値、1/64デモザイク後画像の1列目の画素列L(1/64)1の未出力のデータのうち4分の1分割した3番目の部分の画素値を出力する。次の時間ステップS7では、1/4デモザイク後画像の7列目の画素列L(1/4)7の画素値、1/16デモザイク後画像の3列目の画素列L(1/16)3の後半部分の画素値、1/64デモザイク後画像の1列目の画素列L(1/64)1のうち4分の1分割した最後の部分の画素値を出力する。
【0068】
すなわち1/16デモザイク後画像の1列目の画素列L(1/16)1は、時間ステップS2およびS3の2つの時間ステップに半分ずつ出力される。また1/64デモザイク後画像の1列目の画素列L(1/64)1は、時間ステップS4、S5、S6、S7の4つの時間ステップに4分の1ずつ出力される。RAW画像の横方向の画素数がWであるとすると、1/16デモザイク後画像および1/64デモザイク後画像の横一列分の画素数はそれぞれW/4、W/8であるため、同図に示すように、時間ステップあたり(W/4)/2個、(W/8)/4個の画素のデータがそれぞれ出力される。
【0069】
以上の出力処理を画像の最下段の列まで繰り返す。このとき1/4デモザイク後画像の最下段の画素列のデータを出力した時点では、1/16デモザイク後画像の最下段の画素列の後半部分のデータ、および1/64デモザイク後画像の最下段の残り4分の3の画素のデータが未出力となる。そこで直後の時間ステップS(H/2+1)では、1/16デモザイク後画像の最下段の画素列の後半部分のデータ、および1/64デモザイク後画像の最下段の画素列を4分の1分割した2番目の部分のデータを出力する。
【0070】
このとき、それまで1/4デモザイク後画像のデータを出力していたW/2画素分のデータとして、まず無効データを出力し、続けて1/16デモザイク後画像、1/64デモザイク後画像のデータを出力する。続く2つの時間ステップS(H/2+2)、S(H/2+3)では、それまで1/4デモザイク後画像および1/16デモザイク後画像のデータを出力していたW/2+(W/4)/2画素分のデータとして、まず無効データを出力し、続けて1/64デモザイク後画像の最下段の画素列を4分の1分割した3番目の部分、4番目の部分のデータをそれぞれ出力する。
【0071】
このように出力すると同図に示すように、はじめの3つの時間ステップと終わりの3つの時間ステップを除き、常時、W/2+(W/4)/2+(W/8)/4=21W/32個の画素のデータが出力されることになる。また1列分の画素値を出力するのに、1/4デモザイク後画像は1時間ステップ、1/16デモザイク後画像は2時間ステップ、1/64デモザイク後画像は4時間ステップを要するため、1フレーム分の画像データを出力するのに要する時間ステップ数は、H/2=(H/4)×2=(H/8)×4と、全て等しくなる。結果として、3つの画像の1フレーム分のデータを出力するのに要する総時間ステップ数はH/2+3となる。
【0072】
上述のように画像合成部156が出力するデータは画素値の羅列であるが、各時間ステップに対応する画素の個数、すなわち21W/32を横一列分の画素の個数として与えておくことにより、画像送出部151ではRAW画像や1/1デモザイク後画像と同様、各時間ステップにおいて出力されるデータを画像の一列分のデータとして扱う。
【0073】
したがって各時間ステップを画像の縦方向の画素に対応させることができ、結果として、図7の全体的な矩形領域で表されるような合成画像220を生成していることになる。上述のように各時間ステップで出力する画素列において各画像のデータが占める範囲を固定することにより、合成画像220において1/4デモザイク後画像、1/16デモザイク後画像、1/64デモザイク後画像のデータは、それぞれまとまった矩形領域を構成する。そのため、その局所性を利用すれば、画像ごとのデータの切り出しが容易に行える。
【0074】
図8はホスト端末20のデータ要求処理およびカメラ100のデータ送信処理に係る構成を示している。なお同図において、図3および4で示した機能ブロックと重複するものには同じ符号を付し、その説明を一部省略する。またホスト端末20とカメラ100は上述のように互いの通信部を介して各種データの送受を行うが、同図では省略している。ホスト端末20のCPU50は、データ要求部64、データ処理部66、およびデータ展開部68を有する。カメラ100の画像送出部151のデータ選択部154は、ストリーム選択部166およびクロッピング部168を有する。
【0075】
CPU50のデータ要求部64は、カメラ100に対し、送信を要求する画像およびその領域を指定するデータ要求信号を送信する。送信を要求する画像としては例えば、RAW画像や各サイズのデモザイク後画像のいずれかを指定する。領域は例えば、画像平面における当該領域の左上の座標と横方向、縦方向の幅を指定する。CPU50のデータ要求部64はそのほか、撮影の開始や終了を要求する信号、撮影条件を指定する信号などもカメラ100に送信する。ここで撮影条件とは例えば、フレームレート、シャッタースピード、ホワイトバランス、画角などであり、カメラ100が有する性能やCPU50が実行しているアプリケーションなどに応じて決定される。
【0076】
画像送出部151の制御部164は、データ要求部64からのデータ要求信号を受信すると、データ選択部154にその情報を供給する。撮影の開始や終了を要求する信号、撮影条件を指定する信号などを受信した場合、制御部164は、カメラ100の画像取得部102などに適宜その情報を提供するが、ここでは一般的な技術を適用できるため詳細な説明を省略する。
【0077】
データ選択部154のストリーム選択部166は、画像取得部102、デモザイク部104、画像合成部156からそれぞれRAW画像、1/1デモザイク後画像、合成画像データのストリームを並列に読み出したうえ、データ要求信号で指定されている画像のデータのみを選択してクロッピング部168に出力する。クロッピング部168は、入力された画素のデータのうち、データ要求信号で指定されている矩形領域に含まれる画素のデータのみを抽出し、パケット化部162に出力する。
【0078】
クロッピング部168が行う処理は、画像内の指定された矩形領域を切り出して余分な領域を除外する一般的なクロッピング処理と同様である。本実施の形態では処理対象が画像平面ではなく画素列単位となるが、元の画像の横一列分の画素数の情報を与えておけば、画像平面の2次元座標をストリームにおける一次元座標と対応づけることは容易であり、切り取る画素の特定は同様に行える。
【0079】
本実施の形態では、1/4デモザイク後画像、1/16デモザイク後画像、1/64デモザイク後画像のデータを、図7に示すような合成画像上の矩形領域にまとめているため、このクロッピング処理によって3つの画像の切り分けを容易に行える。例えば図7に示した合成画像のうち、座標(W/2,1)を左上の頂点とする、横方向の幅W/8、縦方向の幅H/2の領域を指定すれば、1/16デモザイク後画像の全体領域のみを切り出すことができる。
【0080】
データ選択部154が以上の処理を繰り返すことにより、データ要求信号で指定された画像内の領域のデータが、画素列をつなげたストリーム形式でパケット化部162に連続して出力される。パケット化部162が受け取ったストリームはFIFOのポリシーで所定のサイズごとにパケット化され、順次ホスト端末20に送信される。
【0081】
ホスト端末20のデータ展開部68は、カメラ100から受信したパケットを、図5に示すようにメインメモリ58に画像平面として展開する。データ処理部66は、展開された画像を用いて、実行中のアプリケーションに応じた処理を行う。このとき必要に応じてGPU52に画像処理を要求し、GPU52はメインメモリ58から画像を読み出し、加工や合成を行ってよい。メインメモリ58に展開された画像データは一般的な画像データと同様であるため、テクスチャとして読み出すことも可能である。
【0082】
データ処理部66は、メインメモリ58に展開された画像を解析して顔領域や追跡対象の位置を取得し、その領域の情報をデータ要求部64に供給してもよい。このときデータ要求部64は、当該領域を指定して新たなデータ要求信号をカメラ100に送信してもよい。この場合、カメラ100のクロッピング部168は、新たな画像フレームを処理するタイミングで、抽出する領域を指定に従い変更する。
【0083】
図9は画像送出部の構成の変形例を示している。同図において、図8で示した機能ブロックと同様の機能を有するブロックには同じ符号を付し、その説明を一部省略する。この例では、画像送出部151の出力および通信部108の入出力が複数のチャンネルを有する。複数のチャンネルを設けることにより、異なる画像、異なる領域のデータを並列に抽出し、並列にホスト端末20へ送信できる。
【0084】
この場合、チャンネル数は特に限定されないが、同図においては3チャンネルを設けることにより、3種類のデータを同時に送信する。そのため画像送出部151は、第1データ選択部154a、第2データ選択部154b、第3データ選択部154cの3つのデータ選択部と、第1パケット化部162a、第2パケット化部162b、第3パケット化部162cの3つのパケット化部が設けられる。第1データ選択部154aと第1パケット化部162a、第2データ選択部154bと第2パケット化部162b、第3データ選択部154cと第3パケット化部162cがそれぞれ直列に接続され、担当するデータの選択、抽出、およびパケット化を行う。
【0085】
したがって第1データ選択部154a、第2データ選択部154b、第3データ選択部154cはそれぞれ、ストリーム選択部166aとクロッピング部168a、ストリーム選択部166bとクロッピング部168b、ストリーム選択部166cとクロッピング部168cのセットを有する。制御部164はホスト端末20からのデータ要求信号に指定された最大3つの画像および領域の情報を、3つのデータ選択部にひとつずつ割り当てる。
【0086】
ここで別のチャンネルに割り当てる画像および領域の情報は、全てが異なる画像でもよいし、同じ画像の異なる領域でもよい。各データ選択部およびパケット化部のセットが行う処理は、図8に示したデータ選択部154およびパケット化部162と同様である。このようにして画像送出部151から並列に出力された3つのストリームのパケットは、通信部108に設けられた3つのチャンネル、すなわち第1チャンネル172a、第2チャンネル172b、第3チャンネル172cにそれぞれ入力され、ホスト端末20へ並列に送信される。送信されたデータは、ホスト端末20のメインメモリ58に個別の画像として展開する。
【0087】
以上述べた本実施の形態によれば、ユーザなどの動きを撮影するカメラと、それを利用して画像表示を行うホスト端末を含むシステムにおいて、撮影した動画像をカメラ内部で複数の解像度のデータとする。そして画像の種類および解像度ごとに、画素のラスタ順に画素値をつなげたストリームとする。そしてホスト端末の要求に従いその一部を送信し、ホスト端末のメモリにおいてフレーム画像を構築する。このように、カメラ内部ではフレーム画像として展開することなく画素列の状態で順次処理を行っていくことにより、カメラに設けるべきメモリサイズを最低限に抑えることができる。また撮影からホスト端末へ送信するまでの間、1フレーム分のデータが出揃うのを待つ必要が生じないため、システム全体として低遅延で動きに応じた画像表示を行える。
【0088】
また複数の解像度の画像データを、一列分の画素値ごとにつなげて1つのストリームに含ませる。このとき、解像度によって「一列分の画素値」が生成されるレートが異なるため、低いレートでデータが生成される低解像度の画像は、データが生成されない期間も含め、均等にストリームに含まれるように配分する。これにより、単位時間あたりに処理および送信すべきデータサイズがおよそ均等になり、出力までに要する時間、使用する伝送帯域、送信に要する時間の見積もりが容易となるうえ、突発的なデータサイズの増大によって伝送帯域を圧迫する可能性が低くなる。
【0089】
このようにして生成したストリームは、後段の処理において、1つの解像度の画像データのみからなるストリームと同等に扱えるため、実質的に、複数の解像度の画像からなる合成画像を生成していることになる。そして上述のようにつなげることにより、合成対象の画像がそれぞれ、合成画像中の矩形領域を構成するようになるため、合成画像内の領域を指定することで、クロッピングという一般的な画像処理によって、1つのストリームに混在する複数の画像のデータを容易に分別できる。
【0090】
さらにカメラに、ホスト端末からの指定に応じたストリームの選択、一部のデータの抽出、パケット化を行う機構を複数設けることにより、複数のデータを並列に送信することができ、送信時間を短くすることができる。またそれぞれの機構が一つのストリームを担当し、ストリームごとにホスト端末に送信されるため、ホスト端末においてデータ分別の処理を省くことができる。
【0091】
実施の形態2
実施形態1では、カメラ100が、撮影した映像から複数の解像度の動画像データを生成し、ホスト端末20からの要求に従い、そのうち必要なデータのみをリアルタイムにホスト端末20に送出した。本実施の形態ではさらに、フレーム間の動き差分画像を生成してホスト端末20の要求対象とする。さらにカメラ100においていずれかの画像を解析し、その結果をメタデータとして、ホスト端末20に送信する画像データに付加する。
【0092】
本実施の形態は図1に示した低遅延カメラシステム10と同様のシステムによって実現できる。またホスト端末20も図4で示した構成と同様である。以後、主に実施の形態1と異なる点に着目して説明し、重複する部分についてはその説明を適宜省略する。
【0093】
図10は本実施に係るカメラの構成を示す。カメラ100aは、実施の形態1におけるカメラ100と同様、画像取得部102、デモザイク部104、ピラミッドフィルタ部170、画像合成部156、画像送出部151a、および通信部108を備える。カメラ100aはさらに、差分画像生成部174および画像解析部176を有する。
【0094】
画像取得部102、デモザイク部104、およびピラミッドフィルタ部170は、実施の形態1における対応する機能ブロックと同様に動作する。差分画像生成部174は、ピラミッドフィルタ部170が出力する所定の解像度の画像と、以前に出力された、同じ解像度の別のフレームの画像との差分画像を生成する。このため差分画像生成部174は、1フレーム分の画像データを一時保存する内部メモリ(図示せず)を備える。
【0095】
そして新たにピラミッドフィルタ部170から出力される画素値と、当該内部メモリに保存した以前のフレームの対応する画素の画素値との差分をとり、その結果を差分画像の画素値として画像合成部156に出力する。この処理も画素のラスタ順で行うため出力されるデータは他の画像と同様のストリームである。
【0096】
動きのある領域をおよそ見積もる場合など、ホスト端末20が差分画像を用いる目的によっては、差分画像に高い解像度を求めない場合も多い。そこでピラミッドフィルタ部170が生成する最低解像度の画像から差分画像を生成し、画像合成部156による合成対象とする。差分画像を合成画像の一部とすれば、以後は画像送出部151aおよび通信部108が実施の形態1で述べたのと同様に動作することにより、当該差分画像のデータをホスト端末20へ送信することができる。
【0097】
画像解析部176は、ピラミッドフィルタ部170が出力する所定の解像度の画像に対し所定の画像解析を行い、その結果を画像送出部151aに渡す。なお同図では、差分画像生成部174と画像解析部176の処理対象を同じ解像度の画像としているが、本実施の形態をそれに限定する趣旨ではなく、互いの処理を独立に行ってよい。
【0098】
画像解析部176が行う画像解析は、顔検出処理や、所定の形状を有する対象物のトラッキングなどである。したがって画像送出部151aに渡す解析結果は、顔領域や対象物の領域の位置や大きさの情報と、検出/追跡精度を表す評価値などである。いかなる解析を行うか、および対象物の形状情報などの解析条件は、実行するアプリケーションに応じて、アプリケーション起動時などにホスト端末20からカメラ100へ通知しておく。
【0099】
画像送出部151aのパケット化部162(図3に図示)は、ホスト端末20に送信する画像データの1フレーム分のストリームの直後、あるいは1フレーム分のストリーム中の所定の位置に、画像解析部176による画像解析の結果をメタデータとして挿入する。そして画像解析を行わない場合と同様に所定のサイズでパケット化する。
【0100】
この場合ホスト端末20は、カメラ100から送信されたデータのうち画像データ部分を画像としてメインメモリに展開し、メタデータは当該画像の加工や合成などの処理に利用する。またメタデータを利用し、以降のフレームについてカメラ100へ要求するデータの指定を新たに行ってもよい。画像データとメタデータの区別は、受信したストリームを全て画像とした場合の画像平面においてメタデータが付加されている領域をあらかじめ定めたり、メタデータ自体にそれを識別する情報を付加したりすることで可能となる。
【0101】
なお本実施の形態では、カメラ100aに差分画像生成部174と画像解析部176の双方を設けたが、どちらか一方のみを設けてもよい。またメタデータとして付加する情報は、画像解析の結果でなくてもよく、例えば元のRAW画像を取得したときのタイムスタンプなどでもよい。この場合、画像取得部102がフレームごとに生成したタイムスタンプの情報を、画像送出部151aが直接取得し、上記と同様にストリームに挿入すればよい。
【0102】
以上述べた本実施の形態によれば、実施の形態1の構成に加え、カメラ内部に、差分画像を生成する機構を設ける。差分画像を利用して動きのある領域を検出する態様では、低解像度の画像でも十分機能する場合が多いため、例えば最低解像度の画像を対象とし、生成した差分画像を合成画像に含ませる。これにより、実施の形態1で述べた効果に加え、差分画像についてもクロッピング処理によって容易に分別できる。その結果、動きのある領域を検出したい場合でも、ホスト端末で行うべき処理を最小限とすることができる。
【0103】
さらにカメラ内部に、顔領域の検出や所定の形状の対象物をトラッキングする機構を設け、その結果をメタデータとして画像データのストリームにフレーム単位で挿入する。これにより、顔領域や対象物の領域に加工を施したり当該領域の詳細な情報を得たい場合などに、ホスト端末で行うべき処理を最小限とすることができる。
【0104】
実施の形態3
本実施の形態では、図1に示した低遅延カメラシステム10のカメラ100を、左右の異なる視点から同じ対象物を撮影する一対のカメラを含むステレオカメラで構成する。そして当該ステレオカメラにおいて、左右から撮影した2つの動画像のフレームを用いてステレオマッチングを行い、対象物の奥行き方向の位置を表す奥行き画像を生成する。当該奥行き画像は他の画像と同様に、ホスト端末20からの要求に応じて随時送信する。ここでホスト端末20は実施の形態1と同様の構成でよい。以後、主に実施の形態1および2と異なる点に着目して説明し、重複する部分についてはその説明を省略する。
【0105】
図11は本実施に係るカメラの構成を示す。ステレオカメラ100bは第1カメラ190a、第2カメラ190b、ステレオマッチング処理部192、画像送出部151b、および通信部108を含む。第1カメラ190aおよび第2カメラ190bはそれぞれ、実施の形態1で示したカメラ100や実施の形態2で示したカメラ100aとおよそ同様の構成を有するが、画像送出部151bおよび通信部108については、第1カメラ190a、第2カメラ190b、及びステレオマッチング処理部192で共有する。
【0106】
第1カメラ190aは、画像取得部102a、デモザイク部104a、ピラミッドフィルタ部170a、画像合成部156a、画像解析部176aを有する。同様に第2カメラ190bは、画像取得部102b、デモザイク部104b、ピラミッドフィルタ部170b、画像合成部156b、画像解析部176bを有する。画像取得部102aおよび画像取得部102bにそれぞれ設けられる撮像素子は、左右の異なる視点から同じ対象物を撮像する。当該撮像素子のハードウェアとしての構成は、一般的なステレオカメラと同様でよい。
【0107】
また第1カメラ190a、第2カメラ190bが有する上記の機能ブロックは、実施の形態1および2で説明した対応する機能ブロックと同様に動作する。ステレオマッチング処理部192は、所定の解像度の左右の動画像フレームの一方を、第1カメラ190aのデモザイク部104aまたはピラミッドフィルタ部170aから、もう一方を第2カメラ190bのデモザイク部104bまたはピラミッドフィルタ部170bから所定のレートで取得する。
【0108】
そして同じタイミングで取得した左右の画像を利用してステレオマッチングを行い、奥行き画像を生成する。奥行き画像は、対象物の奥行き方向の位置を表す値を画像平面上の画素値とする画像であり、対象物の3次元空間での位置情報を表す。ここで実施するステレオマッチング処理は、これまでに提案されている様々な手法のいずれを用いてもよい。例えば左右の画像の一方に相関窓を設定し、他方の画像の探索窓を動かしながら相関窓の画像との相互相関係数を算出することにより対応点を取得したうえ、これらの対応点の視差に基づき三角測量の原理を用いて3次元の位置情報を求める面積相関法などを用いることができる。
【0109】
いずれの場合も、入力された左右の画像データを一列ずつ処理して奥行き画像の画素値をラスタ順に決定していき順次、画像送出部151bへ出力する。画像送出部151bは当該データとともに、第1カメラ190aおよび第2カメラ190bから、左右のRAW画像、1/1デモザイク後画像、合成画像のデータを取得する。
【0110】
また第1カメラ190aの画像解析部176aおよび第2カメラ190bの画像解析部176bから、実施の形態2で説明したのと同様の画像解析の結果を受け取る。そして実施の形態1で説明したのと同様、ホスト端末20から要求されたデータを選択し、必要に応じて要求された領域のみを抽出してパケット化する。このとき実施の形態2で説明したように、ホスト端末20の要求によっては、画像解析部176a、176bから取得した画像解析の結果をメタデータとして挿入する。
【0111】
通信部108が行う処理はこれまで説明したのと同様である。なお同図では画像送出部151bの出力および通信部108の入出力がそれぞれ1つの矢印で示されているが、図9に示すように複数のチャンネルを設け、複数のデータを並列に送信するようにしてもよい。
【0112】
次にこれまでに述べた構成によって実現できる、低遅延カメラシステム10の動作例を示す。ここで示す動作例は主に実施の形態3で説明したステレオカメラ100bを含むシステムによって実現できるが、実施の形態1や2で述べた構成についても適宜組み合わせている。
【0113】
図12は、ホスト端末20とステレオカメラ100bが協働して画像処理を行う処理手順の例を示すフローチャートと、生成される画像例を示している。図12〜14のフローチャートは、ユーザがホスト端末20にアプリケーションの起動指示を入力することによって開始される。また理解を容易にするため各ステップは直列に接続した矩形で表されているが、動画像を撮影している期間において、各画素列、各フレームに対しこれらのステップが繰り返し、かつ並列に実行されるものとする。
【0114】
まずホスト端末20は、アプリケーションプログラムなどに設定されている、初期条件および必要なデータを指定して、ステレオカメラ100bに対し撮影開始指示およびデータ送信要求を行う(S10)。初期条件とはステレオカメラ100bの2つのカメラが撮影する動画像の解像度やフレームレート、ステレオマッチング処理部192がステレオマッチングを行う画像の解像度やフレームレート、追跡対象の形状情報などである。なおカメラが撮影する動画像の解像度やフレームレートは、撮像素子による露光自体の条件設定を変化させてもよいし、撮像素子からのデータを後段で間引くなどの調整を行うことにより変化させてもよい。
【0115】
ここでは例えば次のように指定する。
第1カメラ:解像度1280×720、フレームレート60fps
第2カメラ:解像度1280×720、フレームレート60fps
ステレオマッチング:解像度1280×720、フレームレート60fps
【0116】
必要なデータの指定とは上述のように、画像の種類、解像度、画像内の領域を指定するほか、メタデータを指定してもよい。ここでは例えば次のように3つのデータを指定する。
データ1:(左画像, YUV422:16bit,0,0,1280,720)
データ2: (左合成画像, YUV422:16bit,0,0,850,367, 顔領域,対象物領域,タイムスタンプ)
データ3: (奥行き画像、Z:16bit,0,0,1280,720)
【0117】
データ1は、ステレオカメラ100bのうち左側のカメラが撮影した画像の1/1デモザイク後画像(YUV422:16ビット)における、左上の座標が(0,0)、横方向および縦方向の幅が(1280,720)の領域である。この領域は、上記初期条件で指定された解像度を考慮すると、撮影された画像の全領域であることがわかる。
【0118】
データ2は、左側のカメラが撮影した画像の合成画像(YUV422:16ビット)における、左上の座標が(0,0)、横方向および縦方向の幅が(850,357)の領域である。図12〜14の例での合成画像は、図7で示した1/4デモザイク後画像、1/16デモザイク後画像、1/64デモザイク後画像に、さらに、1/256デモザイク後画像のフレーム間差分を行った結果として得られる差分画像を含むものとする。この差分画像は、(W/16)/8×H/2の画像領域として図7の合成画像の右端に他と同様の規則で加えられる。
【0119】
上記データ2で指定される領域は、この合成画像の全領域である。データ2ではさらに、顔検出処理を行った結果得られる顔の領域、トラッキング処理を行った結果得られる対象物の領域、合成画像の元の画像を撮影したときのタイムスタンプを、メタデータとして合成画像に付加するように指定している。データ3は、ステレオマッチング処理部192が生成する奥行き画像(奥行き方向の16ビットの位置情報を画素とする)における、左上の座標が(0,0)、横方向および縦方向の幅が(1280,720)の領域、すなわち全領域である。
【0120】
初期条件の指定およびデータ要求を受け付けたステレオカメラ100bの第1カメラ190aおよび第2カメラ190bは、当該初期条件で動画像の撮影を開始する(S12)。第1カメラ190a、第2カメラ190b、ステレオマッチング処理部192が、撮影された画像フレームを用いて上記のとおり処理を行うことにより、左側のRAW画像および1/1デモザイク後画像230、左側の合成画像232、奥行き画像234、右側のRAW画像および1/1デモザイク後画像236、左側の合成画像238のデータが生成される(S14)。
【0121】
なお同図では各画像の全領域を表しているが、実際の画像データは画素値のストリームの状態で順次、画像送出部151bに入力される。図13、図14も同様である。続いて画像送出部151bは、S10で指定されたデータのみを選択、抽出してストリームとしパケット化することで送信データを生成し、送信する(S16)。
【0122】
データを受信したホスト端末20は、メインメモリ58に画像を展開する。その結果、メインメモリ58には、1/1デモザイク後画像の全領域240、1/4デモザイク後画像の全領域242、1/16デモザイク後画像の全領域244、1/64デモザイク後画像の全領域246、1/256デモザイク後画像の差分画像248、顔の領域、対象物の領域、タイムスタンプを含むメタデータ250、奥行き画像252が格納される。
【0123】
ホスト端末20のCPU50およびGPU52は、これらのデータを用いて、表示すべき画像を生成し、ディスプレイ4に表示する(S18、S20)。例えば、動き差分画像248から動きのある領域を検出し、その部分における対象物の奥行き情報を奥行き画像252から取得する。これを複数フレーム分続けることにより被写体であるユーザのジェスチャを認識する。そして1/1デモザイク後画像の全領域240のうち顔領域などに、ジェスチャに応じた所定の加工を施した画像を表示する。
【0124】
この実施例においてステレオカメラ100bからホスト端末20へ送信される単位時間当たりのデータサイズは、
データ1:1280×720画素×60fps×16bit=885Mbps
データ2:850×370画素×60fps×16bit=300Mbps
データ3:1280×720画素×60fps×16bit=885Mbps
であるから、合計2.1Gbpsとなる。
【0125】
図13は、ホスト端末20とステレオカメラ100bが協働して画像処理を行う処理手順の別の例を示すフローチャートと、生成される画像例を示している。まず図12と同様、ホスト端末20は初期条件および必要なデータを指定して、ステレオカメラ100bに対し撮影開始指示およびデータ送信要求を行う(S22)。
【0126】
この例における初期条件は図12の例と同じとする。必要なデータとして、次のように1つのデータを指定する。
データ1: (左合成画像, YUV422:16bit,0,0,850,367, 顔領域,対象物領域,タイムスタンプ)
このデータは図12の例のデータ2と同じである。
【0127】
初期条件の指定およびデータ要求を受け付けたステレオカメラ100bの第1カメラ190aおよび第2カメラ190bは当該初期条件で動画像の撮影を開始し(S24)、第1カメラ190a、第2カメラ190b、ステレオマッチング処理部192がそれぞれ画像データを生成する(S26)。このときの画像データは図12のS14で生成される画像データと同じである。
【0128】
続いて画像送出部151bは、S22で指定されたデータのみを選択、抽出してストリームとしパケット化することで送信データを生成し、送信する(S28)。データを受信したホスト端末20は、メインメモリ58に画像を展開する。その結果、メインメモリ58には、1/4デモザイク後画像の全領域242、1/16デモザイク後画像の全領域244、1/64デモザイク後画像の全領域246、1/256デモザイク後画像の差分画像248、顔の領域、対象物の領域、タイムスタンプを含むメタデータ250が格納される。
【0129】
ホスト端末20のCPU50は、差分画像248から特定した動きのある領域や、メタデータ250に含まれる顔の領域または対象物の領域を含む所定範囲の領域を、注目領域として決定する(S30)。そして当該注目領域を指定して新たにデータ要求を行う(S32)。ここでは例えば次のように2つのデータを指定する。
データ2:(左画像,RAW:16bit,Fx,Fy,Fw,Fh)
データ3:(奥行き画像,Z:8bit,Hx,Hy,Hw,Hh)
【0130】
データ2は、ステレオカメラ100bのうち左側のカメラが撮影したRAW画像(16ビット)のうち、顔の領域を含む注目領域として決定した、左上の座標が(Fx,Fy)、横方向および縦方向の幅が(Fw,Fh)の領域である。データ3は、ステレオマッチング処理部192が生成する奥行き画像(奥行き方向の8ビットの位置情報を画素とする)における、対象物の領域を含む注目領域として決定した、左上の座標が(Hx,Hy)、横方向および縦方向の幅が(Hw,Hh)の領域である。
【0131】
ステレオカメラ100bの画像送出部151bは、各画像の新たなフレームが入力したタイミングで、RAW画像および奥行き画像のうち指定された領域のデータを抽出して、ストリームとしパケット化することで送信データを生成し、送信する(S34)。データを受信したホスト端末20は、メインメモリ58に画像を展開する。その結果、メインメモリ58には、顔を含む領域のRAW画像254および対象物を含む領域の奥行き画像256が格納される。
【0132】
ホスト端末20のCPU50およびGPU52は、これらのデータを用いて、表示すべき画像を生成し、ディスプレイ4に表示する(S36、S38)。例えば、1/4デモザイク後画像242を背景とし、顔を含む領域のRAW画像254を合成することにより、データサイズを抑えつつ表情の変化などを表す顔領域のみ鮮明な画像を表示する。さらに対象物の奥行き情報を奥行き画像256から取得してユーザのジェスチャを認識し、それに応じた所定の加工を施してもよい。
【0133】
S30〜S38の処理を繰り返すことにより、顔や対象物が移動しても、それらに係る必要なデータを無駄なく定常的に取得して画像表示に反映させることができる。結果として、ステレオカメラ100bからホスト端末20へ送信すべきデータのサイズを抑えることができる。
【0134】
上記のデータ指定において、(Fw,Fh)=(400,600)、(Hw,Hh)=(320,450)と仮定すると、この実施例においてステレオカメラ100bからホスト端末20へ送信される単位時間当たりのデータサイズは、
データ1:850×370画素×60fps×16bit=300Mbps
データ2:400×600画素×60fps×16bit=230Mbps
データ3:320×450画素×60fps×8bit=70Mbps
となり、合計600Mbpsとなる。
【0135】
図14は、ホスト端末20とステレオカメラ100bが協働して画像処理を行う処理手順の別の例を示すフローチャートと、生成される画像例を示している。まず図12と同様、ホスト端末20は初期条件および必要なデータを指定して、ステレオカメラ100bに対し撮影開始指示およびデータ送信要求を行う(S40)。
【0136】
この例における初期条件は次のように指定する。
第1カメラ:解像度1280×720、フレームレート30fps
第2カメラ:解像度1280×720、フレームレート15fps
ステレオマッチング:解像度320×180、フレームレート15fps
【0137】
必要なデータは次のように指定する。
データ1:(左合成画像, Y(動き差分):8bit,840,8,10,360,タイムスタンプ)
データ2: (左合成画像, YUV422:16bit,800,4,40,360, 顔領域,タイムスタンプ)
データ3: (奥行き画像、Z:8bit,20,15,280,150,タイムスタンプ)
【0138】
データ1は、左側のカメラが撮影した画像の合成画像のうち、Y画像における差分画像の領域、すなわち左上の座標が(840,8)、横方向および縦方向の幅が(10,360)の領域である。さらにデータ1には、元の画像を撮影したときのタイムスタンプをメタデータとして付加するように指定している。
【0139】
データ2は、左側のカメラが撮影した画像の合成画像(YUV422:16ビット)における、左上の座標が(800,4)、横方向および縦方向の幅が(40,360)の領域、すなわち1/64デモザイク後画像の領域である。さらにデータ2には、顔検出処理を行った結果得られる顔の領域、元の画像を撮影したときのタイムスタンプをメタデータとして付加するように指定している。データ1やデータ2で指定される、合成画像に含まれる各画像の領域情報は、図7で示した配置の規則に従い特定できる。
【0140】
データ3は、ステレオマッチング処理部192が生成する奥行き画像(奥行き方向の8ビットの位置情報を画素とする)における、左上の座標が(20,15)、横方向および縦方向の幅が(280,150)の領域である。この領域は、奥行き画像の上端下端をそれぞれ15画素分、左端右端をそれぞれ20画素分、切り落としたものであり、奥行きの情報として意味を有する領域とも考えられる。このようにしてもデータサイズを抑えることができる。さらにデータ3には、元の画像を撮影したときのタイムスタンプをメタデータとして付加するように指定している。
【0141】
初期条件の指定およびデータ要求を受け付けたステレオカメラ100bの第1カメラ190aおよび第2カメラ190bは、当該初期条件で動画像の撮影を開始し(S42)、第1カメラ190a、第2カメラ190b、ステレオマッチング処理部192がそれぞれ画像データを生成する(S44)。このときの画像は、画像のサイズ、色空間、およびフレームレートなどの点で、図12および図13の例と比較して簡易的である。
【0142】
続いて画像送出部151bは、S40で指定されたデータのみを選択、抽出してストリームとしパケット化することで送信データを生成し、送信する(S46)。データを受信したホスト端末20は、メインメモリ58に画像を展開する。その結果、メインメモリ58には、1/256デモザイク後画像の差分画像260、その元の画像のタイムスタンプ262、1/64デモザイク後画像の全領域260、顔の領域、タイムスタンプを含むメタデータ266、周囲を切り落とした奥行き画像268およびその元の画像のタイムスタンプ270が格納される。
【0143】
ホスト端末20のCPU50およびGPU52は、これらのデータを用いて、表示すべき画像を生成し、ディスプレイ4に表示する(S48、S50)。例えば、差分画像260から動きのある領域を検出し、その部分における対象物の奥行き情報を奥行き画像268から取得する。これにより被写体であるユーザのジェスチャを認識し、1/64デモザイク後画像の全領域260のうち、メタデータ266から得られる顔領域などに、ジェスチャに応じた所定の加工を施した画像を表示する。
【0144】
この例では、フレームレートを低くしたり解像度の低い画像のみを送信するようにして、領域全体を送信対象、処理対象としつつも、伝送帯域を含むリソースの消費量を抑えている。領域全体を送信するため、図13の例で示した適応的な領域指定のステップを省くことができる。またこのように、送信する3つのデータの1フレーム当たりのデータサイズが異なっていて、1フレーム分のデータがホスト端末20へ到着するタイミングがデータによってずれていても、元の画像の撮影時のタイムスタンプをフレームごとに付加することにより、データの対応関係を容易に特定できる。
【0145】
この実施例においてステレオカメラ100bからホスト端末20へ送信される単位時間当たりのデータサイズは、
データ1:10×360画素×30fps×8bit=864Kbps
データ2:160×90画素×15fps×16bit=3.5Mbps
データ3:280×150画素×15fps×8bit=5Mbps
となり、合計9.5Mbpsとなる。
【0146】
以上述べた本実施の形態によれば、実施の形態1および2の特徴をステレオカメラに適用する。そして当該ステレオカメラに、ステレオマッチングを行う機構を設ける。この場合、各カメラが生成するRAW画像、1/1デモザイク後画像、合成画像および、ステレオマッチングの結果得られる奥行き画像、顔検出の結果得られた顔領域の情報、トラッキング処理の結果得られた対象物の領域の情報といった多様なデータの中から、ホスト端末が指定するデータを低遅延で送信することができる。そのためホスト端末の処理の負荷が軽減され、カメラからのデータ送信の効率化との相乗効果で、被写体の動きに低遅延で追随する画像表示が可能となる。
【0147】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【0148】
4 ディスプレイ、 10 低遅延カメラシステム、 20 ホスト端末、50 CPU、 52 GPU、 58 メインメモリ、 60 通信部、 64 データ要求部、 66 データ処理部、 68 データ展開部、 100 カメラ、 104 デモザイク部、 108 通信部、 149 FIFOバッファ、 150 FIFOバッファ、 151 画像送出部、 156 画像合成部、 154 データ選択部、 162 パケット化部、 164 制御部、 166 ストリーム選択部、 168 クロッピング部、 170 ピラミッドフィルタ部、 172a 第1チャンネル、 172b 第2チャンネル、 172c 第3チャンネル、 174 差分画像生成部、 176 画像解析部、 190a 第1カメラ、 190b 第2カメラ、 192 ステレオマッチング処理部。

【特許請求の範囲】
【請求項1】
対象物を撮影して得られる動画像の各フレームを多段階で縮小することにより異なる解像度の複数の画像のデータを、それぞれ所定の画素順に生成し、ストリームとして順次出力する画像データ生成部と、
前記画像データ生成部から出力された前記複数の画像のデータのうち所定の複数の画像のデータを、画像の一列分の画素列またはそれより小さい範囲の画素列ごとに接続してストリームとして出力することにより、前記所定の複数の画像を含む仮想的な合成画像を生成する画像合成部と、
接続したホスト端末からデータの送信要求を受け付け、前記画像データ生成部および前記画像合成部から出力された複数のストリームから、要求された画像および領域に含まれる画素のデータを抽出していくことにより送信すべきデータのストリームを生成し、前記ホスト端末に送信する画像送出部と、
を備えることを特徴とする動画像撮影装置。
【請求項2】
前記画像合成部は、合成対象の画像のうち最高解像度の画像の画素一列分のデータが生成される期間を基準周期として前記合成画像の画素一列分とすべきデータを出力し、当該基準周期より長い周期で一列分のデータが生成されるその他の解像度の画像は、当該生成周期において均等にデータが出力されるように、接続する画素列の範囲を調整することを特徴とする請求項1に記載の動画像撮影装置。
【請求項3】
前記画像送出部は、前記ホスト端末からデータの送信を要求された画像内の矩形領域を、ストリームを構成する画素列単位で切り出すクロッピング部を備え、
前記画像合成部は、合成対象の各画像が前記合成画像における矩形領域を構成するように各画像のデータを接続し、
前記クロッピング部は、前記ホスト端末からの要求に応じて、前記合成画像から合成対象の画像のうちのいずれかを画素列単位で切り出し、前記ホスト端末に送信することを特徴とする請求項1または2に記載の動画像撮影装置。
【請求項4】
前記異なる解像度の複数の画像のうち、所定の解像度の画像をフレーム間差分することにより当該解像度の差分画像を生成する差分画像生成部をさらに備え、
前記画像合成部は、前記差分画像も合成対象に含めることを特徴とする請求項1から3のいずれかに記載の動画像撮影装置。
【請求項5】
前記画像送出部は、画像データ生成部および前記画像合成部から出力された複数のストリームを並列に読み出し、それらのストリームのうち前記ホスト端末からの要求に応じて選択したストリームの少なくとも一部によって、送信すべきストリームを生成することを特徴とする請求項1から4のいずれかに記載の動画像撮影装置。
【請求項6】
前記画像送出部は、ホスト端末へデータ送信を行うための複数の出力チャンネルを備え、前記ホスト端末から複数の領域のデータを要求された場合に、当該データごとに生成したストリームを前記複数の出力チャンネルから並列に送信することを特徴とする請求項1から5のいずれかに記載の動画像撮影装置。
【請求項7】
前記複数の画像のいずれかに顔検出処理を施して、対象物である人の顔の領域を特定する顔検出部をさらに備え、
前記画像送出部は、前記ホスト端末からの要求に応じて、生成した画像データのストリームの所定の位置に、前記顔検出部が特定した顔の領域に係るデータをメタデータとして挿入したうえ、前記ホスト端末に送信することを特徴とする請求項1から6のいずれかに記載の動画像撮影装置。
【請求項8】
追跡対象の対象物の形状情報を前記ホスト端末から取得し、それに基づき当該対象物の追跡処理を行うトラッキング部をさらに備え、
前記画像送出部は、前記ホスト端末からの要求に応じて、生成した画像データのストリームの所定の位置に、前記トラッキング部が特定した対象物の位置に係るデータをメタデータとして挿入したうえ、前記ホスト端末に送信することを特徴とする請求項1から7のいずれかに記載の動画像撮影装置。
【請求項9】
左右の異なる視点から同じ対象物を撮影する一対のカメラを備えた動画像撮影装置であって、
前記一対のカメラはそれぞれ、
前記対象物を撮影して得られる動画像の各フレームを多段階で縮小することにより異なる解像度の複数の画像のデータを、それぞれ所定の画素順に生成し、ストリームとして順次出力する画像データ生成部と、
前記画像データ生成部から出力された前記複数の画像のデータのうち所定の複数の画像のデータを、画像の一列分の画素列またはそれより小さい範囲の画素列ごとに接続してストリームとして出力することにより、前記所定の複数の画像を含む仮想的な合成画像を生成する画像合成部と、
を備え、
前記動画像撮影装置はさらに、
前記一対のカメラが生成した視点の異なる画像のデータのうち、所定の解像度の画像のデータに対しステレオマッチングを行うことにより、前記対象物の3次元空間における位置を表す奥行き画像を所定の画素順に生成し、ストリームとして順次出力するステレオマッチング処理部と、
接続したホスト端末からデータの送信要求を受け付け、前記画像データ生成部、前記画像合成部、および前記ステレオマッチング処理部から出力された複数のストリームから、要求された画像および領域に含まれる画素のデータを抽出していくことにより送信すべきデータのストリームを生成し、前記ホスト端末に送信する画像送出部と、
を備えることを特徴とする動画像撮影装置。
【請求項10】
対象物を撮影して動画像のデータを生成する動画像撮影装置と、当該動画像撮影装置から動画像のデータの一部を取得し、それを利用して所定の画像処理を行ったうえ画像を表示するホスト端末と、を備えた情報処理システムであって、
前記動画像撮影装置は、
撮影して得られた動画像の各フレームを多段階で縮小することにより異なる解像度の複数の画像のデータを、それぞれ所定の画素順に生成し、ストリームとして順次出力する画像データ生成部と、
前記画像データ生成部から出力された前記複数の画像のデータのうち所定の複数の画像のデータを、画像の一列分の画素列またはそれより小さい範囲の画素列ごとに接続してストリームとして出力することにより、前記所定の複数の画像を含む仮想的な合成画像を生成する画像合成部と、
前記画像データ生成部および前記画像合成部から出力された複数のストリームから、前記ホスト端末から要求された画像および領域に含まれる画素のデータを抽出していくことにより送信すべきデータのストリームを生成したうえ、前記ホスト端末に送信する画像送出部と、
を備えることを特徴とする情報処理システム。
【請求項11】
対象物を撮影しているカメラに対し、解像度および画像内の領域を指定して動画像のフレームの画像データの送信を要求するデータ要求部と、
要求に従って前記カメラから送信された、指定した領域の画素値を画素列ごとに接続したストリームの状態の画像データを、メインメモリにおいて2次元の画像データとして展開するデータ展開部と、
前記2次元の画像データを利用して所定の画像処理を行ったうえ画像を表示するデータ処理部と、
を備え、
前記データ要求部は、前記カメラ内で生成される、動画像のフレームを多段階で縮小することにより得られる異なる解像度の複数の画像をそれぞれ所定の矩形領域に配置した合成画像を指定し、
前記データ展開部は、前記カメラから送信された前記合成画像を、合成対象の画像ごとに個別の2次元の画像データに展開することにより画像の分別を行うことを特徴とする情報処理装置。
【請求項12】
動画像撮影装置が行う画像データ処理方法であって、
対象物を撮影して得られる動画像の各フレームを多段階で縮小することにより異なる解像度の複数の画像のデータを、それぞれ所定の画素順に生成し、ストリームとして順次出力するステップと、
前記出力するステップにおいて出力された前記複数の画像のデータのうち所定の複数の画像のデータを、画像の一列分の画素列またはそれより小さい範囲の画素列ごとに接続してストリームとして出力することにより、前記所定の複数の画像を含む仮想的な合成画像を生成するステップと、
接続したホスト端末からデータの送信要求を受け付け、前記出力するステップおよび生成するステップにおいて出力された複数のストリームから、要求された画像および領域に含まれる画素のデータを抽出していくことにより送信すべきデータのストリームを生成し、前記ホスト端末に送信するステップと、
を含むことを特徴とする画像データ処理方法。
【請求項13】
撮像素子が対象物を撮影して得られる動画像の各フレームを多段階で縮小することにより異なる解像度の複数の画像のデータを、それぞれ所定の画素順に生成し、ストリームとして順次出力する機能と、
前記出力する機能において出力された前記複数の画像のデータのうち所定の複数の画像のデータを、画像の一列分の画素列またはそれより小さい範囲の画素列ごとに接続してストリームとして出力することにより、前記所定の複数の画像を含む仮想的な合成画像を生成する機能と、
接続したホスト端末からデータの送信要求を受け付け、前記出力する機能および生成する機能によって出力された複数のストリームから、要求された画像および領域に含まれる画素のデータを抽出していくことにより送信すべきデータのストリームを生成し、前記ホスト端末に送信する機能と、
をコンピュータに実現させるコンピュータプログラム。
【請求項14】
撮像素子が対象物を撮影して得られる動画像の各フレームを多段階で縮小することにより異なる解像度の複数の画像のデータを、それぞれ所定の画素順に生成し、ストリームとして順次出力する機能と、
前記出力する機能において出力された前記複数の画像のデータのうち所定の複数の画像のデータを、画像の一列分の画素列またはそれより小さい範囲の画素列ごとに接続してストリームとして出力することにより、前記所定の複数の画像を含む仮想的な合成画像を生成する機能と、
接続したホスト端末からデータの送信要求を受け付け、前記出力する機能および生成する機能によって出力された複数のストリームから、要求された画像および領域に含まれる画素のデータを抽出していくことにより送信すべきデータのストリームを生成し、前記ホスト端末に送信する機能と、
をコンピュータに実現させるコンピュータプログラムを記録した記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図7】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2012−244438(P2012−244438A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−112931(P2011−112931)
【出願日】平成23年5月19日(2011.5.19)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】