以下、図面を参照して本発明の実施形態について説明する。しかしながら、本発明の技術的範囲が、本実施の形態に限定されるものではない。
図1は、本発明の一実施形態に係る伝送システム1の全体構成を示す概略図である。以下、図1を参照して本実施形態を説明する。
一般に伝送システムには、伝送管理システムを介して一方の伝送端末から他方の伝送端末に一方向でコンテンツデータを通信するデータ提供システムや、伝送管理システムを介して複数の伝送端末間で情報や感情等を相互に伝達するコミュニケーションシステムが含まれる。このコミュニケーションシステムは、コミュニケーション管理システム(「伝送管理システム」に相当)を介して複数のコミュニケーション端末(「伝送端末」に相当)間で情報や感情等を相互に伝達するためのシステムであり、テレビまたはビデオ会議システム、テレビ電話システム、音声会議システム、音声電話システム、PC(Personal computer)画面共有システム等が例として挙げられる。
本実施形態では、コミュニケーションシステムの一例としてのテレビまたはビデオ会議システム、コミュニケーション管理システムの一例としてのテレビまたはビデオ会議管理システム、およびコミュニケーション端末の一例としてのテレビまたはビデオ会議端末を想定した上で、伝送システム、伝送管理システム、および伝送端末について説明する。すなわち、本発明の伝送端末および伝送管理システムは、テレビまたはビデオ会議システムに適用されるだけでなく、コミュニケーションシステム、または伝送システムにも適用される。
本実施形態の伝送システム1(図1参照)は、複数の伝送端末10aa,10ab,10ba,10bb,10ca,10cb,10daおよび10dbと、各伝送端末用の複数のディスプレイ120aa,120ab,120ba,120bb,120ca,120cb,120daおよび120dbと、各伝送端末にそれぞれ接続される複数のPC等の外部入力装置40aa,40ab,40ba,40bb,40ca,40cb,40daおよび40dbと、複数の中継装置30a,30b,30cおよび30dと、伝送管理システム50と、プログラム提供システム90と、メンテナンスシステム100とによって構築されている。
なお、以下の説明において特に明記しない限り、複数の伝送端末10aa,……,10dbのうち任意の伝送端末を示すときは「伝送端末10」と表記し、複数のディスプレイ120aa,……,120dbのうち任意のディスプレイを示すときは「ディスプレイ120」と表記し、複数の外部入力装置40aa,……,40dbのうち任意の外部入力装置を示すときは「外部入力装置40」と表記し、複数の中継装置30a,……,30dのうち任意の中継装置を示すときは「中継装置30」と表記する。また、ディスプレイ120は伝送端末10の表示装置の一例である。
伝送端末10は、他の伝送端末10との間で、画像データ、音声データ等の送受信を行うようになっている。本実施形態では、画像データの画像が動画の場合について説明するが、動画だけでなく静止画であってもよい。また、画像データの画像に動画と静止画の両方が含まれていてもよい。中継装置30は、各伝送端末10間で画像データおよび音声データの中継を行うためのものである。伝送管理システム50は、複数の伝送端末10および複数の中継装置30を一元的に管理するためのものである。
外部入力装置40は、伝送端末10と接続され、外部入力装置40の表示装置(後述するディスプレイ216)に表示されている画像を表す表示データを伝送端末10に送信するようになっている。
また、図1に示される複数のルータ70a,70b,70c,70d,70eおよび70fは、画像データおよび音声データが送受信される最適な経路の選択を行うためのものである。以下の説明において特に明記しない限り、複数のルータ70a,……,70fのうち任意のルータを示すときは「ルータ70」と表記する。また、プログラム提供システム90は、HD(Hard Disk)(図示せず)を備えている。このHDには、伝送端末10に各種機能または各種手段を実現させるための伝送端末用プログラム、中継装置30に各種機能または各種手段を実現させるための中継装置用プログラム、および、伝送管理システム50に各種機能または各種手段を実現させるための伝送管理用プログラムが格納されている。プログラム提供システム90は、HDに格納されている伝送端末用プログラム、中継装置用プログラムおよび伝送管理用プログラムを、それぞれ伝送端末10、中継装置30および伝送管理システム50に送信可能に構築されている。
また、伝送端末10aaおよび10abと中継装置30aとルータ70aとは、LAN(Local Area Network)2aによって通信可能に接続されており、伝送端末10baおよび伝送端末10bbと中継装置30bとルータ70bとは、LAN2bによって通信可能に接続されている。LAN2aおよびLAN2bは、ルータ70cが含まれた専用線2abによって通信可能に接続されており、所定の地域A内で構築されている。例えば、地域Aは日本であり、LAN2aは東京の事業所内で構築されており、LAN2bは大阪の事業所内で構築されている。
一方、伝送端末10caおよび10cbと中継装置30cとルータ70dとは、LAN2cによって通信可能に接続されており、伝送端末10daおよび10dbと中継装置30dとルータ70eとは、LAN2dによって通信可能に接続されている。LAN2cおよびLAN2dは、ルータ70fが含まれた専用線2cdによって通信可能に接続されており、所定の地域B内で構築されている。例えば、地域Bはアメリカであり、LAN2c
はニューヨークの事業所内で構築されており、LAN2dはワシントンD.C.の事業所内で構築されている。地域Aと地域Bは、それぞれルータ70c,70fからインターネット2iを介して通信可能に接続されている。
また、伝送管理システム50、プログラム提供システム90およびメンテナンスシステム100は、インターネット2iを介して伝送端末10および中継装置30と通信可能に接続されている。伝送管理システム50、プログラム提供システム90およびメンテナンスシステム100は、地域Aまたは地域Bに設置されていてもよいし、これら以外の地域に設置されていてもよい。
本実施形態では、LAN2a、LAN2b、専用線2ab、インターネット2i、専用線2cd、LAN2cおよびLAN2dによって通信ネットワーク2が構築されている。
また、図1において、各伝送端末10、各中継装置30、伝送管理システム50、各ルータ70、プログラム提供システム90およびメンテナンスシステム100の下に表記されている4組の数字(かっこ付き)は、一般的なIPv4 (Internet Protocol version 4) におけるIPアドレスを簡易的に示している。例えば、伝送端末10aaのIPアドレスは「1.2.1.3」である。また、IPv4ではなくIPv6を用いてもよいが、説明を簡略化するため、IPv4を用いて説明する。
<<実施形態のハードウェア構成>>
次に、本実施形態のハードウェア構成を説明する。
図2は、本実施形態に係る伝送システム1を構成する伝送端末10のハードウェア構成図である。図2に示されるように、伝送端末10は、伝送端末10全体の動作を制御するCPU(Central Processing Unit)101と、伝送端末用プログラムを記憶したROM(Read Only Memory)102と、CPU101のワークエリアとして使用されるRAM(Random Access Memory)103と、画像データや音声データ等の各種データを記憶するフラッシュメモリ104と、CPU101の制御に従ってフラッシュメモリ104に対する各種データの読み出しおよび書き込みを制御するSSD (Solid State Drive)105と、フラッシュメモリ等の記録メディア106に対するデータの読み出しまたは書き込み(記憶)を制御するメディアドライブ107と、伝送端末10の宛先を選択する場合などに操作される操作ボタン108と、伝送端末10の電源のON/OFFを切り換えるための電源スイッチ109と、後述の通信ネットワーク2を利用してデータ伝送をするためのネットワークI/F111と、CPU101の制御に従って被写体を撮像し画像データを得るカメラ112と、このカメラ112の駆動を制御する撮像素子I/F113と、音声を入力するマイク114と、音声を出力するスピーカ115と、CPU101の制御に従ってマイク114およびスピーカ115との間で音声信号の入出力を処理する音声入出力I/F116と、CPU101の制御に従って外付けのディスプレイ120に画像データを伝送するディスプレイI/F117と、外部の装置との間で各種データを送受信する外部装置I/F118と、伝送端末10の各種機能の異常を知らせるアラームランプ119と、上記各構成要素を相互に電気的に接続するためのアドレスバスやデータバス等のバスライン110を備えている。
なお、記録メディア106は、伝送端末10に対して着脱自在な構成となっている。また、CPU101の制御に従ってデータの読み出しまたは書き込みを行う不揮発性メモリであれば、フラッシュメモリ104に限らず、EEPROM(Electrically Erasable and Programmable ROM)等を用いてもよい。また、カメラ112は、光を電荷に変換して被写体の画像(映像)を電子化する固体撮像素子、例えば、CCD(Charge Coupled Device) 素子、CMOS(Complementary Metal Oxide Semiconductor)素子等を備えている。また、SSD105以外にHDD(Hard Disk Drive)を用いてもよい。
また、ディスプレイ120は、被写体の画像や操作用アイコン等を表示する液晶素子や有機EL素子等を用いて構成されている。
また、上記伝送端末用プログラムは、インストール可能な形式または実行可能な形式のファイルで、上記記録メディア106等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
なお、カメラ112、マイク114、スピーカ115は必ずしも内蔵型の必要はなく、外付けにしてもよい。また、伝送端末10は、PC、スマートフォン、タブレット端末、携帯電話などであってもよい。
図3は、本実施形態に係る伝送システム1を構成する伝送管理システム50のハードウェア構成図である。伝送管理システム50は、伝送管理システム50全体の動作を制御するCPU201と、伝送管理用プログラムを記憶したROM202と、CPU201のワークエリアとして使用されるRAM203と、各種データを記憶するHD(Hard Disk)204と、CPU201の制御に従ってHD204に対する各種データの読み出しおよび書き込みを制御するHDD205と、フラッシュメモリ等の記録メディア206に対するデータの読み出しおよび書き込み(記憶)を制御するメディアドライブ207と、カーソル、メニュー、ウィンドウ、文字、画像等の各種情報をディスプレイ216に表示させるためのディスプレイI/F208と、後述の通信ネットワーク2を利用してデータ伝送をするためのネットワークI/F209と、文字、数値、各種指示等を入力するための複数のキーを備えたキーボード211と、各種指示の選択や実行、処理対象の選択、カーソルの移動等を行うマウス212と、着脱可能な記録媒体の一例としてのCD−ROM(Compact Disc Read Only Memory)213に対するデータの読み出しおよび書き込みを制御するCD−ROMドライブ214と、外部の装置との間で情報を送受信するための外部装置I/F215と、上記各構成要素間を相互に電気的に接続するためのアドレスバスやデータバス等のバスライン210とを備えている。なお、ディスプレイ216は、外部入力装置40の表示装置の一例でもある。
また、上記伝送管理用プログラムは、インストール可能な形式または実行可能な形式のファイルで、上記記録メディア206やCD−ROM213等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。上記伝送管理用プログラムはHD204に記憶されていてもよい。
また、外部入力装置40は、伝送管理システム50と同様のハードウェア構成を有しているため、その説明を省略する。但し、ROM202には、外部入力装置40を制御するための外部入力装置用プログラムが格納されている。この場合も、外部入力装置用プログラムは、インストール可能な形式または実行可能な形式のファイルで、上記記録メディア206やCD−ROM213等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
また、中継装置30は、伝送管理システム50と同様のハードウェア構成を有しているため、その説明を省略する。但し、ROM202には、中継装置30を制御するための中継装置用プログラムが格納されている。この場合も、中継装置用プログラムは、インストール可能な形式または実行可能な形式のファイルで、上記記録メディア206やCD−ROM213等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
また、プログラム提供システム90は、伝送管理システム50と同様のハードウェア構成を有しているため、その説明を省略する。但し、ROM202には、プログラム提供システム90を制御するためのプログラム提供システム用プログラムが格納されている。この場合も、プログラム提供システム用プログラムは、インストール可能な形式または実行可能な形式のファイルで、上記記録メディア206やCD−ROM213等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。なお、プログラム提供システム用プログラムは、ROM202ではなくHD204に格納されるようにしてもよい。
また、メンテナンスシステム100は、伝送管理システム50と同様のハードウェア構成を有しているため、その説明を省略する。このメンテナンスシステム100は、伝送端末10、中継装置30、伝送管理システム50およびプログラム提供システム90のうちの少なくとも1つの維持、管理または保守を行うためのコンピュータである。例えば、メンテナンスシステム100が国内に設置され、伝送端末10、中継装置30、伝送管理システム50またはプログラム提供システム90が国外に設置されている場合、メンテナンスシステム100は、通信ネットワーク2を介して遠隔的に、伝送端末10、中継装置30、伝送管理システム50およびプログラム提供システム90のうちの少なくとも1つの維持、管理、保守等のメンテナンスを行うようになっている。
また、メンテナンスシステム100は、通信ネットワーク2を介さずに、伝送端末10、中継装置30、伝送管理システム50およびプログラム提供システム90のうちの少なくとも1つにおける機種番号、製造番号、販売先、保守点検または故障履歴の管理等のメンテナンスを行うようにしてもよい。
なお、上記の着脱可能な記録媒体の他の形態としては、CD−R(Compact Disc Recordable)、DVD(Digital Versatile Disk)、ブルーレイディスク等のコンピュータで読み取り可能な記録媒体に格納して提供するように構成してもよい。
<<実施形態の機能構成>>
次に、本実施形態の機能構成について、図4〜図14を参照しながら説明する。図4は、本実施形態の伝送システム1を構成する伝送端末10、中継装置30および伝送管理システム50の機能ブロック図である。図4に示す例では、伝送端末10と、中継装置30と、伝送管理システム50とが、通信ネットワーク2を介してデータ通信することができるように接続されている。また、外部入力装置40は、伝送端末10との間でデータを送受信することができるように接続されている。なお、図1に示されるプログラム提供システム90およびメンテナンスシステム100は、テレビ会議の通信と直接関係がないため、図4では図示を省略している。
なお、図5は、画像データの画質を説明するための図である。また、図6は変更品質管理テーブルの一例、図7は中継装置管理テーブルの一例、図8は端末認証管理テーブルの一例、図9は端末管理テーブルの一例、図10は宛先リスト管理テーブルの一例、図11はセッション管理テーブルの一例、図12は品質管理テーブルの一例、をそれぞれ示す図である。また、図13は外部入力装置40の機能ブロック図、図14は解像度管理テーブルの一例を示す図である。
<伝送端末の機能構成>
図4に示されるように、伝送端末10は、送受信部11と、操作入力受付部12と、ログイン要求部13と、撮像部14aと、画像表示制御部14bと、表示画像取得部14cと、音声入力部15aと、音声出力部15bと、遅延検出部17と、外部情報送受信部18と、記憶・読出処理部19と、解像度取得部21aと、解像度判定部21bと、解像度選択部21cと、解像度変更部21dと、帯域状態監視部22と、狭帯域状態判定部23と、を有している。これら各機能部は、図2に示される各構成要素のいずれかが、ROM102に格納されているプログラムに従ったCPU101からの命令により動作することで実現される機能または手段である。また、伝送端末10は、図2に示されるSSD105によって構築される記憶部1000を有している。
<伝送端末の各機能部>
次に、伝送端末10の各機能部について詳細に説明する。伝送端末10の送受信部11は、図2に示されるネットワークI/F111によって実現され、通信ネットワーク2を介して他の伝送端末10、中継装置30および伝送管理システム50と各種データの送受信を行う。操作入力受付部12は、図2に示される操作ボタン108および電源スイッチ109によって実現され、ユーザによる各種入力を受け付ける。例えば、ユーザが、伝送端末10の本体の電源スイッチをONにすると、操作入力受付部12(図4)が電源ONを受け付けて、電源をONにする。また、操作入力受付部12は、ユーザによって操作入力された解像度を表す解像度情報を受け付ける。
ログイン要求部13は、図2に示されるCPU101からの命令によって実現され、上記電源ONの受け付けを契機として、送受信部11から通信ネットワーク2を介して伝送管理システム50に、ログインを要求する旨を示すログイン要求情報、および伝送端末10の現時点のIPアドレスを自動的に送信する。
撮像部14aは、図2に示されるカメラ112および撮像素子I/F113によって実現され、被写体を撮像した画像を表す画像データを生成する。画像表示制御部14bは、図2に示されるディスプレイI/F117によって実現され、画像データをレンダリングし、画像データが表す画像をディスプレイ120に表示させるための制御を行う。表示画像取得部14cは、ディスプレイ120に表示されている画像を表す画像データを取得する。本実施形態ではカメラ112で撮像した画像を表すデータを「画像データ」という。また、後で詳細に説明する外部入力装置40のディスプレイ216に表示されている画像を表すデータを「表示データ」という。なお、画像データおよび表示データは、例えばJPEG(Joint Photographic Experts Group)、Bitmap、GDI(Graphics Device Interface)等の形式のデータである。
音声入力部15aは、図2に示されるマイク114および音声入出力I/F116によって実現され、ユーザの音声を入力し、この音声を音声信号に変換することで、音声信号に係る音声データを出力する。音声出力部15bは、図2に示されるスピーカ115および音声入出力I/F116によって実現され、音声データに係る音声信号を音声に変換して出力する。
遅延検出部17は、図2に示されるCPU101からの命令に従って実現され、他の伝送端末10から中継装置30を介して送られてくる画像データまたは音声データの遅延時間(ms)を検出する。また、外部情報送受信部18は、図2に示される外部装置I/F118を介して外部入力装置40との間でデータを送受信する。また、記憶・読出処理部19は、図2に示されるSSD105によって実行され、記憶部1000に各種データを記憶したり、記憶部1000に記憶された各種データを読み出したりする処理を行う。
解像度取得部21aは、伝送端末10に接続されているディスプレイ120の表示可能な解像度を取得する。解像度判定部21bは、解像度取得部21aによって取得された表示可能な解像度に、画像データの伝送に用いる基準アスペクト比以外の解像度を含んでいるか否かを判定する。解像度選択部21cは、解像度判定部21bが行う判定の結果に基づいて上記表示可能な解像度の中から基準アスペクト比以外の解像度または基準アスペクト比の解像度を選択する。解像度変更部21dは、ディスプレイ120の解像度を、操作入力受付部12によって受け付けられた解像度情報が表す解像度に変更する。ここで、解像度とは、表示画面上の長さ当たりに存在する画素数を表し、縦方向の解像度および横方向の解像度が含まれる。
帯域状態監視部22は他の伝送端末との間で表示データを送信する場合と受信する場合に帯域状態を監視して(伝送速度を測定して)帯域管理テーブルに登録する。狭帯域状態判定部23は、帯域管理テーブルの送信の帯域を参照して一定値と比較し、狭帯域モード管理テーブルに「True」又は「False」を設定する。
記憶部1000には、伝送端末10を識別するための端末ID(Identification)およびパスワード、画像データおよび音声データ、各種データを送信する中継装置30を識別する中継装置ID、宛先端末のIPアドレス等が記憶される。また、記憶部1000には、外部入力装置用プログラム(表示データ取得プログラム1451、表示データ送信プログラム1452および解像度変換プログラム1453)が格納されている。これらのプログラムが外部入力装置40に送信され、外部入力装置40にインストールされることによって、外部入力装置40は、後述する表示データ取得部451、表示データ送信部452および解像度変換部453を備えることになる。なお、表示データ取得部451、表示データ送信部452および解像度変換部453の詳細については、<外部入力装置の各機能部>にて説明する。また、記憶部1000は、伝送端末10が出力する表示データの解像度を表す解像度情報を記憶する解像度記憶部1005、帯域管理DB1454、及び、狭帯域管理DB1455を有している。
なお、外部情報送受信部18は、解像度情報送信手段および表示データ受信手段の一例であり、画像表示制御部14bは、表示制御手段の一例である。
また、本実施形態における端末IDおよび後述の中継装置IDは、それぞれ伝送端末10および中継装置30を一意に識別するために使われる言語、文字、記号または各種のしるし等の識別情報を示す。また、端末IDおよび中継装置IDは、上記言語、文字、記号および各種のしるしのうち少なくとも2つが組み合わされた識別情報であってもよい。また、以下の記載では、テレビ会議の開始を要求する要求元としての伝送端末10を「要求元端末」とし、要求先である宛先としての伝送端末10を「宛先端末」として説明する。
《帯域管理DB》
記憶部1000には、図15(a)に示されるような帯域管理テーブルによって構成される帯域管理DB1454が構築されている。帯域管理テーブルは、送信と受信それぞれの通信ネットワークの帯域状況を管理している。帯域は〔bps〕を単位とするデータの伝送速度で表されている。したがって、数値が高いほど帯域が広いと判断される。帯域管理テーブルの帯域は、帯域状態監視部22により登録される。
《狭帯域管理DB》
記憶部1000には、図15(b)に示されるような狭帯域管理テーブルによって構成される狭帯域管理DB1455が構築されている。狭帯域管理テーブルは、後述する狭帯域モードの有効/無効を管理している。「狭帯域モード」にはTRUE(有効)又はFALSE(無効)のいずれかが対応づけて登録される。すなわち、狭帯域モードの場合はTRUEが設定され、狭帯域モードでない場合はFALSEが設定される。TRUE又はFALSEの切り替えは、狭帯域状態判定部23により行われる。
<中継装置の機能構成>
次に、中継装置30の機能(または手段)について説明する。中継装置30は、図4に示されるように送受信部31と、状態検知部32と、データ品質確認部33と、変更品質管理部34と、データ品質変更部35と、記憶・読出処理部39とを有している。これら各機能部は、図4に示される各構成要素のいずれかが、ROM202に記憶されているプログラムに従ったCPU201からの命令によって動作することで実現される機能または手段である。また、中継装置30は、図3に示されるROM202、RAM203またはHDD205のいずれかにより構築される記憶部3000を有している。
《変更品質管理テーブル》
記憶部3000には、図6に示されるような変更品質管理テーブルによって構成される変更品質管理DB3001が構築されている。変更品質管理テーブルでは、画像データの中継先としての伝送端末10のIPアドレス、およびこの中継先に中継装置30が中継する画像データの画質が関連付けられて管理される。
ここで、本実施形態の伝送システム1で扱われる画像データの画像の解像度について説明する。図5を参照すると、(a)に示されるように横方向が160画素、縦方向が120画素からなり、ベース画像となる低解像度の画像と、(b)に示されるように横方向が320画素、縦方向が240画素からなる中解像度の画像と、(c)に示されるように横方向が640画素、縦方向が480画素からなる高解像度の画像とがある。このうち、狭帯域経路を経由する場合には、ベース画像となる低解像度の画像データのみからなる低画質の画像データが中継される。帯域が比較的広い場合には、ベース画像となる低解像度の画像データと中解像度の画像データとからなる中画質の画像データが中継される。また、帯域が非常に広い場合には、ベース画像となる低解像度の画像データと中解像度の画像データと高解像度の画像データとからなる高画質の画像データが中継される。図6に示される変更品質管理テーブルにおいて、例えば、中継装置30がIPアドレス「1.3.2.4」の宛先端末10db(図1参照)に対して画像データを中継する場合には、この中継される画像データの画質(画像の品質)は「高品質」である。
<中継装置の各機能部>
次に、中継装置30の各機能部について詳細に説明する。なお、以下の記載では、中継装置30の各機能部を説明するにあたって、図3に示される各構成要素のうち中継装置30の各機能部を実現させるための主な構成要素との関係についても説明する。
中継装置30の送受信部31(図4参照)は、図3に示されるネットワークI/F209によって実現され、通信ネットワーク2を介して他の伝送端末10、中継装置30および伝送管理システム50との間で各種データの送受信を行う。状態検知部32は、図3に示されるCPU201からの命令によって実現され、この状態検知部32を有する中継装置30の稼働状態を検知する。稼働状態としては、「ONライン」、「OFFライン」「通話中」または「故障中」の状態がある。
データ品質確認部33は、図3に示されるCPU201からの命令によって実現され、宛先端末10のIPアドレスを検索キーとして、変更品質管理テーブル(図6参照)を検索し、当該IPアドレスに対応した中継される画像データの画質を抽出することで、中継される画像データの画質を確認する。変更品質管理部34は、図3に示されるCPU201からの命令によって実現され、伝送管理システム50から送信される、後述の品質情報に基づいて、変更品質管理DB3001の内容を変更する。例えば、端末IDが「01aa」である要求元端末10aaと、端末IDが「01db」である宛先端末10dbとの間で高画質の画像データを送受信することによってテレビ会議を行っている最中に、他のテレビ会議を行う要求元端末bbと宛先端末caが通信ネットワーク2を介してテレビ会議を開始することによって、宛先端末10dbで画像データの受信の遅延が生じた場合には、中継装置30は今まで中継していた画像データの画質を、高画質から中画質に下げる必要がある。このような場合に、中画質を示す品質情報に基づいて、中継装置30が中継する画像データの画質を高画質から中画質に下げるように、変更品質管理DB3001の内容が変更される。
データ品質変更部35は、図3に示されるCPU201からの命令によって実現され、要求元端末10から送られてきた画像データの画質を、上記変更された変更品質管理DB3001の内容に基づいて変更する。記憶・読出処理部39は、図3に示されるHDD205によって実現され、記憶部3000に各種データを記憶したり、記憶部3000に記憶された各種データを読み出したりする処理を行う。
<伝送管理システムの機能構成>
次に、伝送管理システム50の機能(または手段)について説明する。伝送管理システム50は、図4に示されるように送受信部51と、端末認証部52と、状態管理部53と、端末抽出部54と、端末状態取得部55と、セッション管理部57と、品質決定部58と、記憶・読出処理部59と、遅延時間管理部60とを有している。これら各機能部は、図3に示される各構成要素のいずれかが、ROM202に記憶されているプログラムに従ったCPU201からの命令によって動作することで実現される機能または手段である。また、伝送管理システム50は、図3に示されるROM202、RAM203またはHDD205によって構築される記憶部5000を有している。
《中継装置管理テーブル》
記憶部5000には、図7に示されるような中継装置管理テーブルによって構成される中継装置管理DB5001が構築されている。この中継装置管理テーブルでは、各中継装置30の中継装置ID毎に、各中継装置30の稼働状態、稼働状態が示される状態情報が伝送管理システム50で受信された受信日時、中継装置30のIPアドレスおよび中継装置30における最大データ伝送速度(Mbps)が関連付けられて管理される。例えば、図7に示される中継装置管理テーブルにおいて、中継装置IDが「111a」の中継装置30a(図1参照)は、稼働状態が「ONライン」であり、伝送管理システム50で状態情報が受信された日時が「2009年11月10日の13時00分」であり、この中継装置30aのIPアドレスが「1.2.1.2」であり、この中継装置30aにおける最大データ伝送速度が100Mbpsであることが示されている。
《端末認証管理テーブル》
また、記憶部5000には、図8に示されるような端末認証管理テーブルによって構成される端末認証管理DB5002が構築されている。この端末認証管理テーブルでは、伝送管理システム50によって管理される全ての伝送端末10の各端末IDに対して、各パスワードが関連付けられて管理される。例えば、図8に示される端末認証管理テーブルにおいて、伝送端末10aa(図1参照)の端末IDは「01aa」で、パスワードは「aaaa」であることが示されている。
《端末管理テーブル》
また、記憶部5000には、図9に示されるような端末管理テーブルによって構成される端末管理DB5003が構築されている。この端末管理テーブルでは、各伝送端末10の端末ID毎に、各伝送端末10の稼働状態、後述のログイン要求情報が伝送管理システム50で受信された受信日時および伝送端末10のIPアドレスが関連付けられて管理される。例えば、図9に示される端末管理テーブルにおいて、端末IDが「01aa」の伝送端末10aa(図1参照)は、稼働状態が「ONライン」であり、伝送管理システム50でログイン要求情報が受信された日時が「2009年11月10日の13時40分」であり、この伝送端末10aaのIPアドレスが「1.2.1.3」であることが示されている。
《宛先リスト管理テーブル》
また、記憶部5000には、図10に示されるような宛先リスト管理テーブルによって構成される宛先リスト管理DB5004が構築されている。この宛先リスト管理テーブルでは、テレビ会議の開始を要求する要求元端末10の端末IDに対して、宛先端末10の候補として登録されている宛先端末10の端末IDが全て関連付けられて管理される。例えば、図10に示される宛先リスト管理テーブルにおいて、端末IDが「01aa」である要求元端末10aa(図1参照)からテレビ会議の開始を要求することができる宛先端末10の候補は、端末IDが「01ab」の伝送端末10ab、端末IDが「01ba」の伝送端末10ba、および端末IDが「01db」の伝送端末10dbの3つであることが示されている。この宛先端末10の候補は、要求元端末10から伝送管理システム50に対する追加または削除の要請により、追加または削除されることで更新される。
《セッション管理テーブル》
また、記憶部5000には、図11に示されるようなセッション管理テーブルによって構成されるセッション管理DB5005が構築されている。このセッション管理テーブルでは、中継装置30を選択するためのセッションの実行に用いられる選択用セッションID毎に、中継装置30の中継装置ID、要求元端末10の端末ID、宛先端末10の端末ID、遅延時間(ms)、および受信日時が関連付けられて管理される。ここで、遅延時間(ms)とは、宛先端末10において画像データが受信される際の受信の遅延時間であり、受信日時とは、この遅延時間が示される遅延情報を宛先端末10から送信されて伝送管理システム50で受信された日時である。
例えば、図11に示されるセッション管理テーブルにおいて、選択用セッションID「se1」を用いて実行されたセッションで選択された中継装置30a(中継装置ID「111a」)は、端末IDが「01aa」の要求元端末10aa(図1参照)と、端末IDが「01db」の宛先端末10dbとの間で、画像データおよび音声データを中継していることが示されている。また、宛先端末10dbにおいて「2009年11月10日の14時00分」時点における画像データの遅延時間が200(ms)であることが示されている。
なお、2つの伝送端末10の間でテレビ会議を行う場合には、上記宛先端末10ではなく要求元端末10から送信されてきた遅延情報に基づいて、遅延情報の受信日時を管理してもよい。但し、3つ以上の伝送端末10の間でテレビ会議を行う場合には、画像データおよび音声データの受信側の伝送端末10から送信されてきた遅延情報に基づいて、遅延情報の受信日時を管理する。
《品質管理テーブル》
また、記憶部5000には、図12に示されるような品質管理テーブルによって構成される品質管理DB5007が構築されている。この品質管理テーブルでは、要求元端末10または宛先端末10における画像データの遅延時間(ms)に応じて、中継装置30で中継させる画像データの画質(画像の品質)が関連付けられて管理される。
<伝送管理システムの各機能部>
次に、伝送管理システム50の各機能部について詳細に説明する。なお、以下の記載では、伝送管理システム50の各機能部を説明するにあたって、図3に示される各構成要素のうち、伝送管理システム50の各機能部を実現させるための主な構成要素との関係についても説明する。
まず、送受信部51(図4参照)は、図3に示されるネットワークI/F209によって実行され、通信ネットワーク2を介して伝送端末10、中継装置30または他のシステム(プログラム提供システム90と、メンテナンスシステム100)との間で各種データの送受信を行う。端末認証部52は、送受信部51を介して受信されたログイン要求情報に含まれている端末IDおよびパスワードを検索キーとし、記憶部5000の端末認証管理DB5002を検索し、端末認証管理DB5002に同一の端末IDおよびパスワードが管理されているかを判断することによって端末認証を行う。状態管理部53は、ログイン要求してきた要求元端末10の稼働状態を管理すべく、端末管理テーブル(図9)に、この要求元端末10の端末ID、要求元端末10の稼働状態、伝送管理システム50でログイン要求情報が受信された受信日時、および要求元端末10のIPアドレスを関連付けて記憶して管理する。
端末抽出部54は、ログイン要求した要求元端末10の端末IDをキーとして、宛先リスト管理テーブル(図10)を検索し、要求元端末10と通信することができる宛先端末10の候補の端末IDを読み出すことで、端末IDを抽出する。また、端末抽出部54は、ログイン要求してきた要求元端末10の端末IDをキーとして、宛先リスト管理テーブル(図10)を検索し、上記要求元端末10の端末IDを宛先端末10の候補として登録している他の要求元端末10の端末IDも抽出する。
端末状態取得部55は、端末抽出部54によって抽出された宛先端末10の候補の端末IDを検索キーとして、端末管理テーブル(図9)を検索し、端末抽出部54によって抽出された端末ID毎に稼働状態を読み出す。これにより、端末状態取得部55は、ログイン要求してきた要求元端末10と通信することができる宛先端末10の候補の稼働状態を取得することができる。また、端末状態取得部55は、端末抽出部54によって抽出された端末IDを検索キーとして、端末管理テーブル(図9)を検索し、ログイン要求してきた要求元端末10の稼働状態も取得する。
セッション管理部57は、記憶部5000のセッション管理DB5005(図11のセッション管理テーブル)に、生成された選択用セッションID、要求元端末の端末IDおよび宛先端末の端末IDを関連付けて記憶して管理する。また、セッション管理部57は、セッション管理テーブル(図11)に中継装置30の中継装置IDを記憶して管理する。
品質決定部58は、上記遅延時間を検索キーとして、品質管理テーブル(図12)を検索し、対応する画像データの画質を抽出することで、中継装置30に中継させる画像データの画質を決定する。記憶・読出処理部59は、図3に示されるHDD205によって実行され、記憶部5000に各種データを記憶したり、記憶部5000に記憶された各種データを読み出したりする処理を行う。遅延時間管理部60は、上記宛先端末10のIPアドレスを検索キーとして、端末管理テーブル(図9)を検索することで、対応する端末IDを抽出し、さらにセッション管理テーブル(図11)において、上記抽出した端末IDが含まれるレコードにおける遅延時間のフィールド部分に、上記遅延情報で示される遅延時間を記憶して管理する。
<外部入力装置の機能構成>
外部入力装置40は、図13に示されるように送受信部41と、接続検出部42と、インストール判定部43aと、プログラム取得部43bと、解像度取得部44と、表示データ取得部451と、表示データ送信部452と、解像度変換部453と、モード判定部454と、操作入力受付部46と、表示制御部47と、マウント部48と、記憶・読出処理部49とを有している。これら各機能部は、図3に示される各構成要素のいずれかが、ROM202に記憶されているプログラムに従ったCPU201からの命令によって動作することで実現される機能または手段である。また、表示データ取得部451、表示データ送信部452、解像度変換部453及びモード判定部454は、伝送端末10の記憶部1000(図4参照)に記憶されている表示データ取得プログラム1451、表示データ送信プログラム1452および解像度変換プログラム1453をプログラム取得部43bがダウンロードして、これら各プログラムをインストールすることによって実現される。さらに、外部入力装置40は、図3に示されるROM202、RAM203またはHDD205によって構築される記憶部4000を有している。また、特に図示はしていないが、外部入力装置40は、Windows(登録商標)や"Mac(登録商標) OS "、"Mac(登録商標) OS X Lion"、"Mac(登録商標) OS X""OS X"等のOS(Operating System)を搭載し、これにより、他の装置と接続したときにはプログラムを実行する機能を備えている。
<外部入力装置の各機能部>
次に、外部入力装置40の各機能部について詳細に説明する。まず、送受信部41(図13参照)は、図3に示されるネットワークI/F209によって実現され、伝送端末10との間で各種データ(情報)の送受信を行う。送受信部41は、本実施形態に関連する情報として、伝送端末10側で表示解像度が変更されたときにその変更後の解像度を表す解像度情報(第1の解像度情報)を受信する。接続検出部42は、図3に示される外部装置I/F215により伝送端末10との間で各種データの送受信が可能となったことを検出する。
インストール判定部43aは、接続検出部42によって外部入力装置40が伝送端末10と送受信可能になったことが検出されると、表示データ取得プログラム1451、表示データ送信プログラム1452および解像度変換プログラム1453が外部入力装置40にインストールされているか否かを判定する。プログラム取得部43bは、インストール判定部43aによって表示データ取得プログラム1451、表示データ送信プログラム1452および解像度変換プログラム1453が外部入力装置40にインストールされていないと判定されると、伝送端末10の記憶部1000(図4参照)から表示データ取得プログラム1451、表示データ送信プログラム1452および解像度変換プログラム1453を取得する。
解像度取得部44は、外部入力装置40のディスプレイ216の解像度を表す解像度情報(第2の解像度情報)を取得する。操作入力受付部46は、ユーザの操作によって入力された情報を受け付ける。表示制御部47は、後述する記憶・読出処理部49が読み出した画像をディスプレイ216に表示させる。マウント部48は、伝送端末10の記憶部1000をマウントする。これにより、外部入力装置40は、表示データ取得プログラム1451、表示データ送信プログラム1452および解像度変換プログラム1453をインストールできるようになる。
表示データ取得部451は、外部入力装置40のディスプレイ216に表示されている画像を表す表示データを取得する。表示データ送信部452は、表示データ取得部451が取得した表示データを伝送端末10に送信する。解像度変換部453は、外部入力装置40のディスプレイ216の解像度(第2の解像度情報)と、伝送端末10から送信されて外部入力装置40の記憶部4000に記憶されている伝送端末10のディスプレイ120の解像度(第1の解像度状態)とに基づいて、外部入力装置40が伝送端末10に送信する表示データの解像度を変換する。
モード判定部454は、送受信部41を介して伝送端末10と通信し、狭帯域モード管理テーブルの設定を取得する。そして、狭帯域モードが「True」か「False」かにより狭帯域モードか否かを判定する。
記憶・読出処理部49は、図3に示されるHDD205によって実行され、記憶部4000に各種データを記憶したり、記憶部4000に記憶された各種データを読み出したりする処理を行う。
なお、送受信部41は解像度情報受信手段の一例であり、表示データ送信部452は表示データ送信手段の一例であり、解像度変換部453は解像度変換手段の一例であり、表示制御部47は表示制御手段の一例である。
《解像度管理テーブル》
記憶部4000には解像度管理DB4001が構築され、この解像度管理DB4001には、図14に一例として示されるような解像度管理テーブルが格納されている。この解像度管理テーブルでは、送受信部41が受信した伝送端末10のディスプレイ120の縦方向(高さ方向)の解像度と横方向(幅方向)の解像度を表す情報が関連付けられて記憶されている。例えば、図14に示される解像度管理テーブルにおいて、伝送端末10のディスプレイ120の解像度(幅)は1024であり、解像度(高さ)は768である。
<<実施形態の処理・動作>>
次に、本実施形態の伝送システム1において行われる各種処理および動作について、図16〜図21を参照しながら説明する。なお、図16は、各中継装置30から伝送管理システム50に送信された各中継装置30の稼働状態を表す状態情報を管理する処理の一例を示すシーケンス図である。図17は、各伝送端末10間で通信を開始する準備段階の処理の一例を示すシーケンス図である。図18は、伝送端末がセッションを確立する処理の一例を示すシーケンス図である。図19は、外部入力装置40が表示した表示データを会議の相手である伝送端末10に表示させる処理の一例を示すシーケンス図である。図20はディスプレイ120に表示される表示データの一例を示す図である。図21は伝送システム1の全体構成のうち、外部入力装置40aa、40dbのディスプレイ216aa、216db、ディスプレイ120aa、120dbに表示される画面を説明する図の一例である。
まず、図16を参照して、各中継装置30から伝送管理システム50に送信された各中継装置30の稼動状態を表す状態情報を管理する処理について説明する。まず、各中継装置30(30a〜30d)では、状態検知部32(図4)が、自装置である中継装置30の稼働状態を定期的に検知している(S1−1〜S1−4)。そして、伝送管理システム50側で各中継装置30の稼働状態をリアルタイムで管理させるべく、各中継装置30の送受信部31は、定期的に通信ネットワーク2を介して伝送管理システム50へ各状態情報を送信する(ステップS2−1〜S2−4)。これら各状態情報には、各中継装置30毎の中継装置IDと、これら各中継装置IDに係る中継装置30の状態検知部32で検知された稼働状態とが含まれている。なお、本実施形態では、中継装置30a、30bおよび30dは、正常に稼働して「ONライン」となっている一方で、中継装置30cは、稼働中ではあるが、中継装置30cの中継動作を実行するためのプログラムに何らかの不具合が生じて「OFFライン」となっている場合が示されている。
次に、伝送管理システム50では、各中継装置30a〜30dから送られてきた各状態情報を送受信部51が受信し、記憶・読出処理部59を介して記憶部5000の中継装置管理DB5001(図7の中継装置管理テーブル)に、中継装置ID毎に状態情報を記憶して管理する(ステップS3−1〜S3−4)。これにより、中継装置管理テーブル(図7)に対して、中継装置ID毎に「ONライン」、「OFFライン」または「故障中」のいずれかの稼働状態が記憶されて管理される。その際、中継装置ID毎に、伝送管理システム50で状態情報が受信された受信日時も記憶されて管理される。なお、中継装置30から状態情報が送られてこない場合には、中継装置管理テーブル(図7)の各レコードにおける稼働状態のフィールド部分および受信日時のフィールド部分が空白になるか、または、前回の受信時の稼働状態および受信日時が維持されて管理される。
次に、図17を用いて、伝送端末10aaと伝送端末10dbとの間で、通信を開始する前の準備段階の処理について説明する。まず、ユーザが、電源スイッチ109(図2)をONにすると、操作入力受付部12(図4)が電源ONを受け付けて、電源をONにする(ステップS21)。次に、ログイン要求部13は、上記電源ONの受信を契機とし、送受信部11から通信ネットワーク2を介して伝送管理システム50に、ログイン要求を示すログイン要求情報を自動的に送信する(ステップS22)。このログイン要求情報には、要求元としての自装置である伝送端末10aaを識別するための端末IDおよびパスワードが含まれている。これら端末IDおよびパスワードは、記憶・読出処理部19を介して記憶部1000から読み出されて、送受信部11に送られたデータである。なお、伝送端末10aaから伝送管理システム50へログイン要求情報が送信される際、受信側である伝送管理システム50は、送信側である伝送端末10aaのIPアドレスを把握することができる。
次に、伝送管理システム50の端末認証部52(図4)は、送受信部51を介して受信したログイン要求情報に含まれている端末IDおよびパスワードを検索キーとして、記憶部5000の端末認証管理DB5002(図8の端末認証管理テーブル)を検索し、端末認証管理DB5002に同一の端末IDおよびパスワードが管理されているかを判断することにより、端末認証を行う(ステップS23)。この端末認証部52によって、同一の端末IDおよびパスワードが管理されているため正当な利用権限を有する伝送端末10からのログイン要求であると判断された場合には、状態管理部53は、端末管理DB5003(図9の端末管理テーブル)に、伝送端末10aaの端末ID、稼働状態、上記ログイン要求情報が受信された受信日時、および伝送端末10aaのIPアドレスを関連付けて記憶する(ステップS24)。これにより、端末管理テーブル(図9)には、伝送端末ID「01aa」に、稼働状態「ONライン」、受信日時「2009.11.10.13:40」および端末IPアドレス「1.2.1.3」が関連付けて管理されることになる。
次に、伝送管理システム50の送受信部51は、端末認証部52によって得られた認証結果が示された認証結果情報を、通信ネットワーク2を介して、上記ログイン要求してきた要求元端末10aaに送信する(ステップS25)。本実施形態では、端末認証部52によって正当な利用権限を有する端末であると判断された場合について、以下続けて説明する。
伝送管理システム50の端末抽出部54は、ログイン要求した要求元端末10aaの端末ID「01aa」を検索キーとして、宛先リスト管理テーブル(図10)を検索し、要求元端末10aaと通信することができる宛先端末10の候補の端末IDを読み出すことによって抽出する(ステップS26)。ここでは、要求元端末10aaの端末ID「01aa」に対応する宛先端末10ab、10baおよび10dbのそれぞれの端末ID「01ab」、「01ba」および「01db」が抽出されることになる。
次に、端末状態取得部55は、端末抽出部54によって抽出された宛先端末10の候補の端末ID(「01ab」、「01ba」、「01db」)を検索キーとして、端末管理テーブル(図9)を検索し、端末抽出部54によって抽出された端末ID毎に稼働状態(「OFFライン」、「ONライン」、「ONライン」)を読み出すことにより、伝送端末(10ab、10ba、10db)の各稼働状態を取得する(ステップS27)。
次に、送受信部51は、ステップS27で使用された検索キーとしての端末ID(「01ab」、「01ba」、「01db」)と、対応する宛先端末(10ab、10ba、10db)の稼働状態(「OFFライン」、「ONライン」、「ONライン」)とが含まれた宛先状態情報を、通信ネットワーク2を介して要求元端末10aaに送信する(ステップS28)。これにより、要求元端末10aaは、この要求元端末10aaと通信することができる宛先端末10の候補である伝送端末(10ab、10ba、10db)の現時点のそれぞれの稼働状態(「OFFライン」、「ONライン」、「ONライン」)を把握することができる。
さらに、伝送管理システム50の端末抽出部54は、ログイン要求してきた要求元端末10aaの端末ID「01aa」を検索キーとして、宛先リスト管理テーブル(図10)を検索し、要求元端末10aaの端末ID「01aa」を宛先端末10の候補として登録している他の要求元端末10の端末IDを抽出する(ステップS29)。図10に示される宛先リスト管理テーブルでは、抽出される他の要求元端末10の端末IDは、「01ab」、「01ba」および「01db」である。
次に、伝送管理システム50の端末状態取得部55は、ログイン要求してきた要求元端末10aaの端末ID「01aa」を検索キーとして、端末管理テーブル(図9)を検索し、その要求元端末10aaの稼働状態を取得する(ステップS30)。
次に、送受信部51は、ステップS29で抽出された端末ID(「01ab」、「01ba」および「01db」)の伝送端末(10ab,10ba,10db)のうち、端末管理テーブル(図9)で稼働状態が「ONライン」となっている伝送端末(10ba、10db)に、ステップS30で取得された要求元端末10aaの端末ID「01aa」と稼働状態「ONライン」が含まれる宛先状態情報を送信する(ステップS31−1,S31−2)。なお、送受信部51が伝送端末(10ba、10db)に宛先状態情報を送信する際に、各端末ID(「01ba」、「01db」)に基づいて、端末管理テーブル(図9)で管理されている端末のIPアドレスを参照する。これにより、ログイン要求した要求元端末10aaを宛先として通信することができる他の宛先端末(10db、10ba)の各々に、ログイン要求した要求元端末10aaの端末ID「01aa」および稼働状態「ONライン」を伝えることができる。
一方、他の伝送端末10においても、ユーザが電源スイッチ109(図2)をONにすると(上記ステップS21)、操作入力受付部12(図4)が電源ONを受け付け、上記ステップS22〜S31−1、31−2の処理と同様の処理を行うため、その説明を省略する。
次に、図18を参照して、伝送端末がセッションを確立する処理について説明する。本実施形態では、要求元端末10aaは、宛先の候補としての伝送端末10のうち、上記ステップS28において受信した宛先状態情報により、稼働状態が「ONライン」である伝送端末10baおよび10dbのうち少なくとも一方と通信を行うことができる。そこで、以下の記載では、要求元端末10aaのユーザが宛先端末10dbと通信を開始することを選択した場合について説明する。
まず、ユーザが操作ボタン108(図2)を押下して伝送端末10dbを選択すると、伝送端末10aaの操作入力受付部12(図4)は、宛先を伝送端末10dbとする選択を受け付ける(ステップS41)。次に、伝送端末10aaの送受信部11は、要求元端末10aaの端末ID「01aa」および宛先端末10dbの端末ID「01db」が含まれ、通信を開始したい旨を示す開始要求情報を、伝送管理システム50へ送信する(ステップS42)。これにより、伝送管理システム50の送受信部51は、その開始要求情報を受信するとともに、送信元である要求元端末10aaのIPアドレス「1.2.1.3」を把握することになる。そして、状態管理部53は、開始要求情報に含まれる要求元端末10aaの端末ID「01aa」および宛先端末10dbの端末ID「01db」に基づいて、端末管理DB5003の端末管理テーブル(図9)上で、上記端末ID「01aa」および端末ID「01db」がそれぞれ含まれるレコードの稼働状態のフィールド部分を、それぞれ「通話中」に変更する(ステップS43)。この状態では、要求元端末10aaと宛先端末10dbは、通信(通話)を開始していないが通話中状態となり、他の伝送端末10が要求元端末10aaまたは宛先端末10dbと通信しようとすると、いわゆる通話中状態を示す旨の音声または表示が出力される。
伝送管理システム50は、中継装置30を選択するためのセッションの実行に用いられる選択用セッションIDを生成する(ステップS44)。そして、セッション管理部57は、記憶部5000のセッション管理テーブル(図11)に、ステップS44で生成された選択用セッションID「se1」、要求元端末10aaの端末ID「01aa」、および宛先端末10dbの端末ID「01db」を関連付けて記憶して管理する(ステップS45)。
この後、伝送管理システム50は、中継装置管理DB5001及び端末管理DB5003に基づいて、要求元端末10aaと宛先端末10dbとの通信を中継するための中継装置30の絞り込みを行うが詳細は省略した。
次に、伝送管理システム50のセッション管理部57は、セッション管理DB5005のセッション管理テーブル(図11)において、選択用セッションID「se1」が含まれるレコードの中継装置IDのフィールド部分に、上記の最終的に1つに選択された中継装置30aの中継装置ID「111a」を記憶して管理し(ステップS67−1)、送受信部51は中継装置ID「111a」、宛先端末10dbのIPアドレス「1.3.2.4」を要求元端末10aaに送信する(ステップS67−21)。なお、伝送管理システム50の送受信部51は、通信ネットワーク2を介して中継装置30aへ、中継を開始する旨の要求が示された中継開始要求情報を送信する(不図示)。この中継開始要求情報には、中継される要求元端末10aaおよび宛先端末10dbの各IPアドレス(「1.2.1.3」、「1.3.2.4」)が含まれている。これにより、中継装置30aは、伝送端末10aaと伝送端末10dbとの間で、低解像度、中解像度および高解像度の3つの画像データと音声データを通信するためのセッションを確立する(ステップS69)。これにより、各伝送端末(10aa、10db)は、テレビ会議を開始することができる。なお、通信する3つの画像データはあくまで一例であり、3つより多くても少なくてもよい。
なお、各伝送端末10は、H.264(H.264/AVC、MPEG-4 part10、MPEG4 AVC)、その拡張規格であるH.264/SVC、又は、Mpeg2などの映像符号化標準規格を利用して、画像データの送受信を行う。
次に、中継装置30が決定された後に、外部入力装置40のディスプレイ216に表示される画像を表す表示データを他の伝送端末10に送信してディスプレイ120に表示させる処理について、図18を参照しながら説明する。ここでは、伝送端末10aaに接続されている外部入力装置40aaが表示している情報を、宛先端末である伝送端末10dbに表示させる場合を例にとって説明する。
上記のように中継装置30が決定されると、ステップS67−21において伝送管理システム50が送信した中継装置ID「111a」および宛先端末10dbのIPアドレス「1.3.2.4」を、伝送端末10aaの送受信部11が受信する。そして、その受信された中継装置ID「111a」およびIPアドレス「1.3.2.4」を、記憶・読出処理部19が記憶部1000に記憶させる(ステップS67−22)。
また、外部入力装置40aaが伝送端末10aaに接続されると、外部入力装置40aaの接続検出部42(図13)が、その接続を検知(検出)する(ステップS70)。なお、外部入力装置40aaが起動すると、表示制御部47が少なくとも全体領域を含む画面を表示している。接続検出部42が、外部入力装置40aaと伝送端末10aaの接続を検出すると、インストール判定部43aは、外部入力装置40aaが表示データ取得部451、表示データ送信部452および解像度変換部453を備えているかを判定する(ステップS71)。具体的には、インストール判定部43aは、外部入力装置40aaに表示データ取得プログラム1451(図4参照)、表示データ送信プログラム1452および解像度変換プログラム1453がインストールされているか否かを判定する。各プログラムがインストールされている場合には、それぞれに対応する機能部を外部入力装置40aaが備えていると判定される。
一方、インストール判定部43aによって、外部入力装置40aaが表示データ取得部451、表示データ送信部452および解像度変換部453のいずれかを備えていないと判定された場合には、マウント部48が、伝送端末10aaの記憶部1000をマウントする(ステップS72)。次いで、プログラム取得部43bが、伝送端末10の記憶部1000に記憶されている表示データ取得プログラム1451、表示データ送信プログラム1452および解像度変換プログラム1453のうち、外部入力装置40aaが備えていない機能部に対応するプログラムを取得し、インストールする(ステップS73)。これによって、外部入力装置40aaは、表示データ取得部451、表示データ送信部452および解像度変換部453を備えることになる。なお、表示データ取得プログラム1451、表示データ送信プログラム1452および解像度変換プログラム1453を、外部入力装置40aaが予め有していてもよい。
ステップS73の処理が終了すると、送受信部41は、上記の各プログラムを実行する許可、すなわち、表示データ取得部451、表示データ送信部452および解像度変換部453を動作させる許可を要求するための情報を伝送端末10aaに送信する(ステップS74)。そして、伝送端末10aaから要求に対する許可を表す情報を送受信部41が受信すると、表示データ取得部451は、ディスプレイ216に表示されている画像を表す表示データを取得する(ステップS75)。次いで、解像度変換部453が、表示データ取得部451によって取得された表示データの解像度を変換し、さらに、表示データ送信部452が、伝送端末10aaの外部情報送受信部18に対して、解像度が変換された表示データを送信する(ステップS76)。解像度変換部453が表示データの解像度を変換する処理の詳細については、後で説明する。なお、ここで解像度変換部453が解像度を変換する処理は、上記の中継装置30の稼働状況、伝送端末10と中継装置30の間の通信速度に基づいてなされる処理とは異なるものであり、中継装置30の稼働状況、伝送端末10と中継装置30の間の通信速度により解像度が変換されるものではない。
送信元の伝送端末10aaの外部情報送受信部18が外部入力装置40aaから表示データを受信すると、記憶・読出処理部19が、記憶部1000に記憶されている中継装置ID「111a」と、宛先となる伝送端末10dbのIPアドレス「1.3.2.4」を読み出す(ステップS77)。そして、ステップS74で読み出された中継装置ID「111a」で示される中継装置30に対して、送受信部11が、解像度が変換された表示データと、宛先となる伝送端末10dbのIPアドレス「1.3.2.4」を送信する(ステップS78)。中継装置30が、ステップS78で伝送端末10aaから送信された表示データを受信すると、宛先の伝送端末10dbのIPアドレス「1.3.2.4」に基づいて、表示データの画質を変更し(ステップS79)、伝送端末10dbに表示データを送信する(ステップS80)。中継装置30から送信された表示データを伝送端末10dbの送受信部11が受信すると、画像表示制御部14bが、その受信した表示データによって表される画像をディスプレイ120に表示させる(ステップS81)。例えば、図20に示される画面表示の例では、画面左部には、外部入力装置10aaで表示された表示データが表示され、画面右上部には、伝送端末10aaの撮像部14aによって撮像され、送受信部11によって送信された画像データが表示される。また、画面右下部には、伝送端末10dbの撮像部14aによって撮像された画像データが表示される。
図21は、伝送システム1の全体構成のうち、外部入力装置40aa、40dbのディスプレイ216aa、216db、ディスプレイ120aa、120dbに表示される画面を説明する図の一例である。外部入力装置40aaにはユーザが、伝送端末10dbと共有したい画面が表示される。外部入力装置40aa、40dbに表示される画面をデスクトップ画面という。デスクトップ画面には全体を1つの領域(以下、区別するため全体領域という)として、全体領域の中に複数の領域が表示されうる(領域が1つも表示されないことがある。)。図21では一例として全体領域、領域A及び領域Bが表示されている。
図19の処理により、ディスプレイ120aaには伝送端末10aaが画像データおよび表示データを表示させ、ディスプレイ120dbには伝送端末10dbが画像データおよび表示データを表示させる。以下、この画面を表示画面という。図21の上段の表示画面では、表示データとして全体領域が、画像データとして伝送端末10aaのユーザaaと伝送端末10dbのユーザdbが表示されている。下段の表示画面では、表示データとして領域Aが、画像データとして伝送端末10aaのユーザaaと伝送端末10dbのユーザdbが表示されている。
なお、外部入力装置40dbのディスプレイ216dbには、ユーザdbが表示させる全体領域と領域が表示されたままであり、ユーザaaの操作により影響されない。
本実施形態では、表示画面において、ユーザが全体領域又は任意の領域A,Bを選択して表示することができる。
本実施例では、ユーザが外部入力装置40のポインティングデバイス(例えばマウス212)を操作するだけで、表示画面において、全体領域又は任意の領域を選択して表示することが可能な伝送システム1について説明する。また、本実施例では、通信ネットワークの帯域が低い狭帯域モード時に、ユーザが文字を判別しにくいという不都合を低減する伝送システム1について説明する。なお、ポインティングデバイスとは、主にマウス212をいうが、ディスプレイ216がタッチパネルを実装している場合は、ユーザの指先の位置を検出する機能がポインティングデバイスである。
図22(a)は外部入力装置40aaに表示されているデスクトップ画面の一例を示す図である。外部入力装置40aaには外部入力装置用プログラムがインストールされており、定常的に又はユーザが所定の操作を行うことで例えばデスクトップ画面の右下に共有設定受付ボタン301を表示させる。所定の操作は、例えば外部入力装置用プログラムのアイコンをクリック又はダブルクリックすること、該アイコンをマウスオーバーすることなどである。
図22(b)(c)は共有設定受付ボタン301を拡大して示す図の一例である。図22(b)では「共有の開始」という文字が表示された共有設定受付ボタン301が、図22(c)では「共有の停止」という文字が表示された共有設定受付ボタン301が示されている。図22(b)でユーザがポインティングデバイスで共有設定受付ボタン301をクリックすると、外部入力装置40aaのディスプレイ216aaに表示されている表示データの共有が開始される。また、外部入力装置40aaのディスプレイ216aaに表示されている表示データが共有されている状態では図22(c)の共有設定受付ボタン301が表示される。図22(c)でユーザがポインティングデバイスで共有設定受付ボタン301をクリックすると、外部入力装置40aaのディスプレイ216aaに表示されている表示データを、伝送端末10dbと共有することが停止される(表示データが伝送端末10aaに送信されなくなる。)。
図13に示した操作入力受付部46は、共有設定受付ボタン301に対するユーザの操作を受け付ける。表示データ取得部451はユーザが「共有の開始」が表示された共有設定受付ボタン301をクリックした場合、ユーザが選択する領域を表示データとして取得する。
なお、本実施形態の伝送システム1では、最後に「共有の開始」という共有設定受付ボタン301をクリックした外部入力装置40の全体領域又は領域の表示データが共有されるようになっている。したがって、ユーザdbが図22(b)の「共有の開始」が表示された共有設定受付ボタン301をクリックした場合、ユーザaaが図22(c)の「共有の停止」の共有設定受付ボタン301をクリックしなくても、外部入力装置40aaのディスプレイ216に表示されている表示データの共有が自動的に停止する。
〔動作手順〕
図23は、帯域状態監視部22が帯域管理テーブルを更新する手順を示す図の一例である。図23の手順は伝送端末10の電源スイッチ109がONにされている間、又は、ユーザが「共有の開始」という共有設定受付ボタン301をクリックしてから「共有の停止」という共有設定受付ボタン301をクリックするまでの間、実行される。
帯域状態監視部22は一定時間が経過したか否かを判定する(S1010)。一定時間は例えば、数秒から数分の間で予め設定されている。また、ユーザが任意の一定時間を伝送端末10に設定してもよい。また、必ずしも一定時間である必要はなく、最大の時間間隔だけを設定しておき、伝送端末10の処理負荷が少ない時間帯に図23の処理を行ってもよい。
一定時間が経過した場合(S1010のYes)、帯域状態監視部22は通信中の通信ネットワークの帯域を測定することで帯域を取得する(S1020)。帯域の測定には、例えば、他の伝送端末に実際に表示データを送信した時の単位時間の送信データ量、を用いることができる。また、測定用の疑似表示データを用意しておき、他の伝送端末に送信した際の帯域を測定してもよい。なお、受信時の帯域は取得しなくてもよい。送信元の伝送端末10が、受信時の帯域に基づき送信する表示データのサイズを制御することは通常行われない。しかし、受信時の帯域も同様に取得できる。受信時の帯域を取得した場合、例えば、受信時の帯域を通信相手の伝送端末10に送信し、通信相手の伝送端末10が該受信時の帯域に基づき表示データのサイズを制御する態様も可能である。
帯域状態監視部22は、帯域管理テーブルの帯域を取得した送信時の帯域と受信時の帯域とでそれぞれ更新する(S1030)。
図24は狭帯域状態判定部23が狭帯域モード管理テーブルの設定を更新する手順を示すフローチャート図の一例である。この手順は、図23の帯域管理テーブルの更新に続いて行われることが好ましい。狭帯域状態判定部23は、例えば、帯域状態監視部22から帯域管理テーブルを更新したという通知を取得するか、帯域管理テーブルを監視することで更新を検出する。
狭帯域状態判定部23は、帯域管理テーブルの「送信」の帯域を読み出す(S1110)。
狭帯域状態判定部23は、「送信」の帯域が一定値(閾値)以下か否かを判定する(S1120)。一定値は、ディスプレイ216の全体(全体領域)の表示データのサイズに基づき予め設定されている。
一定値以下の場合(S1120のYes)、帯域が狭い(=狭帯域)ので、狭帯域状態判定部23は狭帯域モード管理テーブルの値を「True」に設定する(S1130)。
一定値以下でない場合(S1120のNo)、帯域が狭いとは言えないので、狭帯域状態判定部23は狭帯域モード管理テーブルの値を「False」に設定する(S1140)。この処理により、モード判定部454は狭帯域モード管理テーブルを参照して現在の帯域が狭帯域か否かを判定できる。
図25は、伝送端末10が行う解像度の変更および外部入力装置40が行う解像度の変換に係る処理の一例(非圧縮形式を用いる場合)を示すシーケンス図である。
図26は、表示データ取得部451が全体領域又は領域の表示データを取得する手順を示すフローチャート図の一例である。図27は、解像度を変換する処理の一例を示すフローチャートである。図28は、伝送端末10が行う解像度制御(解像度の変更を含む)の処理の一例を示すフローチャートである。図29は、図28のステップS102で行う判定処理を補足説明するための、補助情報表示の画面の一例を示す図である。図30は、伝送端末10が行う解像度の変更および外部入力装置40が行う解像度の変換に係る処理の他の例(圧縮形式を用いる場合)を示すシーケンス図である。
伝送端末10のディスプレイ120の解像度と外部入力装置40のディスプレイ216の解像度に基づいて外部入力装置40が伝送端末10に送信する表示データの解像度を変換する処理について、図25に示されるシーケンス図を参照しながら説明する。図25の例では、表示データを非圧縮形式で伝送する場合を示している。
図25を参照すると、まず、外部入力装置40の送受信部41が伝送端末10のディスプレイ120の解像度情報の要求を送信する(ステップS901)と、伝送端末10の解像度取得部21aは、解像度記憶部1005に記憶されている伝送端末10のディスプレイ120の解像度を表す解像度情報を取得する(ステップS902)。ステップS902で解像度取得部21aが解像度情報を取得すると、外部情報送受信部18が、その取得された解像度情報を外部入力装置40に送信する(ステップS903)。外部入力装置40では、送受信部41が、伝送端末10のディスプレイ120の解像度情報を受信すると、記憶・読出処理部49が、その受信された解像度情報を解像度管理DB4001の解像度管理テーブルに記憶する(ステップS904)。
なお、ステップS902では伝送端末10のディスプレイ120の解像度情報を取得しているが、ユーザが指定するモードに応じた解像度を優先してディスプレイ120の解像度情報とすることが好ましい。モードには例えば、現行モード、HIGHモード(640×360)、MIDモード(320×180)、及び、LOWモード(192×108)がある。ユーザは、表示データの転送が滞っていることを把握した場合、適宜、モードを変換することで表示データの転送を促進させることができる。すなわち、帯域が狭いような場合に、ディスプレイ120の解像度でなくより低解像度の表示データを送信することで表示データの転送が滞ることを抑制できる。
次いで、外部入力装置40の表示データ取得部451は、表示制御部47がディスプレイ216に表示させている画像を表す表示データを取得する(ステップS905)。
ここで、表示データ取得部451が表示データを取得する処理の詳細について図26を参照しながら説明する。ユーザaaは、すでに図22(b)の共有設定受付ボタン301をクリックしたものとする。
モード判定部454は、狭帯域モード管理テーブルの設定が、TRUE又はFALSEのどちらであるかを判定する(S9051−3)。
狭帯域モード管理テーブルの設定がFALSEになっている場合(S9051−3のNo)、表示データ取得部451はアクティブな領域があるか否かを判定する(S9053)。本実施例では、外部入力装置40で動作しているOS(特許請求の範囲の管理プログラムに相当する)が、この領域だけでなく全体領域を1つの領域として扱い、領域外のクリックが全体領域の選択操作となっている。つまり、デスクトップ画面の全体が1つの全体領域として扱われ、デスクトップ画面と各領域が別々のプログラム部品として扱われる。
なお、OSによっては全体領域や領域をオブジェクト(処理対象)と称し、位置や属性値、操作対象となっているか否か等を管理している。領域やオブジェクトは特許請求の範囲のプログラム部品に相当する。
本ステップS9053の判定には、例えばOSの機能を利用する。例えばWindows(登録商標) APIを利用した場合、アクティブな領域のハンドルを取得し、ハンドルの値がNULLでなければ、アクティブな領域があると判定する。なお、アクティブな領域とは、ユーザによる入力や操作対象となっている領域をいい、Windows(登録商標)やMac OS等ではアクティブウィンドウと呼ばれる。
ユーザaaがアクティブな領域を閉じたり、アクティブな領域がなかった場合(S9053のNo)、処理はステップS9052に進み、表示データ取得部451はデスクトップ画面の全体を表示データとして取得する(S9052)。なお、ステップS9052では、狭帯域モードでない場合に対応するため、アクティブな領域がある場合はステップS9054〜S9056が実行される。
アクティブな領域があった場合(S9053のYes)、表示データ取得部451は、表示制御部がディスプレイ216に表示させている表示データのうち、アクティブになっている領域の表示データを取得する(S9054)。この領域は、ステップS9053で取得したアクティブな領域のハンドルにより指定されているので、表示データ取得部451は、取得すべき領域の表示データを参照することができる。
次に、表示データ取得部451は、取得した領域の幅又は高さが閾値より小さいか否かを判定する(S9055)。幅の閾値を例えば128ピクセル、高さの閾値を36ピクセルとする。この判定は、あまりに小さい領域の表示データは意味のある内容を有さないためと、後述するように解像度変換による拡大処理の処理負荷が増大してしまうためである。また、解像度の変換により拡大しても拡大率が大きすぎるため、ユーザdbが判別できない可能性が高い。拡大する領域のサイズの下限を決めておくことにより、伝送端末10aaが表示データをレンダリングする際のCPUの負荷を低減できる。
領域の幅又は高さいずれかが閾値より小さい場合(S9055のYes)、表示データ取得部451は現在の表示データの領域が閾値の幅×高さ(例えば128x36ピクセル)になるまで黒ピクセルを付加して終了する(S9056)。なお、黒ピクセルは以下のように配置する。まず、閾値の幅×高さの領域を用意し、この領域の左上コーナの位置が現在の表示データの左上コーナの位置と一致するように、現在の表示データを配置する。閾値の幅×高さの領域のうち、現在の表示データが配置されないピクセルを黒ピクセルとすればよい。なお、現在の表示データは、他の3個所(左下、右上、右下)のいずれかに配置してもよいし、幅または高さの中心位置に配置してもよい。また、付加するピクセルは黒ピクセルに限るものではなく、他の色にしても構わない。
狭帯域モード管理テーブルの設定がTRUEになっている場合(S9051−3のYes)、表示データ取得部451はデスクトップ画面の全体を表示データとして取得する(S9052)。すなわち、狭帯域モードでない場合、全体領域又はユーザが選択してるアクティブな領域が表示データとして取得される。
・したがって、狭帯域モードになっている場合、ユーザが全体領域を選択したかどうかに関わらずアクティブな領域を優先して表示データとして取得できる。
・狭帯域モードになっているがアクティブな領域がない場合は、ユーザはアプリを実行していないか又は優先して表示したいアプリが特にないので、ディスプレイの全体(全体領域)を表示データとして取得する(つまり、細部が見づらくても不都合がない)。
・また、狭帯域モードになっていない場合、アクティブな領域があればアクティブな領域を表示データとして取得でき、アクティブな領域がなければディスプレイの全体(全体領域)を表示データとして取得できる。
図25に戻り、解像度取得部44が、ディスプレイ216の解像度情報を取得する(ステップS906)。そして、解像度変換部453が、解像度管理DB4001に記憶されている伝送端末10のディスプレイ120の解像度情報が表す解像度と、ステップS906で取得された外部入力装置40のディスプレイ216の解像度情報が表す解像度とに基づいて、伝送端末10に送信する表示データの解像度を変換する(ステップS907)。
ここで、ステップS907において解像度変換部453が行う「解像度の変換」処理の詳細について、図27を参照しながら説明する。まず、説明および記述の便宜上、ステップS906で取得された外部入力装置40のディスプレイ216の解像度情報のうち、縦方向(高さ(H)方向)の解像度を「H40」とし、横方向(幅(W)方向)の解像度を「W40」とする。同様に、解像度管理DB4001に記憶されている伝送端末10のディスプレイ120の解像度情報のうち、縦方向の解像度を「H10」とし、横方向の解像度を「W10」とする。解像度変換部453は、これらの解像度H40、W40、H10およびW10に基づいて、以下に説明するように表示データの縦方向の解像度を「H' 」に、表示データの横方向の解像度を「W' 」に変換する。
図27を参照すると、まず、解像度変換部453は、H40≦H10、かつW40≦W10であるか否かを判定する(ステップS9071)。H40≦H10、かつW40≦W10であると判定された場合(ステップS9071でYESの場合)には、解像度変換部453は、表示データの縦方向の解像度H' および横方向の解像度W' を、それぞれH' =H40、W' =W40とし、解像度を変換しない(ステップS9072)。
一方、H40≦H10、かつW40≦W10でないと判定された場合(ステップS9071でNOの場合)には、解像度変換部453は、(W40>W10、かつH40≦H10)または(W40>W10、かつH40>H10、かつH10≧W10)であるか否かを判定する(ステップS9073)。
(W40>W10、かつH40≦H10)または(W40>W10、かつH40>H10、かつH10≧W10)であると判定された場合(ステップS9073でYESの場合)には、解像度変換部453は、表示データの横方向の解像度W' および縦方向の解像度H' を、それぞれW' =W10、H' =H40*W10/W40と変換する(ステップS9074)。ここで、W10/W40は、幅(W)方向の圧縮率を表している。
一方、(W40>W10、かつH40≦H10)または(W40>W10、かつH40>H10、かつH10≧W10)でないと判定された場合(ステップS9073でNOの場合)には、解像度変換部453は、表示データの横方向の解像度W' および縦方向の解像度H' を、それぞれW' =W40*H10/H40、H' =H10と変換する。(ステップS9075)。ここで、H10/H40は、高さ(H)方向の圧縮率を表している。
なお、ステップS9073において(W40>W10、かつH40>H10、かつH10≧W10)でないと判定される場合とは、例えば、外部入力装置40のディスプレイ216の縦方向の解像度が、伝送端末10のディスプレイ120の縦方向の解像度よりも高く、かつ、外部入力装置40のディスプレイ216の横方向の解像度が、伝送端末10のディスプレイ120の横方向の解像度以下である場合(H40>H10、かつW40≦W10)である。あるいは、外部入力装置40のディスプレイ216の横方向の解像度および縦方向の解像度が、それぞれ伝送端末10のディスプレイ120の横方向の解像度および縦方向の解像度よりも高く、かつ、伝送端末10のディスプレイ120の縦方向の解像度が横方向の解像度よりも低い場合(W40>W10、かつH40>H10、かつH10<W10)である。
すなわち、ステップS907では、伝送端末10のディスプレイ120の縦方向の解像度より外部入力装置40のディスプレイ216の縦方向の解像度が低い場合には、解像度変換部453は表示データの縦方向の解像度を伝送端末10のディスプレイ120の縦方向の解像度に変換する(H' =H10)。そして、解像度変換部453は表示データの横方向の解像度を伝送端末10のディスプレイ120の解像度の縦横比と同じ縦横比となるように変換する(W' =W40*H10/H40)。
また、伝送端末10のディスプレイ120の横方向の解像度が外部入力装置40のディスプレイ216の横方向の解像度より低い場合には、解像度変換部453は表示データの横方向の解像度を伝送端末10のディスプレイ120の横方向の解像度に変換する(W' =W10)。そして、解像度変換部453は表示データの縦方向の解像度を伝送端末10のディスプレイ120と解像度の縦横比が同じ縦横比となるように変換する(H' =H40*W10/W40)。
図25に戻って、解像度変換部453によって表示データの解像度が変換されると、表示データ送信部452が、変換された表示データを伝送端末10に送信する(ステップS908)。
伝送端末10の外部情報送受信部18が外部入力装置40から送信された表示データを受信すると(ステップS908)、画像表示制御部14bが受信された表示データをレンダリングし、ディスプレイ120に表示させる(ステップS909)。そして、表示画像取得部14cが、ステップS909で画像表示制御部14bによってディスプレイ120に表示されている画像を表すデータを取得する(ステップS910)。そして、送受信部11が画像取得部14cによって取得されたデータを中継装置30に送信する(ステップS911)。
このとき、解像度を変換しないで、表示データを受信した場合(S9072の場合)、表示制御部47は、表示データの幅と高さの比を保ったまま、ディスプレイ120で表示する解像度に拡大または縮小してレンダリングする。
例えば、表示データをディスプレイ120の解像度で全画面表示する場合は以下のようになる。
Wr = Wt, Hr = Hs * Wt / Ws (if Wt/Ws < Ht/Hs)
Hr = Ws * Ht / Hs, Hr = Ht (else)
ここで、Wr, Hrはそれぞれレンダリングした幅と高さを表す。また、受信した表示データの幅と高さをそれぞれWs, Hsとし、ディスプレイの幅と高さをそれぞれWt, Htとする。
また、操作入力受付部12が解像度情報を受け付けると、解像度変更部21dは、伝送端末10のディスプレイ120の解像度を変更する(ステップS912)。この「解像度の変更」は、後述する図28の処理フローにおけるステップS105、S109、S117、S122の「解像度の変更」処理によって行われる。
解像度が変更されると、解像度取得部21aがその変更後の解像度を表す解像度情報を取得し(ステップS902)、外部情報送受信部18が、その解像度情報を外部入力装置40に送信する(ステップS903)。これ以降は、上記のステップS904以降で行った処理と同様であるので、その説明を省略する。
次に、伝送端末10が行う解像度制御(解像度の変更を含む)の処理について、図28に例示するフローチャートを参照しながら説明する。
図28において、伝送端末10の電源ONにより処理を開始すると、解像度取得部21a(図4)は、ディスプレイ120にアクセスして表示可能な解像度を取得する(ステップS101)。
次いで、解像度判定部21bは、表示可能な解像度に、伝送端末10と中継装置30との間の画像データの通信に用いる基準アスペクト比(例えば、16:9、解像度は1280×720)以外の解像度を含んでいるか否かを判定する(ステップS102)。このような判定を行うのは、可能であれば、基準アスペクト比以外の解像度を選択し、補助情報の表示のためのセグメント領域を付加したいためである。図29(a)はその場合の画面の一例を示したもので、画面の下端にセグメント領域SRが追加され、このセグメント領域SRに補助情報AX(エラーメッセージと操作ボタン)が表示された状態を示している。一方、図29(b)に示される例では、セグメント領域は付加されず、画面の下端部に補助情報AXが挿入される形で表示された状態を示している。
基準アスペクト比以外の解像度を含んでいる場合(ステップS102のYES)、解像度選択部21cは、基準アスペクト比以外の解像度の中から所定の基準で解像度を選択する(ステップS103)。所定の基準としては、最も解像度が高いもの(幅×高さが最大値をもつもの)を優先して選択したり、特定のアスペクト比(例えば、8:5)の解像度を優先して選択したり、補助情報の文字サイズや文字数等に適した解像度を選択したり、ユーザに優先すべき解像度を定義させたり(例えば、WXGA(1280×800)やXGA(1024×768))等の種々の基準を用いることができる。
次に、画像表示制御部14bの一機能である画像加工部(図示せず)は、基準アスペクト比で内部的に生成される画像データを、選択された解像度に伸縮するとともに、セグメント領域を追加する(ステップS104)。この画像加工部は、具体的には次のような処理を行う。まず、変換前の画像を変換後の幅に一致するように対称に伸縮する。変換前と変換後の幅が同じである場合、伸縮は行われない(拡大率または縮小率が1倍)。次に、伸縮後の画像の高さを調べ、変換後の高さになるように伸縮後の画像にセグメント領域を追加する。図29(a)に示した例では、画面の下端にセグメント領域SRが追加されている。なお、セグメント領域を追加する位置は下端に限られたものではなく、上端に追加してもよいし、半分の高さをもつセグメント領域を画面の上下端に追加してもよい。
次に、解像度変更部21dは、選択された解像度になるようにディスプレイ120の解像度を変更する(ステップS105)。この処理により、ディスプレイ120は変更後の解像度で表示される。
次に、画像表示制御部14bの一機能であるフラグ設定部(図示せず)は、フラグ"overlap"を"false"(偽)に設定する(ステップS106)。このフラグは、画像表示制御部14bがエラーなどを検知して、現在表示されている画像データとは別の補助情報の表示制御を行うときに参照される。"overlap"の値は、補助情報を画像データに重なるように表示させるときは(図29(b)の場合)"true"となり、重ねないように制御するときは(図29(a)の場合)"false"の値をもつ。
一方、基準アスペクト比以外の解像度を含んでいない場合(ステップS102のNO)、解像度選択部21cは、基準アスペクト比の中から所定の基準で解像度を選択する(ステップS107)。所定の基準は、ステップS103で説明したものと同様である。
次に、画像表示制御部14bの一機能である画像加工部(図示せず)は、基準アスペク比で内部的に生成される画像データを、選択された解像度に伸縮する(ステップS108)。この場合、同じアスペクト比の伸縮であるため、画像データの幅および高さのいずれの方向にもブランク領域は発生せず、セグメント領域は追加しない(図29(b)の画面表示例、参照)。
次に、解像度変更部21dは、選択された解像度になるようにディスプレイ120の解像度を変更する(ステップS109)。この処理により、ディスプレイ120は変更後の解像度で表示される。次に、画像表示制御部14bの一機能であるフラグ設定部(図示せず)は、フラグ"overlap"を"true"(真)に設定する(ステップS110)。
ここまでは、伝送端末10の電源ON時における初期処理である。これ以降は、電源ONの後にディスプレイ120が交換された場合に対応するためのループ処理となる。
解像度取得部21aは、ディスプレイ120にアクセスして現在表示している解像度を取得する(ステップS111)。次いで、解像度取得部21aは、ディスプレイ120にアクセスして表示可能な解像度を取得する(ステップS112)。
次いで、解像度判定部21bは、表示可能な解像度に、伝送端末10と中継装置30との間の画像データの通信に用いる基準アスペクト比(例えば、16:9)以外の解像度を含んでいるか否かを判定する(ステップS113)。基準アスペクト比以外の解像度を含んでいる場合(ステップS113のYES)、解像度選択部21cは、基準アスペクト比以外の解像度の中から所定の基準で解像度を選択する(ステップS114)。所定の基準は、ステップS103で説明したものと同様である。
次に、解像度判定部21bは、現在表示している解像度と選択した解像度は異なるか否かを判定する(ステップS115)。現在表示している解像度と選択した解像度が異なる場合(ステップS115のYES)、画像表示制御部14bの一機能である画像加工部(図示せず)は、基準アスペクト比で内部的に生成される画像データを、選択された解像度に伸縮するとともに、セグメント領域を追加する(ステップS116)。
次に、解像度変更部21dは、選択された解像度になるようにディスプレイ120の解像度を変更する(ステップS117)。この処理により、ディスプレイ120は変更後の解像度で表示される。次に、画像表示制御部14bの一機能であるフラグ設定部(図示せず)は、フラグ"overlap"を"false"(偽)に設定する(ステップS118)。一方、現在表示している解像度と選択した解像度が同じ場合(ステップS115のNO)、ステップS116〜S118の処理は行わない。解像度の変更を要しないからである。
一方、基準アスペクト比以外の解像度を含んでいない場合(ステップS113のNO)、解像度選択部21cは、基準アスペクト比の中から所定の基準で解像度を選択する(ステップS119)。所定の基準は、ステップS103で説明したものと同様である。
次に、解像度判定部21bは、現在表示している解像度と選択した解像度は異なるか否かを判定する(ステップS120)。現在表示している解像度と選択した解像度が異なる場合(ステップS120のYES)、画像表示制御部14bの一機能である画像加工部(図示せず)は、基準アスペクト比で内部的に生成される画像データを、選択された解像度に伸縮する(ステップS121)。
次に、解像度変更部21dは、選択された解像度になるようにディスプレイ120の解像度を変更する(ステップS122)。この処理により、ディスプレイ120は変更後の解像度で表示される。次に、画像表示制御部14bの一機能であるフラグ設定部(図示せず)は、フラグ"overlap"を"true"(真)に設定する(ステップS123)。一方、現在表示している解像度と選択した解像度が同じ場合(ステップS120のNO)、ステップS121〜S123の処理は行わない。解像度の変更を要しないからである。
以上の処理は、プログラムが起動している間、繰り返される。そのため、異なる解像度をもつ別のディスプレイ120につなぎなおされた場合であっても、図28の処理が継続していることになる。この繰り返し処理は、定期的にディスプレイ120の解像度の変化を監視する処理に相当するが、Windows(登録商標)のプログラムでよく知られたイベント機構を導入して処理を実行することも可能である。この場合、別のディスプレイ120に接続されることにより解像度の変更があったときは、イベント通知が行われるようにプログラムの起動時に登録しておく。その後、このイベントが発生するたびに画像表示制御部14bにおいて、図28のステップS111からの処理を実行すればよい。
<実施例の変形>
図25に示した実施形態では、外部入力装置40から伝送端末10に、さらに伝送端末10から中継装置30に送信される表示データをBitmap形式(非圧縮形式)で伝送する場合を例にとって説明したが、本発明はかかる伝送形式に限定されないことはもちろんである。例えば、JPEG、GIF等の圧縮形式を用いて表示データを伝送するようにしてもよい。
以下、図30を参照して圧縮形式を用いる場合の処理例について説明する。図30に示す処理フローは、図25に示した処理フローと比較して、表示データの圧縮およびその解凍に関連する処理(ステップS907−A、S908−A、S910−A)が追加されている点で異なる。これら追加されたステップ以外の他のステップで行う処理については、図25の場合と同じであるので、その説明は省略する。
図30において、外部入力装置40の解像度変換部453が表示データの解像度変換を行った後(ステップS907)、その解像度変換後の表示データに対して所定の圧縮(符号化)処理を行う(ステップS907−A)。本実施形態では、この圧縮処理を表示データ取得部451が行うようになっている。
一方、伝送端末10では、外部入力装置40から送信された解像度変換後の圧縮表示データを外部情報送受信部18が受信した後(ステップS908)、その受信した圧縮表示データの解凍(復号化)を行う(ステップS908−A)。本実施形態では、この解凍処理を表示画像取得部14cが行うようになっている。
次いで、画像表示制御部14bが、その解凍(復号化)された表示データをレンダリングし、ディスプレイ120に表示させた後(ステップS909)、表示画像取得部14cが、ディスプレイ120に表示されている表示データを取得する(ステップS910)。ここで取得された表示データ(非圧縮データ)は、2系統に分割される。表示画像取得部14cは、その一方の表示データに対し所定の圧縮(符号化)を行う(ステップS910−A)。そして、送受信部11が、表示画像取得部14cによって取得された圧縮表示データを通信ネットワーク2を介して中継装置30に送信する(ステップS911)。
圧縮表示データは、さらに中継装置30を経由して他の伝送端末10(図1)で受信される。その圧縮表示データを受信した伝送端末10は、上記のように画像表示制御部14bが所定の解凍(復号化)処理を行った後、その表示データをレンダリングし、ディスプレイ120に表示させることで、送信元の伝送端末10との間で画面表示データを共有することができる。つまり、外部入力装置40の表示データを自端末(伝送端末10)および他の伝送端末10に送信することで、各拠点の伝送端末10間で表示データを共有することができる。
一方、ステップS910で表示画像取得部14cによって取得され、2系統に分割された表示データ(非圧縮データ)のうち他方の表示データは、ステップS912において解像度の変更処理がなされる。これ以降は、上記の図25に関連して説明した処理と同じであるので、その説明は省略する。
上述したように、外部入力装置40で解像度変換された表示データを圧縮形式に変換して伝送(伝送端末10→中継装置30→他の伝送端末10)を行うと、Bitmap形式のような非圧縮形式を用いた場合(図25)と比べて、伝送容量を小さくすることができるので、通信負荷を減らすことができる。
以上説明したように、本実施例の伝送システムは、マウスで全体領域を選択すれば画面全体を、選択しなければアクティブな領域を、テレビ会議の相手が利用している伝送端末と共有できる。また、狭帯域モードの場合、アクティブ領域を優先して表示データとして取得するのでユーザが全体領域を選択していても細部が見にくいという不都合が生じることを抑制できる。
本実施例では、ユーザが外部入力装置40のディスプレイ216に表示される表示領域選択メニューを操作することで、表示画面において、ユーザが全体領域又は任意の領域を選択して表示することが可能な伝送システム1について説明する。また、実施例1と同様に、通信ネットワークの帯域が低い狭帯域モード時に、ユーザが文字を判別しにくいという不都合を低減する伝送システム1について説明する。
図31は実施例1の図22と同様に、外部入力装置40aaに表示されているデスクトップ画面の一例を示す図である。図31(a)は外部入力装置40aaに表示されているデスクトップ画面の一例を示す図である。図31(a)ではデスクトップ画面の右下に表示領域選択メニュー310(特許請求の範囲の表示データ送信許否メニューに相当する)が表示される。
図31(b)(c)は表示領域選択メニュー310を拡大して表示する図の一例である。図31(b)では「共有の開始」という文字が表示された共有設定受付ボタン301が、図31(c)では「共有の停止」という文字が表示された共有設定受付ボタン301が示されている。共有設定受付ボタン301の機能は、実施例1と同様である。
また、図31(b)(c)では、共有設定受付ボタン301に加え、2つのラジオボタン302,303が表示されている。一方のラジオボタン302は「全体領域(フルスクリーン)」であり、他方のラジオボタン303は「アクティブな領域」である。すなわち、ラジオボタン302,303は、ユーザが全体領域かアクティブな領域のどちらを表示データとするかを排他的に選択するためのものである。ユーザが2つのラジオボタン302,303のどちらかを選択すると、操作入力受付部46がこの選択を受け付ける。なお、ラジオボタン303による「アクティブな領域」の選択は、ユーザが実際に領域を選択したか否かとは関係ないので、ラジオボタン303により「アクティブな領域」が選択されてもアクティブな領域がない場合がある。
共有設定受付ボタン301に「共有の停止」が表示されている場合(表示データの共有中の場合)は、ユーザが選択するラジオボタン302,303を切り替えるたびに、伝送端末10aaのディスプレイ120に表示される表示データが、全体領域とアクティブな領域に交互に切り替わる。
共有設定受付ボタン301により「共有の開始」が選択されていない場合(表示データの共有中でない場合)は、ユーザが「共有の開始」をクリックすると、選択されているラジオボタン302,303の表示データの共有が開始される。
本実施例のようにユーザが明示的に「全体領域(フルスクリーン)」又は「アクティブな領域」を選択する場合、ユーザが狭帯域モードの場合に「アクティブな領域」を選択することは操作として分かりやすい操作になる。伝送端末同士は原則的に音声データを送受信可能なので、表示データを共有している通信相手のユーザが、細部が見にくいと送信元のユーザに伝えることで、ユーザは表示領域選択メニュー310で「アクティブな領域」を選択する。すでにアクティブな領域がある場合はこの操作により、アクティブな領域がない場合はユーザが領域をクリックすれば、狭帯域モードの場合にアクティブな領域を共有できる。
また、狭帯域モードであることを表示領域選択メニュー310によりユーザに報知してもよい。図32は表示領域選択メニュー310の一例を示す図である。実施例1と同様に、モード判定部454は狭帯域モードか否かを判定し、表示領域選択メニュー310に狭帯域ランプ304を表示する。狭帯域ランプ304は、例えば、帯域の広さに応じて徐々に色が変わるなどの画像処理が施され、狭帯域モード管理テーブルがFALSEになると点滅する。FALSEになった際に警報音を出力してもよい。これにより、ユーザは狭帯域モードであることを認識して表示領域選択メニュー310で「アクティブな領域」を選択することができる。
なお、狭帯域ランプ304は、画面を共有中かつ「全体領域(フルスクリーン)」が選択されている場合にのみ表示してもよい。ユーザは、狭帯域ランプ304が表示されていることを目視することで、狭帯域モードか否かに注意すべきことを把握できる。
動作手順を説明するためのフローチャート図については実施例1の図25〜30と同様であるが、図26の処理の一部が異なっている。図33は、表示データ取得部451が表示データを取得する処理の詳細について説明するフローチャート図の一例である。
操作入力受付部46は、ユーザがラジオボタン302で全体領域を選択したか否かを判定する(S9051−2)。
ユーザがラジオボタン302で全体領域を選択した場合(S9051−2のYes)、表示データ取得部451はディスプレイ216に表示されているデスクトップ画面の全体を表示データとして取得して終了する(S9052)。
ユーザがラジオボタン302で全体領域を選択しない場合(S9051−2のNo)、すなわち、ユーザがラジオボタン303でアクティブな領域を選択した場合、表示データ取得部451はアクティブな領域があるか否かを判定する(S9053)。判定方法は実施例1と同様でよい。
ユーザaaがアクティブな領域を閉じるなどして、アクティブな領域がなかった場合(S9053のNo)、処理はステップS9052に進み、表示データ取得部451はデスクトップ画面の全体を表示データとして取得する。
アクティブな領域があった場合(S9053のYes)、表示データ取得部451は、表示制御部がディスプレイ216に表示させている表示データのうち、アクティブになっている領域の表示データを取得する(S9054)。以降の処理は実施例1と同様となる。
・したがって、狭帯域モードになっている場合は、ユーザがアクティブな領域を共有する操作(アクティブな領域の選択、共有設定受付ボタン301のクリック)を行うことで、アクティブな領域を表示データとして取得できる。
・狭帯域モードになっているがユーザがアクティブな領域を共有する操作を行わない場合、ユーザはアプリを実行していないか又は優先して表示したいアプリが特にないので、ディスプレイの全体(全体領域)を表示データとして取得する(つまり、細部が見づらくても不都合がない)。
・狭帯域モードになっていない場合も、ユーザが選択した全体領域又はアクティブな領域を表示データとして取得できる。
本実施例によれば、OSがデスクトップ画面の全体を1つの領域として扱うことをサポートしてない場合でも、表示領域選択メニュー310によりユーザが全体領域を選択することを可能にできる。
実施例1,2では表示データ取得部451が全体領域又はアクティブな領域の表示データを取得する際、マウスカーソルが表示されないという不都合がある。
これは、表示データの取得を行うためにキーボードのPrint Screenボタンを使用された場合を例にすると分かるが、Print Screenボタンが押下されてもマウスカーソルはキャプチャされない。このため、表示データ取得部451も、マウスカーソルが全体領域又はアクティブな領域を指し示す場合、表示データにマウスカーソルを合成することが好ましい。
図34(a)は、本実施例の外部入力装置の機能ブロック図の一例を示す図である。図34(a)は図13と同様であり、図34(b)は表示データ取得部451の機能ブロック図を示している。表示データ取得部451は、指示情報取得部4511、画面情報取得部4512、表示データ作成部4513を有している。画面情報取得部4512は、外部入力装置40がディスプレイ216に表示している表示データを取得する。指示情報取得部4511は、マウスカーソルなどの位置やマウスカーソルのアイコン画像などの指示情報(特許請求の範囲のカーソル情報に相当する)を取得する。指示情報は、画面におけるマウスカーソルの座標データ、又は、画面におけるマウスカーソルの座標データとそのアイコン画像である。マウスカーソルの座標データは、所定のコマンドでOSに問い合わせることで取得できる。マウスカーソルのアイコン画像は、同様にOSから取得してもよいし、予め既知のマウスカーソルのアイコン画像を画像データとしてもよい。
表示データ作成部4513は、表示データにアイコン画像を合成する。外部入力装置40は表示データを伝送端末10に送信するので、各ユーザはマウスカーソルが画面上の表示データを特定する位置を共通に把握することができる。
〔アイコン画像の合成〕
アイコン画像の合成方法は、全体領域を表示データとする場合とアクティブな領域を表示データとする場合で異なる。
・全体領域を表示データとする場合
図35は、表示データへのアイコン画像の合成を模式的に説明する図の一例である。図35の表示データは、外部入力装置40aaがディスプレイ120aaに表示している画面の全体である。マウスカーソルはデスクトップ画面の全体を移動できる。
指示情報取得部4511はマウスカーソルのアイコン画像、マウスカーソルの座標データを取得する。座標データは直交座標系で表され、左上の頂点(コーナー)を原点とするピクセル単位でマウスカーソルの2次元上の位置を示す座標である。
したがって、表示データ作成部4513は、例えばマウスカーソルの先端部を、座標データが示す表示データの位置に配置することで、表示データにマウスカーソルを合成することができる。なお、合成とは、表示データにマウスカーソルのアイコン画像を配置して(重なる画素の画素値を置き換えて)1つの画像データとすることである。
・アクティブな領域を表示データとする場合
図36は、表示データへのアイコン画像の合成を模式的に説明する図の一例である。マウスカーソルの座標(X,Y)はデスクトップ画面の左上を原点とする座標であるのに対し、アクティブな領域はデスクトップ画面の一部の領域に過ぎない。このため、アクティブな領域の表示データに対して座標(X、Y)にアイコン画像を合成してしまうと、アクティブな領域の左上コーナの座標(X'、Y')を基準にアイコン画像が配置されるため、表示データではアイコン画像の位置が変わってしまう。
そこで、指示情報取得部4511は、アクティブな領域を表示データとする場合、以下のようにマウスカーソルの座標データを補正する。
X=X−X'
Y=Y−Y'
こうすることで、表示データとアイコン画像の相対位置を維持して表示データにアイコン画像を合成できる。
図37は表示データ取得部451が表示データにアイコン画像を合成する手順を示すフローチャート図の一例である。図37の処理は図25のステップS905の中で行われ、実施例1,又は、実施例2の表示データの取得処理の後に行われる。また、図37では、アクティブな領域が表示データであるものとする。
指示情報取得部4511はマウスカーソルの座標データを取得する(S905−11)。全体領域が表示データの場合、この後、表示データにアイコン画像を合成すればよい。
指示情報取得部4511は、ステップS905−11で取得した座標データが、アクティブな領域に含まれるか否かを判定する(S905−12)。
アクティブな領域に含まれない場合(S905−12のNo)、アイコン画像を合成する必要がないので、表示データ作成部4513はマウスカーソルのアイコン画像をアクティブな領域の表示データに合成することなく処理を終了する。
アクティブな領域に含まれる場合(S905−12のYes)、表示データ作成部4513はマウスカーソルのアイコン画像を取得する(S905−13)。
次に、表示データ作成部4513は、アクティブな領域の表示データに、ステップS905−13で取得したアイコン画像を合成して処理を終了する(S905−14)。表示データ作成部4513は、マウスカーソルの先端部の座標データ(X, Y)とアクティブな領域の左上隅の座標(X', Y')を参照する。そして、アクティブな領域の画像だけを取り込んだ表示データの左上コーナを原点に((X-X'), (Y-Y'))の位置にマウスカーソルのアイコン画像を合成する。
以上のように、アクティブな領域を共有している場合であっても、全体領域を共有する場合と、マウスカーソルのアイコン画像の合成位置を異ならせることにより、伝送端末10dbのディスプレイ120に正しくマウスカーソルを表示させることができる。
なお、図37のS905−12では、アクティブな領域が選択されているとしたが、常に、アクティブな領域が選択された場合の合成処理を適用し、全体領域が選択された場合に、X' = 0, Y' = 0としてもよい。