JP2008263443A - 情報処理装置および方法、並びにプログラム - Google Patents
情報処理装置および方法、並びにプログラム Download PDFInfo
- Publication number
- JP2008263443A JP2008263443A JP2007105108A JP2007105108A JP2008263443A JP 2008263443 A JP2008263443 A JP 2008263443A JP 2007105108 A JP2007105108 A JP 2007105108A JP 2007105108 A JP2007105108 A JP 2007105108A JP 2008263443 A JP2008263443 A JP 2008263443A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- rate
- encoding
- packet
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】遅延量の増大を抑制しながらパケットを安定的に伝送させることができるようにする。
【解決手段】ジッタ情報取得部254は、符号化部111より供給される平均ビットレートや符号化レートのばらつき等のジッタ情報を取得し、それを目標符号化レート算出部256に供給する。最大伝送レート情報取得部255は、伝送レート制御部121より供給される最大伝送レート情報を取得し、それを目標符号化レート算出部256に供給する。目標符号化レート算出部256は、ジッタ情報取得部254より供給されるジッタ情報、および、最大伝送レート情報取得部255より供給される最大伝送レート情報に基づいて、目標符号化レートを算出する。本発明は、例えば、送信装置に適用することができる。
【選択図】図5
【解決手段】ジッタ情報取得部254は、符号化部111より供給される平均ビットレートや符号化レートのばらつき等のジッタ情報を取得し、それを目標符号化レート算出部256に供給する。最大伝送レート情報取得部255は、伝送レート制御部121より供給される最大伝送レート情報を取得し、それを目標符号化レート算出部256に供給する。目標符号化レート算出部256は、ジッタ情報取得部254より供給されるジッタ情報、および、最大伝送レート情報取得部255より供給される最大伝送レート情報に基づいて、目標符号化レートを算出する。本発明は、例えば、送信装置に適用することができる。
【選択図】図5
Description
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、遅延量の増大を抑制しながらパケットを安定的に伝送させることができるようにした情報処理装置および方法、並びにプログラムに関する。
従来、例えば、遠隔地の人間と会議を行うためのビデオ会議システム等においては、一方で撮影された画像がネットワーク等を介して他方に伝送されてモニタに表示される。通常、このようなシステムにおいては、画像データは符号化されパケット化されて伝送されるが、双方のユーザがリアルタイムにやり取りを行うため、撮影から表示までの遅延時間の低減が求められる。そこで、撮影されて得られた画像データは、順次符号化され、パケット化されて、伝送される。
しかしながら、このような符号化においては、画像の内容等によって符号量が変化するため、ビットレートが大きく変化する(大きなジッタ成分を持つ)。そのため、そのままパケットをネットワークに伝送するとバーストやアンダーフローが発生してしまい、パケットの伝送を安定的に行うことができず、受信側において遅延や画質劣化等が生じる恐れがある。
そこで、送信側において、バッファを用いて送信前のパケットを一時的に保持し、出力させるときのビットレートを一定にすることにより、伝送レートの平滑化を行う方法がある。
しかしながら、符号化時のビットレートの変化量が大きい場合、その変化量を吸収するために、より多くのバッファを蓄積させる必要があり、バッファに必要な記憶容量が増大するだけでなく、遅延時間も増大する恐れがある。
平滑化による遅延の増大を防ぐための方法としては、入力パケットのジッタを調査し、送信ビットレートを調整する方法が提案されている(例えば、特許文献1参照)。
この方法について図1を参照して説明する。図1において、送信装置1は、パケットを、ネットワーク2を介して送信先の他の装置(図示せず)に送信する装置であり、画像データを符号化してパケット化する符号化部11とパケットの伝送レートを平滑化させる平滑化部12を有する。
符号化部11において生成されたパケットは、平滑化部12のバッファ部22に一時的に蓄積された後、伝送レート制御部21に制御される送信部23により読み出されてネットワーク2に送信される。
符号化部11は、画像データを符号化したときの、平均ビットレートやそのビットレートのばらつき等よりなるジッタ情報を伝送レート制御部21に供給する。伝送レート制御部21は、そのジッタ情報に基づいて、バッファ部22がオーバフローしないように、送信部23に対して伝送レートを設定する。送信部23は、設定された伝送レートでバッファ部22よりパケットを読み出してネットワーク2に送信する。
つまり、伝送レート制御部21は、符号化部11が生成する符号化データのビットレートが上がった場合、伝送レートを上げることにより、バッファ部22において溢れが生じないようにする。このような方法により、バッファ部22のパケット蓄積量を抑制し、遅延時間を低減させる。
しかしながら、上述した特許文献1に記載の方法の場合、ネットワークの帯域制限や、受信側の装置の負荷状況等、外的要因を考慮せず伝送レートが設定されるため、伝送時にパケットの損失や遅延が生じる等、安定的なパケットの伝送が行えない恐れがあった。
本発明は、このような従来の実情に鑑みて提案されたものであり、遅延量の増大を抑制しながらパケットを安定的に伝送させることができるようにするものである。
本発明の一側面は、符号化部において符号化されて得られた符号化データのパケットをネットワークに伝送させる際のビットレートである伝送レートを平滑化する情報処理装置であって、前記符号化部より出力される前記パケットを一時的に保持する保持手段と、前記保持手段により保持されている前記パケットを読み出して送信する送信手段と、前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得するジッタ情報取得手段と、前記ジッタ情報取得手段により取得された前記ジッタ情報に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記送信手段が前記保持手段により保持されている前記パケットを前記伝送レートで読み出しても前記保持手段において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出する目標符号化レート算出手段と、前記目標符号化レート算出手段により算出された前記目標符号化レートを前記符号化部に供給する目標符号化レート供給手段とを備える情報処理装置である。
前記目標符号化レート算出手段は、前記ジッタ情報取得手段により取得される前記ジッタ情報の前記平均ビットレートが大きいほど、前記目標符号化レートを小さく設定することができる。
前記目標符号化レート算出手段は、前記ジッタ情報取得手段により取得される前記ジッタ情報の前記ビットレートのばらつきが大きいほど、前記目標符号化レートを小さく設定することができる。
前記ネットワークの状態を示すネットワーク情報を取得するネットワーク情報取得手段と、前記ネットワーク情報取得手段により取得された前記ネットワーク情報に基づいて、前記伝送レートの最大値を算出する最大伝送レート算出手段と、前記最大伝送レート算出手段により算出された前記伝送レートの最大値に基づいて前記送信手段の伝送レートを設定する伝送レート設定手段とをさらに備え、前記目標符号化レート算出手段は、前記ジッタ情報の他に、前記最大伝送レート算出手段により算出された前記伝送レートの最大値に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記遅延時間が前記目標値を満たすような容量のときに、前記送信手段が前記保持手段により保持されている前記パケットを、前記伝送レート設定手段により設定された伝送レートで読み出しても前記保持手段において溢れが生じないように前記目標符号化レートを算出することができる。
前記目標符号化レート算出手段は、前記最大伝送レートが大きいほど、前記目標符号化レートを大きく設定することができる。
前記保持手段により保持されている前記パケットのデータ量である蓄積量を示す蓄積量情報を取得する蓄積量情報取得手段をさらに備え、前記目標符号化レート算出手段は、前記ジッタ情報の他に、前記蓄積量情報取得手段により取得された前記蓄積量情報に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記遅延時間が前記目標値を満たすような容量であり、かつ、現在前記保持手段に保持されているパケットのデータ量が前記蓄積量であるときに、前記送信手段が前記保持手段により保持されている前記パケットを前記伝送レートで読み出しても前記保持手段において溢れが生じないように前記目標符号化レートを算出することができる。
前記目標符号化レート算出手段は、前記蓄積量が大きいほど、前記目標符号化レートを小さく設定することができる。
本発明の一側面はまた、符号化部において符号化されて得られた符号化データのパケットをネットワークに伝送させる際のビットレートである伝送レートを平滑化する情報処理装置の情報処理方法であって、前記符号化部より出力される前記パケットを一時的に保持部に保持させ、前記保持部に保持されている前記パケットを読み出して送信させ、前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得し、前記ジッタ情報に基づいて、前記保持部による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記保持部により保持されている前記パケットを前記伝送レートで読み出しても前記保持部において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出し、前記目標符号化レートを前記符号化部に供給するステップを含む情報処理方法である。
本発明の一側面はさらに、符号化部において符号化されて得られた符号化データのパケットをネットワークに伝送させる際のビットレートである伝送レートを平滑化するコンピュータに実行させるプログラムにおいて、前記符号化部より出力される前記パケットを一時的に保持部に保持させ、前記保持部に保持されている前記パケットを読み出して送信させ、前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得し、前記ジッタ情報に基づいて、前記保持部による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記保持部により保持されている前記パケットを前記伝送レートで読み出しても前記保持部において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出し、前記目標符号化レートを前記符号化部に供給するステップを含む情報処理をコンピュータに実行させるプログラムである。
本発明の一側面においては、符号化部より出力されるパケットが一時的に保持され、その保持されているパケットが読み出されて送信され、符号化部より供給される、符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、ビットレートのばらつきを示す情報よりなるジッタ情報が取得され、そのジッタ情報に基づいて、パケットの最大蓄積量が、符号化部において符号化データが生成されてから、パケットの伝送先において符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、保持されているパケットが所定の伝送レートで読み出されても溢れが生じないように、平均ビットレートの目標値である目標符号化レートが算出され、その目標符号化レートが符号化部に供給される。
本発明によれば、伝送レートを平滑化することができる。特に、遅延量の増大を抑制しながらパケットを安定的に伝送させるように伝送レートを平滑化することができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面は、符号化部(例えば、図2の符号化部111)において符号化されて得られた符号化データのパケットをネットワーク(例えば、図2のネットワーク102)に伝送させる際のビットレートである伝送レートを平滑化する情報処理装置(例えば、図2の平滑化部112)であって、前記符号化部より出力される前記パケットを一時的に保持する保持手段(例えば、図2のバッファ部123)と、前記保持手段により保持されている前記パケットを読み出して送信する送信手段(例えば、図2の送信部124)と、前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得するジッタ情報取得手段(例えば、図5のジッタ情報取得部254)と、前記ジッタ情報取得手段により取得された前記ジッタ情報に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記送信手段が前記保持手段により保持されている前記パケットを前記伝送レートで読み出しても前記保持手段において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出する(例えば、式(2))目標符号化レート算出手段(例えば、図5の目標符号化レート算出部256)と、前記目標符号化レート算出手段により算出された前記目標符号化レートを前記符号化部に供給する目標符号化レート供給手段(例えば、図5の目標符号化レート更新部257)とを備える情報処理装置である。
前記目標符号化レート算出手段は、前記ジッタ情報取得手段により取得される前記ジッタ情報の前記平均ビットレートが大きいほど、前記目標符号化レートを小さく設定する(例えば、式(2))ことができる。
前記目標符号化レート算出手段は、前記ジッタ情報取得手段により取得される前記ジッタ情報の前記ビットレートのばらつきが大きいほど、前記目標符号化レートを小さく設定する(例えば、式(2))ことができる。
前記ネットワークの状態を示すネットワーク情報を取得するネットワーク情報取得手段(例えば、図4のネットワーク情報取得部203)と、前記ネットワーク情報取得手段により取得された前記ネットワーク情報に基づいて、前記伝送レートの最大値を算出する最大伝送レート算出手段(例えば、図4の最大伝送レート算出部204)と、前記最大伝送レート算出手段により算出された前記伝送レートの最大値に基づいて前記送信手段の伝送レートを設定する伝送レート設定手段(例えば、図4の伝送レート設定更新部205)とをさらに備え、前記目標符号化レート算出手段は、前記ジッタ情報の他に、前記最大伝送レート算出手段により算出された前記伝送レートの最大値に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記遅延時間が前記目標値を満たすような容量のときに、前記送信手段が前記保持手段により保持されている前記パケットを、前記伝送レート設定手段により設定された伝送レートで読み出しても前記保持手段において溢れが生じないように前記目標符号化レートを算出する(例えば、式(2))ことができる。
前記目標符号化レート算出手段は、前記最大伝送レートが大きいほど、前記目標符号化レートを大きく設定する(例えば、式(2))ことができる。
前記保持手段により保持されている前記パケットのデータ量である蓄積量を示す蓄積量情報を取得する蓄積量情報取得手段(例えば、図10のバッファ蓄積量情報取得部451)をさらに備え、前記目標符号化レート算出手段は、前記ジッタ情報の他に、前記蓄積量情報取得手段により取得された前記蓄積量情報に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記遅延時間が前記目標値を満たすような容量であり、かつ、現在前記保持手段に保持されているパケットのデータ量が前記蓄積量であるときに、前記送信手段が前記保持手段により保持されている前記パケットを前記伝送レートで読み出しても前記保持手段において溢れが生じないように前記目標符号化レートを算出する(例えば、式(3))ことができる。
前記目標符号化レート算出手段は、前記蓄積量が大きいほど、前記目標符号化レートを小さく設定する(例えば、式(3))ことができる。
本発明の一側面はまた、符号化部(例えば、図2の符号化部111)において符号化されて得られた符号化データのパケットをネットワーク(例えば、図2のネットワーク102)に伝送させる際のビットレートである伝送レートを平滑化する情報処理装置(例えば、図2の平滑化部112)の情報処理方法であって、前記符号化部より出力される前記パケットを一時的に保持部(例えば、図2のバッファ部123)に保持させ(例えば、図7のステップS33)、前記保持部に保持されている前記パケットを読み出して送信させ(例えば、図6のステップS12)、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得し(例えば、図7のステップS34)、前記ジッタ情報に基づいて、前記保持部による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記保持部により保持されている前記パケットを前記伝送レートで読み出しても前記保持部において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出し(例えば、図7のステップS37)、前記目標符号化レートを前記符号化部に供給する(例えば、図7のステップS38)ステップを含む情報処理方法である。
本発明の一側面はさらに、符号化部(例えば、図2の符号化部111)において符号化されて得られた符号化データのパケットをネットワーク(例えば、図2のネットワーク102)に伝送させる際のビットレートである伝送レートを平滑化するコンピュータ(例えば、図2の平滑化部112)に実行させるプログラムにおいて、前記符号化部より出力される前記パケットを一時的に保持部(例えば、図2のバッファ部123)に保持させ(例えば、図7のステップS33)、前記保持部に保持されている前記パケットを読み出して送信させ(例えば、図6のステップS12)、前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得し(例えば、図7のステップS34)、前記ジッタ情報に基づいて、前記保持部による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記保持部により保持されている前記パケットを前記伝送レートで読み出しても前記保持部において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出し(例えば、図7のステップS37)、前記目標符号化レートを前記符号化部に供給する(例えば、図7のステップS38)ステップを含む情報処理をコンピュータに実行させるプログラムである。
以下、本発明の実施の形態について説明する。
図2は、本発明を適用した伝送システムの構成例を示すブロック図である。
図2に示されるデータ伝送システムは、送信装置101が画像データを圧縮符号化し、パケット化して送信し、ネットワーク102を介して伝送されるそのパケットを、受信装置103が受信してデパケタイズして復号するシステムである。
送信装置101は、画像データを符号化し、得られた符号化データをパケット化する符号化部111と、符号化部111において生成されたパケットを一時的に蓄積して、パケットをネットワーク102に伝送させる際のビットレートである伝送レートを平滑化してから送信する平滑化部112を有する。
平滑化部112は、伝送レート制御部121、符号化レート制御部122、バッファ部123、および送信部124を有する。
伝送レート制御部121は、ネットワーク102の帯域状況等に関する情報であるネットワーク情報を調査し、そのネットワーク情報に基づいて、現在のネットワーク102における、パケットを安定的に伝送可能な伝送レートの最大値である最大伝送レートを算出する。伝送レート制御部121は、算出した最大伝送レートの情報を、符号化データのビットレート(符号化レート)を算出する符号化レート制御部122に供給する。また、伝送レート制御部121は、最大伝送レートに基づいて、パケットロス等の発生を抑制し、安定的にパケットを受信装置103へ送信することができるように、送信部124の伝送レート設定も行う。ネットワーク情報の調査方法は任意であるが、例えばARC(Adaptive Rate Control)における帯域状況調査方法がある。
符号化レート制御部122は、符号化部111の目標符号化レートを設定する。符号化レートは、符号化部111における符号化により生成される符号化データのビットレートであり、目標符号化レートは、その符号化レートの目標値である。つまり、符号化部111より出力されるパケットのビットレートが、この目標符号化レートによってある程度制御される。符号量は、符号化する画像データの内容によっても変化するので、符号化レートが必ずしも目標符号化レートに一致するとは限らないが、符号化部111は、符号化レートが、この目標符号化レートに近づくように符号量を制御しながら符号化を行う。
符号化レート制御部122は、その目標符号化レートの算出に、伝送レート制御部121が算出する最大伝送レートを利用する。最大伝送レートは、送信装置101が送信可能なパケットのレートであり、現在のネットワーク102の負荷状況等に基づいて算出される。送信部124は、その最大伝送レートに基づいて設定された伝送レートでバッファ部123よりパケットを読み出して送信する。
つまり、符号化レート制御部122は、目標符号化レートの算出に最大伝送レートを利用することにより、バッファ部123へのパケットの入力量を、バッファ部123からのパケットの出力量に基づいて決定する。これにより符号化レート制御部122はバッファ溢れを生じさせないように目標符号化レートを設定することができる。
また、符号化レート制御部122は、符号化部111より平均ビットレートやばらつき等の、符号化ビットレートのジッタ情報を取得し、そのジッタ情報に基づいて目標符号化レートを設定する。平均ビットレートは、符号化レートの所定の期間毎の平均値である。ばらつきは、その符号化レートのばらつきを示す情報であり、例えば、分散(Variance)、標準偏差(Standard deviation)、変動係数(Coefficient of variation, Relative standard deviation)等である。
つまり、符号化レート制御部122は、目標符号化レートの算出にジッタ情報を利用することにより、符号化部111において発生する符号化データの平均ビットレートや、符号化レートのばらつきによってバッファ溢れが発生しないように、目標符号化レートを設定することができる。
バッファ部123は、符号化部111より出力される符号化データのパケットを一時的に蓄積し、送信部124の要求に応じて出力する。バッファ部123は、上述したような目標符号化レートの設定により、パケットの蓄積量が必要最小限に抑制されている。つまり、符号化レート制御部122は、上述したように目標符号化レートの設定を行うことにより、バッファ部123として必要な記憶容量の増大を抑制するとともに、パケットの蓄積による遅延時間の増大を抑制することができる。
送信部124は、バッファ部123に蓄積されているパケットを、伝送レート制御部121により設定された伝送レートで読み出し、ネットワーク102を介して受信装置103へ送信する。
受信装置103は、受信部131において、ネットワーク102を介して送信装置101より供給されるパケットを受信し、復号部132において、そのパケットから符号化データを抽出して復号し、符号化前の画像データを復元する。
以上のように、送信装置101は、パケットの伝送時の遅延時間の増大を抑制しながらパケットを安定的に伝送させることができる。
次に、送信装置の詳細について説明する。
図3は、図2の符号化部111の詳細な構成例を示すブロック図である。図3において、符号化部111は、画像データを符号化する画像符号化部151および、画像符号化部151において画像データが符号化されて得られた符号化データをパケット化するパケット化部152を有する。
画像符号化部151は、画像符号化タイプ指定回路161、画像符号化順序並替え回路162、スキャンコンバータ163、予測モード決定回路164、動きベクトル検出回路165、量子化制御回路166、演算回路167、DCT(Discrete Cosine Transform)回路168、量子化回路169、可変長符号化回路170、逆量子化回路171、IDCT(Inverse Discrete Cosine Transform)回路172、演算器173、フレームメモリ174、および動き補償回路175を有する。
画像符号化部151に入力された映像信号S1は画像符号化タイプ指定回路161に入力される。画像符号化タイプ指定回路161は入力される映像信号S1の各フレームを第2の映像単位としてIピクチャ、Pピクチャ又はBピクチャのうちのどの画像タイプのピクチャとして処理するかを指定して画像符号化順序並替え回路162に送出する。この画像符号化部151は、例えば15個のフレームを第1の映像単位としての1GOP(Group Of Picture)として処理の1単位とする。
画像符号化順序並替え回路162は指定された画像符号化タイプに従って各フレームを符号化する順番に並び替えて画像信号S2としてスキャンコンバータ163に送出すると共に、当該画像信号S2についての画像符号化タイプS3を予測モード決定回路164、動きベクトル検出回路165、及び量子化制御回路166に送出する。また画像符号化順序並替え回路162は現在符号化されているフレームの動きベクトルを検出するために現在画像と、当該現在画像より時間的に過去にある画像(以下、これを過去参照画像と呼ぶ)及び又は現在画像より時間的に未来にある画像(以下、これを未来参照画像と呼ぶ)S4とを動きベクトル検出回路165に送出する。
スキャンコンバータ163は、画像信号S2をフレーム毎にブロックフォーマットの信号に変換し、この1フレームの信号を、16ラインを1単位として、N個のスライスに区分すると共に、各スライスを16×16の画素に対応する輝度信号によって構成されるM個のマクロブロックに分割し、当該各マクロブロックを第3の映像単位(伝送単位)として量子化制御回路166及び演算回路167に送出する。
動きベクトル検出回路165は画像信号S2の各フレームに同期した画像符号化タイプS3に従って各フレームの画像データをIピクチャ、Pピクチャ又はBピクチャとして処理する。すなわちIピクチャとして処理されるフレームの画像データは、動きベクトル検出回路165から、過去参照画像を格納する過去参照画像メモリ(図示せず)に格納され、Bピクチャとして処理されるフレームの画像データは現在画像を格納する現在画像メモリ(図示せず)に格納され、Pピクチャとして処理されるフレームの画像データは未来参照画像を格納する未来参照画像メモリ(図示せず)に格納される。
ここで次のタイミングにおいて、Bピクチャ又はPピクチャとして処理すべきフレームが動きベクトル検出回路165に入力されたとき、これまでに未来参照画像メモリに格納されていた最初のPピクチャの画像データは過去参照画像メモリに格納される。また次のBピクチャの画像データは現在画像メモリに格納され、次のPピクチャの画像データは未来参照画像メモリに格納される。以降このような動作が順次繰り返される。
動きベクトル検出回路165は順方向予測における動きベクトル及びそのときの動きベクトル推定残差S5を予測モード決定回路164に送出する。ここで動きベクトル検出回路165は、Bピクチャの場合には、逆方向予測における動きベクトルとそのときの動きベクトル推定残差とを送出する。予測モード決定回路164はイントラモード、順方向予測モード、逆方向予測モード又は双方向予測モードのうちどの予測モードを選択するかを決定する。
ここでイントラモードは、符号化対象となるフレームの画像データをそのまま伝送データとして伝送する処理であり、順方向予測モードは、過去参照画像との予測残差と順方向動きベクトルとを伝送する処理である。また逆方向予測モードは、未来参照画像との予測残差と逆方向動きベクトルとを伝送する処理であり、双方向予測モードは、過去参照画像と未来参照画像の2つの予測画像の平均値との予測残差と順方向及び逆方向の2つの動きベクトルとを伝送する処理である。Bピクチャの場合には、これら4種類の予測モードをマクロブロック単位で切り換える。
予測モード決定回路164は画像符号化順序並替え回路162から送出される画像符号化タイプS3に基づいて、Iピクチャの場合にはイントラモードを選択し、Pピクチャの場合にはイントラモード又は順方向予測モードのいずれかの予測モードを選択し、Bピクチャの場合には、イントラモード、順方向予測モード、逆方向予測モード又は双方向予測モードのうちいずれかの予測モードを選択し、選択した予測モードS6を演算回路167に送出する。
演算回路167はスキャンコンバータ163より読み出されたマクロブロックS7に対して、予測モードS6に基づいてイントラ、順方向予測、逆方向予測又は双方向予測の演算を行う。演算回路167はマクロブロックS7としてIピクチャとして処理すべき画像データが入力された場合、当該画像データをイントラ符号化してDCT回路168に送出する。DCT回路168はイントラ符号化された画像データをDCT係数に変換して量子化回路169に送出する。
量子化回路169は各DCT係数を量子化制御回路166から指定された量子化ステップで量子化して可変長符号化回路170及び逆量子化回路171に送出する。可変長符号化回路170は量子化された画像データ、予測モード決定回路164から送出される予測モードS6及び動きベクトル検出回路165から送出される動きベクトルS5を例えばハフマン符号などの可変長符号に変換し、パケット化部152を介して外部に出力する。
逆量子化回路171は量子化された画像データを量子化時における量子化ステップに応じて逆量子化してIDCT(逆DCT)回路172に送出する。IDCT回路172は逆量子化回路171からの出力を逆DCT処理する。IDCT回路172からの出力は演算器173を介してフレームメモリ174内の過去参照画像を格納する過去参照画像記憶部(図示せず)に格納される。
次に演算回路167にスキャンコンバータ163からPピクチャとして処理すべき画像データが入力され、予測モード決定回路164から送出される予測モードS6がイントラモードの場合、当該画像データは上述のIピクチャの場合と同様にイントラ符号化されてDCT回路168、量子化回路169、可変長符号化回路170、及びパケット化部152を介して外部に出力され、逆量子化回路171、IDCT回路172及び演算器173を介してフレームメモリ174内の未来参照画像を格納する未来参照画像記憶部(図示せず)に格納される。
予測モードS6が順方向予測モードの場合には、フレームメモリ174の過去参照画像記憶部に格納されている画像データ(この場合Iピクチャの画像データ)が読み出されて動き補償回路175に送出される。動き補償回路175はこの画像データを動きベクトル検出回路65から送出される順方向動きベクトルS5に対応して動き補償する。
すなわち動き補償回路175は、順方向予測モードの場合、フレームメモリ174の過去参照画像記憶部の読出しアドレスを、動きベクトル検出回路165が現在出力しているマクロブロックの位置に対応する位置から順方向動きベクトルS5に対応する分だけずらしてデータを読み出して予測参照画像を生成し、演算回路167及び演算器173に送出する。
演算回路167はスキャンコンバータ163から送出される参照画像のマクロブロックのデータから、動き補償回路175から送出された当該マクロブロックに対応する予測参照画像の画像データを減算して予測残差としての差分データを得、この差分データをDCT回路168に送出する。この差分データはDCT回路168、量子化回路169、可変長符号化回路170及びパケット化部152を介して外部に出力される。またこの差分データは逆量子化回路171及びIDCT回路172によって局所的に復号されて演算器173に送出される。
演算器173はIDCT回路172から送出される差分データに、動き補償回路175から送出される予測参照画像の画像データを加算する。これにより局所的に復号したPピクチャの画像データが得られる。このPピクチャの画像データはフレームメモリ174内の未来参照画像を格納する未来参照画像記憶部に格納される。
次に演算回路167にスキャンコンバータ163からBピクチャとして処理すべきフレームの画像データが入力され、予測モード決定回路164から送出される予測モードS6がイントラモード又は順方向予測モードの場合、当該フレームの画像データは上述のPピクチャの場合と同様に処理される。これに対して予測モードS6が逆方向予測モードに設定された場合には、フレームメモリ174の未来参照画像記憶部に格納されている画像データ(この場合Pピクチャの画像データ)が読み出されて動き補償回路175に送出される。動き補償回路175はこの画像データを動きベクトル検出回路165から送出される逆方向動きベクトルS5に対応して動き補償する。
すなわち動き補償回路175は、逆方向予測モードの場合、フレームメモリ174の未来参照画像記憶部の読出しアドレスを、動きベクトル検出回路165が現在出力しているマクロブロックの位置に対応する位置から動きベクトルS5に対応する分だけずらしてデータを読み出して予測参照画像を生成し、演算回路167及び演算器173に送出する。
演算回路167はスキャンコンバータ163から送出される参照画像のマクロブロックのデータから、動き補償回路175から送出された当該マクロブロックに対応する予測参照画像の画像データを減算して予測残差としての差分データを得、この差分データをDCT回路168に送出する。この差分データはDCT回路168、量子化回路169、可変長符号化回路170及びパケット化部152を介して外部に送出される。またこの差分データは逆量子化回路171及びIDCT回路172によって局所的に復号されて演算器173に送出される。演算器173はIDCT回路172から送出される差分データに、動き補償回路175から送出される予測参照画像の画像データを加算する。これにより局所的に復号したBピクチャの画像データが得られる。
双方向予測モードの場合には、フレームメモリ174の過去参照画像記憶部に格納されている画像データ(この場合Iピクチャの画像データ)と、未来参照画像記憶部に格納されている画像データ(この場合Pピクチャの画像データ)とが読み出されて動き補償回路175に送出される。動き補償回路175はこの画像データを動きベクトル検出回路165から送出される順方向動きベクトル及び逆方向動きベクトルS5に対応して動き補償する。
すなわち、動き補償回路175は、双方向予測モードの場合、フレームメモリ174の過去参照画像記憶部と未来参照画像記憶部の読出しアドレスを、動きベクトル検出回路165が現在出力しているマクロブロックの位置に対応する位置から順方向動きベクトル及び逆方向動きベクトルS5に対応する分だけずらしてデータを読み出して予測参照画像を生成し、演算回路167及び演算器173に送出する。
演算回路167はスキャンコンバータ163から送出される参照画像のマクロブロックのデータから、動き補償回路175から送出された当該マクロブロックに対応する予測参照画像の画像データの平均値を減算して予測残差としての差分データを得、この差分データをDCT回路168に送出する。この差分データはDCT回路168、量子化回路169、可変長符号化回路170及びパケット化部152を介して外部に出力される。またこの差分データは逆量子化回路171及びIDCT回路172によって局所的に復号されて演算器173に送出される。
演算器173はIDCT回路172から送出される差分データに、動き補償回路175から送出される予測参照画像の画像データを加算する。これにより局所的に復号したBピクチャの画像データが得られる。ここでBピクチャは他の画像の予測画像として使用されないので、フレームメモリ174には格納されない。
量子化制御回路166は、所定の量子化制御アルゴリズムに従って、量子化回路169において各マクロブロックを量子化する際に用いる量子化ステップMQUANTを算出し、その量子化ステップMQUANTを量子化回路169に供給する。
量子化制御回路166には、矢印181に示されるように、外部(図2の符号化レート制御部122)より目標符号化レートが供給される。量子化制御回路166は、その目標符号化レートに基づいて、量子化ステップMQUANTを算出し、その量子化ステップMQUANTを量子化回路169に供給する。また、量子化制御回路166には、可変長符号化回路170より、生成された符号化データの符号量を示す情報S10が供給される。量子化制御回路166は、供給された符号量に基づいて、可変長符号化回路170において生成される符号化データについて、所定のデータ単位毎の平均ビットレートやばらつきを算出する。量子化制御回路166は、その算出した平均ビットレートやばらつき等の値を、矢印182に示されるように、符号化部111の外部(図2の符号化レート制御部122)に供給する。
パケット化部152は、画像符号化部151より供給される符号化データに対して、所定のデータ単位毎にヘッダ情報を作成して付加することにより、符号化データをパケット化し、生成したパケットを符号化部111の外部に出力する。パケット化部152より出力されたパケットは、図2の平滑化部112に供給され、バッファ部123により保持される。
次に、平滑化部112の符号化レート制御部122の詳細について説明する。図4は、符号化レート制御部122の構成例を示すブロック図である。図4に示されるように、符号化レート制御部122は、初期値設定部201、送信制御部202、ネットワーク情報取得部203、最大伝送レート算出部204、伝送レート設定更新部205、および最大伝送レート情報供給部206を有する。
初期値設定部201は、送信制御部202を介して、送信部124の伝送レート設定を予め定められた所定の初期値に設定する。送信制御部202は、初期値設定部201または伝送レート設定更新部205により指定された伝送レート設定を送信部124に供給し、送信部124に、初期値設定部201または伝送レート設定更新部205により指定された伝送レートでバッファ部123よりパケットを読み出させ、さらにその読み出したパケットを、ネットワーク102を介して受信装置103へ送信させる。
ネットワーク情報取得部203は、ネットワーク102の負荷状況等を調査し、ネットワーク102の使用可能帯域等の情報を含むネットワーク情報を取得する。ネットワーク情報を取得すると、ネットワーク情報取得部203は、そのネットワーク情報を最大伝送レート算出部204に供給する。最大伝送レート算出部204は、ネットワーク情報取得部203より供給されるネットワーク情報に基づいて、安定的にパケットを伝送可能な伝送レートの最大値である最大伝送レートを算出する。つまり、最大伝送レート算出部204は、送信部124によるバッファ部123からのパケットの、単位時間当たりの読み出し量の上限を算出する。最大伝送レート算出部204は、算出した最大伝送レートを伝送レート設定更新部205および最大伝送レート情報供給部206に供給する。
伝送レート設定更新部205は、最大伝送レート算出部204より供給される最大伝送レートに基づいて伝送レート設定を更新する。例えば、伝送レート設定更新部205は、伝送レート設定を最大伝送レートに設定する。もちろん、伝送レート設定更新部205は、例えばある程度マージンを確保するために最大伝送レートより所定の割合で小さく設定する等、最大伝送レートに基づいて任意の値に伝送レートを設定することができる。
最大伝送レート情報供給部206は、最大伝送レート算出部204より供給される最大伝送レートの情報を符号化レート制御部122に供給する。
図5は、その符号化レート制御部122の詳細な構成例を示すブロック図である。図5において、符号化レート制御部122は、初期値設定部251、符号化制御部252、バッファ制御部253、ジッタ情報取得部254、最大伝送レート情報取得部255、目標符号化レート算出部256、および目標符号化レート更新部257を有する。
初期値設定部251は、符号化制御部252を介して、符号化部111の目標符号化レートを予め定められた所定の初期値に設定する。符号化制御部252は、初期値設定部251または目標符号化レート更新部257により指定された目標符号化レートを符号化部111に供給し、符号化部111に、初期値設定部251または目標符号化レート更新部257により指定された目標符号化レートに基づいて符号化を実行させる。
バッファ制御部253は、バッファ部123を制御し、符号化部111より出力されるパケットを一時的に格納させる。ジッタ情報取得部254符号化部111より供給される平均ビットレートや符号化レートのばらつき等のジッタ情報を取得し、それを目標符号化レート算出部256に供給する。また、最大伝送レート情報取得部255は、伝送レート制御部121より供給される最大伝送レート情報を取得し、それを目標符号化レート算出部256に供給する。
目標符号化レート算出部256は、ジッタ情報取得部254より供給されるジッタ情報、および、最大伝送レート情報取得部255より供給される最大伝送レート情報に基づいて、目標符号化レートを算出する。
目標符号化レートの算出方法の具体例について説明する。符号化部111が生成するパケットの平均ビットレートをλとし、その符号化レートのばらつき(ここでは変動係数とする)をCvとし、現在のネットワーク102において許容される最大伝送量である最大伝送レートをμとする。また、遅延量の目標値は予め定められておりTwとする。
目標符号化レート算出部256は、この遅延量の目標値Twを満たすように、符号化部111の目標符号化レートλ´を算出する。換言すれば、目標符号化レート算出部256は、バッファ部123のパケットの最大蓄積量が、遅延量の目標値Twを満たす容量であるときに、送信部124が、設定された伝送レートでパケットを読み出しても、バッファ部123において溢れが生じないようにする目標符号化レートλ´を算出する。
符号化部111が生成する符号化データの符号化レートのばらつきが正規分布に従うと仮定した場合、この目標符号化レートλ´は、待ち行列のケンドール記法における、G/D/1モデルを解くことで得られるが、そのままでは解法が複雑であるため、目標符号化レート算出部256は、演算の簡略化のため、以下の式(2)に示されるような近似式を用いて目標符号化レートλ´を算出する。
λ´=μ−Cv2×λ/(2Tw) ・・・(2)
なお、このとき、送信部124の伝送レート設定は最大伝送レートμに設定されるものとする。
式(2)に示される目標符号化レートλ´の算出方法は一例であり、上述したように溢れが生じないような目標符号化レートλ´を算出可能な方法であれば、目標符号化レート算出部256がこれ以外の任意の方法で目標符号化レートλ´を算出するようにしてももちろんよい。式(2)においては、目標符号化レート算出部256は、バッファ溢れを抑制するとともに、ネットワーク102におけるパケットロスの発生を抑制して安定的なデータ伝送を実現するために、目標符号化レートλ´を、最大伝送レートμより小さくなるように設定している。
換言すれば、目標符号化レート算出部256は、最大伝送レートμが大きいほど、目標符号化レートλ´の値を大きく設定し、最大伝送レートμが小さいほど、目標符号化レートλ´の値を小さく設定する。なお、この最大伝送レートμは、予め定められている固定値としてもよい。その場合、送信部124によるパケットの伝送レートは一定とし、伝送レート制御部121を省略することができ、送信装置101の回路規模の縮小や製造コストの低減を実現することが可能である。ただし、この場合、目標符号化レートλ´の設定においてネットワーク102の負荷状況等は考慮されないので、その分、パケット伝送の安定度は低下する恐れがある。
また、目標符号化レート算出部256は、符号化部111の平均ビットレートλが大きい程(最大伝送レートμに近づくほど)、符号化レートのばらつきCvが大きい程、目標符号化レートλ´を小さく設定する。例えば、平均ビットレートが高いほど、バッファ部123において溢れが生じる可能性が高い。また、例えば、平均ビットレートが同じであっても符号化レートのばらつきが大きければ、バッファ部123において溢れが生じる可能性が高くなる。つまり、目標符号化レート算出部256は、バッファ溢れの可能性が高くなるほど、バッファ溢れが発生しないように、目標符号化レートλ´を小さく設定する。換言すれば、目標符号化レート算出部256は、バッファ溢れの可能性が低ければ、単位時間当たりにより多くの情報量を伝送させるように、つまり、符号化による画質劣化を不要に増大させないように、目標符号化レートλ´を大きく設定する。
なお、目標符号化レート算出部256は、遅延量の目標値Twが小さいほど、目標符号化レートλ´を小さく設定する。これは遅延量の目標値Twが小さいほど、バッファ部123に蓄積可能なデータ量が少なくなる、つまりバッファ溢れの可能性が高くなるからである。換言すれば、目標符号化レート算出部256は、遅延量の目標値Twが大きいほど、より多くのパケットをバッファ部123に蓄積可能であるので、符号化による画質劣化を不要に増大させないように、目標符号化レートλ´を大きく設定する。
なお、ここでは説明の便宜上、バッファ部123の物理的な記憶容量は、遅延量の目標値Twに対して十分に大きいものとしている(遅延量の目標値Twがバッファ部123の物理的な記憶容量の制限内で実現可能な値とする)。
目標符号化レート算出部256は、このように算出した目標符号化レートλ´を目標符号化レート更新部257に供給する。目標符号化レート更新部257は、符号化制御部252を介して、目標符号化レート算出部256において算出された目標符号化レートλ´を符号化部111の新たな目標符号化レートレートとして設定する。
以上のように目標符号化レートを設定することにより、符号化レート制御部122は、遅延量の増大を抑制しながらパケットを安定的に伝送させるように伝送レートの平滑化を行うことができる。これにより、平滑化部112は、遅延量の目標値を実現しながら安定的にパケットを伝送させることができる。さらに、符号化レート制御部122は、符号化レートの不要な低減による画質劣化の増大も抑制することもできる。
次に、送信装置101による平滑化に関する処理の流れについて説明する。最初に伝送レート制御部121により実行される伝送レート制御処理の流れの例を図6のフローチャートを参照して説明する。
パケットの送信が開始されると、伝送レート制御部121は、伝送レート制御処理を開始する。
伝送レート制御処理が開始されると、伝送レート制御部121の初期値設定部201は、ステップS11において、送信部124の伝送レート設定を初期値に設定する。ステップS12において送信制御部202は、送信部124を制御し、伝送レート設定に基づいてパケットをバッファ部123より読み出させ、ネットワーク102を介して受信装置103へ送信させる。
また、ネットワーク情報取得部203は、ステップS13において、定期的または不定期にネットワーク102の使用可能帯域状況等を調査し、ネットワーク情報を取得する。ステップS14において、ネットワーク情報取得部203は、予め定められた所定の期間、ネットワーク102の状況の調査を行ったか否かを判定する。まだ調査期間が短く、予め定められた所定の期間調査を行っていないと判定された場合、処理はステップS12に戻り、それ以降の処理が繰り返される。また、ステップS14において、予め定められた所定の期間調査を行ったと判定された場合、処理はステップS15に進む。ステップS15において、最大伝送レート算出部204は、所定の期間に供給されたネットワーク情報に基づいて最大伝送レートを算出する。ステップS16において、伝送レート設定更新部205は、その最大伝送レートに基づいて伝送レート設定を更新する。ステップS17において、送信制御部202は、パケットの送信を終了するか否かを判定する。未送信のパケットが存在し、パケットの送信を終了しないと判定された場合、処理はステップS12に戻りそれ以降の処理が繰り返される。ステップS17において、全てのパケットの送信が終了し、パケットの送信を終了すると判定された場合、伝送レート制御処理が終了される。
以上の伝送レート制御処理と平行して、符号化レート制御部122により符号化レート制御処理が実行される。図7のフローチャートを参照してこの符号化レート制御処理の流れの例を説明する。
符号化レート制御処理が開始されると、ステップS31において、初期値設定部251は、符号化部111の目標符号化レートを予め定められている所定の初期値に設定する。ステップS32において、符号化制御部252は、符号化部111に目標符号化レートを供給することにより、その目標符号化レートに基づいて符号化を実行させる。ステップS33において、バッファ制御部253は、符号化部111より出力されるパケットをバッファ部123に格納させる。ステップS34において、ジッタ情報取得部254は、符号化部111における平均ビットレートおよび符号化レートのばらつき等を定期的または不定期に調査し、ジッタ情報を取得する。
ステップS35において、ジッタ情報取得部254は、予め定められた所定の期間、符号化部111における平均ビットレートおよび符号化レートのばらつき等の調査を行ったか否かを判定する。まだ調査期間が短く、予め定められた所定の期間調査を行っていないと判定された場合、処理はステップS32に戻り、それ以降の処理が繰り返される。また、ステップS35において、予め定められた所定の期間調査を行ったと判定された場合、処理はステップS36に進む。
ステップS36において、最大伝送レート情報取得部255は、伝送レート制御部121より最大伝送レートの情報を取得する。ステップS37において目標符号化レート算出部256は、上述したように演算を行い、予め定められた遅延量の目標値(目標遅延量)に基づいて目標符号化レートを算出する。
ステップS38において、目標符号化レート更新部257は、符号化部111の目標符号化レートを、ステップS37において算出された目標符号化レートに更新する。ステップS39において、符号化制御部252は、パケットの送信を終了するか否かを判定する。未送信のパケットが存在し、パケットの送信を終了しないと判定された場合、処理はステップS32に戻りそれ以降の処理が繰り返される。ステップS39において、全てのパケットの送信が終了し、パケットの送信を終了すると判定された場合、符号化レート制御処理が終了される。
以上のように平滑化部112は、遅延量の増大を抑制しながらパケットを安定的に伝送させるように伝送レートの平滑化を行うことができる。
目標符号化レート毎の、伝送ビットレートと遅延量の関係のシミュレーション結果を図8に示す。図8のグラフは、符号化部111における目標符号化レートを100[kbps]、99.5[kbps]、または99.0[kbps]とし、それぞれについて伝送レート100[kbps]乃至105[kbps]の範囲で遅延量[s]を算出し、それぞれの関係を示したものである。
なお、このとき、符号化部111の平均ビットレートは分散が毎秒±30[kbps]あるものとしている。
図8に示されるように、伝送レートが一定であれば、その値によらず、目標符号化レートを小さくする程遅延量は低減される。特に伝送レートが低いほど、つまり、ネットワーク102の使用可能な帯域幅が狭いほど、その差は大きくなる。
つまり、目標符号化レートを小さく設定することにより、送信装置101は、遅延量を低減させることができる。特に、例えば、ネットワーク102が混雑している時ほど、その効果は大きくなる。
また、図8に示されるように、目標符号化レートが一定であれば、その値によらず、伝送レートを大きくするほど遅延量は低減される。つまり、目標符号化レートと伝送レートの両方を制御することにより、送信装置101は、より大きく遅延量を抑制することができる。
なお、バッファ部におけるバッファ溢れをより抑制するために、目標符号化レートの算出において、バッファ部におけるパケットの蓄積量を考慮するようにしてもよい。
図9は、その場合の送信装置の構成例を示すブロック図である。図9に示される送信装置401は、基本的に図2の送信装置101と同様の構成を有し、同様の処理を行うが、目標符号化レートの算出においてバッファ部423におけるパケットの蓄積量を考慮することが送信装置101の場合と異なる。
送信装置401は、符号化部111と平滑化部412を有する。平滑化部412は、平滑化部112と基本的に同様の構成を有するが、符号化レート制御部122の代わりに符号化レート制御部422を有し、バッファ部123の代わりにバッファ部423を有する。
符号化レート制御部422は、基本的に符号化レート制御部122と同様の構成を有し、同様の処理を行うが、バッファ部423より、その時点においてバッファ部423に蓄積されているパケットの蓄積量を示す蓄積量情報を取得し、その蓄積量情報を用いて符号化部111の目標符号化レートを算出する点で、符号化レート制御部122と異なる。
バッファ部423は、バッファ部123と同様に、符号化部111より出力されるパケットを取得して一時的に保持し、送信部124の要求に基づいて、その保持しているパケットを送信部124に供給するが、さらに、その時点におけるパケットの蓄積量情報を符号化レート制御部422に供給する。
図10は、図9の符号化レート制御部422の詳細な構成例を示すブロック図である。
図10に示されるように、符号化レート制御部422は、基本的に図5を参照して説明した符号化レート制御部122の場合と同様の構成を有しているが、目標符号化レート算出部256の代わりに目標符号化レート算出部456を有し、さらに、バッファ蓄積量情報取得部451を有する点で符号化レート制御部122と異なる。
バッファ蓄積量情報取得部451は、バッファ部423より蓄積量情報を取得し、それを目標符号化レート算出部456に供給する。目標符号化レート算出部456は、ジッタ情報取得部254より供給されるジッタ情報、最大伝送レート情報取得部255より供給される最大伝送レートに加え、バッファ蓄積量情報取得部451より供給される蓄積量情報に基づいて、符号化部111の目標符号化レートを算出する。
バッファ部423の蓄積量をSとすると、目標符号化レート算出部456は、以下の式(3)に示されるような近似式を用いて目標符号化レートλ´を算出する。Trは、次にλ´を再設定するまでの時間とする。
λ´=μ−(Cv2×λ/(2Tw))×(1+((S−Tw)/Tr)) ・・・(3)
なお、このとき、バッファ部423の蓄積量Sには、蓄積量に応じた遅延時間が用いられる。また、符号化レートの下限を下回るλ´が算出された場合、その下限値を用いる。
式(3)においては、目標符号化レート算出部256は、蓄積量Sに応じて目標符号化レートを制御する。これにより、符号化レート制御部422は、バッファ部423における溢れの発生をより確実に抑制することができる。この場合も、符号化レート制御部422は、不要な画質劣化や遅延量の増大も同時に抑制することができる。
目標符号化レート算出部456は、算出した目標符号化レートを目標符号化レート更新部257に供給し、目標符号化レートを更新させる。
この場合の符号化レート制御処理の流れの例を図11のフローチャートを参照して説明する。このフローチャートは、図7に示されるフローチャートに対応する。
すなわち、符号化レート制御部422の各部は、ステップS51乃至ステップS56の各処理を、ステップS31乃至ステップS36の各処理と同様に実行する。ステップS57において、バッファ蓄積量情報取得部451は、バッファ部423より蓄積量情報を取得する。ステップS58において、目標符号化レート算出部456は、ジッタ情報、最大伝送レート、バッファ部423の蓄積量、および目標遅延量に基づいて目標符号化レートを算出する。
ステップS59およびステップS60の各処理は、それぞれ、図7のステップS38およびステップS39の各処理と同様に行われる。ステップS60においてパケットの送信を終了すると判定された場合、符号化レート制御処理が終了される。
以上のように、平滑化部412は、遅延量の増大を抑制しながらパケットを安定的に伝送させるように伝送レートの平滑化を行うことができる。
なお、以上においては、符号化部111が、図3を参照して説明したような符号化方法により符号化を行うように説明したが、符号化部111の符号化の方法は任意である。
以上においては、画像データの符号化データをパケット化して伝送する場合について説明したが、符号化部111が符号化するデータは、画像データに限らず、例えば音声データやプログラム等、画像データ以外の任意のデータであってもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図12に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図12において、パーソナルコンピュータ500のCPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または記憶部513からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。このバス504にはまた、入出力インタフェース510も接続されている。
入出力インタフェース510には、キーボード、マウスなどよりなる入力部511、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部512、ハードディスクなどより構成される記憶部513、モデムなどより構成される通信部514が接続されている。通信部514は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース510にはまた、必要に応じてドライブ515が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア521が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部513にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図12に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア521により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM502や、記憶部513に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
なお、以上において、1つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて1つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。
101 送信装置, 111 符号化部, 112 平滑化部, 121 伝送レート制御部, 122 符号化レート制御部, 123 バッファ部, 124 送信部, 201 初期値設定部, 202 送信制御部, 203 ネットワーク情報取得部, 204 最大伝送レート算出部, 205 伝送レート設定更新部, 206 最大伝送レート情報供給部, 251 初期値設定部, 252 符号化制御部, 253 バッファ制御部, 254 ジッタ情報取得部, 255 最大伝送レート情報取得部, 256 目標符号化レート算出部, 257 目標符号化レート更新部, 401 送信装置, 412 平滑化部, 422 符号化レート制御部, 423 バッファ部, 451 バッファ蓄積量情報取得部, 456 目標符号化レート算出部
Claims (9)
- 符号化部において符号化されて得られた符号化データのパケットをネットワークに伝送させる際のビットレートである伝送レートを平滑化する情報処理装置であって、
前記符号化部より出力される前記パケットを一時的に保持する保持手段と、
前記保持手段により保持されている前記パケットを読み出して送信する送信手段と、
前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得するジッタ情報取得手段と、
前記ジッタ情報取得手段により取得された前記ジッタ情報に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記送信手段が前記保持手段により保持されている前記パケットを前記伝送レートで読み出しても前記保持手段において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出する目標符号化レート算出手段と、
前記目標符号化レート算出手段により算出された前記目標符号化レートを前記符号化部に供給する目標符号化レート供給手段と
を備える情報処理装置。 - 前記目標符号化レート算出手段は、前記ジッタ情報取得手段により取得される前記ジッタ情報の前記平均ビットレートが大きいほど、前記目標符号化レートを小さく設定する
請求項1に記載の情報処理装置。 - 前記目標符号化レート算出手段は、前記ジッタ情報取得手段により取得される前記ジッタ情報の前記ビットレートのばらつきが大きいほど、前記目標符号化レートを小さく設定する
請求項1に記載の情報処理装置。 - 前記ネットワークの状態を示すネットワーク情報を取得するネットワーク情報取得手段と、
前記ネットワーク情報取得手段により取得された前記ネットワーク情報に基づいて、前記伝送レートの最大値を算出する最大伝送レート算出手段と、
前記最大伝送レート算出手段により算出された前記伝送レートの最大値に基づいて前記送信手段の伝送レートを設定する伝送レート設定手段と
をさらに備え、
前記目標符号化レート算出手段は、前記ジッタ情報の他に、前記最大伝送レート算出手段により算出された前記伝送レートの最大値に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記遅延時間が前記目標値を満たすような容量のときに、前記送信手段が前記保持手段により保持されている前記パケットを、前記伝送レート設定手段により設定された伝送レートで読み出しても前記保持手段において溢れが生じないように前記目標符号化レートを算出する
請求項1に記載の情報処理装置。 - 前記目標符号化レート算出手段は、前記最大伝送レートが大きいほど、前記目標符号化レートを大きく設定する
請求項4に記載の情報処理装置。 - 前記保持手段により保持されている前記パケットのデータ量である蓄積量を示す蓄積量情報を取得する蓄積量情報取得手段をさらに備え、
前記目標符号化レート算出手段は、前記ジッタ情報の他に、前記蓄積量情報取得手段により取得された前記蓄積量情報に基づいて、前記保持手段による前記パケットの最大蓄積量が、前記遅延時間が前記目標値を満たすような容量であり、かつ、現在前記保持手段に保持されているパケットのデータ量が前記蓄積量であるときに、前記送信手段が前記保持手段により保持されている前記パケットを前記伝送レートで読み出しても前記保持手段において溢れが生じないように前記目標符号化レートを算出する
請求項1に記載の情報処理装置。 - 前記目標符号化レート算出手段は、前記蓄積量が大きいほど、前記目標符号化レートを小さく設定する
請求項6に記載の情報処理装置。 - 符号化部において符号化されて得られた符号化データのパケットをネットワークに伝送させる際のビットレートである伝送レートを平滑化する情報処理装置の情報処理方法であって、
前記符号化部より出力される前記パケットを一時的に保持部に保持させ、
前記保持部に保持されている前記パケットを読み出して送信させ、
前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得し、
前記ジッタ情報に基づいて、前記保持部による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記保持部により保持されている前記パケットを前記伝送レートで読み出しても前記保持部において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出し、
前記目標符号化レートを前記符号化部に供給する
ステップを含む情報処理方法。 - 符号化部において符号化されて得られた符号化データのパケットをネットワークに伝送させる際のビットレートである伝送レートを平滑化するコンピュータに実行させるプログラムにおいて、
前記符号化部より出力される前記パケットを一時的に保持部に保持させ、
前記保持部に保持されている前記パケットを読み出して送信させ、
前記符号化部より供給される、前記符号化データの所定の期間毎のビットレートの平均値である平均ビットレート、および、前記ビットレートのばらつきを示す情報よりなるジッタ情報を取得し、
前記ジッタ情報に基づいて、前記保持部による前記パケットの最大蓄積量が、前記符号化部において前記符号化データが生成されてから、前記パケットの伝送先において前記符号化データが復号されるまでの時間である遅延時間が所定の目標値を満たすような容量のときに、前記保持部により保持されている前記パケットを前記伝送レートで読み出しても前記保持部において溢れが生じないように、前記平均ビットレートの目標値である目標符号化レートを算出し、
前記目標符号化レートを前記符号化部に供給する
ステップを含む情報処理をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007105108A JP2008263443A (ja) | 2007-04-12 | 2007-04-12 | 情報処理装置および方法、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007105108A JP2008263443A (ja) | 2007-04-12 | 2007-04-12 | 情報処理装置および方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008263443A true JP2008263443A (ja) | 2008-10-30 |
Family
ID=39985603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007105108A Withdrawn JP2008263443A (ja) | 2007-04-12 | 2007-04-12 | 情報処理装置および方法、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008263443A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010113671A1 (ja) * | 2009-03-30 | 2010-10-07 | 日本電気株式会社 | ネットワークカメラ装置、動作制御方法及びプログラム |
JP2018201191A (ja) * | 2017-04-24 | 2018-12-20 | アクシス アーベー | ビデオエンコーダの出力ビットレートを制御するための方法及びレートコントローラ |
WO2020059406A1 (ja) * | 2018-09-20 | 2020-03-26 | 株式会社日立国際電気 | 無線通信システム、入力側装置及び出力側装置 |
WO2023235030A1 (en) * | 2022-05-31 | 2023-12-07 | Microsoft Technology Licensing, Llc | Video encoding using deviation-adjusted bitrate parameter |
-
2007
- 2007-04-12 JP JP2007105108A patent/JP2008263443A/ja not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010113671A1 (ja) * | 2009-03-30 | 2010-10-07 | 日本電気株式会社 | ネットワークカメラ装置、動作制御方法及びプログラム |
JPWO2010113671A1 (ja) * | 2009-03-30 | 2012-10-11 | 日本電気株式会社 | ネットワークカメラ装置、動作制御方法及びプログラム |
JP2018201191A (ja) * | 2017-04-24 | 2018-12-20 | アクシス アーベー | ビデオエンコーダの出力ビットレートを制御するための方法及びレートコントローラ |
JP7018347B2 (ja) | 2017-04-24 | 2022-02-10 | アクシス アーベー | ビデオエンコーダの出力ビットレートを制御するための方法及びレートコントローラ |
WO2020059406A1 (ja) * | 2018-09-20 | 2020-03-26 | 株式会社日立国際電気 | 無線通信システム、入力側装置及び出力側装置 |
JPWO2020059406A1 (ja) * | 2018-09-20 | 2021-08-30 | 株式会社日立国際電気 | 無線通信システム、入力側装置及び出力側装置 |
JP7005784B2 (ja) | 2018-09-20 | 2022-01-24 | 株式会社日立国際電気 | 無線通信システム、入力側装置及び出力側装置 |
WO2023235030A1 (en) * | 2022-05-31 | 2023-12-07 | Microsoft Technology Licensing, Llc | Video encoding using deviation-adjusted bitrate parameter |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9407909B2 (en) | Video rate control for video coding standards | |
JP4857379B2 (ja) | ストリーミングデータのサービス品質を強化するための予測的フレームドロッピング | |
CN103402099B (zh) | 视频编码的图片级速率控制的方法和系统 | |
US8176199B2 (en) | Content delivery system, communicating apparatus, communicating method, and program | |
EP2403248B1 (en) | Moving picture encoding device, moving picture encoding method, and moving picture encoding computer program | |
JP4223567B2 (ja) | 符号化ビデオシーケンスの切り替え方法及び装置 | |
US6229849B1 (en) | Coding device and method | |
US20010046263A1 (en) | Video encoding apparatus that adjusts code amount by skipping encoding of image data | |
EP0935396A2 (en) | Video coding method and apparatus | |
US8948242B2 (en) | Encoding device and method and multimedia apparatus including the encoding device | |
JP4221655B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP3668110B2 (ja) | 画像伝送システムおよび画像伝送方法 | |
KR100601615B1 (ko) | 네트워크 대역폭에 적응적인 영상 압축 장치 | |
US20180184089A1 (en) | Target bit allocation for video coding | |
US9615095B2 (en) | Coding device, imaging device, coding transmission system, and coding method | |
US20070014364A1 (en) | Video coding method for performing rate control through frame dropping and frame composition, video encoder and transcoder using the same | |
JP2008263443A (ja) | 情報処理装置および方法、並びにプログラム | |
US11409415B1 (en) | Frame interpolation for media streaming | |
KR20050115226A (ko) | 송신 제어 장치 및 방법, 기록 매체, 및 프로그램 | |
WO2011030680A1 (ja) | 符号化装置、符号化方法、および符号化プログラム | |
JP4586340B2 (ja) | 符号化装置、および、符号化方法、並びに、プログラム | |
JP3646849B2 (ja) | ステレオ動画像用符号化装置 | |
JPH11234671A (ja) | 信号処理装置 | |
JP3521794B2 (ja) | データ符号化方法及び装置 | |
JP4239734B2 (ja) | 符号化装置、および、符号化方法、並びに、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100706 |