説明

テレビ電話のためのビデオパケット整形

【課題】オーディオ遅延を低減するためにオーディオパケットに優先付けするために使用する、テレビ電話のためのビデオパケット整形についての技術を提供する。
【解決手段】各ビデオパケットのサイズは、オーディオパケットが実質的な遅延を伴わない送信のために優先付けされるように調節される(90)。該ビデオパケットサイズは、チャンネル条件に基づいて制御される(92)。該オーディオは、例えビデオがチャンネル条件に起因して遅延を受けるとしても、実質的遅延を伴わずに搬送されることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本開示はテレビ電話(VT)に関し、更に特定すれば、VTシステムにおける送信のために、オーディオおよびビデオパケットをアセンブルするための技術に関する。
【背景技術】
【0002】
テレビ電話(VT)は、オーディオデータおよびビデオデータを担持したパケットのリアルタイム通信を含んでいる。各VT装置は、ビデオ捕捉装置またはビデオアーカイブからビデオを得て、ビデオパケットを発生させるビデオエンコーダを含んでいる。同様に、各VT装置におけるオーディオエンコーダは、マイクロホンまたはスピーチシンセサイザのようなオーディオ捕捉装置からオーディオを得て、オーディオパケットを発生させる。ビデオパケットおよびオーディオパケットは、無線リンクプロトコル(RLP)待ち行列の中に配置される。媒体アクセス制御(MAC)層モジュールは、RLP待ち行列のコンテンツから媒体アクセス制御(MAC)層パケットを発生させる。該MAC層パケットは、もう一つのVT装置への通信チャンネルを横切る送信のために、物理(PHY)層パケットに変換される。
【0003】
モバイルVTアプリケーションにおいて、VT装置は、ベースステーションから無線端末への無線順方向リンク(FL)(または「ダウンリンク」)を介して、物理層パケットを受信する。VT装置は、無線端末からベースステーションへの無線逆方向リンク(RL)(または「アップリンク」)を介して、PHY層パケットを送信する。各VT装置は、受信されたPHY層およびMAC層パケットを変換し、該パケットペイロードをオーディオパケットおよびビデオパケットにアセンブルするために、PHY層およびMAC層を含んでいる。VT装置内のビデオデコーダは、ディスプレイ装置を介してユーザに提示するために、ビデオデータをデコード化する。VT装置内のオーディオデコーダは、オーディオスピーカを介して提示するためにオーディオデータをデコード化する。
【0004】
無線環境におけるモバイルVTは、困難な課題である可能性がある。無線チャンネル上でのデータレートは制限され、且つ経時的に変化する。例えば、CDMA2000・1×EV−DOリリース0ネットワークにおいて、該データレートは、無線受信可能エリア内での条件、または多重VTユーザ間でのトラヒック混雑に起因して変化する可能性がある。加えて、データレートがゼロに落ちるとき、例えば送るべきデータが存在しないときには、合理的なデータレートへの復帰に時間を要する可能性がある。その結果、モバイルVTは望ましくないビデオおよびオーディオの遅延を受け易く、これはリアルタイムでの円滑なビデオ会議を実行する能力を徐々に害する可能性がある。
【発明の概要】
【0005】
一般に、本開示は、VT応用についてのビデオパケット整形のための技術に向けられている。ビデオパケット整形技術は、オーディオパケットを優先させて、オーディオ遅延を低下させるために使用することができる。チャンネル条件、過大なビデオコンテンツ、またはその両者は、オーディオパケットの送信において顕著な遅延を生じさせることができる。逆方向リンク(RL)スループットが減少すると、ビデオパケットサイズはRLを圧倒して、オーディオ遅延を増大させることができる。特に、ビデオパケットはRLP待ち行列を満たし、過大な数のMAC層パケットを消費して、オーディオパケットを担持するMAC層パケットの連続する送信間で遅延を生じるかもしれない。
【0006】
本開示の技術に従えば、各ビデオパケットのサイズは、実質的遅延を伴わない送信のためにオーディオパケットが優先されるように調節される。特に、RLP待ち行列に提示される各ビデオパケットのサイズは、オーディオの適時送信を保証するように制御される。例えば、各オーディオパケットが、RLP待ち行列から得た次の利用可能なMAC層パケットと共に送ることができるように、ビデオパケットをサイズ設定してよい。このようにして、アプリケーション層におけるオーディオパケットのためのサービスの品質(QoS)を提供することができる。
【0007】
ビデオパケットサイズは、無線チャンネルのようなチャンネルの推定スループットに基づいて制御されてよい。該スループットは、現在の無線チャンネル送信レート、無線ベースステーション活動、または送信電力制限によって表されるような、チャンネル条件に基づいて推定されてよい。VT会議のオーディオ部分は、ビデオ部分がチャンネル条件による遅延を受け得るとしても、実質的な遅延なしに伝達されることができる。ビデオはチャンネル条件によって損なわれ得るが、ビデオパケット整形は、VT会議への参加者が円滑に口頭での会話を続行できることを保証する。
【0008】
加えて、幾つかの実施形態において、ビデオパケット整形技術は更に、ビデオバッファー占有に基づく適応ソースレート制御を含んでよい。この場合に、優先付けされたオーディオパケット化の必要性を仮定すれば、ソースビデオコード化レートは、チャンネル条件が該ビデオコード化レートをサポートしないときには低下する。ビデオコード化レートは、例えば、ビデオバッファーに駐在するパケット化されていないビデオフレームデータの量に基づいて調節されてよい。
【0009】
一つの実施形態において、本開示は、オーディオパケットを発生させること、無線チャンネルのスループットを予測すること、および該予測されたスループットに基づいて決定されたビデオパケットサイズを用いてビデオパケットを発生させることを含んでなる方法を提供する。
【0010】
もう一つの実施形態において、本開示は、オーディオデータを生じるオーディオエンコーダ、該オーディオデータを受信してオーディオパケットを出力するオーディオバッファー、ビデオデータを発生するビデオエンコーダ、無線チャンネルのスループットを予測し、該予測されたスループットに基づいて決定されたビデオパケットサイズで前記ビデオデータからビデオパケットを発生させるパケタイザを含んでなるシステムを提供する。
【0011】
追加の実施形態において、本開示は、プロセッサにオーディオパケットを発生させ、無線チャンネルのスループットを予測させ、該予測されたスループットに基づいて決定されたビデオパケットサイズでビデオパケットを発生させる命令を含んでなる、コンピュータ読み取り可能な媒体を提供する。
【0012】
幾つかの実施形態において、ビデオパケットのサイズは、予測されたスループット、オーディオパケットのサイズ、および出力待ち行列の中にビデオパケットを配置する以前に該出力待ち行列の中にバッファーされたオーディオパケットを含むデータのサイズに基づいて決定される。該ビデオパケットは、オーディオパケットが、前記出力待ち行列のコンテンツから発生された次の利用可能なMAC層パケットの中に配置できるようにサイズ設定されてよい。
【0013】
1以上の実施形態の詳細を、添付の図面および以下の説明において記載する。他の特徴、目的および利点は、該説明および図面、並びに特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【0014】
【図1】図1は、VTアプリケーションのためのビデオ/オーディオコード化およびデコード化システムを示すブロック図である。
【図2】図2は、過大なビデオコンテンツ、劣悪なチャンネル状態、またはその両者によるオーディオ遅延を示す図である。
【図3】図3は、固定長さのビデオパケット整形のための技術を示す図である。
【図4】図4は、チャンネル適合ビデオパケット整形のための技術を示す図である。
【図5】図5は、チャンネル適合ビデオパケット整形技術を実施する、ビデオ/オーディオコード化システムを示すブロック図である。
【図6】図6は、チャンネル条件の範囲に亘るチャンネル適合ビデオパケット整形を示す図である。
【図7】図7は、チャンネル条件の範囲に亘るチャンネル適合ビデオパケット整形をより詳細に示す図である。
【図8】図8は、チャンネル適合ビデオパケット整形のための技術を示すフロー図である。
【発明を実施するための形態】
【0015】
図1は、ビデオのコード化およびデコード化システム10を示すブロック図である。図1に示すように、システム10は、送信チャンネル16で接続されたエンコーダシステム12およびデコーダシステム14を含んでいる。エンコーダシステム12は、第一のビデオ通信装置に関連しており、ビデオエンコーダ20、オーディオエンコーダ22、ビデオパケタイザ24、リアルタイム移送プロトコル(RTP)/ユーザデータグラムプロトコル(UDP)/インターネットプロトコル(IP)/ポイントツーポイントプロトコル(PPP)変換モジュール26、無線リンクプロトコル(RLP)待ち行列28、MAC層モジュール30、およびPHY層モジュール32を含んでいる。デコーダシステム14は、もう一つのビデオ通信装置に関連しており、PHY層モジュール34、MAC層モジュール36、RLP待ち行列38、RTP/UDP/IP/PPP変換モジュール40、ビデオデコーダ42およびオーディオデコーダ44を含んでいる。説明するように、パケタイザ24は、オーディオパケット送信を優先させるようにチャンネル条件に基づいてビデオパケット整形を実行し、それによって過大なオーディオ遅延を回避する。
【0016】
システム10は、例えば、送信チャンネル16を介したテレビ電話のための、二方向のビデオ送信およびオーディオ送信を提供してよい。従って、一般には逆コード化モジュール、デコード化モジュールおよび変換モジュールが、チャンネル16の反対端に設けられてよい。幾つかの実施形態において、エンコーダシステム12およびデコーダシステム14は、ビデオストリーミング、テレビ電話またはその両者のために装備された無線モバイル端末のような、ビデオ通信装置内に実現されてよい。該モバイル端末は、RTP、UDP、IP、またはPPPのようなパケット交換標準に従ってVTをサポートしてよい。RTP/UDP/IP/PPP変換モジュールは、RTP/UDP/IP/PPPヘッダデータを、オーディオエンコーダ22およびビデオパケタイザ24から受信した適切なオーディオおよびビデオデータに加え、該データをRLP待ち行列2の中に配置する。RTPはUDPの頂部を走る一方、UDPはIPの頂部を走り、またIPはPPPの頂部を走る。MAC層モジュール30は、RLP待ち行列28のコンテンツからMAC・RLPパケットを発生する。PHY層モジュール30は、MAC・RLPパケットをPHY層パケットに変換する。
【0017】
デコード化システムのPHY層モジュール34およびMAC層モジュール36は、逆の方法で動作する。PHY層モジュールは、チャンネル16から受信されたPHY層パケットを、MAC・RLPパケットに変換する。MAC層モジュール36は、MAC・RLPパケットをRLP待ち行列38の中に配置する。RTP/UDP/IP/PPP変換モジュール40は、RLP待ち行列38中のデータからヘッダ情報を剥ぎ取り、それぞれビデオデコーダ42およびオーディオデコーダ44に配信するために、ビデオおよびオーディオデータを再アセンブルする。
【0018】
システム10は、コード分割多重接続(CDMA)、周波数分割多重接続(FDMA)、時間分割多重接続(TDMA)、または直交周波数分割多重化(OFDM)のような1以上の無線通信技術、またはもう一つの適切な無線技術をサポートするように設計されてよい。上記の無線通信技術は、種々の無線アクセス技術の何れかに従って配信されてよい。例えば、CDMAは、cdma2000または広帯域CDMA(WCDMA)標準に従って配信されてよい。TDMAは、モバイル通信のためのグローバルシステム(GSM(登録商標))標準に従って配信されてよい。ユニバーサルモバイル遠隔通信システム(UMTS)標準は、GSMまたはWCDMA動作を許容する。典型的には、VTアプリケーションについて、システム10は、cdma200・1xEV−DOリリース0のような高データレート(HDR)技術をサポートするように設計されるであろう。
【0019】
ビデオエンコーダ20は、MPEG−4のようなビデオ圧縮法に従ってコード化されたビデオデータを発生する。国際遠隔通信連合(ITU)H.263、ITU・H.264またはMPEG−2法のような、他のビデオ圧縮方法が使用されてもよい。オーディオエンコーダ22は、ビデオデータに付随させるためのオーディオデータをコード化する。当該ビデオは、ビデオカメラのようなビデオ捕捉装置から、またはビデオアーカイブから得られたものでよい。当該オーディオデータは、適合性多重レート狭帯域(AMR−NB)のようなオーディオ圧縮方法、または他の技術に従ってコード化されてよい。オーディオは、マイクロホンのようなオーディオ捕捉装置から、またはスピーチシンセサイザ装置から得てもよい。VTアプリケーションについて、ビデオはVT会議への参加者が見るのを可能にし、またオーディオは参加者の話し声を聞くのを可能にするであろう。
【0020】
動作において、TRP/UDP/IP/PPP変換モジュール26は、ビデオエンコーダ20およびオーディオエンコーダ22からビデオおよびオーディオデータパケットを得る。TRP/UDP/IP/PPP変換モジュール26は、適切なヘッダ情報をオーディオパケットに加え、この得られたデータをRLP待ち行列28内に挿入する。同様に、TRP/UDP/IP/PPP変換モジュール26は、適切なヘッダ情報をビデオパケットに加え、得られたデータをRLP待ち行列28内に挿入する。MAC層モジュール30は、RLP待ち行列28からデータを検索し、MAC層パケットを形成する。各MAC層パケットは、TRP/UDP/IP/PPPヘッダ情報、並びにRLP待ち行列28内に含まれるオーディオまたはビデオパケットデータを担持する。
【0021】
オーディオパケットは、ビデオパケットとは独立に、RLP待ち行列28の中に挿入される。しかし、パケタイザ24は、各オーディオパケットが次の利用可能なMAC層パケットによって運ばれることができるように、RLP待ち行列28に加えられるビデオパケットのサイズを制御する。幾つかの場合に、RLP待ち行列28のコンテンツから発生されたMAC層パケットは、ヘッダ情報およびビデオパケットデータだけを担持するであろう。他の場合、MAC層パケットは、ヘッダ情報およびオーディオパケットデータだけを担持するであろう。多くの場合、MAC層パケットは、RLP待ち行列28のコンテンツに依存して、ヘッダ情報、並びにオーディオパケットデータおよびビデオパケットデータを担持するであろう。MAC層パケットは、無線リンクプロトコル(RLP)に従って構成されてよく、MAC・RLPパケットと称されてよい。PHY層モジュール32は、チャンネル16を横切る送信のために、MAC・RLPオーディオ-ビデオパケットをPHY層パケットに変換することを含んでよい。
【0022】
チャンネル16は、PHY層パケットをデコーダシステム14へと搬送する。チャンネル16は、エンコーダシステム12とデコーダシステム14の間の如何なる物理的接続であってもよい。例えば、チャンネル16は、ローカルエリアもしくは広域エリア有線ネットワークのような有線接続であってよい。或いは、ここで記載するように、チャンネル16はセルラー接続、衛星接続または光接続のような無線接続であってよい。チャンネル条件は、有線および無線チャンネルについての問題であり得るが、無線チャンネル16上で行われるモバイルVTアプリケーションについて特に問題が多い。
【0023】
この開示に従えば、ビデオパケタイザ24は、オーディオの送信を優先させるために、TRP/UDP/IP/PPP変換モジュール26に与えられる各ビデオパケットのサイズを制御する。特に、ビデオパケットは、各パケットが次の利用可能なMAC層パケットによって収容され得るようにサイズ設定される。ビデオパケットの制御されたサイズ設定は、チャンネル条件、大きなビデオパケット、またはそれらの両者により生じるオーディオ遅延を防止する。オーディオパケットが利用可能なとき、それは、MAC層モジュール30により発生された次に利用可能なMAC・RLPパケットに含めるために、RLP待ち行列の中に配置される。該オーディオパケットは、MAC・RLPパケット内にオーディオパケットの配置のためのスペースを許容するようにサイズ設定された、ビデオパケットと組み合わされてよい。
【0024】
ビデオパケタイザ24は、それがチャンネル条件に基づいてビデオパケットサイズを調節できる意味において、チャンネル適合性であるように構成される。このようにして、エンコーダシステム12は、チャンネル条件が劣悪であるときのオーディオ遅延を回避するために、オーディオパケットの送信を優先させることができる。同時に、ビデオパケタイザ24は、オーディオの優先が、パケット化されつつあるビデオパケットを生じさせないことを保証できる。換言すれば、ビデオパケタイザ24は、ビデオパケットを、1以上のオーディオパケットを次の利用可能なMAC・RPLパケットに含めることを許容するように充分に小さく、しかし、MAC・RLP中の過大なスペースを無駄にするほど小さくはないようにサイズ設定する。結局、ビデオパケタイザ24は、オーディオパケットの優先順位付けおよびビデオパケットの効率的送信の両者をサポートしてよい。
【0025】
デコーダシステム14のPHY層モジュール34は、PHY層パケットからMAC層パケットを同定し、該コンテンツをMAC・RLPパケットの中に再アセンブルする。MAC層モジュール36は、次いで、MAC・RLPパケットのコンテンツを再アセンブルして、RLP待ち行列38内に挿入するためのビデオおよびオーディオパケットを提供する。RTP/UDP/IP/PPPモジュール40は、添付のヘッダ情報を剥ぎ取り、ビデオパケットをビデオデコーダ42へ、またオーディオパケットをオーディオデコーダ44へと提供する。ビデオデコーダ42は、ビデオデータフレームをデコード化して、表示装置を駆動する際に使用するためのビデオデータのストリームを生じる。オーディオデコーダ44は、オーディオデータをデコード化して、例えばオーディオスピーカを介してユーザに提示するためのオーディオ情報を生じる。
【0026】
上記で述べたように、ビデオパケタイザ24は、RTP/UDP/IP/PPP変換モジュール26に提示されるビデオパケットのサイズを制御するために設けられる。ビデオパケタイザ24は、MAC・PLPパケットにおけるオーディオパケットの送信を優先させ、またビデオパケットがRLP待ち行列28を圧倒するのを防止するために、ビデオパケットのサイズを制御する。このようにして、VT会議のビデオ部分がチャンネル条件に起因して遅延を受け得るとしても、VT会議のオーディオ部分は、実質的な遅延を伴うことなく伝達されることができる。ビデオはチャンネル条件によって損なわれる可能性があるが、ビデオパケタイザ24は、VT会議の参加者が言葉の会話を円滑に行うことができることを保証する。
【0027】
ビデオパケタイザ24により適用されるパケット整形技術は、オーディオパケットの優先送信を保証するために、1以上のルールを適用してよい。例えば、一つのルールに従えば、RLP待ち行列28のコンテンツから生じた丁度次の利用可能なMAC・RLPパケットにおいて送られるべきである。オーディオフレームは、第一の周期的間隔でオーディオデコーダ22によって発生される。MAC・RLPパケットは、第二の周期的間隔でMAC層モジュールによって発生される。与えられた間隔で発生されたオーディオフレームは、MAC層モジュール30により発生された次の利用可能なMAC・RLPパケットの中に配置されるべきである。オプションとして、幾つかの実施形態においては、RLP待ち行列28の合計出力待ち行列サイズは、オーディオパケットサイズと共に、一つのMAC・RLPパケットにおいて運ぶことができるべきである。
【0028】
VTシーケンスの全てのパケットに関して種々のルールが適用されてよい。幾つかのビデオパケットは、本来的にオーディオおよびビデオが単一のMAC・RLPパケット中で運ばれることができることを保証するようなサイズであってよいが、他のビデオパケットはより大きくてよく、特にチャンネル条件が低下するときには、オーディオおよびビデオが一つのMAC・RLPパケット中で運ばれることができるのを保証するためにサイズの縮小を必要とするかもしれない。VTシーケンスの全てのパケットに関して該技術を適用することにより、ビデオのコンテンツが膨大であったり、またはチャンネル帯域幅が実質的に制限されるときでも、充分なスピーチコミュニケーションを保証することができる。
【0029】
RLP待ち行列28中への挿入のために、パケタイザ24によってRTP/UDP/IP/PPP変換モジュール26に提示される各ビデオパケットのサイズは制御される。上記のルールは、拡張的なビデオコンテンツによる連続するMAC・RLPパケットの消費によって、オーディオパケットが遅延されないことを保証する。オーディオが利用可能であるときは代りに、ビデオエンコーダ20からのビデオは、各MAC・RLPパケットがオーディオおよびビデオを運ぶのを可能にするように選択されたサイズで、パケットに分割される。各オーディオフレームは、RLP待ち行列28に提供されるオーディオパケットとして使用されてよい。或いは、幾つかの実施形態においては、オーディオパケットは連続する間隔で提供される複数のオーディオフレームを束ねてもよい。
【0030】
ビデオパケタイザ24は、幾つかの実施形態においては、連続的なオーディオフレームの間で発生されたMAC層パケットの推定チャンネルスループットに基づいて、各MAC層パケットのためのビデオパケットサイズを決定してよい。このスループットは、現在の無線チャンネル送信レート、無線ベースステーションの活動、および送信電力制限の1以上によって表されるような、チャンネル条件に基づいて推定されてよい。例えば、チャンネル条件は現在のMAC層データレート、逆活動(reverse activity;RA)ビット、および電力増幅器(PA)限界に基づいて決定されてよい。加えて、幾つかの実施形態において、ビデオエンコーダ20は更に、ビデオバッファー占有率に基づく適合性ソースレート制御を含んでよい。この場合、優先されたオーディオパケット化の必要性を仮定すれば、前記チャンネル条件が当該ビデオコード化レートをサポートしないなら、ソースビデオコード化レートはビデオエンコーダ20によって低減されてよい。
【0031】
図2は、過大なビデオコンテンツ、または劣悪なチャンネル条件に起因したオーディオ遅延を示す図である。図2に示すように、オーディオエンコーダ22はオーディオフレーム46A、46B、46C(纏めてフレーム46という)を発生し、またビデオエンコーダ20はビデオフレーム48A、48B、48C(纏めてフレーム48という)を発生する。一連の連続的なMAC・RLPパケット50A〜50F(纏めてMAC・RLPパケット50という)は、フレーム46および48から誘導されたオーディオパケットおよびビデオパケット(これらはRLP待ち行列28の中にバッファーされる)を搬送するために利用可能である。オーディオエンコーダ22による第一のオーディオフレーム46Aの発生に続いて、MAC層モジュール30によって発生された次の利用可能なMAC・RLPパケットは、パケット50Bである。パケット50Cもまた、必要であれば、第一のオーディオフレーム46Aを運ぶために使用することができる。しかし、RLP待ち行列28のコンテンツがビデオパケットによって圧倒されるならば、オーディオフレーム46Aは長時間に亘って配信されないかもしれない。
【0032】
各MAC・RLPパケット50は、RLチャンネル条件情報から誘導された関連のデータレートを有している。良好なRL条件下において、各MAC・RLPパケット50は、76.8キロビット/秒(Kbps)のデータレートを有する。しかしながら、劣悪なRLチャンネル条件下ではデータレートは変動し、19.2Kbps、または38.4Kbpsと低いことが多い。過大なビデオコンテンツ、劣悪なチャンネル条件、またはその両者は、オーディオパケットの送信における顕著な遅延を生じる可能性がある。過大なビデオパケットサイズは、特に低いデータレートに起因してRLスループットが低下するときには、RLを圧倒してオーディオ遅延を増大させる可能性がある。
【0033】
ビデオパケットは、未制御のままであれば、過大な量のMAC・RLPパケットスペースを消費してオーディオパケットの連続的送信の間に遅延を生じる可能性がある。幾つかの場合に、ビデオは幾つかの連続するMAC・RLPパケット50を消費して、オーディオが即座に送信されるのを妨げるかもしれない。各MAC・RLPパケット50は、オーディオおよびビデオパケット情報の組込みのために、概ね26.67msのスペースを提供する。図2の例において、大きなビデオフレーム48Aは、オーディオフレーム46Aと実質的に同じ時に発生される。このシナリオにおいて、連続的なビデオフレーム48A、48Bは、時間的には相互に113msで発生される。しかし、オーディオフレーム46B,46Cは、時間的には相互に僅か60msで発生される。
【0034】
良好なRL条件の下でさえも、オーディオフレーム46Aのため、並びにオーディオフレーム46Bおよび46Cのためのオーディオパケットを組込むために不充分なスペースが存在し得る。代りに、ビデオフレーム48Aに関連したビデオパケットは、MAC・RLPパケット50B〜50Fの殆どを消費し、顕著なオーディオ遅延を生じる可能性がある。この問題は、図2に示した劣悪なRLP条件の場合に示されるように、チャンネル条件が劣化するときには特に困難な問題である。種々のチャンネル条件下においてオーディオ遅延を緩和するために、図1のシステム10は、ビデオフレーム36から誘導されたビデオパケットのサイズを制御するビデオパケタイザ24を組込んでいる。VTシーケンスの全パケットに関してビデオ制限を適用することにより、ビデオパケタイザ24は、VTシーケンスに関連したオーディオが損なわれないことを保証することができる。
【0035】
図3は、固定長ビデオパケット整形のための技術を示す図である。固定長ビデオパケット整形は、オーディオ遅延の問題に対する部分的な解決策を提示する。しかし、固定長ビデオパケット整形はチャンネル条件を考慮しない。結局、RLスループットが減少するときには、ビデオは未だチャンネルを圧倒することができる。加えて、固定長パケット整形は、二つの連続するオーディオパケットの間のスループットを考慮せず、ビデオデータの過大パケット化または過小パケット化を生じる。
【0036】
図3の例においては、ビデオパケットのサイズは、60ms毎に、ビデオフレームを固定サイズの300バイトパケット52A、52B、52C(纏めてビデオパケット52という)に断片化することによって制御される。オーディオフレームは、60ms毎に、固定サイズの93バイトパケット54A、54B、54C(纏めてオーディオパケット54という)に断片化される。ビデオパケット52は、MAC・RLPパケット56内のオーディオデータパケット54の直後に送信される。正常な動作条件下では、固定長ビデオパケット化は、MAC・RLPパケット56内のオーディオパケット54の適時の送信を容易にする。
【0037】
図3に示されたアプローチは、オーディオパケットが、良好なRL条件下で遅延なく送信されることを保証する。しかし、RL条件が劣化すれば、固定された300バイトのビデオパケット52はRLを圧倒して、連続するオーディオパケット54の間に遅延を生じることができる。ビデオパケット52の固定長に起因して、RL条件における変化に反応する能力は存在しない。幾つかの場合に、良好なRL条件下において、ビデオデータは過小パケット化されて、各MAC・RLPパケットにより与えられるスペースの過小利用、および一般的なバンド幅の非効率性を生じる可能性がある。劣悪なRL条件下において、ビデオパケット52の固定されたサイズは、RLにとっては処理するのに大き過ぎて、オーディオ遅延を生じる可能性がある。この理由で、この開示は、全体のVTシーケンスのためのオーディオ品質を維持するために、ビデオコンテンツまたは帯域幅に応答して適合可能なサイズを有する調節可能な長さのビデオパケットを提案する。
【0038】
図4は、チャンネル適合性ビデオパケット整形のための技術を示す図である。図4の例においては、オーディオパケットが実質的な遅延を伴うことなく送信され得るように、ビデオパケットサイズはチャンネル条件に基づいて調節される。固定されたビデオパケットサイズの代りに、各ビデオパケットのサイズは、オーディオパケットのサイズおよびチャンネル条件に基づいてダイナミックに調節される。良好な条件下において、ビデオパケットサイズは増大し得るが、ビデオパケットがRLを圧倒してオーディオ遅延を導入するような点にまでは増大されない。劣悪なRL条件下では、パケット化されて次の利用可能なMAC/RLPパケットの中に配置されるべきオーディオフレームのための余裕を提供するために、ビデオパケットはサイズが減少される。
【0039】
図4に示すように、オーディオフレーム58A、58B、58C(纏めてオーディオフレーム58という)が利用可能であるとき、ビデオフレーム60A、60B、60C(纏めてビデオフレーム60という)は、それぞれのオーディオフレームが次の利用可能なMAC・RLPパケット62A、62B、62C(纏めてMAC・RLPパケット62という)の中に配置され得るようにサイズ設定される。図4に矢印で示すように、各オーディオフレーム58はパケット化され、次いで、MAC層モジュール30によって発生された次の利用可能なMAC・RLPパケットの中に含めるためにRLP待ち行列の中に配置され、オーディオパケットの送信の間の過大な遅延を排除する。参照番号64A、64B、64C(纏めて64という)は、ビデオパケットデータと共に、それぞれのMAC・RLPパケット62内に配置されたオーディオパケットを表す。参照番号66A〜66F(纏めて66という)は、オーディオパケットを伴ってまたは伴わずに、それぞれのMAC・RLPパケット62内に配置されたビデオパケットを表す。図4に示すように、各MAC・RLPパケットは、RLP待ち行列28のコンテンツに依存して、オーディオのみ、ビデオのみ、またはオーディオおよびビデオの両者を搬送してよい。しかし、各オーディオパケット間隔において、ビデオパケット62は、次の利用可能なMAC・RLPパケット62の中へのオーディオパケット64の組込みを許容するようにサイズ設定される。
【0040】
とりわけ、例えばチャンネル条件に起因して利用可能なRLレートが低下するに伴って、オーディオパケット58のサイズは、MAC・RLPパケット62のサイズに対して相対的に増大する。換言すれば、RLレートが低下するに伴って、ビデオパケットサイズが減少するので、各オーディオパケット58はMAC・RLPパケット62のより大きな部分を消費する。逆に、各ビデオパケット60は、RLレートが減少するに伴ってダイナミックに調節され、それがMAC・RLPパケット62のより小さい部分を消費するようになっている。この方法において、ビデオパケット69は、次の利用可能なMAC・RLPパケット62内での各オーディオパケット58の配置を許容するようにサイズ設定される。その結果は、オーディオ遅延を低減するように、オーディオに対してビデオよりも高い優先度が与えられることである。
【0041】
図5は、本開示の一実施形態に従って、チャンネル適合性ビデオパケット整形技術を実施するためのビデオ/オーディオコード化システム12を示すブロック図である。図5に示すように、コード化システム12は、ビデオエンコーダ20、オーディオエンコーダ22、ビデオバッファー68、オーディオバッファー70、ペイロードサイズ推定器72および帯域幅効率的なパケタイザ74を含むビデオパケタイザ24、RTP/UDP/IP/PPP変換モジュール26、RLP待ち行列28、並びに逆トラヒックチャンネル(RTC)MACユニット76を含んでいる。RTC・MACユニット76は、RL上での送信を行う通信装置が従うべき手順を提供するために、RTC・MACプロトコル314を実施する。便宜上の理由で、MAC層モジュール30およびPHY層モジュール32は図5には示されていない。説明するように、ペイロードサイズ推定器72は、1以上の入力に基づいて、各ビデオパケットのサイズを制御する。この入力はチャンネル条件、RLP待ち行列特性、およびオーディオパケットのサイズおよび状態に関連してよい。帯域幅効率的パケタイザ74は、最小ビデオパケットサイズに服するペイロードサイズ推定器により特定された推定ペイロードサイズに基づいて、ビデオパケットを発生する。
【0042】
ビデオバッファー68は、ビデオエンコーダ20から受信したビデオ情報をバッファーし、該ビデオ情報をビデオパケタイザ24に伝達する。オーディオバッファー70は、オーディオエンコーダ22からオーディオフレーム情報を受信して、該情報をRTP/UDP/IP/PPP変換モジュール26へと伝達する。オーディオパケットおよびビデオパケットは、相互に独立してRLP待ち行列29の中に挿入される:ビデオパケタイザ24により作製されるビデオパケットのサイズは、MAC層モジュール30(図5には示さず)によって作製された次の利用可能なMAC・RLPパケットの中に、オーディオパケットのための充分なスペースが存在することを保証する。特に、RLP待ち行列28は、ビデオパケットで圧倒されず、該RLP待ち行列の中のオーディオパケットが次のMAC・RLPパケットと共に送られ得ることを保証する。
【0043】
図5の例において、ペイロードサイズ推定器72は、オーディオパケットタイマー、オーディオ優先値MACPredNumberPlus、RLP待ち行列サイズ、およびチャンネル情報を含む幾つかの入力を受信する。オーディオパケットタイマーは、オーディオ情報がオーディオバッファー70において現在利用可能であるかどうかを示し、もしそうであれば、各オーディオフレームが配信されるタイミングを示す。オーディオフレームが20ms毎の間隔で配信されるならば、該オーディオパケットタイマーは、オーディオフレームが利用可能であるときは20msに設定されるであろう。幾つかの実施形態において、オーディオバッファー70は、単一のIPパケットの中への組み込みのために、連続するオーディオフレームを束ねるように構成されてよい。この場合、オーディオパケットタイマーは、前記オーディオパケットに束ねられたフレームの数に対応して、複数であってよい。換言すれば、該オーディオパケットタイマーは、束ねられたフレームの数に比例または関連する値を有してよい。例えば、三つのオーディオフレームが束ねられるとすれば、オーディオタイマーは60msに設定されてよい。従って、オーディオパケットタイマーはまた、RTP/UD/IP/PPPモジュール26を介してRLP待ち行列28の中に挿入するために、オーディオバッファー70によって発生されるオーディオパケットのサイズを指示する。
【0044】
オーディオ優先値MACPredNumberPlusは、オーディオおよびビデオの相対的な優先度を定義し、従ってオーディオおよびビデオに伴う遅延に影響する。例えば、MACPredNumberPlusは、優先値が小さいほどオーディオ遅延が低いように設定される。従って、MACPredNumberPlusが増大するに伴って、オーディオ遅延は増大し、ビデオ遅延は減少する。逆に、MACPredNumberPlusが減少するに伴って、オーディオ遅延は減少し、ビデオ遅延は増大する。従って、オーディオ遅延は、オーディオ優先値MACPredNumberPlusに追随する。ペイロードサイズ推定器72は、MACPredNumberPlusを使用して各ビデオパケットのサイズを制御し、以下で更に詳述するように、記載されたオーディオパケット遅延をもたらす。
【0045】
ペイロードサイズ推定器72により受信されたRLP待ち行列サイズは、RLP待ち行列28の中にバッファーされている現在のデータのサイズを表す。ペイロードサイズ推定器72は、該RLP待ち行列サイズを使用してビデオパケットのサイズを制御する。もし、RLP待ち行列28が比較的満杯であれば、ペイロードサイズ推定器72は、ビデオパケットのサイズを低い方に調節して、RLが圧倒されて過大なオーディオ遅延を生じるのを回避する。RLP待ち行列28の満杯度が低ければ、ペイロードサイズ推定器72は、未だオーディオパケットのための充分なスペースを提供しながら、ビデオパケットのサイズを増大することができる。RLP待ち行列サイズを用いれば、ペイロードサイズ推定器72は、RLP待ち行列28の満杯度の関数として、ビデオパケットサイズをダイナミックに調節することができる。待ち行列の満杯度は、過大なビデオコンテンツ、チャンネル条件の劣化、またはそれらの両方を示してよい。RLP待ち行列サイズの使用は、ペイロードサイズ推定器72が、ビデオコンテンツの過剰ロードまたはチャンネル条件の変化に反応できる方法の一つである。
【0046】
ペイロードサイズ推定器72はまた、RTC・MACユニット76によって提供されるチャンネル情報をモニターすることにより、より直接的にチャンネル条件の変化に反応してもよい。RTC・MACユニット76は、現在のMAC・RLレート、組合されたRAビット、およびヘッドルーム制限のようなチャンネル特性に関連する情報を発生させる。MAC・RLレートは、RL上で利用可能な現在の送信レートを指示する。RAビットは、関連の無線ベースステーションがビジーであるかどうかを指示する逆使用率ビットである。ヘッドルーム制限は、現在の送信電力に基づいて、送信において使用が許容される最大レートを示してよい。RAビットは、ベースステーションの不活動のためにRLが混雑しているか、または利用可能でないときを指示する。PA限界は、送信電力ヘッドルームを表し、またチャンネル条件が劣化したときを指示する。
【0047】
種々の入力に基づいて、ペイロードサイズ推定器72は、ペイロードサイズ推定値を発生させる。MACPredNumPlus優先度の値が、オーディオは高い優先度を与えられることを特定するならば、該ペイロードサイズ推定値は、オーディオパケットが次の利用可能なMAC・RLPパケットの中に含められるように選択される。帯域幅効率的なパケタイザ74は、ビデオバッファー68からビデオを受信し、ペイロードサイズ推定器72によって特定されたペイロードサイズ推定値および最小ビデオパケットサイズに基づいて、ビデオをパケット化する。最小ビデオパケットサイズは、パケタイザ24によって発生されるビデオパケットの最小サイズを表す。実際に、最小ビデオパケットサイズは、ビデオパケットサイズの細分性および帯域幅効率を制御する。より小さい最小ビデオパケットサイズ値の場合、ビデオパケット整形は、オーディオを適応させることによりオーディオ遅延を回避することに関してより効果的であるが、帯域幅効率は低い。より大きな最小ビデオパケットサイズ値の場合、ビデオパケット整形はオーディオ遅延を回避することにおいて効率的ではないが、より大きな帯域幅効率を提供する。
【0048】
図5に更に示すように、ビデオエンコーダ20は、ビデオバッファー68からのビデオバッファー占有値に応答するように構成されてよい。特に、幾つかの実施形態において、ビデオエンコーダ20は、ビデオバッファー占有率に基づいて、適合性ソースレート制御特徴を提供する。ビデオバッファー68が比較的満杯であるとき、ビデオエンコーダ20は、ビデオコード化レートを低下させることによって応答する。ビデオバッファー68の満杯度が低いとき、ビデオエンコーダ20は、ソースビデオコード化レートを増大させる。このようにして、チャンネル条件が現在のビデオコード化レートをサポートできないならばビデオコード化レートは低下される。この適合性ソースレート制御特徴は任意であるが、幾つかの応用においては望ましいものである可能性がある。
【0049】
例示の目的で、追加の実施上の詳細を説明する。斯かる詳細は例示的と看做されるべきであり、この開示に広く具体化され且つ記載された技術を制限するものではない。cdma2000 1x EV−DO Rel.0の実施のために、RLスループットはチャンネル条件に基づいて推定することができる。3GPP2の明細C.S0024−A(TIA IS−856−Aとも称する)は、第11頁〜第143頁、表11.9.6.1において、Kbpsでの送信レートで表された異なるチャンネル条件を与えられたMAC・RLPパケットについて、バイトでの最小および最大ペイロードサイズを特定している。表11.9.6.1を下記に再現する。
【表1】

