(57)【要約】【課題】  ＩＰテレビ電話等の会話目的のリアルタイム通信に適するように、符号化レートを制御する送信装置、送信プログラム及び送信方法を提供する。【解決手段】  送信すべきメディアデータを符号化するエンコーダ１０２と、符号化されたメディアデータを一時的に蓄積するバッファ１２１と、バッファに蓄積されたメディアデータのバイト数を所定時間ｄＴ毎に測定し、該測定されたバイト数（Ｂ１〜ＢＮ）の履歴を記録できるレジスタ１２２と、バッファへのバッファ入力レートＢＲinを測定するバッファ入力レート算出部１３１と、バッファ蓄積変動量（Ｂ１−ＢＮ）が増加している場合、バッファからのメディアデータのバッファ出力レートＢＲを、バッファ出力レートＢＲ＝ＢＲin−（Ｂ１−ＢＮ）／（ｄＴ×Ｎ）によって決定し、決定されたＢＲを符号化レートとしてエンコーダ部１０２に入力する符号化レート決定部１３２とを有する。【選択図】  図６
2006115306.tif 000002
【特許請求の範囲】
【請求項１】
送信すべきメディアデータを符号化するエンコーダ手段と、
前記符号化されたメディアデータを一時的に蓄積するバッファと、
前記バッファに蓄積されたメディアデータのバイト数を所定時間ｄＴ毎に測定し、該測定されたバイト数（Ｂ１〜ＢＮ）の履歴を記録するメモリ手段と、
前記バッファへのバッファ入力レートＢＲinを測定するバッファ入力レート算出手段と、
バッファ蓄積変動量（Ｂ１−ＢＮ）が増加している場合、前記バッファからのメディアデータのバッファ出力レートＢＲを、
バッファ出力レートＢＲ＝
バッファ入力レートＢＲin−バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）
によって決定し、決定された前記バッファ出力レートＢＲを符号化レートとして前記エンコーダ手段に入力する符号化レート決定手段と
を有することを特徴とする符号化レートを制御する送信装置。
【請求項２】
送信すべき第１のメディアデータを符号化する第１のエンコーダ手段と、
送信すべき第２のメディアデータを符号化する第２のエンコーダ手段と、
前記符号化された第１のメディアデータ及び第２のメディアデータそれぞれのパケットを一時的に蓄積するバッファと、
前記バッファに蓄積されたメディアデータのバイト数を所定時間ｄＴ毎に測定し、該測定されたバイト数（Ｂ１〜ＢＮ）の履歴を記録するメモリ手段と、
前記バッファへのバッファ入力レートＢＲinを測定するバッファ入力レート算出手段と、
バッファ蓄積変動量（Ｂ１−ＢＮ）が増加している場合、前記バッファからのメディアデータのバッファ出力レートＢＲを、
バッファ出力レートＢＲ＝
バッファ入力レートＢＲin−バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）
によって決定し、決定された前記バッファ出力レートＢＲを符号化レートとして前記第１のエンコーダ手段に入力する符号化レート決定手段と
を有することを特徴とする符号化レートを制御する送信装置。
【請求項３】
前記第１のメディアデータは映像データであって、前記第２のメディアデータは音声データであることを特徴とする請求項２に記載の送信装置。
【請求項４】
前記第１のメディアデータは音声データであって、前記第２のメディアデータは映像データであることを特徴とする請求項２に記載の送信装置。
【請求項５】
前記符号化レート決定手段は、前記符号化レートを
符号化レート ≦ バッファ出力レートＢＲ
となるように決定することを特徴とする請求項１から４のいずれか１項に記載の送信装置。
【請求項６】
バッファ入力レートＢＲin ≦ バッファ出力レートＢＲ
であって、且つ、前記バッファのバッファ蓄積量が所定の閾値以下である状態が、一定時間経過した際に、安定状態であるとして検出する安定状態判定手段と、
前記安定状態判定手段が前記安定状態であると判定した際に、前記メディアデータを送信すべき伝送路レートを測定する伝送路レート測定手段と
を更に有し、
前記符号化レート決定手段は、前記伝送路レート測定手段によって測定された伝送路レートを前記バッファ出力レートＢＲとして、前記符号化レートを決定することを特徴とする請求項１から５のいずれか１項に記載の送信装置。
【請求項７】
バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）について平均化する平均化手段を更に有することを特徴とする請求項１から６のいずれか１項に記載の送信装置。
【請求項８】
送信すべきメディアデータを符号化するエンコーダ手段と、
前記符号化されたメディアデータを一時的に蓄積するバッファと、
前記バッファに蓄積されたメディアデータのバイト数を所定時間ｄＴ毎に測定し、該測定されたバイト数（Ｂ１〜ＢＮ）の履歴を記録するメモリ手段と、
前記バッファへのバッファ入力レートＢＲinを測定するバッファ入力レート算出手段と、
バッファ蓄積変動量（Ｂ１−ＢＮ）が増加している場合、前記バッファからのメディアデータのバッファ出力レートＢＲを、
バッファ出力レートＢＲ＝
バッファ入力レートＢＲin−バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）
によって決定し、決定された前記バッファ出力レートＢＲを符号化レートとして前記エンコーダ手段に入力する符号化レート決定手段と
してコンピュータを機能させることを特徴とする符号化レートを制御する送信プログラム。
【請求項９】
送信すべき第１のメディアデータを符号化する第１のエンコーダ手段と、
送信すべき第２のメディアデータを符号化する第２のエンコーダ手段と、
前記符号化された第１のメディアデータ及び第２のメディアデータそれぞれのパケットを一時的に蓄積するバッファと、
前記バッファに蓄積されたメディアデータのバイト数を所定時間ｄＴ毎に測定し、該測定されたバイト数（Ｂ１〜ＢＮ）の履歴を記録するメモリ手段と、
前記バッファへのバッファ入力レートＢＲinを測定するバッファ入力レート算出手段と、
バッファ蓄積変動量（Ｂ１−ＢＮ）が増加している場合、前記バッファからのメディアデータのバッファ出力レートＢＲを、
バッファ出力レートＢＲ＝
バッファ入力レートＢＲin−バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）
によって決定し、決定された前記バッファ出力レートＢＲを符号化レートして前記第１のエンコーダ手段に入力する符号化レート決定手段と
してコンピュータを機能させることを特徴とする符号化レートを制御する送信プログラム。
【請求項１０】
前記第１のメディアデータは映像データであって、前記第２のメディアデータは音声データであることを特徴とする請求項９に記載の送信プログラム。
【請求項１１】
前記第１のメディアデータは音声データであって、前記第２のメディアデータは映像データであることを特徴とする請求項９に記載の送信プログラム。
【請求項１２】
前記符号化レート決定手段は、前記符号化レートを
符号化レート ≦ バッファ出力レートＢＲ
となるように決定するようにコンピュータを機能させることを特徴とする請求項８から１１のいずれか１項に記載の送信プログラム。
【請求項１３】
バッファ入力レートＢＲin ≦ バッファ出力レートＢＲ
であって、且つ、前記バッファのバッファ蓄積量が所定の閾値以下である状態が、一定時間経過した際に、安定状態であるとして検出する安定状態判定手段と、
前記安定状態判定手段が前記安定状態になったと判定した際に、前記メディアデータを送信すべき伝送路レートを測定する伝送路レート測定手段と
を更に有し、
前記符号化レート決定手段は、前記伝送路レート測定手段によって測定された伝送路レートを前記バッファ出力レートＢＲとして、前記符号化レートを決定するようにコンピュータを機能させることを特徴とする請求項８から１２のいずれか１項に記載の送信プログラム。
【請求項１４】
バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）について平均化する平均化手段を更に有するように機能させることを特徴とする請求項８から１３のいずれか１項に記載の送信プログラム。
【請求項１５】
送信すべきメディアデータを符号化するエンコーダと、前記符号化されたメディアデータを一時的に蓄積するバッファとを有し、
前記バッファに蓄積されたメディアデータのバイト数を所定時間ｄＴ毎に測定し、メモリにその測定されたバイト数（Ｂ１〜ＢＮ）の履歴を記録する第１のステップと、
前記バッファへのバッファ入力レートＢＲinを測定する第２のステップと、
バッファ蓄積変動量（Ｂ１−ＢＮ）が増加している場合、前記バッファからのメディアデータのバッファ出力レートＢＲを、
バッファ出力レートＢＲ＝
バッファ入力レートＢＲin−バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）
によって決定し、決定された前記バッファ出力レートＢＲを符号化レートとして前記エンコーダに入力する第３のステップと
有することを特徴とする符号化レートを制御する送信方法。
【請求項１６】
送信すべき第１のメディアデータを符号化する第１のエンコーダと、送信すべき第２のメディアデータを符号化する第２のエンコーダと、前記符号化された第１のメディアデータ及び第２のメディアデータそれぞれのパケットを一時的に蓄積するバッファとを有し、
前記バッファに蓄積されたメディアデータのバイト数を所定時間ｄＴ毎に測定し、メモリにその測定されたバイト数（Ｂ１〜ＢＮ）の履歴を記録する第１のステップと、
前記バッファへのバッファ入力レートＢＲinを測定する第２のステップと、
バッファ蓄積変動量（Ｂ１−ＢＮ）が増加している場合、前記バッファからのメディアデータのバッファ出力レートＢＲを、
バッファ出力レートＢＲ＝
バッファ入力レートＢＲin−バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）
によって決定し、決定された前記バッファ出力レートＢＲを符号化レートとして前記第１のエンコーダ手段に入力する第３のステップと
を有することを特徴とする符号化レートを制御する送信方法。
【請求項１７】
前記第１のメディアデータは映像データであって、前記第２のメディアデータは音声データであることを特徴とする請求項１６に記載の送信方法。
【請求項１８】
前記第１のメディアデータは音声データであって、前記第２のメディアデータは映像データであることを特徴とする請求項１６に記載の送信方法。
【請求項１９】
前記第３のステップは、前記符号化レートを
符号化レート ≦ バッファ出力レートＢＲ
となるように決定することを特徴とする請求項１５から１８のいずれか１項に記載の送信方法。
【請求項２０】
バッファ入力レートＢＲin ≦ バッファ出力レートＢＲ
であって、且つ、前記バッファのバッファ蓄積量が所定の閾値以下である状態が、一定時間経過した際に、安定状態であるとして検出するステップと、
前記安定状態判定手段が前記安定状態であると判定した際に、前記メディアデータを送信すべき伝送路レートを測定するステップと
を更に有し、
前記第３のステップは、前記伝送路レート測定手段によって測定された伝送路レートを前記バッファ出力レートＢＲとして、前記符号化レートを決定することを特徴とする請求項１５から１８のいずれか１項に記載の送信方法。
【請求項２１】
バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）について平均化するステップを更に有することを特徴とする請求項１５から２０のいずれか１項に記載の送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化レートを制御する送信装置、送信プログラム及び送信方法に関する。
【背景技術】
【０００２】
異なるメディアデータを多重化する送信装置は、同時に並行して発生する複数のメディアデータをメディア毎に符号化し、所定サイズのフレームに構成してネットワークへ送信する。一方、受信装置は、メディア毎に異なるメディアデコーダを用いて、受信したフレーム単位でメディアデータを復号する。メディアデータ毎に、所定サイズをどのように決定するかが、マルチメディアデータの多重化においては重要である。
【０００３】
多重化方式としては、バイト多重がある。バイト多重は、異なるメディアデータを適当なバイト数の単位で切り替えることができる。受信装置は、フレームに付加されたヘッダの内容によって、そのメディアデータに適したデコーダに切り替える。このようなパケット多重は、柔軟性が高く、ソフトウェア処理に適している。
【０００４】
図１は、従来技術によるパケット多重化のための送信装置の機能構成図である。
【０００５】
送信装置１は、映像データ及び音声データをリアルタイムで符号化して送信するものである。送信装置１は、映像信号を出力するカメラ４と、音声信号を出力するマイク５とに接続され、データパケットを送信するためにＩＰネットワーク３に接続されている。
【０００６】
送信装置１は、映像データについて、フォーマット変換部１０１と、映像エンコーダ部１０２と、映像データ用バッファ１０３と、ＲＴＰ(Real-time Transport Protocol)ヘッダ付加部１０４とを有する。また、音声データについて、増幅器１１０と、音声エンコーダ部１０８と、音声データ用バッファ１０７と、ＲＴＰヘッダ付加部１０６とを有する。更に、ＩＰ(Internet Protocol)ネットワーク３に対応してＵＤＰ(User Datagram Protocol)／ＩＰプロトコルスタック部１０５を有する。
【０００７】
カメラ４から出力された映像信号は、フォーマット変換部１０１によって圧縮符号化に適した映像フォーマットに変換され、映像エンコーダ１０２によって圧縮符号化される。その方式は、１フレーム（１画面）を単位として符号化データを生成するものであって、例えばＩＳＯ／ＩＥＣ(International Organization for Standardization／International Electrotechnical Commission)  ＭＰＥＧ−４(Moving Picture Experts Group-4)ビジュアルがある。低ビットレートのＭＰＥＧ−４によれば、１フレームは、例えば１００ｍ秒間隔（毎秒１０フレーム）となる。生成されたビットストリームデータは、映像データ用バッファ１０３に入力される。ＲＴＰヘッダ付加部１０４は、バッファ１０３から取り出した映像データのフレーム毎にＲＴＰヘッダを付加する。そのＲＴＰパケットは、ＵＤＰ／ＩＰプロトコルスタック部１０５によってＵＤＰ及びＩＰヘッダが付加され、ＩＰネットワーク３へ送信される。
【０００８】
一方、マイク５から出力された音声信号は、増幅器１１０によって増幅され、Ａ／Ｄ(Analog/Digital)変換部１０９によって伝送可能なビット列に変換される。次に、その音声データは、音声エンコーダ１０８によって圧縮符号化される。その方式は、予め決められた時間長を１フレームとして符号化データを生成するものであって、例えば３ＧＰＰ(3rd Generation Partnership Project) ＡＭＲ(Adaptive Multi Rate)がある。ＡＭＲ方式においては、１フレームは２０ｍ秒となる。生成されたビットストリームは、音声データ用バッファ１０７に入力される。ＲＴＰヘッダ付加部１０６は、バッファ１０７から取り出した映像データのフレーム毎にＲＴＰヘッダを付加する。そのＲＴＰパケットは、ＵＤＰ／ＩＰプロトコルスタック部１０５によってＵＤＰ及びＩＰヘッダが付加され、ＩＰネットワーク３へ送信される。
【０００９】
受信装置２は、データパケットを受信するためにＩＰネットワーク３に接続され、受信したデータパケットのメディアデータに応じて復号するものである。受信装置２は、映像信号を入力するディスプレイ６と、音声信号を入力するスピーカ７とに接続されている。
【００１０】
受信装置２は、ＩＰネットワーク３から受信したパケットに対して、ＩＰ及びＵＤＰヘッダを処理するＵＤＰ／ＩＰプロトコルスタック部２０５を有する。受信装置２は、映像データについて、ＲＴＰヘッダ除去部２０４と、映像デコーダ２０３と、映像データ用バッファ２０２と、ディスプレイ制御部２０１とを有する。映像信号は、ディスプレイ制御部２０１からディスプレイ６に出力される。また、音声データについて、ＲＴＰヘッダ除去部２０６と、音声デコーダ２０７と、音声データ用バッファ２０８と、Ｄ／Ａ変換部２０９と、増幅器２１０とを有する。音声信号は、増幅器２１０からスピーカ７へ出力される。
【００１１】
先行公知文献としては、ＲＴＰについて規定したＩＥＴＦ ＲＦＣ３５５０（非特許文献１参照）、ＭＰＥＧ−４をＲＴＰに乗せたフォーマットを規定したＩＥＴＦ ＲＦＣ３０１６（非特許文献２参照）、ＡＭＲをＲＴＰに乗せたフォーマットを規定したＩＥＴＦ ＲＦＣ３２６７（非特許文献３参照）がある。
【００１２】
【非特許文献１】ＩＥＴＦ(Internet Engineering Task Force) ＲＦＣ(Request For Comment)３５５０
【非特許文献２】ＩＥＴＦ ＲＦＣ３０１６
【非特許文献３】ＩＥＴＦ ＲＦＣ３２６７
【発明の開示】
【発明が解決しようとする課題】
【００１３】
表１は、従来技術におけるパケット多重化フレームのデータ構造である。
【表１】
2006115306.tif 000003
【００１４】
従来技術によれば、音声データのフレームと、映像データのフレームとは別々に必要となる。これは、フレーム毎に、そのメディアデータに応じたデコーダによって復号させるためである。
【００１５】
前述したような従来技術によれば、生成されるＲＴＰパケットは以下のようになる。ここで、符号化パラメータとして、低い伝送レート（６４ｋbit／秒）における一般的な値を想定する。
映像の符号化ビットレート：３２ｋbit／秒、フレームレート：１０枚／秒
音声の符号化ビットレート：６８００bit／秒、フレーム長：２０m秒
ＲＴＰヘッダサイズ：１２byte
ＵＤＰヘッダ：８byte
ＩＰヘッダ：２０byte
【００１６】
映像データについては、以下のようになる。
映像の符号化ビットレート：３２ｋbit／秒÷８bit ＝ ４ｋbyte／秒
秒当たりの伝送フレーム数：１０フレーム／秒
映像データパケットの伝送間隔：１秒／１０フレーム ＝ １００ｍ秒
フレームレート：４ｋbyte／秒÷１０フレーム／秒 ＝ ４００byte／フレーム
映像の１パケット：４００byte＋１２byte＋８byte＋２０byte ＝ ４４０byte
映像１パケットの伝送時間：４４０byte×８bit÷６４ｋbit／秒 ＝ ５５m秒
【００１７】
音声データについては、以下のようになる。
音声の符号化ビットレート：６８００bit／秒÷８bit ＝ ８５０byte／秒
秒当たりの伝送フレーム数：５０フレーム／秒
音声データパケットの伝送間隔：１秒／５０フレーム ＝ ２０ｍ秒
１フレーム当たりのバイト数：８５０byte／秒×２０ｍ秒 ＝ １７byte／フレーム
音声の１パケット：１７byte＋１２byte＋８byte＋２０byte ＝ ５７byte
音声１パケットの伝送時間：５７byte×８bit÷６４ｋbit／秒 ＝ ７．１２５m秒
【００１８】
音声データパケットは２０ｍ秒間隔で送信され、映像データパケットは１００ｍ秒間隔で送信されるので、音声データパケットの送信の５回に１回の割合で、映像データパケットの送信が割り込むこととなる。
【００１９】
図２は、従来技術におけるフレームの伝送シーケンス図である。
【００２０】
音声データパケットは２０ｍ秒毎に送信され、映像データパケットは１００ｍ秒毎に送信される。音声データパケットは、４０byteのヘッダ（ＩＰ、ＵＤＰ、ＲＴＰ）とデータ部分とからなる。データ部分が１７byteとすると、伝送に７．１２５ｍ秒を要する。映像データパケットは、４０byteのヘッダとデータ部分とからなる。データ部分が４００byteとすると、伝送に５５ｍ秒を要する。
【００２１】
図２によれば、例えば、映像データパケットV1の送信の直後に、音声データパケットA3が送信されたとする。映像データパケットV1は、送信装置から送信されてから５５ｍ秒後に、受信装置に到着する。一方、音声データパケットA3は、更に７．１２５ｍ秒後、即ち送信装置から送信されてから６２．１２５ｍ秒後に、受信装置に到着する。このために、映像データパケットによって割り込まれた音声データパケットは、送信装置の送出間隔２０ｍ秒に対し、受信装置に受信された時は６２ｍ秒後ということになる。その後、音声データパケットA4,A5,A6,A7が連続して、受信装置に到着する。音声データパケットの伝送に要する時間７ｍ秒は、送出間隔２０ｍ秒に比べて十分小さいため、受信装置における到着間隔はやがて元に戻ることとなるが、その後、再度、映像データパケットが音声データパケットの間に割り込むため、到着遅延の変動が生じる。
【００２２】
音声データは、映像データのようなフレーム単位で離散的なデータと異なって、アナログ信号に戻して再生する際に、連続的でなければならない。このため、受信装置は、音声データパケットの最大到着遅延量に合わせて、予めバッファに蓄積してから再生する。このような音声データパケットの遅延変動は、受信側に大きなバッファ蓄積を要求することとなり、伝送遅延全体を増大させるものとなる。
【００２３】
更に、従来技術によれば、ＲＴＰ、ＵＤＰ、ＩＰのヘッダを、映像データパケット及び音声データパケットそれぞれ独立に付加する必要がある。従って、
（１２byte＋８byte＋２０byte）×８bit×（５０音声フレーム＋１０映像フレーム）
＝ １９．２ｋbit／秒
ものヘッダによるオーバヘッドを要する。
【００２４】
また、音声データパケットの遅延変動を抑えるために、映像データパケットを分割し、映像データパケットと音声データパケットとを交互に送信するという方法もある。この場合、両パケットが等間隔で送信されるため、音声データパケットの到着時間ゆらぎを回避することは可能となる。しかしながら、この方法によれば、ヘッダによるオーバヘッドは、更に大きくなり、伝送効率が極めて低下する。
（１２byte＋８byte＋２０byte）×８bit×（５０音声フレーム＋５０映像フレーム）
＝ ３２ｋbit／秒
【００２５】
このように、従来技術によれば、異なるメディアデータが異なるフレームで伝送され、フレーム毎にＲＴＰヘッダを必要とするために伝送効率が低くなるだけでなく、一方のメディアデータの伝送が、他方のメディアデータの伝送の遅延変動に影響を与えることとなる。
【００２６】
しかしながら、多重化フレームのパケットを一時的に蓄積するバッファについて、バッファ入力レートよりも、伝送路レート即ちバッファ出力レートの方が低い場合、バッファに蓄積されるパケットの数が時間と共に増大する。帯域保証のないインターネットや、無線環境が変化しやすいモバイルネットワークにおいては、伝送路レートの変動が著しい。リアルタイム通信における音声データについては、音声データが所望の時間間隔で到着しないことによる音途切れが発生する。また、映像データについては、フレーム間隔のゆらぎ及び表示遅延として、利用者に知覚されることとなる。
【００２７】
特に、ＩＰテレビ電話等の会話目的のリアルタイム通信においては、会話成立のために、少なくとも音声データは遅滞なく伝送される必要がある。このため、伝送路レートが変動するような環境下においては、音声データを確実に伝送するための制御が必要となる。
【００２８】
従って、本発明は、ＩＰテレビ電話等の会話目的のリアルタイム通信に適するように、符号化レートを制御する送信装置、送信プログラム及び送信方法を提供する。
【課題を解決するための手段】
【００２９】
本発明における送信装置は、
送信すべきメディアデータを符号化するエンコーダ手段と、
符号化されたメディアデータを一時的に蓄積するバッファと、
バッファに蓄積されたメディアデータのバイト数を所定時間ｄＴ毎に測定し、該測定されたバイト数（Ｂ１〜ＢＮ）の履歴を記録するメモリ手段と、
バッファへのバッファ入力レートＢＲinを測定するバッファ入力レート算出手段と、
バッファ蓄積変動量（Ｂ１−ＢＮ）が増加している場合、バッファからのメディアデータのバッファ出力レートＢＲを、
バッファ出力レートＢＲ＝
バッファ入力レートＢＲin−バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）
によって決定し、決定されたバッファ出力レートＢＲを符号化レートとしてエンコーダ手段に入力する符号化レート決定手段と
を有することを特徴とする。
【００３０】
また、本発明における送信装置は、
送信すべき第１のメディアデータを符号化する第１のエンコーダ手段と、
送信すべき第２のメディアデータを符号化する第２のエンコーダ手段と、
符号化された第１のメディアデータ及び第２のメディアデータそれぞれのパケットを一時的に蓄積するバッファと、
バッファに蓄積されたメディアデータのバイト数を所定時間ｄＴ毎に測定し、該測定されたバイト数（Ｂ１〜ＢＮ）の履歴を記録するメモリ手段と、
バッファへのバッファ入力レートＢＲinを測定するバッファ入力レート算出手段と、
バッファ蓄積変動量（Ｂ１−ＢＮ）が増加している場合、バッファからのメディアデータのバッファ出力レートＢＲを、
バッファ出力レートＢＲ＝
バッファ入力レートＢＲin−バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）
によって決定し、決定されたバッファ出力レートＢＲを符号化レートとして第１のエンコーダ手段に入力する符号化レート決定手段と
を有することを特徴とする。
【００３１】
本発明の送信装置における他の実施形態によれば、第１のメディアデータは映像データであって、第２のメディアデータは音声データであってもよい。また、第１のメディアデータは音声データであって、第２のメディアデータは映像データであってもよい。
【００３２】
また、本発明の送信装置における他の実施形態によれば、符号化レート決定手段は、符号化レートを
符号化レート ≦ バッファ出力レートＢＲ
となるように決定することも好ましい。
【００３３】
更に、本発明の送信装置における他の実施形態によれば、
バッファ入力レートＢＲin ≦ バッファ出力レートＢＲ
であって、且つ、バッファのバッファ蓄積量が所定の閾値以下である状態が、一定時間経過した際に、安定状態であるとして検出する安定状態判定手段と、
安定状態判定手段が安定状態であると判定した際に、メディアデータを送信すべき伝送路レートを測定する伝送路レート測定手段と
を更に有し、
符号化レート決定手段は、伝送路レート測定手段によって測定された伝送路レートをバッファ出力レートＢＲとして、符号化レートを決定することも好ましい。
【００３４】
更に、本発明の送信装置における他の実施形態によれば、バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）について平均化する平均化手段を更に有することも好ましい。
【００３５】
本発明における送信プログラムは、
送信すべきメディアデータを符号化するエンコーダ手段と、
符号化されたメディアデータを一時的に蓄積するバッファと、
バッファに蓄積されたメディアデータのバイト数を所定時間ｄＴ毎に測定し、該測定されたバイト数（Ｂ１〜ＢＮ）の履歴を記録するメモリ手段と、
バッファへのバッファ入力レートＢＲinを測定するバッファ入力レート算出手段と、
バッファ蓄積変動量（Ｂ１−ＢＮ）が増加している場合、バッファからのメディアデータのバッファ出力レートＢＲを、
バッファ出力レートＢＲ＝
バッファ入力レートＢＲin−バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）
によって決定し、決定されたバッファ出力レートＢＲを符号化レートとしてエンコーダ手段に入力する符号化レート決定手段と
してコンピュータを機能させることを特徴とする。
【００３６】
また、本発明における送信プログラムは、
送信すべき第１のメディアデータを符号化する第１のエンコーダ手段と、
送信すべき第２のメディアデータを符号化する第２のエンコーダ手段と、
符号化された第１のメディアデータ及び第２のメディアデータそれぞれのパケットを一時的に蓄積するバッファと、
バッファに蓄積されたメディアデータのバイト数を所定時間ｄＴ毎に測定し、該測定されたバイト数（Ｂ１〜ＢＮ）の履歴を記録するメモリ手段と、
バッファへのバッファ入力レートＢＲinを測定するバッファ入力レート算出手段と、
バッファ蓄積変動量（Ｂ１−ＢＮ）が増加している場合、バッファからのメディアデータのバッファ出力レートＢＲを、
バッファ出力レートＢＲ＝
バッファ入力レートＢＲin−バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）
によって決定し、決定されたバッファ出力レートＢＲを符号化レートして第１のエンコーダ手段に入力する符号化レート決定手段と
してコンピュータを機能させることを特徴とする。
【００３７】
本発明の送信プログラムにおける他の実施形態によれば、第１のメディアデータは映像データであって、第２のメディアデータは音声データであってもよい。また、第１のメディアデータは音声データであって、第２のメディアデータは映像データであってもよい。
【００３８】
また、本発明の送信プログラムにおける他の実施形態によれば、符号化レート決定手段は、符号化レートを
符号化レート ≦ バッファ出力レートＢＲ
となるように決定するように機能させることも好ましい。
【００３９】
更に、本発明の送信プログラムにおける他の実施形態によれば、
バッファ入力レートＢＲin ≦ バッファ出力レートＢＲ
であって、且つ、バッファのバッファ蓄積量が所定の閾値以下である状態が、一定時間経過した際に、安定状態であるとして検出する安定状態判定手段と、
安定状態判定手段が安定状態になったと判定した際に、メディアデータを送信すべき伝送路レートを測定する伝送路レート測定手段と
を更に有し、
符号化レート決定手段は、伝送路レート測定手段によって測定された伝送路レートをバッファ出力レートＢＲとして、符号化レートを決定するように機能させることも好ましい。
【００４０】
更に、本発明の送信プログラムにおける他の実施形態によれば、バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）について平均化する平均化手段を更に有するように機能させることも好ましい。
【００４１】
本発明における送信方法は、
送信すべきメディアデータを符号化するエンコーダと、符号化されたメディアデータを一時的に蓄積するバッファとを有し、
バッファに蓄積されたメディアデータのバイト数を所定時間ｄＴ毎に測定し、メモリにその測定されたバイト数（Ｂ１〜ＢＮ）の履歴を記録する第１のステップと、
バッファへのバッファ入力レートＢＲinを測定する第２のステップと、
バッファ蓄積変動量（Ｂ１−ＢＮ）が増加している場合、バッファからのメディアデータのバッファ出力レートＢＲを、
バッファ出力レートＢＲ＝
バッファ入力レートＢＲin−バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）
によって決定し、決定されたバッファ出力レートＢＲを符号化レートとしてエンコーダに入力する第３のステップと
有することを特徴とする。
【００４２】
また、本発明における送信方法は、
送信すべき第１のメディアデータを符号化する第１のエンコーダと、送信すべき第２のメディアデータを符号化する第２のエンコーダと、符号化された第１のメディアデータ及び第２のメディアデータそれぞれのパケットを一時的に蓄積するバッファとを有し、
バッファに蓄積されたメディアデータのバイト数を所定時間ｄＴ毎に測定し、メモリにその測定されたバイト数（Ｂ１〜ＢＮ）の履歴を記録する第１のステップと、
バッファへのバッファ入力レートＢＲinを測定する第２のステップと、
バッファ蓄積変動量（Ｂ１−ＢＮ）が増加している場合、バッファからのメディアデータのバッファ出力レートＢＲを、
バッファ出力レートＢＲ＝
バッファ入力レートＢＲin−バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）
によって決定し、決定されたバッファ出力レートＢＲを符号化レートとして第１のエンコーダ手段に入力する第３のステップと
を有することを特徴とする。
【００４３】
本発明の送信方法における他の実施形態によれば、第１のメディアデータは映像データであって、第２のメディアデータは音声データであってもよい。また、第１のメディアデータは音声データであって、第２のメディアデータは映像データであってもよい。
【００４４】
また、本発明の送信方法における他の実施形態によれば、第３のステップは、符号化レートを
符号化レート ≦ バッファ出力レートＢＲ
となるように決定することも好ましい。
【００４５】
更に、本発明の送信方法における他の実施形態によれば、
バッファ入力レートＢＲin ≦ バッファ出力レートＢＲ
であって、且つ、バッファのバッファ蓄積量が所定の閾値以下である状態が、一定時間経過した際に、安定状態であるとして検出するステップと、
安定状態判定手段が安定状態であると判定した際に、メディアデータを送信すべき伝送路レートを測定するステップとを更に有し、
第３のステップは、伝送路レート測定手段によって測定された伝送路レートをバッファ出力レートＢＲとして、符号化レートを決定することも好ましい。
【００４６】
更に、本発明の送信方法における他の実施形態によれば、バッファ蓄積変動量（Ｂ１−ＢＮ）／変動時間間隔（ｄＴ×Ｎ）について平均化するステップを更に有することも好ましい。
【発明の効果】
【００４７】
本発明によれば、バッファ入力レートと、時間経過に伴うバッファ蓄積変動量とに基づいて、バッファ出力レートを算出し、そのバッファ出力レートよりも幾分低い符号化レートをエンコーダに入力することによって、バッファ入力レートがバッファ出力レート（伝送路レート）を越えないように、エンコーダの情報発生量を制御することができる。
【００４８】
特に、音声エンコーダと映像エンコーダとを有する送信装置等においては、映像エンコーダのみの符号化レートを制御することにより、音声データは、そのビットレートを変更することなく維持することができ、安定した音声会話が実現できる。
【００４９】
また、バッファ蓄積量が所定の閾値以下であって、バッファ蓄積量に基づく符号化レート決定が変動しない状態が一定時間経過した際に、伝送路レート測定部によって伝送路レートの回復を判断し、測定された伝送路レートに応じてメディアエンコーダの情報発生量を制御することもできる。
【発明を実施するための最良の形態】
【００５０】
以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。
【００５１】
表２は、本発明によって用いられるパケット多重化フレームのデータ構造である。
【表２】
2006115306.tif 000004
【００５２】
表２によれば、本発明におけるフレームのデータ構造は、ＵＤＰヘッダに続いて、１byteのシリアル番号部と、１byteの音声データサイズ部と、そのサイズ部に格納された長さの音声データと、映像データとを含む。従って、表１と比較して、ＲＴＰヘッダを必要としない。シリアル番号部は、符号なし整数であって、０〜２５５の巡回値となる。音声データサイズ部は１byteであるので、必然的に音声データのサイズは０〜２５５byteとなる。
【００５３】
図３は、本発明におけるパケット多重化フレームのメディア分割構成図である。
【００５４】
図３の上段には、映像データを等サイズに分割し、パケット多重化フレームを構成したものである。常に、所定のバイト数の位置で映像データを分割することができるので、実装が容易となる。しかしながら、フレームの間を意識することなく、等サイズに分割するために、フレームに跨って分割される場合がある。この場合、映像フレームに跨った映像データを含むパケットを損失すると、２つの（前後の）フレーム対して影響を及ぼす。
【００５５】
図３の下段には、映像フレームにResyncマーカが挿入されたものが表されている。Resyncマーカは、符号化時に、マクロブロック境界に挿入される。このResyncマーカを実質的に等サイズ間に挿入し、このResyncマーカ間を１つの映像データとして多重化フレームに含めることにより、映像フレームに跨って映像データが分割されることがなくなる。即ち、１つの多重化フレームの損失が、２つの映像フレームに影響を及ぼすことがなくなる。
【００５６】
図４は、本発明によって用いられる送信装置の機能構成図である。以下では、音声再生装置の機能について説明するが、各機能はプログラムによって実装され、そのプログラムをコンピュータが実行することによって各機能が実現される。
【００５７】
図４によれば、送信装置１は、図１のＲＴＰヘッダ付加部１０４及び１０６に代わって、多重化部１１１を備えている。多重化部１１１は、多重パケット生成部１１１と、映像データを一時的に蓄積するメモリ１１１２と、音声データを一時的に蓄積するメモリ１１１３と、シリアル番号を生成する減算器１１１４と、遅延回路１１１５とを有する。ここで、音声データ用メモリ１１１２は、音声データサイズ（書き込みポインタと読み出しポインタとの差分）を、０〜２５５byteで表して出力することができる。
【００５８】
音声データがメモリ１１３に蓄積され及び／又は映像データがメモリ１１２に蓄積された際、多重パケット生成部１１１は、４入力１出力のスイッチで、シリアル番号、音声データサイズ、音声データ、映像データの順に切り替えて、その１巡によって、表２に表した１つのフレームを構成する。シリアル番号は、遅延回路１１５を通じて減算器１１１４に入力され、１増分（１加算）されて、新たなシリアル番号となる。
【００５９】
本発明によれば、映像データ及び音声データは、同じタイミングでバッファ１０３及び１０７から抜き取られ、シェーピングされて１つのフレームに多重化される。これにより、映像データと音声データとの到着遅延が一定となり、受信装置において音声データの到着ゆらぎを回避することができる。
【００６０】
また、多重パケットの生成に際し、ＲＴＰによって映像データパケット及び音声データパケットそれぞれに１２byteを要していたのに対し、本発明によれば、これら異なるメディアデータのパケットが統合され、且つＲＴＰに相当する部分のヘッダが２byteとなるため、ヘッダサイズを軽減することができる。
【００６１】
例えば、パケット送出間隔を２０ｍ秒とした場合、
（２byte＋８byte＋２０byte） × ８bit × ５０ ＝ １２ｋbit／秒
のオーバヘッドとなる。
【００６２】
即ち、従来技術によれば３２ｋbit／秒であることを考慮すると、本発明によれば２０ｋbit／秒ものオーバヘッドを削減することができる。ここで削減されたオーバヘッドのbit数は、映像データ又は音声データの符号化ビットレートに割り当てることができ、符号化品質を向上させることもできる。
【００６３】
図５は、図４の送信装置におけるフレームの伝送シーケンス図である。以下では、受信装置の機能について説明するが、各機能はプログラムによっても実現できる。
【００６４】
図５は、従来技術である図２のＳ２００の部分を表している。２０ｍ秒毎に送信する音声データパケットの送信タイミングで送信しようとすると、図２の映像データパケットよりも短い長さの映像データパケットを送信することができる。図５によれば、１７byteの音声データと８０byteの映像データとからなるフレームは、１５．８ｍ秒で受信装置によって受信される。即ち、映像データV1（４００byte）の受信終了タイミングは、音声データA1〜A4（１７byte×４個）の受信終了のタイミングと一致する。
【００６５】
例えば、ＡＭＲ方式の音声データサイズは、パケット送出間隔が２０ｍ秒である場合、以下のようなバイト数になる。ここでは、代表的な３モードについて列記する。
４．７５ｋbit／秒モード：  １４byte
※６．７０ｋbit／秒モード：  １９byte
１２．２ｋbit／秒モード：  ３３byte
【００６６】
映像データサイズは、単純に「ビットレート×時間」で表される。１パケットが２０ｍ秒間隔の場合、以下のようなバイト数となる。
３２ｋbit／秒：  ３２ｋbit／８bit × ２０ｍ秒 ＝ ８０byte
【００６７】
ＡＭＲが６．７０ｋbit／秒モードの場合、多重化フレームは、シリアル番号１byte、音声データサイズ１byte、音声データ１９byte及び映像データ８０byteからなる合計１０１byteを要する。
【００６８】
図６は、本発明における送信装置の基本的な機能構成図である。これは、１つのメディアデータに対する機能構成を表しており、エンコーダは、映像エンコーダであってよいし、音声エンコーダであってもよい。以下では、送信装置の機能について説明するが、各機能はプログラムによって実装され、そのプログラムをコンピュータが実行することによって各機能が実現される。
【００６９】
図６の送信装置は、メディアデータを符号化するエンコーダ部１０２と、符号化されたデータをパケットに構成するパケット構成部１１１と、符号化されたデータを一時的に蓄積するバッファ１０３と、ＵＤＰ／ＩＰヘッダを付加してＩＰネットワークへ送信するＵＤＰ／ＩＰプロトコルスタック部１０５とを有する。更に、メモリであるＮ個のシフトレジスタ１２２と、減算器１２３と、平均化部１２４と、安定度判定部１２５と、伝送路レート測定部１２６と、タイマ１２７と、クロック１２８と、減算器１３０と、バッファ入力レート算出部１３１と、符号化レート決定部１３２とを有する。
【００７０】
シフトレジスタ１２２は、バッファ１２１に蓄積されているパケットのバイト数を、一定の時間間隔ｄＴで測定し、そのバイト数を現在時刻のバッファ蓄積バイト数としてレジスタＢ１に記憶する。時間間隔ｄＴは、クロック１２８によって供給される。例えば、Ｎ個のレジスタ（Ｂ１〜ＢＮ）が備えられ、各レジスタに記憶されたバイト数はＦＩＦＯ(First In First Out)の形式で順にシフトされる。
【００７１】
各変数を、以下のように定義する。
Ｂ１：現在時刻のバッファ蓄積バイト数
ＢＮ：過去時刻（＝現在時刻−変動時間間隔（ｄＴ×Ｎ））のバッファ蓄積バイト数
ｄＴ：バッファのバイト数測定時間間隔
ｄＴ×Ｎ：過去時刻から現在時刻までの時間間隔
ＢＲ：バッファ出力レート（伝送路レート）
ＢＲin：バッファ入力レート（情報発生速度）
ＣＲ：エンコーダに入力される符号化レート
【００７２】
バッファ蓄積変動量ｄＢは、以下のように表される。これは、減算器１２３によって行われる。
ｄＢ ＝ Ｂ１−ＢＮ                                                式（１）
【００７３】
一方、バッファ入力レートＢＲinと、バッファ出力レートＢＲとの差分が、バッファ蓄積変動量ｄＢに反映される。
ｄＢ ＝ （ＢＲin−ＢＲ）×ｄＴ×Ｎ                                式（２）
【００７４】
式（１）＝式（２）から、以下のような関係式となる。
Ｂ１−ＢＮ ＝ （ＢＲin−ＢＲ）×ｄＴ×Ｎ                          式（３）
【００７５】
式（３）から、以下のような関係式が得られる。本発明によれば、式（４）によってバッファ蓄積量からバッファ出力レートＢＲを決定することができる。これは、符号化レート決定部１３２によって行われる。
ＢＲ ＝ ＢＲin−（Ｂ１−ＢＮ）／（ｄＴ×Ｎ）                      式（４）
【００７６】
更に、バッファ量の推移については、局所変動による影響を避けるため平均化処理を行う。平均化部１２４は、（Ｂ１−ＢＮ）／（ｄＴ×Ｎ）の値を所定個数だけ蓄積し、その平均を算出することにより、実際の変動よりも緩和される。
ＢＲ ＝ ＢＲin−average{（Ｂ１−ＢＮ）／（ｄＴ×Ｎ）}            式（５）
【００７７】
通常、バッファ入力レートＢＲinがバッファ出力レートＢＲよりも小さくなければ、バッファ蓄積変動量は増加する一方となる。従って、通信を安定させるためには、以下の式を満たす必要がある。
ＢＲin ≦ ＢＲ                                                  式（６）
【００７８】
式（５）によって推定されたＢＲから、エンコーダ１０２へ入力する符号化レートＣＲを決定する際に、測定されたＢＲinが式（６）を満足するように、例えば運用で使用される符号化レートの中で、ＢＲを越えないものをＣＲとする（ＣＲ＜≒ＢＲ）。映像データの符号化レートＣＲは、例えば、３２ｋbps->２８ｋbps->２４ｋbps・・・->４ｋbps->０ｋbpsのように変更できるとする。このときＢＲ＝２５ｋbpsであれば、ＣＲは２４ｋbpsに設定する。即ち、決定されたＢＲよりも小さい値であって、且つ、エンコーダで実際に運用される設定可能な値を設定する。決定された符号化レートＣＲは、エンコーダ１０２へ入力される。エンコーダ１０２は、入力された符号レートＣＲによって制御される。
【００７９】
安定度判定部１２５は、伝送路レートが回復したにもかかわらず、バッファ入力レートが低く抑えられている際に、伝送路レートを測定するタイミングを判定するものである。
式（６）「バッファ入力レートＢＲin ≦ バッファ出力レートＢＲ」の状態であって、且つ、バッファのバッファ蓄積量が所定の閾値Ｔｈ以下である状態が、一定時間ＴＭ経過した際に、安定状態であるとして検出する。所定の閾値Ｔｈは、パケット１個分のバイト数に設定することができる。例えば図５によれば、１byte＋１byte＋１７byte＋８０byte＝９９byteとなる（ＵＤＰ／ＩＰヘッダの２８byteを含まない）。
【００８０】
伝送路レート測定部１２６は、安定度判定部１２５が安定状態にあると判定した際に、実際に伝送路レートを測定するものである。伝送路レートの具体的な測定方法としては、例えば同一出願人による特願２００３−０８０１３４号がある。この方法は、サイズの異なる２種類のレポートパケットを送信装置及び受信装置の間で交換することによる往復遅延時間に基づいて、伝送路レートを決定するものである。
【００８１】
図７は、測定時間間隔ｄＴ毎に実行されるフローチャートである。
【００８２】
図７の処理は、一定の時間間隔ｄＴ毎、即ちバッファ蓄積量が測定され、レジスタをシフトし、シフトレジスタＢ１にバッファ蓄積量が格納される毎、に行われる。
（Ｓ７０１）レジスタＢ１に蓄積された現在時刻のバッファ蓄積量Ｂ１が、レジスタＢＮに蓄積された過去時刻のバッファ蓄積量ＢＮよりも大きいか否か判定する。Ｂ１がＢＮよりも大きくないならば、処理を終了する。
（Ｓ７０２）Ｂ１がＢＮよりも大きいならば、式（４）の計算をする。これにより、バッファ出力レートＢＲが算出される。
（Ｓ７０３）次に、バッファ出力レートＢＲに基づいて、エンコーダに対する符号化レートＣＲを求める。ここでは、ＣＲ＝ＢＲ−αとする。
（Ｓ７０４）算出された符号化レートＣＲは、エンコーダへ入力される。エンコーダは、入力された符号化レートＣＲに応じて制御される。
【００８３】
図８は、安定度判定部における伝送路レートの回復のためのフローチャートである。
【００８４】
図８の処理は、図７の処理に続いて（ｄＴ毎に）実行されてもよいし、別のタイミングで実行されてもよい。
（Ｓ８０１）バッファ入力レートＢＲinが、バッファ出力レートＢＲ以下であるか否かを判定する。ＢＲinがＢＲよりも大きければ、変数ｔに現在時刻nowを代入して（Ｓ８０７）、処理を終了する。
（Ｓ８０２）ＢＲinがＢＲ以下であるならば、バッファのバッファ蓄積量が、所定の閾値Ｔｈよりも小さいか否かを判定する。バッファ蓄積量が閾値Ｔｈ以上であれば、変数ｔに現時時刻nowを代入して（Ｓ８０７）、処理を終了する。
（Ｓ８０３）バッファ蓄積量が閾値Ｔｈよりも小さいならば、現在時刻nowから過去時刻ｔを差し引いた時間間隔が、所定の時間間隔ＴＭよりも長いか否かを判定する。ＴＭよりも短かいならば、処理を終了する。時間間隔ＴＭは、伝送路レートの回復判定時間であって、タイマ１２７によってカウントされる。例えば実際の伝送路レートが８０ｋbps程度であれば、時間間隔ＴＭはおよそ５秒程度に設定される。
（Ｓ８０４）所定の時間間隔ＴＭよりも長いならば、安定状態にあると判断し、伝送路レート測定処理を行う。
（Ｓ８０５）伝送レート測定処理によって測定された伝送路レートＴＲは、バッファ出力レートＢＲに代入され、符号化レートＣＲ（＝ＢＲ−α）が決定される。
（Ｓ８０６）最後に、符号化レートＣＲは、エンコーダへ入力される。エンコーダは、ＣＲに基づいて符号化レートを制御する。
【００８５】
図９は、バッファ蓄積量の時間変動を表すグラフである。縦軸は現在時刻のバッファ蓄積量を表し、横軸は時刻を表す。
【００８６】
伝送開始当初、式（６）ＢＲin ≦ ＢＲの関係が満足されているとする。
（Ｓ１）Ｎ＝５として、過去時刻のバッファ蓄積量ＢＮ＝２、現在時刻のバッファ蓄積量Ｂ１＝７とする。これは、伝送路レートが低下したことによって、バッファ蓄積変動量ｄＢ（Ｂ１−ＢＮ）が増加している。このとき、式（４）によってバッファ出力レートＢＲが算出される。そして、符号化レートＣＲ（＝ＢＲ−α）がエンコーダに入力される。
【００８７】
（Ｓ２）次に、ｄＴ時間経過した際、レジスタをシフトさせ、レジスタＢ１に現在時刻のバッファ蓄積量を新たに格納する。このとき、過去時刻のバッファ蓄積量ＢＮ＝２、現在時刻のバッファ蓄積量Ｂ１＝７とする。このとき、式（４）によってバッファ出力レートＢＲが算出される。そして、符号化レートＣＲ（＝ＢＲ−α）がエンコーダに入力される。
【００８８】
（Ｓ３、Ｓ４）次に、ｄＴ時間経過した際、レジスタをシフトさせ、レジスタＢ１に現在時刻のバッファ蓄積量を新たに格納する。このとき、過去時刻のバッファ蓄積量ＢＮ＝４、現在時刻のバッファ蓄積量Ｂ１＝５とする。このとき、式（４）によってバッファ出力レートＢＲが算出される。そして、符号化レートＣＲ（＝ＢＲ−α）がエンコーダに入力される。
【００８９】
（Ｓ５）次に、ｄＴ時間経過した際、レジスタをシフトさせ、レジスタＢ１に現在時刻のバッファ蓄積量を新たに格納する。このとき、過去時刻のバッファ蓄積量ＢＮ＝７、現在時刻のバッファ蓄積量Ｂ１＝２とする。ここでは、バッファ蓄積変動量ｄＢ（Ｂ１−ＢＮ）が減少している。従って、式（４）によって新たなバッファ出力レートを算出することはしない。
【００９０】
（Ｓ６）次に、ｄＴ時間経過した際、レジスタをシフトさせ、レジスタＢ１に現在時刻のバッファ蓄積量を新たに格納する。このとき、過去時刻のバッファ蓄積量ＢＮ＝７、現在時刻のバッファ蓄積量Ｂ１＝２とする。ここでは、バッファ蓄積変動量ｄＢ（Ｂ１−ＢＮ）が減少している。従って、式（４）によって新たなバッファ出力レートを算出することはしない。
【００９１】
図３のＳ４以降は、新たに決定されたバッファ入力レートＢＲinによって式（６）「バッファ入力レートＢＲin≦バッファ出力レートＢＲ」の状態が継続している。この間、バッファに蓄積されているデータバイト数は小さい値で維持されることとなる。しかしながら、伝送路レートが回復した場合であっても、このバッファ入力レートＢＲinを簡単に増大することはできない。式（４）からは、伝送路レートの回復の判断はできないためである。
【００９２】
図３のＳ４以降は、式（６）「バッファ入力レートＢＲin≦バッファ出力レートＢＲ」の状態であって、且つ、閾値Ｔｈ以下の状態が、一定時間ＴＭ以上継続しているとする安定状態か否かを判定する。安定状態が継続した場合、伝送路レートの測定を開始する。実際に測定された伝送路レートは、新たにバッファ出力レートＢＲとして反映される。従って、「バッファ入力レートＢＲin≦バッファ出力レートＢＲ」となるバッファ入力レートＢＲinが新たに決定され、そのバッファ入力レートＢＲinが映像エンコーダに１０２に入力される。
【００９３】
安定度判定部１２５は、レポートパケットを送受信して伝送路レートを測定する。レポートパケットを送信している際に、式（４）による伝送路レートの低下が検知されれば、レポートパケットにより送信バッファが影響を受けていることとなる。この場合、伝送路の回復状態は不十分と判断し、安定状態の判断は解除されることとなる。
【００９４】
図１０は、本発明における送信装置の機能構成図である。
【００９５】
図１０の送信装置は、図４の送信装置に図６の機能構成を含むものである。バッファ入力レート算出部１３１は、映像エンコーダ部１０２と音声エンコーダ部１０８とからバッファ入力レートを取得する。これら入力レートの和が、バッファ入力レートＢＲinとして算出される。バッファ１２１は、多重化部１１１によって映像データ及び音声データが１つのフレームに構成された多重化パケットを一時的に蓄積しており、シフトレジスタ１２２は、バッファ１２１のバッファ蓄積量を記憶する。符号化レート決定部１３２は、決定した符号化レートＣＲを映像エンコーダ部１０２に入力する。従って、映像データの符号化レートが動的に変更されることとなる。
【００９６】
しかしながら、符号化レート決定部１３２によって出力される符号化レートは、音声エンコーダに入力されてもよい。また、映像エンコーダ及び音声エンコーダの両方に入力されるものであってもよい。
【００９７】
例えば、符号化レート決定部１３２は、以前の符号化レートから１００００bit／秒だけ減少させなればならないとする。図１０の送信装置によれば、１００００bit／秒の符号化レートの減少を、映像エンコーダ１０２によって制御する。しかしながら、映像エンコーダ１０２の符号化レートを９０００bit／秒だけ低下させ、音声エンコーダ１０８の符号化レートを１０００bit／秒だけ低下させることもできる。
【００９８】
実際には、ＩＰテレビ電話によって用いられる会話用音声エンコーダは、ビットレートの設定範囲が狭い。例えばＡＭＲでは、４．７５ｋbit／秒〜１２．２ｋbit／秒である。これに対し、映像エンコーダは、３２ｋbit／秒の設定範囲がある。従って、音声エンコーダのレートを変更してもその範囲に限界があり、会話を優先するためにも音声エンコーダのレートは維持する必要がある。一方、映像エンコーダは、レート変更の範囲が広く、音声エンコーダと比較してビットレートに依存しないために、そのビットレート情報を相手通信装置へ送信する必要もない。従って、図１０の送信装置によれば、映像エンコーダのみの符号化レートを変更している。
【００９９】
前述した本発明における符号化レートを制御する送信装置、送信プログラム及び送信方法の種々の実施形態によれば、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略を、当業者は容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【図面の簡単な説明】
【０１００】
【図１】従来技術によるパケット多重化のための送信装置の機能構成図である。
【図２】従来技術におけるデータパケットの伝送のシーケンス図である。
【図３】本発明におけるパケット多重化フレームのメディア分割構成図である。
【図４】本発明によって用いられる送信装置の機能構成図である。
【図５】図４の送信装置におけるデータパケットの伝送のシーケンス図である。
【図６】本発明における送信装置の基本的な機能構成図である。
【図７】測定時間間隔ｄＴ毎に実行されるフローチャートである。
【図８】安定度判定部における伝送路レートの回復のためのフローチャートである。
【図９】バッファ蓄積量の時間変動を表すグラフである。
【図１０】本発明における送信装置の機能構成図である。
【符号の説明】
【０１０１】
１  送信装置
１０１  フォーマット変換部
１０２  映像エンコーダ部、エンコーダ部
１０３  映像データ用バッファ、バッファ
１０４、１０６  ＲＴＰヘッダ付加部
１０５  ＵＤＰ／ＩＰプロトコルスタック部
１０７  音声データ用バッファ
１０８  音声エンコーダ部
１０９  Ａ／Ｄ変換部
１１０  増幅器
１１１  パケット構成部、多重化部
１２１  バッファ
１２２  シフトレジスタ
１２３、１３０  減算器
１２４  平均化部
１２５  安定度判定部
１２６  伝送路レート測定部
１２７  タイマ
１２８  クロック
１２９  スイッチ
１３１  バッファ入力レート算出部
１３２  符号化レート決定部
３  ＩＰネットワーク
４  カメラ
５  マイク
【図１】
2006115306.tif 000005
【図２】
2006115306.tif 000006
【図３】
2006115306.tif 000007
【図４】
2006115306.tif 000008
【図５】
2006115306.tif 000009
【図６】
2006115306.tif 000010
【図７】
2006115306.tif 000011
【図８】
2006115306.tif 000012
【図９】
2006115306.tif 000013
【図１０】
2006115306.tif 000014