(57)【要約】【課題】遅延量の増大を抑制しながらパケットを安定的に伝送させることができるようにする。【解決手段】ジッタ情報取得部２５４は、符号化部１１１より供給される平均ビットレートや符号化レートのばらつき等のジッタ情報を取得し、それを目標符号化レート算出部２５６に供給する。最大伝送レート情報取得部２５５は、伝送レート制御部１２１より供給される最大伝送レート情報を取得し、それを目標符号化レート算出部２５６に供給する。目標符号化レート算出部２５６は、ジッタ情報取得部２５４より供給されるジッタ情報、および、最大伝送レート情報取得部２５５より供給される最大伝送レート情報に基づいて、目標符号化レートを算出する。本発明は、例えば、送信装置に適用することができる。【選択図】図５
2008263443.tif 000002
【特許請求の範囲】
【請求項１】
符号化部において符号化されて得られた符号化データのパケットをネットワークに伝送させる際のビットレートである伝送レートを平滑化する情報処理装置であって、
前記符号化部より出力される前記パケットを一時的に保持する保持手段と、
前記保持手段により保持されている前記パケットを読み出して送信する送信手段と、
前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得するジッタ情報取得手段と、
前記ジッタ情報取得手段により取得された前記ジッタ情報に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記送信手段が前記保持手段により保持されている前記パケットを前記伝送レートで読み出しても前記保持手段において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出する目標符号化レート算出手段と、
前記目標符号化レート算出手段により算出された前記目標符号化レートを前記符号化部に供給する目標符号化レート供給手段と
を備える情報処理装置。
【請求項２】
前記目標符号化レート算出手段は、前記ジッタ情報取得手段により取得される前記ジッタ情報の前記平均ビットレートが大きいほど、前記目標符号化レートを小さく設定する
請求項１に記載の情報処理装置。
【請求項３】
前記目標符号化レート算出手段は、前記ジッタ情報取得手段により取得される前記ジッタ情報の前記ビットレートのばらつきが大きいほど、前記目標符号化レートを小さく設定する
請求項１に記載の情報処理装置。
【請求項４】
前記ネットワークの状態を示すネットワーク情報を取得するネットワーク情報取得手段と、
前記ネットワーク情報取得手段により取得された前記ネットワーク情報に基づいて、前記伝送レートの最大値を算出する最大伝送レート算出手段と、
前記最大伝送レート算出手段により算出された前記伝送レートの最大値に基づいて前記送信手段の伝送レートを設定する伝送レート設定手段と
をさらに備え、
前記目標符号化レート算出手段は、前記ジッタ情報の他に、前記最大伝送レート算出手段により算出された前記伝送レートの最大値に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記遅延時間が前記目標値を満たすような容量のときに、前記送信手段が前記保持手段により保持されている前記パケットを、前記伝送レート設定手段により設定された伝送レートで読み出しても前記保持手段において溢れが生じないように前記目標符号化レートを算出する
請求項１に記載の情報処理装置。
【請求項５】
前記目標符号化レート算出手段は、前記最大伝送レートが大きいほど、前記目標符号化レートを大きく設定する
請求項４に記載の情報処理装置。
【請求項６】
前記保持手段により保持されている前記パケットのデータ量である蓄積量を示す蓄積量情報を取得する蓄積量情報取得手段をさらに備え、
前記目標符号化レート算出手段は、前記ジッタ情報の他に、前記蓄積量情報取得手段により取得された前記蓄積量情報に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記遅延時間が前記目標値を満たすような容量であり、かつ、現在前記保持手段に保持されているパケットのデータ量が前記蓄積量であるときに、前記送信手段が前記保持手段により保持されている前記パケットを前記伝送レートで読み出しても前記保持手段において溢れが生じないように前記目標符号化レートを算出する
請求項１に記載の情報処理装置。
【請求項７】
前記目標符号化レート算出手段は、前記蓄積量が大きいほど、前記目標符号化レートを小さく設定する
請求項６に記載の情報処理装置。
【請求項８】
符号化部において符号化されて得られた符号化データのパケットをネットワークに伝送させる際のビットレートである伝送レートを平滑化する情報処理装置の情報処理方法であって、
前記符号化部より出力される前記パケットを一時的に保持部に保持させ、
前記保持部に保持されている前記パケットを読み出して送信させ、
前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得し、
前記ジッタ情報に基づいて、前記保持部による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記保持部により保持されている前記パケットを前記伝送レートで読み出しても前記保持部において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出し、
前記目標符号化レートを前記符号化部に供給する
ステップを含む情報処理方法。
【請求項９】
符号化部において符号化されて得られた符号化データのパケットをネットワークに伝送させる際のビットレートである伝送レートを平滑化するコンピュータに実行させるプログラムにおいて、
前記符号化部より出力される前記パケットを一時的に保持部に保持させ、
前記保持部に保持されている前記パケットを読み出して送信させ、
前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得し、
前記ジッタ情報に基づいて、前記保持部による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記保持部により保持されている前記パケットを前記伝送レートで読み出しても前記保持部において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出し、
前記目標符号化レートを前記符号化部に供給する
ステップを含む情報処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、遅延量の増大を抑制しながらパケットを安定的に伝送させることができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、例えば、遠隔地の人間と会議を行うためのビデオ会議システム等においては、一方で撮影された画像がネットワーク等を介して他方に伝送されてモニタに表示される。通常、このようなシステムにおいては、画像データは符号化されパケット化されて伝送されるが、双方のユーザがリアルタイムにやり取りを行うため、撮影から表示までの遅延時間の低減が求められる。そこで、撮影されて得られた画像データは、順次符号化され、パケット化されて、伝送される。
【０００３】
しかしながら、このような符号化においては、画像の内容等によって符号量が変化するため、ビットレートが大きく変化する（大きなジッタ成分を持つ）。そのため、そのままパケットをネットワークに伝送するとバーストやアンダーフローが発生してしまい、パケットの伝送を安定的に行うことができず、受信側において遅延や画質劣化等が生じる恐れがある。
【０００４】
そこで、送信側において、バッファを用いて送信前のパケットを一時的に保持し、出力させるときのビットレートを一定にすることにより、伝送レートの平滑化を行う方法がある。
【０００５】
しかしながら、符号化時のビットレートの変化量が大きい場合、その変化量を吸収するために、より多くのバッファを蓄積させる必要があり、バッファに必要な記憶容量が増大するだけでなく、遅延時間も増大する恐れがある。
【０００６】
平滑化による遅延の増大を防ぐための方法としては、入力パケットのジッタを調査し、送信ビットレートを調整する方法が提案されている（例えば、特許文献１参照）。
【０００７】
この方法について図１を参照して説明する。図１において、送信装置１は、パケットを、ネットワーク２を介して送信先の他の装置（図示せず）に送信する装置であり、画像データを符号化してパケット化する符号化部１１とパケットの伝送レートを平滑化させる平滑化部１２を有する。
【０００８】
符号化部１１において生成されたパケットは、平滑化部１２のバッファ部２２に一時的に蓄積された後、伝送レート制御部２１に制御される送信部２３により読み出されてネットワーク２に送信される。
【０００９】
符号化部１１は、画像データを符号化したときの、平均ビットレートやそのビットレートのばらつき等よりなるジッタ情報を伝送レート制御部２１に供給する。伝送レート制御部２１は、そのジッタ情報に基づいて、バッファ部２２がオーバフローしないように、送信部２３に対して伝送レートを設定する。送信部２３は、設定された伝送レートでバッファ部２２よりパケットを読み出してネットワーク２に送信する。
【００１０】
つまり、伝送レート制御部２１は、符号化部１１が生成する符号化データのビットレートが上がった場合、伝送レートを上げることにより、バッファ部２２において溢れが生じないようにする。このような方法により、バッファ部２２のパケット蓄積量を抑制し、遅延時間を低減させる。
【００１１】
【特許文献１】特開２００３−２６４５８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述した特許文献１に記載の方法の場合、ネットワークの帯域制限や、受信側の装置の負荷状況等、外的要因を考慮せず伝送レートが設定されるため、伝送時にパケットの損失や遅延が生じる等、安定的なパケットの伝送が行えない恐れがあった。
【００１３】
本発明は、このような従来の実情に鑑みて提案されたものであり、遅延量の増大を抑制しながらパケットを安定的に伝送させることができるようにするものである。
【課題を解決するための手段】
【００１４】
本発明の一側面は、符号化部において符号化されて得られた符号化データのパケットをネットワークに伝送させる際のビットレートである伝送レートを平滑化する情報処理装置であって、前記符号化部より出力される前記パケットを一時的に保持する保持手段と、前記保持手段により保持されている前記パケットを読み出して送信する送信手段と、前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得するジッタ情報取得手段と、前記ジッタ情報取得手段により取得された前記ジッタ情報に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記送信手段が前記保持手段により保持されている前記パケットを前記伝送レートで読み出しても前記保持手段において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出する目標符号化レート算出手段と、前記目標符号化レート算出手段により算出された前記目標符号化レートを前記符号化部に供給する目標符号化レート供給手段とを備える情報処理装置である。
【００１５】
前記目標符号化レート算出手段は、前記ジッタ情報取得手段により取得される前記ジッタ情報の前記平均ビットレートが大きいほど、前記目標符号化レートを小さく設定することができる。
【００１６】
前記目標符号化レート算出手段は、前記ジッタ情報取得手段により取得される前記ジッタ情報の前記ビットレートのばらつきが大きいほど、前記目標符号化レートを小さく設定することができる。
【００１７】
前記ネットワークの状態を示すネットワーク情報を取得するネットワーク情報取得手段と、前記ネットワーク情報取得手段により取得された前記ネットワーク情報に基づいて、前記伝送レートの最大値を算出する最大伝送レート算出手段と、前記最大伝送レート算出手段により算出された前記伝送レートの最大値に基づいて前記送信手段の伝送レートを設定する伝送レート設定手段とをさらに備え、前記目標符号化レート算出手段は、前記ジッタ情報の他に、前記最大伝送レート算出手段により算出された前記伝送レートの最大値に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記遅延時間が前記目標値を満たすような容量のときに、前記送信手段が前記保持手段により保持されている前記パケットを、前記伝送レート設定手段により設定された伝送レートで読み出しても前記保持手段において溢れが生じないように前記目標符号化レートを算出することができる。
【００１８】
前記目標符号化レート算出手段は、前記最大伝送レートが大きいほど、前記目標符号化レートを大きく設定することができる。
【００１９】
前記保持手段により保持されている前記パケットのデータ量である蓄積量を示す蓄積量情報を取得する蓄積量情報取得手段をさらに備え、前記目標符号化レート算出手段は、前記ジッタ情報の他に、前記蓄積量情報取得手段により取得された前記蓄積量情報に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記遅延時間が前記目標値を満たすような容量であり、かつ、現在前記保持手段に保持されているパケットのデータ量が前記蓄積量であるときに、前記送信手段が前記保持手段により保持されている前記パケットを前記伝送レートで読み出しても前記保持手段において溢れが生じないように前記目標符号化レートを算出することができる。
【００２０】
前記目標符号化レート算出手段は、前記蓄積量が大きいほど、前記目標符号化レートを小さく設定することができる。
【００２１】
本発明の一側面はまた、符号化部において符号化されて得られた符号化データのパケットをネットワークに伝送させる際のビットレートである伝送レートを平滑化する情報処理装置の情報処理方法であって、前記符号化部より出力される前記パケットを一時的に保持部に保持させ、前記保持部に保持されている前記パケットを読み出して送信させ、前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得し、前記ジッタ情報に基づいて、前記保持部による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記保持部により保持されている前記パケットを前記伝送レートで読み出しても前記保持部において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出し、前記目標符号化レートを前記符号化部に供給するステップを含む情報処理方法である。
【００２２】
本発明の一側面はさらに、符号化部において符号化されて得られた符号化データのパケットをネットワークに伝送させる際のビットレートである伝送レートを平滑化するコンピュータに実行させるプログラムにおいて、前記符号化部より出力される前記パケットを一時的に保持部に保持させ、前記保持部に保持されている前記パケットを読み出して送信させ、前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得し、前記ジッタ情報に基づいて、前記保持部による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記保持部により保持されている前記パケットを前記伝送レートで読み出しても前記保持部において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出し、前記目標符号化レートを前記符号化部に供給するステップを含む情報処理をコンピュータに実行させるプログラムである。
【００２３】
本発明の一側面においては、符号化部より出力されるパケットが一時的に保持され、その保持されているパケットが読み出されて送信され、符号化部より供給される、符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、ビットレートのばらつきを示す情報よりなるジッタ情報が取得され、そのジッタ情報に基づいて、パケットの最大蓄積量が、符号化部において符号化データが生成されてから、パケットの伝送先において符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、保持されているパケットが所定の伝送レートで読み出されても溢れが生じないように、平均ビットレートの目標値である目標符号化レートが算出され、その目標符号化レートが符号化部に供給される。
【発明の効果】
【００２４】
本発明によれば、伝送レートを平滑化することができる。特に、遅延量の増大を抑制しながらパケットを安定的に伝送させるように伝送レートを平滑化することができる。
【発明を実施するための最良の形態】
【００２５】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２６】
本発明の一側面は、符号化部（例えば、図２の符号化部１１１）において符号化されて得られた符号化データのパケットをネットワーク（例えば、図２のネットワーク１０２）に伝送させる際のビットレートである伝送レートを平滑化する情報処理装置（例えば、図２の平滑化部１１２）であって、前記符号化部より出力される前記パケットを一時的に保持する保持手段（例えば、図２のバッファ部１２３）と、前記保持手段により保持されている前記パケットを読み出して送信する送信手段（例えば、図２の送信部１２４）と、前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得するジッタ情報取得手段（例えば、図５のジッタ情報取得部２５４）と、前記ジッタ情報取得手段により取得された前記ジッタ情報に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記送信手段が前記保持手段により保持されている前記パケットを前記伝送レートで読み出しても前記保持手段において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出する（例えば、式（２））目標符号化レート算出手段（例えば、図５の目標符号化レート算出部２５６）と、前記目標符号化レート算出手段により算出された前記目標符号化レートを前記符号化部に供給する目標符号化レート供給手段（例えば、図５の目標符号化レート更新部２５７）とを備える情報処理装置である。
【００２７】
前記目標符号化レート算出手段は、前記ジッタ情報取得手段により取得される前記ジッタ情報の前記平均ビットレートが大きいほど、前記目標符号化レートを小さく設定する（例えば、式（２））ことができる。
【００２８】
前記目標符号化レート算出手段は、前記ジッタ情報取得手段により取得される前記ジッタ情報の前記ビットレートのばらつきが大きいほど、前記目標符号化レートを小さく設定する（例えば、式（２））ことができる。
【００２９】
前記ネットワークの状態を示すネットワーク情報を取得するネットワーク情報取得手段（例えば、図４のネットワーク情報取得部２０３）と、前記ネットワーク情報取得手段により取得された前記ネットワーク情報に基づいて、前記伝送レートの最大値を算出する最大伝送レート算出手段（例えば、図４の最大伝送レート算出部２０４）と、前記最大伝送レート算出手段により算出された前記伝送レートの最大値に基づいて前記送信手段の伝送レートを設定する伝送レート設定手段（例えば、図４の伝送レート設定更新部２０５）とをさらに備え、前記目標符号化レート算出手段は、前記ジッタ情報の他に、前記最大伝送レート算出手段により算出された前記伝送レートの最大値に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記遅延時間が前記目標値を満たすような容量のときに、前記送信手段が前記保持手段により保持されている前記パケットを、前記伝送レート設定手段により設定された伝送レートで読み出しても前記保持手段において溢れが生じないように前記目標符号化レートを算出する（例えば、式（２））ことができる。
【００３０】
前記目標符号化レート算出手段は、前記最大伝送レートが大きいほど、前記目標符号化レートを大きく設定する（例えば、式（２））ことができる。
【００３１】
前記保持手段により保持されている前記パケットのデータ量である蓄積量を示す蓄積量情報を取得する蓄積量情報取得手段（例えば、図１０のバッファ蓄積量情報取得部４５１）をさらに備え、前記目標符号化レート算出手段は、前記ジッタ情報の他に、前記蓄積量情報取得手段により取得された前記蓄積量情報に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記遅延時間が前記目標値を満たすような容量であり、かつ、現在前記保持手段に保持されているパケットのデータ量が前記蓄積量であるときに、前記送信手段が前記保持手段により保持されている前記パケットを前記伝送レートで読み出しても前記保持手段において溢れが生じないように前記目標符号化レートを算出する（例えば、式（３））ことができる。
【００３２】
前記目標符号化レート算出手段は、前記蓄積量が大きいほど、前記目標符号化レートを小さく設定する（例えば、式（３））ことができる。
【００３３】
本発明の一側面はまた、符号化部（例えば、図２の符号化部１１１）において符号化されて得られた符号化データのパケットをネットワーク（例えば、図２のネットワーク１０２）に伝送させる際のビットレートである伝送レートを平滑化する情報処理装置（例えば、図２の平滑化部１１２）の情報処理方法であって、前記符号化部より出力される前記パケットを一時的に保持部（例えば、図２のバッファ部１２３）に保持させ（例えば、図７のステップＳ３３）、前記保持部に保持されている前記パケットを読み出して送信させ（例えば、図６のステップＳ１２）、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得し（例えば、図７のステップＳ３４）、前記ジッタ情報に基づいて、前記保持部による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記保持部により保持されている前記パケットを前記伝送レートで読み出しても前記保持部において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出し（例えば、図７のステップＳ３７）、前記目標符号化レートを前記符号化部に供給する（例えば、図７のステップＳ３８）ステップを含む情報処理方法である。
【００３４】
本発明の一側面はさらに、符号化部（例えば、図２の符号化部１１１）において符号化されて得られた符号化データのパケットをネットワーク（例えば、図２のネットワーク１０２）に伝送させる際のビットレートである伝送レートを平滑化するコンピュータ（例えば、図２の平滑化部１１２）に実行させるプログラムにおいて、前記符号化部より出力される前記パケットを一時的に保持部（例えば、図２のバッファ部１２３）に保持させ（例えば、図７のステップＳ３３）、前記保持部に保持されている前記パケットを読み出して送信させ（例えば、図６のステップＳ１２）、前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得し（例えば、図７のステップＳ３４）、前記ジッタ情報に基づいて、前記保持部による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記保持部により保持されている前記パケットを前記伝送レートで読み出しても前記保持部において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出し（例えば、図７のステップＳ３７）、前記目標符号化レートを前記符号化部に供給する（例えば、図７のステップＳ３８）ステップを含む情報処理をコンピュータに実行させるプログラムである。
【００３５】
以下、本発明の実施の形態について説明する。
【００３６】
図２は、本発明を適用した伝送システムの構成例を示すブロック図である。
【００３７】
図２に示されるデータ伝送システムは、送信装置１０１が画像データを圧縮符号化し、パケット化して送信し、ネットワーク１０２を介して伝送されるそのパケットを、受信装置１０３が受信してデパケタイズして復号するシステムである。
【００３８】
送信装置１０１は、画像データを符号化し、得られた符号化データをパケット化する符号化部１１１と、符号化部１１１において生成されたパケットを一時的に蓄積して、パケットをネットワーク１０２に伝送させる際のビットレートである伝送レートを平滑化してから送信する平滑化部１１２を有する。
【００３９】
平滑化部１１２は、伝送レート制御部１２１、符号化レート制御部１２２、バッファ部１２３、および送信部１２４を有する。
【００４０】
伝送レート制御部１２１は、ネットワーク１０２の帯域状況等に関する情報であるネットワーク情報を調査し、そのネットワーク情報に基づいて、現在のネットワーク１０２における、パケットを安定的に伝送可能な伝送レートの最大値である最大伝送レートを算出する。伝送レート制御部１２１は、算出した最大伝送レートの情報を、符号化データのビットレート（符号化レート）を算出する符号化レート制御部１２２に供給する。また、伝送レート制御部１２１は、最大伝送レートに基づいて、パケットロス等の発生を抑制し、安定的にパケットを受信装置１０３へ送信することができるように、送信部１２４の伝送レート設定も行う。ネットワーク情報の調査方法は任意であるが、例えばARC（Adaptive Rate Control）における帯域状況調査方法がある。
【００４１】
符号化レート制御部１２２は、符号化部１１１の目標符号化レートを設定する。符号化レートは、符号化部１１１における符号化により生成される符号化データのビットレートであり、目標符号化レートは、その符号化レートの目標値である。つまり、符号化部１１１より出力されるパケットのビットレートが、この目標符号化レートによってある程度制御される。符号量は、符号化する画像データの内容によっても変化するので、符号化レートが必ずしも目標符号化レートに一致するとは限らないが、符号化部１１１は、符号化レートが、この目標符号化レートに近づくように符号量を制御しながら符号化を行う。
【００４２】
符号化レート制御部１２２は、その目標符号化レートの算出に、伝送レート制御部１２１が算出する最大伝送レートを利用する。最大伝送レートは、送信装置１０１が送信可能なパケットのレートであり、現在のネットワーク１０２の負荷状況等に基づいて算出される。送信部１２４は、その最大伝送レートに基づいて設定された伝送レートでバッファ部１２３よりパケットを読み出して送信する。
【００４３】
つまり、符号化レート制御部１２２は、目標符号化レートの算出に最大伝送レートを利用することにより、バッファ部１２３へのパケットの入力量を、バッファ部１２３からのパケットの出力量に基づいて決定する。これにより符号化レート制御部１２２はバッファ溢れを生じさせないように目標符号化レートを設定することができる。
【００４４】
また、符号化レート制御部１２２は、符号化部１１１より平均ビットレートやばらつき等の、符号化ビットレートのジッタ情報を取得し、そのジッタ情報に基づいて目標符号化レートを設定する。平均ビットレートは、符号化レートの所定の期間毎の平均値である。ばらつきは、その符号化レートのばらつきを示す情報であり、例えば、分散(Variance)、標準偏差(Standard deviation)、変動係数（Coefficient of variation, Relative standard deviation）等である。
【００４５】
つまり、符号化レート制御部１２２は、目標符号化レートの算出にジッタ情報を利用することにより、符号化部１１１において発生する符号化データの平均ビットレートや、符号化レートのばらつきによってバッファ溢れが発生しないように、目標符号化レートを設定することができる。
【００４６】
バッファ部１２３は、符号化部１１１より出力される符号化データのパケットを一時的に蓄積し、送信部１２４の要求に応じて出力する。バッファ部１２３は、上述したような目標符号化レートの設定により、パケットの蓄積量が必要最小限に抑制されている。つまり、符号化レート制御部１２２は、上述したように目標符号化レートの設定を行うことにより、バッファ部１２３として必要な記憶容量の増大を抑制するとともに、パケットの蓄積による遅延時間の増大を抑制することができる。
【００４７】
送信部１２４は、バッファ部１２３に蓄積されているパケットを、伝送レート制御部１２１により設定された伝送レートで読み出し、ネットワーク１０２を介して受信装置１０３へ送信する。
【００４８】
受信装置１０３は、受信部１３１において、ネットワーク１０２を介して送信装置１０１より供給されるパケットを受信し、復号部１３２において、そのパケットから符号化データを抽出して復号し、符号化前の画像データを復元する。
【００４９】
以上のように、送信装置１０１は、パケットの伝送時の遅延時間の増大を抑制しながらパケットを安定的に伝送させることができる。
【００５０】
次に、送信装置の詳細について説明する。
【００５１】
図３は、図２の符号化部１１１の詳細な構成例を示すブロック図である。図３において、符号化部１１１は、画像データを符号化する画像符号化部１５１および、画像符号化部１５１において画像データが符号化されて得られた符号化データをパケット化するパケット化部１５２を有する。
【００５２】
画像符号化部１５１は、画像符号化タイプ指定回路１６１、画像符号化順序並替え回路１６２、スキャンコンバータ１６３、予測モード決定回路１６４、動きベクトル検出回路１６５、量子化制御回路１６６、演算回路１６７、DCT（Discrete Cosine Transform）回路１６８、量子化回路１６９、可変長符号化回路１７０、逆量子化回路１７１、IDCT（Inverse Discrete Cosine Transform）回路１７２、演算器１７３、フレームメモリ１７４、および動き補償回路１７５を有する。
【００５３】
画像符号化部１５１に入力された映像信号Ｓ１は画像符号化タイプ指定回路１６１に入力される。画像符号化タイプ指定回路１６１は入力される映像信号Ｓ１の各フレームを第２の映像単位としてＩピクチャ、Ｐピクチャ又はＢピクチャのうちのどの画像タイプのピクチャとして処理するかを指定して画像符号化順序並替え回路１６２に送出する。この画像符号化部１５１は、例えば１５個のフレームを第１の映像単位としての１GOP（Group Of Picture）として処理の１単位とする。
【００５４】
画像符号化順序並替え回路１６２は指定された画像符号化タイプに従って各フレームを符号化する順番に並び替えて画像信号Ｓ２としてスキャンコンバータ１６３に送出すると共に、当該画像信号Ｓ２についての画像符号化タイプＳ３を予測モード決定回路１６４、動きベクトル検出回路１６５、及び量子化制御回路１６６に送出する。また画像符号化順序並替え回路１６２は現在符号化されているフレームの動きベクトルを検出するために現在画像と、当該現在画像より時間的に過去にある画像（以下、これを過去参照画像と呼ぶ）及び又は現在画像より時間的に未来にある画像（以下、これを未来参照画像と呼ぶ）Ｓ４とを動きベクトル検出回路１６５に送出する。
【００５５】
スキャンコンバータ１６３は、画像信号Ｓ２をフレーム毎にブロックフォーマットの信号に変換し、この１フレームの信号を、１６ラインを１単位として、Ｎ個のスライスに区分すると共に、各スライスを１６×１６の画素に対応する輝度信号によって構成されるＭ個のマクロブロックに分割し、当該各マクロブロックを第３の映像単位（伝送単位）として量子化制御回路１６６及び演算回路１６７に送出する。
【００５６】
動きベクトル検出回路１６５は画像信号Ｓ２の各フレームに同期した画像符号化タイプＳ３に従って各フレームの画像データをＩピクチャ、Ｐピクチャ又はＢピクチャとして処理する。すなわちＩピクチャとして処理されるフレームの画像データは、動きベクトル検出回路１６５から、過去参照画像を格納する過去参照画像メモリ（図示せず）に格納され、Ｂピクチャとして処理されるフレームの画像データは現在画像を格納する現在画像メモリ（図示せず）に格納され、Ｐピクチャとして処理されるフレームの画像データは未来参照画像を格納する未来参照画像メモリ（図示せず）に格納される。
【００５７】
ここで次のタイミングにおいて、Ｂピクチャ又はＰピクチャとして処理すべきフレームが動きベクトル検出回路１６５に入力されたとき、これまでに未来参照画像メモリに格納されていた最初のＰピクチャの画像データは過去参照画像メモリに格納される。また次のＢピクチャの画像データは現在画像メモリに格納され、次のＰピクチャの画像データは未来参照画像メモリに格納される。以降このような動作が順次繰り返される。
【００５８】
動きベクトル検出回路１６５は順方向予測における動きベクトル及びそのときの動きベクトル推定残差Ｓ５を予測モード決定回路１６４に送出する。ここで動きベクトル検出回路１６５は、Ｂピクチャの場合には、逆方向予測における動きベクトルとそのときの動きベクトル推定残差とを送出する。予測モード決定回路１６４はイントラモード、順方向予測モード、逆方向予測モード又は双方向予測モードのうちどの予測モードを選択するかを決定する。
【００５９】
ここでイントラモードは、符号化対象となるフレームの画像データをそのまま伝送データとして伝送する処理であり、順方向予測モードは、過去参照画像との予測残差と順方向動きベクトルとを伝送する処理である。また逆方向予測モードは、未来参照画像との予測残差と逆方向動きベクトルとを伝送する処理であり、双方向予測モードは、過去参照画像と未来参照画像の２つの予測画像の平均値との予測残差と順方向及び逆方向の２つの動きベクトルとを伝送する処理である。Ｂピクチャの場合には、これら４種類の予測モードをマクロブロック単位で切り換える。
【００６０】
予測モード決定回路１６４は画像符号化順序並替え回路１６２から送出される画像符号化タイプＳ３に基づいて、Ｉピクチャの場合にはイントラモードを選択し、Ｐピクチャの場合にはイントラモード又は順方向予測モードのいずれかの予測モードを選択し、Ｂピクチャの場合には、イントラモード、順方向予測モード、逆方向予測モード又は双方向予測モードのうちいずれかの予測モードを選択し、選択した予測モードＳ６を演算回路１６７に送出する。
【００６１】
演算回路１６７はスキャンコンバータ１６３より読み出されたマクロブロックＳ７に対して、予測モードＳ６に基づいてイントラ、順方向予測、逆方向予測又は双方向予測の演算を行う。演算回路１６７はマクロブロックＳ７としてＩピクチャとして処理すべき画像データが入力された場合、当該画像データをイントラ符号化してDCT回路１６８に送出する。DCT回路１６８はイントラ符号化された画像データをDCT係数に変換して量子化回路１６９に送出する。
【００６２】
量子化回路１６９は各DCT係数を量子化制御回路１６６から指定された量子化ステップで量子化して可変長符号化回路１７０及び逆量子化回路１７１に送出する。可変長符号化回路１７０は量子化された画像データ、予測モード決定回路１６４から送出される予測モードＳ６及び動きベクトル検出回路１６５から送出される動きベクトルＳ５を例えばハフマン符号などの可変長符号に変換し、パケット化部１５２を介して外部に出力する。
【００６３】
逆量子化回路１７１は量子化された画像データを量子化時における量子化ステップに応じて逆量子化してIDCT（逆DCT）回路１７２に送出する。IDCT回路１７２は逆量子化回路１７１からの出力を逆DCT処理する。IDCT回路１７２からの出力は演算器１７３を介してフレームメモリ１７４内の過去参照画像を格納する過去参照画像記憶部（図示せず）に格納される。
【００６４】
次に演算回路１６７にスキャンコンバータ１６３からＰピクチャとして処理すべき画像データが入力され、予測モード決定回路１６４から送出される予測モードＳ６がイントラモードの場合、当該画像データは上述のＩピクチャの場合と同様にイントラ符号化されてDCT回路１６８、量子化回路１６９、可変長符号化回路１７０、及びパケット化部１５２を介して外部に出力され、逆量子化回路１７１、IDCT回路１７２及び演算器１７３を介してフレームメモリ１７４内の未来参照画像を格納する未来参照画像記憶部（図示せず）に格納される。
【００６５】
予測モードＳ６が順方向予測モードの場合には、フレームメモリ１７４の過去参照画像記憶部に格納されている画像データ（この場合Ｉピクチャの画像データ）が読み出されて動き補償回路１７５に送出される。動き補償回路１７５はこの画像データを動きベクトル検出回路６５から送出される順方向動きベクトルＳ５に対応して動き補償する。
【００６６】
すなわち動き補償回路１７５は、順方向予測モードの場合、フレームメモリ１７４の過去参照画像記憶部の読出しアドレスを、動きベクトル検出回路１６５が現在出力しているマクロブロックの位置に対応する位置から順方向動きベクトルＳ５に対応する分だけずらしてデータを読み出して予測参照画像を生成し、演算回路１６７及び演算器１７３に送出する。
【００６７】
演算回路１６７はスキャンコンバータ１６３から送出される参照画像のマクロブロックのデータから、動き補償回路１７５から送出された当該マクロブロックに対応する予測参照画像の画像データを減算して予測残差としての差分データを得、この差分データをDCT回路１６８に送出する。この差分データはDCT回路１６８、量子化回路１６９、可変長符号化回路１７０及びパケット化部１５２を介して外部に出力される。またこの差分データは逆量子化回路１７１及びIDCT回路１７２によって局所的に復号されて演算器１７３に送出される。
【００６８】
演算器１７３はIDCT回路１７２から送出される差分データに、動き補償回路１７５から送出される予測参照画像の画像データを加算する。これにより局所的に復号したＰピクチャの画像データが得られる。このＰピクチャの画像データはフレームメモリ１７４内の未来参照画像を格納する未来参照画像記憶部に格納される。
【００６９】
次に演算回路１６７にスキャンコンバータ１６３からＢピクチャとして処理すべきフレームの画像データが入力され、予測モード決定回路１６４から送出される予測モードＳ６がイントラモード又は順方向予測モードの場合、当該フレームの画像データは上述のＰピクチャの場合と同様に処理される。これに対して予測モードＳ６が逆方向予測モードに設定された場合には、フレームメモリ１７４の未来参照画像記憶部に格納されている画像データ（この場合Ｐピクチャの画像データ）が読み出されて動き補償回路１７５に送出される。動き補償回路１７５はこの画像データを動きベクトル検出回路１６５から送出される逆方向動きベクトルＳ５に対応して動き補償する。
【００７０】
すなわち動き補償回路１７５は、逆方向予測モードの場合、フレームメモリ１７４の未来参照画像記憶部の読出しアドレスを、動きベクトル検出回路１６５が現在出力しているマクロブロックの位置に対応する位置から動きベクトルＳ５に対応する分だけずらしてデータを読み出して予測参照画像を生成し、演算回路１６７及び演算器１７３に送出する。
【００７１】
演算回路１６７はスキャンコンバータ１６３から送出される参照画像のマクロブロックのデータから、動き補償回路１７５から送出された当該マクロブロックに対応する予測参照画像の画像データを減算して予測残差としての差分データを得、この差分データをDCT回路１６８に送出する。この差分データはDCT回路１６８、量子化回路１６９、可変長符号化回路１７０及びパケット化部１５２を介して外部に送出される。またこの差分データは逆量子化回路１７１及びIDCT回路１７２によって局所的に復号されて演算器１７３に送出される。演算器１７３はIDCT回路１７２から送出される差分データに、動き補償回路１７５から送出される予測参照画像の画像データを加算する。これにより局所的に復号したＢピクチャの画像データが得られる。
【００７２】
双方向予測モードの場合には、フレームメモリ１７４の過去参照画像記憶部に格納されている画像データ（この場合Ｉピクチャの画像データ）と、未来参照画像記憶部に格納されている画像データ（この場合Ｐピクチャの画像データ）とが読み出されて動き補償回路１７５に送出される。動き補償回路１７５はこの画像データを動きベクトル検出回路１６５から送出される順方向動きベクトル及び逆方向動きベクトルＳ５に対応して動き補償する。
【００７３】
すなわち、動き補償回路１７５は、双方向予測モードの場合、フレームメモリ１７４の過去参照画像記憶部と未来参照画像記憶部の読出しアドレスを、動きベクトル検出回路１６５が現在出力しているマクロブロックの位置に対応する位置から順方向動きベクトル及び逆方向動きベクトルＳ５に対応する分だけずらしてデータを読み出して予測参照画像を生成し、演算回路１６７及び演算器１７３に送出する。
【００７４】
演算回路１６７はスキャンコンバータ１６３から送出される参照画像のマクロブロックのデータから、動き補償回路１７５から送出された当該マクロブロックに対応する予測参照画像の画像データの平均値を減算して予測残差としての差分データを得、この差分データをDCT回路１６８に送出する。この差分データはDCT回路１６８、量子化回路１６９、可変長符号化回路１７０及びパケット化部１５２を介して外部に出力される。またこの差分データは逆量子化回路１７１及びIDCT回路１７２によって局所的に復号されて演算器１７３に送出される。
【００７５】
演算器１７３はIDCT回路１７２から送出される差分データに、動き補償回路１７５から送出される予測参照画像の画像データを加算する。これにより局所的に復号したＢピクチャの画像データが得られる。ここでＢピクチャは他の画像の予測画像として使用されないので、フレームメモリ１７４には格納されない。
【００７６】
量子化制御回路１６６は、所定の量子化制御アルゴリズムに従って、量子化回路１６９において各マクロブロックを量子化する際に用いる量子化ステップMQUANTを算出し、その量子化ステップMQUANTを量子化回路１６９に供給する。
【００７７】
量子化制御回路１６６には、矢印１８１に示されるように、外部（図２の符号化レート制御部１２２）より目標符号化レートが供給される。量子化制御回路１６６は、その目標符号化レートに基づいて、量子化ステップMQUANTを算出し、その量子化ステップMQUANTを量子化回路１６９に供給する。また、量子化制御回路１６６には、可変長符号化回路１７０より、生成された符号化データの符号量を示す情報S10が供給される。量子化制御回路１６６は、供給された符号量に基づいて、可変長符号化回路１７０において生成される符号化データについて、所定のデータ単位毎の平均ビットレートやばらつきを算出する。量子化制御回路１６６は、その算出した平均ビットレートやばらつき等の値を、矢印１８２に示されるように、符号化部１１１の外部（図２の符号化レート制御部１２２）に供給する。
【００７８】
パケット化部１５２は、画像符号化部１５１より供給される符号化データに対して、所定のデータ単位毎にヘッダ情報を作成して付加することにより、符号化データをパケット化し、生成したパケットを符号化部１１１の外部に出力する。パケット化部１５２より出力されたパケットは、図２の平滑化部１１２に供給され、バッファ部１２３により保持される。
【００７９】
次に、平滑化部１１２の符号化レート制御部１２２の詳細について説明する。図４は、符号化レート制御部１２２の構成例を示すブロック図である。図４に示されるように、符号化レート制御部１２２は、初期値設定部２０１、送信制御部２０２、ネットワーク情報取得部２０３、最大伝送レート算出部２０４、伝送レート設定更新部２０５、および最大伝送レート情報供給部２０６を有する。
【００８０】
初期値設定部２０１は、送信制御部２０２を介して、送信部１２４の伝送レート設定を予め定められた所定の初期値に設定する。送信制御部２０２は、初期値設定部２０１または伝送レート設定更新部２０５により指定された伝送レート設定を送信部１２４に供給し、送信部１２４に、初期値設定部２０１または伝送レート設定更新部２０５により指定された伝送レートでバッファ部１２３よりパケットを読み出させ、さらにその読み出したパケットを、ネットワーク１０２を介して受信装置１０３へ送信させる。
【００８１】
ネットワーク情報取得部２０３は、ネットワーク１０２の負荷状況等を調査し、ネットワーク１０２の使用可能帯域等の情報を含むネットワーク情報を取得する。ネットワーク情報を取得すると、ネットワーク情報取得部２０３は、そのネットワーク情報を最大伝送レート算出部２０４に供給する。最大伝送レート算出部２０４は、ネットワーク情報取得部２０３より供給されるネットワーク情報に基づいて、安定的にパケットを伝送可能な伝送レートの最大値である最大伝送レートを算出する。つまり、最大伝送レート算出部２０４は、送信部１２４によるバッファ部１２３からのパケットの、単位時間当たりの読み出し量の上限を算出する。最大伝送レート算出部２０４は、算出した最大伝送レートを伝送レート設定更新部２０５および最大伝送レート情報供給部２０６に供給する。
【００８２】
伝送レート設定更新部２０５は、最大伝送レート算出部２０４より供給される最大伝送レートに基づいて伝送レート設定を更新する。例えば、伝送レート設定更新部２０５は、伝送レート設定を最大伝送レートに設定する。もちろん、伝送レート設定更新部２０５は、例えばある程度マージンを確保するために最大伝送レートより所定の割合で小さく設定する等、最大伝送レートに基づいて任意の値に伝送レートを設定することができる。
【００８３】
最大伝送レート情報供給部２０６は、最大伝送レート算出部２０４より供給される最大伝送レートの情報を符号化レート制御部１２２に供給する。
【００８４】
図５は、その符号化レート制御部１２２の詳細な構成例を示すブロック図である。図５において、符号化レート制御部１２２は、初期値設定部２５１、符号化制御部２５２、バッファ制御部２５３、ジッタ情報取得部２５４、最大伝送レート情報取得部２５５、目標符号化レート算出部２５６、および目標符号化レート更新部２５７を有する。
【００８５】
初期値設定部２５１は、符号化制御部２５２を介して、符号化部１１１の目標符号化レートを予め定められた所定の初期値に設定する。符号化制御部２５２は、初期値設定部２５１または目標符号化レート更新部２５７により指定された目標符号化レートを符号化部１１１に供給し、符号化部１１１に、初期値設定部２５１または目標符号化レート更新部２５７により指定された目標符号化レートに基づいて符号化を実行させる。
【００８６】
バッファ制御部２５３は、バッファ部１２３を制御し、符号化部１１１より出力されるパケットを一時的に格納させる。ジッタ情報取得部２５４符号化部１１１より供給される平均ビットレートや符号化レートのばらつき等のジッタ情報を取得し、それを目標符号化レート算出部２５６に供給する。また、最大伝送レート情報取得部２５５は、伝送レート制御部１２１より供給される最大伝送レート情報を取得し、それを目標符号化レート算出部２５６に供給する。
【００８７】
目標符号化レート算出部２５６は、ジッタ情報取得部２５４より供給されるジッタ情報、および、最大伝送レート情報取得部２５５より供給される最大伝送レート情報に基づいて、目標符号化レートを算出する。
【００８８】
目標符号化レートの算出方法の具体例について説明する。符号化部１１１が生成するパケットの平均ビットレートをλとし、その符号化レートのばらつき（ここでは変動係数とする）をＣｖとし、現在のネットワーク１０２において許容される最大伝送量である最大伝送レートをμとする。また、遅延量の目標値は予め定められておりＴｗとする。
【００８９】
目標符号化レート算出部２５６は、この遅延量の目標値Ｔｗを満たすように、符号化部１１１の目標符号化レートλ´を算出する。換言すれば、目標符号化レート算出部２５６は、バッファ部１２３のパケットの最大蓄積量が、遅延量の目標値Ｔｗを満たす容量であるときに、送信部１２４が、設定された伝送レートでパケットを読み出しても、バッファ部１２３において溢れが生じないようにする目標符号化レートλ´を算出する。
【００９０】
符号化部１１１が生成する符号化データの符号化レートのばらつきが正規分布に従うと仮定した場合、この目標符号化レートλ´は、待ち行列のケンドール記法における、Ｇ／Ｄ／１モデルを解くことで得られるが、そのままでは解法が複雑であるため、目標符号化レート算出部２５６は、演算の簡略化のため、以下の式（２）に示されるような近似式を用いて目標符号化レートλ´を算出する。
【００９１】
λ´＝μ−Ｃｖ2×λ／（２Ｔｗ）      ・・・（２）
【００９２】
なお、このとき、送信部１２４の伝送レート設定は最大伝送レートμに設定されるものとする。
【００９３】
式（２）に示される目標符号化レートλ´の算出方法は一例であり、上述したように溢れが生じないような目標符号化レートλ´を算出可能な方法であれば、目標符号化レート算出部２５６がこれ以外の任意の方法で目標符号化レートλ´を算出するようにしてももちろんよい。式（２）においては、目標符号化レート算出部２５６は、バッファ溢れを抑制するとともに、ネットワーク１０２におけるパケットロスの発生を抑制して安定的なデータ伝送を実現するために、目標符号化レートλ´を、最大伝送レートμより小さくなるように設定している。
【００９４】
換言すれば、目標符号化レート算出部２５６は、最大伝送レートμが大きいほど、目標符号化レートλ´の値を大きく設定し、最大伝送レートμが小さいほど、目標符号化レートλ´の値を小さく設定する。なお、この最大伝送レートμは、予め定められている固定値としてもよい。その場合、送信部１２４によるパケットの伝送レートは一定とし、伝送レート制御部１２１を省略することができ、送信装置１０１の回路規模の縮小や製造コストの低減を実現することが可能である。ただし、この場合、目標符号化レートλ´の設定においてネットワーク１０２の負荷状況等は考慮されないので、その分、パケット伝送の安定度は低下する恐れがある。
【００９５】
また、目標符号化レート算出部２５６は、符号化部１１１の平均ビットレートλが大きい程（最大伝送レートμに近づくほど）、符号化レートのばらつきＣｖが大きい程、目標符号化レートλ´を小さく設定する。例えば、平均ビットレートが高いほど、バッファ部１２３において溢れが生じる可能性が高い。また、例えば、平均ビットレートが同じであっても符号化レートのばらつきが大きければ、バッファ部１２３において溢れが生じる可能性が高くなる。つまり、目標符号化レート算出部２５６は、バッファ溢れの可能性が高くなるほど、バッファ溢れが発生しないように、目標符号化レートλ´を小さく設定する。換言すれば、目標符号化レート算出部２５６は、バッファ溢れの可能性が低ければ、単位時間当たりにより多くの情報量を伝送させるように、つまり、符号化による画質劣化を不要に増大させないように、目標符号化レートλ´を大きく設定する。
【００９６】
なお、目標符号化レート算出部２５６は、遅延量の目標値Ｔｗが小さいほど、目標符号化レートλ´を小さく設定する。これは遅延量の目標値Ｔｗが小さいほど、バッファ部１２３に蓄積可能なデータ量が少なくなる、つまりバッファ溢れの可能性が高くなるからである。換言すれば、目標符号化レート算出部２５６は、遅延量の目標値Ｔｗが大きいほど、より多くのパケットをバッファ部１２３に蓄積可能であるので、符号化による画質劣化を不要に増大させないように、目標符号化レートλ´を大きく設定する。
【００９７】
なお、ここでは説明の便宜上、バッファ部１２３の物理的な記憶容量は、遅延量の目標値Ｔｗに対して十分に大きいものとしている（遅延量の目標値Ｔｗがバッファ部１２３の物理的な記憶容量の制限内で実現可能な値とする）。
【００９８】
目標符号化レート算出部２５６は、このように算出した目標符号化レートλ´を目標符号化レート更新部２５７に供給する。目標符号化レート更新部２５７は、符号化制御部２５２を介して、目標符号化レート算出部２５６において算出された目標符号化レートλ´を符号化部１１１の新たな目標符号化レートレートとして設定する。
【００９９】
以上のように目標符号化レートを設定することにより、符号化レート制御部１２２は、遅延量の増大を抑制しながらパケットを安定的に伝送させるように伝送レートの平滑化を行うことができる。これにより、平滑化部１１２は、遅延量の目標値を実現しながら安定的にパケットを伝送させることができる。さらに、符号化レート制御部１２２は、符号化レートの不要な低減による画質劣化の増大も抑制することもできる。
【０１００】
次に、送信装置１０１による平滑化に関する処理の流れについて説明する。最初に伝送レート制御部１２１により実行される伝送レート制御処理の流れの例を図６のフローチャートを参照して説明する。
【０１０１】
パケットの送信が開始されると、伝送レート制御部１２１は、伝送レート制御処理を開始する。
【０１０２】
伝送レート制御処理が開始されると、伝送レート制御部１２１の初期値設定部２０１は、ステップＳ１１において、送信部１２４の伝送レート設定を初期値に設定する。ステップＳ１２において送信制御部２０２は、送信部１２４を制御し、伝送レート設定に基づいてパケットをバッファ部１２３より読み出させ、ネットワーク１０２を介して受信装置１０３へ送信させる。
【０１０３】
また、ネットワーク情報取得部２０３は、ステップＳ１３において、定期的または不定期にネットワーク１０２の使用可能帯域状況等を調査し、ネットワーク情報を取得する。ステップＳ１４において、ネットワーク情報取得部２０３は、予め定められた所定の期間、ネットワーク１０２の状況の調査を行ったか否かを判定する。まだ調査期間が短く、予め定められた所定の期間調査を行っていないと判定された場合、処理はステップＳ１２に戻り、それ以降の処理が繰り返される。また、ステップＳ１４において、予め定められた所定の期間調査を行ったと判定された場合、処理はステップＳ１５に進む。ステップＳ１５において、最大伝送レート算出部２０４は、所定の期間に供給されたネットワーク情報に基づいて最大伝送レートを算出する。ステップＳ１６において、伝送レート設定更新部２０５は、その最大伝送レートに基づいて伝送レート設定を更新する。ステップＳ１７において、送信制御部２０２は、パケットの送信を終了するか否かを判定する。未送信のパケットが存在し、パケットの送信を終了しないと判定された場合、処理はステップＳ１２に戻りそれ以降の処理が繰り返される。ステップＳ１７において、全てのパケットの送信が終了し、パケットの送信を終了すると判定された場合、伝送レート制御処理が終了される。
【０１０４】
以上の伝送レート制御処理と平行して、符号化レート制御部１２２により符号化レート制御処理が実行される。図７のフローチャートを参照してこの符号化レート制御処理の流れの例を説明する。
【０１０５】
符号化レート制御処理が開始されると、ステップＳ３１において、初期値設定部２５１は、符号化部１１１の目標符号化レートを予め定められている所定の初期値に設定する。ステップＳ３２において、符号化制御部２５２は、符号化部１１１に目標符号化レートを供給することにより、その目標符号化レートに基づいて符号化を実行させる。ステップＳ３３において、バッファ制御部２５３は、符号化部１１１より出力されるパケットをバッファ部１２３に格納させる。ステップＳ３４において、ジッタ情報取得部２５４は、符号化部１１１における平均ビットレートおよび符号化レートのばらつき等を定期的または不定期に調査し、ジッタ情報を取得する。
【０１０６】
ステップＳ３５において、ジッタ情報取得部２５４は、予め定められた所定の期間、符号化部１１１における平均ビットレートおよび符号化レートのばらつき等の調査を行ったか否かを判定する。まだ調査期間が短く、予め定められた所定の期間調査を行っていないと判定された場合、処理はステップＳ３２に戻り、それ以降の処理が繰り返される。また、ステップＳ３５において、予め定められた所定の期間調査を行ったと判定された場合、処理はステップＳ３６に進む。
【０１０７】
ステップＳ３６において、最大伝送レート情報取得部２５５は、伝送レート制御部１２１より最大伝送レートの情報を取得する。ステップＳ３７において目標符号化レート算出部２５６は、上述したように演算を行い、予め定められた遅延量の目標値（目標遅延量）に基づいて目標符号化レートを算出する。
【０１０８】
ステップＳ３８において、目標符号化レート更新部２５７は、符号化部１１１の目標符号化レートを、ステップＳ３７において算出された目標符号化レートに更新する。ステップＳ３９において、符号化制御部２５２は、パケットの送信を終了するか否かを判定する。未送信のパケットが存在し、パケットの送信を終了しないと判定された場合、処理はステップＳ３２に戻りそれ以降の処理が繰り返される。ステップＳ３９において、全てのパケットの送信が終了し、パケットの送信を終了すると判定された場合、符号化レート制御処理が終了される。
【０１０９】
以上のように平滑化部１１２は、遅延量の増大を抑制しながらパケットを安定的に伝送させるように伝送レートの平滑化を行うことができる。
【０１１０】
目標符号化レート毎の、伝送ビットレートと遅延量の関係のシミュレーション結果を図８に示す。図８のグラフは、符号化部１１１における目標符号化レートを１００［kbps］、９９．５［kbps］、または９９．０［kbps］とし、それぞれについて伝送レート１００［kbps］乃至１０５［kbps］の範囲で遅延量［ｓ］を算出し、それぞれの関係を示したものである。
【０１１１】
なお、このとき、符号化部１１１の平均ビットレートは分散が毎秒±30［kbps］あるものとしている。
【０１１２】
図８に示されるように、伝送レートが一定であれば、その値によらず、目標符号化レートを小さくする程遅延量は低減される。特に伝送レートが低いほど、つまり、ネットワーク１０２の使用可能な帯域幅が狭いほど、その差は大きくなる。
【０１１３】
つまり、目標符号化レートを小さく設定することにより、送信装置１０１は、遅延量を低減させることができる。特に、例えば、ネットワーク１０２が混雑している時ほど、その効果は大きくなる。
【０１１４】
また、図８に示されるように、目標符号化レートが一定であれば、その値によらず、伝送レートを大きくするほど遅延量は低減される。つまり、目標符号化レートと伝送レートの両方を制御することにより、送信装置１０１は、より大きく遅延量を抑制することができる。
【０１１５】
なお、バッファ部におけるバッファ溢れをより抑制するために、目標符号化レートの算出において、バッファ部におけるパケットの蓄積量を考慮するようにしてもよい。
【０１１６】
図９は、その場合の送信装置の構成例を示すブロック図である。図９に示される送信装置４０１は、基本的に図２の送信装置１０１と同様の構成を有し、同様の処理を行うが、目標符号化レートの算出においてバッファ部４２３におけるパケットの蓄積量を考慮することが送信装置１０１の場合と異なる。
【０１１７】
送信装置４０１は、符号化部１１１と平滑化部４１２を有する。平滑化部４１２は、平滑化部１１２と基本的に同様の構成を有するが、符号化レート制御部１２２の代わりに符号化レート制御部４２２を有し、バッファ部１２３の代わりにバッファ部４２３を有する。
【０１１８】
符号化レート制御部４２２は、基本的に符号化レート制御部１２２と同様の構成を有し、同様の処理を行うが、バッファ部４２３より、その時点においてバッファ部４２３に蓄積されているパケットの蓄積量を示す蓄積量情報を取得し、その蓄積量情報を用いて符号化部１１１の目標符号化レートを算出する点で、符号化レート制御部１２２と異なる。
【０１１９】
バッファ部４２３は、バッファ部１２３と同様に、符号化部１１１より出力されるパケットを取得して一時的に保持し、送信部１２４の要求に基づいて、その保持しているパケットを送信部１２４に供給するが、さらに、その時点におけるパケットの蓄積量情報を符号化レート制御部４２２に供給する。
【０１２０】
図１０は、図９の符号化レート制御部４２２の詳細な構成例を示すブロック図である。
【０１２１】
図１０に示されるように、符号化レート制御部４２２は、基本的に図５を参照して説明した符号化レート制御部１２２の場合と同様の構成を有しているが、目標符号化レート算出部２５６の代わりに目標符号化レート算出部４５６を有し、さらに、バッファ蓄積量情報取得部４５１を有する点で符号化レート制御部１２２と異なる。
【０１２２】
バッファ蓄積量情報取得部４５１は、バッファ部４２３より蓄積量情報を取得し、それを目標符号化レート算出部４５６に供給する。目標符号化レート算出部４５６は、ジッタ情報取得部２５４より供給されるジッタ情報、最大伝送レート情報取得部２５５より供給される最大伝送レートに加え、バッファ蓄積量情報取得部４５１より供給される蓄積量情報に基づいて、符号化部１１１の目標符号化レートを算出する。
【０１２３】
バッファ部４２３の蓄積量をＳとすると、目標符号化レート算出部４５６は、以下の式（３）に示されるような近似式を用いて目標符号化レートλ´を算出する。Ｔｒは、次にλ´を再設定するまでの時間とする。
【０１２４】
λ´＝μ−（Ｃｖ2×λ／（２Ｔｗ））×（１＋（（Ｓ−Ｔｗ）／Ｔｒ））    ・・・（３）
【０１２５】
なお、このとき、バッファ部４２３の蓄積量Ｓには、蓄積量に応じた遅延時間が用いられる。また、符号化レートの下限を下回るλ´が算出された場合、その下限値を用いる。
【０１２６】
式（３）においては、目標符号化レート算出部２５６は、蓄積量Ｓに応じて目標符号化レートを制御する。これにより、符号化レート制御部４２２は、バッファ部４２３における溢れの発生をより確実に抑制することができる。この場合も、符号化レート制御部４２２は、不要な画質劣化や遅延量の増大も同時に抑制することができる。
【０１２７】
目標符号化レート算出部４５６は、算出した目標符号化レートを目標符号化レート更新部２５７に供給し、目標符号化レートを更新させる。
【０１２８】
この場合の符号化レート制御処理の流れの例を図１１のフローチャートを参照して説明する。このフローチャートは、図７に示されるフローチャートに対応する。
【０１２９】
すなわち、符号化レート制御部４２２の各部は、ステップＳ５１乃至ステップＳ５６の各処理を、ステップＳ３１乃至ステップＳ３６の各処理と同様に実行する。ステップＳ５７において、バッファ蓄積量情報取得部４５１は、バッファ部４２３より蓄積量情報を取得する。ステップＳ５８において、目標符号化レート算出部４５６は、ジッタ情報、最大伝送レート、バッファ部４２３の蓄積量、および目標遅延量に基づいて目標符号化レートを算出する。
【０１３０】
ステップＳ５９およびステップＳ６０の各処理は、それぞれ、図７のステップＳ３８およびステップＳ３９の各処理と同様に行われる。ステップＳ６０においてパケットの送信を終了すると判定された場合、符号化レート制御処理が終了される。
【０１３１】
以上のように、平滑化部４１２は、遅延量の増大を抑制しながらパケットを安定的に伝送させるように伝送レートの平滑化を行うことができる。
【０１３２】
なお、以上においては、符号化部１１１が、図３を参照して説明したような符号化方法により符号化を行うように説明したが、符号化部１１１の符号化の方法は任意である。
【０１３３】
以上においては、画像データの符号化データをパケット化して伝送する場合について説明したが、符号化部１１１が符号化するデータは、画像データに限らず、例えば音声データやプログラム等、画像データ以外の任意のデータであってもよい。
【０１３４】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図１２に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０１３５】
図１２において、パーソナルコンピュータ５００のCPU（Central Processing Unit）５０１は、ROM（Read Only Memory）５０２に記憶されているプログラム、または記憶部５１３からRAM（Random Access Memory）５０３にロードされたプログラムに従って各種の処理を実行する。RAM５０３にはまた、CPU５０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１３６】
CPU５０１、ROM５０２、およびRAM５０３は、バス５０４を介して相互に接続されている。このバス５０４にはまた、入出力インタフェース５１０も接続されている。
【０１３７】
入出力インタフェース５１０には、キーボード、マウスなどよりなる入力部５１１、CRT（Cathode Ray Tube）、LCD（Liquid Crystal Display）などよりなるディスプレイ、並びにスピーカなどよりなる出力部５１２、ハードディスクなどより構成される記憶部５１３、モデムなどより構成される通信部５１４が接続されている。通信部５１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０１３８】
入出力インタフェース５１０にはまた、必要に応じてドライブ５１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア５２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部５１３にインストールされる。
【０１３９】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０１４０】
この記録媒体は、例えば、図１２に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（ＭＤ（Mini-Disk）（登録商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア５２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM５０２や、記憶部５１３に含まれるハードディスクなどで構成される。
【０１４１】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１４２】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０１４３】
なお、以上において、１つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて１つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。
【図面の簡単な説明】
【０１４４】
【図１】従来の送信装置の構成例を示すブロック図である。
【図２】本発明を適用した伝送システムの構成例を示すブロック図である。
【図３】図２の符号化部の詳細な構成例を示すブロック図である。
【図４】図２の伝送レート制御部の詳細な構成例を示すブロック図である。
【図５】図２の符号化レート制御部の詳細な構成例を示すブロック図である。
【図６】伝送レート制御処理の流れの例を説明するフローチャートである。
【図７】符号化レート制御処理の流れの例を説明するフローチャートである。
【図８】符号化レート毎の伝送レートと遅延量の関係を示すグラフである。
【図９】本発明を適用した伝送システムの他の構成例を示すブロック図である。
【図１０】図９の符号化レート制御部の詳細な構成例を示すブロック図である。
【図１１】符号化レート制御処理の流れの、他の例を説明するフローチャートである。
【図１２】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１４５】
１０１  送信装置，  １１１  符号化部，  １１２  平滑化部，  １２１  伝送レート制御部，  １２２  符号化レート制御部，  １２３  バッファ部，  １２４  送信部，  ２０１  初期値設定部，  ２０２  送信制御部，  ２０３  ネットワーク情報取得部，  ２０４  最大伝送レート算出部，  ２０５  伝送レート設定更新部，  ２０６  最大伝送レート情報供給部，  ２５１  初期値設定部，  ２５２  符号化制御部，  ２５３  バッファ制御部，  ２５４  ジッタ情報取得部，  ２５５  最大伝送レート情報取得部，  ２５６  目標符号化レート算出部，  ２５７  目標符号化レート更新部，  ４０１  送信装置，  ４１２  平滑化部，  ４２２  符号化レート制御部，  ４２３  バッファ部，  ４５１  バッファ蓄積量情報取得部，  ４５６  目標符号化レート算出部
【図１】
2008263443.tif 000003
【図２】
2008263443.tif 000004
【図３】
2008263443.tif 000005
【図４】
2008263443.tif 000006
【図５】
2008263443.tif 000007
【図６】
2008263443.tif 000008
【図７】
2008263443.tif 000009
【図８】
2008263443.tif 000010
【図９】
2008263443.tif 000011
【図１０】
2008263443.tif 000012
【図１１】
2008263443.tif 000013
【図１２】
2008263443.tif 000014