【0050】
上記の表における各送信レベルが指標値で表されるならば、オーディオおよびビデオを含む各MAC・RLPパケットの最大ペイロードサイズは次の通りである:
最大ペイロードサイズ=2index+4−3
上記表現については、指標値1、2、3、4および5が、それぞれ、9.6、19.2、38.4、76.8および153.6Kbpsの送信レートレベルに割り当てられる。
【0051】
図6は、チャンネル条件の範囲に亘るチャンネル適応性ビデオパケット整形を示す図である。図6に示すように、オーディオフレーム58A、58B、58C(纏めてオーディオフレーム58という)、MAC・RLPパケット62A〜62F(纏めてMAC・RLPパケット62という)は、各々、関連のRL送信レートを有し、またそれらの送信レートに対応して、異なる最大ペイロードサイズを搬送することができる。例えば、MAC・RLPパケット62A、62Cおよび62Dは38.4KbpsのRL送信レートを有し、各々が125バイトの最大ペイロードサイズを搬送することができる。MAC・RLPパケット62Bは、76.8KbpsのRL送信レートを有し、253バイトの最大ペイロードサイズを搬送することができる。MAC・RLPパケット62Eおよび62Fは19.2KbpsのRL送信レートを有し、各々が61バイトの最大ペイロードサイズを搬送することができる。
【0052】
一つの例示的実施形態において、ペイロードサイズ推定器72の動作は、シュードコードにおけるアルゴリズムとして表現することができる。該アルゴリズムは以下の入力に依存する:即ち、RA・Bit、PA限界、RLレート、RLPQueueSize、AudioPacketSize、およびMACPredNumberPlusである。これらの入力は図5にも示されている。AudioPacketSizeは、ペイロードサイズ推定器72に適用されるオーディオパケットタイマーから誘導されてよい。先に述べたように、組合されたRAビットは、ベースステーション活動の状態を示す逆活動ビットであり、PA限界は、電力要件によって課される送信電力ヘッドルーム制限を表し、チャンネル条件が劣化したときには、RLレートがRLの送信レートであり、RLPQueueSizeはRLP待ち行列28の満杯度を示し、AudioPacketSizeは現在のオーディオパケット、即ち、次の利用可能なMAC・RLPパケットに加えられるべきオーディオパケットを示す。MACPredNumberPlusは、オーディオパケット vs.ビデオパケットに与えられるべき相対的優先度を示す。該アルゴリズムの出力は、VideoPayloadSizeである。
【0053】
該アルゴリズムの初期化のために、MACPredNumberは次のように設定される:
MACPredNumber
=floor((AudioFramesBundled*AudioFrameInterval)/26.67)+1+MACPredNumberPlus
MacPredNumberは、単一のオーディオフレームまたは束ねられたオーディオフレームの組を含むパケットを運ぶために必要な、MAC・RLPパケットの数を表す。AudioFrameIntervalは、オーディオフレームの間の時間間隔を表す。値26.67は、各MAC・RLPパケットのために配分された時間である。従って、もし三つのオーディオフレームが束ねられ、該オーディオフレーム間隔が20msであれば、MACPredNumberPlusはゼロであり、高いオーディオ優先度を示し、従ってMACPredNumberは3である。これは、それについてビデオペイロードサイズが予測されるであろうMAC・RPLパケットの予測された数が3であることを意味する。
【0054】
全ての束ねられたオーディオパケットについて、束ねられたオーディオパケットを送信した後に、ペイロードサイズ推定器72は、MACオーディオスループット決定を行う。MACスループット決定は、以下の擬似コードにより指示されるように進行してよい:
MACThroughput = 0;
MACRateIncrease = 1 - RABit;
MACPredRate = CurRate;
for (i = 0; i < MACPredNumber; i++)
{
MACPredRate = MIN(MIN(MACPredRate + MACRateIncrease, 4),
PALimit);
MACThroughput += (2MACPredRate+4-3);
}
上記MACスループット決定において、MACThroughputは、オーディオ送信のために必要とされるスループットであり、Macrateincreaseは、MAC・RLレートが逆活動に基づいて増大されるかどうかを示し、CurRateは現在のMAC・RLレートであり、MACPredRateは、指標値として表されたMAC・RLレートにおける増加の量である。上記で示したように、MACThroughputは、三つの予測されたMAC・RLPパケットの各々のために利用可能な最大ペイロードサイズである。
【0055】
各MAC・RLPパケットについて、最大ペイロードサイズMACThroughputが与えられると、ビデオペイロードサイズ推定器72は、最大ビデオペイロードサイズ(VideoPayloadSize)を次のようにして予測する:
VideoPayloadSize = MAX(MACThroughput - RLPQueueSize, 0)
VideoPayloadSize = MAX(VideoPayloadSize - 2*AudioPacketSize - 45, 0),
ここで、RLPQueueSizeは、RLP待ち行列28の満杯度を示し、またAudioPacketSizeは、次のMAC・RLPパケットに加えられるべきオーディオパケットのサイズを表す。値45は、RTP/UDP/IP/PPP変換モジュール26によって導入されたヘッダ情報の、RTP/UDP/IP/PPPオーバーヘッドを説明するバイトにおける固定された数である。この固定されたオーバーヘッド数の値は、他の実施においては異なることができる。
【0056】
図7は、チャンネル条件の範囲に亘るチャンネル適合性ビデオパケット整形を詳細に示す図である。ペイロードサイズ推定器72は、一部はRL送信レートによって表される変化するチャンネル条件に適合されて、RLP待ち行列28のコンテンツからMAC層モジュール30によって発生されるMAC・RLPパケットの中に組込むために提示されたビデオパケットペイロードのサイズを調節する。図7の例において、オーディオフレームは60msの間隔で発生される。この場合、次の三つのMAC・RLPパケットにおける利用可能なペイロードサイズに関する決定は、60ms毎に行われる。
【0057】
図7に示した最初の決定ポイント78において、現在のMAC・RLレートは38.4Kbpsを表すように3にインデックスされ、RAビットはゼロに設定され、PA限界は4に等しく、RLP待ち行列はX1バイトを含む。この場合、上記式に従えば、次の三つのMAC・RLPパケットの各々のスループットは253バイトと推定される。従って、次の三つのMAC・RLPパケットに亘る全体のスループットは、253+253+253バイトから、既にRLP待ち行列28に配置されたコンテンツX1をマイナスしたものである。従って、第一の決定ポイント50におけるMACThroughputは、253+253+253−X1バイトである。
【0058】
60ms後の第二の決定ポイント80において、現在のRLレートは再度3にインデックスされ、PA限界は4であるが、RAビットは0ではなく1に設定される。この場合、RAビットは、ベースステーションがビジーであり、次の三つのMAC・RLPパケットに亘る低下したスループットの予測をもたらす。特に、予測されたスループットMACThroughputは、125+125+125−X2バイトであり、ここでのX2は、第二の決定ポイント80の時点におけるRLP待ち行列28のコンテンツを表す。
【0059】
第二の決定ポイント78から60ms後の第三の決定ポイント82において、RAビットは0であるが、RLレートは2のインデックス値(19.2Kbps)に低下しており、PA限界は2のインデックス値に低下している。結局、次の三つのMAC・RLPパケットに亘る全体のスループットMACThroughputは、61+61+61−X3バイトであり、ここでのX3は第三の決定ポイント82の時点でのRLP待ち行列28のコンテンツを表す。
【0060】
MACThroughputが低下すると、オーディオパケットの優先度の結果として、ビデオパケットのために利用可能なスペースもまた減少する。この場合、ペイロードサイズ推定器72は、パケット化のためのビデオペイロードの推定サイズを減少させる。MACThroughputが増大するとき、ペイロードサイズ推定器72は、推定されたビデオペイロードサイズを増大することによって応答する。このようにして、ビデオパケタイザ24は、オーディオパケットを優先させるだけでなく、帯域幅効率的なビデオパケット化を支援する。
【0061】
図7の例において、決定は三つのMAC・RLPパケットについて一度に行われる。しかし、他の実施形態においては、より積極的な決定プロセスが適用されてよい。例えば、MACThroughputの推定のための決定は、20ms毎に行われてよい。最初の20ms間隔においては、三つのMAC・RLPパケットについての決定が行われてよい。次いで、第二の20ms間隔において、三つの連続的なMAC・RLPパケットの組における残りの二つのMAC・RLPパケットについての決定が行われてよい。最後に、次の20ms間隔の間に、三つのパケット組における最後のMAC・RLPパケットについての決定が行われてよい。この場合、決定は、60ms間隔のコースに亘って行われ、チャンネル条件またはRLP待ち行列の満杯度において生じた可能性のある何れかの変化について20ms毎に更新される。60ms後に、当該プロセスは次の60msおよび次の三つのMAC・RLPパケットについて反復され、繰り返し続けられる。
【0062】
MACThroughputが推定されたら、与えられたビデオペイロードサイズ推定器72が、上記で説明したように、与えられたMACThroughput値を収容できるビデオペイロードサイズを推定する。次いで、帯域幅効率的パケタイザ74は、この推定されたビデオペイロードサイズおよび最小ビデオパケットサイズ値を使用して、RTP/UDP/IP/PPP変換モジュール26に提示するためのビデオパケットを発生する。次に、帯域幅効率的パケタイザ74の動作を更に詳細に説明する。
【0063】
一般に、ビデオパケット化は、もしMPEG4ビデオコードかが使用されるならば、2000年11月付のコメントについてのネットワーク作業グループ要求(RFC)3016に従うべきであり、或いは、もしITUH.263ビデオコード化が使用されるならば、1997年9月付けのRFC2190または1998年10月付けのRFC2429に従うべきである。RFC3016は、MPEG4ストリームについてのRTPペイロードフォーマットを概説している。RFC2429は、ITUH.263ストリームの1998年版についてのRTPペイロードフォーマットを概説しており、またRFC2190は、ITUH.263ストリームの初版についてのRTPペイロードフォーマットを概説しておいる。
【0064】
RFC3016は、ビデオパケットが、(a)ビデオオブジェクト平面(VOP)ヘッダまたはビデオパケット(VP)ヘッダを用いて開始しなければならず(これらの何れかが存在するとき)、(b)以前のルールが満たされれば1以上のVPヘッダを含むことができ、(c)VOPおよびVPヘッダの何れも伴わないビデオデータのみをその中に含むことができ、また(d)二つのビデオフレームに亘ってデータを含むことができないことを特定している。RFC2190は、ビデオパケットが、(a)映像開始コード(PSC)またはブロックの群(GOB)を用いて開始しなければならず、(b)GOBヘッダまたは完全なGOBを持たなければならないことはなく、(c)GOBバイト整列されねばならないことはないことを特定している。RFC2429は、ビデオパケットが、(a)バイト整列されたPSC、GOBヘッダ、スライスヘッダ、およびスライスの末端(EOS)マーカーを用いて開始することができ、また(b)如何なる同期コードを用いても開始しないが、ビデオパケットの中央に同期コードを許容するフローオンパケットであることができる旨を特定している。
【0065】
上記の要件が与えられれば、ビデオエンコーダ20は、ビデオデータを、MPEG4についてはVOSおよびVP、或いはH.263についてはPSC、GOB、およびSSCの形態で、ビデオバッファー68の中に挿入するように構成されてよい。MPEG4に従うエンコーダは、VOPまたはVPのユニットにおいてデータを発生する。H.263エンコーダは、PSC、GOBまたはSSCのユニットにおいてデータを発生し、GOBはバイト整列される。RFC2190が使用されるときは、モードAがデフォルトである。
【0066】
例示的実施形態において、帯域幅効率的パケタイザ60の動作は、以下の入力を使用するアルゴリズムとして表現することができる:即ち、VideoDataInBuffer、EstimatedVideoPayloadSize、minVPSizeである。VideoDataInBufferは、ビデオバッファー68におけるビデオのサイズを表す。EstimatedVideoPayloadSizeは、ペイロードサイズ推定器72によって決定された推定ビデオペイロードサイズを表す。値minVPsizeは、パケタイザ60によって発生されるべき最小ビデオパケットサイズであり、細分性および帯域効率を制御するように働く。帯域効率的パケット化アルゴリズムの出力は、RTP/UDP/IP/PPP変換モジュール26に提示するための1以上のビデオパケットである。一つの例示的実施形態において、帯域幅効率的パケタイザ74の動作は、以下の擬似コードによって表される:
【数1】

