(58)【調査した分野】(Int.Cl.,DB名)
エンコードされた奥行きピクチャのある部分にアクセスする段階であって、前記奥行きピクチャは、画像ピクチャ中の対応する諸位置の奥行きを示す情報を含み、前記エンコードは、前記部分の複数の区画についての強度値を示す一つまたは複数の値インジケータのエンコードを含む、段階と、
前記複数の区画の少なくとも一つを同定する段階と、
前記少なくとも一つの区画を、前記画像ピクチャに基づいて洗練する段階であって、洗練された区画を与える、段階と、
前記一つまたは複数の値インジケータの前記エンコードをデコードする段階と、
前記一つまたは複数のデコードされた値インジケータに基づいて、前記洗練された区画中の諸ピクセルについての値を決定する段階とを含み、
前記洗練する段階が、前記複数の区画中の所与のピクセル位置について:
前記所与のピクセルについて類似性領域を形成する段階であって、前記類似性領域が特定のピクセル位置を含むのは、前記特定のピクセル位置における前記画像ピクチャ中のピクセルの強度と前記所与のピクセル位置に対応する前記画像ピクチャ中のピクセルの強度との間の差が閾値未満である場合である、段階と、
前記類似性領域が最も大きく重なる区画を判別する段階と、
前記所与のピクセル位置を前記判別された区画に割り当てる段階と、
を含む、デコード方法。
前記アクセスされるエンコードがさらに、前記部分を前記複数の区画に分割することにおいて使われる複数の分割オプションのうちの一つを示す分割インジケータのエンコードを含み、
当該方法がさらに、前記分割インジケータのエンコードをデコードする段階を含み、
前記複数の区画の少なくとも一つを同定する段階が、前記デコードされた分割インジケータに基づく、
請求項1記載の方法。
【発明を実施するための形態】
【0011】
効率的に奥行きマップをエンコードするために、奥行き変動および込み入ったエッジの表現を簡略化することが有利である。これらの表現は、エンコードするのがずっと簡単であり、新しい符号化モード、疎二分モード(Sparse Dyadic Mode)にもつながる。ある実施形態では、奥行きマップの詳細を復元するために、2Dビデオからのエッジ情報が、簡略化された奥行きと一緒に利用される。結果として得られるシステムは、レンダリングされるビューの品質を維持しつつ、奥行きビットレートを削減できる。さらに、圧縮された奥行きマップ内の強い符号化アーチファクトを抑制するため、個別的諸実施形態では、新しい、エッジを保存するノイズ除去フィルタが使用される。この目的に向け、具体的諸フィルタは、対応するビデオ・フレームおよび任意的には奥行きマップにおけるエッジ情報を利用する。具体的諸フィルタのフィルタ重みは、次の因子によって決定される:サンプル位置の近さ、ビデオ・フレーム中の共位置の(collocated)ピクセル間の類似性および任意的には奥行きサンプル間の類似性である。フィルタ処理プロセスは、ループ内フィルタとして、符号化方式に組み込まれてもよい。ブロック解除フィルタのような従来のループ内フィルタに比べ、本願の原理は、所与の奥行き符号化ビットレートにおいてレンダリング品質を改善しうる。
【0012】
以下の議論はさまざまな実施形態および多くの実施形態に共通する一般的な原理を呈示する。ただし、特に断りのない限り、一つまたは複数の実施形態に固有の限定および制約条件は、それらの実施形態だけに固有であり、あらゆる実施形態に適用可能な一般的な限定または制約条件ではない。
【0013】
〈疎二分モード(Sparse Dyadic Mode)〉
疎二分区画(sparse dyadic partition)は、根底にある詳細な奥行きの、ずっと効率的にエンコードできる大雑把な近似のはたらきをするので、奥行きエッジを表現するのに有用である。疎二分符号化モードは、奥行き符号化の効率を改善するために設けられる。2Dビデオ・フレームからのエッジ情報が奥行きマップ中の詳細を復元するために使われる。奥行きマップ中のエッジのような詳細を復元するために従来の2Dビデオを使うことは、奥行きマップがそれほど高い忠実度をもってエンコードされる必要がないということを意味する。よって、簡単にエンコードできる簡略化された奥行きマップが与えられる。ビデオと組み合わされると、レンダリング目的のために詳細な奥行きマップが復元される。
【0014】
図1では、M×Nの奥行きブロックLについての5つの簡略化された表現Siが呈示されている。これらは疎二分(SD: Sparse Dyadic)区画と称される。ブロック内のサンプル値はS0においてはただ一つの値Aによって、あるいはS1〜S4においては直線によって隔てられる二つの値AおよびBによって、近似される。そのような少数の値および境界としての直線を用いると、SD区画のエンコードが要求するビットは、もとの詳細な奥行きLをエンコードするより、有意に少なくなる。直線の境界については四つの可能な位置しかないので、境界を信号伝達するための副情報は、境界があまりに多くの可能な方向および位置をもつことができる他のアプローチより少なくなる。
【0015】
これら五つのSD区画は単に簡略化された表現の例であることを注意しておく。提案される概念を用いて、他の簡略化された表現も構築できる。たとえば、詳細な奥行きを復元するための十分な情報を提供しつつエンコードするのが簡単な大雑把な近似である。
【0016】
奥行き符号化のための二つの例示的な実施形態が以下に示される。第一の実施形態については、もとの奥行きマップがまず処理され、SD区画を使う簡略化された表現をもつブロックにつながる。次いで、簡略化された奥行きが、H.264/AVCのような従来のビデオ符号化方式を用いてエンコードされる。第二の実施形態では、新しい符号化モード「疎二分モード(Sparse Dyadic Mode)」が導入される。レート‐歪み最適化において、エンコーダは、新しいSDモードおよびH.264/AVCのような任意の従来の符号化モードを評価する。
新しいSDモードでエンコードされるブロックについての歪みをよりよく推定するために、第二の実施形態では「ブロック洗練(block refinement)」プロセスが設けられ、これがさらに符号化効率を改善する。
【0017】
〈SD区画(SD partitions)および奥行きマップ符号化のための統合フィルタ処理(joint filtering)〉
第一の実施形態では、エンコーダ側で、もとの奥行きマップが処理されて、SD区画をもつ簡略化された表現が得られる。次いで、結果として得られる奥行きマップ・シーケンスが従来のビデオ符号化技法を用いて、たとえばH.264/AVCを使ってエンコードされる。デコーダ側では、簡略化された奥行きマップおよび対応するビデオ・フレームのデコード後、ビデオ・フレームからの情報を使う統合二面フィルタを用いて詳細な奥行きマップが復元される。
【0018】
ここで
図2を参照するに、この実施形態の枠組みの高レベルのブロック図が示されている。エンコード・モジュール202は、入力ビデオ・シーケンスおよび対応する入力奥行きシーケンスを受け取る。入力ビデオ・シーケンスは従来のビデオ・エンコーダ206によってエンコードされる。奥行きシーケンスは、まずフィルタ204において、奥行きマップ処理されてから、対応する従来のビデオ・エンコーダ206によってエンコードされる。次いで二つのエンコードされた信号はデコード/レンダリング・モジュール208に伝送される。各信号は対応する従来のビデオ・デコーダ210によってデコードされる。両方のデコーダの出力は、ビデオ情報を使ってフィルタ除去された奥行き情報を復元する奥行きマップ復元モジュール212によって使用される。次いでビュー合成(view synthesis)ブロック214がビデオおよび奥行き情報を使って、合成されたビューを生成する。これにより三次元ビデオの表示ができる。
【0019】
ここで
図3を参照するに、奥行きマップ処理を実行する方法のブロック/流れ図が示されている。302において、入力奥行きマップは、重なり合わないブロックに分割される。これらのブロックはたとえばサイズM×Nをもつ。304および306において変数が初期化され、ブロック・インデックスを0に設定し、歪みD_maxについての初期値を大きな数(M×Nブロックにとって可能な最大の歪み、つまり255×M×Nなど)に設定し、SD区画インデックスを0に設定する。308では、各M×Nブロックについて、SD区画が、対応する代表値とともに得られる。代表値は、対応するコーナー・エリアにおけるサンプル値を使って計算できる。たとえば
図4を参照するに、奥行きブロックLはSDモードS2を使って表現され、AおよびBはL内の左上のサンプル値および右下のサンプル値によって決定される。各SDモードについて代表値が計算される。これらの代表値は、各区画における個別のピクセルの輝度またはクロミナンスを表してもよいし、あるいは複数のそのようなピクセルの強度を表してもよい。
【0020】
310では、各SDモードと奥行きブロックLとの間の歪みが計算される。歪みメトリックD(L,Si)は、式(1)のような差分絶対値和(SAD: sum of absolute difference)または式(2)のような平方誤差和(SSE: sum of squared error)を使って計算できる。
ここで、mおよびnはサンプル位置のインデックスである。
【0021】
【数1】
各SDモードの歪みは、ブロック312において、最大歪みと突き合わせて検査される。所与のSDモードの歪みDiが最大歪みより小さければ、ブロック314においてその歪みDiは最大とされ、そのSDモードが選択される。その歪みが最大歪みより大きければ、あるいはSDモードが選択されていたら、ブロック316が、評価すべきさらなるSDモードがあるかどうかを判定する。もしあれば、ブロック318でiをインクリメントして、次のモードを考えるために処理はブロック308に戻る。
【0022】
ひとたび最良のSDモードが選択されると、320において奥行きブロックLが、選択されたSDモードを使って表現される。判断ブロック322は、処理すべきさらなる奥行きブロックがあるかどうかを判定する。もしあれば、324においてブロック・インデックスbがインクリメントされ、処理は306に戻る。もしなければ、326において、処理された奥行きマップが出力され、H.264/AVCのような従来のビデオ・エンコーダに送られてもよい。この実施形態については、エンコーダは再構成されたビデオにアクセスする必要はなく、符号化モード決定は、どの疎二分区画を使うかの選択とは分離される。これはまた、疎二分区画および符号化モードの選択を統合して考える符号化方式に比べ、符号化効率が最適でないことをも含意する。たとえば、最初は最低の歪みをもつ特定の疎二分区画が選択される一方、H.264/AVCエンコード後は、追加的な圧縮歪みのためもとのブロックを表現するために最良の選択ではなくなることもありうる。
【0023】
詳細な奥行きの復元は、
図2において「詳細な奥行きマップの復元」ブロック212において実行される。デコーダ側208では、簡略化された奥行きマップSはまず通常のビデオ・デコーダ210を使ってデコードされる。S'と記される詳細な奥行きマップを復元するために、対応する再構成されたビデオにおける境界情報が使用される。具体的には、ビデオ・フレームにおける境界を横切るサンプル値の差が、奥行き境界を同定するために利用できる。画像は、たとえば二面(bilateral)フィルタまたは重み付き最小二乗(WLS: weighted least-square)フィルタを使って、エッジを保存しながら、フィルタ処理されてもよい。この実施形態では、そのようなフィルタは、奥行きマップ内の詳細を復元212するために、ビデオ・チャネルからのエッジ情報とともに使用されうる。
【0024】
この実施形態では、一例として、ビデオ境界情報を使って詳細な奥行きを復元するために、統合二面フィルタが使用されてもよい。奥行きマップ中の所与のサンプル位置pについて、フィルタ処理された出力S'pは、(pを中心とする範囲Ω内の)位置qにおける近隣サンプルの重み付けされた平均である。重みは、二つの因子に基づいて決定される:定義域フィルタf(||p−q||)によって決定されるpとqの間の距離と、ビデオ・フレーム中の対応するサンプル値の間の類似性、すなわち値域フィルタg(||Ip−Iq||)によって決定される、IpとIqの間の類似性である。用語「統合二面フィルタ(joint bilateral filter)」は、値域フィルタがビデオ・フレームIから入力を受け、一方、重みは奥行きマップSに適用されるという事実に言及している。一般に、定義域フィルタは、位置pからより遠くのサンプルにより小さな重みを割り当てる。すなわち、距離||p−q||が増すとともに重みは減少する。他方、値域フィルタは、サンプルIqに対し、Iqと似ていない値をもつほど小さな値を割り当てる。すなわち、IpとIqの間の差が増すほど、重みは減少する。このプロセスは次のようにまとめることができる。
【0025】
【数2】
ここで、Kp=Σq=Ω(f(||p−q||)g(||Ip−Iq||))である。上記のように、pおよびqはサンプル位置であり、SはSD区画をもつ簡略化された奥行きマップであり、S'はフィルタ処理された奥行きマップであり、IpおよびIqは位置pおよびqにあるビデオ・フレーム中のピクセルであり、Kpは規格化因子である。洗練された奥行きS'が得られたのち、それは、デコードされたビデオ・シーケンスと一緒に、仮想ビューを合成するために「ビュー合成」ブロック214に与えられる。
【0026】
ここで
図5を参照するに、詳細な奥行きマップ復元のブロック/流れ図が示されている。ブロック502において、デコードされた奥行きマップ(たとえばビデオ・デコーダ210によって生成される)が、入力として受領される。ブロック504において、奥行きサンプル・インデックスpが0に初期化される。506は、ビデオ・フレームからの情報を使うことによって、たとえば統合二面フィルタを使うことによって、詳細な奥行きSp'を復元する。ブロック508は、フィルタ処理すべきさらなるピクセルが当該ブロック内に残っているかどうかを判定する。もしあれば、サンプル・インデックスがインクリメントされて、処理はブロック506に戻る。それ以上のピクセルが残っていなければ、処理は終了する。
【0027】
〈奥行きマップ符号化のための疎二分モード(Sparse Dyadic Mode)〉
この実施形態では、奥行きエンコーダ/デコーダにおいて、ビデオのための新しい奥行き符号化モード、疎二分(SD: Sparse Dyadic)モードが設けられる。SD分割が信号を通常のビデオ・エンコーダに供給するのに先立つ前処理として行われる上記の実施形態に比較して、この新しいSDモードは、近似されたエッジおよび奥行き代表値をエンコードする。実験によれば、この新しい導入されるSDモードが、符号化効率およびレンダリング品質の面で、上記の実施形態に対して利点をもつことが示されている。
【0028】
ここで
図6を参照するに、SDモードを実装する奥行きエンコーダが示されている。奥行きエンコーダは、
図43に関して後述するビデオ伝送システムの一部として実装されてもよい。入力奥行きシーケンスは、加算器601ならびに変位補償ブロック620および変位推定ブロック618に到達する。加算器601へのもう一つの入力は、スイッチ623を通じて受領される多様な可能な参照ピクチャ情報の一つである。
【0029】
たとえば、スイッチ623と信号通信するモード決定モジュール624が、エンコード・モードが現在エンコードされている同じブロックまたはスライスを参照するイントラ予測であるべきであると決定する場合、加算器はその入力を、イントラ予測モジュール622から受け取る。あるいはまた、モード決定モジュール624が、エンコード・モードが現在エンコードされているスライスまたはブロックとは異なるブロックまたはスライスを参照する変位補償および推定であるべきであると決定する場合、加算器はその入力を、変位補償モジュール620から受け取る。さらに、モード決定モジュール624が、エンコード・モードがSDモードであるべきであると決定する場合、加算器はその入力を、ビデオ参照バッファ614と信号通信するSD予測モジュール616から受け取る。
【0030】
加算器601は、変換モジュール602に信号を与える。変換モジュール602は、入力信号を変換して変換された信号を量子化モジュール604に与えるよう構成されている。量子化モジュール604は、受領された信号に対して量子化を実行して、量子化された情報をエントロピー・エンコーダ605に出力するよう構成されている。エントロピー・エンコーダ605は、入力信号に対してエントロピー符号化を実行して、ビットストリームを生成するよう構成される。逆量子化モジュール606は、量子化モジュール604から量子化された信号を受け取り、量子化された信号に対して逆量子化を実行するよう構成される。逆変換モジュール608は、モジュール606から逆量子化された信号を受け取り、受領した信号に対して逆変換を実行するよう構成される。モジュール606および608は、加算器601から出力される信号を再生成または再構成する。
【0031】
加算器または組み合わせ器609は、逆変換モジュール608およびスイッチ623から受領される信号を加え(組み合わせ)、結果として得られる信号をイントラ予測モジュール622およびブロック解除フィルタ610に出力する。さらに、イントラ予測モジュール622は、その入力信号を使って上で論じたようなイントラ予測を実行する。同様に、ブロック解除フィルタ610は加算器609から受領される信号をフィルタ処理して、フィルタ処理された信号を奥行き参照バッファ612に与える。奥行き参照バッファ612は奥行き情報を変位推定および補償モジュール618および620に与える。SD予測モジュール616は入力奥行きシーケンスおよびビデオ参照バッファ614および加算器609からの情報を受け取ってSDモード情報を提供する。
【0032】
SDモードについては、各SD区画について、簡略化された奥行き代表(値AおよびB)をもつ、
図1に示した五つのSD分割型が使われる。SD分割はさらに四つのMB区画型、MODE_16×16、MODE_16×8、MODE_8×16、MODE_8×8に適用される。たとえば、MODE_16×8では、16×8ブロック(上および下)のそれぞれが、
図1における五つのSD分割の一つを用いてエンコードされることができる。追加的モードとして、SDモードは、さまざまなインターおよびイントラ・モードのような他の従来の符号化モードと突き合わせて評価される。モード評価および決定プロセスは、高い符号化効率を達成するためにレート‐歪み最適化に基づいていてもよい。
【0033】
ここで
図7を参照するに、種々のMB区画をもつSDモードを使ってマクロブロック(MB)を予測するプロセスのブロック/流れ図が示されている。ブロック702では、レート歪み(RD)コストが大きな数に設定され、MB区画モード・インデックスkが0に設定される。ブロック704では、現在MBがモードkを使って分割され、複数のサブMBを与える。ブロック706においてサブMBインデックスjは0に設定される。各サブMB jについて、ブロック708において、歪みDk,j(上記の式(1)および(2)参照)に基づいて最良のSDを決定するために、SD区画が評価される。任意的に、歪みの代わりに、推定されたレートRk,jが使用されてもよい。このステップはのちにより詳細に説明する。
【0034】
ブロック710において、エンコードすべきさらなるサブMBがあると判定される場合、ブロック712においてjがインクリメントされ、プロセスはブロック708に戻る。そうでない場合、ブロック714が歪みDk=ΣjDk,jを計算し、すべてのサブMBの選択された諸SD区画に基づいてレートRkを計算する。ブロック718において、MB区画kのRDコストが、Jk=Dk+λRkとして計算される。ブロック720においてRDコストが最大(max)より小さい場合、ブロック722において、最大は現在のRDコストに設定され、MB区画モードは現在のモードに設定される。そうでない場合、処理はブロック724までスキップして、評価すべきさらなるMB区画モードがあるかどうかを判定する。もしなければ、処理は終了する。もしあれば、次のMB区画モードが選択され、処理はブロック704に戻る。
図7は、
図6の疎二分予測ブロック616において使用される例示的なプロセスを表している。
【0035】
ここで
図8を参照するに、ブロック708を参照して上述した、MB区画k内のサブMB jについて最良のSD区画を決定するためのブロック/流れ図が示されている。ブロック802において、最大歪みが大きな数に設定され、SD区画インデックスは0に設定される。ブロック804は、評価すべきSD区画Siを取得する。ブロック806は、ビデオ・フレーム中の対応するブロックを使って区画Siを洗練する。区画の洗練は、のちに詳細に述べる。ブロック808は、二つの区画についての値AおよびBを見出す。ブロック810は、洗練された、分割されたブロックともとの奥行きブロックLとの間の歪みDiを計算する。歪みは、SAD(式(4))またはSSE(式(5))を使って
【数3】
として計算されうる。ここで、mおよびnはサンプル位置インデックスである。歪みはもとの奥行きと洗練された奥行きの間で計算されていることを注意しておく。これは、エンコードされるべき残差の量を減らすことになる。さらに、その場合、洗練された奥行きブロックは、さらなるブロックの予測符号化のための再構成されたブロック(たとえば、同じフレーム内のイントラ・ブロックについての予測子または他のフレームにおけるインター・ブロックについての予測子)として使われることになる。
【0036】
ブロック812は、ポリシー決定を表しており、SDモード決定をなすにあたってRDを使うかどうかを決定する。RDが使われない場合、ブロック814は、現在の歪みDiがD_maxより小さいかどうかを判定する。もしそうであれば、現在の区画が選択され、D_maxは現在の歪みに設定され、処理はブロック828に続いて、評価すべきさらなるSDモードがあるかどうかを判定する。もしそうでなければ、ブロック814から直接ブロック828に進む。
【0037】
RDが使用される場合、ブロック812は第二の分枝を取り、ブロック818が代表値についての予測子を計算する。ブロック820は、第一に予測子と代表値の間の差を、第二に残差Diをエンコードすることによって、レートRiを計算する。AおよびBについての予測子は、空間的な近隣サンプルを使って生成されることができる。コストCiは、ブロック822において、Di+λRiとして計算される。ブロック824は、このコストが最大コストより小さいかどうかを判定する。もしそうであれば、最大コストは現在のコストに設定され、SD区画は現在の区画に設定される。次いで処理はブロック828に進む。
【0038】
ブロック828が評価すべきさらなるSDモードがあると判定する場合、ブロック830においてSDモード・インデックスがインクリメントされてから、処理はブロック804に戻る。すべてのSDモードの評価が終わっていれば、ブロック832はMB区画モードk内のサブMB jの歪みをDk,j=D_maxと設定する。各サブMB jについてブロック832において見出された歪みは累積されて、MB区画kの全歪みDkが得られる。各サブMB jについての選択された区画および奥行き代表が、MB区画kのレートを計算するために使われる。
【0039】
SD区画は、根底にある奥行きブロックについての非常に大雑把な表現を提供する。よって、歪みがもとの奥行きブロックとSD区画の間の差として直接計算される場合、他の従来の符号化モードに比べ、歪みがずっと大きいことがあり、結果として、最適でないRDモード決定につながることがありうる。さらに、SD区画をもつブロックが、近隣ブロックについて(イントラ・モード)または他のフレームにおけるブロックについて(インター・モード)予測子のはたらきをするのに十分な詳細を含まないこともありうる。
【0040】
SD区画についての洗練プロセスはこれらの問題に対処することができる。このプロセスは、
図8におけるブロック806に対応する。区画は、ビデオ・フレームにおける共位置のブロックを使って奥行き境界詳細を復元することによって洗練されうる。このプロセスの入力は:SD区画iにおいて表現されているMB区画k内のサブMB jに対応する奥行きブロックSiと;再構成されたビデオにおける共位置のブロックである。このプロセスの出力は、洗練されたブロック
【数4】
である。
図9は、洗練プロセスの図的な表現を示している。
【0041】
ここで
図10を参照するに、洗練プロセスを記述するブロック/流れ図が示されている。ブロック1002において、奥行きブロック・サンプル・インデックスpは0に設定され、二つの空の区画Pa'およびPb'が生成される。ブロック1004において、共位置のビデオ・サンプルIpが取得される。ブロック1006では、Ipの閾値範囲内のすべてのサンプルが見出される。ここで、閾値Tはユーザーによって選択されてもよい。閾値範囲内のすべてのサンプルIqの集合は、奥行きサンプルpについての「類似性エリア」をなす。
図9の例では、黒い点の位置におけるサンプルについて、その類似性エリアは灰色の領域である。
【0042】
ブロック1008は、二つの区画のどちらが類似性エリアとより多く重なるかを判定する。Pa'がより多く重なる場合には、ブロック1010において、サンプルpはPa'に割り当てられる。Pb'がより多く重なる場合には、ブロック1012において、サンプルpはPb'に割り当てられる。次いでブロック1014は処理すべきさらなるサンプルがあるかどうかを判定する。もしあれば、サンプル・インデックスpはインクリメントされ、処理はブロック1004に戻る。もしなければ、ブロック1018において、結果として得られるPa'およびPb'がSDモードについての洗練された区画をなす。洗練されたブロック
【数5】
を得たのち、代表AおよびBが計算される。次いで、もとの奥行きLと
【数6】
との間の歪みが計算される。
【0043】
ここで
図11を参照するに、奥行きマップにおけるSD予測を扱うデコーダのブロック図が示されている。このフィルタは、のちの
図44に関して記述されるビデオ受信システム4400において示されるようなデコーダ4406の一部として実装されてもよい。再び
図11を参照するに、デコーダは、ビットストリーム受信機1102を使ってビットストリームを受信するよう構成されることができる。ビットストリーム受信機1102はビットストリーム・パーサ1104と信号通信しており、ビットストリームをパーサ1104に与える。ビットストリーム・パーサ1104は、残差ビットストリームをエントロピー・デコーダ1106に伝送し、制御シンタックス要素をモード選択モジュール1116に伝送し、変位(動き/視差(disparity))ベクトル情報を変位補償モジュール1126に伝送するよう構成されることができる。逆量子化モジュール1108は、エントロピー・デコーダ1106から受信されるエントロピー復号された信号に対して逆量子化を実行するよう構成されることができる。さらに、逆変換モジュール1110が、逆量子化モジュール1108から受領される逆量子化された信号に対して逆変換を実行し、逆変換された信号を加算器または組み合わせ器1112に出力するよう構成されることができる。
【0044】
加算器1112は、用いられるデコード・モードに依存して多様な他の信号の一つを受信することができる。たとえば、モード決定モジュール1116が、制御シンタックス要素をパースおよび解析することによって、エンコーダによって現在処理されるブロックに対して実行されたのがSD予測、変位補償またはイントラ予測エンコードのいずれであるかを判定することができる。判定されたモードに依存して、モデル選択制御モジュール1116は、前記制御シンタックス要素に基づいて、スイッチ1117にアクセスし、これを制御することができる。それにより、加算器1112は、SD予測モジュール1124、変位補償モジュール1126またはイントラ予測モジュール1118から信号を受信できる。
【0045】
ここで、イントラ予測モジュール1118はたとえば、現在デコードされている同じブロックまたはスライスへの参照を使ってブロックまたはスライスをデコードするようイントラ予測を実行するよう構成されることができる。また、変位補償モジュール1126は、たとえば、現在デコードされているブロックまたはスライスとは異なる、現在処理されている同じフレームまたは別の以前に処理されたフレームのブロックまたはスライスへの参照を使って、ブロックまたはスライスをデコードするよう変位補償を実行するよう構成されることができる。さらに、SD予測モジュール1124は、たとえば、現在処理されている奥行きマップとは異なる、現在処理されている同じフレームまたは別の以前に処理されたフレームのビデオ・フレームへの参照を使って、ブロックをデコードするようSD予測を実行するよう構成されることができる。
【0046】
予測または補償情報信号を受信したのち、加算器1112は、ブロック解除フィルタ1114に伝送するために、予測または補償情報信号を、逆変換された信号と加算することができる。ブロック解除フィルタ1114は、その入力信号をフィルタ処理して、デコードされたピクチャを出力するよう構成されることができる。加算器1112はまた、加算された信号を、イントラ予測において使うために、イントラ予測モジュール1118に出力することもできる。さらに、ブロック解除フィルタ1114は、フィルタ処理された信号を奥行き参照バッファ1120に伝送することができる。奥行き参照バッファ1120は、その受信された信号をパースして、要素1126による変位補償デコードを許容および支援するよう構成されることができる。この要素1126に対して、奥行き参照バッファ1120はパースされた信号を提供する。そのようなパースされた信号はたとえば、さまざまな奥行きマップの全部または一部であってもよい。ビデオ参照バッファ1122は、たとえばSD区画の洗練において使うために、ビデオ・フレームをSD予測モジュール1124に提供する。
【0047】
デコーダ側では、2Dビデオのフレームが最初にデコードされる。SDモードでエンコードされた特定のMBをデコードするプロセスは、SD予測ブロック1124において実行される。ここで
図12を参照するに、SD予測のためのブロック/流れ図が示されている。ブロック1202はビットストリームをパースして、MB区画モードおよびSD区画モードについてのシンタックスと、奥行き代表値とその予測子との間の差と、残差とを抽出する。ブロック1204は、たとえば上記の洗練プロセスを使うことによって、ビデオ・フレーム中の対応するブロックと、ブロック1202からのパースされた情報とを使って洗練された区画を取得する。ブロック1206は、代表値の予測子を導出する。予測子は、のちに詳細に述べるように、空間的な近隣サンプルを使って導出することができる。ブロック1208は、ブロック1206において計算された予測子を、ブロック1202においてデコードされた差分に加え、奥行き代表値を計算する。次いでブロック1210は残差を洗練された区画に加える。
【0048】
上記の諸例は、区画からのコーナーのサンプルを代表値AおよびBとして使う。たとえば
図1参照。左上および右下コーナーのサンプルがAおよびBを計算するために使われる。これはたとえば、そのコーナーに位置する小さな窓にわたって平均することによる、あるいは単に左上端および右下端のサンプル値を拾うことによる。しかしながら、一般に、コーナーの諸サンプルは、区画全体について良好な代表ではないことがある。選択は、区画内のより多くのサンプルを考えることによって、およびある種の最適化基準を課すことによって、改善されることができる。
【0049】
図10に関して述べた洗練プロセスの記述に基づいて、洗練された区画Pa'およびPb'は、実際の値AおよびBを知ることなく対応するビデオ・ブロックおよびSD区画PaおよびPbを使って構築されることができる。換言すれば、洗練された区画Pa'およびPb'は、まずビデオ情報から得られることができ、次いで各区画についての適正な代表サンプル値が、洗練された区画内のサンプルを考慮に入れることによって決定できるのである。
【0050】
ここで
図13を参照するに、基準に基づいて代表値を決定する方法のブロック/流れ図
が示されている。ブロック1302は、入力としてのPaおよびPbによって記述されるSD区画を得る。共位置のビデオ・ブロックを使って、ブロック1304は上記のようにしてPaおよびPbから洗練された分割Pa'およびPb'を得る。次いでブロック1306が、Pa'およびPb'内のサンプルに基づいて代表値AおよびBを計算する。たとえば、区画内のすべてのサンプルの平均値を代表値として取る、あるいは最も多く出現するサンプル値を取る。もう一つのアプローチは、区画内のすべてのサンプルiについてSADを最小化することである。
【0051】
Pa'について:minAΣi∈Pa'|i−A|
Pb'について:minBΣi∈Pb'|i−B| (6)
このようにして、結果として得られる値AおよびBが、対応する区画内のサンプルについて最小のSADにつながる。実際、(6)を満たす値A(またはB)はPa'(またはPb')内のすべてのサンプルiの中央値である。最良SDモードの広範な探索において、上記の手順はSDモード毎について繰り返され、その洗練された区画Pa'およびPb'が、代表値AおよびBとともに同定される。
【0052】
SD区画内の奥行き代表(値AおよびB)を効率的にエンコードするために、それらの代表を直接エンコードするのではなく、予測符号化が使われる。予測子は近隣ブロックから導出されることができ、予測子と奥行き代表との間の差分だけが符号化される。一般に、時間的に近隣のブロックおよび空間的に近隣のブロックをいずれも利用できる。以下に述べる実施形態では、空間的予測が例として呈示される。
【0053】
所与のMBがSDモードでエンコードされるために、予測子が、
図14に示されるような空間的に近隣のMBから導出される。空間的に近隣のMBは、左上、上、右上または左からのものであってもよい。
図14では、五つのサンプルがp0,p1,…,p4としてハイライトされている。(x,y)が(8×8MBにおける)左上コーナーのサンプル位置を表すとすると、五つのサンプルのサンプル位置の座標はp0:(x,y)、p1:(x+7,y)、p2:(x+15,y)、p3:(x,y+7)、p4:(x,y+15)として与えられる。
【0054】
ここで
図15を参照するに、サンプル・ベース予測のブロック/流れ図が示されている。ブロック1502において、五つのサンプル(p0,p1,p2,p3,p4)における奥行きが予測される。現在MBについて
図14に示される四つの空間的に近隣のMBすべてが利用可能である場合、五つのサンプルについての予測方法は下記の表1において与えられる。それ以外で、現在MBが左または上の境界沿いにある場合、すなわち四つの近隣MB全部は存在しない場合には、予測方法は下記の表2において指定される。Median{a,b,c}が、a,b,cの間の中央値を取る演算子を表すことを注意しておく。
【0055】
【表1】
【表2】
奥行き代表値についての予測子は、下記の表3に指定されるようにMB区画およびSD区画モードに依存して、ブロック1502における五つのサンプルにおける予測された奥行きに基づいて、ブロック1504において導出される。上記のように、SDモードは四つのMB区画モードMODE_16×16、MODE_16×8、MODE_8×16、MODE_8×8においてサポートされる。各MB区画についてのブロック区画インデックスは
図16に示されており、これはH.264/AVC設計と整合する。これらのMB区画を用いて、SDモードはサブMBに適用されることができる。
図17では、MODE_16×16が例として使われている。ブロック区画インデックス0をもつ一つのMB区画がある。SD区画モードがMODE_VERであれば、表3により、値A(左のSD区画)およびB(右のSD区画)についての予測子はそれぞれMedian(p0,p3,p4)およびp2として与えられる。
【0056】
【表3-1】
【表3-2】
この実施形態において概説される手順は、単に、サンプル・ベースの予測のアイデアを説明するための例であり、同様のパフォーマンスは他の実施形態では何らかの修正をもって達成されてもよいことを注意しておくべきである。たとえば、p0〜p4以外のサンプルも第一のステップにおいて使用されてもよい。同様に、表1ないし表3は単に例解のために与えられているものである。
【0057】
サンプル・ベースの予測は典型的には、奥行き代表(値AおよびB)がコーナーのサンプルから導出されら場合によりよく機能する。しかしながら、奥行き代表が中央値に基づく場合(たとえばSADを最小化するため)、サンプル・ベースの予測は非効率的になることがありうる。さらに、サンプル・ベースの予測は、予測子を計算するために、空間的に近隣のMBのみを考える。MB内の異なるサブMBの間での予測は有効にされなかった。たとえば、
図16におけるMODE_16×8において、下の16×8ブロック(ブロック区画インデックスは1になる)の疎二分代表値は、上の16×8ブロック(ブロック区画インデックスは0になる)から予測されることができる。上記の問題に対処するため、空間的に近隣のブロックの境界に沿う近隣サンプルから予測子を生成することが可能である。これは以下では「境界ベースの予測」と称される。
【0058】
このプロセスをよりよく例解するため、境界ベースの予測の二つの例として、
図18および
図19が与えられる。
図18では、現在ブロックは8×8ブロックであり、
図19では現在ブロックは8×16である。現在ブロックがサブMBである場合、その予測子は、同じMB内の他のサブMB(単数または複数)から生成されうる。以下の叙述を簡単にするために、三つの線が定義される:L1は現在ブロックの左側の諸サンプルをもつ縦の線に対応し、L2は現在ブロックの上の諸サンプルをもつ水平線に対応し、L3はL2から延長された諸サンプルをもち、L1の長さに等しい長さをもつもう一つの水平線である。
【0059】
ここで
図20を参照するに、予測子を形成するためのブロック/流れ図が示されている。ブロック2002は洗練されたブロック区画Pa'およびPb'を入力として受け取り、二つの空の集合Neighbor_Pa'およびNeighbor_Pb'を開始する。L1上の各サンプルpについて、ブロック2004は、その右にある対応するサンプルを検査する。対応するサンプルがPa'に属する場合、pを集合Neighbor_Pa'に入れ、対応するサンプルがPb'に属する場合、pを集合Neighbor_Pb'に入れる。L2上の各サンプルpについて、ブロック2006はpの下の対応するサンプルを検査する。対応するサンプルがPa'に属する場合、pを集合Neighbor_Pa'に入れ、対応するサンプルがPb'に属する場合、pを集合Neighbor_Pb'に入れる。
【0060】
ブロック2008はNeighbor_Pa'またはNeighbor_Pb'のいずれかが空であるかどうかを判定する。もしそうであれば、L3上の各サンプルpについて、ブロック2010は、現在ブロックの右側境界上への45度の投影角(
図19参照)を使って対応するサンプルを検査する。対応するサンプルが前記空の集合に属する場合、pをその集合に加える。両方の集合が空であることは不可能であることを注意しておく。ブロック2012は次いで、いずれかのNeighbor集合が空のままであるかどうかを判定する。
【0061】
空のNeighbor集合が残っている場合、ブロック2014はAおよびB両方の予測子を、空でないほうの集合の中央値に設定する。しかしながら、いずれのNeighbor集合も空のままではない場合には、ブロック2016は、AおよびBの予測子を、それぞれのNeighbor集合の中央値に設定する。
【0062】
図18の例では、L1上のすべてのサンプルおよびL2上の左の三つのサンプルがNeighbor_Pa'の集合に加えられ、一方、右の五つのサンプルはNeighbor_Pb'の集合に加えられる。すると、予測子は、それぞれNeighbor_Pa'およびNeighbor_Pb'の中央値を取ることによって設定される。
図19の例については、L1およびL2上のすべてのサンプルはNeighbor_Pa'に加えられる。現在ブロックの上の境界および左の境界上のいずれのサンプルもPb'に属さないので、L3上のサンプルがさらに検査される。45度投影を用いて、L3上の点でマークされたサンプルがNeighbor_Pb'に加えられて、Bの予測子が得られる。
【0063】
代替的な諸実施形態では、一サンプル幅の線の代わりにより多くのサンプル(たとえば、複数サンプル幅の線)が考えられることができる。異なる投影が使用されてもよく、Median(.)以外の演算が予測子のはたらきをしてもよい。上記で概説した手順は、単に、境界ベースの予測のアイデアを説明するための例である。
【0064】
シミュレーションでは、上記のSDモードはMVC(Multiview Video Coding[マルチビュー・ビデオ符号化])参照ソフトウェアJMVM(Joint Multiview Video Model[統合マルチビュー・ビデオ・モデル])でビュー間予測をオフにしたものに基づくH.264/AVCに組み込まれてもよい。解像度1024×768をもつテスト・シーケンスが使用される。各テスト・シーケンスについて、ビュー0およびビュー2の奥行きマップおよびテクスチャー・ビデオ・シーケンス両方がエンコードされる。奥行きマップは、四つの異なる量子化パラメータ(QP: quantization parameter):22,27,32および37を用いて、JVTによって提供される一般的なエンコード設定に従って、エンコードされる。一方、対応するビデオは固定されたQP 22を用いてエンコードされる。すべてのシーケンスがデコードされたのち、ビュー1の仮想ビデオが、MPEGによって提供されるVSRS 3.0(View Synthesis Reference Software[ビュー合成参照ソフトウェア])によって生成される。
【0065】
図21および
図22は、サンプル・ビデオの奥行き符号化のためのレート歪み(R-D)曲線を与える。ここで、「H.264」はH.264/AVCエンコーダを示し、「H.264 with SD Mode〔SDモードのあるH.264〕」はH.264/AVCに新しいモードとしてSDモードを加えることを示す。これら二つのR-D曲線において、レートは、ビュー合成のために使われる圧縮されたテクスチャー・ビデオおよび奥行き(すなわち、ビュー1をレンダリングするときのビュー0およびビュー2の圧縮された奥行きマップおよびテクスチャー・ビデオ・シーケンス)の全ビットレートを示す。奥行きマップ・シーケンスは、直接見るのではなく、レンダリングのために使われるので、圧縮されたビデオ/奥行きシーケンスを使ったレンダリングされるビューと、圧縮されないビデオ/奥行きシーケンスを使ったレンダリングされるビューとの間のPSNRを計算することができる。シミュレーション結果から、提案されるSDモードでは、同じエンコード・ビットレートをもつレンダリングされるビデオについて、0.6dBまでの利得を達成できることが見て取れる。
【0066】
〈統合二面フィルタ・アップサンプリング(joint bilateral filter upsampling)〉
統合二面フィルタ・アップサンプリングを用いた奥行き符号化方法が、奥行きマップの特別な特性をよりよく活用するために使用される。平坦なエリアについては、ダウンサンプリングされたバージョンが、変動を表すのに十分である。他方、もとのフル解像度の奥行きマップにおける詳細な境界は、対応するビデオ・フレーム内のサンプル情報を使って復元できる。したがって、提案される方式は、奥行きマップのダウンサンプリングされたバージョンをエンコードするだけであり、統合二面フィルタ・ベースのアップサンプリングが、もとのフル解像度の奥行きマップを生成するために利用される。フィルタ処理は、フルサイズの奥行きマップまたはダウンサンプリングされた奥行きマップとともに機能できるが、アップサンプリングされた奥行きマップおよびダウンサンプリングされたビデオ画像にも適用されうる。フィルタ処理は、対応するが同じ解像度をもつのでない奥行きおよびビデオに関して実行されることができる。
【0067】
よって、奥行きマップ・シーケンスのダウンサンプリングされたバージョンだけをエンコードして、統合二面フィルタを使って対応するもとのフル解像度のビデオ・フレームからの境界情報を援用してそれをアップサンプリングする新しい奥行きマップ符号化枠組みが示される。さらに、統合二面奥行きアップサンプリングは、低解像度の奥行きマップ・シーケンスだけがエンコードされるような符号化枠組みにおいて示される。
【0068】
エンコーダ側では、もとの奥行きマップ・シーケンスがまずダウンサンプリングされて、低解像度の奥行きマップ・シーケンスが得られる。次いで、低解像度の奥行きマップ・シーケンスが、通常のビデオ符号化技法を用いて、たとえばH.264/AVCを使ってエンコードされる。デコーダ側では、低解像度の奥行きマップおよび対応するビデオ・フレームをデコードしたのち、ビデオ・フレームからの境界情報を利用する統合二面フィルタ・アップサンプリングを使って、フル解像度の奥行きマップが生成される。ここで
図23を参照するに、統合二面フィルタ処理の枠組みの高レベルのブロック図が示されている。
【0069】
エンコーダ2302は、入力奥行きシーケンスおよび入力ビデオ・シーケンスを受領する。奥行きマップ・ダウンサンプリング・モジュール2304は、奥行きシーケンスを受け取り、その解像度を低下させる。両シーケンスは次いで、それぞれの従来式のビデオ・エンコーダ2306によってエンコードされ、その後デコーダ2308に送られる。デコーダにおいて、信号は、従来式のビデオ・デコーダ2310によってデコードされる。デコードされた、ダウンサンプリングされた奥行きシーケンスおよびデコードされたビデオ・シーケンスはいずれも統合二面フィルタによって、奥行きマップをアップサンプリングするために使用される。アップサンプリングされた奥行きマップ、ダウンサンプリングされた奥行きシーケンスおよびビデオ・シーケンスが、ビュー合成モジュール2314において、三次元ビューを生成するために使われる。エンコード2302およびデコード/レンダリング2308は、それぞれ
図43および
図44に示される送信および受信システムの一部として実装されてもよく、それぞれ要素4306および4404のような変調器および復調器の使用に関わっていてもよい。
【0070】
エンコーダ側2302では、提案される枠組みには主に二つのステップがある:奥行きマップ・ダウンサンプリングと、結果として得られる低解像度奥行きマップ・シーケンスのエンコードである。両方のステップは、従来式の方法が利用できるので、きわめてストレートである。第一のステップ(すなわち、奥行きマップ・ダウンサンプリング2304)では、選択されるべき二つのパラメータがある:ダウンサンプル・スケールN(たとえば2倍、4倍などのダウンサンプル)およびダウンサンプル・フィルタである。さらに、水平方向および垂直方向に沿ってのダウンサンプル・スケールは独立して指定されることができるが、それは以下の叙述では使わない。これら二つのパラメータの厳密な選択は、実装によって変えることができる。本稿に挙げられる諸方法は、単に例解の目的のためを意図されている。
【0071】
ダウンサンプル・スケールNについて、最も一般的に使用される設定は、(水平方向および垂直方向における)2倍または4倍のダウンサンプルのような、2の冪である。レート‐歪み最適化プロセスのために、ダウンサンプル・スケールは、エンコードの量子化パラメータ(QP)と一緒に考えることができる。それはたとえば、最高の符号化効率を達成するためにNおよびQPの設定の種々の組み合わせを試験することによる。
【0072】
ダウンサンプル・フィルタについては、双線形、ウェーブレットなどといった伝統的なフィルタが、アップサンプリング・プロセスおよびカラー・ビデオの内容とは独立に使われることができる。他方、ダウンサンプル・フィルタは、アップサンプリング・プロセスに基づいて構築されることもできる。
【0073】
第二のステップでは、ダウンサンプリングされる奥行きマップ・シーケンスは、従来式のビデオ・エンコーダ2306に供給される。たとえば、H.264/AVCが、ダウンサンプリングされた奥行きマップ・シーケンスをエンコードするために使用できる。
【0074】
デコーダ側2308では、低解像度奥行きマップSがまず、従来式のビデオ・デコーダ2310を使ってデコードされる。デコードされた低解像度奥行きマップSをアップサンプリングするためにビデオ・フレームからの境界情報を利用することは特に有利である。
S'と記されるフル解像度の奥行きマップを生成するために、対応する再構成されたビデオ・フレーム内の境界情報を使う統合二面フィルタ・アップサンプリングが実行される。このプロセスは、ブロック・アップサンプリング・フィルタ・ブロック2312において実行される。
【0075】
ここで
図24を参照するに、統合二面アップサンプリングを使ってフル解像度奥行きマップを生成するブロック/流れ図が示されている。ブロック2402は、低解像度奥行きマップおよび対応する高解像度ビデオ・フレームを入力として受領する。ブロック2402において、奥行きサンプル・インデックスpが0に設定される。ブロック2406は、ビデオ・フレームからの情報に基づく統合二面フィルタを使って、詳細な奥行きサンプルSp'を生成する。フル解像度の奥行きマップS'内の奥行きサンプルpが生成されるために、そのサンプルが
【数7】
として計算される(統合二面フィルタ・アップサンプリング)。ここで、Nはダウンサンプル因子、pおよびqはサンプル位置、
【数8】
はダウンプリングされた位置であり、
【数9】
は床演算を表し、Sはデコードされた低解像度奥行きマップであり、S'は再構成されたフル解像度の奥行きマップであり、IpおよびIqは位置pおよびqにおけるビデオ・フレーム中のピクセルであり、Kpは規格化因子である。
【0076】
(7)では、所与のサンプル位置pについて、フィルタ処理された出力S'pは、
【数10】
を中心とする範囲Ω内の位置
【数11】
にある諸サンプルの重み付けされた平均である。重みは二つの因子に基づいて決定される:定義域フィルタfによって決定される、数10と数11の位置の間の距離と、値域フィルタgによって決定される、ビデオ・フレームにおける対応するサンプル値の間の類似性、すなわちIpとIqの間の類似性である。一般に、定義域フィルタは、数10の位置からより遠く隔たったサンプルにより小さな重みを割り当てる。すなわち、距離
【数12】
が増すにつれて重みが減少する。他方、値域フィルタは、Iqへの類似性がより低い値をも
つサンプルIqにより小さな重みを割り当てる。すなわち、IpとIqの間の差が増すにつれて
、重みは減少する。
【0077】
ブロック2408は、フィルタ処理すべきさらなるサンプルがあるかどうかを判定する。もしあれば、ブロック2410はサンプル・インデックスpをインクリメントして、処理をブロック2406に戻す。もしなければ、処理は終了する。洗練された奥行きS'が得られたのち、それは、仮想ビューを合成するために、デコードされたビデオ・シーケンスと一緒に、
図23におけるビュー合成モジュール2314に供給される。
【0078】
上記では、ダウンサンプリングされた奥行きマップおよび対応するビデオ・フレームだけを使って、統合二面フィルタ・アップサンプリングにより、フル解像度の奥行きマップが生成されている。統合二面アップサンプリングは、他のアップサンプリング方法に比べて高度な技法であるが、アップサンプリングされた結果はそれでも知覚できる誤りを含むことがありうる。奥行き品質をさらに改善するために、奥行きマップ符号化において、もとの奥行きマップとアップサンプリングされたマップとの間の残差をエンコードする向上層(enhancement layer)を導入することができる。この残差は、アップサンプリングされた奥行きマップにおける誤りを補償する。
【0079】
ここで
図25を参照するに、残差を組み込む枠組みの図が示されている。
図25は、
図23からのいくつかの構成要素を含んでいるが、向上層を可能にする構成要素をも含む。減算器2506が、入力信号と、ブロック2504からのアップサンプリングされた奥行きマップとの間の差を見出す。向上層エンコーダ2508は、この情報を使って残差情報をエンコードし、向上層をデコーダ2510に伝送する。デコーダ2510における向上層デコーダ2512はその向上層を受信し、それを加算器/組み合わせ器2514に与える。加算器2514は、その向上層と、統合二面フィルタ・アップサンプリング・ブロック2312の出力とを組み合わせ、向上された、アップサンプリングされた奥行きマップを、ビュー合成2314に提供する。
【0080】
ここで
図26を参照するに、向上層を用いて奥行きマップをエンコードするブロック/流れ図が示されている。ブロック2602は奥行きマップをダウンサンプリングし、ブロック2604はダウンサンプリングされた奥行きマップをエンコードする。次いでブロック2606は、上記したような統合二面フィルタ・アップサンプリングを使って、フル解像度の奥行きマップを生成する。このアップサンプリングは、デコーダにおける最終的なアップサンプリングと同じ手順に従うものであり、デコードにおいて生成される奥行きマップと同一の奥行きマップを生成する。ブロック2608は、元の奥行きマップとアップサンプリングされた奥行きマップとの間の残差を計算する。この残差は、ブロック2610において、向上層符号化を用いてエンコードされ、たとえばスケーラブル・ビデオ符号化を使って、デコードの品質を改善できる向上層を生成する。エンコードされたダウンサンプリングされた奥行きマップと奥行きマップ残差の両方がビットストリームに含められ、デコーダに伝送される。
【0081】
ここで
図27を参照するに、向上層をもつ奥行きマップをデコードするブロック/流れ図が示されている。ブロック2702は、ダウンサンプリングされた奥行きマップをデコードする。ブロック2704は統合二面フィルタ・アップサンプリングを使って、フル解像度の奥行きマップを生成する。ブロック2706は、たとえば向上層から、奥行きマップ残差をデコードする。次いでブロック2708は、その残差を、ブロック2704によって生成されたフル解像度の奥行きマップに加える。この向上された奥行きマップは、
図25におけるビュー合成ブロック2314において、仮想ビューを生成するために、デコードされたビデオ・シーケンスと一緒に、使用される。
【0082】
統合二面フィルタがここでは奥行きマップをアップサンプリングするために呈示されているが、重み付けされた最小二乗(WLS)フィルタのような他のエッジ保存フィルタもアップサンプリングのために使用できることを注意しておくべきである。使用されるフィルタに関わりなく、そのような実施形態は、アップサンプリングのために、ビデオ・フレームからの情報を使うことができる。それにより、低解像度の奥行きのみでのエンコード・ビットレートを低下させる一方、奥行き品質が保存されることができる。
【0083】
〈統合三面フィルタ・アップサンプリング(joint trilateral filter upsampling)〉
本願の原理によれば、エッジを保存しつつ符号化アーチファクトを抑えるために、追加的なフィルタ処理技法が利用可能である。以下に記載される特徴の一つは、フィルタ重みを計算するために対応するフレーム内のビデオ・サンプルの間の類似性を利用することである。従来式のブロック解除フィルタは、提案される統合フィルタによって置き換えられる。さらに、ループ内フィルタは、ブロック解除フィルタおよび統合フィルタの両方を使う二段階のプロセスであってもよい。ブロック解除フィルタと統合フィルタの間の適応的な選択も記述される。上記のSDモードでもエッジ境界上に誤りがありうる一方、三面フィルタ処理(trilateral filtering)は、そのような誤りを訂正するのに特に好適である。
【0084】
奥行きマップはしばしば偽エッジをもつ。偽エッジはしばしば輪郭(contour)と称される。これらのアーチファクトおよび偽エッジは、たとえば、符号化の一部である量子化に起因するものでありうる。これに対処するため、再構成された奥行きマップは、奥行きマップに対応するビデオからの情報を考慮する仕方でフィルタ処理できる。この対応するビデオはしばしば同じ偽エッジやアーチファクトはもたず、偽エッジおよび/またはアーチファクトの一部を軽減するよう、再構成された奥行きマップを適切にフィルタ処理するために、これを使うことができる。これは典型的には、再構成された奥行きマップの、もとの奥行きマップによりよく似るフィルタ処理結果を与える。このよりよい類似は一般に、再構成された奥行きマップのフィルタ処理されたバージョンを、たとえば奥行き画像ベース・レンダリング(DIBR)におけるような処理において使うために(フィルタ処理されない再構成された奥行きマップに比べて)より好適にする。このよりよい類似はまた、再構成された奥行きマップのフィルタ処理されたバージョンを、その奥行きマップから(または他の奥行きマップから)他のブロックを予測することにおいて使うためにより好適にする。すなわち、よりよい類似は典型的にはより小さな残差およびより高い符号化効率を与える。再構成された奥行きマップのフィルタ処理されたバージョンを予測子として使うこの最後の特徴は、このフィルタ処理が、たとえば外部の後処理アルゴリズムではなく、「ループ内(in-loop)」と称される理由である。
【0085】
ここで
図28を参照するに、奥行き符号化のためのループ内フィルタとしての統合二面フィルタの図が示されている。このフィルタは、のちの
図43に関して記述されるビデオ送信システム4300において示されるようなエンコーダ4302の一部として実装されてもよい。
図28は
図6をなぞっているが、SD予測モジュールがなく、ブロック解除フィルタの代わりにループ内フィルタ2802をもつ。ビデオ参照バッファ614がループ内フィルタ2802に情報を提供し、それをループ内フィルタが、奥行きシーケンスとの関連で使って、奥行きマップをフィルタ処理およびアップサンプリングする。次いでループ内フィルタ2802は、アップサンプリングされた奥行きマップを奥行き参照バッファ612に提供する。
【0086】
奥行きシーケンスが入力され、減算器601において予測子が減算されて残差を形成する。次いで残差はブロック602および604において変換および量子化される。量子化された要素は次いで605においてエントロピー符号化されて、ビットストリームを形成し、またブロック606および608において逆量子化および逆変換されてデコードされた残差を形成する。デコードされた残差は、組み合わせ器609において適切な予測子と加算され、(たとえば)その区画またはブロックについての再構成された奥行きを形成する。
【0087】
残差を形成するために奥行きから減算される予測子は、ブロック624において決定される符号化モードに依存して、イントラ予測からまたは変位補償から来るものとして示されている。イントラ予測ブロックは、生成される再構成された奥行きを記憶し、イントラ予測モードにおいて、それらの再構成を使って、符号化される現在の領域(ブロック、区画など)についての予測子を計算する。再構成はフィルタ処理され、フィルタ処理されたバージョンが奥行き参照バッファ612に格納される。変位モードでは、変位推定ブロック618が必要に応じて(たとえば)記憶されている再構成にアクセスし、現在の領域についての動きベクトルを決定する。変位補償ブロック620はまた、必要に応じて(たとえば)記憶されている再構成にアクセスし、決定された動きベクトルを(たとえば)現在の領域についての予測子を見出すために適用する。
【0088】
従来式のビデオ・コーデック(H.264/AVCにおけるブロック解除フィルタのような)におけるループ内フィルタは、ビデオ参照バッファ614を使うループ内フィルタ2802によって置き換えられる。このループ内フィルタは奥行きおよびビデオ情報を使うので、ループ内フィルタ2802は、統合フィルタ(joint filter)と称される。ビデオ参照バッファ614が図に加えられるのは、ビデオ・フレーム中のサンプルがフィルタ重みを計算するのに使用できるようにするためである。
【0089】
ここで
図29を参照するに、奥行きデコードのためのループ内フィルタとして使われる統合二面フィルタの図が示されている。このフィルタは、のちの
図44に関して記述されるビデオ受信システム4400において示されるようなデコーダ4406の一部として実装されてもよい。
図29は
図11をなぞっているが、SD予測がなく、ブロック解除フィルタの代わりにループ内フィルタ2902をもつ。ビデオ参照バッファ1122がループ内フィルタ2902にビデオ・フレームを提供することで、ループ内フィルタがデコードされた奥行きマップを生成することを許容する。
【0090】
提案されるループ内フィルタ2902は、フィルタ重みが、奥行きマップS内の奥行きサンプルの間の近接性およびビデオ・フレームI内の共位置のサンプルの間の類似性によって決定される、「統合(joint)二面フィルタ」の形である。「統合二面フィルタ」の用語は、このフィルタがビデオ・フレームIから入力を受け、一方、重みは奥行きマップSに適用されるという事実に言及している。このプロセスは、ブロック「ループ内フィルタ」2902において実行される。
【0091】
一般に、フィルタは、位置pについての値を、pのまわりの指定された領域(しばしば窓と称される)内の近隣の諸位置qについての値を考慮し、各位置qについての値にさまざまな重みを適用することによって、置換するよう動作することを注意しておく。フィルタの式の一般的な形は、各位置qについての重み付けされた値を合計し、次いでその和を規格化して、位置pについての置換値を生成する。提供される重みは二つの因子からなる。pとqの近接性に基づく第一の因子と、位置pおよびqに対応するビデオ・サンプルの間の類似性に基づく第二の因子である。このように、重みは、奥行きマップ中の偽エッジによって影響されることはない。さらに、重みは、対応するビデオ値におけるエッジによって影響される。これはしばしば、pからの奥行き差をもつサンプル(q)を示す。たとえば、位置qがpからの大きなビデオ差を有する場合、qは大きな奥行き差も有することがありえ、よって典型的には、pの奥行きの置換としてよい候補ではないであろう。したがって、qについてのフィルタ重みは、ビデオ差が増すにつれて小さくなる。
【0092】
二面についての一般的な概観が上記の
図24に示されている。このプロセスは、デコーダおよびエンコーダの両方において実行されることができる。(7)において、所与のサンプル位置pについて、フィルタ処理された出力S'pは、pを中心とする範囲Ω内の位置qにおける奥行きサンプルの重み付けされた平均である。範囲Ωは一般に、そのフィルタのサイズと称され、たとえば3×3または10×10の窓であってもよい。重みは、二つの因子に基づいて計算される:定義域フィルタによって決定されるpとqの間の距離f(||p−q||)と、ビデオ・フレーム中の対応するサンプル値の間の類似性、すなわち値域フィルタによって決定される、IpとIqの間の類似性g(||Ip−Iq||)である。一般に、定義域フィルタは、位置pからより遠くのサンプルにより小さな重みを割り当てる。すなわち、距離||p−q||が増すとともに重みは減少する。そして一般に、値域フィルタの重みは、IpとIqの間の差が増すほど減少する。定義域フィルタfおよび値域フィルタgはたとえば、同じまたは異なる特性をもつガウシアン・フィルタであってもよい。そのような場合、ガウシアン・フィルタは、p−qのより大きな(絶対)値について、およびIp−Iqのより大きな(絶対)値について、より小さな値を返す。
【0093】
(7)において、(1)における値域フィルタの入力は、たとえば奥行きサンプルの間の差、すなわち||Sp−Sq||ではなく、||Ip−Iq||であることを注意しておく。ただし、他の実施形態も構想されている。フィルタは、奥行きマップ全体に適用されてもよい。あるいはまた、フィルタは、たとえばエッジ領域のみに適用されるなど、局所的に適用されてもよい。
【0094】
フィルタ処理された奥行きマップS'が得られたのち、それは、他の奥行きマップのための予測子のはたらきをするために、それぞれエンコーダおよびデコーダ内の奥行き参照バッファ・ブロック612および1120に記憶される。よって、このフィルタは「ループ内」フィルタと記される。
【0095】
二面フィルタに加えて、上記の定義域フィルタおよび値域フィルタに加えて、さらに一つの値域フィルタ・ループ内フィルタ処理プロセスを組み込む、統合三面フィルタを用いることも可能である。この追加的な値域フィルタは、S内の奥行きサンプルの間の類似性を考慮に入れる。これは、フィルタ重みが、位置pとqの間の奥行き差にも依存することを許容する。これは、たとえば、変化するビデオ値をもつが共通の奥行き値をもつ領域において有用でありうる。そのような領域の例は白と黒の縞のある壁である。そのような状況では、ビデオ差に基づくフィルタ重み成分は、qにおける奥行きがpにおける奥行きに対するよい置換であるとしても、小さくなってしまう。この実施形態では、奥行き差に基づくフィルタ重み成分が大きくされ、これは位置qにおける奥行きについての全体的な重みを高める。
【0096】
エンコーダおよびデコーダのブロック図は
図28および
図29におけるのと同じままである。ただ、ブロック「ループ内フィルタ」において、統合三面フィルタ処理プロセスが実行される。フィルタ処理のフローチャートも変化しない。ただ、フィルタ処理の式が変わってくる。式(3)を使う代わりに、フィルタ処理された奥行きサンプルは:
【数13】
として計算される。
【0097】
他の点では記法は式(3)において上記したのと同じである。所与のサンプル位置pのフィルタ処理された出力S'pは、pを中心とする範囲Ω内の位置qにおける奥行きサンプルの重み付けされた平均である。今や、統合三面フィルタについては、重みは、三つの因子に基づいて計算される:定義域フィルタによって決定されるpとqの間の距離f(||p−q||)と、値域フィルタによって決定される、対応するサンプル値IpとIqの間の類似性gI(||Ip−Iq||)およびもう一つの値域フィルタによって決定される、奥行きサンプル値SpとSqの間の類似性gS(||Sp−Sq||)である。一般に、定義域フィルタは、位置pからより遠くのサンプルにより小さな重みを割り当てる。値域フィルタgIの重みは、IpとIqの間の差が増すほど減少し、同様に、値域フィルタgSの重みは、SpとSqの間の差が増すほど減少する。
【0098】
上記の実装および他の諸実装のフィルタは、アップサンプリングおよび/またはダウンサンプリングとともに機能するよう適応されることができる。そのような一つの適応は、式7および
図24に関して述べた、低解像度奥行きマップおよび高解像度ビデオ・フレームを入力として使う実装と同様である。この適応は、奥行きサンプル値の間の類似性について、もう一つの値域フィルタを含む。この実装では、定義域フィルタ(関数「f」)および第二の値域フィルタ(関数「gS」)の両方が、それぞれpおよびqではなく、p/Nおよびq/Nによって決定される引数を使うことになる。そのような一つの式は次のようなものである。
【0099】
【数14】
各項は他の点では式7および式9に関して上で説明してある。他の実装はたとえば、高解像度の奥行きマップおよび低解像度のビデオ・フレームを入力として使ってもよい。
【0100】
いくつかの異なる定義域および値域フィルタの設計が、二面フィルタ処理、たとえばガウシアン・フィルタ処理のために実施されてもよく、フィルタは特定の問題の最適化に基づいて設計されてもよい。すべての定義域フィルタおよび値域フィルタが奥行き信号のために好適なわけではない。たとえば、最も一般的なガウシアン・フィルタはうまく機能しない。エッジに沿ってある程度のぼけを引き起こし、そうしたぼけはテクスチャー画像ノイズ除去では受け容れ可能だが、奥行き符号化についてはレンダリングされるビューに知覚できる歪みを導入するからである。さらに、三面フィルタ処理はループ内フィルタとして奥行きデコーダに含められるので、その複雑さを考えることが重要である。ある実装では、定義域フィルタおよび値域フィルタの両方が二値フィルタとして選ばれる。これは、差が所与の閾値より大きい場合、フィルタ結果は0であり、それ以外の場合には1であるということを意味する。このように、フィルタ処理されるべき位置pのまわりで、定義域フィルタは、各ピクセルに対する等しい重みをもって平均化プロセスに含められる可能性のある近隣ピクセルの窓を定義する。この窓内で、前記二つの値域フィルタが、Spに類似する奥行き値SqおよびIpに類似する画像ピクセル値Iqもつピクセルを同定する。二面フィルタ処理に比べ、三面フィルタ処理は、対応するテクスチャー・ビデオを考えることにより、よりよい境界を得ることができる。
【0101】
上記のエンコーダおよびデコーダにおいて、従来のブロック解除フィルタは、ループ内フィルタとしての前記統合フィルタによって、完全に置き換えられる。ブロック解除フィルタ、たとえばH.264/AVCにおけるループ内フィルタは、特に平坦なエリア内で、MBまたはサブMB境界に沿ったアーチファクトを除去するとされる。他方、統合フィルタは、奥行き境界を保存/復元するよう設計される。これらの相反する目標に対処するため、従来式のブロック解除フィルタが統合フィルタと一緒に実行される二段階のループ内フィルタが使用されうる。そのような組み合わせは、典型的には、ある種のシーケンスについてはよりよいが、他のシーケンスについては、一つのループ内フィルタの適用のほうがよい。
【0102】
図28および
図29のエンコーダおよびデコーダは、不変のままであり、ループ内フィルタは今やブロック解除フィルタ処理および統合フィルタ処理の両方を実行する。ここで
図30を参照するに、組み合わされたブロック解除および統合フィルタ処理プロセスのブロック/流れ図が示されている。ブロック3002は、再構成された奥行きマップSおよび対応するビデオ・フレームIを入力として受け取る。ブロック3004は奥行きマップSにブロック解除フィルタを適用した。ブロック3006は、奥行きサンプルpにわたる、奥行きマップ中のそのようなすべてのサンプルを検査するループを開始する。ブロック3008は、ビデオ・フレームからの情報を利用する統合フィルタを使って、フィルタ処理されたサンプル値Sp'を計算する。ブロック3010は、さらなる奥行きサンプルが残っているかどうかを判定する。もしそうであれば、処理はブロック3006に戻る。もしそうでなければ、ブロック3012はフィルタ処理された奥行きマップS'を、他の奥行きマップのための予測子のはたらきをするよう、奥行き参照バッファに送る。
【0103】
ブロック解除および統合フィルタ処理の順序は交換されてもよいことを注意しておくべきである。従来式のブロック解除フィルタと統合フィルタの間のスイッチを実装して、ループ内フィルタがそれらを適応的に選択できるようにすることも可能である。スイッチは、
図28および
図29に示されるそれぞれエンコーダおよびデコーダにおけるブロック「ループ内フィルタ」に含まれる。ここで
図31を参照するに、ブロック解除フィルタと統合フィルタの間のスイッチが示されている。再構成された奥行きマップSおよび対応するビデオ・フレームIがブロック3102において入力として受信される。ブロック3104は奥行きマップSおよび/またはビデオ・フレームIにおけるエッジを検出し、各MBを、エッジをもつまたはエッジなしとしてマークする。奥行きマップS内の各MBについて、ブロック3106は、ビデオ・フレーム内の対応するMBおよびその空間的な近隣のMBがエッジを有するかどうかを判定する。空間的な近隣のMBは、すぐ左および上のMBを含んでいてもよい。他の実施形態は、右上のMBをも考えてもよい。一般に、これら三つのMBは、ブロック解除フィルタが現在のMBに適用されるときに処理されているMBである。これは、ブロック解除フィルタが一般に、現在のMBの左の境界および上の境界のまわり(両側)の位置を処理するからである。エッジがあれば、ブロック3106は統合フィルタをMBに適用する。エッジがなければ、ブロック3106は従来式のブロック解除をMBに適用する。代替として、たとえば、ループ内フィルタは、近隣のブロックがエッジを有するかどうかに関わりなく、現在のMBがエッジを有する場合にのみ使用されうる。
【0104】
二面および三面フィルタが実施例として呈示されているが、ビデオ・フレームからのサンプル情報を使うという概念は、重み付け最小二乗(WLS)フィルタおよびアーチファクト除去フィルタのような他のエッジ保存ノイズ除去フィルタにも適用できることを注意しておくべきである。ここまでは、重みがビデオ・フレーム内のサンプル値に基づいて計算される奥行き符号化のためのループ内フィルタが記載されている。同じ概念、つまり他のデータ源からの情報を使ってフィルタ重みを決定するということが、他の何らかの型のコンテンツをエンコードすることにも拡張されることができる。たとえば、グレースケールの露出マップが従来式の画像とともに符号化されうる高ダイナミックレンジ(HDR: high dynamic range)画像において、従来式の画像の画像サンプル値に基づいて計算されたフィルタ重みをもって、統合フィルタが圧縮された露出マップに適用されることができる。
【0105】
図32および
図33は、それぞれのテスト・ビデオの奥行き符号化についてのR-D(レート歪み)曲線をプロットしている。ここで、「H.264/AVC」はブロック解除フィルタをもつH.264/AVCエンコーダを示し、「提案されるアルゴリズム」はH.264/AVC内のループ内フィルタとして、ブロック解除フィルタを置き換える提案される三面フィルタを使うことを示す。これら二つのR-D曲線において、レートは、ビュー合成のために使われる圧縮されたテクスチャー・ビデオおよび奥行きの全ビットレート(すなわち、ビュー1をレンダリングするときのビュー0およびビュー2の圧縮された奥行きマップおよびテクスチャー・ビデオ・シーケンス)を示す。これらの奥行きマップ・シーケンスは、直接見るのではなくレンダリングのために使われるので、圧縮されたビデオ/奥行きシーケンスを使ったレンダリングされたビューと、圧縮されないビデオ/奥行きシーケンスを使ったレンダリングされたビューとの間で、ピーク信号対雑音比(peak signal-to-noise ratio)が計算される。シミュレーション結果から、提案される三面フィルタが、同じエンコード・ビットレートをもつレンダリングされるビデオについて約0.8dBの利得を、そして同じレンダリングされる品質では約10%のビットレートの節約を達成することが見て取れる。
【0106】
〈統合フィルタ処理における適応選択〉
上記の諸方法に対する代替として、ビデオ・フレームおよび奥行きマップに対する上記二つの値域フィルタの適応的な選択/組み合わせが実装されてもよい。そのような代替は、次のような状況において特に有利となりうる。変化する輝度/クロミナンスをもつ(よってビデオ・フレーム内でエッジを示す)オブジェクトについては、実際には対応する奥行きマップにエッジがないのに、ビデオ・フレームの値域フィルタは小さな重みを生じることが予想されるであろう。結果として、最終的な重み付けされた平均化プロセスにおいて、いくつかの有用な奥行きサンプルについての寄与が低下させられてしまうことがありうる。しかしながら、下記で述べるループ内フィルタ処理方法は、この状況に有益な仕方で対処できる。
【0107】
ループ内フィルタ処理方法は、エッジを保存しながら符号化アーチファクトを抑制するために、奥行き符号化について使われる。統合フィルタ処理プロセスの一つの側面は、奥行きマップにおけるサンプルの間の類似性および対応するビデオ・サンプルの間の類似性の適応的な選択/組み合わせである。
【0108】
一つのループ内フィルタは、フィルタ重みが、奥行きマップS内の奥行きサンプルの間の近接性と、奥行きマップS内の奥行きサンプルの間の類似性かビデオ・フレームI内の共位置のサンプルの間の類似性かの適応的な選択とによって決定される「二面フィルタ」の形である。適応的な選択は、フィルタ処理されるべき位置のまわりの奥行きサンプルについての変動測定によって決定される。詳細は諸段階において記載される。このプロセスは、
図28および
図29におけるブロック「ループ内フィルタ」において実行される。
【0109】
ここで
図34を参照するに、適応的な選択をもつ二面フィルタ処理が示されている。ブロック3402は再構成された奥行きマップSおよび対応するビデオ・フレームIを入力としてを受け取る。ブロック3404は奥行きマップS内の奥行きサンプルpのすべてにわたるループを開始する。ブロック3406は奥行きサンプルpのまわりの変動測定Vを得る。ブロック3408は、適応的統合フィルタを使って、その変動測定を使ってフィルタ処理されたサンプル値Sp'を計算する。フィルタ処理されたサンプル値は次のように計算される。
【0110】
【数15】
ここで、pおよびqはサンプル位置、Sはループ内フィルタ処理前の再構成された奥行きマップ、S'はフィルタ処理された奥行きマップ、IpおよびIqは位置pおよびqにおけるビデオ・フレーム中のピクセル、Kpは規格化因子、V(Sq|q∈Ω)はΩ内の奥行きサンプルについての変動測定値である。
【0111】
(10)において、所与のサンプル位置pについて、フィルタ処理された出力S'pは、pを中心とする範囲Ω内の位置qにおける奥行きサンプルの重み付けされた平均である。重みは、二つの因子に基づいて計算される。第一項は、pとqの間の距離に基づいてその重みを計算する定義域フィルタf(||p−q||)である。一般に、定義域フィルタは、位置pからより遠くのサンプルにより小さな重みを割り当てる。すなわち、距離||p−q||が増すとともに重みは減少する。第二項は、二つの値域フィルタgI(||Ip−Iq||)およびgS(||Sp−Sq||)の間の適応的な選択である。一般に、値域フィルタgIの重みは、IpとIqの間の差が増すほど減少し、同様に、値域フィルタgSの重みは、SpとSqの間の差が増すほど減少する。
【0112】
適応的な選択は、Ω内の奥行きサンプルについての変動測定値Vによって決定される。変動が大きい場合、Ω内にエッジ(単数または複数)がある可能性が高く、対応するビデオ・フレーム内のエッジ情報が利用されるよう、二面フィルタはフィルタ重みを計算するためにgIを選択する(統合二面フィルタ処理)。他方、変動が小さい場合、Ω内にエッジがない可能性のほうが高く、対応するビデオ・フレーム内のルミナンス/クロミナンスの変化がフィルタ処理結果に影響しないよう、二面フィルタはフィルタ重みを計算するためにgSを選択する(従来式の二面フィルタ処理)。式(10)において考慮されることのできるいくつかの変動測定値Vがある。下記はそのような変動測定値の例である。
【0113】
【数16】
ここで、^付きのSqは、Sqを低域通過フィルタ処理したものである。
【0114】
ブロック3410は、奥行きサンプルすべてがフィルタ処理され終わったらループを終了する。まだであれば、次の奥行きサンプルpにおいてブロック3404に戻る。すべての奥行きサンプルがフィルタ処理され終わったら、ブロック3412で、フィルタ処理された奥行きマップS'が奥行き参照バッファに加えられる。フィルタ処理された奥行きマップS'が得られたのち、フィルタ処理された奥行きマップS'は、他の奥行きマップのための予測子としてはたらくよう、
図28および
図29における「奥行き参照バッファ」ブロックに記憶される(だからループ内フィルタである)。
【0115】
上記の適応的な選択の代わりに、上記二つの値域フィルタgIおよびgSは、混合関数αを用いて適応的に組み合わされる。上記の式(10)の代わりに、ブロック3208は次式を使う。
【0116】
【数17】
記法は上記と同じである。三つのフィルタf、gIおよびgSの特性も上記と同じである。
【0117】
混合関数αは、領域Ω内での奥行きマップ上の変動測定値によって決定されることができる。上記の適応的な選択と同様、変動が大きいときほど、組み合わされた重みが対応するビデオ・フレーム内のエッジにより依拠するように、大きなαを使うことが好ましい。同様に、変動が小さいときほど、組み合わされた重みにおいてビデオ・フレームの効果が軽減されるよう、小さなαを使うことが好ましい。これらの特性を用いて、種々のαを構築できる。いくつかの例示的なαは次のようなものである。
【0118】
【数18】
式(15)および(16)におけるεは、αの変動測定値に対する感度を調整する。
【0119】
図35および
図36は、
図33(a)ではε=0.5として、
図33(b)ではε=5として、αの変化を1/(1+e-εx)としてプロットしている。xが増加するとき、混合関数αは1に近づくことが見て取れる。このように、式(14)では、組み合わされた重みは値域フィルタgIによってより支配される。さらに、εが大きいほど、混合関数は変動測定値に対してより敏感になる。
【0120】
ここで
図37を参照するに、ブロック解除フィルタをもつ適応的フィルタ処理を実行する二段階ループ内フィルタ・プロセスが示されている。ブロック37は、再構成された奥行きマップSおよび対応するビデオ・フレームIを入力として受け取る。ブロック3704はブロック解除フィルタをSに適用する。次いでブロック3706は、奥行きマップS中の奥行きサンプルpすべてにわたるループを開始する。ブロック3708は、奥行きサンプルpのまわりの何らかの範囲内の変動測定値Vを取得する。この変動測定値を使って、ブロック3710は、適応的統合フィルタを使って、フィルタ処理されたサンプル値Sp'を計算する。適応的統合フィルタは、上記のような適応的な選択または組み合わせを使ってもよい。次いでブロック3712は、フィルタ処理すべきさらなる奥行きサンプルがあるかどうかを判定する。もしあれば、処理はブロック3406に戻る。もしなければ、ブロック3714は、フィルタ処理された奥行きマップを、奥行き参照バッファ中に入れる。
【0121】
ここで
図38を参照すると、ブロック解除フィルタと適応的統合フィルタとの間の適応的な選択をもつループ内フィルタ処理が示されている。ブロック3802は、再構成された奥行きマップSおよび対応するビデオ・フレームIを入力として受け取る。ブロック3804は奥行きマップSおよび/またはビデオ・フレームIにおけるエッジを検出する。次いでブロック3804は各MBを、エッジをもつまたはエッジなしとしてマークする。奥行きマップ中の各MBについて、ビデオ・フレームにおける対応するMBおよびその空間的な近隣のMBがエッジをもつ場合、ブロック3806は適応的統合フィルタを適用する。適応的統合フィルタは、上記のように、適応的選択であっても適応的組み合わせであってもよい。エッジがなければ、ブロック3806は従来式のブロック解除フィルタを適用する。
【0122】
〈さらなる詳細〉
定義域フィルタは位置pを中心とする空間的な近傍を定義し、その中ではフィルタ処理プロセスにおいてサンプルSnqが使われる。定義域フィルタはまた、pまでの距離に基づいてその重みを決定する。典型的には、重みは、pから遠くの位置ほど小さくなる。例解のため、サイズ5×5の窓をもち、pとqの間の2Dユークリッド距離とともに指数関数的に減少するフィルタ重みをもつ定義域フィルタの例を示す。たとえば、重みは、exp(−||p−q||/2)のように減少してもよい。重みは、下記では、(2,2)にある点pについて与えられる。
【0123】
【表4】
推定された奥行きマップにおける奥行き値は典型的には疎である(すなわち、ある種の奥行きレベルに集中する傾向がある)ので、単純な硬閾値処理(hard-thresholding)を用いる値域フィルタgS(||Sp−Sq||)が使用されてもよい。すなわち、奥行き値SqがSpに対してある範囲内であれば、その奥行き値は重み1を割り当てられ、そうでなければ重みは0となる。
【0124】
第二の値域フィルタgI(||Ip−Iq||)は、ルミナンス・チャネルだけではなく、色(RGB)領域におけるピクセル値の差も考慮する。二つの領域が非常に似通ったルミナンスをもつが、色は全く異なっているということも可能である。ルミナンス距離だけが考えられる場合、値域フィルタは、両側に異なる色をもつそのようなエッジを横断して処理する。値域フィルタgIは、それぞれR、GおよびBチャネルに対して作用する3つまでのカーネル〔核〕の組み合わせである。各カーネルについて、重みは差分とともに指数関数的に減衰する。その様子は次のようにまとめられる。
【0125】
【数19】
ここで、RpおよびRqはそれぞれ特定のピクセル、所与のピクセルの赤の値を表し、GpおよびGqは緑の値を表し、BpおよびBqは青の値を表し、σR、σGおよびσBはそれぞれ赤、青および緑についての適応的な減衰因子を表す。
【0126】
値域フィルタ設計において色情報を使うことのほか、照明に対する反射モデルを考慮に入れることも可能である。つまり、明るい色をもつ領域については、暗い色をもつ領域と比べて、異なる照明の下でルミナンスはより顕著に変化する。より明るい領域と比べ、より暗い領域における同じ絶対的な差は、異なるオブジェクトを表す可能性がより高い。よって、フィルタ重みは、暗い領域ほど速く減衰するべきである。この例では、上記の式において、対応するチャネルのpにおける色値に基づいて別個の適応的な減衰因子σが使われている。色値(0〜255)とσとの間の関係は
図39に示されている。たとえば、ピクセルpがその赤チャネル値Rp 70をもつ場合、対応するσRは3となる。
【0127】
図40には四つの異なる減衰関数が与えられている。小さなサンプル値をもつピクセルについてほど、減衰関数は急速に低下する。よって、非常に似た値をもつサンプルのみがフィルタ処理プロセスに寄与することになる。
【0128】
例のため、値域フィルタgIが有用ではないと判定され、上記の多面フィルタ処理プロセスに関与しないような、次の二つの基準が設定される。
【0129】
1.ビデオ・フレーム内の5×5窓(定義域フィルタによって定義されるような)内で、三つの色すべての分散が所与の閾値より小さい場合、この近傍は均一であると判定される。値域フィルタgIは使用されない。
【0130】
2.あるいは、この5×5窓内で、三つのチャネルすべての最大値が所与の閾値より小さい場合、この近傍はエッジを検出するには暗すぎると判定される。値域フィルタgIは使用されない。
【0131】
上記のフィルタ核設計は単に、提案されるフィルタ処理アプローチの一般的な特性を説明するためのいくつかの例であることを注意しておく。同じ一般的なアイデアに基づいて、ガウシアン形、ラプラシアン形をもつフィルタ処理、他の色領域(HSV、YUV、YCbCrなど)上でのフィルタ処理および適応的な減衰関数を達成する代替的な仕方など、他のフィルタ設計が容易に拡張できる。
【0132】
奥行きエッジとビデオ・エッジの間の不整合は時に非常に大きくなるので、逐次反復的なフィルタ処理を使うことが可能である。つまり、各反復工程において、近隣のサンプルを使って重み付けされた平均結果を得る。より大きな誤差については、それを正すためにより多くの反復工程が必要とされる。定義域フィルタ窓サイズと反復工程の数の間にはトレードオフがある。窓サイズが大きいほど各反復工程において多くのサンプルが考慮され、潜在的に誤り訂正の能力を高め、よって必要とされる反復工程数を減らす。しかしながら、窓サイズが増すと、より遠くの、よって現在のサンプルとの相関がより低い可能性が高いピクセルが関わってくる。これは、フィルタ処理結果の信頼性の低下につながる。この相反に対処する一つの方法は、内容および用途に依存してユーザーが窓サイズおよび反復工程数を設定できるようにすることである。
【0133】
上記のフィルタ処理プロセスについて、少なくとも二つの可能な使用ケースがある。フィルタ処理を、エンコードするのがより簡単な奥行きマップを生成するために、エンコーダの一部として使う、あるいはフィルタ処理を、奥行きマップを使う任意の用途のためによりよい奥行き品質を達成するため、奥行き推定方法の一部として使う。他の使用ケースも存在することを注意しておく。たとえば、追加的なビューのレンダリング/合成を実行する前に、奥行きマップを改善するために、受領およびデコードされた奥行きマップに対して上記フィルタ処理プロセスを使うなどである。
【0134】
フィルタ処理をエンコーダの一部とする場合、入力の推定された奥行きは、フィルタ処理され、次いでエンコードされる。より少ない偽輪郭およびよりよく整列された奥行きエッジをもつことにより、フィルタ処理後の奥行きマップは、レンダリング品質を保持しつつ、より簡単にエンコードされることができる。
図41は、もとのエンコーダ4114と多面(ML: multi-lateral)フィルタ処理4106を組み込む新たなエンコーダ4102の比較概要を描いている。ピーク信号対雑音比(PSNR: peak signal-to-noise ratio)についてのベンチマークは、圧縮されない奥行きマップを使っての合成されたビデオである。
【0135】
もとのエンコーダ4114は、ビデオ・エンコード4104において捕捉されたビデオをエンコードし、奥行きエンコード・モジュール4108において推定された奥行きをエンコードする。次いでこれらがブロック4110でデコードされて、1Dモードで動作するビュー合成参照ソフトウェア(VSRS)ブロック4112において処理される。これは合成されたビデオを生成し、これが、異なる合成されたビデオと比較されるときのPSNRを計算するのに使われる。MLエンコーダ4102は同じ手順に従うが、奥行きエンコードの前にMLフィルタ処理モジュール4106を加えている。予測目的のためにエンコードされたビデオ信号を与えるために、別個の分枝が使われる。
【0136】
もう一つの代替は、フィルタ処理された奥行きマップを、推定された奥行きマップを置換するために使うというものである。換言すれば、奥行き推定のためのステレオ・マッチング(stereo matching)後、推定された奥行きマップは、上記で提案されたフィルタ処理方法の一つまたは複数を用いて処理され、よりよい品質につながる。このシナリオでは、これらのフィルタ処理された奥行きマップは、符号化およびレンダリングのための入力として取られる。
図42は、符号化のための異なるセットのマルチビュー・プラス奥行き(MVD)入力を使う比較概要を描いている。
【0137】
ブロック4220はMLフィルタ処理のない入力を表す。捕捉されたビデオはビデオ・エンコード・ブロック4206においてエンコードされる。一方、推定された奥行きは、ビデオ・エンコード4206の結果を使って奥行きエンコード4208においてエンコードされる。これらのエンコードされた信号は次いでブロック4210において、もとの奥行きの符号化レート(coding rate)で、デコードされる。VSRS_1Dブロック4212はデコードされた信号を使って合成されたビデオを生成する。上のトラックは下のトラックをなぞっているが、ブロック4202は推定された奥行きを処理するためにMLフィルタ処理を使う。次いで奥行きエンコード4208がフィルタ処理された奥行きをエンコードし、それはその後、ブロック4210によって、MLフィルタ処理された奥行きの符号化レートで、デコードされる。
【0138】
ここで
図43を参照するに、上記の特徴および原理が適用されうるビデオ送信システム/装置4300が示されている。ビデオ送信システム4300はたとえば、衛星、ケーブル、電話線または地上波放送などといった多様な媒体の任意のものを使って信号を送信するヘッドエンドまたは送信システムであってもよい。送信は、インターネットまたは他の何らかのネットワークを通じて提供されてもよい。ビデオ送信システム700は、たとえばビデオ・コンテンツおよび奥行きを生成および送達することができる。
【0139】
ビデオ送信システム4300は、エンコーダ4302およびエンコードされた信号を送信できる送信機4304を含む。エンコーダ4302は、画像および奥行き情報の両方を含んでいてもよいビデオ情報を受信し、そのビデオ情報に基づいてエンコードされた信号(単数または複数)を生成する。エンコーダ4302はたとえば、上記で詳述したエンコーダの一つであってもよい。エンコーダ4302は、たとえばさまざまな情報片を受け取り、集めて、記憶または送信のための構造化されたフォーマットにするアセンブリー・ユニットを含む、サブモジュールを含んでいてもよい。該さまざまな情報片は、たとえば、符号化されたまたは符号化されていないビデオ、符号化されたまたは符号化されていない奥行き情報および符号化されたまたは符号化されていない、動きベクトル、符号化モード・インジケータおよびシンタックス要素のような要素を含んでいてもよい。
【0140】
送信機4304はたとえば、エンコードされたピクチャおよび/またはそれに関係する情報を表す一つまたは複数のビットストリームを有するプログラム信号を送信するよう適応されてもよい。典型的な送信機は、たとえば、誤り訂正符号化を提供する、信号中のデータをインターリーブする、信号中のエネルギーをランダム化するおよび変調器4306を使って信号を一つまたは複数のキャリア上に変調するのうちの一つまたは複数のような機能を実行する。送信機4304は、アンテナ(図示せず)を含むか、アンテナとインターフェースを持っていてもよい。さらに、送信機4304の実装は、変調器を含んだり、変調器に限定されたりしてもよい。
【0141】
ここで
図44を参照するに、上記の特徴および原理が適用されうるビデオ受信システム/装置4400が示されている。ビデオ受信システム4400はたとえば、衛星、ケーブル、電話線または地上波放送などといった多様な媒体を通じて信号を受信するよう構成されていてもよい。信号は、インターネットまたは他の何らかのネットワークを通じて受信されてもよい。
【0142】
ビデオ受信システム4400は、たとえば、携帯電話、コンピュータ、セットトップボックス、テレビジョンまたはエンコードされたビデオを受信してたとえばデコードされたビデオをユーザーへの表示または記憶のために提供する他の装置であってもよい。よって、ビデオ受信システム4400はその出力を、たとえば、テレビジョンの画面、コンピュータ・モニタ、コンピュータ(記憶、処理または表示のために)または他の何らかの記憶、処理または表示装置に提供してもよい。
【0143】
ビデオ受信システム4400は、ビデオ情報を含むビデオ・コンテンツを受信および処理できる。ビデオ受信システム4400は、たとえば本願の実装において記載された信号のようなエンコードされた信号を受信できる受信器4402と、受信された信号をデコードできるデコーダ4406を含む。
【0144】
受信機4402はたとえば、エンコードされたピクチャを表す複数のビットストリームを有するプログラム信号を受信するよう適応されてもよい。典型的な受信機は、変調されエンコードされたデータ信号を受信する、復調器4404を使って一つまたは複数のキャリアから前記データ信号を復調する、信号中のエネルギーをランダム化解除する、信号中のデータをインターリーブ解除するおよび信号を誤り訂正復号する、のうちの一つまたは複数のような機能を実行する。受信機4402は、アンテナ(図示せず)を含むか、アンテナとインターフェースを持っていてもよい。受信機4402の実装は、復調器を含んだり、復調器に限定されたりしてもよい。
【0145】
デコーダ4406はビデオ情報および奥行き情報を含むビデオ信号を出力する。デコーダ4406はたとえば、上記で詳述したデコーダの一つであってもよい。
【0146】
システム4300への入力は
図43において「入力ビデオ」として挙げられており、システム4400からの出力は
図44において「出力ビデオ」として挙げられている。少なくともこれらの実装においては、これらは三次元ビューを生成する際に使うための奥行き情報を含むビデオを指すことは明らかなはずである。
【0147】
本願の原理は、所与の位置についての「ビデオ」を用いる。「ビデオ」への言及は、さまざまなビデオ・コンポーネントまたはその組み合わせのうち任意のものを含みうる。そのようなコンポーネントまたはその組み合わせは、たとえば、ルミナンス、クロミナンス、Y(YUVまたはYCbCrまたはYPbPrの)、U(YUVの)、V(YUVの)、Cb(YCbCrの)、Cr(YCbCrの)、Pb(YPbPrの)、Pr(YPbPrの)、赤(RGBの)、緑(RGBの)、青(RGBの)、Sビデオおよびこれらのコンポーネントの任意のものに負号を付けたものおよび正号を付けたものを含む。
【0148】
クロミナンスはしばしばサブサンプリングされる。これは、クロミナンス・データのアレイ中に適正にインデックス付けするためにpおよびqが細分されることを要求することがありうる。たとえば、クロミナンスが4倍サブサンプリングされて4ピクセルの2×2領域について一つの値を与える場合、pおよびqは、クロミナンス・アレイ中に適正にインデックス対応付けるために、それぞれ2で割る必要がある。
【0149】
これらのさまざまなコンポーネントのそれぞれは、所与の位置の奥行き値に重み付けする際に有用な情報を提供しうる。たとえば、pおよびqについて色および/または輝度が似通った値をもつことがあり、奥行きマップにおいてpとqの間に偽輪郭が存在しても、真の奥行きはpとqで同じであることがある。いくつかの状況では、色がより有用であることがある。たとえば、色が一定である(そして真の奥行きも)が、輝度には変化がある場合がそうである。いくつかの状況では、輝度がより有用であることもある。たとえば、輝度が一定である(そして真の奥行きも)が、色には変化がある場合がそうである。さらに、さまざまな状況において、特定の色がより多くの重みを与えられる。たとえば、ある実装では、青成分が空の領域において使われ、緑成分が草の領域において使われる。
【0150】
他の実装は、所与のピクセル位置について複数のビデオ成分を考慮し、それら複数のビデオ成分をさまざまな仕方で組み合わせる。たとえば、ある実装は、三つのビデオ成分を考慮し、三つの潜在的な重み付け因子を生成し、それら三つの重み付け因子の平均(average)を最終的な重み付け因子として使う。別の実装は、三つのビデオ成分を考慮し、三つの潜在的な重み付け因子を生成し、それら三つの重み付け因子の平均(mean)を最終的な重み付け因子として使う。別の実装は、三つのビデオ成分を考慮し、三つの潜在的な重み付け因子を生成し、互いに最も近い二つの潜在的な重み付け因子の平均を最終的な重み付け因子として使う。この最後の実装は、突出した潜在的な重み付け因子がミスリーディングな情報を生じるものであると考え、よってそれを無視する。
【0151】
本願の原理により、具体的な特徴および側面を有する一つまたは複数の実装が提供される。特に、奥行きマップおよび対応するビデオ・フレームにおけるエッジ情報の適応的な選択/組み合わせによって重みが決定される、奥行き符号化のためのループ内フィルタ処理が示される。同じ高レベルのアイデア、すなわち、他のデータ源からの情報を使って適応的にフィルタ重みを決定することは、他の型のコンテンツをエンコードすることにも拡張されることができる。たとえば、グレースケールの露出マップが従来式の画像とともに符号化されうる高ダイナミックレンジ(HDR: high dynamic range)画像において、画像サンプル値に基づいて計算されたフィルタ重みをもって、適応的な統合フィルタが圧縮された露出マップに適用されることができる。さらに、エッジを対応するビデオ画像中のエッジとよりよく整列させるために、奥行きマップをフィルタ処理することに関するいくつかの実装が提供される。しかしながら、これらの実装の変形および追加的な応用が構想されており、本開示の範囲内であり、記載される実装の特徴および側面は他の実装のために適応されることもできる。
【0152】
たとえば、本願において記述される概念および実装は、奥行きマップのほか視差マップ(disparity map)にも適用されてもよい。視差マップにおいては、前景のオブジェクトは典型的には背景のオブジェクトとは異なる視差値をもつので、視差マップにおいてもエッジが明白になるのである。本願の原理は、ビデオの符号化および/または他の型のデータの符号化のコンテキストにおいて使われてもよい。さらに、これらの実装および特徴は、標準規格のコンテキストにおいて使われたり、あるいは標準規格のコンテキストにおいて使うために適応されたりしてもよい。いくつかのそのような標準は、H.264/MPEG-4 AVC(AVC)、マルチビュー符号化(MVC)のためのAVCの拡張、スケーラブル・ビデオ符号化(scalable video coding)(SVC)のためのAVCの拡張および3Dビデオ符号化(3DV: 3-D Video coding)や高パフォーマンスビデオ符号化(HVC: High-Performance Video Coding)のための提案されているMPEG/JVT規格であるが、他の(既存のまたは将来の)規格が使用されてもよい。もちろん、本実装および特徴は標準規格において使われる必要はない。
【0153】
本願の原理の「一つの実施形態」または「ある実施形態」または「一つの実装」または「ある実装」への言及およびその変形は、その実施形態との関連で記載されている特定の特徴、構造、特性などが本願の原理の少なくとも一つの実施形態に含まれることを意味する。よって、本明細書を通じた随所に現れる「一つの実施形態では」または「ある実施形態では」または「一つの実装では」または「ある実装では」といった句の出現は、必ずしもみな同じ実施形態を指すのではない。
【0154】
さらに、本明細書またはその請求項はさまざまな情報を「決定する」という表現を使うことがありうる。情報を決定することは、たとえば、情報を推定すること、情報を計算すること、情報を予測することまたは情報をメモリから取得することの一つまたは複数を含みうる。
【0155】
たとえば「A/B」「Aおよび/またはB」および「AおよびBの少なくとも一つ」の場合における「/」「および/または」および「の少なくとも一つ」の使用は、最初に挙げられるオプション(A)のみの選択、または二番目に挙げられるオプション(B)のみの選択、または両方のオプション(AおよびB)の選択を包含することが意図されていることは理解されるであろう。さらなる例として、「A、Bおよび/またはC」や「A、BおよびCの少なくとも一つ」および「A、BまたはCの少なくとも一つ」の場合には、そのような表現は、最初に挙げられるオプション(A)のみの選択、または二番目に挙げられるオプション(B)のみの選択、または三番目に挙げられるオプション(C)のみの選択、または最初と二番目に挙げられるオプション(AおよびB)のみの選択、または最初と三番目に挙げられるオプション(AおよびC)のみの選択、または二番目と三番目に挙げられるオプション(BおよびC)のみの選択または三つすべてのオプション(AおよびBおよびC)の選択を包含することが意図されている。これは、当技術分野および関連分野の当業者にはすぐ明白となるであろうが、列挙される項目がいくつであっても拡張されうる。
【0156】
さらに、多くの実装は、たとえば、エンコーダ、デコーダ、デコーダからの出力を処理する後置プロセッサまたはエンコーダへの入力を提供する前置プロセッサのうちの一つまたは複数のにおいて実装されてもよい。さらに、本開示によって他の実装が考えられている。
【0157】
本稿に記載された実装はたとえば、方法またはプロセス、装置、ソフトウェア・プログラム、データ・ストリームまたは信号において実装されてもよい。たとえ単一の形の実装のコンテキストでのみ論じられていたとしても(たとえば、方法としてのみ論じられていたとしても)、論じられる特徴の実装は他の形(たとえば装置またはプログラム)で実装されてもよい。装置はたとえば、適切なハードウェア、ソフトウェアおよびファームウェアにおいて実装されてもよい。方法はたとえば、コンピュータ、マイクロプロセッサ、集積回路またはプログラム可能な論理デバイスなどを含む処理装置一般を指すプロセッサのような装置において実装されてもよい。プロセッサはまた、たとえばコンピュータ、携帯電話、携帯/パーソナル情報端末(PDA: portable/personal digital assistant)および他の装置のような、エンドユーザー間の情報の通信を容易にする通信装置をも含む。
【0158】
本稿に記載されたさまざまなプロセスおよび特徴の実装は、多様な異なる設備またはアプリケーションにおいて、特にたとえば、データ・エンコード、データ・デコード、ビュー生成、奥行き処理および画像および関係した奥行きおよび/または視差マップの他の処理に関連する設備またはアプリケーションにおいて具現されてもよい。そのような設備の例はエンコーダ、デコーダ、デコーダからの出力を処理する後置プロセッサ、エンコーダへの入力を処理する前置プロセッサ、ビデオ符号化器、ビデオ復号器、ビデオ・コーデック、ウェブ・サーバー、セットトップボックス、ラップトップ、パーソナル・コンピュータ、携帯電話、PDAおよび他の通信装置を含む。明らかなはずだが、設備はモバイルであってもよく、移動体乗物に設置されてもよい。
【0159】
さらに、方法はプロセッサによって実行される命令によって実装されてもよく、そのような命令(および/または実装によって生成されるデータ値)がプロセッサ可読媒体上に記憶されてもよい。媒体は、たとえば、集積回路、ソフトウェア担体またはたとえばハードディスク、コンパクトディスケット、ランダム・アクセス・メモリ(「RAM」)または読み出し専用メモリ(「ROM」)のような他の記憶デバイスといったものである。命令は、プロセッサ可読媒体上に有形に具現されたアプリケーション・プログラムを形成してもよい。命令はたとえば、ハードウェア、ファームウェア、ソフトウェアまたは組み合わせの形であってもよい。命令はたとえば、オペレーティング・システム、別個のアプリケーションまたは両者の組み合わせにおいて見出されてもよい。したがって、プロセッサはたとえば、プロセスを実行するよう構成された装置およびプロセスを実行するための命令を有するプロセッサ可読媒体(記憶デバイスのような)を含む装置の両方として特徴付けされうる。さらに、プロセッサ可読媒体は、命令に加えてまたは命令の代わりに、実装によって生成されるデータ値を記憶してもよい。
【0160】
当業者には明白であるように、諸実装は、たとえば記憶または伝送されうる情報を担持するようフォーマットされた多様な信号を生成しうる。該情報はたとえば、方法を実行するための命令または記載される実装の一つによって生成されるデータを含みうる。たとえば、信号は、符号化規格の書き込みまたは読み出しシンタックスのための規則をデータとして担持するよう、あるいはある実施形態によって書き込まれた実際のシンタックス値をデータとして担持するよう、フォーマットされてもよい。そのような信号はたとえば電磁波として(たとえばスペクトルの電波周波数部分を使って)、あるいはベースバンド信号としてフォーマットされてもよい。フォーマットすることはたとえば、データ・ストリームをエンコードし、エンコードされたデータ・ストリームで搬送波を変調することを含んでいてもよい。信号が担持する情報は、たとえばアナログ情報であってもデジタル情報であってもよい。信号は、知られているように、多様な異なる有線または無線リンクを通じて伝送されてもよい。信号はプロセッサ可読媒体上に記憶されてもよい。
【0161】
いくつかの実装を記載してきたが、さまざまな修正をなしうることは理解されるであろう。たとえば、異なる実装が組み合わされ、補完され、修正され、あるいは除去されて他の実装を生じてもよい。さらに、当業者は、他の構造およびプロセスが、開示されている構造やプロセスの代わりとなってもよく、結果として得られる実装が、開示される実装と少なくとも実質的に同じ機能を、少なくとも実質的に同じ仕方で実行し、少なくとも実質的に同じ結果を達成することを理解するであろう。よって、これらおよびその他の実装が本願によって考えられている。