(57)【特許請求の範囲】
【請求項１】
高効率ビデオ符号化における演算負荷を低減するための方法であって、
選択されるイントラ符号化モードの全レート歪み計算リストを作成するステップであって前記イントラ符号化モードがイントラ予測モードおよび深度モデリングモードを含む、ステップと、
前記全レート歪み計算リストにおける各イントラ予測モードに対してレート歪みコストを決定し、最小レート歪みコストを有する最小レート歪みコストイントラ予測モードを選択するステップであって、セグメント単位深度符号化モードが前記決定において各イントラ予測モードに対して無効にされる、ステップと、
前記セグメント単位深度符号化モードが有効にされる特定のイントラ予測モードに対するレート歪みコストを計算するステップと、
有効にされている前記セグメント単位深度符号化モードに対して得られた前記特定のイントラ予測モードの前記レート歪みコストと、無効にされている前記セグメント単位深度符号化モードに対して得られた前記最小レート歪みコストイントラ予測モードの前記レート歪みコストを比較するステップと、
前記特定のイントラ予測モード、および前記最小レート歪みコストを有する前記最小レート歪みコストイントラ予測モードの一方を予測ユニットに適用するステップとを含む、方法。
【請求項２】
検査条件を適用して、前記セグメント単位深度符号化モードが有効にされる特定のイントラ予測モードに対するレート歪みコストを計算するべきかどうかを決定するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記検査条件が、
前記最小レート歪みコストイントラ予測モードがDCモードであるかどうかを検査することと、
前記最小レート歪みコストイントラ予測モードがPlanarモードであるかどうかを検査することと、
前記特定のイントラ予測モードが深度モデリングモードであるかどうかを検査することと、
前記特定のイントラ予測モードがDCモードであるかどうかを検査することと、
前記特定のイントラ予測モードがPlanarモードであるかどうかを検査することと、
前記特定のイントラ予測モードが全RDコスト計算リストにおける最初の3つのモードのいずれか1つと同じであるかどうかを検査することと
のうちのいずれか1つを少なくとも含む、請求項2に記載の方法。
【請求項４】
前記検査条件が、閾値を用いてブロック分散を検査することを含む、請求項2に記載の方法。
【請求項５】
前記セグメント単位深度符号化モードが有効にされる特定のイントラ予測モードに対するレート歪みコストを計算するステップが、ある検査条件に関しては行われない、請求項2から4のいずれか一項に記載の方法。
【請求項６】
2番目に小さいレート歪みコストを有する第2のイントラ予測モードを選択し、前記計算するステップおよび前記比較するステップにおいて前記第2のイントラ予測モードを含めること、または
3番目に小さいレート歪みコストを有する第2のイントラ予測モードを選択し、前記計算するステップおよび前記比較するステップにおいて前記第2のイントラ予測モードを含めること、または
前記最小レート歪みコストを有していないにもかかわらず、前記計算リストから第2のイントラ予測モードを選択し、前記計算するステップおよび前記比較するステップにおいて前記第2のイントラ予測モードを含めることをさらに含む、請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記第2のイントラ予測モードが前記計算リストにおける第1のエントリであるか、または前記第2のイントラ予測モードが前記計算リストにおける第2のエントリであるか、または前記第2のイントラ予測モードが前記計算リストにおける第3のエントリである、請求項6に記載の方法。
【請求項８】
特定のイントラ予測モードがPlanarまたはDCイントラ予測モードであることに応じて前記特定のイントラ予測モードに対するレート歪みコストを計算するべきかどうかを決定するステップをさらに含む、請求項1に記載の方法。
【請求項９】
予測ユニット分散が閾値より大きいことに応じて特定のイントラ予測モードに対するレート歪みコストを計算するべきかどうかを決定するステップをさらに含む、請求項1に記載の方法。
【請求項１０】
高効率ビデオ符号化における演算負荷を低減するための装置であって、
データおよび命令コードを記憶するように構成されたメモリと、
前記命令コードを実行すると、
選択されるイントラ符号化モードの全レート歪みコスト計算リストを作成するステップであって、前記イントラ符号化モードがイントラ予測モードおよび深度モデリングモードを含む、ステップと、
前記全レート歪みコスト計算リストにおける各イントラ予測モードに対してレート歪みコストを決定し、最小レート歪みコストを有する最小レート歪みコストイントラ予測モードを選択するステップであって、セグメント単位深度符号化モードが前記決定において各イントラ予測モードに対して無効にされる、ステップと、
前記セグメント単位深度符号化モードが有効にされる特定のイントラ予測モードに対するレート歪みコストを計算するステップと、
有効にされている前記セグメント単位深度符号化モードに対して得られた前記特定のイントラ予測モードの前記レート歪みコストと、無効にされている前記セグメント単位深度符号化モードに対して得られた前記最小レート歪みコストイントラ予測モードの前記レート歪みコストを比較するステップと、
前記特定のイントラ予測モード、および前記最小レート歪みコストを有する最小レート歪みコストイントラ予測モードの一方を予測ユニットに適用するステップとを行うように構成されたプロセッサとを備える、装置。
【請求項１１】
前記プロセッサが、
検査条件を適用して、前記セグメント単位深度符号化モードが有効にされる特定のイントラ予測モードに対するレート歪みコストを計算するべきかどうかを決定するようにさらに構成された、請求項10に記載の装置。
【請求項１２】
前記検査条件が、
前記最小レート歪みコストイントラ予測モードがDCモードであるかどうかを検査することと、
前記最小レート歪みコストイントラ予測モードがPlanarモードであるかどうかを検査することと、
前記特定のイントラ予測モードが深度モデリングモードであるかどうかを検査することと、
前記特定のイントラ予測モードがDCモードであるかどうかを検査することと、
前記特定のイントラ予測モードがPlanarモードであるかどうかを検査することと、
前記特定のイントラ予測モードが全RDコスト計算リストにおける最初の3つのモードのいずれか1つと同じであるかどうかを検査することと
のうちのいずれか1つを少なくとも含む、請求項11に記載の装置。
【請求項１３】
前記検査条件が、閾値を用いてブロック分散を検査することを含む、請求項11に記載の装置。
【請求項１４】
前記セグメント単位深度符号化モードが有効にされる特定のイントラ予測モードに対するレート歪みコストを計算するステップが、ある検査条件に関しては行われない、請求項11から13のいずれか一項に記載の装置。
【請求項１５】
前記プロセッサが、
2番目に小さいレート歪みコストを有する第2のイントラ予測モードを選択し、前記計算するステップおよび前記比較するステップにおいて前記第2のイントラ予測モードを含めること、または
3番目に小さいレート歪みコストを有する第2のイントラ予測モードを選択し、前記計算するステップおよび前記比較するステップにおいて前記第2のイントラ予測モードを含めること、または
前記最小レート歪みコストを有していないにもかかわらず、前記計算リストから第2のイントラ予測モードを選択し、前記計算するステップおよび前記比較するステップにおいて前記第2のイントラ予測モードを含めることを行うようにさらに構成された、請求項10から14のいずれか一項に記載の装置。
【請求項１６】
前記第2のイントラ予測モードが前記計算リストにおける第1のエントリであるか、または前記第2のイントラ予測モードが前記計算リストにおける第2のエントリであるか、または前記第2のイントラ予測モードが前記計算リストにおける第3のエントリである、請求項15に記載の装置。
【請求項１７】
前記プロセッサが、
特定のイントラ予測モードがPlanarまたはDCイントラ予測モードであることに応じて前記特定のイントラ予測モードに対するレート歪みコストを計算するべきかどうかを決定するようにさらに構成された、請求項10に記載の装置。
【請求項１８】
前記プロセッサが、
予測ユニット分散が閾値より大きいことに応じて特定のイントラ予測モードに対するレート歪みコストを計算するべきかどうかを決定するようにさらに構成された、請求項10に記載の装置。
【請求項１９】
高効率ビデオ符号化における演算負荷を低減するためのコードを含む非一時的コンピュータ可読媒体であって、前記コードが、実行されると、
選択されるイントラ符号化モードの全レート歪みコスト計算リストを作成するステップであって、前記イントラ符号化モードがイントラ予測モードおよび深度モデリングモードを含む、ステップと、
前記全レート歪みコスト計算リストにおける各イントラ予測モードに対してレート歪みコストを決定し、最小レート歪みコストを有する最小レート歪みコストイントラ予測モードを選択するステップであって、セグメント単位深度符号化モードが前記決定において各イントラ予測モードに対して無効にされる、ステップと、
前記セグメント単位深度符号化モードが有効にされる特定のイントラ予測モードに対するレート歪みコストを計算するステップと、
有効にされている前記セグメント単位深度符号化モードに対して得られた前記特定のイントラ予測モードの前記レート歪みコストと、無効にされている前記セグメント単位深度符号化モードに対して得られた前記最小レート歪みコストイントラ予測モードの前記レート歪みコストを比較するステップと、
前記特定のイントラ予測モード、および前記最小レート歪みコストを有する最小レート歪みコストイントラ予測モードの一方を予測ユニットに適用するステップとを行うように動作可能である、非一時的コンピュータ可読媒体。
【請求項２０】
前記コードが、
検査条件を適用して、前記セグメント単位深度符号化モードが有効にされる特定のイントラ予測モードに対するレート歪みコストを計算するべきかどうかを決定するようにさらに動作可能であり、
前記検査条件が、
前記最小レート歪みコストイントラ予測モードがDCモードであるかどうかを検査することと、
前記最小レート歪みコストイントラ予測モードがPlanarモードであるかどうかを検査することと、
前記特定のイントラ予測モードが深度モデリングモードであるかどうかを検査することと、
前記特定のイントラ予測モードがDCモードであるかどうかを検査することと、
前記特定のイントラ予測モードがPlanarモードであるかどうかを検査することと、
前記特定のイントラ予測モードが全RDコスト計算リストにおける最初の3つのモードのいずれか1つと同じであるかどうかを検査することと、
閾値を用いてブロック分散を検査することと
のうちのいずれか1つを少なくとも含む、請求項19に記載のコンピュータ可読媒体。
【請求項２１】
前記コードが、
2番目に小さいレート歪みコストを有する第2のイントラ予測モードを選択し、前記計算するステップおよび前記比較するステップにおいて前記第2のイントラ予測モードを含めること、または
3番目に小さいレート歪みコストを有する第2のイントラ予測モードを選択し、前記計算するステップおよび前記比較するステップにおいて前記第2のイントラ予測モードを含めること、または
前記最小レート歪みコストを有していないにもかかわらず、前記計算リストから第2のイントラ予測モードを選択し、前記計算するステップおよび前記比較するステップにおいて前記第2のイントラ予測モードを含めることを行うようにさらに動作可能である、請求項19に記載のコンピュータ可読媒体。
【請求項２２】
前記第2のイントラ予測モードが前記計算リストにおける第1のエントリであるか、または前記第2のイントラ予測モードが前記計算リストにおける第2のエントリであるか、または前記第2のイントラ予測モードが前記計算リストにおける第3のエントリである、請求項21に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、概して、高効率ビデオ符号化技法、より詳細には、高効率ビデオ符号化(High Efficiency Video Coding、HEVC)における演算負荷を低減するための方法および装置に関する。
【背景技術】
【０００２】
3D-HEVCイントラ予測工程の間、すべての可能なイントラ符号化モードを用いてイントラ予測モード決定が行われて、ラグランジュ乗数を用いて最小レート歪み(rate distortion、RD)コストを有するものを見出す。しかしながら、この技法は、結果として極めて大きな演算の複雑さになり、実際の応用において3D-HEVCエンコーダおよびデコーダの使用を制限する。したがって、符号化効率を損なうことなくイントラ決定の複雑さを低減できる高速アルゴリズムは、3D-HEVCエンコーダおよびデコーダの実時間の実現のために非常に望ましい。
【発明の概要】
【課題を解決するための手段】
【０００３】
上記より、三次元ビデオエンコーダおよびデコーダにおいて演算の複雑さを低減する必要が生じていることがこの技術分野の当業者によって認識され得る。本開示によれば、従来のエンコーダおよびデコーダ処理の実現に関連する課題を大幅に低減し実質的に排除し、高効率ビデオ符号化における演算負荷を低減するための方法および装置が提供される。
【０００４】
実施形態によれば、高効率ビデオ符号化における演算負荷を低減するための方法は、選択されるイントラ符号化モードの全レート歪み計算リストを作成するステップであって、イントラ符号化モードがイントラ予測モードおよび深度モデリングモードを含む、ステップを含む。全レート歪み計算リストにおける各イントラ予測モードに対してレート歪みコストが決定され、最小レート歪みコストを有する最小レート歪みコストイントラ予測モードが選択され、セグメント単位深度符号化モードは決定において各イントラ予測モードに対して無効にされる。セグメント単位深度符号化モードが有効にされた特定のイントラ予測モードに対するレート歪みコストが計算される。有効にされているセグメント単位深度符号化モードに対して得られた特定のイントラ予測モードのレート歪みコストは、無効にされているセグメント単位深度符号化モードに対して得られた最小レート歪みコストイントラ予測モードのレート歪みコストと比較される。特定のイントラ予測モード、および最小レート歪みコストを有する最小レート歪みコストイントラ予測モードの一方が、予測ユニットに適用される。
【０００５】
本開示は、従来のビデオエンコード技法にまさる多くの技術的利点を記載する。たとえば、1つの技術的利点は、セグメント単位深度符号化モードを有効にするときに全レート歪み計算を行うことを排除することである。別の技術的利点は、レート歪み計算のために特定のイントラ符号化モードを選択することである。なお別の技術的利点は、最小レート歪みコストを有するイントラ予測モードにおけるイントラ符号化モードの基礎選択である。他の技術的利点は、以下の図、記載および請求項からこの技術分野の当業者に容易に明らかになり、理解可能になり得る。
【０００６】
本発明およびその利点のより完全な理解のために、同様の参照数字は同様の部品を表現する添付の図面と併せてなされる以下の記載への参照がここで行われる。
【図面の簡単な説明】
【０００７】
【図１】高効率ビデオ符号化(HEVC)において実現される四分木符号化構造を図示する。
【図２】深度データ符号化のための技法を実現し得るビデオエンコーダの例を例示するブロック図である。
【図３】深度データ符号化のための技法を実現し得るビデオデコーダの例を例示するブロック図である。
【図４Ａ】テクスチャフレームを有する3Dシーン表現の例を図示する。
【図４Ｂ】深度フレームを有する3Dシーン表現の例を図示する。
【図５】セグメント単位深度符号化(segment-wise depth coding、SDC)を有効にするときに演算負荷を低減する工程の例を図示する。
【図６】SDCを有効にするときに演算負荷を低減する工程の別の例を図示する。
【図７】図5および図6の工程を行うのに適した簡略化された汎用演算構成要素を例示する。
【発明を実施するための形態】
【０００８】
以下に論じられる図1〜図7、およびこの特許文書において本発明の原理を記載するために使用される様々な実施形態は、例示の目的にすぎず、発明の範囲を限定するようには絶対に解釈されるべきでない。この技術分野の当業者は、発明の原理が任意の種類の適切に配置される装置またはシステムにおいて実現され得ることを理解するだろう。1つの図において図示され、かつ論じられる特徴は、1つ以上の他の図において適宜実現され得る。
【０００９】
概して、この開示は、HEVC規格の下で様々な深度符号化モードを用いて三次元(3D)ビデオデータに対する深度データをエンコードおよびデコードするための技法に関する。3Dビデオデータの捕捉されるビュー(たとえば、テクスチャ)は、テクスチャデータに対する深度データを記載する対応する深度マップと関連付けられる。3D-HEVC工程などの3Dビデオ符号化工程に従って、テクスチャビューおよび深度マップは、3Dビデオビットストリームに符号化および多重化され得る。
【００１０】
図1は、高効率ビデオ符号化(HEVC)において実現される四分木符号化構造を図示する。HEVC規格は、ビデオピクチャまたはフレームがルマ(Y)およびクロマ(Cb, Cr)サンプルを含む一連の符号化木ユニット(Coding Tree Units、CTU)に分けられ得る非常に柔軟な四分木符号化構造を利用する。CTUサイズは、エンコーダにおいて64x64、32x32および16x16から選択され、シーケンスパラメータ集合(sequence parameter set、SPS)において指定されることが可能である。CTUは符号化木の根として利用され、四分木の各葉は符号化ユニット(Coding Unit、CU)と呼ばれる。したがって、1つのCTUは複数のCUに区分されることが可能であり、各CUは1つの符号化カテゴリ、イントラ符号化またはインター符号化のいずれかを指定する。CUは、予測のための基本情報を搬送する1つ、2つまたは4つの予測ユニット(Prediction Unit、PU)にさらに分割される。効率的な予測のために、HEVCは、2つのイントラPUおよび8つのインターPUの形状を定義して可変サイズPUをサポートする。イントラPUは、2Nx2NおよびNxNの形状を有することが可能である。インターPUの形状は、2つの正方形の形状2Nx2NおよびNxN、2つの長方形の形状2NxNおよびNx2N、ならびにそれぞれ上、下、左および右位置の4つの非対称な形状2NxnU、2NxnD、nLx2NおよびnRx2Nを含む。各CUの残差ブロックは、サイズが4×4から32×32までにわたる転送ユニット(Transfer Unit、TU)から構成される残差四分木(residual quadtree、RQT)と通常呼ばれる四分木構造により変換されることが可能である。TUは、予測画像と実際の画像との間の残差を符号化するための空間ブロック変換および量子化のための係数を含む。
【００１１】
エンコーダは、網羅的な演算を通じて最良の符号化木構造、PU細分およびRQT構成を選択する。各候補構成の圧縮効率を評価するために、エンコーダはラグランジュ乗数最適化技法を通常利用し、これはJ=D+λRによって表され、ここでJはラグランジュレート歪み(RD)コスト関数であり、Dはオリジナルに対する再構築されたサンプルの二乗誤差の和による歪み利得であり、Rはエントロピー符号化のビットレートであり、そしてλはラグランジュ公式においてRとDを接続するラグランジュ乗数である。RDコストの最小化工程は、それを通してビットレートが歪みと親和して圧縮効率とピクチャ品質との間のトレードオフに導く、レート歪み最適化(rate-distortion optimization、RDO)として知られる。
【００１２】
符号化効率は、あるレベルのビデオ品質を維持しつつ最低の可能なビットレートでビデオをエンコードする能力である。エンコーダはRDO処理を使用して、最小値を有するイントラ符号化モードを選ぶ。RDO処理は、主に2つの理由で非常に時間がかかる。一つ目は、あまりに多くのCU/PU/TUの組合せがあるということである。1つのPUが、DC(平坦)、Planar(表面フィッティング)、および33個のangularモードを含む35個のイントラ予測モードのうちの1つを用いて符号化され得るので、たとえば、イントラ予測モード符号化においてのみ、あるPUのモードを決定するために35回のRDコスト演算工程が行われる。二つ目の理由は、RDコスト計算が演算集約的であるということである。正確なDおよびRを得るために、各候補に対して、エンコーダによって行われるRDコスト演算は、イントラ予測、残差計算、変換、量子化、エントロピー符号化、逆変換、逆量子化、画素再構築、および最後にRDコスト演算を包含する。
【００１３】
概して、HEVCエンコーダは、フレームを記憶または伝送されることが可能である圧縮されたビデオビットストリームに圧縮する。エンコード工程は、単一のピクチャまたはフレームを、複数のCUにさらに分けられることが可能である複数のCTUに区分することによって開始する。一旦フレームにおけるピクチャが区分されると、CUがPUにさらに区分される予測工程が開始する。HEVCエンコーダは、2つの種類の予測、すなわちイントラ予測およびインター予測を使用する。イントラ予測は、隣接画像データから、すなわち同じピクチャフレームからPUを予測する。インター予測は、動き補償予測を使用して、現在の表示の前または後に見つかるピクチャ、すなわちストリームにおける他のピクチャフレームにおける画像データから参照されるPUを予測する。予測の後に残存する任意のデータは、離散コサイン変換(Discrete Cosine Transform、DCT)を用いてブロックに入れられる。元のブロックとその予測との間の差は、線形空間変換によって変換される。HEVCエンコーダは、これらのブロックを各CUにおける残存するデータに適用する。最後に、符号化されたビットストリームは、エントロピーエンコードとして知られる工程を通してコンテキスト適応二値算術符号化(Context Adaptive Binary Arithmetic Coding、CABAC)を用いてさらにエンコードされる。これは、HEVCエンコーダが変換データをその別々の構成要素、すなわち動きベクトル、予測モード、区分情報および他のヘッダデータに配置および圧縮する最終ステップである。スケーリング、量子化およびエントロピー符号化されると、変換係数は予測情報と共に伝送される。この時点で、ビデオは圧縮されており、かつ記憶されることが可能である。
【００１４】
ビデオ伝送において、HEVCデコーダは、ビデオ源からの画像を表示するためにデータをデコードする。エントロピーデコードによって、HEVCデコーダは、エンコードされたシーケンスの要素を抽出する。それは再スケーリングし、そしてエンコード工程の変換段階を逆に行い、ピクチャの単位がそれらの元の形式に復元され、予測され、そして予測が逆変換の出力に加えられる。
【００１５】
動きピクチャを表示することへの最終ステップは、デコードされたビデオの表示のための再構築の工程である。エンコーダは、両方が後続のデータに対して同一の予測を作成するようにデコーダ処理ループを再現する。量子化変換係数は、逆スケーリングによって構築され、次いで逆変換されて残差信号のデコードされた近似値を再現する。残差は次いで予測に加えられ、その追加の結果が次いで1つまたは2つのループフィルタに供給されて、ブロック単位の処理および量子化によって誘起される人工物を平滑化し得る。最終ピクチャ表現(デコーダの出力の再現である)はデコード済みピクチャバッファに記憶されて、後続のピクチャの予測のために使用される。
【００１６】
図2は、深度データ符号化のための技法を実現し得るビデオエンコーダ200の例を例示するブロック図である。ビデオエンコーダ200は、ここに開示されるような3D-HEVCにおける深度マップの簡易符号化モードシグナリングのための技法を行うように構成され得る装置の典型を示す。ビデオエンコーダ200は、ビデオスライス内のビデオブロックのイントラおよびインター符号化を行い得る。イントラ符号化は、空間予測に依存して所与のビデオフレームまたはピクチャ内のビデオにおける空間的冗長性を低減または除去する。インター符号化は、時間予測に依存してビデオシーケンスの隣り合うフレームまたはピクチャ内のビデオにおける時間的冗長性を低減または除去する。イントラ予測モード(Iモード)は、数個の空間ベースの符号化モードのいずれかを指し得る。単方向予測(Pモード)または双予測(Bモード)などのインター予測モードは、数個の時間ベースの符号化モードのいずれかを指し得る。各ビューに対するテクスチャマップ(すなわち、ルマおよびクロマ値)をエンコードすることに加えて、ビデオエンコーダ200は、各ビューに対する深度マップをさらにエンコードし得る。
【００１７】
ビデオエンコーダ200は、ビデオデータメモリ202、モード選択ユニット204、デコード済みピクチャバッファ(decoded picture buffer、DPB)206、加算器208、変換処理ユニット210、量子化ユニット212およびエントロピーエンコードユニット214を含み得る。モード選択ユニット204は、そして、動き補償ユニット220、動き推定ユニット222、イントラ予測ユニット224、および区分ユニット226を含む。ビデオブロック再構築のために、ビデオエンコーダ20は、逆量子化ユニット230、逆変換ユニット232、および加算器234も含む。デブロッキングフィルタ240も含まれて、ブロック境界をフィルタリングし、再構築されたビデオからブロック状の人工物を除去し得る。所望ならば、デブロッキングフィルタ240は、加算器234の出力を典型的にフィルタリングするだろう。デブロッキングフィルタに加えて追加のフィルタ(ループ内またはループ後)も使用され得る。そのようなフィルタは、加算器208の出力をフィルタリングし得る(ループ内フィルタとして)。フィルタの例は、適応ループフィルタ、サンプル適応オフセット(sample adaptive offset、SAO)フィルタまたは他の種類のフィルタを含み得る。
【００１８】
ビデオエンコーダ200は、エンコードされるべきビデオフレーム内の現在のビデオブロックを受け取る。ビデオデータメモリ202は、ビデオエンコーダ200の構成要素によってエンコードされるべきビデオデータを記憶し得る。ビデオデータメモリ202に記憶されるビデオデータは、たとえばビデオ源から得られ得る。デコード済みピクチャバッファ206は、たとえばイントラまたはインター符号化モードでビデオエンコーダ200によってビデオデータをエンコードする際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ202およびデコード済みピクチャバッファ206は、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))または他の種類のメモリ装置など、各種のメモリ装置のいずれかによって形成され得る。ビデオデータメモリ202およびデコード済みピクチャバッファ206は、同じメモリ装置または別々のメモリ装置によって提供され得る。様々な例では、ビデオデータメモリ202は、ビデオエンコーダ200の他の構成要素を有するオンチップ、またはそれらの構成要素に関するオフチップであり得る。
【００１９】
エンコード工程の間、ビデオエンコーダ200は、符号化されるべきビデオフレームまたはスライスを受け取る。フレームまたはスライスは複数のビデオブロックに分けられ得る。動き推定ユニット222および動き補償ユニット220は、1つ以上の参照フレームにおける1つ以上のブロックに関する受け取ったビデオブロックのインター予測符号化を行って時間予測を提供する。イントラ予測ユニット224は、符号化されるべきブロックと同じフレームまたはスライスにおける1つ以上の隣接ブロックに関する受け取ったビデオブロックのイントラ予測符号化を代替的に行って空間予測を提供し得る。ビデオエンコーダ200は、複数の符号化パスを行って、ビデオデータの各ブロックに対して適切な符号化モードを選択し得る。
【００２０】
その上、区分ユニット226は、以前の符号化パスにおける以前の区分スキームの評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、区分ユニット226は、最初にフレームまたはスライスをLCUに区分し、レート歪み分析(たとえば、レート歪み最適化)に基づいてLCUの各々をサブCUに区分し得る。モード選択ユニット204は、サブCUへのLCUの区分を示す四分木データ構造をさらに生成し得る。四分木の葉ノードCUは、1つ以上のPUおよび1つ以上のTUを含み得る。モード選択ユニット204は、エラー結果に基づいて符号化モード、イントラまたはインターのうちの1つを選択し、結果としてのイントラまたはインター符号化ブロックを、加算器208に提供して残差ブロックデータを作成し、加算器234に提供してエンコード済みブロックを参照フレームとして使用するために再構築し得る。モード選択ユニット204は、エントロピーエンコードユニット214に、動きベクトル、イントラ符号化モードインジケータ、区分情報および他のそのような構文情報などの構文要素も提供する。
【００２１】
動き推定ユニット222および動き補償ユニット220は高度に集積化され得るが、概念的目的で別々に例示される。動き推定ユニット222によって行われる動き推定は、ビデオブロックに対する動きを推定する動きベクトルを作成する工程である。動きベクトルは、たとえば、現在のフレーム(または、他の符号化単位)内の符号化されている現在のブロックに関する参照フレーム(または、他の符号化単位)内の予測ブロックに関する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。
【００２２】
予測ブロックは、画素差の観点で、符号化されるべきブロックに密接に合致することが見出されるブロックであり、それは差の絶対値の和(sum of absolute difference、SAD)、差の二乗和(sum of square difference、SSD)、または他の差の測定基準によって決定され得る。いくつかの例では、ビデオエンコーダ200は、デコード済みピクチャバッファ206に記憶される参照ピクチャの整数より下位の画素位置に対する値を計算し得る。たとえば、ビデオエンコーダ200は、参照ピクチャの四分の一の画素位置、八分の一の画素位置、または他の分数の画素位置の値を補間し得る。したがって、動き推定ユニット222は、完全な画素位置および分数の画素位置に関する動き探索を行い、分数の画素精度で動きベクトルを出力し得る。
【００２３】
動き推定ユニット222は、インター符号化スライスにおけるビデオブロックのPUに対して、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、動きベクトルを計算する。参照ピクチャは複数の参照ピクチャリストのうちの1つから選択されることが可能であり、それらの各々はデコード済みピクチャバッファ206に記憶される1つ以上の参照ピクチャを特定する。動き推定ユニット222は、エントロピーエンコードユニット214および動き補償ユニット220のために計算された動きベクトルを作成する。
【００２４】
動き補償ユニット220によって行われる動き補償は、動き推定ユニット222によって決定された動きベクトルに基づいて予測ブロックを取り込むまたは作成することを含み得る。現在のビデオブロックのPUに対する動きベクトルを受け取ると、動き補償ユニット220は、動きベクトルが参照ピクチャリストのうちの1つにおいて指し示す予測ブロックを位置決めし得る。加算器208は、符号化されている現在のビデオブロックの画素値から予測ブロックの画素値を減算し、画素差値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット222はルマ成分に関する動き推定を行い、動き補償ユニット220は、ルマ成分に基づいて計算された動きベクトルをクロマ成分とルマ成分の両方に対して使用する。モード選択ユニット204は、ビデオスライスのビデオブロックをデコードする際に使用するための、ビデオブロックおよびビデオスライスと関連付けられる構文要素も作成し得る。
【００２５】
イントラ予測ユニット224は、動き推定ユニット222および動き補償ユニット220によって行われるインター予測に代わるものとして、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット224は、現在のブロックをエンコードするために使用するべきイントラ符号化モードを決定し得る。いくつかの例では、イントラ予測ユニット224は、たとえば別々のエンコードパスの間、様々なイントラ予測モードを用いて現在のブロックをエンコードすることが可能であり、イントラ予測ユニット224(または、いくつかの例ではモード選択ユニット204)は、テストされたモードから使用するべき適切なイントラ符号化モードを選択することが可能である。
【００２６】
たとえば、イントラ予測ユニット224は、様々なテストされたイントラ符号化モードに対してレート歪み分析を用いてレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ符号化モードを選択し得る。レート歪み分析は、一般に、エンコード済みブロックを生成するために使用されたビットレートまたはビット数と同様に、エンコード済みブロックとエンコードされてエンコード済みブロックを生成した元の未エンコードブロックとの間の歪み(または誤差)の量を決定する。イントラ予測ユニット224は、様々なエンコード済みブロックに対して歪みおよびレートから比率を計算して、どのイントラ符号化モードがブロックに対して最良のレート歪み値を示すかを決定し得る。
【００２７】
加えて、イントラ予測ユニット224は、深度マップの深度ブロックを符号化するように構成され得る。たとえば、イントラ予測ユニット224は、基礎(2D)HEVC規格からのイントラ予測モード、領域境界チェーン符号化モード(chain coding mode、CCM)、簡易もしくはセグメント単位深度符号化モード(SDC)、または深度モデリングモード(depth modeling mode、DMM)を使用して、深度スライスのイントラ予測されたPUを符号化し得る。いくつかの例では、動き推定ユニット222および動き補償ユニット220はまた、深度マップの深度ブロックを符号化するように構成され得る。動き推定ユニット222および動き補償ユニット220は、基礎(2D)HEVC規格またはインターSDCモードに従ってインター予測を行って、深度スライスのインター予測されたPUを符号化し得る。
【００２８】
変換処理ユニット210は、残差ブロックに変換を適用して、残差変換係数のブロックを生成する。変換は残差情報を画素値領域から、周波数領域などの変換領域に変換し得る。変換処理ユニット210は、離散コサイン変換(DCT)またはDCTと概念的に類似する他の変換などの変換を行い得る。ウェーブレット変換、整数変換、サブバンド変換、または他の種類の変換も使用されることが可能である。変換処理ユニット210は、結果としての変換係数を量子化ユニット212に送り得る。いくつかの例では、変換工程はスキップされ得る。
【００２９】
量子化ユニット212は、変換係数を量子化してビットレートをさらに低減する。量子化工程は、係数のいくつかまたはすべてと関連付けられるビット深度を低減し得る。量子化の程度は、量子化パラメータを調節することによって修正され得る。いくつかの例では、量子化ユニット212は次いで、量子化変換係数を含む行列の走査を行い得る。代替的に、エントロピーエンコードユニット214が走査を行い得る。
【００３０】
量子化に続いて、エントロピーエンコードユニット214は、量子化変換係数をエントロピー符号化する。たとえば、エントロピーエンコードユニット214は、コンテキスト適応二値算術符号化(CABAC)、またはコンテキスト適応可変長符号化(context adaptive variable length coding、CAVLC)、構文ベースのコンテキスト適応二値算術符号化(syntax-based context-adaptive binary arithmetic coding、SBAC)もしくは確率区間区分エントロピー(probability interval partitioning entropy、PIPE)符号化など、他のエントロピー符号化工程を行い得る。コンテキストベースのエントロピー符号化の場合、コンテキストは隣接ブロックに基づき得る。エントロピーエンコードユニット214によるエントロピー符号化に続いて、エンコード済みビットストリームは、別の装置(たとえば、ビデオデコーダ300)に伝送、または後の伝送もしくは検索のためにアーカイブ保管され得る。
【００３１】
逆量子化ユニット230および逆変換ユニット232は、それぞれ、逆量子化および逆変換を適用して、画素領域における残差ブロックを参照ブロックとしての後の使用のために再構築する。動き補償ユニット220は、デコード済みピクチャバッファ206のフレームのうちの1つの予測ブロックに残差ブロックを加えることによって参照ブロックを計算し得る。動き補償ユニット220はまた、1つ以上の補間フィルタを再構築残差ブロックに適用して、動き推定に使用するための整数より下位の画素値を計算し得る。
【００３２】
加算器234は、動き補償ユニット220によって生成される動き補償予測ブロックに再構築された残差ブロックを加算して、デコード済みピクチャバッファ206に記憶するための再構築されたビデオブロックを生成する。再構築されたビデオブロックは、動き推定ユニット222および動き補償ユニット220によって参照ブロックとして使用されて、後続のビデオフレームにおけるブロックをインター符号化し得る。
【００３３】
この開示に記載される技法によれば、ビデオエンコーダ200は、3Dビデオ符号化工程において利用可能な深度イントラ符号化モードを用いて3Dビデオデータに対する深度データをエンコードするように構成され得る。1つの例において、ビデオエンコーダ200は、深度モデリングテーブルにおける、3Dビデオデータに対する深度データを符号化するために使用された深度イントラ符号化モードをシグナリングする。深度モデリングテーブルは、HEVCイントラ符号化モードのための構文と別の追加の深度イントラ符号化モードのための構文をシグナリングする。加えて、ビデオエンコーダ200は、HEVCイントラ符号化モードとは異なる深度イントラ符号化モードのいずれかが3Dビデオデータに対して有効にされているかどうかを示す、フラグなどの構文要素をシグナリングする。いくつかの例では、構文要素は、深度イントラ符号化モードのすべてが3Dビデオデータに対して有効にされているかどうかを示し得る。構文要素は、ビデオデータのビデオパラメータ集合(video parameter set、VPS)、シーケンスパラメータ集合(sequence parameter set、SPS)またはピクチャパラメータ集合(picture parameter set、PPS)のうちの1つに含まれ得る。深度イントラ符号化モードが有効にされるとき、ビデオエンコーダ200によってシグナリングされるフラグは、深度モデリングテーブルをデコードして、深度データを符号化するために使用された深度イントラ符号化モードのうちの1つを決定するようにビデオデコーダ300に示す。深度モデリングテーブルは、ビデオデータの符号化ユニット(CU)レベルまたは予測ユニット(PU)レベルのうちの1つにおいてエンコードされ得る。ビデオエンコーダ200のシグナリングは、この開示の技法に従って、HEVCイントラ符号化モードと別の深度モデリングテーブルにおける深度イントラ符号化モードをシグナリングし、いつ深度イントラ符号化モードが有効にされ、深度モデリングテーブルがデコードされるかを示すことによって、デコーダの構文解析の負担を低減し得る。
【００３４】
別の例では、ビデオエンコーダ200は、2つ以上の深度符号化モードにわたって統一された構文要素の集合を用いて3Dビデオデータに対する深度データの残差情報をシグナリングするように構成され得る。深度符号化モードは、深度イントラ符号化モードおよび深度インター符号化モードを含み得る。構文要素の集合は、残差値が深度符号化モードのいずれかに対して符号化されているかどうかを示す構文要素を含み得る。構文要素の集合は、深度符号化モードのいずれかに対する残差値の絶対値および符号を示す構文要素も含み得る。構文要素の同じ集合を共有して深度符号化モードの2つ以上に対する残差情報を示すことによって、ビデオエンコーダ200はまた、共有された構文要素の各々に対するコンテキストモデル選択および二値化方法を統一し得る。加えて、深度イントラ符号化モードに対して、ビデオエンコーダ200は、深度データの残差値の作成の間、隣接参照サンプルをフィルタリングしないと決定し得る。ビデオエンコーダ200のエンコード機構およびシグナリングは、この開示の技法に従って、デコーダの構文解析の負担を低減し、深度符号化モードに対する残差情報構文を統一することによって、いくつかの必要とされるコンテキストモデルおよび二値化方法を削減し得る。
【００３５】
図3は、深度データ符号化のための技法を実現し得るビデオデコーダ300の例を例示するブロック図である。ビデオデコーダ300は、ビデオデータメモリ302、エントロピーデコードユニット304、動き補償ユニット306、イントラ予測ユニット308、逆量子化ユニット310、逆変換ユニット312、デコード済みピクチャバッファ(DPB)314および加算器316を含む。ビデオデコーダ300は、ここに提供されるような3D-HEVCにおける深度マップの簡易符号化モードシグナリングのための技法を行うように構成され得る装置を表現する。
【００３６】
ビデオデータメモリ302は、ビデオデコーダ300の構成要素によってデコードされるべき、エンコード済みビデオビットストリームなどのビデオデータを記憶し得る。ビデオデータメモリ302に記憶されるビデオデータは、たとえば、コンピュータ可読媒体から、たとえばカメラなどのローカルビデオ源から、ビデオデータの有線もしくは無線ネットワーク通信を介して、または物理的なデータ記憶媒体にアクセスすることによって得られ得る。ビデオデータメモリ302は、エンコード済みビデオビットストリームからのエンコード済みビデオデータを記憶する符号化済みピクチャバッファ(coded picture buffer、CPB)を形成し得る。デコード済みピクチャバッファ314は、イントラまたはインター符号化モードによってビデオデコーダ300によってビデオデータをデコードする際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ302およびデコード済みピクチャバッファ314は、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))または他の種類のメモリ装置など、各種のメモリ装置のいずれかによって形成され得る。ビデオデータメモリ302およびデコード済みピクチャバッファ314は、同じメモリ装置または別々のメモリ装置によって提供され得る。様々な例では、ビデオデータメモリ302は、ビデオデコーダ300の他の構成要素を有するオンチップ、またはそれらの構成要素に関するオフチップであり得る
【００３７】
デコード工程の間、ビデオデコーダ300は、ビデオエンコーダ200から、エンコード済みビデオスライスのビデオブロックおよび関連した構文要素を表現するエンコード済みビデオビットストリームを受け取る。エントロピーデコードユニット304は、ビットストリームをエントロピーデコードして量子化係数、動きベクトル、イントラ符号化モードインジケータおよび他の構文要素を作成する。ビデオデコーダ300は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいて構文要素を受け取り得る。各ビューに対するテクスチャマップ(すなわち、ルマおよびクロマ値)をデコードすることに加えて、ビデオデコーダ300は、各ビューに対する深度マップをさらにデコードし得る。
【００３８】
ビデオスライスがイントラ符号化された(I)スライスとして符号化されるとき、イントラ予測ユニット308は、シグナリングされたイントラ符号化モードおよび現在のフレームまたはピクチャの以前にデコードされたブロックからのデータに基づいて、現在のビデオスライスのビデオブロックに対する予測データを作成し得る。イントラ予測ユニット308は、深度データをイントラ符号化し得る。たとえば、イントラ予測ユニット308は、基礎(2D)HEVC規格からのイントラ予測モード、領域境界チェーン符号化モード(CCM)、簡易深度符号化もしくはセグメント単位DC符号化(SDC)モード、または深度モデリングモード(DMM)を使用して、深度スライスのイントラ予測されたPUを符号化し得る。
【００３９】
ビデオフレームがインター符号化(すなわち、BまたはP)スライスとして符号化されるとき、動き補償ユニット306は、エントロピーデコードユニット304から受け取った動きベクトルおよび他の構文要素に基づいて、現在のビデオスライスのビデオブロックに対する予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つの中の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ300は、デコード済みピクチャバッファ314に記憶される参照ピクチャに基づいてデフォルト構築技法を用いて参照フレームリストを構築し得る。
【００４０】
動き補償ユニット306は、動きベクトルおよび他の構文要素を構文解析することによって現在のビデオスライスのビデオブロックに対する予測情報を決定し、予測情報を使用して、デコードされている現在のビデオブロックに対する予測ブロックを生成する。たとえば、動き補償ユニット306は、受け取った構文要素のいくつかを使用して、ビデオスライスのビデオブロックを符号化するために使用される予測モード(たとえば、イントラまたはインター予測)、インター予測スライスの種類(たとえば、BスライスまたはPスライス)、スライスに対する参照ピクチャリストのうちの1つ以上のための構築情報、スライスの各々のインターエンコードされたビデオブロックに対する動きベクトル、スライスの各々のインター符号化されたビデオブロックに対するインター予測状況、および現在のビデオスライスにおけるビデオブロックをデコードするための他の情報を決定する。
【００４１】
動き補償ユニット306は、補間フィルタに基づいて補間を行い得る。動き補償ユニット306は、ビデオブロックのエンコードの間、ビデオエンコーダ200によって使用されたような補間フィルタを使用して、参照ブロックの整数より下位の画素に対する補間された値を計算し得る。この場合には、動き補償ユニット306は、受け取った構文要素からビデオエンコーダ200によって使用される補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成し得る。動き補償ユニット306は、深度データをインター符号化し得る。たとえば、動き補償ユニット306は、基礎(2D)HEVC規格またはインターSDCモードに従ってインター予測を行って、深度スライスのイントラ予測されたPUを符号化し得る。
【００４２】
逆量子化ユニット310は、ビットストリームにおいて提供され、エントロピーデコードユニット304によってデコードされた量子化変換係数を逆量子化、すなわち非量子化する。逆量子化工程は、適用されるべき、量子化の程度、および、同様に、逆量子化の程度を決定するために、ビデオスライスにおける各ビデオブロックに対してビデオデコーダ300によって計算される量子化パラメータQPYの使用を含み得る。逆変換ユニット312は、画素領域における残差ブロックを生成するために、変換係数に、逆変換、たとえば逆DCT、逆整数変換、または概念的に同様の逆変換工程を適用する。
【００４３】
動き補償ユニット306またはイントラ予測ユニット308が動きベクトルまたは他の構文要素に基づいて現在のビデオブロック(たとえばテクスチャブロックまたは深度ブロック)に対する予測ブロックを作成した後、ビデオデコーダ300は、逆変換ユニット312からの残差ブロックを、動き補償ユニット306またはイントラ予測ユニット308によって作成された対応する予測ブロックと合計することによって、デコードされたビデオブロックを形成する。加算器316は、この合計動作を行う1つ以上の構成要素を表現する。
【００４４】
所望ならば、ブロック状の人工物を除去するために、デブロッキングフィルタも適用されてデコードされたブロックをフィルタリングし得る。他のループフィルタ(符号化ループ内、または符号化ループ後のいずれか)も使用されて、画素遷移を平滑化し、またはそうでなければビデオ品質を改善し得る。所与のフレームまたはピクチャにおけるデコードされたビデオブロックは次いで、デコード済みピクチャバッファ314に記憶され、それは後続の動き補償のために使用される参照ピクチャを記憶する。デコード済みピクチャバッファ314はまた、表示装置上の後の提示のためにデコードされたビデオを記憶する。
【００４５】
1つの例では、ビデオデコーダ300は、深度モデリングテーブルにおける3Dビデオデータに対する深度データを符号化するために使用される深度イントラ符号化モードを示す構文要素をデコードする。深度モデリングテーブルは、HEVCイントラ予測モードのための構文とは別の追加の深度イントラ符号化モードのための構文を含む。加えて、ビデオデコーダ300は、HEVCイントラ予測モードとは異なる深度イントラ符号化モードのいずれかが3Dビデオデータに対して有効にされているかどうかを示す、フラグなどの構文要素をデコードする。いくつかの例では、構文要素は、深度イントラ符号化モードのすべてが3Dビデオデータに対して有効にされているかどうかを示し得る。構文要素は、ビデオデータのビデオパラメータ集合(VPS)、シーケンスパラメータ集合(SPS)またはピクチャパラメータ集合(PPS)のうちの1つに含まれ得る。ビデオデコーダ300が、デコードされた構文要素に基づいて、深度イントラ符号化モードが有効にされていると決定したとき、ビデオデコーダ300は深度モデリングテーブルをデコードして、深度データを符号化するために使用される深度イントラ符号化モードのうちの1つを決定する。深度モデリングテーブルは、ビデオデータの符号化ユニット(CU)レベルまたは予測ユニット(PU)レベルのうちの1つにおいてデコードされ得る。シグナリングは、HEVCイントラ予測モードとは別の深度モデリングテーブルに深度イントラ符号化モードを含め、いつ深度イントラ符号化モードが有効にされ、深度モデリングテーブルがデコードされるかを示すことによって、ビデオデコーダ300における構文解析負担を低減し得る。
【００４６】
図4Aおよび図4Bは、3Dシーン表現の例を図示する。3Dシーン表現は、テクスチャデータを含む図4Aにおけるテクスチャフレームおよび深度データを含む図4Bにおける深度フレームを含む。深度データを記載する深度マップは、対応するテクスチャとの強い相関を提示する一定のエリアおよび鋭いエッジによって特徴付けられる。従来のイントラ予測モードは、HEVC規格におけるものなど、深度マップを符号化するために使用されることが可能である。HEVCイントラ予測モードは、DC(平坦)モード、Planar(表面フィッティング)モードおよび33個のangularモードを含む35個のイントラ予測モードを含む。これらのイントラ予測モードは、テクスチャフレーム圧縮に十分に適しているが、深度フレームをあまり効率的に圧縮しない。テクスチャと対応する深度との間の異なる統計量および相関のため、追加のイントラ符号化モードは、深度フレームイントラ圧縮を改善するように設計されてきた。追加の深度イントラ符号化モードの例は、深度モデリングモード(DMM)、簡易深度符号化(SDC)モードおよびチェーン符号化モード(CCM)を含む。SDCモードはセグメント単位深度符号化(SDC)モードとも称される。
【００４７】
DMMは、エッジを含む深度ブロックの信号を近似するための非長方形ブロック区分を適用することによって、深度マップ符号化の特定の特性に適応される。深度ブロックは、DMMパターンによって指定される2つの領域に区分され、各領域は一定値によって表現される。DMMにおいて定義される2つの区分モデル、深度ブロックが直線によって2つの領域に区分されるウェッジレット(Wedgelet)区分、および深度ブロックが2つの不規則な領域に区分される輪郭(Contour)区分がある。DMMウェッジレット区分パターンは、明示的にシグナリングされる(DMM1)、空間隣接ブロックによって予測される(DMM2)、または同じ場所に位置するテクスチャブロックによって予測される(DMM3)のいずれかであることが可能である。DMM輪郭区分パターンは、同じ場所に位置するテクスチャブロックによって予測されることが可能である(DMM4)。他の例では、DMMは他の深度サブモードを含み得る。DMMモードは、3D Video Coding with Depth Modeling Modes and View Synthesis Optimization、Karsten Muller、Philipp Merkle、Gerhard Tech、およびThomas Wiegand: Proceedings of APSIPA Annual Summit and Conference 2012、Hollywood、CA、USA、2012年12月に記載されている。
【００４８】
SDCモードは、イントラ符号化された深度ブロックに対する深度残差をより効率的に表現するように設計される。規格HEVCにおけるように画素単位残差を符号化する代わりに、SDCモードは、予測ユニット(PU)の各セグメントに対して1つの深度符号化された残差値を符号化し、変換および量子化を省略する。SDCは、元来、DCモード、Planarモードおよび深度モデリングモード(DMM)を含むいくつかのモードのみに対して提案されたが、従来のangularイントラ予測モードに拡張されることが可能である。イントラ符号化モードで符号化される各深度予測ユニットに対して、エンコーダ/デコーダは、画素単位残差またはセグメント単位残差を符号化してより良好な圧縮効率を達成することを適応的に選ぶことが可能である。
【００４９】
SDCモードにおいて、深度値は深度ルックアップテーブル(Depth Lookup Table、DLT)を用いてインデックスに任意選択でマッピングされることが可能であり、DLTは全シーケンスをエンコードする前に最初のイントラ期間内のフレームを分析することによって構築される。DLTが使用されるならば、DLT全体はシーケンスパラメータ集合(SPS)においてデコーダに伝送され、デコードされるインデックス値はDLTに基づいて深度値に逆にマッピングされる。第1のDLTはDLTに従って深度値をインデックス値に変換するために使用されることが可能であり、第2のDLTはインデックス値を深度値に逆に変換するために使用されることが可能である。追加のフラグが各イントラ深度CUに対してシグナリングされて、現在のCUがSDCモードによって符号化されているか否かを指定する。1つの実施形態において、SDCモードは、2N×2N区分サイズを有するCUに対して適用される。SDCモードは、JCT3V-B0036(タイトル「3D-CE6.h: Simplified Depth Coding with an optional Depth Lookup Table」、Jagerら、ITU-T SG 16 WP 3およびISO/IEC JTC 1/SC 29/WG 11の3Dビデオ符号化拡張開発における共同協力チーム、２回目のミーティング：上海、中国、2012年10月13〜19日)に記載されている。
【００５０】
CCMモードにおいて、深度ブロックは、「チェーン」を用いてシグナリングされる任意の区分パターンによって指定される2つの領域に区分される。チェーンは、サンプルとその8つの接続サンプルのうちの1つとの間の接続である。各チェーンは方向インデックスが割り当てられ、一連の接続されたチェーンインデックスがシグナリングされて区分パターンを定義する。
【００５１】
上記で指摘されるように、RDO処理は、最小値を有するイントラ符号化モードを選ぶために使用される。RDO処理は非常に時間がかかり、多くの演算を要するので、ある工程が実装されて、PUに適用するためのイントラ符号化モードを特定するために必要とされるRDO処理の量を制限し得る。
【００５２】
図5は、SDC符号化を有効にするときに演算負荷を低減するための工程500の例を図示する。SDCは、HEVCイントラ予測モードおよび深度モデリングモードを含むすべての深度イントラ符号化モードに適用されることが可能である。通常のHEVCベースの深度イントラ符号化において、全RDO工程は、各PUに対する非SDC符号化モードおよびSDC符号化モードの両方に行われる。表1は、SDC符号化が有効にされたか、または無効にされたかどうかにかかわらず同じイントラ符号化モードで符号化されたPUのパーセンテージを示す試験結果を図示する。表2は、試験構成パラメータを図示する。
【００５３】
【表１】
0006308449.tif 000002
【００５４】
【表２】
0006308449.tif 000003
【００５５】
試験は、8つの試験シーケンスの最初の24個のフレームならびにテクスチャおよび深度に対する3対の量子化パラメータに対してSDC符号化オプションを有効および無効にした。表1に図示されるように、PUの約90%に対して、SDC符号化オプションが有効にされるか、または無効にされるかどうかにかかわらず同じ最良のイントラ符号化モードが選ばれる。換言すれば、SDC符号化オプションが無効にされたとき、最良のイントラ符号化モードの90%は、SDCオプションが有効にされたときの最良のイントラ符号化モードでもあるであろう。結果として、すべてのイントラ符号化モードに対してSDCオプションを用いて全RDコストを演算することは必要でない。SDCオプションなしの最良のイントラ符号化モードが予測因子として使用されて、全RDコスト計算をスピードアップすることが可能である。
【００５６】
工程500は、ブロック502において、全RDコスト計算リストにおける配置のために、HEVCイントラ予測モードおよび深度モデリングモードを含むイントラ符号化モードから候補モードを決定することによって開始する。他のイントラ符号化モードも、所望されるように決定および配置され得る。全RDコスト計算リストを作成する1つの例では、HEVC予測モードに対する予測残差が決定され、各モードに対するそれぞれの予測残差のDCT係数の絶対値を合計することによって変換差の絶対値の和(Sum of Absolute Transform Difference、SATD)値が計算される。最小SATD値を有するモードが全RDコスト計算リストに配置される。1つの実施形態において、全RDコスト計算リストは、8x8および4x4のPUサイズに対して8つのモードならびに64x64、32x32および16x16のPUサイズに対して3つのモードを含む。他の実施形態は、異なる数のモードを含み得る。代替的に、全RDコスト計算リストは、可能な候補を最初に特定することなくすべてのHEVCイントラ予測モードおよび深度モデリングモード(および任意の他の所望のイントラ符号化モード)を含み得る。
【００５７】
ブロック504で、全RDコスト計算リストにおけるすべてのHEVCイントラ予測モードに対して、SDCオプションが無効にされて全RDコストが計算される。SDCオプションが無効にされて最小RDコストを有するHEVCイントラ予測モードがブロック506で選択される。次いでブロック508において、全RDコスト計算リストにおける選択されたHEVCイントラ予測モードおよび任意の深度モデリングモードにおいて、SDCモードが有効にされて全RDコスト計算が行われる。深度モデリングモードは深度マップ圧縮のために特別に設計されているので、深度モデリングモードに対してSDCオプションを常に有効にすることが好ましい。しかしながら、全RDコスト計算は、ブロック504において、HEVCイントラ予測モードとともに深度モデリングモードに対して行われて、SDCオプションのないすべてのモードの中から最小RDコストを有するモードを見つけ得る。
【００５８】
ブロック510で、SDCオプションが有効にされて最小RDコストを有するイントラ符号化モードが特定される。選択されたイントラ予測モード(SDCオプションが無効にされて決定される)に対する最小RDコストと、特定されたイントラ符号化モード(SDCオプションが有効にされて決定される)に対する最小RDコストとの間の比較がブロック512でなされる。選択されたイントラ予測モードに対するRDコストが特定されたイントラ符号化モードに対するRDコストより大きいならば、特定されたイントラ符号化モードがブロック514でPUを符号化するために使用される。選択されたイントラ予測モードに対するRDコストが特定されたイントラ符号化モードに対するRDコストより大きくなければ、選択されたイントラ予測モードがブロック516でPUを符号化するために使用される。代替的に、コストが等しいならば、PUの符号化は、所望されるように選択されたモードおよび特定されたモードの一方で行われ得る。
【００５９】
表3および表4は、HEVC規格のための共通試験条件(Common Test Conditions、CTC)の下で行われた工程500に対するサンプル試験結果を図示する。表3は、全イントラ構成に対するCTCの下での3ビュー事例に対するBDレート試験結果を図示する。表4は、ランダムアクセス構成に対するCTCの下での3ビュー事例に対するBDレート試験結果を図示する。表によれば、工程500は深度マップ圧縮のために設計されているので、テクスチャビデオには効果は及ぼされない。表3の全イントラ事例について、平均17%のエンコード時間が節約され、剣道シーケンスに対しては25%までのエンコード時間の節約となる。全体のBDビットレート損失は、無視できると考えられる0.19%にすぎない。デコードおよびレンダリング時間には影響は実質的に及ぼされない。表4のランダムアクセス事例について、SDC符号化はイントラ深度マップ符号化のために使用されるのみであるので、性能変化はより小さい。
【００６０】
【表３】
0006308449.tif 000004
【００６１】
【表４】
0006308449.tif 000005
【００６２】
別の実施形態において、ブロック506においてSDCオプションが無効にされて最小RDコストを有するHEVCイントラ予測モードを選択する代わりに、2つ以上のイントラ予測モードが選択され得る。たとえば、SDCオプションが無効にされて最小および2番目に小さいRDコストを有するイントラ予測モードが、SDCオプションが有効にされる後続の全RDコスト計算のために選択され得る。整数値「n」が、SDCオプションが無効にされて最小RDコストを有するある数のイントラ予測モードの選択のために使用され得る。
【００６３】
別の実施形態において、SDCオプションが無効にされて最小RDコストを有すると認められなかったあるイントラ符号化モードに対して、ブロック508において、SDCオプションが有効にされて全RDコスト計算を行うことが望ましいことがあり得る。全RDコスト計算リストにおける1つ以上のイントラ符号化モードが、SDCオプションが有効にされた全RDコスト計算のために特定され得る。SDCオプションが有効にされた全RDコスト計算のために、全RDコスト計算リストにおけるある数のイントラ符号化モードを特定するために整数値が使用され得る。このように特定されたイントラ符号化モードは、全RDコスト計算リストにおける順序、イントラ符号化モードの優先度または任意の他の基準によってなど、様々な基準に基づいて決定され得る。
【００６４】
別の実施形態において、SDCが有効にされた全RDコスト計算は、ある深度モデリングモードのみ、特定のHEVCイントラ予測モードのみ、またはある深度モデリングモードおよび特定のHEVCイントラ予測モードの組合せに限定され得る。
【００６５】
図6は、SDC符号化を有効にするときに演算負荷を低減するための工程600の別の例を図示する。工程600は、ブロック602において、全RDコスト計算リストにおける配置のために、HEVCイントラ予測モードおよび深度モデリングモードから候補モードを決定することによって開始する。他のイントラ符号化モードも、所望されるように含まれ得る。1つの実施形態において、全RDコスト計算リストは上記したように埋められ得る。代替的に、全RDコスト計算リストは、可能な候補を最初に特定することなくすべてのHEVCイントラ予測モードおよび深度モデリングモード(および任意の他の所望のイントラ符号化モード)を含み得る。
【００６６】
ブロック604で、全RDコスト計算リストにおけるすべてのHEVCイントラ予測モードに対して、SDCオプションが無効にされて全RDコストが計算される。SDCオプションが無効にされて最小RDコストを有するHEVCイントラ予測モードがブロック606で選択される。2番目に小さいおよび3番目に小さいRDコストを有するイントラ予測モードなど、1つ以上の追加のイントラ予測モードもブロック606で選択され得る。
【００６７】
反復工程608が、全RDコスト計算リストにおける各候補モードに対して行われる。ブロック608で検査される全RDコスト計算リストにおける各候補に対して、最小RDコストを有するイントラ予測モードがPlanarまたはDCイントラ予測モードであるかどうかに関して、ブロック612で決定がなされる。その通りであれば、候補モードがPlanarまたはDCイントラ予測モードであり、かつ第1の閾値より小さいPU分散を有するかどうかに関して、ブロック614で決定がなされる。候補モードがPlanarまたはDCイントラ予測モードでなく、かつPU分散が第1の閾値より小さいならば、その候補モードは省かれ、全RDコスト計算リストからの次の候補モードがブロック608で検査される。PU分散は、以下の数式によって決定され得る。
【００６８】
【数１】
0006308449.tif 000006
【００６９】
ここでxiはPUにおける画素値であり、NはPUにおける総画素数である。
1つの実施形態において、第1の閾値は1である。
【００７０】
ブロック614で、候補モードがPlanarもしくはDCイントラ予測モードであるか、またはPU分散が第1の閾値より大きいならば、その候補モードはSDCモードが有効にされた全RDコスト計算のためのブロック616に与えられる。ブロック618で、全RDコスト計算リストにおけるすべての候補モードが検査されたかどうかに関して決定がなされる。その通りでなければ、次の候補モードがブロック608で処理される。
【００７１】
ブロック612で、最小RDコスト計算を有するイントラ予測モードがPlanarまたはDCでなければ、工程はブロック620に流れ、ここで候補モードはSDCモードが有効にされた全RDコスト計算について検査される。SDCモードが有効にされた全RDコスト計算が、PlanarまたはDCである全RDコスト計算リストにおけるそれらの候補モード、DMMおよびブロック604において特定された最小RDコスト値の数に対して行われる。SDCモードが有効にされる候補モード全RDコスト計算のための他の基準は、全RDコスト計算リストにおける順序、およびPU分散が第2の分散閾値より大きいかどうかに基づく1つ以上の候補モードを含む。これらの基準が満たされなければ、候補モードは、SDCモードが有効にされた全RDコスト計算について処理されず、次の候補モードが、それがあれば、ブロック608を通して検査される。1つの実施形態において、第2の閾値は4である。
【００７２】
すべての候補モードが全RDコスト計算について検査された後、SDCモードが有効にされて最小RDコストを有するイントラ符号化モードがブロック622で特定される。SDCモードが有効にされて最小RDコストを有するイントラ符号化モードと、SDCモードが有効にされて最小RDコストを有する前に決定されたイントラ予測モードとの間の比較がブロック624でなされる。SDCモードが有効にされたイントラ符号化モードがSDCモードが無効にされたイントラ予測モードより低いRDコストを有するならば、SDCモードが有効にされたイントラ符号化モードがブロック626でPUに対して適用される。SDCモードが有効にされたイントラ符号化モードがSDCモードが無効にされたイントラ予測モードより低いRDコストを有さないならば、SDCモードが無効にされたイントラ予測モードがブロック628でPUに対して適用される。
【００７３】
表5および表6は、最小RDコストを有する3つのイントラ予測モード、およびPU分散閾値の代わりに、ブロック620におけるRDコスト計算リストにおける最初のモードが、SDCモードが有効にされた全RDコスト計算に含まれるときの、HEVC規格のための共通試験条件(CTC)の下で行われた工程600に対するサンプル試験結果を図示する。表5は、全イントラ構成に対するCTCの下での3ビュー事例に対するBDレート試験結果を図示する。表6は、ランダムアクセス構成に対するCTCの下での3ビュー事例に対するBDレート試験結果を図示する。15%を超える全イントラエンコード時間の節約が、無視できるほどのBDビットレート損失で達成される。
【００７４】
【表５】
0006308449.tif 000007
【００７５】
【表６】
0006308449.tif 000008
【００７６】
表7および表8は、最小RDコストを有する3つのイントラ予測モード、および全RD計算リストにおける最初のモードの代わりに、ブロック620におけるPU分散閾値が、SDCモードが有効にされた全RDコスト計算に含まれるときの、HEVC規格のための共通試験条件(CTC)の下で行われた工程600に対するサンプル試験結果を図示する。表7は、全イントラ構成に対するCTCの下での3ビュー事例に対するBDレート試験結果を図示する。表8は、ランダムアクセス構成に対するCTCの下での3ビュー事例に対するBDレート試験結果を図示する。平均して、10%を超える全イントラエンコード時間の節約が、無視できるほどのBDビットレート損失で達成される。
【００７７】
【表７】
0006308449.tif 000009
【００７８】
【表８】
0006308449.tif 000010
【００７９】
図7は、ここに開示された1つ以上の実施形態を実装するために適切な簡易、汎用演算構成要素700を例示する。ビデオエンコーダ200およびビデオデコーダ300のために上記した構成要素は、それに課される必要な作業負荷を扱うために、十分な処理能力、メモリ資源およびネットワークスループット能力を有するコンピュータまたはネットワーク構成要素などの任意の汎用演算構成要素上に実装され得る。演算構成要素700は、二次記憶704を含むメモリ装置、リードオンリメモリ(ROM)706、ランダムアクセスメモリ(RAM)708、入出力(I/O)装置710およびネットワーク/構成要素接続装置712と通信状態にあるプロセッサ702(中央処理装置またはCPUと称され得る)を含む。プロセッサ702は、1つ以上のCPUチップとして実装され得るか、または1つ以上の特定用途向け集積回路(ASIC)の一部であり得る。
【００８０】
二次記憶704は典型的には、1つ以上のディスクドライブまたはテープドライブから構成され、データの不揮発性記憶のために、RAM708がすべての作業データを保持するほど十分大きくないならばオーバフローデータ記憶デバイスとして使用される。二次記憶704は、プログラムが実行のために選択されたときRAM708にロードされるそのようなプログラムを記憶するために使用され得る。ROM706は、プログラム実行の間に読み出される命令およびおそらくデータを記憶するために使用される。ROM706は、二次記憶704のより大きいメモリ容量と比較して小さいメモリ容量を典型的に有する不揮発性メモリデバイスである。RAM708は、揮発性データを記憶するため、およびおそらく命令を記憶するために使用される。ROM706およびRAM708の両方へのアクセスは、二次記憶704へのアクセスより典型的に高速である。追加のプロセッサおよびメモリデバイスが、ビデオエンコーダ200およびビデオデコーダ300内の各構成要素の機能に基づいて組み込まれ得る。
【００８１】
要約すると、SDCありとSDCなしの最良のイントラ符号化モードの間の強い相関を調査することによって、予測因子としてSDCなしの最良のイントラ予測モードを使用することによって、不必要なSDC全RDコスト計算が回避されることが可能である。かなりの時間の節約が、無視できるほどのビットレート損失で達成されることが可能である。3D-HEVCと調和した深度マップの符号化モード決定を単純化するための様々な技法が、深度モデリングモード(DMM)、簡易深度符号化(SDC)モードおよびチェーン符号化モード(CCM)を含む、深度イントラ符号化モードに関して記載された。技法は、他の深度イントラ符号化モードおよび、インターSDCモードなどの深度インター符号化モードにさらに拡張され得る。
【００８２】
いくつかの実施形態において、装置の1つ以上の機能または工程のいくつかまたはすべては、コンピュータ可読プログラムコードから形成され、コンピュータ可読媒体に具現化されたコンピュータプログラムによって実装またはサポートされる。語句「コード」は、ソースコード、オブジェクトコードおよび実行可能コードを含む、任意の種類のコンピュータコードを含む。語句「コンピュータ可読媒体」は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスクドライブ、コンパクトディスク(CD)、デジタルビデオディスク(DVD)または任意の他の種類のメモリなど、コンピュータによってアクセスされることが可能である任意の種類の媒体を含む。
【００８３】
この特許文献を通して使用されるある語および語句の定義を記載することは有利であり得る。用語「含む」および「備える」は、それらの派生語も同様に、限定することなく含むことを意味する。用語「または」は包括的であり、および/またはを意味する。語句「と関連付けられる」および「それと関連付けられる」は、それらの派生語も同様に、含む、内に含まれる、と相互接続する、包含する、内に包含される、に接続する、または、と接続する、に連結する、または、と連結する、と連通する、と協働する、挟む、並置する、に近接する、に結合される、または、と結合される、有する、の属性を有する、または同様のものを意味する。
【００８４】
この開示はある実施形態および一般に関連した方法を記載したが、これらの実施形態および方法の変更および置換はこの技術分野の当業者にとって明らかであり、かつ容易に理解できるであろう。したがって、例示の実施形態の上記の記載は、この開示を定義または制限しない。他の変形、代替および変更も、以下の請求項によって定義されるように、この開示の範囲から逸脱することなく可能である。
【符号の説明】
【００８５】
200  ビデオエンコーダ
202  ビデオデータメモリ
204  モード選択ユニット
206  デコード済みピクチャバッファ
208  加算器
210  変換処理ユニット
212  量子化ユニット
214  エントロピーエンコードユニット
220  動き補償ユニット
222  動き推定ユニット
224  イントラ予測ユニット
226  分割ユニット
230  逆量子化ユニット
232  逆変換ユニット
234  加算器
240  デブロッキングフィルタ
300  ビデオデコーダ
302  ビデオデータメモリ
304  エントロピーデコードユニット
306  動き補償ユニット
308  イントラ予測ユニット
310  逆量子化ユニット
312  逆変換ユニット
314  デコード済みピクチャバッファ
316  加算器
700  演算構成要素
702  プロセッサ
704  二次記憶
706  リードオンリメモリ
708  ランダムアクセスメモリ
710  入出力装置
712  ネットワーク/構成要素接続装置
【図１】
0006308449.tif 000011
【図２】
0006308449.tif 000012
【図３】
0006308449.tif 000013
【図４Ａ】
0006308449.tif 000014
【図４Ｂ】
0006308449.tif 000015
【図５】
0006308449.tif 000016
【図６】
0006308449.tif 000017
【図７】
0006308449.tif 000018