IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7250819予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術
<>
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図1
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図2
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図3
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図4
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図5
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図6
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図7
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図8
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図9
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図10
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図11
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図12
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図13
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図14
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図15
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図16
  • 特許-予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-24
(45)【発行日】2023-04-03
(54)【発明の名称】予測オフセットを用いて簡易アフィン動きモデルの符号化及び復号のための技術
(51)【国際特許分類】
   H04N 19/105 20140101AFI20230327BHJP
   H04N 19/54 20140101ALI20230327BHJP
   H04N 19/176 20140101ALI20230327BHJP
   H04N 19/46 20140101ALI20230327BHJP
【FI】
H04N19/105
H04N19/54
H04N19/176
H04N19/46
【請求項の数】 16
(21)【出願番号】P 2020561045
(86)(22)【出願日】2019-09-10
(65)【公表番号】
(43)【公表日】2021-08-19
(86)【国際出願番号】 US2019050428
(87)【国際公開番号】W WO2020060803
(87)【国際公開日】2020-03-26
【審査請求日】2020-10-30
(31)【優先権主張番号】62/734,998
(32)【優先日】2018-09-21
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/398,308
(32)【優先日】2019-04-30
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リ,グォイチュン
(72)【発明者】
【氏名】シュイ,シアオジョォン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】清山 昂平
(56)【参考文献】
【文献】特表2021-520172(JP,A)
【文献】Guichun Li, et al.,CE4-related: affine merge mode with prediction offsets,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0320,2018年10月07日
【文献】High efficiency video coding,Recommendation ITU-T H.265,(12/2016),2016年12月,pp.55, 107
【文献】Seungsoo Jeong, et al.,CE4 Ultimate motion vector expression in J0024 (Test 4.2.9) ,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0115-v1,2018年07月03日
【文献】Hirohisa Jozawa et al.,Video coding using adaptive global MC and local affine MC,1996 8th European Signal Processing Conference (EUSIPCO 1996),1996年09月10日
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
(57)【特許請求の範囲】
【請求項1】
デコーダが実行する動画の復号方法であって、
符号化ビデオビットストリームから、現在ピクチャの中のブロックの予測情報を復号するステップであって、前記予測情報は、インター予測モードにおけるアフィンモデルに関連付けられた予測オフセットの複数のオフセットインデックスを含む、ステップと、
前記複数のオフセットインデックスに基づき、前記アフィンモデルのパラメータを決定するステップであって、前記複数のオフセットインデックスの各々が、複数のインデックスと複数の対応オフセット値とを含むそれぞれの所定のマッピングテーブルを含み、前記アフィンモデルのパラメータが、前記ブロックと再構成された参照ピクチャ内の参照ブロックとの間で変換するために使用される、ステップと、
前記アフィンモデルに従い前記ブロックの少なくとも1つのサンプルを再構成するステップと、
を含み、
前記複数のオフセットインデックスは、少なくとも距離オフセットインデックス及びオフセット方向インデックスを含み、
当該方法は更に、
1つより多くの予測子候補が使用される場合に、シグナリングされた基本予測子インデックスに基づき、前記1つより多くの予測子候補を含む予測子候補リストから前記ブロックの基本予測子を決定するステップであって、前記ブロックは2つ以上の制御点を含む、ステップと、
その他の場合に、所定の基本予測子インデックスに基づき、前記ブロックの基本予測子を決定するステップと、
を含み、
当該方法は更に、
前記距離オフセットインデックスの前記それぞれの所定のマッピングテーブルに基づき距離オフセット値を決定するために、前記距離オフセットインデックスを復号するステップと、
前記オフセット方向インデックスの前記それぞれの所定のマッピングテーブルに基づきオフセット方向を決定するために、前記オフセット方向インデックスを復号するステップと、
前記基本予測子、前記距離オフセット値、及び前記オフセット方向のうちの少なくとも1つに基づき、前記現在ピクチャの中の前記ブロックの前記2つ以上の制御点のうちの1つの動きベクトルを導出するステップと、
を含む、
方法。
【請求項2】
前記複数のオフセットインデックスは更に、デルタスケーリングインデックス、及びデルタ回転インデックスを含む、請求項1に記載の方法。
【請求項3】
前記導出するステップは、
ゼロ動きベクトル差フラグが真であるという決定に基づき、前記基本予測子の制御点の動きベクトルを、前記現在ピクチャの中の前記ブロックの前記2つ以上の制御点のうちの前記1つの動きベクトルとして設定するステップを更に含む、請求項に記載の方法。
【請求項4】
前記導出するステップは、
ゼロ動きベクトル差フラグが偽であるという決定に基づき、前記現在ピクチャの中の前記ブロックの前記2つ以上の制御点のうちの前記1つの前記動きベクトルを生成するために、前記基本予測子の制御点の動きベクトルに、前記距離オフセット値及び前記オフセット方向から得られる動きベクトル差を適用するステップを更に含む、請求項に記載の方法。
【請求項5】
前記導出するステップは、
第1ゼロ動きベクトル差フラグが偽であるという決定に基づき、前記現在ピクチャの中の前記ブロックの前記2つ以上の制御点のうちの前記1つの第1インター予測方向についての、第1動きベクトルを生成するために、前記基本予測子の制御点の前記第1インター予測方向についての、第1動きベクトルに、第1距離オフセット値及び第1オフセット方向から得られる動きベクトル差を適用するステップと、
第2ゼロ動きベクトル差フラグが偽であるという決定に基づき、前記現在ピクチャの中の前記ブロックの前記2つ以上の制御点のうちの前記1つの第2インター予測方向についての、第2動きベクトルを生成するために、前記基本予測子の前記制御点の前記第2インター予測方向についての、第2動きベクトルに、第2距離オフセット値及び第2オフセット方向から得られる動きベクトル差を適用するステップと、
を更に含む、請求項に記載の方法。
【請求項6】
前記所定のマッピングテーブルは、調整可能であり、シーケンスレベル、スライスレベル、タイルレベル、タイルグループレベル、及びブロックレベル、のうちの1つで受信される、請求項1乃至のいずれか一項に記載の方法。
【請求項7】
当該方法は更に、
前記デルタスケーリングインデックスの前記それぞれの所定のマッピングテーブルに基づき、デルタスケーリングパラメータを決定するために、前記デルタスケーリングインデックスを復号するステップと、
前記デルタ回転インデックスの前記それぞれの所定のマッピングテーブルに基づき、デルタ回転パラメータを決定するために、前記デルタ回転インデックスを復号するステップと
を含み、
前記導出するステップは、前記デルタスケーリングパラメータ及び前記デルタ回転パラメータのうちの少なくとも1つに更に基づき、前記現在ピクチャの中の前記ブロックの前記2つ以上の制御点のうちの前記1つの前記動きベクトルを導出する、
求項2に記載の方法。
【請求項8】
前記導出するステップは、
ゼロデルタフラグが真であるという決定に基づき、前記基本予測子のスケーリングパラメータを前記現在ピクチャの中の前記ブロックのスケーリングパラメータとして設定するステップと、
前記ゼロデルタフラグが偽であるという決定に基づき、前記ブロックの前記スケーリングパラメータを生成するために、前記デルタスケーリングパラメータを前記基本予測子の前記スケーリングパラメータに適用するステップと、
を更に含む、請求項に記載の方法。
【請求項9】
前記導出するステップは、
ゼロデルタフラグが真であるという決定に基づき、前記基本予測子の回転パラメータを前記ブロックの回転パラメータとして設定するステップと、
前記ゼロデルタフラグが偽であるという決定に基づき、前記現在ピクチャの中の前記ブロックの前記回転パラメータを生成するために、前記デルタ回転パラメータを前記基本予測子の前記回転パラメータに適用するステップと、
を更に含む、請求項に記載の方法。
【請求項10】
前記導出するステップは、
ゼロ動きベクトル差フラグが真であるという決定に基づき、前記基本予測子の平行移動動きベクトルを前記ブロックの平行移動動きベクトルとして設定するステップと、
前記ゼロ動きベクトル差フラグが偽であるという決定に基づき、前記ブロックの前記平行移動動きベクトルを生成するために、前記基本予測子の前記平行移動動きベクトルに前記距離オフセット値及び前記オフセット方向を適用するステップと、
を更に含む、請求項に記載の方法。
【請求項11】
動画を復号する機器であって、
処理回路であって、
符号化ビデオビットストリームから、現在ピクチャの中のブロックの予測情報を復号し、前記予測情報は、インター予測モードにおけるアフィンモデルに関連付けられた予測オフセットの複数のオフセットインデックスを含み、
前記複数のオフセットインデックスに基づき、前記アフィンモデルのパラメータを決定し、前記複数のオフセットインデックスの各々が、複数のインデックスと対応する複数のオフセット値とを含むそれぞれの所定のマッピングテーブルを含み、前記アフィンモデルのパラメータが、前記ブロックと再構成された参照ピクチャ内の参照ブロックとの間で変換するために使用され、
前記アフィンモデルに従い前記ブロックの少なくとも1つのサンプルを再構成する
よう構成される処理回路、を含み、
前記複数のオフセットインデックスは、少なくとも距離オフセットインデックス及びオフセット方向インデックスを含み、
前記処理回路は更に、
1つより多くの予測子候補が使用される場合に、シグナリングされた基本予測子インデックスに基づき、前記1つより多くの予測子候補を含む予測子候補リストから前記ブロックの基本予測子を決定し、前記ブロックは2つ以上の制御点を含み
その他の場合に、所定の基本予測子インデックスに基づき、前記ブロックの基本予測子を決定する、
よう構成され
前記処理回路は更に、
前記距離オフセットインデックスの前記それぞれの所定のマッピングテーブルに基づき距離オフセット値を決定するために、前記距離オフセットインデックスを復号し、
前記オフセット方向インデックスの前記それぞれの所定のマッピングテーブルに基づきオフセット方向を決定するために、前記オフセット方向インデックスを復号し、
前記基本予測子、前記距離オフセット値、及び前記オフセット方向のうちの少なくとも1つに基づき、前記現在ピクチャの中の前記ブロックの前記2つ以上の制御点のうちの1つの動きベクトルを導出する、
よう構成される、
機器。
【請求項12】
前記処理回路は、
ゼロ動きベクトル差フラグが真であるという決定に基づき、前記基本予測子の制御点の動きベクトルを、前記現在ピクチャの中の前記ブロックの前記2つ以上の制御点のうちの前記1つの動きベクトルとして設定するよう構成される、請求項11に記載の機器。
【請求項13】
前記処理回路は、
ゼロ動きベクトル差フラグが偽であるという決定に基づき、前記現在ピクチャの中の前記ブロックの前記2つ以上の制御点のうちの前記1つの前記動きベクトルを生成するために、前記基本予測子の制御点の動きベクトルに、前記距離オフセット値及び前記オフセット方向から得られる動きベクトル差を適用するよう構成される、請求項11に記載の機器。
【請求項14】
前記処理回路は、
第1ゼロ動きベクトル差フラグが偽であるという決定に基づき、前記現在ピクチャの中の前記ブロックの前記2つ以上の制御点のうちの前記1つの第1インター予測方向についての、第1動きベクトルを生成するために、前記基本予測子の制御点の前記第1インター予測方向についての、第1動きベクトルに、第1距離オフセット値及び第1オフセット方向から得られる動きベクトル差を適用し、
第2ゼロ動きベクトル差フラグが偽であるという決定に基づき、前記現在ピクチャの中の前記ブロックの前記2つ以上の制御点のうちの前記1つの第2インター予測方向についての、第2動きベクトルを生成するために、前記基本予測子の前記制御点の前記第2インター予測方向についての、第2動きベクトルに、第2距離オフセット値及び第2オフセット方向から得られる動きベクトル差を適用する、
よう構成される、請求項11に記載の機器。
【請求項15】
前記複数のオフセットインデックスは更に、デルタスケーリングインデックス及びデルタ回転インデックスを含み、
前記処理回路は更に
前記デルタスケーリングインデックスの前記それぞれの所定のマッピングテーブルに基づき、デルタスケーリングパラメータを決定するために、前記デルタスケーリングインデックスを復号し、
前記デルタ回転インデックスの前記それぞれの所定のマッピングテーブルに基づき、デルタ回転パラメータを決定するために、前記デルタ回転インデックスを復号し
記デルタスケーリングパラメータ及び前記デルタ回転パラメータのうちの少なくとも1つに更に基づき、前記現在ピクチャの中の前記ブロックの前記2つ以上の制御点のうちの前記1つの前記動きベクトルを導出する、
よう構成される、
請求項11に記載の機器。
【請求項16】
コンピュータに、請求項1乃至10の何れか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本願は、米国仮出願番号第62/734,998号、「TECHNIQUES FOR SIMPLIFIED AFFINE MOTION MODEL CODING WITH PREDICTION OFFSETS」、2018年9月21日出願、の終戦県の利益を主張する、米国特許出願番号第16/398,308号、「TECHNIQUES FOR SIMPLIFIED AFFINE MOTION MODEL CODING WITH PREDICTION OFFSETS」、2019年4月30日出願、の優先権の利益を主張する。これらの出願の全体の内容は、参照によりここに組み込まれる。
【0002】
[技術分野]
本開示は、概して、ビデオ符号化及び復号に関連する実施形態を記載する。
【背景技術】
【0003】
ここに提供される背景の説明は、本開示のコンテキストの概要を提示するためである。現在名前の挙げられた発明者の研究は、この背景の章に記載された研究の範囲で、出願時に従来技術として見なされない可能性のある記載の態様と同様に、本開示に対する従来技術として明示的に又は暗示的にも認められるものではない。
【0004】
ビデオ符号化及び復号は、動き補償を伴うインターピクチャ予測を用いて実行できる。非圧縮デジタルビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば1920×1080個のルミナンスサンプル及び関連するクロミナンスサンプルの空間次元を有する。一連のピクチャは、例えば毎秒60ピクチャ又は60Hzの固定又は可変ピクチャレート(略式にフレームレートとしても知られている)を有し得る。非圧縮ビデオは、かなりのビットレート要件を有する。例えば、8ビット/サンプルの1080p60 4:2:0ビデオ(60Hzフレームレートで1920×1080ルミナンスサンプル解像度)は、1.5Gbit/sの帯域幅を必要とする。1時間のこのようなビデオは600Gbyteより多くの記憶空間を必要とする。
【0005】
ビデオ符号化及び復号の1つの目的は、圧縮を通じて、入力ビデオ信号の中の冗長性の削減であり得る。圧縮は、幾つかの場合には大きさで2桁以上も、前述の帯域幅又は記憶空間要件を軽減するのを助けることができる。損失又は無損失圧縮の両方、及びそれらの組み合わせが利用できる。無損失圧縮は、元の信号の正確なコピーが圧縮された元の信号から再構成可能である技術を表す。損失圧縮を用いると、再構成された信号は、元の信号と同一ではないが、元の信号と再構成された信号との間の歪みは、意図されるアプリケーションのために有用な再構成された信号を生成するのに十分に小さい。ビデオの場合には、損失圧縮が広く利用される。耐えうる歪みの量は、アプリケーションに依存し、特定の消費者ストリーミングアプリケーションのユーザは、テレビジョン配信アプリケーションのユーザよりも高に歪みに耐え得る。達成可能な圧縮比は、許容可能/耐性のある歪みが高いほど、高い圧縮比を生じ得ることを反映できる。
【0006】
動き補償は、損失圧縮技術であり、前に再構成されたピクチャ又はその部分(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以後、MV)により示される方向に空間的にシフトされた後に、新しく再構成されたピクチャ又はピクチャ部分の予測のために使用される技術に関連し得る。幾つかの場合には、参照ピクチャは、現在再構成中のピクチャと同じであり得る。MVは、2つの次元X及びY、又は第3の次元が使用中の参照ピクチャの指示である3つの次元を有することができる(後者は、間接的に時間次元であり得る)。
【0007】
幾つかのビデオ圧縮技術では、サンプルデータの特定領域に適用可能なMVは他のMVから、例えば再構成中の領域に空間的に隣接するサンプルデータの別の領域に関連し且つ復号順序の中で当該MVに先行するMVから、予測できる。そうすることは、MVを符号化するために必要なデータ量を有意に削減でき、それにより、冗長性を除去し圧縮を向上する。MV予測は、例えばカメラから得られた入力ビデオ信号(自然なビデオ(natural video)として知られる)を符号化するとき、単一のMVが適用可能な領域より大きな領域が同様の方向に動き、したがって、幾つかの場合には近隣領域のMVから導出した同様の動きベクトルを用いて予測可能である、統計的可能性がある。これは、周囲のMVから予測したMVと同様の又は同じ、所与の領域について見付かったMVをもたらす。また、これは、エントロピー符号化の後に、MVを直接符号化する場合に使用され得るより少ない数のビットで提示され得る。幾つかの場合には、MV予測は、元の信号(つまり、サンプルストリーム)から得た信号(つまり、MV)の無損失圧縮の一例であり得る。他の場合には、MV予測自体は、例えば幾つかの周囲のMVから予測子を計算するとき、丸め込み誤差のために損失になり得る。
【0008】
種々のMV予測メカニズムは、H.265/HEVC(ITU-T Rec. H.265, "High Efficiency Video Coding", December 2016)に記載されている。ここに記載される、H.265の提供する多くのMV予測メカニズムのうちの1つは、以下で、「空間融合(spatial merge)」と呼ばれる技術である。
【0009】
図1を参照すると、現在ブロック(101)は、動き探索処理の間に、空間的にシフトされた同じサイズの前のブロックから予測可能であるとしてエンコーダにより見付けられたサンプルを含む。MVを直接符号化する代わりに、MVは、1つ以上の参照ピクチャに関連付けられたメタデータから、例えば(復号順で)最近の参照ピクチャから、A0、A1、及びB0、B1、B2(それぞれ102~106)と示される5個の周囲のサンプルのうちのいずれか1つに関連付けられたMVを用いて導出できる。H.265では、MV予測は、近隣ブロックの使用する同じ参照ピクチャからの予測子を使用できる。
【発明の概要】
【0010】
開示の態様は、ビデオ符号化・復号のための方法及び機器を提供する。幾つかの例では、ビデオ復号のための機器は、受信回路と処理回路とを含む。
【0011】
本開示の一態様によると、デコーダにおけるビデオ復号のための方法が提供される。開示の方法では、ブロックの予測情報は、符号化ビデオビットストリームからの現在ピクチャの中で復号される。予測情報は、インター予測モードにおける」アフィンモデルに関連付けられた予測オフセットの複数のオフセットインデックスを含む。したがって、アフィンモデルのパラメータは、複数のオフセットインデックスに基づき決定される。複数のオフセットインデックスの各々は、インデックスと対応するオフセット値とを含むそれぞれの所定のマッピングテーブルを含む。アフィンモデルのパラメータは、ブロックと再構成された参照ピクチャの中の参照ブロックとの間で変換するために使用される。さらに、ブロックの少なくとも1つのサンプルは、アフィンモデルに従い再構成される。
【0012】
幾つかの実施形態では、複数のオフセットインデックスは、距離オフセットインデックス、オフセット方向インデックス、デルタスケーリングインデックス、及びデルタ回転インデックス、のうちの少なくとも1つを含む。
【0013】
幾つかの実施形態では、ブロックの基本予測子は、シグナリングされた基本予測子インデックスに基づき、予測子候補リストから決定される。ブロックは、2つ以上の制御点を含み、予測子候補リストは1つより多くの予測候補を含む。幾つかの実施形態では、ブロックの基本予測子がシグナリングされないとき、所定の基本予測子インデックスに基づき、ブロックの基本予測子が決定される。
【0014】
幾つかの実施形態では、距離オフセットインデックスのそれぞれの所定のマッピングテーブルに基づき、距離オフセット値を決定するために、距離オフセットインデックスが復号される。オフセット方向インデックスのそれぞれの所定のマッピングテーブルに基づき、オフセット方向を決定するために、オフセット方向インデックスが復号される。ブロックの2つ以上の制御点のうちの1つの動きベクトルは、したがって、基本予測子、距離オフセット値、及びオフセット方向のうちの少なくとも1つに基づき、現在ピクチャの中で導出される。
【0015】
幾つかの実施形態では、基本予測子の制御点の動きベクトルは、ゼロ動きベクトル差フラグが真であるという決定に基づき、現在ピクチャの中のブロックの2つ以上の制御点のうちの1つの動きベクトルとして設定される。
【0016】
幾つかの実施形態では、ゼロ動きベクトル差フラグが偽であるという決定に基づき、現在ピクチャの中のブロックの2つ以上の制御点のうちの1つの動きベクトルを生成するために、基本予測子の制御点の動きベクトルに、距離オフセット値及びオフセット方向が適用される。
【0017】
幾つかの実施形態では、第1ゼロ動きベクトル差フラグが偽であるという決定に基づき、第1インター予測方向にある現在ピクチャの中のブロックの2つ以上の制御点のうちの1つの第1動きベクトルを生成するために、第1インター予測方向にある基本予測子の制御点の第1動きベクトルに、第1距離オフセット値及び第1オフセット方向が適用される。さらに、第2ゼロ動きベクトル差フラグが偽であるという決定に基づき、第2インター予測方向にある現在ピクチャの中のブロックの2つ以上の制御点のうちの1つの第2動きベクトルを生成するために、第2インター予測方向にある基本予測子の制御点の第2動きベクトルに、第2距離オフセット値及び第2オフセット方向が適用される。
【0018】
幾つかの実施形態では、所定のマッピングテーブルは、シーケンスレベル、スライスレベル、タイルレベル、タイルグループレベル、及びブロックレベル、のうちの1つで調整可能であり受信される。
【0019】
幾つかの実施形態では、デルタスケーリングインデックスのそれぞれの所定のマッピングテーブルに基づき、デルタスケーリングパラメータを決定するために、デルタスケーリングインデックスが復号される。デルタ回転インデックスのそれぞれの所定のマッピングテーブルに基づき、デルタ回転パラメータを決定するために、デルタ回転インデックスが復号される。距離オフセットインデックスのそれぞれの所定のマッピングテーブルに基づき、距離オフセット値を決定するために、距離オフセットインデックスが復号される。オフセット方向インデックスのそれぞれの所定のマッピングテーブルに基づき、オフセット方向を決定するために、オフセット方向インデックスが復号される。ブロックの2つ以上の制御点のうちの1つの動きベクトルは、したがって、基本予測子、デルタスケーリングパラメータ、デルタ回転パラメータ、距離オフセット値、及びオフセット方向のうちの少なくとも1つに基づき、現在ピクチャの中で導出される。
【0020】
幾つかの実施形態では、基本予測子のスケーリングパラメータは、ゼロデルタフラグが真であるという決定に基づき、現在ピクチャの中のブロックのスケーリングパラメータとして設定される。デルタスケーリングパラメータは、ゼロデルタフラグが偽であるという決定に基づき、ブロックのスケーリングパラメータを生成するために、基本予測子のスケーリングパラメータに適用される。
【0021】
幾つかの実施形態では、基本予測子の回転パラメータは、ゼロデルタフラグが真であるという決定に基づき、ブロックの回転パラメータとして設定される。デルタ回転パラメータは、ゼロデルタフラグが偽であるという決定に基づき、現在ピクチャの中のブロックの回転パラメータを生成するために、基本予測子の回転パラメータに適用される。
【0022】
幾つかの実施形態では、基本予測子の平行移動ベクトルは、ゼロ動きベクトル差フラグが真であるという決定に基づき、ブロックの平行移動動きベクトルとして設定される。距離オフセット値及びオフセット方向は、ゼロ動きベクトル差フラグが偽であるという決定に基づき、ブロックの平行移動動きベクトルを生成するために、基本予測子の平行移動動きベクトルに適用される。
【0023】
本開示の別の態様によると、機器が提供される。機器は、処理回路を含む。処理回路は、ビデオ符号化のための開示の方法を実行するよう構成される。
【0024】
本開示の態様は、ビデオ復号のためのコンピュータにより実行されると該コンピュータにビデオ復号のための方法を実行させる命令を格納する非一時的コンピュータ可読媒体も提供する。
【図面の簡単な説明】
【0025】
開示の主題の更なる特徴、特性、及び種々の利点は、以下の詳細な説明及び添付の図面から一層明らかになるだろう。
【0026】
図1】一例における現在ブロック及びその周囲の空間的融合候補の概略図である。
【0027】
図2】一実施形態による、通信システム(200)の簡易ブロック図の概略図である。
【0028】
図3】一実施形態による、通信システム(300)の簡易ブロック図の概略図である。
【0029】
図4】一実施形態による、デコーダの簡易ブロック図の概略図である。
【0030】
図5】一実施形態による、エンコーダの簡易ブロック図の概略図である。
【0031】
図6】別の実施形態による、エンコーダのブロック図を示す。
【0032】
図7】別の実施形態による、デコーダのブロック図を示す。
【0033】
図8】幾つかの例における空間的及び時間的候補の一例を示す。
【0034】
図9】本開示の一実施形態によるUMVEの例を示す。
【0035】
図10】本開示の一実施形態によるUMVEの例を示す。
【0036】
図11】アフィン動きモデルによるブロックの一例を示す。
【0037】
図12】本開示の幾つかの実施形態によるアフィン変換の例を示す。
【0038】
図13】本開示の幾つかの実施形態による、現在ブロック、及び現在ブロックの2つの制御点CP0及びCP1の図を示す。
【0039】
図14】本開示の幾つかの実施形態による、処理例の概要を示す第1のフローチャートを示す。
【0040】
図15】本開示の幾つかの実施形態による、処理例の概要を示す第2のフローチャートを示す。
【0041】
図16】本開示の幾つかの実施形態による、処理例の概要を示す第3のフローチャートを示す。
【0042】
図17】一実施形態による、コンピュータシステムの概略図である。
【発明を実施するための形態】
【0043】
図2は、本発明の一実施形態による通信システム(200)の簡易ブロック図を示す。通信システム(200)は、例えばネットワーク(250)を介して互いに通信できる複数の端末装置を含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された端末装置(210)及び(220)の第1ペアを含む。図2の例では、端末装置(210)及び(220)の第1ペアは、データの単方向伝送を実行する。例えば、端末装置(210)は、ネットワーク(250)を介して他の端末装置(220)への送信のために、ビデオデータ(端末装置(210)によりキャプチャされたビデオピクチャのストリーム)を符号化する。符号化ビデオデータは、1つ以上の符号化ビデオビットストリームの形式で、送信できる。端末装置(220)は、ネットワーク(250)から符号化ビデオデータを受信し、符号化ビデオデータを復号してビデオピクチャを復元し、復元したビデオデータに従いビデオピクチャを表示してよい。単方向データ伝送は、メディアサービングアプリケーション等で一般的であってよい。
【0044】
別の例では、通信システム(200)は、例えばビデオ会議の間に生じ得る符号化ビデオデータの双方向伝送を実行する端末装置(230)及び(240)の第2ペアを含む。データの双方向伝送では、端末装置(230)及び(240)は、ネットワーク(250)を介して端末装置(230)及び(240)への送信のために、ビデオデータ(例えば、端末装置によりキャプチャされたビデオピクチャのストリーム)を符号化してよい。端末装置(230)及び(240)のうちの各端末装置は、端末装置(230)及び(240)のうちの他方の端末装置により送信された符号化ビデオデータを受信してよく、符号化ビデオデータを復号してビデオピクチャを復元してよく、復元したビデオデータに従い、アクセス可能なディスプレイ装置においてビデオピクチャを表示してよい。
【0045】
図2の例では、端末装置(210)、(220)、(230)及び(240)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして示されてよいが、本開示の原理はこれらに限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤ、及び/又は専用ビデオ会議設備による適用がある。ネットワーク(250)は、端末装置(210)、(220)、(230)、及び(240)の間で符号化ビデオデータを運ぶ任意の数のネットワークを表し、例えば有線(ワイヤード)及び/又は無線通信ネットワークを含む。通信ネットワーク(250)は、回線切り替え及び/又はパケット切り替えチャネルでデータを交換してよい。代表的なネットワークは、電子通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク、及び/又はインターネットを含む。本発明の議論の目的で、ネットワーク(250)のアーキテクチャ及びトポロジは、以下で特に断りの無い限り、本開示の動作にとって重要でないことがある。
【0046】
図3は、開示の主題の適用の一例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置を示す。開示の主題は、例えばビデオ会議、デジタルTV、CD、DVD、メモリスティック、等を含むデジタル媒体への圧縮ビデオの格納、他のビデオ可能アプリケーション、等に等しく適用可能である。
【0047】
ストリーミングシステムは、例えば非圧縮のビデオピクチャストリーム(302)を生成するビデオソース(301)を含み得るキャプチャサブシステム(313)を含んでよい。一例では、ビデオピクチャストリーム(302)は、デジタルカメラにより取り込まれたサンプルを含む。ビデオピクチャストリーム(302)は、符号化ビデオデータ(304)(又は符号化ビデオビットストリーム)と比べたとき、高データ容量を強調するために太線で示され、ビデオソース(301)と結合されたビデオエンコーダ(303)を含む電子装置(320)により処理され得る。ビデオエンコーダ(303)は、ハードウェア、ソフトウェア、又はそれらの組み合わせを含み、以下に詳述するように開示の主題の態様を可能にし又は実装することができる。符号化ビデオデータ(304)(又はビデオビットストリーム(304))は、ビデオピクチャストリーム(302)と比べたとき、低データ容量を強調するために細線で示され、将来の使用のためにストリーミングサーバに格納され得る。図3のクライアントサブシステム(306)及び(308)のような1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(305)にアクセスして、符号化ビデオデータ(304)のコピー(307)及び(309)を読み出すことができる。クライアントサブシステム(306)は、例えば電子装置(330)内にビデオデコーダ(310)を含み得る。ビデオデコーダ(310)は、符号化ビデオデータの入力コピー(307)を復号し、ディスプレイ(312)(例えばディスプレイスクリーン)又は他のレンダリング装置(図示しない)上でレンダリングできる出力ビデオピクチャストリーム(311)を生成する。幾つかのストリーミングシステムでは、符号化ビデオデータ(304)、(307)、及び(309)(例えば、ビデオビットストリーム)は、特定のビデオ符号化/圧縮標準に従い符号化され得る。これらの標準の例は、ITU-T Recommendation H.265を含む。一例では、策定中のビデオ符号化標準は、略式にVVC(Versatile Video Coding)として知られている。開示の主題は、VVCの文脈で使用されてよい。
【0048】
電子装置(320)及び(330)は他のコンポーネント(図示しない)を含み得ることに留意する。例えば、電子装置(320)は、ビデオデコーダ(図示しない)を含むことができ、電子装置(330)もビデオエンコーダ(図示しない)を含むことができる。
【0049】
図4は、本開示の一実施形態によるビデオデコーダ(410)のブロック図を示す。ビデオデコーダ(410)は、電子装置(430)に含まれ得る。電子装置(430)は、受信機(431)(例えば、受信回路)を含み得る。ビデオデコーダ(410)は、図3の例では、ビデオデコーダ(310)の代わりに使用できる。
【0050】
受信機(431)は、ビデオデコーダ(410)により符号化されるべき1つ以上の符号化ビデオシーケンス、同じ又は別の実施形態では、一度に1つの符号化ビデオシーケンスを受信してよい。ここで、各符号化ビデオシーケンスの復号は、他の符号化ビデオシーケンスと独立している。符号化ビデオシーケンスは、符号化ビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであってよいチャネル(401)から受信されてよい。受信機(431)は、他のデータ、例えば、それぞれの使用エンティティ(図示しない)へと転送され得る符号化音声データ及び/又は付随的データストリームと共に、符号化ビデオデータを受信してよい。受信機(431)は、他のデータから符号化ビデオシーケンスを分離してよい。ネットワークジッタを除去するために、バッファメモリ(415)は、受信機(431)とエントロピーデコーダ/パーサ(420)(以後、「パーサ(420)」)との間に結合されてよい。特定の適用では、バッファメモリ(415)は、ビデオデコーダ(410)の一部である。他に、ビデオデコーダ(410)(図示しない)の外部にあり得る。更に他では、例えばネットワークジッタを除去するために、ビデオデコーダ(410)の外部に、例えば再生(playout)タイミングを処理するために、ビデオデコーダ(410)の内部にある別のバッファメモリ(415)に加えて、バッファメモリ(図示しない)が存在し得る。受信機(431)が、十分な帯域幅の記憶/転送装置から制御可能に、又はアイソクロナス(isochronous)ネットワークから、データを受信しているとき、バッファメモリ(415)は、必要なくてよく又は小さくできる。インターネットのようなベストエフォート型パケットネットワークで使用するために、バッファメモリ(415)が必要とされてよく、比較的大きくなり、有利なことに適応型サイズであり、少なくとも部分的にオペレーティングシステム又はビデオデコーダ(410)の外部の同様の要素(図示しない)に実装されてよい。
【0051】
ビデオデコーダ(410)は、符号化ビデオシーケンスからシンボル(421)を再構成するために、パーサ(420)を含んでよい。これらのシンボルのカテゴリは、ビデオデコーダ(410)の動作を管理するために使用される情報、及び場合によっては図4に示したように電子装置(430)の統合部分ではないが電子装置(430)に結合され得るレンダー装置(412)(例えば、ディスプレイスクリーン)のようなレンダリング装置を制御するための情報を含む。レンダリング装置のための制御情報は、SEI(Supplemental Enhancement Information)メッセージ又はVUI(Video Usability Information)パラメータセットフラグメント(図示しない)の形式であってよい。パーサ(420)は、受信された符号化ビデオシーケンスをパース/エントロピー復号してよい。符号化ビデオシーケンスの符号化は、ビデオ符号化技術又は標準に従うことができ、依存性を有する又は有しない算術的符号化、等を含む、種々の原理に従うことができる。パーサ(420)は、符号化ビデオシーケンスから、ビデオデコーダの中のピクセルのサブグループのうちの少なくとも1つについて、該グループに対応する少なくとも1つのパラメータに基づき、サブグループパラメータのセットを抽出してよい。サブグループは、GOP(Groups of Picture)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(Coding Units:CU)、ブロック、変換ユニット(Transform Units:TU)、予測ユニット(Prediction Units:PU)、等を含み得る。パーサ(420)は、符号化ビデオシーケンスから、変換係数、量子化パラメータ値、動きベクトル、等のような情報も抽出してよい。
【0052】
パーサ(420)は、バッファメモリ(415)から受信したビデオシーケンスに対してエントロピー復号/パース動作を実行して、シンボル(421)を生成してよい。
【0053】
シンボル(421)の再構成は、符号化ビデオピクチャ又はその部分の種類(例えば、インター及びイントラピクチャ、インター及びイントラブロック)及び他の要因に依存して、複数の異なるユニットを含み得る。どのユニットがどのように含まれるかは、パーサ(420)により符号化ビデオシーケンスからパースされたサブグループ制御情報により制御できる。パーサ(420)と以下の複数のユニットとの間のこのようなサブグループ制御情報のフローは、明確さのために示されない。
【0054】
既に言及した機能ブロックを超えて、ビデオデコーダ(410)は、後述のように、多数の機能ユニットに概念的に細分化できる。商用的制約の下で動作する実際の実装では、これらのユニットの多くは、互いに密に相互作用し、少なくとも部分的に互いに統合され得る。しかしながら、開示の主題を説明する目的で、機能ユニットへの以下の概念的細分化は適切である。
【0055】
第1ユニットは、スケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、量子化された変換係数、及び、どの変換が使用されるべきか、ブロックサイズ、量子化係数、量子化スケーリングマトリクス、等を含む制御情報を、パーサ(420)からのシンボル(421)として受信する。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)に入力され得るサンプル値を含むブロックを出力できる。
【0056】
幾つかの例では、スケーラ/逆変換ユニット(451)の出力サンプルは、イントラ符号化ブロック、つまり、前に再構成されたピクチャからの予測情報を使用しないが現在ピクチャの前に再構成された部分からの予測情報を使用可能なブロック、に属することができる。このような予測情報は、イントラピクチャ予測ユニット(452)により提供できる。幾つかの場合には、イントラピクチャ予測ユニット(452)は、再構成中のブロックと同じサイズ及び形状のブロックを、現在ピクチャバッファ(458)からフェッチした周囲の既に再構成された情報を用いて、生成する。現在ピクチャバッファ(458)は、例えば、再構成された現在ピクチャを部分的に及び/又は再構成された現在ピクチャを完全にバッファリングする。アグリゲータ(455)は、幾つかの場合には、サンプル毎に、イントラ予測ユニット(452)の生成した予測情報を、スケーラ/逆変換ユニット(451)により提供された出力サンプル情報に追加する。
【0057】
他の場合には、スケーラ/逆変換ユニット(451)の出力サンプルは、インター符号化された、場合によっては動き補償されたブロックに関連し得る。このような場合には、動き補償予測ユニット(453)は、参照ピクチャメモリ(457)にアクセスして、予測ために使用されるサンプルをフェッチできる。ブロックに関連するシンボル(421)に従いフェッチしたサンプルを動き補償した後に、これらのサンプルは、アグリゲータ(455)により、出力サンプル情報を生成するために、スケーラ/逆変換ユニット(451)の出力に追加され得る(この場合、残差サンプル又は残差信号と呼ばれる)。動き補償予測ユニット(453)が予測サンプルをフェッチする参照ピクチャメモリ(457)内のアドレスは、例えばX、Y及び参照ピクチャコンポーネントを有し得るシンボル(421)の形式で、動き補償予測ユニット(453)の利用可能な動きベクトルにより制御できる。動き補償は、サブサンプルの正確な動きベクトルが使用中であるとき参照ピクチャメモリ(457)からフェッチされたサンプル値の補間、動きベクトル予測メカニズム、等を含み得る。
【0058】
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)において種々のループフィルタリング技術を受け得る。ビデオ圧縮技術は、符号化ビデオシーケンス(符号化ビデオビットストリームとも呼ばれる)に含まれ且つパーサ(420)からのシンボル(421)としてループフィルタユニット(456)に利用可能にされたパラメータにより制御されるが、符号化ピクチャ又は符号化ビデオシーケンスの(復号順序で)前の部分の復号中に取得されたメタ情報にも応答し、前に再構成されループフィルタリングされたサンプル値にも応答し得るインループフィルタ技術を含み得る。
【0059】
ループフィルタユニット(456)の出力は、レンダー装置(412)へと出力でき及び将来のインターピクチャ予測で使用するために参照ピクチャメモリ(457)に格納され得るサンプルストリームであり得る。
【0060】
特定の符号化ピクチャは、一旦完全に再構成されると、将来の予測のための参照ピクチャとして使用できる。例えば、現在ピクチャに対応する符号化ピクチャが完全に再構成され、符号化ピクチャが(例えばパーサ(420)により)参照ピクチャとして識別されると、現在ピクチャバッファ(458)は、参照ピクチャメモリ(457)の一部になることができ、後続の符号化ピクチャの再構成を開始する前に、新鮮な現在ピクチャバッファを再割り当てできる。
【0061】
ビデオデコーダ(410)は、ITU-T Rec. H.265のような標準の所定のビデオ圧縮技術に従い復号動作を実行してよい。符号化ビデオシーケンスがビデオ圧縮技術又は標準、及びビデオ圧縮技術又は標準において文書化されたプロファイルの両方に従うという意味で、符号化ビデオシーケンスは、使用中のビデオ圧縮技術又は標準により指定されたシンタックスに従ってよい。具体的に、プロファイルは、ビデオ圧縮技術又は標準において利用可能な全部のツールから、プロファイルの下でのみ使用可能なツールとして、特定のツールを選択できる。また、遵守のために必要なことは、符号化ビデオシーケンスの複雑さが、ビデオ圧縮技術又は標準のレベルにより定められる限界の範囲内であることであり得る。幾つかの場合には、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えばメガサンプル/秒で測定される)、最大参照ピクチャサイズ、等を制限する。レベルにより設定される限界は、幾つかの場合には、HRD(Hypothetical Reference Decoder)仕様及び符号化ビデオシーケンスの中でシグナリングされるHDRバッファ管理のためのメタデータを通じて更に制限され得る。
【0062】
一実施形態では、受信機(431)は、符号化ビデオと共に追加(冗長)データを受信してよい。追加データは、符号化ビデオシーケンスの部分として含まれてよい。追加データは、データを正しく復号するため及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ(410)により使用されてよい。追加データは、例えば、時間的、空間的、又は信号雑音比(SNR)の拡張レイヤ、冗長スライス、冗長ピクチャ、前方誤り訂正符号、等の形式であり得る。
【0063】
図5は、本開示の一実施形態によるビデオエンコーダ(503)のブロック図を示す。ビデオエンコーダ(503)は、電子装置(520)に含まれる。電子装置(520)は、送信機(540)(例えば、送信回路)を含む。ビデオエンコーダ(503)は、図3の例では、ビデオエンコーダ(303)の代わりに使用できる。
【0064】
ビデオエンコーダ(503)は、ビデオサンプルを、ビデオエンコーダ(503)により符号化されるべきビデオ画像をキャプチャし得るビデオソース(501)(図5の例では、電子装置(520)の部分ではない)から受信してよい。別の例では、ビデオソース(501)は、電子装置(520)の一部である。
【0065】
ビデオソース(501)は、ビデオエンコーダ(503)により符号化されるべきソースビデオシーケンスを、任意の適切なビット深さ(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 YCrCb、RGB、...)、及び任意の適切なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)のデジタルビデオサンプルストリームの形式で、提供してよい。メディア提供システムでは、ビデオソース(501)は、前に準備されたビデオを格納する記憶装置であってよい。ビデオ会議システムでは、ビデオソース(501)は、ビデオシーケンスとしてローカル画像情報をキャプチャするカメラであってよい。ビデオデータは、続けて閲覧されると動きを与える複数の個別ピクチャとして提供されてよい。ピクチャ自体は、ピクセルの空間的配列として組織化されてよい。各ピクセルは、使用中のサンプリング構造、色空間、等に依存して、1つ以上のサンプルを含み得る。当業者は、ピクセルとサンプルとの間の関係を直ちに理解できる。以下の説明はサンプルに焦点を当てる。
【0066】
一実施形態によると、ビデオエンコーダ(503)は、ソースビデオシーケンスのピクチャを、符号化ビデオシーケンス(543)へと、リアルタイムに又はアプリケーションにより要求される任意の他の時間制約の下で符号化し圧縮してよい。適切な符号化速度の実施は、制御部(550)の1つの機能である。幾つかの実施形態では、制御部(550)は、後述する他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。結合は、明確さのために図示されない。制御部(550)により設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値、...)、ピクチャサイズ、GOP(group of pictures)レイアウト、最大動きベクトル探索範囲、等を含み得る。制御部(550)は、特定のシステム設計に最適化されたビデオエンコーダ(503)に関連する他の適切な機能を有するよう構成され得る。
【0067】
幾つかの実施形態では、ビデオエンコーダ(503)は、符号化ループの中で動作するよう構成される。非常に簡略化された説明として、一例では、符号化ループは、ソースコーダ(530)(例えば、シンボルストリームのようなシンボルを、符号化されるべき入力ピクチャ及び参照ピクチャに基づき生成することを担う)、及びビデオエンコーダ(503)に内蔵された(ローカル)デコーダ(533)を含み得る。デコーダ(533)は、(シンボルと符号化ビットストリームとの間の任意の圧縮が、開示の主題において検討されるビデオ圧縮技術において無損失であるとき)(遠隔にある)デコーダが生成するのと同様の方法で、シンボルを再構成して、サンプルデータを生成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(534)に入力される。シンボルストリームの復号が、デコーダ位置(ローカル又はリモート)と独立にビット正確な結果をもたらすとき、参照ピクチャメモリ(534)の内容も、ローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えると、エンコーダの予測部分が、復号中に予測を用いるときデコーダが「見る」のと正確に同じサンプル値を、参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(及び、例えばチャネルエラーのために同期性が維持できない場合には、結果として生じるドリフト)は、幾つかの関連技術で同様に使用される。
【0068】
「ローカル」デコーダ(533)の動作は、図4と関連して以上に詳述したビデオデコーダ(410)のような「リモート」デコーダのものと同じであり得る。簡単に一時的に図4も参照すると、しかしながら、、シンボルが利用可能であり、エントロピーコーダ(545)及びパーサ(420)による符号化ビデオシーケンスへのシンボルの符号化/復号が無損失であり得るので、バッファメモリ(415)を含むビデオデコーダ(410)のエントロピー復号部分、及びパーサ(420)は、ローカルデコーダ(533)に完全に実装されなくてよい。
【0069】
この点で行われる考察は、デコーダ内に存在するパース/エントロピー復号を除く任意のデコーダ技術も、対応するエンコーダ内と実質的に同一の機能形式で存在する必要があるということである。この理由から、開示の主題は、デコーダ動作に焦点を当てる。エンコーダ技術の説明は、それらが包括的に説明されるデコーダ技術の逆であるので、省略できる。特定の領域においてのみ、より詳細な説明が必要であり、以下に提供される。
【0070】
動作中、幾つかの例では、ソースコーダ(530)は、動き補償された予測符号化を実行してよい。これは、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の前に符号化されたピクチャを参照して予測的に入力ピクチャを符号化する。この方法では、符号化エンジン(532)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する予測基準として選択されてよい参照ピクチャのピクセルブロックとの間の差分を符号化する。
【0071】
ローカルビデオデコーダ(533)は、ソースコーダ(530)により生成されたシンボルに基づき、参照ピクチャとして指定されてよいピクチャの符号化ビデオデータを復号してよい。符号化エンジン(532)の動作は、有利なことに、損失処理であってよい。符号化ビデオデータがビデオデコーダ(図5に図示されない)において復号され得るとき、再構成ビデオシーケンスは、標準的に、幾つかのエラーを有するソースビデオシーケンスの複製であってよい。ローカルビデオデコーダ(533)は、参照ピクチャに対してビデオデコーダにより実行され得る復号処理を複製し、参照ピクチャキャッシュ(534)に格納されるべき再構成参照ピクチャを生じ得る。このように、ビデオエンコーダ(503)は、(伝送誤りが無ければ)遠端ビデオデコーダにより取得される再構成参照ピクチャと共通の内容を有する再構成参照ピクチャのコピーを格納してよい。
【0072】
予測器(535)は、符号化エンジン(532)のために予測探索を実行してよい。つまり、符号化されるべき新しいピクチャについて、予測器(535)は、新しいピクチャのための適切な予測基準として機能し得る(候補参照ピクセルブロックのような)サンプルデータ又は参照ピクチャ動きベクトル、ブロック形状、等のような特定のメタデータについて、参照ピクチャメモリ(534)を検索してよい。予測器(535)は、適切な予測基準を見付けるために、サンプルブロック-ピクセルブロック毎に動作してよい。幾つかの例では、予測器(535)により取得された検索結果により決定されるように、入力ピクチャは、参照ピクチャメモリ(534)に格納された複数の参照ピクチャから引き出された予測基準を有してよい。
【0073】
制御部(550)は、例えば、ビデオデータの符号化のために使用されるパラメータ及びサブグループパラメータの設定を含む、ソースコーダ(530)の符号化動作を管理してよい。
【0074】
全ての前述の機能ユニットの出力は、エントロピーコーダ(545)におけるエントロピー符号化を受けてよい。エントロピーコーダ(545)は、ハフマン符号化、可変長符号化、算術符号化、等のような技術に従いシンボルを無損失圧縮することにより、種々の機能ユニットにより生成されたシンボルを、符号化ビデオシーケンスへと変換する。
【0075】
送信機(540)は、符号化ビデオデータを格納し得る記憶装置へのハードウェア/ソフトウェアリンクであってよい通信チャネル(560)を介する伝送のために準備するために、エントロピーコーダ(545)により生成された符号化ビデオシーケンスをバッファリングしてよい。送信機(540)は、ビデオコーダ(503)からの符号化ビデオデータを、送信されるべき他のデータ、例えば符号化音声データ及び/又は補助データストリーム(図示されないソース)と融合(merge)してよい。
【0076】
制御部(550)は、ビデオエンコーダ(503)の動作を管理してよい。符号化中、制御部(550)は、それぞれのピクチャに適用され得る符号化技術に影響し得る特定の符号化ピクチャタイプを、各符号化ピクチャに割り当ててよい。例えば、ピクチャは、多くの場合、以下のピクチャタイプのうちの1つとして割り当てられてよい。
【0077】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の任意の他のピクチャを使用せずに符号化及び復号され得るピクチャであってよい。幾つかのビデオコーデックは、例えばIDR(Independent Decoder Refresh)ピクチャを含む異なる種類のイントラピクチャを許容する。当業者は、Iピクチャの変形、及びそれらの個々の適用及び特徴を認識する。
【0078】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大1つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測を用いて符号化及び復号され得るピクチャであってよい。
【0079】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大2つの動きベクトル及び参照インデックスを用いてイントラ予測又はインター予測を用いて符号化及び復号され得るピクチャであってよい。同様に、マルチ予測ピクチャは、単一のブロックの再構成のために、2つより多くの参照ピクチャ及び関連付けられたメタデータを使用できる。
【0080】
ソースピクチャは、共通に、複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、又は16×16個のサンプルのブロック)に空間的に細分化され、ブロック毎に符号化されてよい。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てにより決定される他の(既に符号化された)ブロックへの参照により予測的に符号化されてよい。例えば、Iピクチャのブロックは、非予測的に符号化されてよく、又はそれらは同じピクチャの既に符号化されたブロックを参照して予測的に符号化されてよい(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、1つの前に符号化された参照ピクチャを参照して、空間予測を介して又は時間予測を介して、予測的に符号化されてよい。Bピクチャのブロックは、1つ又は2つの前に符号化された参照ピクチャを参照して、空間予測を介して又は時間予測を介して、予測的に符号化されてよい。
【0081】
ビデオデコーダ(503)は、ITU-T Rec. H.265のような所定のビデオ符号化技術又は標準に従い符号化動作を実行してよい。その動作において、ビデオエンコーダ(503)は、入力ビデオシーケンスの中の時間的及び空間的冗長性を利用する予測符号化動作を含む種々の圧縮動作を実行してよい。符号化ビデオデータは、したがって、使用されているビデオ符号化技術又は標準により指定されたシンタックスに従ってよい。
【0082】
一実施形態では、送信機(540)は、符号化ビデオと共に追加データを送信してよい。ソースコーダ(530)は、このようなデータを符号化ビデオシーケンスの部分として含んでよい。追加データは、時間/空間/SNR拡張レイヤ、冗長ピクチャ及びスライスのような他の形式の冗長データ、SEIメッセージ、VUIパラメータセットフラグメント、等を含んでよい。
【0083】
ビデオは、時系列の中の複数のソースピクチャ(ビデオピクチャ)としてキャプチャされてよい。イントラピクチャ予測(イントラ予測と省略されることがある)は、所与のピクチャの中の空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、符号化/復号中の特定のピクチャは、現在ピクチャと呼ばれ、ブロックにパーティションされる。現在ピクチャの中のブロックが、ビデオの中の前に符号化され且つ未だバッファリングされている参照ピクチャの中の参照ブロックと同様であるとき、現在ピクチャの中のブロックは、動きベクトルと呼ばれるベクトルにより符号化できる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用中である場合には、参照ピクチャを識別する第3次元を有することができる。
【0084】
幾つかの実施形態では、双方向予測(bi-prediction)技術が、インターピクチャ予測で使用できる。双方向予測技術によると、両方とも復号順序でビデオの中の現在ピクチャより前にある(が、それぞれ表示順序で過去及び未来にあってよい)第1参照ピクチャ及び第2参照ピクチャのような2つの参照ピクチャが使用される。現在ピクチャ内のブロックは、第1参照ピクチャ内の第1参照ブロックを指す第1動きベクトル、及び第2参照ピクチャ内の第2参照ブロックを指す第2動きベクトルにより符号化できる。ブロックは、第1参照ブロック及び第2参照ブロックの結合により予測できる。
【0085】
さらに、符号化効率を向上するために、インターピクチャ予測において融合モード技術が使用できる。
【0086】
本開示の幾つかの実施形態によると、インターピクチャ予測及びイントラピクチャ予測のような予測は、ブロックのユニットの中で実行される。例えば、HEVC標準によると、ビデオピクチャシーケンスの中のピクチャは、圧縮の前に符号化木ユニット(coding tree unit:CTU)にパーティションされる。ピクチャ内のCTUは、64×64ピクセル、32×32ピクセル、又は16×16ピクセルのような、同じサイズを有する。通常、CTUは、3個の符号化木ブロック(coding tree blocks:CTB)、つまり1個のルマCTB及び2個のクロマCTB、を含む。各CTUは、1又は複数の符号化ユニット(coding unit:CU)に再帰的に4分木分割できる。例えば、64×64ピクセルのCTUは、64×64ピクセルの1個のCU、又は32×32ピクセルの4個のCU、又は16×16ピクセルの16個のCUに分割できる。一例では、各CUは、インター予測タイプ又はイントラ予測タイプのようなCUの予測タイプを決定するために分析される。CUは、時間的及び/又は空間的予測性に依存して、1つ以上の予測ユニット(prediction unit:PU)に分割される。通常、各PUは、ルマ予測ブロック(prediction block:PB)、及び2個のクロマPBを含む。一実施形態では、符号化(符号化/復号)における予測演算が、予測ブロックのユニットの中で実行される。ルマ予測ブロックを予測ブロックの一例として用いると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル、等のようなピクセルについて値(例えば、ルマ値)のマトリクスを含む。
【0087】
図6は、本開示の別の実施形態によるビデオエンコーダ(603)の図を示す。ビデオエンコーダ(603)は、ビデオピクチャシーケンスの中の現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを符号化ビデオシーケンスの部分である符号化ピクチャに符号化するよう構成される。一例では、ビデオエンコーダ(603)は、図3の例では、ビデオエンコーダ(303)の代わりに使用される。
【0088】
HEVCの例では、ビデオエンコーダ(603)は、8×8サンプル等の予測ブロックのような、処理ブロックのサンプル値のマトリクスを受信する。ビデオエンコーダ(603)は、例えばレート歪み最適化を用いて、処理ブロックがイントラモード、インターモード、又は双方向予測モードを用いて最適に符号化されるかを決定する。処理ブロックはイントラモードで符号化されるとき、ビデオエンコーダ(603)は、処理ブロックを符号化ピクチャへと符号化するために、イントラ予測技術を使用してよい。処理ブロックがインターモード又は双方向予測モードで符号化されるとき、ビデオエンコーダ(603)は、処理ブロックを符号化ピクチャへと符号化するために、それぞれインター予測又は双方向技術を使用してよい。特定のビデオ符号化技術では、融合モードは、予測器の外部の符号化動きベクトルコンポーネント無しに、動きベクトルが1つ以上の動きベクトル予測子から得られるインターピクチャ予測サブモードであり得る。特定の他のビデオ符号化技術では、対象ブロックに適用可能な動きベクトルコンポーネントが存在し得る。一例では、ビデオエンコーダ(603)は、処理ブロックのモードを決定するために、モード決定モジュール(図示しない)のような他のコンポーネントを含む。
【0089】
図6の例では、ビデオエンコーダ(603)は、図6に示したように一緒にインターエンコーダ(630)、イントラエンコーダ(622)、残差計算器(623)、スイッチ(626)、残差エンコーダ(624)、汎用制御部(621)、及びエントロピーエンコーダ(625)を含む。
【0090】
インターエンコーダ(630)は、現在ブロック(例えば、処理中のブロック)のサンプルを受信し、ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、前のピクチャ及び後のピクチャの中のブロック)と比較し、インター予測情報(例えば、インター符号化技術による冗長情報の説明、動きベクトル、融合モード情報)を生成し、任意の適切な技術を用いてインター予測情報に基づきインター予測結果(例えば、予測ブロック)を計算するよう構成される。幾つかの例では、参照ピクチャは、符号化ビデオ情報に基づき復号された、復号参照ピクチャである。
【0091】
イントラエンコーダ(622)は、現在ブロック(例えば、処理中のブロック)のサンプルを受信し、幾つかの場合には、ブロックをサンプルピクチャ内の既に符号化されたブロックと比較し、変換後に量子化された係数を、幾つかの場合にはイントラ予測情報(例えば、1つ以上のイントラ符号化技術によるイントラ予測方向情報)も生成するよう構成される。一例では、イントラエンコーダ(622)は、イントラ予測情報及び同じピクチャ内の参照ブロックに基づき、イントラ予測結果(例えば、予測したブロック)も計算する。
【0092】
汎用制御部(621)は、一般制御データを決定し、一般制御データに基づきビデオエンコーダ(603)の他のコンポーネントを制御するよう構成される。一例では、汎用制御部(621)は、ブロックのモードを決定し、モードに基づき、制御信号をスイッチ(626)に提供する。例えば、モードがイントラモードであるとき、汎用制御部(621)は、残差計算器(623)による使用のためにイントラモード結果を選択するようスイッチ(626)を制御し、イントラ予測情報を選択してビットストリーム内にイントラ予測情報を含めるよう、エントロピーエンコーダ(625)を制御し、モードがインターモードであるとき、汎用制御部(621)は、残差計算器(623)による使用のためにインター予測結果を選択するようスイッチ(626)を制御し、インター予測情報を選択してビットストリーム内にインター予測情報を含めるよう、エントロピーエンコーダ(625)を制御する。
【0093】
残差計算器(623)は、受信したブロックとイントラエンコーダ(622)又はインターエンコーダ(630)からの選択された予測結果との間の差(残差データ)を計算するよう構成される。残差エンコーダ(624)は、残差データに基づき動作して、残差データを符号化し、変換係数を生成するよう構成される。一例では、残差エンコーダ(624)は、残差データを空間ドメインから周波数ドメインへと変換し、変換係数を生成するよう構成される。変換係数は、次に、量子化変換係数を得るために、量子化処理を受ける。種々の実施形態では、ビデオエンコーダ(603)も残差デコーダ(628)を含む。残差デコーダ(628)は、逆変換を実行し、復号残差データを生成するよう構成される。復号残差データは、イントラエンコーダ(622)及びインターエンコーダ(630)により適切に使用できる。例えば、インターエンコーダ(630)は、復号残差データ及びインター予測情報に基づき復号ブロックを生成でき、イントラエンコーダ(622)は、復号残差データ及びイントラ予測情報に基づき復号ブロックを生成できる。復号ブロックは、復号ピクチャを生成するために適切に処理され、復号ピクチャは、幾つかの例では、メモリ回路(図示しない)にバッファされ、参照ピクチャとして使用され得る。
【0094】
エントロピーエンコーダ(625)は、符号化ブロックを含めるために、ビットストリームをフォーマットするよう構成される。エントロピーエンコーダ(625)は、HEVC標準のような適切な標準に従い種々の情報を含むよう構成される。一例では、エントロピーエンコーダ(625)は、ビットストリームに、一般制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び他の適切な情報を含めるよう構成される。開示の主題によると、インターモード又は双方向予測モードのいずれかの融合サブモードでブロックを符号化するとき、残差情報は存在しないことに留意する。
【0095】
図7は、本開示の別の実施形態によるビデオエンコーダ(710)の図を示す。ビデオデコーダ(710)は、符号化ビデオシーケンスの部分である符号化ピクチャを受信し、符号化ピクチャを復号して再構成ピクチャを生成するよう構成される。一例では、ビデオデコーダ(710)は、図3の例では、ビデオエンデコーダ(310)の代わりに使用される。
【0096】
図7の例では、ビデオデコーダ(710)は、図7に示したように一緒にエントロピーデコーダ(771)、インターデコーダ(780)、残差デコーダ(773)、再構成モジュール(774)、イントラデコーダ(772)を含む。
【0097】
エントロピーデコーダ(771)は、符号化ピクチャから、符号化ピクチャの生成されたシンタックス要素を表す特定のシンボルを再構成するよう構成され得る。このようなシンボルは、例えば、ブロックの符号化されたモード(例えば、イントラモード、インターモード、双方向モード、融合サブモード又は別のサブモードの後者の2つ)、それぞれイントラデコーダ(772)又はインターデコーダ(780)による予測のために使用される特定のサンプル又はメタデータを特定できる予測情報(例えば、イントラ予測情報又はインター予測情報)、例えば量子化された変換係数の形式の残差情報、等を含み得る。一例では、予測モードがインター又は双方向予測モードであるとき、インター予測情報がインターデコーダ(780)に提供され、予測タイプがイントラ予測タイプであるとき、イントラ予測情報がイントラデコーダ(772)に提供される。残差情報は、逆量子化され、残差デコーダ(773)に提供される。
【0098】
インターデコーダ(780)は、インター予測情報を受信し、インター予測情報に基づきインター予測結果を生成するよう構成される。
【0099】
イントラデコーダ(772)は、イントラ予測情報を受信し、イントラ予測情報に基づき予測結果を生成するよう構成される。
【0100】
残差デコーダ(773)は、逆量子化を実行して、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して、残差を周波数ドメインから空間ドメインへと変換するよう構成される。残差デコーダ(773)は、(量子化器パラメータ(Quantizer Parameter:QP)を含むための)特定の制御情報も要求してよい。この情報は、エントロピーデコーダ(771)により提供されてよい(これは低容量制御情報のみなので、データ経路は示されない)。
【0101】
再構成モジュール(774)は、空間ドメインで、残差デコーダ(773)による出力としての残差と(場合によりインター又はイントラ予測モジュールによる出力としての)予測結果とを結合して、再構成ピクチャの部分であり得る、一方で再構成ビデオの部分であり得る、再構成ブロックを形成するよう構成される。デブロッキング動作などのような他の適切な動作が、視覚的品質を向上するために実行できる。
【0102】
ビデオエンコーダ(303)、(503)、及び(603)、並びにビデオデコーダ(310)、(410)、及び(710)は、任意の適切な技術を用いて実装できることに留意する。一実施形態では、ビデオエンコーダ(303)、(503)、及び(603)、並びにビデオデコーダ(310)、(410)、及び(710)は、1つ以上の集積回路を用いて実装できる。別の実施形態では、ビデオエンコーダ(303)、(503)、及び(503)、並びにビデオデコーダ(310)、(410)、及び(710)は、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実装できる。
【0103】
本開示の態様は、ビデオ符号化(符号化/復号)においてアフィンモデル予測のための技術を提供する。一般的に、ブロックの動きベクトルは、明示的方法で、動きベクトル予測子に対する差をシグナリングするように(例えば、高度動きベクトル予測(advanced motion vector prediction又はAMVPモード)、又は暗示的方法で、1つの前に符号化され又は生成された動きベクトルから完全に示されるように、符号化できる。後者は、融合モードと呼ばれ、現在ブロックが自身の動き情報を用いて前の符号化ブロックに融合されることを意味する。
【0104】
AMVPモード及び融合モードの両者は、復号中に候補リストを構成する。図8は、幾つかの例における空間的及び時間的候補の一例を示す。
【0105】
インター予測の融合モードでは、候補リストの中の融合候補は、現在ブロックの空間又は時間的近隣ブロックのいずれかからの動き情報をチェックすることにより主に形成される。図8の例では、候補ブロックA1、B1、B0、A0、及びB2は、順次チェックされる。候補ブロックのうちのいずれかが有効な候補である、例えば動きベクトルにより符号化されるとき、有効な候補ブロックの動き情報は、融合候補リストに追加できる。重複する候補がリストに再び入れられないように、何らかの刈り込み(pruning)動作が実行される。候補ブロックA1、B1、B0、A0、及びB2は、現在ブロックの角に隣接し、角候補と呼ばれる。
【0106】
空間的候補の後に、時間的候補もチェックされリストに入れられる。幾つかの例では、指定された参照ピクチャ内で、現在ブロックと同一位置にある(co-located)ブロックが、見付けられる。同一位置ブロックのC0位置(現在ブロックの右下角)にある動き情報は、時間的融合候補として使用される。この位置にあるブロックがインターモードで符号化されていない又は利用できない場合、C1位置(同一位置ブロックの中心の外側右下角)が代わりに使用される。本開示は、融合モードを更に向上するための技術を提供する。
【0107】
HEVCのAMVP(advanced motion vector prediction)モードは、現在ブロックの動き情報を予測するために、空間的及び時間的近隣ブロックの動き情報を使用することに言及している。一方で、予測残差が更に符号化される。空間的及び時間的近隣候補の例も、図8に示される。
【0108】
幾つかの実施形態では、AMVPモードで、2候補の動きベクトル予測子リストが形成される。例えば、リストは、第1候補予測子及び第2候補予測子を含む。第1候補予測子は、空間的にA0、A1位置の順で、左端からの第1利用可能動きベクトルからである。第2候補予測子は、空間的にB0、B1、B2位置の順で、上端からの第1利用可能動きベクトルからである。左端又は上端のいずれについてもチェックした位置から有効な動きベクトルが発見できない場合、リストに入れられる候補はない。2つの候補が利用可能であり同じである場合、1つのみがリスト内に保持される。(2つの異なる候補により)リストが一杯にならない場合、C0位置からの(スケーリング後に)時間的に同一位置にある動きベクトルが、別の候補として使用される。C0位置にある動き情報が利用可能ではない場合、位置C1が代わりに使用される。
【0109】
幾つかの例では、十分な動きベクトル予測子候補が未だない場合、ゼロ動きベクトルがリストを満たすために使用される。
【0110】
幾つかの実施形態では、予測オフセットは、既存の融合候補の一番上でシグナリングできる。例えば、最終的な動きベクトル表現(ultimate motion vector expression:UMVE)と呼ばれる技術は、既存の融合候補の一番上にあるオフセット(大きさ及び方向の両方)がシグナリングされる特別融合モードを使用する。この技術では、予測方向IDX、基本候補IDX、距離IDX、探索方向IDX、等のような幾つかのシンタックス要素が、このようなオフセットを説明するためにシグナリングされる。例えば、予測方向IDXは、予測方向(時間的予測方向、例えばL0参照方向、L1参照方向、又はL0及びL1参照方向)のうちのどれがUMVEモードのために使用されるかを示すために使用される。基本候補IDXは、既存の融合候補のうちのどれが、オフセットを適用すべき開始点(に基づく候補)として使用されるかを示すために使用される。距離IDXは、オフセットの開始点からの(x又はy方向に沿った、しかしその両方ではない)大きさを示すために使用される。オフセットの大きさは、固定数の選択肢から選択される。探索方向IDXは、オフセットを適用すべき方向(x又はy、+又は-方向)を示すために使用される。
【0111】
一例では、開始点MVがMV_Sであると仮定すると、オフセットはMV_offsetである。次に、最終的なMV予測子は、MV_final=MV_S+MV_offsetである。
【0112】
図9は、本開示の一実施形態によるUMVEの例を示す。一例では、図9において、開始点MVは(例えば、予測方向IDX及び基本候補IDXに従い)(911)により示され、オフセットは(例えば、距離IDX及び探索方向IDXに従い)(912)により示され、最終MV予測子は(913)により示される。別の例では、図9において、開始点MVは(例えば、予測方向IDX及び基本候補IDXに従い)(921)により示され、オフセットは(例えば、距離IDX及び探索方向IDXに従い)(922)により示され、最終MV予測子は(923)により示される。
【0113】
図10は、本開示の一実施形態によるUMVEの例を示す。例えば、開始点MVは、(例えば、予測方向IDX及び基本候補IDXに従い)(1011)により示される。図10の例では、+Y、-Y、+X、及び-Xのような4つの探索方向が使用され、4つの探索方向は0、1、2、3によりインデックスを付される。距離は、0(開始点MVまでの距離0)、1(開始点MVまで1s)、2(開始点MVまで2s)、3(開始点MVまで3s)、等によりインデックスを付される。したがって、探索方向IDXが3であり、距離IDXが2であるとき、最終MV予測子は1015として示される。
【0114】
別の例では、探索方向及び距離は、インデックス付けのために結合できる。例えば、開始点MVは、(例えば、予測方向IDX及び基本候補IDXに従い)(1021)により示される。探索方向及び距離は、図10に示すように、0~12によりインデックスを付されるよう結合される。
【0115】
本開示の一態様によると、アフィン動き補償は、符号化ブロックについて6パラメータ(又は簡略化された4パラメータ)アフィンモデルを説明することにより、現在ブロック内のサンプルについて動き情報を効率的に予測できる。より具体的には、アフィン符号化又は説明された符号化ブロックでは、サンプルの異なる部分は異なる動きベクトルを有し得る。アフィン符号化又は説明されたブロック内の動きベクトルを有するべき基本ユニットは、サブブロックと呼ばれる。サブブロックのサイズは、1サンプルのみの小ささであり、現在ブロックのサイズと同じ大きさである。
【0116】
アフィンモデルが決定されると、現在ブロックの各サンプルについて、(対象参照ピクチャに対する)その動きベクトルは、このようなモデル(例えば、6パラメータのアフィン動きモデル、又は4パラメータのアフィン動きモデル)を用いて導出できる。実装の複雑さを低減するために、アフィン動き補償が、サンプル毎の代わりに、サブブロック毎に実行される。これは、各サブブロックが自身の動きベクトルを導出すること、及び各サブブロック内のサンプルについて、動きベクトルが同じであることを意味する。サブブロックの左上又は中心点のような各サブブロックの特定位置は、代表位置であると仮定される。一例では、このようなサブブロックサイズは4×4サンプルを含む。
【0117】
通常、アフィン動きモデルは、ブロックの動き情報を説明するために6個のパラメータを有する。アフィン変換の後に、長方形ブロックは平行四辺形になる。一例では、アフィン符号化ブロックの6個のパラメータは、ブロックの3つの異なる位置における3つの動きベクトルにより表すことができる。
【0118】
図11は、アフィン動きモデルによるブロック(1100)の一例を示す。ブロック(1100)は、ブロック(1100)のために使用されるアフィン動きモデルの動き情報を説明するために、3つの角位置A、B、Cにおける動きベクトルv 、v 、v を使用する。これらの位置A、B、Cは、制御点と呼ばれる。
【0119】
簡易な例では、アフィン動きモデルは、アフィン変換の後にブロックの形状が変化しないという仮定に基づき、ブロックの動き情報を説明するために、4個のパラメータを使用する。したがって、長方形ブロックは、変換後に、長方形及び同じアスペクト比(例えば、高さ/幅)を残している。このようなブロックのアフィン動きモデルは、角位置A及びBのような2つの異なる位置における2つの動きベクトルにより表すことができる。
【0120】
図12は、(6パラメータのアフィンモデルを用いる)6パラメータのアフィンモード、及び(4パラメータのアフィンモデルを用いる)4パラメータのアフィンモードのアフィン変換の例を示す。
【0121】
一例では、オブジェクトはズーム及び平行移動の動きのみを有する、又はオブジェクトは回転及び平行移動モデルのみを有する、というような仮定がなされるとき、アフィン動きモデルは、平行移動部分を示すための2個のパラメータ及びズームのための倍率又は回転のための角度因子のいずれかを示すための1個のパラメータを有する3パラメータのアフィン動きモデルに更に簡略化できる。
【0122】
本開示の一態様によると、アフィン動き補償が使用されるとき、2つのシグナリング技術が使用できる。2つのシグナリング技術は、融合モードに基づくシグナリング技術、及び残差(AMVP)モードに基づくシグナリング技術と呼ばれる。
【0123】
融合モードに基づくシグナリング技術では、現在ブロックのアフィン情報は、前にアフィン符号化されたブロックから予測される。ある方法では、現在ブロックは、参照ブロックと同じアフィンオブジェクト内にあると仮定される。その結果、現在ブロックの制御点におけるMVは、参照ブロックのモデルから導出できる。現在ブロックの他の位置におけるMVは、参照ブロック内のある制御点から別の制御点へと同じ方法で線形的に変更されるだけである。この方法は、モデルに基づくアフィン予測と呼ばれる。別の方法では、近隣ブロックの動きベクトルは、現在ブロックの制御点における動きベクトルとして直接使用される。次に、ブロックの残りにおける動きベクトルは、制御点からの情報を用いて生成される。この方法は、制御点に基づくアフィン予測と呼ばれる。いずれの方法でも、現在ブロックにおけるMVの残差コンポーネントは、シグナリングされるべきである。言い換えると、MVの残差コンポーネントがシグナリングされる。
【0124】
残差(AMVP)モードに基づくシグナリング技術では、アフィンパラメータ、又は現在ブロックの制御点におけるMVが、予測されるべきである。1つより多くの動きベクトルが予測されるので、全ての制御点における動きベクトルの候補リストは、リスト内の各候補が全ての制御点の動きベクトルのセットを含むような方法で、グループに編成される。例えば、候補1={制御点Aの予測子、制御点Bの予測子、制御点Cの予測子}、候補2={制御点Aの予測子、制御点Bの予測子、制御点Cの予測子}、等である。異なる候補の中の同じ制御点の予測子は、同じ又は異なり得る。動きベクトル予測子フラグ(List0のmvp_10_flag、又はList1のmvp_11_flag)は、リストからどの候補が選択されるかを示すために使用される。予測の後に、パラメータの残差部分、又は実際のMVの制御点におけるMV予測子に対する差は、シグナリングされる。各制御点におけるMV予測子は、融合モードに基づくシグナリング技術の説明から説明した方法を用いて、その近隣のうちの1つからのモデルに基づくアフィン予測に由来し得る。
【0125】
幾つかの関連する方法では、ブロックのアフィンパラメータは、純粋に、近隣ブロックのアフィンモデル又は制御点のMV予測子から、又は制御点におけるMV差の明示的信号から、導出できる。しかしながら、多くの場合、アフィンパラメータの非平行移動部分は0に非常に近い。シグナリングするために非制約MV差符号化を用いると、アフィンパラメータは冗長性を有する。
【0126】
本開示の態様は、アフィン動き補償の効率を向上するために新しい技術を提供する。より具体的には、アフィンモデルパラメータをより効率的に予測するためである。本開示では、ブロックのアフィン動き情報は、アフィンモデルパラメータ予測を用いて表現される。使用される予測候補(又は予測子)は、上述のアフィン融合候補またはアフィンAMVP候補と同様であり得る。予測ブロックと予測候補フロックとの間の動き情報のデルタは、2つの方法で表現できる。(1)アフィンパラメータのデルタを用いる、(2)現在ブロックの制御点の動きベクトルのデルタを用いる。アフィンパラメータの各々のデルタ、又は制御点における動きベクトルの各々のデルタは、所定のオフセット値のそれぞれのセットであってよい。所定のオフセット値は、予測子の対応する基本パラメータの周囲の何らかの改良又はオフセットと考えることができる。エンコーダは、所定のオフセット値から最適オプションを評価し、オフセット選択のインデックスをデコーダへシグナリングする。デコーダは、シグナリングされたインデックスに従い、アフィンモデルパラメータ又は制御点における動きベクトルを復元する。
【0127】
本開示では、アフィン融合候補は、2つ以上の制御点を含むことができる。制御点の各々は、1つ以上のMVを含むことができる。制御点のMVの各々のオフセット(例えば、距離及び方向)は、アフィン動きを表すために、エンコーダにより送信され得る。距離オフセットテーブルサイズは、可変であり、又はシグナリング又は予め定めることができる。距離オフセットの値範囲は、可変であり、高レベルシンタックスにより決定され得る。候補ステップサイズのセットが提供される。スライスレベルにおけるように、選択のインデックスがシグナリングされ得る。エンコーダは、決定を行うために、前の符号化ピクチャからのデータを使用してよい。
【0128】
幾つかの実施形態では、現在ブロックは、N個の制御点(CP)を有し、Nは正整数であり、1より大きい。N個のCPの各々について、zero_MVDフラグが、動きベクトル差(MVD)が0であるか否かを示すために使用される。MVDは、制御点のMVと制御点の動きベクトル予測(MPV)との間の差である。最初の(N-1)個のCPが、1(つまり、ゼロMVD)に等しいzero_MVDフラグを有する場合、最後のCPのzero_MVDフラグはゼロである(つまり、非ゼロMVD)と推定される。
【0129】
幾つかの実施形態では、本開示は、アフィンパラメータに基づくアフィンモードオフセットシグナリングを含む。
【0130】
本方法は、図13に示すように、2個の制御点(例えば、CP0及びCP1)を有する4パラメータアフィンモデルに基づき説明できる。しかしながら、図13は、単なる例であり、本開示の方法は、他の動きモデル又は異なる数のパラメータを有するアフィンモデルにまで拡張できる。幾つかの実施形態では、使用されるモデルは、常にアフィンモデルでなくてよく、他の種類の動きも可能である。
【0131】
一例では、式1に示すような、4パラメータのアフィンモデルが説明される。
【数1】
ここで、ρはズームの倍率であり、θは回転の角度因子であり、(c,f)は平行移動動きを説明するための動きベクトルである。(x,y)は現在ピクチャの中のピクセル位置であり、(x’,y’)は参照ピクチャの中の対応するピクセル位置である。
【0132】
a=ρcosθ、b=ρsinθとすると、式1は式2のような以下の形式になる。
【数2】
したがって、4パラメータのアフィンモデルは、モデルに基づくパラメータのセット{ρ,θ,c,f}又は{a,b,c,f}により表現できる。式2に基づき、ピクセル位置(x,y)における動きベクトル(MV,MV)は、式3のように記載できる。
【数3】
ここで、Vは水平動きベクトル値であり、Vは垂直動きベクトル値である。
【0133】
4パラメータのアフィンモデルは、ブロックの2個の制御点CP0及びCP1の動きベクトルによっても表現できる。同様に、6パラメータのアフィンモデルを表すために、3個の制御点が必要であってよい。現在ブロックの中の位置(x,y)における動きベクトルを導出するために、以下の式4が使用できる。
【数4】
ここで、(v0x,v0y)は左上角制御点、図13に示されたCP0の動きベクトルであり、(v1x,v1y)は右上角制御点、図13に示されたCP1の動きベクトルである。したがって、制御点に基づくモデルでは、ブロックのアフィンモデルは、{v0x,v0y,v1x,v1y}により表すことができる。
【0134】
アフィンモデルは、モデルに基づく予測または角の制御点に基づく予測のいずれかにより、現在ブロックの2個又は3個の角に位置する制御点のMVを用いて予測できる。2又は3個の制御点についての動きベクトル予測の後に、制御点のMV差(MVD)がシグナリングできる。所定のデルタ値のセットは、実際のMV差を表すために適用できる。
【0135】
図14は、制御点動きベクトルに基づくオフセットとのアフィン融合の例示的な処理(1400)の概略を示す第1のフローチャートを示す。図14に示すように、処理(1400)は、(S1410)で開始し、現在ブロックの融合フラグ及びaffine_merge_with_offset使用フラグがエンコーダによりシグナリングされ、デコーダにより後に符号化される。融合フラグ及びaffine_merge_with_offset使用フラグの両方が偽であるとき、処理(1400)は(S1420)に進み、現在ブロックを予測するために伝統的な融合モードが適用される。融合フラグ及びaffine_merge_with_offset使用フラグの両方が真であるとき、処理(1400)は(S1430)に進む。(S1430)で、基本予測子を決定するために1つより多くの予測子候補が使用されるとき、(S1450)で基本予測子インデックスがエンコーダによりシグナリングされる。その他の場合、処理(1400)は、(S1440)に進み、所定の基本予測子インデックスが適用される。
【0136】
処理(1400)は、次に、基本予測子が(S1430)又は(S1440)で定められると、(S1460)に進む。(S1460)で、現在ブロックの制御点の各々について、zero_MVDフラグがエンコーダによりシグナリングされる。留意すべきことに、全ての他のCPが1(つまり真)に等しいzero_MVDを有するとき、最後のCPは、シグナリング無しに0(つまり偽)であると推定される。
【0137】
更に(S1460)を参照して、zero_MVDフラグが真であるとき、処理(1400)は、(S1480)に進み、基本予測子の制御点のMVがブロックの制御点のMVとして設定される。zero_MVDフラグが偽であるとき、処理(1400)は、(S1470)に進み、ブロックのCPの距離オフセットインデックス及びオフセット方向インデックスがエンコーダによりシグナリングされる。(S1480)で、デコーダは、後に、距離オフセットインデックスを復号して、距離オフセット値を決定し、オフセット方向インデックスを復号して、オフセット方向を決定する。距離オフセット値及びオフセット方向は、したがって、現在ピクチャ内のブロックの制御点の動きベクトルを生成するために、基本予測子の制御点の動きベクトルに適用される。
【0138】
一実施形態では、使用フラグは、融合フラグの後に、提案された方法が使用されるか否かを示すために、シグナリングされる。提案された方法はアフィンインター予測のために適用されるので、使用フラグが真であるとシグナリングされたとき、現在ブロックのアフィンフラグは真であると推定できる。したがって、アフィンフラグのシグナリングはスキップできる。
【0139】
別の実施形態では、使用フラグは、融合フラグ及びアフィンフラグの両方が真であるとき、融合フラグ及びアフィンフラグの後にシグナリングされる。その他の場合、融合フラグが偽である又はアフィンフラグが偽であるとき、使用フラグは偽であると推定される。
【0140】
提案された方法が使用されるとき、どのアフィン予測子候補が基本予測子として使用されるかを示すために、基本インデックスがシグナリングできる。一実施形態では、1つのアフィン予測子候補のみが許可されるとき、基本インデックスはスキップでき、所定のアフィン予測子候補が基本予測子として使用できる。一実施形態では、基本インデックスは、アフィン融合候補リストからのどの候補が基本予測子として使用されるべきかを示す。別の実施形態では、基本インデックスは、どのアフィンMVP候補が基本予測子として使用されるべきかを示す。アフィン融合候補又はアフィンMVP候補が利用できないとき、提案された方法は、無効にされてよく、又は平行移動モデル又はゼロ動きベクトル、等のような規定の基本アフィンモデルにより有効にされてよい。
【0141】
現在ブロックの制御点の各々について、動きベクトル差(MVD)が該制御点について0であるか否かを示すために、zero_MVDフラグが使用できる。MVDがゼロであると示されるとき、制御点のMVは基本予測子の対応する制御点のMVとして設定される。
【0142】
一実施形態では、zero_MVDフラグは、全ての制御点について明示的にシグナリングされてよい。別の実施形態では、全ての前の制御点が真であるとシグナリングされたzero_MVDフラグを有するとき、最後の制御点のzero_MVDフラグは偽であると推定できる。
【0143】
MVD値が制御点について0ではないとき、距離オフセットインデックス及びオフセット方向インデックスは、対応する制御点のMVDを表すためにシグナリングできる。表1は、2個の制御点を有する、4パラメータのアフィンモデルに適用される信号の例である。
表1:4パラメータのアフィンモデルに適用される信号
【表1】
【0144】
6パラメータのアフィンモデルでは、3個の制御点(CP)がシグナリングでき、シグナリングは表2のように示される。
表2:6パラメータのアフィンモデルに適用される信号
【表2】
【0145】
提案された方法では、ピクセル距離オフセットは、距離オフセットインデックスによりシグナリングできる。距離オフセットテーブルでは、距離オフセットインデックスは、ピクセル数で、対応する距離オフセットにマッピングされる。距離オフセット値は、整数又は分数値であり得る。距離オフセット値は、基本予測子の動きベクトル値に更に適用できる。
【0146】
一実施形態では、4個のインデックスのサイズを有する距離オフセットテーブルが表3に示される。表3の距離オフセット値は、ピクセルの観点で、{1/2,1,2,4}である。
表3:4個のインデックスのサイズを有する距離オフセットテーブル
【表3】
【0147】
別の実施形態では、表4は、距離オフセット値が、ピクセルの観点で{1/8,1/4,1/2,1}であり得ることを示す。
表4:4個のインデックスのサイズを有する別の距離オフセットテーブル
【表4】
【0148】
一実施形態では、5個のインデックスのサイズを有する距離オフセットテーブルが表5に示される。表5の距離オフセット値は、ピクセルの観点で、{1/2,1,2,4,8}である。
表5:5個のインデックスのサイズを有する距離オフセットテーブル
【表5】
【0149】
別の実施形態では、8個のインデックスを有する距離オフセット値のマッピングテーブルは、表6に示される。距離オフセット値は、1/4ピクセル~32ピクセルまでの範囲にあり得る。
表6:8個のインデックスのサイズを有する距離オフセットテーブル
【表6】
【0150】
別の実施形態では、8個のインデックスを有する距離オフセット値のマッピングテーブルは、表7に示される。表7の距離オフセット値は、1/16ピクセル~8ピクセルまでの範囲にあり得る。
表7:8個のインデックスのサイズを有する別の距離オフセットテーブル
【表7】
【0151】
留意すべきことに、上述のテーブルは、単なる例である。距離オフセットテーブルの中の距離インデックスは、それぞれ表3、5、及び6に示される4、5、又は8のような種々のサイズを有することができる。距離オフセットテーブルでは、距離オフセットインデックスの各々は、それぞれの距離オフセットにマッピングされる。距離オフセットは、異なる値を有し、又は異なる範囲にあり得る。
【0152】
一実施形態では、距離オフセットテーブルのサイズは、現在ブロックの全ての制御点について同じであり得る。
【0153】
別の実施形態では、距離オフセットテーブルのサイズは、制御点の各々について異なり得る。例えば、2個の制御点を有する4パラメータのアフィンモデルでは、第1制御点CP0は、5個のエントリ(インデックス)を有する距離オフセットテーブルを有し得る。第2制御点CP1は、4個のエントリ(インデックス)を有する距離オフセットテーブルを有し得る。可能なテーブルサイズは、表3~7の上述の例に限定されない。
【0154】
提案された方法では、オフセット方向インデックスは、x軸及びy軸のような1つ以上のオフセット方向にマッピングされる。オフセット方向インデックスは、基本予測子のMV値に対してMVDの方向に対応する。オフセット方向の各々は、基本予測子のMVに適用可能な距離オフセットのコンポーネントに相関される。
【0155】
一実施形態では、オフセット方向インデックスは、表8に示されるような4個の方向を含み得る。4個の方向の各々は、それぞれのx軸(xオフセット方向コンポーネント)及びそれぞれのy軸(yオフセット方向コンポーネント)を含み得る。表8に示すように、MVDは、x軸又はy軸のいずれかに存在するが、両方の軸には存在しない。
表8:方向IDXの方向へのマッピング
【表8】
【0156】
別の例では、MVDは、表9に示されるように、x軸のみ、y軸のみ、又は両方の軸に存在できる。表9に示すように、オフセット方向インデックスは、8個の方向を含み、8個の方向のうちの1つが適用できる。
表9:方向IDXの方向へのマッピング
【表9】
【0157】
本開示では、提案された方法が適用されるとき、アフィンモードと同様に、現在ブロックのインター予測方向は、基本予測子からのインター予測方向を使用できる。
【0158】
幾つかの実施形態では、基本予測子のインター予測が単方向であるとき、これは、現在ブロックの制御点の動きベクトルが前又は後ろ方向のいずれかに沿って1つの参照ピクチャのみを指していることを意味し、現在ブロックのMVと現在ブロックのMVP(つまり基本予測子のMV)との間の動きベクトル差(MVD)は、有効なインター予測方向に基づき導出できる。上述のオフセット方向の各々について、距離オフセット値は、ゼロではないオフセット方向コンポーネント(例えば、x軸、y軸)に沿った基本予測子の対応する制御点の動きベクトル値に適用できる。
【0159】
例えば、現在ブロックは、2個の制御点CP0及びCP1を有し得る。制御点CP0は動きベクトルMV0(v0x,v0y)を有することができ、制御点CP1は動きベクトルMV1(v1x,v1y)を有することができる。現在ブロックの基本予測子は、2個の制御点CP0及びCP1を有し得る。制御点CP0は動きベクトルMVP0(v0px,v0py)を有することができ、制御点CP1は動きベクトルMVP1(v1px,v1py)を有することができる。CP0のMVDフラグが、CP0のMVDは非ゼロMVDであることを示すとき、CP0の距離オフセットは1pelであるとシグナリングされ、CP0のオフセット方向はx軸で「+0」であり且つy軸で0であるとシグナリングされる。CP1のMVDフラグが、CP1のMVDは非ゼロであることを示すとき、CP1の距離オフセットは2pelであるとシグナリングされ、CP1のオフセット方向はx軸で0であり且つy軸で「-」であるとシグナリングされる。CP0及びCO1の動きベクトル値は以下のように導出できる。
【数5】
ここで、MV(1,0)は現在ブロックのCP0のMVDであり、MV(0,-2)は現在ブロックのCP1のMVDである。
【0160】
幾つかの実施形態では、基本予測子のインター予測が双方向であるとき、現在ブロックの制御点の各々は、両方のインター予測方向の動きベクトルを有することができ、2つの有効な方向の動きベクトルを導出するために異なる方法が適用される。
【0161】
一実施形態では、シグナリングされた距離オフセット及びオフセット方向は、同じ方法で、両方のインター予測方向の制御点のMVPに適用できる。例えば、距離オフセットインデックス及びオフセット方向インデックスは、それぞれの2つの予測方向の2つの動きベクトル予測子値を有する現在ブロックの制御点についてシグナリングされ、距離オフセットインデックス及びオフセット方向インデックスは、同じ方法で、制御点の2つの動きベクトル予測子値に適用できる。シグナリングされた距離オフセット及びオフセット方向は、参照リストL0によりインター方向のMVP値の一番上に適用できる。同じ距離オフセット及びオフセット方向は、参照リストL1によりインター方向のMVP値の一番上に適用できる。
【0162】
例えば、現在ブロックは、2個の制御点CP0及びCP1を有し得る。CP0はインター方向L0の動きベクトルL0_MV0(L0_v0x,L0_v0y)、及びインター方向L1の動きベクトルL1_MV0(L1_v0x,L1_v0y)を有する。CP1はインター方向L0の動きベクトルL0_MV1(L0_v1x,L0_v1y)、及びインター方向L1の動きベクトルL1_MV1(L0_v1x,L0_v1y)を有する。基本予測子は、2個の制御点CP0及びCP1を有し得る。CP0はインター方向L0の動きベクトルL0_MVP0(L0_v0px,L0_v0py)、及びインター方向L1の動きベクトルL1_MVP0(L1_v0px,L1_v0py)を有し得る。CP1はインター方向L0の動きベクトルL0_MVP1(L0_v1px,L0_v1py)、及びインター方向L1の動きベクトルL1_MVP1(L1_v1px,L1_v1py)を有し得る。CP0のMVDフラグが、CP0のMVDは非ゼロMVDであることを示すとき、CP0の距離オフセットは1pelであるとシグナリングされ、CP0のオフセット方向はx軸で「+」であり且つy軸で0であるとシグナリングされる。CP1のMVDフラグが、CP1のMVDは非ゼロMVDであることを示すとき、CP1の距離オフセットは2pelであるとシグナリングされ、CP1のオフセット方向はx軸で0であり且つy軸で「-」であるとシグナリングされる。現在ブロックのCP0及びCP1の導出される動きベクトル値は以下であり得る。
【数6】
【0163】
別の実施形態では、シグナリングされた距離オフセット及びオフセット方向は、同じ距離オフセットを有するが鏡像反転されたオフセット方向にある2つのインター予測方向にある制御点のMVPに適用できる。例えば、距離オフセットインデックス及びオフセット方向インデックスは、それぞれの2つの予測方向の2つの動きベクトル予測子値を有する現在ブロックの制御点についてシグナリングされるが、距離オフセットインデックス及びオフセット方向インデックスは、異なる方法で、制御点の2つの動きベクトル予測子値に適用できる。シグナリングされた距離オフセット及びオフセット方向は、参照リストL0によりインター方向のMVPの一番上に適用でき、同じ距離オフセット及び反対のオフセット方向は、参照リストL1によりインター方向のMVPの一番上に適用できる。
【0164】
例えば、現在ブロックは、2個の制御点CP0及びCP1を有し得る。CP0はインター方向L0の動きベクトルL0_MV0(L0_v0x,L0_v0y)、及びインター方向L1の動きベクトルL1_MV0(L1_v0x,L1_v0y)を有する。CP1はインター方向L0の動きベクトルL0_MV1(L0_v1x,L0_v1y)、及びインター方向L1の動きベクトルL1_MV1(L0_v1x,L0_v1y)を有する。基本予測子は、2個の制御点CP0及びCP1を有し得る。CP0はインター方向L0の動きベクトルL0_MVP0(L0_v0px,L0_v0py)、及びインター方向L1の動きベクトルL1_MVP0(L1_v0px,L1_v0py)を有し得る。CP1はインター方向L0の動きベクトルL0_MVP1(L0_v1px,L0_v1py)、及びインター方向L1の動きベクトルL1_MVP1(L1_v1px,L1_v1py)を有し得る。CP0のMVDフラグが、CP0のMVDは非ゼロMVDであることを示すとき、CP0の距離オフセットは1pelであるとシグナリングされ、CP0のオフセット方向はx軸で「+」であり且つy軸で0であるとシグナリングされる。CP1のMVDフラグが、CP1のMVDは非ゼロMVDであることを示すとき、CP1の距離オフセットは2pelであるとシグナリングされ、CP1のオフセット方向はx軸で0であり且つy軸で「-」であるとシグナリングされる。現在ブロックのCP0及びCP1の導出される動きベクトル値は以下であり得る。
【数7】
【0165】
別の実施形態では、距離オフセットインデックス及びオフセット方向のシグナリングは、インター予測方向の各々について別個に行われる。その結果、双方向アフィンインター予測による制御点の各々について、2つの距離オフセットインデックス及び2つのオフセット方向がエンコーダによりシグナリングできる。
【0166】
一実施形態では、同じ距離オフセットマッピングテーブル及び/又はオフセット方向マッピングテーブルは、上述の全ての場合について使用できる。
【0167】
別の実施形態では、異なる距離オフセットマッピングテーブル及び/又は異なるオフセット方向マッピングテーブルが使用できる。決定されたマッピングテーブルは、シーケンスレベル、スライスレベル、タイルレベル、タイルグループレベル、又はブロックレベルでシグナリングできる。
【0168】
別の実施形態では、異なる距離オフセットマッピングテーブル及び/又は異なるオフセット方向マッピングテーブルは、シグナリング無しで各シーケンスについて使用できる。マッピングテーブルの決定は、符号化ビデオシーケンスの解像度、符号化のプロファイル/レベル、ユーザ構成、等に基づき行うことができる。
【0169】
一実施形態では、上述の派生物は、アフィンモードの制御点のMV差(MVD)の各々に適用できる。
【0170】
別の実施形態では、第1制御点のMV差の符号化の後に、第1制御点のMV差は、他の制御点の他のMVDについてMVD符号化を実行する前に、他のMV差を予測するために使用できる。このような処理は、MVD予測と呼ばれる。MVD予測の後に、MVD予測誤差は、MVDの実際の値を近似するために所定の値のセットを適用する本開示で提案された方法を用いて符号化できる。
【0171】
提案された方法では、エンコーダ側で、提案されたMVD符号化方法のために使用する最適パラメータを決定するために、異なる探索方法が適用できる。
【0172】
一実施形態では、基本予測子、制御点の各々のMVD符号化フラグ、距離オフセットインデックス、及びオフセット方向インデックスの全ての可能な組み合わせが、最適レート歪みコストとの最適な組み合わせを見付けるためにテストされ得る。
【0173】
別の実施形態では、2回の探索が適用できる。第1回の探索では、固定距離オフセット値が、MVDフラグとオフセット方向との全ての可能な組み合わせと一緒に適用できる。第1回の探索で決定された最適なMVDフラグ及び/又はオフセット方向に基づき、第2回の探索は、最終的な最適予測を発見するために、全ての残りの距離オフセットインデックスをテストできる。
【0174】
本開示では、アフィンモデルは、また、アフィンパラメータ{ρ,θ,c,f}に基づくアフィン動き情報予測を通じて、現在ブロックの2個又は3個の角に位置する制御点のMVを用いて予測できる。上述の方法は、アフィンパラメータに基づくアフィン動き情報予測にも適用できる。ここで、基本予測子のアフィンモデルパラメータの周囲の所定のデルタ値のセットは、現在ブロックの中で使用される実際のアフィンモデルを導出するために適用できる。デルタ値の数は限られているので、提案された方法は、アフィンパラメータのシグナリングの量子化されたバージョンとして考えられる。
【0175】
以下の議論は、アフィンモデルを定めるために、ρ及びθの値を指定する幾つかの実施形態を提供する。idx_ρ及びidx_θは、それぞれ2つのパラメータρ及びθに関連付けられたインデックスである。idx_ρ及びidx_θが0であるとき、モデルは平行移動モデルに戻る。idx_ρ及びidx_θが0ではないとき、現在ブロックのアフィンモデルパラメータを生成するために、小さいデルタが基本予測子のアフィンパラメータ値に適用できる。
【0176】
図15は、アフィンパラメータに基づくオフセットとのアフィン融合の処理(1500)の概略を示す第2のフローチャートを示す。図15に示すように、処理(1500)は、(S1502)で開始し、現在ブロックの融合フラグ及びaffine_merge_with_offset使用フラグがエンコーダによりシグナリングされ、デコーダにより後に符号化される。融合フラグ及びaffine_merge_with_offset使用フラグの両方が偽であるとき、処理(1500)は(S1503)に進み、現在ブロックを予測するために伝統的な融合モードが適用される。融合フラグ及びaffine_merge_with_offset使用フラグの両方が真であるとき、処理(1500)は(S1504)に進む。(S1504)で、基本予測子を決定するために1つより多くの予測子候補が使用されるとき、(S1506)で基本予測子インデックスがエンコーダによりシグナリングされる。その他の場合、処理(1500)は、(S1505)に進み、所定の基本予測子インデックスが適用される。
【0177】
処理(1500)は、次に、基本予測子が(S1505)又は(S1506)で定められると、(S1507)に進む。(S1507)で、現在ブロックの制御点の各々について、zero_deltaフラグがエンコーダによりシグナリングされる。zero_deltaフラグが真であるとき、それに応じて処理(1500)は(S1508)及び(S1512)に進む。(S1508)で、現在ブロックのスケーリングパラメータは、基本予測子のスケーリングパラメータρに等しく設定される。(S1512)で、現在ブロックの回転パラメータは、基本予測子の回転パラメータθに等しく設定される。
【0178】
zero_deltaフラグが偽であるとき、それに応じて処理(1500)は(S1509)及び(S1511)に進む。(S1509)で、デルタスケーリングインデックスは、エンコーダによりシグナリングされる。デルタスケーリングインデックスは、デルタスケーリングパラメータに関連付けられる。(S1510)で、デコーダは、デルタスケーリングインデックスを復号して、デルタスケーリングパラメータを導出する。現在ブロックのスケーリングパラメータは、基本予測子のスケーリングパラメータとデルタスケーリングパラメータとを結合することにより生成される。同様に、(S1511)で、デルタ回転インデックスは、エンコーダによりシグナリングされる。デルタ回転インデックスは、デルタ回転パラメータに関連付けられる。(S1513)で、デコーダは、デルタ回転インデックスを復号して、デルタ回転パラメータを導出する。現在ブロックの回転パラメータは、基本予測子の回転パラメータとデルタ回転パラメータとを結合することにより生成される。
【0179】
処理1500は実質的に(S1514)に進む。(S1514)で、現在ブロックの制御点の各々について、zero_MVDフラグがエンコーダによりシグナリングされる。zero_MVDフラグが真であるとき、処理(1500)は、(S1516)に進み、基本予測子の制御点の平行移動MVがブロックの制御点の平行移動MVとして設定される。zero_MVDフラグが偽であるとき、処理(1500)は、(S1515)に進み、ブロックのCPの距離オフセットインデックス及びオフセット方向インデックスがエンコーダによりシグナリングされる。デコーダは、後に、距離オフセットインデックスを復号して、距離オフセット値を決定し、オフセット方向インデックスを復号して、オフセット方向を決定する。距離オフセット値及びオフセット方向は、したがって、現在ピクチャ内の制御点の平行移動MVを生成するために、基本予測子の制御点の平行移動MVに適用される。
【0180】
本開示の一実施形態では、使用フラグは、融合フラグの後に、提案された方法が使用されるか否かを示すために、シグナリングされる。提案された方法はアフィンインター予測のために適用されるので、使用フラグが真であるとシグナリングされたとき、現在ブロックのアフィンフラグは真であると推定できる。
【0181】
別の実施形態では、使用フラグは、融合フラグ及びアフィンフラグの両方が真であるとき、融合フラグ及びアフィンフラグの後にシグナリングされる。その他の場合、融合フラグが偽である又はアフィンフラグが偽であるとき、使用フラグは偽であると推定される。
【0182】
提案された方法が使用されるとき、どのアフィン予測子候補が基本予測子として使用されるかを示すために、基本インデックスがシグナリングできる。1つのアフィン予測子候補のみが許可されるとき、基本インデックスはスキップできる。
【0183】
一実施形態では、基本インデックスは、アフィン融合候補リストからのどの候補が基本予測子として使用されるべきかを示す。
【0184】
別の実施形態では、基本インデックスは、どのアフィンMVP候補が基本予測子として使用されるべきかを示す。
【0185】
幾つかの実施形態では、アフィン融合候補又はアフィンMVP候補が利用できないとき、提案された方法は無効にでき、又は平行移動モデル又はゼロ動きベクトル、等のような規定の基本アフィンモデルにより有効にできる。
【0186】
アフィンパラメータでは、zero_deltaフラグは、アフィン動きパラメータデータ(affine motion parameter delta:AMPD)が0でるか否かを示すために使用されてよい。AMPDが0であると示されるとき、現在ブロックのアフィンモデルパラメータ対応するアフィンパラメータは、基本予測子のアフィンパラメータとして設定される。
【0187】
一実施形態では、それぞれのzero_deltaフラグは、回転パラメータ、スケーリングパラメータ、及び平行移動MVDのようなアフィンパラメータの各々について明示的にシグナリングできる。それぞれのzero_deltaフラグが偽であるとき、対応するアフィンパラメータがシグナリングできる。
【0188】
別の実施形態では、1つのzero_deltaフラグのみが、ブロックの全部のアフィンパラメータについてシグナリングできる。zero_deltaフラグが偽であるとき、全部のアフィンパラメータがシグナリングできる。
【0189】
幾つかの実施形態では、デルタスケーリングパラメータは、デルタスケーリングインデックスIdx_ρを送信することによりシグナリングできる。対応するデルタスケーリングパラメータ値は、デルタスケーリングインデックスに関連付けられたデルタスケーリングパラメータから導出できる。
【0190】
一実施形態では、表10にデルタスケーリングパラメータテーブルが示され、デルタスケーリングインデックスIdx_ρは9個のインデックスを含み、9個のインデックスの各々は対応するデルタスケーリングパラメータΔρを含み得る。デルタスケーリングパラメータΔρは、nの倍数である値に等しくてよい。nはプリセット又はシグナリングされたスケーリングパラメータであり得る。nのシグナリングは、ブロックレベル、CTUレベル、スライス/ピクチャレベル、又はシーケンスレベルで行うことができる。例えば、nは1/16であり得る。nの値は、所定の固定値でもあり得る。
表10:方向IDXの方向へのマッピング
【表10】
【0191】
デルタ回転パラメータは、デルタ回転インデックスIdx_θを送信することによりシグナリングできる。対応するデルタ回転パラメータ値は、インデックスIdx_θを用いてデルタ回転パラメータテーブルから導出できる。
【0192】
一実施形態では、デルタ回転パラメータテーブルは表11に示され得る。表11に示すように、デルタ回転インデックスIdx_θは、9個のインデックスを含み、9個のインデックスの各々は、対応する回転角θのsin及びcos値のペアにマッピングされる。
表11:idx_θのsinθ及び(cosθ)^2へのマッピング
【表11】
【0193】
別の実施形態では、αはプリセット又はシグナリングされたデルタ角度パラメータである。インデックスの各々は、表12に示されるそれぞれのデルタ角度値Δθにマッピングされ得る。
表12:idx_θ及びΔθのマッピング
【表12】
【0194】
表13は、idx_θ及びΔθの別のマッピング例を提供する。
表13:idx_θ及びΔθのマッピング
【表13】
【0195】
αのシグナリングは、ブロックレベル、CTUレベル、スライス/ピクチャレベル、又はシーケンスレベルで行うことができる。αの値は、所定の固定値でもあり得る。
【0196】
留意すべきことに、上述の表は、単なる例であり、デルタ値の可能な数は8に固定されない。他の適切な値、例えば4、16等が使用できる。
【0197】
上述の例では、デルタスケーリングインデックス及び/又はデルタ回転インデックスの2値化は以下の方法で構成できる。つまり、インデックスが0か否かをシグナリングするために、1ビットが使用される。0である場合、追加ビットは必要ない。0でない場合、一実施形態では、打ち切り(truncated)2進法、指数ゴロム符号、等のような可変長符号化がインデックス1~8に適用される。別の実施形態では、0でない場合、固定長符号化がインデックス1~8をシグナリングするために使用される。
【0198】
アフィンモデルの平行移動動き情報部分{c,f}では、予測方法は、上述の制御点動きベクトル予測方法と同じであり得る。上述の制御点に基づくオフセットとのアフィン融合方法は、アフィンブロックの平行移動MVを導出するために適用できる。例えば、平行移動zero_MVDフラグは、予測平行移動MVと現在ブロックの平行移動MVとの間の動きベクトル差が存在するか否かを示すために使用できる。平行移動zero_MVDフラグが偽であるとき、平行移動距離オフセットインデックス及び平行移動オフセット方向インデックスは、エンコーダによりシグナリングできる。デコーダは、距離オフセットインデックスを復号して、距離オフセット値を導出し、オフセット方向インデックスを復号して、オフセット方向を決定する。距離オフセット値及びオフセット方向は、ブロックの平行移動動きベクトルを生成するために、基本予測子の平行移動動きベクトルに適用できる。
【0199】
表14は、上述の方法に適用可能なインデックス及びフラグのシグナリングの一例である。
表14:インデックス及びフラグのシグナリングの一例
【表14】
【0200】
表15は、上述の方法に適用可能なインデックス及びフラグのシグナリングの別の例である。
表15:インデックス及びフラグのシグナリングの別の例
【表15】
【0201】
図16は、本開示の一実施形態による、処理(1600)の概要を示すフローチャートを示す。処理(1600)は、再構成中のブロックについて予測ブロックを生成するために、イントラモードで符号化されたブロックの再構成において使用できる。種々の実施形態では、処理(1600)は、端末装置(210)、(220)、(230)及び(240)内の処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、イントラ予測モジュール(452)の機能を実行する処理回路、ビデオエンコーダ(503)の機能を実行する処理回路、予測器(535)の機能を実行する処理回路、イントラエンコーダ(622)の機能を実行する処理回路、イントラデコーダ(772)の機能を実行する処理回路、等のような処理回路により実行される。幾つかの実施形態では、処理(1600)は、ソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路が処理(1600)を実行する。処理は(S1601)で開始し、(S1610)に進む。
【0202】
(S1610)で、現在ブロック内のブロックの予測情報が符号化ビデオビットストリームから復号できる。予測情報は、インター予測モードにおけるアフィンモデルに関連付けられた予測オフセットの複数のオフセットインデックスを含む。
【0203】
(S1620)で、アフィンモデルのパラメータは、複数のオフセットインデックスに基づき決定できる。複数のオフセットインデックスの各々は、インデックスと対応するオフセット値とを含むそれぞれの所定のマッピングテーブルを含む。アフィンモデルのパラメータは、ブロックと再構成された参照ピクチャの中の参照ブロックとの間で変換するために使用できる。表3~13は、インデックスとオフセット値との間の所定のマッピングの種々の例を示し、アフィンモデルのパラメータを決定するために使用できる。
【0204】
(S1630)で、ブロックのサンプルは、アフィンモデルに従い再構成される。一例では、ブロック内のピクセルに対応する参照ピクチャ内の参照ピクセルは、アフィンモデルに従い決定される。さらに、ブロック内のピクセルは、参照ピクチャ内の参照ピクセルに従い再構成される。次に、処理は(S1699)に進み終了する。
【0205】
本開示では、提案された方法は、別個に使用され、及び任意の順序で結合できる。さらに、方法(又は実施形態)は、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)により実施されてよい。一例では、1つ以上のプロセッサは、非一時的コンピュータ可読媒体に格納されたプログラムを実行する。
【0206】
上述の技術は、コンピュータ可読命令を用いてコンピュータソフトウェアとして実装でき、1つ以上のコンピュータ可読媒体に物理的に格納でる。例えば、図17は、本開示の主題の特定の実施形態を実装するのに適するコンピュータシステム(1700)を示す。
【0207】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク等のメカニズムにより処理されて、1つ以上のコンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、等により直接又はインタープリット、マイクロコード実行、等を通じて実行可能な命令を含むコードを生成し得る、任意の適切な機械コードまたはコンピュータ言語を用いて符号化できる。
【0208】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置、等を含む種々のコンピュータ又はそのコンポーネントで実行できる。
【0209】
コンピュータシステム(1700)の図17に示すコンポーネントは、本来例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に対するようないかなる限定も示唆しない。さらに、コンポーネントの構成も、コンピュータシステム(1700)の例示的な実施形態に示されたコンポーネントのうちのいずれか又は組み合わせに関連する任意の依存性又は要件を有すると解釈されるべきではない。
【0210】
コンピュータシステム(1700)は、特定のヒューマンインタフェース入力装置を含んでよい。このようなヒューマンインタフェース入力装置は、例えば感覚入力(例えば、キーストローク、スワイプ、データグラブ動作)、音声入力(例えば、音声、クラッピング)、視覚的入力(例えば、ジェスチャ)、嗅覚入力(示されない)を通じた1人以上の人間のユーザによる入力に応答してよい。ヒューマンインタフェース装置は、必ずしも人間による意識的入力に直接関連する必要のない特定の媒体、例えば音声(例えば、会話、音楽、環境音)、画像(例えば、スキャンされた画像、デジタルカメラから取得された写真画像)、ビデオ(例えば、2次元ビデオ、3次元ビデオ、立体ビデオを含む)をキャプチャするためにも使用できる。
【0211】
入力ヒューマンインタフェース装置は、キーボード(1701)、マウス(1702)、トラックパッド(1703)、タッチスクリーン(1710)、データグラブ(図示しない)、ジョイスティック(1705)、マイクロフォン(1706)、スキャナ(1707)、カメラ(1708)、のうちの1つ以上を含んでよい(そのうちの1つのみが示される)。
【0212】
コンピュータシステム(1700)は、特定のヒューマンインタフェース出力装置も含んでよい。このようなヒューマンインタフェース出力装置は、例えば感覚出力、音声、光、及び匂い/味を通じて1人以上の人間のユーザの感覚を刺激してよい。このようなヒューマンインタフェース出力装置は、感覚出力装置を含んでよい(例えば、タッチスクリーン(1710)、データグラブ(図示しない)、又はジョイスティック(1705(による感覚フィードバック、しかし入力装置として機能しない感覚フィードバック装置も存在し得る)、音声出力装置(例えば、スピーカ(1709)、ヘッドフォン(図示しない)、視覚的出力装置(例えば、スクリーン(1710)、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、それぞれタッチスクリーン入力能力を有し又は有さず、それぞれ感覚フィードバック能力を有し又は有さず、これらのうちの幾つかは例えば立体出力、仮想現実眼鏡(図示しない)、ホログラフィックディスプレイ、及び発煙剤タンク(図示しない)、及びプリンタ(図示しない)のような手段を通じて2次元視覚出力又は3次元以上の出力を出力可能であってよい))。
【0213】
コンピュータシステム(1700)は、人間のアクセス可能な記憶装置、及び、例えばCD/DVD等の媒体(1721)を備えるCD/DVD ROM/RW(1720)のような光学媒体、サムドライブ(1722)、取り外し可能ハードドライブ又は個体状態ドライブ(1723)、テープ及びフロッピディスク(図示しない)のようなレガシー磁気媒体、セキュリティドングル(図示しない)等のような専用ROM/ASIC/PLDに基づく装置のような関連する媒体も含み得る。
【0214】
当業者は、本開示の主題と関連して使用される用語「コンピュータ可読媒体」が伝送媒体、搬送波、又は他の一時的信号を包含しないことも理解すべきである。
【0215】
コンピュータシステム(1700)は、1つ以上の通信ネットワークへのインタフェースも含み得る。ネットワークは、例えば無線、有線、光であり得る。ネットワークは、更に、ローカル、広域、都市域、車両及び産業、リアルタイム、耐遅延性、等であり得る。ネットワークの例は、イーサネットのようなローカルエリアネットワーク、無線LAN、GSM、3G、4G、5G、LET等を含むセルラネットワーク、ケーブルTV、衛星TV、地上波放送TVを含むTV有線又は無線広域デジタルネットワーク、CANBusを含む車両及び産業、等を含む。特定のネットワークは、一般に、特定の汎用データポート又は周辺機器バス(1749)(例えば、コンピュータシステム(1700)のUSBポート)に取り付けられる外部ネットワークインタフェースを必要とする。他のものは、一般に、後述するようなシステムバスへの取り付けによりコンピュータシステム(1700)のコアに統合される(例えば、イーサネットインタフェースをPCコンピュータシステムへ、又はセルラネットワークインタフェースをスマートフォンコンピュータシステムへ)。これらのネットワークを用いて、コンピュータシステム(1700)は、他のエンティティと通信できる。このような通信は、単方向受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANbus装置へのCANbus)、又は例えばローカル又は広域デジタルネットワークを用いて他のコンピュータシステムへの双方向であり得る。特定のプロトコル及びプロトコルスタックが、上述のネットワーク及びネットワークインタフェースの各々で使用され得る。
【0216】
前述のヒューマンインタフェース装置、人間のアクセス可能な記憶装置、及びネットワークインタフェースは、コンピュータシステム(1700)のコア(1740)に取り付け可能である。
【0217】
コア(1740)は、1つ以上の中央処理ユニット(CPU)(1741)、グラフィック処理ユニット(GPU)(1742)、GPGAの形式の専用プログラマブル処理ユニット(1743)、特定タスクのためのハードウェアアクセラレータ(1744)、等を含み得る。これらの装置は、読み出し専用メモリ(ROM)(1745)、ランダムアクセスメモリ(1746)、内部のユーザアクセス不可能なハードドライブ、SSD、等のような内蔵大容量記憶装置(1747)と共に、システムバス(1748)を通じて接続されてよい。幾つかのコンピュータシステムでは、追加CPU、GPU、等による拡張を可能にするために、システムバス(1748)は、1つ以上の物理プラグの形式でアクセス可能である。周辺機器は、コアのシステムバス(1748)に直接に、又は周辺機器バス(1749)を通じて、取り付け可能である。周辺機器バスのアーキテクチャは、PCI、USB、等を含む。
【0218】
CPU(1741)、GPU(1742)、FPGA(1743)、及びアクセラレータ(1744)は、結合されて前述のコンピュータコードを生成可能な特定の命令を実行できる。該コンピュータコードは、ROM(1745)又はRAM(1746)に格納できる。一時的データもRAM(1746)に格納でき、一方で、永久的データは例えば内蔵大容量記憶装置(1747)に格納できる。メモリ装置のうちのいずれかへの高速記憶及び読み出しは、CPU(1741)、GPU(1742)、大容量記憶装置(1747)、ROM(1745)、RAM(1746)等のうちの1つ以上に密接に関連付けられ得るキャッシュメモリの使用を通じて可能にできる。
【0219】
コンピュータ可読媒体は、種々のコンピュータにより実施される動作を実行するためのコンピュータコードを有し得る。媒体及びコンピュータコードは、本開示の目的のために特別に設計され構成されたものであり得、又は、コンピュータソフトウェア分野の当業者によく知られ利用可能な種類のものであり得る。
【0220】
例として及び限定ではなく、アーキテクチャを有するコンピュータシステム(1700)、及び具体的にはコア(1740)は、プロセッサ(CPU、GPU、FPGA、アクセラレータ、等を含む)が1つ以上の有形コンピュータ可読媒体内に具現化されたソフトウェアを実行した結果として、機能を提供できる。このようなコンピュータ可読媒体は、コア内蔵大容量記憶装置(1747)又はROM(1745)のような非一時的特性のコア(1740)の特定の記憶装置、及び上述のようなユーザアクセス可能な大容量記憶装置と関連付けられた媒体であり得る。本開示の種々の実施形態を実装するソフトウェアは、このような装置に格納されコア(1740)により実行できる。コンピュータ可読媒体は、特定の必要に従い、1つ以上のメモリ装置又はチップを含み得る。ソフトウェアは、コア(1740)及び具体的にはその中のプロセッサ(CPU、GPU、FPGA、等を含む)に、ソフトウェアにより定義された処理に従うRAM(1746)に格納されたデータ構造の定義及び該データ構造の変更を含む、ここに記載した特定の処理又は特定の処理の特定の部分を実行させることができる。追加又は代替として、コンピュータシステムは、ここに記載の特定の処理又は特定の処理の特定の部分を実行するためにソフトウェアと一緒に又はそれに代わって動作可能な論理ハードワイヤド又は他の回路内の実装(例えば、アクセラレータ(1744))の結果として機能を提供できる。ソフトウェアへの言及は、ロジックを含み、適切な場合にはその逆も同様である。コンピュータ可読媒体への言及は、適切な場合には、実行のためにソフトウェアを格納する(集積回路(IC)のような)回路、実行のためにロジックを実装する回路、又はそれらの両方を含み得る。本開示は、ハードウェア及びソフトウェアの任意の適切な組み合わせを含む。
【0221】
付録A:用語集
JEM: joint exploration model
VVC: versatile video coding
BMS: benchmark set
MV: Motion Vector
HEVC: High Efficiency Video Coding
SEI: Supplementary Enhancement Information
VUI: Video Usability Information
GOPs: Groups of Pictures
TUs: Transform Units,
PUs: Prediction Units
CTUs: Coding Tree Units
CTBs: Coding Tree Blocks
PBs: Prediction Blocks
HRD: Hypothetical Reference Decoder
SNR: Signal Noise Ratio
CPUs: Central Processing Units
GPUs: Graphics Processing Units
CRT: Cathode Ray Tube
LCD: Liquid-Crystal Display
OLED: Organic Light-Emitting Diode
CD: Compact Disc
DVD: Digital Video Disc
ROM: Read-Only Memory
RAM: Random Access Memory
ASIC: Application-Specific Integrated Circuit
PLD: Programmable Logic Device
LAN: Local Area Network
GSM: Global System for Mobile communications
LTE: Long-Term Evolution
CANBus: Controller Area Network Bus
USB: Universal Serial Bus
PCI: Peripheral Component Interconnect
FPGA: Field Programmable Gate Areas
SSD: solid-state drive
IC: Integrated Circuit
CU: Coding Unit
【0222】
本開示は、幾つかの例示的な実施形態を記載したが、代替、置換、及び種々の代用の均等物が存在し、それらは本開示の範囲に包含される。当業者に明らかなことに、ここに明示的に示され又は説明されないが、本開示の原理を実施し、したがって、本開示の精神及び範囲に含まれる多数のシステム及び方法を考案可能である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17