(57)【要約】【課題】撮影画像から切り出した画像の輝度を補正して合成画像を生成し、且つ、輝度の補正値に応じた調整値を用いてカメラの露出を補正することができるプログラム、端末装置および方法を提供する。【解決手段】端末のＣＰＵは、カメラが撮像した画像データに含まれる人物の顔を検出する（Ｓ２２）。２人以上の顔を検出した場合（Ｓ２３）、ＣＰＵは、顔を含む所定範囲の画像を切り出した抽出画像データをＲＡＭに保存する（Ｓ２５）。ＣＰＵは個々の抽出画像データの顔近傍輝度値を決定し（Ｓ２６）、基準輝度値との差分値を求め、それぞれ補正する（Ｓ２８）。また、ＣＰＵは差分値の平均値に基づき、カメラの露出を補正する露出補正値を決定し、カメラドライバに送信する（Ｓ３０）。ＣＰＵは輝度値を補正した抽出画像データを合成し、合成画像データを生成する。【選択図】図４
2015195477.tif 000002
【特許請求の範囲】
【請求項１】
端末装置のコンピュータが実行可能なプログラムであって、
前記端末装置のコンピュータに、
前記端末装置に接続されたカメラから取得された画像データに対し、前記画像データから抽出する対象の領域である複数の抽出領域を決定する第一決定ステップと、
前記第一決定ステップにおいて決定された前記複数の抽出領域の輝度をそれぞれ代表する複数の代表輝度値を決定する第二決定ステップと、
前記第二決定ステップにおいて決定された前記複数の代表輝度値と、輝度の基準値を表す基準輝度値とに基づいて、前記複数の抽出領域のそれぞれに対し、前記抽出領域の輝度をそれぞれ補正する複数の輝度補正値を決定する第三決定ステップと、
前記第三決定ステップにおいて決定された前記複数の輝度補正値を前記端末装置が備える記憶部に保存する保存ステップと、
前記保存ステップにおいて前記記憶部に保存された前記複数の輝度補正値を、各々が対応する前記抽出領域に対してそれぞれ用い、それぞれの輝度が補正された前記複数の抽出領域を、１つの画像形成領域において互いに異なる位置に配置して１つの合成画像を生成する生成ステップと、
前記保存ステップにおいて前記記憶部に保存された前記複数の輝度補正値に基づいて、前記カメラの露出を補正する露出補正値を決定する第四決定ステップと、
前記第四決定ステップにおいて決定された前記露出補正値に基づいて、前記カメラの露出を変更する変更指示を送信する第一送信ステップと
を実行させることを特徴とするプログラム。
【請求項２】
前記第四決定ステップは、
前記複数の輝度補正値の平均値を算出する第一算出ステップと、
前記第一算出ステップにおいて算出された前記平均値と、前記基準輝度値とを加算して、第一加算値を算出する第二算出ステップと
を含み、
前記第二算出ステップにおいて算出された前記第一加算値に基づいて、前記露出補正値を決定することを特徴とする請求項１に記載のプログラム。
【請求項３】
前記画像データに対して決定される前記複数の抽出領域のうち、少なくとも１つの前記抽出領域を選択領域として選択する選択ステップと、
前記選択ステップにおいて選択された前記選択領域の輝度を代表する前記代表輝度値を、前記基準輝度値に設定する設定ステップと
をさらに実行させることを特徴とする請求項２に記載のプログラム。
【請求項４】
前記選択ステップにおいて、前記選択領域は、前記端末装置が備える入力部が受け付けた操作の入力に基づいて、前記複数の抽出領域の中から選択されることを特徴とする請求項３に記載のプログラム。
【請求項５】
前記合成画像をネットワークを介して他の端末装置に送信する第二送信ステップをさらに実行させ、
前記選択ステップにおいて、前記選択領域は、前記他の端末装置において前記合成画像に含まれる前記複数の抽出領域の中から選択された前記選択領域を指定する情報であり、前記他の端末装置から受信する指定情報に基づいて選択されることを特徴とする請求項３に記載のプログラム。
【請求項６】
前記第四決定ステップは、
前記選択領域が選択されたか判断する第一判断ステップと、
前記設定ステップにおいて設定された前記選択領域の輝度に基づく前記基準輝度値を基準として予め設定された所定範囲に、前記第二算出ステップにおいて算出された前記第一加算値が含まれるか判断する第二判断ステップと
をさらに含み、
前記第一判断ステップにおいて前記選択領域が選択されたと判断され、且つ、前記第二判断ステップにおいて前記第一加算値が前記所定範囲に含まれないと判断された場合、前記基準輝度値と所定の第一許容値とを加算した第二加算値に基づいて、前記露出補正値を決定することを特徴とする請求項３から５のいずれかに記載のプログラム。
【請求項７】
前記第三決定ステップは、前記代表輝度値と前記基準輝度値との差分の絶対値が所定の第二許容値以上か判断する第三判断ステップを含み、
前記第三判断ステップにおいて前記差分の絶対値が前記第二許容値以上と判断された場合に、前記抽出領域に対して前記輝度補正値を決定することを特徴とする請求項１から６のいずれかに記載のプログラム。
【請求項８】
前記第三決定ステップは、
前記代表輝度値が前記基準輝度値に前記第二許容値を加算した輝度上限値以上の場合、前記輝度補正値を、前記輝度上限値に基づいて決定し、
前記代表輝度値が前記基準輝度値から前記第二許容値を減算した輝度下限値以下の場合、前記輝度補正値を、前記輝度下限値に基づいて決定すること
を特徴とする請求項７に記載のプログラム。
【請求項９】
前記画像データが表す画像を構成する画素に基づいて、前記画像データにおける顔の位置を特定する特定ステップをさらに実行し、
前記第一決定ステップは、前記特定ステップにおいて特定された顔の位置を含む所定の領域を、前記抽出領域として決定することを特徴とする請求項１から８のいずれかに記載のプログラム。
【請求項１０】
端末装置に接続されたカメラから取得された画像データに対し、前記画像データから抽出する対象の領域である複数の抽出領域を決定する第一決定手段と、
前記第一決定手段が決定した前記複数の抽出領域の輝度をそれぞれ代表する複数の代表輝度値を決定する第二決定手段と、
前記第二決定手段が決定した前記複数の代表輝度値と、輝度の基準値を表す基準輝度値とに基づいて、前記複数の抽出領域のそれぞれに対し、前記抽出領域の輝度をそれぞれ補正する複数の輝度補正値を決定する第三決定手段と、
情報を記憶する記憶部と、
前記第三決定手段が決定した前記複数の輝度補正値を前記記憶部に保存する保存手段と、
前記保存手段が前記記憶部に保存した前記複数の輝度補正値を、各々が対応する前記抽出領域に対してそれぞれ用い、それぞれの輝度が補正された前記複数の抽出領域を、１つの画像形成領域において互いに異なる位置に配置して１つの合成画像を生成する生成手段と、
前記保存手段が前記記憶部に保存した前記複数の輝度補正値に基づいて、前記カメラの露出を補正する露出補正値を決定する第四決定手段と、
前記第四決定手段が決定した前記露出補正値に基づいて、前記カメラの露出を変更する変更指示を送信する送信手段と
を備えたことを特徴とする端末装置。
【請求項１１】
端末装置のコンピュータがプログラムに従って実行可能な方法であって、
前記端末装置に接続されたカメラから取得された画像データに対し、前記画像データから抽出する対象の領域である複数の抽出領域を決定する第一決定ステップと、
前記第一決定ステップにおいて決定された前記複数の抽出領域の輝度をそれぞれ代表する複数の代表輝度値を決定する第二決定ステップと、
前記第二決定ステップにおいて決定された前記複数の代表輝度値と、輝度の基準値を表す基準輝度値とに基づいて、前記複数の抽出領域のそれぞれに対し、前記抽出領域の輝度をそれぞれ補正する複数の輝度補正値を決定する第三決定ステップと、
前記第三決定ステップにおいて決定された前記複数の輝度補正値を前記端末装置が備える記憶部に保存する保存ステップと、
前記保存ステップにおいて前記記憶部に保存された前記複数の輝度補正値を、各々が対応する前記抽出領域に対してそれぞれ用い、それぞれの輝度が補正された前記複数の抽出領域を、１つの画像形成領域において互いに異なる位置に配置して１つの合成画像を生成する生成ステップと、
前記保存ステップにおいて前記記憶部に保存された前記複数の輝度補正値に基づいて、前記カメラの露出を補正する露出補正値を決定する第四決定ステップと、
前記第四決定ステップにおいて決定された前記露出補正値に基づいて、前記カメラの露出を変更する変更指示を送信する第一送信ステップと
を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して各種データの送受信を行うことで遠隔会議を行うことができるプログラム、端末装置および方法に関する。
【背景技術】
【０００２】
従来、ネットワークを介して携帯端末、パーソナルコンピュータ（ＰＣ）等、複数の端末装置を接続し、端末装置間で画像データを含む各種データを送受信して遠隔会議を行うことができる端末装置が知られている。例えば、特許文献１に記載の映像通信装置は、撮像装置（カメラ）で撮影した撮影画像の映像信号を他の映像通信装置に伝送する。映像通信装置は、他の映像通信装置から撮影画像内の一部の領域を指定する制御信号を受信した場合、撮影画像から指定された領域の画像を切り出す。映像通信装置は、切り出した画像の映像信号を指定元の映像通信装置に伝送する。また、特許文献１に記載の映像通信装置は、撮影画像内の複数の領域を指定する制御信号を受信した場合、指定された複数の領域の画像をそれぞれ切り出す。映像通信装置は、切り出した複数の画像を１枚の画像に合成した合成画像を生成する。映像通信装置は、合成画像の映像信号を指定元の映像通信装置に伝送する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−３２８３４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、カメラの撮影対象は、撮影範囲内における位置、向き、大きさ等、様々な要因によって、撮影範囲を照らす光源から光の影響を受ける。撮影対象が複数ある場合、個々の撮影対象が受ける光の影響は、撮影対象間でそれぞれ異なる場合がある。例えば、撮影対象が人の顔である場合、個々の顔が受ける光の影響が様々な要因によって異なるため、１つの撮影画像は、明るい顔画像と暗い顔画像を含む場合がある。もっとも光源は、撮影対象だけでなく背景、静物等、撮影対象外のものに対しても光の影響を与えるので、撮影範囲内のすべてのものに対する光源からの光の方向が一致する。故に、撮影画像は、明るい顔画像と暗い顔画像を含んでいても、画像内における輝度の変化が画像全体として光の方向に基づき連続的に変化する自然な画像になる。
【０００５】
しかしながら、撮影画像から個々の撮影対象をそれぞれ含む複数の領域を切り出した場合、個々の画像は、切り出された領域に含まれる撮影対象が受けた光の影響に応じ、輝度にばらつきを生ずる。故に、切り出した画像を単純に１枚の画像に合成した場合、合成画像は、切り出し元の個々の画像が占める領域ごとに輝度がばらつき、画像内における輝度の変化が画像全体として光の方向に基づかず不連続に変化する不自然な画像になる可能性があった。
【０００６】
また、１枚の合成画像に明るい顔画像と暗い顔画像が含まれる場合、顔の表情の判別が困難であるため、遠隔会議に利用しづらいという問題があった。もっとも、端末装置は、撮影画像から切り出した個々の画像に対して輝度補正を行えば、輝度のばらつきを軽減した合成画像を生成することが可能である。しかし、遠隔会議に用いる撮影画像は、映像として連続表示するフレーム画像である。故に、フレームごとに輝度補正を行うと、端末装置は、ＣＰＵの処理負荷が増大する可能性があった。
【０００７】
本発明は、撮影画像から切り出した画像の輝度を補正して合成画像を生成し、且つ、輝度の補正値に応じた調整値を用いてカメラの露出を補正することができるプログラム、端末装置および方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第一態様によれば、端末装置のコンピュータが実行可能なプログラムであって、前記端末装置のコンピュータに、前記端末装置に接続されたカメラから取得された画像データに対し、前記画像データから抽出する対象の領域である複数の抽出領域を決定する第一決定ステップと、前記第一決定ステップにおいて決定された前記複数の抽出領域の輝度をそれぞれ代表する複数の代表輝度値を決定する第二決定ステップと、前記第二決定ステップにおいて決定された前記複数の代表輝度値と、輝度の基準値を表す基準輝度値とに基づいて、前記複数の抽出領域のそれぞれに対し、前記抽出領域の輝度をそれぞれ補正する複数の輝度補正値を決定する第三決定ステップと、前記第三決定ステップにおいて決定された前記複数の輝度補正値を前記端末装置が備える記憶部に保存する保存ステップと、前記保存ステップにおいて前記記憶部に保存された前記複数の輝度補正値を、各々が対応する前記抽出領域に対してそれぞれ用い、それぞれの輝度が補正された前記複数の抽出領域を、１つの画像形成領域において互いに異なる位置に配置して１つの合成画像を生成する生成ステップと、前記保存ステップにおいて前記記憶部に保存された前記複数の輝度補正値に基づいて、前記カメラの露出を補正する露出補正値を決定する第四決定ステップと、前記第四決定ステップにおいて決定された前記露出補正値に基づいて、前記カメラの露出を変更する変更指示を送信する第一送信ステップとを実行させることを特徴とするプログラムが提供される。
【０００９】
複数の代表輝度値と基準輝度値とに基づく複数の輝度補正値で、それぞれ対応する抽出領域の輝度を補正することで、端末装置は、合成画像を構成する複数の抽出領域の輝度差を小さくできる。故に、端末装置は、画像内の輝度の変化が光源からの光の方向に基づかなくとも、抽出領域間の輝度のばらつきが小さく、画像全体としての不自然さを抑制できる合成画像を提供できる。また、端末装置は、複数の輝度補正値に基づく露出補正値を決定することで、露出補正値に基づく変更指示に従ってカメラの露出を変更できる。具体的に、複数の輝度補正値の平均値を、露出変更前の平均値よりも小さい値、好ましくはゼロにすることができる露出補正値を決定する。言い換えると、露出変更後の複数の代表輝度値の平均値を、露出変更前よりも基準輝度値に近い値、好ましくは基準輝度値にすることができる露出補正値を決定する。なお、「複数の代表輝度値の平均値を露出変更前よりも基準輝度値に近い値にすることができる露出補正値」とは、露出変更前の平均値と基準輝度値との差分の絶対値よりも、露出変更後における平均値と基準輝度値との差分の絶対値を小さい値にすることができる露出補正値である。これにより、露出変更後のカメラの画像データにおいて決定される複数の抽出領域のそれぞれに対して決定される代表輝度値は、それぞれ露出変更前よりも基準輝度値に近づく。故に、端末装置は、複数の抽出領域のそれぞれの輝度を補正せずとも、合成画像において、それぞれの抽出領域の輝度差を小さくできるようになる。従って、端末装置は、露出補正値を決定するための演算にかかる負荷を低減できる。
【００１０】
第一態様において、前記第四決定ステップは、前記複数の輝度補正値の平均値を算出する第一算出ステップと、前記第一算出ステップにおいて算出された前記平均値と、前記基準輝度値とを加算して、第一加算値を算出する第二算出ステップとを含んでもよい。そして、前記第二算出ステップにおいて算出された前記第一加算値に基づいて、前記露出補正値を決定してもよい。端末装置は、露出補正値の決定に係る第一加算値を複数の輝度補正値の平均値に基づいて算出できる。故に、露出変更後のカメラから取得される画像データにおいて決定される複数の抽出領域の画像は、極端に明るい画像になったり極端に暗い画像になることがない。従って、端末装置は、画像内の輝度の変化が光源からの光の方向に基づかなくとも、抽出領域間の輝度のばらつきが小さく、画像全体としての不自然さを抑制できる合成画像を提供できる。
【００１１】
第一態様は、前記画像データに対して決定される前記複数の抽出領域のうち、少なくとも１つの前記抽出領域を選択領域として選択する選択ステップと、前記選択ステップにおいて選択された前記選択領域の輝度を代表する前記代表輝度値を、前記基準輝度値に設定する設定ステップとをさらに実行させてもよい。端末装置は、露出変更後のカメラから取得される画像データにおいて決定される複数の抽出領域の輝度を、選択領域の輝度に近づけることができる。故に、端末装置は、選択領域の輝度に近づけた合成画像を生成することができる。
【００１２】
第一態様では、前記選択ステップにおいて、前記選択領域は、前記端末装置が備える入力部が受け付けた操作の入力に基づいて、前記複数の抽出領域の中から選択されてもよい。端末装置は、露出変更後のカメラから取得される画像データにおいて決定される複数の抽出領域の輝度を、端末装置において選択された選択領域の輝度に近づけることができる。故に、端末装置は、端末装置の表示画面の特性に合わせて個々の抽出領域の画像を識別しやすい合成画像を生成することができる。
【００１３】
第一態様は、前記合成画像をネットワークを介して他の端末装置に送信する第二送信ステップをさらに実行させてもよい。この場合に、前記選択ステップにおいて、前記選択領域は、前記他の端末装置において前記合成画像に含まれる前記複数の抽出領域の中から選択された前記選択領域を指定する情報であり、前記他の端末装置から受信する指定情報に基づいて選択されてもよい。端末装置は、露出変更後のカメラから取得される画像データにおいて決定される複数の抽出領域の輝度を、他の端末装置において選択された選択領域の輝度に近づけることができる。故に、端末装置は、他の端末装置の表示画面の特性に合わせて個々の抽出領域の画像を識別しやすい合成画像を生成することができる。
【００１４】
第一態様において、前記第四決定ステップは、前記選択領域が選択されたか判断する第一判断ステップと、前記設定ステップにおいて設定された前記選択領域の輝度に基づく前記基準輝度値を基準として予め設定された所定範囲に、前記第二算出ステップにおいて算出された前記第一加算値が含まれるか判断する第二判断ステップとをさらに含んでもよい。この場合に、前記第一判断ステップにおいて前記選択領域が選択されたと判断され、且つ、前記第二判断ステップにおいて前記第一加算値が前記所定範囲に含まれないと判断された場合、前記基準輝度値と所定の第一許容値とを加算した第二加算値に基づいて、前記露出補正値を決定してもよい。端末装置は、選択領域が選択された場合には、選択領域の輝度に応じた露出補正値を決定することができる。また、第一加算値が基準輝度値の所定範囲外になった場合、端末装置は、第二加算値に基づいて露出補正値を決定することができる。故に、露出変更後のカメラから取得される画像データにおいて決定される複数の抽出領域の画像は、選択領域に対して極端に明るい画像になったり極端に暗い画像になったりしない。従って、端末装置は、画像内の輝度の変化が光源からの光の方向に基づかなくとも、抽出領域間の輝度のばらつきが小さく、画像全体としての不自然さを抑制できる合成画像を提供できる。
【００１５】
第一態様において、前記第三決定ステップは、前記代表輝度値と前記基準輝度値との差分の絶対値が所定の第二許容値以上か判断する第三判断ステップを含んでもよい。そして、前記第三判断ステップにおいて前記差分の絶対値が前記第二許容値以上と判断された場合に、前記抽出領域に対して前記輝度補正値を決定してもよい。端末装置は、差分の絶対値が第二許容値以上の場合、露出補正値を決定するための演算を行う。つまり、端末装置は、差分の絶対値が第二許容値未満の場合、露出補正値を決定する演算を行わなくてもよいので、演算にかかる負荷を低減できる。
【００１６】
第一態様において、前記第三決定ステップは、前記代表輝度値が前記基準輝度値に前記第二許容値を加算した輝度上限値以上の場合、前記輝度補正値を、前記輝度上限値に基づいて決定してもよい。また、前記代表輝度値が前記基準輝度値から前記第二許容値を減算した輝度下限値以下の場合、前記輝度補正値を、前記輝度下限値に基づいて決定してもよい。即ち、端末装置は、代表輝度値が輝度上限値以上の場合は輝度上限値に基づき補正し、同様に、輝度基準値以下の場合は輝度下限値に基づき補正する。故に、端末装置は、抽出領域の輝度を、補正前の輝度に対して大きく変更せず、許容範囲に含まれる最低限の大きさの変更で補正することができる。よって、端末装置は、合成画像における個々の抽出領域の画像として、もとの画像データにおいて対応する個々の抽出領域の画像のそれぞれの輝度を程よく反映させた画像を得ることができる。
【００１７】
第一態様は、前記画像データが表す画像を構成する画素に基づいて、前記画像データにおける顔の位置を特定する特定ステップをさらに実行してもよい。この場合に、前記第一決定ステップは、前記特定ステップにおいて特定された顔の位置を含む所定の領域を、前記抽出領域として決定してもよい。端末装置は、抽出領域として顔の位置を含む所定の領域を決定することができる。故に、露出変更後のカメラから取得される画像データにおいて決定される複数の抽出領域の画像を合成した合成画像は、顔画像が極端に明るい画像になったり極端に暗い画像になることがない。従って、端末装置は、顔を認識しやすい合成画像を生成することができる。
【００１８】
本発明の第二態様によれば、端末装置に接続されたカメラから取得された画像データに対し、前記画像データから抽出する対象の領域である複数の抽出領域を決定する第一決定手段と、前記第一決定手段が決定した前記複数の抽出領域の輝度をそれぞれ代表する複数の代表輝度値を決定する第二決定手段と、前記第二決定手段が決定した前記複数の代表輝度値と、輝度の基準値を表す基準輝度値とに基づいて、前記複数の抽出領域のそれぞれに対し、前記抽出領域の輝度をそれぞれ補正する複数の輝度補正値を決定する第三決定手段と、情報を記憶する記憶部と、前記第三決定手段が決定した前記複数の輝度補正値を前記記憶部に保存する保存手段と、前記保存手段が前記記憶部に保存した前記複数の輝度補正値を、各々が対応する前記抽出領域に対してそれぞれ用い、それぞれの輝度が補正された前記複数の抽出領域を、１つの画像形成領域において互いに異なる位置に配置して１つの合成画像を生成する生成手段と、前記保存手段が前記記憶部に保存した前記複数の輝度補正値に基づいて、前記カメラの露出を補正する露出補正値を決定する第四決定手段と、前記第四決定手段が決定した前記露出補正値に基づいて、前記カメラの露出を変更する変更指示を送信する送信手段とを備えたことを特徴とする端末装置が提供される。
【００１９】
第二態様に係る端末装置は、輝度補正値で抽出領域の輝度を補正し、且つ、露出補正値に基づく変更指示を送信してカメラの露出を変更することで、第一態様と同様の効果を得ることができる。
【００２０】
本発明の第三態様によれば、端末装置のコンピュータがプログラムに従って実行可能な方法であって、前記端末装置に接続されたカメラから取得された画像データに対し、前記画像データから抽出する対象の領域である複数の抽出領域を決定する第一決定ステップと、前記第一決定ステップにおいて決定された前記複数の抽出領域の輝度をそれぞれ代表する複数の代表輝度値を決定する第二決定ステップと、前記第二決定ステップにおいて決定された前記複数の代表輝度値と、輝度の基準値を表す基準輝度値とに基づいて、前記複数の抽出領域のそれぞれに対し、前記抽出領域の輝度をそれぞれ補正する複数の輝度補正値を決定する第三決定ステップと、前記第三決定ステップにおいて決定された前記複数の輝度補正値を前記端末装置が備える記憶部に保存する保存ステップと、前記保存ステップにおいて前記記憶部に保存された前記複数の輝度補正値を、各々が対応する前記抽出領域に対してそれぞれ用い、それぞれの輝度が補正された前記複数の抽出領域を、１つの画像形成領域において互いに異なる位置に配置して１つの合成画像を生成する生成ステップと、前記保存ステップにおいて前記記憶部に保存された前記複数の輝度補正値に基づいて、前記カメラの露出を補正する露出補正値を決定する第四決定ステップと、前記第四決定ステップにおいて決定された前記露出補正値に基づいて、前記カメラの露出を変更する変更指示を送信する第一送信ステップとを含むことを特徴とする方法が提供される。
【００２１】
端末装置のコンピュータがプログラムに従って第三態様に係る方法を実行することによって、輝度補正値で抽出領域の輝度が補正され、且つ、露出補正値に基づく変更指示が送信されてカメラの露出が変更されることで、第一態様と同様の効果を得ることができる。
【図面の簡単な説明】
【００２２】
【図１】遠隔会議システム１００の全体構成図である。
【図２】端末３が実行する遠隔会議プログラムのフローチャートである。
【図３】遠隔会議プログラムにおける映像送受信処理のフローチャートである。
【図４】遠隔会議プログラムにおけるカメラ制御処理のフローチャートである。
【図５】遠隔会議プログラムにおける基準輝度値決定処理のフローチャートである。
【図６】遠隔会議プログラムにおける個別画像輝度調整処理のフローチャートである。
【図７】遠隔会議プログラムにおける撮像露出調整処理のフローチャートである。
【図８】遠隔会議においてカメラ４４が撮像した画像５０の例を示す図である。
【図９】抽出画像データ６６〜６９が示す画像の例を示す図である。
【図１０】合成画像７０の例を示す図である。
【発明を実施するための形態】
【００２３】
以下、本発明の一実施形態について、図面を参照して説明する。参照する図面は、本発明が採用し得る技術的特徴を説明するために用いられるものである。図面に記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
【００２４】
図１を参照し、本実施形態に係る端末３を含む遠隔会議システム１００について説明する。端末３は、本発明に係る「端末装置」の一例である。遠隔会議システム１００は、会議サーバ１が仮想的に構築する会議室に複数の端末３がネットワーク８を介してそれぞれ仮想的に参加し、画像および音声を用いた遠隔会議（テレビ会議）を開催できるシステムである。会議サーバ１および複数の端末３は、ネットワーク８を介して互いに接続し、遠隔会議システム１００を構成する。端末３は、遠隔会議に参加するユーザが使用する。会議サーバ１は、複数の端末３の間で実行される遠隔会議を制御する。
【００２５】
図１に示す遠隔会議システム１００は、一例として、１つの会議サーバ１と３つの端末３が、それぞれネットワーク８に接続して構成するシステムである。会議サーバ１は、複数の端末３を用いて行われる遠隔会議の場として仮想的な会議室を構築し、各端末３の会議室への入退室を管理するサーバである。仮想的な会議室は、所定の会議室ＩＤで識別される。複数の端末３は、所定の会議室ＩＤで識別される同一の遠隔会議に参加する。また、複数の端末３は、それぞれ、ユーザＩＤによって識別される。例えば、会議サーバ１の記憶部（例えば、ＲＡＭやハードディスクドライブ（以下、「ＨＤＤ」という。））には、所定の会議室ＩＤに対して、同一の遠隔会議に参加する複数の端末３のユーザＩＤが関連付けて保存される。複数の端末３は、ネットワーク８を介して会議サーバ１に接続し、それぞれ、画像（映像）および音声のデータに会議室ＩＤを含めて会議サーバ１に送信する。会議サーバ１は、受信した画像（映像）および音声のデータを、そのデータに含まれる会議室ＩＤに関連付けられたユーザＩＤで識別される複数の端末３のそれぞれに対して送信する。この構成により、複数の端末３は、画像（映像）および音声のデータを互いに送受信し、リアルタイムな会話による遠隔会議を実行することができる。会議サーバ１は、記憶部に、複数の端末３が会議サーバ１に対して接続して遠隔会議を行うことを可能にする各処理のプログラムが記憶されている点を除いては、公知の構成のワークステーションやパーソナルコンピュータ（ＰＣ）と同様の構成である。よって、会議サーバ１の電気的構成の説明は省略する。
【００２６】
端末３は、モニタ４１、マイク４３、カメラ４４、スピーカ４５等が接続される端末装置であり、例えばＰＣが用いられる。端末３として、スマートフォン、タブレット端末等の携帯端末が用いられてもよい。１の端末３は、遠隔会議時に、カメラ４４が撮像する画像データとマイク４３が収音する音声データを、会議室ＩＤとともに会議サーバ１に送信する。画像データと音声データは、会議サーバ１を介し、その会議室ＩＤで識別される遠隔会議に参加する他の端末３に送信される。また、１の端末３は、他の端末３から会議サーバ１を介して受信する画像データに基づく画像をモニタ４１に表示する。１の端末３は、他の端末３から受信する音声データに基づく音声をスピーカ４５から出力する。その結果、遠隔会議システム１００は、複数の端末３から送信された画像データおよび音声データを、複数の端末３間で共有する。遠隔会議システム１００は、遠隔会議の参加者（端末３のユーザ）のすべてが同一の場所にいなくとも、参加者同士による円滑な会議の場を提供することができる。なお、遠隔会議システム１００において会議サーバ１が行う遠隔会議の制御については従来と同様であるため、詳細な説明を省略する。また、本実施形態では、端末３間で送受信される画像データおよび音声データのうち、画像データの送受信における制御について説明を行い、音声データの送受信の制御については、説明を簡略化する。
【００２７】
端末３の電気的構成について説明する。端末３は、公知の構成のＰＣであり、端末３の制御を司るＣＰＵ３１を備える。ＣＰＵ３１はチップセット３５に接続し、チップセット３５を介してＲＯＭ３２、ＲＡＭ３３、および表示制御部３４と電気的に接続する。チップセット３５はチップセット３６と接続する。ＣＰＵ３１は、チップセット３６を介し、ＨＤＤ３７、通信Ｉ／Ｆ３８、ＵＳＢ  Ｉ／Ｆ３９と電気的に接続する。
【００２８】
チップセット３５は、ＣＰＵ３１と、ＲＯＭ３２、ＲＡＭ３３、および表示制御部３４との間でデータの送受信を管理する一連の回路群である。ＲＯＭ３２は、ブートプログラム、ＢＩＯＳ等を記憶する。ＲＡＭ３３は、種々の一時データを記憶する。表示制御部３４は、モニタ４１への画像の表示を制御する。チップセット３６は、ＣＰＵ３１と、ＨＤＤ３７、通信Ｉ／Ｆ３８およびＵＳＢ  Ｉ／Ｆ３９との間でデータの送受信を管理する一連の回路群である。ＨＤＤ３７は、ＯＳ、端末３をクライアントとして機能させるためのソフトウェア（後述する遠隔会議プログラム）、その他各種アプリケーション、データ等を記憶する。通信Ｉ／Ｆ３８は、有線または無線によってネットワーク８に接続し、データ通信を行うためのインターフェイスである。
【００２９】
なお、後述する遠隔会議プログラムは、端末３に応じたコードにコンパイルされ、ファイルサーバ（図示略）、会議サーバ１等に設けられたコンピュータが読み取り可能な記憶装置に記憶されている。遠隔会議プログラムは、ファイルサーバ、会議サーバ１等から各端末３にネットワーク８等の電気通信回線を通じて一時的な伝送信号として送信されて提供される。あるいは、遠隔会議プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、フラッシュＲＯＭ等の記録媒体（図示略）に記憶され、端末３のＣＰＵ３１が、端末３に接続可能な読取装置（図示略）で記録媒体から読み取ることで提供されてもよい。ＣＰＵ３１は、端末３が備えるコンピュータで読み取り可能な記憶装置に、遠隔会議プログラムを記憶する。本実施形態における記憶装置はＨＤＤ３７であるが、ＨＤＤ３７に限らず、例えば、ＳＳＤ（Solid State Drive）、フラッシュＲＯＭ等、データを記憶する時間の長さに関わらずにデータを保持できる不揮発性の記憶装置を用いることが好ましい。
【００３０】
ＵＳＢ  Ｉ／Ｆ３９は、ＵＳＢ規格に基づく通信を行うためのインターフェイスである。ＣＰＵ３１は、ＵＳＢ  Ｉ／Ｆ３９を介し、入力部４２、マイク４３、カメラ４４、およびスピーカ４５と電気的に接続する。入力部４２は、キーボード、マウス等、端末３に対する操作の入力を行う装置である。マイク４３は、端末３の周囲の音声を収音してＡ／Ｄ変換（サンプリング）した音声データを、ＵＳＢ  Ｉ／Ｆ３９を介してＯＳに送信する。カメラ４４は、端末３の周囲の景色を撮像してＡ／Ｄ変換した画像データを、ＵＳＢ  Ｉ／Ｆ３９を介してＯＳに送信する。カメラ４４は、例えばＣＣＤやＣＭＯＳなどの撮像素子と、その撮像素子に対して外界光を結像させるレンズ系とを含む。カメラ４４は、さらに、撮像素子から出力されるアナログデータを増幅し、Ａ／Ｄ変換してデジタルデータである画像データを生成する変換回路を含む。スピーカ４５は、ＵＳＢ  Ｉ／Ｆ３９を介してＯＳから受信する音声データをＤ／Ａ変換し、音声を出力する。
【００３１】
遠隔会議システム１００において、端末３のＣＰＵ３１は、遠隔会議プログラムに従って、以下の各処理を行う。ＣＰＵ３１は、マイク４３で収音した音声データを公知のエンコーダで、所定の音声パラメータに従って圧縮して圧縮音声データを生成する。所定の音声パラメータは、エンコード条件であり、例えば、「コーデックにＨＥ−ＡＡＣ  ｖ２を用い、ビットレートを４８ｋｂｐｓ（ＣＢＲ）とし、サンプリングレートを２４ｋＨｚとする」等である。ＣＰＵ３１は、生成した圧縮音声データを、会議サーバ１を介して他の端末３に送信する。他の端末３のＣＰＵ３１は、圧縮音声データを受信した場合、圧縮音声データを公知のデコーダで伸張して音声データを生成し、スピーカ４５から再生する。
【００３２】
同様に、ＣＰＵ３１は、カメラ４４で撮像した画像データを公知のエンコーダで、所定の映像パラメータに従って圧縮し、圧縮画像データを生成する。所定の映像パラメータは、エンコード条件であり、例えば、「コーデックにＨ．２６５を用い、解像度１２８０×７２０ｐ、３０ｆｐｓ、ビットレートを１Ｍｂｐｓ（ＶＢＲ）とする」等である。ＣＰＵ３１は、生成した圧縮画像データを、会議サーバ１を介して他の端末３に送信する。他の端末３のＣＰＵ３１は、圧縮画像データを受信した場合、圧縮画像データを公知のデコーダで伸張して画像データを生成し、モニタ４１に表示する。
【００３３】
上記のエンコーダ、デコーダは、ＣＰＵ３１が、遠隔会議プログラムの実行において適宜呼び出して処理を行わせるプログラムモジュールの一つであり、遠隔会議プログラムに含めて予めインストールされている。ＰＣの基本ソフトはマルチタスク型のＯＳであり、遠隔会議プログラム、エンコーダ、デコーダ等を、並列処理によって実行することができる。なお、基本ソフトがマルチタスク型のＯＳでない場合、各プログラムモジュールは、ハードウェアからのイベント割込み等を契機に起動してもよい。
【００３４】
また、ＰＣの基本ソフトには、スピーカ４５、カメラ４４、マイク４３および表示制御部３４等、各種デバイスの動作をそれぞれ制御する各種ドライバ（ソフトウェア）がそれぞれ組み込まれている。各ドライバはＨＤＤ３７に予めインストールされており、ＯＳの起動時にＲＡＭ３３に読み込まれ、並列処理によって常時実行される。ＣＰＵ３１は、ＯＳを介し、各デバイスを駆動させる指示を、各デバイスに対応するドライバにそれぞれ送信する。各ドライバは、指示に応じた制御命令をそれぞれ対応するデバイスに出力し、各デバイスの動作を制御する。
【００３５】
各種ドライバのうち、カメラ４４の動作を制御するカメラドライバは、ＣＰＵ３１がＯＳを介して送信する制御指示に応じた制御命令をカメラ４４に出力し、カメラ４４の動作を制御する。カメラドライバがカメラ４４に対して出力する制御命令は、カメラ４４が撮像する映像の露出を設定する露出設定命令を含む。露出とは、画像データを取得する際に、カメラ４４が備えるＣＣＤ等の撮像素子（図示略）に曝す光の総量を意味する。そのため、露出は、撮像素子が撮像した映像（画像）の明るさにも対応している。露出は、レンズの絞り（Ｆ値）、露光時間、撮像素子の感度等の組み合わせによって決まる。
【００３６】
後述する遠隔会議プログラムの実行において、ＣＰＵ３１は、カメラドライバに、カメラ４４の露出を変更させる変更指示を送信する。変更指示は、ＣＰＵ３１がカメラ４４から取得する画像データの輝度値の変更量を示す露出補正値を含む指示である。なお、画像データを構成する個々の画素それぞれの輝度値を総称し、画像データの輝度値という。カメラドライバは、Ｆ値、露光時間、撮像素子の感度等、カメラ４４の露出を設定するためのパラメータである露出パラメータを、露出設定命令としてカメラ４４に出力する。カメラドライバは、ＣＰＵ３１から変更指示を受信した場合、露出補正値に応じて露出パラメータを変更し、変更後の露出パラメータを露出設定命令としてカメラ４４に出力する。カメラ４４は、露出設定命令に従って露出を変更し、撮像した画像データを出力する。なお、カメラドライバは、カメラ４４の露出の補正を、露出パラメータの変更によるハードウェア的な補正で行うだけでなく、カメラ４４が撮像した画像データに対して輝度値を変更する処理を施すソフトウェア的な補正を行ってもよい。
【００３７】
以下、端末３のＣＰＵ３１が、図２〜図７に示す、遠隔会議プログラムの実行に従って行う処理の過程について、図８〜図１０を適宜参照しながら説明する。端末３のＣＰＵ３１は、入力部４２に対して入力される操作に基づき、遠隔会議プログラムのメイン処理（図２参照）をＨＤＤ３７から読み込んで実行する。ＣＰＵ３１は、遠隔会議プログラム実行時の初期設定で、送信バッファと受信バッファの記憶領域をＲＡＭ３３にそれぞれ確保する。送信バッファは、ＣＰＵ３１が、会議サーバ１を介して他の端末３に送信する圧縮音声データおよび圧縮画像データを一時的に記憶する記憶領域である。受信バッファは、ＣＰＵ３１が会議サーバ１を介して他の端末３から受信する圧縮音声データおよび圧縮画像データを一時的に記憶する記憶領域である。
【００３８】
なお、本実施形態では、１の端末３のＣＰＵ３１は、遠隔会議プログラムの実行に従って生成する圧縮音声データおよび圧縮画像データを送信バッファに記憶する。ＣＰＵ３１は、ＯＳの処理に従って、送信バッファに記憶する圧縮音声データおよび圧縮画像データを会議サーバ１に送信する。会議サーバ１は、１の端末３から受信した圧縮音声データおよび圧縮画像データを、他の端末３に送信する。同様に、会議サーバ１は、他の端末３から受信した圧縮音声データおよび圧縮画像データを、１の端末３に送信する。１の端末３のＣＰＵ３１は、ＯＳの処理に従って、会議サーバ１から受信する圧縮音声データおよび圧縮画像データを受信バッファに記憶する。ＣＰＵ３１は、遠隔会議プログラムの実行に従って受信バッファから圧縮音声データおよび圧縮画像データを読み出し、音声データに基づく音声をスピーカ４５に出力させ、画像データに基づく映像をモニタ４１に表示させる。なお、１の端末３のＣＰＵ３１は、圧縮音声データおよび圧縮画像データを、会議サーバ１を含め、個々の端末３に直接送信してもよい。
【００３９】
図２に示すように、ＣＰＵ３１は、入力部４２に対して入力される操作に基づき、１の端末３を会議サーバ１に接続する指示の入力を受け付けたか否か判断する（Ｓ１）。具体的には、ＣＰＵ３１は、ユーザが参加を希望する仮想的な会議室のＩＤの入力を、入力部４２を介して受け付ける。例えば、遠隔会議の開催予定日時以前に、遠隔会議に参加予定の端末３の各電子メールアドレスを宛先として、会議サーバ１から電子メールが送信される。この電子メールは、端末３による遠隔会議のためのＵＲＬ（Uniform Resource Locator）を含む。このＵＲＬは、例えば、仮想的な会議室のＩＤをクエリパラメータとして含む。このＵＲＬを選択する操作が入力部４２によって受け付けられることで、ＣＰＵ３１は、ユーザが入力した会議室ＩＤを取得する。ＣＰＵ３１は、入力部４２に対する操作に基づき、会議室ＩＤを取得するまで待機する（Ｓ１：ＮＯ）。
【００４０】
ＣＰＵ３１は、入力部４２に対する操作に基づき、会議室ＩＤを取得したら（Ｓ１：ＹＥＳ）、ネットワーク８を介し、会議サーバ１との接続を試みる（Ｓ２）。ＣＰＵ３１は、会議サーバ１との接続が確立したら、会議サーバ１に対し、会議室ＩＤとユーザＩＤを含む入室リクエストを送信する。会議サーバ１において、入室リクエストに含まれる会議室ＩＤが会議サーバ１の記憶部に保存された所定の会議室ＩＤと一致すれば、入室リクエストに含まれるユーザＩＤが所定の会議室ＩＤに関連付けられ、会議サーバ１の記憶部（図示略）に保存される。そして、会議サーバ１において、所定の会議室ＩＤによって識別される既存の会議室への参加を許可する通知が入室リクエストに基づいて生成される。また、会議サーバ１において、入室リクエストに含まれる会議室ＩＤが会議サーバ１の記憶部に保存されていなければ、入室リクエストに含まれるユーザＩＤと会議室ＩＤとが関連付けられ、記憶部に保存される。そして保存された会議室ＩＤに基づき仮想的な会議室が作成され、その会議室への参加を許可する通知が入室リクエストに基づいて生成される。ＣＰＵ３１は、入室リクエストに対するレスポンスとして会議サーバ１から送信される、会議室への参加を許可する通知を受信する。ＣＰＵ３１は、遠隔会議に参加して、会議サーバ１が仮想的に作成した会議室にユーザを入室させる。
【００４１】
ＣＰＵ３１は、カメラ制御処理を開始する（Ｓ３）。カメラ制御処理は、ＣＰＵ３１が、カメラドライバにカメラ４４を起動させ、カメラ４４が撮像した画像データに基づく合成画像データ（後述）を生成する処理である。カメラ制御処理は、ＣＰＵ３１が遠隔会議に参加する間、継続して、遠隔会議プログラムのメイン処理と並列に実行される。カメラ制御処理の詳細については後述する。
【００４２】
ＣＰＵ３１は、映像送受信処理を開始する（Ｓ５）。映像送受信処理は、会議サーバ１を介して他の端末３との間で画像データを圧縮した圧縮画像データを送受信する処理である。映像送受信処理は、ＣＰＵ３１が遠隔会議に参加する間、継続して、遠隔会議プログラムのメイン処理と並列に実行される。映像送受信処理の詳細については後述する。
【００４３】
ＣＰＵ３１は、音声送受信処理を開始する（Ｓ６）。音声送受信処理は、会議サーバ１を介して他の端末３との間で音声データを圧縮した圧縮音声データを送受信する処理である。音声送受信処理は、ＣＰＵ３１が遠隔会議に参加する間、継続して、遠隔会議プログラムのメイン処理と並列に実行される。
【００４４】
前述したように、ＣＰＵ３１は、ＯＳに従って、他の端末３が送信した圧縮音声データを、会議サーバ１を介して受信し、受信バッファに記憶する。ＣＰＵ３１は、音声送受信処理において、受信バッファから読み出した圧縮音声データを、音声用のデコーダに入力し、所定の音声パラメータに従って伸張された音声データを取得する。ＣＰＵ３１は、音声データをＲＡＭ３３の所定の記憶領域に保存する。ＣＰＵ３１は、ＯＳを介してスピーカ４５のドライバに指示を送信し、音声データに基づく音声をスピーカ４５から出力させる。また、ＣＰＵ３１は、ＯＳを介してマイク４３のドライバに指示を送信し、マイク４３が収音した音声の音声データをＲＡＭ３３の所定の記憶領域に保存させる。ＣＰＵ３１は、音声データを、音声用のエンコーダに入力し、所定の音声パラメータに従って圧縮された圧縮音声データを取得する。ＣＰＵ３１は、圧縮音声データを送信バッファに保存する。ＣＰＵ３１は、ＯＳに従って、送信バッファに記憶する圧縮音声データを、会議サーバ１を介して他の端末３に送信する。ＣＰＵ３１は、以上の各処理を、遠隔会議に参加する間、継続して実行する。
【００４５】
次に、ＣＰＵ３１は、遠隔会議を終了する指示の入力があるか否か判断する（Ｓ７）。ＣＰＵ３１は、遠隔会議を終了する指示の入力がない場合（Ｓ７：ＮＯ）、処理を待機する。待機中、ＣＰＵ３１は、カメラ制御処理、映像送受信処理および音声送受信処理を、繰り返し継続して実行する。
【００４６】
例えば、他の端末３において遠隔会議を終了する操作の入力が受け付けられた場合、会議サーバ１は、遠隔会議を終了する通知を１の端末３に送信する。ＣＰＵ３１は、会議サーバ１から遠隔会議を終了する通知を受信した場合に、遠隔会議を終了する指示の入力がなされたと判断する（Ｓ７：ＹＥＳ）。また、１の端末３において遠隔会議を終了する操作の入力を入力部４２が受け付けた場合にも、ＣＰＵ３１は、遠隔会議を終了する指示の入力がなされたと判断する。
【００４７】
ＣＰＵ３１は、会議終了処理を実行する（Ｓ８）。ＣＰＵ３１は、マイク４３の動作を制御するドライバに、音声データをＲＡＭ３３の所定の記憶領域に保存する処理を停止させる指示を送信する。ＣＰＵ３１は、スピーカ４５の動作を制御するドライバに、音声データに基づく音声をスピーカ４５から出力する処理を停止させる指示を送信する。ＣＰＵ３１は、カメラドライバに、カメラ４４の駆動を停止させる指示を送信する。ＣＰＵ３１は、表示制御部３４の動作を制御するドライバに、画像データに基づく画像をモニタ４１に表示する処理を停止させる指示を送信する。ＣＰＵ３１は、会議終了を報せる通知イベントを発生させる。ＣＰＵ３１は、ネットワーク８を介し、会議サーバ１に対して仮想的な会議室からの退室を求める退室リクエストを送信する。退室リクエストは会議室ＩＤとユーザＩＤを含む。会議サーバ１において、退室リクエストに含まれる会議室ＩＤとユーザＩＤに基づき、仮想的な会議室からユーザＩＤによって識別される端末３を退室させる処理が行われる。会議サーバ１において、記憶部に保存された所定の会議室ＩＤに対応付けられたユーザＩＤが削除される。そして会議サーバ１において、会議室からの退室完了を報せる通知が退室リクエストに基づいて生成される。なお、会議サーバ１において、所定の会議室ＩＤに関連付けられたすべてのユーザＩＤが削除された場合、仮想的な会議室が消去され、記憶部から所定の会議室ＩＤが削除される。ＣＰＵ３１は、会議室からの退室完了を報せる通知を、退室リクエストに対するレスポンスとして会議サーバ１から受信する。ＣＰＵ３１は、ネットワーク８を介した会議サーバ１との接続を終了し、遠隔会議プログラムの実行を終了する。
【００４８】
次に、ＣＰＵ３１が遠隔会議プログラムのメイン処理のＳ５で実行を開始する映像送受信処理について説明する。図３に示すように、映像送受信処理において、ＣＰＵ３１は、受信バッファに圧縮画像データが記憶されているか否か判断する（Ｓ１１）。ＣＰＵ３１は、ＯＳが会議サーバ１から受信した圧縮画像データが受信バッファに記憶されていなければ（Ｓ１１：ＮＯ）、処理をＳ１３に進める。ＣＰＵ３１は、圧縮画像データが受信バッファに記憶されている場合（Ｓ１１：ＹＥＳ）、圧縮画像データを受信バッファから読み出す。ＣＰＵ３１は、圧縮画像データを画像用のデコーダに入力し、所定の映像パラメータに従って伸張された画像データを取得する。ＣＰＵ３１は、画像データを表示制御部３４に送信し、モニタ４１に表示させる（Ｓ１２）。モニタ４１には、他の端末３で撮像された画像データに基づく映像が表示される。また、ＣＰＵ３１は、後述するカメラ制御処理（図４参照）で１の端末３のカメラ４４が撮像した画像データも表示制御部３４に送信し、他の端末３の画像データに並べてモニタ４１に表示させる。なお、後述するカメラ制御処理（図４参照）で、ＣＰＵ３１は、画像データに基づく合成画像データを条件に応じて生成する。合成画像データを生成した場合、ＣＰＵ３１は、１の端末３のカメラ４４が撮像した画像データの代わりに合成画像データを表示制御部３４に送信し、他の端末３の画像データに並べてモニタ４１に表示させる。
【００４９】
なお、ＣＰＵ３１は、複数の端末３から会議サーバ１を介して受信するそれぞれの画像データを個々のウインドウ表示にしてモニタ４１に並べて表示させてもよい。または、ＣＰＵ３１は、複数の画像データをタイル状に並べて１つの画像データに合成し、モニタ４１に表示させてもよい。あるいは、会議サーバ１のＣＰＵ（図示略）が、複数の端末３それぞれの画像データをタイル状に並べた１つの画像データに合成する処理を行い、圧縮画像データに圧縮して１の端末３に送信してもよい。
【００５０】
ＣＰＵ３１は、処理をＳ１３に進め、カメラ４４が撮像した画像データを送信するタイミングであるか否か判断する（Ｓ１３）。画像データのフレームレートは、例えば３０ｆｐｓである。ＣＰＵ３１は、フレームレートに合わせて例えば１／３０秒ごとに画像データを圧縮し、圧縮画像データを他の端末３に対して送信する。画像データを送信するタイミングでなければ（Ｓ１３：ＮＯ）、ＣＰＵ３１は処理をＳ１８に進める。ＣＰＵ３１は、メイン処理において遠隔会議を終了する処理がなされていなければ（Ｓ１８：ＮＯ）、処理をＳ１１に戻し、Ｓ１１〜Ｓ１８の処理を繰り返して実行する。
【００５１】
映像送受信処理を繰り返し実行するうちに、画像データを送信するタイミングになった場合（Ｓ１３：ＹＥＳ）、ＣＰＵ３１は、ＲＡＭ３３に、合成画像データが記憶されているか否か判断する（Ｓ１５）。合成画像データは、後述するカメラ制御処理（図４参照）において、条件に応じて画像データから抽出される複数の抽出画像データが１つに合成されることによって生成され、ＲＡＭ３３の所定の記憶領域に保存される。ＣＰＵ３１は、ＲＡＭ３３に合成画像データが記憶されていなければ（Ｓ１５：ＮＯ）、カメラ４４が撮像した画像データをそのまま他の端末３に送信する処理を行う。この場合、ＣＰＵ３１は、カメラバッファ（後述）に記憶されている画像データのうち、送信対象のフレームの画像データを読み出す。ＣＰＵ３１は、画像データを画像用のエンコーダに入力し、所定の映像パラメータに従って圧縮された圧縮画像データを取得する。ＣＰＵ３１は、圧縮画像データを送信バッファに保存する。前述したように、ＣＰＵ３１は、ＯＳに従い、受信バッファに記憶した圧縮画像データを会議サーバ１に送信する（Ｓ１６）。ＣＰＵ３１は、処理をＳ１８に進め、遠隔会議に参加する間、継続して、映像送受信処理を実行する。
【００５２】
画像データを送信するタイミングにおいて、ＲＡＭ３３に合成画像データが記憶されている場合（Ｓ１５：ＹＥＳ）、ＣＰＵ３１は、合成画像データを他の端末３に送信する処理を行う。ＣＰＵ３１は、ＲＡＭ３３から読み出した合成画像データを画像用のエンコーダに入力して、所定の映像パラメータに従って圧縮された圧縮画像データを取得する。ＣＰＵ３１は、圧縮画像データを送信バッファに保存する。上記同様、ＣＰＵ３１は、ＯＳに従い、受信バッファに記憶した合成画像データの圧縮画像データを会議サーバ１に送信する（Ｓ１７）。ＣＰＵ３１は、処理をＳ１８に進め、遠隔会議に参加する間、継続して、映像送受信処理を実行する。
【００５３】
映像送受信処理を繰り返し実行するうちに、メイン処理において会議終了処理がなされ、会議終了の通知イベントが発生した場合（Ｓ１８：ＹＥＳ）、ＣＰＵ３１は、映像送受信処理の実行を終了する。
【００５４】
次に、ＣＰＵ３１が遠隔会議プログラムのメイン処理のＳ３で実行を開始するカメラ制御処理について説明する。図４に示すように、カメラ制御処理において、ＣＰＵ３１は、カメラドライバに対してカメラ４４を起動させる指示を送信する。カメラドライバはカメラ４４に起動命令を出力し、カメラ４４を起動する。起動命令には露出設定命令が含まれ、カメラ４４は、露出パラメータに従って露出を設定して撮像を開始する（Ｓ２１）。カメラドライバは、ＲＡＭ３３にカメラバッファの記憶領域を確保する。カメラバッファは、カメラ４４が撮像した画像データを一時的に記憶する記憶領域である。カメラドライバは、ＵＳＢ  Ｉ／Ｆ３９を介してカメラ４４から取得する画像データをカメラバッファに記憶する処理を開始する。
【００５５】
ＣＰＵ３１は、カメラバッファに記憶されている画像データのうち、処理対象のフレームの画像データを読み出す。ＣＰＵ３１は、公知のアルゴリズムを用いて画像データを解析し、顔検出処理を行う（Ｓ２２）。顔検出処理は、例えば、所定のピクセルサイズの探索窓で画像データを走査しながら、予め人の顔の特徴量を学習させた識別器で探索窓内の画素の特徴量を比較し、探索窓内に人の顔が含まれるか否か判定する処理である。顔検出処理の詳細については公知であるので説明を省略する。ＣＰＵ３１は、画像データから顔を検出できた場合、検出した顔の位置を記録する。
【００５６】
ＣＰＵ３１は、画像データから２人以上の顔を検出できたか否か判断する（Ｓ２３）。画像データから顔を検出できなかった場合、もしくは検出した顔が１人であった場合（Ｓ２３：ＮＯ）、ＣＰＵ３１は、処理をＳ２２に戻し、次のフレームの画像データに対する顔検出処理を行う。画像データから２人以上の顔を検出できた場合（Ｓ２３：ＹＥＳ）、ＣＰＵ３１は、画像データにおいて、顔を検出した位置を含む所定範囲の画像を切り出した抽出画像データをＲＡＭ３３に保存する（Ｓ２５）。
【００５７】
例えば、図８に示すように、画像データが示す画像５０に、４人の人物５１〜５４が含まれる場合を例に挙げる。人物５１〜５４は、それぞれ、画像５０の正面側（図面表面側）に顔を向け、左右に２列でそれぞれ上下に並ぶものとする。人物５１〜５４は、画像５０内の右上角部に写る窓５５から差し込む光で照らされる。画像５０内左列に並ぶ人物５１，５２の顔５６，５７は、窓５５から差し込む光で照らされて、明るく表示される。人物５２よりも窓５５に近い場所に位置する人物５１の顔５６は、人物５２の顔５７よりも明るく表示される。画像５０内右列に並ぶ人物５３，５４の顔５８，５９は、窓５５から差し込む光が後頭部を照らし、正面側が影となって、人物５１，５２の顔５６，５７よりも暗く表示される。人物５３よりも窓５５から遠い場所に位置する人物５４の顔５９は、人物５３の顔５８よりも暗く表示される。
【００５８】
ＣＰＵ３１は、顔検出処理で、画像データの画像５０から、４つの顔５６〜５９を検出する。ＣＰＵ３１は、画像５０に、顔５６〜５９をそれぞれ含む領域である抽出領域６１〜６４を設定する。例えば、抽出領域６１は、画像５０と同じ縦横比で、顔５６の面積の略１０倍の面積を有する矩形の枠で囲う領域である。ＣＰＵ３１は、画像５０内の位置で、領域内の左右方向の略中央で上下方向の上部に顔５６を配置できる位置に、抽出領域６１を設定する。ＣＰＵ３１は、抽出領域６２〜６４についても同様に設定する。
【００５９】
図９に示すように、ＣＰＵ３１は、画像５０から抽出領域６１〜６４内の部分をそれぞれ切り出した抽出画像データ６６〜６９を、ＲＡＭ３３に保存する。個々の抽出画像データ６６〜６９が示す画像にそれぞれ含まれる人物５１〜５４の顔５６〜５９は、それぞれ、窓５５から差し込む光に影響を受け、明るい顔、暗い顔、その中間の明るさの顔等、明るさ（輝度）の異なる顔として表示される。なお、上記の抽出領域６１〜６４の設定は一例であり、ＣＰＵ３１は、画像５０に、例えば、抽出領域６１〜６４の大きさが顔５６〜５９の大きさより僅かに大きく、顔５６〜５９を中央に配置した抽出領域６１〜６４を設定してもよい。
【００６０】
図４に示すように、ＣＰＵ３１は、ＲＡＭ３３に保存した抽出画像データをそれぞれ解析し、抽出画像データの顔近傍輝度値を決定する（Ｓ２６）。顔近傍輝度値は、抽出画像データの輝度値を代表する輝度値である。なお、抽出画像データを構成する個々の画素それぞれの輝度値を総称し、抽出画像データの輝度値という。また、本実施形態では、抽出画像データを構成する画素のうち、顔を表示する部分の画素の輝度値の平均値を、抽出画像データの輝度値を代表する顔近傍輝度値とする。ＣＰＵ３１は、顔検出処理において記録した顔の位置に基づき、抽出画像データから、顔を表示する部分の画素の輝度値を取得する。ＣＰＵ３１は、取得した輝度値の平均値を算出して顔近傍輝度値に決定し、抽出画像データに関連付けてＲＡＭ３３に保存する。ＣＰＵ３１は、Ｓ２５の処理で保存したすべての抽出画像データに対し、それぞれの顔近傍輝度値を決定する。なお、顔近傍輝度値に用いられる平均値は、必ずしも、顔を表示する部分の画素の輝度値の算術平均でなくてもよい。例えば、顔近傍輝度値は、顔を表示する部分の画素のうち、輝度分布の中心に位置する画素の輝度値（即ち、輝度の中央値）であってもよい。例えば、顔近傍輝度値は、顔を表示する部分の画素の輝度値のうち、最も頻度の高い輝度値（即ち、輝度の最頻値）であってもよい。即ち、平均値とは、算術平均、中央値、最頻値などを含む意味である。また、例えば、顔近傍輝度値は、顔を表示する部分の画素とその周囲の画素の輝度値の平均値であってもよい。例えば、顔近傍輝度値は、抽出画像データを構成する全画素の輝度値の平均値であってもよい。さらに、例えば、顔近傍輝度値として、計算された平均値でなく、顔を表示する部分の画素のうち、座標位置が中心の画素の輝度値を用いてもよい。
【００６１】
ＣＰＵ３１は、基準輝度値決定処理のサブルーチンを実行する（Ｓ２７）。基準輝度値は、各抽出画像データの輝度値を顔近傍輝度値に基づいて調整する際の基準となる輝度値である。後述する個別画像輝度調整処理（図６参照）において、ＣＰＵ３１は、個々の抽出画像データの顔近傍輝度値を、基準輝度値を中心値とする輝度許容範囲内に収める補正を行う。輝度許容範囲は、基準輝度値を中心値とし、予め決められた第二許容値を基準輝度値に加算した輝度上限値と、第二許容値を基準輝度値から減算した輝度下限値との間の輝度値の範囲である。輝度基準輝度値決定処理において、ＣＰＵ３１は、モニタ４１に表示する画像データを指定する操作の入力を受け付けた場合、指定された画像データまたは抽出画像データ（以下、「指定画像データ」ともいう。）の顔近傍輝度値に基づき、抽出画像データの輝度値を補正する際の基準となる基準輝度値を決定することができる。
【００６２】
図５に示すように、基準輝度値決定処理において、ＣＰＵ３１は、入力部４２に対する操作に基づき、１つの画像を指定する入力が受け付けられたか否か判断する（Ｓ４１）。ＣＰＵ３１は、入力部４２を介し、モニタ４１に表示する他の端末３の画像データと、１の端末３の画像データから、１つの画像データを指定する操作の入力を受け付ける。また、モニタ４１に表示する画像データが合成画像データである場合、ＣＰＵ３１は、入力部４２を介し、合成画像データを構成する複数の抽出画像データから、１つの抽出画像データを指定する操作の入力を受け付ける。１つの画像データまたは抽出画像データを指定する操作の入力を受け付けた場合（Ｓ４１：ＹＥＳ）、ＣＰＵ３１は、指定画像データの顔近傍輝度値を取得する（Ｓ４２）。指定画像データの顔近傍輝度値は、上記した抽出画像データの顔近傍輝度値を決定する場合と同様の処理で取得する。即ち、ＣＰＵ３１は、指定画像データに対して顔検出処理を行う。ＣＰＵ３１は、検出された顔を表示する部分の画素の輝度値を指定画像データから取得し、その平均値を算出する。ＣＰＵ３１は、求めた平均値を基準輝度値に設定し、ＲＡＭ３３に保存する（Ｓ４３）。なお、指定画像データから顔を検出できなかった場合、ＣＰＵ３１は、画像データの全画素の輝度値の平均値を基準輝度値に設定してもよい。また、指定画像データから複数の顔を検出した場合、ＣＰＵ３１は、複数の顔それぞれの顔近傍輝度値の平均値を基準輝度値に設定してもよい。基準輝度値の設定後、ＣＰＵ３１は、遠隔会議プログラムのカメラ制御処理（図４参照）に処理を戻し、処理をＳ２８に進める。
【００６３】
また、基準輝度値は、ＣＰＵ３１は、他の端末３において画像データまたは抽出画像データを指定する操作の入力が受け付けられた場合にも、指定画像データの顔近傍輝度値に基づき、抽出画像データの輝度値を補正する際の基準となる基準輝度値を決定することができる。ＣＰＵ３１は、画像データまたは抽出画像データを指定する操作の入力を１の端末３の入力部４２が受け付けていない場合（Ｓ４１：ＮＯ）、会議サーバ１を介して他の端末３から画像データまたは抽出画像データを指定する通知（以下、「指定情報」ともいう。）を受信したか否か判断する（Ｓ４５）。なお、指定情報は、例えば、会議における特別な権限（例えば会議の議長等の権限）が与えられたユーザＩＤを用いて会議に参加する端末３が、会議サーバ１を介して他の端末３に送信することができる。１の端末３のＣＰＵ３１は、指定情報を受信した場合に（Ｓ４５：ＹＥＳ）、指定画像データの顔近傍輝度値をＳ４２と同様に取得する（Ｓ４６）。ＣＰＵ３１は、指定画像データの顔近傍輝度値を基準輝度値に設定し、ＲＡＭ３３に保存する（Ｓ４７）。基準輝度値の設定後、ＣＰＵ３１は、遠隔会議プログラムのカメラ制御処理（図４参照）に処理を戻し、処理をＳ２８に進める。
【００６４】
画像データまたは抽出画像データを指定する操作の入力がなく（Ｓ４１：ＮＯ）、指定情報の受信もなければ（Ｓ４５：ＮＯ）、ＣＰＵ３１は、基準輝度値が設定されているか否か判断する（Ｓ４８）。基準輝度値決定処理の初回実行時は、基準輝度値が設定されていないので（Ｓ４８：ＮＯ）、ＣＰＵ３１は、予め決められた標準輝度値を基準輝度値に設定してＲＡＭ３３に保存する（Ｓ５０）。ＣＰＵ３１は、遠隔会議プログラムのカメラ制御処理（図４参照）に処理を戻し、処理をＳ２８に進める。また、基準輝度値決定処理の２回目以降の実行時は、基準輝度値が設定されているので（Ｓ４８：ＹＥＳ）、ＣＰＵ３１は、遠隔会議プログラムのカメラ制御処理（図４参照）に処理を戻し、処理をＳ２８に進める。
【００６５】
図４に示すように、ＣＰＵ３１は、基準輝度値決定処理からカメラ制御処理に処理を戻すと、個別画像輝度調整処理のサブルーチンを実行する（Ｓ２８）。個別画像輝度調整処理は、個々の抽出画像データの顔近傍輝度値を、基準輝度値を中心値とする輝度許容範囲内に補正する処理である。図６に示すように、個別画像輝度調整処理において、ＣＰＵ３１は、Ｓ２５の処理でＲＡＭ３３に保存した複数の抽出画像データのうちの１つを選択し、輝度値の調整対象とする（Ｓ５１）。ＣＰＵ３１は、選択した抽出画像データの顔近傍輝度値をＲＡＭ３３から読み出し、輝度許容範囲の輝度上限値と比較する（Ｓ５２）。前述したように、輝度許容範囲は、基準輝度値決定処理（図５参照）において決定された基準輝度値を中心値とし、基準輝度値に第二許容値を加算した輝度上限値と、基準輝度値から第二許容値を減算した輝度下限値との間の輝度値の範囲である。
【００６６】
顔近傍輝度値が輝度許容範囲の輝度上限値以上である場合（Ｓ５２：ＹＥＳ）、ＣＰＵ３１は、顔近傍輝度値から輝度許容範囲の輝度上限値を減算した差分値を算出する（Ｓ５３）。この場合、差分値は正の値をとる。ＣＰＵ３１は、ＲＡＭ３３に差分値を保存し（Ｓ５７）、差分値に基づき、抽出画像データの輝度値を補正する（Ｓ５８）。具体的に、ＣＰＵ３１は、抽出画像データを構成する全ての画素に対し、それぞれの輝度値を、もとの輝度値から差分値を減算した輝度値に変更する処理を行う。全ての画素の輝度値が差分値の絶対値分、小さい値に補正されるので、補正後の抽出画像データの顔近傍輝度値は輝度許容範囲の輝度上限値となり、輝度許容範囲内に収まる。ＣＰＵ３１は、ＲＡＭ３３に未選択の抽出画像データがあり、顔を検出した人数分の抽出画像データのそれぞれに対する補正が完了していなければ（Ｓ６０：ＮＯ）、処理をＳ５１に戻す。
【００６７】
ＣＰＵ３１は、選択した抽出画像データの顔近傍輝度値が、輝度許容範囲の輝度上限値未満であり（Ｓ５２：ＮＯ）、且つ、輝度許容範囲の輝度下限値以下である場合（Ｓ５５：ＹＥＳ）、顔近傍輝度値から輝度許容範囲の輝度下限値を減算した差分値を算出する（Ｓ５６）。この場合、差分値は負の値をとる。ＣＰＵ３１は、ＲＡＭ３３に差分値を保存し（Ｓ５７）、差分値に基づき、抽出画像データの輝度値を補正する（Ｓ５８）。上記同様、ＣＰＵ３１は、抽出画像データを構成する全ての画素に対し、それぞれの輝度値を、もとの輝度値から差分値を減算した輝度値に変更する処理を行う。差分値が負の値であるので、全ての画素の輝度値は、差分値の絶対値分、大きい値に補正される。補正後の抽出画像データの顔近傍輝度値は輝度許容範囲の輝度下限値となり、輝度許容範囲内に収まる。ＣＰＵ３１は、輝度値を補正した抽出画像データをＲＡＭ３３に保存する。上記同様、全ての抽出画像データに対する補正が完了していなければ（Ｓ６０：ＮＯ）、ＣＰＵ３１は処理をＳ５１に戻す。
【００６８】
ＣＰＵ３１が選択した抽出画像データの顔近傍輝度値が、輝度許容範囲の輝度上限値未満であり（Ｓ５２：ＮＯ）、且つ、輝度許容範囲の輝度下限値より大きい場合（Ｓ５５：ＮＯ）、顔近傍輝度値は輝度許容範囲内の値である。この場合、ＣＰＵ３１は、抽出画像データの輝度値に対する補正を行わずに処理をＳ６０に進める。ＣＰＵ３１は、全ての抽出画像データに対する補正が完了したら（Ｓ６０：ＹＥＳ）、ＣＰＵ３１は、遠隔会議プログラムのカメラ制御処理（図４参照）に処理を戻し、処理をＳ３０に進める。
【００６９】
図４に示すように、ＣＰＵ３１は、個別画像輝度調整処理からカメラ制御処理に処理を戻すと、撮像露出調整処理のサブルーチンを実行する（Ｓ３０）。撮像露出調整処理は、抽出画像データの顔近傍輝度値と基準輝度値との差分を小さくするため、カメラドライバにカメラ４４の露出を変更させる変更指示を出力する処理である。図７に示すように、撮像露出調整処理において、ＣＰＵ３１は、Ｓ５７の処理でＲＡＭ３３に保存した複数の差分値の平均値を求める（Ｓ７１）。顔近傍輝度値が輝度許容範囲に収まらなかった抽出画像データの顔近傍輝度値が、平均的に、基準輝度値に対してずれた大きさが、差分値の平均値として求まる。ＣＰＵ３１は、修正値を算出する（Ｓ７２）。修正値は、基準輝度値を仮に平均値分ずらした値であり、露出基準値の修正を平均値に基づいて行うか否かの判断に用いられる。ＣＰＵ３１は、基準輝度値に平均値を加算し、修正値を算出する。
【００７０】
ＣＰＵ３１は、前記同様、画像データまたは抽出画像データを指定する操作の入力がなく、指定情報を受信していなければ（Ｓ７３：ＮＯ）、露出補正値を修正値に応じて修正する（Ｓ８０）。露出補正値には、修正値の算出元となった平均値が反映される。前述したように、露出補正値は、カメラ４４が撮像した画像データの輝度値の変更量をＣＰＵ３１が指示する値である。即ち、露出補正値は、露出変更後のカメラ４４の画像データから抽出される複数の抽出画像データの顔近傍輝度値と、基準輝度値とのそれぞれの差分値の平均値が、露出変更前の平均値よりも小さい値、好ましくはゼロになるように、露出変更前の平均値に基づき輝度値の変更量を指示する値である。カメラ４４に露出を補正させる制御は、カメラドライバが露出補正値に基づいて行う。ＣＰＵ３１は、カメラドライバに露出補正値を含む変更指示を送信する（Ｓ８１）。上記したように、カメラドライバは、変更指示を受信したら、露出補正値に応じて露出パラメータを変更し、露出設定命令をカメラ４４に出力する。カメラ４４は、露出設定命令に従って露出を補正し、補正後の露出で撮像した画像データを出力する。ＣＰＵ３１は、遠隔会議プログラムのカメラ制御処理（図４参照）に処理を戻し、処理をＳ３１に進める。
【００７１】
Ｓ７３の処理において、画像データまたは抽出画像データを指定する操作の入力、もしくは指定情報の受信がある場合（Ｓ７３：ＹＥＳ）、ＣＰＵ３１は、修正値を、指定画像データの顔近傍輝度値に基づく露出補正範囲と比較する（Ｓ７５、Ｓ７６）。露出補正範囲は、指定画像データの顔近傍輝度値を中心値とし、予め決められた第一許容値を加算した露出上限値と、第一許容値を減算した露出下限値との間の輝度値の範囲である。ＣＰＵ３１は、修正値が露出補正範囲の露出上限値より大きい場合（Ｓ７５：ＹＥＳ）、露出補正値を露出上限値に応じて修正する（Ｓ７７）。即ち、ＣＰＵ３１は、露出変更後の画像データの顔近傍輝度値が、指定画像データの顔近傍輝度値よりも第一許容値を超えて大きい値になる場合に、露出補正値を露出上限値に応じて修正する。露出上限値に応じた露出補正値の修正は、画像データの顔近傍輝度値が指定画像データの顔近傍輝度値に第一許容値を加算した値となるようにするための修正である。ＣＰＵ３１は、カメラドライバに露出補正値を含む変更指示を送信する（Ｓ８１）。ＣＰＵ３１は、遠隔会議プログラムのカメラ制御処理（図４参照）に処理を戻し、処理をＳ３１に進める。
【００７２】
また、ＣＰＵ３１は、修正値が露出補正範囲の露出下限値より小さい場合（Ｓ７５：ＮＯ、Ｓ７６：ＹＥＳ）、露出補正値を露出下限値に応じて修正する（Ｓ７８）。即ち、ＣＰＵ３１は、露出変更後の画像データの顔近傍輝度値が、指定画像データの顔近傍輝度値よりも第一許容値を超えて小さい値になる場合に、露出補正値を露出下限値に応じて修正する。露出下限値に応じた露出補正値の修正は、画像データの顔近傍輝度値が指定画像データの顔近傍輝度値に第一許容値を減算した値となるようにするための修正である。ＣＰＵ３１は、カメラドライバに露出補正値を含む変更指示を送信する（Ｓ８１）。ＣＰＵ３１は、遠隔会議プログラムのカメラ制御処理（図４参照）に処理を戻し、処理をＳ３１に進める。
【００７３】
ＣＰＵ３１は、修正値が露出補正範囲内の値である場合（Ｓ７５：ＮＯ、Ｓ７６：ＮＯ）、Ｓ８０に処理を進める。ＣＰＵ３１は、上記同様、露出補正値を修正値に応じて修正し（Ｓ８０）、カメラドライバに露出補正値を含む変更指示を送信したら（Ｓ８１）、処理をカメラ制御処理（図４参照）のＳ３１に進める。
【００７４】
図４に示すように、ＣＰＵ３１は、撮像露出調整処理からカメラ制御処理に処理を戻すと、抽出画像データの合成を行う（Ｓ３１）。ＣＰＵ３１は、Ｓ５８の処理において輝度値を補正した複数の抽出画像データをＲＡＭ３３から読み出し、各抽出画像データが示す画像を１つの画像形成領域に並べて配置した合成画像を表す合成画像データを作成する。ＣＰＵ３１は、合成画像データをＲＡＭ３３に保存する。
【００７５】
図１０に示すように、ＣＰＵ３１は、個々の抽出画像データ６６〜６９が示す画像を、例えば、タイル状に並べた１つの合成画像７０を表す合成画像データを作成する。個々の抽出画像データ６６〜６９が示す画像にそれぞれ表示される人物５１〜５４の顔５６〜５９は、それぞれの輝度値が補正前のそれぞれの輝度値よりも基準輝度値に近づくように補正された明るさの顔となる。即ち、顔５６〜５９の互いの顔近傍輝度値の差が、輝度値補正前よりも小さくなる。故に、合成画像データが示す合成画像７０は、個々の抽出画像データ６６〜６９の輝度値のばらつきが輝度値補正前よりも小さくなる。よって、合成画像７０は、画像全体の輝度のばらつきが輝度値補正前よりも小さくなり、輝度補正を行わずに合成した場合と比べ、画像内における輝度の変化の不自然さが緩和された画像になる。
【００７６】
図４に示すように、ＣＰＵ３１は、メイン処理において遠隔会議を終了する処理がなされていなければ（Ｓ３２：ＮＯ）、処理をＳ２２に戻す。ＣＰＵ３１は、未処理の画像データから条件に応じて抽出画像データを抽出し、合成画像データを作成するＳ２２〜Ｓ３２の処理を繰り返し実行する。Ｓ２２〜Ｓ３２の処理を繰り返し実行するうちに、メイン処理において会議終了処理がなされ、会議終了の通知イベントが発生した場合（Ｓ３２：ＹＥＳ）、ＣＰＵ３１は、カメラドライバに対してカメラ４４の駆動を停止させる指示を送信する（Ｓ３３）。カメラドライバはカメラ４４に停止命令を出力し、カメラ４４の駆動を停止する。ＣＰＵ３１は、カメラ制御処理の実行を終了する。
【００７７】
以上説明したように、複数の顔近傍輝度値と基準輝度値とに基づく複数の差分値で、それぞれ対応する抽出画像データの輝度値を補正することで、ＣＰＵ３１は、合成画像データを構成する複数の抽出画像データの輝度差を小さくできる。故に、ＣＰＵ３１は、画像内の輝度の変化が光源からの光の方向に基づかなくとも、抽出画像データ間の輝度のばらつきが小さく、画像全体としての不自然さを抑制できる合成画像を提供できる。また、ＣＰＵ３１は、複数の差分値に基づく露出補正値を決定することで、露出補正値に基づく変更指示に従ってカメラ４４の露出を変更できる。具体的に、複数の差分値の平均値を、露出変更前の平均値よりも小さい値、好ましくはゼロにすることができる露出補正値を決定する。言い換えると、露出変更後の複数の顔近傍輝度値の平均値を、露出変更前よりも基準輝度値に近い値、好ましくは基準輝度値にすることができる露出補正値を決定する。これにより、露出変更後のカメラ４４の画像データにおいて決定される複数の抽出画像データのそれぞれに対して決定される顔近傍輝度値は、それぞれ基準輝度値に近づく。故に、ＣＰＵ３１は、複数の抽出画像データのそれぞれの輝度値を補正せずとも、合成画像において、それぞれの抽出画像データの輝度差を小さくできるようになる。従って、ＣＰＵ３１は、露出補正値を決定するための演算にかかる負荷を低減できる。
【００７８】
ＣＰＵ３１は、露出補正値の決定に係る修正値を複数の差分値の平均値に基づいて算出できる。故に、露出変更後のカメラ４４から取得される画像データにおいて決定される複数の抽出画像データの画像は、極端に明るい画像になったり極端に暗い画像になることがない。従って、ＣＰＵ３１は、画像内の輝度の変化が光源からの光の方向に基づかなくとも、抽出画像データ間の輝度のばらつきが小さく、画像全体としての不自然さを抑制できる合成画像を提供できる。
【００７９】
ＣＰＵ３１は、露出変更後のカメラ４４から取得される画像データにおいて決定される複数の抽出画像データの顔近傍輝度値がそれぞれ指定画像データの顔近傍輝度値に近づくように、各抽出画像データの輝度値を補正することができる。故に、ＣＰＵ３１は、指定画像データの顔近傍輝度値に近づけた合成画像を生成することができる。入力部４２に対する操作の入力に基づいて指定画像データが選択される場合、ＣＰＵ３１は、露出変更後のカメラ４４から取得される画像データにおいて決定される複数の抽出画像データの顔近傍輝度値を、指定画像データの顔近傍輝度値に近づけることができる。故に、ＣＰＵ３１は、ＣＰＵ３１の表示画面の特性に合わせて個々の抽出画像データの画像を識別しやすい合成画像を生成することができる。また、他の端末３から受信する指定情報に基づいて指定画像データが選択される場合、ＣＰＵ３１は、露出変更後のカメラ４４から取得される画像データにおいて決定される複数の抽出画像データの顔近傍輝度値を、他の端末３において選択された指定画像データの顔近傍輝度値に近づけることができる。故に、ＣＰＵ３１は、他の端末３の表示画面の特性に合わせて個々の抽出画像データの画像を識別しやすい合成画像を生成することができる。
【００８０】
ＣＰＵ３１は、指定画像データが選択された場合には、指定画像データの顔近傍輝度値に応じた露出補正値を決定することができる。また、修正値が基準輝度値の輝度許容範囲外になった場合、ＣＰＵ３１は、露出上限値または露出下限値に基づいて露出補正値を決定することができる。故に、露出変更後のカメラ４４から取得される画像データにおいて決定される複数の抽出画像データの画像は、指定画像データに対して極端に明るい画像になったり極端に暗い画像になったりしない。従って、ＣＰＵ３１は、画像内の輝度の変化が光源からの光の方向に基づかなくとも、抽出画像データ間の輝度のばらつきが小さく、画像全体としての不自然さを抑制できる合成画像を提供できる。
【００８１】
ＣＰＵ３１は、差分値の絶対値が第二許容値以上の場合、露出補正値を決定するための演算を行う。つまり、ＣＰＵ３１は、差分値の絶対値が第二許容値未満（言い換えると、輝度許容範囲内、即ち顔近傍輝度値が輝度上限値未満且つ輝度下限値より大きい）の場合、抽出画像データに対する差分値を決定せず、ひいては露出補正値を決定する演算を行わなくてもよいので、演算にかかる負荷を低減できる。
【００８２】
ＣＰＵ３１は、顔近傍輝度値が輝度上限値以上の場合は輝度上限値に基づき補正し、同様に、輝度基準値以下の場合は輝度下限値に基づき補正する。故に、ＣＰＵ３１は、抽出画像データの輝度値を、補正前の輝度値に対して大きく変更せず、顔近傍輝度値が輝度許容範囲に含まれる最低限の大きさの変更で補正することができる。よって、ＣＰＵ３１は、合成画像データにおける個々の抽出画像データの画像として、もとの画像データにおいて対応する個々の抽画像データの画像のそれぞれの輝度を程よく反映させた画像を得ることができる。
【００８３】
ＣＰＵ３１は、抽出画像データとして顔の位置を含む所定の領域を決定することができる。故に、露出変更後のカメラ４４から取得される画像データにおいて決定される複数の抽出画像データの画像を合成した合成画像は、顔画像が極端に明るい画像になったり極端に暗い画像になることがない。従って、ＣＰＵ３１は、顔を認識しやすい合成画像データを生成することができる。
【００８４】
なお本発明は上記実施形態に限定されず、種々の変更が可能である。例えば、端末３は、ラップトップ型、タワー型のＰＣに限らず、ノート型のＰＣであってもよいし、スマートフォン、タブレット型端末等であってもよい。即ち端末３は、遠隔会議プログラムを実行でき、且つネットワーク８に接続でき、カメラ４４による撮像と、表示制御部３４によるモニタ４１への画像の表示ができる端末装置であればよい。また、端末３は、マイク４３、スピーカ４５、カメラ４４、モニタ４１のうちの少なくとも一つを内蔵してもよい。
【００８５】
ＣＰＵ３１は、画像データの明るさに対する変更を、輝度値の変更に限らず、明度、彩度、ガンマ値等、他のパラメータの変更により行ってもよい。また、ＣＰＵ３１は、抽出画像データとして、人物の顔の領域のみを切り出し、輝度値の補正後、元の画像データの抽出箇所に重ねて上書きすることで、合成画像データを作成してもよい。
【００８６】
本発明においては、ＲＡＭ３３が「記憶部」に相当する。端末３が「端末装置」に相当する。抽出画像データが「抽出領域」に相当する。Ｓ２５の処理が、「第一決定ステップ」に相当する。顔近傍輝度値が「代表輝度値」に相当する。Ｓ２６の処理が「第二決定ステップ」に相当する。Ｓ５２〜Ｓ５６の処理が「第三決定ステップ」に相当する。差分値が「輝度補正値」に相当する。Ｓ５７の処理が「保存ステップ」に相当する。Ｓ３１の処理が「生成ステップ」に相当する。Ｓ７１〜Ｓ８０の処理が「第四決定ステップ」に相当する。Ｓ８１の処理が「第一送信ステップ」に相当する。
【００８７】
Ｓ７１の処理が「第一算出ステップ」に相当する。修正値が「第一加算値」に相当する。Ｓ７２の処理が「第二算出ステップ」に相当する。指定画像データが「選択領域」に相当する。Ｓ４１、Ｓ４５の処理が「選択ステップ」に相当する。Ｓ４３、Ｓ４７、Ｓ５０の処理が「設定ステップ」に相当する。Ｓ１６の処理が「第二送信ステップ」に相当する。Ｓ７３の処理が「第一判断ステップ」に相当する。輝度許容範囲が「所定範囲」に相当する。Ｓ７５、Ｓ７６の処理が「第二判断ステップ」に相当する。露出上限値および露出下限値が「第二加算値」に相当する。Ｓ５２、Ｓ５５の処理が「第三判断ステップ」に相当する。Ｓ２２の処理が「特定ステップ」に相当する。
【符号の説明】
【００８８】
３                        端末
８                        ネットワーク
３１                      ＣＰＵ
３３                      ＲＡＭ
４２                      入力部
４４                      カメラ
【図１】
2015195477.tif 000003
【図２】
2015195477.tif 000004
【図３】
2015195477.tif 000005
【図４】
2015195477.tif 000006
【図５】
2015195477.tif 000007
【図６】
2015195477.tif 000008
【図７】
2015195477.tif 000009
【図８】
2015195477.tif 000010
【図９】
2015195477.tif 000011
【図１０】
2015195477.tif 000012