説明

送信装置および方法、並びに、受信装置および方法

【課題】不要な遅延時間を増大させない低遅延データ伝送を、ネットワーク状況に依らず、より安定的に行うことができる。
【解決手段】符号化時バッファ時間取得部201は、符号化データに付加されている符号化時バッファ時間を取得する。ネットワーク状況情報取得部202は、RTCP部124が収集したネットワーク状況情報を取得する。伝送時バッファ時間算出部203は、ネットワーク状況情報取得部202により取得されたネットワーク状況情報から伝送時バッファ時間を算出する。伝送時バッファ時間付加部204は、伝送時バッファ時間算出部203により算出された伝送時バッファ時間を含む情報を、符号化データのヘッダの指定フィールドへセットする。本発明は、例えば、送信装置および受信装置に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、送信装置および方法、並びに、受信装置および方法法に関し、特に、不要な遅延時間を増大させない低遅延データ伝送を、ネットワーク状況に依らず、より安定的に行うことができるようにした送信装置および方法、並びに、受信装置および方法に関する。
【背景技術】
【0002】
近年、インターネットもしくはその他の伝送路を経由してマルチメディアデータを低遅延に伝送するという需要が高まっている。例えば、手術室から動画像伝送される手術風景を見ながら、遠隔地でその手術室の手術器具を操作するといった所謂遠隔手術のアプリケーションがある。このようなアプリケーションにおいては、遠隔地における手術器具の操作性の低減を抑制するために、数フレーム間隔以下の遅延で動画像が伝送されることが求められる。
【0003】
従来のストリーミングの場合、送信装置は、バッファリング時間、若しくは、これを計算するために必要なパラメータ値を、例えば伝送フォーマット中、若しくは、シグナリングメッセージに記載することにより、受信端末に通知し、受信端末は、取得したそれらの情報に基づいてバッファリング時間を設定する、といった方法が行われてきた。
【0004】
また、仮想標準デコーダにおいて、エンコードレート、バッファパラメータを孔あきバケツモデルとして知られるものにより特徴付け、パラメータ組(R,B,F)により記述する方式が提案されている(例えば、非特許文献1参照)。ここで、Rは伝送レートを示し、Bはバッファサイズを示し、Fは初期デコーダバッファ蓄積量(F/Rは開始又は初期バッファ遅延)を示す。
【0005】
初期バッファ遅延F/Rは、バッファリング時間と同等である。パラメータ組(R,B,F)を複数組記述することにより、送信装置がエンコードレートと異なる伝送レートにてデータレートを平滑化し伝送した場合、受信装置は、伝送レートに対応するバッファサイズを指定することにより、バッファ破たんなく安定的にデコード再生することができる。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】Jordi Ribas-Corbera,Member,IEEE,Philip A. Chou, Senior Member,IEEE, and Shankar L. Regunathan, "A Generalized Hypothetical Reference Decoder for H.264/AVC" IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 13,No.7,JULY 2003
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、この方法の場合、伝送路となるネットワーク状況が安定している場合は問題ないが、ネットワーク環境が不安定であり、伝送レートの変動、ネットワークジッタ、またはパケット損失等によりパケット毎の伝送遅延にばらつきが生じた場合、エンコード時に伝送フォーマットに記載されたバッファリング時間にあわせてバッファリングおよびデコード再生を行うと、再生時刻に必要データが揃わずバッファ破たんを起こしてしまう恐れがあった。
【0008】
本発明は、このような状況に鑑みて提案されたものであり、映像等のストリームデータを伝送し、同期再生する場合において、バッファリング時間を伝送フォーマット中で符号化時バッファ時間と伝送時バッファ時間とに分けて記載して伝送することにより、CODEC部と伝送部の独立性を保ち、ネットワーク状況を考慮した最少のバッファ時間(遅延)で同期再生することができるようにすることを目的とする。
【課題を解決するための手段】
【0009】
本発明の一側面は、画像データを符号化し、符号化データを生成する符号化手段と、前記符号化データを、前記符号化データに付加されたタイムスタンプに同期して復号して再生する同期再生が、前記符号化手段による前記画像データの符号化による遅延によって破たんしないようにするために最低限必要なバッファ時間である符号化時バッファ時間を、前記符号化データに符号化ヘッダ情報として付加する符号化時バッファ時間付加手段と、前記同期再生が、前記画像データの符号化と前記符号化データの伝送との両方による遅延によって破たんしないようにするために最低限必要なバッファ時間である伝送時バッファ時間を、前記符号化データに、前記符号化ヘッダ情報と異なる伝送ヘッダ情報として付加する伝送時バッファ時間付加手段と、前記符号化時バッファ時間付加手段により前記符号化時バッファ時間を含む前記符号化ヘッダ情報を付加され、さらに、前記伝送時バッファ時間付加手段により前記伝送時バッファ時間を含む前記伝送ヘッダ時情報を付加された前記符号化データを、ネットワークを介して、前記同期再生を行う他の装置に送信する送信手段とを備える送信装置である。
【0010】
前記ネットワークの通信に関する状況の情報であり、伝送レート、ネットワークジッタ、パケット損失率、および伝送遅延を少なくとも含むネットワーク状況情報を収集するネットワーク状況情報収集手段と、前記ネットワーク状況情報収集手段により収集された前記ネットワーク状況情報を用いて、前記同期再生が、前記符号化データの伝送による遅延によって破たんしないようにするために最低限必要なバッファ時間であるネットワーク対応バッファ時間を算出するネットワーク対応バッファ時間算出手段と、前記ネットワーク対応バッファ時間算出手段により算出された前記ネットワーク対応バッファ時間、および、前記符号化時バッファ時間を用いて、前記伝送時バッファ時間を算出する伝送時バッファ時間算出手段とをさらに備えることができる。
【0011】
前記伝送時バッファ時間算出手段は、前記符号化時バッファ時間と前記ネットワーク対応バッファ時間との和を前記伝送時バッファ時間とすることができる。
【0012】
前記伝送時バッファ時間算出手段は、前記符号化時バッファ時間若しくは前記ネットワーク対応バッファ時間のうちの大きい方を選択することができる。
【0013】
前記ネットワーク対応バッファ時間算出手段は、前記同期再生が、前記ネットワークの前記ネットワークジッタによる遅延の増大によって破たんしないようにするために最低限必要なバッファ時間であるネットワークジッタ対応バッファ時間を前記ネットワーク対応バッファ時間とすることができる。
【0014】
前記同期再生が、前記符号化手段による前記画像データの符号化の符号化レートと、前記伝送レートとの比によって破たんしないようにするために最低限必要なバッファ時間であるレート比対応バッファ時間を算出するレート比対応バッファ時間算出手段をさらに備え、前記ネットワーク対応バッファ時間算出手段は、前記レート比対応バッファ時間算出手段により算出された前記レート比対応バッファ時間を前記ネットワーク対応バッファ時間とすることができる。
【0015】
前記ネットワーク対応バッファ時間算出手段は、前記同期再生が、再送処理による遅延によって破たんしないようにするために最低限必要なバッファ時間である再送対応バッファ時間を前記ネットワーク対応バッファ時間とすることができる。
【0016】
前記ネットワーク対応バッファ時間算出手段は、前記同期再生が前記ネットワークの前記ネットワークジッタによる遅延の増大によって破たんしないようにするために最低限必要なバッファ時間であるネットワークジッタ対応バッファ時間、前記同期再生が前記符号化手段による前記画像データの符号化の符号化レートと、前記伝送レートとの比によって破たんしないようにするために最低限必要なバッファ時間であるレート比対応バッファ時間、および、前記同期再生が再送処理による遅延によって破たんしないようにするために最低限必要なバッファ時間である再送対応バッファ時間の総和を前記ネットワーク対応バッファ時間とすることができる。
【0017】
前記ネットワーク対応バッファ時間算出手段は、前記同期再生が前記ネットワークの前記ネットワークジッタによる遅延の増大によって破たんしないようにするために最低限必要なバッファ時間であるネットワークジッタ対応バッファ時間、若しくは、前記同期再生が再送処理による遅延によって破たんしないようにするために最低限必要なバッファ時間である再送対応バッファ時間のうちの大きい方と、前記同期再生が前記符号化手段による前記画像データの符号化の符号化レートと、前記伝送レートとの比によって破たんしないようにするために最低限必要なバッファ時間であるレート比対応バッファ時間との和を前記ネットワーク対応バッファ時間とすることができる。
【0018】
前記ネットワーク対応バッファ時間算出手段は、前記同期再生が前記ネットワークの前記ネットワークジッタによる遅延の増大によって破たんしないようにするために最低限必要なバッファ時間であるネットワークジッタ対応バッファ時間、前記同期再生が前記符号化手段による前記画像データの符号化の符号化レートと、前記伝送レートとの比によって破たんしないようにするために最低限必要なバッファ時間であるレート比対応バッファ時間、および、前記同期再生が再送処理による遅延によって破たんしないようにするために最低限必要なバッファ時間である再送対応バッファ時間のうち、最も大きいものを前記ネットワーク対応バッファ時間とすることができる。
【0019】
前記符号化時バッファ時間を算出する符号化時バッファ時間算出手段をさらに備え、前記符号化時バッファ時間付加手段は、前記符号化時バッファ時間算出手段により算出された前記符号化時バッファ時間を、前記符号化データに前記符号化ヘッダ情報として付加することができる。
【0020】
前記符号化時バッファ時間算出手段は、前記画像データの符号化の符号化レートを、前記画像データの符号化に用いられるバッファサイズで除算した値を前記符号化時バッファ時間とすることができる。
【0021】
本発明の一側面は、また、送信装置の符号化手段が、画像データを符号化し、符号化データを生成し、前記送信装置の符号化時バッファ時間付加手段が、前記符号化データを、前記符号化データに付加されたタイムスタンプに同期して復号して再生する同期再生が、前記画像データの符号化による遅延によって破たんしないようにするために最低限必要なバッファ時間である符号化時バッファ時間を、前記符号化データに符号化ヘッダ情報として付加し、前記送信装置の伝送時バッファ時間付加手段が、前記同期再生が、前記画像データの符号化と前記符号化データの伝送との両方による遅延によって破たんしないようにするために最低限必要なバッファ時間である伝送時バッファ時間を、前記符号化データに、前記符号化ヘッダ情報と異なる伝送ヘッダ情報として付加し、前記送信装置の送信手段が、前記符号化時バッファ時間を含む前記符号化ヘッダ情報を付加し、さらに、前記伝送時バッファ時間を含む前記伝送ヘッダ時情報を付加された前記符号化データが、ネットワークを介して、前記同期再生を行う他の装置に送信する送信方法である。
【0022】
本発明の他の側面は、他の装置において画像データが符号化されて生成され、ネットワークを介して伝送された符号化データを受信する受信手段と、前記受信手段により受信された前記符号化データから、前記符号化データに付加されたタイムスタンプに同期して復号して再生する同期再生が、前記画像データの符号化による遅延によって破たんしないようにするために最低限必要なバッファ時間である符号化時バッファ時間を抽出し、取得する符号化時バッファ時間取得手段と、前記受信手段により受信された前記符号化データから、前記符号化データの同期再生が、前記画像データの符号化と前記符号化データの伝送との両方による遅延によって破たんしないようにするために最低限必要なバッファ時間である伝送時バッファ時間を抽出し、取得する伝送時バッファ時間取得手段と、前記符号化時バッファ時間取得手段により取得された前記符号化時バッファ時間、および、前記伝送時バッファ時間取得手段により取得された前記伝送時バッファ時間を用いて、前記同期再生が破たんしないようにするために必要なバッファ時間の初期値である初期バッファ遅延を算出する初期バッファ遅延算出手段と、前記受信手段により受信された前記符号化データを格納する格納手段と、前記格納手段により格納されている前記符号化データの読み出しタイミングを制御することにより、前記同期再生を制御する同期制御手段と、前記同期制御手段による制御に従って前記格納手段より読みだされた前記符号化データを復号する復号手段とを備える受信装置である。
【0023】
前記初期バッファ遅延算出手段は、前記符号化データに付加される前記伝送時バッファ時間が有効である場合、前記伝送時バッファ時間を前記初期バッファ遅延とし、前記伝送時バッファ時間が無効である場合、前記符号化データに付加される前記符号化時バッファ時間を前記初期バッファ遅延とすることができる。
【0024】
本発明の他の側面は、また、受信装置の受信手段が、他の装置において画像データが符号化されて生成され、ネットワークを介して伝送された符号化データを受信し、前記受信装置の符号化時バッファ時間取得手段が、受信された前記符号化データから、前記符号化データに付加されたタイムスタンプに同期して復号して再生する同期再生が、前記画像データの符号化による遅延によって破たんしないようにするために最低限必要なバッファ時間である符号化時バッファ時間を抽出し、取得し、前記受信装置の前記伝送時バッファ時間取得手段が、受信された前記符号化データから、前記符号化データの同期再生が、前記画像データの符号化と前記符号化データの伝送との両方による遅延によって破たんしないようにするために最低限必要なバッファ時間である伝送時バッファ時間を抽出し、取得し、前記受信装置の前記初期バッファ遅延算出手段が、取得された前記符号化時バッファ時間、および、取得された前記伝送時バッファ時間を用いて、前記同期再生が破たんしないようにするために必要なバッファ時間の初期値である初期バッファ遅延を算出し、前記受信装置の格納手段が、受信された前記符号化データを格納し、前記受信装置の同期制御手段が、格納されている前記符号化データの読み出しタイミングを制御することにより、前記同期再生を制御し、前記受信装置の復号手段が、前記制御に従って、読みだされた前記符号化データを復号する受信方法である。
【0025】
本発明の一側面においては、画像データが符号化され、符号化データが生成され、符号化データを、符号化データに付加されたタイムスタンプに同期して復号して再生する同期再生が、画像データの符号化による遅延によって破たんしないようにするために最低限必要なバッファ時間である符号化時バッファ時間が、符号化データに符号化ヘッダ情報として付加され、同期再生が、画像データの符号化と符号化データの伝送との両方による遅延によって破たんしないようにするために最低限必要なバッファ時間である伝送時バッファ時間が、符号化データに、符号化ヘッダ情報と異なる伝送ヘッダ情報として付加され、符号化時バッファ時間を含む符号化ヘッダ情報が付加され、さらに、伝送時バッファ時間を含む伝送ヘッダ時情報を付加された符号化データが、ネットワークを介して、同期再生を行う他の装置に送信される。
【0026】
本発明の他の側面においては、他の装置において画像データが符号化されて生成され、ネットワークを介して伝送された符号化データが受信され、受信された前記符号化データから、前記符号化データに付加されたタイムスタンプに同期して復号して再生する同期再生が、前記画像データの符号化による遅延によって破たんしないようにするために最低限必要なバッファ時間である符号化時バッファ時間が抽出されて取得され、受信された前記符号化データから、前記符号化データの同期再生が、前記画像データの符号化と前記符号化データの伝送との両方による遅延によって破たんしないようにするために最低限必要なバッファ時間である伝送時バッファ時間が抽出されて取得され、取得された前記符号化時バッファ時間、および、取得された前記伝送時バッファ時間が用いられて、前記同期再生が破たんしないようにするために必要なバッファ時間の初期値である初期バッファ遅延が算出され、受信された前記符号化データが格納され、格納されている前記符号化データの読み出しタイミングを制御することにより、前記同期再生が制御され、前記制御に従って、読みだされた前記符号化データが復号される。
【発明の効果】
【0027】
本発明によれば、データを伝送することができる。特に、不要な遅延時間を増大させない低遅延データ伝送を、ネットワーク状況に依らず、より安定的に行うことができる。
【図面の簡単な説明】
【0028】
【図1】本発明を適用した送受信システムの主な構成例を示すブロック図である。
【図2】符号化部の詳細な構成例を示すブロック図である。
【図3】サブバンドの例を示す図である。
【図4】ラインブロックを説明する図である。
【図5】5×3フィルタの例を示す図である。
【図6】リフティング演算例を説明する図である。
【図7】定常状態における係数データの出力順を説明する図である。
【図8】係数並び替えの様子を説明する図である。
【図9】符号化時バッファ時間を説明する図である。
【図10】フォーマット修正部の詳細な構成例を示すブロック図である。
【図11】伝送データの構成例を説明する図である。
【図12】伝送時バッファ時間を説明する図である。
【図13】フォーマット解析部の詳細な構成例を示すブロック図である。
【図14】復号部の詳細な構成例を示すブロック図である。
【図15】送信処理の流れの例を説明するフローチャートである。
【図16】符号化処理の流れの例を説明するフローチャートである。
【図17】フォーマット修正処理の流れの例を説明するフローチャートである。
【図18】受信処理の流れの例を説明するフローチャートである。
【図19】同期制御設定処理の流れの例を説明するフローチャートである。
【図20】復号処理の流れの例を説明するフローチャートである。
【図21】本発明を適用した送受信システムの他の構成例を示すブロック図である。
【図22】伝送時バッファ時間の他の例を説明する図である。
【図23】送信処理の流れの他の例を説明するフローチャートである。
【図24】本発明を適用した送受信システムの、さらに他の例を説明するフローチャートである。
【図25】本発明を適用したコンピュータの主な構成例を示すブロック図である。
【発明を実施するための形態】
【0029】
以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(第1の送受信システム)
2.第2の実施の形態(第2の送受信システム)
3.第3の実施の形態(第3の送受信システム)
4.第4の実施の形態(パーソナルコンピュータ)
【0030】
<1.第1の実施の形態>
[デバイスの構成]
最初に、本発明を適用した送信装置および受信装置を用いる送受信システムの構成について説明する。図1は、本発明を適用した送受信システムの構成例を示すブロック図である。
【0031】
図1に示されるように、送受信システム100は、画像データを符号化して伝送するシステムであり、送信装置101および受信装置102を有する。送信装置101および受信装置102は、ネットワーク103を介して互いに接続され、通信を行う。
【0032】
送信装置101においてキャプチャされたビデオデータは、符号化され、インターネット等により代表されるネットワーク103を介して受信装置102に伝送され、同期再生される。
【0033】
送受信システム100においては、例えば、IETF(Internet Engineering Task Force) RFC(Request for Comments)3550記載のRTP(Real time Transport Protocol)/RTCP(Real time Transport Control Protocol)を用いてデータの送受信やネットワーク状況情報の収集が行われる。
【0034】
図1に示されるように、送信装置101は、キャプチャ部111、符号化部112、および伝送部113を有する。
【0035】
キャプチャ部111は、入力画像(ビデオIN)をキャプチャし、画像データを取得または生成する。キャプチャ部111は、取得(生成)した画像データを符号化部112に供給する。符号化部112は、その画像データを符号化し、符号化データを生成する。符号化部112は、生成した符号化データを平滑化し、伝送部113に供給する。
【0036】
伝送部113は、符号化データを、ネットワーク103を介して受信装置102に伝送する。
【0037】
伝送部113は、伝送平滑化部121、フォーマット修正部122、RTP送信部123、および、RTCP部124を有する。
【0038】
伝送平滑化部121は、符号化データを一時的に保持して出力タイミングを調整することにより、符号化データのビットレートを、符号化データを受信装置102に伝送する際の伝送レートに合わせるように平滑化する。
【0039】
伝送平滑化部121は、出力した符号化データをフォーマット修正部122に供給する。
【0040】
フォーマット修正部122は、データ伝送に起因する遅延時間である伝送時バッファ時間を、RTCP部124から取得したネットワーク103の状況に基づいて決定し、その値を伝送フォーマット内の指定フィールドへセットする。
【0041】
フォーマット修正部122は、このようにフォーマットを必要に応じて修正すると、フォーマット修正後の符号化データをRTP送信部123に供給する。
【0042】
RTP送信部123は、RTPに従って、符号化データをパケット化し、そのRTPパケットを、受信装置102宛てでネットワーク103に送信する。RTP送信部123から送信されたRTPパケットは、ネットワーク103を介して受信装置102に伝送される。
【0043】
RTCP部124は、ネットワーク103を介して、受信装置102のRTCP部136とRTCPに従って通信を行い、送信装置101と受信装置102との間のデータ伝送路におけるジッタ、伝送可能レート、およびパケット損失率等を含むネットワーク103等の状況に関する情報であるネットワーク状況情報を収集する。
【0044】
例えば、ネットワークジッタは、パケットの送受信を複数回行うことにより、計測する。なお、ネットワークによっては、ジッタの最大値が保証される場合もある。そのようなネットワークを伝送路として使用する場合、そのジッタの最大値を利用するようにしてもよい。
【0045】
RTCP部124は、収集した情報をフォーマット修正部122に供給する。フォーマット修正部122は、上述したようにRTCP部124から供給される情報に基づいて、伝送時バッファ時間を算出する。
【0046】
図1に示されるように、受信装置102は、RTP受信部131、フォーマット解析部132、同期制御部133、バッファ134、復号部135、およびRTCP部136を有する。
【0047】
RTP受信部131は、ネットワーク103を介して送信装置101から伝送されるRTPパケットを受信する。RTP受信部131は、受信したRTPパケットから符号化データを抽出し、それをフォーマット解析部132に供給する。
【0048】
フォーマット解析部132は、符号化データに付加された符号化時バッファ時間や伝送時バッファ時間を抽出し、それらを同期制御部133に供給する。また、フォーマット解析部132は、処理済みの符号化データをバッファ134に供給し、蓄積させる。
【0049】
同期制御部133は、バッファ134のデータ出力タイミングを制御する。同期制御部133は、各符号化データに含まれるタイムスタンプ値、符号化時バッファ時間、および伝送時バッファ時間から適切なバッファ時間を求め、その情報に基づいて、バッファ134が符号化データを出力するタイミングを制御する。
【0050】
バッファ134は、フォーマット解析部132から供給される符号化データを格納する。バッファ134は、同期制御部133に制御され、所定のタイミングで格納してい符号化データを復号部135に供給する。
【0051】
復号部135は、バッファ134から供給される符号化データを復号し、得られた復号画像データを、同期再生することができるように出力する(ビデオOUT)。
【0052】
次に、各装置の詳細について説明する。まず、送信装置101について説明する。
【0053】
[符号化部]
図2は、図1の符号化部112の詳細な構成例を示すブロック図である。
【0054】
図2において、符号化部112は、画像ライン入力部151、ラインバッファ部152、ウェーブレット変換部153、係数ライン並び替え部154、エントロピ符号化部155、符号化内平滑化部156、およびフォーマット化部157を有する。
【0055】
画像ライン入力部151は、入力される画像データを、ライン毎にラインバッファ部152に供給し、蓄積させる。ラインバッファ部152は、画像ライン入力部151から供給される画像データや、ウェーブレット変換部153から供給される係数データを保持し、所定のタイミングにおいてその画像データや係数データをウェーブレット変換部153に供給する。
【0056】
ウェーブレット変換部153は、ラインバッファ部152から供給される画像データや係数データに対してウェーブレット変換を行い、次の階層の低域成分と高域成分の係数データを生成する。
【0057】
ウェーブレット変換部153は、生成した係数データの、垂直方向および水平方向に低域な成分をラインバッファ部152に供給して保持させ、その他の成分を係数ライン並び替え部154に供給する。なお、ウェーブレット変換部153は、生成した係数データが最上位層である場合、垂直方向および水平方向に低域な成分も係数ライン並び替え部154に供給する。
【0058】
また、ウェーブレット変換部153は、上述したようにリフティング演算を行う場合、計算途中のデータを保持し、次回の分析フィルタリングに利用する。ウェーブレット変換部153は、予め定められた所定の分割レベル数までウェーブレット変換を実行する。
【0059】
係数ライン並び替え部154には、ウェーブレット変換部153から係数データ(係数ライン)が供給される。係数ライン並び替え部154は、その係数データ(係数ライン)の順序を、ウェーブレット逆変換処理の順序に並び替える。
【0060】
係数ライン並び替え部154は、ウェーブレット変換部153から供給される係数ラインを内蔵する記憶部に保持し、さらに、その保持された係数ラインを読み出す。このとき、係数ライン並び替え部154は、保持された係数ラインをウェーブレット逆変換処理の順序で読み出すことにより、並び替えを行う。この並び替えの詳細については後述する。
【0061】
係数ライン並び替え部154は、順序を並び替えた係数データをエントロピ符号化部155に供給する。
【0062】
エントロピ符号化部155は、係数ライン並び替え部154から供給される係数データを、例えばハフマン符号化や算術符号化といった所定のエントロピ符号化方式で符号化する。エントロピ符号化部155は、生成した符号化データを符号化内平滑化部156に供給する。
【0063】
符号化内平滑化部156は、供給された符号化データのビットレートを、一時的に保持することにより、所定の符号化レートに合わせるように平滑化する。符号化内平滑化部156は、蓄積している符号化データを所定のタイミングで読み出すことにより、平滑化した符号化データをフォーマット化部157に供給する。
【0064】
なお、このとき、符号化内平滑化部156は、符号化部112の符号化処理により発生する遅延時間である符号化時バッファ時間を算出し、その情報をフォーマット化部157に供給する。
【0065】
フォーマット化部157は、符号化内平滑化部156から供給される符号化データに、符号化内平滑化部156から供給される符号化時バッファ時間を含む、符号化に関する情報を、ヘッダ情報(符号化ヘッダ情報)として付加する。これにより、符号化データのフォーマットは、伝送用のフォーマットに変換される。
【0066】
符号化データのフォーマットを変換するとフォーマット化部157は、その符号化データを伝送部113の伝送平滑化部121(図1)に供給する。
【0067】
[サブバンド]
次に、ウェーブレット変換について説明する。ウェーブレット変換は、画像データを空間周波数の高い成分(高域成分)と低い成分(低域成分)とに分割する分析フィルタリングを、生成した低域成分に対して再帰的に繰り返すことにより、画像データを、階層的に構成される周波数成分毎の係数データに変換する処理である。なお、以下において、分割レベルは、高域成分の階層ほど下位とし、低域成分の階層ほど上位とする。
【0068】
1つの階層(分割レベル)において、分析フィルタリングは、水平方向と垂直方向の両方について行われる。これにより、1つの階層の係数データ(画像データ)は、1階層分の分析フィルタリングにより4種類の成分に分割される。4種類の成分とは、すなわち、水平方向および垂直方向の両方について高域な成分(HH)、水平方向に高域で垂直方向に低域な成分(HL)、水平方向に低域で垂直方向に高域な成分(LH)、および、水平方向および垂直方向の両方について低域な成分(LL)である。
【0069】
各成分の集合を、それぞれサブバンド(LL、LH、HL、およびHH)と称する。
【0070】
そして、次の階層の分析フィルタリングは、生成された4つのサブバンドのうち、水平方向および垂直方向の両方について低域な成分(LL)に対して行われる。
【0071】
このように分析フィルタリングが再帰的に繰り返されることにより、空間周波数の低い帯域の係数データは、より小さな領域(低域成分)に追い込まれる。したがって、このようにウェーブレット変換された係数データを符号化するようにすることにより、効率的な符号化が可能となる。
【0072】
図3は、分析フィルタリングを4回繰り返すことにより、分割レベル4までの13個のサブバンド(1LH,1HL,1HH,2LH,2HL,2HH,3LH,3HL,3HH,4LL,4LH,4HL,4HH)に分割された係数データの構成を示している。
【0073】
[ラインブロック]
次に、ラインブロックについて説明する。図4は、ラインブロックを説明する図である。ウェーブレット変換における分析フィルタリングは、処理対象となる2ラインの画像データまたは係数データから、1階層上の4つのサブバンドの係数データを1ラインずつ生成する。
【0074】
例えば、分割レベル数が4の場合、図4の斜線部分で示されるように、最上位階層である分割レベル4のサブバンドの係数データが1ラインずつ生成されるのに、サブバンド3LLは2ライン必要であり、サブバンド2LLは4ライン必要であり、サブバンド1LLは8ライン必要である。つまり、16ラインのベースバンドの画像データが必要になる。
【0075】
この最低域成分のサブバンドの1ライン分の係数データを生成するために必要なライン数の画像データを、ラインブロック(またはプレシンクト)と称する。
【0076】
例えば、分割レベル数がNの場合、最低域成分のサブバンドの1ライン分の係数データを生成するためには、ベースバンドの画像データが2のN乗ライン必要になる。これがラインブロックのライン数である。
【0077】
なお、ラインブロックは、その1ラインブロックの画像データをウェーブレット変換して得られる各サブバンドの係数データの集合のことも示す。
【0078】
また、ラインとは、フレーム画像(ピクチャ)の1列分の水平方向の画素列や、サブバンドの1列分の水平方向の係数列のことを示す。この1ライン分の係数データを係数ラインとも称する。以下において、より詳細に区別して説明する必要がある場合、適宜表現を変える。
【0079】
なお、1係数ライン(1ライン分の係数データ)が符号化された1ライン分の符号化データを符号ラインとも称する。
【0080】
ウェーブレット変換部153によるウェーブレット変換処理においては、2ラインずつ画像データ(若しくは係数データ)に対して分析フィルタリングを行うが、このとき、できるだけ低遅延に処理を行うような順序で、その2ラインを選択する。
【0081】
より具体的には、より上位の(より低域の)サブバンドの係数データをできるだけ優先的に生成するような順序で各画像データ(係数データ)を2ラインずつ選択し、それらを分析フィルタリングする。
【0082】
[5×3フィルタ]
次に、分析フィルタリングについて説明する。
【0083】
ウェーブレット変換処理は、通常、低域フィルタと高域フィルタとから構成されるフィルタバンクを用いて行われる。
【0084】
このウェーブレット変換の具体的な例として、5×3フィルタを用いる方法について説明する。
【0085】
5×3フィルタのインパルス応答(Z変換表現)は、次の式(1)および式(2)に示すように、低域フィルタH(z)と、高域フィルタH(z)とから構成される。式(1)および式(2)から、低域フィルタH(z)は、5タップで、高域フィルタH(z)は、3タップであることが分かる。
【0086】
(z)=(−1+2z−1+6z−2+2z−3−z−4)/8 ・・・(1)
(z)=(−1+2z−1−z−2)/2 ・・・(2)
【0087】
これら式(1)および式(2)によれば、低域成分および高域成分の係数を、直接的に算出することができる。ここで、リフティング(Lifting)技術を用いることで、フィルタ処理の計算を減らすことができる。
【0088】
図5は、5×3フィルタをリフティング表現した図である。図中、最上部の一列が入力信号列である。データ処理は画面上から下方向に流れ、以下の式(3)および式(4)により、高域成分の係数(高域係数)と、低域成分の係数(低域係数)とが出力される。
【0089】
=d−1/2(s+si+1) ・・・(3)
=s+1/4(di−1+d) ・・・(4)
【0090】
[リフティング演算]
次に、このリフティング演算について説明する。図6は、5×3分析フィルタを用いて、縦方向のラインに対して行われるフィルタリングをリフティング表現した図である。
【0091】
横方向は、演算過程とそれによって生成される低域・高域係数を図示したものである。図5の場合と照らし合わせて見れば水平が垂直に変わっただけであり、演算の方法は全く同様であることがわかる。
【0092】
画像の上端においては、矢印161に示されるように、Line-1から最上位ラインが点線の様に対称拡張され、1ラインが補填される。枠162で示されるように、これとLine-0、Line-1の合計3ラインを用いてリフティング演算が行われ、Step-1の演算で係数aが生成される。これは高域係数(H0)である。
【0093】
Line-1,Line-2,Line-3が入力されると、この3ラインを用いて、式(3)により次の高域係数aが算出される。これは高域係数(H1)である。そして、上記の1番目の高域係数a(H0)と2番目高域係数a(H1)、及びLine-1の係数の合計3つの係数を用いて、式(4)に従い計算すると係数bが生成される。これは低域係数(L1)である。つまり、枠163で示されるように、Line-1,Line-2,Line-3の3ラインと、高域係数(H0)とを用いて、低域係数(L1)および高域係数(H1)が生成される。
【0094】
その後、2ラインが入力される毎に、上記のリフティング演算が後続のラインに対しても同様に繰り返され、低域係数と高域係数とが出力される。そして、枠164に示されるように、低域係数(L(N−1))および高域係数(H(N−1))が生成されると、高域係数(H(N−1))が矢印165のように対称拡張され、枠166のように演算が行われ、低域成分(L(N))が生成される。
【0095】
なお、図6は垂直方向のラインに対してフィルタリングを行った例であるが、水平方向のフィルタリングの場合でも全く同様に考えることができることは自明である。
【0096】
以上のリフティング演算は、各階層について行われる。ただし、分析フィルタリングは、上述したように、より低域な成分をより優先的に生成するような順序で行われる。図6を参照して説明した順序は、分析フィルタリングされるデータ間の依存関係を示すものであり、実際の処理実行順とは異なる。
【0097】
[1ラインブロックの処理]
次に、この分析フィルタリングの実行手順について説明する。
【0098】
処理対象の画像データ(係数データ)は、ピクチャ(サブバンド)の上のラインから順に処理される。分析フィルタリングのリフティング演算は、処理対象の画像データ(係数データ)が2ライン準備される毎に(つまり、実行可能となり次第)実行される。ただし、より低域のサブバンドを優先的に処理対象とする。
【0099】
以下に説明するように、分析フィルタリングは、ラインブロック毎に同じ手順で繰り返し実行される。そこで、2ライン準備される毎に分析フィルタリングが実行されるラインブロック(定常状態のラインブロック)における分析フィルタリングの手順を以下に説明する。
【0100】
なお、初期状態となるピクチャやサブバンドの上端を含むラインブロック(初期状態のラインブロック)においては、分析フィルタリングに必要なライン数が他のラインブロック(定常状態のラインブロック)と異なる。しかしながら、この初期状態のラインブロックの場合も、分析フィルタリングの処理手順は、基本的には他のラインブロックと同様のであるので、その説明は省略する。
【0101】
図7は、定常状態における係数データの出力順を説明する図である。図7においては、ウェーブレット変換された係数データが、図中、上から下に向かう方向に時系列順に並べられている。
【0102】
定常状態のラインブロックにおいて、まず、ベースバンドの画像データの、そのラインブロック内において上から2ラインが分析フィルタリングされ、分割レベル1のラインL(上からL番目の係数ライン)が生成される。1ライン分の係数データでは分析フィルタリングできないので、その次のタイミングにおいて、ベースバンドの画像データの次の2ラインが分析フィルタリングされ、分割レベル1のライン(L+1)(上から(L+1)番目の係数ライン)が生成される。
【0103】
この時点で分割レベル1の係数データが2ライン分用意されたので、次に、その分割レベル1の係数データの2ラインに対して分割レベル1の分析フィルタリングが行われ、分割レベル2のラインM(上からM番目の係数ライン)が生成される。しかしながら、1ライン分なので分割レベル2の分析フィルタリングはまだ実行できない。また、このとき、分割レベル1の係数データが用意されていないので、分割レベル1の分析フィルタリングも実行できない。
【0104】
そこで、ベースバンドの画像データの次の2ラインが分析フィルタリングされ、分割レベル1のライン(L+2)(上から(L+2)番目の係数ライン)が生成される。1ライン分の係数データでは分析フィルタリングできないので、続いて、ベースバンドの画像データの次の2ラインが分析フィルタリングされ、分割レベル1のライン(L+3)(上から(L+3)番目の係数ライン)が生成される。
【0105】
分割レベル1の係数データが2ライン分用意されたので、次に、その分割レベル1の係数データの2ラインに対して分割レベル1の分析フィルタリングが行われ、分割レベル2のライン(M+1)(上から(M+1)番目の係数ライン)が生成される。
【0106】
すると、分割レベル2の係数データが2ライン分用意されたので、次に、その分割レベル2の係数データの2ラインに対して分割レベル2の分析フィルタリングが行われ、分割レベル3のラインN(上からN番目の係数ライン)が生成される。
【0107】
以下、同様にして、分割レベル1のライン(L+4)(上から(L+4)番目の係数ライン)およびライン(L+5)(上から(L+5)番目の係数ライン)、分割レベル2のライン(M+2)(上から(M+2)番目の係数ライン)、分割レベル1のライン(L+6)(上から(L+6)番目の係数ライン)およびライン(L+7)(上から(L+7)番目の係数ライン)、分割レベル2のライン(M+3)(上から(M+3)番目の係数ライン)、並びに、分割レベル3のライン(N+1)(上から(N+1)番目の係数ライン)が、順次、生成される。
【0108】
すると、分割レベル3の係数データが2ライン分用意されたので、次に、その分割レベル3の係数データの2ラインに対して分割レベル3の分析フィルタリングが行われ、分割レベル4のラインP(上からP番目の係数ライン)が生成される。
【0109】
以上のように1ラインブロック分の分析フィルタリングが行われる。つまり、ラインブロック毎に、以上のような手順が繰り返される。
【0110】
[係数並び替え]
次に、係数ライン並び替え部154による係数データの並び替えについて図8を参照して説明する。
【0111】
図8において、各係数ラインは、その処理順に並べられている。図中上から下に向かう向きに時系列が示されている。つまり、図8に示される各係数ラインは、図中上から順に処理される。
【0112】
係数データは、ウェーブレット変換部153から図8の左側に示されるような順序(ウェーブレット変換出力順)で出力される。
【0113】
係数ライン並び替え部154は、その係数データの並びを図8の右側に示されるように、低域成分から高域成分に向かう順に並び替える。
【0114】
より具体的には、係数ライン並び替え部154は、分割レベル4のラインPの係数ラインを読み出し、分割レベル3のラインNの係数ラインを読み出し、分割レベル2のラインMの係数ラインを読み出し、分割レベル1のラインLおよびライン(L+1)の係数ラインを読み出し、読み出した各係数ラインを、その読み出し順にエントロピ符号化部155に供給する。
【0115】
また、係数ライン並び替え部154は、次に、分割レベル2のライン(M+1)の係数ラインを読み出し、分割レベル1のライン(L+2)およびライン(L+3)の係数ラインを読み出し、読み出した各係数ラインを、その読み出し順にエントロピ符号化部155に供給する。
【0116】
さらに、係数ライン並び替え部154は、分割レベル3のライン(N+1)の係数ラインを読み出し、分割レベル2のライン(M+2)の係数ラインを読み出し、分割レベル1のライン(L+4)およびライン(L+5)の係数ラインを読み出し、読み出した各係数ラインを、その読み出し順にエントロピ符号化部155に供給する。
【0117】
また、係数ライン並び替え部154は、次に、分割レベル2のライン(M+3)の係数ラインを読み出し、分割レベル1のライン(L+6)およびライン(L+7)の係数ラインを読み出し、読み出した各係数ラインを、その読み出し順にエントロピ符号化部155に供給する。
【0118】
エントロピ符号化部155は、各係数ラインを、供給された順に処理する。つまり、各係数ラインは、図8の右側に示されるように、ウェーブレット逆変換処理される順に、受信装置102に伝送される。
【0119】
受信装置102の復号部135は、後述するように、この順に各係数ラインを合成する。このようにすることにより、受信装置の復号部135は、不要な待機時間を増大させずに低遅延に、受信した符号化データを復号することができる。
【0120】
[符号化時バッファ時間]
送信装置101でのキャプチャ時のキャプチャ単位は、例えば、ビデオフレーム単位もしくはビデオフレームを複数に分割した単位等、キャプチャ時刻間隔と同一の間隔で、受信装置102にて再生される、所謂同期再生が想定されている。
【0121】
しかしながら、符号化処理において、一般にキャプチャ単位での符号化データサイズは不均一であり、これを一定の伝送レートに平滑化し伝送した場合、データサイズの不均一性のため、キャプチャ単位毎に平滑化処理により生じる遅延は異なる。
【0122】
このため,受信装置102は、ストリーム再生開始時に、最大遅延を初期バッファ遅延とし、その初期バッファ遅延に合わせてバッファリングを行ってから再生を開始する。このようにすることにより、受信装置102は、その後のデータも、バッファ134を枯渇させることなく、最初のデータ再生時刻から同期して再生を行うことができる(破綻することなく同期再生を行うことができる)。
【0123】
そこで、まず、符号化時バッファ時間について考える。図9は、符号化時バッファ時間を説明する図である。図9において、矢印に示されるように時系列は図中左から右に進む。
【0124】
エントロピ符号化部155からの符号生成出力(CODEC符号生成)は、図9の一番上の段に示されるように、キャプチャ時刻に同期したタイムスタンプが付加され出力される。キャプチャ単位毎の出力データサイズは不均一であり、RTPパケット化した場合のパケット数も不均一であるので、図9の上から2段目に示されるように、符号化内平滑下部156により平滑化処理が行われる(CODEC内平滑化出力)。
【0125】
受信装置102は、同期再生を破綻させないようにするためには、少なくとも、この符号化処理により生じる遅延時間に対応することができるように、符号化データのバッファリングを行う必要がある。
【0126】
つまり、受信装置102は、符号化部112による符号化処理により生じる遅延時間である符号化時バッファ時間を考慮して、同期再生に必要な初期バッファ遅延を決定する。
【0127】
エントロピ符号化部155は、例えば、ITU-T Y.1221記載のトークンバケットビヘビアにおける、バケツサイズをエンコーダ想定バッファサイズB(byte)とし、バケットレートR(bps)を符号化レートとして、バケットをあふれないように、符号化レートを制御する。また、符号化内平滑化部156は、当該トークンバケットビヘビアと同様の動作を行う。
【0128】
この場合、符号化時バッファ時間Bt_codec(sec)は、例えば、以下の式(5)のように求める事ができる。
【0129】
Bt_codec=B×8/R ・・・(5)
【0130】
つまり、符号化時バッファ時間は、バッファサイズを符号化レートで除算することにより求めることができる。
【0131】
[フォーマット修正部]
次に、図1のフォーマット修正部122について説明する。図10は、フォーマット修正部122が有する機能を示す機能ブロック図である。
【0132】
図10に示されるように、フォーマット修正部122は、機能ブロックとして、符号化時バッファ時間取得部201、ネットワーク状況情報取得部202、伝送時バッファ時間算出部203、および伝送時バッファ時間付加部204を有する。
【0133】
符号化時バッファ時間取得部201は、符号化データに付加されている符号化時バッファ時間を取得する。ネットワーク状況情報取得部202は、RTCP部124が収集したネットワーク状況情報を取得する。
【0134】
伝送時バッファ時間算出部203は、ネットワーク状況情報取得部202により取得されたネットワーク状況情報から伝送時バッファ時間を算出する。伝送時バッファ時間付加部204は、伝送時バッファ時間算出部203により算出された伝送時バッファ時間を含む情報を、符号化データのヘッダの指定フィールドへセットする。
【0135】
[伝送フォーマット]
図11に伝送フォーマットの構成例を示す。図11Aに示されるように、送信装置101から受信装置102に伝送される符号化データは、本来のコードストリーム213に、符号化情報ヘッダ211と、伝送情報ヘッダ212とが付加されている。
【0136】
符号化情報ヘッダ211は、図11Bに示されるように、符号化時バッファ時間221を含むヘッダ情報であり、符号化部112による符号化処理に関する情報が記述されている。
【0137】
この符号化情報ヘッダ211は、符号化部112のフォーマット化部157により生成され、コードストリーム213に付加される。
【0138】
伝送情報ヘッダ212は、図11Cに示されるように、伝送時バッファ時間222を含むヘッダ情報であり、ネットワーク103等の伝送路に関するネットワークの状況に関する情報が記述されている。
【0139】
この伝送情報ヘッダ212は、フォーマット修正部122の伝送時バッファ時間付加部204により生成され、コードストリーム213に付加される。
【0140】
符号化情報ヘッダ211の符号化時バッファ時間フィールドには、画像データが符号化処理され、その符号化データが符号化レートに平滑化されて出力されることによる、受信装置102において必要と想定されるバッファ時間が記述される。
【0141】
また、伝送情報ヘッダ212の伝送時バッファ時間フィールドには、伝送レート(エンコードレートと異なる可能性あり)、ネットワークジッタ、およびパケット損失に対する再送処理遅延等による、受信装置102において必要と想定されるバッファ時間が記述される。
【0142】
図11に示されるように、これらの情報は、互いに異なるヘッダ情報に分けて記録される(符号化時バッファ時間と伝送時バッファ時間とが、互いに異なるヘッダ情報としてコードストリーム213に付加される)。
【0143】
このようにすることにより、例えば、伝送される符号化データが、中継装置などにおいて一旦記憶され、その後、さらに、他の装置へ送信されるような場合(このようなプロセスが繰り返される場合)であっても、最後に符号化データを受信し、再生を行う受信装置102は、各遅延時間に応じた適切なバッファ時間を設定することができる。
【0144】
[伝送時バッファ時間]
送信装置101における伝送時バッファ時間Bt_trans(sec)は、伝送部113により決定される。伝送時バッファ時間は、符号化処理や伝送処理を通して行った場合に同期再生に必要な初期バッファ遅延を決定するものである。伝送時バッファ時間は、上述した符号化時バッファ時間に対して、ネットワーク103等の伝送路の状況に対応して同期再生を行うために必要なバッファ時間、所謂ネットワーク対応バッファ時間Bt_net(sec)を考慮したものとなる。
【0145】
例えば、図12の上から3段目に示されるように、RTP送信部123が、所定の一定の送信レート(伝送レートの目標値)で符号化データのパケットを送信したとしても、ネットワーク103等の伝送路の状況によって実際の伝送レートは変化する。
【0146】
したがって、受信装置102がパケットを受信するときの符号化データの受信レートは、図12の上から4段目に示されるように、ネットワークの状況によって変化し、不安定なものとなる。
【0147】
そこで、初期バッファ遅延は、符号化時バッファ時間だけでなく、このようなネットワーク状況の変化による伝送時バッファ時間も考慮して設定する必要がある。
【0148】
符号化時バッファ時間Bt_codecと、ネットワーク対応バッファ時間Bt_netとが互いに独立な場合、伝送時バッファ時間Bt_transは、次の式(6)のように求めることができる。
【0149】
Bt_trans=Bt_codec+Bt_net ・・・(6)
【0150】
ネットワーク対応バッファ時間Bt_netが符号化時バッファ時間Bt_codecを含んだ値を持つ場合、伝送時バッファ時間Bt_transは、以下の式(7)により求めることができる。
【0151】
Bt_trans=max(Bt_codec,Bt_net) ・・・(7)
【0152】
ネットワーク対応バッファ時間Bt_net(sec)は、例えば、ネットワークジッタに対応することを考えた場合、ネットワークジッタ対応バッファ時間Bt_jitter(sec)を用いて、以下の式(8)のように求める事ができる。
【0153】
Bt_net=Bt_jitter ・・・(8)
【0154】
ネットワークジッタ対応バッファ時間Bt_jitterは、パケットに付加されたタイムスタンプ値と、そのパケットの到着時刻の一定時間内に届いたパケットの分散値により計算することができる。
【0155】
この分散値の一定時間の最大値や移動平均値をネットワークジッタ対応バッファ時間Bt_jitterとするようにしてもよい。ネットワークジッタは、例えば、RTCP Receiver Report パケットに含まれるジッタ値を用いるようにすることができる。この場合、ネットワークジッタ対応バッファ時間Bt_jitterには、符号化時バッファ時間Bt_codecが含まれるので、伝送時バッファ時間Bt_transは、上述した式(7)に従って計算される。
【0156】
このようにして求められた符号化時バッファ時間Bt_codecと伝送時バッファ時間Bt_transとは、例えば上述したように、伝送フォーマットにおけるストリームの先頭のストリーム情報として付加され伝送される。
【0157】
[同期制御部]
次に、受信装置102について説明する。受信装置102に受信された符号化データは、フォーマット解析部132により解析され、符号化情報ヘッダ211から符号化時バッファ時間221が抽出されたり、伝送情報ヘッダ212から伝送時バッファ時間222が抽出されたりする。それらの情報は、同期制御部133に供給される。
【0158】
図13は、同期制御部133が有する機能を示す機能ブロック図である。
【0159】
図13に示されるように、同期制御部133は、機能ブロックとして、符号化時バッファ時間取得部301、伝送時バッファ時間取得部302、初期バッファ遅延算出部303、再生時刻設定部304、および、同期処理部305を有する。
【0160】
符号化時バッファ時間取得部301は、フォーマット解析部132において抽出される符号化時バッファ時間を取得する。伝送時バッファ時間取得部302は、フォーマット解析部132において抽出される伝送時バッファ時間を取得する。
【0161】
初期バッファ遅延算出部303は、符号化時バッファ時間取得部301により取得された符号化時バッファ時間、および、伝送時バッファ時間取得部302により取得された伝送時バッファ時間に基づいて、同期再生に必要な初期バッファ遅延を算出する。
【0162】
再生時刻設定部304は、初期バッファ遅延算出部303により算出された初期バッファ遅延に基づいて、符号化データを復号し、得られた復号画像を再生する処理の開始時刻である再生時刻の設定を行う。
【0163】
同期処理部305は、バッファ134からの符号化データの読み出しタイミングを制御し、再生時刻設定部304により設定された再生時刻を基準とする同期再生を行う事ができるように、同期制御を行う。
【0164】
受信装置102では、送信装置101から伝送された符号化データ中の伝送フォーマット中に記載された符号化時バッファ時間Bt_codec、および、伝送時バッファ時間Bt_transを参照し、同期再生に必要な初期バッファ遅延Bt_initを決定する。
【0165】
初期バッファ遅延Bt_initは、例えば以下の式(9)および式(10)のように求めることができる。すなわち、初期バッファ遅延算出部303は、伝送時バッファ時間Bt_transに無効値が設定されている場合、式(9)に示されるように、符号化時バッファ時間Bt_codec値を初期バッファ遅延Bt_initとして設定し、伝送時バッファ時間Bt_transに有効値が設定されている場合、式(10)に示されるように、伝送時バッファ時間Bt_trans値を初期バッファ遅延Bt_initとして設定する。
【0166】
Bt_init=Bt_codec(Bt_transが無効値の場合) ・・・(9)
Bt_init=Bt_trans(Bt_transが有効値の場合) ・・・(10)
【0167】
再生時刻設定部304は、例えば、ストリームの最初のパケットをタイミング規定パケットとし、その到着時刻から、初期バッファ遅延Bt_init時間遅れた時刻を最初のパケットに付加されたタイムスタンプ値に対する再生時刻として設定する。同期制御部305は、以降のパケットに関して、その再生時刻を基準とし、付加されたタイムスタンプに同期した時刻に再生を行うように制御する。
【0168】
以上のように同期再生を制御することにより、送受信システム100(送信装置101および受信装置102)は、ネットワーク状況に応じた最低限の遅延で同期破たんをきたすことなく、低遅延伝送を行うことができる。
【0169】
[復号部]
次に、復号部135について説明する。図14は、復号部135の構成例を示すブロック図である。
【0170】
図14に示されるように、復号部135は、符号化部112に対応する処理部であり、符号化部112の符号化処理に対応する方法で、符号化部112により生成された符号化データを復号する。
【0171】
図14に示されるように、復号部135は、エントロピ復号部351、係数バッファ部352、およびウェーブレット逆変換部353を有する。
【0172】
エントロピ復号部351は、同期制御部133により制御されてバッファ134から読み出された符号化データを、エントロピ符号化部155による符号化方法に対応する復号方法で復号し、係数データを得る。その係数データは、係数バッファ部352に供給されて格納される。
【0173】
ウェーブレット逆変換部353は、係数バッファ部352に格納された係数データを取得し、その係数データを用いて合成フィルタによる合成フィルタ処理を行い、合成フィルタ処理の結果を再び係数バッファ部352に供給して格納させる。
【0174】
ウェーブレット逆変換部353は、この処理を再帰的に繰り返し、復号された画像データ(出力画像データ)を得ると、それを外部に出力する。
【0175】
このように、復号部135は、低遅延に符号化データを復号することができる。
【0176】
[処理の流れ]
次に、以上において説明した各処理の流れについて説明する。
【0177】
最初に、送信装置101により実行される送信処理の流れの例について、図15のフローチャートを参照して説明する。
【0178】
送信処理が開始されると、送信装置101のRTCP部124は、ステップS101において、ネットワーク103を介して、受信装置102のRTCP部136とRTCP通信を行い、ネットワーク状況情報を収集する。
【0179】
ステップS102において、キャプチャ部111は、入力画像をキャプチャし、画像データを取得する。
【0180】
ステップS103において、符号化部112は、ステップS102において取得された画像データを符号化する。この符号化処理の詳細については後述する。
【0181】
ステップS104において、伝送部113の伝送平滑化部121は、伝送レートに合わせて符号化データのビットレートを平滑化する。
【0182】
ステップS105において、フォーマット修正部122は、処理対象の符号化データが、コードストリームの先頭のヘッダ部であるか否かを判定する。コードストリームの先頭であると判定された場合、ステップS106に進む。
【0183】
ステップS106において、フォーマット修正部122は、符号化データに伝送情報ヘッダを付加し、そのフォーマットを修正する。このフォーマット修正処理の詳細については、後述する。ステップS106の処理が終了すると、ステップS107に進む。また、ステップS105において、コードストリームの先頭で無いと判定された場合、ステップS107に進む。
【0184】
ステップS107において、RTP送信部123は、符号化データをRTPパケット化し、そのRTPパケットを、受信装置102を送信先としてネットワーク103に送信する。
【0185】
ステップS108において、送信装置101は、送信処理を終了するか否かを判定する。例えば入力画像が全て処理されておらず、送信処理を終了しないと判定された場合、ステップS102に戻り、それ以降の処理を繰り返す。
【0186】
また、ステップS108において、送信処理を終了すると判定された場合、送信処理が終了される。
【0187】
次に、図16のフローチャートを参照して、図15のステップS103において実行される符号化処理の流れの例を説明する。
【0188】
符号化処理が開始されると、ステップS121において、画像ライン入力部151がライン入力しながら、ウェーブレット変換部153は、ラインバッファ部152を利用して、ウェーブレット変換を行う。
【0189】
ステップS122において、ウェーブレット変換部153は、1ラインブロック分の変換処理を行ったか否かを判定する。行っていないと判定された場合、ステップS121に戻り、それ以降の処理を繰り返す。
【0190】
また、ステップS122において、1ラインブロック分の変換処理を行ったと判定された場合、ステップS123に進む。
【0191】
ステップS123において、係数ライン並び替え部154は、ウェーブレット変換されて得られた係数データの順序を、ウェーブレット変換処理順からウェーブレット逆変換処理順に並び替える。
【0192】
ステップS124において、エントロピ符号化部155は、エントロピ符号化を行う。ステップS125において、符号化内平滑化部156は、符号化レートに合わせて平滑化を行う。ステップS126において、符号化内平滑化部156は、上述したように符号化時バッファ時間を算出する。
【0193】
ステップS127において、フォーマット化部157は、符号化時バッファ時間を符号化データに付加する。
【0194】
ステップS127の処理が終了すると、符号化処理が終了し、図15のステップS103に戻り、ステップS104以降の処理を繰り返す。
【0195】
次に、図17のフローチャートを参照して、図15のステップS106において実行されるフォーマット修正処理の流れの例を説明する。
【0196】
フォーマット修正処理が開始されると、フォーマット修正部122の符号化時バッファ時間取得部201は、ステップS141において、符号化データに付加されている符号化時バッファ時間を参照し、取得する。
【0197】
ステップS142において、ネットワーク状況情報取得部202は、RTCP部124により収集されたネットワーク状況情報を取得する。
【0198】
ステップS143において、伝送時バッファ時間算出部203は、ステップS141において取得された符号化時バッファ時間や、ステップS142において取得されたネットワーク状況情報に基づいて、伝送時バッファ時間を算出する。
【0199】
ステップS144において、伝送時バッファ時間付加部204は、ステップS143において算出された伝送時バッファ時間を符号化データに付加する。
【0200】
ステップS144の処理が終了すると、フォーマット修正処理が終了し、図15のステップS106に戻り、ステップS107以降の処理を行う。
【0201】
以上のように各処理を実行することにより、送信装置101は、符号化時バッファ時間と伝送時バッファ時間を、それぞれ生成し、互いに異なるヘッダ情報に分けて、符号化データに付加し、受信装置102に提供することができる。
【0202】
このようにすることにより、送信装置101は、不要な遅延時間を増大させない低遅延データ伝送を、ネットワーク状況に依らず、より安定的に行うことができる。
【0203】
次に、図18のフローチャートを参照して、受信装置102が実行する受信処理の流れの例を説明する。
【0204】
受信処理が開始されると、RTCP部136は、ステップS201において、送信装置101のRTCP部124と通信を行い、RTCP部124によるネットワーク状況情報の収集に協力する。また、必要に応じてRTCP部136がネットワーク状況情報の収集を行ってもよい。
【0205】
ステップS202において、RTP受信部131は、送信装置101から伝送されるRTPパケットを受信する。
【0206】
ステップS203において、フォーマット解析部132は、RTPパケットから抽出された符号化データにヘッダが存在するか否かを判定する。存在すると判定された場合、ステップS204に進む。
【0207】
ステップS204において、フォーマット解析部132は、符号化時バッファ時間および伝送時バッファ時間を符号化データから抽出する。ステップS205において、同期制御部133は、同期制御設定処理を行う。同期制御設定処理の詳細については後述する。
【0208】
ステップS205の処理が終了するとステップS206に進む。また、ステップS203においてヘッダが存在しないと判定された場合、ステップS206に進む。
【0209】
ステップS206において、バッファ134は、符号化データを保持する。
【0210】
ステップS207において、同期制御部133は、同期制御タイミングになったか否かを判定する。同期制御タイミングになっていないと判定された場合、ステップS202に戻り、それ以降の処理を繰り返す。
【0211】
また、ステップS207において、同期制御タイミングになったと判定された場合、ステップS208に進む。
【0212】
ステップS208において、同期制御部133は、バッファ134を制御し、同期制御タイミングに合わせて符号化データを読み出し、復号部135に供給させる。
【0213】
ステップS209において、復号部135は、符号化データを復号する。この復号処理の詳細については後述する。
【0214】
ステップS210において、復号部135は、生成した画像データを出力する。
【0215】
ステップS211において、受信装置102は、受信処理を終了するか否かを判定する。未処理の符号化データが存在し、受信処理を終了しないと判定された場合、ステップS202に戻り、ステップS203以降の処理を繰り返す。
【0216】
また、ステップS211において、受信処理を終了すると判定された場合、受信処理が終了される。
【0217】
次に、図19のフローチャートを参照して、図18のステップS205において同期制御部133により実行される同期制御設定処理の流れの例を説明する。
【0218】
同期制御設定処理が開始されると、同期制御部133の符号化時バッファ時間取得部301は、ステップS231において、フォーマット解析部132において抽出された符号化時バッファ時間を取得する。
【0219】
ステップS232において、同期制御部133の伝送時バッファ時間取得部302は、フォーマット解析部132において抽出された伝送時バッファ時間を取得する。
【0220】
ステップS233において、同期制御部133の初期バッファ遅延算出部303は、ステップS231において取得された符号化時バッファ時間と、ステップS232において取得された伝送時バッファ時間とに基づいて初期バッファ遅延を算出する。
【0221】
ステップS234において、同期制御部133の再生時刻設定部304は、ステップS233において算出された初期バッファ遅延に基づいて再生時刻を決定し、その再生時刻の設定を行う。
【0222】
ステップS234の処理が終了すると、図18のステップS205に戻り、ステップS206以降の処理が実行される。
【0223】
次に、図20のフローチャートを参照して、図18のステップS209において復号部135により実行される復号処理の流れの例を説明する。
【0224】
復号処理が開始されると、ステップS251において、エントロピ復号部351は、符号化データをエントロピ復号する。
【0225】
ステップS252において、係数バッファ部352は、ステップS251の処理により符号化データがエントロピ復号されて生成された係数データを保持する。
【0226】
ステップS253において、ウェーブレット逆変換部353は、係数バッファ部352から係数データを適宜読み出し、ウェーブレット逆変換を行い、画像データを生成する。
【0227】
画像データが生成されると、復号処理が終了し、図18のステップS209に戻り、それ以降の処理が行われる。
【0228】
以上のように各処理を実行することにより、受信装置102は、互いに異なるヘッダ情報に分けて符号化データに付加された、符号化時バッファ時間と伝送時バッファ時間を取得し、それらに基づいて初期バッファ遅延を算出することができる。
【0229】
このようにすることにより、受信装置102は、不要な遅延時間を増大させない低遅延データ伝送を、ネットワーク状況に依らず、より安定的に行うことができる。
【0230】
<2.第2の実施の形態>
[デバイスの構成]
第1の実施の形態においては、送信装置101において、画像データが符号化され、符号化データとして伝送されるように説明したが、この符号化処理における符号化レートと、伝送処理における伝送レートとが互いに異なっていてもよい。
【0231】
図21は、本発明を適用した送受信システムの他の構成例を示すブロック図である。
【0232】
図21に示される送受信システム400は、基本的に図1の送受信システム100と同様のシステムであり、同様の構成を有するが、送信装置101の代わりに送信装置401を有する。
【0233】
送信装置401は、基本的に図1の送信装置101と同様の装置であり、同様の構成を有するが、送信装置101の場合と異なり、符号化部112と伝送部113との間に記憶部411をさらに有する。それ以外の構成は、送信装置101の構成と同様である。
【0234】
送信装置401は、符号化部112による符号化処理における符号化レートと、伝送部113によるデータ伝送における伝送レートとが、互いに異なることが前提となっている。
【0235】
記憶部411は、その符号化レートと伝送レートとの差を解消するためのバッファである。記憶部411は、符号化部112より出力される符号化データを、符号化レートに応じたタイミング(レート)で順次格納する。
【0236】
また、記憶部411は、格納している符号化データを、伝送レートに応じたタイミング(レート)で順次読み出す。
【0237】
ここで、ネットワーク103は安定しているものとし、受信装置102での初期バッファ遅延Bt_initを、符号化時に指定された符号化時バッファ時間Bt_codecとする。この場合、例えば符号化レートに対して伝送レートがN倍(N>1)であるとすると、ネットワーク対応バッファ時間Bt_netは、レート比対応バッファ時間Bt_rateを用いて、以下の式(11)および式(12)により求めることができる。
【0238】
Bt_rate=Bt_codec/N ・・・(11)
Bt_net=Bt_rate ・・・(12)
【0239】
なお、さらに、ネットワークジッタ対応バッファ時間Bt_jitterを反映させるようにしてもよい。その場合、ネットワーク対応バッファ時間Bt_netは、符号化時バッファ時間Bt_codecを伝送レートとエンコードレートとの比Nで除算した値に、ネットワークジッタ対応バッファ時間Bt_jitterを加算することにより求めることができる。
【0240】
[伝送時バッファ時間]
この場合、伝送時バッファ時間は、図22の一番下の段に示されるようになる。すなわち、図22の上から2段目や3段目に示されるように、伝送レートが符号化レートのN倍(図22の例の場合、2倍)であるとすると、伝送時バッファ時間も1/N倍(図22の例の場合、1/2倍)とすることができる。
【0241】
このように、伝送レートの符号化レートに対する比に応じて、伝送時バッファ時間を調整することにより、送信装置401は、不要な遅延時間を増大させない低遅延データ伝送を、ネットワーク状況に依らず、より安定的に行うことができる。
【0242】
[処理の流れ]
この送受信システム400の場合も、各処理の流れは基本的に送受信システム100の場合と同様であるが、送信装置401は、符号化処理により生成した符号化データを記憶部411に一旦保持させてから、データ伝送を行う。つまり、符号化処理は、送信処理を実行する以前に実行済みである。
【0243】
したがってこの場合の送信処理は、例えば図23のフローチャートを参照して説明するような流れで処理される。
【0244】
すなわち、図15のフローチャートにおける、画像データを取得するステップS102の処理や、画像データを符号化するステップS103の処理の代わりに、符号化データを記憶部411から取得するステップS302の処理が行われる。
【0245】
その他の処理は、図15の場合と同様に行われる。
【0246】
以上のように処理を行うことにより、送信装置401および受信装置102は、符号化レートと伝送レートが互いに異なる場合でも、同期を破たんさせることなく、不要な遅延時間を増大させないように同期再生を実現することができる。
【0247】
<3.第3の実施の形態>
[デバイスの構成]
なお、送信装置がパケット損失回復機能を有するようにしてもよい。例えば、ARQ(Auto Repeat Request)機能により受信装置から送信装置にRTCPパケットにて損失パケットの再送要求を行うことができるようにしてもよい。
【0248】
図24は、その場合の送受信システムの構成例を示すブロック図である。図24に示される送受信システム500は、ARQ機能を有する以外、基本的に送受信システム100と同様のシステムであり、送受信システム100と同様の構成を有する。
【0249】
送受信システム500は、送信装置501と受信装置502を有する。
【0250】
送信装置501は、図1の送信装置101と基本的に同様の装置であり、同様の構成を有する。ただし、送信装置501は、送信装置101の構成に加え、さらに、ARQ部525を有する。
【0251】
受信装置502は、図1の受信装置102と基本的に同様の装置であり、同様の構成を有する。ただし、受信装置502は、受信装置102の構成に加え、さらに、ARQ部537を有する。
【0252】
受信装置502のARQ部537は、パケットの損失が発生した場合、RTCPパケットを利用して、送信装置501に対して再送要求を行う。
【0253】
送信装置501のARQ部525は、RTCP部124を介して、受信装置502からの再送要求を受けると、RTP送信部123を制御し、要求されたパケットの再送を実行させる。
【0254】
このようなシステムの場合、再送パケットの到着を待つためのバッファ時間であるARQ対応バッファ時間Bt_arqを初期バッファ遅延Bt_initに反映させる必要ある。より具体的には、例えば、ネットワーク対応バッファ時間Bt_netは、以下の式(13)のように求めるようにすればよい。
【0255】
Bt_net=Bt_arq ・・・(13)
【0256】
さらに、第1の実施の形態や第2の実施の形態で説明したような、ジッタや伝送レートと符号化レートとの比等も併せて初期バッファ遅延Bt_initに対応させるようにしてもよい。
【0257】
つまり、ネットワークジッタ対応バッファ時間Bt_jitter、レート比対応バッファ時間Bt_rate、および、ARQ対応バッファ時間Bt_arqとすると、ネットワーク対応バッファ時間Bt_netは、これらを組み合わせて、式(14)により求めることができる。
【0258】
Bt_net=Bt_jitter+Bt_rate+Bt_arq ・・・(14)
【0259】
また、ネットワーク対応バッファ時間Bt_netは、以下の式(15)のように求めることもできる。
【0260】
Bt_net=Bt_rate+max(Bt_jitter,Bt_arq) ・・・(15)
【0261】
さらに、ネットワーク対応バッファ時間Bt_netは、以下の式(16)のように求めることもできる。
【0262】
Bt_net=max(Bt_jitter,Bt_rate,Bt_arq) ・・・(16)
【0263】
このようにすることにより、送信装置101および受信装置102は、ジッタ吸収機能やパケットロス回復機能等、ネットワーク103の状況に応じて、不要な遅延時間を増大させない低遅延データ伝送を、ネットワーク状況に依らず、より安定的に行うことができる。
【0264】
もちろん、上述した以外の、その他のネットワーク対応バッファ時間に関しても同様に初期バッファ遅延に反映させることができる。
【0265】
本発明では、映像等のストリームデータを伝送し、同期再生する場合において、その符号化データとともに、符号化時バッファ時間と伝送時バッファ時間とを互いに分けて記載し、伝送することにより、符号化部と伝送部の独立性を保ち、ネットワーク状況を考慮した最少のバッファ時間(遅延)で同期再生することができる。
【0266】
符号化時バッファ時間フィールドには、符号化処理時に符号化データ出力を符号化レートに平滑化して出力した場合に、受信装置102において必要と想定されるバッファ時間が記載され、伝送時バッファ時間フィールドには、伝送レート、ネットワークジッタ、パケット損失に対する再送処理遅延等を考慮したバッファ時間が記載される。
【0267】
さらに、符号化時バッファ時間と伝送時バッファ時間とが分けて記録されているため、受信装置102が取得したデータを一旦ファイルに保存し、他の装置へ送信するというプロセスを繰り返しても、最後の受信装置は、最適なバッファ時間を設定することができる。
【0268】
なお、以上においては、符号化バッファ時間および伝送時バッファ時間を、送信装置が算出し、受信装置に供給するように説明したが、これに限らず、送信装置が、符号化に関する情報やネットワーク状況情報等を受信装置に伝送し、受信装置がそれらの情報に基づいて符号化バッファ時間および伝送時バッファ時間を算出し、さらに初期バッファ遅延を求めるようにしてもよい。その場合、装置間において伝送される情報や、演算を行う装置が異なるだけで、システム全体において実行される処理は基本的に上述した他の場合と同様である。
【0269】
<4.第4の実施の形態>
[パーソナルコンピュータ]
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、図43に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【0270】
図25において、パーソナルコンピュータ600のCPU(Central Processing Unit)601は、ROM(Read Only Memory)602に記憶されているプログラム、または記憶部613からRAM(Random Access Memory)603にロードされたプログラムに従って各種の処理を実行する。RAM603にはまた、CPU601が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0271】
CPU601、ROM602、およびRAM603は、バス604を介して相互に接続されている。このバス604にはまた、入出力インタフェース610も接続されている。
【0272】
入出力インタフェース610には、キーボード、マウスなどよりなる入力部611、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部612、ハードディスクなどより構成される記憶部613、モデムなどより構成される通信部614が接続されている。通信部614は、インターネットを含むネットワークを介しての通信処理を行う。
【0273】
入出力インタフェース610にはまた、必要に応じてドライブ615が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア621が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部613にインストールされる。
【0274】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【0275】
この記録媒体は、例えば、図25に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア621により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM602や、記憶部613に含まれるハードディスクなどで構成される。
【0276】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0277】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0278】
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
【0279】
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0280】
100 送受信システム, 101 送信装置, 102 受信装置, 103 ネットワーク, 111 キャプチャ部, 112 符号化部, 113 伝送部, 121 伝送平滑化部, 122 フォーマット修正部, 123 RTP送信部, 124 RTCP部, 131 RTP受信部, 132 フォーマット解析部, 133 同期制御部, 134 バッファ, 135 復号部, 156 符号化内平滑化部, 157 フォーマット化部, 201 符号化時バッファ時間取得部, 202 ネットワーク状況情報取得部, 203 伝送時バッファ時間算出部, 204 伝送時バッファ時間付加部, 301 符号化時バッファ時間取得部, 302 伝送時バッファ時間取得部, 303 初期バッファ遅延算出部, 304 再生時刻設定部, 305 同期処理部, 400 送受信システム, 401 送信装置, 411 記憶部, 500 送受信システム, 501 送信装置, 502 受信装置, 525 ARQ部, 537 ARQ部