【0067】
上記の擬似コードによって表されるように、帯域幅効率的パケタイザ74は、ペイロードサイズ推定器72によって与えられるEstimatedVideoPayloadSizeおよびminVPSizeに基づいて、ビデオパケットを生じる。RemainingVideoPayloadSizeは、ビデオパケットを発生している間の如何なる時点においても利用可能なペイロードの量を表す。最初に、RemainingVideoPayloadSizeは、ビデオペイロードサイズ推定器72によって与えられる全体のEstimatedVideoPayloadSizeに等しい。VideoPayloadSizeは、パケットにおけるビデオペイロードの実際のサイズを表し、最初はゼロに設定される。VideoPayloadData[]は、ビデオバッファー68におけるビデオデータ切片のアレイを同定する。
【0068】
パケタイザ74は、先ず、RemainingVideoPayloadSizeがminVPSize/2よりも小さいかどうかを決定する。もしそうならば、RemainingVideoPayloadSizeはゼロに設定される。或いは、RemainingVideoPayloadSizeがminVPSizeよりも小さければ、RemainingVideoPayloadSizeの値は、minVPSizeに等しく設定される。次いで、RemainingVideoPayloadSizeがゼロに等しく、またはVideoDataInBufferがゼロであれば、次の利用可能なMAC・RLPパケットの中にスペースが残っていないか、またはビデオバッファー68の中にビデオが残っていないので、該プロセスはリセットされる。
【0069】
VideoInBufferのサイズが、RemainingVideoPayloadSizeプラスminVPSizeよりも大きいか、またはこれに等しければ、パケタイザ74は次に、RemainingVideoPayloadSizeがminVPsize/2よりも大きいかまたはこれに等しいかどうかを決定する。もしそうであれば、パケタイザ74は、RFC3016またはRFC2429が利用可能であるかどうかを決定する。RFC3016またはRFC2429が何れも該当しなければ、パケタイザ74は、RFC2190が利用可能であるかどうか、即ち、ITU H.263の初版のためのRTPペイロードフォーマットが当てはまるかどうかを決定する。
【0070】
RFC3016またはRFC2429が該当すれば、パケタイザ74は、開始アドレスVideoPayloadDataおよびオフセットVideoPayloadSizeによって決定されるように、ビデオバッファー68から、VideoDataInBufferによって同定される入力バッファへとビデオをコピー(memcpy)する。最初に、VideoPayloadSizeはゼロに設定される。ビデオバッファー68からコピーされたビデオの量は、RemainingVideoPayloadSizeに等しく、これは最初にEstimatedVideoPayloadSizeに設定される。次いで、パケタイザ74は、VideoPayloadSizeを、RemainingVideoPayloadSizeに等しくなるように調節する。次に、パケタイザ74は、ビデオデータを入力バッファーから、RemainingVideoPayloadSizeによって決定された量で、オフセットRemainingVideoPayloadサイズによって同定されたアドレスへとコピーする。VideoDataInBufferのコンテンツは、次いでパケット化のために断片化される。
【0071】
RFC2190が当てはまるならば、パケタイザ74は、出発アドレスVideoPayloadDataおよびオフセットVideoPayloadSizeによって決定されるように、ビデオバッファーからVideoDataInBufferによって同定される入力バッファーへとビデオをコピーする(memcpy)。ここでも、VideoPayloadSizeは最初にゼロに設定される。ビデオバッファー68からコピーされたビデオの量は、VideoDataInBufferのサイズに等しい。次いで、VideoPayloadSizeは、VideoDataInBufferのサイズに等しくされる。
【0072】
RFC3016/RFC2429動作またはRFC2190動作の何れかを出るとき、パケタイザ74は次いで、VideoPayloadSizeの現在の値に等しいペイロードサイズで、VideoPayloadDataからVideoPacketを発生させる。次いで、RemainingVideoPayloadSizeの値はゼロに設定される。この点において、RTP/UDP/IP/PPP変換モジュール26に提示するために、ビデオパケットはパケタイザ74によって既に発生されている。RemainingVideoPayloadSizeがminVPSizeよりも小さくなく、RemainingVideoPayloadSizeはゼロに等しくなく、VideoDataInBufferはゼロであり、VideoDataInBufferのサイズはRemainingVideoPayloadSize+minVPSize以上でないならば、パケタイザ74は、アドレスVideoPayloadDataプラスVideoPayloadSizeのオフセットを使用して、バッファー68からVideoDataInBufferへとデータをコピーする。この場合、コピーされるデータの量はVideoPayloadSizeに等しい。次いで、パケタイザ74は、VideoPayloadSizeをVideoDataInBufferのサイズに等しく設定する。
【0073】
パケタイザ74は、次に、RemainingVideoPayloadSizeを、RemainingVideoPayloadSizeマイナスVideoBufferSizeの最大値、およびゼロに設定する。VideoBufferSizeは、ビデオバッファー68のサイズを表す。ビデオバッファー68の中にそれ以上データが存在しなければ、または現在の時刻(TS)が次のTSに等しくなければ、またはRemainingVideoPayloadSizeがゼロに等しければ、またはVideoDataInBufferが断片化されれば、パケット74は、VideoPayloadDataから、VideoPayloadSizeのペイロードサイズを備えた一つのVideoPacketを発生させ、またVideoPayloadSizeをゼロに設定する。或いは、ビデオバッファー中にデータが幾つか存在し、またはゼロでそれ以上のデータが存在しなければ、パケタイザ74は、次のフレームGOB、またはビデオバッファー68中のスライスユニットを取得するように、VideoDataInBufferを設定する。
【0074】
図8は、本開示の一実施形態に従ったチャンネル適合性ビデオパケット整形のための技術を示すフロー図である。図8に示すように、オーディオバッファー70はオーディオパケットを発生する(84)。RTP/UDP/IP/PPPモジュール26は、オーディオパケットをRLP待ち行列28に加える(86)。ペイロードサイズ推定器72は、RLP待ち行列サイズを決定し(88)、オーディオ/ビデオ優先値を決定し(90)、またチャンネル条件を決定する(92)。これらの決定に基づいて、ペイロードサイズ予測器72は、発生されるべき次のビデオパケットのペイロードサイズを予測する(94)。帯域幅効率的パケタイザ74はビデオパケットを発生させ(96)、また推定されたペイロードサイズおよび最小ビデオパケットサイズに基づいてビデオパケットのサイズを設定する(98)。帯域幅効率的パケタイザ74は、ビデオパケットをRLP待ち行列28に加える(100)。MAC層モジュール30は、RLP待ち行列28のコンテンツからMAC・RLPパケットを発生する(102)。
【0075】
この開示に記載されるチャンネル適応性ビデオパケット整形は、より高いオーディオデータ優先度をサポートする。チャンネル適応性ビデオパケット整形がなければ、オーディオは、大きなビデオパケットによって屡々遅延される。この開示に記載されたパケット整形技術に従うビデオフレームの断片化は、次の利用可能なMAC・RLPパケット中で送信されるべきオーディオパケットのためのスペースを提供する。固定長さのビデオパケットサイズ設定は多くの場合にオーディオ遅延を低下させることができるが、このようなアプローチはチャンネル条件に適合せず、帯域幅消費に関して非効率的であり得る。チャンネル適合性ビデオパケット整形は、オーディオおよびビデオデータを優先付けするための融通性を提供する。オーディオ/ビデオ優先値(MACPredNumberPlus)および最小ビデオパケットサイズ(minVPSize)は、オーディオ優先およびビデオ優先の間の望ましいトレードオフを達成するように特定することができる。
【0076】
加えて、チャンネル適合性パケット整形は、ほぼ一定のオーディオ遅延特性を提供して、劣悪なチャンネル条件にもかかわらず円滑なオーディオ変換をもたらすことができる。幾つかの場合、オーディオ遅延特性はビデオを伴わない特性に匹敵し得るものである。ビデオスループットは、オーディオスループットおよびチャンネル条件に適合可能である。特に、ビデオスループットは、利用可能な帯域幅に従って適合的に変化されることができ、またビデオスループットは、オーディオスループットが減少するときに増加することができる。有利なことに、チャンネル適合性ビデオパケット整形は低い複雑さで実施され易く、幾つかの実施形態では、この開示に示されるように、僅かなラインのコードを必要とするに過ぎない。また、殆どの実施形態において、デコード化システム14を改変する必要はない。
【0077】
この開示に記載された技術は、一般的目的のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、アプリケーション特異的集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の等価な論理装置内で実施されてよい。例えば、ビデオエンコーダシステム12、並びにその部品およびモジュールは、デジタル信号プロセッサ(DSP)または他の処理装置上で実行されるコード化プロセス、またはコード化/デコード化(CODEC)プロセスの一部として実施されてよい。従って、モジュールとして記載された部品は、斯かるプロセスまたは別のプロセスのプログラム可能な特徴を形成してもよい。ビデオエンコーダシステム12は、命令およびデータを保存するための専用のメモリー、並びに専用のハードウエア、ソフトウエア、ファームウエア、またはそれらの組合せを有してよい。ソフトウエアにおいて実施されるときは、当該技術は、ランダムアクセスメモリー(RAM)、リードオンリーメモリー(ROM)、不揮発性ランダムアクセスメモリー(NVRAM)、電気的に消去可能なプログラマブルリードオンリーメモリー(EEPROM)、フラッシュメモリー等のような、コンピュータ読み取り可能な媒体上の命令として実現される。これらの命令は、1以上のプロセッサに対して、この開示に記載された機能の一定の側面を実行させる。
【0078】
種々の実施形態を説明してきた。これら実施形態および他の実施形態は、特許請求の範囲内に含まれるものである。

