(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-09
(45)【発行日】2024-01-17
(54)【発明の名称】クロスコンポーネント線形モデルの簡略化
(51)【国際特許分類】
H04N 19/117 20140101AFI20240110BHJP
H04N 19/176 20140101ALI20240110BHJP
H04N 19/186 20140101ALI20240110BHJP
H04N 19/593 20140101ALI20240110BHJP
【FI】
H04N19/117
H04N19/176
H04N19/186
H04N19/593
【外国語出願】
(21)【出願番号】P 2023040322
(22)【出願日】2023-03-15
(62)【分割の表示】P 2022059221の分割
【原出願日】2019-10-08
【審査請求日】2023-03-30
(32)【優先日】2018-10-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521147444
【氏名又は名称】ベイジン ダージャー インターネット インフォメーション テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100163511
【氏名又は名称】辻 啓太
(72)【発明者】
【氏名】チェン イーウェン
(72)【発明者】
【氏名】ワン シエンリン
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2018/118940(WO,A1)
【文献】国際公開第2018/053293(WO,A1)
【文献】米国特許出願公開第2017/0366818(US,A1)
【文献】Guillaume Laroche, Jonathan Taquet, Christophe Gisquet, and Patrice Onno,CE3-5.1: On cross-component linear model simplification,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0191,12th Meeting: Macao, CN,2018年09月,pp.1-4
【文献】Philippe Hanhart, Yuwen He, and Yan Ye,CE3-related: Enabling different chroma sample location types in CCLM,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0239-v2,12th Meeting: Macau, CN,2018年10月06日,pp.1-7
【文献】Kai Zhang, et al.,CE3-related: CCLM prediction with single-line neighbouring luma samples,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L329-v1,12th Meeting: Macao, CN,2018年09月,pp.1-3
【文献】Xiang Ma, Haitao Yang, and Jianle Chen,CE3: CCLM/MDLM using simplified coefficients derivation method (Test 5.6.1, 5.6.2 and 5.6.3),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0340_r1,12th Meeting: Macao, CN,2018年09月,pp.1-6
【文献】Xiang Ma, et al.,CE3: Classification-based mean value for CCLM coefficients derivation (tests 2.5.1- 2.5.4),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0401-v1,13th Meeting: Marrakech, MA,2019年01月,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビデオフレームをぞれぞれが少なくとも1つの輝度ブロック及び少なくとも1つの彩度ブロックを含む複数のビデオブロックに区画することと、
複数の再構成された隣接彩度サンプルに隣り合う現在のビデオブロックにおける彩度ブロックに対応し且つ複数の再構成された隣接輝度サンプルに隣り合う輝度ブロックを再構成することと、
前記複数の再構成された隣接輝度サンプルから、複数のダウンサンプリング輝度サンプルを算出することと、
算出された前記複数のダウンサンプリング輝度サンプルから、それぞれが前記複数の再構成された隣接彩度サンプルの2つの第1の再構成された彩度サンプルに対応する2つのダウンサンプリング最大輝度サンプルを識別することと、
算出された前記複数のダウンサンプリング輝度サンプルから、それぞれが前記複数の再構成された隣接彩度サンプルの2つの第2の再構成された彩度サンプルに対応する2つのダウンサンプリング最小輝度サンプルを識別することと、
前記2つのダウンサンプリング最大輝度サンプル、前記2つのダウンサンプリング最小輝度サンプル、前記2つの第1の再構成された彩度サンプル、および前記2つの第2の再構成された彩度サンプルをそれぞれ平均化して、平均化ダウンサンプリング最大輝度サンプル、平均化ダウンサンプリング最小輝度サンプル、平均化第1の再構成された彩度サンプル、および平均化第2の再構成された彩度サンプルを得ることと、
前記平均化ダウンサンプリング最大輝度サンプルと、前記平均化ダウンサンプリング最小輝度サンプルと、前記平均化第1の再構成された彩度サンプルと、前記平均化第2の再構成された彩度サンプルとに基いて、線形モデルを生成することと、
前記再構成された輝度ブロックの輝度サンプルから、それぞれ前記彩度ブロックの彩度サンプルに対応するダウンサンプリング輝度サンプルを算出することと、
算出された前記対応するダウンサンプリング輝度サンプルに前記線形モデルを適用することにより、前記彩度ブロックの彩度サンプルを予測することと、
を含むビデオ信号を符号化する方法。
【請求項2】
前記彩度ブロックおよび前記輝度ブロックは、4:2:0または4:2:2の彩度サブサンプリングスキームによって符号化され、異なる解像度を有する、請求項1に記載の方法。
【請求項3】
前記複数の再構成された隣接輝度サンプルには、前記再構成された輝度ブロックの上方に位置する輝度サンプルおよび/または前記再構成された輝度ブロックの左側に位置する輝度サンプルを含む、請求項1に記載の方法。
【請求項4】
前記再構成された輝度ブロックの輝度サンプルから、ダウンサンプリング輝度サンプルを算出することは、前記輝度サンプルに6つの隣接輝度サンプルの加重平均化を実行することを含む、請求項1に記載の方法。
【請求項5】
前記線形モデルを生成することは、前記平均化ダウンサンプリング最大輝度サンプル及び前記平均化第1の再構成された彩度サンプルに関連する1つのデータ点と、前記平均化ダウンサンプリング最小輝度サンプル及び前記平均化第2の再構成された彩度サンプルに関連する1つのデータ点と、を通る線形方程式をフィッティングすることを含む、請求項1に記載の方法。
【請求項6】
ビデオフレームをぞれぞれが少なくとも1つの輝度ブロック及び少なくとも1つの彩度ブロックを含む複数のビデオブロックに区画することと、
複数の再構成された隣接彩度サンプルに隣り合う現在のビデオブロックにおける彩度ブロックに対応し且つ複数の再構成された隣接輝度サンプルに隣り合う輝度ブロックを再構成することと、
前記複数の再構成された隣接輝度サンプルから、それぞれが前記複数の再構成された隣接彩度サンプルの2つの第1の再構成された彩度サンプルに対応する2つの最大輝度サンプルを識別することと、
前記複数の再構成された隣接輝度サンプルから、それぞれが前記複数の再構成された隣接彩度サンプルの2つの第2の再構成された彩度サンプルに対応する2つの最小輝度サンプルを識別することと、
前記2つの最大輝度サンプル、前記2つの最小輝度サンプル、前記2つの第1の再構成された彩度サンプル、および前記2つの第2の再構成された彩度サンプルをそれぞれ平均化して、平均化最大輝度サンプル、平均化最小輝度サンプル、平均化第1の再構成された彩度サンプル、および平均化第2の再構成された彩度サンプルを得ることと、
前記平均化最大輝度サンプルと、前記平均化最小輝度サンプルと、前記平均化第1の再構成された彩度サンプルと、前記平均化第2の再構成された彩度サンプルとに基いて、線形モデルを生成することと、
前記輝度ブロックの輝度サンプルに前記線形モデルを適用することにより、前記彩度ブロックの彩度サンプルを予測することと、
を含むビデオ信号を符号化する方法。
【請求項7】
前記彩度ブロックおよび前記輝度ブロックは、4:4:4の彩度フルサンプリングスキームによって符号化され、同じ解像度を有する、請求項6に記載の方法。
【請求項8】
前記複数の再構成された隣接輝度サンプルには、前記再構成された輝度ブロックの上方に位置する輝度サンプルおよび/または前記再構成された輝度ブロックの左側に位置する輝度サンプルを含む、請求項6に記載の方法。
【請求項9】
前記線形モデルを生成することは、前記平均化最大輝度サンプル及び前記平均化第1の再構成された彩度サンプルに関連する少なくとも1つのデータ点と、前記平均化最小輝度サンプル及び前記平均化第2の再構成された彩度サンプルに関連する少なくとも1つのデータ点と、を通る線形方程式をフィッティングすることを含む、請求項6に記載の方法。
【請求項10】
ビデオフレームを区画することにより得られ、ぞれぞれが少なくとも1つの輝度ブロック及び少なくとも1つの彩度ブロックを含む複数のビデオブロックの符号化情報を取得することと、
複数の再構成された隣接彩度サンプルに隣り合う現在のビデオブロックにおける彩度ブロックに対応し且つ複数の再構成された隣接輝度サンプルに隣り合う輝度ブロックを再構成することと、
前記複数の再構成された隣接輝度サンプルから、複数のダウンサンプリング輝度サンプルを算出することと、
算出された前記複数のダウンサンプリング輝度サンプルから、それぞれが前記複数の再構成された隣接彩度サンプルの2つの第1の再構成された彩度サンプルに対応する2つのダウンサンプリング最大輝度サンプルを識別することと、
算出された前記複数のダウンサンプリング輝度サンプルから、それぞれが前記複数の再構成された隣接彩度サンプルの2つの第2の再構成された彩度サンプルに対応する2つのダウンサンプリング最小輝度サンプルを識別することと、
前記2つのダウンサンプリング最大輝度サンプル、前記2つのダウンサンプリング最小輝度サンプル、前記2つの第1の再構成された彩度サンプル、および前記2つの第2の再構成された彩度サンプルをそれぞれ平均化して、平均化ダウンサンプリング最大輝度サンプル、平均化ダウンサンプリング最小輝度サンプル、平均化第1の再構成された彩度サンプル、および平均化第2の再構成された彩度サンプルを得ることと、
前記平均化ダウンサンプリング最大輝度サンプルと、前記平均化ダウンサンプリング最小輝度サンプルと、前記平均化第1の再構成された彩度サンプルと、前記平均化第2の再構成された彩度サンプルとに基いて、線形モデルを生成することと、
前記再構成された輝度ブロックの輝度サンプルから、それぞれ前記彩度ブロックの彩度サンプルに対応するダウンサンプリング輝度サンプルを算出することと、
算出された前記対応するダウンサンプリング輝度サンプルに前記線形モデルを適用することにより、前記彩度ブロックの彩度サンプルを予測することと、
を含むビデオ信号を復号化する方法。
【請求項11】
前記彩度ブロックおよび前記輝度ブロックは、4:2:0または4:2:2の彩度サブサンプリングスキームによって符号化され、異なる解像度を有する、請求項10に記載の方法。
【請求項12】
前記複数の再構成された隣接輝度サンプルには、前記再構成された輝度ブロックの上方に位置する輝度サンプルおよび/または前記再構成された輝度ブロックの左側に位置する輝度サンプルを含む、請求項10に記載の方法。
【請求項13】
前記再構成された輝度ブロックの輝度サンプルから、ダウンサンプリング輝度サンプルを算出することは、前記輝度サンプルに6つの隣接輝度サンプルの加重平均化を実行することを含む、請求項10に記載の方法。
【請求項14】
前記線形モデルを生成することは、前記平均化ダウンサンプリング最大輝度サンプル及び前記平均化第1の再構成された彩度サンプルに関連する1つのデータ点と、前記平均化ダウンサンプリング最小輝度サンプル及び前記平均化第2の再構成された彩度サンプルに関連する1つのデータ点と、を通る線形方程式をフィッティングすることを含む、請求項10に記載の方法。
【請求項15】
ビデオフレームを区画することにより得られ、ぞれぞれが少なくとも1つの輝度ブロック及び少なくとも1つの彩度ブロックを含む複数のビデオブロックの符号化情報を取得することと、
複数の再構成された隣接彩度サンプルに隣り合う現在のビデオブロックにおける彩度ブロックに対応し且つ複数の再構成された隣接輝度サンプルに隣り合う輝度ブロックを再構成することと、
前記複数の再構成された隣接輝度サンプルから、それぞれが前記複数の再構成された隣接彩度サンプルの2つの第1の再構成された彩度サンプルに対応する2つの最大輝度サンプルを識別することと、
前記複数の再構成された隣接輝度サンプルから、それぞれが前記複数の再構成された隣接彩度サンプルの2つの第2の再構成された彩度サンプルに対応する2つの最小輝度サンプルを識別することと、
前記2つの最大輝度サンプル、前記2つの最小輝度サンプル、前記2つの第1の再構成された彩度サンプル、および前記2つの第2の再構成された彩度サンプルをそれぞれ平均化して、平均化最大輝度サンプル、平均化最小輝度サンプル、平均化第1の再構成された彩度サンプル、および平均化第2の再構成された彩度サンプルを得ることと、
前記平均化最大輝度サンプルと、前記平均化最小輝度サンプルと、前記平均化第1の再構成された彩度サンプルと、前記平均化第2の再構成された彩度サンプルとに基いて、線形モデルを生成することと、
前記輝度ブロックの輝度サンプルに前記線形モデルを適用することにより、前記彩度ブロックの彩度サンプルを予測することと、
を含むビデオ信号を復号化する方法。
【請求項16】
前記彩度ブロックおよび前記輝度ブロックは、4:4:4の彩度フルサンプリングスキームによって符号化され、同じ解像度を有する、請求項15に記載の方法。
【請求項17】
前記複数の再構成された隣接輝度サンプルには、前記再構成された輝度ブロックの上方に位置する輝度サンプルおよび/または前記再構成された輝度ブロックの左側に位置する輝度サンプルを含む、請求項15に記載の方法。
【請求項18】
前記線形モデルを生成することは、前記平均化最大輝度サンプル及び前記平均化第1の再構成された彩度サンプルに関連する少なくとも1つのデータ点と、前記平均化最小輝度サンプル及び前記平均化第2の再構成された彩度サンプルに関連する少なくとも1つのデータ点と、を通る線形方程式をフィッティングすることを含む、請求項15に記載の方法。
【請求項19】
コンピューティング装置であって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに接続されているメモリと、
前記メモリに格納されている複数のプログラムと、
を含み、
前記複数のプログラムは、前記1つまたは複数のプロセッサによって実行されると、当該コンピューティング装置に、請求項1から9のいずれか一項に記載のビデオ信号を符号化する方法、又は請求項10から18のいずれか一項に記載のビデオ信号を復号化する方法を実行させる、コンピューティング装置。
【請求項20】
1つまたは複数のプロセッサを有するコンピューティング装置によって実行される複数のプログラムを格納している非一時的なコンピュータ読取可能な記憶媒体であって、
前記複数のプログラムは、前記1つまたは複数のプロセッサによって実行されると、前記コンピューティング装置に、請求項1から9のいずれか一項に記載のビデオ信号を符号化する方法を実行させ、ビットストリームを生成して送信するか、または、前記コンピューティング装置にビットストリームを受信させ、そのビットストリームに基づいて請求項10から18のいずれか一項に記載のビデオ信号を復号化する方法を実行させる、非一時的なコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、全般的にビデオデータの符号化および復号化に関し、特に、ビデオデータの
符号化および復号化においてクロスコンポーネント線形モデルを用いて彩度ブロックを再
構成する方法およびシステムに関する。
【背景技術】
【0002】
デジタル・テレビ、ラップトップまたはデスクトップ・コンピュータ、タブレット・コ
ンピュータ、デジタル・カメラ、デジタル記録装置、デジタル・メディア・プレーヤー、
ビデオ・ゲーム機、スマートフォン、ビデオ会議装置やビデオ・ストリーミング装置など
の各種電子装置は全てデジタル・ビデオを支持する。電子装置は、MPEG-4、ITU-
T H.263、ITU-T H.264/MPEG-4、Part 10、Advance
d Video Coding(AVC)、High Efficiency Vide
o Coding(HEVC)及びVersatile Video Coding(V
VC)の規格で定義されたビデオ圧縮/展開の標準を実行することで、デジタル・ビデオ
・データを受送信し、符号化し、復号化や格納する。ビデオ圧縮は、通常、空間(フレー
ム内)予測および/または時間(フレーム間)予測を実行して、ビデオデータに固有の冗
長性を低減または削除することを含む。ブロックに基づくビデオ符号化において、ビデオ
フレームは、符号化ツリーユニット(CTU:Coding Tree UNIT)と呼
ばれる複数のビデオブロックを含む1つ又は複数のスライスに分割される。各CTUは、1
つの符号化ユニット(CU)を含み、または予め定められた最小のCUサイズに達するま
でより小さなCUに再帰的に分割されることがある。各CU(リーフCUとも呼ばれる)
には、1つまたは複数の変換ユニット(TU:transform unit)と、1つ
または複数の予測ユニット(PU:prediction unit)とが含まれる。各
CUは、イントラ、インター、またはIBCモードのいずれかで符号化されることが可能
である。1つのビデオフレームにおけるイントラ符号化された(I)スライス内のビデオ
ブロックは、同ビデオフレームにおける隣接ブロック内の参照サンプルに関する空間予測
で符号化される。1つのビデオフレームにおけるインター符号化された(PまたはB)ス
ライス内のビデオブロックは、同ビデオフレームにおける隣接ブロック内の参照サンプル
に関する空間予測、または他の以前および/または将来の参照ビデオフレームにおける参
照サンプルに関する時間予測を使用する。
【0003】
以前符号化された参照ブロック、例えば隣接ブロックの空間予測又は時間予測に基いて
、符号化対象である現在のビデオブロックの予測ブロックが得られる。参照ブロックを見
つける処理は、ブロックマッチングアルゴリズムによって実現することが可能である。符
号化対象である現在のブロックと予測ブロックとの間の画素差を示す残差データは、残差
ブロック又は予測誤差と呼ばれる。インター符号化ブロックは、予測ブロックを生成した
参照フレームにおける参照ブロックにポイントする動きベクトルと、残差ブロックとに応
じて符号化される。動きベクトルを確定する処理は、通常動き推定と呼ばれる。イントラ
符号化ブロックは、イントラ予測モードと残差ブロックによって符号化されるものである
。更なる圧縮のために、残差ブロックは画素領域から変換領域、例えば周波数領域に変換
され、結果として将来に定量化される残差変換係数が得られる。そして、最初に二次元行
列で配置されて定量化された変換係数は、走査されて一次元の変換係数ベクトルを生成し
、その後、更なる圧縮を達成するようにビデオ・ビットストリームにエントロピー符号化
される。
【0004】
そして、符号化されたビデオ・ビットストリームは、コンピュータ読取可能な記憶媒体
(例えば、フラッシュメモリ)に保存されて、デジタル・ビデオ能力を持つ電子装置によ
ってアクセスされ、或いは有線または無線でこの電子装置に直接送信される。そして、こ
の電子装置は、例えば、符号化されたビデオ・ビットストリームを解析してこのビットス
トリームから構文要素を取得し、このビットストリームから取得された構文要素の少なく
とも一部に基づいてデジタル・ビデオデータをこの符号化されたビデオストリームから元
のフォーマットに再構成することで、ビデオ展開(上述したビデオ圧縮とは反対のプロセ
ス)を実行しており、この再構成されたデジタル・ビデオデータを電子装置のディスプレ
イに再現する。
【0005】
デジタル・ビデオの品質が高解像度から4K×2K、さらに8K×4Kに進んでいるに
つれて、符号化/復号化対象となるビデオデータの量は指数関数的に増加する。復号化さ
れたビデオデータの画像品質を維持しながらビデオデータを効率的に符号化/復号化する
ことは、常に課題である。
【発明の概要】
【0006】
本願は、ビデオデータの符号化および復号化、より具体的には、ビデオデータの符号化
および復号化においてクロスコンポーネント線形モデルを用いて彩度ブロックを再構成す
る方法およびシステムに関する実現を説明する。
【0007】
本願の第1の方面に従い、ビデオデータを復号化する方法は、1つまたは複数のプロセ
ッサとこの1つまたは複数のプロセッサによって実行される複数のプログラムを格納して
いるメモリとを備えるコンピューティング装置で実行される。コンピューティング装置は
、彩度ブロックに対応する輝度ブロックを再構成することと、複数の再構成された隣接輝
度サンプルのサブ組を予め定められた順で検索して最大の輝度サンプルおよび最小の輝度
サンプルを識別することと、前記最大の輝度サンプルに対応するダウンサンプリング最大
輝度サンプルを算出することと、前記最小の輝度サンプルに対応するダウンサンプリング
最小輝度サンプルを算出することと、前記ダウンサンプリング最大輝度サンプルと、前記
ダウンサンプリング最小輝度サンプルと、前記第1の再構成された彩度サンプルと、前記
第2の再構成された彩度サンプルとにより線形モデルを生成することと、前記再構成され
た輝度ブロックの輝度サンプルから前記彩度ブロックの各彩度サンプルにそれぞれ対応す
るダウンサンプリング輝度サンプルを算出することと、対応するダウンサンプリング輝度
サンプルに前記線形モデルを適用することにより、前記彩度ブロックの彩度サンプルを予
測することを含む方法を実行する。
【0008】
本願の第2の方面に従い、コンピューティング装置は、1つまたは複数のプロセッサと
、メモリとメモリに格納されている複数のプログラムとを備える。プログラムは、1つま
たは複数のプロセッサによって実行されると、当該コンピューティング装置に上述のよう
な操作を実行させる。
【0009】
本願の第3の方面に従い、非一時的なコンピュータ読取可能な記憶媒体は、1つまたは
複数のプロセッサを備えるコンピューティング装置によって実行される複数のプログラム
を格納している。プログラムは、1つまたは複数のプロセッサによって実行されると、当
該コンピューティング装置に上述のような操作を実行させる。
【図面の簡単な説明】
【0010】
本発明の実現のさらなる理解を提供する、本明細書に引き入れて本明細書の一部を構成
する添付図面は、上述した実現を示し、その説明と共に基礎原理を説明するためものであ
る。なお、同一符号は同一または相当な部分を示す。
【0011】
【
図1】
図1は、本開示のある実施形態に係るビデオ符号化および復号化システムを例示するブロック図である。
【
図2】
図2は、本開示のある実施形態に係るビデオエンコーダを例示するブロック図である。
【
図3】
図3は、本開示のある実施形態に係るビデオデコーダを例示するブロック図である。
【
図4】
図4A~4Dは、本開示のある実施形態に係る、フレームがどのように再帰的に異なるサイズの複数のビデオブロックにクワッドツリー分割で分割されるかを示すブロック図である。
【
図5A】
図5Aは、本開示のある実施形態に係る、符号化対象である現在CUの空間的に隣り合いかつ時間的に並べられたブロック位置を示すブロック図である。
【
図5B】
図5Bは、本開示のある実施形態に係る、波面並列処理を使用して画像における複数のCTUの複数の行分にマルチスレッド符号化を行うことを示すブロック図である。
【
図6】
図6Aおよび6Bは、本開示のある実施形態に係る、再構成された輝度ブロックおよび関連彩度ブロックをそれぞれ例示するブロック図である。
【
図7】
図7A~7Eは、本開示のある実施形態に係る、クロスコンポーネント線形モデルを使用して輝度値と彩度値との間で線形モデルを導出する種々の方法を示している。
【
図8】
図8は、本開示のある実施形態に係る、ビデオコーデックが、クロスコンポーネント線形モデルを使用して、輝度ブロックから再構成された輝度サンプルに基づいて彩度ブロックの彩度サンプルを再構成する技術を実現するためのプロセスを例示するフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施の形態を詳細に説明する。以下の詳細な説明におい
て、本明細書に述べる趣旨を容易に理解するために、複数の非限定的な具体的な詳細を述
べる。ただし、本発明は、特許請求の範囲及びその趣旨から逸脱することではなく種々の
変形により実施することができることは当業者には明らかである。例えば、本明細書に述
べる趣旨がデジタルビデオ機能を有する多くの種類の電子装置で実施され得る。
【0013】
図1は、本開示のある実施形態に係る、ビデオブロックを並列に符号化および復号化す
るためのシステム10を例示するブロック図である。
図1に示すように、システム10は
、将来目標装置14によって復号化されるビデオデータを生成し符号化するソース装置1
2を含む。ソース装置12および目標装置14には、ラップトップまたはデスクトップ・
コンピュータ、タブレット・コンピュータ、スマートフォン、セットトップボックス、デ
ジタル・テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオ・ゲーム機、
ビデオ・ストリーミング装置などを含む多種の電子装置のいずれかを含んでもよい。ある
実施形態では、ソース装置12および目標装置14は、無線通信機能を備えている。
【0014】
ある実施形態では、目標装置14は、リンク16を介して復号化対象の符号化後のビデ
オデータを受信する。リンク16には、符号化されたビデオデータをソース装置12から
目標装置14に移動させる任意のタイプの通信媒体または装置を含むことが可能である。
一つの例では、リンク16には、ソース装置12から、符号化されたビデオデータを目標
装置14にリアルタイムで直接送信できる通信媒体を含んでもよい。符号化されたビデオ
データは、無線通信プロトコルなどの通信規格に従って変調され、目標装置14に送信さ
れる。通信媒体には、無線周波数(RF:radio frequency)スペクトル
または1つか複数の物理的な伝送路などの任意の無線または有線通信媒体を含むことが可
能である。通信媒体は、ローカルエリアネットワークのようなパケットベースのネットワ
ーク、ワイドエリアネットワークまたはインターネット等のようなグローバルネットワー
クの一部として構成してもよい。通信媒体には、ルーター、交換機、基地局や、ソース装
置12から目標装置14への通信に役立つ他の任意の装置を含んでもよい。
【0015】
他のある実施形態では、符号化されたビデオデータは、出力インターフェース22から
ストレージ装置32に送信される。その後、ストレージ装置32にある符号化されたビデ
オデータは、入力インターフェース28を介して目標装置14によってアクセスされる。
ストレージ装置32には、ハードドライブ、Blu-rayディスク、DVD、CD-R
OM、フラッシュメモリ、揮発性または不揮発性メモリ、や符号化されたビデオデータを
格納するための他の適切なデジタル記憶媒体などのような多種の分散型またはローカルに
アクセスされるデータ記憶媒体のいずれかを含むことが可能である。他の例では、ストレ
ージ装置32は、ファイルサーバ、またはソース装置12によって生成された符号化ビデ
オデータを保持することができる別の中間ストレージ装置に対応してもよい。目標装置1
4は、ストリーミングまたはダウンロードを介してストレージ装置32から格納されたビ
デオデータにアクセスすることができる。ファイルサーバは、符号化されたビデオデータ
を格納し、符号化されたビデオデータを目標装置14に送信することができる任意のタイ
プのコンピュータであることが可能である。例示的なファイルサーバは、ウェブサーバ(
例えば、ウェブサイト用)、FTPサーバ、ネットワーク接続ストレージ(NAS)装置
、またはローカルディスクドライブを含む。目標装置14は、ファイルサーバーに保存さ
れている符号化ビデオデータへのアクセスに適する無線チャネル(例えば、Wi―Fi接
続)、有線接続(例えば、DSL、ケーブルモデムなど)、またはそれらの組み合わせを
含む任意の規格データ接続を介して、符号化されたビデオデータをアクセスすることがで
きる。ストレージ装置32からの符号化されたビデオデータの送信は、ストリーミング送
信、ダウンロード送信、またはそれらの組み合わせであってもよい。
【0016】
図1に示すように、ソース装置12は、ビデオソース18、ビデオエンコーダ20、お
よび出力インターフェース22を含む。ビデオソース18には、ビデオ・キャプチャ装置
(例えばビデオカメラ)、前に捕らえられたビデオを含むビデオアーカイブ、ビデオコン
テンツ提供者からビデオを受信するためのビデオフィードインターフェイス、および/ま
たはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュー
タグラフィックスシステム、またはそれらの組み合わせ等のようなソースを含むことが可
能である。一つの例として、ビデオソース18がセキュリティ監視システムのビデオカメ
ラである場合、ソース装置12および目標装置14は、カメラ付き携帯電話またはビデオ
電話を構成できる。しかしながら、本願で説明する実施形態は、一般にビデオ符号化に適
用可能であり、そして無線および/または有線アプリケーションに適用可能である。
【0017】
ビデオエンコーダ20は、捕れるビデオ、予め捕らえられたビデオ、またはコンピュー
タによって生成されたビデオを符号化することができる。符号化されたビデオデータは、
ソース装置12の出力インターフェース22を介して目標装置14に直接送信されること
が可能である。加えて(または選択的に)、符号化されたビデオデータは、その後、目標
装置14または他の装置によってアクセスされて復号化および/または再生できるように
、ストレージ装置32に格納されてもよい。出力インターフェース22は、モデムおよび
/または送信機をさらに含んでもよい。
【0018】
目標装置14は、入力インターフェース28、ビデオデコーダ30、および表示装置3
4を含む。入力インターフェース28は受信機および/またはモデムを含み、リンク16
を介して符号化されたビデオデータを受信する。リンク16を介して通信された、または
ストレージ装置32に提供された符号化ビデオデータには、ビデオエンコーダ20によっ
て生成され、ビデオデコーダ30によるビデオデータの復号化に使用される多くの構文要
素を含んでもよい。これらの符号化されたビデオデータは、通信媒体で送信されるか、記
憶媒体に記憶されているか、ファイルサーバーに記憶されているかに関わらず、そのよう
な構文要素を含んでもよい。
【0019】
ある実施形態では、目標装置14は、集積された表示装置や、目標装置14と通信でき
るように構成された外部表示装置である表示装置34を含んでもよい。表示装置34は、
復号化されたビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマデ
ィスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプの表示装
置などの各種の表示装置のいずれかを含んでもよい。
【0020】
ビデオエンコーダ20およびビデオデコーダ30は、VVC、HEVC、MPEG-4
、Part10、高度なビデオ符号化(AVC:Advanced Video Cod
ing)、またはそのような規格の拡張などの専門または業界標準に従って動作する。な
お、本願は、特定のビデオ符号化/復号化の標準に限定されず、他のビデオ符号化/復号
化規格にも適用可能であることが理解されるべきである。ソース装置12のビデオエンコ
ーダ20は、これらの現在または将来の規格のいずれかに従ってビデオデータを符号化す
るように構成される。同様に、目標装置14のビデオデコーダ30は、これらの現在また
は将来の規格のいずれかに従ってビデオデータを復号化するように構成される。
【0021】
ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロ
プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、
フィールド・プログラマブル・ゲート・アレイ(FPGA)、離散な論理、ソフトウェア
、ハードウェア、ファームウェア、またはこれらの任意の組み合わせなどのような、種々
の適切なエンコーダ回路のいずれかによって実現されることが可能である。ソフトウェア
によって一部実現される場合、電子装置は、ソフトウェアの命令を適切な非一時的なコン
ピュータ読取可能な媒体に格納し、1つまたは複数のプロセッサによってハードウェアに
おける命令を実行することで本開示に述べたビデオ符号化/復号化操作を実行してもよい
。ビデオエンコーダ20およびビデオデコーダ30は、それぞれの装置において結合式エ
ンコーダ/デコーダ(CODEC)の一部として集積された一つまたは複数のエンコーダ
またはデコーダに含まれてもよい。
【0022】
図2は、本願で説明されるある実施形態に係るビデオエンコーダ20を例示するブロッ
ク図である。ビデオエンコーダ20は、ビデオフレーム内のビデオブロックに対してイン
トラ予測符号化およびインター予測符号化を実行することができる。イントラ予測符号化
は空間予測に依存し、特定のビデオフレームまたは画像内のビデオデータの空間的冗長性
を低減または削除する。インター予測符号化は、時間予測に依存し、ビデオシーケンスの
隣接するビデオフレームまたは画像内のビデオデータの時間的冗長性を低減または削除す
る。
【0023】
図2に示すように、ビデオエンコーダ20は、ビデオデータメモリ40、予測処理部4
1、復号化画像バッファ(DPB)64、加算器50、変換処理部52、定量化部54、
エントロピー符号化部56を備えている。予測処理部41は、動き推定部42、動き補償
部44、分割部45、イントラ予測処理部46、イントラブロックコピー(BC)部48
をさらに備えている。ある実施形態では、ビデオエンコーダ20はまた、ビデオブロック
再構成のための逆定量化部58、逆変換処理部60、および加算器62をさらに備えてい
る。加算器62とDPB64との間には、再構成されたビデオからブロック同士の境界を
フィルタリングしてブロック性アーチファクトを除去するデブロッキング・フィルタ(図
示せず)を配置することが可能である。また、加算器62の出力をフィルタリングするた
めに、デブロッキング・フィルタに加えて、環内フィルタ(図示せず)を用いてもよい。
ビデオエンコーダ20は、固定的、またはプログラマブル・ハードウェアユニットの形態
で形成してもよいし、または図示された固定的またはプログラマブル・ハードウェアユニ
ットの1つ又は複数内で分割されてもよい。
【0024】
ビデオデータメモリ40は、ビデオエンコーダ20における部品によって符号化対象の
ビデオデータを格納する。ビデオデータメモリ40におけるビデオデータは、例えばビデ
オソース18から得られる。DPB64は、ビデオエンコーダ20によってビデオデータ
を(例えば、イントラ予測またはインター予測符号化モードで)符号化する際に使用され
る参照ビデオデータを格納するバッファである。ビデオデータメモリ40およびDPB6
4は、種々のメモリデバイスのいずれかで形成されることが可能である。種々の例では、
ビデオデータメモリ40は、ビデオエンコーダ20における他の部品とともにオンチップ
であってもよく、またはそれらの部品に対するオフチップであってもよい。
【0025】
図2に示すように、ビデオデータを受信した後、予測処理部41における分割部45は
、このビデオデータをビデオブロックに分割する。この分割には、このビデオデータに関
するquad-tree構造のような予め定められた分割構造に従って、ビデオフレーム
をスライス、タイルまたは他のより大きい符号化ユニット(CU)に分割することを含ん
でもよい。ビデオフレームは、複数のビデオブロック(または、タイルと称されるビデオ
ブロックトセット)に分割されることができる。予測処理部41は、現在のビデオブロッ
クに対して、エラー結果(例えば、符号化率および歪みレベル)に基づいて、複数のイン
トラ予測符号化モードのうちの1つまたは複数のインター予測符号化モードのうちの1つ
を選択するように、複数の可能な予測符号化モードのうちの1つを選択する。そして、予
測処理部41は、得られたイントラ又はインター予測符号化ブロックを加算器50に提供
して残差ブロックを生成し、その後の参照フレームの一部として使用するように符号化ブ
ロックを再構成する。また、予測処理部41は、さらに動きベクトル、イントラモードイ
ンジケータ、分割情報及び他の構文情報のような構文要素をエントロピー符号化部56に
提供する。
【0026】
予測処理部41におけるイントラ予測処理部46は、現在のビデオブロックに適したイ
ントラ予測符号化モードを選択するために、符号化対象である現在のブロックと同一のフ
レーム内の1つまたは複数の隣接ブロックと関連して、現在のビデオブロックのイントラ
予測符号化を実行して空間予測を行うことができる。予測処理部41における動き推定部
42および動き補償部44は、一つ又は複数の参照フレーム内の一つ又は複数の予測ブロ
ックに関連して、現在のビデオブロックのインター予測符号化を実行して時間予測を行う
。ビデオエンコーダ20は、複数のパスの符号化処理を実行して、例えばビデオデータに
おける各ブロックに対して適切な符号化モードを選択してもよい。
【0027】
ある実施形態では、動き推定部42は、ビデオフレームのシーケンスの予め定められた
パターンに従って、参照ビデオフレーム内における予測ブロックに対する現在のビデオフ
レーム内におけるビデオブロックの予測ユニット(PU)の変位を示す動きベクトルを生
成することで、現在のビデオフレームに対してインター予測モードを決定する。動き推定
部42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを
生成する処理である。動きベクトルは、例えば、現在のビデオ・フレームまたは画像内に
おける符号化されている現在のビデオブブロック(または他の符号化ユニット)に対する
基準フレーム(または他の符号化ユニット)内における予測ブロックに対して、現在のビ
デオ・フレーム内におけるビデオブロックのPUの変位を示すことができる。予め定めら
れたパターンは、シーケンスにおけるビデオ・フレームをPフレームまたはBフレームと
して指定できる。イントラBC部48は、動き推定部42によるインター予測のための動
きベクトルの決定と同様な方法により、イントラBC符号化のためのベクトル、例えばブ
ロックベクトルを決定してもよいし、または動き推定部42を利用してブロックベクトル
を決定してもよい。
【0028】
絶対差の合計(SAD)、二乗差の合計(SSD)又はその他の差メトリックによって
決定できる画素差では、予測ブロックは、符号化対象のビデオブロックのPUと厳密にマ
ッチングされる参照フレームにおけるブロックである。ある実施形態では、ビデオエンコ
ーダ20は、DPB64に格納されている参照フレームのサブ整数画素位置の値を算出す
ることが可能である。例えば、ビデオエンコーダ20は、参照フレームの1/4画素位置
、1/8の画素位置、または他の分数の画素位置の値を補間してもよい。したがって、動
き推定装置42は、すべての画素位置および分数画素位置に対して動き探索処理を実行し
て、分数画素精度を有する動きベクトルを出力ことができる。
【0029】
動き推定部42は、インター予測符号化フレーム内におけるビデオブロックのPUの位
置と、それぞれDPB64に格納されている1つまたは複数の参照フレームを識別する第
1の参照フレームリスト(List0)または第2の参照フレームリスト(List1)
から選択された参照フレームの予測ブロックの位置と比較することで、ビデオブロックの
PUの動きベクトルを算出する。動き推定部42は、算出された動きベクトルを動き補償
部44に送信し、そしてエントロピー符号化部56に送信する。
【0030】
動き補償部44によって実行される動き補償には、動き推定部42によって決定された
動きベクトルに基づいて予測ブロックを取得または生成することを含み得る。動き補償部
44は、現在のビデオブロックのPUの動きベクトルを受信すると、参照フレームリスト
の1つにおいてこの動きベクトルが指している予測ブロックを位置決めし、DPB64か
らこの予測ブロックを探し、この予測ブロックを加算器50に転送する。そして、加算器
50は、符号化されている現在のビデオブロックの画素値から動き補償部44によって提
供された予測ブロックの画素値を差し引くことで、画素差値の残差ビデオブロックを形成
する。残差ビデオブロックを形成する画素差値は、輝度差成分または彩度差成分、あるい
はその両方を含み得る。また、動き補償部44は、ビデオフレームのビデオブロックに関
する構文要素をさらに生成して、ビデオデコーダ30によってビデオフレームのビデオブ
ロックを復号化する際に使用する。構文要素には、例えば、この予測ブロックを識別する
ための動きベクトルを定義する構文要素、予測モードを示す任意のフラグ、または本明細
書で説明される任意の他の構文情報を含み得る。なお、動き推定部42および動き補償部
44は、概念的な目的のために個別に示されているが、高度に集積されてもよい。
【0031】
ある実施形態では、イントラBC部48は、動き推定部42および動き補償部44に関
して上述した方法と同様の方法によりベクトルを生成し、予測ブロックを取得することが
できるが、ここで、予測ブロックは符号化されている現在のブロックと同じフレームにあ
るものであり、ベクトルは、動きベクトルではなくブロックベクトルと呼ばれる。特に、
イントラBC部48は、一つのイントラ予測モードを決定して現在のブロックを符号化す
ることができる。ある例では、イントラBC部48は、例えば個別のパスの符号化におい
て、多種類のイントラ予測モードを使用して現在のブロックを符号化し、レート歪み解析
によりそれらのパフォーマンスをテストすることが可能である。次に、イントラBC部4
8は、テストされた種々のイントラ予測モードから、一つの適切なイントラ予測を選択し
使用して、対応するイントラモードインジケータを生成する。例えば、イントラBC部4
8は、テストされた種々のイントラ予測モードのレート歪み値をレート歪み解析により算
出し、テストされたモードからレート歪み特性が最適なイントラ予測モードを適切なイン
トラ予測モードとして選択し使用してもよい。レート歪み解析では、通常、符号化された
ブロックと符号化されてこの符号化されたブロックを生成した符号化が実施されていない
元のブロックとの間の歪み(又は、エラー)の量、およびこの符号化されたブロックを生
成するために使用されるビットレート(すなわち、複数のビット)が決定される。イント
ラBC部48は、種々の符号化されたブロックについて歪み及びレートから比率を算出し
て、どのイントラ予測モードがこのブロックに対して最適なレート歪み値を示しているか
を決定してもよい。
【0032】
別の例では、イントラBC部48は、動き推定部42および動き補償部44を全体的ま
たは一部的に使用して、本明細書に記載の実施形態に基づくイントラBC予測用いられる
係る機能を実行してもよい。いずれの場合も、イントラ・ブロック・コピーについては、
予測ブロックは、絶対差の合計(SAD)、二乗差の合計(SSD)または他の差メトリ
ックによって決定できる画素差で、符号化対象のブロックと厳密にマッチングすると考え
るものであり、予測ブロックの識別には、サブ整数画素位置の値の算出が含まれる場合が
ある。
【0033】
ビデオエンコーダ20は、予測ブロックがイントラ予測に基づく同じフレームからのも
のであるか、インター予測に基づく異なるフレームからのものであるかに関わらず、符号
化されている現在のビデオブロックの画素値から予測ブロックの画素値を差し引いて画素
差値を形成することで、残差ビデオブロックを生成することができる。残差ビデオブロッ
クを形成している画素差値には、輝度成分差及び彩度成分差の両方を含むことが可能であ
る。
【0034】
イントラ予測処理部46は、上述した動き推定部42および動き補償部44によって実
行されるインター予測、またはイントラBC部48によって実行されるイントラ・ブロッ
ク・コピー予測の代わりに、現在のビデオブロックに対してイントラ予測することができ
る。特に、イントラ予測処理部46は、1つのイントラ予測モードを決定して現在のブロ
ックを符号化することができる。それを実現するために、イントラ予測処理部46は、例
えば、個別のパスの符号化処理において、種々のイントラ予測モードを使用して現在のブ
ロックを符号化し、イントラ予測処理部46(またはある例では、モード選択部)は、テ
ストされたイントラ予測モードから1つの適切なイントラ予測モードを選択し使用しても
よい。イントラ予測処理部46は、このブロックに関して選択されたイントラ予測モード
を示す情報をエントロピー符号化部56に提供してもよい。エントロピー符号化部56は
、選択されたイントラ予測モードを示す情報をビットストリームに符号化することができ
る。
【0035】
予測処理部41がインター予測またはイントラ予測により現在のビデオブロックの予測
ブロックを決定した後、加算器50は、現在のビデオブロックからこの予測ブロックを差
し引くことで残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、1
つまたは複数の変換ユニット(TU)に含まれて変換処理部52に提供される。変換処理
部52は、離散コサイン変換(DCT)または概念的に類似する変換などにより、残差ビ
デオデータを残差変換係数に変換することができる。
【0036】
変換処理部52は、得られた変換係数を定量化部54に送信する。定量化部54は、こ
れらの変換係数を定量化して、ビットレートをさらに低減する。定量化プロセスは、これ
らの係数の一部または全部に関連するビット深度を減らすこともできる。定量化の度合い
は、定量化パラメータを調整することによって変更されることができる。そして、ある例
では、定量化部54は、定量化された変換係数を含む行列の走査を実行することができる
。この走査は、エントロピー符号化部56によって実行されることが可能である。
【0037】
定量化に続いて、エントロピー符号化部56は、例えば、コンテキスト適応可変長符号
化(CAVLC)、コンテキスト適応バイナリ算術符号化(CABAC)、構文ベースの
コンテキスト適応バイナリ算術符号化(SBAC)、確率間隔分割エントロピー(PIP
E)符号化または別のエントロピー符号化方法または技術により、定量化された変換係数
を、ビデオ・ビットストリームにエントロピー符号化する。そして、符号化されたビット
ストリームは、ビデオデコーダ30に送信されてもよいし、またはその後にビデオデコー
ダ30へ送信するか、またはビデオデコーダ30による検索のためにストレージ装置32
にアーカイブされてもよい。また、エントロピー符号化部56は、符号化されている現在
のビデオフレームのための動きベクトルおよび他の構文要素をエントロピー符号化しても
よい。
【0038】
逆定量化部58および逆変換処理部60は、それぞれ、逆定量化および逆変換により、
他のビデオブロックの予測に使用される参照ブロックを生成するための画素領域内の残差
ビデオブロックを再構成する。上記のように、動き補償部44は、DPB64に格納され
たフレームの1つまたは複数の参照ブロックから動き補償予測ブロックを生成することが
できる。また、動き補償部44は、この予測ブロックに1つまたは複数の補間フィルタを
適用して、動き推定に使用されるサブ整数画素値を算出することもできる。
【0039】
加算器62は、再構成された残差ブロックを動き補償部44によって生成された動き補
償予測ブロックに加算して、DPB64に格納する参照ブロックを生成する。そして、こ
の参照ブロックは、予測ブロックとして、イントラBC部48、動き推定部42および動
き補償部44に使用されて後続のビデオフレーム内の別のビデオブロックをインター予測
することが可能である。
【0040】
図3は、本願のある実施形態に係るビデオデコーダ30を例示するブロック図である。
ビデオデコーダ30は、ビデオデータメモリ79、エントロピー復号化部80、予測処理
部81、逆定量化部86、逆変換処理部88、加算器90およびDPB92を備える。予
測処理部81は、動き補償部82、イントラ予測処理部84及びイントラBC部85をさ
らに備える。ビデオデコーダ30は、
図2に参照してビデオエンコーダ20に関して上述
した符号化プロセスとおおよそ逆の復号化プロセスを実行することができる。例えば、動
き補償部82は、エントロピー復号部80から受信した動きベクトルに基づいて予測デー
タを生成し、イントラ予測部84は、エントロピー復号化部80から受信したイントラ予
測モードインジケータに基づいて予測データを生成することができる。
【0041】
ある例では、ビデオデコーダ30における一つの構成要素が本願の実施を実行する任務
を負ってもよい。また、ある例では、本開示の実施は、ビデオデコーダ30における1つ
または複数の構成要素に分割されてもよい。例えば、イントラBC部85は、本願の実施
を単独で実現してもよく、または動き補償部82、イントラ予測処理部84およびエント
ロピー復号化部80などのビデオデコーダ30における他の構成要素と組み合わせて実現
してもよい。ある例では、ビデオデコーダ30は、イントラBC部85を含まなく、イン
トラBC部85の機能が動き補償部82などの予測処理部81における他の構成要素によ
って実現されてもよい。
【0042】
ビデオデータメモリ79は、ビデオデコーダ30における他の構成要素によって復号化
される符号化ビデオビットストリームなどのビデオデータを格納することができる。ビデ
オデータメモリ79に格納されたビデオデータは、例えば、ストレージ装置32から取得
したり、ビデオデータの有線または無線ネットワーク通信や物理データ記憶媒体(例えば
、フラッシュドライブやハードディスク)へのアクセスによりカメラなどのローカルビデ
オソースから取得し得る。ビデオデータメモリ79は、符号化されたビデオビットストリ
ームから符号化されたビデオデータを格納する符号化画像バッファ(CPB)を含んでも
よい。ビデオデコーダ30における復号化画像バッファ(DPB)92は、ビデオデコー
ダ30(例えば、イントラ予測またはインター予測符号化モード)によるビデオデータの
復号化に使用される参照ビデオデータを格納する。ビデオデータメモリ79およびDPB
92は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗変化型RAM
(RRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、または他のタイ
プのメモリデバイスなどの種々のメモリデバイスのいずれかによって形成されることがで
きる。説明の便利上、ビデオデータメモリ79およびDPB92は、
図3ではビデオデコ
ーダ30における2つの異なる構成要素として示されている。しかし、当業者にとっては
、ビデオデータメモリ79およびDPB92が同じメモリデバイス又は異なるメモリデバ
イスによって提供されることは明らかである。ある例では、ビデオデータメモリ79は、
ビデオデコーダ30における他の構成要素とともにオンチップであってもよく、それらの
構成要素に対するオフチップであってもよい。
【0043】
復号化プロセスにおいて、ビデオデコーダ30は符号化されたビデオフレームのビデオ
ブロックおよび関連構文要素を示す符号化されたビデオビットストリームを受信する。ビ
デオデコーダ30は、ビデオフレームレベルおよび/またはビデオブロックレベルで構文
要素を受信することができる。ビデオデコーダ30のエントロピー復号化部80は、この
ビットストリームをエントロピー復号化して、定量化された係数、動きベクトルまたはイ
ントラ予測モードインジケータ、および他の構文要素を生成する。そして、エントロピー
復号化部80は、動きベクトルおよび他の構文要素を予測処理部81に転送する。
【0044】
ビデオフレームがイントラ予測符号化(I)フレームに符号化された場合、または他の
タイプのフレームのイントラ符号化予測ブロックに用いられる場合には、予測処理部81
におけるイントラ予測処理部84は、通知されたイントラ予測モードと、現在のフレーム
からの以前復号化されたブロックからの参照データとに基づいて、現在のビデオフレーム
のビデオブロックの予測データを生成することができる。
【0045】
ビデオフレームがインター予測符号化(すなわち、BまたはP)フレームに符号化された
場合、予測処理部81における動き補償部82は、エントロピー復号化部80から受信し
た動きベクトルおよび他の構文要素に基づいて、現在のビデオフレームのビデオブロック
の1つまたは複数の予測ブロックを生成することができる。各予測ブロックは、参照フレ
ームリストのうちの1つの参照フレーム内から生成される。ビデオデコーダ30は、DP
B92に格納された参照フレームに基いて、デフォルトの構成技術によりこの参照フレー
ムリスト、List0およびList1を構成することができる。
【0046】
ある例では、ビデオブロックがここで述べたイントラBCモードに従って符号化された
場合には、予測処理部81におけるイントラBC部85は、エントロピー復号化部80か
ら受信したブロックベクトルおよび他の構文要素に基づいて、現在のビデオブロックの予
測ブロックを生成する。この予測ブロックは、ビデオエンコーダ20によって定義された
現在のビデオブロックと同一の画像の再構成領域内にあり得る。
【0047】
動き補償部82および/またはイントラBC部85は、動きベクトルおよび他の構文要
素を解析することによって現在のビデオフレームのビデオブロックの予測情報を決定し、
そして、この予測情報を使用して復号化されている現在のビデオブロックの予測ブロック
を生成する。例えば、動き補償部82は、受信した構文要素の一部を使用して、このビデ
オフレームのビデオブロックを符号化するための予測モード(例えば、イントラ予測また
はインター予測)、インター予測フレームタイプ(例えば、BまたはP)、このフレーム
に関する1つまたは複数の参照フレームリストのための構造情報、このフレームの各イン
ター予測符号化ビデオブロックに関する動きベクトル、このフレームの各インター予測符
号化ビデオブロックに関するインター予測状態、および現在のビデオフレームにおけるビ
デオブロックを復号化するための他の情報を決定する。
【0048】
同様に、イントラBC部85は、受信した構文要素の一部を使用することができる。例
えば、現在のビデオブロックがイントラBCモード予測であることを決定するためのフラ
グ、このフレームのどんなビデオブロックが再構成領域内にあり且つDPB92に格納さ
れるべきかに関する構造情報、このフレームにおける各イントラBC予測ビデオブロック
に関するブロックベクトル、このフレームにおける各イントラBC予測ビデオブロックに
関するイントラBC予測状態、及び現在のビデオフレームにおけるビデオブロックを復号
化するための他の情報を使用することができる。
【0049】
また、動き補償部82は、ビデオエンコーダ20がビデオブロックの符号化において使
用した補間フィルタを使用して補間を実行して、参照ブロックのサブ整数画素に対する補
間値を算出することもできる。この場合、動き補償部82は、受信した構文要素からビデ
オエンコーダ20によって使用された補間フィルタを決定し、この補間フィルタを使用し
て予測ブロックを生成してもよい。
【0050】
逆定量化部86は、ビデオエンコーダ20によって定量化の度合いを決定するためにこ
のビデオフレーム内の各ビデオブロックに対して算出された定量化パラメータと同じもの
を使用して、ビットストリームで提供され且つエントロピー復号化部80によってエント
ロピー復号化された定量化の変換係数を逆定量化する。逆変換処理部88は、画素領域に
おける残差ブロックを再構成するために、逆変換、例えば逆DCT、逆整数変換、または
概念的に類似の逆変換処理を変換係数に適用する。
【0051】
動き補償部82またはイントラBC部85がこのベクトルおよび他の構文要素に基づい
て現在のビデオブロックの予測ブロックを生成した後、加算器90は、逆変換処理部88
からの残差ブロックと動き補償部82またはイントラBC部85によって生成された対応
する予測ブロックとを加算することで、現在のビデオブロックに対して復号化されたビデ
オブロックを再構成する。インループフィルタ(図示せず)は加算器90とDPB92と
の間に配置されて、この復号化されたビデオブロックをさらに処理することが可能である
。そして、所定のフレーム内の復号化されたビデオブロックは、次のビデオブロックのそ
の後の動き補償に使用される参照フレームを格納するDPB92に格納される。また、D
PB92、またはDPB92とは別のメモリデバイスには、その後に
図1の表示装置34
などのような表示装置に表示するために、復号化されたビデオも格納されることが可能で
ある。
【0052】
典型的なビデオ符号化プロセスでは、1つのビデオシーケンスは通常順序付けられたフ
レームまたは画像のセットを含む。各フレームには、SL、SCbおよびSCrの3つの
サンプル行列を含める。SLは、輝度サンプルの2次元行列である。SCbは、Cb彩度
サンプルの2次元行列である。SCrは、Cr彩度サンプルの2次元行列である。他の例
では、フレームはモノクロである可能性があり、この場合、1つの輝度サンプルの2次元
行列のみが含まれる。
【0053】
図4Aに示すように、ビデオエンコーダ20(または、より具体的には分割部45)は
、最初にフレームを1組の符号化ツリーユニットに分割することにより、このフレームの
符号化表現を生成する。ビデオフレームには、ラスター走査順で左から右、および上から
下に連続的に順序付けられた整数個のCTUが含まれる。各CTUは、最大の論理符号化
ユニットであり、幅および高さが、ビデオシーケンス内のすべてのCTUが128×12
8、64×64、32×32及び16×16のうちの1つと同じサイズを有するように、
ビデオエンコーダ20によってシーケンスパラメータセットで転送される。なお、本願は
必ずしも特定のサイズに限定されない。
図4Bに示すように、各CTUは、輝度サンプル
の1つの符号化ツリーブロック(CTB)、彩度サンプルの2つの符号化ツリーブロック
、および符号化ツリーブロックのサンプルを符号化するために使用される構文要素を含み
得る。構文要素は、画素の符号化ブロックの異なるタイプのユニットの属性と、どのよう
にビデオデコーダ30においてビデオシーケンスを再構成するかを記述する。例えば、イ
ンター予測またはイントラ予測、イントラ予測モード、動きベクトルおよび他のパラメー
タを含む。モノクロ画像または3つの個別の色平面を有する画像では、CTUが、単一の
符号化ツリーブロックと、この符号化ツリーブロックのサンプルを符号化するために使用
される構文要素とを含み得る。符号化ツリーブロックは、N×Nブロックのサンプルであ
ることが可能である。
【0054】
より良いパフォーマンスを達成するために、ビデオエンコーダ20は、CTUの符号化
ツリーブロックに対してバイナリツリー分割、クアッドツリー分割、またはそれらの組み
合わせなどのツリー分割を再帰的に実行して、このCTUをより小さな符号化ユニット(
CU)に分割することができる。より良いパフォーマンスを達成するために、ビデオエン
コーダ20は、CTUの符号化ツリーブロックに対してバイナリツリー分割、クアッドツ
リー分割、またはそれらの組み合わせなどのツリー分割を再帰的に実行して、このCTU
をより小さな符号化ユニット(CU)に分割することができる。
図4Cに示すように、6
4×64のCTU400は、まず、4つの小さな32×32ブロックサイズに分割される
。これらの4つの小さいCUのうち、CU410及びCU420は、それぞれ4つの16
×16ブロックサイズのCUに分割される。2つの16×16ブロックサイズのCU43
0および440は、それぞれ4つの8×8ブロックサイズのCUにさらに分割される。図
4Dは、
図4Cに示されたCTU400の分割プロセスの最終的な結果を表すクワッドツ
リーデータ構造を示し、クワッドツリーにおける各リーフノードは、32×32から8×
8までの各サイズ範囲における1つのCUに対応する。
図4Bに示されたCTUのように
、各CUは、同じサイズのフレームにおける1つの輝度サンプルの符号化ブロック(CB
)と、彩度サンプルの2つの対応する符号化ブロックと、これらの符号化ブロックのサン
プルを符号化するために使用される構文要素とを含み得る。モノクロ画像または3つの個
別の色平面を有する画像において、1つのCUは、単一の符号化ブロックと、この符号化
ブロックのサンプルを符号化するために使用される構文構造とを含み得る。
【0055】
ある実施形態では、ビデオエンコーダ20は、さらにCUの符号化ブロックを1つまた
は複数のM×N予測ブロック(PB)に分割するこができる。予測ブロックは、同じ予測
(インター予測またはイントラ予測)が適用される長方形(正方形または非正方形)のサ
ンプルブロックである。CUの予測ユニット(PU)は、1つの輝度サンプルの予測ブロ
ック、彩度サンプルの2つの対応する予測ブロック、およびこれらの予測ブロックを予測
するために使用される構文要素を含み得る。モノクロ画像または3つの個別の色平面を有
する画像では、PUは単一の予測ブロックと、予測ブロックを予測するために使用される
構文構造とを含み得る。ビデオエンコーダ20は、CUの各PUの輝度予測ブロック、C
b予測ブロック、およびCr予測ブロックに対する予測的な輝度ブロック、予測的なCb
ブロック、および予測的なCrブロックを生成することができる。
【0056】
ビデオエンコーダ20は、イントラ予測またはインター予測により、PUのこれらの予
測ブロックを生成することができる。ビデオエンコーダ20は、イントラ予測によりPU
の予測ブロックを生成する場合、このPUに関連するフレームの復号化されたサンプルに
基づいて、このPUの予測的なブロックを生成することができる。ビデオエンコーダ20
は、インター予測によりPUの予測ブロックを生成する場合、このPUに関連するフレー
ム以外の1つまたは複数のフレームの復号化されたサンプルに基づいて、このPUの予測
的なブロックを生成することができる。
【0057】
ビデオエンコーダ20は、CUの1つまたは複数のPUの予測的な輝度ブロック、予測
的なCbブロック、および予測的なCrブロックを生成した後、CUの元の輝度符号化ブ
ロックからCUの予測的な輝度ブロックを差し引くことによって、CUの輝度残差ブロッ
クにおける各サンプルが、CUの1つの予測的な輝度ブロックにおける輝度サンプルとC
Uの元の輝度符号化ブロックにおける対応するサンプルとの差を示すように、CUの輝度
残差ブロックを生成することができる。同様に、ビデオエンコーダ20は、CUのCb残
差ブロックにおける各サンプルが、CUの1つの予測的なCbブロックにおけるCbサン
プルとCUの元のCb符号化ブロックにおける対応するサンプルとの差を示し、CUのC
r残差ブロックにおける各サンプルがCUの1つの予測的なCrブロックにおけるCrサ
ンプルとCUの元のCr符号化ブロックにおける対応するサンプルとの差を示すように、
CUのCb残差ブロックおよびCr残差ブロックをそれぞれ生成することができる。
【0058】
さらに、
図4Cに示すように、ビデオエンコーダ20は、クワッドツリー分割により、
CUの輝度残差ブロック、Cb残差ブロック、およびCr残差ブロックを1つまたは複数
の輝度変換ブロック、Cb変換ブロック、およびCr変換ブロックに分解することができ
る。変換ブロックは、同じ変換が適用される長方形(正方形または非正方形)のサンプル
ブロックである。CUの変換ユニット(TU)は、輝度サンプルの変換ブロック、彩度サ
ンプルの2つの対応する変換ブロック、および変換ブロックサンプルを変換するために使
用される構文要素を含み得る。したがって、CUの各TUは、1つの輝度変換ブロック、
1つのCb変換ブロック、および1つのCr変換ブロックに関連付けられる。ある例では
、TUに関連付けられた輝度変換ブロックは、CUの輝度残差ブロックのサブブロックで
あり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。C
r変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。モノクロ画像ま
たは3つの個別の色平面を有する画像では、TUが、単一の変換ブロックと、この変換ブ
ロックのサンプルを変換するために使用される構文構造とを含み得る。
【0059】
ビデオエンコーダ20は、1つまたは複数の変換をTUの輝度変換ブロックに適用して
、TUの輝度係数ブロックを生成することができる。係数ブロックは、変換係数の2次元
行列であり得る。変換係数はスカラー量であり得る。ビデオエンコーダ20は、1つまた
は複数の変換をTUのCb変換ブロックに適用して、TUのCb係数ブロックを生成する
ことができる。ビデオエンコーダ20は、1つまたは複数の変換をTUのCr変換ブロッ
クに適用して、TUのCr係数ブロックを生成することができる。
【0060】
ビデオエンコーダ20は、係数ブロック(例えば、輝度係数ブロック、Cb係数ブロッ
クまたはCr係数ブロック)を生成した後、係数ブロックを定量化することができる。定
量化とは、一般的に、変換係数を定量化してこの変換係数を示すデータの量をなるべく低
減し、更なる圧縮を提供することを意味する。ビデオエンコーダ20は、係数ブロックを
定量化した後、定量化された変換係数を示す構文要素をエントロピー符号化することが可
能できる。例えば、ビデオエンコーダ20は、定量化された変換係数を示す構文要素にコ
ンテキスト適応型バイナリ算術符号化(CABAC)を実行してもよい。最終的に、ビデ
オエンコーダ20は、符号化されたフレームおよび関連データの表現を形成するビットシ
ーケンスを含むビットストリームを出力し、ビットストリームはストレージ装置32に保
存されか、または目標装置14に送信される。
【0061】
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを
受信した後、このビットストリームを解析して、ビットストリームから構文要素を取得す
る。ビデオデコーダ30は、ビットストリームから取得された構文要素の少なくとも一部
に基づいて、ビデオデータのフレームを再構成することができる。ビデオデータを再構成
するプロセスは、一般的に、ビデオエンコーダ20によって実行された符号化プロセスと
逆である。例えば、ビデオデコーダ30は、現在のCUのTUに関連する係数ブロックに
対して逆変換を実行して、現在のCUのTUに関連する残差ブロックを再構成することが
可能である。また、ビデオデコーダ30は、現在のCUのPUに対する予測ブロックのサ
ンプルと現在のCUのTUの変換ブロックの対応するサンプルとを加算することによって
、現在のCUの符号化ブロックを再構成する。フレームの各CUの符号化ブロックが再構
成された後、ビデオデコーダ30はこのフレームを再構成することが可能である。
【0062】
上述したように、ビデオ符号化では、主に2つのモード、即ちイントラフレーム予測(
またはイントラ予測)及びインターフレーム予測(またはインター予測)を使用してビデ
オ圧縮を実現する。なお、IBCは、イントラフレーム予測または3第三モードと見なす
ことができる。この2つのモードを比べると、インターフレーム予測は動きベクトルを使
用して参照ビデオブロックから現在のビデオブロックを予測するため、イントラフレーム
予測より符号化効率に大きく貢献する。
【0063】
しかし、ビデオデータ・キャプチャ技術の向上及びビデオデータの詳細を保持するため
のより精細化的なビデオブロックサイズにつれて、現在のフレームの動きベクトルを表す
ために必要なデータの量も大幅に増加している。この課題を解決するための1つの手段は
、空間ドメインと時間ドメインにおける1組の隣り合うCUが、予測目的のための同じビ
デオデータを含むだけでなく、これらの隣り合うCU間で動きベクトルも同様であるとい
う事実から利益を得ることになる。したがって、空間的に隣り合うCUおよび/または時
間的に並ぶCUの動き情報と現在のCUの動き情報(例えば、動きベクトル)との空間的
および時間的相関性を探索することにより、空間的に隣り合うCUおよび/または時間的
に並ぶCUの動き情報を、現在のCUの「動きベクトル予測子」(MVP)もという動き
情報の近似として使用することが可能である。
【0064】
図2に示された上述の動き推定部42によって決定された現在のCUの実際の動きベク
トルをビデオビットストリームに符号化する代わりに、現在のCUの実際の動きベクトル
から現在のCUの動きベクトル予測子を差し引くにより、現在のCUの動きベクトル差(
MVD)を生成する。このようにすることで、動き推定部42がフレームの各CUに対し
て決定した動きベクトルをビデオビットストリームに符号化する必要がなく、ビデオビッ
トストリームにおける動き情報を表すためのデータの量を大幅に減らすことができる。
【0065】
符号化ブロックのインターフレーム予測中に参照フレーム内から予測ブロックを選択す
るプロセスと同様に、ビデオエンコーダ20及びビデオデコーダ30は、1組のルールに
従って、現在のCUの空間的に隣り合うCUおよび/または時間的に並ぶCUに関連する
潜在的な候補動きベクトルを使用して、動きベクトル候補リスト(「マージリスト」とも
呼ばれる)を構成し、そしてこの動きベクトル候補リストから1つを選択して現在のCU
の動きベクトル予測子とする必要がある。このように、ビデオエンコーダ20とビデオデ
コーダ30との間で動きベクトル候補リスト自身を送信する必要がなく、動きベクトル候
補リスト内の選択された動きベクトル予測子の索引は、ビデオエンコーダ20およびビデ
オデコーダ30が動きベクトル候補リスト内で同じ動きベクトル予測子を使用して現在の
CUを符号化および復号化することに十分である。
【0066】
ある実施形態では、各インター予測CUは、動きベクトル候補リストを構成するための
インター(「高度な動きベクトル予測」(AMVPとも呼ばれる))、スキップ、および
マージを含む3つの動きベクトル予測モードを有する。各モードでは、以下に説明するア
ルゴリズムに従って、1つまたは複数の動きベクトル候補を動きベクトル候補リストに追
加することができる。最終的に、候補リスト内のそれらの動きベクトル候補のうちの1つ
は、ビデオエンコーダ20によってビデオビットストリームに符号化されるか、またはビ
デオデコーダ30によってビデオビットストリームから復号化されるインター予測CUの
最適な動きベクトル予測子として使用される。候補リストから最適な動きベクトル予測子
を見つけるために、動きベクトル競合(MVC)スキームが導入されて、空間的および時
間的動きベクトル候補を含む所定の動きベクトルの候補セット、すなわち動きベクトル候
補リストから1つの動きベクトルが選択されるようにする。
【0067】
動きベクトル予測子候補は、空間的に隣り合い、または時間的に並ぶCUから導出され
ることに加えて、いわゆる「履歴ベースの動きベクトル予測」(HMVP)テーブルから
も導出されることが可能である。HMVPテーブルには、それぞれが同じ行のCTU(ま
たは同じCTUであることがある)の特定のCUを符号化/復号化するために使用された
予め定められた数の動きベクトル予測子が収納されている。これらのCUの空間的/時間
的の近接性によって、HMVPテーブルにおける動きベクトル予測子の1つが、同じ行の
CTU内の異なるCUを符号化/復号化するように再利用される可能は非常に高い。した
がって、動きベクトル候補リストを構成する過程にHMVPテーブルを使用することによ
り、より高い符号化効率を達成することが可能である。
【0068】
ある実施形態では、HMVPテーブルは固定の長さ(例えば5)を有し、先入れ先出し
(FIFO)の方式で管理される。例えば、CUの1つのインター符号化ブロックを復号
化する際に、CUの動きベクトルを再構成する。再構成された動きベクトルが後続のCU
の動きベクトル予測子になる可能性があるので、HMVPテーブルは、この動きベクトル
でオンザフライに更新される。HMVPテーブルの更新では、以下の2つのシナリオがあ
る。(i)再構成された動きベクトルがHMVPテーブル内の他の既存の動きベクトルと
異なる、または(ii)再構成された動きベクトルがHMVPテーブル内の既存の動きベ
クトルの1つと同じである。第1のシナリオでは、HMVPテーブルが未満の場合、再構
成された動きベクトルが最新のものとしてHMVPテーブルに追加される。HMVPテー
ブルがすでにいっぱいになっている場合は、再構成された動きベクトルが最新のものとし
て追加される前に、HMVPテーブル内の最も古い動きベクトルがHMVPテーブルから
削除される必要がある。言い換えると、この場合には、HMVPテーブルでは、FIFO
バッファと同様のように、FIFOバッファの先頭にあり且つ以前にインター符号化され
た別のブロックに関連する動き情報が、このバッファから取り除かれて、再構成された動
きベクトルが、HMVPテーブルにおける最新のものとしてFIFOバッファの末尾に追
加される。2番目のシナリオでは、再構成された動きベクトルが最新のものとしてFIF
Oバッファに追加される前に、HMVPテーブル内の、再構成された動きベクトルと実質
的に同じである既存の動きベクトルがFIFOバッファから削除される。HMVPテーブ
ルもFIFOバッファの形態で維持されている場合、HMVPテーブル内の同じ動きベク
トルの後の動きベクトル予測子が1つの要素だけ前方に移動されて、削除された動きベク
トルによって残された空間を占有し、そして、再構成された動きベクトルが、HMVPテ
ーブル内の最新のものとしてFIFOバッファの末尾に追加される。
【0069】
HMVPテーブルにおける動きベクトルは、AMVP、マージ、スキップなどの異なる
予測モードで動きベクトル候補リストに追加されることできる。HMVPテーブルに保存
されている以前にインター符号化されたブロックの動き情報は、現在のブロックに隣り合
っていなくても、より効率的な動きベクトル予測に利用されることが可能であることが分
かった。
【0070】
現在のCUに対する所定の動きベクトルの候補セット内で1つのMVP候補が選択され
た後、ビデオエンコーダ20は、対応するMVP候補に対する1つまたは複数の構文要素
を生成し、ビデオビットストリームに符号化し、ビデオデコーダ30がこの構文要素を使
用してこのデオビットストリームからこのMVP候補を取り出すことができるようにする
。動きベクトル候補セットを構成するための特定のモードによっては、異なるモード(例
えば、AMVP、マージ、スキップなど)は異なる構文要素のセットを有する。AMVP
モードの場合、構文要素にはインター予測インジケーター(List0、List1、ま
たは双方向予測)、参照索引、動きベクトル候補索引、動きベクトル予測残差信号などを
含む。スキップモード及びマージモードの場合、現在のCUは、符号化されたマージ索引
によって参照される隣り合うCUから、インター予測インジケータ、参照索引、動きベク
トルなどの他の構文要素を継承するので、マージ索引のみがビットストリーム中に符号化
される。スキップ符号化されたCUの場合、動きベクトル予測残差信号も省略される。
【0071】
図5Aは、本開示のある実施形態に係る、符号化/復号化される現在のCUの空間的に
隣り合いかつ時間的に並ぶブロック位置を示すブロック図である。所定のモードでは、ま
ず空間的に左側隣接ブロック位置および上方隣接ブロック位置に関連する動きベクトルの
利用可能性、時間的に並ぶブロック位置に関連する動きベクトルの利用可能性を検査し、
次にHMVPテーブル内の動きベクトルの利用可能性を検査することによって、動きベク
トル予測(MVP)候補リストを構成する。MVP候補リストを構成するプロセスには、
いくつかの冗長なMVP候補が候補リストから削除され、必要に応じて候補リストが固定
の長さを有するようにゼロ値の動きベクトルが追加される(なお、モードによって異なる
固定長を有することがある)。MVP候補リストの構成後、ビデオエンコーダ20は、こ
の候補リストから最適な動きベクトル予測子を選択し、選択された候補を指示する対応す
る索引をビデオビットストリーム中に符号化することができる。
【0072】
例として
図5Aを使用し、かつ候補リストが2の固定長さを有すると仮定すると、現在
のCUに関する動きベクトル予測子(MVP)候補リストは、AMVPモードで以下のス
テップを順に実行することによって構成されることができる。
1)空間的に隣り合うCUからのMVP候補の選択
a)A0で始まりA1で終わる左側の空間的隣り合う2つのCUのうちの1つから、1
つの非スケールMVP候補を導出する;
b)前のステップで左に利用可能非スケールMVP候補がない場合には、A0で始まり
A1で終わる左側の空間的隣り合う2つのCUのうちの1つから、1つのスケールMVP
候補を導出する;
c)B0で始まりB1を通じてB2で終わる上側の空間的隣り合う3つのCUのうちの1
つから、1つの非スケールMVP候補を導出する;
d)A0とA1の両方とも利用できない場合、またはそれらがイントラモードで符号化
されている場合には、B0で始まりB1を通じてB2で終わる上側の3つの空間的隣り合
うCUのうちの1つから、1つのスケールMVP候補を導出する;
2)前のステップで2つのMVP候補が見つかり、且つそれらが同一である場合は、こ
のMVP候補リストからこれらの2つの候補のうち1つを削除する;
3)時間的に並ぶCUからのMVP候補の選択
a)前のステップの後、MVP候補リストに2つのMVP候補が含まれていない場合に
は、時間的に並ぶCU(例えばT0)から1つのMVP候補を導出する;
4)HMVPテーブルからのMVP候補の選択
a)前のステップの後、MVP候補リストに2つのMVP候補が含まれていない場合に
は、HMVPテーブルから2つの履歴ベースのMVPを導出する;
5)前のステップの後、MVP候補リストに2つのMVP候補が含まれていない場合は
に、2つのゼロ値MVPをMVP候補リストに追加する。
【0073】
以上の構成されたAMVPモードMVP候補リストには2つの候補しかないので、候補
リスト内の2つのMVP候補のどちらが現在のCUの復号化に使用されるかを示すように
、バイナリフラグのような関連構文要素をビットストリーム中に符号化する。
【0074】
ある実施形態では、スキップモードまたはマージモードでは、上述した一連のステップ
と同様のものを順に実行することによって、現在のCUに関するMVP候補リストを構成
し得る。なお、「ペアでのマージ候補」と呼ばれる1つの特別な種類のマージ候補も、ス
キップモードまたはマージモードのためのMVP候補リストに含まれる。ペアでのマージ
候補は、以前に導出された2つのマージモード動きベクトル候補のMVを平均化すること
によって生成されることができる。マージMVP候補リストのサイズ(たとえば、1から
6)は、現在のCUのスライスヘッダーで通知される。マージモードでの各CUについて
、最適なマージ候補の索引は、truncated unary二値化(TU)を使用さ
れて復号化される。マージ索引の最初のビンはコンテキストで符号化され、バイパス符号
化が他のビンに使用される。
【0075】
上述たように、履歴ベースのMVPは、空間MVP及び時間MVPの後AMVPモード
MVP候補リスト又はマージMVP候補リストに追加されることができる。以前にインタ
ー符号化されたCUの動き情報は、HMVPテーブルに保存され、現在のCUのMVP候
補として使用される。HMVPテーブルは、符号化/復号化プロセス中に維持されている
。非サブブロックインター符号化したCUがあるときはいつでも、関連動きベクトル情報
が新しい候補としてHMVPテーブルの最後のエントリに追加され、一方、(HMVPテ
ーブルがすでにいっぱいで、テーブル内に関連動きベクトル情報の同じ複本がない場合)
HMVPテーブルの最初のエントリに格納されている動きベクトル情報がそこから削除さ
れる)。これの代わりに、関連動きベクトル情報がHMVPテーブルの最後のエントリに
追加される前に、関連動きベクトル情報の同じ複本をこのテーブルから削除してもよい。
【0076】
上 述したように、イントラブロックコピー(IBC)は、スクリーンコンテンツ素材の
符号化効率を著しく改善することができる。IBCモードはブロックレベルの符号化モー
ドとして実現されるので、ビデオエンコーダ20でブロックマッチング(BM)を実行し
て、各CUに対する最適なブロックベクトルを見つける。ここでは、ブロックベクトルは
、現在の画像内で現在のブロックからすでに再構成された参照ブロックへの変位を示すた
めのものである。IBCで符号化されたCUは、イントラ予測モードまたはインター予測
モードではなく、第三の予測モードとして扱われる。
【0077】
CUレベルでは、IBCモードは、以下のように、IBCAMVPモードまたはIBC
スキップ/マージモードとして通知されることができる。
-IBC AMVPモード:CUの実際のブロックベクトルとCUのブロックベクトル候
補から選択されたCUのブロックベクトル予測子との間のブロックベクトル差(BVD)
は、上述したAMVPモードで動きベクトル差に対する符号化と同じ方法で符合化される
。ブロックベクトル予測方法では、2つのブロックベクトル候補が予測子として使用され
、(IBC符合化される場合)この2つのブロックベクトル候補のうち1つが左側の隣か
ら、もう1つが上方の隣からである。いずれの隣も利用できない場合、デフォルトのブロ
ックベクトルがブロックベクトル予測子として使用される。バイナリフラグは、ブロック
ベクトル予測索引を示すように通知される。IBC AMVP候補リストには、空間的候
補およびHMVP候補を含む。
-IBCスキップ/マージモード:マージ候補索引は、隣り合うIBC符号化ブロックか
らのマージ候補リスト(「マージリスト」とも呼ばれる)の中のどのブロックベクトル候
補が現在のブロックのブロックベクトルの予測に使用されるかを示す。IBCマージ候補
リストには、空間的候補、HMVP候補、およびペアでの候補を含む。
【0078】
符号化規格によって採用される符号化効率を改善するための別のアプローチでは、ビデ
オ符号化/復号化プロセスに、例えばマルチコアプロセッサを使用して並列処理を導入す
る。例えば、波面並列処理(WPP)は、複数のスレッドによって複数行のCTUを並列
に符号化または復号化する特徴として、すでにHEVCに導入された。
【0079】
図5Bは、本開示のある実施形態に係る、波面並列処理(WPP)を使用して画像の複
数行のCTUに対してマルチスレッド符号化を行うことを示すブロック図である。WPP
を有効にすると、2つの隣り合い波面の先頭の間に2つのCTU分の遅延が発生する可能
性がある波面の方式で複数行のCTUを並列に処理できる。例えば、WPPを使用して画
像500を符号化するために、ビデオエンコーダ20およびビデオデコーダ30などのビ
デオコーダは、画像500の符号化ツリーユニット(CTU)を複数の波面に分割し、各
波面はそれぞれ画像の各行CTUに対応する。このビデオコーダーは、例えば、第1のコ
ーダーコアまたはスレッドを使用して、トップ波面の符号化を開始することができる。ビ
デオコーダーは、最初波面の2つ以上のCTUを符号化した後、例えば第2の並列コーダ
ーコアまたはスレッドを使用して、トップ波面の符号化と並行してトップ波面からの第2
つの波面の符号化を開始することができる。ビデオコーダーは、トップ波面からの第2の
波面の2つ以上のCTUを符号化した後、例えば、第3の並列コーダーコアまたはスレッ
ドを使用して、上方の波面の符号化と並行してトップ波面からの第3の波面の符号化を開
始することができる。このパターンは、画像500において波面に沿って続くことが可能
である。本開示では、ビデオコーダがWPPを使用して同時に符号化されているCTUの
セットは、「CTU組」と呼ばれる。このように、ビデオコーダーがWPPを使用して画
像を符号化する場合、CTU組の各CTUは、この画像の唯一な波面に属し、これらのC
TUは上方の各波面におけるCTUからこの画像の少なくとも2列のCTUだけオフセッ
トする。
【0080】
ビデオコーダーは、現在の波面の最初の2つのブロックのデータ及び現在の波面の最初
の符号化ブロックを含むスライスのスライスヘッダーの1つまたは複数の要素に基づいて
現在の波面のコンテキストを初期化して、現在の波面のコンテキスト適応型バイナリ算術
符号化(CABAC)を実行することができる。ビデオコーダーは、後続波面(またはC
TU行)の上方にある1つのCTU行における2つのCTUを符号化した後、コンテキス
ト状態を使用してこの後続波面のCABAC初期化を実行することが可能である。言い換
えれば、ビデオコーダー(より具体的には、ビデオコーダーの1つのスレッド)は、現在
の波面の符号化を開始する前に、現在の波面が画像の最初行のCTUではないと仮定する
場合、現在の波面の上方の波面の少なくとも2つのブロックをコーディングしたことが可
能である。そして、ビデオコーダーは、現在の波面より上方の波面の少なくとも2つのブ
ロックを符号化した後、現在の波面のCABACコンテキストを初期化することが可能で
ある。この例では、画像500の複数のCTU行を並列に符号化できるように、画像50
0の各CTU行は個別の一部であり、関連付けられたスレッド(WPPスレッド1、WP
Pスレッド2、…)を有する。
【0081】
HMVPテーブルの現在の実施形態は、グローバル動きベクトル(MV)バッファを使
用して以前に再構成された動きベクトルを格納するため、このHMVPテーブルは、
図5
に示された上述したWPPイネーブル並列符号化スキームで実施できない。特に、グロー
バルMVバッファがビデオコーダーの符号化/復号化プロセスのすべてのスレッドに共有
されている事実により、最初のWPPスレッド(即ち、WPPスレッド1)の後のWPP
スレッドの開始が妨げられる。これは、これらWPPスレッドは必ずHMVPテーブルが
最初のWPPスレッド(即ち、最初のCTU行)の最後のCTU(即ち、最右端のCTU
)による更新完了を待たなければならないからである。
【0082】
この課題を解決するために、複数のCTU行専用バッファでWPPスレッドによって共
有されるグローバルMVバッファを置き換えることで、ビデオコーダーでWPPが有効に
されている場合、CTU行の各波面が、1つの対応するWPPスレッドによって処理され
ているCTU行に対応するHMVPテーブルを格納するための自分のバッファを有するよ
うにすることが提案された。なお、各CTU行が自分のHMVPテーブルを有するとのこ
とは、CTU行の最初のCUを符号化する前にHMVPテーブルをリセットすることと同
等である。HMVPテーブルのリセットは、HMVPテーブルにおける別のCTU行の符
号化から生じたすべての動きベクトルを除去することである。一つの実施形態では、リセ
ット操作は、HMVPテーブルにおける利用可能な動きベクトル予測子のサイズをゼロに
設定することである。さらに別の実施形態では、リセット操作は、HMVPテーブルにお
けるすべてのエントリの参照索引を-1などのような無効な値に設定することであっても
よい。このように、AMVP、マージ及びスキップの3つのモードのいずれかに関わらず
、特定の波面内の現在のCTUに対するMVP候補リストの構造は、この特定の波面を処
理しているWPPスレッドに関連するHMVPテーブルに依存する。異なる波面の間では
、上述した2つのCTUの遅延以外、相互の依存性がなく、異なる波面に関連する動きベ
クトル候補リストの構造は、
図5Bに示すWPPプロセスのように並行して進めることが
できる。言い換えると、HMVPテーブルは、特定の波面の処理の開始時に、別のWPP
スレッドによる別のCTU波面の符号化に影響を与えることなく、空にリセットされる。
ある場合には、個別の各CTUを符号化する前に、HMVPテーブルが空にリセットされ
ることでもよい。この場合、HMVPテーブル内の動きベクトルは特定のCTUに限定さ
れており、HMVPテーブル内の動きベクトルが特定のCTU内の現在のCUの動きベク
トルとして選択される可能性がさらに高くなる。
【0083】
図6Aおよび6Bは、本開示のある実施形態に係る、再構成された輝度ブロック602
および関連彩度ブロック620をそれぞれ例示するブロック図である。この例では、再構
成された輝度ブロック602の輝度サンプル(例えば、輝度サンプル604)、上部隣接
輝度組606の輝度サンプル(例えば、輝度サンプル608)、および左側隣接輝度組6
10の輝度サンプル(例えば、輝度サンプル613)は、ビデオ符号化プロセス中に予測
されている。上部隣接彩度組624の彩度サンプル(例えば、彩度サンプル626)およ
び左側隣接彩度組628の彩度サンプル(例えば、彩度サンプル630)は、ビデオ符号
化プロセス中にすでに予測されたが、彩度ブロック620の彩度サンプルは予測対象とな
っている。ある実施形態では、彩度ブロック620の彩度サンプルは、再構成された輝度
ブロック602の対応するダウンサンプルされた輝度サンプルに対してクロスコンポーネ
ント線形モデル(CCLM)を適用することによって、予測されることができる。以下、
CCLMの導出および適用は、
図7A-
図7Eを参照して提供される。
【0084】
ある実施形態では、再構成された輝度ブロック602および彩度ブロック620はそれ
ぞれ、再構成されたビデオフレームの一部の異なる成分を表す。例えば、YCbCr色空
間では、画像は輝度成分(Y)、青の色差成分(Cb)および赤の色差成分(Cr)によ
って表される。再構成された輝度ブロック602は、ビデオフレームの一部の輝度成分(
すなわち、明るさ)を表し、彩度ブロック620は、このビデオフレームの同じ部分の彩
度成分(すなわち、色)を表す。再構成された輝度ブロック602の輝度サンプル(例え
ば、輝度サンプル604)は、ビデオフレームの特定のピクセルでの明るさを表す輝度値
を有し、彩度サンプル(例えば、彩度サンプル622)は、このビデオフレームの特定の
ピクセルでの色を表す彩度値を有する。
【0085】
ある実施形態では、再構成された輝度ブロック602は、2M×2Nブロックであり、
ブロック幅に亘って2Mつの輝度サンプルを有し、ブロック高さに亘って2Nつの輝度サ
ンプルを有する。MおよびNは、同じ値(例えば、再構成された輝度ブロック602が1
つの正方形のものである)または異なる値(例えば、再構成された輝度ブロック602が
1つの非正方形のものである)であり得る。
【0086】
人間の視覚系は明るさの違いよりも色の違いに敏感ではないため、彩度サブサンプリン
グは通用の圧縮技術である。結果として、再構成された輝度ブロック602および彩度ブ
ロック620は、ビデオフレームの同じ部分を表すことが可能であるが、異なる解像度で
符号化されている。例えば、ビデオフレームは、彩度サブサンプリングスキーム(例えば
、4:2:0または4:2:2)によって、輝度情報よりも低い解像度で彩度情報に関し
て符号化されたことが可能である。
図6Aおよび6Bに示すように、再構成された輝度ブ
ロック602は、2M×2Nの解像度で符号化され、彩度ブロック620は、より小さな
M×Nの解像度で符号化された。実際には、彩度ブロック620は、2M×2N(例えば
、4:4:4フルサンプリング)、2M×N(例えば、4:4:0サブサンプリング)、
M×2N(例えば、4:2:2サブサンプリング)、および1/2M×2N(例えば、4:
1:1サブサンプリング)などの他の解像度を有することが可能である。
【0087】
再構成された輝度ブロック602は、上方隣接輝度組606および左側隣接輝度組61
0に隣り合う。上方隣接輝度組および左側隣接輝度組のサイズは、明示的に通知されても
よく、または再構成された輝度ブロック602のサイズに依存してもよい。例えば、上方
隣接輝度組606は、2M個のサンプル(例えば、再構成された輝度ブロック602の幅
と同じ)または4M個のサンプル(例えば、再構成された輝度ブロック602の幅の2倍
)の幅と、2個のサンプルの高さとを有することが可能である。左側隣接輝度組610は
、2個のサンプルの幅と、2N個または4N個のサンプルの高さとを有することが可能で
ある。ある実施形態では、上方隣接輝度組606および左側隣接輝度組610は、それぞ
れ、同じビデオフレームの1つまたは複数の別のすでに再構成された輝度ブロックの一部
である。
【0088】
彩度ブロック620は、上方隣接彩度組624および左側隣接組628に隣り合う。上
方隣接彩度組624および左側隣接組628のサイズは、明示的に通知されてもよく、ま
たは彩度ブロック620のサイズに依存してもよい。例えば、上方隣接彩度組624は1
×Mのサイズを有し、左側隣接彩度組628はN×1のサイズを有することが可能である
。
【0089】
ある実施形態では、彩度値(例えば、彩度サンプル620の彩度値)は、再構成された
彩度サンプル(例えば、彩度サンプル604)の彩度値に基づいて予測されることができ
る。例えば、ビデオフレームの輝度値と対応する彩度値との間に線形または準線形の関係
があると仮定すると、ビデオコーデックはCCLMにより対応する再構成された輝度値に
基づいて彩度値を予測することができる。このように、ビデオコーデックは、彩度値の符
号化、符号化された彩度値の送信、および符号化された彩度値の復号化のための時間およ
び帯域幅の量を大幅に節約することができる。ビデオコーデックは、CCLMを使用して
輝度サンプルから彩度サンプルを予測するために、(1)彩度サンプルと輝度サンプルと
の間で線形モデルを導出し、(2)この線形モデルを予測対象の彩度サンプルに対応する
再構成された輝度サンプルに適用する。
【0090】
ある実施形態では、輝度ブロックおよび彩度ブロックが異なる解像度(例えば、彩度ブ
ロックがサブサンプリングされたものである)であるため、ビデオコーデックは、まず輝
度サンプルに対してダウンサンプリングを実行して、各彩度サンプルに唯一に対応するダ
ウンサンプリング輝度サンプルを生成する(例えば、ダウンサンプリング輝度サンプル6
05、609および612)。ある実施形態では、ビデオフレームの高さ方向および幅方
向の両方に亘って6つの再構成された隣接輝度サンプルが、ダウンサンプリング彩度サン
プルを生成するために使用される(例えば、6タップダウンサンプリングなどを含む当技
術分野で知られている加重平均化スキーム)。例えば、上方隣接輝度組における領域61
1内の6つの再構成された輝度サンプル(それぞれが図面における小さなボックスで表さ
れる)は、それらの対応する輝度値の平均化によってダウンサンプリング彩度サンプル6
09を生成するために使用され、再構成された輝度ブロック602における領域607内
の6つの再構成された輝度サンプル(それぞれが図面における小さなボックスで表される
)は、ダウンサンプリング彩度サンプル605を生成するために使用される。あるいは、
ダウンサンプリング彩度サンプルは、注目の領域で再構成された彩度サンプルを識別する
ことによって、または異なる形状の領域内の異なる数の再構成された彩度サンプルを使用
することによって生成される。
【0091】
ある実施形態では、ビデオコーデックは、この線形モデルを導出するために、ダウンサ
ンプリング輝度サンプルの最大値および最小値(例えば、それぞれ最大及び最小の輝度値
を有するダウンサンプリング輝度サンプル)及び対応する再構成された彩度サンプルを識
別し、最大および最小のデータ点(例えば、最大のデータ点は、最大の輝度値を有するダ
ウンサンプリング輝度サンプル及び対応する再構成された彩度サンプルを含み、最小のデ
ータ点は、最小の輝度値を有するダウンサンプリング輝度サンプルおよび対応する再構成
された彩度サンプルを含む)を通る線形モデル(例えば、Y= αX+β) をフィットする
ことによるMax-Min法を使用する。線形モデルが導出された後、ビデオコーデック
は、線形モデルを再構成された輝度ブロック602におけるダウンサンプリング輝度サン
プルに適用して、彩度ブロック620の対応する彩度サンプルを生成する。ビデオコーデ
ックは、以下の方法で最大および最小のデータ点を取得することができる。
【0092】
1.ある実施形態では、ビデオコーデックは、ダウンサンプリング輝度サンプル(例え
ば、上方隣接輝度組606および左側隣接輝度組610から選択された一組のダウンサン
プリング輝度サンプル)を検索して、最大のダウンサンプリング輝度サンプル及び最小の
ダウンサンプリング輝度サンプルを識別する。そして、ビデオコーデックは、
図7Aに参
照して以下に説明するように、最大および最小のダウンサンプリング輝度サンプルに対応
する以前再構成された彩度サンプル(例えば、上方隣接彩度組624および左側隣接彩度
組628における再構成された彩度サンプル)を識別する。
【0093】
2.ある実施形態では、ビデオコーデックは、選択された再構成の輝度サンプルの組に
対してダウンサンプリングを実行して最大および最小の再構成された輝度サンプルを識別
することの代わりに、再構成された輝度サンプル(例えば、上方隣接輝度組606および
左側隣接輝度組610から選択された再構成の輝度サンプルの一組)を検索して、この選
択された再構成の輝度サンプルの組において(i)最大の輝度値を有する再構成された輝
度サンプル、および(ii)最小の輝度値を有する再構成された輝度サンプルを識別する
。そして、ビデオコーデックは、この最大および最小の再構成された輝度サンプルに関連
する領域(例えば、6タップダウンサンプリングなどを含む当技術分野で知られている加
重平均化スキームを使用する6つのサンプルを有する領域)でダウンサンプリングを実行
して、最大の再構成された輝度サンプルとしてのダウンサンプリング輝度サンプル(正確
に最大のダウンサンプリング輝度サンプルである場合もそうでない場合もある)および最
小の再構成された輝度サンプルとしてのダウンサンプリング輝度サンプル(正確に最小の
ダウンサンプリング輝度サンプルである場合もそうでない場合もある)を生成する。そし
て、ビデオコーデックは、
図7Bに参照して以下に説明されるように、(例えば、上方隣
接彩度組624および左側隣接彩度組628において)最大の再構成された輝度サンプル
として識別されたダウンサンプリング輝度サンプルに対応する再構成された彩度サンプル
、および最小の再構成された輝度サンプルとして識別されたダウンサンプリング輝度サン
プルに対応する再構成された彩度サンプルを識別する。
【0094】
3.ある実施形態では、ビデオコーデックは、1組の再構成された彩度サンプル(例え
ば、上方隣接彩度組624および左側隣接彩度組628から選択された彩度サンプル)を
検索して、最大および最小の再構成された彩度サンプル(例えば、それぞれ最大及び最小
の彩度値を有する彩度サンプル)を識別する。そして、ビデオコーデックは、
図7Cを参
照して以下に説明するように、最大および最小の再構成された彩度サンプルに対応するダ
ウンサンプリング輝度サンプル(例えば、上方隣接輝度組606および左側隣接輝度組6
10におけるダウンサンプリング輝度サンプル)を識別する。
【0095】
4.ある実施形態では、ビデオコーデックは、ダウンサンプリング輝度サンプル(例え
ば、上方隣接輝度組606および左側隣接輝度組610から選択されたダウンサンプリン
グ輝度サンプルの組)を検索して、最大の輝度値を有する予め定められた数(例えば、2
つ)のダウンサンプリング輝度サンプル、および最小の輝度値を有する予め定められた数
(例えば、2つ)のダウンサンプリング輝度サンプルを識別する。そして、ビデオコーデ
ックは、上方隣接彩度組624および左側隣接彩度組628の中の再構成された彩度サン
プルを識別する。なお、上方隣接彩度組624および左側隣接彩度組628の中のそれぞ
れは、最大のダウンサンプリング輝度サンプルの組および最小のダウンサンプリング輝度
サンプルの組の中の一つに対応する。そして、ビデオコーデックは、
図7Dおよび
図7E
を参照して以下に説明するように、識別された再構成の彩度サンプルの組および輝度サン
プルの組のそれぞれの中の値(例えば、彩度または輝度の値)に対して加重平均化を実行
して最大平均化彩度値、最小平均化彩度値、最大平均化ダウンサンプリング輝度値(例え
ば、最大のダウンサンプリング輝度サンプルの組から生成)、および最小の平均化ダウン
サンプリング輝度値(例えば、最小のダウンサンプリング輝度サンプルの組から生成)を
生成する。
【0096】
図7A~7Eは、本開示のある実施形態に係る、CCMLを使用して輝度値と彩度値と
の間で線形モデルを導出する各種のアプローチを示している。特に、プロット上の各円デ
ータ点(例えば、点702a)は、横軸上の再構成された彩度サンプルと、縦軸上の対応
する再構成された輝度サンプルとのペアを表す。例えば、再構成された輝度サンプルを部
分的に使用して(例えば、当技術分野で知られている6タップダウンサンプリングなどを
含む加重平均化スキームを使用して)生成されたダウンサンプリング輝度サンプルが再構
成の彩度サンプルに対応されば、再構成の彩度サンプルは再構成の輝度サンプルに対応す
る。プロット上の各正方形のデータ点(たとえば、点702b)は、横軸上の再構成の彩
度サンプルと、縦軸上の対応するダウンサンプリング輝度サンプルとのペアを表す。ある
実施形態では、ダウンサンプリング輝度サンプルが複数の再構成の輝度サンプルを使用し
て(例えば、当技術分野で知られている6タップダウンサンプリングなどを含む加重平均
化スキームを使用して)生成されるので、正方形のデータ点が複数の円のデータ点に関連
している。点線の長方形(例えば、点線の長方形703)は、囲まれた正方形のデータ点
と円データ点が関連している(例えば、正方形のデータ点に対応するダウンサンプリング
輝度サンプルは、円のデータ点に対応している再構成の輝度サンプルから生成された)こ
とを示す。説明の便利上、点線の長方形の内に1つの正方形のデータ点及び1つの円のデ
ータ点のみを示しているが、実際には、各点線の長方形に複数の円のデータ点及び1つの
正方形のデータ点を含み得ることができる。
【0097】
ある実施形態では、ビデオコーデックは、ダウンサンプリング輝度サンプル(例えば、
図6Aのダウンサンプリング輝度サンプル609および612)を検索して、最大および
最小の輝度値を有するダウンサンプリング輝度サンプル及び対応する再構成の彩度サンプ
ルを識別して、線形モデルを導出する。例えば、
図7Aでは、正方形のデータ点702b
は、選択されたダウンサンプリング輝度サンプルの組における最小の輝度値を有するダウ
ンサンプリング輝度サンプルおよび対応する再構成の彩度サンプルを表し、正方形のデー
タ点704bは、最大の輝度値を有するダウンサンプリング輝度サンプル及び対応する再
構成の彩度サンプルを表している。結果として、点702b及び点704bを通った線フ
ィッティングは、ダウンサンプリング輝度サンプル(例えば、
図6Aにおける輝度ブロッ
ク602のダウンサンプリング輝度サンプル605)から彩度サンプル(例えば、
図6B
における彩度ブロック620の彩度サンプル622)を予測するための線形モデルを表す
。
【0098】
Max-Min法ではダウンサンプリング輝度サンプルのほとんどがよく使われないた
め、ダウンサンプリング輝度サンプルの生成の算出量は非常に大きい。ある実施形態では
、ビデオコーデックは、すべての輝度サンプルに対してダウンサンプリングを実行する代
わりに、再構成された輝度サンプル(例えば、
図6Aの再構成された輝度サンプル608
および613)を直接検索して、最大および最小の輝度値を有する再構成の輝度サンプル
を識別する。
図7Bに示すように、円のデータ点702aは、最小の輝度値を有する再構
成された輝度サンプルおよび対応する再構成された彩度サンプルを表し、円のデータ点7
06aは、最大の輝度値を有する再構成された輝度サンプルおよび対応する再構成の彩度
サンプルを表す。ビデオコーデックは、最小および最大の再構成された輝度サンプル(円
のデータ点702aおよび706a)を識別した後、(例えば、6タップダウンサンプリ
ングなどを含む当技術分野で知られている加重平均化スキームを使用して)最小および最
大の再構成された輝度サンプルを含む領域でダウンサンプリングを実行して、対応する準
最小および準最大のダウンサンプリング輝度サンプル(
図7Bにおける正方形の点702
bおよび706bによって表され、
図7Aにおいて正方形の点702bおよび706bと
同じである場合もそうでない場合もある)を生成する。
図7Bにおける正方形の点702
bおよび706bを通った線フィッティングは、再構成された輝度サンプルから彩度サン
プルを予測する線形モデルを表す。
図7Aで使用された方法と比較すると、2つのダウン
サンプリング操作のみが実行された。識別された最小のダウンサンプリング輝度サンプル
は、
図7Aで使用されたものと同じ、一方、最大のダウンサンプリング輝度サンプルは、
図7Aで使用されたものとは異なる。
【0099】
ある実施形態では、ビデオコーデックは、最大及び最小の輝度値を有する再構成された
輝度サンプルを使用して線形モデルを生成し、ダウンサンプリングの実行を放棄する。図
7Cにおいて、線形モデルは、再構成された輝度サンプルに対してダウンサンプリングを
実行せず、円のデータ点702aおよび706aを通る線を直接フィッティングすること
によって生成される。
【0100】
ある実施形態では、ビデオコーデックは、最大および最小の輝度値を有するダウンサン
プリング輝度サンプル(または再構成された輝度サンプル)を検索する代わりに、まず、
最大および最小の彩度値を有する再構成された彩度値を検索する。最大および最小の再構
成された彩度サンプルが識別された後、ビデオコーデックは、対応するダウンサンプリン
グ輝度サンプルを算出して、線形モデルを生成する。
図7Dでは、円のデータ点708a
は、最小の彩度値を有する再構成された彩度サンプルを表し、円のデータ点704aは、
最大の彩度値を有する再構成された彩度サンプルを表す。そして、ビデオコーデックは、
正方形のデータ点708b(円のデータ点708aから再構成された輝度サンプルを部分
的に使用して生成されたダウンサンプリング輝度サンプルを表す)および正方形のデータ
点704b(円のデータ点704aから再構成された輝度サンプルを部分的に使用して生
成されたダウンサンプリング輝度サンプルを表す)を通ってフィッティングする線形モデ
ルを生成する。
【0101】
ある実施形態では、ビデオコーデックは、最大の輝度値を有する複数(例えば、2つ)
のダウンサンプリング輝度サンプル、および最小の輝度値を有する複数(例えば、2つ)
のダウンサンプリング輝度サンプルを選択する。そして、ビデオコーデックは、対応する
最大の再構成された彩度サンプルの組及び最小の再構成された彩度サンプルの組を検索す
る。ビデオコーデックは、各組内で平均化演算を実行し、平均化された輝度値及び彩度値
を使用して線形モデルを生成する。
図7Eでは、最大の2つのダウンサンプリング輝度サ
ンプル(正方形のデータ点710bおよび704b)および最小の2つのダウンサンプリ
ング輝度サンプル(正方形のデータ点708bおよび正方形のデータ点702b)を使用
して線形モデルを生成する。
【0102】
図8は、ビデオコーデックが、クロスコンポーネント線形モデルを使用して、輝度ブロ
ックから再構成された輝度サンプルに基づいて彩度ブロックの彩度サンプルを再構成する
技術を実現するプロセス700を例示するフローチャートである。プロセス700は、復
号化プロセスにも符号化プロセスにも実施されることができる。
【0103】
第1のステップとして、ビデオコーデックは、彩度ブロックに対応する輝度ブロックを
再構成する(810)。彩度ブロック(例えば、
図6Bの彩度ブロック620)は、その
後、再構成された輝度ブロックから再構成され、この再構成された輝度ブロック(例えば
、
図6Aの再構成された輝度ブロック602)の解像度とは異なる解像度が有することが
可能である。この輝度ブロックと彩度ブロックビとは、デオフレームの同じ部分の異なる
成分(例えば、それぞれ明るさ成分及び色成分)を表すため、対応するものである。ある
実施形態では、輝度ブロックは、複数の、以前に再構成された隣接輝度サンプル(例えば
、
図6Aの上方隣接輝度組606および左側隣接輝度組610における再構成された輝度
サンプル)に隣り合い、彩度ブロックは、複数の、以前に再構成された隣接彩度サンプル
(例えば、
図6Aの上方隣接彩度組624および左側隣接彩度組628における再構成さ
れた彩度サンプル)に隣り合う。なお、本願における「「隣り合う」という用語は、隣接
に限定されず、符号化ブロックが輝度/彩度サンプルに隣接しない状況もカバーする。あ
る実施形態では、ビデオコーデックは、クロスコンポーネント線形モデルを導出してこの
モデルを再構成された輝度サンプル(または輝度ブロック内のダウンサンプリング再構成
された輝度サンプル)に適用することによって、彩度ブロック内の彩度サンプルを予測す
る。
【0104】
次に、ビデオコーデックは、複数の再構成された隣接輝度サンプルのサブ組を予め定め
られた順で検索して、少なくとも1つの最大または準最大の輝度サンプルおよび少なくと
も1つの最小または準最大の輝度サンプルを識別する(820)。ある実施形態では、こ
の複数の再構成された隣接輝度サンプルのサブ組は、複数の再構成された隣接輝度サンプ
ルのすべてをカバーする。例えば、ビデオコーデックは、隣接輝度サンプルのうちのすべ
ての輝度サンプル、または最大予め定められた数の隣接輝度サンプルを検索してもよい。
ある実施形態では、ビデオコーデックは、ラスター走査順に従って、左から右へ、上から
下へ、またはこれらの順序の任意の組み合わせで、隣接輝度サンプルを検索する。ある実
施形態では、隣接輝度サンプルには、空間的に輝度ブロックの上方にあるそれらのサンプ
ル(例えば、上方隣接彩度組624)および輝度ブロックの左側にあるそれらのサンプル
(例えば、左側隣接彩度組610)を含む。ビデオコーデックは、上方隣接彩度サンプル
または左側隣接彩度サンプルのみを検索してもよい。
【0105】
最大および最小の輝度サンプルが識別された後、ビデオコーデックは、識別された最大
および最小の輝度サンプルにそれぞれ対応する少なくとも1つのダウンサンプリング最大
輝度サンプルおよび少なくとも1つのダウンサンプリング最小輝度サンプルを算出する(
830および840)。例えば、ビデオコーデックは、6タップダウンサンプリング技術
を使用して、6つの隣り合う再構成された輝度サンプル(例えば、3×2形態または2×
3形態で配置する)からダウンサンプリング輝度サンプル(例えば、加重平均化により)
を生成することが可能である。このダウンサンプリング最大輝度サンプルおよびダウンサ
ンプリング最小輝度サンプルは、それぞれ、各再構成された彩度サンプルに対応する(例
えば、第1の再構成された隣接彩度サンプルおよび第2の再構成された隣接彩度サンプル
)。例えば、この第1の再構成された隣接彩度サンプルおよび第2の再構成された隣接彩
度サンプルは、この複数の再構成された隣接彩度サンプルのものであり得る。
【0106】
ある実装形態では、上述した操作820、830、および840は、異なる順で再配置
される。例えば、ビデオコーデックは、まず、複数の再構成された隣接輝度サンプルから
1つまたは複数のダウンサンプリング輝度サンプルを算出し、次に、この1つまたは複数
の算出されたダウンサンプリング輝度サンプルのサブ組で検索して、少なくとも1つのダ
ウンサンプリング最大輝度サンプル及び少なくとも1つのダウンサンプリング最小輝度サ
ンプルをそれぞれ識別する。このダウンサンプリング最大輝度サンプルは、第1の再構成
された彩度サンプルに対応するように選択され、ダウンサンプリング最小輝度サンプルは
、第2の再構成された彩度サンプルに対応するように選択された。
【0107】
次に、ビデオコーデックは、ダウンサンプリング最大輝度サンプルと第1の再構成され
た隣接彩度サンプルとの第1のペア、及びダウンサンプリング最小輝度サンプルと第2の
再構成された隣接彩度サンプルとの第2のペアを使用して線形モデルを生成する(850
)。ある実施形態では、ビデオコーデックは、2つのデータ点(例えば、(第1の再構成
された隣接彩度サンプル、ダウンサンプリング最大輝度サンプル)および(第2の再構成
された隣接彩度サンプル、ダウンサンプリング最小輝度サンプル))を識別し、この2つ
のデータ点を通った線形方程式をフィットすることによって、最大-最小法により線形モ
デルを生成する。
【0108】
ビデオコーデックは、線形モデルを取得した後、再構成された輝度ブロックの輝度サン
プルからダウンサンプリング輝度サンプルを算出する(860)。各ダウンサンプリング
輝度サンプルは、彩度ブロックの彩度サンプルに対応する。例えば、ビデオコーデックは
、ダウンサンプリング最大輝度サンプルおよびダウンサンプリング最小輝度サンプルの算
出に使用されるダウンサンプリング技術と同じものを使用して、ダウンサンプリング輝度
サンプルを算出することが可能である。
【0109】
最後に、ビデオコーデックは、この線形モデルを対応するダウンサンプリング輝度サン
プルに適用することによって、彩度ブロック内の彩度サンプルを予測する(870)。
【0110】
1つまたは複数の例では、上述した機能は、ハードウェア、ソフトウェア、ファームウ
ェア、またはそれらの任意の組み合わせで実現される。ソフトウェアで実現される場合、
それらの機能は、1つまたは複数の命令またはコードとして、コンピュータ読取可能な媒
体に格納されまたはこれを介して送信され、ハードウェアベースの処理ユニットによって
実行される。コンピュータ読取可能な媒体は、データ記憶媒体などの有形媒体に対応する
コンピュータ読取可能な記憶媒体、または、例えば、通信プロトコルに従って、ある箇所
から別の箇所へのコンピュータプログラムの転送を役立つ任意の媒体を含む通信媒体を含
み得る。これにより、コンピュータ読取可能な媒体は、一般的に、(1)非一時的な有形
のコンピュータ読取可能な記憶媒体、または(2)信号または搬送波などの通信媒体、に
対応し得る。データ記憶媒体は、本願で説明された実施形態の実現のための命令、コード
、および/またはデータ構造を検索するために、1つまたは複数のコンピュータまたは1
つまたは複数のプロセッサによってアクセスできる任意の利用可能な媒体であり得る。コ
ンピュータプログラム製品は、コンピュータ読取可能な媒体を含み得る。
【0111】
ここでの実施形態の説明で使用される用語は、特定の実施形態を説明することのみを目
的としており、特許請求の範囲を限定することを意図するものではない。実施形態の説明
および添付の特許請求の範囲で使用されるように、単数形「一」、「1つの」、および「
この」は、文脈が明確に別段の指示をしない限り、複数形も含むことを意図している。こ
こで使用される「および/または」という用語は、1つまたは複数の関する、リストされ
た項目の任意な及びすべての可能な組み合わせを指しかつ含むことも理解されべきである
。本明細書で使用された「含む」という用語は、記載された特徴、要素、および/または
成分の存在を指定するが、1つまたは複数の他の機能、要素、成分、および/またはそれ
らの組の存在または追加を排除するものではないことがさらに理解されべきである。
【0112】
ここでは、第1、第2などの用語を使用して各種の要素を説明したことが、これらの要
素はこれらの用語によって限定されべきではないことも理解されべきである。これらの用
語は、ある要素を別の要素と区別するためにのみ使用された。例えば、実施形態の範囲か
ら逸脱することなく、第1の電極は、第2の電極と呼ばれ得、同様に、第2の電極は、第
1の電極と呼ばれ得る。第1の電極と第2の電極は両方とも電極であるが、それらは同じ
電極ではない。
【0113】
本願の説明は、例示および説明の便利のためで提示されており、網羅的なまたは開示さ
れた形態の発明に限定することを意図するものではない。各種の変更、変形、および置換
した実現は、前述の説明および関連する図面に提示された教示を得った当業者にとっては
明らかである。実施形態は、本発明の原理、実際の適用を最もよく説明し、当業者が各種
の実施のために本発明を理解し、特定の用途に適するために各種の変更で基礎となる原理
および各種の実施を最もよく利用できるようにするために選択されおよび説明されたもの
である。したがって、特許請求の範囲は、開示された実現の特定の例に限定されなく、変
更および他の実現も、添付の特許請求の範囲に含まれることを理解されるべきである。