【特許請求の範囲】
【請求項1】
画像データを符号化し、符号化データを生成する符号化手段と、
前記符号化データを、前記符号化データに付加されたタイムスタンプに同期して復号して再生する同期再生が、前記符号化手段による前記画像データの符号化による遅延によって破たんしないようにするために最低限必要なバッファ時間である符号化時バッファ時間を、前記符号化データに符号化ヘッダ情報として付加する符号化時バッファ時間付加手段と、
前記同期再生が、前記画像データの符号化と前記符号化データの伝送との両方による遅延によって破たんしないようにするために最低限必要なバッファ時間である伝送時バッファ時間を、前記符号化データに、前記符号化ヘッダ情報と異なる伝送ヘッダ情報として付加する伝送時バッファ時間付加手段と、
前記符号化時バッファ時間付加手段により前記符号化時バッファ時間を含む前記符号化ヘッダ情報を付加され、さらに、前記伝送時バッファ時間付加手段により前記伝送時バッファ時間を含む前記伝送ヘッダ時情報を付加された前記符号化データを、ネットワークを介して、前記同期再生を行う他の装置に送信する送信手段と
を備える送信装置。
【請求項2】
前記ネットワークの通信に関する状況の情報であり、伝送レート、ネットワークジッタ、パケット損失率、および伝送遅延を少なくとも含むネットワーク状況情報を収集するネットワーク状況情報収集手段と、
前記ネットワーク状況情報収集手段により収集された前記ネットワーク状況情報を用いて、前記同期再生が、前記符号化データの伝送による遅延によって破たんしないようにするために最低限必要なバッファ時間であるネットワーク対応バッファ時間を算出するネットワーク対応バッファ時間算出手段と、
前記ネットワーク対応バッファ時間算出手段により算出された前記ネットワーク対応バッファ時間、および、前記符号化時バッファ時間を用いて、前記伝送時バッファ時間を算出する伝送時バッファ時間算出手段と
をさらに備える請求項1に記載の送信装置。
【請求項3】
前記伝送時バッファ時間算出手段は、前記符号化時バッファ時間と前記ネットワーク対応バッファ時間との和を前記伝送時バッファ時間とする
請求項2に記載の送信装置。
【請求項4】
前記伝送時バッファ時間算出手段は、前記符号化時バッファ時間若しくは前記ネットワーク対応バッファ時間のうちの大きい方を選択する
請求項2に記載の送信装置。
【請求項5】
前記ネットワーク対応バッファ時間算出手段は、前記同期再生が、前記ネットワークの前記ネットワークジッタによる遅延の増大によって破たんしないようにするために最低限必要なバッファ時間であるネットワークジッタ対応バッファ時間を前記ネットワーク対応バッファ時間とする
請求項2に記載の送信装置。
【請求項6】
前記同期再生が、前記符号化手段による前記画像データの符号化の符号化レートと、前記伝送レートとの比によって破たんしないようにするために最低限必要なバッファ時間であるレート比対応バッファ時間を算出するレート比対応バッファ時間算出手段をさらに備え、
前記ネットワーク対応バッファ時間算出手段は、前記レート比対応バッファ時間算出手段により算出された前記レート比対応バッファ時間を前記ネットワーク対応バッファ時間とする
請求項2に記載の送信装置。
【請求項7】
前記ネットワーク対応バッファ時間算出手段は、前記同期再生が、再送処理による遅延によって破たんしないようにするために最低限必要なバッファ時間である再送対応バッファ時間を前記ネットワーク対応バッファ時間とする
請求項2に記載の送信装置。
【請求項8】
前記ネットワーク対応バッファ時間算出手段は、前記同期再生が前記ネットワークの前記ネットワークジッタによる遅延の増大によって破たんしないようにするために最低限必要なバッファ時間であるネットワークジッタ対応バッファ時間、前記同期再生が前記符号化手段による前記画像データの符号化の符号化レートと、前記伝送レートとの比によって破たんしないようにするために最低限必要なバッファ時間であるレート比対応バッファ時間、および、前記同期再生が再送処理による遅延によって破たんしないようにするために最低限必要なバッファ時間である再送対応バッファ時間の総和を前記ネットワーク対応バッファ時間とする
請求項2に記載の送信装置。
【請求項9】
前記ネットワーク対応バッファ時間算出手段は、前記同期再生が前記ネットワークの前記ネットワークジッタによる遅延の増大によって破たんしないようにするために最低限必要なバッファ時間であるネットワークジッタ対応バッファ時間、若しくは、前記同期再生が再送処理による遅延によって破たんしないようにするために最低限必要なバッファ時間である再送対応バッファ時間のうちの大きい方と、前記同期再生が前記符号化手段による前記画像データの符号化の符号化レートと、前記伝送レートとの比によって破たんしないようにするために最低限必要なバッファ時間であるレート比対応バッファ時間との和を前記ネットワーク対応バッファ時間とする
請求項2に記載の送信装置。
【請求項10】
前記ネットワーク対応バッファ時間算出手段は、前記同期再生が前記ネットワークの前記ネットワークジッタによる遅延の増大によって破たんしないようにするために最低限必要なバッファ時間であるネットワークジッタ対応バッファ時間、前記同期再生が前記符号化手段による前記画像データの符号化の符号化レートと、前記伝送レートとの比によって破たんしないようにするために最低限必要なバッファ時間であるレート比対応バッファ時間、および、前記同期再生が再送処理による遅延によって破たんしないようにするために最低限必要なバッファ時間である再送対応バッファ時間のうち、最も大きいものを前記ネットワーク対応バッファ時間とする
請求項2に記載の送信装置。
【請求項11】
前記符号化時バッファ時間を算出する符号化時バッファ時間算出手段をさらに備え、
前記符号化時バッファ時間付加手段は、前記符号化時バッファ時間算出手段により算出された前記符号化時バッファ時間を、前記符号化データに前記符号化ヘッダ情報として付加する
請求項1に記載の送信装置。
【請求項12】
前記符号化時バッファ時間算出手段は、前記画像データの符号化の符号化レートを、前記画像データの符号化に用いられるバッファサイズで除算した値を前記符号化時バッファ時間とする
請求項11に記載の送信装置。
【請求項13】
送信装置の符号化手段が、画像データを符号化し、符号化データを生成し、
前記送信装置の符号化時バッファ時間付加手段が、前記符号化データを、前記符号化データに付加されたタイムスタンプに同期して復号して再生する同期再生が、前記画像データの符号化による遅延によって破たんしないようにするために最低限必要なバッファ時間である符号化時バッファ時間を、前記符号化データに符号化ヘッダ情報として付加し、
前記送信装置の伝送時バッファ時間付加手段が、前記同期再生が、前記画像データの符号化と前記符号化データの伝送との両方による遅延によって破たんしないようにするために最低限必要なバッファ時間である伝送時バッファ時間を、前記符号化データに、前記符号化ヘッダ情報と異なる伝送ヘッダ情報として付加し、
前記送信装置の送信手段が、前記符号化時バッファ時間を含む前記符号化ヘッダ情報を付加し、さらに、前記伝送時バッファ時間を含む前記伝送ヘッダ時情報を付加された前記符号化データが、ネットワークを介して、前記同期再生を行う他の装置に送信する
送信方法。
【請求項14】
他の装置において画像データが符号化されて生成され、ネットワークを介して伝送された符号化データを受信する受信手段と、
前記受信手段により受信された前記符号化データから、前記符号化データに付加されたタイムスタンプに同期して復号して再生する同期再生が、前記画像データの符号化による遅延によって破たんしないようにするために最低限必要なバッファ時間である符号化時バッファ時間を抽出し、取得する符号化時バッファ時間取得手段と、
前記受信手段により受信された前記符号化データから、前記符号化データの同期再生が、前記画像データの符号化と前記符号化データの伝送との両方による遅延によって破たんしないようにするために最低限必要なバッファ時間である伝送時バッファ時間を抽出し、取得する伝送時バッファ時間取得手段と、
前記符号化時バッファ時間取得手段により取得された前記符号化時バッファ時間、および、前記伝送時バッファ時間取得手段により取得された前記伝送時バッファ時間を用いて、前記同期再生が破たんしないようにするために必要なバッファ時間の初期値である初期バッファ遅延を算出する初期バッファ遅延算出手段と、
前記受信手段により受信された前記符号化データを格納する格納手段と、
前記格納手段により格納されている前記符号化データの読み出しタイミングを制御することにより、前記同期再生を制御する同期制御手段と、
前記同期制御手段による制御に従って前記格納手段より読みだされた前記符号化データを復号する復号手段と
を備える受信装置。
【請求項15】
前記初期バッファ遅延算出手段は、前記符号化データに付加される前記伝送時バッファ時間が有効である場合、前記伝送時バッファ時間を前記初期バッファ遅延とし、前記伝送時バッファ時間が無効である場合、前記符号化データに付加される前記符号化時バッファ時間を前記初期バッファ遅延とする
請求項14に記載の受信装置。
【請求項16】
復号装置の受信手段が、他の装置において画像データが符号化されて生成され、ネットワークを介して伝送された符号化データを受信し、
前記復号装置の符号化時バッファ時間取得手段が、受信された前記符号化データから、前記符号化データに付加されたタイムスタンプに同期して復号して再生する同期再生が、前記画像データの符号化による遅延によって破たんしないようにするために最低限必要なバッファ時間である符号化時バッファ時間を抽出し、取得し、
前記復号装置の前記伝送時バッファ時間取得手段が、受信された前記符号化データから、前記符号化データの同期再生が、前記画像データの符号化と前記符号化データの伝送との両方による遅延によって破たんしないようにするために最低限必要なバッファ時間である伝送時バッファ時間を抽出し、取得し、
前記復号装置の前記初期バッファ遅延算出手段が、取得された前記符号化時バッファ時間、および、取得された前記伝送時バッファ時間を用いて、前記同期再生が破たんしないようにするために必要なバッファ時間の初期値である初期バッファ遅延を算出し、
前記復号装置の格納手段が、受信された前記符号化データを格納し、
前記復号装置の同期制御手段が、格納されている前記符号化データの読み出しタイミングを制御することにより、前記同期再生を制御し、
前記復号装置の復号手段が、前記制御に従って、読みだされた前記符号化データを復号する
受信方法。

【図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

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2011−130065(P2011−130065A)
【公開日】平成23年6月30日(2011.6.30)
【国際特許分類】
【出願番号】特願2009−285039(P2009−285039)
【出願日】平成21年12月16日(2009.12.16)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】