【実施例1】
【0011】
本実施例では、画像処理装置を説明する例として、コンピュータ(以後PCと表記することもある)を、画像処理システムを説明する例として、プロジェクタ(以後PJと表記することもある)とコンピュータとからなるシステムを用いて説明する。しかし、画像処理装置は、以下に説明するコンピュータのように画像を処理して送信することができるものであればどのような装置であっても良い。また、画像処理システムにおける表示装置は、以下に説明するプロジェクタのように画像を受信して表示部に表示することができるものであればどのような装置であっても良い。たとえば画像処理装置は、携帯電話、タブレット型コンピュータ、ハードディスクレコーダ、デジタルカメラなどであってもよい。また、表示装置は、ディスプレイ、テレビ、携帯電話、タブレット型コンピュータなどであってもよい。
【0012】
本実施例の画像処理システムは、コンピュータ(PC)とプロジェクタ(PJ)とからなる。コンピュータは、コンピュータの表示画面の画像を取得して、ネットワークを介して取得した画像をプロジェクタに送信する。一方、プロジェクタは受信した画像を表示部に表示する。すなわち、コンピュータで表示している画面に対応する同じ画面がプロジェクタにより投影される。
【0013】
ここで、ネットワーク上において、コンピュータとプロジェクタとは、通信プロトコルとして少なくともUDP/IPを用いた通信、およびTCP/IPを用いた通信を行うことができる。そして、PCは、PJに対して、通信プロトコルとしてTCP/IPを用いたユニキャスト通信により画像をPJに送信する第1のモードと、通信プロトコルとしてUDP/IPを用いたマルチキャスト通信により画像をPJに送信する第2のモードとを有する。ユニキャスト通信を用いることで、複数台のPJに対して画像を送信する場合であっても、異なる画像を送信することができる。一方、マルチキャスト通信を用いることで、1回の画像送信で、複数台のPJに同じ画像を送信することができる。このように、それぞれの通信方式毎にメリットがあるため、本実施例のPCは、これらの2種類の通信方式を含む画像送信方法を有する。このほかに、ブロードキャスト通信により画像を送信しても構わない。
【0014】
そして、ユニキャスト通信(PCは、第1のモード)で画像を送信する場合、PCは、PJにおいて表示させる画像の全領域のうち変化のあった領域を含む一部領域(全領域より小さい領域)の画像をキャプチャして、その座標とともにPJに送信する。一方、マルチキャスト通信(PCは、第2のモード)で画像を送信する場合、PCは、PJにおいて表示させる画像の全領域の画像を定期的(たとえば3秒/4秒/5秒ごと)にキャプチャして送信する。また、全領域の画像のキャプチャを行う間、PJにおいて表示させる画像の全領域のうち変化のあった領域を含む一部領域(全領域より小さい領域)の画像をキャプチャして、その座標とともにPJに送信する。すなわち、マルチキャスト通信を行う場合は、所定のタイミング(間隔)でPJにおいて表示させる画像の全領域の画像をキャプチャして送信する。その所定のタイミング以外のタイミングにおいては、PJにおいて表示させる画像の全領域のうち変化のあった領域を含む一部領域の画像をキャプチャして送信する。
【0015】
PJ側においては、全領域の画像を受信した場合は、全領域の画像に対応する画像を表示し、全領域の画像をバッファ領域に一時記憶しておく。また、一部領域の画像と座標の情報を受信した場合は、バッファ領域に一時記憶された画像の対応する座標位置に、受信した一部領域の画像を重畳した画像を生成し、生成した画像を表示する。
【0016】
このような構成とすることで、本実施例の画像処理システム、画像処理装置は、違和感をユーザに与える可能性を低減することができる。
【0017】
以下、このようなPCとPJからなる画像処理システムについて説明する。
【0018】
まず以下、
図1、2を用いて本実施形態の画像処理システムを構成するPC100とプロジェクタ200の主要な構成を説明する。
【0019】
まず、PC100の主要な構成を説明する。CPU101は、入力信号やプログラムに従って各部を制御することで、表示制御、記録制御、画像処理制御、通信制御といったPC100の全体の制御を行う。RAM(ランダムアクセスメモリ)102は、データの格納を行うメインメモリである。RAM102は、主に、CPU101が実行するプログラムを格納、或いは展開する領域、プログラム実行中のワーク領域など、様々なデータの格納領域として使用される。VRAM103は、後述する表示部106に表示する画像を格納するための領域として使用される。なおRAM102の速度が十分高速であれば、RAM102をVRAM103として用いてもよい。フラッシュメモリ104は、CPU101が初期化時に実行するブートプログラムが格納されている。なお、ブートプログラムでは、後述するHDD105に記録されているOSをRAM102に展開して起動する処理が行われる。ハードディスクドライブ(以下HDD)105は、アプリケーションプログラムやOSなどの各種プログラムとデータを格納するために使用される。表示部106は、後述する表示制御部107より指示された画像の表示を行う。表示部106は、例えば、液晶パネル、或いは有機ELパネルである。表示制御部107は、VRAM103に格納された画像を読み出し、これを表示部106に表示する処理を行う。操作部108は、ユーザからの入力を受け付ける。操作部108は、例えばキーボード、マウス、タッチパネル等によって構成され、これらの入力操作はCPU101に送信される。タッチパネルを採用する場合は表示部106と一体的に形成し、表示面へのタッチ操作で捜査を入力することが可能である。通信部109は、通信ネットワーク150を介して外部機器、具体的にはプロジェクタ200と通信を行う。通信部109は、例えば1ギガビットイーサネット(登録商標)等のインタフェースや、無線LANなどによって構成されるが、これらに限定されるものではない。内部バス110は、上述した各処理ブロック間を接続する。なお、PC100の制御は必ずしも1つのハードウェアで行う必要はなく、例えば複数のハードウェアが処理を分担してPC100の各手段を実現してもよい。
【0020】
次に、
図2を用いてプロジェクタ200の主要な構成を説明する。CPU201、RAM202、フラッシュメモリ203、VRAM204、操作部208、通信部209、内部バス210のハードウェアとしての役割はPC100と同様であるので、ここでは説明を省略する。デコーダ205は、符合化された画像データ、例えばJPEG形式で圧縮された画像データをデコードする。投影部206は液晶パネル、レンズ、光源で構成され、後述する投影制御部207により指示された画像を投影する。投影制御部207は、VRAM204に格納された画像を読み出し、これを投影部207に投影するよう制御する。なお、CPU201が投影制御部207として動作してもよい。なお、プロジェクタ200の制御は必ずしも上述のハードウェアでのみ行う必要はなく、例えば複数のハードウェアが処理を分担してPC100の各手段を実現してもよい。
【0021】
ここで、PC100とプロジェクタ200からなる本実施形態における画像処理システムを説明する。
【0022】
図3は本実施形態の画像処理システムの概要を示す図である。
【0023】
画像処理システムの目的はPC100に表示されている画面をプロジェクタ200で投影することである。PC100は表示部106に表示されている画面をキャプチャしてJPEGなどの圧縮画像データを生成する。そしてこの圧縮画像データをプロジェクタ200に送信する。一方、圧縮画像データを受信したプロジェクタ200は、圧縮された画像データをデコードして投影する。この動作を、例えば一定間隔で実行することで、PC100の画面がプロジェクタ200により投影されることになる。
【0024】
なお、本実施形態の画像処理システムは、複数のPC及び複数のプロジェクタで構成することが可能である。
図3の例では、2台のPC100a,100bと、2台のプロジェクタ200a,200bがLAN150を介して通信している。言うまでもないことではあるが、画像処理システムは、1台以上のPCと1台以上のプロジェクタとからなっていてもよい。各PC、プロジェクタが管理可能な台数、またはネットワークの管理可能な台数が、接続可能な台数の上限値となる。
【0025】
本実施形態における画像処理システムは、
図3に示すようにPC100aの映像をプロジェクタ200aで投影することが可能である。もちろんプロジェクタ200aは、PC100bからの映像を投影することも可能である。また
図3に示すように、PC100aの映像とPC100bの映像とを2画面レイアウトでプロジェクタ200bに投影するといった、多画面レイアウトでの投影も可能である。なお、多画面レイアウト表示を行う場合は、複数のPCより受信した映像データをデコード結果の格納先を、各PC映像の表示位置を考慮したVRAM204のアドレスにする。なお、多画面レイアウトの際には、PC側で前記エンコードする前にリサイズ処理を実施してもよい。
【0026】
なお、本実施形態における画像処理システムでは、通信対象のプロジェクタ選択、投影時の表示レイアウトなど表示形態の設定、画面転送の開始、停止などの各種指示はPC100側のプログラムが提供するGUIを介してPC100のユーザが指示するものとする。
【0027】
ここで、本実施形態の画像処理システムの動作について説明する。本実施形態の画像処理システムは、映像送信装置間の通信や各映像表示装置間の通信を行わなくとも、一台以上の映像送信装置と一台以上の映像表示装置とで構成されるセッション情報を管理できる。なお、本実施形態におけるセッション情報はグループ情報の一例である。本実施形態の画像処理システムにおいては、通信プロトコルとして、少なくともTCP/IPおよびUDP/IPを利用した通信を行うことができる。
【0028】
まず、
図4のセッション状態の概念図、
図5の通信フロー図を用いて、セッション情報を管理する典型的なシーケンスについて説明する。
【0029】
まず
図4(a)に示すような、PC100aがプロジェクタ200a、プロジェクタ200bで構成されるセッションを作成するフローについて説明する。セッションの作成に成功すると、
図4(a)に示すように、セッションの作成者であるPC100aと、プロジェクタ200aとの間の通信路(402)が確立される。さらに、PC100aとプロジェクタ200bとの間の通信路(403)も確立される。さらに、PC100aは各プロジェクタとセッション情報を共有することで、プロジェクタ200aが保持するセッション情報(400)と、プロジェクタ200bが保持するセッション情報(401)が同一のものとなる。当該セッション情報として、セッションに属するプロジェクタ数(ここでは2台)、セッションに所属する各プロジェクタの情報(ここではIPアドレス)が共有される。このようにして、PC100aがプロジェクタ200a、プロジェクタ200bで構成される、セッションと呼ばれるネットワークグループが作成される。
【0030】
以下、ユーザaがPC100aを操作して、プロジェクタ200aとプロジェクタ200bで構成されるセッションを作成する具体的な通信シーケンスについて、
図5を用いて説明する。
【0031】
S500では、ユーザaはPC100a上のGUIアプリケーション(以下、GUIアプリ)を操作して、新しいセッションの作成を指示する。
【0032】
S501では、GUIアプリは、セッションを構成するプロジェクタを選択するためのプロジェクタリストを表示する。なお、このプロジェクタリストはネットワークに対してプロジェクタからブロードキャストされるプロジェクタ情報コマンドを元に構成される。
【0033】
本実施形態においては、ネットワーク上にプロジェクタ200a、プロジェクタ200bが存在しているので、S502、S504で、各プロジェクタはプロジェクタ情報コマンドをネットワーク上にブロードキャストしている。なおプロジェクタ情報コマンドには、例えば当該プロジェクタのIPアドレスが少なくとも含まれている。また、ここでは説明の簡単化のためにこのタイミングでプロジェクタ情報コマンドを送信するとしているが、セッション化される前のプロジェクタは一定時間毎に、このように自機の情報を含むプロジェクタ情報コマンドを配信している。この配信処理は第2の送信手段による送信の一例である。
【0034】
S503、S505で、PC100aは、プロジェクタ情報コマンドを受信しているので、プロジェクタリストを更新する。具体的には、セッション作成時に選択可能なプロジェクタとして、プロジェクタ200a、プロジェクタ200bの情報がそれぞれ表示される。
【0035】
S506では、ユーザaは、GUIアプリのプロジェクタリストからプロジェクタ200aとプロジェクタ200bを選択してセッションの作成を指示する。
【0036】
S507、S508では、GUIアプリは、作成するセッションを構成するプロジェクタであるところの、プロジェクタ200a、プロジェクタ200bと自身(PC100a)の論理的な接続を確立する。なお、ここで接続を確立したPCとセッション化済みのプロジェクタ間では画面転送処理が可能になる。なお、接続に際しては各プロジェクタに設定されたパスワード認証が必要となる構成をとってもよい。
【0037】
そして、S509、S510では、PC100aは、接続を確立したプロジェクタ200aと、プロジェクタ200bに対してセッション化要求コマンドをそれぞれ送信する。なお、セッション化要求コマンドには、セッションの名称、セッションを構成するプロジェクタ数および、セッションを構成するプロジェクタに関する情報が含まれており、S509とS510で送信したセッション化要求には、これらの同一の情報が格納されている。セッション化要求コマンドを受信したプロジェクタは自身をセッション化済の状態へと遷移させる。
【0038】
そして、S511で、PC100aはセッション化したプロジェクタに対して投影制御を実施するための投射用GUIを表示する。
【0039】
以上の処理によって、セッションの作成処理が完了する。つまり、プロジェクタ200a、プロジェクタ200bはそれぞれ、PC100aとの通信路が確立されている。また同一の情報を含むセッション化要求コマンドが各プロジェクタに送信されているので、プロジェクタ200aとプロジェクタ200bは共通のセッション情報を保持している。
【0040】
続いて、
図4(b)で示したような、PC100bが、作成済みのセッション(PC100aが作成したプロジェクタ200aとプロジェクタ200bで構成されるセッション)に参加するフローについて説明する。セッションの参加に成功すると
図4(b)に示したように、作成済みのセッションを構成するプロジェクタ200a、プロジェクタ200bと、新たにセッションに参加したPC100bとの間の通信路(404、405)が確立される。
【0041】
以下、ユーザbがPC100bを操作してプロジェクタ200aとプロジェクタ200bで構成される作成済みのセッションに参加する通信シーケンスについて、
図5を用いて説明する。
【0042】
S512では、ユーザbはPC100b上のGUIアプリを操作して、セッションへの参加を指示する。
【0043】
S513では、GUIアプリは、参加可能なセッションを選択するためのセッションリストを表示する。なお、このセッションリストはネットワークを介してセッション化されたプロジェクタからブロードキャストされるセッション情報コマンドを元に構成される。
【0044】
本実施形態においては、前述のセッション作成時のフローで説明したように、プロジェクタ200aとプロジェクタ200bが同一セッションに属するプロジェクタとしてセッション化されている。したがって、各プロジェクタは、S514、S516でセッション情報コマンドをブロードキャストしている。ここでの送信処理は第1の送信手段による送信の一例である。なお、セッション情報コマンドは前述のS509、S510でセッションを作成するPCから送信されたセッション要求コマンドを元に構成されている。セッション情報コマンドは、セッションの名称、セッションを構成するプロジェクタ数および、セッションを構成するプロジェクタに関する情報などが含まれている。また、ここでは説明の簡単化のためにこのタイミングでセッション情報コマンドを送信するとしているが、セッション化された後のプロジェクタは、一定時間毎に、このようにセッション情報コマンドを配信している。
【0045】
S515、S517では、PC100bは、セッション情報コマンドを受信しているので、セッションリストを更新する。具体的には、参加可能なセッションとして、ユーザaが作成したセッションに関する情報(例えばセッション名)が表示される。なお、S514、S516でプロジェクタが送信するセッション情報コマンドに含まれるセッション及びセッションに属しているプロジェクタの情報は一致する。したがって、実際にはS517の時点ではセッションリストに表示するセッション一覧に変化は生じない。
【0046】
S518では、ユーザbはGUIアプリのセッションリストから参加対象のセッション(ここでは、PC100aが作成したセッション)を選択してセッションへの参加を指示する。
【0047】
S519、S520では、GUIアプリは参加対象のセッションを構成するプロジェクタであるところの、プロジェクタ200a、プロジェクタ200bと自身(PC100b)の論理的な接続を確立する。S507、S508で説明したように、接続を確立したPCとプロジェクタ間では画面転送処理が可能となる。ここでプロジェクタがPCから接続要求を受信する処理は第2の受信処理の一例である。
【0048】
そして、S521で、PC100bはセッション化したプロジェクタに対して投影制御を実施するための投射用GUIを表示する。
【0049】
続いて、
図4(c)で示したような、PC100bが、セッション構成を変更し、セッションからプロジェクタ200bを削除するフローについて説明する。セッションからプロジェクタの削除に成功すると
図4(c)に示したように、以前セッションを構成していたプロジェクタ200bからセッション情報が削除される。そしてセッションを構成する残りの1台のプロジェクタ200aのセッション情報は406のように変更される。さらにPC100aとPC100bとプロジェクタ200bとの通信路(407、408)が切断される。
【0050】
以下、ユーザbがPC100bを操作してプロジェクタ200aとプロジェクタ200bで構成されるセッションから、プロジェクタ200bを削除する通信シーケンスについて
図5を用いて説明する。
【0051】
S522では、ユーザbはPC100b上のGUIアプリを操作して、当該セッションに属するプロジェクタの構成の変更を指示する。
【0052】
S523では、GUIアプリは、自身が接続中のセッションに対して新たなプロジェクタを追加したり、セッションを構成するプロジェクタの削除を実施するためのプロジェクタリストを表示する。なお、このプロジェクタリストは、S501と同様にネットワークを介してセッション化前のプロジェクタからブロードキャストされるプロジェクタ情報コマンド及び、現在自身が接続を確立している各プロジェクタの情報から構成されている。
【0053】
S524では、ユーザbは、GUIアプリのプロジェクタリストから接続中のプロジェクタ200bを削除対象として選択して、セッションからプロジェクタ200bの削除を指示する。
【0054】
S525、S526では、PC100bのGUIアプリは、セッションを構成するプロジェクタ200a、200bに対して、セッション情報変更要求コマンドをそれぞれ送信する。なお、セッション情報変更要求コマンドは、前述のS509、S510のセッション化要求と同様の構成を持っており、この場合は、セッションに属するプロジェクタ台数は1台とし、セッションに属するプロジェクタ情報は、プロジェクタ200aのみとする。
【0055】
そして、S527でPC100bのGUIアプリは、セッションから削除するとしたプロジェクタ200bとの通信路を切断する。
【0056】
S528、S529では、プロジェクタ200aはS525で受信したセッション情報変更要求コマンドによって、自身の保持するセッション情報が変更されたことを、自身に接続中のPCに対して通知する。ここの時点では、プロジェクタ200aに対して、PC100a、PC100bが接続中であるので、これらのPCに対してセッション情報変更通知コマンドを配信している。
【0057】
そして、S530でも、プロジェクタ200bが前述のプロジェクタ200aと同様に、S526で受信したセッション情報変更要求コマンドによって、自身の保持するセッション情報が変更されたことを、自身に接続中のPCに対して通知する。なおこの時点で、S527のPC100bからの切断要求によってPC100bとの通信路は切断されているため、セッション情報の変化通知の送信対象は、ここではPC100aだけとなっている。しかしながら、セッション情報変化通知コマンドの発行処理は、セッション情報変更要求コマンドに応じて、別々プロジェクタで並列に実行されるため、必ずしもここで記述したシーケンスになるとは限らない。つまり、S527で示したPC100bの切断要求をプロジェクタ200bが受信するより先に、セッション情報変化通知コマンドの発行処理を実施する場合も起こりえる。この場合には、セッション情報の変化通知先は、PC100aとPC100bとなる。
【0058】
S529で、セッション情報変化通知コマンドを受信したPC100aは、当該セッションから、プロジェクタ200bが削除されたことを知る。そして、セッションの状態と自身が接続中のプロジェクタとが一致していないことを判断すると、ここで通知されたセッションの情報と一致するように接続、切断処理を実行する。ここでは、PC100bによってプロジェクタ200bがセッションから削除されているので、PC100aは、プロジェクタ200bとの通信路を切断する(S531)。ここでプロジェクタ200bと接続中のPCが無くなったので、プロジェクタ200bは自身をセッション化前の状態とし、保持しているセッション情報をすべてクリアする。
【0059】
なお、S530によっても同様のセッション情報の変化を知ることとなるが、PCとしては、自身が接続中のプロジェクタと、セッション情報に含まれるプロジェクタとの、不一致を検知した場合のみ、接続、切断処理を実行する。つまり、S531の切断処理は、S529の通知がトリガになっており、S530のように同様の通知を受信したとしても、再度切断処理を実行する必要はない。
【0060】
また、S528においてもS530と同様のことが言える。PC100bがセッション情報変化通知を受信しても、既にプロジェクタ200bとの通信路は切断しており、新たなセッション情報に含まれるプロジェクタ情報と、自身が接続中のプロジェクタとは既に一定している。つまり、再度プロジェクタ200bとの切断処理を実行することはない。
【0061】
以上の処理によって、セッションの変更処理としてプロジェクタ200bをセッションから削除する処理が完了した。つまり、プロジェクタ200bと、PC100a、PC100bとの間の通信路は切断され、プロジェクタ200bがセッション化前の状態に戻っている。
【0062】
なお、ここではセッションの変更処理としてプロジェクタを削除するシーケンスを例にとって説明した。この他にも、プロジェクタを追加する場合や、プロジェクタの追加、削除を同時に実施する場合に、セッション作成時に述べたシーケンスとここで述べたシーケンスの組み合わせで実現可能である。
【0063】
<画像送信について>
ここで、本実施例の特徴的な構成について説明する。
【0064】
本実施例の画像処理システムにおいては、各PC100から各プロジェクタ200に対して、前述した手順で確立された通信路を介して、プロジェクタ200で投影する画像を送信し、各プロジェクタ200において画像を表示する。プロジェクタ200で表示される画像は、たとえば、各PC100が表示部106に表示している表示画面の全領域に対応する画像である。あるいは、PC100がウィンドウシステムを用いるオペレーションシステムを採用している場合は、特定のアプリケーションに対応するウィンドウ内の画像である。あるいは、PC100で実行されている、画像を送信するための画面転送アプリケーションにより指定された領域の画像である。
【0065】
本実施例のPC100は、ユーザにより選択された投影方式に対応して、画像の送信に用いる通信方式を切り替える。具体的には、第1の投影方式が選択された場合は、通信プロトコルとしてTCP/IPを用いて、各プロジェクタに対してユニキャスト通信方式で画像を送信する。一方、第2の投影方式が選択された場合は、通信プロトコルとしてUDP/IPを用いて、各プロジェクタに対してマルチキャスト通信方式で画像を送信する。なお、第1の投影方式は、PC100から1台あるいは複数台のプロジェクタ200に対して画像を送信する投影方式である。第2の投影方式は、PC100から複数台のプロジェクタ200に対して同じ画像を送信する投影方式である。なお、第2の投影方式において、1台のプロジェクタ200に対して画像を送信することもできる。第2の投影方式は、ミラーモードあるいはマルチモードと呼ぶ。さらに、これ以外の投影方式を有していてもよい。
【0066】
また、PC100はさらに、通信方式の切り替えに対応して、プロジェクタ200に送信する画像の構成を異ならせる。具体的には、第1の投影方式が選択され、ユニキャスト通信方式で画像を送信する場合は、PC100は、プロジェクタ200が表示する画像の全領域のうち、変化のあった領域を含む一部領域の画像とその一部領域の画像の位置を示す情報(座標)を送信する。プロジェクタ200は、表示中の画像に対応する画像に、受信した一部領域の画像を受信した位置を示す情報に基づいて合成して、その画像を表示する。また、第2の投影方式が選択され、マルチキャスト通信方式で画像を送信する場合は、PC100は、プロジェクタ200が表示する画像の全領域の画像を、所定の間隔(3秒/4秒/5秒/任意)で送信する。プロジェクタ200は、全領域の画像を受信すると、その画像を表示する。また、所定の間隔の間に、プロジェクタ200が表示する画像に変化があった場合は、画像の全領域のうち、変化のあった領域を含む一部領域の画像とその一部領域の画像の位置を示す情報(座標)を送信する。プロジェクタ200は、これらの情報を受信した場合は、表示中の画像に対応する画像に、受信した一部領域の画像を受信した位置を示す情報に基づいて合成して、その画像を表示する。
【0067】
このように通信プロトコルとしてUDP/IPを用いてマルチキャスト通信方式で画像を送信する場合は、定期的にプロジェクタ200が表示する画像の全領域の画像を、送信している理由は以下のとおりである。UDP/IPの通信プロトコルは、送信元からのコマンドに対して受信側の応答が義務付けられていないため、PC100は、画像を送信した場合に、プロジェクタ200が正しく画像を受信できたか否かを判断することができない。つまり、変化のあった領域を含む一部領域の画像を送信する方式では、仮に、データパケットのロストが発生するプロジェクタ200側では、画像を受信できていないため、PC100側の表示画面と同じ表示をすることができなくなってしまう。そこで、本実施例の画像処理システムにおいて、PC100は、第2の投影方式が選択され、UDP/IPのマルチキャスト通信方式で画像を送信する場合には、定期的にプロジェクタ200の表示する画像の全領域を送信する。一方で、TCP/IPの通信プロトコルは、送信元からのコマンドに対して受信側の応答が義務付けられているため、PC100は、画像を送信した場合に、プロジェクタ200が正しく画像を受信できたか否かを判断することができる。そこで、本実施例の画像処理システムにおいて、PC100は、第1の投影方式が選択され、TCP/IPのユニキャスト通信方式で画像を送信する場合には、定期的にプロジェクタ200の表示する画像の全領域を送信しない。このように、本実施例の画像処理システムにおいては、通信方式に応じて、画像の送信形式を変更するので、違和感をユーザに与える可能性を低減することができる。
【0068】
以下に、本実施例の画像処理システムにおいて、PC100から送信された画像をプロジェクタ200が表示する場合の動作について、具体的に説明する。
【0069】
まず、第1の投影方式が選択された場合、すなわち、通信プロトコルとしてTCP/IPを用いて、各プロジェクタに対してユニキャスト通信方式で画像を送信する場合の本実施例の画像処理システムの動作について説明する。
図6は、PC100、プロジェクタ200の画像表示を行う際の動作を示すフロー図である。
図6において、各フローは、PC100のCPU101がPC100の各ブロックを制御することで実行される動作および、プロジェクタ200のCPU201がプロジェクタ200の各ブロックを制御することで実行される動作を示している。
【0070】
(S601)
まず、PC100のCPU101は、RAM102に展開している画面転送用のアプリケーションに従いプロジェクタ200に表示させる画像の「全領域の画像」をRAM102または、VRAM103から取得する。前述したようにプロジェクタ200で表示する画像は、たとえば、各PC100が表示部106に表示している表示画面の全領域に対応する画像である。あるいは、PC100がウィンドウシステムを用いるオペレーションシステムを採用している場合は、特定のアプリケーションに対応するウィンドウ内の画像である。あるいは、PC100で実行されている、画像を送信するための画面転送アプリケーションにより指定された領域の画像である。
【0071】
(S602)
次に、PC100のCPU101は、「全領域の画像」をプロジェクタ200に送信するように、通信部109を制御する。通信部109は、CPU109の制御の元、通信プロトコルとしてTCP/IPを使用して、ネットワークを介して、プロジェクタ200に「全領域の画像」を送信する。このとき、PC100のIPアドレスを送信元アドレス、プロジェクタ200のIPアドレスを送信先アドレス、として、「全領域の画像」をネットワーク上に送信する。なお、CPU101は、取得した「全領域の画像」送信する前に、JPEG形式で圧縮してもよい。
【0072】
(S603)
次に、CPU101は、「全領域の画像」をプロジェクタ200に送信してから所定時間経過するまでに、後述する「受信応答」を受信しない場合は(S603でNo)、再度S602の処理を実行する。「受信応答」を受信した場合は(S603でYes)、CPU101は、処理をS621に移行する。
【0073】
(S611)
一方、プロジェクタ200においては、CPU201は、PC100から「全領域の画像」を受信するまでは、プロジェクタ200の各ブロックを待機状態に制御している。そして、通信部209が「全領域の画像」を受信すると、CPU201は、処理をS612に移行させる。
【0074】
(S612)
通信部209が「全領域の画像」を受信すると、CPU201は、PC100から送信されたデータを受信したことを示す「受信応答」を、ネットワークを介して、PC100に送信するように通信部209を制御する。このとき、プロジェクタ200のIPアドレスを送信元アドレス、PC100のIPアドレスを送信先アドレス、として、「受信応答」をネットワーク上に送信する。
【0075】
(S613)
次に、CPU201は、受信した「全領域の画像」の画像をRAM202に展開して、サイズ変換や画像処理等、必要な画像処理を施し、VRAM204に格納する。そして、CPU201は、VRAM204に格納された画像を投影部207から投影するように投影制御部207を制御する。なお、受信した「全領域の画像」がJPEG形式で圧縮された画像データであれば、CPU201は、受信した画像データをデコードするようにデコーダ205を制御する。そして、得られた画像データをRAM202に展開してから、サイズ変換や画像処理等、必要な画像処理を施す。なお、このとき、CPU201は、RAM202上に、VRAM204に格納する前の画像を保持するように制御する。
【0076】
このようにして、PC100から送信された「全領域の画像」は、プロジェクタ200により投影される。続いて、プロジェクタ200に表示させる画像に変化があった場合の処理について説明する。
【0077】
(S621)
次に、PC100のCPU101は、プロジェクタ200に表示させる画像に変化があったか否かを判定する。
【0078】
(S622)
PC100のCPU101は、プロジェクタ200に表示させる画像に変化があったと判定した場合(S621でYes)、変化のあった領域を含む一部領域(全領域より小さい領域)の画像を取得する。たとえば、プロジェクタ200に表示させる画像の全領域を12の領域に分割(縦3×横4)しているとすると、変化のあった領域の含まれる分割領域の画像を取得する。当然複数の分割領域の画像を取得する場合もある。なお、分割領域を12分割として説明したが、これよりも多い領域に分割していてもよいし、少ない領域に分割してもよい。少なくとも、変化のあった領域を含む一部領域(全領域より小さい領域)の画像を取得すればよい。また、このとき、CPU101は、取得した「一部領域の画像」の位置(座標)の情報も取得する。位置は、たとえば「全領域の画像」におけるいずれの位置であるかを特定することができればどのような形式の位置情報であってもよい。本実施例ではたとえば、取得した「一部領域の画像」の左上の座標を示す情報を取得するものとするが、「全領域の画像」との相対位置を示す情報であってもよい。
【0079】
(S623)
次に、PC100のCPU101は、「一部領域の画像」および、その位置を示す情報をプロジェクタ200に送信するように、通信部109を制御する。通信部109は、CPU109の制御の元、通信プロトコルとしてTCP/IPを使用して、ネットワークを介して、プロジェクタ200に「一部領域の画像」および、その位置を示す情報を送信する。このとき、PC100のIPアドレスを送信元アドレス、プロジェクタ200のIPアドレスを送信先アドレス、として、「一部領域の画像」および、その位置を示す情報をネットワーク上に送信する。なお、CPU101は、取得した「一部領域の画像」送信する前に、JPEG形式で圧縮してもよい。
【0080】
(S624)
次に、CPU101は、「一部領域の画像」および、その位置を示す情報をプロジェクタ200に送信してから所定時間経過するまでに、「受信応答」を受信しない場合は(S624でNo)、再度S623の処理を実行する。「受信応答」を受信した場合は(S624でYes)、CPU101は、処理をS641に移行する。
【0081】
(S631)
一方、プロジェクタ200においては、CPU201は、PC100から「一部領域の画像」および、その位置を示す情報を受信するまでは、プロジェクタ200の通信部209を待機状態に制御している。なお、CPU101は、新たな画像を受信するまでの間、VRAM204に格納された画像を投影部206に投影させるように、投影制御部207を制御している。そして、通信部209が「一部領域の画像」および、その位置を示す情報を受信すると、CPU201は、処理をS632に移行させる。
【0082】
(S632)
通信部209が「一部領域の画像」および、その位置を示す情報を受信すると、CPU201は、PC100から送信されたデータを受信したことを示す「受信応答」を、ネットワークを介して、PC100に送信するように通信部209を制御する。このとき、プロジェクタ200のIPアドレスを送信元アドレス、PC100のIPアドレスを送信先アドレス、として、「受信応答」をネットワーク上に送信する。
【0083】
(S633)
次に、CPU201は、受信した「一部領域の画像」をRAM202に展開する。そして、サイズ変換や画像処理等、必要な画像処理を施し、RAM202に記憶されている現在の投影画像に対応する画像(VRAM204に記憶されている画像と同等の画像)に合成する処理を行う。具体的には、「一部領域の画像」とともに受信した「一部領域の画像」の位置を示す情報に基づいて、「一部領域の画像」をRAM202に記憶されている現在の投影画像に対応する画像に対して合成する。すなわち、プロジェクタ200のCPU201は、PC100から受信した「一部領域の画像」をRAM202に記憶していた画像と合成することで、PC100側で変化のあった位置の画像を更新した画像を生成することができる。次に、CPU201は、合成画像をVRAM204に格納し、VRAM204に格納された画像を投影部207から投影するように投影制御部207を制御する。なお、受信した「一部領域の画像」がJPEG形式で圧縮された画像データであれば、CPU201は、受信した画像データをデコードするようにデコーダ205を制御し、得られた画像データをRAM202に展開してから、サイズ変換や画像処理等、必要な画像処理を施す。なお、CPU201は、RAM202上に、VRAM204に格納する前の画像を保持するように制御する。
【0084】
このようにして、PC100から送信された「一部領域の画像」とその位置を示す情報に基づいて、プロジェクタ200から投影される画像は、変化のあった位置の画像が更新された画像となる。この動作を終了指示があるまで繰り返すことで、PC100側で変化のあった画像を、プロジェクタ200側で更新し手表示をすることできるのである。次に投影を終了するまでの手順について説明する。
【0085】
(S641)
次に、PC100のCPU101は、操作部108を介して、投影終了の指示が入力されたか否かを判定する。終了の指示が入力されていない場合には、処理をS621に戻す。
【0086】
(S642)
PC100のCPU101は、投影終了の指示が入力されると、「終了指示」をプロジェクタ200に送信するように、通信部109を制御する。通信部109は、CPU109の制御の元、通信プロトコルとしてTCP/IPを使用して、ネットワークを介して、プロジェクタ200に「終了指示」を送信する。このとき、PC100のIPアドレスを送信元アドレス、プロジェクタ200のIPアドレスを送信先アドレス、として、「終了指示」をネットワーク上に送信する。
【0087】
(S643)
次に、CPU101は、「終了指示」をプロジェクタ200に送信してから所定時間経過するまでに、「受信応答」を受信しない場合は(S643でNo)、再度S642の処理を実行する。「受信応答」を受信した場合は(S643でYes)、CPU101は、本処理を終了させる。
【0088】
(S651)
一方、プロジェクタ200においては、CPU201は、PC100から「終了指示」を受信すると、処理をS651に移行させる。
【0089】
(S652)
通信部209が「終了指示」を受信すると、CPU201は、PC100から送信されたデータを受信したことを示す「受信応答」を、ネットワークを介して、PC100に送信するように通信部209を制御する。このとき、プロジェクタ200のIPアドレスを送信元アドレス、PC100のIPアドレスを送信先アドレス、として、「受信応答」をネットワーク上に送信する。
【0090】
(S653)
次に、CPU201は、投影を終了するように投影制御部207を制御し、プロジェクタ200の各ブロックを待機状態に移行させる。
【0091】
以上のように、通信プロトコルとしてTCP/IPを用いて、PC100は、各プロジェクタに対してユニキャスト通信方式で画像を送信する場合は、定期的に全領域の画像を送信せずに、一部領域の画像を送信する。
【0092】
次に、第2の投影方式が選択された場合、すなわち、通信プロトコルとしてUDP/IPを用いて、各プロジェクタに対してマルチキャスト通信方式で画像を送信する場合の本実施例の画像処理システムの動作について説明する。
図7は、PC100、プロジェクタ200の画像表示を行う際の動作を示すフロー図である。
図7において、各フローは、PC100のCPU101がPC100の各ブロックを制御することで実行される動作および、プロジェクタ200のCPU201がプロジェクタ200の各ブロックを制御することで実行される動作を示している。
【0093】
第2の投影方式が選択された場合、すなわち、通信プロトコルとしてUDP/IPを用いて、各プロジェクタに対してマルチキャスト通信方式で画像を送信する場合。通信を開始する前に、PC100により選択された使用するプロジェクタ200に対して、「共通アドレス」が設定される。「共通アドレス」とは、マルチキャスト通信方式で、そのアドレスを送信先としてデータを送信することで、「共通アドレス」の設定されたすべての機器にそのデータを受信するためのものである。なお、「共通アドレス」は、ユーザの手動入力により設定されてもよいし、あらかじめ定められた所定のアドレスであってもよい。「共通アドレス」とは、たとえば「IPマルチキャストグループアドレス」である。
【0094】
(S701)
まず、PC100のCPU101は、RAM102に展開している画面転送用のアプリケーションに従いプロジェクタ200に表示させる画像の「全領域の画像」をRAM102または、VRAM103から取得する。前述したようにプロジェクタ200で表示する画像は、たとえば、各PC100が表示部106に表示している表示画面の全領域に対応する画像である。あるいは、PC100がウィンドウシステムを用いるオペレーションシステムを採用している場合は、特定のアプリケーションに対応するウィンドウ内の画像である。あるいは、PC100で実行されている、画像を送信するための画面転送アプリケーションにより指定された領域の画像である。
【0095】
(S702)
次に、PC100のCPU101は、「全領域の画像」をプロジェクタ200に送信するように、通信部109を制御する。通信部109は、CPU109の制御の元、通信プロトコルとしてUDP/IPを使用して、ネットワークを介して、プロジェクタ200に「全領域の画像」を送信する。このとき、PC100のIPアドレスを送信元アドレス、所定の「共通アドレス」を送信先アドレス、として、「全領域の画像」をネットワーク上に送信する。なお、CPU101は、取得した「全領域の画像」送信する前に、JPEG形式で圧縮してもよい。なお、「共通アドレス」に対してデータの送信を行うため、プロジェクタ200の他に、今回使用されている「共通アドレス」が指定されているプロジェクタも、「全領域の画像」を受信することができる。CPU101は、プロジェクタ200からの「受信応答」を待たずに、次の処理に移る。
【0096】
(S703)
次に、PC100のCPU101は、「全領域の画像」を送信してから所定時間経過したか否かを判定する。ここで、所定時間は、あらかじめ設定された固定時間(たとえば3秒)であってもよいし、ユーザにより任意に設定された時間であってもよい。所定時間が経過していると判定した場合(S703でYes)、処理をS701に戻し、所定時間が経過していると判定しない場合、処理をS721に移行させる。
【0097】
(S721)
次に、PC100のCPU101は、プロジェクタ200に表示させる画像に変化があったか否かを判定する。変化がない場合は(S721でNo)、処理をS703に移行させ、変化がある場合は(S721でNo)、処理をS722に移行させる。
【0098】
(S722)
PC100のCPU101は、プロジェクタ200に表示させる画像に変化があったと判定した場合(S721でYes)、変化のあった領域を含む一部領域(全領域より小さい領域)の画像を取得する。たとえば、プロジェクタ200に表示させる画像の全領域を12の領域に分割(縦3×横4)しているとすると、変化のあった領域の含まれる分割領域の画像を取得する。当然複数の分割領域の画像を取得する場合もある。なお、分割領域を12分割として説明したが、これよりも多い領域に分割していてもよいし、少ない領域に分割してもよい。少なくとも、変化のあった領域を含む一部領域(全領域より小さい領域)の画像を取得すればよい。また、このとき、CPU101は、取得した「一部領域の画像」の位置(座標)の情報も取得する。位置は、たとえば「全領域の画像」におけるいずれの位置であるかを特定することができればどのような形式の位置情報であってもよい。本実施例ではたとえば、取得した「一部領域の画像」の左上の座標を示す情報を取得するものとするが、「全領域の画像」との相対位置を示す情報であってもよい。
【0099】
(S723)
次に、PC100のCPU101は、「一部領域の画像」および、その位置を示す情報をプロジェクタ200に送信するように、通信部109を制御する。通信部109は、CPU109の制御の元、通信プロトコルとしてUDP/IPを使用して、ネットワークを介して、プロジェクタ200に「一部領域の画像」および、その位置を示す情報を送信する。このとき、PC100のIPアドレスを送信元アドレス、所定の「共通アドレス」を送信先アドレス、として、「一部領域の画像」および、その位置を示す情報をネットワーク上に送信する。なお、CPU101は、取得した「一部領域の画像」送信する前に、JPEG形式で圧縮してもよい。なお、「共通アドレス」に対してデータの送信を行うため、プロジェクタ200の他に、今回使用されている「共通アドレス」が指定されているプロジェクタも、「全領域の画像」を受信することができる。CPU101は、プロジェクタ200からの「受信応答」を待たずに、次の処理に移る。
【0100】
(S731)
一方、プロジェクタ200においては、CPU201は、PC100から画像を受信したか否かを判定する。受信する画像は、S702で、PC100から「共通アドレス」に送信された「全領域の画像」または、S723で、PC100から送信された「共通アドレス」に送信された「一部領域の画像」である。なお、CPU101は、新たな画像を受信するまでの間、VRAM204に格納された画像を投影部206に投影させるように、投影制御部207を制御している。
【0101】
(S732)
次に、CPU201は、PC100から画像を受信したと判定すると(S731でYes)、受信した画像に対応する画像を投影部206から投影するように投影制御部207を制御する。「全領域の画像」を受信した場合は、CPU201は、受信した「全領域の画像」の画像をRAM202に展開して、サイズ変換や画像処理等、必要な画像処理を施し、VRAM204に格納する。そして、CPU201は、VRAM204に格納された画像を投影部207から投影するように投影制御部207を制御する。なお、受信した「全領域の画像」がJPEG形式で圧縮された画像データであれば、CPU201は、受信した画像データをデコードするようにデコーダ205を制御し、得られた画像データをRAM202に展開する。そして、サイズ変換や画像処理等、必要な画像処理を施す。なお、このとき、CPU201は、RAM202上に、VRAM204に格納する前の画像を保持するように制御する。「一部領域の画像」を受信した場合は、CPU201は、受信した「一部領域の画像」をRAM202に展開する。そして、サイズ変換や画像処理等、必要な画像処理を施し、RAM202に記憶されている現在の投影画像に対応する画像(VRAM204に記憶されている画像と同等の画像)に合成する処理を行う。具体的には、「一部領域の画像」とともに受信した「一部領域の画像」の位置を示す情報に基づいて、「一部領域の画像」をRAM202に記憶されている現在の投影画像に対応する画像に対して合成する。すなわち、プロジェクタ200のCPU201は、PC100から受信した「一部領域の画像」をRAM202に記憶していた画像と合成することで、PC100側で変化のあった位置の画像を更新した画像を生成することができる。次に、CPU201は、合成画像をVRAM204に格納し、VRAM204に格納された画像を投影部207から投影するように投影制御部207を制御する。なお、受信した「一部領域の画像」がJPEG形式で圧縮された画像データであれば、CPU201は、受信した画像データをデコードするようにデコーダ205を制御し、得られた画像データをRAM202に展開してから、サイズ変換や画像処理等、必要な画像処理を施す。なお、CPU201は、RAM202上に、VRAM204に格納する前の画像を保持するように制御する。
【0102】
このようにして、本実施例の画像処理システムは、PC100から送信された「全領域の画像」または「一部領域の画像」に基づいて、画像を投影することができる。
【0103】
なお、投影終了の動作は、前述のS641からS653の処理と同様であるため、
図7において、同じ符番を付し説明を省略する。
【0104】
以上のように、通信プロトコルとしてUDP/IPを用いて、PC100は、各プロジェクタに対してマルチキャスト通信方式で画像を送信する場合は、定期的に全領域の画像を送信する。そして、定期的な間隔で全領域の画像を送信しながら、その間、各プロジェクタで表示するべき画像に変化があった場合は、変化のあった領域を含む一部領域の画像を送信する。
【0105】
以上説明してきたように、本実施例の画像処理システムでは、PC100からの画像送信に用いられる通信プロトコルに応じて、PC100では、定期的に「全領域の画像」を取得して送信するかしないかを切り替えている。すなわち、TCP/IPのように、受信側の応答が義務付けられている通信プロトコルにおいては、定期的に「全領域の画像」を送信せずに、変化のあった領域を含む「一部領域の画像」を送信する。言い換えれば、TCP/IPのように、データ転送の信頼性、順序性、データ完全性を保証する通信プロトコルにおいては、定期的に「全領域の画像」を送信せずに、変化のあった領域を含む「一部領域の画像」を送信する。一方、UDP/IPのように、送信側の応答が、義務付けられていない通信プロトコルにおいては、定期的に「全領域の画像」を送信し、その間、変化のあった領域を含む「一部領域の画像」を送信する。言い換えれば、UDP/IPのマルチキャスト通信のように、データ転送の信頼性、順序性、データ完全性を保証されていないために、データ抜けやデータ化が発生しても復帰できるように定期的に「全領域の画像」を送信する。このようにすることで、通信プロトコルに応じて、通信帯域を有効活用するとともに、本画像処理システムにおいて、ユーザに違和感を与える可能性を低減することができる。
【0106】
なお、本実施例において、投影方式に応じて、通信方式が決定されるものとして説明した。言い換えれば、投影方式に応じて、「全領域の画面」を定期的に送信するかしないかを切り替えている。また、投影方式ではなく、通信方式をユーザがPC100を操作することで選択することができるようにしてもよい。
【0107】
また、本実施例では、通信方式や投影方式を事前に選択するものとして説明したが、画像を表示するプロジェクタの台数に応じて、通信方式を切り替えるようにしてもよい。たとえば、複数台のプロジェクタで画像を表示する場合(すなわち画像送信先のプロジェクタの台数が複数の場合)には、通信プロトコルとしてUDP/IPを用いて、PC100は、各プロジェクタに対してマルチキャスト通信方式で画像を送信する。一方、1台のプロジェクタで画像を投影する場合(すなわち画像送信先のプロジェクタの台数が1台の場合)には、通信プロトコルとしてTCP/IPを用いて、PC100は、各プロジェクタに対してユニキャスト通信方式で画像を送信する。いうまでもなく、本実施例と同様に、マルチキャスト通信方式の場合は、定期的に「全領域の画像」を送信し、ユニキャスト通信方式の場合は、定期的に「全領域の画像」を送信せずに、「一部領域の画像」を送信する。なお、PC100と同じローカルネットワークのプロジェクタであるか否かを判定するには、各プロジェクタのネットワークアドレスがPC100のサブネットマスクと同一であるかどうかを判定すればよい。
【0108】
また、通信方式や投影方式を事前に選択するものとして説明したが、送信先であるプロジェクタが送信元であるPC100と同じローカルネットワークであるかに応じて、通信方式を切り替えるようにしてもよい。この場合、同じローカルネットワーク内のプロジェクタに画像を送信する場合には、通信プロトコルとしてUDP/IPを用いて、PC100は、各プロジェクタに対してマルチキャスト通信方式で画像を送信する。一方、同じローカルネット内のプロジェクタではないプロジェクタに画像を送信する場合には、通信プロトコルとしてTCP/IPを用いて、PC100は、各プロジェクタに対してユニキャスト通信方式で画像を送信する。いうまでもなく、本実施例と同様に、マルチキャスト通信方式の場合は、定期的に「全領域の画像」を送信し、ユニキャスト通信方式の場合は、定期的に「全領域の画像」を送信せずに、「一部領域の画像」を送信する。なお、PC100と同じローカルネットワークのプロジェクタであるか否かを判定するには、各プロジェクタのサブネットマスクがPC100のサブネットマスクと同一であるかどうかを判定すればよい。
【0109】
また、上述した第1の投影方式、第2の投影方式とは別の第3の投影方式を有していてもよい。第3の投影方式では、通信プロトコルとしてTCP/IPを用いて、PC100は、各プロジェクタに対してユニキャスト通信方式で画像を送信するが、定期的に「全領域の画像」を取得して送信するものとする。すなわち、ユニキャスト方式においても、定期的に「全領域の画像」を取得して送信する別のモードをも有していてもよい。そして、本実施例の第2および/または第3の投影方式のように、定期的に「全領域の画像」を送信する場合には、投影するプロジェクタの台数が多くなるほど、「全領域の画像」を送信する間隔を短くしてもよい。逆に、投影するプロジェクタの台数が少なくなるほど「全領域の画像」を送信する間隔を長くしてもよい。すなわち、本実施例の画像処理システムは、「全領域の画像」を送信する間隔が、所定の間隔よりも長いモードと、所定の間隔よりも短いモードを有していてもよい。また、例外処理として、定期的に「全領域の画像」を送信するが、その間に、プロジェクタが表示する画像の所定数以上の分割領域(たとえば12領域中10領域以上)において、画像に変化があった場合、次の「全領域の画像」の取得、および送信を行わないようにしてもよい。これは、変化した領域を転送している際に、ほぼ「全領域の画像」に近い画像を送信しているため、「全領域の画像」を送信する必要がないからである。
【0110】
また、定期的に「全領域の画像」を送信するモードにおいて、画像をたとえばJPEG方式等で圧縮して送信する場合、以下のような処理を行ってもよい。「全領域の画像」をおよび、「一部領域の画像」を送信する際に、CPU101は、送信する画像をJPEG方式で圧縮する。このとき、JPEG方式の画像圧縮においては、公知のように量子化係数Qを設定する。本実施例の画像処理システムにおいては、第1の「全領域の画像」を送信してから次の「全領域の画像」を送信するまでの間、量子化係数Qの変更を禁止する。すなわち、「一部領域の画像」をJPEG方式で圧縮する際には、その直前の「全領域の画像」を送信したときの量子化係数Qと同一の量子化係数Qを用いて、JPEG方式の圧縮における量子化を行う。一方で、次の「全領域の画像」をJPEG方式で圧縮する際には、第1の「全領域の画像」とは異なる量子化係数Qを用いて、JPEG方式の圧縮における量子化を行う。このようにすることで、画像データのデータ量を適正にするとともに、異なる量子化係数Qを用いて量子化された画像同士が、合成されて表示されないようにすることができ、ユーザに与える違和感を低減することができる。また、JPEG方式の圧縮を行う前に、画像の補正をする場合も、同様に第1の「全領域の画像」を送信してから次の「全領域の画像」を送信するまでの間、補正のパラメータの変更を禁止してもよい。たとえば、画像の高周波成分を低減するローパスフィルタの強度やカットオフ周波数の変更を、第1の「全領域の画像」を送信してから次の「全領域の画像」を送信するまでの間、禁止してもよい。また、PC100の表示部106に表示されている画像が、各色10bit階調の画像である場合は、JPEG圧縮を行う前に、8bit階調の画像に変換(階調変換/トーンマッピング)する必要がある。そのため、この階調変換/トーンマッピングの方式の変更を第1の「全領域の画像」を送信してから次の「全領域の画像」を送信するまでの間、禁止してもよい。
【0111】
本実施例では、PCとプロジェクタとからなる画像処理システムについて説明したが、本発明は、画像送信側の装置としてPC、画像表示側の装置としてプロジェクタに限定されるものではない。たとえば画像送信側の装置として、たとえば、携帯電話、タブレット型コンピュータ、ハードディスクレコーダ、デジタルカメラなどであってもよい。また、画像表示側の装置として、ディスプレイ、テレビ、携帯電話、タブレット型コンピュータなどであってもよい。
【0112】
<他の実施形態>
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。