説明

情報処理装置および方法、並びにプログラム

【課題】コンテンツの品質の劣化を抑制することができるようにする。
【解決手段】受信バッファ時間設定部138は、画像品質要求および伝送品質要求を受け付ける。受信バッファ時間設定部138は、受信バッファ時間決定処理を行い、ARQ部136や受信バッファ132の設定を行ったり、RTCP部137を介して、決定した情報等を送信装置101に通知したりする。受信バッファ時間・処理パラメータ設定部119は、RTCP部117を介してこの通知を受け取ると、その通知に基づいて受信バッファ時間・処理パラメータ設定処理を行い、符号化部111やFEC部112の設定を行う。本発明は、例えば、情報処理装置に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、コンテンツの品質の劣化を抑制することができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
近年、インターネット、LAN(Local Area Network)、若しくは、その他の伝送路を経由して、メディア基準信号同期(所謂GENLOCK同期)を行いながらマルチメディアデータを低遅延に伝送するという需要が高まっている。
【0003】
例えば、放送局においてカメラとそのコントロールユニット(所謂CCU(Camera Control Unit)とを、HD-SDI(High Definition Serial Digital Interface)ケーブルにより接続し、非圧縮同期伝送を行うシステムが存在する。近年、このシステムのHD-SDIケーブルをEthernet(登録商標)ケーブルに置き換え、Ethernet上でIPパケットによるGENLOCK同期を行いながら伝送するといったことが行われている。
【0004】
このような目的においてマルチメディアデータのIP伝送を行う場合、HD-SDIケーブル経由での伝送と同等の使い勝手が要求されるため、例えば、高精度のGENLOCK同期とビデオフレーム間隔以下の低遅延伝送が要求される。
【0005】
このような要求から動画像の各ピクチャの数ライン毎を1つの符号化ブロック(ラインブロック)としてウェーブレット変換による符号化を行う方式が提案されている(例えば特許文献1参照)。
【0006】
この方式では、ピクチャ内のデータ全てを入力するまで待つことなく符号化を開始することができる。そのため、生成した符号化データをネットワーク伝送し、受信側で復号する場合においても、ピクチャ内の全てのデータを受信する前に復号処理を開始することができる。つまり、ネットワーク伝播遅延が十分小さければ、フレーム間隔以下の遅延でのリアルタイム(即時的な)動画像伝送が可能となる。
【0007】
このようなデータ伝送においては、システムが破たんしないように、安定的にデータ伝送を行うために、エラー訂正やパケット再送などのための時間が遅延時間として設定される。このように、処理の待ち時間やデータのバッファリング等のような、遅延時間の確保が必要な要素を遅延要素と称する。
【0008】
一般的に、データ伝送においては、複数の遅延要素が存在する場合が多い。このような遅延要素に対して、受信側の装置においては遅延時間が確保されるが、このように複数の遅延要素が存在する場合、受信側の装置における遅延時間は、各遅延要素についての遅延時間のうち、最も長いもの(若しくはそれ以上)に設定される。
【0009】
つまり、受信側の装置における遅延時間設定よりも短い遅延時間の遅延要素については、その遅延時間設定と同じ時間まで遅延時間を延ばしても、受信側の遅延時間設定は変化しない。つまり、データ伝送全体の遅延時間は増大しない。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特許4371120号
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、従来の方式においては、上述した各遅延要素についての遅延時間は、互いに独立して設定されていたので、遅延時間が短く設定された遅延要素に関係する処理は、その遅延時間が不要に短く設定されたまま実行されることになり、その処理後、何も処理が行われない不要な待機時間が生じてしまう恐れがあった。すなわち、データ伝送によりコンテンツの品質を不要に劣化させる恐れがあった。
【0012】
本発明は、このような状況に鑑みてなされたものであり、各処理の時間的余裕を画質や伝送品質の向上に利用することができるようにし、遅延時間上の無駄を低減させることができるようにすることを目的とする。
【課題を解決するための手段】
【0013】
本発明の一側面は、データ伝送を遅延させる遅延時間であって、前記データ伝送に関する互いに異なる複数の遅延要素についての遅延時間のそれぞれの長さを、複数の前記遅延時間の内、最長の遅延時間、若しくはそれ以上の所定の時間に合わせるように調整する調整手段と、前記調整手段により長さが調整された複数の前記遅延時間のそれぞれを、前記データ伝送に関する処理を行う処理部に設定する設定手段とを備える情報処理装置である。
【0014】
前記遅延時間は、前記データ伝送のQoS制御処理時間であり、前記調整手段は、前記QoS制御処理時間として要求されるQoS制御処理要求時間のうち、最長のQoS制御処理要求時間、若しくはそれ以上の所定の時間に合わせるように、各遅延時間の長さを調整することができる。
【0015】
前記QoS制御処理時間は、冗長符号化ブロックの先頭パケットから末尾のパケットを受信するまでの時間である冗長符号化ブロック受信待ち時間、再送パケットを待つ時間である再送パケット待ち時間、およびネットワークジッタを吸収するためのネットワークジッタ対応バッファ時間を含むことができる。
【0016】
前記設定手段は、前記再送パケット待ち時間を、前記パケットの再送処理を行う再送処理部に設定し、前記ネットワークジッタ対応バッファ時間を、伝送された前記データを一時的に保持する保持部に設定することができる。
【0017】
前記データ伝送における伝送品質に関する要求である伝送品質要求、および、前記冗長符号化ブロック受信待ち時間を用いて、前記データ送信側のQoS制御処理のパラメータ設定を行うパラメータ設定手段をさらに備えることができる。
【0018】
前記データは伝送元において符号化され、得られた符号化データが伝送され、伝送先において前記符号化データが復号され、前記遅延時間は、前記符号化においてレート制御されて生成された前記符号化データを平滑化伝送する際に必要な可変圧縮符号化遅延要求時間を含み、前記データの画質に関する要求である画像品質要求、および、前記可変圧縮符号化遅延要求時間を用いて、前記符号化のバッファサイズを含む符号化パラメータの設定を行うパラメータ設定手段をさらに備えることができる。
【0019】
前記データの画質に関する要求である画像品質要求、および、前記データ伝送における伝送品質に関する要求である伝送品質要求を受け付ける受付手段をさらに備え、前記調整手段は、前記受付手段により受け付けられた前記画像品質要求および前記伝送品質要求に基づいて、各遅延時間として要求される遅延要求時間を設定することができる。
【0020】
前記受付手段により受け付けられる前記画像品質要求および前記伝送品質要求の入力を補助するGUIを表示する出力手段をさらに備えることができる。
【0021】
複数の送信装置から1つの受信装置に向けて行われる前記データ伝送において、前記調整手段は、前記送信装置毎に前記遅延時間の調整を行い、さらに、各送信装置間で、それぞれの前記データ伝送全体の遅延時間が揃うように、前記遅延時間の調整を行うことができる。
【0022】
本発明の一側面は、また、情報処理装置の情報処理方法であって、前記情報処理装置の調整手段が、データ伝送を遅延させる遅延時間であって、前記データ伝送に関する互いに異なる複数の遅延要素についての遅延時間のそれぞれの長さを、複数の前記遅延時間の内、最長の遅延時間、若しくはそれ以上の所定の時間に合わせるように調整し、前記情報処理装置の設定手段が、長さが調整された複数の前記遅延時間のそれぞれを、前記データ伝送に関する処理を行う処理部に設定する情報処理方法である。
【0023】
本発明の一側面は、さらに、データ伝送を行うコンピュータを、データ伝送を遅延させる遅延時間であって、前記データ伝送に関する互いに異なる複数の遅延要素についての遅延時間のそれぞれの長さを、複数の前記遅延時間の内、最長の遅延時間、若しくはそれ以上の所定の時間に合わせるように調整する調整手段、前記調整手段により長さが調整された複数の前記遅延時間のそれぞれを、前記データ伝送に関する処理を行う処理部に設定する設定手段として機能させるためのプログラムである。
【0024】
本発明の一側面においては、データ伝送を遅延させる遅延時間であって、データ伝送に関する互いに異なる複数の遅延要素についての遅延時間のそれぞれの長さが、複数の遅延時間の内、最長の遅延時間、若しくはそれ以上の所定の時間に合わせるように調整され、長さが調整された複数の遅延時間のそれぞれが、データ伝送に関する処理を行う処理部に設定される。
【発明の効果】
【0025】
本発明によれば、データを伝送することができる。特に、コンテンツの品質の劣化を抑制することができる。
【図面の簡単な説明】
【0026】
【図1】本発明を適用した伝送システムの主な構成例を示すブロック図である。
【図2】符号化部の主な構成例を示すブロック図である。
【図3】分析フィルタリングの概要を説明する図である。
【図4】分析フィルタリングの概要を説明する図3に続く図である。
【図5】ラインブロックを説明する図である。
【図6】復号部の主な構成例を示すブロック図である。
【図7】データ伝送処理の流れの例を説明するフローチャートである。
【図8】要求受付画面の表示例を示す図である。
【図9】受信バッファ時間決定処理の流れの例を説明するフローチャートである。
【図10】遅延時間設定の様子の例を説明する図である。
【図11】受信バッファ時間・処理パラメータ設定処理の流れの例を説明するフローチャートである。
【図12】データ伝送処理の流れの他の例を説明するフローチャートである。
【図13】受信バッファ動的変更伝送処理の流れの例を説明するフローチャートである。
【図14】本発明を適用した伝送システムの主な構成例を示すブロック図である。
【図15】受信部の主な構成例を示すブロック図である。
【図16】データ伝送処理の流れの、さらに他の例を説明するフローチャートである。
【図17】仮受信バッファ時間決定処理の流れの例を説明するフローチャートである。
【図18】統合受信バッファ時間決定処理の流れの例を説明するフローチャートである。
【図19】受信バッファ時間設定の様子の例を説明する図である。
【図20】受信バッファ動的変更伝送処理の流れの、他の例を説明するフローチャートである。
【図21】本発明を適用したパーソナルコンピュータの主な構成例を示すブロック図である。
【発明を実施するための形態】
【0027】
以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(伝送システム)
2.第2の実施の形態(伝送システム)
3.第3の実施の形態(伝送システム)
4.第4の実施の形態(パーソナルコンピュータ)
【0028】
<1.第1の実施の形態>
[伝送システムの概要]
図1は、本発明を適用した伝送システムの主な構成例を示すブロック図である。伝送システム100は、送信装置101に入力された画像データ(ビデオデータ(ビデオIN))を、リアルタイムに(即時的に)、インターネットやLAN等の汎用の伝送路であるネットワーク102を介して受信装置103伝送し、その受信装置103より出力する(ビデオOUT)システムである。
【0029】
送信装置101は、外部入力端子「ビデオIN」より入力された動画像の画像データを、全てのデータが入力されるまで待たずに、順次、符号化し、生成した符号化データのパケットを、ネットワーク102を介して受信装置103に送信する。
【0030】
ネットワーク102は、例えば、インターネットやLAN等のような汎用のIPパケット網である。ネットワーク102においては、送信装置101および受信装置103の間のデータ伝送以外の、他のデータ伝送も行われる。
【0031】
受信装置103は、送信装置101から伝送されるパケットを受信し、順次、得られた符号化データを復号し、復号画像の画像データを外部出力端子「ビデオOUT」より出力する。なお、受信装置103は、送信装置101に入力される画像データのサンプリング周波数に同期したタイミングで画像データの出力を行う。つまり、画像データは、送信装置101に入力されるときと同じフレームレートで受信装置103より出力される。伝送システム100は、この出力タイミングに間に合うようにデータ伝送を行う。
【0032】
近年においては、インターネットやLAN(Local Area Network)の汎用の伝送路を経由してメディア基準信号同期(所謂GENLOCK同期)を行いながらマルチメディアデータを低遅延に伝送するという需要が高まっている。
【0033】
例えば、放送局においては、従来、カメラとそのコントロールユニット(所謂CCU)がHD-SDIケーブルにより接続され、それらの間で非圧縮同期伝送が行われていた。近年においては、このHD-SDIケーブルをEthernetケーブルに置き換え、Ethernet上でIPパケットによるGENLOCK同期を行いながら伝送するといったことが行われている。
【0034】
このような目的においてマルチメディアデータのIP伝送を行う場合、HD-SDIケーブル経由での伝送と同等の使い勝手を要求される。そのため、高精度のGENLOCK同期や、ビデオフレーム間隔以下の低遅延伝送等が要求される。
【0035】
このような要求から特許文献1においては、動画像の各ピクチャの数ライン毎を1つの符号化ブロック(ラインブロック)とし、符号化を行う方式が提案されている。この方式の場合、送信装置101は、ピクチャ内のデータ全てを入力するまで待つことなく符号化を開始することができる。また、送信装置101は、その符号化により得られた符号化データを、順次、ネットワーク102を介して受信装置103に伝送することができる。
【0036】
さらに、受信装置103は、ピクチャ内の全てのデータを受信する前に復号を開始することができる。ネットワーク伝播遅延が十分小さければ、フレーム間隔以下の遅延でのリアルタイム動画像伝送(送信装置101入力時のフレームレートで、受信装置103から出力することができるようなデータ伝送)が可能となる。
【0037】
動画像の符号化処理では、フレームやラインブロック等、短い時間単位において一定データレートにて符号化を行うCBR(Constant Bit Rate)方式と、長い時間間隔における平均データレートは一定だが短い時間間隔ではデータレートが変動するVBR(Variable Bit Rate)方式がある。
【0038】
VBR方式で圧縮されたストリームデータを伝送する場合、ITU-T Y.1221記載のトークンバケット等を用い平滑化処理を行い、符号化処理においてはトークンバケットの最大バケツサイズを超えないように制御する。このとき最大バケツサイズにより符号化処理における最大バースト(瞬時)データサイズは制限される。
【0039】
VBR方式の場合、一般に、画像の複雑度の高い部分、動きの激しいシーン等の圧縮効率の低い部分に多くのデータを割り当てることができる。そのため、一般的に、VBR方式の方がCBR方式よりも圧縮効率が高い。つまり、一般的に、同一の平均データレートの場合、VBR方式の方がCBR方式よりも高画質である。
【0040】
トークンバケットにおける最大バケツサイズを大きくとればとるほど画質は向上するが、ストリーム伝送後の同期再生を考えた場合、同期再生までの遅延時間は大きくなる。以下において、VBR方式で符号化処理を行った場合の平滑化処理により生じる遅延時間を可変圧縮符号化遅延時間と称する。
【0041】
上述したようなリアルタイム伝送に適したインターネット技術にIETF RFC3550で規定されているRTP(Realtime Transport Protocol)がある。RTPによるデータ転送では、時間情報としてパケットにタイムスタンプを付加しておき、これによって送信側と受信側の時間的関係を把握することでパケット転送の遅延ゆらぎ(ジッタ)などの影響を受けずに同期をとって再生することができる。
【0042】
ここでRTPは、実時間のデータ転送を保証しているものではない。例えばパケット配送の優先度の設定や管理などはRTPが提供するトランスポートサービスの範疇ではない。そのため、RTPパケットは、他のパケットと同様に、配送遅延やパケット損失がおきる可能性がある。このような事態が起こる場合であっても、受信装置103は、期待する時間内に到着したパケットだけを利用してデータを再生することができる。映像や音声データは、多少のデータ損失があったとしても、ある程度再生することができる。
【0043】
なお、遅延配送されたパケットやエラーの発生したパケットは、受信装置103により、破棄される。つまり、パケット損失やエラーにより高品質なデータを配信するようにしても、受信装置103において、その高品質なデータが十分に再生されない恐れがある。有線区間で10−5以上、無線区間で10−3以上のエラーがあるといわれており、このような現状の中でRTPをそのまま利用するのでは、配信するメディアの品質を保持する点について信頼性が低い。
【0044】
これに対して、データ転送に信頼性が高いTCP(Transmission Control Protocol)で再送要求および再送パケット送信を行わせる方法がある。しかしながら、TCPは、エラーには強いものの、スループットが低く遅延が大きい。そのため、再送しても再生時間に間に合わない恐れがある。
【0045】
RTPを用いてデータ転送の信頼性を向上させる手法として、データの冗長符号化を行い信頼性の向上を図る、前方誤り訂正符号化方式(所謂FEC(Forward Error Correction)方式)という手法がある。
【0046】
FEC方式では、パケット複数個を1つのFECブロックとし、Reed-Solomon(RS)符号等の誤り訂正符号を用いて冗長符号化を行う。例えば(n,k)RS符号を用いる場合、元パケットをk個とするとn-k個冗長パケットを生成することができる(n > k)。この場合、送信装置101から合計n個のパケットを送信することにより、受信装置103ではn個のパケット中k個のパケットを受信すれば、RS復号処理によりk個の元パケットを復元することができる。
【0047】
FEC方式を用いて冗長符号化した場合、パケット損失に対する回復性能はFECブロック元データ単位と冗長パケット数n-kとに依存する。特に、ネットワーク伝送中に起こるデータ系列上連続するパケットの損失(所謂バーストパケット損失)に対する回復性能は、FECブロック元データ単位と関係が深い。一般に、FECブロック元データ単位を大きくとればとるほど、バーストパケット損失に対する回復性能は向上する。
【0048】
しかしながら、FECブロック元データ単位を大きく取るとFEC符号化処理・復号処理を行うために必要なブロックサイズ(データ量)が増大する。その分、処理に必要なデータ蓄積量、すなわち、待機時間が増大するので、遅延時間が増大する恐れがあった。このようなFEC符号化処理やFEC復号処理に必要な遅延時間を、冗長符号化ブロック受信待ち時間と称する。
【0049】
データ転送の信頼性を向上させる他の手法として、自動再送方式、いわゆるARQ(Auto Repeat Request)方式がある。ARQ方式は、受信装置103が、RTPパケットのシーケンス番号を利用して損失したパケットを検知し、送信装置101へ損失パケットの再送を要求するようにする方式である。このARQ方式の拡張方法として、受信装置103が、パケット損失に対して一定時間再送パケットを受信しなかった場合、再度再送要求を行う手法もある。
【0050】
この手法を用いる場合、受信装置103における再送パケット待ち時間を大きく設定すればするほど回復性能は向上するが、その分、同期再生時の遅延を増大させてしまう。
【0051】
また他の伝送品質の回復手法として、受信装置103が、ネットワーク伝送時間の変動(所謂ネットワークジッタ)を吸収するためのバッファ(ネットワークジッタ対応バッファ)を設ける方法もある。このネットワークジッタ対応バッファでバッファリングを行う時間、(所謂ネットワークジッタ対応バッファ時間)を大きくとればとるほど、受信装置103において行われる各種処理における、ネットワークジッタによる影響を抑制することができる。ただし、その分、同期再生時の遅延を増大させてしまう。
【0052】
以上のように、データ伝送に関して、一般的に、多様な遅延要素が存在し、受信側の装置においては、各遅延要素についての遅延時間の確保が必要であった。
【0053】
しかしながら、従来においては、復号画像の画質(画質要求)や、データ伝送時のパケット損失率(伝送品質)等に対する要求に応じて、可変圧縮符号化遅延時間、冗長符号化ブロック受信待ち時間、ARQ再送パケット待ち時間、および、ネットワークジッタ対応バッファ時間等の各種遅延時間が互いに独立に設定されていた。
【0054】
受信装置103は、これらの遅延によりシステムが破たんしないように、受信したデータを、これらの遅延時間の最大値以上の時間、一時的に保持する。つまり、各遅延要素の遅延時間を受信装置103において確保する必要があった。このデータを保持する時間を受信バッファ時間と称する。
【0055】
この場合、例えば可変圧縮符号化遅延時間が上記遅延時間中最大値であり、この値を受信バッファ時間として設定したとする。その場合、冗長符号化処理において、さらに冗長符号化ブロックを大きく取ることによりバースト損失耐性を向上させ、冗長符号化ブロック受信待ち時間を受信バッファ時間と同等まで大きくしても全体の遅延時間は増加しない。
【0056】
しかしながら、仮に、冗長符号化ブロック受信待ち時間が、従来の方法のように、他と独立して設定されるとする。その場合、冗長符号化処理は、冗長符号化ブロック受信待ち時間が小さいまま行われることになる。つまり、冗長符号化処理において、処理が行われない不要な待機時間が発生し、遅延時間上の無駄が生じる恐れがあった。
【0057】
また、冗長符号化ブロック受信待ち時間が最大である場合、可変圧縮符号化遅延時間を大きく設定することにより、全体の遅延時間を増大させずに画質を向上させることができる。しかしながら、上述した従来の方法のように各遅延時間が互いに独立して設定されるものとすると、符号化処理は、可変圧縮符号化遅延時間が小さい設定のまま行われることになる。つまり、遅延時間上の無駄が生じる恐れがあった。
【0058】
受信装置103は、データ伝送を遅延させる遅延時間であって、そのデータ伝送に関する互いに異なる複数の遅延要素についての遅延時間のそれぞれの長さを、その複数の遅延時間の内、最長の遅延時間に合わせるように調整する。
【0059】
送信装置101も、受信装置103から供給される情報に基づいて、受信装置103において確保された遅延時間(受信バッファ時間)より遅延時間が増大しないように、かつ、より遅延時間を長くし、画像や伝送の品質を向上させるように、各処理のパラメータを設定する。
【0060】
したがって、伝送システム100(送信装置101および受信装置103)は、このような遅延時間上の無駄を抑制するようにし、データ伝送全体の遅延時間を増大させずに画質や伝送品質(コンテンツの品質)を向上させることができる。
【0061】
[送信装置の構成]
図1に示されるように、送信装置101は、符号化部111、FEC部112、RTP部113、平滑化部114、基準信号同期部115、メディア同期部116、RTCP(RTP Control Protocol)部117、ARQ部118、および受信バッファ時間・処理パラメータ設定部119を有する。
【0062】
ビデオカメラ等を経由しビデオ入力IF「ビデオIN」より入力したビデオデータ(動画像データ)は、符号化部111に供給される。符号化部111は、所定の符号化方式で動画像データの符号化処理を行う。この符号化方式は任意であるが、より低遅延なものが望ましい。符号化方式の例については後述する。
【0063】
符号化部111は、レート制御部121を有する。レート制御部121は、符号化部111において生成される符号化データのビットレートを制御する。符号化部111は、生成した符号化データをRTPパケット化し、それをFEC部112に供給する。
【0064】
FEC部112は、符号化部111から供給されるRTPパケットの冗長パケットを生成する。RTP部113は、FEC部112から供給される符号化データの冗長パケットをRTPパケット化する。
【0065】
平滑化部114は、RTP部113から供給されるRTPパケットを、一時的に保持し、所定のデータレートに平滑化して送信する。
【0066】
基準信号同期部115は、ネットワーク102を介して、伝送先である受信装置103の基準信号同期部139と通信を行い、基準信号クロックの同期をとる。基準信号同期部115は、受信装置103との間で同期がとれた基準信号をメディア同期部116に供給する。
【0067】
メディア同期部116は、基準信号同期部115から供給される時刻を基準として、ビデオINに入力されたデータのサンプリング時刻と同期した時刻を、符号化部111(内のRTP部)とRTP部113に供給する。この時刻は、RTPタイムスタンプとしてRTPパケットに付加される。
【0068】
RTCP部117は、伝送先の受信装置103のRTCP部137とRTCPメッセージの授受を行い、QoS(Quality of Service)制御処理のための制御メッセージ(QoS制御メッセージ)の送受信を行う。RTCP部117は、取得した制御メッセージをARQ部118や受信バッファ時間・処理パラメータ設定部119に供給する。
【0069】
ARQ部118は、RTCP部117から供給される再送要求メッセージに従って、要求されたRTPパケットの再送を行う。
【0070】
受信バッファ時間・処理パラメータ設定部119は、RTCP部117から供給される各種遅延時間等の設定に従って、符号化部111やFEC部112のパラメータ設定を行う。
【0071】
[受信装置の構成]
図1に示されるように、受信装置103は、受信部131、受信バッファ132、RTP部133、FEC部134、復号部135、ARQ部136、RTCP部137、受信バッファ時間設定部138、基準信号同期部139、メディア同期部140、入力部141、および出力部142を有する。
【0072】
受信部131は、ネットワーク102を介して送信装置101から伝送されるRTPパケットを受信し、それを受信バッファ132に供給する。受信バッファ132は、ネットワーク102におけるパケット伝送の遅延時間の変動を吸収する等のために、受信部131から供給されるRTPパケットを、一時的に保持した後、受信バッファ時間設定部138やメディア同期部140からの情報に基づいて決定される時刻に、RTP部133に供給する。
【0073】
RTP部133は、RTPパケットを再構成して、冗長パケットを含む符号化データであるFEC冗長符号化データを生成し、それをFEC134に供給する。FEC部134は、パケットの損失の検出を行い、必要に応じて冗長符号化復号処理によって損失パケットデータを回復する。FEC部134は、処理後の符号化データを復号部135に供給する。
【0074】
復号部135は、符号化データを、符号化部111による符号化処理の方式に対応する復号方式により復号する。復号されたビデオデータ(動画像データ)は、受信装置103のビデオ出力IF(ビデオOUT)から、例えば、ディスプレイ等の映像表示装置(図示せず)に出力される。
【0075】
ARQ部136は、受信部131における損失パケット(受信できなかったパケット)の検出を行い、損失パケットを検出した場合、RTCP部137を制御し、送信装置101のARQ部118に対する再送要求メッセージを送信させる。RTCP部137は、ARQ部136から要求された再送要求メッセージや、受信バッファ時間設定部138から供給される各種設定情報をRTCPメッセージとして、送信装置101のRTCP部117に供給する。
【0076】
受信バッファ時間設定部138は、例えば入力部141を介して入力される画像品質要求や、伝送品質要求等に基づいて、受信バッファ時間等を設定する。画像品質要求は、復号画像(受信装置103から出力されるビデオデータの画像)の画質に対する要求である。伝送品質要求は、ネットワーク102のパケットロス率等に対する要求である。受信バッファ時間は、システムを破たんさせないように、データ伝送を安定的に伝送させるために受信装置103において設定される遅延時間である。
【0077】
基準信号同期部139は、基準信号同期部115と通信し、送信装置101との間で基準信号の同期をとる。メディア同期部140は、基準信号同期部139により同期がとられた基準信号に基づいて、受信バッファ132のRTPパケット出力タイミングや、復号部135の復号処理開始タイミング等を制御する。
【0078】
入力部141は、例えば、キーボード、マウス、タッチパネル、若しくはスイッチ等の任意の入力デバイス、または外部入力端子等よりなり、例えばユーザ等の、受信装置103外部からの画像品質要求や伝送品質要求を受け付け、それを受信バッファ時間設定部138に供給する。
【0079】
出力部142は、例えば、モニタやスピーカ等の任意の出力デバイス、または、外部出力端子等よりなり、受信バッファ時間設定部138から供給されるGUI画像を表示したり、音声を出力したりして、画像品質要求や伝送品質要求の入力案内や、入力結果を出力する。
【0080】
[符号化部の構成例]
次に、送信装置101の符号化部111の例について説明する。図2は、送信装置101の符号化部111の構成例を示すブロック図である。符号化部111は、画像データを解像度に関して重要度の高いデータから順に階層化し、その階層毎に符号化する階層符号化を行う。例えば、符号化部111は、空間解像度に関して重要度の高いデータから順に階層化された階層化データを生成する。また、例えば、符号化部111は、時間方向の解像度に関して重要度の高いデータから順に階層化された階層化データを生成する。さらに、例えば、符号化部111は、SNR(Signal to Noise Ratio)に関して重要度の高いデータから順に階層化された階層化データを生成する。符号化部111は、このように生成した階層化データを、その階層毎に符号化する。
【0081】
このような階層符号化として、例えば、動画像データの各ピクチャをウェーブレット変換し、エントロピ符号化するJPEG(Joint Photographic Experts Group)2000方式がある。階層符号化方法は任意であるが、以下においては、符号化部111が、動画像データを複数ライン毎にウェーブレット変換し、エントロピ符号化する場合について説明する。
【0082】
図2に示されるように、符号化部111は、ウェーブレット変換部161、量子化部162、エントロピ符号化部163、レート制御部121、およびRTP部164を有する。ウェーブレット変換部161は、動画像の各ピクチャを、複数ライン毎にウェーブレット変換する。
【0083】
ウェーブレット変換は、入力データを低域成分と高域成分に分割する分析フィルタ処理を画面水平方向および画面垂直方向の両方に対して行う処理である。つまり、ウェーブレット変換処理により入力データは、水平方向および垂直方向に低域な成分(LL成分)、水平方向に高域で垂直方向に低域な成分(HL成分)、水平方向に低域で垂直方向に高域な成分(LH成分)、および、水平方向および垂直方向に高域な成分(HH成分)の4つの成分(サブバンド)に分割される。
【0084】
ウェーブレット変換部161は、このようなウェーブレット変換処理を、所定回数、分析フィルタ処理により得られる水平方向および垂直方向に低域な成分(LL成分)に対して再帰的に繰り返す。つまり、ウェーブレット変換処理により、動画像データの各ピクチャは、階層化された複数のサブバンド(周波数成分)に分割される(階層化データが生成される)。エントロピ符号化部163は、このサブバンド毎に符号化を行う。
【0085】
動画像の各ピクチャの画像データは、画像の上から下に向かう順に1ラインずつウェーブレット変換部161に入力される。また各ラインの画像データは、画像左から右に向かう順に1サンプル(1コラム)ずつ入力される。
【0086】
ウェーブレット変換部161は、そのように入力される画像データに対して、分析フィルタリングを実行可能なサンプル数のデータを入手する毎に(入手次第)、画像水平方向の分析フィルタリング(水平分析フィルタリング)を実行する。例えば、ウェーブレット変換部161は、図3の左に示されるベースバンドの画像データ171に対して、Mコラム入力される毎に水平分析フィルタリングを行い、1ラインずつ水平方向に低域な成分(L)と高域な成分(H)に分割する。図3の右に示される水平分析フィルタ処理結果172は、ウェーブレット変換部161により分割されたNライン分の水平方向に低域な成分(L)と高域な成分(H)を示す。
【0087】
次に、ウェーブレット変換部161は、その水平分析フィルタ処理結果172の各成分に対して、垂直方向に分析フィルタリング(垂直分析フィルタリング)を行う。ウェーブレット変換部161は、水平分析フィルタリングにより、垂直分析フィルタリングに必要な垂直ライン分の係数が生成されると、その垂直分析フィルタリングに必要な垂直ライン分の係数に対して、コラム毎に垂直分析フィルタリングを行う。
【0088】
その結果、水平分析フィルタ処理結果172は、図4の左に示されるように、水平方向および垂直方向の両方に低域な成分(LL成分)、水平方向に高域で垂直方向に低域な成分(HL成分)、水平方向に低域で垂直方向に高域な成分(LH成分)、および、水平方向および垂直方向の両方に高域な成分(HH成分)の4つの成分のウェーブレット変換係数(以下、係数と称する)に分割される(階層化データ173)。
【0089】
所定の階層(分割レベル)の係数が得られるまで、得られた分析フィルタリングの結果のうち、HL成分、LH成分、HH成分は外部に出力される。残りのLL成分は、ウェーブレット変換部161により、再度分析フィルタリングが行われる。つまり、例えば、図4の左に示される階層化データ173は、図4の右に示される階層化データ174に変換される。階層化データ174では、LL成分から、LLLL成分、LLHL成分、LLLH成分、およびLLHH成分の4つの成分が生成されている。
【0090】
ウェーブレット変換部161は、このような分析フィルタリングを所定回数再帰的に行い、動画像データを所望の分割レベルまで階層化された階層化データを生成する。図5は、分割レベル3(3階層)まで階層化された階層化データの例を示す図である。図5において、分割レベル3まで分割された階層化データ175は、分割レベル1(階層番号3)の3HL成分、3LH成分、および3HH成分、分割レベル2(階層番号2)の2HL成分、2LH成分、および2HH成分、並びに、分割レベル3(階層番号1)の1LL成分、1HL成分、1LH成分、および1HH成分の各サブバンドにより構成される。
【0091】
ウェーブレット変換処理では、フィルタリング処理を繰り返す毎に(階層が1つ下位になる毎に)、生成されるライン数は2のべき乗分の1の大きさで小さくなっていく。最終分割レベル(階層番号1)の係数を1ライン生成するために必要なベースバンドのライン数は、そのフィルタリング処理を何回繰り返すか(最終分割レベルの階層数)によって決められる。通常、この階層数は予め定められる。
【0092】
この、最終分割レベルの係数を1ライン生成するために必要なベースバンドの画像データ(複数ライン分の画像データ)、または、各階層の係数をまとめてラインブロック(またはプレシンクト)と称する。
【0093】
図5において斜線で示される部分が1ラインブロックを構成する係数である。図5に示されるように、ラインブロックは、階層番号1の各成分の1ライン分の係数、階層番号2の各成分の2ライン分の係数、並びに、階層番号3の各成分の4ライン分の係数により構成される。なお、これらに相当する分析フィルタリング前の画像データ、すなわち、この例では8ライン分の画像データのこともラインブロック(またはプレシンクト)と称する。
【0094】
図2に戻り、量子化部162は、ウェーブレット変換部161により生成される各成分の係数を、例えば量子化ステップサイズで除算することにより量子化し、量子化係数を生成する。この際、量子化部162は、ラインブロック(プレシンクト)毎に量子化ステップサイズを設定することができる。このラインブロックは、ある画像領域のすべての周波数成分(図5の場合、1LL乃至3HHまでの10個の周波数成分)の係数を包含しているため、ラインブロック毎に量子化を行えば、ウェーブレット変換の特徴である多重解像度分析の利点を活かすことができる。また、全画面でラインブロック数だけを決めればよいため、量子化の負荷も小さくて済む。
【0095】
さらに、画像信号のエネルギは一般的に低域成分に集中しており、また、人間の視覚上、低域成分の劣化が目立ちやすいという特性があるため、量子化に際しては、低域成分のサブバンドでの量子化ステップサイズが結果的に小さな値になるように、重み付けを行うことが有効である。この重み付けにより、低域成分には相対的に多くの情報量が割り当てられるようになり、全体の主観的な画質が向上する。
【0096】
エントロピ符号化部163は、量子化部162で生成された量子化係数を情報源符号化し、圧縮された符号化データを生成し、それをレート制御部121に供給する。情報源符号化としては、例えばJPEG方式やMPEG(Moving Picture Experts Group)方式で用いられているハフマン符号化や、JPEG2000方式で用いられているさらに高精度な算術符号化を用いることができる。
【0097】
ここで、エントロピ符号化をどの範囲の係数に対して行うかは、圧縮効率に直接関係する非常に重要な要素になる。例えば、JPEG方式やMPEG方式では、8×8のブロックに対してDCT(Discrete Cosine Transform)変換を施し、生成された64個のDCT変換係数に対してハフマン符号化を行うことで、情報を圧縮している。すなわち、64個のDCT変換係数がエントロピ符号化の範囲になる。
【0098】
ウェーブレット変換部161では、8×8ブロックに対するDCT変換とは異なり、ライン単位でウェーブレット変換を施しているため、エントロピ符号化部163では、周波数帯域(サブバンド)毎に独立に、且つ各周波数帯域内をPライン毎に情報源符号化する。
【0099】
Pは1ラインが最低であるが、ライン数が少ない場合には参照情報が少なくて済み、メモリ容量を減らすことができる。逆に、ライン数が多い場合には情報量がその分増えるため、符号化効率が向上させることができる。しかしながら、Pが各周波数帯域内のラインブロックのライン数を超えた値になると、次のラインブロックのラインまで必要になる。このため、このラインブロックの量子化係数データがウェーブレット変換及び量子化によって生成されるまで待たなければならず、この時間が遅延時間となってしまう。
【0100】
したがって、低遅延のためには、Pはラインブロックのライン数以下である必要がある。例えば、図5の例では、1LL,1HL,1LH,1HHの周波数帯域については、ラインブロックのライン数=1ラインであるためP=1となる。また、2HL,2LH,2HHのサブバンドについては、ラインブロックのライン数=2ラインであるためP=1または2となる。
【0101】
レート制御部121は、最終的に目標のビットレート又は圧縮率に合わせるための制御を行い、レート制御後の符号化データをRTP部164に供給する。例えば、このレート制御部121は、ビットレートを上げる場合には量子化ステップサイズを小さくし、ビットレートを下げる場合には量子化ステップサイズを大きくするように、量子化部162に対して制御信号を送信する。
【0102】
RTP部164は、レート制御部121から供給される符号化データをRTPパケット化し、FEC部112に供給する。
【0103】
[復号部の構成例]
次に、上述した符号化部111の例に対応する復号部135の例について説明する。図6は、受信装置103の復号部135の構成例を示すブロック図である。図6において、復号部135は、RTP部190、エントロピ復号部191、逆量子化部192、およびウェーブレット逆変換部193を有する。
【0104】
RTP部190は、FEC部134から供給されるRTPパケットを符号化データに変換し、それをエントロピ復号部191に供給する。エントロピ復号部191は、エントロピ符号化部163の符号化方法に対応する方法で符号化データを復号し、量子化係数データを生成する。例えば、ハフマン復号や、高効率な算術復号などを用いることができる。なお、エントロピ符号化部163においてPラインごとに符号化されている場合、エントロピ復号部191は、各サブバンドを独立に復号し、かつ、各サブバンド内をPライン毎に復号する。
【0105】
逆量子化部192は、量子化係数データに量子化ステップサイズを乗算することにより逆量子化し、係数データを生成する。この量子化ステップサイズは、通常、送信装置101から供給される符号化データのヘッダなどに記述されている。なお、量子化部162において、ラインブロック毎に量子化ステップサイズが設定されている場合には、逆量子化部192においても同様に、ラインブロック毎に逆量子化ステップサイズが設定されて、逆量子化される。
【0106】
ウェーブレット逆変換部193は、ウェーブレット変換部161の逆処理を行う。つまり、ウェーブレット逆変換部193は、ウェーブレット変換部161により複数の周波数帯域に分割された係数データに対して、低域成分と高域成分を合成するフィルタ処理(合成フィルタ処理)を水平方向と垂直方向の両方に対して行う。ウェーブレット逆変換部193は、このようはウェーブレット逆変換処理により、ベースバンドのビデオデータを復元し、ビデオOUTから受信装置103の外部に出力する。
【0107】
もちろん、上述した符号化部111および復号部135は、一例であり、これ以外の符号化・復号方式を用いるようにしてもよい。
【0108】
[伝送処理]
次に、伝送システム100において行われる各処理について説明する。最初に、ビデオデータを送信装置101からネットワーク102を介して受信装置103に伝送する伝送処理について説明する。
【0109】
送信装置101は、ビデオカメラ等を経由し、ビデオ入力IF「ビデオIN」より入力したビデオデータを、動画像データの符号化処理を行う符号化部111に入力し、符号化される。符号化データは、符号化部111内部のRTP部164によりRTPパケット化処理を施され出力される。出力されたRTPパケットは、FEC部112によりFEC冗長符号化処理を施され、RTP部113によりFEC冗長符号化データ用のRTPパケット化処理を施され、平滑化部114からRTPパケットとしてネットワーク102へ送信される。
【0110】
各RTPパケットには、メディア同期部116にて指定された同期用RTPタイムスタンプがセットされる。
【0111】
受信装置103は、送信装置101より送信されたRTPパケットを受信部131で受信し、受信バッファ132に保存する。このとき損失パケットが検出された場合、ARQ部136に通知され、ARQ部136により再送要求処理が行われる。
【0112】
受信バッファ132は、受信バッファ時間決定部138により決定された受信バッファ時間と、メディア同期部140より通知される時刻情報と、各RTPパケットにセットされたRTPタイムスタンプ値とから、受信バッファ出力時刻を決定し、所定時刻に各RTPパケットをRTP部133に出力する。
【0113】
RTP部133は、RTPパケットをFEC冗長符号化データへ変換する再構成処理を行い、変換したFEC冗長符号化データを、FEC部134へ出力する。FEC部134は、損失パケットの検出を行う。損失パケットが検出された場合、FEC部134は、冗長符号化復号処理により損失パケットデータの回復を行う。
【0114】
このように処理された符号化データ(RTPパケット)は、復号部135に供給される。復号部135は、供給された符号化データのRTPパケットを変換して符号化データを生成し、その符号化データに対して復号処理を行う。復号されたビデオデータは、ビデオ出力IF「ビデオOUT」より、例えば、ディスプレイ等の映像表示装置に供給され、出力される。
【0115】
[基準信号同期処理]
次に、送信装置101と受信装置103との間で基準信号の同期をとる基準信号同期処理について説明する。基準信号同期部115および基準信号同期部139は、互いに通信を行い、IEEE 1588 PTP(Precision Time Protocol)を用い、送信装置101と受信装置103との間の基準信号クロックの同期を行う。
【0116】
基準信号クロックの周波数としては、例えば、入力ビデオ画像のピクセルサンプリング周波数が用いられる。また、ビデオ出力装置から出力されるビデオデータが「ビデオIN」から入力される場合、送信装置101とそのビデオ出力装置との間でも、基準信号の同期がとられるようにしてもよい。
【0117】
なお、基準信号同期部115および基準信号同期部139による、送信装置101と受信装置103との間の基準信号の同期とりは、任意であり、装置間で基準信号の同期をとらないようにしてもよい。
【0118】
[メディア同期処理]
次に、基準信号に基づいてビデオデータの同期をとるメディア同期処理について説明する。送信装置101におけるメディア同期部116は、基準信号同期部115より通知された時刻を基に、「ビデオIN」より入力されたデータのサンプリング時刻と同期した時刻を、RTPタイムスタンプの周波数に変換し、符号化部111内のRTP部164、およびRTP部113にて各RTPパケットにRTPタイムスタンプとして付加する。
【0119】
受信装置103におけるメディア同期部140は、基準信号同期部139より通知された基準クロック時刻情報をRTPタイムスタンプ周波数に変換したシステム時刻として保持する。
【0120】
受信装置103における受信バッファ132にRTPパケットが記録されると、受信バッファ132は、RTPパケットのRTPタイムスタンプ値と、受信バッファ時間設定部138より通知された受信バッファ時間と、メディア同期部140から供給されるRTPタイムスタンプ周波数時刻とから、各RTPパケットの受信バッファ出力時刻を決定する。
【0121】
RTPパケットの受信バッファ出力時刻は、例えば、以下のように決定される。ストリームデータの先頭パケットは、受信した時刻から受信バッファ時間TSTIME_BUFが経過した時刻後に受信バッファから出力されるものとする。これに対して、後続パケットは、先頭パケットのRTPタイムスタンプ値と当該パケットのRTPタイムスタンプ値との差分値から算出される時刻に同期出力される。
【0122】
RTPパケットnの受信バッファ出力時刻TSSYS_BO_nは、例えば、以下の式(1)により算出される。ストリーム先頭パケットのRTPタイムスタンプ値をTSPKT_initとし、受信時刻(システム時刻換算:周波数はRTPタイムスタンプ周波数)をTSSYS_initとし、RTPパケットnのRTPタイムスタンプ値をTSPKT_nとする。
【0123】
TSSYS_BO_n=(TSPKT_n−TSPKT_init)+TSSYS_init+TSTIME_BUF ・・・(1)
【0124】
[符号化処理・復号処理]
次に、送信装置101および受信装置103が行うビデオデータのコーデック処理(符号化処理および復号処理)について説明する。符号化部111は、例えば特許文献1において提案されている動画像の各ピクチャの数ライン毎を1つの符号化ブロックとしてウェーブレット変換を行う階層符号化方式であり、かつ、階層毎に関連する入力データ範囲の異なる符号化方式を用いる。
【0125】
符号化部111が符号化処理を行って符号化データを生成し、復号部135がその符号化データを復号する復号処理を行う。
【0126】
符号化部111は、上述したようにレート制御部121を有する。レート制御部121は、例えば、ITU-T Y.1221記載のトークンバケットビヘビアにおける、バケツサイズをエンコーダ想定バッファサイズB(byte)、バケットレートR(bps)をエンコードレートとして、バケットがあふれないようにエンコードレートを制御するレート制御を行う。これを平滑化伝送したときに受信装置103において必要となるバッファ時間を「可変圧縮符号化遅延要求時間」と称する。
【0127】
可変圧縮符号化遅延要求時間Bt_codec_req(sec)は、例えば、以下の式(2)のように算出される。
【0128】
Bt_codec_req=B×8/R ・・・(2)
【0129】
エンコーダ想定バッファサイズBは、ユーザ等により指定される画像品質要求に応じて決定される。VBR方式による圧縮符号化の場合、エンコーダ想定バッファサイズBを大きくとることにより、複雑度の高い画像部分により多くのデータ量を使用することができ、画質を向上させることができる。つまり、画像品質要求が高い場合、このエンコーダ想定バッファサイズBを大きくとることでその高い要求に応じることができる。
【0130】
ただし、エンコーダ想定バッファサイズBを大きくとると、可変圧縮符号化遅延要求時間Bt_codec_req(sec)が大きくなるので、遅延が増加する恐れがある。
【0131】
[RTCP処理]
次に、送信装置101と受信装置103との間で行われるQoS制御処理のRTCP処理について説明する。RTCP部117およびRTCP部137は、IETF RFC 3550記載のRTCPを用いて、送信装置101と受信装置103との間でRTCPメッセージの送受信を行い、パケット損失率、往復伝搬遅延(RTT)、およびネットワークジッタ等の情報収集や、QoS制御処理のための制御メッセージの送受信を行う。QoS制御メッセージとしては、例えば、ARQ処理における再送要求メッセージ等がある。
【0132】
[FEC処理]
次に、QoS制御処理のFEC処理について説明する。FEC部112は、符号化部111から供給される符号化データのRTPパケットを単位として、FEC冗長符号化を行う。例えば、FEC部112は、Reed-Solomon符号等の消失誤り訂正符号を用い冗長符号化を行う。
【0133】
FEC冗長符号化における冗長度は、例えば、ユーザ等により指定される伝送品質要求により決定される。冗長度は、(元データパケット数,冗長パケット数)という形で指定される。ユーザは、また、ネットワークの想定パケット損失率pも指定する。
【0134】
以下においては、(元データパケット数,冗長パケット数)の組を1つの冗長符号単位(所謂FECブロック)とする。例えば、(元データパケット数,冗長パケット数)=(10,5)と指定された場合、送信装置101のFEC部112は、元データパケット数10個に対して、冗長パケットを5個生成する。つまり、このFECブロックにおいては合計15個のパケットが送信される。
【0135】
この場合、受信装置103のFEC部134は、このFECブロックパケット中任意の10個のパケットを受信すれば、FEC復号処理により元データを復号することができる。例えば、ユーザにより指定されたパケット損失率をpとし、FECブロック内のパケット数をnとし、元データパケット数をkとし、冗長パケット数をn-kとし、ユーザにより伝送品質要求として指定される目標FECブロック損失率をPtとすると、目標FECブロック損失率Ptは、以下の式(3)のように表される。
【0136】
【数1】

・・・(3)
【0137】
この式(3)を満たすように元データパケット数kおよび冗長パケット数n-kが決定される。
【0138】
受信装置103(FEC部134)では、FEC冗長復号化処理により損失パケット回復を行うために、FECブロックの先頭パケットが受信装置103に到着してから末尾のパケットが到着するまでの時間(所謂、冗長符号化ブロック受信待ち時間)以上に受信バッファ時間を設定する必要がある。
【0139】
ユーザ等により指定される伝送品質要求に応じて設定されたFECブロックに対応する冗長符号化ブロック受信待ち時間を「冗長符号化ブロック受信待ち要求時間」と称する。
【0140】
[ARQ処理]
受信装置103におけるARQ処理では、受信部131がRTPパケットのシーケンス番号を利用して損失したパケットを検知し、ARQ部136がその損失パケットの再送要求メッセージを生成し、RTCP部137が、送信装置101に対してその再送要求メッセージを送信し、再送要求を行う。
【0141】
なお、受信装置103のARQ部136が、パケット損失に対して再送要求を行い、往復伝搬時間(ARQ再送パケット待ち時間)経過しても受信部131が再送パケットを受信しなかった場合、再度、再送要求を行うようにしてもよい。さらに、ARQ部136が、当該パケットの受信バッファ出力時刻に再送パケット到着が間に合わないと決定されるまで、このような再送要求を繰り返すようにしてもよい。
【0142】
送信装置101におけるARQ処理では、RTCP部117が再送要求メッセージを受け取ると、ARQ部118が再送すべきRTPパケット(再送パケット)を生成し、その再送パケットを平滑化部114に供給し、再送させる。
【0143】
ARQ処理における回復性能は、受信装置103における、ARQ部136の要求により再送される再送パケットを待つ時間であるARQ再送パケット待ち時間に依存する。ARQ再送パケット待ち時間が大きいほど回復性能は向上するが、ARQ再送パケット待ち要求時間以上の受信バッファ時間が必要となるので、遅延が増大する恐れがある。
【0144】
この「ARQ再送パケット待ち要求時間」は、ユーザ等により指定される伝送品質要求により決定される。
【0145】
[ネットワークジッタ対応処理]
受信装置103の受信バッファ132は、ネットワークジッタ対応処理機構も兼ね備える。受信バッファ132は、ユーザ等により指定される伝送品質要求により決定された「ネットワークジッタ対応バッファ要求時間」以上の時間を受信バッファ時間としてセットする。これにより「ネットワークジッタ対応バッファ要求時間」以下のジッタを受けたパケットの同期処理が可能となる。
【0146】
[データ伝送全体処理]
次に、伝送システム100において実行されるデータ伝送処理の全体の流れの例を、図7のフローチャートを参照して説明する。
【0147】
受信装置103の受信バッファ時間設定部138は、入力部141および出力部142を制御して、ステップS121において、画像品質要求および伝送品質要求を受け付ける。
【0148】
受信バッファ時間設定部138は、例えば、出力部142のモニタに、図8に示されるようなGUIを表示し、入力部141を制御し、そのGUIに基づいて行われるユーザ操作を受け付ける。
【0149】
図8は、画像品質要求および伝送品質要求等を受け付けるGUIである要求受付画面の表示例を示す図である。図8に示されるように、要求受付画面201には、表示部202と要求部203とが設けられている。要求部203は、ユーザにより入力可能な項目が示される。表示部202には、ユーザにより情報が入力された結果が表示される。
【0150】
要求部203には、例えば、「使用者要求」として、「画質要求」(画像品質要求)や「伝送品質要求」を入力することができることが示されている。例えば、画像品質を指定する場合、ユーザは、「画質要求」を選択し、要求する品質(例えばPSR値等)を入力する。また、例えば、伝送品質を指定する場合、ユーザは、「伝送品質要求」を選択し、要求する品質(例えばQoS制御後パケット損失率等)を入力する。
【0151】
なお、要求部203においては、ユーザは、受信バッファ時間を指定することもできる。例えば、ユーザが、「受信バッファ時間」を選択し、要求する時間を入力することにより、「受信バッファ時間」として許容される最長の時間が設定される。
【0152】
表示部202には、このように要求部203において入力された情報が反映された各種情報が表示される。
【0153】
例えば、表示部202には、「ネットワーク状況」として「伝送遅延」、「パケット損失率」、および「ネットワークジッタ」等が表示される。
【0154】
また、例えば、表示部202には、「処理要求時間」として「可変圧縮符号化遅延要求時間」、「冗長符号化ブロック受信待ち時間」、「ARQ再送パケット待ち要求時間」、および「ネットワークジッタ対応バッファ要求時間」等が表示される。
【0155】
さらに、例えば、表示部202には、受信バッファ時間として推奨される「推奨受信バッファ時間」が表示される。
【0156】
このようなGUIに基づいて要求を入力することにより、ユーザは、画像品質要求、伝送品質要求、および受信バッファ時間等をより容易に設定することができる。
【0157】
図7に戻り、画像品質要求や伝送品質要求が受け付けられると、受信バッファ時間設定部138は、ステップS122において受信バッファ時間決定処理を行い、ARQ部136や受信バッファ132の設定を行ったり、RTCP部137を介して、決定した情報等を送信装置101に通知したりする。
【0158】
送信装置101の受信バッファ時間・処理パラメータ設定部119は、RTCP部117を介してこの通知を受け取ると、ステップS101において、その通知に基づいて受信バッファ時間・処理パラメータ設定処理を行い、符号化部111やFEC部112の設定を行う。
【0159】
設定が終了すると、送信装置101の各部は、ステップS102において、受信装置103と連携してデータ伝送(データ送信)を行う。この処理に対応して、受信装置103の各部は、ステップS123において、送信装置101と連携してデータ伝送(データ受信)を行う。
【0160】
これらのデータ伝送においては、上述した各種処理が適宜行われる。
【0161】
以上のように、送信装置101および受信装置103は、互いに連携し、ユーザ等により指定される画像品質要求や伝送品質要求に応じて、各部の設定を行う。これにより、送信装置101および受信装置103は、各処理の遅延時間を最適化し、各処理の時間的余裕を画質や伝送品質の向上に利用し、遅延時間上の無駄を低減させることができる。つまり、コンテンツの品質の劣化を抑制することができる。
【0162】
[受信バッファ時間決定処理]
次に、図7のステップS122において実行される受信バッファ時間決定処理の流れの例を図9のフローチャートを参照して説明する。
【0163】
受信バッファ時間決定処理が開始されると、受信バッファ時間設定部138は、ステップS141において、ユーザ等からの画像品質要求や伝送品質要求に基づいて、各種遅延時間や待ち時間等を設定する。
【0164】
例えば、受信バッファ時間設定部138は、画像品質要求や伝送品質要求の設定値から、「可変圧縮符号化遅延時間」として要求される時間である「可変圧縮符号化遅延要求時間」、「冗長符号化ブロック受信待ち時間」として要求される時間である「冗長符号化ブロック受信待ち要求時間」、「ARQ再送パケット待ち時間」として要求される時間である「ARQ再送パケット待ち要求時間」、および、「ネットワークジッタ対応バッファ時間」として要求される時間である「ネットワークジッタ対応バッファ要求時間」を計算する。
【0165】
従来の方法の場合、これらの値がそのまま設定値として使用されていたが、受信バッファ時間設定部138は、これらの値を、その最大値に揃えるように再設定する。受信バッファ時間設定部138は、ステップS142において、以下の式(4)に示されるように、「可変圧縮符号化遅延要求時間」、「冗長符号化ブロック受信待ち要求時間」、「ARQ再送パケット待ち要求時間」、および「ネットワークジッタ対応バッファ要求時間」の最大値を「受信バッファ時間」として設定する。
【0166】
「受信バッファ時間」=MAX(「可変圧縮符号化遅延要求時間」,「冗長符号化ブロック受信待ち要求時間」,「ARQ再送パケット待ち要求時間」,「ネットワークジッタ対応バッファ要求時間」)
・・・(4)
【0167】
式(4)において、MAX()は、最大値を計算する関数である。
【0168】
「受信バッファ時間」を算出すると、受信バッファ時間設定部138は、ステップS143において、以下の式(5)に示されるように、その「受信バッファ時間」を、「可変圧縮符号化遅延時間」、「冗長符号化ブロック受信待ち時間」、「ARQ再送パケット待ち時間」、および「ネットワークジッタ対応バッファ時間」として設定する。
【0169】
「可変圧縮符号化遅延時間」=「冗長符号化ブロック受信待ち時間」=「ARQ再送パケット待ち時間」=「ネットワークジッタ対応バッファ時間」=「受信バッファ時間」
・・・(5)
【0170】
例えば、可変圧縮符号化遅延要求時間221、冗長符号化ブロック受信待ち要求時間222、ARQ再送パケット待ち要求時間223、および、ネットワークジッタ対応バッファ要求時間224が、図10の左に示されるような長さであるとする。
【0171】
この場合、可変圧縮符号化遅延要求時間221が最も長いので、図10右に示されるように、受信バッファ時間241は、この可変圧縮符号化遅延要求時間221と同じ長さに設定される。可変圧縮符号化遅延時間231、冗長符号化ブロック受信待ち時間232、ARQ再送パケット待ち時間233、および、ネットワークジッタ対応バッファ時間234は、それぞれ、この受信バッファ時間241に揃えられる。
【0172】
つまり、この場合、冗長符号化ブロック受信待ち時間232、ARQ再送パケット待ち時間233、および、ネットワークジッタ対応バッファ時間234は、それぞれ、要求された時間よりも長くなるように設定される。
【0173】
図9に戻り、以上のように、各時間が設定されると、受信バッファ時間設定部138は、ステップS144において、「ARQ再送パケット待ち時間」を、ARQ部136に設定し、再送要求を行うかどうかの判定に使用させる。
【0174】
また、ステップS145において、受信バッファ時間設定部138は、「ネットワークジッタ対応バッファ時間」を受信バッファ132に設定する。
【0175】
さらに、ステップS146において、受信バッファ時間設定部138は、「画像品質要求」、「伝送品質要求」、「可変圧縮符号化遅延時間」、および「冗長符号化ブロック待ち時間」を、例えば、RTCP部137を介して、RTCPメッセージとして送信装置101へ通知する。
【0176】
通知が終了すると、受信バッファ時間設定部138は、受信バッファ時間決定処理を終了し、処理を図7のステップS102に戻し、ステップS103に処理を進める。
【0177】
[受信バッファ時間・処理パラメータ設定処理]
次に、図11のフローチャートを参照して、図7のステップS101において実行される受信バッファ時間・処理パラメータ設定処理を説明する。
【0178】
受信バッファ時間・処理パラメータ設定処理が開始されると、受信バッファ時間・処理パラメータ設定部119は、ステップS161において、RTCP部117を介して、受信装置103から供給されるRTCPメッセージに含まれる「画像品質要求」、「伝送品質要求」、「可変圧縮符号化遅延時間」、および「冗長符号化ブロック待ち時間」を取得する。
【0179】
ステップS162において、受信バッファ時間・処理パラメータ設定部119は、「可変圧縮符号化遅延時間」を符号化部111に設定する。ステップS163において、受信バッファ時間・処理パラメータ設定部119は、「冗長符号化ブロック待ち時間」をFEC部112に設定する。
【0180】
レート制御部121は、ステップS164において、供給された「画像品質要求」や「可変圧縮符号化遅延時間」を用いて、レート制御パラメータを設定する。例えば、レート制御部121は、以下の式(6)を満たすように、エンコーダ想定バッファサイズB(byte)を設定する。なお、式(6)において、Bt_codec(sec)は可変圧縮符号化遅延時間を示す。また、R(bps)はパケットレートを示す。
【0181】
Bt_codec=B×8/R ・・・(6)
【0182】
FEC部112は、ステップS165において、「伝送品質要求」および「冗長符号化ブロック受信待ち時間」を用いてFECブロックパラメータを設定する。「冗長符号化ブロック待ち時間」は、FECブロックに含まれるパケット全ての平滑化伝送にかかる時間の最大値である。FEC部112は、この時間が「冗長符号化ブロック待ち時間」以下となるように、FECブロック毎の元データパケット数を調整する。さらに、FEC部112は、例えば、上述した式(3)を満たすように、冗長パケット数n−kを設定する。
【0183】
ステップS165の処理が終了すると、受信バッファ時間・処理パラメータ設定部119は、受信バッファ時間・処理パラメータ設定処理を終了し、処理を図7のステップS101に戻し、ステップS102の処理を行う。
【0184】
以上のように各種設定を行うことにより、送信装置101および受信装置103は、遅延を増大させない程度に、各遅延時間や待ち時間をできるだけ長く確保することができ、その時間的余裕を、画像品質や伝送品質の向上に利用することができる。
【0185】
より具体的には、送信装置101は、遅延を増大させない程度に、符号化部111の「可変圧縮符号化遅延時間」をより長く設定し、エンコーダ想定バッファサイズB(byte)をより大きく設定することができる。また、送信装置101は、遅延を増大させない程度に、FEC部112の「冗長符号化ブロック待ち時間」をより長く設定し、FECブロックや冗長度をより大きく設定することができる。
【0186】
受信装置103は、遅延を増大させない程度に、ARQ部136の「ARQ再送パケット待ち時間」をより長く設定することができる。また、受信装置103は、遅延を増大させない程度に、受信バッファ132の「ネットワークジッタ対応バッファ時間」をより長く設定することができる。
【0187】
以上のように、送信装置101および受信装置103は、各処理の時間的余裕を活用し、画質や伝送品質の向上に利用することにより、遅延時間上の無駄を低減させることができる。つまり、送信装置101および受信装置103は、上述したようなデータ伝送に関する各種処理によるコンテンツの品質の劣化を抑制することができる。
【0188】
<2.第2の実施の形態>
[データ伝送全体処理の他の例]
以上においては、ユーザ等の要求のみにより受信バッファ時間や処理パラメータが決定されるように説明したが、これに限らず、ネットワーク102の通信に関する状況に応じて受信バッファ時間や処理パラメータの設定が行われるようにしてもよい。
【0189】
その場合、ネットワーク102の通信に関する状況(ネットワーク状況情報)は、RTCP部117とRTCP部137との間で行われるパケットの授受によって観測される。したがって、送信装置101と受信装置103の構成は、上述した第1の実施の形態(図1)の場合と同様である。
【0190】
さらに、このようなネットワーク状況情報の測定を、データ伝送中に繰り返し行い、その最新のネットワーク状況に応じて、受信バッファ時間や処理パラメータの設定が更新されるようにしてもよい。
【0191】
この場合も、RTCP部117およびRTCP部137は、上述した第1の実施の形態において説明した場合と基本的に同様の処理を行う。ただし、この場合、RTCP部117は、符号化データの伝送を開始する前に、ネットワーク状況事前計測用のダミーデータを送信する。そのダミーデータは、ネットワーク102を介してRTCP部137に伝送される。RTCP部137は、そのダミーデータを受信し、パケットに記述される送信時の情報と、受信時の状況からネットワーク状況の計測(事前計測)を行う。
【0192】
符号化データの伝送開始後においては、RTCP部137は、伝送される符号化データのRTPパケットによりネットワーク状況情報の計測を行う。
【0193】
この場合のデータ伝送処理の流れの例を図12のフローチャートを参照して説明する。受信装置103の受信バッファ時間設定部138が、ステップS221において、図7のステップS121の場合と同様に、画像品質要求および伝送品質要求を受け付けると、RTCP部137は、ステップS222において、RTCP部117とダミーデータ等の各種データの授受を行い、ネットワーク状況を測定し、そのネットワーク状況情報をRTCP部117と共有する。送信装置101のRTCP部117は、ステップS201において、このステップS222の処理に対応する処理を行う。
【0194】
ネットワーク状況を測定すると受信装置103の受信バッファ時間設定部138は、受信バッファ時間決定処理を行う。この処理は、基本的に図9のフローチャートを参照して説明した場合と同様に行われる。
【0195】
ただし、受信バッファ時間設定部138は、ステップS141において、画像品質要求と伝送品質要求だけでなく、ステップS222においてRTCP部137より取得したネットワーク状況情報にも基づいて、各種要求時間を算出する。
【0196】
例えば、パケット損失率が高い場合、「ARQ再送パケット待ち要求時間」は、回復性能を向上させるような値に設定される。また、例えば、パケット損失率が高い場合、「冗長符号化ブロック受信待ち要求時間」は、式(3)を満たし、指定された冗長度以下に保つ元データパケット数および冗長パケット数に合わせた値に設定される。
【0197】
また、「ネットワークジッタ対応バッファ要求時間」は、実際に測定されたネットワークジッタ以上の値に設定される。
【0198】
このように設定された要求時間に応じて、各種遅延時間や待機時間等が設定される。送信装置101の受信バッファ時間・処理パラメータ設定部119は、ステップS202において、受信バッファ時間・処理パラメータ設定処理を行う。この処理は、基本的に図11のフローチャートを参照して説明した場合と同様に行われる。
【0199】
つまり、受信バッファ時間・処理パラメータ設定部119は、RTCP部117により取得されたネットワーク状況情報も利用して冗長度やFECブロックサイズを決定する。符号化データの伝送開始前において、受信バッファ時間・処理パラメータ設定部119は、RTCP部117により計測されたネットワーク状況事前計測情報に含まれるパケット損失率pを用い、式(3)を満たすように、元データパケット数kや冗長パケット数n-kを決定する。
【0200】
各種パラメータの設定が終了すると、受信装置103の各部は、ステップS224において、受信バッファ時間等各種設定を動的に更新しながらデータ伝送を行う受信バッファ動的変更伝送処理を行う。この処理に対応して、送信装置101の各部は、ステップS203において、受信バッファ動的変更伝送処理を行う。
【0201】
[受信バッファ動的変更伝送処理]
図13のフローチャートを参照して、送信装置101および受信装置103により行われる受信バッファ動的変更伝送処理の流れの例を説明する。
【0202】
ステップS241において、送信装置101の各部は、一定時間データ転送を行う。この処理に対応して、受信装置103の各部は、ステップS261において、一定時間データ転送を行う。
【0203】
受信装置103のRTCP部137は、ステップS262において、RTCP部117とデータの送受信を行い、ネットワーク状況を測定し、ネットワーク状況情報を更新する。この処理に対応して、送信装置101のRTCP部117は、ステップS242において、ネットワーク状況を測定し、ネットワーク状況情報を更新する。
【0204】
ステップS263において、受信装置103の受信バッファ時間設定部138は、更新されたネットワーク状況情報に基づいて、受信バッファ時間決定処理を行い、「可変圧縮符号化遅延要求時間」、「冗長符号化ブロック受信待ち要求時間」、「ARQ再送パケット待ち要求時間」、および「ネットワークジッタ対応バッファ要求時間」等を更新し、その更新された各種要求時間に応じて、「可変圧縮符号化遅延時間」、「冗長符号化ブロック受信待ち時間」、「ARQ再送パケット待ち時間」、および「ネットワークジッタ対応バッファ時間」等の設定を、例えば式(4)や式(5)を用いて更新する。
【0205】
この受信バッファ時間決定処理は、図12のステップS223の場合と同様に行われる。
【0206】
この処理に対応し、ステップS243において、送信装置101の受信バッファ時間・処理パラメータ設定部119は、受信バッファ時間・処理パラメータ設定処理を行う。この処理は、図12のステップS202の場合と同様に行われる。
【0207】
符号化データの伝送開始後の場合、受信バッファ時間・処理パラメータ設定部119は、符号化データ伝送を利用してRTCP部117により計測されたネットワーク状況情報に含まれるパケット損失率pを用い、式(3)を満たすように、元データパケット数kや冗長パケット数n-kを決定する。
【0208】
ステップS244において、送信装置101は、伝送を終了するか否かを判定し、伝送を終了すると判定された場合、処理をステップS241に戻し、それ以降の処理を実行させる。また、ステップS244において、伝送を終了すると判定された場合、送信装置101による受信バッファ動的変更伝送処理が終了される。
【0209】
また、ステップS264において、受信装置103は、伝送を終了するか否かを判定し、伝送を終了すると判定された場合、処理をステップS261に戻し、それ以降の処理を実行させる。また、ステップS264において、伝送を終了すると判定された場合、受信装置103による受信バッファ動的変更伝送処理が終了される。
【0210】
以上のように、ユーザ等からの要求だけでなく、ネットワーク状況にも応じて、パラメータ等の設定を行うようにすることにより、送信装置101および受信装置103は、より実際の状況に応じてより効率よく画質や伝送品質の設定を行うことができ、遅延時間上の無駄をより低減させることができる。つまり、送信装置101および受信装置103は、コンテンツの品質の劣化を抑制することができる。
【0211】
<3.第3の実施の形態>
[伝送システムの構成]
以上においては、送信装置と受信装置が1対1に構成されるシステムについて説明したが、これに限らず、伝送システムを構成する送信装置と受信装置の数は任意である。例えば、複数の送信装置から送信される符号化データを1つの受信装置が受信するようにしてもよい。
【0212】
図14は、その場合の伝送システムの構成例を示す図である。図14に示される伝送システム300は、基本的に伝送システム100と同様のシステムであるが、伝送システム100の場合と異なり、送信装置を複数有する(送信装置101−1乃至送信装置101−N(Nは2以上の整数))。
【0213】
送信装置101−1乃至送信装置101−Nは、それぞれ、上述した送信装置101と同様の構成を有し、同様の処理を行う。送信装置101−1乃至送信装置101−Nを互いに区別して説明する必要が無い場合、単に送信装置101と称する。
【0214】
伝送システム300は、受信装置103の代わりに、各送信装置101から送信されるRTPパケットを受信する1つの受信装置303を有する。
【0215】
図14に示されるように、受信装置303は、伝送部311、基準信号同期部312、受信部313−1乃至受信部313−N、統合受信バッファ時間調整部314、および合成部315を有する。
【0216】
伝送部311は、各送信装置101と通信を行い、基準信号同期部312や受信部313−1乃至受信部313−Nから供給される情報を送信したり、各送信装置101から供給される情報を受信し、基準信号同期部312や受信部313−1乃至受信部313−Nに供給したりする。
【0217】
基準信号同期部312は、送信装置101の基準信号同期部115と通信を行い、基準信号の同期をとる。同期がとられた基準信号は、受信部313−1乃至受信部313−Nに供給される。
【0218】
このように、送信装置101が複数存在する場合、例えば、受信装置303の基準信号同期部312がマスタとなり、全ての送信装置101が受信装置303と同期を取ることにより結果的に全ての送信装置101および受信装置303の同期を取ることができる。
【0219】
受信部313−1乃至受信部313−Nは、それぞれ、送信装置101−1乃至送信装置101−Nに対応し、対応する送信装置101から供給されたRTPパケットを受信し、復号してビデオデータを出力する。以下において、受信部313−1乃至受信部313−Nを互いに区別して説明する必要が無い場合、単に、受信部313と称する。つまり、受信部313は、送信装置101以上の数が予め用意される。換言するに、受信装置303は、内蔵する受信部313の数以下の送信装置101から送信されるパケットを受信することができる。
【0220】
統合受信バッファ時間調整部314は、各受信部313の受信バッファ時間を揃える。合成部315は、各受信部313から出力されるビデオデータを合成し、合成されたビデオデータを、受信装置303のビデオ出力端子「ビデオOUT」から出力する。
【0221】
[受信部]
図15は、受信部313の主な構成例を示すブロック図である。図15に示されるように、受信部313は、上述した受信装置103と基本的に同様の構成を有する。ただし、受信部313は、受信装置103が有する基準信号同期部139を有さない。また、受信部313は、受信装置103が有する受信バッファ時間設定部138の代わりに、受信バッファ時間設定部338を有する。
【0222】
メディア同期部140は、受信部313の外部の基準信号同期部312より供給される基準信号、すなわち、各送信装置101と各受信部313において同期がとれた基準信号を用いて、受信バッファ132や復号部135におけるRTPパケットの処理タイミングを制御する。
【0223】
受信バッファ時間設定部338は、受信バッファ時間設定部138と同様に、ユーザ等により設定された画像品質要求や伝送品質要求、並びに、RTCP部137により収集されたネットワーク状況情報等に基づいて、各種時間やパラメータ等の設定を行う。
【0224】
なお、受信バッファ時間設定部338が設定した各種時間は、後述するように、統合受信バッファ時間調整部314により、受信部313間で調整される。
【0225】
また、入力部141および出力部142は、各受信部313で共有するようにしてもよい。例えば、ユーザが、どの受信部313に対して画像品質要求や伝送品質要求を入力する場合であっても、同じ入力部141および出力部142を用いるようにするようにしてもよい。画像品質要求や伝送品質要求の設定対象とする受信部313の切り替え制御方法は任意である。例えばGUIにそのような切り替えボタンを設けるようにしてもよい。また、ユーザが、複数の受信部313に対して、画像品質要求や伝送品質要求の設定を一度に行うことができるようにしてもよい。
【0226】
[データ伝送全体処理]
図16のフローチャートを参照して、この場合のデータ伝送処理の流れの例を説明する。
【0227】
ステップS321において、受信装置303の各受信部313の受信バッファ時間設定部338は、画像品質要求や伝送品質要求を受け付ける。ステップS322において、受信装置303の各受信部313のRTCP部137は、それぞれ、自分自身が対応する送信装置101のRTCP部117と通信を行い、ネットワーク状況を測定し、ネットワーク状況情報を生成する。
【0228】
この処理に対応して、各送信装置101のRTCP部117は、ネットワーク状況の測定を行い、ネットワーク状況情報を取得する。
【0229】
これらの情報を基に、ステップS323において、受信装置303の各受信部313の受信バッファ時間設定部338は、受信バッファ時間の仮設定を行う仮受信バッファ時間決定処理を行う。
【0230】
各受信部313において仮受信バッファ時間が決定されると、ステップS324において、統合受信バッファ時間調整部314と各受信部313の受信バッファ時間設定部338は、連携して、統合受信バッファ時間決定処理を行い、各仮受信バッファ時間を調整した受信バッファ時間を設定する。
【0231】
ステップS325において、伝送部311は、以上の処理により得られた各種情報(例えば、画像品質要求、伝送品質要求、可変圧縮符号化遅延時間、および冗長符号化ブロック受信待ち時間等)を、各送信装置101に通知する。各送信装置101は、ステップS302において、この通知を取得し、受信バッファ時間・処理パラメータ設定処理を行う。
【0232】
各送信装置101および受信装置303は、ステップS303およびステップS326において、受信バッファ動的変更処理を行い、最新のネットワーク状況を測定し、その状況に基づいて各種設定を更新しながらデータ伝送を行う。
【0233】
なお、以上においては、受信バッファ時間を、画像品質要求、伝送品質要求、およびネットワーク状況に基づいて設定するように説明したが、これに限らず、第1の実施の形態のように、画像品質要求と伝送品質要求のみに基づいて受信バッファ時間を設定するようにしてもよい。その場合、ステップS322やステップS301の処理が省略される。
【0234】
[仮受信バッファ時間決定処理]
次に、図17のフローチャートを参照して、仮受信バッファ時間決定処理の流れの例を説明する。
【0235】
ステップS341において、受信装置303は、送信装置101と対応し、データ伝送に使用する受信部313の内、未処理のものの中から、処理対象とする受信部313を選択する。その処理対象の受信部313の受信バッファ時間設定部338は、ステップS342において、画像品質要求、伝送品質要求、およびネットワーク状況情報等に基づいて、「可変圧縮符号化遅延要求時間」、「冗長符号化ブロック受信待ち要求時間」、「ARQ再送パケット待ち要求時間」、および「ネットワークジッタ対応バッファ要求時間」を算出する。
【0236】
また、受信バッファ時間設定部338は、ステップS343において、「可変圧縮符号化遅延要求時間」、「冗長符号化ブロック受信待ち要求時間」、「ARQ再送パケット待ち要求時間」、および「ネットワークジッタ対応バッファ要求時間」の最大値を仮受信バッファ時間として設定する。
【0237】
ステップS344において、受信装置303は、全ての受信部313に対して処理を行ったか否かを判定し、未処理の受信部313が存在すると判定した場合、処理をステップS341に戻し、新たな受信部313を処理対象として選択し、それ以降の処理を繰り返す。
【0238】
また、ステップS344において、データ伝送に用いる全ての受信部313を処理したと判定された場合、受信装置303は、仮受信バッファ時間決定処理を終了し、処理を図16のステップS323に戻し、ステップS324の処理を行う。
【0239】
[統合受信バッファ時間決定処理]
次に、図16のステップS324において実行される統合受信バッファ時間決定処理の流れの例を、図18のフローチャートを参照して説明する。
【0240】
ステップS361において、統合受信バッファ時間調整部314は、各受信部313において設定された仮受信バッファ時間を取得し、以下の式(7)に示されるように、各受信部313について、仮受信バッファ時間と伝送遅延の和を求め、その和の最大値を統合受信バッファ時間に設定する。
【0241】
統合受信バッファ時間=MAX(仮受信バッファ時間1+伝送遅延時間1,仮受信バッファ時間2+伝送遅延時間2,・・・,仮受信バッファ時間N+伝送遅延時間N)
・・・(7)
【0242】
例えば、図19の上部に示されるように、送信装置101において行われる処理による遅延時間を送信装置処理遅延351とし、ネットワーク102を介したデータ伝送による遅延時間を伝送遅延352とし、受信装置303に設定される仮の受信バッファ時間を仮受信バッファ時間353とする。
【0243】
図19の上部に示されるように、送信装置101−1の送信装置処理遅延351を送信装置処理遅延351−1とし、送信装置101−1の伝送遅延352を伝送遅延352−1とし、送信装置101−1の仮受信バッファ時間353を仮受信バッファ時間353−1とする。
【0244】
また、送信装置101−2の送信装置処理遅延351を送信装置処理遅延351−2とし、送信装置101−2の伝送遅延352を伝送遅延352−2とし、送信装置101−2の仮受信バッファ時間353を仮受信バッファ時間353−2とする。
【0245】
以下、各送信装置101に対して同様にして、送信装置101−Nの送信装置処理遅延351を送信装置処理遅延351−Nとし、送信装置101−Nの伝送遅延352を伝送遅延352−Nとし、送信装置101−Nの仮受信バッファ時間353を仮受信バッファ時間353−Nとする。
【0246】
なお、説明の便宜上、送信装置処理遅延351−1乃至送信装置処理遅延351−Nは、互いに同じ長さとする。
【0247】
この場合、仮受信バッファ時間と伝送遅延の和は、送信装置101−1のものが最大であるので、その和が統合受信バッファ時間に設定される。
【0248】
図18に戻り、ステップS362において、統合受信バッファ時間調整部314は、いずれかの送信装置101に対応し、データ伝送に用いる受信部313の内、未処理のものの中から、処理対象とする受信部313を選択する。
【0249】
ステップS363において、その処理対象に選択された受信部313の受信バッファ時間設定部338は、以下の式(8)に示されるように、ステップS361において設定された統合受信バッファ時間と伝送遅延との差を受信バッファ時間に設定する。
【0250】
受信バッファ時間K=統合受信バッファ時間−伝送遅延K ・・・(8)
【0251】
図19の例の場合、送信装置101−1の伝送遅延352−1と仮受信バッファ時間353−1の和が最大であるので、式(7)および式(8)により、送信装置101−1の受信バッファ時間354−1は、図19の下段に示されるように、仮受信バッファ時間353−1と同一に設定される。
【0252】
送信装置101−2の受信バッファ時間354−2、・・・、送信装置101−Nの受信バッファ時間354−Nも、それぞれ、同様に算出される。その結果、図19の下段に示されるように、各送信装置101の送信装置処理遅延351、伝送遅延352、および受信バッファ時間354の和は、互いに同一となる。
【0253】
つまり、各送信装置101の受信バッファ時間354は、遅延が増大しない程度に、より長くなるように設定される。
【0254】
図18に戻り、ステップS364において、処理対象の受信部313の受信バッファ時間設定部338は、式(5)のように、ステップS363において設定した受信バッファ時間を、可変圧縮符号化遅延時間、冗長符号化ブロック受信待ち時間、ARQ再送パケット待ち時間、およびネットワークジッタ対応バッファ時間として設定する。
【0255】
これにより、各遅延時間や待ち時間が、遅延が増大しない程度に、より長くなるように設定される。
【0256】
ステップS365において、受信バッファ時間設定部338は、ARQ部136に、ARQ再送パケット待ち時間を設定する。ステップS366において、受信バッファ時間設定部338は、受信バッファ132にネットワークジッタ対応バッファ時間を設定する。
【0257】
ステップS367において、受信装置303は、データ伝送に用いられる全ての受信部313に対して処理を行ったか否かを判定し、未処理の受信部313が存在すると判定された場合、処理をステップS362に戻し、新たな未処理の受信部313を選択し、その受信部313について、それ以降の処理を繰り返す。
【0258】
また、ステップS367において、全ての受信部313に対して処理を行ったと判定された場合、受信装置303は、統合受信バッファ時間決定処理を終了し、処理を図16のステップS324に戻し、ステップS325以降の処理を実行する。
【0259】
なお、図16のステップS302において実行される各送信装置101による受信バッファ時間・処理パラメータ設定処理は、図11のフローチャートを参照して説明した場合と同様に行われる。
【0260】
[受信バッファ動的変更伝送処理]
次に、図16のステップS303およびステップS326において実行される受信バッファ動的変更伝送処理の流れの例を図20のフローチャートを参照して説明する。
【0261】
なお、この受信バッファ動的変更伝送処理は、各送信装置101と、それに対応する受信部313との間で行われる。
【0262】
この場合も基本的に図13を参照して説明した場合と同様に行われるが、図13の例の場合、受信装置103がステップS263において受信バッファ時間決定処理を行うのに対し、図20の例の場合、受信装置303(受信部313)は、ステップS403において仮受信バッファ時間決定処理を行い、ステップS404において統合受信バッファ時間決定処理を行い、ステップS405において、以上の処理により得られた各種情報(例えば、画像品質要求、伝送品質要求、可変圧縮符号化遅延時間、および冗長符号化ブロック受信待ち時間等)を、対応する送信装置101に通知する。
【0263】
つまり、図16のステップS323乃至ステップS325の処理、すなわち、データ伝送を開始する前と同様の処理が行われる。
【0264】
このようにして、送信装置101および受信装置303は、第2の実施の形態の場合と同様に、最新のネットワーク状況に基づいて各種設定を更新することにより、各処理の時間的余裕を画質や伝送品質の向上により有効に利用することができるようにし、遅延時間上の無駄をより低減させることができる。つまり、コンテンツの品質の劣化をより抑制することができる。
【0265】
なお、ユーザ等からの要求のみに基づいて各種設定を行う場合、この受信バッファ動的変更伝送処理は省略される。
【0266】
以上のように、伝送システム100および伝送システム300は、データ伝送に関する各処理に対して、受信装置において設定される遅延時間や待機時間を、その最大値に揃えることにより、遅延時間を増大させない程度に各処理に時間的余裕を設け、その時間的余裕を使って画質や伝送品質を向上させるように、各処理のパラメータの設定を行う。
【0267】
このようにすることにより、伝送システム100および伝送システム300は、コンテンツの品質の劣化を抑制することができる。
【0268】
例えば、ユーザ等による画質要求、伝送品質要求、およびネットワーク状況等により決定される受信バッファ時間を有効に活用し、遅延時間を増加させることなく、映像画質や伝送品質を最大限向上させることができる。
【0269】
また、可変圧縮符号化遅延時間が処理遅延時間中最大値であり、この値を受信バッファ時間として設定した場合、冗長符号化処理において冗長符号化ブロックを大きく取り、冗長符号化ブロック受信待ち時間を受信バッファ時間と同等まで大きくすることにより、遅延時間を増加させずにバースト損失耐性を向上させることが可能となる。
【0270】
さらに、ARQ再送パケット待ち要求時間、ネットワークジッタ対応バッファ要求時間も同様に大きくすることにより、それぞれ、損失回復性能の向上やネットワークジッタ許容値の向上を行うことができる。
【0271】
また、冗長符号化ブロック受信待ち時間が処理遅延時間中最大であった場合、可変圧縮符号化遅延時間を受信バッファ時間と同等大きく設定することにより、遅延時間を増加させずに画質を向上させる事ができる。
【0272】
複数の送信装置からの伝送を受信装置において同期処理する場合、複数の符号化データの同期処理が可能となるように、受信バッファ時間の調整を行い、調整後の受信バッファ時間に合わせて実際の圧縮符号化・復号処理時間やQoS制御処理時間を受信バッファ時間と同一値以下となるように処理パラメータを調整することにより、複数符号化データの同期処理のために設定した使用者の画質要求、伝送品質要求、およびネットワーク状況等から指定される以上に設定された受信バッファ時間を有効に活用し、遅延時間を増加させることなく、映像画質や伝送品質を最大限向上させることができる。
【0273】
なお、以上においては、伝送するビデオデータを符号化するように説明したが、これに限らず、非圧縮のまま伝送するようにしてもよい。
【0274】
<4.第4の実施の形態>
[パーソナルコンピュータ]
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図21に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【0275】
図21において、パーソナルコンピュータ400のCPU(Central Processing Unit)401は、ROM(Read Only Memory)402に記憶されているプログラム、または記憶部413からRAM(Random Access Memory)403にロードされたプログラムに従って各種の処理を実行する。RAM403にはまた、CPU401が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0276】
CPU401、ROM402、およびRAM403は、バス404を介して相互に接続されている。このバス404にはまた、入出力インタフェース410も接続されている。
【0277】
入出力インタフェース410には、キーボード、マウスなどよりなる入力部411、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部412、ハードディスクなどより構成される記憶部413、モデムなどより構成される通信部414が接続されている。通信部414は、インターネットを含むネットワークを介しての通信処理を行う。
【0278】
入出力インタフェース410にはまた、必要に応じてドライブ415が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア421が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部413にインストールされる。
【0279】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【0280】
この記録媒体は、例えば、図21に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、若しくは半導体メモリなどよりなるリムーバブルメディア421により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM402や、記憶部413に含まれるハードディスクなどで構成される。
【0281】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0282】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0283】
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
【0284】
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0285】
100 伝送システム, 101 送信装置, 102 ネットワーク, 103 受信装置, 111 符号化部, 112 FEC部, 113 RTP部, 114 平滑化部, 115 基準信号同期部, 116 メディア同期部, 117 RTCP部, 118 ARQ部, 119 受信バッファ時間・処理パラメータ設定部, 121 レート制御部, 131 受信部, 132 受信バッファ, 133 RTP部, 134 FEC部, 135 復号部, 136 ARQ部, 137 RTCP部, 138 受信バッファ時間設定部, 139 基準信号同期部, 140 メディア同期部, 141 入力部, 142 出力部, 300 伝送システム, 303 受信装置, 311 伝送路, 312 基準信号同期部, 313 受信部, 314 統合受信バッファ時間調整部, 315 合成部, 338 受信バッファ時間設定部

【特許請求の範囲】
【請求項1】
データ伝送を遅延させる遅延時間であって、前記データ伝送に関する互いに異なる複数の遅延要素についての遅延時間のそれぞれの長さを、複数の前記遅延時間の内、最長の遅延時間、若しくはそれ以上の所定の時間に合わせるように調整する調整手段と、
前記調整手段により長さが調整された複数の前記遅延時間のそれぞれを、前記データ伝送に関する処理を行う処理部に設定する設定手段と
を備える情報処理装置。
【請求項2】
前記遅延時間は、前記データ伝送のQoS制御処理時間であり、
前記調整手段は、前記QoS制御処理時間として要求されるQoS制御処理要求時間のうち、最長のQoS制御処理要求時間、若しくはそれ以上の所定の時間に合わせるように、各遅延時間の長さを調整する
請求項1に記載の情報処理装置。
【請求項3】
前記QoS制御処理時間は、冗長符号化ブロックの先頭パケットから末尾のパケットを受信するまでの時間である冗長符号化ブロック受信待ち時間、再送パケットを待つ時間である再送パケット待ち時間、およびネットワークジッタを吸収するためのネットワークジッタ対応バッファ時間を含む
請求項2に記載の情報処理装置。
【請求項4】
前記設定手段は、
前記再送パケット待ち時間を、前記パケットの再送処理を行う再送処理部に設定し、
前記ネットワークジッタ対応バッファ時間を、伝送された前記データを一時的に保持する保持部に設定する
請求項3に記載の情報処理装置。
【請求項5】
前記データ伝送における伝送品質に関する要求である伝送品質要求、および、前記冗長符号化ブロック受信待ち時間を用いて、前記データ送信側のQoS制御処理のパラメータ設定を行うパラメータ設定手段をさらに備える
請求項3に記載の情報処理装置。
【請求項6】
前記データは伝送元において符号化され、得られた符号化データが伝送され、伝送先において前記符号化データが復号され、
前記遅延時間は、前記符号化においてレート制御されて生成された前記符号化データを平滑化伝送する際に必要な可変圧縮符号化遅延要求時間を含み、
前記データの画質に関する要求である画像品質要求、および、前記可変圧縮符号化遅延要求時間を用いて、前記符号化のバッファサイズを含む符号化パラメータの設定を行うパラメータ設定手段をさらに備える
請求項3に記載の情報処理装置。
【請求項7】
前記データの画質に関する要求である画像品質要求、および、前記データ伝送における伝送品質に関する要求である伝送品質要求を受け付ける受付手段をさらに備え、
前記調整手段は、前記受付手段により受け付けられた前記画像品質要求および前記伝送品質要求に基づいて、各遅延時間として要求される遅延要求時間を設定する
請求項1に記載の情報処理装置。
【請求項8】
前記受付手段により受け付けられる前記画像品質要求および前記伝送品質要求の入力を補助するGUIを表示する出力手段をさらに備える
請求項7に記載の情報処理装置。
【請求項9】
複数の送信装置から1つの受信装置に向けて行われる前記データ伝送において、
前記調整手段は、前記送信装置毎に前記遅延時間の調整を行い、さらに、各送信装置間で、それぞれの前記データ伝送全体の遅延時間が揃うように、前記遅延時間の調整を行う
請求項1に記載の情報処理装置。
【請求項10】
情報処理装置の情報処理方法であって、
前記情報処理装置の調整手段が、データ伝送を遅延させる遅延時間であって、前記データ伝送に関する互いに異なる複数の遅延要素についての遅延時間のそれぞれの長さを、複数の前記遅延時間の内、最長の遅延時間、若しくはそれ以上の所定の時間に合わせるように調整し、
前記情報処理装置の設定手段が、長さが調整された複数の前記遅延時間のそれぞれを、前記データ伝送に関する処理を行う処理部に設定する
情報処理方法。
【請求項11】
データ伝送を行うコンピュータを、
データ伝送を遅延させる遅延時間であって、前記データ伝送に関する互いに異なる複数の遅延要素についての遅延時間のそれぞれの長さを、複数の前記遅延時間の内、最長の遅延時間、若しくはそれ以上の所定の時間に合わせるように調整する調整手段、
前記調整手段により長さが調整された複数の前記遅延時間のそれぞれを、前記データ伝送に関する処理を行う処理部に設定する設定手段
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2012−44252(P2012−44252A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−180945(P2010−180945)
【出願日】平成22年8月12日(2010.8.12)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】