【文献】
Yuan Zhang et al.,Joint Source-Channel Rate-Distortion Optimizationfor H.264 Video Coding Over Error-Prone Networks,IEEE Transactions on Multimedia,IEEE,2007年 4月,Vol.9, No.3,pp.445-454
【文献】
Chih-Ming Chen et al.,Adaptive error-resilience transcoding using prioritized intra-refresh for video multicast over wireliss network,SIGNAL PROCESSING: IMAGE COMMUNICATION,ELSEVIER SCIENCE PUBLISHERS,2007年 3月 1日,Vol.22, No.3,pp.277-297
【文献】
Yuan Zhang et al.,Joint Data Partition and Rate-Distortion Optimized Mode Selection for H.264 Error-Resilient Coding,2006 IEEE Workshop on Multimedia Signal Processing,IEEE,2006年10月,pp.248-251
【文献】
Yuan Zhang et al.,Error resilience video coding in H.264 encoder with potential distortion tracking,2004 International Conference on Image Processing (ICIP),IEEE,2004年10月,Vol.1,pp.163-166
【文献】
Abdullah AlWehaibi et al.,COMPUTATION OF RESIDUAL PACKET LOSS PROBABILITY IN A BINARY MULTICAST TREE,PROCEEDINGS of CANADIAN CONFERENCE ON ELECTRICAL AND COMPUTER ENGINEERING (CCECE 2003),IEEE,2003年 5月 4日,Vol.2,pp.1013-1016
【文献】
Thomas Stockhammer et al.,Rate-Distortion Optimization for JVT/H.26L Video Coding in Packet loss Enviroment,INTERNATIONAL WORKSHOP ON PACKET VIDEO,2002年 4月24日,pp.1-12
【文献】
Rui Zhang et al.,Video coding with optimal inter/intra-mode switching for packet loss resilience,IEEE Journal on Selected Areas in Communications,IEEE,2000年 6月,Vol.18, No.6,pp.966-976
(58)【調査した分野】(Int.Cl.,DB名)
前記チャネルの各々を介する損失の個別の確率を決定するステップと、前記個別の確率に基づいて集計確率を決定するステップとを有し、前記歪みの集計推定値は、前記集計確率に基づいている、請求項1または2に記載の方法。
当該方法は、前記チャネルの各々に関して見込まれる損失に起因して生じるおそれがある誤り伝搬歪みの個別の推定値を決定するステップを有し、前記誤り伝搬歪みの集計推定値は、前記誤り伝搬歪みの個別の推定値を集計することにより決定される、請求項1−4のうち何れか1項に記載の方法。
当該方法は、符号化モードの選択各々の後に前記誤り伝搬マップを更新することにより、前記チャネルの各々に対する個別の誤り伝搬歪みマップを維持するステップを有し、前記歪みの個別の推定値は、前記歪みマップ各々から決定される、請求項5に記載の方法。
前記チャネル1つ以上のうちの各々に対する前記誤り伝搬歪みの個別の推定値は、前記受信端末各々からのフィードバックに基づいている、請求項5または6に記載の方法。
前記フィードバックは、先行するフレームの少なくとも一部が受信されたという肯定応答と、前記先行するフレームの少なくとも一部が受信されなかったというレポートとのうちの一方を含む、請求項7に記載の方法。
【背景技術】
【0002】
符号化されるビデオデータのストリームは、
図1aに概略的に例示されている。ストリームは、1つずつが異なったそれぞれの時点でのビデオ画像を表現する複数のフレーム(F)を備える。当業者によく知られているように、符号化の目的のため、各フレーム(F)は、部分に分割され、各部分は、より小さい下位部分にさらに再分割されることがあり、各部分または下位部分は、複数の画素を備える。たとえば、ある用語によれば、符号化されるビデオストリームの各フレームは、マクロブロック(MB)に分割され、各マクロブロックは、ブロックまたはサブブロック(b)に再分割され、各ブロックまたはサブブロックは、複数の画素を備える。各フレームは、独立に復号化可能なスライス(S)に分割されることもあり、各スライスは、1つ以上のマクロブロックを備える。注意すべきことは、
図1aに示された分割が例示の目的のための概略図に過ぎないことであり、これらの分割は、何らかの実際の符号化スキームに対応することが必ずしも意図されていないこと、たとえば、各フレームがより多数のマクロブロックを含んでいる可能性が高いことが認められるであろう。
【0003】
ビデオ符号化が採用されることがある実例通信システムは、
図2のブロック図に概略的に例示されている。通信システムは、第1の送信端末12と、第2の受信端末22とを備える。たとえば、各端末12、22は、携帯電話機もしくはスマートフォン、タブレット、ラップトップコンピュータ、デスクトップコンピュータ、または、テレビジョンセット、セット・トップ・ボックス、ステレオシステムなどのようなその他の家電製品を備えることがある。第1および第2の端末12、22は、それぞれが通信ネットワーク32に動作可能に結合し、第1の送信端末12は、それによって、第2の受信端末22によって受信されるものである信号を送信するように配置構成されている。当然ながら、送信端末12は、受信端末22から信号を受信する能力を備えることもあり、逆もまた同様であるが、説明の目的のため、送信は、本書では、第1の端末12の立場から表現され、受信は、第2の端末22の立場から表現されている。通信ネットワーク32は、たとえば、ワイド・エリア・インターネットおよび/またはローカル・エリア・ネットワーク、および/または、モバイル・セルラー・ネットワークのようなパケットベース・ネットワークを備えることがある。
【0004】
第1の端末12は、フラッシュメモリもしくはその他の電子メモリ、磁気記憶デバイス、および/または、光学記憶デバイスのような記憶媒体14を備える。第1の端末12は、1個以上のコアを有するCPUの形式をした処理装置16と、少なくとも送信機18を有している有線または無線モデムのような送受信機と、端末12の残部と同じケーシングの内部に収容されること、または、収容されないことがあるビデオカメラ15とをさらに備える。記憶媒体14、ビデオカメラ15および送信機18は、それぞれが処理装置16に動作可能に結合され、送信機18は、有線または無線リンクを介してネットワーク32に動作可能に結合されている。同様に、第2の端末22は、電子、磁気、および/または、光学記憶デバイスのような記憶媒体24と、1個以上のコアを有するCPUの形式をした処理装置26とを備える。第2の端末は、少なくとも受信機28を有している有線または無線モデムのような送受信機と、端末22の残部と同じケーシングの内部に収容されること、または、収容されないことがある画面25とを備える。第2の端末の記憶媒体24、画面25および受信機26は、それぞれがそれぞれの処理装置26に動作可能に結合され、受信機28は、有線または無線リンクを介してネットワーク32に動作可能に結合されている。
【0005】
第1の端末12上の記憶媒体14は、処理装置16上で実行されるように配置構成された少なくともビデオエンコーダを記憶する。実行されたとき、エンコーダは、ビデオカメラ15から「未加工」(非符号化)入力ビデオストリームを受信し、より低ビットレートのストリームに圧縮するためにビデオストリームを符号化し、送信機18および通信ネットワーク32を介する第2の端末22の受信機28への送信のため符号化ビデオストリームを出力する。第2の端末22上の記憶媒体は、これの独自の処理装置26上で実行されるように配置構成された少なくともビデオデコーダを記憶する。実行されたとき、デコーダは、受信機28から符号化ビデオストリームを受信し、画面25への出力のためこれを復号化する。エンコーダおよび/またはデコーダに言及するために使用されることがある総称は、コーデックである。
【0006】
ビデオコーデックの目的は、考えられる最高品質を維持しながら、ビデオ信号を送信するために必要とされるビットレートを低減することである。この目的は、統計的冗長性(ビデオ信号の中の類似性)および(人の視覚系の感度に関連する)知覚的無関連性を利用することにより達成される。
【0007】
現在のビデオコーデックの大多数は、他の画素ブロックからの画素ブロックの予測と、予測残差の変換と、変換係数の量子化と、量子化指数のエントロピー符号化とを含むアーキテクチャに基づいている。これらのステップは、冗長性および無関連性の低減に寄与する。
【0008】
以下の文献:
[1]ITU−T,Recommendation H.264,「Advanced video coding for generic audiovisual services」,2007
[2]Zhang et al.,「Error resilience video coding in H.264 encoder with potential distortion tracking」,In Proc.IEEE International Conference on Image Processing,pp.163−166,2004
を参照する。
【0009】
予測は、典型的に、現在フレーム以外のビデオフレームの中の画素(インター予測)から、および、同じフレームの中の画素(イントラ予測)から実行される可能性がある。すなわち、フレーム内符号化を使用して符号化される場合、ブロック、サブブロックまたはフレームのその他の部分(対象ブロックまたは部分)が同じフレームの中の別のブロック、サブブロックまたは画像部分(参照ブロックまたは部分)と相対的に符号化され、そして、フレーム間符号化を使用して符号化される場合、対象ブロックまたは部分が別のフレームの中の参照ブロックまたは部分と相対的に符号化される。このプロセスは、予測または予測符号化と広く呼ばれている。インターまたはイントラ予測モジュールがこのようにして、たとえば、フレーム内符号化の場合に近傍ブロックまたはサブブロック、および/または、フレーム間符号化の場合に動きベクトルの指示の形式で予測を発生させることになる。典型的に、エンコーダは、予測ブロックと実際のブロックと(または予測サブブロックと実際のサブブロックと、など)の間の「残りの」差を表現する残差信号をさらに発生させる。イントラ予測と関係がある残差、動きベクトル、および、何か所要のデータは、その後、典型的に、量子化器およびエントロピー・エンコーダのようなさらなる符号化ステージ又は符号化段を介して、符号化ビデオストリームに出力される。それ故に、ビデオの中の殆どのブロックは、ブロック間の差の観点から符号化される可能性があり、このことは、絶対画素値を符号化するより少数のビットしか符号化するために必要としないので、ビットレートを軽減する。イントラ予測符号化は、典型的に、インター予測より多数のビットを必要とするが、それでもなお絶対値を符号化することを超える節約を示す。ビデオのため適当なインター符号化技術およびイントラ符号化技術の詳細は、当業者によく知られているであろう。
【0010】
最新のコーデックは、フレーム内部の種々の部分のため種々の予測符号化モードの使用を可能にする。種々の符号化選択肢を有する可能性は、ビデオコーデックのレート−歪み効率を増大させる。最適符号化表現があらゆるフレーム領域に対し見つけられるべきである。典型的に、このような領域は、たとえば、16×16画素からなるマクロブロックである。すなわち、その結果、イントラ予測またはインター予測モードが各マクロブロックに対して個別に選択されることが可能であるので、同じフレーム内部の異なるマクロブロックは、異なるモードで符号化される可能性がある。一部のコーデックでは、異なるレベルのマクロブロックの区分に基づいて、たとえば、別個の予測がマクロブロック内部の4×4のサブブロック毎に実行されるより高い複雑性モード、または、予測が僅かに8×8もしくは8×16ブロック、または、実にマクロブロック全体に基づいて実行されるより低い複雑性モードの間で選択を行うことにより、異なるモードを使用することも可能である。利用可能なモードは、予測を実行する種々の選択肢をさらに含むことがある。たとえば、
図1bに概略的に例示されるように、1つのイントラモードでは、4×4型サブブロック(b)の画素は、直上にあるサブブロックからの近傍画素から下向きに外挿することにより、または、直ぐ左にあるサブブロックから横向きに外挿することにより決定されることがある。「スキップモード」と呼ばれる別の特別な予測モードがいくつかのコーデックにさらに設けられることがあり、代替的な形式のインターモードとしてみなされることがある。スキップモード(PSkip)では、対象の動きベクトルは、上の方かつ左の方の動きベクトルに基づいて推論され、残差係数の符号化は存在しない。動きベクトルが推論される方法は、動きベクトル予測と整合性が取れ、それ故に、動きベクトル差分は、零であるので、マクロブロックがスキップブロックであることをシグナル通知することのみが必要とされる。
【0011】
図3は、送信端末12に実施されるかもしれないようなエンコーダを概略的に例示するハイレベル・ブロック図である。エンコーダは、離散コサイン変換(DCT)モジュール51と、量子化器53と、逆変換モジュール61と、逆量子化器63と、イントラ予測モジュール41と、インター予測モジュール43と、減算段(−)とを備える。エンコーダは、スイッチ47とモード選択モジュール49とをさらに備える。モジュールの1つずつは、好ましくは、送信端末の記憶媒体14に記憶され、処理装置16での実行のため配置構成されたコードの一部分として実施されるが、これらのモジュールの一部または全部が専用ハードウェア回路で完全にまたは部分的に実施される可能性は、排除されない。
【0012】
スイッチ47およびモード選択モジュール49の1つずつは、複数のマクロブロックMBを備える入力ビデオストリームのインスタンスを受信するように配置構成されている。モード選択モジュール49は、各マクロブロックに対して符号モード「o」を選択するように配置構成され、マルチプレクサが選択されたモードに適切に逆量子化器63の出力をイントラ予測モジュール41またはインター予測モジュール43のいずれかの入力に渡すことを制御するためにマルチプレクサ47に動作可能に結合されている。モード選択モジュール49は、選択されたモード「o」を関連性のある予測モジュール41、43に指示するために(たとえば、4×4型区分モード、8×8型モード、スキップモードなどを指示するために)、そして、予測モジュール41、43からフィードバックされ、次のフレームに対するモードを選択するときに用いられる情報を受信するようにさらに配置構成されることがある。イントラ予測モジュール41またはインター予測モジュール43の出力は、その後、減算段又は減算ステージ(−)の入力に結合され、この減算段は、これのもう一方の入力で符号化されていない入力ビデオストリームを受信し、予測ブロックをこれらの符号化されていない対応部分から減算し、このようにして、残差信号を発生させるように配置構成されている。残差ブロックは、その後、それぞれの残差値が周波数ドメインに変換される変換(DCT)モジュール51を介して、変換された値が離散量子化指数に変換される量子化器53に渡される。変換され、量子化された信号は、逆量子化器63および逆変換モジュール51を通してフィードバックされ、(デコーダで見られるように)選択された予測モジュール41、43によって用いられる予測されたブロックまたはサブブロックを発生させる。予測モジュール41、43で使用された予測の指示と、インター予測モジュール43によって発生された動きベクトルと、変換モジュール51および量子化モジュール53によって発生されたような残差の変換、量子化された指数とは、全てが符号化ビデオストリームに組み込むため出力され、典型的には、予測値および量子化され、変換された指数が技術的に知られている無損失符号化技術を使用してさらに圧縮されることがあるエントロピーエンコーダ(図示せず)のようなさらなる無損失符号化ステージ又は無損失符号化段を経由する。
【0013】
以上によれば、符号化表現は、このようにして、ブロック区分情報、予測モード、動きベクトル、量子化精度などを含むことがある。最適な符号化選択肢は、ビデオコンテンツ、ビットレート、先行の符号化決定などに依存する。変換係数の量子化の精度は、典型的に、ビットレート制約を満たすように選定される。さらに、歪みは、最小化されるべきである。
【0014】
たとえば、H.264ビデオコーダは、予測モードの選定に大きな柔軟性を提供する[1]。輝度成分のインター予測に関して、16×16画素からなるマクロブロックは、16×16画素からなる1個のブロック、または16×8画素の2個のブロック、または8×8画素からなる4個のブロックとして表現される可能性がある。さらに、8×8型ブロックは、8×8画素からなる1個のブロック、または8×4画素からなる2個のサブブロック、または4×8画素からなる2個のサブブロック、または4×4画素からなる4個のサブブロックとして表現される可能性がある。インター予測は、マクロブロックの許容された区分毎に試行される。ブロックのインター予測は、参照フレーム(群)と、典型的に、サブ画素精度で推定される動きベクトル(群)(それぞれの参照フレームの中の参照ブロックからの空間シフト)とを指数化することにより表現される。輝度成分のイントラ予測に関して、16×16型ブロックのための4個の可能なモードと、4×4型サブブロックのための9個の可能なモードとが存在する。さらに、彩度成分のための4個の可能なモードが存在する。最良予測モードは、インター予測モードおよびイントラ予測モードの性能を比較することにより選定される。
【0015】
H.264 AVC[1]のようなビデオコーデックのレート−歪み性能は、マクロブロックモード選択の性能oに大幅に依存する。すなわち、レートと歪みのどちらを取るかの点から、たとえば、イントラモードまたはインターモードを使用して、マクロブロックが最良に符号化されているか否かを決定する手続である。ロバスト性又は頑健性の観点から、イントラ符号化マクロブロックは、(制約付きのイントラ予測、すなわち、インター予測マクロブロックからのイントラ予測の使用が禁止されていると仮定すると)時間的誤り伝搬を停止するので有利である。しかし、イントラ符号化マクロブロックは、一般に、レートの点から、インター符号化マクロブロックより高コストであり、それ故に、ある種のビット配分およびチャネル条件を仮定すると、デコーダでの歪み(たとえば、平均歪み)が最小化されるようにイントラ符号化マクロブロックを系統的に導入することが重要である。Zhang et al.[2]は、デコーダでの期待平均差分二乗和(SSD)の最小化に基づいてイントラ符号化マクロブロックを導入するためにこのような系統的な枠組みを提案する。潜在的な歪みを追跡することにより、Zhang et al.は、エンコーダのレート−歪みループの内部のインターマクロブロックのコストを計算するとき、ソース符号化歪みに加算される(デコーダでの)期待誤り伝搬歪みに関連するバイアス項を計算することが可能である。
【0016】
レート−歪み性能最適化問題は、ビットレート制約Rの下での歪みの最小化の点で定式化される可能性がある。ラグランジュ最適化の枠組みは、この問題を解決するためにしばしば使用され、この枠組みによれば、最適化規準は:
J=D(m,o)+λR(m,o) (1)
として定式化されることがあり、式中、Jは、ラグランジュ関数を表し、Dは、歪みの尺度(モードoとマクロブロックmまたはマクロブロック下位区分との関数)を表し、Rは、ビットレートであり、λは、歪みとレートのどちらを取るかについてのパラメータである。広く使用される歪み尺度は、原画素と再構成画素との間の差分二乗和(SSD)、または、原画素と予測画素との間の差分絶対和(SAD)である。
【0017】
本願では、ラグランジュ最適化問題を解法することは、ラグランジュ関数Jを最小化する符号化モードoを見つけることを意味し、ここで、ラグランジュ関数Jは、歪みを表す項と、ビットレートを表す項と、両者の間でどちらを取るかを表す因子又は係数(「ラグランジュ乗数」))とを備える。符号化モードoがより完全なまたはより良い品質の符号化モードに向かって変化するにつれて、歪み項Dは、減少することになる。しかし、同時に、レート項Rは、増加することになり、λに依存する特定の点で、Rの増加は、Dの減少を上回ることがある。それ故に、式Jは、何らかの最小値を有することになり、これが起こる符号化モードoが最適符号化モードであると考えられる。
【0018】
この意味で、ビットレートR、もっと正確にはλRは、この項が絶えず増加する品質から最適符号化モードを引き戻すので、最適化に制約を課す。この最適バランスが見つけられるモードは、λに依存することになり、それ故に、λは、ビットレートと歪みのどちらを取るかを表していると考えられることがある。
【0019】
ラグランジュ最適化は、符号化決定を選定するプロセスで広く使用され、あらゆるフレーム領域(たとえば、16×16画素からなるあらゆるマクロブロック)に適用される。一般に、歪みは、全ての処理段階を明らかにするために評価されることがある。これらの処理段階は、予測、変換、および量子化を含む。さらに、再構成画素を計算するために、逆量子化、逆変換、および逆予測のステップが実行される必要がある。SSDは、SADと比べてより高い品質という結果をもたらすので、歪み規準として好ましい場合がよくある。一般に、レートは、予測を記述するパラメータと、量子化された変換係数を含む全ての必要とされたパラメータの符号化をさらに明らかにする[4]。
【0020】
[2]Zhang et al.では、著者は、ソース符号化だけでなく、チャネル誤り、すなわち、信号がチャネルを介して送信されるときにデータの損失のために起こるものである見込み歪みにも起因するデコーダ内での潜在的な歪みを推定する。推定された見込み歪みは、その後、イントラ符号化の方へモード選択を偏らせるために間接的に使用される(チャネル誤りの可能性がある場合)。
【0021】
Zhangの「終端間」歪み式は、差分二乗和(SSD)歪み尺度に基づき、損失マクロブロックにベルヌーイ分布を仮定する。最適マクロブロックモードo
optは:
【0022】
【数1】
によって与えられ、式中、D
s(m,o)は、マクロブロックmおよびマクロブロックモードoに対する原画素と再構成画素との間のSSD歪みを表し、Rは、総レートを表し、λは、歪みおよびレート項を関連付けるラグランジュ乗数を表す。D
ep_ref(m,o)は、誤り伝搬に起因するデコーダにおける参照マクロブロック内部の期待歪みを表す。D
ep_ref(m,o)は、このようにして、誤り伝搬歪みが大きくなり過ぎた場合、イントラ符号化の方へ最適化を偏らせるバイアス項をもたらす。D
ep_ref(m,o)は、イントラ符号化マクロブロックモードに対して零である。式D
s(m,o)+D
ep_ref(m,o)+λR(m,o)は、ラグランジュ関数Jの例であると考えられることがある。Argmin
oは、値が最小である式Jに対する引数oの値を出力する。
【0023】
[2]において、項D
ep_ref(m,o)は、物体の動きに追随し、現在の動きベクトルを使用して総歪みマップから計算される。総期待誤り伝搬歪みマップD
epは、誤り隠蔽の性能によって動かされ、各マクロブロックモード選択後に:
D
ep(m(k),n+1)=(1−p)D
ep_ref(m(k),n,o
opt)+p(D
ec−rec(m(k),n,o
opt)+D
ec−ep(m(k),n)) (3)
として更新され、式中、nは、フレーム番号であり、m(k)は、マクロブロックmのk番目の下位区分(すなわち、ブロックまたはサブブロック)を表し、pは、パケット損失の確率を表し、D
ec−recは、エンコーダにおける再構成画素と隠蔽画素との間のSSDを表し、D
ec−epは、エンコーダおよびデコーダにおける誤り隠蔽画素の間の期待SSDを表す。
【0024】
[2]では、D
epは、フレームの各マクロブロックに亘って4×4型グリッドで、すなわち、マクロブロック1つ当たりにD
epの16個の値で、従って、各マクロブロックの4×4型画素サブブロック1つ当たりにD
epの1個の値で記憶される。
図1cに示されるように、D
ep_ref(m(k),o)、すなわち、時点nでのフレームのマクロブロックmの内部のサブブロックkに対する期待誤り伝搬参照歪みの計算は、その後、時点n−1からの先行フレームの4個のサブブロックからのD
epの値の加重和として実行される。重みは、当該ブロックmに対する動きベクトルから決定される。すなわち:
【0025】
【数2】
であり、式中、重みw
iは、オーバーラップのエリアに比例し、q
i(k
i)は、先行フレームn−1の中のマクロブロックq
iのサブブロックk
iを表す。
【0026】
図1cは、典型的なサブブロックb1...b4に関連して(本例では、kは、b1に対応し、iは、b1からb4まで数える)、動きベクトルおよび期待誤り伝搬歪みマップからの期待誤り伝搬参照歪みの計算の説明図を提供する。
【発明を実施するための形態】
【0037】
<実施の形態の概要>
第1の実施形態では、関数fは、受信機に対するパケット損失確率の組に適用される。すなわち、L台の受信機に対して:
p=f(p
0+p
1’−p
0p
1’,p
0+p
2’−p
0p
2’,...,p
0+p
L’−p
0p
L’) (3a)
であり、ここで、
図4bに示された構造体、すなわち、マルチキャストノードを介する送信機から受信機lまでの損失確率は:
1−(1−p
0)(1−p
l’)=p
0+p
1’−p
0p
l’ (3b)
として表現される可能性がある。
【0038】
集計されたパケット損失確率pは、その後、エンコーダの内部で式(3)において使用される可能性がある。実例関数は、最適化目的が何であるかに依存して最大値、中央値、または平均値である。たとえば、最大パケット損失に基づく最適化は、最悪のリンクに対して(平均で)最適終端間レート歪み性能を、その結果、その他のリンクに対して最適に満たない性能(必要とされることになるソース符号化歪みより高い歪み)を保証する。
【0039】
第2の実施形態では、送信機は、L個の異なる誤り伝搬マップを追跡する。パケット損失確率に関して一意である送信機−受信機ペアのみが追跡される必要がある。たとえば、種々のリンクを少数の異なるクラス(たとえば、低パケット損失、中間パケット損失、および高パケット損失のクラス)に分類することによって、より少数の歪みマップを追跡することも可能である。さらに、第2の実施形態の特に有利な具現化では、どのパケット(またはフレームもしくはパケット)がデコーダで受信されたか、または、失われたかをシグナル通知する受信機のうちの全部(または一部)からのフィードバック情報が利用可能であるということがある。概して、種々のパケットは、マルチキャストノードから1台ずつの個別の受信機までの種々のリンク上で失われることがある。フィードバック情報は、種々の歪みマップをリセットし、再計算するために送信機のエンコーダで使用されることがある。
【0040】
種々のリンクに対する種々の歪みマップを仮定すると、式(2)のモード選択において適用する(概念的には第1の実施形態に類似する)集計誤り伝搬参照歪み、たとえば:
D
ep−ref(m(k),o)=f(D
ep−ref(m(k),o|link
1),...,D
ep−rer(m(k),o|link
L)) (4a)
を作成することが可能であり、式中、fは、たとえば、上記と同様に、最大値、中央値、または平均値である可能性がある。
【0041】
上記は、ある特別な典型的な実施形態の概要を説明するが、より一般的には、本発明は、以下に沿ったシステム、コンピュータ・プログラム・プロダクトおよび装置を提供する。
【0042】
本発明の一態様によれば、ビデオストリームを符号化する方法が提供され、この方法は、ビデオストリームのフレームの中で符号化される複数の対象画像部分の1つずつに対して、ソース符号化歪みおよび損失に起因する誤り伝搬歪みの推定値に基づく対象画像部分の歪みの推定値と、対象画像部分を符号化するために必要とされるビットレートの尺度とを含む関数を最適化することにより符号化モードの組のうちの好ましい1つを選択することを含めて、レート−歪み最適化プロセスを実行することと、選択された符号化モードを使用して、対象画像部分を符号化されたビデオストリームに符号化することとを備え、この方法は、複数台の受信端末のうちの1台ずつに関して同一のレート−歪み最適化プロセスを使用して、送信端末から複数台の受信端末のうちの1台ずつにそれぞれの損失の多いチャネルを介して同一の符号化されたビデオストリームを送信することをさらに備え、ここで、同一のレート−歪み最適化プロセスの使用は、上記関数の同一の最適化に基づいて対象画像部分毎に同一の符号化モードを選択することを備え、誤り伝搬歪みの推定値は、複数のチャネルを介して見込まれる損失に起因して起こることになる誤り伝搬歪みの集計推定値を備える。
【0043】
本発明の好ましい適用では、上記チャネルのうちの2つ以上は、共通のマルチキャスティング中継ノードを経由することがあり、そのために、送信端末は、符号化されたビデオストリームを第1の区間を介してマルチキャスティング中継ノードに送信することがあり、マルチキャスティング中継ノードは、符号化されたビデオストリームのそれぞれのインスタンスをそれぞれの2台以上の受信端末のうちの1台ずつにチャネルのそれぞれの第2の区間を介して転送することがある。
【0044】
本発明の第1の実施形態では、この方法は、上記チャネルのうちの1つずつを介する損失の個別の確率を決定することと、個別の確率に基づいて集計確率を決定することとを備えることがあり、歪みの集計推定値は、集計確率に基づくことがある。
【0045】
上記2つ以上のチャネルの1つずつに対する個別の確率は、これの区間の1つずつを介する損失の確率を組み合わせることにより決定されることがある。
【0046】
中継ノードは、サーバとエンドユーザ端末とのうちの一方を備えることがある。
【0047】
集計確率は、個別の確率の最大値、中央値および平均値のうちの1つを備えることがある。
【0048】
本発明の第2の実施形態では、この方法は、上記チャネルの1つずつを介して見込まれる損失に起因して起こることになる誤り伝搬歪みの個別の推定値を決定することを備えることがあり、誤り伝搬歪みの集計推定値は、誤り伝搬歪みの個別の推定値を集計することにより決定されることがある。
【0049】
この方法は、各符号化モード選択の後に誤り伝搬マップを更新することにより、上記チャネルの1つずつに対する個別の誤り伝搬歪みマップを維持することを備えることがあり、歪みの個別の推定値は、それぞれの歪みマップから決定されることがある。
【0050】
歪みの個別の推定値の集計は、歪みの個別の推定値の最大値、中央値および平均値のうちの1つを備えることがある。
【0051】
上記チャネルの1つ以上のうちの1つずつに対する誤り伝搬歪みの個別の推定値は、それぞれの受信端末からのフィードバックに基づくことがある。
【0052】
上記フィードバックは、上記先行するフレームの少なくとも一部が受信されたという肯定応答と、上記先行するフレームの少なくとも一部が受信されなかったというレポートとのうちの一方を備えることがある。
【0053】
フィードバックに基づく誤り伝搬歪みの個別の推定値は、上記フィードバックに依存して先行するフレームまたは先行するフレームの一部に対する歪みの推定値を調節することと、歪みの調節された推定値を現在フレームに関して用いるため前方に伝搬することとを備えることがある。
【0054】
フィードバックに基づく誤り伝搬歪みの個別の推定値は、上記肯定応答および上記レポートのうちの少なくとも一方に依存して先行するフレームまたは先行するフレームの一部に対する歪みの推定値を調節することと、歪みの調節された推定値を現在フレームに関して用いるため前方に伝搬することとを備えることがある。
【0055】
いずれの実施形態でも、第1および第2の実施形態は、独立に適用されても、組み合わせて適用されてもよい。
【0056】
符号化モードは、(i)対象画像部分を同じフレーム内の参照画像部分と相対的に符号化するフレーム内モードと、(ii)対象画像部分を前の符号化フレーム内の参照画像部分と相対的に符号化するフレーム間符号化モードとを少なくとも備えることがある。
【0057】
符号化モードの組は、スキップモードを備えることがある。
【0058】
符号化モードの組は、フレーム内符号化およびフレーム間符号化のうちの少なくとも一方のため対象画像部分の種々の区分を使用するモードを備えることがある。
【0059】
本発明の別の態様によれば、ビデオストリームを符号化する送信端末が提供され、この送信端末は、ビデオストリームのフレームの中で符号化される複数の対象画像部分の1つずつに対して、ソース符号化歪みおよび損失に起因する誤り伝搬歪みの推定値に基づく対象画像部分の歪みの推定値と、対象画像部分を符号化するために必要とされるビットレートの尺度とを含む関数を最適化することにより符号化モードの組のうちの好ましい1つを選択することを含めて、レート−歪み最適化プロセスを実行するように構成され、選択された符号化モードを使用して、対象画像部分を符号化されたビデオストリームに符号化するように配置構成されているエンコーダと、送信端末から複数台の受信端末のうちの1台ずつにそれぞれの損失の多いチャネルを介して同一の符号化されたビデオストリームを送信するように構成されている送信機とを備え、エンコーダは、複数台の受信端末のうちの1台ずつに関して同一のレート−歪み最適化プロセスを使用するように構成され、ここで、同一のレート−歪み最適化プロセスの使用は、上記関数の同一の最適化に基づいて対象画像部分毎に同一の符号化モードを選択することを備え、エンコーダは、誤り伝搬歪みの推定値が複数のチャネルを介して見込まれる損失に起因して起こることになる誤り伝搬歪みの集計推定値を備えるようにさらに構成されている。
【0060】
実施形態では、送信機は、上記方法特徴のいずれかに従って動作するように構成されることがある。
【0061】
本発明の別の態様によれば、ビデオストリームを符号化するコンピュータ・プログラム・プロダクトが提供され、このコンピュータ・プログラム・プロダクトは、コンピュータ読み取り可能な媒体上に具現化され、送信端末上で実行されたときに以下の動作、ビデオストリームのフレームの中で符号化される複数の対象画像部分の1つずつに対して、ビデオストリームのフレームの中で符号化される複数の対象画像部分の1つずつに対して、ソース符号化歪みおよび損失に起因する誤り伝搬歪みの推定値に基づく対象画像部分の歪みの推定値と、対象画像部分を符号化するために必要とされるビットレートの尺度とを含む関数を最適化することにより符号化モードの組のうちの好ましい1つを選択することを含めて、レート−歪み最適化プロセスを実行することと、選択された符号化モードを使用して、対象画像部分を符号化されたビデオストリームに符号化することとを実行するように構成されているコードを備え、このコードは、実行されたとき、複数台の受信端末のうちの1台ずつに関して同一のレート−歪み最適化プロセスを使用して、送信端末から複数台の受信端末のうちの1台ずつにそれぞれの損失の多いチャネルを介して同一の符号化されたビデオストリームを送信するようにさらに構成され、同一のレート−歪み最適化プロセスの使用は、上記関数の同一の最適化に基づいて対象画像部分毎に同一の符号化モードを選択することを備え、誤り伝搬歪みの推定値は、複数のチャネルを介して見込まれる損失に起因して起こることになる誤り伝搬歪みの集計推定値を備える。
【0062】
実施形態では、コードは、実行されたとき、上記方法特徴のいずれかに記載された動作を実行するようにさらに構成されることがある。
【0063】
本発明のより良い理解のため、かつ、本発明がどのように実施されるかを明らかにするために、一例として添付図面を参照する。
【0064】
<実施の形態の詳細な説明>
以下は、複数台の受信機に送信される唯一の符号化ビデオストリームに対し、ビットレートと歪みのどちらを取るかを最適化するために各チャネルのリンク関連歪み特性を集計するエンコーダおよび符号化方法について説明する。集計(aggregation)は、統合、総合、総計、集約等と言及されてもよい。エンコーダは、
図3に関連して説明されたエンコーダに類似するが、モード選択モジュール49が修正されている。これは、
図1に例示された種類のビデオストリームを符号化するために使用され、
図2の通信システムのような通信システムにおいて実施されることがある。
【0065】
前述のとおり、モード選択は、ラグランジュ型関数:
J=D(m,o)+λR(m,o) (1)
を最適化(たとえば、最小化)することを含むことがあり、式中、Jは、ラグランジュ関数を表現し、Dは、歪みの尺度(モードoとマクロブロックmまたはマクロブロック下位区分との関数)を表現し、Rは、ビットレートであり、λは、歪みとレートのどちらを取るかについてのパラメータである。
【0066】
従来の場合、歪み項Dは、ソース符号化歪みのみを考慮し、すなわち、量子化によって導入された歪みのようなエンコーダの中の不完全性に起因する。これは、チャネルを介するデータの損失に起因して、たとえば、パケットベース・ネットワーク32を介する送信中のパケット損失に起因して導入されることがある歪みを考慮しない。
【0067】
他方では、本発明およびZhang[2]の技術のような損失適合技術は、ソース符号化およびチャネルを介するデータの損失に起因する歪みを共に考慮する「終端間」歪みの尺度を定義しようとする。所定の(対象)ブロック、マクロブロックまたはサブブロックに対する終端間歪みは:
D=(1−p)D
arrival+pD
loss (5)
として記述されることがあり、式中、D
arraivalは、対象ブロックがデコーダに到着した場合に起こることになる歪みの推定値であり、D
lossは、対象ブロックがチャネルを介するパケット損失に起因して、たとえば、パケットベース・ネットワーク32を介するブロックを含むパケットの損失に起因してデコーダに到着しない場合に起こることがある歪みの推定値である。パラメータpは、当該ブロック画像部分が結果的に失われるチャネルを介して起こる損失事象の確率の推定値、たとえば、パケット損失の確率の推定値である。簡便さのため、用語「ブロック」は、フレーム区分の関連性のあるレベル(たとえば、H.264のようなある種の規格のブロックまたはサブブロック)に一般的に言及するためにここでは適当な位置で使用されることがある。
【0068】
D
arraivalは、ソース符号化歪みだけではなく、ブロックの過去の歪みに起因して導入されることになる歪み、すなわち、対象ブロックが予測される原因である1つ以上の参照ブロックにおける歪みも表現する。その結果、D
arrivalは、ソース符号化歪み項D
sと、予測された対象ブロックの履歴の中の歪み(すなわち、対象ブロックへ繰り越す対象ブロックの参照ブロックの中の歪み)を表現する誤り伝搬歪み項D
ef_refとを共に含む:
D
arrival=D
s+D
ep_ref (6)
D
lossは、隠蔽に起因する損失を含む。対象ブロックが受信されない場合、デコーダは、先に符号化されたブロックを凍結すること、または、(現在フレームおよび/または前のフレームのいずれかからの)1つ以上の復号化に成功したブロックからの内挿または外挿を含むことがあり得る隠蔽アルゴリズムを適用することになる。その結果、D
lossは、この隠蔽プロセスに起因する歪みとして識別される可能性がある:
D
loss=D
ec (7)
従って、式(5)を調べると、項D
sは、損失が全くない場合に起こることになる歪みの推定値を表現し、項D
ecは、対象ブロックが失われた場合に起こることになる歪みの推定値を表現し、項D
ep_refは、対象ブロックが受信に成功し、しかし、この履歴の中の何かが失われた場合(対象ブロックの参照ブロックが失われた場合、または、参照ブロックの参照ブロックが失われた場合など)に起こることになる歪みの推定値を表現する。
【0069】
D
sおよびD
ep_refは、符号化モード選択oの関数である。D
ecは、モード選択oの関数ではなく、従って、ラグランジュ式から落とされる(損失ブロックがどのように符号化されたかは問題ではない。それにもかかわらず失われている)。それ故に、最適化は:
【0070】
【数3】
として記述することが可能である。
【0071】
D
sは、エンコーダで知ることができる情報に基づいているので、たとえば、未加工入力サンプル値sと再構成サンプル値s^との間の差分に基づいているので、決定論的である。エンコーダは、エンコーダ側でデコーダの並列インスタンス(または、これの近似)を動かす。
図3のインター予測モジュール43を詳述する差し込み図を参照のこと。インター予測モジュール43は、動き補償予測(MCP)ブロック44と、予測サンプルs^
predと再構成残差r^とを組み合わせることにより、すなわち、各サンプル指数iに対して、
s^
i=r^
i+s^
pred
により再構成サンプルs^
を決定するように配置構成された加算ステージ又は加算段(+)とを備える。インター符号化の場合、エンコーダで、予測サンプルs^
predは、参照ブロックs^
refのサンプルと同じであることがある(参照フレームの中の参照ブロックは、対象フレームと相対的に動きベクトルのみによってオフセットされている。再び簡単に説明される
図1cを参照のこと)。
【0072】
それ故に、エンコーダは、エンコーダおよびデコーダ端で見られるような実際のサンプルsと再構成サンプルs^との間の差分を決定する可能性がある(これは、この段階では、デコーダで起こるさらなる歪みを導入することになる損失の可能性を無視する)。サンプルにおける差分は、たとえば、当該対象ブロックの全てのサンプル指数iに亘る差分二乗和(SSD)誤り:
【0073】
【数4】
として計算されることがある。
【0074】
しかし、D
ep_refは、まだ推定されず、これは、符号化データが(たとえば、パケットベース・ネットワーク32を介して)送信されるべきチャネルに関するいくつかの推定を行うことに基づくことになる。
【0075】
これを達成するために、エンコーダの中のモード選択モジュール49は、直前に符号化されたフレーム内部の各マクロブロックまたはマクロブロックの区分の歪みを記述する誤り伝搬歪みマップD
epを維持するように構成されることがある。モード選択モジュール49は、対象ブロックが予測される原因である参照ブロックを収容するパケットがチャネルを介して失われることになる確率pを決定するように(そして、その結果、さらにパケットが到着する確率1−pを暗黙的または明示的に決定するように)さらに配置構成されている。確率pは、統計的モデリングに基づいて設計段階で予め決定されることがあり、この場合、モード選択モジュール49は、メモリ14から値を取り出すことによりpを決定する。もう1つは、モード選択モジュール49が受信機22からのフィードバックに基づいてpを決定することである。
【0076】
誤り伝搬マップは:
D
ep=(1−p)D
ep_arrival+pD
loss (9)
として表現されることがある。
【0077】
誤り伝搬マップD
epは、直前に符号化されたフレーム内部のマクロブロックmに対する、または、より好ましくは、各下位区分(ブロックまたはサブブロック)m(k)に対する歪み推定値を備える。それ故に、誤り伝搬マップは、より明示的には:
D
ep(m(k))=(1−p)D
ep_arrival(m(k))+pD
loss(m(k)) (10)
として記述されることがあり、式中、m(k)は、マクロブロックmのk番目の下位区分(たとえば、サブブロック)を表し、pは、パケット損失の確率を表す。
【0078】
D
lossは、前述のとおりD
ecに等しい。D
ep_arraivalは、チャネルを介する差分、すなわち、エンコーダでの再構成サンプルとデコーダでの再構成されたものとの間の差分を表現する。たとえば、これは、差分二乗和(SSD)の観点から定量化されることがあり:
【0079】
【数5】
式中、s~
iは、ソース符号化歪みおよびチャネルに起因する歪みを共に考慮したデコーダで受信された(指数i)のサンプルである。すなわち、s
iは、未加工の符号化されていない入力サンプルであり、s^
iは、(たとえば、量子化に起因する)ソース符号化歪みを考慮してエンコーダで再構成されたサンプルであり、s~
iは、チャネルの損失の多い効果を含む総終端間歪みを考慮したサンプルであり;
【0082】
【数7】
に拡張することが可能であり、式中、r^
iは、再構成残差のサンプルである。その結果:
【0084】
そこで、式(9)に代入すると、誤り伝搬マップは:
D
ep=(1−p)D
ep_ref+pD
ec (14)
または;
D
ep(m(k))=(1−p)D
ep_ref(m(k))+pD
ec(m(k)) (15)
として記述される可能性がある。
【0085】
モード最適化問題を考慮すると、これは:
D
ep(m(k),n+1)=(1−p)D
ep_ref(m(k),n,o
opt)+pD
ec(m(k),n,o
opt) (16)
と記述されることもあり、式中、nは、フレーム番号であり、すなわち、D
ep(n+1)は、既存の決定o
optおよび先行時点nでのフレームに対する歪みD
ep(n)マップを仮定すると、時点n+1でフレームに対するモード選択を行うため使用される誤り伝搬マップである。
【0086】
Zhang[2]の場合と同様に、D
ec項は:
D
ep(m(k),n+1)=(1−p)D
ep_ref(m(k),n,o
opt)+p(D
ec−rec(m(k),n,o
opt)+D
ec−ep(m(k),n)) (3)
に拡張されることもあり、式中、D
ec−recは、エンコーダにおける再構成画素と隠蔽画素との間のSSDを表し、D
ec−epは、エンコーダおよびデコーダにおける誤り隠蔽画素の間の期待SSDを表す。
【0087】
式(3)を調べると、前述のとおり、項D
ep_refは、対象ブロックは受信に成功しているが、これの履歴の中の何かが失われている場合に(対象ブロックの参照ブロックが失われているか、または、参照ブロックの参照ブロックが失われているなどの場合に)起こることになる歪みを表現する。さらに、D
ec−recは、隠蔽アルゴリズム自体の性質に起因する歪み(予測に対して内在するソース符号化歪みD
sにやや類似する)の推定値を表現する。D
ec−epは、このとき、対象ブロックが失われ(その結果、デコーダで隠蔽される必要がある)、かつ、隠蔽された対象ブロックの履歴の中の何かが失われている場合に(隠蔽が行われる原因であるブロックが失われる、または、ブロックが予測されるか、または、隠蔽される原因であるブロックが失われるなどの場合に)歪みの推定値を表現する。
【0088】
従って、歪みマップD
epは、新しい損失に起因し、D
ec−recおよび部分的にD
ec−epの結果として生じる寄与度と、過去の損失に起因し、D
ep−refおよび部分的にさらにD
ec−epの結果として生じる寄与度とを備える。
【0089】
系列の中の1番目のフレームに対して、フレームは、イントラ符号化を用いて符号化されることになり、この場合、D
ep−ref=0であり、従って、D
ep=pD
ecである。
【0090】
誤り隠蔽歪みD
ecは、モード選択モジュール49によって計算される。項D
ec−recは、隠蔽アルゴリズムの知識に基づき、使用された特殊な誤り隠蔽アルゴリズムに依存することがある。D
ec−epは、D
ep−refに類似する方法で、たとえば、基本的な隠蔽アルゴリズムの場合に、同じ場所にあるブロックの歪みをコピーすることにより、または、より複雑な隠蔽が使用される場合に、動きを外挿しようとする複数の先に符号化されたブロックb1〜b4から歪みの加重和を計算することにより(類推によって、以下の
図1cに関連した検討を参照のこと)、既存の(直前の)歪みマップに基づいて計算される。D
ecを計算する他の方法が使用されることもあり、これは、エンコーダの中の再構成サンプルとデコーダによって見られることになる誤り隠蔽サンプル(すなわち、損失フレームまたは領域を隠蔽するために、前に受信されたフレーム、または、同じフレームの受信された領域からコピー、内挿または外挿されたサンプル)との間の差分の何らかの推定ということもあり得る。
【0091】
モード選択モジュール49は、その後、既存の誤りマップの知識からのD
ep_refの計算を含めて、各モード選択決定の後に誤り伝搬マップを更新することにより、1つずつの後に続くインター予測フレームに対する誤り伝搬マップを維持する。インター予測(動き推定)の場合、Zhang[2]によれば、これは、当該フレームに対する動きベクトルを使用して行われる。
【0092】
これの一例は、
図1cに例示されている。4つの実例ブロックb1、b2、b3およびb4が(時点n−1での)参照フレームF
nに示され、この参照フレームは、既に符号化されている。(後に続く時点nでの)対象フレームF
nのブロックは、参照フレームF
n−1から予測される。たとえば、対象フレームF
nの中のブロックb
1を考慮する。このため、動き予測モジュール44は、参照ブロックが参照フレームF
n−1の中のオフセット位置から対象フレームF
nの中の対象ブロックb
1’の位置に平行移動されたとき、対象ブロックb
1の最良推定値をもたらすように、対象フレームF
nの中の対象ブロックと参照フレームF
n−1の中の(点線によって示された)参照ブロックとの間のオフセットを定義する動きベクトルを決定する。その結果、点線の参照ブロックは、必ずしも参照フレームF
n−1の中のインデックスで指定可能なブロックではなく、すなわち、必ずしも参照フレームの所定の再分割ではなく、任意の量によってオフセットされることがあることに(そして、実際には、画素の何分かの1によってオフセットされることさえあることに)注意すべきである。それ故に、参照ブロックは、4つの実際のインデックス指数可能なブロックb1、b2、b3およびb4からの寄与度で構成される。
【0093】
その結果、誤り伝搬マップD
ep(n+1)の更新で用いられるD
ep_refを決定するためにモード選択モジュール49によって実行される既存の計算は、既存のマップD
ep(n)においてブロックまたはサブブロックb1からb4に対して記録された歪みの加重和:
【0096】
【数10】
であり、式中、w
iは、ブロックまたはサブブロックb
iからの寄与度を表現する重みであり、D
ep(i)は、ブロックまたはサブブロックb
iに対する誤り伝搬マップエントリである。
【0097】
上記は、初期誤り伝搬マップD
epを決定し、後続の符号化のための最適符号化モード選択o
optを選択するために誤り伝搬マップを使用し、マップD
epを更新するために符号化決定を使用し、その後、次の符号化決定において更新されたマップを使用し、以下同様に続き、ここで、誤り伝搬マップは、チャネルを介する損失の推定された効果を含む終端間歪みを表現することがある、既存のプロセスについて説明する。たとえば、Zhang[2]を再度参照する。これは、本書では、損失適応型レート−歪み最適化(LARDO)と呼ばれることがある。
【0098】
しかし、Zhang et al.[2]のプロセスは、1台の送信機および1台の受信機の終端間レート−歪み性能を最適化する問題のみを扱う。
【0099】
他方で、グルーブビデオ通話では、各送信機−受信機リンク(すなわち、チャネル)が何らかのそれぞれの損失確率p
iを有する1台の送信機と複数台の受信機とに対する終端間レート−歪み性能を最適化する問題に直面する。これの実施例は、
図4aおよび4bに概略的に例示されている。
【0100】
図4bは、本発明の好ましい適用による配置構成を例示する。この配置構成は、送信端末12と、マルチキャスティング中継ノード70と、複数台の受信端末22とを備える。3台の受信装置22a、22bおよび22cは、ここでは、例示の目的のため表されているが、2台以上のあらゆる台数が存在することがあり得る。送信機12は、
図2に従って構成され、
図3に関連して説明されたエンコーダのとおりのエンコーダを備えることがあるが、以下のとおりに構成されたモード選択モジュール49が修正されている。受信機22の1台ずつは、
図2に従って構成され、
図3のエンコーダを補完するように構成されたそれぞれのデコーダを備えることがある。中継ノードは、スキームを実現し易くすることに同意したユーザに属するラップトップまたはデスクトップコンピュータのような第3のエンドユーザ端末を備えることがあり、または代替的に、通信サービスプロバイダのサーバを備えることがある。中継器70がエンドユーザ端末である場合、第3のユーザは、通話の参加者であることも、参加者でないこともある(すなわち、第3のユーザの端末70での再生のためビデオストリームを符号化することも符号化しないこともあり、そうすることが許可されていることも許可されていないこともある)。
【0101】
送信端末12は、インターネットのようなパケットベース・ネットワーク32を介してマルチキャスティング中継ノード70との接続を確立するように配置構成され、マルチキャスティング中継ノード70は、同様にインターネットのようなパケットベース・ネットワーク32を介して受信端末22の1台ずつとのそれぞれの接続を確立するように配置構成されている。送信端末22から1台ずつのそれぞれの受信端末22へのチャネル(すなわち、リンク)は、送信端末12と中継ノード70との間の接続の形をした第1の区間(すなわち、第1の段階)と、中継ノード70とそれぞれの第2の端末22との間の接続の形をしたそれぞれの第2の区間(第2の段階)とを備える。
【0102】
第1の区間は、損失確率p
0が関連付けられている。第2の区間の1つずつは、それぞれのパケット損失確率p
1’、p
2’、p
3’を有している。概して、これらの確率は、同じではない。以下では、各チャネル、または、これの受容的な受信機は、番号付けl=1...Lを使って参照されることがあり、たとえば、例示された実施例では、L=3である。
【0103】
図4bの配置構成によれば、送信端末12上のエンコーダは、複数台の受信端末22の1台ずつへの送信のための唯一の符号化されたビデオストリームのみを発生させ、この符号化されたビデオストリームを第1の区間を介して共通のマルチキャスティング中継ノード70(そして、図示されない他の受信者または中継器がより複雑な「ツリー」構造の一部として送信機12に接続されていない限り、この中継ノード70のみ)に送信するように構成されている。マルチキャスティング中継ノード70は、符号化されたビデオストリームのそれぞれのインスタンスをそれぞれのチャネルのそれぞれの第2の区間を介して受信端末22の1台ずつへ前方に転送するように構成されている。
【0104】
前述のとおり、Zhang[2]がさらなる修正なしで複数台受信機配置構成にそのまま適用された場合、これは、個別の送信機−受信機ペア毎に所定のビットレートに対する終端間歪みを(平均二乗誤差の意味で)最小化することのみを可能にするであろう。
【0105】
その結果、Zhang[2]は、
図4bに関連して説明されているような配置構成を単独でサポートすることがない。
【0106】
しかし、さらに検討されているように、しばしばアップリンク帯域幅および送信機のCPUリソースが共にボトルネックを構成し、この場合、送信機は、
図4bの場合のように、マルチキャストノードを介して送出される唯一のストリームを発生させるように制約されることがある。たとえば、これは、3台以上の端末がライブビデオ電話に参加しているグループビデオ通信のシナリオで起こることがある。このようなシナリオでは、発明者は、多くの種々の最適化目的が考えられることを認識した。たとえば、ある種の場合に、全ての受信機に亘る平均終端間歪みが最小化されるように最適化することを望むことがあり、他の場合に、最大終端間歪みを最小化することが望ましい。
【0107】
これを扱うために、以下に記載された改良型システムおよび方法は、単一の送信ストリームに影響を与える所望の対象目標関数を最適化するために種々のリンクまたはチャネル上のリンク関連特性の集計を使用する。符号化信号ビデオストリームの中の頑健性のレベルは、その後、複数台の受信機に対して最適化されることがある。
【0108】
送信端末上のエンコーダは、送信用の唯一の符号化されたビデオストリームを発生させ、(中継器70を介して)複数台の受信端末22の1台ずつに送信し、そして、複数のそれぞれのチャネルに関連する集計推定値に基づいているので、受信端末12の1台ずつに送信された符号化ビデオストリームは、どんな所定のマクロブロックに対しても実行される同一のレート−歪み最適化計算に基づいて到達した、所定のマクロブロックに対する同一のモード選択を収容する。これは、アップリンク帯域幅および送信機でのCPUリソースを節約する。
【0109】
第1の実施形態では、関数fは、受信機に対するパケット損失確率の組に適用される。すなわち、L台の受信機22に対して:
p=f(p
0+p
1’−p
0p
1’,p
0+p
2’−p
0p
2’,...,p
0+p
L’−p
0p
L’) (3a)
であり、ここで、
図4bに示された構造体、すなわち、マルチキャストノードを介する送信機12から受信機22までの数lの損失確率は:
1−(1−p
0)(1−p
l’)=p
0+p
1’−p
0p
l’ (3b)
として表現される可能性がある。
【0110】
集計されたパケット損失確率pは、その後、エンコーダの内部で式(3)において使用される可能性がある。実例関数は、最適化目的が何であるかに依存して最大値、中央値、または平均値である。たとえば、最大パケット損失に基づく最適化は、最悪のリンクに対して(平均で)最適終端間レート歪み性能を、その結果、その他のリンクに対して最適に満たない性能(必要とされることになるソース符号化歪みより高い歪み)を保証する。
【0111】
第2の実施形態では、送信機12は、受信機22のそれぞれの1台へのチャネルのそれぞれの1つずつに対して、L個の異なる誤り伝搬マップを追跡する。これは、各受信機22と、これのそれぞれのチャネルとに対して式(3)を適用し、しかし、式(3)の中の一般的なパラメータpの代わりに各チャネルに対して式(3b)のそれぞれの損失確率を使用することにより達成されることがある。
【0112】
パケット損失確率に関して一意である送信機−受信機ペアのみが追跡される必要がある。たとえば、種々のリンクを少数の異なるクラス(たとえば、低パケット損失、中間パケット損失、および高パケット損失のクラス)に分類することによって、より少数の歪みマップを追跡することも可能である。
【0113】
種々のリンク(チャネル)に対する種々の歪みマップを仮定すると、式(2)のモード選択において適用する(概念的には第1の実施形態に類似する)集計誤り伝搬参照歪み、たとえば:
D
ep−ref(m(k),o)=f(D
ep−ref(m(k),o|link
1),...,D
ep−rer(m(k),o|link
L)) (4a)
を作成することが可能であり、式中、fは、たとえば、上記と同様に、最大値、中央値、または平均値である可能性がある。
【0114】
第2の実施形態の選択自由であるが、特に有利な実現では、デコーダで受信されるか、または、失われたパケット(またはフレームもしくはスライス)をシグナル通知する、受信機の全部(または一部)からの利用可能なフィードバック情報が存在する。概して、種々のパケットは、マルチキャストノードから1台ずつの個別の受信機までの種々のリンク上で失われることがある。フィードバック情報は、種々の歪みマップをリセットし、再計算するために送信機のエンコーダで使用されることがある。個別の歪みマップは、種々のリンクが同一の損失確率を有するときであっても種々の受信機に対して追跡される。
【0115】
図5は、フィードバックに基づいて歪みマップの更新を実施するために使用されることがあるエンコーダおよびデコーダのシステムを描く概略ブロック図である。好ましくは、エンコーダは、送信端末12の記憶装置14および処理装置16の中に明示され、デコーダは、受信端末22の記憶媒体24および処理装置26の中に明示される。送信端末12上のエンコーダは、符号化モジュールと、デコーダで実行されるような復号化をミラーリングまたは近似する復号化モジュールのエンコーダ側インスタンスとを備える。符号化モジュールは、順方向変換モジュール51および量子化器53を備え、もしかすると、エントロピー・エンコーダのような1つ以上の他の段階を備える。エンコーダ側復号化モジュールは、逆量子化器63および逆変換モジュール61と、もしかすると、エントロピー・デコーダのような1つ以上の他の段階を備える。エンコーダは、動き補償予測(MCP)モジュール44と、減算段(−)とをさらに備える。これらのエンコーダ要素の間の接続の説明のため、再び
図3を参照する。
【0116】
さらに、
図3には示されないが、エンコーダは、エンコーダ側復号化モジュール61、63と動き補償予測モジュール44との間のパスに接続された復号ピクチャバッファ65をさらに備える。復号ピクチャバッファ65は、1つずつが短期間参照または長期間参照のいずれかを保持するものとして特徴付けられることがある複数の構成バッファ領域を備えることがある。
図5では、復号ピクチャバッファ65は、1つ以上の短期間参照66、1つ以上の非肯定応答長期間参照67、および1つ以上の肯定応答長期間参照68を保持するものとして示される。「参照」はリファレンスと言及されてもよい。
【0117】
各構成バッファ領域は、再構成された(すなわち、符号化され、その後、エンコーダで見えることになるようなフレームまたはスライスを表現するために復号化モジュール61、63のエンコーダ側インスタンスによって再び復号化された)、1つ以上の先に符号化されたフレームまたはスライスを記憶するために動作可能である。これらの再構成された、先に符号化されたフレームまたはスライスは、現在フレームまたはスライスのインター予測符号化において参照として用いるため、すなわち、符号化される対象ブロックがバッファの中の参照ブロックと相対的に符号化される可能性があるように提供される。
【0118】
受信端末24上のデコーダは、動き補償予測モジュール44のデコーダ側インスタンス44’、61’、63’、65’、66’、67’および68’と、復号化モジュール61、63と、対応する短期間および長期間参照66、67および68を記憶するように配置構成されている復号ピクチャバッファ65とを備える。
【0119】
受信端末24上のデコーダは、フィードバックチャネルを介して送信端末12上のエンコーダと通信するように構成されている。フィードバックは、好ましくは、同一のネットワーク32、たとえば、インターネットのような同一のパケットベース・ネットワークを経由し、このネットワーク32によってビデオストリームが受信端末22に送信されるが、代替的なフィードバックメカニズムの可能性は、排除されない。
【0120】
図5の典型的な実施を参照すると、フィードバックは、デコーダでの復号ピクチャバッファ65’に関する情報を含んでいると考えられる。このフィードバックを仮定すると、エンコーダは、たとえば、デコーダ内のどのフレームまたはスライスが誤り伝搬歪みを全く含むことなく復号化されたかが分かる。
図5では、復号ピクチャバッファ65内のエントリ68は、このような肯定応答された誤りのないフレームを参照する。復号ピクチャバッファ65内のエントリ67は、肯定応答されていないフレームを参照する。フィードバックメカニズムは、(どのフレームが失われたかに関する情報に加えて)デコーダで利用できる最後に肯定応答された長期間参照が何であるかをエンコーダに知らせるために使用される可能性がある。
【0121】
本発明の第2の実施形態の選択自由のフィードバックベースの具現化において、パケットおよび/またはフレーム到着状態のような、受信端末22のうちの1台以上からエンコーダにフィードバックされた情報は、受信端末22のうちのそれぞれの1台以上に対するエンコーダにおける対応する歪みマップを調節し、それによって、Zhang et al.による方法と比べて全体的なレート−歪み性能を改善するために使用される。
【0122】
各フレームまたはフレームのスライスに対する誤り伝搬歪みマップD
epは、受信端末22のうちの1台ずつに関して、エンコーダの復号ピクチャバッファ65内にこのフレームまたはスライスと関連付けて記憶される。各フレームまたはスライスに対して、エンコーダでの復号ピクチャバッファ65は、対応する誤り隠蔽再構成歪みマップD
ec−recと、誤り隠蔽誤り伝搬マップD
ec−epと、対応するモード決定oと、動きベクトル情報とをさらに記憶する。フィードバック情報が受信端末のうちの1台以上のデコーダから受信された場合、このフィードバック情報は、その後、それぞれの1つ以上のチャネルに対する対応する決定マップ(群)を更新するためにエンコーダによって使用される可能性がある。フィードバックに基づいて更新される歪みマップはどれもが更新されない歪みマップと同じ方法で集計誤り伝搬歪みの式に入力される。式(3)および(4a)を再び参照する。フィードバック情報は、推定歪み追跡が精緻化されることを可能にして、より優れたレート−歪み性能をもたらす。
【0123】
好ましくは、どのような所定の受信機22に対しても誤り歪みマップの更新は、以下のとおり達成される。エンコーダが特殊なフレームまたはスライスがデコーダに到達することに成功したことをシグナル通知するフィードバック情報を受信する場合、誤り隠蔽寄与度D
ec−recおよびD
ec−epは、式(3)において誤り伝搬歪みマップD
epから取り除かれる可能性がある。逆に、特殊なフレームまたはスライスがデコーダで失われたことをシグナル通知するフィードバック情報が受信された場合、関連した誤り伝搬歪みマップD
epは、誤り隠蔽歪みからの寄与度、すなわち、式(3)の右辺の第2および第3項、すなわち、(事前損失確率推定値pによって正規化された)D
ec−recおよびD
ec−epのみを組み入れるように再計算される。
【0124】
その結果、ラウンド・トリップ・タイム(RTT)が復号ピクチャバッファ内の参照ピクチャの個数と比較して小さい場合、式(3)を再帰的に適用することにより、時点n−RTTでの調節された潜在的な誤り伝搬マップD
epを時点n−1での誤り伝搬歪みマップに伝搬させることが可能である。時点n−1での更新された誤り伝搬歪みマップD
epは、その結果、モード選択プロセス(2)において使用される時点nでのD
ep−refの計算の基礎となるであろう。これは、結果として、潜在的な歪みマップのより正確な追跡をもたらし、それ故に、システムの全体的なレート−歪み性能を改善する。
【0125】
上記は、
図4bの好ましい適用に関して説明されているが、
図4aは、送信端末30が同一の符号化されたビデオストリームのそれぞれのインスタンスをインターネットのようなパケットベース・ネットワーク32を介するそれぞれの接続を経由して受信機22の1台ずつに送信する本発明の代替的な適用による配置構成を例示する。この場合、各チャネルは、送信機12とそれぞれの受信機22との間に確立されたそれぞれの接続を備える。このシナリオでも、各チャネルに関して完全な損失適応型レート−歪み最適化プロセスを実行するために送信機のCPUリソースに追加の負担をそれでもなお課すことがある。その結果、単一の符号化されたビデオストリームの複数のインスタンスを複数台の受信機に送信し、このようにして、アップリンク上でなくても、送信機での処理リソースを節約するためにレート−歪み最適化プロセスを集計することが依然として望ましいことがある。
【0126】
発明の上記実施形態をこのシナリオに適用するため、式(3a)および(3b)においてi番目のチャネルに対するパケット損失の確率は、ちょうど送信機12とそれぞれの受信機22との間のそれぞれの接続を介する損失の確率p
1まで低減し、その結果、同一の技術を適用することが可能である。
【0127】
図4aの送信機12上のエンコーダは、その結果、同一の符号化されたビデオストリームのそれぞれのインスタンスを受信端末12の1台ずつに送信することが可能であり、この場合も同一のレート−歪み最適化計算に基づいて到達した所与のマクロブロックに対して同一のモード選択を含んでいる。これは、送信機でのCPUリソースを節約する。
【0128】
上記実施形態は、単なる一例として記載されていることが認められるであろう。
【0129】
概して、上記は、スライス、マクロブロック、および、ブロックまたはサブブロックの観点から説明されているが、これらの用語は、必ずしも限定的であることが意図されず、本書に記載された考え方は、フレームを分割または再分割する何らかの特殊な方法に限定されるものではない。さらに、歪みマップは、フレーム全体またはフレーム内の領域を対象とすることがあり、符号化決定プロセスは、フレーム全体、または、フレーム内のある領域のみに適用されることがある。予測ブロック粒度は、(可能性は排除されないが)歪みマップ粒度と同じであること、または、歪みマップ粒度に関係させられることさえ必要でないことにも注意すべきである。
【0130】
差分二乗和(SSD)は、差分絶対和(SAD)と比べると、結果としてより高い品質をもたらすので、多くの場合に差分の尺度として好ましいが、後者の可能性またはその他の可能性が排除されることはなく、概して、発明は、歪みを定量化する基礎としてサンプルの間の差分の何らかの尺度を使用して実施されることがあり得る。
【0131】
広くは、レートの尺度は、予測を記述するパラメータおよび量子化された変換係数を含む全ての必要とされるパラメータの符号化をさらに明らかにする。この種の最適化は、本書では、完全なレート−歪み最適化(RDO)と呼ばれることがある。より複雑性の低い実施形態では、しかし、歪みおよび/またはレート項は、いくつかの、しかし、全部ではない処理段階の効果のみを考慮することにより、たとえば、予測の効果のみを考慮することにより近似されることがある。
【0132】
さらに、本発明は、2つのフレームn−1およびn、または、nおよびn+1などの観点から説明されているが、発明のある種の実施形態では、これらは、(既存のコーデックの場合、そうであるかもしれないが)2個の隣接するフレームを参照する必要がない。いくつかの実施形態では、インター予測がさらに先行のフレームと相対的に実行されることがあり得るので、n−1およびn、または、nおよびn+1が先に符号化されたフレームまたは画像部分と、そこから予測される後に続くフレームまたは部分を参照するために本発明に関連して使用されることが可能である。
【0133】
損失に起因する寄与度は、本願において言及されるか、または、データがチャネルなどを介して失われた「場合に」何が起こるかについて記載している何かであるが、このことは、デコーダに起こったかもしれないことに関して、エンコーダは、当然ながら何が起こるかを知らないが、エンコーダによって行われた確率的仮定(たとえば、p)のみに関係していることに留意を要する。確率的仮定は、統計的ネットワークモデリングに基づいて設計段階で予め決められることがあり、および/または、デコーダからのフィードバックに基づいて動的に決定されることさえあり得る。
【0134】
その他の変形例は、本書における開示により、当業者に明らかになるであろう。発明の範囲は、記載された実施形態ではなく、特許請求の範囲のみによって限定される。