【特許請求の範囲】
【請求項1】
オーディオパケットを発生させることと;
無線チャンネルのスループットを推定することと;
該推定されたスループットに基づいて決定されたビデオパケットサイズを備えたビデオパケットを発生させることと
を含んでなる方法。
【請求項2】
請求項1に記載の方法であって、前記ビデオパケットサイズは、前記推定されたスループットおよび前記オーディオパケットのサイズに基づいて決定される方法。
【請求項3】
請求項1に記載の方法であって、更に、前記オーディオパケットおよび前記ビデオパケットを出力待ち行列の中に配置することを含んでなり、前記ビデオパケットサイズは前記推定されたスループット、前記オーディオパケットのサイズ、および前記ビデオパケットの前記出力待ち行列の中への配置に先立って前記出力待ち行列の中にバッファーされたデータのサイズに基づいて決定される方法。
【請求項3】
請求項1に記載の方法であって、更に、前記オーディオパケットおよび前記ビデオパケットを出力待ち行列の中に配置することと、前記出力待ち行列のコンテンツの少なくとも幾つかに基づいて、媒体アクセス制御(MAC)層パケットを発生させることを含んでなる方法。
【請求項4】
請求項1に記載の方法であって、更に、第一の周期的間隔でオーディオフレームを受信することと、第二の周期的間隔で媒体アクセス制御(MAC)層パケットを発生させることを含んでなり、オーディオパケットを発生させることは、前記オーディオフレームの各々のためのオーディオパケットを発生させること、および該オーディオパケットを次の利用可能なMAC層パケットに加えることを含む方法。
【請求項5】
請求項1に記載の方法であって、更に、第一の周期的間隔でオーディオフレームを受信することと、第二の周期的間隔で媒体アクセス制御(MAC)層パケットを発生させることを含んでなり、オーディオパケットを発生させることは、少なくとも二つの前記オーディオフレームを束ねるオーディオパケットを発生させること、および該オーディオパケットを次の利用可能なMAC層パケットに加えることを含む方法。
【請求項6】
請求項1に記載の方法であって、更に、出力待ち行列にオーディオパケットおよびビデオパケットを配置することと、前記出力待ち行列のコンテンツの少なくとも幾つかに基づいて媒体アクセス制御(MAC)層パケットを発生させることを含んでなり、前記ビデオパケットサイズは前記オーディオパケットのサイズ、前記予測されたスループット、および前記出力待ち行列の中への前記ビデオパケットの配置に先立って前記出力待ち行列の中にバッファーされたデータのサイズに基づいている方法。
【請求項7】
請求項1に記載の方法であって、更に、1以上の現在の無線チャンネル送信レート、無線ベースステーションの活動、および相威信電力制限に基づいて前記スループットを予測することを含んでなる方法。
【請求項8】
請求項1に記載の方法であって、前記ビデオパケットサイズは、前記無線チャンネル上での前記オーディオパケットの送信における実質的遅延を回避するために充分に小さい方法。
【請求項9】
請求項1に記載の方法であって、更に、複数のビデオフレームを受信することと、パケット化されないビデオフレームデータの量に基づいてビデオコード化レートを調節することを含んでなる方法。
【請求項10】
請求項1に記載の方法であって、前記ビデオパケットサイズは、少なくとも一部は、ビデオパケットに対するオーディオパケットの優先性を付与する優先値に基づいて決定され、また与えられた予測スループットについての前記ビデオパケットサイズは、前記優先値が減少するに伴って増大する方法。
【請求項11】
請求項1に記載の方法であって、前記ビデオパケットサイズは最小ビデオパケットサイズ以上である方法。
【請求項12】
請求項1に記載の方法であって、更に、前記オーディオパケットおよび前記ビデオパケットに基づいて物理層パケットを発生させることと、モバイル無線テレビ電話会議をサポートするために該物理層パケットを遠隔装置に送信することを含んでなる方法。
【請求項13】
請求項12に記載の方法であって、前記物理層パケットは、実質的にcdma2000・1×EV−DOリリース0標準に従う方法。
【請求項14】
オーディオパケットを発生させるオーディオエンコーダと;
前記オーディオデータを受信してオーディオパケットを出力するオーディオバッファーと;
ビデオデータを発生するビデオエンコーダと;
無線チャンネルのスループットを推定し、該推定されたスループットに基づいて決定されたビデオパケットサイズを備えた前記前記ビデオデータから、ビデオパケットを発生するパケタイザと
を含んでなるシステム。
【請求項15】
請求項14に記載のシステムであって、前記ビデオパケットサイズは、前記推定スループットおよび前記オーディオパケットのサイズに基づいて決定されるシステム。
【請求項16】
請求項14に記載のシステムであって、更に、オーディオパケットおよびビデオパケットを受信する出力待ち行列を具備し、前記ビデオパケットサイズは、前記推定スループット、オーディオパケットのサイズ、および前記ビデオパケットの前記出力待ち行列の中への配置に先立って前記出力待ち行列内にバッファーされたデータのサイズに基づいて決定されるシステム。
【請求項17】
請求項14に記載のシステムであって、更に、オーディオパケットおよびビデオパケットを受信する出力待ち行列と、前記出力待ち行列のコンテンツの少なくとも幾つかに基づいてMAC層パケットを発生する媒体アクセス制御(MAC)層モジュールを具備するシステム。
【請求項18】
請求項14に記載のシステムであって、前記オーディオバッファは、第一の周期的間隔でオーディオフレームを受信し、該オーディオフレームの各々についてオーディオパケットを発生し、また前記MAC層モジュールは、第二の周期的間隔で媒体アクセス制御(MAC)層パケットを発生し、次の利用可能なMAC層パケットに前記オーディオパケットを加えるシステム。
【請求項19】
請求項14に記載のシステムであって、前記オーディオバッファーは、第一の周期的間隔でオーディオフレームを受信し、該オーディオフレームの少なくとも二つを束ねてオーディオパケットを形成し、前記MAC層モジュールは、第二の周期的間隔で媒体アクセス制御(MAC)層パケットを発生し、次の利用可能なMAC層パケットに前記オーディオパケットを加えるシステム。
【請求項20】
請求項14に記載のシステムであって、前記パケタイザは、1以上の現在の無線チャンネル送信レート、無線ベースステーション活動、および送信電力制限に基づいて、前記スループットを推定するシステム。
【請求項21】
請求項14に記載のシステムであって、前記ビデオパケットサイズは、前記無線チャンネル上での前記オーディオパケットの送信における実質的遅延を回避するために充分に小さいシステム。
【請求項22】
請求項14に記載のシステムであって、前記ビデオエンコーダは、複数のビデオフレームを発生し、またパケット化されていないビデオフレームデータの量に基づいてビデオコード化レートを調節するシステム。
【請求項23】
請求項14に記載のシステムであって、前記パケタイザは、少なくとも一部は、前記ビデオパケットに対する前記オーディオパケットへの優先性を与える優先値に基づいてビデオパケットサイズを決定し、与えられた推定スループットについての前記ビデオパケットサイズは前記優先値が減少するに伴って増大するシステム。
【請求項24】
請求項14に記載のシステムであって、前記ビデオパケットサイズが最小ビデオパケットサイズ以上であるシステム。
【請求項25】
請求項1に記載のシステムであって、更に、前記オーディオパケットおよびビデオパケットに基づいて物理層パケットを発生し、モバイル無線テレビ電話会議をサポートするために、該物理層パケットを遠隔装置へと送信する物理層モジュールを含んでなる装置。
【請求項26】
請求項25に記載のシステムであって、前記物理層パケットが、実質的にcdma2000・1×EV−DOリリース0標準に従うシステム。
【請求項27】
コンピュータ読み取り可能な媒体であって、プロセッサに対して、
オーディオパケットを発生させ;
無線チャンネルのスループットを推定させ;また
該推定されたスループットに基づいて決定されたビデオパケットサイズを備えたビデオパケットを発生させる
ための命令を含んでなる媒体。
【請求項28】
請求項27に記載のコンピュータ読み取り可能な媒体であって、更に、前記予測されたスリープットおよび前記オーディオパケットのサイズに基づいて、プロセッサにビデオパケットサイズを決定させるための命令を含んでなる媒体。
【請求項29】
請求項27に記載のコンピュータ読み取り可能な媒体であって、更に、前記予測されたスループットおよび前記オーディオパケットのサイズに基づいて、プロセッサに対し、前記オーディオパケットおよび前記ビデオパケットを出力待ち行列の中に配置させるための命令を含んでなり、前記ビデオパケットサイズは前記推定スループット、前記オーディオパケットのサイズ、および前記出力待ち行列における前記ビデオパケットの配置に先立って前記出力待ち行列中にバッファーされたデータのサイズに基づいて決定される媒体。
【請求項30】
請求項27に記載のコンピュータ読み取り可能な媒体であって、更に、プロセッサに対して、前記オーディオパケットおよびビデオパケットを出力待ち行列の中に配置させ、且つ前記出力待ち行列のコンテンツの少なくとも幾つかに基づいて媒体アクセス制御(MAC)層パケットを発生させるための命令を含んでなる媒体。
【請求項31】
請求項27に記載のコンピュータ読み取り可能な媒体であって、更に、プロセッサに対して、第一の周期的間隔でオーディオフレームを受信させ、且つ第二の周期的間隔で媒体アクセス制御(MAC)層パケットを発生させるための命令を含んでなり、オーディオパケットの発生が、前記オーディオフレームの各々のためのオーディオパケットの発生を含んでおり、また該オーディオパケットを次の利用可能なMAC層パケットに追加する媒体。
【請求項32】
請求項27に記載のコンピュータ読み取り可能な媒体であって、更に、プロセッサに対して第一の周期的間隔でオーディオフレームを受信させ、且つ第二の周期的間隔で媒体アクセス制御(MAC)層パケットを発生させるための命令を含んでなり、オーディオパケットの発生は少なくとも二つのオーディオフレームを束ねるオーディオパケットの発生を含み、また該オーディオパケットを次の利用可能なMAC層パケットに追加する媒体。
【請求項33】
請求項27に記載のコンピュータ読み取り可能な媒体であって、更に、プロセッサに対して、現在の無線チャンネル送信レート、無線ベースステーション活動、および送信電力k制限の1以上に基づいてスループットを推定させるための命令を含んでなる媒体。
【請求項34】
請求項27に記載のコンピュータ読み取り可能な媒体であって、前記ビデオパケットサイズは、前記無線チャンネル上での前記オーディオパケットの送信における実質的な遅延を回避するために充分に小さい媒体。
【請求項35】
請求項27に記載のコンピュータ読み取り可能な媒体であって、更に、前記プロセッサに対して、複数のビデオフレームを受信させ、且つパケット化されないビデオフレームデータの量に基づいてビデオコード化レートを調節させるための命令を含んでなる媒体。
【請求項36】
請求項27に記載のコンピュータ読み取り可能な媒体であって、前記ビデオパケットサイズは、少なくとも一部は、前記オーディオパケットに対して前記ビデオパケットを凌駕する優先性を付与する優先値に基づいて決定され、与えられた推定スループットについての前記ビデオパケットサイズは、前記優先値が減少するに伴って増大する媒体。
【請求項37】
請求項27に記載のコンピュータ読み取り可能な媒体であって、前記ビデオパケットサイズが最小ビデオパケットサイズ以上である媒体。
【請求項38】
請求項27に記載のコンピュータ読み取り可能な媒体であって、更に、プロセッサに対して、前記オーディオパケットおよび前記ビデオパケットに基づいて物理層パケットを発生させ、且つモバイル無線テレビ電話会議をサポートする遠隔装置へと前記物理層パケットを送信させるための命令を含んでなる媒体。
【請求項39】
請求項38に記載のコンピュータ読み取り可能な媒体であって、前記物理層パケットが、cdma2000・1×EV−DOリリース0標準に従う媒体。
【請求項40】
オーディオパケットを発生させるための手段と;
無線チャンネルのスループットを推定するための手段と;
該推定されたスループットに基づいて決定されたビデオパケットサイズを備えたビデオパケットを発生させるための手段と
を含んでなるシステム。
【請求項41】
請求項40に記載のシステムであって、前記ビデオパケットサイズが、前記推定されたスループットおよび前記オーディオパケットのサイズに基づいて決定されるシステム。
【請求項42】
請求項40に記載のシステムであって、更に、前記オーディオパケットおよび前記ビデオパケットを出力待ち行列の中に配置するための手段を含んでなり、前記ビデオパケットサイズは、前記推定されたスループット、前記オーディオパケットのサイズ、および前記出力待ち行列の中への前記ビデオパケットの配置するに先立って前記出力待ち行列中にバッファーされたデータのサイズに基づいて決定されるシステム。
【請求項43】
請求項40に記載のシステムであって、更に、前記オーディオパケットおよび前記ビデオパケットを出力待ち行列の中に配置することと、前記出力待ち行列のコンテンツの少なくとも幾つかに基づいて、媒体アクセス制御(MAC)層パケットを発生させることと、を含むシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−170120(P2012−170120A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−91847(P2012−91847)
【出願日】平成24年4月13日(2012.4.13)
【分割の表示】特願2008−533677(P2008−533677)の分割
【原出願日】平成18年9月29日(2006.9.29)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WCDMA
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】