(57)【要約】  特殊層間予測モード(テレスコピックモードと呼ばれる)を使用するスケーラブルビデオコーディングのためのシステム及び方法が提供される。こうしたモードは、コーディング効率を改善すると共に、エンコーダの加速オペレーション促進をする。【選択図】図１
2010507937.tif 000002
【特許請求の範囲】
【請求項１】
スケーラブルデジタルビデオの復号化のためのシステムであって、
品質又は空間拡張ターゲット層及び少なくとも一つの追加の層のコード化単位のグループを含むスケーラブルデジタルビデオビットストリームを受信するように構成された入力であって、前記デジタルビデオビットストリームが、コード化単位のグループに関連する制御データ(予測制御データを含む)と、個々のコード化単位に関連する制御(予測を含む)データ、テクスチャデータ、又は動きデータを含む入力と、
前記入力に接続されたデコーダであって、前記ターゲット層及び前記少なくとも一つの追加の層のコード化単位のグループに関連する前記制御データと、前記ターゲット層及び前記少なくとも一つの追加の層の個々のコード化単位に関連する制御データ、テクスチャデータ、又は動きデータとを復号化するように構成されるデコーダと、
前記デコーダに接続されたプレディクタであって、前記プレディクタが、前記ターゲット層の複数のコード化単位の制御データ、テクスチャデータ、又は動きデータに関する予測基準を、前記ターゲット層又は前記少なくとも一つの追加の層のコード化単位のグループに関連する、伝達された(signaled)予測制御データとして生成し、又は前記ターゲット層又は前記少なくとも一つの追加の層の個々のコード化単位に関連する予測制御データから生成するように構成されるプレディクタと、
前記プレディクタに接続された結合器であって、生成された前記予測基準を、前記ターゲット層の前記複数のコード化単位に関連する、対応する復号化制御データ、テクスチャデータ、又は動きデータと組み合わせ、前記ターゲット層の前記複数のコード化単位に対応する復号化ピクチャの各部分を生成するように構成される結合器とを備え、
前記ターゲット層又は前記少なくとも一つの追加の層のコード化単位のグループに関連する前記予測制御データと、前記ターゲット層又は前記少なくとも一つの追加の層の個々のコード化単位に関連する前記予測制御データとが、層間予測制御データを含み、前記ターゲット層のコード化単位のグループの個々のコード化単位に関連する、対応する層間予測制御データが前記デジタルビデオビットストリーム中に存在しないとき、前記プレディクタが、前記ターゲット層のコード化単位のグループに関連する前記層間予測制御データによって示される値を使用するように構成されるシステム。
【請求項２】
受信されるデジタルビデオビットストリームがSVC JD8仕様に準拠し、コード化単位がマクロブロック又はマクロブロックパーティションに対応し、コード化単位のグループがスライスに対応し、
前記SVC JD8仕様は、
マクロブロック又はマクロブロックパーティションに関連する前記層間予測制御データが残差予測フラグ(residual_prediction_flag)パラメータを含み、
スライスに関連する前記層間予測制御データが適応残差予測フラグ(adaptive_residual_prediction_flag)パラメータを含む、ように拡張され、
前記デコーダが、前記適応残差予測フラグ(adaptive_residual_prediction_flag)パラメータがセットされないスライスのマクロブロック又はマクロブロックパーティション内の前記残差予測フラグ(residual_prediction_flag)パラメータを復号化しないようにさらに構成され、前記プレディクタが、前記スライスのすべてのマクロブロック又はマクロブロックパーティションについての前記残差予測フラグ(residual_prediction_flag)パラメータについてデフォルト値を取るようにさらに構成される請求項1に記載のシステム。
【請求項３】
受信されるデジタルビデオビットストリームがSVC JD8仕様に準拠し、コード化単位がマクロブロック又はマクロブロックパーティションに対応し、コード化単位のグループがスライスに対応し、
前記SVC JD8仕様は、
マクロブロック又はマクロブロックパーティションに関連する前記層間予測制御データがベースモードフラグ(base_mode_flag)パラメータを含み、
スライスに関連する前記層間予測制御データが適応予測フラグ(adaptive_prediction_flag)パラメータ及びデフォルトベースモードフラグ(default_base_mode_flag)パラメータを含む、ように拡張され、
前記デコーダが、前記適応予測フラグ(adaptive_prediction_flag)パラメータがセットされないスライスのマクロブロック又はマクロブロックパーティション内の前記ベースモードフラグ(base_mode_flag)パラメータを復号化しないようにさらに構成され、前記プレディクタが、前記スライスのすべてのマクロブロック又はマクロブロックパーティションについての前記ベースモードフラグ(base_mode_flag)パラメータについて前記デフォルトベースモードフラグ(default_base_mode_flag)パラメータで示される値を取るようにさらに構成される請求項1に記載のシステム。
【請求項４】
受信されるデジタルビデオビットストリームがSVC JD8仕様に準拠し、コード化単位がマクロブロック又はマクロブロックパーティションに対応し、コード化単位のグループがスライスに対応し、
前記SVC JD8仕様は、
マクロブロック又はマクロブロックパーティションに関連する前記層間予測制御データが動き予測フラグl0(motion_prediction_flag_l0)パラメータ及び動き予測フラグl1(motion_prediction_flag_l1)パラメータを含み、
スライスに関連する前記層間予測制御データが適応動き予測フラグ(adaptive_motion_prediction_flag)パラメータ及びデフォルト動き予測フラグ(default_motion_prediction_flag)パラメータを含む、ように拡張され、
前記復号化手段が、前記適応動き予測フラグ(adaptive_motion_prediction_flag)パラメータがセットされないスライスのマクロブロック又はマクロブロックパーティション内の前記動き予測フラグl0(motion_prediction_flag_l0)パラメータ又は動き予測フラグl1(motion_prediction_flag_l1)パラメータを復号化しないようにさらに構成され、前記プレディクタが、前記スライスのすべてのマクロブロック又はマクロブロックパーティションについての前記動き予測フラグl0(motion_prediction_flag_l0)パラメータ及び前記動き予測フラグl1(motion_prediction_flag_l1)パラメータについて前記デフォルト動き予測フラグ(default_motion_prediction_flag)パラメータで示される値を取るようにさらに構成される請求項1に記載のシステム。
【請求項５】
デジタルビデオのスケーラブルコーディングのためのシステムであって、
デジタルビデオ入力ピクチャを受信するように構成された入力と、
前記入力に接続された、任意選択で動作するダウンサンプラであって、より低い解像度で入力ピクチャのダウンサンプリング済みピクチャを生成するように構成されるダウンサンプラと、
任意選択の前記ダウンサンプラ、又は基準ピクチャとして使用されるべき複数の以前に復号化されたベース層ピクチャを供給する入力及び第1結合器のどちらかに接続された第1予測推定器であって、(任意選択でダウンサンプリングされた)前記ピクチャの複数の前記コード化単位に関連する第1組の制御(予測を含む)データ及び動きデータ予測基準、又は(任意選択でダウンサンプリングされた)前記ピクチャのコード化単位のグループに関連する制御データ(予測制御データを含む)を生成し、前記コード化単位に対応する第1予測基準ピクチャの各部分を生成するように構成される第1予測推定器と、
前記第1予測推定器及び任意選択の前記ダウンサンプラ又は入力に接続された第1比較器であって、(任意選択でダウンサンプリングされた)前記入力ピクチャと第1予測基準ピクチャの各部分との差を計算し、(任意選択でダウンサンプリングされた)前記入力ピクチャの複数の前記コード化単位に関連する第2組の制御(予測を含む)データ及びテクスチャデータと、(任意選択でダウンサンプリングされた)前記入力ピクチャのコード化単位のグループに関連する制御(予測を含む)データとを生成するように構成される第1比較器と、
前記第1比較器及び第1予測推定器に接続された第1結合器であって、生成された前記第2組の制御(予測を含む)データ及びテクスチャデータを前記第1予測基準ピクチャの対応する各部分と組み合わせ、新しいベース層復号化ピクチャの対応する各部分を生成するように構成される第1結合器と、
基準ピクチャとして使用されるべき複数の以前に復号化された拡張層ピクチャを供給する入力及び第2結合器に接続された第2予測推定器であって、前記入力ピクチャの複数の前記コード化単位に関連する第3組の制御(予測を含む)データ及び動きデータ予測基準、又は前記入力ピクチャのコード化単位のグループに関連する制御データ(予測制御データを含む)を生成するように構成され、前記コード化単位に対応する第2予測基準ピクチャの各部分も生成する第2予測推定器と、
前記第2予測推定器及び前記入力に接続された第2比較器であって、前記入力ピクチャと第2予測基準ピクチャとの差を計算し、前記入力ピクチャの複数の前記コード化単位に関連する第4組の制御(予測を含む)データ及びテクスチャデータ、並びに前記入力ピクチャのコード化単位のグループに関連する制御(予測を含む)データを生成するように構成される第2比較器と、
前記第2比較器及び前記第2予測推定器に接続された第2結合器であって、生成された前記第4組の制御(予測を含む)データ及びテクスチャデータを、前記第2予測基準ピクチャの対応する各部分と組み合わせ、新しい拡張層復号化ピクチャの対応する各部分を生成するように構成される第2結合器と、
前記第1組の制御(予測を含む)データ及び動きデータと、前記第2組の制御(予測を含む)データ及びテクスチャデータとを符号化してベース層ビットストリームを生成し、前記第3組の制御(予測を含む)データ及び動きデータと前記第4組の制御(予測を含む)データ及びテクスチャデータとを符号化して拡張層ビットストリームを生成し、前記データを単一の出力ビットストリームとして多重化するように構成されたエンコーダとを備え、
前記第3組及び第4組の制御データが層間予測制御データを含み、前記第2予測推定器及び前記第2比較器が、層間予測制御データ値を、前記入力ピクチャのコード化単位の一つ又は複数のグループ内で設定するようにさらに構成され、それによって、前記入力ピクチャのコード化単位の前記一つ又は複数のグループに関連する前記入力ピクチャの前記コード化単位中の対応する層間予測制御データ値が送信されないシステム。
【請求項６】
前記第1及び第2予測推定器、前記第1及び第2比較器、並びに前記エンコーダが、SVC JD8仕様に準拠するビットストリームを生成及び出力するように構成され、コード化単位がマクロブロック又はマクロブロックパーティションに対応し、コード化単位のグループがスライスに対応し、
前記SVC JD8仕様は、
マクロブロック又はマクロブロックパーティションに関連する前記層間予測制御データが残差予測フラグ(residual_prediction_flag)パラメータを含み、
スライスに関連する前記層間予測制御データが適応残差予測フラグ(adaptive_residual_prediction_flag)パラメータを含む、ように拡張され、
前記第2予測推定器及び前記第2比較器が、一つ又は複数のスライス内で前記適応予測フラグ(adaptive_prediction_flag)パラメータを偽にセットするように構成され、前記エンコーダが、前記一つ又は複数のスライスに関連する前記マクロブロック又はマクロブロックパーティションの符号化の際に残差予測フラグ(residual_prediction_flag)を含めないようにさらに構成され、前記第2プレディクタ及び第2比較器が、前記一つ又は複数のスライスのすべてのマクロブロック又はマクロブロックパーティションについての前記残差予測フラグ(residual_prediction_flag)パラメータについてデフォルト値を取るようにさらに構成される請求項5に記載のシステム。
【請求項７】
前記第1及び第2予測推定器、前記第1及び第2比較器、並びに前記エンコーダが、SVC JD8仕様に準拠するビットストリームを生成及び出力するように構成され、コード化単位がマクロブロック又はマクロブロックパーティションに対応し、コード化単位のグループがスライスに対応し、
前記SVC JD8仕様は、
マクロブロック又はマクロブロックパーティションに関連する層間予測制御データがベースモードフラグ(base_mode_flag)パラメータを含み、
スライスに関連する前記層間予測制御データが適応予測フラグ(adaptive_prediction_flag)パラメータ及びデフォルトベースモードフラグ(default_base_mode_flag)パラメータを含む、ように拡張され、
前記第2予測推定器及び前記第2比較器が、一つ又は複数のスライス内で適応予測フラグ(adaptive_prediction_flag)パラメータを偽にセットするように構成され、前記エンコーダが、前記一つ又は複数のスライスに関連する前記マクロブロック又はマクロブロックパーティションの符号化の際に前記ベースモードフラグ(base_mode_flag)を含めないようにさらに構成され、前記第2プレディクタ及び第2比較器が、前記一つ又は複数のスライスのすべてのマクロブロック又はマクロブロックパーティションの前記ベースモードフラグ(base_mode_flag)パラメータについて前記デフォルトベースモードフラグ(default_base_mode_flag)で示される値を取るようにさらに構成される請求項5に記載のシステム。
【請求項８】
前記第1及び第2予測推定器、前記第1及び第2比較器、並びに前記エンコーダが、SVC JD8仕様に準拠するビットストリームを生成及び出力するように構成され、コード化単位がマクロブロック又はマクロブロックパーティションに対応し、コード化単位のグループがスライスに対応し、
前記SVC JD8仕様は、
マクロブロック又はマクロブロックパーティションに関連する前記層間予測制御データが動き予測フラグl0(motion_prediction_flag_l0)パラメータ及び動き予測フラグl1(motion_prediction_flag_l1)パラメータを含み、
スライスに関連する前記層間予測制御データが適応動き予測フラグ(adaptive_motion_prediction_flag)パラメータ及びデフォルト動き予測フラグ(default_motion_prediction_flag)パラメータを含む、ように拡張され、
前記第2プレディクタ及び前記第2比較器が、一つ又は複数のスライス内で適応動き予測フラグ(adaptive_motion_prediction_flag)パラメータを偽にセットするように構成され、前記エンコーダが、前記一つ又は複数のスライスに関連する前記マクロブロック又はマクロブロックパーティションの符号化の際に前記動き予測フラグl0(motion_prediction_flag_l0)パラメータ及び前記動き予測フラグl1(motion_prediction_flag_l1)パラメータを含めないようにさらに構成され、前記第2プレディクタ及び前記第2比較器が、前記一つ又は複数のスライスのすべてのマクロブロック又はマクロブロックパーティションの前記動き予測フラグl0(motion_prediction_flag_l0)パラメータ及び前記動き予測フラグl1(motion_prediction_flag_l1)パラメータについて前記デフォルト動き予測フラグ(default_motion_prediction_flag)で示される値を取るようにさらに構成される請求項5に記載のシステム。
【請求項９】
スケーラブルデジタルビデオビットストリームをデジタルビデオピクチャに復号化するように構成される請求項1に記載のシステムと、
デジタルビデオピクチャをデジタルビデオビットストリームに符号化するように構成される請求項5に記載のシステムと、
復号化システムの入力に符号化システムの出力を接続する通信ネットワークと
を備えるスケーラブルビデオ通信システムであって、
符号化システムの前記第2予測推定器及び前記第2比較器が、前記通信ネットワークで利用可能なビットレートに応じて、前記入力ピクチャのコード化単位のより多数又は少数のグループ内でテレスコピック層間予測制御データ値を使用するようにさらに構成されるスケーラブルビデオ通信システム。
【請求項１０】
通信ネットワークと、
スケーラブルデジタルビデオビットストリームをデジタルビデオピクチャに復号化するように構成される請求項1に記載のシステムと、
デジタルビデオピクチャをデジタルビデオビットストリームに符号化するように構成される請求項5に記載のシステムと、
前記通信ネットワークを介して符号化システム及び復号化システムに接続されたSVCSと
を備えるスケーラブルビデオ通信システムであって、
前記SVCSが、符号化システムで受信された一つ又は複数の拡張層スライスを前記復号化システムに転送する前に、前記一つ又は複数の拡張層スライスを、テレスコピック層間予測のみを示し、マクロブロックテクスチャ又は動きデータを含まないスライスで置き換えるように構成されるスケーラブルビデオ通信システム。
【請求項１１】
スケーラブルデジタルビデオの復号化のための方法であって、
入力で、品質又は空間拡張ターゲット層及び少なくとも一つの追加の層のコード化単位のグループを含むスケーラブルデジタルビデオビットストリームを受信することであって、前記デジタルビデオビットストリームが、コード化単位のグループに関連する制御データ(予測制御データを含む)と、個々のコード化単位に関連する制御(予測を含む)データ、テクスチャデータ、又は動きデータとを含むこと、
デコーダで、前記ターゲット層及び前記少なくとも一つの追加の層のコード化単位のグループに関連する前記制御データと、前記ターゲット層及び前記少なくとも一つの追加の層の個々のコード化単位に関連する制御データ、テクスチャデータ、又は動きデータとを復号化することにより、受信された入力を復号化すること、
前記デコーダに接続されたプレディクタを使用して、前記ターゲット層又は前記少なくとも一つの追加の層のコード化単位のグループに関連する、伝達された(signaled)予測制御データから、又は前記ターゲット層又は前記少なくとも一つの追加の層の個々のコード化単位に関連する予測制御データから、前記ターゲット層の複数のコード化単位の前記制御データ、テクスチャデータ、又は動きデータに関する予測基準を生成すること、及び
前記プレディクタに接続された結合器で、生成された前記予測基準を、前記ターゲット層の前記複数のコード化単位に関連する、対応する復号化制御データ、テクスチャデータ、又は動きデータと組み合わせ、前記ターゲット層の前記複数のコード化単位に対応する復号化ピクチャの各部分を生成することを含み、
前記ターゲット層又は前記少なくとも一つの追加の層のコード化単位のグループに関連する前記予測制御データと、前記ターゲット層又は前記少なくとも一つの追加の層の個々のコード化単位に関連する前記予測制御データとが層間予測制御データを含み、前記ターゲット層のコード化単位の前記グループの個々のコード化単位に関連する、対応する層間予測制御データが前記デジタルビデオビットストリーム中に存在しないとき、前記プレディクタが、前記ターゲット層のコード化単位のグループに関連する前記層間予測制御データで示される値を使用するように構成される方法。
【請求項１２】
受信されるデジタルビデオビットストリームがSVC JD8仕様に準拠し、コード化単位がマクロブロック又はマクロブロックパーティションに対応し、コード化単位のグループがスライスに対応し、
前記SVC JD8仕様は、
マクロブロック又はマクロブロックパーティションに関連する前記層間予測制御データが残差予測フラグ(residual_prediction_flag)パラメータを含み、
スライスに関連する前記層間予測制御データが適応残差予測フラグ(adaptive_residual_prediction_flag)パラメータを含む、ように拡張され、
前記デコーダで、前記適応残差予測フラグ(adaptive_residual_prediction_flag)パラメータがセットされないスライスのマクロブロック又はマクロブロックパーティション内の前記残差予測フラグ(residual_prediction_flag)パラメータの復号化を省略すること、及び前記プレディクタで、前記スライスのすべてのマクロブロック又はマクロブロックパーティションについての前記残差予測フラグ(residual_prediction_flag)パラメータについてデフォルト値を取ることをさらに含む請求項11に記載の方法。
【請求項１３】
受信されるデジタルビデオビットストリームがSVC JD8仕様に準拠し、コード化単位がマクロブロック又はマクロブロックパーティションに対応し、コード化単位のグループがスライスに対応し、
前記SVC JD8仕様は、
マクロブロック又はマクロブロックパーティションに関連する前記層間予測制御データがベースモードフラグ(base_mode_flag)パラメータを含み、
スライスに関連する前記層間予測制御データが適応予測フラグ(adaptive_prediction_flag)パラメータ及びデフォルトベースモードフラグ(default_base_mode_flag)パラメータを含む、ように拡張され、
前記デコーダで、前記適応予測フラグ(adaptive_prediction_flag)パラメータがセットされないスライスのマクロブロック又はマクロブロックパーティション内の前記ベースモードフラグ(base_mode_flag)パラメータの復号化を省略すること、及び前記プレディクタで、前記スライスのすべてのマクロブロック又はマクロブロックパーティションについての前記ベースモードフラグ(base_mode_flag)パラメータについて前記デフォルトベースモードフラグ(default_base_mode_flag)パラメータで示される値を取ることをさらに含む請求項11に記載の方法。
【請求項１４】
受信されるデジタルビデオビットストリームがSVC JD8仕様に準拠し、コード化単位がマクロブロック又はマクロブロックパーティションに対応し、コード化単位のグループがスライスに対応し、
前記SVC JD8仕様は、
マクロブロック又はマクロブロックパーティションに関連する前記層間予測制御データが動き予測フラグl0(motion_prediction_flag_l0)パラメータ及び動き予測フラグl1(motion_prediction_flag_l1)パラメータを含み、
スライスに関連する前記層間予測制御データが適応動き予測フラグ(adaptive_motion_prediction_flag)パラメータ及びデフォルト動き予測フラグ(default_motion_prediction_flag)パラメータを含む、ように拡張され、
前記デコーダで、前記適応動き予測フラグ(adaptive_motion_prediction_flag)パラメータがセットされないスライスのマクロブロック又はマクロブロックパーティション内の前記動き予測フラグl0(motion_prediction_flag_l0)パラメータ及び前記動き予測フラグl1(motion_prediction_flag_l1)パラメータの復号化を省略すること、及び前記プレディクタで、前記スライスのすべてのマクロブロック又はマクロブロックパーティションについての前記動き予測フラグl0(motion_prediction_flag_l0)パラメータ及び動き予測フラグl1(motion_prediction_flag_l1)パラメータについて前記デフォルト動き予測フラグ(default_motion_prediction_flag)パラメータで示される値を取ることをさらに含む請求項11に記載の方法。
【請求項１５】
デジタルビデオのスケーラブルコーディングのための方法であって、
入力で、デジタルビデオ入力ピクチャを受信すること、
任意選択で、前記入力に接続されたダウンサンプラを操作して、より低い解像度で入力ピクチャのダウンサンプリング済みピクチャを生成すること、
任意選択で動作するダウンサンプラ、又は基準ピクチャとして使用されるべき複数の以前に復号化されたベース層ピクチャを供給する入力及び第1結合器のどちらかに接続された第1予測推定器で、(任意選択でダウンサンプリングされた)前記ピクチャの複数の前記コード化単位に関連する第1組の制御(予測を含む)データ及び動きデータ予測基準、又は(任意選択でダウンサンプリングされた)前記ピクチャのコード化単位のグループに関連する制御データ(予測制御データを含む)を生成し、前記コード化単位に対応する第1予測基準ピクチャの各部分を生成すること、
前記第1予測推定器及び任意選択の前記ダウンサンプラ又は入力に接続された第1比較器で、(任意選択でダウンサンプリングされた)前記入力ピクチャと第1予測基準ピクチャの各部分との差を計算し、(任意選択でダウンサンプリングされた)前記入力ピクチャの複数の前記コード化単位に関連する第2組の制御(予測を含む)データ及びテクスチャデータと、(任意選択でダウンサンプリングされた)前記入力ピクチャのコード化単位のグループに関連する制御(予測を含む)データとを生成すること、
前記第1比較器及び第1予測推定器に接続された第1結合器で、生成された前記第2組の制御(予測を含む)データ及びテクスチャデータを前記第1予測基準ピクチャの対応する各部分と組み合わせ、新しいベース層復号化ピクチャの対応する各部分を生成すること、
基準ピクチャとして使用されるべき複数の以前に復号化された拡張層ピクチャを供給する入力及び第2結合器に接続された第2予測推定器で、前記入力ピクチャの複数の前記コード化単位に関連する第3組の制御(予測を含む)データ及び動きデータ予測基準、又は前記入力ピクチャのコード化単位のグループに関連する制御データ(予測制御データを含む)を生成し、前記コード化単位に対応する第2予測基準ピクチャの各部分を生成すること、
前記第2予測推定器及び前記入力に接続された第2比較器で、前記入力ピクチャと第2予測基準ピクチャとの差を計算し、前記入力ピクチャの複数の前記コード化単位に関連する第4組の制御(予測を含む)データ及びテクスチャデータ、並びに前記入力ピクチャのコード化単位のグループに関連する制御(予測を含む)データを生成すること、
前記第2比較器及び前記第2予測推定器に接続された第2結合器で、生成された前記第4組の制御(予測を含む)データ及びテクスチャデータを、前記第2予測基準ピクチャの対応する各部分と組み合わせ、新しい拡張層復号化ピクチャの対応する各部分を生成すること、及び
エンコーダで、前記第1組の制御(予測を含む)データ及び動きデータと、前記第2組の制御(予測を含む)データ及びテクスチャデータとを符号化してベース層ビットストリームを生成し、前記第3組の制御(予測を含む)データ及び動きデータと前記第4組の制御(予測を含む)データ及びテクスチャデータとを符号化して拡張層ビットストリームを生成し、前記データを単一の出力ビットストリームとして多重化することを含み、
前記第3組及び第4組の制御データが層間予測制御データを含み、前記第2予測推定器及び前記第2比較器が、層間予測制御データ値を、前記入力ピクチャのコード化単位の一つ又は複数のグループ内で設定し、それによって、前記入力ピクチャのコード化単位の前記一つ又は複数のグループに関連する前記入力ピクチャの前記コード化単位中の対応する層間予測制御データ値が送信されない方法。
【請求項１６】
前記第1及び第2予測推定器、前記第1及び第2比較器、並びに前記エンコーダが、SVC JD8仕様に準拠するビットストリームを生成及び出力するように構成され、コード化単位がマクロブロック又はマクロブロックパーティションに対応し、コード化単位のグループがスライスに対応し、
前記SVC JD8仕様は、
マクロブロック又はマクロブロックパーティションに関連する前記層間予測制御データが残差予測フラグ(residual_prediction_flag)パラメータを含み、
スライスに関連する前記層間予測制御データが適応残差予測フラグ(adaptive_residual_prediction_flag)パラメータを含む、ように拡張され、
前記第2予測推定器及び前記第2比較器で、一つ又は複数のスライス内で前記適応予測フラグ(adaptive_prediction_flag)パラメータを偽にセットすること、エンコーダで、前記一つ又は複数のスライスに関連する前記マクロブロック又はマクロブロックパーティションの符号化の際に残差予測フラグ(residual_prediction_flag)を省略すること、及び前記第2プレディクタ及び第2比較器で、前記一つ又は複数のスライスのすべてのマクロブロック又はマクロブロックパーティションについての前記残差予測フラグ(residual_prediction_flag)パラメータについてデフォルト値を取ることをさらに含む請求項15に記載の方法。
【請求項１７】
前記第1及び第2予測推定器、前記第1及び第2比較器、並びに前記エンコーダが、SVC JD8仕様に準拠するビットストリームを生成及び出力するように構成され、コード化単位がマクロブロック又はマクロブロックパーティションに対応し、コード化単位のグループがスライスに対応し、
前記SVC JD8仕様は、
マクロブロック又はマクロブロックパーティションに関連する前記層間予測制御データがベースモードフラグ(base_mode_flag)パラメータを含み、
スライスに関連する前記層間予測制御データが適応予測フラグ(adaptive_prediction_flag)パラメータ及びデフォルトベースモードフラグ(default_base_mode_flag)パラメータを含む、ように拡張され、
前記第2予測推定器及び前記第2比較器で、一つ又は複数のスライス内で前記適応予測フラグ(adaptive_prediction_flag)パラメータを偽にセットすること、前記エンコーダで、前記一つ又は複数のスライスに関連する前記マクロブロック又はマクロブロックパーティションの符号化の際に前記ベースモードフラグ(base_mode_flag)を省略すること、及び前記第2プレディクタ及び第2比較器で、前記一つ又は複数のスライスのすべてのマクロブロック又はマクロブロックパーティションの前記ベースモードフラグ(base_mode_flag)パラメータについて前記デフォルトベースモードフラグ(default_base_mode_flag)で示される値を取ることをさらに含む請求項15に記載の方法。
【請求項１８】
前記第1及び第2予測推定器、前記第1及び第2比較器、並びに前記エンコーダが、SVC JD8仕様に準拠するビットストリームを生成及び出力するように構成され、コード化単位がマクロブロック又はマクロブロックパーティションに対応し、コード化単位のグループがスライスに対応し、
前記SVC JD8仕様は、
マクロブロック又はマクロブロックパーティションに関連する前記層間予測制御データが動き予測フラグl0(motion_prediction_flag_l0)パラメータ及び動き予測フラグl1(motion_prediction_flag_l1)パラメータを含み、
スライスに関連する前記層間予測制御データが適応動き予測フラグ(adaptive_motion_prediction_flag)パラメータ及びデフォルト動き予測フラグ(default_motion_prediction_flag)パラメータを含む、ように拡張され、
前記第2プレディクタ及び前記第2比較器で、一つ又は複数のスライス内で前記適応動き予測フラグ(adaptive_motion_prediction_flag)パラメータを偽にセットすること、
前記エンコーダで、前記一つ又は複数のスライスに関連する前記マクロブロック又はマクロブロックパーティションの符号化の際に前記動き予測フラグl0(motion_prediction_flag_l0)パラメータ又は動き予測フラグl1(motion_prediction_flag_l1)パラメータを省略すること、及び
前記第2プレディクタ及び第2比較器で、前記一つ又は複数のスライスのすべてのマクロブロック又はマクロブロックパーティションの前記動き予測フラグl0(motion_prediction_flag_l0)パラメータ及び前記動き予測フラグl1(motion_prediction_flag_l1)パラメータについて前記デフォルト動き予測フラグ(default_motion_prediction_flag)で示される値を取ること
をさらに含む請求項15に記載の方法。
【請求項１９】
スケーラブルデジタルビデオビットストリームをデジタルビデオピクチャに復号化する請求項11に記載の方法を実施すること、
デジタルビデオピクチャをデジタルビデオビットストリームに符号化する請求項15に記載の方法を実施すること、
復号化システムの入力に符号化システムの出力を接続すること、及び
符号化システムの前記第2予測推定器及び第2比較器で、通信ネットワークで利用可能なビットレートに応じて、前記入力ピクチャのコード化単位のより多数又は少数のグループ内でテレスコピック層間予測制御データ値を使用すること
を含むスケーラブルビデオ通信方法。
【請求項２０】
通信ネットワークと、
スケーラブルデジタルビデオビットストリームをデジタルビデオピクチャに復号化するように構成される請求項1に記載のシステムと、
デジタルビデオピクチャをデジタルビデオビットストリームに符号化するように構成される請求項5に記載のシステムと、
前記通信ネットワークを介して符号化システム及び復号化システムに接続されたSVCSと
を備えるシステムを介するスケーラブルビデオ通信のための方法であって、
前記SVCSで、符号化システムで受信された一つ又は複数の拡張層スライスを前記復号化システムに転送する前に、前記一つ又は複数の拡張層スライスを、テレスコピック層間予測のみを示し、マクロブロックテクスチャ又は動きデータを含まないスライスで置き換えることを含む方法。
【請求項２１】
請求項11〜20に記載の方法のうちの少なくとも一つの前記ステップを実施する1組の命令を含むコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願に対する相互参照
本願は、2006年10月23日出願の米国仮特許出願第60/862,510号の特典を主張する。さらに、本願は、国際特許出願PCT/US06/028365号、PCT/US06/028366号、PCT/US06/028367号、PCT/US06/027368号、PCT/US06/061815号、PCT/US06/62569号、PCT/US07/80089号、PCT/US07/062357号、PCT/US07/65554号、PCT/US07/065003号、PCT/US07/63335号、及びPCT/US07/81217号に関連する。本願の譲受人に譲渡された上述の出願のすべては、参照によりその全体が本明細書に組み込まれる。
【０００２】
本発明はビデオ通信システムに関する。詳細には、本発明は、信号の時間解像度、品質解像度、又は空間解像度の点での対応するレベルの忠実度で所与のビデオ信号を表現するのに二つ以上の層が使用されるスケーラブルビデオコーディング技法を使用する通信システムに関する。
【背景技術】
【０００３】
コーディング効率の全般的な改善に対処する新しいデジタルビデオコーディング技法は、いくつかの新しい構造的特徴を有する。具体的には、重要な新しい特徴はスケーラビリティである。スケーラブルコーディングでは、具体的には、重要な新しい特徴はスケーラビリティである。スケーラブルコーディングでは、元の信号又はソース信号が、二つ以上の階層構造ビットストリームを使用して表現される。階層構造は、所与のビットストリームの復号化が、階層内の下層の一部又はすべての他のビットストリームの可用性に依存することを示唆する。各ビットストリームは、それが依存するビットストリームと共に、特定の時間解像度、品質(すなわち、信号対雑音比SNRの点での)解像度、又は空間解像度での元の信号の表現を提供する。
【０００４】
「スケーラブル」という用語は、数の点での大きさ又はスケールを指すのではなく、一般には、異なる「スケール」の解像度又は他の品質での元の信号又はソース信号の表現に対応する1組の異なるビットストリームを提供する符号化技法の能力を指すことを理解されたい。スケーラブルビデオコーディング(SVC)と呼ばれるITU-T H.264 Annex G仕様は、時間次元、品質次元、又は空間次元のすべてにおいてビデオコーディングスケーラビリティを提供するビデオコーディング規格の一例である。SVCは、H.264規格(Advanced Video CodingすなわちAVCとも呼ばれる)の拡張である。三つのすべてのタイプのスケーラビリティをやはり提供した初期の規格の一例は、ISO MPEG-2(ITU-T H.262としても発表された)であり、ITU G.729.1(G.729EVとも呼ばれる)は、スケーラブルオーディオコーディングを提供する規格の一例である。特にテレビ会議などの対話式ビデオ通信応用例向けに設計されるスケーラブルビデオコーディング技法が、本願の譲受人に譲渡された国際特許出願PCT/US06/028365号で説明されている。
【０００５】
スケーラビリティの概念は、所与の通信システムが様々なアクセスネットワーク(例えば、様々な帯域幅で接続されたクライアント)、ネットワーク条件(例えば、帯域幅変動)、及びクライアント装置(例えば、大型モニタを使用するパーソナルコンピュータと、ずっと小型の画面を有するハンドヘルド装置)と共に動作することを可能にする観点で、ストリーミング及びブロードキャスティングでの配布問題に対する解決策として、ビデオ及びオーディオのコーディングに導入された。
【０００６】
本願の譲受人に譲渡された国際特許出願PCT/US06/028365号は、スケーラブルビデオ通信サーバ(SVCS)と呼ばれる新しいタイプのサーバの設計を説明している。有利なことに、SVCSは、高品質且つ低遅延ビデオ通信向けスケーラブルコード化ビデオを使用することができ、従来のスイッチング又はトランスコーディングマルチポイント制御ユニット(switching or transcoding Multipoint Control Unit)(MCU)と比較して複雑さが著しく低減される。同様に、本願の譲受人に譲渡された国際特許出願PCT/US06/62569号は、SVCSと同じ利点を有するが、単一のコード化出力ビットストリームを生成するコンポジッティングスケーラブルビデオコーディングサーバ(Compositing Scalable Video Coding Server)(CSVCS)を説明している。国際特許出願PCT/US07/80089号は、SVCSと同じ利点を有するが、利用可能なマルチキャスト通信チャネルを使用するマルチキャストスケーラブルビデオコーディングサーバ(MSVCS)を説明している。以下の説明では、便宜上、三つの異なるタイプのサーバ(SVCS、CSVCS、及びMSVCS)が、別段の記述がない限り一般にSVCSと呼ばれる。
【０００７】
スケーラブルビデオコーディング設計及びSVCSアーキテクチャをさらに有利な方式で使用することができ、その方式が、例えば、本願の譲受人に譲渡された国際特許出願PCT/US06/028367号、PCT/US06/027368号、PCT/US06/061815号、PCT/US07/062357号、及びPCT/US07/063335号で説明されている。これらの出願は、それぞれ、サーバ間の効果的な中継と、ジッタバッファ遅延の低減、エラー回復力、及びランダムアクセスと、パケット損失の低減と共にコーディング効率を改善するスケーラブルビデオビットストリームの「シニング(thinning)」と、レート制御のための、スケーラブルコーディング技法及びSVCSアーキテクチャの使用を説明している。さらに、本願の譲受人に譲渡された国際特許出願PCT/US07/65554号は、スケーラブルビデオコーディングフォーマットと他のフォーマットとの間のトランスコーディングのための技法を説明している。
【０００８】
典型的なスケーラブルビデオコーディングシステムでの階層コーディングプロセスは、ピラミッド形設計に従う。第1ベース層は、単層コーディングに適したベースライン符号化技法を使用して構築される。SVCの場合、ベース層が、H.264 AVCを使用して符号化される。このようにしてベース層を符号化することは、最低のスケーラビリティ層が非スケーラブルビデオのみを処理することのできるシステムと後方互換性を有するという利点を有する。追加の層(拡張層と呼ばれる)が、元の信号と下層の復号化出力との差をさらに符号化することによって構築される。このプロセスは、元の信号の逐次近似に類似している。
【０００９】
追加の各拡張層は、時間次元、品質(又はSNR)次元、又は空間次元の三つの可能な忠実度次元のうちの一つで、コード化信号の忠実度を改善する。時間拡張は、ベース層に追加されたとき、毎秒当たりのピクチャ又はフレーム(fps)数がより多い信号の表現を実現する。品質スケーラビリティでは、空間解像度も時間解像度も変化しない。むしろ、残差コーディングエラー(residual coding error)がより細かい量子化でさらに符号化される。より細かい量子化の結果としてSNRが高くなるので、この形態のスケーラビリティはしばしばSNRスケーラビリティと呼ばれる。SNRスケーラビリティはさらに、Coarse Grain Scalability及びFine Grain Scalability(それぞれCGS及びFGS)に細分される。これらの違いは、FGSの場合には、残差コーディングエラーを符号化するのに組込みコーディング方式が使用され、したがって、拡張層の一部のみが復号化プロセスで使用される場合であっても下層SNRの改善が可能となることである。FGS層からのビットがより多く利用可能になるほど、下層のSNRの改善が良好となる。このため、この技法は「漸進的改善(progressive refinement)」とも呼ばれる。CGSでは、通常は拡張層全体が、復号化プロセス中に利用可能とならなければならない。最後に、空間拡張は、より高い空間解像度での信号の表現を実現する(例えば、QCIFに対するCIF)。残差コーディングエラー、すなわち下層の元の出力と復号化出力との差を構築するために、下層の出力を元の解像度までアップサンプリングしなければならないことに留意されたい。
【００１０】
ピクチャ内容を予測するための効率的なモデルを、(例えば、離散コサイン変換又は整数近似を用いる)結果として生じる予測エラーの適切な変換、量子化、並びに予測及びコーディングプロセスによって生成される、結果として得られる量子化レベルとサイド情報(side information)のエントロピーコーディングと共に使用することにより、ビデオコーディングでの高コーディング効率が達成される。所与のビデオ信号の複数の表現を生成する単純な機構は、元の信号の対応するサブセットの二つ以上の別々の符号化を作成するはずである。この技法は通常、サイマルキャスティングと呼ばれる。スケーラブルビデオコーディングは、下層を上層の符号化のための予測基準(prediction reference)として使用することにより、サイマルキャスティングと比較してより高いコーディング利得を達成する。この層間予測は、ビデオ信号の3次元にわたって存在する固有の冗長性を利用する。したがって、スケーラブルビデオエンコーダでは、下層データは、追加の予測モードオプションを介して利用可能にされる。こうした追加のオプションは、所与のビットバジェット(bit budget)を維持しながら、コード化ビデオ信号のひずみを最小限に抑える作業でのより高い柔軟性をエンコーダに与える。同時に、追加のオプションは、より多くの可能性が検査される可能性があるので、符号化作業をより複雑にする可能性があることに留意されたい。
【００１１】
SVCの重要な特徴は、単一ループ復号化が使用されることである。このことは、ビットストリームを解析することによって直接的に利用可能となる下層データのみを層間予測のために使用するようにエンコーダを制限することによって達成される。言い換えれば、上層を復号化するデコーダは、下層を完全に復号化する(すなわち、実際のピクセルを再構築する)必要がなく、その代わりに、下層のビットストリームデータを解析する必要があるだけである。このことは、デコーダの計算要件を著しく低減し、MPEG-2で使用されるスケーラブルコーディング設計などの初期のスケーラブルコーディング設計と比較して著しい改善である。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかし、単一ループ復号化であっても、スケーラブルコーディングでのエンコーダの作業は過大な計算を必要とする。あらゆる層のあらゆるマクロブロック(MB)又はマクロブロックパーティションについて、エンコーダは、予測モード、動きベクトル(複数可)、及び量子化器設定の点で決定に到達しなければならないからである。計算の必要は、所与の時間量以内に、非常にわずかな遅延でピクチャを処理しなければならないテレビ会議などのリアルタイム応用例でさらに顕著なものとなる。
【００１３】
現在、計算効率の良い符号化を実施することができるようにスケーラブルビデオコーディングシステムを改善することに対して考慮がなされている。具体的には、コード化ビデオ信号中の予測モードの適切な伝達(signaling)によってコーディング効率を改善することに注意が向けられている。
【課題を解決するための手段】
【００１４】
特殊層間予測モード(テレスコピックモード(telescopic mode)と呼ばれる)を使用するスケーラブルビデオコーディングのためのシステム及び方法が提供される。こうしたモードは、コーディング効率を改善すると共に、エンコーダの加速オペレーション(accelerated operation)を促進する。
【００１５】
スケーラブルビデオ通信システムが、テレスコピックモードオペレーションのために適合又は構成されたデコーダ及びエンコーダを含む。デコーダは、拡張ターゲット層及び他の層のコード化単位(coded unit)のグループを有するスケーラブルデジタルビデオビットストリームを受信する。デジタルビデオビットストリームは、コード化単位のグループに関連する制御データ(予測制御データを含む)と、個々のコード化単位に関連する制御(予測を含む)データ、テクスチャデータ、又は動きデータ(motion data)とを含む。デコーダは、ターゲット層及び少なくとも一つの追加の層のコード化単位のグループに関連する制御データと、ターゲット層及び少なくとも一つの追加の層の個々のコード化単位に関連する制御データ、テクスチャデータ、又は動きデータとを復号化する。デコーダに接続されたプレディクタ(predictor)が、ターゲット層の複数のコード化単位の制御データ、テクスチャデータ、又は動きデータに関する予測基準を、ターゲット層又は少なくとも一つの追加の層のコード化単位のグループに関連する予測制御データによって示された(signaled)ものとして生成し、或いはターゲット層又は少なくとも一つの追加の層の個々のコード化単位に関連する予測制御データから生成する。結合器が、生成された予測基準を、ターゲット層の複数のコード化単位に関連する、対応する復号化制御データ、テクスチャデータ、又は動きデータと組み合わせ、ターゲット層の複数のコード化単位に対応する復号化ピクチャの各部分を生成する。
【００１６】
ターゲット層又は少なくとも一つの追加の層のコード化単位のグループに関連する予測制御データと、ターゲット層又は少なくとも一つの追加の層の個々のコード化単位に関連する予測制御データとは、層間予測制御データを含む。ターゲット層のコード化単位のグループの個々のコード化単位に関連する、対応する層間予測制御データがデジタルビデオビットストリーム中に存在しないとき、プレディクタは、ターゲット層のコード化単位のグループに関連する層間予測制御データによって示される値を使用するように構成される。
【００１７】
コーダが、送信されるデジタルビデオ入力ピクチャを受信する。任意選択のダウンサンプラが、より低い解像度で入力ピクチャのダウンサンプリング済みピクチャを生成することができる。任意選択で動作するダウンサンプラ、又は基準ピクチャとして使用されるべき複数の以前に復号化されたベース層ピクチャを供給する入力及び第1結合器のどちらかに接続された第1予測推定器(prediction estimator)が、(任意選択でダウンサンプリングされた)ピクチャの複数のコード化単位に関連する第1組の制御(予測を含む)データ及び動きデータ予測基準、又は(任意選択でダウンサンプリングされた)ピクチャのコード化単位のグループに関連する制御データ(予測制御データを含む)を生成し、コード化単位に対応する第1予測基準ピクチャの各部分を生成する。
【００１８】
第1予測推定器及び任意選択のダウンサンプラ又は入力に接続された第1比較器(comparer)が、(任意選択でダウンサンプリングされた)入力ピクチャと第1予測基準ピクチャの各部分との差を計算し、(任意選択でダウンサンプリングされた)入力ピクチャの複数のコード化単位に関連する第2組の制御(予測を含む)データ及びテクスチャデータと、(任意選択でダウンサンプリングされた)入力ピクチャのコード化単位のグループに関連する制御(予測を含む)データとを生成する。第1比較器及び第1予測推定器に接続された第1結合器は、生成された第2組の制御(予測を含む)データ及びテクスチャデータを、第1予測基準ピクチャの対応する各部分と組み合わせ、新しいベース層復号化ピクチャの対応する各部分を生成する。
【００１９】
基準ピクチャとして使用されるべき複数の以前に復号化された拡張層ピクチャを供給する入力及び第2結合器に接続された第2予測推定器が、入力ピクチャの複数のコード化単位に関連する第3組の制御(予測を含む)データ及び動きデータ予測基準、又は入力ピクチャのコード化単位のグループに関連する制御データ(予測制御データを含む)を生成し、コード化単位に対応する第2予測基準ピクチャの各部分を生成する。
【００２０】
第2予測推定器及び入力に接続された第2比較器が、入力ピクチャと第2予測基準ピクチャとの差を計算し、入力ピクチャの複数のコード化単位に関連する第4組の制御(予測を含む)データ及びテクスチャデータと、入力ピクチャのコード化単位のグループに関連する制御(予測を含む)データとを生成する。
【００２１】
第2比較器及び第2予測推定器に接続された第2結合器は、生成された第4組の制御(予測を含む)データ及びテクスチャデータを、第2予測基準ピクチャの対応する各部分と組み合わせ、新しい拡張層復号化ピクチャの対応する各部分を生成する。
【００２２】
エンコーダは、第1組の制御(予測を含む)データ及び動きデータと、第2組の制御(予測を含む)データ及びテクスチャデータとを符号化してベース層ビットストリームを生成し、第3組の制御(予測を含む)データ及び動きデータと第4組の制御(予測を含む)データ及びテクスチャデータとを符号化して拡張層ビットストリームを生成し、データを単一の出力ビットストリームとして多重化する。
【００２３】
第3組及び第4組の制御データは層間予測制御データを含む。第2予測推定器及び第2比較器は、層間予測制御データ値を、入力ピクチャのコード化単位の一つ又は複数のグループ内で設定し、それによって、入力ピクチャのコード化単位の一つ又は複数のグループに関連する入力ピクチャのコード化単位中の対応する層間予測制御データ値が送信されない。
【図面の簡単な説明】
【００２４】
【図１】スケーラブルビデオ通信システムの例示的アーキテクチャの略図である。このシステムは、従来型システムと同様の設計を有することができるが、その構成要素は、本発明の原理に従って、テレスコピックモードオペレーションに対処するようにさらに構成される。
【図２】AVC単層ビデオエンコーダの従来型構造の略図である。このシステムは、従来型システムと同様のブロック設計を有することができるが、このブロック設計は、本発明の原理に従って、テレスコピックモードオペレーションに対処するようにさらに構成される。
【図３】AVC単層ビデオデコーダの構造の略図である。このシステムは、従来型システムと同様のブロック設計を有することができるが、このブロック設計は、本発明の原理に従って、テレスコピックモードオペレーションに対処するようにさらに構成される。
【図４】三つの品質スケーラビリティ層を有する従来型SVCスケーラブルビデオエンコーダの構造の略図である。このシステムは、従来型システムと同様のブロック設計を有することができるが、このブロック設計は、本発明の原理に従って、テレスコピックモードオペレーションに対処するようにさらに構成される。
【図５】三つの空間スケーラビリティ層を有する従来型SVCスケーラブルビデオエンコーダの構造の略図である。
【図６】本発明の原理による、SVC JD7コーデックで適応予測フラグ(adaptive_prediction_flag)を使用する例示的な構文及びセマンティクスの修正形態の図である。
【図７−１】本発明の原理による、SVC JD8コーデックでの完全なテレスコピックモードフラグサポートを実現する例示的な構文及びセマンティクスの修正形態の図である。
【図７−２】図７−１の続きである。
【図７−３】図７−２の続きである。
【００２５】
別段の記述がない限り、各図全体を通して、図示される実施形態の同様の機能、要素、構成要素、又は部分を示すのに同一の参照番号及び参照文字が使用される。さらに、これから各図を参照しながら本発明が詳細に説明されるが、例示的実施形態に関連してそのように行われる。
【発明を実施するための形態】
【００２６】
特殊層間予測モード(テレスコピックモードと呼ばれる)を使用するスケーラブルビデオコーディングのためのシステム及び方法が提供される。
【００２７】
図1は、スケーラブルコーディングを使用するビデオ通信システム100の例示的アーキテクチャを示す。通信システム100はスケーラブルビデオエンコーダ110を含み、スケーラブルビデオエンコーダ110は、通信ネットワーク120を介してスケーラブルビデオデコーダ130と通信する。通信システム100の好ましい実施形態では、H.264 SVCコーディングフォーマット(「SVC」)が、ビデオ通信のために使用される(例えば、参照によりその全体が本明細書に組み込まれるthe SVC JD7 specification、T.ヴィーガント(Wiegand)、G.サリバン(Sullivan)、J.レイチェル(Reichel)、H.シュワルツ(Schwarz)、M.ウィーン(Wien)編集、「Joint Draft 7: Scalable Video Coding」、Joint Video Team、Doc. JVT-T201、クラーゲンフルト(Klagenfurt)、2006年7月を参照)。SVCは、H.264ビデオコーディング規格(「AVC」)のスケーラブルビデオコーディング拡張(Annex G)である。
【００２８】
SVCコード化ビットストリームをいくつかの構成要素又は層として構築することができる。ベース層が、何らかの基本忠実度でのソース信号の表現を提供する。追加の層(拡張層)が、追加のスケーラビリティ次元(例えば、時間、品質、又は空間)で信号の表現の改善のための情報を提供する。コード化ビットストリームの層は通常、ピラミッド構造で形成され、このピラミッド構造では、層の復号化が一つ又は複数の下層の存在を必要とすることがある。
【００２９】
AVC規格は、基準ピクチャリスト及び関連する基準ピクチャリストリオーダリング(reference picture list reordering)(又はMMCO)コマンドの使用を通じて時間スケーラビリティを既にサポートしていることに留意されたい。SVCストリームの最下層は、意図的にAVC仕様に準拠する。
【００３０】
引き続き図1を参照すると、スケーラブルビデオエンコーダの出力は、層0及び層1という二つの層を含み、層0はベース層であり、層1は拡張層である。話を簡単にするために図1は二つの例示的な層のみを示すが、本発明は、任意の数の空間拡張層又は品質拡張層を有する状況に、限定することなく適用可能であることを理解されよう。同様に、図1は、二つの層を、単一の通信ネットワーク120を介して別々のストリームとして移送されるものとして示すが、様々な可能な構成で、二つ(又はそれ以上)の層に対応するストリームを任意の数の実際のネットワーク接続を介して移送できることを理解されよう。可能な構成は、例えば、すべてのストリームが移送のために共に多重化される構成、及びデータのさらなる多重化解除が行われるとき(例えば、データ区分化が使用されるとき、又はデータが、基礎となる時間階層化に基づいて多重化解除されるとき)に実際の数よりも多くの空間層又は品質層が移送される別の構成を含むことができる。
【００３１】
図2は、ブロック202〜218を含むAVC単層ビデオエンコーダ200の設計又はアーキテクチャを示す。図示される設計は、すべての標準ビデオコーデックを本質的に含む、動き補償を伴うブロックベースのハイブリッドコーディングに典型的なものであるが、AVCエンコーダでは、各ブロックが、さらにかなり多くの動作オプションを有する。コード化ビットストリームは、コーディング効率を高めるためにエントロピーコーディングされる多重化テクスチャデータ(量子化変換係数)、動きデータ、及び制御データからなる。テクスチャデータは、動き補償予測又はイントラ予測(intra prediction)が使用された後に生じる量子化残差予測エラー(quantized residual prediction error)であるのに対して、動きデータは、動き補償予測を実施するのに必要なデータである(動きベクトルの差など)。任意の予測コーディング方式の場合と同じく、エンコーダは、その予測ループ内にデコーダを含む。図2では、エンコーダ200のデコーダ構成要素(すなわちブロック206〜214)が、デコーダサブユニット200A内に配置される。
【００３２】
図3は、スタンドアロンAVCデコーダ300の設計又はアーキテクチャを示す。AVCデコーダ300の設計は、図2に示されるデコーダサブユニット200Aと同一であり、違いは、エントロピーデコーダ/デマルチプレクサ310(これはエンコーダでは不要である)をさらに含むことだけである。図3に示されるデコーダサブユニット200Aのブロック206〜214の位置が、可読性を向上させるために再配置されていることに留意されたい。
【００３３】
エンコーダの効率及び複雑さを決定する主要な動作ユニットは、エンコーダのコーダ制御ユニット及び動き推定ユニットである(例えば、図2のコーダ制御ユニット202及び動き推定ユニット216)。コーダ制御ユニットは、所与のビットレートについて品質を最大にする(言い換えれば、コーディングひずみを最小限に抑える)ために適切な動作モードを決定する任を担う。コーダ制御ユニットが動き推定ユニットの推定プロセスに影響を及ぼすという点で、動き推定ユニットはコーダ制御ユニットと共に動作する。動き推定は、ビデオコーディングでは、特にクォータペルサポート(quater pel support)を伴う現代のコーデックでは、最も計算集約的な(computationally intensive)オペレーションである。
【００３４】
ピラミッド構造を使用する基礎として単層コーデックを使用して、スケーラブルビデオコーデックを構築することができる。特にテレビ会議などの対話式ビデオ通信応用例向けに設計されたスケーラブルビデオコーディング技法が、本願の譲受人に譲渡された国際特許出願PCT/US06/028365号で説明されている。SVCがスケーラブルビデオコーデックとして使用される本発明の好ましい実施形態では、拡張層が、AVCベース層の上部に同様に構築される。
【００３５】
図4は、三つの品質層を有する品質スケーラビリティのための従来型SVCエンコーダ400の例示的構造の略図を示す。SVCエンコーダ400では、最下層が(意図的に)AVCに準拠する。拡張層のための符号化プロセスは、層間予測のために下層データを使用することができ、図では、このことが、「層間予測」と表示された垂直の矢印で示されている。SVCの単一ループ設計原理による、層間予測のために使用することのできるデータのタイプは、イントラデータ、動きデータ、及び残差データである。得られる拡張層テクスチャデータ及び動きデータが、ベース(AVC)層と同様にコード化される。図4は、単一の出力ビットストリームとして共に多重化される異なる層のデータを示すが、異なる層のビットストリームを任意の数(例えば、データ区分化が使用される場合、又は層が時間スケーラビリティ構成要素も含む場合、層の数よりも大きい数を含む)のチャネル上で伝送することができる。
【００３６】
図5は、三つの空間層を有する空間スケーラビリティのためのSVCエンコーダ500の例示的構造の略図を示す。空間スケーラビリティのためのSVCエンコーダ500は、品質スケーラビリティのためのSVCエンコーダ400とは異なるが、図4との違いは、図5での入力が、二つの下位空間層を構築するためにダウンサンプリングされることだけである。この場合も最下層はAVCに準拠し、層間予測プロセスは、基準層のターゲット解像度に対して適切にスケーリング又はアップサンプリングされた、下層からのイントラデータ、動きデータ、及び残差データを使用することができる。図4及び図5にそれぞれ示されるエンコーダ400及び500に対応する、品質スケーラビリティ及び空間スケーラビリティ用のデコーダは、追加の層間予測モードが利用可能であること、及び空間スケーラビリティでテクスチャ/動きデータに対するアップサンプリング/スケーリングが使用されることを除いて、図3に示されるデコーダ300と本質的には同一である。
【００３７】
単層ビデオエンコーダと、エンコーダ400及び500などのスケーラブルビデオエンコーダの両方における主要なエンジニアリング設計の問題は、計算の複雑さと圧縮効率の兼ね合いである。すべてのビデオコーディング規格では、規格の仕様は、ビットストリームの構造及び復号化プロセスを指定するだけであり、符号化手順は未指定のままにされる。さらに、ビデオコーディング規格は、エンコーダ設計における効率的な符号化方策に関するどんな指示も提供しない。
【００３８】
本明細書に記載の本発明のシステム及び方法は、デコーダに対する適切に伝達(signal)することによって、コーディング効率を改善して、スケーラブルビデオエンコーダの加速オペレーションを容易にすることを対象とする。
【００３９】
ビデオエンコーダ(単層又はスケーラブル)は、ピクチャデータのコーディング中にいくつかの決定を行わなければならない。あらゆるマクロブロック(MB)について、エンコーダは、イントラ/インターコーディング、予測モード選択、動きモード及び動きベクトルの選択、量子化器の選択などに関する決定を行わなければならない。他の制約因子がない場合、エンコーダの目的は、こうした決定を、出力ビットレートを所与の制約内に保ちながらコード化信号のひずみを最小限に抑えるように行うことである。このプロセスは、エンコーダが所与のレートについてひずみを最小限に抑えようとすることを認識して、レートひずみ最適化(Rate-Distortion Optimization)(RDO)と呼ばれる。しかし、最適化問題の次元は極めて大きい。効率的なエンコーダの設計では、通常は、高速な次善のアルゴリズム及びヒューリスティックが使用される。現実のビデオコーディングシステムでは、人間の観察者にとってより感じの良い結果を得るために、ピーク信号対雑音比(Peak Signal-to-Noise Ratio)(PSNR)に関して表現される量的ひずみを実際に増大させる知覚因子が、エンコーダでの決定を支配することがあることに留意されたい。こうした決定は、通常は応用例特有のものである。例えば、放送応用例及びテレビ会議応用例向けにそれぞれ調整された二つのエンコーダについて、異なる構成が使用されることがある。二つのエンコーダの対象と動作ビットレートが共に非常に異なっているからである。
【００４０】
デシジョンツリーによって符号化プロセスを表現することができ、エンコーダは、特定のMB、ピクチャ、又はピクチャのグループについて最終的なコーディング決定を行うためにデシジョンツリーを検討（traverse）しなければならない。スケーラブルビデオコーディングでは、具体的には、このツリーのサイズは、単層エンコーダのものよりも著しく大きい。ベース層(単層エンコーダと同等)だけではなく、存在する各拡張層についても決定を行わなければならないからである。したがって、計算の必要はかなりのものとなり、すべてのコーディング選択肢を完全に考慮するための十分な計算資源を有することのできないエンコーダが、適切な単純化されたコーディング方策を導出することのできる方法を提供することが重要である。適切なコーディング方策の実装は、リアルタイムオペレーションと低遅延オペレーションのどちらも必要となる可能性のあるリアルタイムの会話型サービスにとって特に重要である。例えばライブブロードキャストエンコーダの場合の、適切な単純化されたコーディング方策は、エンコーダがリアルタイムで動作しなければならないが、エンコーダの遅延要件はずっと緩和されることを認識することができる。実装にとって同様に重要なことに、エンコーダは、コーディング性能に悪影響を及ぼすことなく、この単純化されたコーディング方策の結果をデコーダに伝達(signal)することができなければならない。
【００４１】
計算の必要は一般に、コーディング規格の開発において重要な設計因子とはみなされて来ておらず、そのようなコーデックの開発は、最適化されたコーディング効率結果を得るために必要である限り実行することが許されるシミュレーションソフトウェアを使用して実施される(例えば、ピクチャ当たり1時間以上)。結果として、規格によるビットストリームの従来型設計は、単純化されたコーディング方策の伝達(signal)がかなりのビットレートオーバヘッドを招く可能性があるという点で、加速エンコーダ意思決定の必要を満たさない。
【００４２】
本発明による、スケーラブルビデオコーディングのための特定のタイプの加速意思決定は、本明細書で「テレスコピック」オペレーションと呼ばれる技法である。この技法では、拡張層についてのコーディング決定の完全な最適化をやめ、その代わりにベース層で行われた決定を使用することによって加速エンコーダオペレーションが達成される。そのような決定のさらなる改善は、コーディング効率の改善を達成する可能性が高いが、計算の複雑さとコーディング効率の非常の良好な兼ね合いを既に表すことができる。この技法は、シーン活動が一般に低いテレビ会議素材に対して特に効果的である。
【００４３】
SVC JD7でのコーデックは、AVC設計(参照によりその全体が本明細書に組み込まれるITU-T Rec. H.264|ISO/IEC 14496-10 version 4、「Advanced video coding for generic audiovisual services」、2005年、また「AVC specification」とも呼ばれる)の拡張である。SVC拡張はAVC仕様の新しいAnnex Gを形成するので、AVC仕様の本文は、実際にはSVC JD7の本文の一部分である。前述のように、SVCビットストリーム中のベース層は、意図的にAVC準拠ビットストリームである。AVC仕様のセクション7.3.3(スライスヘッダ構文)、7.3.4(スライスデータ構文)、及び7.3.5(マクロブロック層構文)は、そのサブセクションを含めて、コード化ピクチャデータの詳細な構文を定義する。スライスヘッダ(セクション7.3.3)は、スライス内の第1マクロブロック(first_mb_in_slice)のアドレスの標識、スライスタイプ(I、P、B、SI、又はSP)、スライス内のすべてのマクロブロックに影響を及ぼす量子化器設定(slice_qp_delta)などのスライス全体に影響を及ぼすパラメータ、並びに非ブロック化フィルタ設定(deblocking filter setting)、重み付けテーブル(weighting table)、及び基準ピクチャリストリオーダリングコマンドを含む。スライスデータ(セクション7.3.4)構文はとりわけ、現スライスからいくつかの初期マクロブロックをスキップすることを可能にする。実際のマクロブロックデータがセクション7.3.5で説明される。データは、現マクロブロックに対して使用される予測モードを定義するマクロブロックタイプ(mb_type)、現マクロブロックに対応する様々なクロマブロック(chroma block)及びルマブロック(luma block)のいずれが非ゼロ変換係数を有するかを示す(signal)するコード化ブロックパターン、並びに現マクロブロックで開始する有効な量子化器設定(mb_qp_delta)を含む。
【００４４】
マクロブロックタイプは、エンコーダが現マクロブロックを符号化するのに、多くの予測モードのうちのいずれを選んだかを示す（signal）ので、極めて重要なパラメータである。SVC JD7  表7.11から7.14は、AVCで利用可能なマクロブロックタイプを要約する。例えば、Pスライス(表7.13)では、モード1は予測モード「P_L0_L016x8」に対応し、この予測モードでは、16x16マクロブロックが二つの16x8領域に分割され、第1基準ピクチャリスト(L0)に含まれる基準ピクチャから各部分を予測するのに二つの動きベクトルが使用される。実際の動きベクトルデータ(mvd_l0、差としてコード化される)がセクション7.3.5.1で示されており、実際の動きベクトルデータは、それがデフォルトでない場合、使用される基準ピクチャに対する任意選択の索引(ref_idx_l0)を含む。予測プロセスの結果得られるものは、セクション7.3.5.3及び関連するサブセクションで説明される構文で表現される残差データである。
【００４５】
SVC JD7仕様での拡張層についての対応する構造が、セクションG.7.3.3からG.7.3.7で定義される。この構造は、AVCで使用される構造と同様であるが、SVCで存在するオプションの増加に対処する追加のデータを有する。一般には、その設計は、下層に存在するデータが現在の層のコーディングのために利用可能にされるように行われる。言い換えれば、コード化ビットストリームパラメータを新たにコーディングするのではなく、コード化ビットストリームパラメータを直接的に参照することにより、コード化ビットストリームパラメータを上層で再利用することができる(層間予測)。単一ループ復号化では、これは、完全な復号化でのみ得ることのできるデータを除外する。このデータは、現在の層より下の層について完全な復号化ループの可用性を必要とし、マルチループ設計となるからである。
【００４６】
層間予測を使用するときに現在の層についての基準層を識別するスライスヘッダパラメータであるベースidプラス1(base_id_plus1)(セクションG.7.3.4)は、特に重要である。パラメータベースidプラス1(base_id_plus1)は、ビットストリーム全体のベース層を指すのではなく、現在の層を予測するための基礎又は基準として使用される特定の層のみを指すことに留意されたい。パラメータは、空間スケーラビリティ層、品質スケーラビリティ層、及びフラグメント順序(FGS又は漸進的改善スライスが使用されるとき)の点から基準層の座標を共同で符号化する。ベースidプラス1(base_id_plus1)の値がゼロである場合、層間予測は(例えば最下層で)使用されない。
【００４７】
層間予測が使用されるとき(すなわち、ベース層idプラス1(base_layer_id_plus1)がゼロではないとき)、パラメータ適応予測フラグ(adaptive_prediction_flag)がビットストリーム中に存在する(セクションG.7.3.4)。適応予測フラグは、パラメータベースモードフラグ(base_mode_flag)の存在及び値を制御することにより、層間予測がマクロブロック層内でどのように使用されるかに影響を及ぼす(セクションG.7.3.6)。ベースモードフラグ(base_mode_flag)がセットされるとき、適用可能なら、マクロブロックタイプ、基準索引、及び動きベクトルが、対応する基準(ベース)層マクロブロックから推論される。
【００４８】
スライスの各マクロブロックについてのベースモードフラグ(base_mode_flag)の存在が、適応予測フラグ(adaptive_prediction_flag)によってスライスレベルで制御される。適応予測フラグ(adaptive_prediction_flag)がセットされないとき、ベースモードフラグを送る必要はない。値1(セット)がベースモードフラグ(base_mode_flag)について推論され、したがって、すべてのマクロブロック(クロップウィンドウ(crop window)内の、すなわち対応する下層データがベース層内に存在するとき)に、強制的にベース層モード及び動き情報を使用させる。したがって、適応予測フラグ(adaptive_prediction_flag)をゼロにセットすることにより、ベース層決定及びデータが拡張層で再利用される、スライス全体にわたるテレスコピックモード予測を達成することができる。さらにベースモードフラグの省略の結果、CAVLCエントロピーコーディングを使用する30fpsのCIFシーケンスについて約12Kbpsが節約される。
【００４９】
しかし、SVC JD7設計の重大な欠点は、セクションG.7.3.6.3からわかるように、適応予測フラグ(adaptive_prediction_flag)がセットされないとき、残差予測フラグ(residual_prediction_flag)が、スライス全体にわたってあらゆるマクロブロックについてセットされると推定されることである。非イントラマクロブロックに関係のある残差予測フラグ(residual_prediction_flag)は、拡張残差信号がベースマクロブロック(又はサブマクロブロック)の(おそらくはアップサンプリングされた)再構築後残差信号から予測されることを示す。しかし、適応予測が使用されないときにはいつでも強制的に残差予測を常に使用させることは、コーディング効率を低減させる。同様に、適応予測が使用されないときにはいつでも強制的に残差予測を常にオフにさせるという代案は、やはり所与のビットレートについての品質を低下させる。
【００５０】
標準テストシーケンスを使用する広範な実験結果は、すべてのケースで、残差予測をマクロブロックごとにセットするときのレート-ひずみ曲線が、残差予測を常にオン又は常にオフにセットするときの対応する曲線よりも常に高いことを示す。言い換えれば、所与のビットレートについて、適応予測を使用しない(適応予測フラグ(adaptive_prediction_flag)がゼロにセットされる)とき、残差予測結果を適応的に使用できることの結果として、残差予測が常にオン又は常にオフであるときの場合と比較してPSNRが高くなる。
【００５１】
実験結果は、エンコーダが、テレスコピックモード決定を使用してそれをデコーダに効率的に伝達（signal）することを可能にするために、様々な予測モダリティをa)スライス全体にわたる使用のためにスライスヘッダで伝達（signal）しなければならず、b)異なるモダリティの結合が不要となるように別々のフラグで伝達（signal）しなければならないことを示す。スライスレベルでの伝達（signaling）モード決定は、マクロブロック又はマクロブロックパーティションレベルでの対応する伝達（signaling）の省略を可能にし、その結果、圧縮効率が向上する。
【００５２】
本発明の例示的実施形態では、SVC JD7が使用される場合、新しいフラグである適応残差予測フラグ(adaptive_residual_prediction_flag)によってスライスヘッダを増強することができる。このフラグがセットされない(すなわちゼロにセットされる)とき、残差予測フラグ(residual_prediction_flag)についてのデフォルト値が、スライスのあらゆるマクロブロックについて仮定される。本発明の例示的実装での残差予測フラグ(residual_prediction_flag)についてのデフォルト値は、1にセットされる。
【００５３】
図6は、SVC JD7コーデックに適用される、本発明の好ましい実施形態での例示的な構文及びセマンティクス600を示す。SVC JD7仕様の綿密な検討により、動きに関連する層間予測フラグである動き予測フラグl0(motion_prediction_flag_l0)及び動き予測フラグl1(motion_prediction_flag_l1)(セクションG.7.3.6.1及びG.7.3.6.2)も加速エンコーダオペレーションに関する可能なターゲットであることも明らかとなる。これらのフラグは、(1にセットされたとき)(おそらくはスケーリングされた)ベース動きベクトル(複数可)が、フラグが属するマクロブロック(又はマクロブロックパーティション)のリスト0(又はリスト1、それぞれ)動きベクトル(複数可)に対する動きベクトルプレディクタ(複数可)として使用されることを示す。同様に、テクスチャ予測を参照する残差予測フラグ(residual_prediction_flag)について、スライスのすべてのマクロブロック又はマクロブロックパーティションについて層間動き予測をスライスレベルでセットすることを可能にすることが有利である。
【００５４】
エンコーダがスライス内のすべてのマクロブロック又はマクロブロックパーティションについて層間予測フラグをオン又はオフにすることに関してより高い柔軟性を実現するために、対応するフラグが各マクロブロック又はマクロブロックパーティションで適応的にセットされないときに使用されるべきデフォルト値をスライスレベルで符号化することも有利である。そのようなスライスレベルでの符号化を、ベースモードフラグ(base_mode_flag)と動き予測フラグ(motion_prediction_flag)のどちらにも適用することができる。しかし、デフォルトベースモードフラグ(base_mode_flag)が1にセットされるとき、動き予測フラグ(motion_prediction_flag)は無用であり、送信する必要がない。これらのフラグの組合せは、エンコーダ及びデコーダに対する完全なテレスコピックモードサポートを提供する。
【００５５】
図7は、完全なテレスコピックモードサポートがSVC JD8コーデックに追加される場合に適用される、本発明の好ましい実施形態についての例示的な構文及びセマンティクス700を示す(参照によりその全体が本明細書に組み込まれるT.ヴィーガント(Wiegand)、G.サリバン(Sullivan)、J.レイチェル(Reichel)、H.シュワルツ(Schwarz)、M.ウィーン(Wien)編集、「Joint Draft 8: Scalable Video Coding」、Joint Video Team、Doc. JVT-U201、杭州、2006年10月を参照)。本発明では、SVC JD8とJD7の間の主な違いは、JD8ではNALユニットヘッダフラグである層ベースフラグ(layer_base_flag)が(1にセットされたとき)、(コーディングモード、動き、サンプル値、及び/又は残差予測の)層間予測が現スライスに関して使用されないことを指定すること、及びパラメータベースidプラス1(base_id_plus1)がベースid(base_id)にリネームされることである。
【００５６】
一例を挙げると、拡張層がベース層情報のみを使用してコード化されることをデコーダに伝達（signal）するために、適応予測フラグ(adaptive_prediction_flag)を0にセットすべきであり、デフォルトベースモードフラグ(default_base_mode_flag)を1にセットすべきであり、適応残差予測フラグ(adaptive_residual_prediction_flag)を0にセットすべきである。適応動き予測フラグ(adaptive_motion_prediction_flag)及びデフォルト動き予測フラグ(default_motion_prediction_flag)は使用されず、コード化されない。(SVC JD8仕様を使用する)拡張層スライスのマクロブロックは、その対応するルマブロック又はクロマブロックのいずれにも非ゼロ係数が存在しないことを示すコード化ブロックパターン(coded_block_pattern)データのみを含むことになる。現スライスについてマクロブロックデータが送られないこと、及び上記のテレスコピックモードフラグ構成を使用すべきであることを示す追加のフラグをスライスヘッダで導入することにより、コード化ブロックパターン(coded_block_pattern)データを送る必要をなくすことができる。
【００５７】
本発明の技法が、本明細書ではSVCビデオコーディング規格の状況で説明されたが、本発明の原理を、層間予測を使用する任意のスケーラブルビデオコーディング方式に適用することができる。さらに、本発明の技法を、もっぱらスライスレベルだけではなく、ピクチャ又はピクチャのグループなどのビデオビットストリームの任意のコード化単位に適用することができる。同様に、この技法は、予測モードが伝達(signal)される最小のコード化単位がマクロブロックとは異なるとき(例えば、或いはコード化単位を含むブロック又は他の任意の構造、さらには任意の形状の構造)に適用可能である。
【００５８】
本発明の好ましい実施形態と考えられるものを説明したが、本発明の精神から逸脱することなく、好ましい実施形態に対してさらなる変更及び修正を行えることを当業者は理解するであろうし、すべてのそのような変更及び修正は、本発明の真の範囲内に包含されるものとする。
【００５９】
本発明によれば、ハードウェアとソフトウェアの任意の適切な組合せを使用して、本明細書で説明した技法を実装できることが理解できるであろう。上述のレート推定及び制御技法を実装及び操作するソフトウェア(すなわち命令)をコンピュータ可読媒体上に設けることができ、コンピュータ可読媒体は、限定はしないが、ファームウェア、メモリ、記憶装置、マイクロコントローラ、マイクロプロセッサ、集積回路、ASIC、オンラインダウンロード可能媒体、及び他の入手可能な媒体を含むことができる。
【図１】
2010507937.tif 000003
【図２】
2010507937.tif 000004
【図３】
2010507937.tif 000005
【図４】
2010507937.tif 000006
【図５】
2010507937.tif 000007
【図６】
2010507937.tif 000008
【図７−１】
2010507937.tif 000009
【図７−２】
2010507937.tif 000010
【図７−３】
2010507937.tif 000011
【国際調査報告】
2010507937.tif 000012