(A)主たる実施形態
以下、本発明による通信処理装置、方法及びプログラム、並びに、通信システムの一実施形態を、図面を参照しながら詳述する。なお、この実施形態では、本発明の通信処理装置を、ゲートウェイに適用した例について説明する。
(A−1)実施形態の構成
図1は、この実施形態に係るゲートウェイ20を備えた通信システム1の全体構成について示したブロック図である。
通信システム1には、H.323に対応したネットワークシステムであるH.323網N1と、SIPに対応したSIP網N2とが配置されている。また、H.323網N1とSIP網N2との間にゲートウェイ20が配置されている。さらに、H.323網N1には、H.323に対応したN台のH.323会議端末10(10−1〜10−N)が接続されている。さらにまた、SIP網N2には、SIPに対応したM台のSIP会議端末30(30−1〜30−M)が配置されている。
それぞれのH.323会議端末10は、H.323に従い、カメラ映像用の通信チャネル(以下、「映像チャネル」と呼ぶ)と、データ共有用の映像に係る通信チャネル(以下、「データ共有チャネル」と呼ぶ)と、音声通信チャネルの3つのメディアについて接続可能である。なお、それぞれのH.323会議端末10は、H.323に基づくビデオ通話に対応した種々の端末(例えば、ディスプレイ、マイク、スピーカが接続されたPC等)を適用することができるため詳しい説明は省略する。
それぞれのSIP会議端末30は、SIPに従い、映像チャネルと、音声通信チャネルの2つのメディアについて接続可能となっている。なお、それぞれのSIP会議端末30は、SIPに基づくビデオ通話に対応した種々の端末を適用することができるため詳しい説明は省略する。
ゲートウェイ20は、H.323網N1(H.323会議端末)10とSIP網N2(SIP会議端末30)との間で呼制御(シグナリング)及びメディア通信(音声データ、映像データ等)の中継を行うものである。上述の通り、H.323会議端末10は、データ共有チャネルに対応しているが、SIP会議端末30はデータ共有チャネルに対応していない。そこで、ゲートウェイ20は、H.323会議端末10から送出される映像チャネル又はデータ共有チャネルのいずれかを切り替えて、SIP会議端末30側の映像チャネルに入力可能な構成となっている。
また、この実施形態では、H.323会議端末10及びSIP会議端末30は、ともにRTP(Real−time Transport Protocol)パケットにより各チャネルのメディア通信を行うものとする。
次に、ゲートウェイ20の詳細構成について説明する。
ゲートウェイ20は、パケット送受信部201、パケット分離部202、呼制御部203、映像パケット変換部204、データ共有パケット変換部205、音声パケット変換部206、パケット多重部207、パケット送受信部208、パケット分離部209,及びパケット多重部210を有している。
ここで、ゲートウェイ20は、例えば、ハードウェア的な通信部の他は、通信処理やデータ処理等を実行するためのプロセッサ、ROM、RAM等を有しており、当該プロセッサが実行するプログラム(実施形態の通信処理プログラムを含む)がインストールされている。上述したプログラムを含め、ゲートウェイ20の機能的構成を示すと図1に示すようになる。
パケット送受信部201は、H.323網N1側とのパケット送受信を行うネットワークインタフェースである。
パケット分離部202は、H.323網N1から受信したパケットを分析して、いずれかのメディアの通信チャネル又はシグナリング(呼制御信号:H.323のメッセージ)に分類し、対応するパケット処理部(呼制御部203、映像パケット変換部204、データ共有パケット変換部205、音声パケット変換部206のいずれか)に供給する。
パケット多重部210は、それぞれのパケット処理部(呼制御部203、映像パケット変換部204、データ共有パケット変換部205、音声パケット変換部206のいずれか)から出力されるパケットを多重化してパケット送受信部201に供給し、対応するH.323会議端末10へ向けて送出するものである。
パケット送受信部208は、SIP網N2側とのパケット送受信を行うネットワークインタフェースである。
パケット分離部209は、SIP網N2から受信したパケットを分析して、いずれかのメディアの通信チャネル又はシグナリング(呼制御信号:SIPメッセージ)に分類し、対応するパケット処理部(呼制御部203、映像パケット変換部204、データ共有パケット変換部205、音声パケット変換部206のいずれか)に供給するものである。
パケット多重部207は、それぞれのパケット処理部(呼制御部203、映像パケット変換部204、音声パケット変換部206)から出力されるパケットを多重化してパケット送受信部208に供給して対応するSIP会議端末30へ向けて送出するものである。
呼制御部203は、H.323会議端末10とSIP会議端末30との間(H.323網N1とSIP網N2との間)の呼制御処理(シグナリング)を行う機能を担っており、H.323側呼制御終端部203a、SIP側呼制御終端部203b、及び呼制御処理部203cを有している。
H.323側呼制御終端部203aは、H.323網N1側(H.323会議端末10)との呼制御信号(H.323のメッセージ)を終端(送受信)するものである。また、SIP側呼制御終端部203bは、SIP網N2側(SIP会議端末30)との呼制御信号(SIPメッセージ)を終端(送受信)するものである。そして、呼制御処理部203cは、H.323側呼制御終端部203aとSIP側呼制御終端部203b間(H.323網N1とSIP網N2との間)の呼制御処理を行う機能を担っている。具体的には、呼制御処理部203cは、H.323側呼制御終端部203a又はSIP側呼制御終端部203bから供給された呼制御信号(例えば、発呼要求等)に基づいた呼制御処理を行うための呼制御信号を生成し、宛先の端末に対応する呼制御終端部(H.323側呼制御終端部203a又はSIP側呼制御終端部203b)に供給する。
データ共有パケット変換部205は、パケット分離部202から供給されたデータ共有チャネルのメディアパケットを、SIP会議端末30の映像チャネルで処理可能な形式に変換する処理等を行うものである。
映像パケット変換部204は、主として、パケット分離部202又はパケット分離部209から供給された映像チャネルのメディアパケットを宛先の端末に対応する形式に変換する処理等を行うものである。また、映像パケット変換部204は、SIP会議端末30側に映像チャネルとして送出するメディアパケットのソース(供給源)を、映像チャネル(H.323会議端末10から供給された映像チャネルのメディアデータ)又は、データ共有チャネル(H.323会議端末10から、データ共有パケット変換部205を介して供給されたメディアデータ)のいずれかに切替えることが可能な構成となっている。
映像パケット変換部204は、さらに、H.323網N1側から受信した映像チャネルのメディアパケットでありパケット分離部202から供給された映像チャネルのメディアパケット、又はデータ共有チャネルのメディアパケットでありデータ共有パケット変換部205から供給された映像チャネルのメディアパケットを、宛先の端末に対応する形式に変換する処理等を行った上、パケット多重部207に送出するものである。
また、映像パケット変換部204は、さらに、さらに、SIP網N2から受信した映像チャネルのメディアパケットであり、パケット分離部209から供給された映像チャネルのメディアパケットを、宛先の端末に対応する形式に変換する処理等を行った上、パケット多重部210に送出するものである。
なお、以下では、ゲートウェイ20によるSIP会議端末30(SIP網N2)への、映像チャネルのソース(映像チャネル又はデータ共有チャネル)を切り替える処理を「映像ソース切替処理」とも呼ぶものとする。
音声パケット変換部206は、主として、パケット分離部202又はパケット分離部209から供給された音声チャネルのメディアパケットを、宛先の端末に適した形式に変換して送出(パケット多重部207又はパケット多重部210へ供給)する。
次に、ゲートウェイ20による映像ソース切替処理機能について説明する。
ゲートウェイ20で映像ソース切替処理が行われるタイミング(トリガ)については限定されないものであるが、例えば、以下の3つの方式のように、H.323会議端末10(H.323網N1)側からのデータ共有チャネルに係る信号に応じて行うようにしてもよい。
[第1の方式:データ共有チャネルの開設で切り替える方式]
映像ソース切替処理開始の第1の方式の例として、例えば、H.323会議端末10から、ゲートウェイ20(呼制御部203)に、データ共有チャネルの開設要求のあったタイミングを利用することが挙げられる。具体的には、例えば、ゲートウェイ20(呼制御部203)が、H.323会議端末10から、H.245/OpenLogicalChannelでチャネル開設要求を受付けたタイミングである。このとき、ゲートウェイ20(映像パケット変換部204)は、SIP会議端末30への映像チャネルのソースを、映像チャネルからデータ共有チャネルに切替える。
そして、その後、H.323会議端末10から、ゲートウェイ20(呼制御部203)に、開設したデータ共有チャネルを閉じる要求があったタイミングで、ゲートウェイ20(映像パケット変換部204)は、SIP会議端末30への映像チャネルのソースを、データ共有チャネルから映像チャネルに切り戻す。具体的には、例えば、ゲートウェイ20(呼制御部203)が、H.323会議端末10から、H.245/CloseLogicalChannelで、チャネルを閉じる要求を受付けたタイミングである。
[第2の方式:データ共有開始要求で切り替える方式]
映像ソース切替処理開始の第2の例として、H.323会議端末10から、ゲートウェイ20(呼制御部203)に、データ共有開始の要求があったタイミングを利用する例が挙げられる。具体的には、例えば、ゲートウェイ20(呼制御部203)が、H.245/GenericRequestでデータ共有開始の要求を受付けたタイミングである。このとき、ゲートウェイ20(映像パケット変換部204)は、SIP会議端末30への映像チャネルのソースを、映像チャネルからデータ共有チャネルに切替える。
そして、その後、H.323会議端末10から、ゲートウェイ20(呼制御部203)に、データ共有を終了する要求があった場合、ゲートウェイ20(映像パケット変換部204)は、SIP会議端末30への映像チャネルのソースを、データ共有チャネルから映像チャネルに切り戻す。具体的には、例えば、ゲートウェイ20(呼制御部203)が、H.323会議端末10から、H.245/GenericCommandで、データ共有を終了する要求を受付けたタイミングである。
[第3の方式:データ共有チャネルのメディアデータ受信で切り替える方式]
映像ソース切替処理開始の第3の例として、ゲートウェイ20(映像パケット変換部204)が、H.323会議端末10からデータ共有チャネルに係るメディアデータ(データ共有チャネルが挿入されたRTPパケット)を受信開始したタイミングを利用する例が挙げられる。このとき、ゲートウェイ20(映像パケット変換部204)は、SIP会議端末30への映像チャネルのソースを、映像チャネルからデータ共有チャネルに切替える。
そして、その後、ゲートウェイ20(映像パケット変換部204)において、当該H.323会議端末からのデータ共有チャネルに係るRTPパケット到着が所定時間以上(例えば、予め設定された一定時間以上)停止した場合、ゲートウェイ20(映像パケット変換部204)は、SIP会議端末30への映像チャネルのソースを、データ共有チャネルから映像チャネルに切り戻す。
(A−2)実施形態の動作
次に、以上のような構成を有するこの実施形態の通信システム1の動作(実施形態の通信処理方法)を説明する。
(A−2−1)ゲートウェイ20におけるパケット処理の概要について
まず、ゲートウェイ20に供給されるパケットの処理概要について、図1を用いて説明する。
まず、H.323網N1からSIP網N2にパケット転送される場合におけるゲートウェイ20内部の処理について説明する。
パケット送受信部201は、H.323網N1に接続されるH.323会議端末10より供給されたパケットを、H.323網N1を介して受信して、パケット分離部202に供給する。
パケット分離部202は、パケット送受信部201より供給されたパケットを取得して、パケットの種類を識別する。パケット分離部202は、取得したパケットの種類が、H.323におけるQ.931、H.245にて規定された呼制御パケットである場合、当該パケットを、呼制御部203に供給する。また、パケット分離部202は、取得したパケットの種類が、映像チャネルのメディアパケットである場合、当該パケットを、映像パケット変換部204に供給する。さらに、パケット分離部202は、取得したパケットの種類が、音声チャネルのメディアパケットである場合、当該パケットを、音声パケット変換部206に供給する。さらにまた、パケット分離部202は、取得したパケットの種類が、データ共有チャネルのメディアパケットである場合、当該パケットを、データ共有パケット変換部205に供する。
呼制御部203は、パケット分離部202より供給された呼制御パケットを取得する。呼制御部203は、取得した呼制御パケットを、H.323網N1に接続されるH.323会議端末10にて用いられる呼制御形式(H.323におけるH.245)から、SIP網N2に接続されるSIP会議端末30にて用いられる呼制御形式(SIP/SDP)に変換する。呼制御部203は、変換した呼制御パケットを、パケット多重部207に供給する。
データ共有パケット変換部205は、パケット分離部202より供給されたデータ共有チャネルのメディアパケットを取得する。データ共有パケット変換部205は、取得したデータ共有チャネルのメディアパケットから、SIP網N2に接続されるSIP会議端末30において映像表示したときの映像を生成する。そして、データ共有パケット変換部205は、生成した映像を、SIP網N2に接続されるSIP会議端末30にて用いられる映像符号化方式にて符号化して、映像チャネルのメディアパケットを生成する。データ共有パケット変換部205は、データ共有チャネルのメディアパケットから変換した映像チャネルのメディアパケットを、映像パケット変換部204に供給する。
映像パケット変換部204は、パケット分離部202及びデータ共有パケット変換部205より供給された映像チャネルのメディアパケットを取得する。そして、映像パケット変換部204は、映像ソース切替処理の状態に応じて、パケット分離部202から供給された映像チャネルのメディアパケット、又は、データ共有パケット変換部205から供給された映像チャネルのメディアパケットを選択して、パケット多重部207に供給する。また、映像パケット変換部204は、分離部202から供給された映像チャネルのメディアパケットについてパケット多重部207に供給する場合には、当該映像チャネルのメディアパケットを、SIP網N2に接続されるSIP会議端末30にて用いられる映像符号化方式に変換する。
音声パケット変換部206は、パケット分離部202より供給された音声チャネルのメディアパケットを取得する。そして、音声パケット変換部206は、取得した音声チャネルのメディアパケットを、SIP網N2に接続されるSIP会議端末30にて用いられる音声符号化方式に変換する。そして、音声パケット変換部206は、変換した音声チャネルのメディアパケットを、パケット多重部207に送信する。
パケット多重部207は、呼制御部203から供給された呼制御パケットと、映像パケット変換部204から供給された映像チャネルのメディアパケットと、音声パケット変換部206から供給された音声チャネルのメディアパケットとを取得する。パケット多重部207は、取得した呼制御パケットと映像チャネルのメディアパケットと音声チャネルのメディアパケットとを多重化して、パケット送受信部208に供給する。
パケット送受信部208は、パケット多重部207から供給されたパケットを、SIP網N2を介してSIP網N2に接続されるSIP会議端末30に送信する。
次に、SIP網N2からH.323網N1にパケット転送される場合におけるゲートウェイ20内部の処理について説明する。
パケット送受信部208は、SIP網N2に接続されるSIP会議端末30より供給されたパケットを、SIP網N2を介して受信して、パケット分離部209に供給する。
パケット分離部209は、パケット送受信部208より供給されたパケットを取得して、パケットの種類を識別する。パケット分離部209は、取得したパケットの種類が、SIP/SDPにて規定された呼制御パケットである場合、当該パケットを、呼制御部203に供給する。また、パケット分離部209は、取得したパケットの種類が、映像チャネルのメディアパケットである場合、当該パケットを、映像パケット変換部204に供給する。さらに、パケット分離部209は、取得したパケットの種類が、音声チャネルのメディアパケットである場合、当該パケットを、音声パケット変換部206に供給する。
呼制御部203は、パケット分離部202より供給された呼制御パケットを取得する。そして、呼制御部203は、取得した呼制御パケットを、SIP網N2に接続されるSIP会議端末30にて用いられる呼制御形式(SIP/SDP)から、H.323網N1に接続されるH.323会議端末10にて用いられる呼制御形式(H.323におけるH.245)に変換する。そして、呼制御部203は、変換した呼制御パケットを、パケット多重部207に供給する。
映像パケット変換部204は、パケット分離部209より供給された映像チャネルのメディアパケットを取得する。映像パケット変換部204は、取得した映像チャネルのメディアパケットを、H.323網N1に接続されるH.323会議端末10にて用いられる映像符号化方式に変換する。そして、映像パケット変換部204は、変換した映像チャネルのメディアパケットを、パケット多重部210に供給する。
音声パケット変換部206は、パケット分離部209より供給された音声チャネルのメディアパケットを取得する。そして、音声パケット変換部206は、取得した音声チャネルのメディアパケットを、H.323網N1に接続されるH.323会議端末10にて用いられる音声符号化方式に変換する。そして、音声パケット変換部206は、変換した音声チャネルのメディアパケットを、パケット多重部210に供給する。
パケット多重部210は、呼制御部203から供給された呼制御パケットと、映像パケット変換部204から供給された映像チャネルのメディアパケットと、音声パケット変換部206から供給された音声チャネルのメディアパケットとを取得する。そして、パケット多重部210は、取得した呼制御パケットと映像チャネルのメディアパケット音声チャネルのメディアパケットとを多重化して、パケット送受信部201に供給する。
パケット送受信部201は、パケット多重部210から受信したパケットを、H.323網N1を介してH.323網N1に接続されるH.323会議端末10に送信する。
(A−2−2)映像ソース切替処理について
次に、ゲートウェイ20で行われる映像ソース切替処理開始について説明する。以下では、上述の第1の方式〜第3の方式のそれぞれについて説明する。
[第1の方式:データ共有チャネルの開設で切り替える方式]
図2は、上述の第1の方式で映像ソース切替処理開始を行った場合の通信システム1の動作例について示したフローチャートである。また、図3は、図2のフローチャートに従って通信システム1が動作した場合に、SIP会議端末30−1に供給される映像チャネルのメディアデータに基づく表示画面の遷移について示した説明図である。
ここでは、説明を簡易とするために、H.323網N1側のH.323会議端末10−1と、SIP網N2側のSIP会議端末30−1との間の1対1の通信をゲートウェイ20が中継する例について説明する。
まず、H.323会議端末10からの発呼に基づき、ゲートウェイ20による呼制御により、H.323会議端末10−1とSIP会議端末30−1との間でビデオ会議のセッションが開始されたものとする(S101)。
そして、H.323会議端末10−1とSIP会議端末30−1との間で、ゲートウェイ20を介して、ビデオ会議に係るメディアデータの送受信(映像チャネルと音声チャネルを用いた送受信)が開始された状態(通話状態)となったものとする(S102)。この時点で、SIP会議端末30−1の映像チャネルに供給される映像は、図3(a)に示すように、H.323会議端末10−1側から送出される映像チャネルの映像(図3(a)では、H.323会議端末10−1側のユーザを表示したカメラ映像)となる。
そして、通話状態となった後、H.323会議端末10−1側でユーザ操作により、データ共有を開始する操作(例えば、H.323会議端末10−1のデスクトップ画面の映像についてデータ共有を開始する操作)が行われたものとする。そして、H.323会議端末10−1から、ゲートウェイ20(呼制御部203)に、データ共有の開始要求(H.245/GenericRequest)が送信され(S103)、それに対してゲートウェイ20(呼制御部203)が応答(H.245/GenericRequest)したものとする(S104)。
その後、H.323会議端末10−1から、ゲートウェイ20(呼制御部203)に、データ共有のチャネル開設要求(H.245/OpenLogicalChannel(Data))が送信され(S105)、それに対してゲートウェイ20(呼制御部203)が応答(H.245/OpenLogicalAck(Data))したものとする(S106)。
そして、上述のステップS105で、ゲートウェイ20(呼制御部203)は、データ共有のチャネル開設要求(H.245/OpenLogicalChannel(Data))を受信したので、上述の第1の方式に従って、映像ソース切替処理が行われる(S107)。具体的には、ゲートウェイ20では、映像パケット変換部204により、SIP会議端末30−1への映像チャネルのソースが、映像チャネルからデータ共有チャネルに切替えられることになる。
その後、H.323会議端末10−1とSIP会議端末30−1との間で、ゲートウェイ20を介して、ビデオ会議の通話状態が継続される(S108)。このとき、ゲートウェイ20(映像パケット変換部204)からSIP会議端末30−1への映像チャネルのソースがデータ共有チャネルとなっている。この時点で、SIP会議端末30−1における映像チャネルの映像は、図3(b)に示すように、H.323会議端末10−1側から送出されるデータ共有チャネルの映像(図3(b)では、H.323会議端末10−1側のデスクトップ上の資料データを表示した映像)となる。
その後、H.323会議端末10−1側でユーザ操作により、データ共有を停止する操作(例えば、H.323会議端末10−1のデスクトップ画面の映像についてデータ共有を停止する操作)が行われたものとする。そして、H.323会議端末10−1から、ゲートウェイ20(呼制御部203)に、データ共有のチャネルを閉じる要求(H.245/CloseLogicalChannel(Data))が送信され(S109)、それに対してゲートウェイ20(呼制御部203)が応答(H.245/CloseLogicalChannelAck(Data))したものとする(S110)。
その後、H.323会議端末10−1から、ゲートウェイ20(呼制御部203)に、データ共有に係るチャネルの停止要求(H.245/GenericCommand)が送信されたものとする(S111)。
そして、上述のステップS109の時点で、ゲートウェイ20(呼制御部203)は、データ共有のチャネルを閉じる要求(H.245/OpenLogicalChannel(Data))を受信したので、上述の第1の方式に従って、映像ソース切替処理を行う(S112)。具体的には、ゲートウェイ20では、映像パケット変換部204により、SIP会議端末30−1への映像チャネルのソースが、データ共有チャネルから映像チャネルに切り戻されることになる。
ゲートウェイ20では、映像パケット変換部204により、映像チャネルのソースが切り戻されると、呼制御部203からH.323会議端末10−1に、映像チャネルについてイントラフレームが要求(H.245/MiscellaneousCommand/videoFastUpdatePicture)される(S113)。これは、映像パケット変換部204により、映像チャネルのソースが切り戻された後に、SIP会議端末30−1側で復元される映像の切り戻しを円滑に行うためのものである。この時点で、ゲートウェイ20がイントラフレームの要求を行わなくても、H.323会議端末10−1から、所定のタイミング又はエラー処理等によりイントラフレームの送信は行われるが、映像ソース切替処理を主導するゲートウェイ20から明示的に要求した方が、SIP会議端末30−1側での画面切替えが短時間で実行される。
その後、H.323会議端末10−1とSIP会議端末30−1との間は、ゲートウェイ20を介して、映像チャネルと音声チャネルのみを用いた通話状態(上述のステップS102と同じ状態)に戻ることになる(S114)。この時点で、SIP会議端末30−1における映像チャネルの映像は、図3(c)に示すように、H.323会議端末10−1側から送出される映像チャネルの映像に戻ることとなる。
[第2の方式:データ共有開始要求で切り替える方式]
図4は、上述の第2の方式で映像ソース切替処理開始を行った場合の通信システム1の動作例について示したフローチャートである。また、図4のフローチャートに従って通信システム1が動作した場合に、SIP会議端末30−1に供給される映像チャネルに基づく表示画面の遷移についても、上述の図3を用いて説明する。
ここでは、説明を簡易とするために、H.323網N1側のH.323会議端末10−1と、SIP網N2側のSIP会議端末30−1との間の1対1の通信をゲートウェイ20が中継する例について説明する。
まず、H.323会議端末10からの発呼に基づき、ゲートウェイ20による呼制御により、H.323会議端末10−1とSIP会議端末30−1との間でビデオ会議のセッションが開始されたものとする(S201)。
なお、図4では、ステップS201の時点で、H.323会議端末10−1とゲートウェイ20との間のデータ共有に係るチャネル開設(「H.245/OpenLogicalChannel」、「H.245/CloseLogicalChannel」によるチャネル開設)は完了している点で、上述のステップS101と異なっている。
そして、H.323会議端末10−1とSIP会議端末30−1との間で、ゲートウェイ20を介して、ビデオ会議に係るメディアデータの送受信が開始された通話状態となったものとする(S202)。この時点で、SIP会議端末30−1における映像チャネルの映像は、図3(a)に示すように、H.323会議端末10−1側から送出される映像チャネルの映像となる。
そして、通話状態となった後、H.323会議端末10−1側でユーザ操作により、データ共有を開始する操作(例えば、H.323会議端末10−1のデスクトップ画面の映像についてデータ共有を開始する操作)が行われたものとする。そして、H.323会議端末10−1から、ゲートウェイ20(呼制御部203)に、データ共有の開始要求(H.245/GenericRequest)が送信され(S203)、それに対してゲートウェイ20(呼制御部203)が応答(H.245/GenericRequest)したものとする(S204)。
そして、上述のステップS203で、ゲートウェイ20(呼制御部203)は、データ共有の開始要求(H.245/GenericRequest)を受信したので、上述の第2の方式に従って、映像ソース切替処理が行われる(S205)。具体的には、ゲートウェイ20では、映像パケット変換部204により、SIP会議端末30−1への映像チャネルのソースが、映像チャネルからデータ共有チャネルに切替えられることになる。
その後、H.323会議端末10−1とSIP会議端末30−1との間で、ゲートウェイ20を介して、ビデオ会議の通話状態が継続される(S206)。このとき、ゲートウェイ20(映像パケット変換部204)からSIP会議端末30−1への映像チャネルのソースがデータ共有チャネルとなっている。この時点で、SIP会議端末30−1における映像チャネルの映像は、図3(b)に示すように、H.323会議端末10−1側から送出されるデータ共有チャネルの映像となる。
その後、H.323会議端末10−1側でユーザ操作により、データ共有を停止する操作が行われたものとする。そして、H.323会議端末10−1から、ゲートウェイ20(呼制御部203)に、データ共有に係るチャネルの停止要求(H.245/GenericCommand)が送信されたものとする(S207)。
そして、上述のステップS207で、ゲートウェイ20(呼制御部203)は、データ共有に係るチャネルの停止要求(H.245/GenericCommand)を受信したので、上述の第2の方式に従って、映像ソース切替処理を行う(S208)。具体的には、ゲートウェイ20では、映像パケット変換部204により、SIP会議端末30−1への映像チャネルのソースが、データ共有チャネルから映像チャネルに切り戻されることになる。
ゲートウェイ20では、映像パケット変換部204により、映像チャネルのソースが切り戻されると、呼制御部203からH.323会議端末10−1に、映像チャネルについてイントラフレームが要求(H.245/MiscellaneousCommand/videoFastUpdatePicture)される(S209)。
その後、H.323会議端末10−1とSIP会議端末30−1との間は、ゲートウェイ20を介して、映像チャネルと音声チャネルのみを用いた通話状態(上述のステップS202と同じ状態)に戻ることになる(S210)。この時点で、SIP会議端末30−1における映像チャネルの映像は、図3(c)に示すように、H.323会議端末10−1側から送出される映像チャネルの映像に戻ることとなる。
[第3の方式:データ共有チャネルのメディアデータ受信で切り替える方式]
上述の第2の方式で映像ソース切替処理開始を行った場合の通信システム1の動作についても上述の図2又は図4のフローチャートとほぼ同様の動作となる。
ここでは、上述の図2を用いて上述の第3の方式で映像ソース切替処理開始を行った場合の通信システム1の動作について、上述の第1の方式との差異を説明する。
上述の第3の方式を採用したゲートウェイ20(映像パケット変換部204)は、上述のステップS107の映像ソース切替処理(映像チャネルからデータ共有チャネルへの切替え処理)を、上述のステップS108で、H.323会議端末10−1からデータ共有チャネルに係るメディアデータのRTPパケットが到来し始めた時点で行う。
また、上述の第3の方式を採用したゲートウェイ20(映像パケット変換部204)は、上述のステップS112の映像ソース切替処理(データ共有チャネルから映像チャネルへの切替え処理)及びステップS113のイントラフレームの要求処理を、上述のステップS113で、H.323会議端末10−1からのデータ共有チャネルに係るメディアデータ(RTPパケット)の到来が途絶えたと認識した時点(例えば、最後に受信してから所定期間以上経過した時点)で行う。
(A−2−3)RTPパケットの処理について
次に、通信システム1における映像チャネル及びデータ共有チャネルのメディアデータのパケット(RTPパケット)の処理について図5のシーケンス図を用いて説明する。
なおここでは例として、通信システム1において、映像ソース切替処理開始の方式として、上述の第1の方式が採用されているものとして説明する。したがって、図5のシーケンス図は、上述の図2における各フェーズのメディアパケットの処理(主として、ステップS102、S108、S114)を中心とした説明図となっている。また、図5では、上述の図2のシーケンス図と同様に、H.323網N1側のH.323会議端末10−1と、SIP網N2側のSIP会議端末30−1との間の1対1の通信をゲートウェイ20が中継する例について説明している。さらに、図5では、H.323会議端末10−1からSIP会議端末30−1へ流れるRTPパケットのみを図示しているが、実際には双方向のRTPパケット(映像チャネル及び音声チャネルのRTPパケット)等が流れることになる。
まず、上述のステップS101の処理により、H.323会議端末10−1、及びSIP会議端末30−1との間で、ゲートウェイ20を介した映像チャネルがオープン(接続)されたものとする。
そして、ステップS102において、H.323会議端末10−1から、SIP会議端末30−1に向けて映像チャネルのメディアパケット(符号化された映像信号が格納されたRTPパケット)送信が開始される。なお、メディアデータが挿入されるRTPパケットの構造は、図6のような構造となっており、RTPヘッダ部分に、シーケンスナンバー(sequence number、以下「SeqNo」とも呼ぶ)とタイムスタンプ(timestamp、以下「TS」とも呼ぶ)が設定されている。
ステップS102において、H.323会議端末10−1は、ゲートウェイ20に、3つの映像チャネルに係るRTPパケットP101〜P103を送信しているものとする。そして、3つのRTPパケットP101〜103におけるそれぞれのシーケンスナンバーとタイムスタンプは、「RTP/VideoCh/SeqNo=1,Timestamp=10000」、「RTP/VideoCh/SeqNo=2,Timestamp=13000」、「RTP/VideoCh/SeqNo=3,Timestamp=16000」であるものとする。
H.323会議端末10−1では、1つの映像チャネルのRTPパケットを、SIP会議端末30−1に送信する度に、シーケンスナンバーを1ずつインクリメントするものとする。以下では、この送信ごとにシーケンスナンバーに加算する加算値を「SeqNo_av」と呼ぶものとする。
また、ここでは、例として、H.323会議端末10−1が送信する映像信号のサンプリング周波数は90kHz、1秒あたりのフレーム数(fps)が30フレームであるものとする。この場合、H.323会議端末10−1は、1つの映像チャネルのRTPパケットを、SIP会議端末30−1に送信する度に、3000(=90000×1/30)ずつタイムスタンプを加算することになる。以下では、この送信ごとにタイムスタンプに加算する加算値を「TS_av」と呼ぶものとする。
また、ゲートウェイ20(映像パケット変換部204)は、未だ映像ソース切替処理が行われていないステップS102の時点では、受信した映像チャネルのRTPパケットP101〜P103を、RTPパケットP301〜P303に変換してSIP会議端末30−1に送信するとき、映像チャネルのRTPパケットにおけるそれぞれのシーケンスナンバーとタイムスタンプを変更しないものとする。
したがって、RTPパケットP301〜P303のシーケンスナンバーとタイムスタンプは、それぞれ「RTP/VideoCh/SeqNo=1,Timestamp=10000」、「RTP/VideoCh/SeqNo=2,Timestamp=13000」、「RTP/VideoCh/SeqNo=3,Timestamp=16000」となる。
そして、ステップS102(映像ソース切替処理を行う前の状態)において、ゲートウェイ20(映像パケット変換部204)は、上記のH.323会議端末10−1とSIP会議端末30−1の間で行われる通信より、「RTP/VideoCh/SeqNo」に対応する加算値(TS_av=3000、SeqNo_av=1)を保持(記憶)しておくものとする。
その後、上述のステップS103〜S107の処理により、SIP会議端末30−1とゲートウェイ20との間で、データ共有チャネルがオープンされ、さらに、ゲートウェイ20では、映像ソース切替処理が実行されたものとする。これにより、ゲートウェイ20(映像パケット変換部204)からSIP会議端末30−1への映像チャネルのソースがデータ共有チャネルとなる。
そして、上述のステップS108において、H.323会議端末10−1から、ゲートウェイ20(映像パケット変換部204)に向けて、映像チャネル及びデータ共有チャネルのRTPパケット送信が行われる。また、上述のステップS108において、ゲートウェイ20(映像パケット変換部204)は、H.323会議端末10−1からのデータ共有チャネルのRTPパケットを変換して、SIP会議端末30−1に映像チャネルのRTPパケットとして送信する処理を行う。さらに、上述のステップS108において、ゲートウェイ20(映像パケット変換部204)は、H.323会議端末10−1からの映像チャネルのRTPパケットを破棄する。
ステップS108では、H.323会議端末10−1からゲートウェイ20へ、映像チャネルのRTPパケットとして5個のRTPパケットP104〜P108が送信されるものとする。また、ステップS108では、H.323会議端末10−1からゲートウェイ20へ、データ共有チャネルのRTPパケットとして、3個のRTPパケットP210〜P212が送信されるものとする。また、H.323会議端末10−1は、RTPパケットP104、P210、P105、P106、P211、P107、P108、P212の順に送信したものとする。また、ステップS108において、ゲートウェイ20(映像パケット変換部204)は、データ共有チャネルのRTPパケットP210〜P212について、シーケンスナンバー及びタイムスタンプの変換処理を施し、RTPパケットP304〜P306としてSIP会議端末30−1に送出する。
そして、ステップS108で、映像チャネルのRTPパケットP104〜P108におけるシーケンスナンバー(sequence number)とタイムスタンプ(timestamp)の初期値は、「RTP/VideoCh/SeqNo=4,Timestamp=19000」であるものとする。そして、H.323会議端末10は、映像チャネルのRTPパケットを送信するごとに、ステップS102と同様にシーケンスナンバーを1加算し、タイムスタンプを、3000加算する。
また、ステップS108で、データ共有チャネルのRTPパケットP210〜P212におけるシーケンスナンバーとタイムスタンプの初期値は、「RTP/DataCh/SeqNo=10,Timestamp=70000」であるものとする。そして、H.323会議端末10は、データ共有チャネルのRTPパケットを送信するごとに、シーケンスナンバーを1加算し、さらにタイムスタンプを6000加算するものとする。
次に、ゲートウェイ20(映像パケット変換部204)が、データ共有チャネルのRTPパケットP210〜P212のシーケンスナンバー及びタイムスタンプを変換して、RTPパケットP304〜P306を生成する処理について説明する。
まず、ゲートウェイ20(映像パケット変換部204)が、ステップS108における最初のデータ共有チャネルのRTPパケットP210を、SIP会議端末30−1に送信するRTPパケットP304に変換する処理について説明する。
ゲートウェイ20(映像パケット変換部204)は、ステップS108における最初のデータ共有チャネルのRTPパケットP210について、ステップS102で最後に送出した映像チャネルのRTPパケットP303「RTP/VideoCh/SeqNo=3,Timestamp=16000」と連続するようにシーケンスナンバー及びタイムスタンプを加算して、RTPパケットP304を生成する。
具体的には、ゲートウェイ20(映像パケット変換部204)は、最後に送出した映像チャネルのRTPパケットP303「RTP/VideoCh/SeqNo=3,Timestamp=16000」のシーケンスナンバー及びタイムスタンプに対して、それぞれ映像ソース切替処理前に保持した加算値(TS_av=3000、SeqNo_av=1)を加算(シーケンスナンバーに対して1を加算し、タイムスタンプに対して3000を加算)して、RTPパケットP304のシーケンスナンバー及びタイムスタンプを求める。したがって、RTPパケットP304のシーケンスナンバーとタイムスタンプは、「RTP/VideoCh/SeqNo=4,Timestamp=19000」となる。
また、ゲートウェイ20(映像パケット変換部204)は、続くRTPパケットP305、P306のタイムスタンプを求めるためのオフセット値ΔTSとして、RTPパケットP210のタイムスタンプ(70000)からRTPパケットP304のタイムスタンプ(19000)を減算した値(70000−19000=51000)を求めて保持する。また、ゲートウェイ20(映像パケット変換部204)は、続くRTPパケットP305、P306のシーケンスナンバーを求めるためのオフセット値ΔSeqNoとして、RTPパケットP210のシーケンスナンバー(10)からRTPパケットP304のタイムスタンプ(4)を減算した値(10−4=6)を求めて保持する。
次に、ゲートウェイ20(映像パケット変換部204)が、ステップS108における2番目のデータ共有チャネルのRTPパケットP211を、SIP会議端末30−1に送信するRTPパケットP305に変換する処理について説明する。
ゲートウェイ20(映像パケット変換部204)は、RTPパケットP211について、最後に送出した映像チャネルのRTPパケットP304「RTP/VideoCh/SeqNo=4,Timestamp=19000」と連続するようにシーケンスナンバー及びタイムスタンプを変更して、RTPパケットP305を生成する。
具体的には、ゲートウェイ20(映像パケット変換部204)は、上述のRTPパケットP304の処理時に保持したオフセット値(ΔTS=51000、ΔSeqNo=6)を用いて、RTPパケットP305のシーケンスナンバー及びタイムスタンプを求めるものとする。すなわち、ゲートウェイ20(映像パケット変換部204)は、最新に受信したRTPパケットP211のタイムスタンプ(76000)から、上述のRTPパケットP304の処理時に保持したオフセット値ΔTS=51000を減算した値(76000−51000=25000)を、RTPパケットP305のタイムスタンプに設定する。また、ゲートウェイ20(映像パケット変換部204)は、最新に受信したRTPパケットP211のシーケンスナンバー(11)から、上述のRTPパケットP304の処理時に保持したオフセット値ΔSeqNo(6)を減算した値(11−6=5)を、RTPパケットP305のシーケンスナンバーに設定する。したがって、RTPパケットP305のシーケンスナンバーとタイムスタンプは、「RTP/VideoCh/SeqNo=5,Timestamp=25000」となる。
次に、ゲートウェイ20(映像パケット変換部204)が、ステップS108における3番目のデータ共有チャネルのRTPパケットP212を、SIP会議端末30−1に送信するRTPパケットP306に変換する処理について説明する。
ゲートウェイ20(映像パケット変換部204)は、RTPパケットP212について、最後に送出した映像チャネルのRTPパケットP305「RTP/VideoCh/SeqNo=5,Timestamp=25000」と連続するようにシーケンスナンバー及びタイムスタンプを変更して、RTPパケットP306を生成する。ゲートウェイ20(映像パケット変換部204)は、上述のRTPパケットP305の場合と同様に、上述のオフセット値(ΔTS=51000、ΔSeqNo=6)を用いて、RTPパケットP306のシーケンスナンバー及びタイムスタンプを求める。これにより、RTPパケットP306のシーケンスナンバーとタイムスタンプは、「RTP/VideoCh/SeqNo=6,Timestamp=31000」となる。
その後、上述のステップS109〜S113の処理により、H.323会議端末10−1とゲートウェイ20との間で、データ共有チャネルがクローズされ、さらに、ゲートウェイ20では、映像ソース切替処理が実行されたものとする。これにより、ゲートウェイ20(映像パケット変換部204)からSIP会議端末30−1への映像チャネルのソースが映像チャネルに戻ることとなる。
そして、ステップS114において、H.323会議端末10−1から、ゲートウェイ20に映像チャネルのメディアパケット(符号化された映像信号が格納されたRTPパケット)送信が継続される一方、データ共有チャネルのメディアパケット送信は停止することになる。
ステップS114において、H.323会議端末10−1は、ゲートウェイ20に、3つの映像チャネルに係るRTPパケットP109〜P112を送信しているものとする。そして、ステップS114で、映像チャネルのRTPパケットP109〜P112におけるシーケンスナンバーとタイムスタンプの初期値は、「RTP/VideoCh/SeqNo=9,Timestamp=34000」であるものとする。そして、H.323会議端末10−1は、映像チャネルのRTPパケットを送信するごとに、ステップS102と同様にシーケンスナンバーを1加算し、タイムスタンプを、3000加算する。したがって、3つのRTPパケットP109〜113におけるそれぞれのシーケンスナンバーとタイムスタンプは、「RTP/VideoCh/SeqNo=9,Timestamp=34000」、「RTP/VideoCh/SeqNo=10,Timestamp=37000」、「RTP/VideoCh/SeqNo=11,Timestamp=40000」となる。
ステップS114において、ゲートウェイ20(映像パケット変換部204)は、映像チャネルのRTPパケットP109〜P111について、シーケンスナンバー及びタイムスタンプの変換処理を施し、RTPパケットP307〜P309としてSIP会議端末30−1に送出する。
次に、ゲートウェイ20(映像パケット変換部204)が、映像チャネルのRTPパケットP109〜P111のシーケンスナンバー及びタイムスタンプを変換して、RTPパケットP307〜P309を生成する処理について説明する。
まず、ゲートウェイ20(映像パケット変換部204)が、ステップS114における最初の映像チャネルのRTPパケットP109を、SIP会議端末30−1に送信するRTPパケットP307に変換する処理について説明する。
ゲートウェイ20(映像パケット変換部204)は、ステップS108で最後に送出した映像チャネルのRTPパケットP306「RTP/VideoCh/SeqNo=6,Timestamp=31000」と連続するようにシーケンスナンバー及びタイムスタンプを更新して、RTPパケットP307を生成する。具体的には、ゲートウェイ20(映像パケット変換部204)は、ステップS108で最後に送出した映像チャネルのRTPパケットP306「RTP/VideoCh/SeqNo=6,Timestamp=31000」のシーケンスナンバー及びタイムスタンプに対して、映像ソース切替処理前に保持した上述の加算値(TS_av=3000、SeqNo_av=1)を加算(シーケンスナンバーに対して1を加算し、タイムスタンプに対して3000を加算)して、RTPパケットP307のシーケンスナンバー及びタイムスタンプを取得する。したがって、RTPパケットP307のシーケンスナンバーとタイムスタンプは、「RTP/VideoCh/SeqNo=7,Timestamp=34000」となる。
また、ゲートウェイ20(映像パケット変換部204)は、続くRTPパケットP308、P309のタイムスタンプを求めるためのオフセット値ΔTSとして、RTPパケットP109のタイムスタンプ(34000)からRTPパケットP307のタイムスタンプ(34000)を減算した値(34000−34000=0)を求めて保持する。また、ゲートウェイ20(映像パケット変換部204)は、続くRTPパケットP308、P309のシーケンスナンバーを導くためのオフセット値ΔSeqNoとして、RTPパケットP109のシーケンスナンバー(9)からRTPパケットP307のシーケンスナンバー(7)を減算した値(9−7=2)を求めて保持する。
次に、ゲートウェイ20(映像パケット変換部204)が、ステップS114における2番目の映像チャネルのRTPパケットP110を、SIP会議端末30−1に送信するRTPパケットP308に変換する処理について説明する。
ゲートウェイ20(映像パケット変換部204)は、RTPパケットP110について、最後に送出した映像チャネルのRTPパケットP307「RTP/VideoCh/SeqNo=7,Timestamp=34000」と連続するようにシーケンスナンバー及びタイムスタンプを変更して、RTPパケットP308を生成する。
具体的には、ゲートウェイ20(映像パケット変換部204)は、上述のRTPパケットP307の処理時に保持したオフセット値(ΔTS=0、ΔSeqNo=2)を用いて、RTPパケットP308のシーケンスナンバー及びタイムスタンプを求めるものとする。すなわち、ゲートウェイ20(映像パケット変換部204)は、最新に受信したRTPパケットP110のタイムスタンプ(37000)から、上述のRTPパケットP307の処理時に保持したタイムスタンプのオフセット値ΔTS=0を減算した値(37000−0=37000)を、RTPパケットP308のタイムスタンプに設定する。また、ゲートウェイ20(映像パケット変換部204)は、最新に受信したRTPパケットP110のシーケンスナンバー(10)から、上述のRTPパケットP307の処理時に保持したオフセット値ΔSeqNo=2を減算した値(10−2=8)を、RTPパケットP308のシーケンスナンバーに設定する。したがって、RTPパケットP308のシーケンスナンバーとタイムスタンプは、「RTP/VideoCh/SeqNo=8,Timestamp=37000」となる。
次に、ゲートウェイ20(映像パケット変換部204)は、上述のRTPパケットP308の場合と同様に、上述のオフセット値(ΔTS=0、ΔSeqNo=2)を用いて、RTPパケットP309のシーケンスナンバー及びタイムスタンプを求める。これにより、RTPパケットP309のシーケンスナンバーとタイムスタンプは、「RTP/VideoCh/SeqNo=9, Timestamp=40000」となる。
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
ゲートウェイ20では、映像ソース切替処理により、データ共有チャネルに対応していないSIP会議端末30で、実質的にテータ共有機能を実現することができる。
また、ゲートウェイ20(映像パケット変換部204)では、過去に送受信したRTPパケットの履歴(シーケンスナンバー及びタイムスタンプ)に基づいて、映像ソース切替処理による映像ソースの切替の度にΔTSとΔSeqNoを更新している。そして、ゲートウェイ20(映像パケット変換部204)は、SIP網N2側に映像チャネルのRTPパケットを送信する度に、タイムスタンプの値及びシーケンスナンバーについて、それぞれΔTS及びΔSeqNoを用いた更新を行っている。これにより、ゲートウェイ20(映像パケット変換部204)では、映像ソース切替処理により、SIP網N2側に送出する映像チャネルのソースを切替えても、連続したタイムスタンプ及びシーケンスナンバーのRTPパケットをSIP網N2側に送信し続けることができる。
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(B−1)上記の実施形態では、ゲートウェイ20は、映像ソース切替処理により、SIP会議端末30の映像チャネルに供給する映像データのソースを、H.323会議端末10側の映像チャネル又はデータ共有チャネルのいずれかに切替える構成となっている。これに対して、ゲートウェイ20は、例えば、図7に示すように、H.323会議端末10からのデータ共有チャネルの映像と、映像チャネルの映像の両方を1画面に表示(図7ではフレーム分けして複数の映像を1つの画面で表示)した映像を生成して、SIP会議端末30の映像チャネルに供給するようにしてもよい。この場合、ゲートウェイ20は、H.323会議端末10との間でデータ共有チャネルを用いた映像データが供給されるときに、SIP会議端末30の映像チャネルに供給する映像データの画面を図7のように切り替えるようにしてもよい。そして、この場合、ゲートウェイ20は、H.323会議端末10から映像チャネルで供給されたRTPパケットのシーケンスナンバー及びタイムスタンプを、そのままSIP会議端末30の映像チャネルに供給するRTPパケットに適用できるため、上述の図5に示すように連続的となるような変更は必要ないことになる。