(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-12
(54)【発明の名称】フレーム境界外の条件についての動きベクトルの制約
(51)【国際特許分類】
H04N 19/52 20140101AFI20240305BHJP
【FI】
H04N19/52
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023558746
(86)(22)【出願日】2022-10-17
(85)【翻訳文提出日】2023-09-25
(86)【国際出願番号】 US2022078219
(87)【国際公開番号】W WO2023136941
(87)【国際公開日】2023-07-20
(32)【優先日】2022-01-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-10-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チェン,リン-フェイ
(72)【発明者】
【氏名】リー,シャン
(72)【発明者】
【氏名】リウ,シャン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MC11
5C159ME01
5C159PP04
5C159TA62
5C159TB08
5C159TC12
5C159TC31
5C159UA02
5C159UA05
5C159UA22
(57)【要約】
本開示の側面はビデオ復号のための方法及び装置を提供する。当該装置は、現在ブロックの動き情報を決定する処理回路を含む。動き情報は、現在ブロックの1つ以上の参照ブロックを示す。動き情報制約が、1つ以上の参照ブロックがそれぞれ1つ以上の参照ピクチャのピクチャ境界内にあることを示す場合、処理回路は、1つ以上の参照ブロックに基づいて現在ブロックを再構成する。第1の動きベクトル(MV)が現在ブロック内の領域から第1の参照ピクチャのピクチャ境界外にある第1の参照ブロックの第1の参照領域を指す場合、処理回路は、第1のMVをクリッピングすることによって、当該領域から更新された第1の参照領域を指す第1のクリッピングMVを決定し、更新された第1の参照領域はピクチャ境界内にある。
【特許請求の範囲】
【請求項1】
ビデオデコーダにおけるビデオ復号のための方法であって、
インター予測で予測された現在ブロックの動き情報を決定するステップであって、前記動き情報は、それぞれ1つ以上の参照ピクチャに関連付けられた前記現在ブロックの1つ以上の参照ブロックを示す、ステップと、
動き情報制約が、前記1つ以上の参照ブロックがそれぞれ1つ以上の参照ピクチャのピクチャ境界内にあることを示すことに応じて、前記1つ以上の参照ブロックに基づいて前記現在ブロックを再構成するステップと、
前記動き情報によって示される第1の動きベクトル(MV)が、前記現在ブロック内の領域から、前記1つ以上の参照ブロック内の第1の参照ブロックの領域であり且つ前記1つ以上の参照ピクチャのうち第1の参照ピクチャのピクチャ境界外にある第1の参照領域を指し、前記ピクチャ境界が前記第1の参照ピクチャの前記ピクチャ境界を含むことに応じて、更新された第1の参照領域が前記第1の参照ピクチャの前記ピクチャ境界内にある更新された第1の参照ブロック内にあるように、前記第1のMVをクリッピングすることによって、前記現在ブロック内の前記領域から前記更新された第1の参照領域を指す第1のクリッピングMVを決定するステップと、
前記更新された第1の参照領域に基づいて前記現在ブロック内の前記領域を再構成するステップと
を含む方法。
【請求項2】
前記現在ブロックは、適応動きベクトル予測(AMVP)モードで双方向予測され、
前記動き情報は、前記現在ブロックから前記第1の参照ブロックを指す前記第1のMVと、前記現在ブロックから第2の参照ピクチャに関連付けられた第2の参照ブロックを指す第2のMVとを示し、
前記1つ以上の参照ブロックは、前記第1の参照ブロック及び前記第2の参照ブロックで構成され、
前記動き情報制約は、前記第1の参照ブロックが前記第1の参照ピクチャの前記ピクチャ境界内にあり、前記第2の参照ブロックが前記第2の参照ピクチャのピクチャ境界内にあることを示し、前記ピクチャ境界は前記第2の参照ピクチャの前記ピクチャ境界を含む、請求項1に記載の方法。
【請求項3】
前記動き情報は候補リスト内のMV予測子(MVP)候補を示し、前記MVP候補は第1のMVP及び第2のMVPを示し、
前記第1のMVPは、前記第1の参照ピクチャの前記ピクチャ境界内にある、前記現在ブロックに対応する第1の中間参照ブロックを指し、
前記第2のMVPは、前記第2の参照ピクチャの前記ピクチャ境界内にある、前記現在ブロックに対応する第2の中間参照ブロックを指し、
前記動き情報を決定するステップは、
前記第1のMVP及び第1のMV差(MVD)に基づいて前記第1のMVを決定するステップと、
前記第2のMVP及び第2のMVDに基づいて第2のMVを決定するステップであって、前記第2のMVは前記第2の参照ブロックを指す、ステップと
を含む、請求項2に記載の方法。
【請求項4】
前記現在ブロックは、アフィンモードで双方向予測され、複数のサブブロックを含み、
前記動き情報は、それぞれが前記複数のサブブロックのうち1つに関連付けられたMVペアを示し、
前記複数のサブブロック内のそれぞれのサブブロックに関連付けられた各MVペアは、それぞれのサブブロックから前記第1の参照ブロック内の第1の参照サブブロックを指す第1のMVと、それぞれのサブブロックから第2の参照ピクチャに関連付けられた第2の参照ブロック内の第2の参照サブブロックを指す第2のMVとを含み、
前記1つ以上の参照ブロックは、前記第1の参照ブロック及び前記第2の参照ブロックで構成され、
前記動き情報制約は、前記第1の参照サブブロックのそれぞれが前記第1の参照ピクチャの前記ピクチャ境界内にあり、前記第2の参照サブブロックのそれぞれが前記第2の参照ピクチャのピクチャ境界内にあることを示し、前記ピクチャ境界は前記第2の参照ピクチャの前記ピクチャ境界を含む、請求項1に記載の方法。
【請求項5】
前記現在ブロックは、マージモードで双方向予測され、
前記現在ブロックの候補リストは1つ以上のMV予測子(MVP)候補を含み、
前記動き情報を決定するステップは、
MVPインデックスに基づいて前記1つ以上のMVP候補から前記現在ブロックのMVP候補を決定するステップであって、前記MVP候補は、前記第1の参照ピクチャに関連付けられた第1のMVP及び第2の参照ピクチャに関連付けられた第2のMVPを示す、ステップと、
前記現在ブロックの前記第1のMVが前記第1のMVPとなり、前記現在ブロックの第2のMVが前記第2のMVPとなることを決定するステップと
を含み、
前記動き情報制約は、
前記第1のMVによって指される前記第1の参照ブロックが前記第1の参照ピクチャの前記ピクチャ境界内にあり、
前記第2のMVによって指される第2の参照ブロックが前記第2の参照ピクチャのピクチャ境界内にある
ことを示し、前記ピクチャ境界は前記第2の参照ピクチャの前記ピクチャ境界を含む、請求項1に記載の方法。
【請求項6】
それぞれの第1のMVP及びそれぞれの第2のMVPを示す前記1つ以上のMVP候補内の各MVP候補について、前記動き情報制約は、
それぞれの第1のMVPによって指される第1の中間参照ブロックがそれぞれの第1の参照ピクチャのピクチャ境界内にあり、
それぞれの第2のMVPによって指される第2の中間参照ブロックがそれぞれの第2の参照ピクチャのピクチャ境界内にある
ことを示す、請求項5に記載の方法。
【請求項7】
前記現在ブロックは、アフィンマージモードで双方向予測され、複数のサブブロックを含み、
前記現在ブロックの候補リストは1つ以上のアフィンマージ候補を含み、
前記複数のサブブロック内の各サブブロックについて、
前記動き情報を決定するステップは、それぞれのサブブロック内の各領域について、前記1つ以上のアフィンマージ候補内のアフィンマージ候補に基づいて、それぞれの領域のMVペアを決定するステップであって、前記MVペアは、前記領域から、前記第1の参照ブロック内の第1の参照サブブロック内の第1の領域を指すそれぞれの第1のMVと、前記領域から、第2の参照ピクチャに関連付けられた第2の参照ブロック内にある第2の参照サブブロック内の第2の領域を指すそれぞれの第2のMVとを含み、前記第1の参照ブロック及び前記第2の参照ブロックは前記現在ブロックに対応し、前記第1の参照サブブロック及び前記第2の参照サブブロックはそれぞれのサブブロックに対応する、ステップを含み、
前記動き情報制約は、それぞれの第1の領域が前記第1の参照ピクチャの前記ピクチャ境界内にあり、それぞれの第2の領域が前記第2の参照ピクチャのピクチャ境界内にあることを示し、前記ピクチャ境界は前記第2の参照ピクチャの前記ピクチャ境界を含む、請求項1に記載の方法。
【請求項8】
前記現在ブロックは双方向予測され、
前記動き情報は、前記現在ブロックから前記第1の参照ブロックを指す前記第1のMVと、前記現在ブロックから第2の参照ピクチャに関連付けられた第2の参照ブロックを指す第2のMVとを示し、
前記1つ以上の参照ブロックは、前記第1の参照ブロック及び前記第2の参照ブロックで構成され、
前記第1の参照ブロックの前記第1の参照領域は、前記第1の参照ピクチャの前記ピクチャ境界外にあり、
前記第1のクリッピングMVを決定するステップは、
前記更新された第1の参照ブロックが前記第1の参照ピクチャの前記ピクチャ境界内にあるように、前記第1のMVをクリッピングするとによって、前記第1のクリッピングMVを決定するステップと、
前記第2の参照ブロックが前記第2の参照ピクチャのピクチャ境界外にあることに応じて、更新された第2の参照ブロックが前記第2の参照ピクチャの前記ピクチャ境界内にあるように、前記第2のMVをクリッピングすることによって、第2のクリッピングMVを決定するステップであって、前記第2のクリッピングMVは、前記現在ブロックから前記更新された第2の参照ブロックを指し、前記ピクチャ境界は前記第2の参照ピクチャの前記ピクチャ境界を含む、ステップと
を含む、請求項1に記載の方法。
【請求項9】
前記現在ブロックはアフィンモードで双方向予測され、複数のサブブロックを含み、
前記複数のサブブロック内の各サブブロックについて、前記動き情報を決定するステップは、それぞれのサブブロック内の各領域について、前記アフィンモードを使用してそれぞれの領域のMVペアを決定するステップであって、前記MVペアは、前記領域から、前記第1の参照ブロック内の第1の参照サブブロック内の前記第1の参照領域を指すそれぞれの第1のMVと、前記領域から、第2の参照ピクチャに関連付けられた第2の参照ブロック内にある第2の参照サブブロック内の第2の参照領域を指す第2のMVとを含み、前記第1の参照ブロック及び前記第2の参照ブロックは前記現在ブロックに対応し、前記第1の参照サブブロック及び前記第2の参照サブブロックはそれぞれのサブブロックに対応する、ステップを含み、
前記第1の参照領域は、前記第1の参照ブロック内の前記第1の参照サブブロックにあり、前記現在ブロック内の前記領域は、前記第1の参照サブブロックに対応する前記複数のサブブロックうち或るサブブロックにあり、
前記第1の参照領域は、前記第1の参照ピクチャの前記ピクチャ境界外にあり、
前記第1のクリッピングMVを決定するステップは、前記第1のMVをクリッピングすることによって前記第1のクリッピングMVを決定するステップであって、前記第1のクリッピングMVは前記サブブロック内の前記領域から前記更新された第1の参照領域を指す、ステップを含む、請求項1に記載の方法。
【請求項10】
処理回路を含むビデオ復号のための装置であって、
前記処理回路は、請求項1乃至9のうちいずれか1項に記載の方法を実行するように構成される、装置。
【請求項11】
少なくとも1つのプロセッサに請求項1乃至9のうちいずれか1項に記載の方法を実行させるコンピュータプログラム。
【請求項12】
ビデオエンコーダにおけるビデオ符号化のための方法であって、
インター予測で予測された現在ブロックの動き情報を決定するステップであって、前記動き情報は、それぞれ1つ以上の参照ピクチャに関連付けられた前記現在ブロックの1つ以上の参照ブロックを示す、ステップと、
動き情報制約が、前記1つ以上の参照ブロックがそれぞれ1つ以上の参照ピクチャのピクチャ境界内にあることを示すことに応じて、前記1つ以上の参照ブロックに基づいて前記現在ブロックを符号化するステップと、
前記動き情報によって示される第1の動きベクトル(MV)が、前記現在ブロック内の領域から、前記1つ以上の参照ブロック内の第1の参照ブロックの領域であり且つ前記1つ以上の参照ピクチャのうち第1の参照ピクチャのピクチャ境界外にある第1の参照領域を指し、前記ピクチャ境界が前記第1の参照ピクチャの前記ピクチャ境界を含むことに応じて、更新された第1の参照領域が前記第1の参照ピクチャの前記ピクチャ境界内にある更新された第1の参照ブロック内にあるように、前記第1のMVをクリッピングすることによって、前記現在ブロック内の前記領域から前記更新された第1の参照領域を指す第1のクリッピングMVを決定するステップと、
前記更新された第1の参照領域に基づいて前記現在ブロック内の前記領域を符号化するステップと
を含む方法。
【発明の詳細な説明】
【技術分野】
【0001】
[参照による援用]
本出願は、2022年10月13日に出願された米国特許出願第17/965,737号「MOTION VECTOR RESTRICTION FOR OUT-OF-FRAME BOUNDARY CONDITIONS」に対する優先権の利益を主張するものであり、当該出願は、2022年1月12日に出願された米国仮出願第63/298,774号「MV RESTRICTION OF BI-PREDICTION FOR OUT-OF-FRAME BOUNDARY CONDITIONS」に対する優先権の利益を主張するものである。先の出願の開示の全内容を参照により援用する。
【0002】
[技術分野]
本開示は、概してビデオ符号化(コーディング)に関連する実施形態を記載する。
【背景技術】
【0003】
本明細書で提供される背景説明は、本開示の文脈を概括的に提示するためのものである。本願で名前が挙がっている発明者の仕事であってその仕事がこの背景セクションに記載されている範囲におけるもの、また、他の意味で出願時に先行技術として適格でないことがあり得る本記述の諸側面は、明示的にも暗黙的にも本開示に対する先行技術として認められない。
【0004】
非圧縮デジタル画像及び/又はビデオは、一連のピクチャを含むことができ、各ピクチャは、例えば1920×1080のルミナンスサンプル及び関連するクロミナンスサンプルの空間的寸法を有する。一連のピクチャは、固定又は可変のピクチャレート(非公式にはフレームレートとしても知られる)、例えば、毎秒60ピクチャ又は60Hzのピクチャレートを有することができる。非圧縮画像及び/又はビデオは、特定のビットレート要件を有する。例えば、サンプル当たり8ビットの1080p60 4:2:0ビデオ(60Hzのフレームレートでの1920×1080のルミナンスサンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。そのようなビデオの1時間は、600Gバイトを超える記憶スペースを必要とする。
【0005】
画像及び/又はビデオ符号化及び復号の1つの目的は、圧縮による入力画像及び/又はビデオ信号の冗長性の低減であり得る。圧縮は、前述の帯域幅及び/又は記憶スペースの要求を、場合によっては2桁以上も低減するのに役立つことがある。本明細書における説明は例示的な例としてビデオ符号化/復号を使用するが、本開示の真意を逸脱することなく、同じ技術が画像符号化/復号にも同様に適用できる。可逆圧縮及び不可逆圧縮の双方、並びにそれらの組み合わせを用いることができる。可逆圧縮とは、圧縮された元の信号から、元の信号の正確なコピーが再構成できる技術をいう。不可逆圧縮を使用する場合、再構成された信号は、元の信号と同一ではないことがあり得るが、元の信号と再構成された信号との間の歪みは、再構成された信号を意図された用途のために有用にするのに十分小さい。ビデオの場合、不可逆圧縮が広く用いられている。許容される歪みの量はアプリケーションに依存し、例えば、特定の消費者ストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを許容することがある。達成可能な圧縮比は、より高い許容可能/認容可能な歪みはより高い圧縮比をもたらすことができる、ということを反映できる。
【0006】
ビデオエンコーダ及びデコーダは、例えば動き補償、変換処理、量子化、及びエントロピー符号化を含むいくつかの広範なカテゴリからの技術を利用することができる。
【0007】
ビデオコーデック技術は、イントラ符号化として知られる技術を含むことができる。イントラ符号化では、サンプル値は、以前に再構成された参照ピクチャからのサンプル又は他のデータを参照することなく表現される。いくつかのビデオコーデックでは、ピクチャは空間的にサンプルのブロックに分割される。サンプルの全てのブロックがイントラモードで符号化される場合、そのピクチャはイントラピクチャであり得る。イントラピクチャと、独立デコーダリフレッシュピクチャのようなその派生物は、デコーダ状態をリセットするために使用でき、よって、符号化ビデオビットストリーム及びビデオセッションにおける最初のピクチャとして、又は静止画像として使用できる。イントラブロックのサンプルを変換にかけることができ、変換係数は、エントロピー符号化の前に量子化されることができる。イントラ予測は、変換前領域におけるサンプル値を最小化する技術であり得る。場合によっては、変換後のDC値が小さく、AC係数が小さいほど、エントロピー符号化後のブロックを表すために所与の量子化ステップサイズで必要とされるビット数が少なくなる。
【0008】
例えばMPEG-2世代の符号化技術において用いられている伝統的なイントラ符号化は、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、データのブロックの符号化/復号中に得られた周囲のサンプルデータ及び/又はメタデータに基づいて予測を実行することを試みる技術を含む。そのような技術は、以下では「イントラ予測」技術と呼ばれる。少なくともいくつかの場合には、イントラ予測は再構成中の現在ピクチャからの参照データのみを使用し、参照ピクチャからの参照データは使用しないことに注意されたい。
【0009】
様々な形のイントラ予測があり得る。所与のビデオ符号化技術において、そのような技術の2つ以上が使用できる場合、使用される特定の技術は、特定の技術を使用する特定のイントラ予測モードとして符号化されることができる。特定の場合には、イントラ予測モードは、サブモード及び/又はパラメータを有することができ、サブモード及び/又はパラメータは、個別に符号化されることができ、或いは、予測モードを定義するモードコードワードに含められることができる。所与のモード、サブモード及び/又はパラメータの組み合わせのためにどのコードワードを使用するかは、イントラ予測を通して符号化効率利得に影響を与える可能性があり、コードワードをビットストリームに変換するために使用されるエントロピー符号化技術も同様に影響を与える可能性がある。
【0010】
イントラ予測のあるモードがH.264で導入され、H.265で洗練され、共同探査モデル(JEM)、多用途ビデオ符号化(VVC)、及びベンチマークセット(BMS)のようなより新しい符号化技術においてさらに洗練された。予測子ブロックは、既に利用可能なサンプルの近傍サンプル値を使用して形成されることができる。近傍サンプルのサンプル値が、ある方向に従って予測子ブロックにコピーされる。使用される方向への参照は、ビットストリームにおいて符号化されることができ、或いは、それ自身予測されてもよい。
【0011】
図1Aを参照すると、右下に、H.265で定義されている33個の可能な予測子方向(35個のイントラモードのうち33個の角度モードに対応する)から知られている9個の予測子方向のサブセットが描かれている。矢印が収束する点(101)は、予測されるサンプルを表す。矢印は、サンプルが予測される方向を表す。例えば、矢印(102)は、サンプル(101)が、水平から45度の角度の右上のサンプル(単数又は複数)から予測されることを示す。同様に、矢印(103)は、サンプル(101)が、水平から22.5度の角度の、サンプル(101)の左下のサンプル(単数又は複数)から予測されることを示す。
【0012】
引き続き
図1Aを参照すると、左上には、4×4サンプルの正方形ブロック(104)が描かれている(太い破線で示されている)。正方形ブロック(104)は、16個のサンプルを含み、各サンプルは「S」とY次元におけるその位置(例えば、行インデックス)及びX次元におけるその位置(例えば、列インデックス)でラベル付けされている。例えば、サンプルS21は、Y次元の(上から)2番目のサンプルであり、X次元の(左から)最初のサンプルである。同様に、サンプルS44は、Y及びX次元の双方においてブロック(104)内の4番目のサンプルである。ブロックが4×4サンプルのサイズなので、S44は右下にある。さらに、同様の番号付けスキームに従う参照サンプルが示されている。参照サンプルは、Rと、ブロック(104)に対するそのY位置(例えば、行インデックス)及びX位置(列インデックス)でラベル付けされる。H.264とH.265の双方において、予測サンプルは再構成中のブロックの近傍であり、そのため負の値を使用する必要はない。
【0013】
イントラピクチャ予測は、信号伝達(シグナリング)される予測方向によって示される近傍サンプルから参照サンプル値をコピーすることによって機能できる。例えば、符号化ビデオビットストリームは、このブロックについて、矢印(102)と整合する予測方向を示す信号伝達を含むと想定する。すなわち、サンプルは、水平から45度の角度の右上のサンプルから予測される。その場合、サンプルS41、S32、S23、及びS14は、同じ参照サンプルR05から予測される。次いで、サンプルS44は、参照サンプルR08から予測される。
【0014】
特定の場合には、特に方向が45度で割り切れない場合には、参照サンプルを計算するために、複数の参照サンプルの値が、例えば補間によって組み合わされることができる。
【0015】
ビデオ符号化技術の発達に伴い、可能な方向の数が増加してきた。H.264(2003年)では、9つの異なる方向が表現できた。これは、H.265(2013年)では33に増加した。現在、JEM/VVC/BMSは最大65の方向をサポートできる。最も可能性の高い方向を特定するために実験が行われ、より可能性の低い方向についてのあるペナルティを受け入れつつ、それらの可能性の高い方向を少数のビットで表現するために、エントロピー符号化における特定の技術が使用される。さらに、方向自身が、近傍の既に復号されたブロックで使用された近傍方向から予測できることがある。
【0016】
図1Bは、時間とともに増加する予測方向の数を示すために、JEMによる65個のイントラ予測方向を描く概略図(110)を示している。
【0017】
方向を表す符号化ビデオビットストリームにおけるイントラ予測方向ビットのマッピングは、ビデオ符号化技術毎に異なることができる。そのようなマッピングは、例えば、単純な直接的マッピングから、コードワード、最確モードに関わる複雑な適応方式、及び同様の技術まであり得る。しかしながら、ほとんどの場合、ビデオコンテンツにおいて、他の特定の方向よりも統計的に起こりにくい特定の方向が存在し得る。ビデオ圧縮の目標は冗長性の低減であるので、良好に機能するビデオ符号化技術においては、そうしたより可能性の低い方法は、より可能性の高い方向よりもより多くのビット数によって表わされる。
【0018】
画像及び/又はビデオ符号化及び復号は、動き補償を伴うインターピクチャ予測を使用して実行できる。動き補償は、不可逆圧縮技術であることがあり、且つ、以前に再構成されたピクチャ又はその一部(参照ピクチャ)からのサンプルデータのブロックが、動きベクトル(以下、MV)によって示される方向に空間的にシフトされた後に、新しく再構成されるピクチャ又はその一部の予測のために使用される技術に関することができる。場合によっては、参照ピクチャは、現在再構成中のピクチャと同じであることもできる。MVは、X及びYの2次元、又は3次元を有することができ、第3の次元は、使用される参照ピクチャの指示である(これは、間接的に、時間次元であり得る)。
【0019】
いくつかのビデオ圧縮技術では、サンプルデータのある領域に適用可能なMVは、他のMVから、例えば、再構成中の領域に空間的に隣接し、復号順でそのMVに先行するサンプルデータの別の領域に関連するMVから予測されることができる。そうすることにより、MVの符号化に必要とされるデータ量を大幅に削減することができ、それにより冗長性を除去し、圧縮を増加させることができる。MV予測が有効に機能できるのは、例えば、カメラから導出される入力ビデオ信号(ナチュラルビデオとして知られる)を符号化する際に、単一のMVが適用可能である領域よりも大きな領域が同様の方向に移動し、よって、特定の場合には、近傍領域のMVから導出された同様の動きベクトルを用いて予測できるという、統計的確からしさがあるからである。その結果、所与の領域について見出されるMVが、周囲のMVから予測されるMVと同様又は同一であることになり、そして、それは、エントロピー符号化の後、MVを直接符号化する場合に使用されるであろうものよりも少数のビットで表現できる。いくつかの場合には、MV予測は、元の信号(すなわち、サンプルストリーム)から導出された信号(すなわち、MV)の可逆圧縮の例であり得る。他の場合には、MV予測自身が、例えば、いくつかの周囲のMVから予測子を計算する際の丸め誤差のために、不可逆であることがある。
【0020】
H.265/HEVC(ITU-T Rec. H.265、「High Efficiency Video Coding」、December 2016)には、様々なMV予測機構が記載されている。H.265が提供する多くのMV予測機構のうち、
図2を参照して説明するものは、以後、「空間マージ(spatial merge)」と呼ばれる技術である。
【0021】
図2を参照すると、現在ブロック(201)は、空間的にシフトされた同じサイズの前のブロックから予測可能であることが動き探索プロセスの間にエンコーダによって見出されたサンプルを含む。そのMVを直接符号化する代わりに、MVは、1つ以上の参照ピクチャに関連付けられたメタデータから、例えば(復号順で)最新の参照ピクチャから、A0、A1、及びB0、B1、B2(それぞれ202~206)と記される5つの周囲のサンプルのいずれかに関連付けられたMVを使用して、導出できる。H.265では、MV予測は、近傍ブロックが使用しているのと同じ参照ピクチャからの予測子を使用することができる。
【発明の概要】
【0022】
本開示の側面は、ビデオ符号化及び復号のための方法及び装置を提供する。いくつかの例では、ビデオ復号のための装置は処理回路を含む。処理回路は、インター予測で予測された現在ブロックの動き情報を決定するように構成される。動き情報は、それぞれ1つ以上の参照ピクチャに関連付けられた現在ブロックの1つ以上の参照ブロックを示す。動き情報制約が、1つ以上の参照ブロックがそれぞれ1つ以上の参照ピクチャのピクチャ境界内にあることを示す場合、処理回路は、1つ以上の参照ブロックに基づいて現在ブロックを再構成できる。動き情報によって示される第1の動きベクトル(MV, motion vector)は、現在ブロック内の領域から、1つ以上の参照ブロック内の第1の参照ブロックの領域である第1の参照領域を指すことができる。第1の参照領域が1つ以上の参照ピクチャのうち第1の参照ピクチャのピクチャ境界外にあり、ピクチャ境界が第1の参照ピクチャのピクチャ境界を含む場合、処理回路は、更新された第1の参照領域が第1の参照ピクチャのピクチャ境界内にある更新された第1の参照ブロック内にあるように、第1のMVをクリッピングすることによって、現在ブロック内の領域から更新された第1の参照領域を指す第1のクリッピングMVを決定できる。処理回路は、更新された第1の参照領域に基づいて現在ブロック内の領域を再構成できる。
【0023】
一実施形態では、現在ブロックは、適応動きベクトル予測(AMVP, adaptive motion vector prediction)モードで双方向予測される。動き情報は、現在ブロックから第1の参照ブロックを指す第1のMVと、現在ブロックから第2の参照ピクチャに関連付けられた第2の参照ブロックを指す第2のMVとを示す。1つ以上の参照ブロックは、第1の参照ブロック及び第2の参照ブロックで構成される。動き情報制約は、第1の参照ブロックが第1の参照ピクチャのピクチャ境界内にあり、第2の参照ブロックが第2の参照ピクチャのピクチャ境界内にあることを示し、ピクチャ境界は第2の参照ピクチャのピクチャ境界を含む。
【0024】
一実施形態では、動き情報は候補リスト内のMV予測子(MVP, MV predictor)候補を示し、MVP候補は第1のMVP及び第2のMVPを示す。第1のMVPは、第1の参照ピクチャのピクチャ境界内にある、現在ブロックに対応する第1の中間参照ブロックを指す。第2のMVPは、第2の参照ピクチャのピクチャ境界内にある、現在ブロックに対応する第2の中間参照ブロックを指す。処理回路は、第1のMVP及び第1のMV差(MVD, MV difference)に基づいて第1のMVを決定し、第2のMVP及び第2のMVDに基づいて第2のMVを決定できる。第2のMVは第2の参照ブロックを指す。
【0025】
一実施形態では、現在ブロックは、アフィンモードで双方向予測され、複数のサブブロックを含む。動き情報は、それぞれが複数のサブブロックのうち1つに関連付けられたMVペアを示す。複数のサブブロック内のそれぞれのサブブロックに関連付けられた各MVペアは、それぞれのサブブロックから第1の参照ブロック内の第1の参照サブブロックを指す第1のMVと、それぞれのサブブロックから第2の参照ピクチャに関連付けられた第2の参照ブロック内の第2の参照サブブロックを指す第2のMVとを含む。1つ以上の参照ブロックは、第1の参照ブロック及び第2の参照ブロックで構成される。動き情報制約は、第1の参照サブブロックのそれぞれが第1の参照ピクチャのピクチャ境界内にあり、第2の参照サブブロックのそれぞれが第2の参照ピクチャのピクチャ境界内にあることを示し、ピクチャ境界は第2の参照ピクチャのピクチャ境界を含む。
【0026】
一実施形態では、現在ブロックは、マージモードで双方向予測され、現在ブロックの候補リストは1つ以上のMV予測子(MVP, MV predictor)候補を含む。処理回路は、MVPインデックスに基づいて1つ以上のMVP候補から現在ブロックのMVP候補を決定できる。MVP候補は、第1の参照ピクチャに関連付けられた第1のMVP及び第2の参照ピクチャに関連付けられた第2のMVPを示す。処理回路は、現在ブロックの第1のMVが第1のMVPとなり、現在ブロックの第2のMVが第2のMVPとなることを決定できる。動き情報制約は、(i)第1のMVによって指される第1の参照ブロックが第1の参照ピクチャのピクチャ境界内にあり、(ii)第2のMVによって指される第2の参照ブロックが第2の参照ピクチャのピクチャ境界内にあることを示す。ピクチャ境界は第2の参照ピクチャのピクチャ境界を含む。
【0027】
一実施形態では、それぞれの第1のMVP及びそれぞれの第2のMVPを示す1つ以上のMVP候補内の各MVP候補について、動き情報制約は、(i)それぞれの第1のMVPによって指される第1の中間参照ブロックがそれぞれの第1の参照ピクチャのピクチャ境界内にあり、(ii)それぞれの第2のMVPによって指される第2の中間参照ブロックがそれぞれの第2の参照ピクチャのピクチャ境界内にあることを示す。
【0028】
一実施形態では、現在ブロックは、アフィンマージモードで双方向予測され、複数のサブブロックを含み、現在ブロックの候補リストは1つ以上のアフィンマージ候補を含む。複数のサブブロック内の各サブブロックについて、処理回路は、それぞれのサブブロック内の各領域について、1つ以上のアフィンマージ候補内のアフィンマージ候補に基づいて、それぞれの領域のMVペアを決定できる。MVペアは、当該領域から、第1の参照ブロック内の第1の参照サブブロック内の第1の領域を指すそれぞれの第1のMVと、当該領域から、第2の参照ピクチャに関連付けられた第2の参照ブロック内にある第2の参照サブブロック内の第2の領域を指すそれぞれの第2のMVとを含む。第1の参照ブロック及び第2の参照ブロックは現在ブロックに対応し、第1の参照サブブロック及び第2の参照サブブロックはそれぞれのサブブロックに対応する。複数のサブブロック内の各サブブロックについて、動き情報制約は、それぞれの第1の領域が第1の参照ピクチャのピクチャ境界内にあり、それぞれの第2の領域が第2の参照ピクチャのピクチャ境界内にあることを示し、ピクチャ境界は第2の参照ピクチャのピクチャ境界を含む。
【0029】
一実施形態では、現在ブロックは双方向予測される。動き情報は、現在ブロックから第1の参照ブロックを指す第1のMVと、現在ブロックから第2の参照ピクチャに関連付けられた第2の参照ブロックを指す第2のMVとを示す。1つ以上の参照ブロックは、第1の参照ブロック及び第2の参照ブロックで構成される。第1の参照ブロックの第1の参照領域は、第1の参照ピクチャのピクチャ境界外にある。処理回路は、更新された第1の参照ブロックが第1の参照ピクチャのピクチャ境界内にあるように、第1のMVをクリッピングするとによって、第1のクリッピングMVを決定できる。第2の参照ブロックが第2の参照ピクチャのピクチャ境界外にある場合、処理回路は、更新された第2の参照ブロックが第2の参照ピクチャのピクチャ境界内にあるように、第2のMVをクリッピングすることによって、第2のクリッピングMVを決定できる。第2のクリッピングMVは、現在ブロックから更新された第2の参照ブロックを指し、ピクチャ境界は第2の参照ピクチャのピクチャ境界を含む。
【0030】
一実施形態では、現在ブロックはアフィンモードで双方向予測され、複数のサブブロックを含む。複数のサブブロック内の各サブブロックについて、処理回路は、それぞれのサブブロック内の各領域について、アフィンモードを使用してそれぞれの領域のMVペアを決定できる。MVペアは、当該領域から、第1の参照ブロック内の第1の参照サブブロック内の第1の参照領域を指すそれぞれの第1のMVと、当該領域から、第2の参照ピクチャに関連付けられた第2の参照ブロック内にある第2の参照サブブロック内の第2の参照領域を指す第2のMVとを含む。第1の参照ブロック及び第2の参照ブロックは現在ブロックに対応し、第1の参照サブブロック及び第2の参照サブブロックはそれぞれのサブブロックに対応する。第1の参照領域は、第1の参照ブロック内の第1の参照サブブロックにあり、現在ブロック内の領域は、第1の参照サブブロックに対応する複数のサブブロックうち或るサブブロックにある。第1の参照領域は、第1の参照ピクチャのピクチャ境界外にある。処理回路は、第1のMVをクリッピングすることによって第1のクリッピングMVを決定でき、第1のクリッピングMVはサブブロック内の領域から更新された第1の参照領域を指す。
【0031】
本開示の側面はまた、ビデオ復号のための方法を実行するために、少なくとも1つのプロセッサによって実行可能なプログラムを記憶する非一時的なコンピュータ読み取り可能記憶媒体を提供する。
【図面の簡単な説明】
【0032】
開示された主題のさらなる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明白になるであろう。
【
図1A】イントラ予測モードの例示的なサブセットの概略図である。
【
図1B】例示的なイントラ予測方向の説明図である。
【
図2】一例における現在ブロック(201)及びその周囲のサンプルの例を示す。
【
図3】通信システム(300)の例示的なブロック図の概略図である。
【
図4】ある実施形態による通信システム(400)の簡略化されたブロック図の概略図である。
【
図5】デコーダの例示的なブロック図の概略図である。
【
図6】エンコーダの例示的なブロック図の概略図である。
【
図9】本開示の一実施形態による空間マージ候補の位置を示す。
【
図10】本開示の一実施形態による空間マージ候補の冗長検査について考慮される候補ペアを示す。
【
図11】時間マージ候補のための例示的な動きベクトルのスケーリングを示す。
【
図12】現在符号化ユニットの時間マージ候補のための例示的な候補位置を示す。
【
図13】動きベクトル解像度(MVR, motion vector resolution)に対応する適応動きベクトル解像度(AMVR, adaptive motion vector resolution)シフト値の例を示す。
【
図14A】適応動きベクトル予測(AMVP, adaptive motion vector prediction)モード及びAMVRモードが有効である場合のアフィンAMVPモードでの動きベクトル差の例示的な修正を示す。
【
図14B】適応動きベクトル予測(AMVP, adaptive motion vector prediction)モード及びAMVRモードが有効である場合のアフィンAMVPモードでの動きベクトル差の例示的な修正を示す。
【
図15A】4パラメータのアフィンモデルが使用される場合のブロックのアフィン動き場を示す。
【
図15B】6パラメータのアフィンモデルが使用される場合のブロックのアフィン動き場を示す。
【
図16】サブブロックベースのアフィン変換予測の例を示す。
【
図17】現在CUのアフィンマージリストにおいて制御点動きベクトル(CPMV, control point motion vector)候補を決定する例を示す。
【
図18】現在ブロックの空間隣接及び時間隣接の例を示す。
【
図19】現在ブロックの参照ピクチャ及び現在ブロックの参照ブロックの例を示す。
【
図20】本開示の一実施形態による符号化プロセスの概要を示すフローチャートを示す。
【
図21】本開示の一実施形態による復号プロセスの概要を示すフローチャートを示す。
【
図22】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0033】
図3は、通信システム(300)の例示的なブロック図を示す。通信システム(300)は、例えばネットワーク(350)を介して互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された第1の対の端末デバイス(310)及び(320)を含む。
図3の例では、第1の対の端末デバイス(310)及び(320)は、データの一方向伝送を実行する。例えば、端末デバイス(310)は、ネットワーク(350)を介した他方の端末デバイス(320)への伝送のために、ビデオデータ(例えば、端末デバイス(310)によって捕捉されたビデオピクチャのストリーム)を符号化してもよい。符号化されたビデオデータは、1つ以上の符号化ビデオビットストリームの形で伝送されることができる。端末デバイス(320)は、ネットワーク(350)から、符号化ビデオデータを受信し、符号化ビデオデータを復号してビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示してもよい。一方向データ伝送は、メディアサービスアプリケーション等において一般的であり得る。
【0034】
別の例では、通信システム(300)は、例えばビデオ会議中の符号化されたビデオデータの双方向伝送を実行する第2の対の端末デバイス(330)及び(340)を含む。データの双方向伝送のために、一例では、端末デバイス(330)及び(340)の各端末デバイスは、ネットワーク(350)を介した、端末デバイス(330)及び(340)のうちの他方の端末デバイスへの伝送のために、ビデオデータ(例えば、端末デバイスによって捕捉されたビデオピクチャのストリーム)を符号化してもよい。端末デバイス(330)及び(340)の各端末デバイスは、端末デバイス(330)及び(340)のうちの他方の端末デバイスによって送信された符号化されたビデオデータを受信してもよく、符号化されたビデオデータを復号して、ビデオピクチャを復元し、復元されたビデオデータに従って、アクセス可能な表示デバイスにおいてビデオピクチャを表示してもよい。
【0035】
図3の例では、端末デバイス(310)、(320)、(330)及び(340)は、それぞれサーバ、パーソナルコンピュータ及びスマートフォンとして示されているが、本開示の原理は、それに限定されなくてもよい。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のビデオ会議設備での応適用を見出す。ネットワーク(350)は、例えば有線(配線)及び/又は無線通信ネットワークを含む、端末デバイス(310)、(320)、(330)及び(340)の間で符号化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回線交換及び/又はパケット交換チャネルにおいてデータを交換してもよい。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク及び/又はインターネットを含む。ここでの議論の目的のために、ネットワーク(350)のアーキテクチャ及びトポロジは、以下に説明しない限り、本開示の動作には重要ではないことがある。
【0036】
図4は、開示される主題のためのアプリケーションの例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダを示す。開示される主題は、例えば、ビデオ会議、デジタルTV、ストリーミングサービス、CD、DVD、メモリスティック等を含むデジタル媒体上の圧縮ビデオの記憶等を含む、他のビデオ対応アプリケーションにも等しく適用可能であり得る。
【0037】
ストリーミングシステムは、ビデオソース(401)、例えばデジタルカメラを含むことができ、例えば非圧縮のビデオピクチャのストリーム(402)を生成する捕捉サブシステム(413)を含んでもよい。一例では、ビデオピクチャのストリーム(402)は、デジタルカメラによって取り込まれたサンプルを含む。符号化されたビデオデータ(404)(又は符号化されたビデオビットストリーム)と比較した場合の高いデータボリュームを強調するために太線として描かれているビデオピクチャのストリーム(402)は、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理されることができる。ビデオエンコーダ(403)は、以下により詳細に説明されるように、開示される主題の諸側面を可能にするため或いは実現するためのハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができる。ビデオピクチャのストリーム(402)と比較した場合の、より低いデータボリュームを強調するために細い線として描かれている、符号化されたビデオデータ(404)(又は符号化されたビデオビットストリーム)は、将来の使用のためにストリーミングサーバ(405)に記憶されることができる。
図4のクライアントサブシステム(406)及び(408)のような1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、符号化されたビデオデータ(404)のコピー(407)及び(409)を取り出すことができる。クライアントサブシステム(406)は、例えば電子デバイス(430)内にビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、符号化されたビデオデータの入力コピー(407)を復号し、ディスプレイ(412)(例えば表示画面)又は他のレンダリングデバイス(図示せず)上にレンダリングできるビデオピクチャの出力ストリーム(411)を生成する。いくつかのストリーミングシステムでは、符号化されたビデオデータ(404)、(407)、及び(409)(例えば、ビデオビットストリーム)は、特定のビデオ符号化/圧縮標準に従って符号化されることができる。これらの標準の例は、ITU-T勧告H.265を含む。一例では、開発中のビデオ符号化標準は、非公式に多用途ビデオ符号化(VVC)として知られている。開示される主題は、VVCの文脈で使用されてもよい。
【0038】
電子デバイス(420)及び(430)は、他の構成要素(図示せず)を含むことができることを注意しておく。例えば、電子デバイス(420)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(430)は、ビデオエンコーダ(図示せず)も含むことができる。
【0039】
図5は、ビデオデコーダ(510)の例示的なブロック図を示す。ビデオデコーダ(510)は、電子デバイス(530)に含まれることができる。電子デバイス(530)は、受信機(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、
図4の例におけるビデオデコーダ(310)の代わりに使用できる。
【0040】
受信機(531)は、ビデオデコーダ(510)によって復号されるべき1つ以上の符号化ビデオシーケンスを受信してもよい。ある実施形態において、一度に1つの符号化ビデオシーケンスが受信され、各符号化ビデオシーケンスの復号は、他の符号化ビデオシーケンスの復号から独立である。符号化ビデオシーケンスは、チャネル(501)から受信されてもよく、該チャネルは、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクでもよい。受信機(531)は、符号化されたビデオデータを、他のデータ、例えば符号化されたオーディオデータ及び/又は補助データストリームと一緒に受信してもよく、これらのデータは、それぞれの使用エンティティ(図示せず)を転送されてもよい。受信機(531)は、符号化ビデオシーケンスを他のデータから分離することができる。ネットワークジッタ対策として、バッファメモリ(515)が、受信機(531)とエントロピーデコーダ/パーサ(520)(以下「パーサ」)との間に結合されてもよい。特定のアプリケーションでは、バッファメモリ(515)はビデオデコーダ(510)の一部である。他のアプリケーションでは、ビデオデコーダ(510)の外部にあることができる(図示せず)。さらに他のアプリケーションでは、例えばネットワークジッタに対抗するために、ビデオデコーダ(510)の外部にバッファメモリ(図示せず)があってもよく、さらに、例えば再生タイミングを扱うために、ビデオデコーダ(510)の内部に別のバッファメモリ(515)があってもよい。受信機(531)が、十分な帯域幅及び制御可能性の記憶/転送デバイスから、或いは、アイソクロナスネットワークからデータを受信している場合は、バッファメモリ(515)は、必要とされなくてもよく、或いは、小さくてもよい。インターネットのようなベストエフォート型のパケットネットワークでの使用のためには、バッファメモリ(515)が要求されることがあり、比較的大きいことがあり、有利には適応サイズであることができ、少なくとも部分的に、ビデオデコーダ(510)の外部でオペレーティングシステム又は同様の要素(図示せず)において実装されてもよい。
【0041】
ビデオデコーダ(510)は、符号化ビデオシーケンスからシンボル(521)を再構成するためのパーサ(520)を含んでもよい。これらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報と、潜在的には、レンダーデバイス(512)(例えば表示画面)のようなレンダリングデバイスを制御するための情報とを含む。レンダリングデバイスは、
図5に示されるように、電子デバイス(530)の一体的な部分ではなく、電子デバイス(530)に結合されることができる。レンダリングデバイス(単数又は複数)のための制御情報は、補足エンハンスメント情報(Supplementary Enhancement Information)(SEIメッセージ)又はビデオユーザビリティ情報(Video Usability Information、VUI)パラメータセットフラグメント(図示せず)の形でもよい。パーサ(520)は、受信された符号化ビデオシーケンスをパースする/エントロピー復号することができる。符号化ビデオシーケンスの符号化は、ビデオ符号化技術又は標準に従うことができ、可変長符号化、ハフマン符号化、コンテキスト感受性あり又はなしの算術符号化等を含む、様々な原理に従うことができる。パーサ(520)は、符号化ビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つについてのサブグループパラメータのセットを、グループに対応する少なくとも1つのパラメータに基づいて、抽出することができる。サブグループは、グループオブピクチャ(Group of Pictures、GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(Coding Unit、CU)、ブロック、変換ユニット(Transform Unit、TU)、予測ユニット(Prediction Unit、PU)等を含むことができる。パーサ(520)はまた、符号化ビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトル等の情報を抽出することができる。
【0042】
パーサ(520)は、バッファメモリ(515)から受信されたビデオシーケンスに対してエントロピー復号/パース動作を実行し、それによりシンボル(521)を生成することができる。
【0043】
シンボル(521)の再構成は、符号化されたビデオピクチャ又はその諸部分のタイプ(例えば、インター及びイントラピクチャ、インター及びイントラブロック)及び他の要因に依存して、複数の異なるユニットに関わることができる。どのユニットがどのように関わるかは、符号化ビデオシーケンスからパーサ(520)によってパースされたサブグループ制御情報によって制御されることができる。パーサ(520)と下記の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確のため、描かれていない。
【0044】
既に述べた機能ブロックのほかに、ビデオデコーダ(510)は、以下に説明するように、概念的に、いくつかの機能ユニットに分割できる。商業的制約の下で機能する実用的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合されることができる。しかしながら、開示される主題を記述する目的のためには、下記の機能ユニットへの概念的な細分が適切である。
【0045】
第1のユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、パーサ(520)から、量子化された変換係数及び制御情報をシンボル(単数又は複数)(521)として受信する。制御情報は、どの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列等を含む。スケーラ/逆変換ユニット(551)は、集計器(555)に入力できるサンプル値を含むブロックを出力することができる。
【0046】
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラ符号化されたブロックに関することができる。イントラ符号化されたブロックは、以前に再構成されたピクチャからの予測情報を使用していないが、現在ピクチャの、以前に再構成された部分からの予測情報を使用することができるブロックである。そのような予測情報は、イントラピクチャ予測ユニット(552)によって提供されることができる。場合によっては、イントラピクチャ予測ユニット(552)は、現在ピクチャバッファ(558)から取ってきた、周囲の既に再構成された情報を使用して、再構成中のブロックと同じサイズ及び形状のブロックを生成する。現在ピクチャバッファ(558)は、例えば、部分的に再構成された現在ピクチャ及び/又は完全に再構成された現在ピクチャをバッファリングする。集計器(555)は、場合によっては、サンプル毎に、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に加算する。
【0047】
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インター符号化され、潜在的には動き補償されたブロックに関することができる。そのような場合、動き補償予測ユニット(553)は、予測のために使用されるサンプルを取ってくるために参照ピクチャメモリ(557)にアクセスすることができる。取ってきたサンプルを、ブロックに関するシンボル(521)に従って動き補償した後、これらのサンプルは、集計器(555)によってスケーラ/逆変換ユニットの出力(この場合、残差サンプル又は残差信号と呼ばれる)に加算されて、それにより出力サンプル情報を生成することができる。動き補償ユニット(553)が予測サンプルを取ってくる参照ピクチャメモリ(557)内のアドレスは、シンボル(521)の形で動き補償ユニット(553)に利用可能な動きベクトルによって制御できる。該シンボルは、例えばX、Y、及び参照ピクチャ成分を有することができる。動き補償は、サンプル以下の正確な動きベクトルが使用されるときの参照ピクチャメモリ(557)から取ってこられるサンプル値の補間、動きベクトル予測機構等を含むことができる。
【0048】
集計器(555)の出力サンプルは、ループフィルタユニット(556)内で様々なループフィルタリング技術にかけられることができる。ビデオ圧縮技術は、ループ内フィルタ技術を含むことができる。ループ内フィルタ技術は、符号化ビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされる。ビデオ圧縮はまた、符号化されたピクチャ又は符号化されたビデオシーケンスの(復号順で)前の部分の復号中に得られたメタ情報に応答するとともに、以前に再構成されループフィルタリングされたサンプル値に応答することもできる。
【0049】
ループフィルタユニット(556)の出力はサンプルストリームであることができ、これは、レンダーデバイス(512)に出力されることができ、また将来のインターピクチャ予測において使用するために参照ピクチャメモリ(557)に記憶されることができる。
【0050】
符号化されたピクチャは、いったん完全に再構成されると、将来の予測のための参照ピクチャとして使用できる。例えば、現在ピクチャに対応する符号化されたピクチャが完全に再構成され、該符号化されたピクチャが(例えば、パーサ(520)によって)参照ピクチャとして識別されると、現在ピクチャバッファ(558)は参照ピクチャメモリ(557)の一部となることができ、後続の符号化されたピクチャの再構成を開始する前に、新鮮な現在ピクチャバッファが再割り当てされることができる。
【0051】
ビデオデコーダ(510)は、ITU-T勧告H.265のような所定のビデオ圧縮技術又は標準に従って復号動作を実行することができる。符号化ビデオシーケンスはビデオ圧縮技術又は標準のシンタックス及びビデオ圧縮技術又は標準において文書化されているプロファイルに従うという意味で、符号化されたビデオシーケンスは、使用されているビデオ圧縮技術又は標準によって規定されたシンタックスに準拠することができる。具体的には、プロファイルはビデオ圧縮技術又は標準において利用可能な全てのツールから、そのプロファイルのもとでの使用のためにそれだけが利用可能なツールとして、特定のツールを選択することができる。準拠のためにはまた、符号化ビデオシーケンスの複雑さが、ビデオ圧縮技術又は標準のレベルによって定義される範囲内にあることも必要であることがある。いくつかの場合には、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒メガサンプルの単位で測られる)、最大参照ピクチャサイズ等を制約する。レベルによって設定された限界は、場合によっては、符号化ビデオシーケンスにおいて信号伝達される、HRDバッファ管理のための仮想参照デコーダ(Hypothetical Reference Decoder、HRD)仕様及びメタデータを通じてさらに制約されることができる。
【0052】
ある実施形態において、受信機(531)は、符号化されたビデオとともに追加の(冗長な)データを受信してもよい。追加データは、符号化されたビデオシーケンス(単数又は複数)の一部として含まれていてもよい。追加データは、データを適正に復号するため、及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ(510)によって使用されてもよい。追加データは、例えば、時間的、空間的、又は信号対雑音比(SNR)エンハンスメント層、冗長スライス、冗長ピクチャ、前方誤り訂正符号等の形であり得る。
【0053】
図6は、ビデオエンコーダ(603)の例示的なブロック図を示している。ビデオエンコーダ(603)は、電子デバイス(620)に含まれる。電子デバイス(620)は、送信機(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、
図4の例におけるビデオエンコーダ(403)の代わりに使用できる。
【0054】
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によって符号化されるべきビデオ画像を捕捉することができるビデオソース(601)(これは
図6の例では電子デバイス(620)の一部ではない)からビデオサンプルを受信することができる。別の例では、ビデオソース(601)は、電子デバイス(620)の一部である。
【0055】
ビデオソース(601)は、任意の好適なビット深さ(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 YCrCB、RGB、…)及び任意の好適なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形で、ビデオエンコーダ(603)によって符号化されるべきソースビデオシーケンスを提供することができる。メディアサービスシステムにおいては、ビデオソース(601)は、事前に準備されたビデオを記憶している記憶デバイスでもよい。ビデオ会議システムにおいては、ビデオソース(601)は、ローカルでの画像情報をビデオシーケンスとして捕捉するカメラでもよい。ビデオデータは、シーケンスで見たときに動きを付与する複数の個々のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間的アレイとして編成されてもよく、各ピクセルは、使用中のサンプリング構造、色空間等に依存して、1つ以上のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。下記の説明は、サンプルに焦点を当てる。
【0056】
ある実施形態によれば、ビデオエンコーダ(603)は、ソースビデオシーケンスのピクチャを、リアルタイムで或いは要求される任意の他の時間的制約の下で、符号化及び圧縮して、符号化ビデオシーケンス(643)にすることができる。適切な符号化速度を施行することは、コントローラ(650)の1つの機能である。いくつかの実施形態では、コントローラ(650)は、以下に記載されるような他の機能ユニットを制御し、該他の機能ユニットに機能的に結合される。かかる結合は、明確のために描かれていない。コントローラ(650)によって設定されるパラメータは、レート制御に関連するパラメータ(ピクチャスキップ、量子化器、レート‐歪み最適化技術のラムダ値、…)、ピクチャサイズ、グループオブピクチャ(GOP)レイアウト、最大動きベクトル探索範囲等を含むことができる。コントローラ(650)は、特定のシステム設計のために最適化されたビデオエンコーダ(603)に関する他の好適な機能を有するように構成できる。
【0057】
いくつかの実施形態では、ビデオエンコーダ(603)は、符号化ループにおいて動作するように構成される。思い切って単純化した説明として、一例では、符号化ループは、ソース符号化器(630)(例えば、符号化されるべき入力ピクチャと参照ピクチャ(単数又は複数)に基づいてシンボルストリームのようなシンボルを生成することを受け持つ)と、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、(リモートの)デコーダも生成するであろうのと同様の仕方でサンプルデータを生成するよう前記シンボルを再構成する。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームの復号は、デコーダ位置(ローカルかリモートか)によらずビット正確な結果をもたらすので、参照ピクチャメモリ(634)の内容もローカルエンコーダとリモートエンコーダの間でビット正確である。言い換えると、エンコーダの予測部は、デコーダが復号中に予測を使用するときに「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(及び、例えば、チャネルエラーのために同期性が維持できない場合の結果として生じるドリフト)は、いくつかの関連技術においても使用される。
【0058】
「ローカル」デコーダ(633)の動作は、
図5との関連で既に上記で詳細に述べた「リモート」デコーダ、例えばビデオデコーダ(410)の動作と同じでもよい。しかしながら、簡単に
図5も参照すると、シンボルが利用可能であり、エントロピー符号化器(645)及びパーサ(420)による、シンボルの符号化ビデオシーケンスへの符号化/復号が可逆であり得るので、バッファメモリ(415)及びパーサ(420)を含むビデオデコーダ(410)のエントロピー復号部は、ローカルデコーダ(633)においては完全には実装されなくてもよい。
【0059】
ある実施形態では、デコーダ内に存在するパース/エントロピー復号を除くデコーダ技術は、対応するエンコーダ内で同一又は実質的に同一の機能的形態で存在する。したがって、開示される主題はデコーダ動作に焦点を当てる。エンコーダ技術の記述は、包括的に記述されるデコーダ技術の逆であるため、省略することができる。特定の領域において、より詳細な説明が以下に提供される。
【0060】
動作中、いくつかの例では、ソース符号化器(630)は、「参照ピクチャ」として指定された、ビデオシーケンスからの1つ以上の以前に符号化されたピクチャを参照して、入力ピクチャを予測的に符号化する、動き補償された予測符号化を実行することができる。このようにして、符号化エンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する予測参照として選択され得る参照ピクチャ(単数又は複数)のピクセルブロックとの間の差分を符号化する。
【0061】
ローカルビデオデコーダ(633)は、ソース符号化器(630)によって生成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャの符号化されたビデオデータを復号することができる。符号化エンジン(632)の動作は、有利には、損失のあるプロセスであり得る。符号化されたビデオデータがビデオデコーダ(
図6には示さず)で復号され得るとき、再構成されたビデオシーケンスは、典型的には、いくつかのエラーを伴うソースビデオシーケンスの複製であり得る。ローカルビデオデコーダ(633)は、ビデオデコーダによって参照ピクチャに対して実行され得る復号プロセスを複製し、再構成された参照ピクチャを参照ピクチャメモリ(634)に格納させることができる。このようにして、ビデオエンコーダ(603)は、遠端のビデオデコーダによって得られるであろう再構成された参照ピクチャとしての共通の内容を(伝送エラーがなければ)有する再構成された参照ピクチャのコピーを、ローカルに記憶することができる。
【0062】
予測器(635)は、符号化エンジン(632)について予測探索を実行することができる。すなわち、符号化されるべき新しいピクチャについて、予測器(635)は、新しいピクチャのための適切な予測参照として機能し得るサンプルデータ(候補参照ピクセルブロックとして)又は特定のメタデータ、例えば参照ピクチャ動きベクトル、ブロック形状等を求めて、参照ピクチャメモリ(634)を探索することができる。予測器(635)は、適切な予測参照を見出すために、サンプルブロック/ピクセルブロック毎に(on a sample block-by-pixel block basis)動作し得る。場合によっては、予測器(635)によって得られた検索結果によって決定されるところにより、入力ピクチャは、参照ピクチャメモリ(634)に記憶された複数の参照ピクチャから引き出された予測参照を有することができる。
【0063】
コントローラ(650)は、例えば、ビデオデータを符号化するために使用されるパラメータ及びサブグループパラメータの設定を含め、ソース符号化器(630)の符号化動作を管理してもよい。
【0064】
上記の機能ユニット全ての出力は、エントロピー符号化器(645)におけるエントロピー符号化を受けることができる。エントロピー符号化器(645)は、ハフマン符号化、可変長符号化、算術符号化等といった技術に従ってシンボルに無損失圧縮を適用することによって、様々な機能ユニットによって生成されたシンボルを符号化ビデオシーケンスに変換する。
【0065】
送信機(640)は、エントロピーエンコーダ(645)によって生成される符号化ビデオシーケンスをバッファに入れて、通信チャネル(660)を介した送信のために準備することができる。通信チャネル(660)は、符号化されたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであってもよい。送信機(640)は、ビデオ符号化器(630)からの符号化されたビデオデータを、送信されるべき他のデータ、例えば符号化されたオーディオデータ及び/又は補助データストリーム(ソースは図示せず)とマージすることができる。
【0066】
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理してもよい。符号化の間、コントローラ(650)は、それぞれの符号化されたピクチャに、ある符号化ピクチャタイプを割り当てることができる。符号化ピクチャタイプは、それぞれのピクチャに適用され得る符号化技術に影響し得る。例えば、ピクチャはしばしば、以下のピクチャタイプのうちの1つとして割り当てられることがある。
【0067】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のピクチャを使用せずに、符号化され、復号され得るものであり得る。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(Independent Decoder Refresh、「IDR」)ピクチャを含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのこれらの変形、並びにそれらのそれぞれの用途及び特徴を認識する。
【0068】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いて符号化及び復号され得るものであり得る。
【0069】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いて符号化及び復号され得るものであり得る。同様に、マルチ予測ピクチャは、単一のブロックの再構成のために、3つ以上の参照ピクチャ及び関連するメタデータを使用することができる。
【0070】
ソースピクチャは、通常では、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、又は16×16サンプルのブロック)に分割され、ブロック毎に符号化され得る。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てによって決定されるところにより、他の(既に符号化された)ブロックを参照して予測的に符号化され得る。例えば、Iピクチャのブロックは、非予測的に符号化されてもよく、或いは、同じピクチャの既に符号化されたブロックを参照して予測的に符号化されてもよい(空間的予測又はイントラ予測)。Pピクチャのピクセルブロックは、以前に符号化された1つの参照ピクチャを参照して、空間的予測を介して或いは時間的予測を介して予測的に符号化されてもよい。Bピクチャのブロックは、1つ又は2つの以前に符号化された参照ピクチャを参照して、空間的予測を介して或いは時間的予測を介して予測的に符号化されてもよい。
【0071】
ビデオエンコーダ(603)は、ITU-T勧告H.265等の所定のビデオ符号化技術又は標準に従って符号化動作を実行することができる。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を活用する予測符号化動作を含む、様々な圧縮動作を実行することができる。よって、符号化されたビデオデータは、使用されるビデオ符号化技術又は標準によって指定されるシンタックスに準拠し得る。
【0072】
ある実施形態において、送信機(640)は、符号化されたビデオと一緒に追加データを送信してもよい。ソース符号化器(630)は、符号化ビデオシーケンスの一部としてそのようなデータを含めてもよい。追加データは、時間的/空間的/SNRエンハンスメント層、冗長ピクチャ及びスライスのような他の形の冗長データ、SEIメッセージ、VUIパラメータセットフラグメント等を含んでいてもよい。
【0073】
ビデオは、時間的シーケンスにおいて複数のソースピクチャ(ビデオピクチャ)として捕捉されてもよい。イントラピクチャ予測(しばしば、イントラ予測と略される)は、所与のピクチャにおける空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、現在ピクチャと呼ばれる符号化/復号対象の特定のピクチャは、ブロックに分割される。現在ピクチャ内のブロックが、ビデオにおける、前に符号化され、且つ、まだバッファに入れられている参照ピクチャ内の参照ブロックに類似する場合、現在ピクチャ内のそのブロックは、動きベクトルと呼ばれるベクトルによって符号化できる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用される場合には、参照ピクチャを識別する第3の次元を有することができる。
【0074】
いくつかの実施形態において、インターピクチャ予測において双予測技術が使用できる。双予測技術によれば、いずれもビデオにおいて現在ピクチャより復号順で先行する(ただし、表示順では、それぞれ過去及び将来でもよい)第1の参照ピクチャ及び第2の参照ピクチャのような2つの参照ピクチャが使用される。現在ピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトルと、第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルとによって符号化できる。ブロックは、第1の参照ブロックと第2の参照ブロックの組み合わせによって予測できる。
【0075】
さらに、符号化効率を改善するために、インターピクチャ予測においてマージモード技術が使用できる。
【0076】
本開示のいくつかの実施形態によれば、インターピクチャ予測及びイントラピクチャ予測等の予測は、ブロックの単位で実行される。例えば、HEVC標準によれば、ビデオピクチャのシーケンスにおけるピクチャは、圧縮のために符号化ツリーユニット(CTU)に分割され、ピクチャにおけるそれらのCTUは、64×64ピクセル、32×32ピクセル、又は16×16ピクセル等の同じサイズを有する。一般に、CTUは、1つのルマCTB及び2つのクロマCTBである3つの符号化ツリーブロック(CTB)を含む。各CTUは、再帰的に、1つ以上の符号化ユニット(CU)に四分木分割されていくことができる。例えば、64×64ピクセルのCTUは、64×64ピクセルの1つのCU、又は32×32ピクセルの4つのCU、又は16×16ピクセルの16個のCUに分割されることができる。一例では、各CUは、インター予測タイプ又はイントラ予測タイプのような、そのCUについての予測タイプを決定するために解析される。CUは時間的及び/又は空間的予測可能性に依存して、1つ以上の予測ユニット(PU)に分割される。一般に、各PUはルマ予測ブロック(PB)及び2つのクロマPBを含む。ある実施形態では、コーディング(符号化/復号)における予測動作は、予測ブロックの単位で実行される。予測ブロックの例としてルマ予測ブロックを用いると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル等、ピクセルについての値(例えば、ルマ値)の行列を含む。
【0077】
図7は、ビデオエンコーダ(703)の例示的な図を示す。ビデオエンコーダ(703)は、ビデオピクチャのシーケンス内の現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、符号化ビデオシーケンスの一部である符号化されたピクチャに符号化するように構成される。一例では、ビデオエンコーダ(703)は、
図4の例におけるビデオエンコーダ(403)の代わりに使用される。
【0078】
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプル等の予測ブロックのような処理ブロックについてサンプル値の行列を受信する。ビデオエンコーダ(703)は、処理ブロックが、イントラモード、インターモード、又は双予測モードのどれを使用して、最もよく符号化されるかを、例えばレート‐歪み最適化を使用して、判別する。処理ブロックがイントラモードで符号化される場合、ビデオエンコーダ(703)は、処理ブロックを符号化されたピクチャに符号化するためにイントラ予測技術を使用してもよい。処理ブロックがインターモード又は双予測モードで符号化される場合、ビデオエンコーダ(703)は、処理ブロックを符号化されたピクチャに符号化するために、それぞれ、インター予測技術又は双予測技術を使用してもよい。特定のビデオ符号化技術では、マージモード(merge mode)は、動きベクトルが1つ以上の動きベクトル予測子から導出されるが前記予測子の外の符号化された動きベクトル成分の利益のない、インターピクチャ予測サブモードであり得る。特定の他のビデオ符号化技術では、対象ブロックに適用可能な動きベクトル成分が存在してもよい。一例では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)等の他のコンポーネントを含む。
【0079】
図7の例では、ビデオエンコーダ(703)は、インターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、全般コントローラ(721)、及びエントロピー符号化器(725)を、
図7に示されるように一緒に結合されて含む。
【0080】
インターエンコーダ(730)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、該ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、以前のピクチャ及び後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インター符号化技術による冗長情報の記述、動きベクトル、マージモード情報)を生成し、該インター予測情報に基づいて、任意の好適な技術を使用してインター予測結果(例えば、予測されたブロック)を計算するように構成される。いくつかの例では、参照ピクチャは、符号化されたビデオ情報に基づいて復号された、復号された参照ピクチャである。
【0081】
イントラエンコーダ(722)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、該ブロックを、同じピクチャ内で既に符号化されているブロックと比較し、変換後に量子化された係数を生成し、場合によっては、イントラ予測情報(例えば、1つ以上のイントラ符号化技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(722)はまた、該イントラ予測情報及び同じピクチャ内の参照ブロックに基づいて、イントラ予測結果(例えば、予測されたブロック)を計算する。
【0082】
全般コントローラ(721)は、全般制御データを決定し、全般制御データに基づいてビデオエンコーダ(703)の他のコンポーネントを制御するように構成される。一例では、全般コントローラ(721)は、ブロックのモードを決定し、そのモードに基づいて制御信号をスイッチ(726)に提供する。例えば、モードがイントラモードである場合、全般コントローラ(721)は、残差計算器(723)による使用のためにイントラモードの結果を選択するようスイッチ(726)を制御し、イントラ予測情報を選択し、イントラ予測情報をビットストリームに含めるようエントロピーエンコーダ(725)を制御する。モードがインターモードである場合、全般コントローラ(721)は、残差計算器(723)による使用のためにインター予測の結果を選択するようスイッチ(726)を制御し、インター予測情報を選択し、インター予測情報をビットストリームに含めるようエントロピーエンコーダ(725)を制御する。
【0083】
残差計算器(723)は、受信されたブロックと、イントラエンコーダ(722)又はインターエンコーダ(730)から選択された予測結果との差(残差データ)を計算するように構成される。残差エンコーダ(724)は、残差データに基づいて、残差データを符号化して変換係数を生成するように構成される。一例では、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。次いで、変換係数は、量子化処理にかけられ、量子化された変換係数を得る。様々な実施形態において、ビデオエンコーダ(703)は、残差デコーダ(728)をも含む。残差デコーダ(728)は、逆変換を実行して、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(722)及びインターエンコーダ(730)によって好適に使用されることができる。例えば、インターエンコーダ(730)は、復号された残差データ及びインター予測情報に基づいて、復号されたブロックを生成することができ、イントラエンコーダ(722)は、復号された残差データ及びイントラ予測情報に基づいて、復号されたブロックを生成することができる。復号されたブロックは、復号されたピクチャを生成するために好適に処理され、復号されたピクチャは、メモリ回路(図示せず)内にバッファリングされ、いくつかの例では参照ピクチャとして使用されることができる。
【0084】
エントロピーエンコーダ(725)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、HEVC標準のような好適な標準に従って様々な情報をビットストリームに含めるように構成される。一例では、エントロピーエンコーダ(725)は、全般制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び他の好適な情報をビットストリーム内に含めるように構成される。開示される主題によれば、インターモード又は双予測モードのいずれかのマージサブモードにおいてブロックを符号化する場合は、残差情報は存在しないことを注意しておく。
【0085】
図8は、ビデオデコーダ(810)の例示的な図を示す。ビデオデコーダ(810)は、符号化されたビデオシーケンスの一部である符号化されたピクチャを受信し、符号化されたピクチャを復号して、再構成されたピクチャを生成するように構成される。一例では、ビデオデコーダ(810)は、
図4の例におけるビデオデコーダ(410)の代わりに使用される。
【0086】
図8の例では、ビデオデコーダ(810)は、エントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、及びイントラデコーダ(872)が
図8に示されるように一緒に結合されたものを含む。
【0087】
エントロピーデコーダ(871)は、符号化されたピクチャから、その符号化されたピクチャが構成されるシンタックスエレメントを表す特定のシンボルを再構成するように構成されることができる。そのようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、双予測モード、マージサブモード又は別のサブモードにおける後者の2つ)、及びイントラデコーダ(872)又はインターデコーダ(880)によってそれぞれ予測のために使用される特定のサンプル又はメタデータを識別することができる予測情報(例えば、イントラ予測情報又はインター予測情報等)を含むことができる。シンボルはまた、例えば量子化された変換係数の形の残差情報等を含むことができる。一例では、予測モードがインター又は双予測モードである場合、インター予測情報がインターデコーダ(880)に提供される。予測タイプがイントラ予測タイプである場合には、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報は、逆量子化を受けることができ、残差デコーダ(873)に提供される。
【0088】
インターデコーダ(880)は、インター予測情報を受信し、該インター予測情報に基づいてインター予測結果を生成するように構成される。
【0089】
イントラデコーダ(872)は、イントラ予測情報を受信し、該イントラ予測情報に基づいて予測結果を生成するように構成される。
【0090】
残差デコーダ(873)は、逆量子化を実行して量子化解除された変換係数を抽出し、量子化解除された変換係数を処理して、残差情報を周波数領域から空間領域に変換するように構成される。残差デコーダ(873)はまた、特定の制御情報(量子化器パラメータ(QP)を含む)をも必要とすることがあり、その情報は、エントロピーデコーダ(871)によって提供されてもよい(これは、低ボリュームの制御情報のみであるため、データ経路は描かれていない)。
【0091】
再構成モジュール(874)は、空間領域において、残差デコーダ(873)によって出力される残差情報と、予測結果(場合に応じてイントラ又はインター予測モジュールによって出力される)とを組み合わせて、再構成されたブロックを形成するように構成され、該再構成されたブロックは再構成されたピクチャの一部であってもよく、該再構成されたピクチャは再構成されたビデオの一部であってもよい。視覚的品質を改善するためにデブロッキング動作等の他の好適な動作が実行されることができることを注意しておく。
【0092】
なお、ビデオエンコーダ(403)、(603)、(703)、及びビデオデコーダ(410)、(510)、(810)は、任意の好適な技術を用いて実装できる。ある実施形態では、ビデオエンコーダ(403)、(603)、(703)及びビデオデコーダ(410)、(510)、(810)は、1つ以上の集積回路を使用して実装できる。別の実施形態では、ビデオエンコーダ(403)、(603)、(703)、及びビデオデコーダ(410)、(510)、(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装できる。
【0093】
様々なインター予測モードがVVCで使用できる。インター予測されるCUについて、動きパラメータは、MV、1つ以上の参照ピクチャインデックス、参照ピクチャリスト使用インデックス、及びインター予測サンプル生成に使用される特定のコーディング特徴のための追加情報を含むことができる。動きパラメータは明示的又は暗黙的に信号伝達できる。CUがスキップモードでコーディングされる場合、CUはPUと関連付けでき、有意な残余係数、コーディングされた動きベクトルデルタ又はMV差(例えば、MVD)又は参照ピクチャインデックスを有さない可能性がある。空間及び/又は時間候補と、任意選択でVVCにおいて導入されたような追加情報とを含み、現在CUの動きパラメータが隣接CUから取得されるマージモードが指定できる。マージモードは、スキップモードだけでなく、インター予測されるCUにも適用できる。一例では、マージモードに対する選択は、動きパラメータの明示的な信号伝達であり、MV、各参照ピクチャリストの対応する参照ピクチャインデックス及び参照ピクチャリスト使用フラグ並びに他の情報がCU毎に明示的に信号伝達される。
【0094】
VVCのような実施形態では、VVCテストモデル(VTM, VVC Test model)参照ソフトウェアは、拡張マージ予測、マージ動きベクトル差(MMVD, merge motion vector difference)モード、対称MVD信号伝達を伴う適応動きベクトル予測(AMVP, adaptive motion vector prediction)モード、アフィン動き補償予測、サブブロックベースの時間動きベクトル予測(SbTMVP, subblock-based temporal motion vector prediction)、適応動きベクトル解像度(AMVR, adaptive motion vector resolution)、動き場ストレージ(1/16ルマサンプルMVストレージ及び8x8動き場圧縮)、CUレベルの重みを用いた双方向予測(BCW, bi-prediction with CU-level weights)、双方向オプティカルフロー(BDOF, bi-directional optical flow)、オプティカルフローを使用した予測洗練化(PROF, prediction refinement using optical flow)、デコーダ側動きベクトル洗練化(DMVR, decoder side motion vector refinement)、結合インター及びイントラ予測(CIIP, combined inter and intra prediction)、幾何学分割モード(GPM, geometric partitioning mode)等を含む1つ以上の洗練化されたインター予測コーディングツールを含む。以下では、インター予測及び関連する方法について詳細に説明する。
【0095】
いくつかの例では、拡張マージ予測が使用できる。VTM4のような例では、マージ候補リストは、空間隣接CUからの空間動きベクトル予測子(MVP, motion vector predictor)、同一位置のCUからの時間MVP、先入れ先出し(FIFO, first-in-first-out)テーブルからの履歴ベースのMVP、ペアワイズ平均MVP及びゼロMVの5種類の候補を順に含めることによって構築される。
【0096】
マージ候補リストのサイズは、スライスヘッダで信号伝達できる。一例では、マージ候補リストの最大許容サイズは、VTM4では6である。マージモードでコーディングされた各CUについて、最適なマージ候補のインデックス(例えば、マージインデックス)は、トランケーテッド単項二進化(TU, truncated unary binarization)を使用して符号化できる。マージインデックスの最初のビンはコンテキスト(例えば、コンテキスト適応二項算術符号化(CABAC, context-adaptive binary arithmetic coding)でコーディングでき、バイパスコーディングが他のビンに使用できる。
【0097】
マージ候補の各カテゴリの生成プロセスのいくつかの例が以下に提供される。一実施形態では、空間候補は以下のように導出される。VVCでの空間マージ候補の導出は、HEVCでの導出と同じものとすることができる。一例では、
図9に示す位置にある候補の中から最大で4つのマージ候補が選択される。
図9は、本開示の一実施形態による空間マージ候補の位置を示す。
図9を参照すると、導出の順序はB1、A1、B0、A0及びB2である。位置B2は、位置A0、B0、B1及びA1のいずれかのCUが利用可能でない場合(例えば、CUが他のスライス又は他のタイルに属しているため)、又はイントラコーディングされる場合にのみ考慮される。位置A1における候補が追加された後に、残りの候補の追加は冗長検査の対象となり、これは、同じ動き情報を有する候補が候補リストから除外され、それにより、コーディング効率が改善されることを確保する。
【0098】
計算の複雑性を低減するために、全ての可能な候補ペアが上記の冗長検査で考慮されるとは限らない。代わりに、
図10における矢印でリンク付けされたペアのみが考慮され、冗長検査に使用される対応する候補が同じ動き情報を有さない場合にのみ、候補が候補リストに追加される。
図10は、本開示の一実施形態による空間マージ候補の冗長検査について考慮される候補ペアを示す。
図10を参照すると、それぞれの矢印でリンク付けされたペアは、A1及びB1と、A1及びA0と、A1及びB2と、B1及びB0と、B1及びB2とを含む。したがって、位置B1、A0及び/又はB2における候補は位置A1における候補と比較でき、位置B0及び/又はB2における候補は位置B1における候補と比較できる。
【0099】
一実施形態では、時間候補は以下のように導出される。一例では、1つの時間マージ候補のみが候補リストに追加される。
図11は、時間マージ候補のための例示的な動きベクトルのスケーリングを示す。現在ピクチャ(1101)内の現在CU(1111)の時間マージ候補を導出するために、スケーリングされたMV(1121)(例えば、
図11において点線で示す)は、同一位置の参照ピクチャ(1104)に属する同一位置のCU(1112)に基づいて導出できる。同一位置のCU(1112)を導出するために使用される参照ピクチャリストは、スライスヘッダで明示的に信号伝達できる。時間マージ候補のためのスケーリングされたMV(1121)は、
図11において点線で示すように取得できる。スケーリングされたMV(1121)は、ピクチャ順序カウント(POC, picture order count)距離tb及びtdを使用して、同一位置のCU(1112)のMVからスケーリングできる。POC距離tbは、現在ピクチャ(1101)の現在の参照ピクチャ(1102)と現在ピクチャ(1101)との間のPOC差として定義できる。POC距離tdは、同一位置のピクチャ(1103)の同一位置の参照ピクチャ(1104)と同一位置のピクチャ(1103)との間のPOC差として定義できる。時間マージ候補の参照ピクチャインデックスは0に設定できる。
【0100】
図12は、現在CUの時間マージ候補の例示的な候補位置(例えば、C0及びC1)を示す。時間マージ候補の位置は、候補位置C0と候補位置C1との間で選択できる。候補位置C0は、現在CUの同一位置のCU(1210)の右下角に位置する。候補位置C1は、現在CUの同一位置のCU(1210)の中央に位置する。候補位置C0におけるCUが利用可能でない場合、イントラコーディングされる場合、又はCTUの現在の行の外にある場合、候補位置C1が時間マージ候補を導出するために使用される。そうでない場合、例えば、候補位置C0におけるCUが利用可能であり、イントラコーディングされ、CTUの現在の行にある場合、候補位置C0が時間マージ候補を導出するために使用される。
【0101】
適応動きベクトル解像度(AMVR, adaptive motion vector resolution)モードは、VVCのようなビデオ/画像コーディングで使用できる。ビデオコーディング標準のHEVC及びAVC/H.264のようないくつかの技術では、1/4ルマサンプル(又は1/4ペル)の固定の動きベクトル解像度(MVR, motion vector resolution)が使用される。一般的に、レート歪みを最適化するために、変位ベクトルレートと予測誤差レートとの間の最適なトレードオフが選択される。VVCのような関連技術では、MVRが複数のMVRから、例えば符号化ブロックレベルで選択できる場合、AMVRモードが有効になり、したがって、動きパラメータを信号伝達する忠実性に対してビットレートをトレードオフすることができる。AMVRモードは、例えば、MVDの少なくとも1つの成分が0に等しくない場合、符号化ブロックレベルで信号伝達できる。動きベクトル予測子(MVP, motion vector predictor)は、結果のMV(例えば、MVPとMVDとの和)が所与のMVRのグリッドに収まることができるように、所与のMVRに丸められることができる。
【0102】
図13は、解像度(例えば、MVR)に対応するAmvrシフト値(例えば、AmvrShift)の例を示す。所与の解像度(例えば、MVR)毎に、対応するAmvrシフト値(例えば、AmvrShift)はシフト演算(例えば、左シフト演算)を示す。例えば、AmvrShiftは左シフト演算によるMVDのMVRを指定するように定義され、シフトされるビット数はAmvrShiftによって示される。
【0103】
いくつかの例では、AMVRフラグ(例えば、amvr_flag)のようなフラグはMVDの解像度(例えば、MVR)を指定する。一例では、0に等しいAMVRフラグ(例えば、amvr_flag)は、MVDのMVRが1/4ルマサンプル(1/4ペル)であることを指定する。
図13を参照すると、1/4ペルのMVRは2ビットの左シフト演算(例えば、AmvrShiftが2ビットであること)に対応する。
【0104】
1に等しいAMVRフラグ(例えば、amvr_flag)は、MVDのMVRがインデックス(例えば、AMVR精度インデックス又は
図13においてamvr_precision_idxとして示される)及び/又は予測モードのような追加情報によって更に指定されることを指定する。
図13を参照すると、予測モードは、インターアフィンフラグによって示されるアフィン予測モード若しくはアフィンモード、パラメータmode_IBCによって示されるIBCモード、又はアフィン予測モードでもIBCモードでもないインター予測モードとすることができる。例えば、インター予測モードは全体のブロックベースのインター予測である。
【0105】
例えば、符号化ブロックはAMVPモードで予測され、AMVRフラグ(例えば、amvr_flag)は1であり、したがって、インター予測モード(例えば、全体のブロックベースのインター予測)がアフィン予測モードでもIBCモードでもない場合、AMVR精度インデックスがそれぞれ0、1又は2であるときに、MVRは1/2ルマサンプル(1/2ペル)、1ルマサンプル(1ペル)又は4ルマサンプル(4ペル)となる。一例では、1/2ペル、1ペル又は4ペルは、3、4又は6ビットのAmvrShiftに対応する。
【0106】
AMVPモードではMvdL0及びMvdL1として示され、或いはアフィンAMVPモードではMvdCpL0及びMvdCpL1として示される所与のMVDは、AMVRモードが有効である場合、
図14A又は
図14Bに示すように変更できる。
【0107】
いくつかの例では、動き補償予測(MCP, motion compensation prediction)について並進動きモデルが適用される。しかし、並進動きモデルは、ズームイン/アウト、回転、透視動き及び他の不規則な動きのような他の種類の動きをモデル化するのに適さない可能性がある。いくつかの実施形態では、ブロックベースのアフィン変換動き補償予測(block-based affine transform motion compensation prediction)が適用される。
図15Aにおいて、4パラメータのアフィンモデルが使用される場合、ブロックのアフィン動き場は、2つの制御点(CP, control point)CP0及びCP1の2つの制御点動きベクトル(CPMV, control point motion vector)であるCPMV0及びCPMV1によって記述される。
図15Bにおいて、6パラメータのアフィンモデルが使用される場合、ブロックのアフィン動き場は、CP0、CP1及びCP2のCPの3つのCPMVであるCPMV0、CPMV1及びCPMV3によって記述される。
【0108】
4パラメータのアフィン動きモデルの場合、ブロック内のサンプル位置(x,y)における動きベクトルは以下のように導出される。
【数1】
【0109】
6パラメータのアフィン動きモデルの場合、ブロック内のサンプル位置(x,y)における動きベクトルは以下のように導出される。
【数2】
【0110】
式1~2において、(mv0x,mv0y)は左上角の制御点の動きベクトルであり、(mv1x,mv1y)は右上角の制御点の動きベクトルであり、(mv2x,mv2y)は左下角の制御点の動きベクトルである。さらに、座標(x,y)はそれぞれのブロックの左上角を基準とするものであり、W及びHはそれぞれのブロックの幅及び高さを示す。
【0111】
いくつかの実施形態では、動き補償予測を簡略化するために、サブブロックベースのアフィン変換予測が適用される。例えば、
図16において、4パラメータのアフィン動きモデルが使用され、2つのCPMV
【数3】
が決定される。現在ブロック(1610)から分割された各4×4(サンプル)ルマサブブロック(1602)の動きベクトルを導出するために、各サブブロック(1602)の中心サンプルの動きベクトル(1601)が式1に従って計算され、1/16の分数精度に丸められる。次いで、導出された動きベクトル(1601)で各サブブロック(1602)の予測を生成するために、動き補償補間フィルタが適用される。クロマ成分のサブブロックサイズは4×4に設定される。4×4クロマサブブロックのMVは、対応する4×4ルマサブブロックのMVの平均として計算される。
【0112】
いくつかの実施形態では、並進動きインター予測と同様に、アフィンマージモード及びアフィンAMVPモードの2つのアフィン動きインター予測モードが使用される。
【0113】
いくつかの実施形態では、アフィンマージモードは、幅及び高さの双方が8以上であるCUに適用できる。現在CUのアフィンマージ候補は空間隣接CUの動き情報に基づいて生成できる。最大で5つのアフィンマージ候補が存在でき、現在CUに使用されるものを示すためにインデックスが信号伝達される。例えば、以下の3種類のアフィンマージ候補がアフィンマージ候補リストを形成するために使用される。
(i)隣接CUのCPMVから外挿された継承アフィンマージ候補、
(ii)隣接CUの並進MVを使用して導出された構築アフィンマージ候補、及び
(iii)ゼロMV
【0114】
いくつかの実施形態では、隣接ブロックのアフィン動きモデルから導出された最大で2つの継承アフィン候補が存在し、1つは左隣接CUから導出され、1つは上隣接CUから導出される。例えば、候補ブロックは
図9に示す位置に配置できる。左の予測子については、スキャン順序はA0>A1であり、上の予測子については、スキャン順序はB0>B1>B2である。それぞれの側から最初に継承された候補のみが選択される。2つの継承された候補の間でプルーニング検査は実行されない。
【0115】
隣接アフィンCUが識別されると、識別された隣接アフィンCUのCPMVが、現在CUのアフィンマージリスト内のCPMV候補を導出するために使用される。
図17に示すように、現在CU(1710)の隣接左下ブロックAはアフィンモードでコーディングされる。ブロックAを含むCU(1720)の左上角、右上角及び左下角の動きベクトル
【数4】
が取得される。ブロックAが4パラメータのアフィンモデルでコーディングされる場合、現在CU(1710)の2つのCPMV
【数5】
は、
【数6】
に従って計算される。ブロックAが6パラメータのアフィンモデルでコーディングされる場合、現在CUの3つのCPMV(図示せず)は、
【数7】
に従って計算される。
【0116】
構築アフィン候補は、各制御点の隣接する並進動き情報を組み合わせることで構築される。制御点の動き情報は、
図18に示す指定の空間隣接及び時間隣接から導出される。CPMV
k(k=1,2,3,4)は、第kの制御点を表す。CPMV1については、B2>B3>A2のブロックが順に検査され、最初に利用可能なブロックのMVが使用される。CPMV2については、B1>B0のブロックが検査され、CPMV3については、A1>A0のブロックが検査される。ブロックTにおけるTMVPは、利用可能な場合にはCPMV4として使用される。
【0117】
4つの制御点のMVが取得された後に、その動き情報に基づいてアフィンマージ候補が構築される。以下の制御点MVの組み合わせ、すなわち、{CPMV1,CPMV2,CPMV3}、{CPMV1,CPMV2,CPMV4}、{CPMV1,CPMV3,CPMV4}、{CPMV2,CPMV3,CPMV4}、{CPMV1,CPMV2}、{CPMV1,CPMV3}が順に構築するのに使用される。
【0118】
3つのCPMVの組み合わせは6パラメータのアフィンマージ候補を構築し、2つのCPMVの組み合わせは4パラメータのアフィンマージ候補を構築する。動きスケーリングプロセスを回避するために、制御点の参照インデックスが異なる場合、関連する制御点MVの組み合わせは破棄される。
【0119】
継承アフィンマージ候補及び構築アフィンマージ候補が検査された後に、リストが依然としていっぱいになっていない場合、ゼロMVがマージ候補リストの最後に挿入される。
【0120】
いくつかの実施形態では、アフィンAMVPモードは、幅及び高さの双方が16以上であるCUに適用できる。アフィンAMVPモードが使用されるか否かを示すためにCUレベルでのアフィンフラグがビットストリームで信号伝達され、次いで、4パラメータのアフィンが使用されるか6パラメータのアフィンが使用されるかを示すために他のフラグが信号伝達される。現在CUとその予測子のCPMVの差がビットストリームで信号伝達される。アフィンAVMP候補リストサイズは2であり、以下の4種類のCPVM候補を順に使用することによって生成できる。
(i)隣接CUのCPMVから外挿された継承アフィンAMVP候補、
(ii)隣接CUの並進MVを使用して導出された構築アフィンAMVP候補、
(iii)隣接CUからの並進MV、及び
(iv)ゼロMV
【0121】
一例では、継承アフィンAMVP候補の検査順序は、継承アフィンマージ候補の検査順序と同様である。違いは、AVMP候補について、現在ブロックと同じ参照ピクチャを有するアフィンCUが考慮されることである。継承アフィン動き予測子を候補リストに挿入する場合、プルーニングプロセスは適用されない。
【0122】
構築AMVP候補は、
図18に示す指定の空間隣接から導出される。アフィンマージ候補構築で行われるのと同じ検査順序が使用される。さらに、隣接ブロックの参照ピクチャインデックスも検査される。現在CUと同じ参照ピクチャを有し且つインターコーディングされる検査順序での最初のブロックが使用される。現在CUが4パラメータのアフィンモデルでコーディングされ、CPMV0及びCPMV1の双方が利用可能である場合、利用可能なCPMVはアフィンAMVPリストにおいて1つの候補として追加される。現在CUが6パラメータのアフィンモードでコーディングされ、3つのCPMV(CPMV0、CPMV1及びCPMV2)が全て利用可能である場合、利用可能なCPMVはアフィンAMVPリストにおいて1つの候補として追加される。そうでない場合、構築AMVP候補は利用不可能に設定される。
【0123】
継承アフィンAMVP候補及び構築AMVP候補が検査された後に、アフィンAMVPリスト候補が依然として2未満である場合、制御点に隣接する並進動きベクトルが利用可能である場合には、現在CUの全ての制御点MVを予測するために追加される。最後に、アフィンAMVPリストが依然としていっぱいになっていない場合、ゼロMVがアフィンAMVPリストを埋めるために使用される。
【0124】
VVC及びECMのような関連技術では、MVはインター予測モード(例えば、片方向予測モード又は双方向予測モード)でピクチャ境界又はフレーム境界外の参照ブロックを指すことができる。例えば、MVにより指される参照ブロックの1つ以上の参照サンプルは、参照ピクチャのピクチャ境界外に位置する。いくつかの実施形態では、少なくとも1つのMVがフレーム境界を超える場合、インター予測子(例えば、片方向予測モードでの参照ブロック、又は双方向予測モードについての第1の参照ブロック及び第2の参照ブロックに基づく双方向予測子)は、現在ブロックを正確又は効率的に予測しない可能性がある。
【0125】
図19は、現在ブロック(図示せず)の参照ピクチャ(1901)(灰色の網掛け)及び現在ブロックの参照ブロック(1911)~(1914)の例を示す。参照ピクチャ(1901)のピクチャ境界又はフレーム境界は、参照ピクチャ(1901)の4つの角C1~C4によって決定できる。4つの角C1~C4は、左上角C1、右上角C2、左下角C3及び右下角C4である。
【0126】
図19において、参照ブロック(1911)は網掛け領域内にある。参照ブロック(1911)内の各参照サンプルが参照ピクチャ(1901)内にある場合、参照ブロック(1911)は参照ピクチャ(1901)内又は参照ピクチャ(1901)のピクチャ境界内にある。参照ブロック(1911)は長方形形状を有し、参照ブロック(1911)の4つの角D1~D4は参照ピクチャ(1901)内にある。
【0127】
参照ブロック内の少なくとも1つの参照サンプルが参照ピクチャ(1901)外にある場合、参照ブロックは参照ピクチャ(1901)外又は参照ピクチャ(1901)のピクチャ境界外にある。例えば、参照ブロック(1911)は網掛け領域外にある。参照ブロック(1912)は、参照ピクチャ(1901)外又は参照ピクチャ(1901)のピクチャ境界外にある。参照ブロック(1912)の4つの角E1~E4は参照ピクチャ(1901)外にある。
【0128】
参照ブロック(1913)は、部分的に網掛け領域外にある。参照ブロック(1913)の角F1は参照ピクチャ(1901)内にあり、角F2~F4は参照ピクチャ(1901)外にある。参照ブロック(1913)は参照ピクチャ(1901)外又は参照ピクチャ(1901)のピクチャ境界外にある。
【0129】
現在ピクチャ内の現在ブロックは、インター予測モードでコーディングできる。現在ブロックは、それぞれ1つ以上の参照ピクチャ(例えば、(i)第1の参照ピクチャ又は(ii)第1の参照ピクチャ及び第2の参照ピクチャ)に関連付けられた現在ブロックの1つ以上の参照ブロックに基づいてコーディングできる。本開示の一実施形態によれば、現在ブロックの動き情報が制約できる。現在ブロックの動き情報制約は、1つ以上の参照ブロックがそれぞれ1つ以上の参照ピクチャ内にあること、すなわち、1つ以上の参照ブロックがそれぞれ1つ以上の参照ピクチャのピクチャ境界内にあることを示すことができる。動き情報制約は、エンコーダとデコーダとの間で予め決定されて合意できる。動き情報制約は、デコーダに送信(例えば、信号伝達)できる。
【0130】
一例では、現在ブロックは、片方向予測モードで第1の参照ピクチャに関連付けられた第1の参照ブロックに基づいてコーディングされる。現在ブロックの動き情報制約は、第1の参照ブロックが第1の参照ピクチャ内にあることを示すことができる。一実施形態では、第1の参照ブロック内のそれぞれの第1の参照サンプルが第1の参照ピクチャ内(例えば、第1の参照ピクチャのピクチャ境界内)にある場合、第1の参照ブロックは第1の参照ピクチャ内にある。
【0131】
一例では、現在ブロックは、双方向予測モードで第1の参照ピクチャに関連付けられた第1の参照ブロック及び第2の参照ピクチャに関連付けられた第2の参照ブロックに基づいてコーディングされる。現在ブロックの動き情報制約は、第1の参照ブロックが第1の参照ピクチャ内にあり、第2の参照ブロックが第2の参照ピクチャ内にあることを示すことができる。
【0132】
一実施形態では、現在ブロックはAMVPモードのような非マージモードでコーディングされる。現在ブロックのMV(例えば、最終的なMV)は、所与のAMVR解像度でMVP及びMVDから決定(例えば、導出)できる。例えば、MVはMVPとMVDとの和である。MVPは、インデックス(例えば、MVPインデックス)及び現在ブロックのMVP候補リストに基づいて決定できる。非マージモードの動き情報制約(例えば、MV制約)は、MV(例えば、最終的なMV)が参照ピクチャのピクチャ境界外を指すことができないことを示すことができる。例えば、MVにより指される参照ブロックは、参照ピクチャのピクチャ境界外とすることはできない。一例では、参照ブロック内の各参照サンプルは、参照ピクチャ内にある。
【0133】
一実施形態では、現在ブロックは、非マージモード(例えば、AMVPモード)で双方向予測される(例えば、双方向予測モードで符号化又は再構成される)。上記のMV、MVP、MVD、参照ピクチャ及び参照ブロックは、それぞれ第1のMV、第1のMVP、第1のMVD、第1の参照ピクチャ及び第1の参照ブロックと呼ばれる。現在ブロックの第2のMVは、第2のAMVR解像度で第2のMVP及び第2のMVDから決定できる。一例では、第1のMVP及び第2のMVPは、MVP候補リスト内のMVP候補に基づいて決定される。動き情報制約は、非マージモードで双方向予測に適用できる。非マージモードの動き情報制約は、第2のMVが第2の参照ピクチャのピクチャ境界外を指すことができないことを示すことができる。例えば、第2のMVにより指される第2の参照ブロックは、第2の参照ピクチャのピクチャ境界外とすることはできない。一例では、第2の参照ブロック内の各第2の参照サンプルは、第2の参照ピクチャ内にある。
【0134】
非マージモードにおいて上記に説明した動き情報制約は、マージモードを使用して片方向予測又は双方向予測される現在ブロックに適用でき、例えば、第1のMV及び/又は第2のMVは、MVDなしにそれぞれのMVPから決定される。
【0135】
一実施形態では、現在ブロックはアフィンモード(例えば、アフィンAMVPモード又はアフィンマージモード)でコーディングされ、複数のサブブロックを含む。一例では、複数のサブブロック内の各サブブロックは、
図16において説明したように、それぞれのMV情報(例えば、片方向予測モードでの第1のMV又は双方向予測モードでのMVペア)を有する。
【0136】
一例では、現在ブロックは片方向予測モードでコーディングされる。各サブブロックのMV情報は、当該サブブロックから、第1の参照ピクチャに関連付けられた第1の参照ブロック内の第1の参照サブブロックを指すサブブロックの第1のMVを示す。動き情報制約は、アフィンモードでコーディングされた現在ブロック内の各サブブロックの第1のMVが第1の参照ピクチャのピクチャ境界外を指すことができないことを示すことができる。例えば、動き情報制約は、第1の参照ブロック内のそれぞれの第1の参照サブブロックが第1の参照ピクチャ内にあることを示す。
【0137】
上記の説明は、現在ブロックが双方向予測モードでコーディングされる場合に適用できる。例えば、サブブロックの第1のMVに加えて、各サブブロックのMV情報は、当該サブブロックから、第2の参照ピクチャに関連付けられた第2の参照ブロック内の第2の参照サブブロックを指す第2のMVを更に示す。動き情報制約は、アフィンモードでコーディングされた現在ブロック内の各サブブロックの第1のMVが第1の参照ピクチャのピクチャ境界外を指すことができず、現在ブロック内の各サブブロックの第2のMVが第2の参照ピクチャのピクチャ境界外を指すことができないことを示すことができる。例えば、動き情報制約は、第2の参照ブロック内の各第2の参照サブブロックが第2の参照ピクチャ内にあることを更に示す。
【0138】
上記のアフィンモードにおける動き情報制約は、現在ブロック内のサブブロックが、各領域がそれぞれのMV又はMVペアを有する1つ以上の領域を更に含む場合に適用でき、例えば、各領域のそれぞれのMV又はそれぞれのMVペアは、各領域のそれぞれのMV又はそれぞれのMVペアがそれぞれの参照ピクチャのそれぞれのピクチャ境界外を示すことができないように制約される。
【0139】
一実施形態では、MVがピクチャ境界(例えば、フレーム境界)外を示す場合、MVにより指される参照ブロック又は参照ブロックの一部が参照ピクチャのピクチャ境界内(例えば完全な内側)にあることを確保するために、クリップ操作又はクリッピング操作が使用される。
【0140】
一例では、現在ブロックは、第1のMV及び第2のMVを使用して双方向予測される。第1のMVは、現在ブロックから、第1の参照ピクチャに関連付けられた第1の参照ブロックを指すことができ、第2のMVは、現在ブロックから、第2の参照ピクチャに関連付けられた第2の参照ブロックを指すことができる。第1のMVが第1の参照ピクチャのピクチャ境界外を指す場合(例えば、第1の参照ブロックの一部が第1の参照ピクチャ外にある場合)、第1のクリッピングMVを決定するためにクリップ操作が使用できる。第1のクリッピングMVは、現在ブロックから、更新された第1の参照ブロックを指すことができ、更新された第1の参照ブロックは第1の参照ピクチャ内にある。クリッピング操作は、上記のように、第2の参照ブロックの一部が第2の参照ピクチャ外にある場合、第2のMVに適用できる。
【0141】
双方向予測された現在ブロックについての上記のクリッピング操作は、現在ブロックが第1のMVを使用して片方向予測される場合に適応でき、第1のMVは上記のようにクリッピングできる。
【0142】
上記のクリップ操作は、現在ブロックがAMVPモードでコーディングされる場合に適用でき、第1のMV(又は第2のMV)はMVP及びMVDに基づいて決定される。上記のクリップ操作は、現在ブロックがマージモードでコーディングされる場合に適用でき、第1のMV(又は第2のMV)はMVDなしにMVPに基づいて決定される。例えば、MVPは、現在ブロックの候補リスト内のMVP候補を指すMVPインデックスで決定される。
【0143】
上記のクリップ操作は、現在ブロックがアフィンAMVPモード、アフィンマージモード等のようなアフィンモードでコーディングされる場合に適用できる。例えば、現在ブロックはアフィンモードで双方向予測され、複数のサブブロックを含む。一例では、複数のサブブロック内のサブブロックは1つ以上の領域を含み、1つ以上の領域内の各領域は、各領域のMVペアのようなそれぞれのMV情報を有する。したがって、サブブロックは、それぞれの1つ以上の領域に関連付けられた1つ以上のMVペアでコーディングできる。一例では、1つ以上の領域は1つの領域であり、サブブロックは1つの領域であり、例えば、サブブロックのMVペアは、
図16において説明するように、全体のサブブロックに適用可能である。
【0144】
複数のサブブロック内のサブブロック内の各領域について、MVペアは、(i)当該領域から、第1の参照ピクチャに関連付けられた第1の参照ブロック内にある第1の参照サブブロック内の第1の参照領域を指すそれぞれの第1のMVと、(ii)当該領域から、第2の参照ピクチャに関連付けられた第2の参照ブロック内にある第2の参照サブブロック内の第2の参照領域を指すそれぞれの第2のMVとを含むことができる。第1の参照ブロック及び第2の参照ブロックは現在ブロックに対応し、第1の参照サブブロック及び第2の参照サブブロックはサブブロックに対応する。第1の参照領域が第1の参照ピクチャ外にある場合、クリッピング操作が第1のMVに適用できる。例えば、第1のクリッピングMVがサブブロック内の領域から第1の参照ピクチャ内にある更新された第1の参照領域を指すように、第1のMVをクリッピングすることによって第1のクリッピングMVが決定される。第2の参照領域が第2の参照ピクチャ外にある場合、クリッピング操作は第2のMVに適用できる。
【0145】
アフィンモードでの双方向予測された現在ブロックについて上記で説明したクリッピング操作は、現在ブロックがアフィンモードで片方向予測される場合に適用できる。例えば、現在ブロックのサブブロック内の各領域は、第1の参照ブロック内にある第1の参照サブブロック内の第1の参照領域に基づいて予測される。第1の参照領域は、第1のMVによって指される。現在ブロックが片方向予測される場合、第2のMVは使用されない。上記のように、第1の領域が第1の参照ピクチャ外にある場合、クリッピング操作が適用される。
【0146】
現在ブロックのMVP候補リストは、1つ以上のMVP候補を含むことができる。1つ以上のMVP候補は、片方向予測モードのMVP候補及び/又は双方向予測モードのMVP候補を含むことができる。
【0147】
本開示の一実施形態によれば、MVP候補リストの構築が制約でき、例えば、MVP候補リストが制約できる。一例では、現在ブロックがマージモードでコーディングされる場合、MVP候補リストの構築が制約される。一例では、現在ブロックがAMVPモードのような非マージモードでコーディングされる場合、MVP候補リストの構築が制約される。MVP候補リストの構築は、双方向予測モード又は片方向予測モードについて制約できる。
【0148】
一例では、MVP候補リストは、双方向予測モードのMVP候補の1つ以上が制約されるように制約される。双方向予測モードのMVP候補は、第1のMVP及び第2のMVPを含むことができる。第1のMVPは、現在ブロックから第1の参照ピクチャに関連付けられた第1の中間参照ブロックを指すことができる。第2のMVPは、現在ブロックから第2の参照ピクチャに関連付けられた第2の中間参照ブロックを指すことができる。双方向予測モードのMVP候補は、第1の中間参照ブロックが第1の参照ピクチャ内にあり、第2の中間参照ブロックが第2の参照ピクチャ内にあるように制約される。一例では、MVP候補リスト内の双方向予測モードのMVP候補のそれぞれが制約される。
【0149】
一例では、MVP候補リストは、片方向予測モードのMVP候補の1つ以上が制約されるように制約される。片方向予測モードのMVP候補は、第2のMVPのない第1のMVPのように1つのMVPを含むことができる。片方向予測モードのMVP候補は、第1の中間参照ブロックが第1の参照ピクチャ内にあるように制約される。一例では、MVP候補リスト内の片方向予測モードのMVP候補のそれぞれが制約される。
【0150】
一例では、MVP候補リストは、(i)上記のように双方向予測モードのMVP候補の1つ以上が制約され、(ii)上記のように片方向予測モードのMVP候補の1つ以上が制約されるように制約される。
【0151】
一実施形態では、MVP候補リストの構築は制約されてもよく或いは制約されなくてもよい。本開示の一実施形態によれば、MVP候補リストにおけるMVP候補の使用は制約される。MVP候補リストは、双方向予測モードのMVP候補及び片方向予測モードのMVP候補を含むことができる。MVP候補リスト内のMVP候補(例えば、(i)片方向予測モードの第1のMVP又は(ii)双方向予測モードの第1のMVP及び第2のMVP)を示すインデックス(例えば、MVPインデックス)は、MVP候補を指す。マージモードでは、MV(例えば、片方向予測モードの場合)又はMVペア(例えば、双方向予測モードの場合)がMVP候補に基づいて決定される。例えば、MVは片方向予測モードでの第1のMVPである。双方向予測モードのような例では、MVペアは、第1のMVPである第1のMVと、第2のMVPである第2のMVとを含む。MV、第1のMV又は第2のMVが、それぞれの参照ピクチャのピクチャ境界(例えば、フレーム境界)外を指す場合、インデックスが選択できない。一例では、インデックスは選択されず、したがって、信号伝達されない。一例では、インデックスに対応するMVP候補は、MVP候補が現在ブロックをコーディングするために使用できないように制約される。
【0152】
候補リスト(例えば、アフィン候補リスト)内のアフィン候補の使用は、現在ブロックがアフィンモードでコーディングされる場合に制約できる。上記のように、現在ブロックは複数のサブブロックを含むことができる。一例では、複数のサブブロック内の各サブブロックは1つ以上の領域を含み、1つ以上の領域内の各領域はそれぞれのMV又はそれぞれのMVペアを有する。各サブブロックの動き情報は、それぞれの1つ以上の領域に関連付けられた(i)1つ以上のMV(片方向予測モードの場合)又は(ii)1つ以上のMVペア(双方向予測の場合)を含むことができる。
【0153】
一実施形態では、各サブブロックのMV情報は、現在ブロックのアフィン候補リスト内のアフィン候補(例えば、アフィンマージ候補)に基づいて決定できる。本開示の一実施形態によれば、現在ブロック内の各サブブロックのMV情報は制約でき、例えば、1つ以上のMV(片方向予測モードの場合)又は(ii)1つ以上のMVペア(双方向予測モードの場合)は、(i)1つ以上のMV又は(ii)1つ以上のMVペアがそれぞれの参照ピクチャのピクチャ境界外を指すことができないように制約される。そうでなく、(i)1つ以上のMVの1つ又は(ii)1つ以上のMVペア内のMVがそれぞれの参照ピクチャのピクチャ境界外を指す場合、現在ブロックのアフィン候補(例えば、アフィンマージ候補)は、例えば、現在ブロックをコーディングするために選択できない。
【0154】
一実施形態では、アフィン候補リスト(例えば、アフィンマージ候補リスト)は、現在ブロックがアフィンモードでコーディングされる場合に制約される。アフィン候補リストはアフィン候補を含むことができる。アフィン候補リストは、アフィン候補のそれぞれが制約されるように制約できる。一例では、アフィン候補は、アフィン候補に基づいて決定される現在ブロック内の各サブブロックのMV情報(例えば、(i)サブブロック内の1つ以上のそれぞれの領域の1つ以上のMV又は(ii)サブブロック内の1つ以上のそれぞれの領域の1つ以上のMVペア)が、上記のようにそれぞれの参照ピクチャ内のそれぞれのピクチャ境界内にあるように制約される。
【0155】
本出願に記載される実施形態は、いずれか適切な組み合わせ又はいずれか適切な順序で組み合わされることができる。例えば、現在ブロックが非マージモード(例えば、AMVPモード)でコーディングされる場合、それぞれの参照ピクチャに関連付けられた各MVは、MVP及びMVDに基づいて決定される。現在ブロックの動き情報制約は、(i)各MVが上記のように制約されること(例えば、MVによって指される参照ブロックがそれぞれの参照ピクチャ内にあること)及び(ii)対応するMVPが上記のように制約されること(例えば、MVPによって指される中間参照ブロックがそれぞれの参照ピクチャ内にあること)を示すことができる。
【0156】
図20は、本開示の一実施形態による符号化プロセス(2000)の概要を示すフローチャートを示す。様々な実施形態において、プロセス(2000)は、端末デバイス(310)、(320)、(330)及び(340)内の処理回路、ビデオエンコーダ(例えば、(403)、(603)、(703))の機能を実行する処理回路等のような処理回路によって実行される。いくつかの実施形態では、プロセス(2000)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路がプロセス(2000)を実行する。プロセスは(S2001)から始まり、(S2010)に進む。
【0157】
(S2010)において、インター予測で符号化される現在ブロックの動き情報が決定できる。動き情報は、それぞれ1つ以上の参照ピクチャに関連付けられた現在ブロックの1つ以上の参照ブロックを示すことができる。
【0158】
(S2020)において、1つ以上の参照ブロックがそれぞれ1つ以上の参照ピクチャのピクチャ境界内にある場合、現在ブロックは1つ以上の参照ブロックに基づいて符号化できる。
【0159】
(S2030)において、1つ以上の参照ブロック内の第1の参照ブロックの第1の参照領域が1つ以上の参照ピクチャ内の第1の参照ピクチャのピクチャ境界外にある場合、更新された第1の参照ブロック内の更新された第1の参照領域が第1の参照ピクチャのピクチャ境界内にあるように、第1の動きベクトル(MV, motion vector)をクリッピングすることによって、第1のクリッピングMVが決定できる。動き情報によって示される第1のMVは、現在ブロック内の領域から第1の参照領域を指すことができ、第1のクリッピングMVは、現在ブロック内の領域から更新された第1の参照領域を指すことができる。現在ブロック内の領域は、更新された第1の参照領域に基づいて符号化できる。
【0160】
次いで、プロセス(2000)は(S2099)に進み、終了する。
【0161】
プロセス(2000)は様々なシナリオに適切に適用でき、プロセス(2000)におけるステップはそれに従って調整できる。プロセス(2000)における1つ以上のステップは、適応、省略、反復及び/又は組み合わせが可能である。プロセス(2000)を実装するためにいずれか適切な順序が使用できる。更なるステップが追加できる。
【0162】
一例では、(S2020)において、1つ以上の参照ブロック内の参照ブロックが1つ以上の参照ピクチャ内のそれぞれの参照ピクチャのピクチャ境界外にある場合、更新された動き情報によって示される更新された参照ブロックが1つ以上の参照ピクチャ内のそれぞれの参照ピクチャのピクチャ境界内にあるように、現在ブロックについて更新された動き情報が決定できる。更新された動き情報は、現在ブロックについて信号伝達されてもよく、現在ブロックは、更新された参照ブロックに基づいて符号化できる。この例では、ステップ(S2030)は省略される。
【0163】
図21は、本開示の一実施形態による復号プロセス(2100)の概要を示すフローチャートである。様々な実施形態において、プロセス(2100)は、端末デバイス(310)、(320)、(330)及び(340)内の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、ビデオエンコーダ(603)の機能を実行する処理回路等のような処理回路によって実行される。いくつかの実施形態では、プロセス(2100)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路がプロセス(2100)を実行する。プロセスは(S2101)から始まり、(S2110)に進む。
【0164】
(S2110)において、インター予測で予測された現在ブロックの動き情報が決定できる。動き情報は、それぞれ1つ以上の参照ピクチャに関連付けられた現在ブロックの1つ以上の参照ブロックを示す。
【0165】
(S2120)において、動き情報制約が、1つ以上の参照ブロックがそれぞれ1つ以上の参照ピクチャのピクチャ境界内にあることを示す場合、現在ブロックは、1つ以上の参照ブロックに基づいて再構成できる。
【0166】
一実施形態では、現在ブロックは、適応動きベクトル予測(AMVP, adaptive motion vector prediction)モードで双方向予測される。動き情報は、現在ブロックから第1の参照ブロックを指す第1のMVと、現在ブロックから第2の参照ピクチャに関連付けられた第2の参照ブロックを指す第2のMVとを示す。1つ以上の参照ブロックは、第1の参照ブロック及び第2の参照ブロックで構成される。動き情報制約は、第1の参照ブロックが第1の参照ピクチャのピクチャ境界内にあり、第2の参照ブロックが第2の参照ピクチャのピクチャ境界内にあることを示し、ピクチャ境界は第2の参照ピクチャのピクチャ境界を含む。
【0167】
一実施形態では、動き情報は候補リスト内のMV予測子(MVP, MV predictor)候補を示す。MVP候補は第1のMVP及び第2のMVPを示す。第1のMVPは、第1の参照ピクチャのピクチャ境界内にある、現在ブロックに対応する第1の中間参照ブロックを指す。第2のMVPは、第2の参照ピクチャのピクチャ境界内にある、現在ブロックに対応する第2の中間参照ブロックを指す。第1のMVは、第1のMVP及び第1のMV差(MVD, MV difference)に基づいて決定され、第2のMVは、第2のMVP及び第2のMVDに基づいて決定され、第2のMVは第2の参照ブロックを指す。
【0168】
一実施形態では、現在ブロックは、アフィンモードで双方向予測され、複数のサブブロックを含む。動き情報は、それぞれが複数のサブブロックのうち1つに関連付けられたMVペアを示す。複数のサブブロック内のそれぞれのサブブロックに関連付けられた各MVペアは、それぞれのサブブロックから第1の参照ブロック内の第1の参照サブブロックを指す第1のMVと、それぞれのサブブロックから第2の参照ピクチャに関連付けられた第2の参照ブロック内の第2の参照サブブロックを指す第2のMVとを含む。1つ以上の参照ブロックは、第1の参照ブロック及び第2の参照ブロックで構成される。動き情報制約は、第1の参照サブブロックのそれぞれが第1の参照ピクチャのピクチャ境界内にあり、第2の参照サブブロックのそれぞれが第2の参照ピクチャのピクチャ境界内にあることを示す。ピクチャ境界は第2の参照ピクチャのピクチャ境界を含む。
【0169】
一実施形態では、現在ブロックは、マージモードで双方向予測される。現在ブロックの候補リストは1つ以上のMV予測子(MVP, MV predictor)候補を含む。現在ブロックのMVP候補は、MVPインデックスに基づいて1つ以上のMVP候補から決定できる。MVP候補は、第1の参照ピクチャに関連付けられた第1のMVP及び第2の参照ピクチャに関連付けられた第2のMVPを示す。現在ブロックの第1のMVが第1のMVPとなるように決定され、現在ブロックの第2のMVが第2のMVPとなるように決定される。動き情報制約は、(i)第1のMVによって指される第1の参照ブロックが第1の参照ピクチャのピクチャ境界内にあり、第2のMVによって指される第2の参照ブロックが第2の参照ピクチャのピクチャ境界内にあることを示す。ピクチャ境界は第2の参照ピクチャのピクチャ境界を含む。
【0170】
一例では、それぞれの第1のMVP及びそれぞれの第2のMVPを示す1つ以上のMVP候補内の各MVP候補について、動き情報制約は、(i)それぞれの第1のMVPによって指される第1の中間参照ブロックがそれぞれの第1の参照ピクチャのピクチャ境界内にあり、(ii)それぞれの第2のMVPによって指される第2の中間参照ブロックがそれぞれの第2の参照ピクチャのピクチャ境界内にあることを示す。
【0171】
一実施形態では、現在ブロックは、アフィンマージモードで双方向予測され、複数のサブブロックを含む。現在ブロックの候補リストは1つ以上のアフィンマージ候補を含む。複数のサブブロック内の各サブブロックについて、それぞれのサブブロック内の各領域について、1つ以上のアフィンマージ候補内のアフィンマージ候補に基づいて、それぞれの領域のMVペアが決定できる。MVペアは、当該領域から、第1の参照ブロック内の第1の参照サブブロック内の第1の領域を指すそれぞれの第1のMVと、当該領域から、第2の参照ピクチャに関連付けられた第2の参照ブロック内にある第2の参照サブブロック内の第2の領域を指すそれぞれの第2のMVとを含む。第1の参照ブロック及び第2の参照ブロックは現在ブロックに対応し、第1の参照サブブロック及び第2の参照サブブロックはそれぞれのサブブロックに対応する。動き情報制約は、それぞれの第1の領域が第1の参照ピクチャのピクチャ境界内にあり、それぞれの第2の領域が第2の参照ピクチャのピクチャ境界内にあることを示す。ピクチャ境界は第2の参照ピクチャのピクチャ境界を含む。
【0172】
(S2130)において、動き情報によって示される第1の動きベクトル(MV, motion vector)は、現在ブロック内の領域から第1の参照領域を指し、第1の参照領域は1つ以上の参照ブロック内の第1の参照ブロックの領域である。第1の参照領域が1つ以上の参照ピクチャのうち第1の参照ピクチャのピクチャ境界外にある場合、更新された第1の参照領域が第1の参照ピクチャのピクチャ境界内にある更新された第1の参照ブロック内にあるように、第1のMVをクリッピングすることによって、現在ブロック内の領域から更新された第1の参照領域を指す第1のクリッピングMVが決定できる。ピクチャ境界は第1の参照ピクチャのピクチャ境界を含む。現在ブロック内の領域は、更新された第1の参照領域に基づいて再構成できる。
【0173】
一実施形態では、現在ブロックは双方向予測される。動き情報は、現在ブロックから第1の参照ブロックを指す第1のMVと、現在ブロックから第2の参照ピクチャに関連付けられた第2の参照ブロックを指す第2のMVとを示す。1つ以上の参照ブロックは、第1の参照ブロック及び第2の参照ブロックで構成される。第1の参照ブロックの第1の参照領域は、第1の参照ピクチャのピクチャ境界外にある。更新された第1の参照ブロックが第1の参照ピクチャのピクチャ境界内にあるように、第1のMVをクリッピングするとによって、第1のクリッピングMVが決定できる。第2の参照ブロックが第2の参照ピクチャのピクチャ境界外にある場合、更新された第2の参照ブロックが第2の参照ピクチャのピクチャ境界内にあるように、第2のMVをクリッピングすることによって、第2のクリッピングMVが決定できる。第2のクリッピングMVは、現在ブロックから更新された第2の参照ブロックを指す。ピクチャ境界は第2の参照ピクチャのピクチャ境界を含む。
【0174】
一実施形態では、現在ブロックはアフィンモードで双方向予測され、複数のサブブロックを含む。複数のサブブロック内の各サブブロックについて、それぞれの領域のMVペアは、それぞれのサブブロック内の各領域についてアフィンモードを使用して決定できる。MVペアは、当該領域から、第1の参照ブロック内の第1の参照サブブロック内の第1の参照領域を指すそれぞれの第1のMVと、当該領域から、第2の参照ピクチャに関連付けられた第2の参照ブロック内にある第2の参照サブブロック内の第2の参照領域を指す第2のMVとを含む。第1の参照ブロック及び第2の参照ブロックは現在ブロックに対応し、第1の参照サブブロック及び第2の参照サブブロックはそれぞれのサブブロックに対応する。第1の参照領域は、第1の参照ブロック内の第1の参照サブブロックにあり、現在ブロック内の領域は、第1の参照サブブロックに対応する複数のサブブロックうち或るサブブロックにある。第1の参照領域は、第1の参照ピクチャのピクチャ境界外にある。第1のクリッピングMVは、第1のMVをクリッピングすることによって決定でき、第1のクリッピングMVはサブブロック内の領域から更新された第1の参照領域を指す。
【0175】
プロセス(2100)は(S2199)に進み、終了する。
【0176】
プロセス(2100)は様々なシナリオに適切に適用でき、プロセス(2100)におけるステップはそれに従って調整できる。プロセス(2100)における1つ以上のステップは、適応、省略、反復及び/又は組み合わせが可能である。プロセス(2100)を実装するためにいずれか適切な順序が使用できる。更なるステップが追加できる。
【0177】
本開示における実施形態は、個別に使用されてもよく、或いは、任意の順序で組み合わされてもよい。さらに、方法(又は実施形態)、エンコーダ及びデコーダのそれぞれは、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実装されてもよい。一例では、1つ以上のプロセッサは、非一時的なコンピュータ読み取り可能媒体に記憶されたプログラムを実行する。
【0178】
上述の技術は、コンピュータ読み取り可能な命令を用いてコンピュータソフトウェアとして実装することができ、1つ以上のコンピュータ読み取り可能な媒体に物理的に記憶されることができる。例えば、
図22は、開示された主題の特定の実施形態を実施するのに好適なコンピュータシステム(2200)を示す。
【0179】
コンピュータソフトウェアは、任意の好適な機械コード又はコンピュータ言語を用いてコーディングされることができ、アセンブリ、コンパイル、リンク、又は同様の機構の対象とされて、1つ以上のコンピュータ中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)等によって、直接的に、又はインタープリット、マイクロコード実行等を通じて実行可能な命令を含むコードを作成することができる。
【0180】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイス等を含む様々なタイプのコンピュータ又はそのコンポーネント上で実行されることができる。
【0181】
コンピュータシステム(2200)について
図22に示されるコンポーネントは、例としての性質であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に関する制限を示唆することを意図したものではない。コンポーネントの構成も、コンピュータシステム(2200)の例示的実施形態において示されているコンポーネントの任意の1つ又は組み合わせに関する何らかの依存性又は要件を有するものとして解釈されるべきではない。
【0182】
コンピュータシステム(2200)は、特定のヒューマンインターフェース入力デバイスを含むことができる。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動き)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャー)、嗅覚入力(図示せず)を通じた一又は複数の人間ユーザによる入力に応答することができる。また、ヒューマンインターフェースデバイスは、音声(例えば、発話、音楽、周囲の音)、画像(例えば、スキャンされた画像、スチール画像カメラから得られる写真画像)、ビデオ(例えば、2次元ビデオ、立体視ビデオを含む3次元ビデオ)のような、人間による意識的入力に必ずしも直接関係しない特定のメディアを捕捉するために使用できる。
【0183】
入力ヒューマンインターフェースデバイスは、キーボード(2201)、マウス(2202)、トラックパッド(2203)、タッチスクリーン(2210)、データグローブ(図示せず)、ジョイスティック(2205)、マイクロフォン(2206)、スキャナ(2207)、カメラ(2208)の1つ以上(それぞれの一つしか図示していない)を含んでいてもよい。
【0184】
コンピュータシステム(2200)はまた、特定のヒューマンインターフェース出力デバイスを含んでいてもよい。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、及び臭い/味を通じて、一又は複数の人間ユーザの感覚を刺激するものであってもよい。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(2210)、データグローブ(図示せず)、又はジョイスティック(2205)による触覚フィードバック;ただし、入力デバイスのはたらきをしない触覚フィードバックデバイスもあり得る)、音声出力デバイス(例えば、スピーカー(2209)、ヘッドフォン(図示せず))、視覚出力デバイス(例えば、CRT画面、LCD画面、プラズマスクリーン、OLED画面を含む画面(2210);それぞれはタッチスクリーン入力機能があってもなくてもよく、それぞれは触覚フィードバック機能があってもなくてもよく、そのうちのいくつかは、2次元の視覚出力又は立体視出力のような手段を通じた3次元より高い出力を出力することができる;仮想現実感眼鏡(図示せず)、ホログラフィーディスプレイ及び煙タンク(図示せず))、及びプリンタ(図示せず)を含んでいてもよい。
【0185】
コンピュータシステム(2200)はまた、人間がアクセス可能な記憶デバイス及び関連する媒体、例えば、CD/DVD又は類似の媒体(2221)とともにCD/DVD ROM/RW(2220)を含む光学式媒体、サムドライブ(2222)、取り外し可能なハードドライブ又はソリッドステートドライブ(2223)、テープ及びフロッピーディスクといったレガシー磁気媒体(図示せず)、セキュリティドングルのような特化したROM/ASIC/PLDベースのデバイス(図示せず)等を含むことができる。
【0186】
当業者はまた、現在開示されている主題に関連して使用される用語「コンピュータ読み取り可能媒体」は、伝送媒体、搬送波、又は他の一時的な信号を包含しないことを理解すべきである。
【0187】
コンピュータシステム(2200)はまた、1つ以上の通信ネットワーク(2255)へのインターフェース(2254)を含むことができる。ネットワークは、例えば、無線、有線、光学式であり得る。ネットワークは、さらに、ローカル、広域、都市圏、車載及び工業用、リアルタイム、遅延耐性等であり得る。ネットワークの例は、イーサネット〔登録商標〕、無線LAN、GSM、3G、4G、5G、LTE等を含むセルラーネットワーク、ケーブルテレビ、衛星テレビ、地上放送テレビを含むTV有線又は無線の広域デジタルネットワーク、CANBusを含む車載及び工業用等を含む。特定のネットワークは、普通、特定の汎用データポート又は周辺バス(2249)(例えば、コンピュータシステム(2200)のUSBポート等)に取り付けられる外部ネットワークインターフェースアダプターを必要とする。他は、普通、後述するようなシステムバスへの取り付けによって、コンピュータシステム(2200)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(2200)は、他のエンティティと通信することができる。そのような通信は、一方向性、受信のみ(例えば、放送テレビ)、一方向性送信専用(例えば、特定のCANbusデバイスへのCANbus)、又は、例えば、ローカル又は広域デジタルネットワークを使用する他のコンピュータシステムへの双方向性であってもよい。上述のようなそれらのネットワーク及びネットワークインターフェースのそれぞれで、特定のプロトコル及びプロトコルスタックが使用できる。
【0188】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶デバイス、及びネットワークインターフェースは、コンピュータシステム(2200)のコア(2240)に取り付けることができる。
【0189】
コア(2240)は、1つ以上の中央処理装置(CPU)(2241)、グラフィックス処理装置(GPU)(2242)、フィールドプログラマブルゲートアレイ(FPGA)(2243)の形の特化したプログラマブル処理装置、特定のタスクのためのハードウェアアクセラレータ(2244)、グラフィックアダプター(2250)等を含むことができる。これらの装置は、読み取り専用メモリ(ROM)(2245)、ランダムアクセスメモリ(2246)、内部のユーザアクセス可能でないハードドライブ、ソリッドステートドライブ(SSD)等の内部大容量記憶デバイス(2247)とともに、システムバス(2248)を通じて接続され得る。いくつかのコンピュータシステムでは、追加のCPU、GPU等による拡張を可能にするために、システムバス(2248)は、1つ以上の物理プラグの形でアクセス可能であってもよい。周辺デバイスは、コアのシステムバス(2248)に直接取り付けられることも、周辺バス(2249)を通じて取り付けられることもできる。一例では、グラフィックアダプター(2250)にスクリーン(2210)が接続されることができる。周辺バスのためのアーキテクチャは、PCI、USB等を含む。
【0190】
CPU(2241)、GPU(2242)、FPGA(2243)、及びアクセラレータ(2244)は、組み合わせて上述のコンピュータコードを構成することができる特定の命令を、実行することができる。そのコンピュータコードは、ROM(2245)又はRAM(2246)に記憶できる。一時的データは、RAM(2246)に記憶されることができ、一方、持続的データは、例えば、内部大容量記憶デバイス(2247)に記憶されることができる。1つ以上のCPU(2241)、GPU(2242)、大容量記憶デバイス(2247)、ROM(2245)、RAM(2246)等と密接に関連付けることができるキャッシュメモリを使用することを通じて、メモリデバイスのいずれかへの高速な記憶及び取り出しを可能にすることができる。
【0191】
コンピュータ読み取り可能な媒体は、様々なコンピュータ実装された動作を実行するためのコンピュータコードをその上に有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものであってもよく、又は、コンピュータソフトウェア分野の技術を有する者に周知であり利用可能な種類のものであってもよい。
【0192】
限定ではなく一例として、アーキテクチャ(2200)、具体的にはコア(2240)を有するコンピュータシステムは、プロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)が1つ以上の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行することの結果として、機能性を提供することができる。そのようなコンピュータ読み取り可能媒体は、上記で紹介したようなユーザアクセス可能な大容量記憶並びにコア内部の大容量記憶デバイス(2247)又はROM(2245)のような非一時的な性質のコア(2240)の特定の記憶に関連する媒体であることができる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(2240)によって実行されることができる。コンピュータ読み取り可能媒体は、特定のニーズに応じて、1つ以上のメモリデバイス又はチップを含むことができる。ソフトウェアは、RAM(2246)に記憶されたデータ構造を定義し、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセス又は特定の特定部分を、コア(2240)及び具体的にはその中のプロセッサ(CPU、GPU、FPGA等を含む)に実行させることができる。追加的又は代替的に、コンピュータシステムは、回路(例えば、アクセラレータ(2244))内に配線された、又は他の仕方で具現された論理の結果として機能性を提供することができ、これは、本明細書に記載される特定のプロセス又は特定のプロセスの特定部分を実行するためのソフトウェアの代わりに、又はそれと一緒に動作することができる。ソフトウェアへの言及は、論理を含み、適宜その逆も可能である。コンピュータ読み取り可能媒体への言及は、適宜、実行のためのソフトウェアを記憶する回路(例えば集積回路(IC))、実行のための論理を具現する回路、又はその双方を包含することができる。本開示は、ハードウェア及びソフトウェアの任意の好適な組み合わせを包含する。
【0193】
付録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
GOP: Group of Pictures
TU: Transform Unit
PU: Prediction Unit
CTU: Coding Tree Unit
CTB: Coding Tree Block
PB: Prediction Block
HRD: Hypothetical Reference Decoder
SNR: Signal Noise Ratio
CPU: Central Processing Unit
GPU: Graphics Processing Unit
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
R-D: Rate-Distortion
【0194】
本開示は、いくつかの例示的実施形態を記載してきたが、変更、置換、及び様々な代替等価物があり、それらは本開示の範囲内にはいる。よって、当業者は、本明細書に明示的に示されていないか又は記載されていないが、本開示の原理を具現し、よって、本開示の精神及び範囲内にある多くのシステム及び方法を考案することができることが理解されるであろう。
【国際調査報告】