(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-07
(54)【発明の名称】映像コード化における動きフィールド記憶のための方法及び装置
(51)【国際特許分類】
H04N 19/52 20140101AFI20220831BHJP
【FI】
H04N19/52
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021571050
(86)(22)【出願日】2020-05-21
(85)【翻訳文提出日】2022-01-27
(86)【国際出願番号】 US2020033965
(87)【国際公開番号】W WO2020263467
(87)【国際公開日】2020-12-30
(32)【優先日】2019-06-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】511050697
【氏名又は名称】アリババ グループ ホウルディング リミテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】リャオ,ルーリン
(72)【発明者】
【氏名】イエ,ヤン
(72)【発明者】
【氏名】チェン,ジエ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159RC12
5C159RC16
5C159RC38
(57)【要約】
本開示は映像コード化における動きフィールド記憶のための方法及び装置を提供する。例示的方法は:ブロックの第1の分割の第1の単方向予測動きベクトル及びブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断すること;及び第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものであると判断されることに応じて、ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルのうちの1つをブロックの動きフィールド内に記憶することを含む。
【特許請求の範囲】
【請求項1】
ブロックの第1の分割の第1の単方向予測動きベクトル及び前記ブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断すること;及び
前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルが前記同じ参照ピクチャリストからのものであると判断されることに応じて、前記ブロックの双方向予測エリア内に位置するサブブロックの前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルのうちの1つを前記ブロックの動きフィールド内に記憶することを含むコンピュータ実施方法。
【請求項2】
前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルが前記同じ参照ピクチャリストからのものではないと判断されることに応じて、
双方向予測動きベクトルを形成するために前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルを組み合わせること;及び
前記ブロックの前記双方向予測エリア内に位置するサブブロックの前記双方向予測動きベクトルを前記ブロックの前記動きフィールド内に記憶することを更に含む、請求項1に記載の方法。
【請求項3】
前記第1の分割及び前記第2の分割は、2つのジオメトリック分割又は2つの三角分割である、請求項1に記載の方法。
【請求項4】
前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルのうちの前記記憶された1つは、前記ブロックの上分割からの動きベクトル、前記ブロックの下分割からの動きベクトル、前記ブロックの左分割からの動きベクトル、前記ブロックの右分割からの動きベクトル、標的ブロックに対応する標的ピクチャに対して参照ピクチャがより近い動きベクトル、参照ピクチャがより高い品質を有する動きベクトル、及びより小さな動き量を有する動きベクトルのうちの1つである、請求項1に記載の方法。
【請求項5】
前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルのうちの前記記憶された1つは前記第2の単方向予測動きベクトルである、請求項1に記載の方法。
【請求項6】
前記サブブロックはM×Nピクセルを含み、M及びNの少なくとも1つは4より大きい、請求項1に記載の方法。
【請求項7】
前記サブブロックはM×Nピクセルサンプルを含み、M及びNの少なくとも1つは8以上である、請求項1に記載の方法。
【請求項8】
前記ブロックを複数のサブブロックへ分割することを更に含み、前記複数のサブブロックのそれぞれは、8×8サブブロック、4×8サブブロック、8×4サブブロック、16×16サブブロック、及びmin(ブロックの幅,16)×min(ブロックの高さ,16)サブブロックのうちの1つである、請求項1に記載の方法。
【請求項9】
命令を記憶するように構成されたメモリ;及び前記メモリへ結合されたプロセッサを含む装置であって、前記プロセッサは、前記装置に、
ブロックの第1の分割の第1の単方向予測動きベクトル及び前記ブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断すること;及び
前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルが前記同じ参照ピクチャリストからのものであると判断されることに応じて、前記ブロックの双方向予測エリア内に位置するサブブロックの前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルのうちの1つを前記ブロックの動きフィールド内に記憶すること
を行わせるように、前記命令を実行するように構成される、装置。
【請求項10】
前記プロセッサは、前記装置に:
前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルが前記同じ参照ピクチャリストからのものではないと判断されることに応じて、
双方向予測動きベクトルを形成するために前記第1の単方向予測動きベクトル及び前記尾第2の単方向予測動きベクトルを組み合わせること;及び
前記ブロックの前記双方向予測エリア内に位置するサブブロックの前記双方向予測動きベクトルを前記ブロックの前記動きフィールド内に記憶すること
を行わせるように、前記命令を実行するように更に構成される、請求項9に記載の装置。
【請求項11】
前記第1の分割及び前記第2の分割は、2つのジオメトリック分割又は2つの三角分割である、請求項9に記載の装置。
【請求項12】
前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルのうちの前記記憶された1つは、前記ブロックの上分割からの動きベクトル、前記ブロックの下分割からの動きベクトル、前記ブロックの左分割からの動きベクトル、前記ブロックの右分割からの動きベクトル、標的ブロックに対応する標的ピクチャに対して参照ピクチャがより近い動きベクトル、参照ピクチャがより高い品質を有する動きベクトル、及びより小さな動き量を有する動きベクトルのうちの1つである、請求項9に記載の装置。
【請求項13】
前記サブブロックはM×Nピクセルを含み、M及びNの少なくとも1つは4より大きい、請求項9に記載の装置。
【請求項14】
前記サブブロックはM×Nピクセルサンプルを含み、M及びNの少なくとも1つは8以上である、請求項9に記載の装置。
【請求項15】
前記プロセッサは更に、前記装置に:前記ブロックを複数のサブブロックへ分割することを行わせるように、前記命令を実行するように構成され、前記サブブロックのそれぞれは、8×8サブブロック、4×8サブブロック、8×4サブブロック、16×16サブブロック、及びmin(ブロックの幅,16)×min(ブロックの高さ,16)サブブロックのうちの1つである、請求項9に記載の装置。
【請求項16】
一組の命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記一組の命令は装置の1つ又は複数のプロセッサにより実行可能であり、前記一組の命令の前記実行は、前記装置に:
ブロックの第1の分割の第1の単方向予測動きベクトル及び前記ブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断すること;及び
前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルが前記同じ参照ピクチャリストからのものであると判断されることに応じて、前記ブロックの双方向予測エリア内に位置するサブブロックの前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルのうちの1つを前記ブロックの動きフィールド内に記憶することを行わせる、非一時的コンピュータ可読記憶媒体。
【請求項17】
前記一組の命令の前記実行は、前記装置に:
前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルが前記同じ参照ピクチャリストからのものではないと判断されることに応じて、
双方向予測動きベクトルを形成するために前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルを組み合わせること;及び
前記ブロックの前記双方向予測エリア内に位置するサブブロックの前記双方向予測動きベクトルを前記ブロックの前記動きフィールド内に記憶することを更に行わせる、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項18】
前記第1の分割及び前記第2の分割は、2つのジオメトリック分割又は2つの三角分割である、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項19】
前記第1の単方向予測動きベクトル及び前記第2の単方向予測動きベクトルのうちの前記記憶された1つは、前記ブロックの上分割からの動きベクトル、前記ブロックの下分割からの動きベクトル、前記ブロックの左分割からの動きベクトル、前記ブロックの右分割からの動きベクトル、標的ブロックに対応する標的ピクチャに対して参照ピクチャがより近い動きベクトル、参照ピクチャがより高い品質を有する動きベクトル、及びより小さな動き量を有する動きベクトルのうちの1つである、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項20】
前記サブブロックはM×Nピクセルを含み、M及びNの少なくとも1つは4より大きい、請求項16に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001] 本開示はその全体を参照により本明細書に援用する2019年6月24日出願の米国仮特許出願第62/865,920号への優先権を主張する。
【0002】
技術分野
[0002] 本開示は、一般的には映像データ処理に関し、具体的には映像コード化における動きフィールド記憶を行うための方法及び装置に関する。
【背景技術】
【0003】
背景
[0003] ITU-T Video Coding Expert Group(ITU-T VCEG)及びISO/IEC Moving Picture Expert Group(ISO/IEC MPEG)のJoint Video Experts Team(JVET)はVersatile Video Coding(VVC/H.266)標準規格を現在開発している。VVC標準規格はその前標準規格(High Efficiency Video Coding(HEVC/H.265)標準規格)の圧縮効率を2倍にすることを目指している。換言すれば、VVCのゴールは帯域の半分を使用してHEVC/H.265と同じ主観的品質を達成することである。
【発明の概要】
【課題を解決するための手段】
【0004】
開示の概要
[0004] 本開示の実施形態は動きフィールド記憶のための方法及び装置を提供する。一部の実施形態では、例示的方法は:ブロックの第1の分割の第1の単方向予測動きベクトル及びブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断すること;及び第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものであると判断されることに応じて、ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルのうちの1つをブロックの動きフィールド内に記憶することを含む。
【0005】
[0005] 一部の実施形態では、例示的装置は:命令を記憶するように構成されたメモリ;及びメモリへ結合されたプロセッサを含む。プロセッサは、装置に:ブロックの第1の分割の第1の単方向予測動きベクトル及びブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断すること;及び第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものであると判断されることに応じて、ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルのうちの1つをブロックの動きフィールド内に記憶することをさせるための命令を実行するように構成され得る。
【0006】
[0006] 一部の実施形態では、例示的非一時的コンピュータ可読記憶媒体が一組の命令を記憶する。一組の命令は、装置に:ブロックの第1の分割の第1の単方向予測動きベクトル及びブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断すること;及び第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものであると判断されることに応じて、ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルのうちの1つをブロックの動きフィールド内に記憶することを行わせるように、装置の1つ又は複数のプロセッサにより実行可能である。
【0007】
図面の簡単な説明
[0007] 本開示の実施形態及び様々な態様を以下の詳細な説明及び添付図面の中で示す。図中に示す様々な特徴は縮尺通り描かれていない。
【図面の簡単な説明】
【0008】
【
図1】[0008]本開示の一部の実施形態による例示的映像シーケンスの構造を示す概略図である。
【
図2】[0009]本開示の一部の実施形態によるハイブリッド映像コード化システム内の例示的符号器を示す概略図である。
【
図3】[0010]本開示の一部の実施形態によるハイブリッド映像コード化システム内の例示的復号器を示す概略図である。
【
図4】[0011]本開示の一部の実施形態による映像を符号化又は復号するための例示的装置のブロック図を示す。
【
図5】[0012]本開示の一部の実施形態による三角分割ベースインタ予測の例を示す概略図である。
【
図6】[0013]本開示の一部の実施形態による分割モードの例示的単方向予測動きベクトル選択の概略図を示す。
【
図7】[0014]本開示の一部の実施形態による混合プロセスの例示的重み付けを示す概略図である。
【
図8】[0015]本開示の一部の実施形態による単方向予測エリア及び双方向予測エリア内に位置する4×4サブブロックの例を示す概略図である。
【
図9】[0016]本開示の一部の実施形態によるジオメトリック分割モード(GPM:geometric partition mode)の角度分布の例を示す概略図である。
【
図10】[0017]本開示の一部の実施形態によるGPMの距離分布の例を示す概略図である。
【
図11】[0018]本開示の一部の実施形態による単方向予測エリア及び双方向予測エリア内に位置する8×8サブブロックの例を示す概略図である。
【
図12】[0019]本開示の一部の実施形態による動きフィールド記憶の例示的方法の流れ図を示す。
【
図13】[0020]本開示の一部の実施形態による三角分割の例を示す概略図である。
【
図14】[0021]本開示の一部の実施形態による動きベクトル生成の例示的方法の流れ図を示す。
【
図15】[0022]本開示の一部の実施形態による動きベクトル生成の別の例示的方法の流れ図を示す。
【
図16】[0023]本開示の一部の実施形態による動きフィールド記憶の別の例示的方法の流れ図を示す。
【
図17】[0024]本開示の一部の実施形態によるジオメトリック分割の例を示す概略図である。
【
図18】[0025]本開示の一部の実施形態によるサブブロック位置の例を示す概略図である。
【発明を実施するための形態】
【0009】
詳細な説明
[0026] 次に、例を添付図面に示す例示的実施形態を詳細に参照する。以下の説明は添付図面を参照し、添付図面では他に指示がない限り異なる図中の同じ数字が同じ又は同様の要素を表す。例示的実施形態についての以下の説明の中で記載する実装形態は本発明と合致する全ての実装形態を表すわけではない。むしろ、それらは添付の特許請求の範囲の中で列挙する本発明に関係する態様と合致する装置及び方法の例に過ぎない。本開示の特定態様が以下に更に詳細に説明される。参照により援用される用語及び/又は定義と矛盾する場合、本明細書において提供される用語及び定義が優先する。
【0010】
[0027] 帯域の半分を使用しながらHEVC/H.265と同じ主観的品質を達成するために、JVETはjoint exploration model(JEM)基準ソフトウェアを使用することによりHEVCを越える技術を開発した。コード化技術がJEMへ取り込まれたので、JEMはHEVCより著しく高いコード化性能を達成した。VCEG及びMPEGはHEVCを越える次世代映像圧縮標準規格の開発を公式に開始した。
【0011】
[0028] VVC標準規格は、より良い圧縮性能を提供するより多くのコード化技術を含み続ける。VVCは、HEVC、H.264/AVC、MPEG2、H.263などの近代映像圧縮標準規格において使用されてきた同じハイブリッド映像コード化システムに基づく。
【0012】
[0029] 映像とは、視覚的情報を記憶するために時系列順に配置される1組の静止ピクチャ(又は「フレーム」)である。それらのピクチャを時系列順に捕捉し記憶するために映像捕捉装置(例えばカメラ)を使用することができ、かかるピクチャを時系列順に表示するために映像再生装置(例えばテレビ、コンピュータ、スマートフォン、タブレットコンピュータ、ビデオプレーヤ、又は表示機能を有する任意のエンドユーザ端末)を使用することができる。更に一部の応用では、監視、会議、又は生放送等のために映像捕捉装置が捕捉映像を映像再生装置(例えばモニタを有するコンピュータ)にリアルタイムで伝送することができる。
【0013】
[0030] かかる応用が必要とする記憶空間及び伝送帯域幅を減らすために、映像を記憶及び伝送前に圧縮し、表示前に解凍することができる。この圧縮及び解凍はプロセッサ(例えば汎用コンピュータのプロセッサ)又は専用ハードウェアによって実行されるソフトウェアによって実装することができる。圧縮用のモジュールを一般に「符号器」と呼び、解凍用のモジュールを一般に「復号器」と呼ぶ。符号器及び復号器はまとめて「コーデック」と呼ぶことができる。符号器及び復号器は様々な適切なハードウェア、ソフトウェア、又はその組み合わせとして実装することができる。例えば符号器及び復号器のハードウェア実装は、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、書換可能ゲートアレイ(FPGA)、ディスクリートロジック、又はその任意の組み合わせ等の回路を含み得る。符号器及び復号器のソフトウェア実装は、プログラムコード、コンピュータ実行可能命令、ファームウェア、又はコンピュータ可読媒体内に固定される任意の適切なコンピュータによって実装されるアルゴリズム若しくはプロセスを含み得る。映像の圧縮及び解凍はMPEG-1、MPEG-2、MPEG-4、H.26xシリーズ等の様々なアルゴリズム又は規格によって実装され得る。一部の応用では、コーデックが第1のコード化規格から映像を解凍し、第2のコード化規格を使用して解凍済みの映像を再圧縮することができ、その場合コーデックを「トランスコーダ」と呼ぶことができる。
【0014】
[0031] 映像符号化プロセスは、ピクチャを再構築するために使用可能な有用な情報を識別し保つことができ、再構築に重要でない情報を無視することができる。無視された重要でない情報を完全に再構築できない場合、かかる符号化プロセスは「非可逆」と呼ぶことができる。さもなければ、かかる符号化プロセスは「可逆」と呼ぶことができる。殆どの符号化プロセスは非可逆であり、これは必要な記憶空間及び伝送帯域幅を減らすためのトレードオフである。
【0015】
[0032] 符号化されているピクチャ(「現ピクチャ」と呼ぶ)の有用な情報は、参照ピクチャ(例えば過去に符号化され再構築されたピクチャ)に対する変化を含む。かかる変化は、ピクセルの位置変化、光度変化、又は色変化を含むことができ、そのうちの位置変化が最も関係している。オブジェクトを表すピクセル群の位置変化は、参照ピクチャと現ピクチャとの間のオブジェクトの動きを反映し得る。
【0016】
[0033] 別のピクチャを参照することなしにコード化されるピクチャ(即ちかかるピクチャが自らの参照ピクチャである)を「Iピクチャ」と呼ぶ。参照ピクチャとして過去のピクチャを使用してコード化されるピクチャを「Pピクチャ」と呼ぶ。参照ピクチャとして過去のピクチャ及び将来のピクチャの両方を使用してコード化される(即ち参照が「双方向」である)ピクチャを「Bピクチャ」と呼ぶ。
【0017】
[0034]
図1は、本開示の一部の実施形態による映像シーケンス100の一例の構造を示す。映像シーケンス100は、生中継映像又は捕捉されアーカイブされている映像とすることができる。映像100は現実の映像、コンピュータによって生成される映像(例えばコンピュータゲーム映像)、又はその組み合わせ(例えば拡張現実効果を有する現実の映像)であり得る。映像シーケンス100は、映像捕捉装置(例えばカメラ)、過去に捕捉された映像を含む映像アーカイブ(例えば記憶装置内に記憶される映像ファイル)、又は映像コンテンツプロバイダから映像を受信するための映像フィードインタフェース(例えば映像ブロードキャストトランシーバ)から入力され得る。
【0018】
[0035]
図1に示すように、映像シーケンス100は、ピクチャ102、104、106、及び108を含むタイムラインに沿って時間的に配置される一連のピクチャを含み得る。ピクチャ102~106は連続的であり、ピクチャ106とピクチャ108との間には更に多くのピクチャがある。
図1ではピクチャ102がIピクチャであり、その参照ピクチャはピクチャ102自体である。ピクチャ104はPピクチャであり、矢印によって示すようにその参照ピクチャはピクチャ102である。ピクチャ106はBピクチャであり、矢印によって示すようにその参照ピクチャはピクチャ104及び108である。一部の実施形態では、ピクチャ(例えばピクチャ104)の参照ピクチャはそのピクチャのすぐ前に又はすぐ後になくてもよい。例えばピクチャ104の参照ピクチャは、ピクチャ102に先行するピクチャであり得る。ピクチャ102~106の参照ピクチャは例に過ぎず、本開示は参照ピクチャの実施形態を
図1に示す例として限定しないことに留意すべきである。
【0019】
[0036] 典型的には、映像コーデックは、ピクチャ全体を一度に符号化又は復号することはなく、それはかかるタスクが計算的に複雑だからである。むしろ映像コーデックはピクチャを基本セグメントに分割し、ピクチャをセグメントごとに符号化又は復号することができる。本開示ではそのような基本セグメントを基本処理単位(「BPU」)と呼ぶ。例えば
図1の構造110は、映像シーケンス100のピクチャ(例えばピクチャ102~108のいずれか)の構造の一例を示す。構造110ではピクチャが4x4の基本処理単位に分けられており、その境界が破線で示されている。一部の実施形態では、基本処理単位は一部の映像コード化規格(例えばMPEGファミリ、H.261、H.263、又はH.264/AVC)内の「マクロブロック」と呼ぶことができ、他の一部の映像コード化規格(例えばH.265/HEVC又はH.266/VVC)内の「コード化ツリー単位」(「CTU」)と呼ぶことができる。128x128、64x64、32x32、16x16、4x8、16x32、又はピクセルのあらゆる任意の形状及びサイズ等、基本処理単位はピクチャ内で可変サイズを有することができる。基本処理単位のサイズ及び形状は、コード化の効率及び基本処理単位内で保とうとする詳細度のバランスに基づいてピクチャについて選択することができる。
【0020】
[0037] 基本処理単位は、コンピュータメモリ内に(例えば映像フレームバッファ内に)記憶される様々な種類の映像データ群を含み得る論理単位であり得る。例えばカラーピクチャの基本処理単位は、無彩色の輝度情報を表すルマ成分(Y)、色情報を表す1つ又は複数のクロマ成分(例えばCb及びCr)、並びにルマ成分及びクロマ成分が同じサイズを有し得る基本処理単位の関連構文要素を含むことができる。一部の映像コード化規格(例えばH.265/HEVC又はH.266/VVC)では、ルマ成分及びクロマ成分が「コード化ツリーブロック」(「CTB」)と呼ばれ得る。基本処理単位に対して行われる如何なる操作も、そのルマ成分及びクロマ成分のそれぞれに対して繰り返し行うことができる。
【0021】
[0038] 映像のコード化は複数の操作段階を有し、その例を
図2及び
図3に示す。それぞれの段階について、基本処理単位のサイズは依然として処理するのに大き過ぎる場合があり、したがって本開示で「基本処理副単位」と呼ぶセグメントに更に分けることができる。一部の実施形態では、基本処理副単位は一部の映像コード化規格(例えばMPEGファミリ、H.261、H.263、又はH.264/AVC)内の「ブロック」と呼ぶことができ、又は他の一部の映像コード化規格(例えばH.265/HEVC又はH.266/VVC)内の「コード化単位」(「CU」)と呼ぶことができる。基本処理副単位は基本処理単位と同じ又はそれよりも小さいサイズを有し得る。基本処理単位と同様に基本処理副単位もコンピュータメモリ内に(例えば映像フレームバッファ内に)記憶される様々な種類の映像データ群(例えばY、Cb、Cr、及び関連構文要素)を含み得る論理単位である。基本処理副単位に対して行われる如何なる操作も、そのルマ成分及びクロマ成分のそれぞれに対して繰り返し行うことができる。処理の必要性に応じて、かかる分割は更なるレベルに対して行われ得ることに留意すべきである。様々な段階が様々な方式を使用して基本処理単位を分割できることにも留意すべきである。
【0022】
[0039] 例えば(その一例を
図2に示す)モード決定段階において、基本処理単位に対してどの予測モード(例えばイントラピクチャ予測又はインタピクチャ予測)を使用するのかを符号器が決定することができ、基本処理単位はかかる決定を下すには大き過ぎる場合がある。符号器は基本処理単位を複数の基本処理副単位(例えばH.265/HEVC又はH.266/VVCにあるCU)に分け、個々の基本処理副単位ごとに予測の種類を決定することができる。
【0023】
[0040] 別の例では、(その一例を
図2に示す)予測段階において、符号器は基本処理副単位(例えばCU)のレベルにおいて予測操作を行うことができる。しかし一部の事例では、処理するのに基本処理副単位が依然として大き過ぎる場合がある。符号器は基本処理副単位をより小さいセグメント(例えばH.265/HEVC又はH.266/VVC内で「予測ブロック」又は「PB」と呼ばれる)に更に分けることができ、そのレベルにおいて予測操作を行うことができる。
【0024】
[0041] 別の例では、(その一例を
図2に示す)変換段階において、符号器が残差基本処理副単位(例えばCU)に対する変換操作を行うことができる。しかし一部の事例では、処理するのに基本処理副単位が依然として大き過ぎる場合がある。符号器は基本処理副単位をより小さいセグメント(例えばH.265/HEVC又はH.266/VVC内で「変換ブロック」又は「TB」と呼ばれる)に更に分けることができ、そのレベルにおいて変換操作を行うことができる。同じ基本処理副単位の分割方式は予測段階と変換段階とで異なり得ることに留意すべきである。例えばH.265/HEVC又はH.266/VVCでは、同じCUの予測ブロック及び変換ブロックが異なるサイズ及び数を有し得る。
【0025】
[0042]
図1の構造110では、基本処理単位112が3x3の基本処理副単位に更に分けられており、その境界が点線で示されている。同じピクチャの異なる基本処理単位を異なる方式で基本処理副単位に分けることができる。
【0026】
[0043] 一部の実装形態では、映像の符号化及び復号に並列処理及び誤り耐性の機能を与えるためにピクチャを処理用の領域に分けることができ、それによりピクチャの領域について、符号化又は復号プロセスがピクチャの他の任意の領域の情報に依存しないことができる。換言すれば、ピクチャの各領域を独立に処理することができる。そうすることでコーデックはピクチャの異なる領域を並列に処理し、したがってコード化の効率を高めることができる。更に、領域のデータが処理内で破損し又はネットワーク伝送内で失われる場合、コーデックは破損し又は失われたデータに依存することなしに同じピクチャの他の領域を正しく符号化又は復号することができ、したがって誤り耐性の機能を提供する。一部の映像コード化規格では、ピクチャを異なる種類の領域に分割することができる。例えばH.265/HEVC及びH.266/VVCは「スライス」及び「タイル」という2種類の領域を提供する。映像シーケンス100の様々なピクチャが、ピクチャを領域に分けるための様々な分割方式を有し得ることにも留意すべきである。
【0027】
[0044] 例えば
図1では、構造110が3つの領域114、116、及び118に分けられており、その境界が構造110内の実線として示されている。領域114は4個の基本処理単位を含む。領域116及び118のそれぞれは6個の基本処理単位を含む。
図1の構造110の基本処理単位、基本処理副単位、及び領域は例に過ぎず、本開示はその実施形態を限定しないことに留意すべきである。
【0028】
[0045]
図2は本開示の一部の実施形態によるハイブリッド映像コード化システム内の例示的符号器200の概略図を示す。映像符号器200は、映像ブロック又は映像ブロックの分割若しくは副分割を含む映像フレーム内のブロックのイントラコード化又はインターコード化を行い得る。イントラコード化は所与の映像フレーム内の映像内の空間的冗長性を低減又は除去するために空間的予測に依存し得る。インターコード化は映像シーケンスの隣接フレーム内の映像の時間的冗長性を低減又は除去するために時間的予測に依存し得る。イントラモードは多くの空間ベース圧縮モードを指し得る。インターモード(単方向予測又は双方向予測など)は多くの時間ベース圧縮モードを指し得る。
【0029】
[0046]
図2を参照すると、入力映像信号202がブロックごとに処理され得る。例えば、映像ブロック単位は16×16ピクセルブロック(例えばマクロブロック(MB:macroblock))であり得る。映像ブロック単位のサイズは、使用されるコード化技術及び必要精度及び効率に依存して変わり得る。HEVCでは、拡張されたブロックサイズ(例えばコード化ツリー単位(CTU:coding tree unit))が、例えば1080p以上の分解能の映像信号を圧縮するために使用され得る。HEVCでは、CTUは、クロマサンプルに対応する最大64×64までのルマサンプルと関連構文要素とを含み得る。VVCでは、CTUのサイズは更に、128×128ルマサンプル、対応するクロマサンプル、及び関連構文要素を含むように増加され得る。CTUは更に、例えば四分木、二分木又は三分木を使用してコード化単位(CU:coding unit)へ分割され得る。CUは更に、別個の予測方法が適用され得る予測単位(PU:prediction unit)へ分割され得る。各入力映像ブロックは、空間的予測ユニット260又は時間的予測ユニット262を使用することにより処理され得る。
【0030】
[0047] 空間的予測ユニット260は、現ブロックを含む同じピクチャ/スライスに関する情報を使用して現ブロック/CUに対し空間的予測(例えばイントラ予測)を行う。空間的予測は、現映像ブロックを予測するために同じ映像ピクチャフレーム/スライス内の既にコード化された隣接ブロックからのピクセルを使用し得る。空間的予測は映像信号に固有な空間的冗長性を低減し得る。
【0031】
[0048] 時間的予測ユニット262は、現ブロックを含むピクチャ/スライスとは異なるピクチャ/スライスからの情報を使用して現ブロックに対して時間的予測(例えばインタ予測)を行う。映像ブロックの時間的予測は1つ又は複数の動きベクトルにより信号化され得る。単方向時間的予測では、1つの参照ピクチャを指示する1つの動きベクトルだけが現ブロックの予測信号を生成するために使用される。他方で、双方向時間的予測では、それぞれがそれぞれの参照ピクチャを指示する2つの動きベクトルが現ブロックの予測信号を生成するために使用され得る。動きベクトルは、基準座標系内の現ブロックと1つ又は複数の関連ブロックとの間の動きの量及び方向を指示し得る。複数の参照ピクチャがサポートされる場合、1つ又は複数の参照ピクチャインデックスが映像ブロックに関し送信され得る。1つ又は複数の参照インデックスが、参照ピクチャ記憶装置又は復号済みピクチャバッファ(DPB:decoded picture buffer)264内のどの参照ピクチャから時間的予測信号が来得るかを識別するために使用され得る。
【0032】
[0049] 符号器内のモード決定及び符号器制御ユニット280が予測モードを選択し得る(例えば速度歪最適化に基づき)。判断された予測モードに基づき、予測ブロックが取得され得る。予測ブロックは加算器216において現映像ブロックから減じられ得る。予測残差(prediction residual)は変換ユニット204により変換され、量子化ユニット206により量子化され得る。量子化済み残差係数は逆量子化ユニット210において逆量子化され得、そして再構築済み残差を形成するために逆変換ユニット212において逆変換され得る。再構築済み残差は再構築済み映像ブロックを形成するために加算器226において予測ブロックへ加えられ得る。ループフィルタリング前の再構築済み映像ブロックはイントラ予測の参照サンプルを提供するために使用され得る。
【0033】
[0050] 再構築済み映像ブロックは、ループフィルタ266におけるループフィルタリングを通り得る。例えば、デブロッキング(deblocking)フィルタ、サンプル適応化オフセット(SAO:sample adaptive offset)及び適応化ループフィルタ(ALF:adaptive loop filter)などのループフィルタリングが適用され得る。ループフィルタリング後の再構築済みブロックは参照ピクチャ記憶装置264内に記憶され得、そして他の映像ブロックをコード化するためのインタ予測参照サンプルを提供するために使用され得る。出力映像ビットストリーム220を形成するために、コード化モード(例えばインタ又はイントラ)、予測モード情報、動き情報及び量子化済み残差係数は、ビットストリーム220を形成するためにデータが圧縮されてそしてパックされる前に、ビットレートを更に低減するためにエントロピコード化ユニット208へ送信され得る。
【0034】
[0051]
図3は、本開示の一部の実施形態によるハイブリッド映像コード化システム内の例示的復号器300の概略図を示す。
図3を参照すると、映像ビットストリーム302はエントロピ復号ユニット308においてアンパック(unpack)又はエントロピ復号され得る。コード化モード情報は、空間的予測ユニット360又は時間的予測ユニット362が選択されるかを判断するために使用され得る。予測モード情報は予測ブロックを生成するために対応予測ユニットへ送信され得る。例えば、動き補償された予測が、時間的予測ブロックを形成するために時間的予測ユニット362により適用され得る。
【0035】
[0052] 残差係数は、再構築済み残差を取得するために逆量子化ユニット310及び逆変換ユニット312へ送信され得る。予測ブロック及び再構築済み残差はループフィルタリング前に再構築済みブロックを形成するために326において加算され得る。次に、再構築済みブロックはループフィルタ366におけるループフィルタリングを通り得る。例えば、デブロッキングフィルタ、SAO及びALFなどのループフィルタリングが適用され得る。次に、ループフィルタリング後の再構築済みブロックは参照ピクチャ記憶装置364内に記憶され得る。参照ピクチャ記憶装置364内の再構築済みデータは、復号化済み映像320を取得するために使用されてもよいし、将来映像ブロックを予測するために使用されてもよい。復号済み映像320は、エンドユーザにより見られるTV、PC、スマートフォン又はタブレットなどの表示装置上に表示され得る。
【0036】
[0053]
図4は、本開示の一部の実施形態による、映像を符号化又は復号するための例示的装置400のブロック図である。
図4に示すように、装置400はプロセッサ402を含み得る。プロセッサ402が本明細書に記載の命令を実行するとき、装置400は映像を符号化し又は復号するための専用マシンになり得る。プロセッサ402は情報を操作し又は処理することができる任意の種類の回路であり得る。例えばプロセッサ402は、任意の数の中央処理装置(「CPU」)、グラフィックス処理装置(「GPU」)、ニューラル処理ユニット(「NPU」)、マイクロコントローラユニット(「MCU」)、光プロセッサ、プログラム可能論理コントローラ、マイクロコントローラ、マイクロプロセッサ、デジタル信号プロセッサ、IP(intellectual property)コア、プログラム可能論理アレイ(PLA)、プログラム可能アレイ論理(PAL)、汎用アレイ論理(GAL)、複合プログラム可能論理装置(CPLD)、書換可能ゲートアレイ(FPGA)、システムオンチップ(SoC)、特定用途向け集積回路(ASIC)等の任意の組み合わせを含み得る。一部の実施形態では、プロセッサ402は単一の論理構成要素としてグループ化される1組のプロセッサとすることもできる。例えば
図4に示すように、プロセッサ402はプロセッサ402a、プロセッサ402b、及びプロセッサ402nを含む複数のプロセッサを含み得る。
【0037】
[0054] 装置400は、データ(例えば1組の命令、コンピュータコード、中間データ等)を記憶するように構成されるメモリ404も含み得る。例えば
図4に示すように、記憶データはプログラム命令(例えば
図2又は
図3の段階を実装するためのプログラム命令)及び処理用データを含み得る。プロセッサ402はプログラム命令及び処理用データに(例えばバス410を介して)アクセスし、プログラム命令を実行して処理用データに対する操作又は処理を行うことができる。メモリ404は、高速ランダムアクセス記憶装置又は不揮発性記憶装置を含み得る。一部の実施形態では、メモリ404が任意の数のランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、光学ディスク、磁気ディスク、ハードドライブ、ソリッドステートドライブ、フラッシュドライブ、セキュリティデジタル(SD)カード、メモリスティック、コンパクトフラッシュ(登録商標)(CF)カード等の任意の組み合わせを含み得る。メモリ404は単一の論理構成要素としてグループ化される(
図4には不図示の)メモリ群とすることもできる。
【0038】
[0055] 内蔵バス(例えばCPUメモリバス)、外部バス(例えばユニバーサルシリアルバスポート、周辺機器コンポーネント相互接続エクスプレスポート)等のバス410は、装置400内の構成要素間でデータを転送する通信装置であり得る。
【0039】
[0056] 曖昧さを招くことなしに説明を簡単にするために、本開示ではプロセッサ402及び他のデータ処理回路をまとめて「データ処理回路」と呼ぶ。データ処理回路は完全にハードウェアとして、又はソフトウェア、ハードウェア、若しくはファームウェアの組み合わせとして実装することができる。加えてデータ処理回路は単一の独立したモジュールとすることができ、又は装置400の他の任意の構成要素内に完全に若しくは部分的に組み合わせることができる。
【0040】
[0057] 装置400は、ネットワーク(例えばインターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク等)との有線通信又は無線通信を提供するためのネットワークインタフェース406を更に含み得る。一部の実施形態では、ネットワークインタフェース406が任意の数のネットワークインタフェースコントローラ(NIC)、無線周波数(RF)モジュール、トランスポンダ、トランシーバ、モデム、ルータ、ゲートウェイ、有線ネットワークアダプタ、無線ネットワークアダプタ、Bluetoothアダプタ、赤外線アダプタ、近距離無線通信(「NFC」)アダプタ、セルラネットワークチップ等の任意の組み合わせを含み得る。
【0041】
[0058] 一部の実施形態では、1つ又は複数の周辺装置への接続を提供するための周辺装置インタフェース408を任意選択的に装置400が更に含み得る。
図4に示すように、周辺装置はこれだけに限定されないがカーソル制御装置(例えばマウス、タッチパッド、又はタッチスクリーン)、キーボード、ディスプレイ(例えばブラウン管ディスプレイ、液晶ディスプレイ、又は発光ダイオードディスプレイ)、映像入力装置(例えば映像アーカイブに結合されるカメラ又は入力インタフェース)等を含み得る。
【0042】
[0059] 映像コーデックは、装置400内の任意のソフトウェア又はハードウェアモジュールの任意の組み合わせとして実装できることに留意すべきである。例えば
図2の符号器200又は
図3の復号器300の一部の又は全てのステージが、メモリ404内にロード可能なプログラム命令等の装置400の1つ又は複数のソフトウェアモジュールとして実装され得る。別の例では、
図2の符号器200又は
図3の復号器300の一部の又は全てのステージが、専用データ処理回路(例えばFPGA、ASIC、NPU等)等の装置400の1つ又は複数のハードウェアモジュールとして実装され得る。
【0043】
[0060] VTM5では、三角分割モードがインタ予測のためにサポートされる。三角分割モードは通常、8×8以上であり、そして三角スキップ又はマージモードで符号化されるCUへ適用される。三角スキップ/マージモードは、マージモード、Merge with Motion Vector Difference(MMVD)モード、Combined Inter and Intra Prediction(CIIP)モード又はサブブロックマージモードと並列に信号化される。
【0044】
[0061] 三角分割モードが使用される場合、CUは、対角分割又は反対角分割のいずれかを使用することにより2つの三角分割へ一様に分割される。
図5は、本開示の一部の実施形態による三角分割ベースインタ予測のいくつかの例を示す。CU内の各三角分割はそれ自身の動きを使用することによりインタ予測される。単方向予測は分割ごとに許容される。したがって、各分割は1つの動きベクトル及び1つの参照インデックスを有する。単方向予測動き制約が、従来の双方向予測と同じように2つの動き補償された予測がCUごとに必要とされるということを保証するために適用される。各分割の単方向予測動きは、拡張マージ予測のために構築されたマージ候補リストから直接導出され、そしてリスト内の所与のマージ候補からの単方向予測動きの選択は以下に説明される手順に従い得る。
【0045】
[0062] 三角分割モードが現CUに使用される場合、三角分割の方向(対角又は反対角)を指示するフラグ及び2つのマージインデックス(各分割の1つ)が更に信号化される。三角分割のそれぞれを予測した後、対角又は反対角縁に沿ったサンプル値は適応重み付けによる混合処理を使用して調整される。これはCU全体の予測信号であり、そして変換及び量子化プロセスは他の予測モードにおけるようにCU全体へ適用され得る。次に、三角分割モードを使用して予測されたCUの動きフィールドは4×4サブブロック内に記憶される。
【0046】
[0063] マージ候補インデックスを所与として、単方向予測動きベクトルは、拡張マージ予測のために構築されたマージ候補リストから導出される。
図6は、本開示の一部の実施形態による分割モードの例示的単方向予測動きベクトル選択600を示す。一部の実施形態では、単方向予測動きベクトル選択600は三角分割モードへ適用され得る。リスト内の候補に関して、マージ候補インデックス値のパリティに等しいXを有するLX動きベクトルが三角分割モードの単方向予測動きベクトルとして使用される。これらの動きベクトルは
図6では“×”によりマーキングされる。対応するLX動きベクトルが存在しない場合、拡張マージ予測候補リスト内の同じ候補のL(1-X)動きベクトルが三角分割モードの単方向予測動きベクトルとして使用される。
【0047】
[0064] 自身の動きを使用することにより各三角分割を予測した後、混合が、対角又は反対角縁周囲のサンプルを導出するために2つの予測信号へ適用される。以下の重み付けが混合プロセスおいて使用される:ルマに関し{7/8,6/8,5/8,4/8,3/8,2/8,1/8}及びクロマに関し{6/8,4/8,2/8}。
【0048】
[0065]
図7は本開示の一部の実施形態による混合プロセス700の上記例示的重み付けを示す。
【0049】
[0066] 三角分割モードにおいてコード化されるCUの動きベクトルは4×4サブブロック内に記憶される。各4×4サブブロックの位置に依存して、単方向予測又は双方向予測動きベクトルのいずれかが記憶される。例えばそれぞれ
図5に示すように分割1及び分割2の単方向予測動きベクトルをMv1及びMv2で表す。4×4サブブロックが単方向予測エリア内に位置する場合、当該4×4サブブロックのMv1又はMv2のいずれかが記憶される。そうでなはなく、4×4サブブロックが双方向予測エリア内に位置する場合、双方向予測動きベクトルが記憶される。双方向予測動きベクトルは以下のプロセスに従ってMv1及びMv2から導出される:
1.Mv1及びMv2が異なる参照ピクチャリストから(例えば、一方はL0からそして他方はL1から)のものである場合、Mv1及びMv2は双方向予測動きベクトルを形成するために単純に組み合わせられる;
2.そうではなく、Mv1及びMv2が同じリストからのものである場合、一般性を失うことなく、これらは両方ともL0からのものであると見做す。この場合、
2.1 Mv2(又はMv1)のいずれかが参照ピクチャがL1内に出現する場合、Mv2(又はMv1)はL1内のその参照ピクチャを使用することによりL1動きベクトルへ変換される。次に、2つの動きベクトルは双方向予測動きベクトルを形成するために組み合わせられる;
2.2 そうでない場合、双方向予測動きの代わりに、単方向予測動きMv1が記憶される。
【0050】
[0067] 4×4サブブロック内の全てのサンプルが重み付けられるとき、4×4サブブロックは双方向予測エリア内に在ると考えられるということが理解される。そうでない場合、4×4サブブロックは単方向予測エリア内に在ると考えられる。
図8は本開示の一部の実施形態による単方向予測エリア又は双方向予測エリア内に位置する4×4サブブロック(灰色でハイライトされる)の例を示す。以下のプロセスは4×4サブブロックが双方向予測エリア内に位置するかどうかを判断するために使用され得る:
【数1】
である場合、4×4サブブロックは双方向予測エリア内に位置し;
そうでない場合、4×4サブブロックは単方向予測エリア内に位置する、
ここで(x,y)は4×4サブブロックの左上サンプルの位置を表し、r
xはブロック高さに対するブロック幅の比を表し、そしてr
yはブロック幅に対するブロック高さの比を表す。具体的には、ブロック幅及びブロック高さをそれぞれW及びHで表すと、W>=Hであればr
x=W/H及びr
y=1;W<Hであればr
x=1及びr
y=H/W。一例では、8×8ブロックに関し、r
xは1に設定され、r
yは1に設定される。別の例では、32×8ブロックに関し、r
xは4に設定され、r
yは1に設定される。
【0051】
[0068] VVC草案9では、三角分割モードはジオメトリック分割モード(GPM)へ拡張され得る。GPMでは、分割方法の数は2から64へ拡張され得る。例えば、20個の角度がGPMではサポートされ得、そしてブロックの中心への4つの異なる距離が角度ごとにサポートされ得る。
図9は本開示の一部の実施形態によるGPMの角度分布の例900を示す概略図である。
図10は本開示の一部の実施形態によるGPMの距離分布の例を示す概略図である。水平角度{0,12}及び垂直角度{6,18}の距離インデックス2を有する距離は三分木分割境界により重畳されるので、これらはGPMでは除去され得る。
【0052】
[0069] 現設計に伴う問題が動きフィールド記憶プロセスに関し存在する。現設計では、単方向予測動きベクトルは、単方向予測エリア内に位置する4×4サブブロックに関し記憶され、そして2つの単方向予測動きベクトルから導出される双方向予測動きベクトルは、双方向予測エリア内に位置する4×4サブブロックに関し記憶される。この設計は複雑である。
【0053】
[0070] 例えば、4×4サブブロックごとに、動きベクトルを記憶する際に2回の比較工程を必要とし得る。1つの比較工程はサブブロックが双方向予測エリア内に位置するかどうかを判断することである。他の比較工程は、サブブロックが右上(対角分割)又は左上(反対角分割)単方向予測エリア内に位置するかどうかを判断することである。最悪の場合、合計2016回の比較工程が、三角分割モードを使用することにより予測される128×128ブロックに関し必要とされる。
【0054】
[0071] 双方向予測動きが導出される必要がある場合(「双方向予測エリア」において考慮されるサブブロックに関して)、2つの単方向予測動きベクトルが両方とも同じ参照ピクチャリストからのものであると、それらのうちの1つが別の参照ピクチャリストへ変換される。このプロセスにおいて、単方向予測動きベクトルの参照ピクチャは、参照ピクチャが別の参照ピクチャリスト内に出現するかどうかを判断するために検査される。これは、最悪の場合、単方向予測動きベクトルの参照ピクチャがリスト内の全ての参照ピクチャと比較される必要があるということを意味する。このプロセスは非常に複雑であり得る。
【0055】
[0072] 現設計に伴う既存問題に対処する必要がある。本開示の一部の実施形態では、ブロックの動きベクトルを記憶する際の比較工程の数が低減され得る。動きフィールド記憶プロセスは簡略化され得る。
【0056】
[0073] 本開示の一部の実施形態では、4より大きな幅又は高さを有するサブブロックが動きフィールド記憶のための基本単位として使用される。例えば、8×8以上のサブブロックが三角分割モードの動きフィールド記憶のための基本単位として使用される。
【0057】
[0074] 例示的実施形態では、8×8サブブロックが動きベクトル記憶のための基本単位として使用される。三角分割モードを使用することにより予測されるブロックは8×8サブブロックへ分割され得る。各8×8サブブロックの位置に依存して、単方向予測又は双方向予測動きベクトルのいずれかが記憶される。8×8サブブロックが双方向予測エリア内に位置すれば、双方向予測動きベクトルが記憶される。そうでなければ、単方向予測動きベクトルが単方向予測エリアに関して記憶される。双方向予測エリア内に位置する8×8サブブロックは重み付けサンプル及び非重み付けサンプルの両方を含み得るということが理解される。
図11は本開示の一部の実施形態による単方向予測エリア又は双方向予測エリア内に位置する8×8サブブロックの例を示す概略図である。例えば、三角分割モードでは、以下のプロセスは、8×8サブブロックが双方向予測エリア内に在ると考えられるかどうかを判断するために使用される:
【数2】
である場合、8×8サブブロックは双方向予測エリア内に位置し;
そうでない場合、8×8サブブロックは単方向予測エリア内に位置する、
ここで(x,y)は8×8サブブロックの左上サンプルの位置を表し、(r
x,r
y)はブロック高さに対するブロック幅の比を表す。
【0058】
[0075] 一実施形態では、幅及び高さが両方とも8以上のブロックは8×8サブブロックへ分割される。別の実施形態では、幅が8未満であるブロックは4×8サブブロックへ分割される。別の実施形態では、高さが8未満であるブロックは8×4サブブロックへ分割される。
【0059】
[0076] 8×8サブブロックが基本単位として使用される実施形態では、合計496回の比較工程が、三角分割モードを使用することにより予測される128×128ブロックに関し必要とされる。この結果、比較工程の75%が現VVC草案5設計と比較して低減される。
【0060】
[0077] 別の例示的実施形態では、16×16サブブロックが動きベクトル記憶のための基本単位として使用される。三角分割モードを使用することにより予測されるブロックは16×16サブブロックへ分割され得る。例えば、幅及び高さが両方とも16以上のブロックは16×16サブブロックへ分割される。別の例では、ブロックは、幅がmin(ブロック幅,16)に等しく且つ高さがmin(ブロック高さ,16)に等しいサブブロックへ分割される。
【0061】
[0078] 例示的実施形態では、M×Nサブブロックが動きベクトル記憶のための基本単位として使用され、ここでMはNに等しくてもよいしNに等しくなくてもよい。三角分割モードを使用することにより予測されるブロックはM×Nサブブロックへ分割され得る。各M×Nサブブロックの位置に依存して、単方向予測又は双方向予測動きベクトルのいずれかが記憶される。M×Nサブブロックが双方向予測エリア内に位置する場合、双方向予測動きベクトルが記憶される。そうでない場合、単方向予測動きベクトルが単方向予測エリアに関して記憶される。双方向予測エリア内に位置するM×Nサブブロックは重み付けサンプル及び非重み付けサンプルの両方を含み得るということが理解される。以下のプロセスは、M×Nサブブロックが双方向予測エリア内に在ると考えられるかどうかを判断するために使用される:
【数3】
である場合、M×Nサブブロックは双方向予測エリア内に位置し;
そうでない場合、M×Nサブブロックは単方向予測エリア内に位置する、
ここで(x,y)はM×Nサブブロックの左上サンプルの位置を表し、(r
x,r
y)はブロック高さに対するブロック幅の比を表す。(r
x,r
y)は以下のように導出される;
【数4】
【0062】
[0079] 別の例示的実施形態では、動きベクトル記憶のためのサブブロックのサイズはブロックサイズに依存する。ブロック幅又は高さがM以下である場合、サブブロックのサイズは(M/2)×(M/2)である。そうでない場合、サブブロックのサイズはM×Mである。一部の実施形態では、Mは8、16、32などに等しい可能性がある。例えば、ブロック幅又は高さが8以下である場合、サブブロックのサイズは4×4である。そうでない場合、サブブロックのサイズは8×8である。このようにして、小ブロックの動きフィールドはより微細な粒度で記憶され得る。
【0063】
[0080] 更に別の例示的実施形態では、動きベクトル記憶のためのサブブロックのサイズはブロックサイズと同じである。この場合、同じ動きベクトルが双方向予測エリア及び単方向予測エリアの両エリア内に記憶される。かかる同じ動きベクトルは、分割のための2つの単方向予測動きベクトル又は2つの単方向予測動きベクトルから導出される双方向予測動きベクトルのうちの1つであり得る。
【0064】
[0081]
図12は本開示の一部の実施形態による動きフィールド記憶の例示的方法1200の流れ図を示す。一部の実施形態では、方法1200は、符号器(例えば
図2の符号器200)により行われ得る又は装置(例えば
図4の装置400)の1つ又は複数のソフトウェア又はハードウェア構成要素により行われ得る。例えば、プロセッサ(例えば
図4のプロセッサ402)は方法1200を行い得る。一部の実施形態では、方法1200は、コンピュータ(例えば
図4の装置400)により実行されるプログラムコードなどのコンピュータ実行可能命令を含む、コンピュータ可読媒体内に具現化されるコンピュータプログラム製品により実施され得る。
【0065】
[0082] 工程1202では、方法1200は、ブロック(又はCU)のサブブロックが双方向予測エリア内に在るかどうかを判断することを含み得る。サブブロックは4より大きい幅、又は高さ、又は両方を有する。一部の実施形態では、サブブロックの幅及び高さの少なくとも1つは8以上である。例えば、サブブロックは、8×8サブブロック、4×8サブブロック、8×4サブブロック、16×16サブブロック又はmin(ブロックの幅,16)×min(ブロックの高さ,16)サブブロックであり得る。一部の実施形態では、サブブロックのサイズはブロックのサイズに依存し得る。方法1200は三角分割モード又はGPMへ適用され得る。
【0066】
[0083] 一部の実施形態では、三角分割モードでは、サブブロックはM×Nサブブロックである。方法1200は
【数5】
が
【数6】
に等しいかどうかを判断することを含み得、ここで(x,y)はサブブロックの左上サンプルの位置を表し、(r
x,r
y)はブロックの高さに対するブロックの幅の比を表す。
【数7】
が
【数8】
に等しいと判断される場合、サブブロックは双方向予測エリア内に在る。
【数9】
が
【数10】
に等しくないと判断される場合、サブブロックは単方向予測エリア内に在る。
【0067】
[0084] 工程1204では、方法1200は、サブブロックが双方向予測エリア内に在ると判断されることに応じて、双方向予測動きベクトルを記憶することを含み得る。方法1200はまた、サブブロックが双方向予測エリア内に無いと判断されることに応じて、単方向予測動きベクトルを記憶することを含み得る。
【0068】
[0085] 一部の実施形態では、方法1200は、ブロックを複数のサブブロックへ分割することを含み得る。一部の実施形態では、サブブロックのサイズはブロックのサイズと同じであり得る。次に、双方向予測動きベクトルは単方向予測動きベクトルと同じであり得る。
【0069】
[0086] 動きフィールド記憶プロセスの現設計では、2つの分割のための2つの単方向予測動きベクトルが両方とも同じ参照ピクチャリストからのものであるとき、多くの比較工程が、2つの単方向予測動きベクトルのうちの1つを別の参照ピクチャリストへ変換するために行われる必要がある。本開示の一部の実施形態では、変換工程は除去され得る。双方向予測エリア内のサブブロックの双方向予測動きベクトル生成は単純化され得る。次に、双方向予測エリア内に位置するサブブロックの動きベクトル導出プロセスは単純化され得る。
【0070】
[0087] 一部の実施形態では、2つの単方向予測動きベクトルが、異なる参照ピクチャリストからのものであるとき、2つの単方向予測動きベクトルが双方向予測動きベクトルを形成するために組み合わせられる。そうでなければ、2つの単方向予測動きベクトルのうちの1つが、双方向予測エリア内に位置するサブブロックに関して記憶される。
【0071】
[0088]
図13は本開示の一部の実施形態による三角分割の例を示す概略図である。一例では、2つの単方向予測動きベクトルのうちの1つは、
図13に示すよう上分割からの動きベクトルである。別の例では、2つの単方向予測動きベクトルのうちの1つは、
図13に示すように下分割からの動きベクトルである。別の例では、2つの単方向予測動きベクトルのうちの1つは、
図13に示すように左分割からの動きベクトルである。別の例では、2つの単方向予測動きベクトルのうちの1つは、
図13に示すように右分割からの動きベクトルである。
【0072】
[0089] 別の例では、2つの単方向予測動きベクトルのうちの1つは、現ブロックの現ピクチャに対して参照ピクチャがより近い動きベクトルである。例えば、上分割及び下分割の参照ピクチャのピクチャ順序カウント(POC:picture order count)それぞれをPOC1及びPOC2で表す。現ピクチャのPOCはPOC0で表される。POC0とPOC1との差がPOC0とPOC2との差より小さい場合、上分割からの動きベクトルが記憶される。そうでない場合、下分割からの動きベクトルは、POC0とPOC1との差がPOC0とPOC2との差以上であると記憶される。
【0073】
[0090] 別の例では、2つの単方向予測動きベクトルのうちの1つは、参照ピクチャがより高い品質(すなわち低いQP)を有する動きベクトルである。例えば、上分割及び下分割の参照ピクチャのQPはそれぞれQP1とQP2で表される。QP1がQP2以下である場合、上分割からの動きベクトルが記憶される。そうでない場合、下分割からの動きベクトルが記憶される。
【0074】
[0091] 別の例では、2つの単方向予測動きベクトルのうちの1つは、より小さい動き量を有する動きベクトル、例えばabs(mvx0)+abs(mvy0)<=abs(mvx1)+abs(mvy1)である。より小さな動き量を有する動きベクトルが記憶される。
【0075】
[0092]
図14は本開示の一部の実施形態による動きベクトル生成の例示的方法1400の流れ図を示す。一部の実施形態では、方法1400は、符号器(例えば
図2の符号器200)により行われ得る又は装置(例えば
図4の装置400)の1つ又は複数のソフトウェア又はハードウェア構成要素により行われ得る。例えば、プロセッサ(例えば
図4のプロセッサ402)は方法1400を行い得る。一部の実施形態では、方法1400は、コンピュータ(例えば
図4の装置400)により実行されるプログラムコードなどのコンピュータ実行可能命令を含む、コンピュータ可読媒体内に具現化されるコンピュータプログラム製品により実施され得る。
【0076】
[0093] 工程1402では、方法1400は、ブロック(又はCU)の第1の分割の第1の単方向予測動きベクトル及びブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断し得る。ブロックの第1の分割及び第2の分割は三角分割又はジオメトリック分割であり得る。
【0077】
[0094] 工程1404では、方法1400は、第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものであると判断されることに応じて、ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルのうちの1つを記憶することを含み得る。一部の実施形態では、第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルのうちの記憶された1つは、上分割からの動きベクトル、下分割からの動きベクトル、左分割からの動きベクトル、右分割からの動きベクトル、現ブロックの現ピクチャに対して参照ピクチャがより近い動きベクトル、参照ピクチャがより高い品質を有する動きベクトル、より小さな動き量を有する動きベクトルなどであり得る。
【0078】
[0095] 一部の実施形態では、方法1400は、第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものではないと判断されることに応じて、双方向予測動きベクトルを形成するために第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルを組み合わせること、及び双方向予測動きベクトルをブロックの双方向予測エリア内に位置するサブブロックに関して記憶することを含み得る。
【0079】
[0096] 一部の実施形態では、方法1400は、ブロック(又はCU)のサブブロックが双方向予測エリア内に在るかどうかを判断することを含み得る。例えば、サブブロックはM×Nサブブロックである。三角分割モードでは、方法1400は
【数11】
が
【数12】
に等しいかどうかを判断することを含み得、ここで(x,y)はサブブロックの左上サンプルの位置を表し、(r
x,r
y)はブロックの高さに対するブロックの幅の比を表す。
【数13】
が
【数14】
に等しいと判断される場合、サブブロックは双方向予測エリア内に在る。
【数15】
が
【数16】
に等しくないと判断される場合、サブブロックは単方向予測エリア内に在る。
【0080】
[0097] 一部の実施形態では、2つの単方向予測動きベクトルが、異なる参照ピクチャリストからのものであるとき、2つの単方向予測動きベクトルが双方向予測動きベクトルを形成するために組み合わせられる。そうでない場合、2つの単方向予測動きベクトルの平均動きベクトルが記憶される。
【0081】
[0098] 一例では、2つの単方向予測動きベクトルの参照ピクチャが互いに同じであるとき、2つの単方向予測動きベクトルは平均化され記憶される。
【0082】
[0099] 別の例では、2つの単方向予測動きベクトルの参照ピクチャが互いに異なるとき、2つの単方向予測動きベクトルは同じ参照ピクチャへスケーリングされ、そして次に平均化される。例えば、上分割の動きベクトル及び下分割の動きベクトルをそれぞれMv1及びMv2で表す。そして、上分割の参照ピクチャ及び下分割の参照ピクチャをそれぞれRefPic1及びRefPic2で表す。RefPic1がRefPic2に等しくないとき、Mv2はRefPic1へ最初にスケーリングされる。次に、Mv1の平均動きベクトル及びスケーリングされた動きベクトルが記憶される。一実施形態では、VVC草案5における時間的動きベクトルスケーリングプロセスが、スケーリングを行うために使用され得る。
【0083】
[00100] 別の例では、2つの単方向予測動きベクトルの参照ピクチャが互いに異なるとき、2つの単方向予測動きベクトルは、それらの参照ピクチャ内の差にかかわらず平均化され記憶される。
【0084】
[00101]
図15は本開示の一部の実施形態による動きベクトル生成の別の例示的方法1500の流れ図を示す。一部の実施形態では、方法1500は、符号器(例えば
図2の符号器200)により行われ得る又は装置(例えば
図4の装置400)の1つ又は複数のソフトウェア又はハードウェア構成要素により行われ得る。例えば、プロセッサ(例えば
図4のプロセッサ402)は方法1500を行い得る。一部の実施形態では、方法1500は、コンピュータ(例えば
図4の装置400)により実行されるプログラムコードなどのコンピュータ実行可能命令を含む、コンピュータ可読媒体内に具現化されるコンピュータプログラム製品により実施され得る。
【0085】
[00102] 工程1502では、方法1500は、ブロック(又はCU)の第1の分割の第1の単方向予測動きベクトル及びブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断し得る。ブロックの第1の分割及び第2の分割は三角分割又はジオメトリック分割であり得る。
【0086】
[00103] 工程1504では、方法1500は、第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものであると判断されることに応じて、ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルの平均動きベクトルを記憶すること含み得る。
【0087】
[00104] 一部の実施形態では、方法1500は、第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものであると判断されることに応じて、第1の単方向予測動きベクトルの第1の参照ピクチャが第2の単方向予測動きベクトルの第2の参照ピクチャと同じあるかどうかを判断することを含み得る。第1の参照ピクチャが第2の参照ピクチャとは異なると判断される場合、第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルは第1の参照ピクチャへスケーリングされ、そしてスケーリングされた第1の単方向予測動きベクトル及びスケーリングされた第2の単方向予測動きベクトルの平均動きベクトルが記憶され得る。
【0088】
[00105] 一部の実施形態では、方法1500はまた、第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものではないと判断されることに応じて、双方向予測動きベクトルを形成するために第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルを組み合わせること、及びブロックの双方向予測エリア内に位置するサブブロックの双方向予測動きベクトルを記憶することを含み得る。
【0089】
[00106] 一部の実施形態では、方法1500は、ブロック(又はCU)のサブブロックが双方向予測エリア内に在るかどうかを判断することを含み得る。例えば、サブブロックはM×Nサブブロックである。三角分割モードでは、方法1500は
【数17】
が
【数18】
に等しいかどうかを判断することを含み得、ここで(x,y)はサブブロックの左上サンプルの位置を表し、(r
x,r
y)はブロックの高さに対するブロックの幅の比を表す。
【数19】
が
【数20】
に等しいと判断される場合、サブブロックは双方向予測エリア内に在る。
【数21】
が
【数22】
に等しくないと判断される場合、サブブロックは単方向予測エリア内に在る。
【0090】
[00107] 上述の一部の実施形態は互いに組み合わせて実施され得るということが理解される。以下はこのような組み合わせのいくつかの例示的実施形態である。8×8サブブロックは以下の実施形態では動きベクトル記憶の基本単位として使用されるが、M×Nサブブロックもまた使用され得るということが理解される。
【0091】
[00108] 一部の実施形態では、三角分割モード又はGPMにおいてコード化されるCUの動きベクトルは、8×8サブブロック内に記憶される。各8×8サブブロックの位置に依存して、単方向予測又は双方向予測動きベクトルのいずれかが記憶される。三角分割モードでは、例えば、左分割及び右分割の単方向予測動きベクトルをそれぞれMv1及びMv2で表す。8×8サブブロックが単方向予測エリア内に位置する場合、Mv1又はMv2のいずれかが当該8×8サブブロックに関して記憶される。そうではなく、8×8サブブロックが双方向予測エリア内に位置する場合、双方向予測動きベクトルが記憶される。双方向予測動きベクトルは以下のプロセスによりMv1及びMv2から導出される:
1.Mv1及びMv2が異なる参照ピクチャリストから(一方はL0からそして他方はL1から)のものである場合、Mv1及びMv2は双方向予測動きベクトルを形成するために単純に組み合わせられる。
2.そうではなく、Mv1とMv2が同じリストからのものである場合、単方向予測動きMv2だけが記憶される。
【0092】
[00109] 以下のプロセスは、8×8サブブロックが双方向予測エリア内に在ると考えられるかどうかを判断するために使用される:
【数23】
である場合、8×8サブブロックは双方向予測エリア内に位置する;
そうでない場合、8×8サブブロックは単方向予測エリア内に位置する、
ここで(x,y)は8×8サブブロックの左上サンプルの位置を表し、(r
x,r
y)はブロック高さに対するブロック幅の比を表す。
【0093】
[00110] 別の実施形態では、三角分割モード又はGPMにおいてコード化されるCUの動きベクトルは、8×8サブブロック内に記憶される。各8×8サブブロックの位置に依存して、単方向予測又は双方向予測動きベクトルのいずれかが記憶される。三角分割モードでは、例えば、上分割及び下分割の単方向予測動きベクトルをそれぞれMv1及びMv2で表す。8×8サブブロックが単方向予測エリア内に位置する場合、Mv1又はMv2のいずれかが当該8×8サブブロックに関して記憶される。そうではなく、8×8サブブロックが双方向予測エリア内に位置する場合、双方向予測動きベクトルが記憶される。双方向予測動きベクトルは以下のプロセスによりMv1及びMv2から導出される:
1.Mv1及びMv2が異なる参照ピクチャリストから(一方はL0からそして他方はL1から)のものである場合、Mv1及びMv2は双方向予測動きベクトルを形成するために単純に組み合わせられる。
2.そうではなく、Mv1とMv2が同じリストからのものである場合、単方向予測動きMv2だけが記憶される。
【0094】
[00111] 以下のプロセスは、8×8サブブロックが双方向予測エリア内に在ると考えられるかどうかを判断するために使用される:
【数24】
である場合、8×8サブブロックは双方向予測エリア内に位置する;
そうでない場合、8×8サブブロックは単方向予測エリア内に位置する、
ここで(x,y)は8×8サブブロックの左上サンプルの位置を表し、(r
x,r
y)はブロック高さに対するブロック幅の比を表す。
【0095】
[00112]
図16は本開示の一部の実施形態による動きフィールド記憶の別の例示的方法1600の流れ図を示す。一部の実施形態では、方法1600は、符号器(例えば
図2の符号器200)により行われ得る又は装置(例えば
図4の装置400)の1つ又は複数のソフトウェア又はハードウェア構成要素により行われ得る。例えば、プロセッサ(例えば
図4のプロセッサ402)は方法1600を行い得る。一部の実施形態では、方法1600は、コンピュータ(例えば
図4の装置400)により実行されるプログラムコードなどのコンピュータ実行可能命令を含む、コンピュータ可読媒体内に具現化されるコンピュータプログラム製品により実施され得る。
【0096】
[00113] 工程1602では、方法1600は、ブロック(又はCU)のサブブロックが双方向予測エリア内に在るかどうかを判断することを含み得る。サブブロックは、4より大きい幅、又は高さ、又は両方を有する。一部の実施形態では、サブブロックの幅及び高さの少なくとも1つは8以上である。例えば、サブブロックは、8×8サブブロック、4×8サブブロック、8×4サブブロック、16×16サブブロック又はmin(ブロックの幅,16)×min(ブロックの高さ,16)サブブロックであり得る。一部の実施形態では、サブブロックのサイズはブロックのサイズに依存し得る。
【0097】
[00114] 一部の実施形態では、サブブロックはM×Nサブブロックである。三角分割モードでは、例えば、方法1600は
【数25】
が
【数26】
に等しいかどうかを判断することを含み得、ここで(x,y)サブブロックはサブブロックの左上サンプルの位置を表し、(r
x,r
y)はブロックの高さに対するブロックの幅の比を表す。
【数27】
が
【数28】
に等しいと判断される場合、サブブロックは双方向予測エリア内に在る。
【数29】
が
【数30】
に等しくないと判断される場合、サブブロックは単方向予測エリア内に在る。
【0098】
[00115] 工程1604では、方法1600は、ブロックの第1の分割の第1の単方向予測動きベクトル及びブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断し得る。ブロックの第1の分割及び第2の分割は三角分割又はジオメトリック分割であり得る。
【0099】
[00116] 工程1606では、方法1600は、サブブロックが双方向予測エリア内に在ると判断されること及び第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものであると判断されることに応じて、サブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルのうちの1つを記憶することを含み得る。一部の実施形態では、第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルのうちの記憶された1つは、上分割からの動きベクトル、下分割からの動きベクトル、左分割からの動きベクトル、右分割からの動きベクトル、現ブロックの現ピクチャに対して参照ピクチャがより近い動きベクトル、参照ピクチャがより高い品質を有する動きベクトル、より小さな動き量を有する動きベクトルなどであり得る。
【0100】
[00117] 一部の実施形態では、方法1600は、サブブロックが双方向予測エリア内に在ると判断されること及び第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものでないと判断されることに応じて、双方向予測動きベクトルを形成するために第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルを組み合わせること及びサブブロックの双方向予測動きベクトルを記憶することを含み得る。
【0101】
[00118] 一部の実施形態では、方法1600は、ブロックを複数のサブブロックへ分割することを含み得る。
【0102】
[00119] 本開示方法(例えば
図12の方法1200、
図14の方法1400、
図15の方法1500及び
図16の方法1600)は、三角分割に限定されなくジオメトリック分割へ適用され得るということが理解される。ジオメトリック分割では、ブロックは2つの幾何学形状分割に分割され得る。
図17は本開示の一部の実施形態によるジオメトリック分割のいくつかの例を示す概略図である。
【0103】
[00120] 各ジオメトリック分割は、それ自身の単方向予測動きベクトルを使用することによりインタ予測され得る。各分割の単方向予測動きベクトルは、拡張マージ予測のために構築されたマージ候補リストから直接導出され得、リスト内の所与マージ候補からの単方向予測動きベクトルの選択は以下に説明される手順に従い得る。
【0104】
[00121] ジオメトリック分割モードが現CUに使用される場合、ジオメトリック分割の分割モードを指示するジオメトリック分割インデックス(角度及びオフセット)と2つのマージインデックス(分割ごとに1つ)とが、以下の表1(イタリック体で強調)に示すように更に信号化される:
【0105】
【0106】
[00122] ジオメトリック分割の部分のそれぞれを予測した後、ジオメトリック分割縁に沿ったサンプル値が適応重み付けによる混合プロセスを使用して調整される。これはCU全体の予測信号であり、そして変換及び量子化プロセスは他の予測モードにおけるようにCU全体へ適用され得る。最後に、ジオメトリック分割モードを使用することにより予測されるCUの動きフィールドは4×4サブブロック内に記憶され得る。
【0107】
[00123] マージ候補インデックスを所与として、単方向予測動きベクトルは、拡張マージ予測のために構築されたマージ候補リストから導出される。
図6は本開示の一部の実施形態によるジオメトリック分割の例示的単方向予測動きベクトル選択600を示す。リスト内の候補に関して、マージ候補インデックス値のパリティに等しいXを有するLX動きベクトルは、ジオメトリック分割の単方向予測動きベクトルとして使用される。これらの動きベクトルは、
図6では“×”によりマーキングされる。対応するLX動きベクトルが存在しない場合、拡張マージ予測候補リスト内の同じ候補のL(1-X)動きベクトルがジオメトリック分割の単方向予測動きベクトルとして使用される。
【0108】
[00124] それ自身の動きを使用することにより各ジオメトリック分割を予測した後、混合が、分割縁周囲のサンプルを導出するために2つの予測信号へ適用される。以下の重み付けが混合プロセスおいて使用される:{7/8,6/8,5/8,4/8,3/8,2/8,1/8}。各サンプルの重み付けは以下に説明される。
【0109】
[00125] ブロックの各位置の混合重み付けは、個々の位置と分割縁との距離に基づき導出される。分割縁に対する位置(x,y)の距離は次のように導出される。
【数31】
ここで、i,jは、信号化されたジオメトリック分割インデックス(例えばmerge_gpm_partition_idx[x0][y0])に依存するジオメトリック分割の角度及びオフセットのインデックスである。インデックスi,jは以下の表2を使用して導出される:
【0110】
【0111】
[00126] ρ
x,j、ρ
y,jの符号は角度インデックスiに依存する。変数(w,h)はブロックの幅、高さを表す。ジオメトリック分割の各部分の重み付けは以下のように導出される:
【数32】
ここで、重み付けw
0(x,y)は、merge_gpm_idx0[x0][y0]を使用して導出される第1の動きベクトルにより予測されるサンプルへ適用される重み付けであり、重み付けw
1(x,y)は、merge_gpm_idx1[x0][y0]を使用して導出される第2の動きベクトルにより予測されるサンプルへ適用される重み付けである。
【0112】
[00127] ジオメトリック分割においてコード化されるブロックの動きベクトルは4×4サブブロック内に記憶される。各4×4サブブロックの位置に依存して、単方向予測又は双方向予測動きベクトルのいずれかが記憶される。分割1及び分割2の単方向予測動きベクトルをそれぞれMv1及びMv2で表す。Mv1は、第1の信号化されたマージインデックス(例えばmerge_gpm_idx0[x0][y0])を使用することにより、
図6に示す拡張マージ候補リストから導出される。同様に、Mv2は、第2の信号化されたマージインデックス(例えばmerge_gpm_idx1[x0][y0])を使用することにより、拡張マージ候補リストから導出される。4×4サブブロックが単方向予測エリア内に位置する場合、Mv1又はMv2のいずれかが当該4×4サブブロックに関し記憶される。そうではなく、4×4サブブロックが双方向予測エリア内に位置する場合、双方向予測動きベクトルが記憶される。双方向予測動きベクトルは以下のプロセスによりMv1及びMv2から導出される:
1.Mv1及びMv2が異なる参照ピクチャリストから(例えば、一方はL0からそして他方はL1から)のものである場合、Mv1及びMv2は双方向予測動きベクトルを形成するために単純に組み合わせられる;
2.そうでない場合、2つの動きベクトルのうちの1つが記憶される。
【0113】
[00128] 一例では、2つの動きベクトルのうちの1つはMv1である。別の例では、2つの動きベクトルのうちの1つはMv2である。
【0114】
[00129] 4×4サブブロックが双方向予測エリアに位置するかどうかを判断するために、(4x+2,4y+2)に位置するルマサンプルの重み付けが使用される、ここで(x,y)は
図18に示すようにブロック内のサブブロック位置を表す。
【0115】
[00130] 重み付けの絶対値が閾値未満である場合、4×4サブブロックは双方向予測エリアとして処理される。そうでない場合、4×4サブブロックは単方向予測エリアとして処理される。次式は各4×4サブブロックに関し使用され得る:
sType=abs(motionIdx)<32?2:(motionIdx≦0?(1-partldx):partldx) 式5
ここで、motionIdxはd(4x+2,4y+2)に等しい。sTypeが2に等しい場合、双方向予測動きベクトルは4×4サブブロックへ記憶され得る。
【0116】
[00131] 一部の実施形態では、命令を含む非一時的コンピュータ可読記憶媒体も提供され、命令は、上記の方法を実行するための装置(開示した符号器及び復号器等)によって実行され得る。一般的な非一時的媒体は、例えばフロッピディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ若しくは他の任意の磁気データ記憶媒体、CD-ROM、他の任意の光学データ記憶媒体、孔のパターンを有する任意の物理媒体、RAM、PROM、及びEPROM、フラッシュEPROM若しくは他の任意のフラッシュメモリ、NVRAM、キャッシュ、レジスタ、他の任意のメモリチップ若しくはカートリッジ、及びそれらのもののネットワーク化されたバージョンを含む。装置は、1つ又は複数のプロセッサ(CPU)、入力/出力インタフェース、ネットワークインタフェース、及び/又はメモリを含み得る。
【0117】
[00132] 実施形態は以下の条項を使用して更に記載され得る:
1.以下のことを含むコンピュータ実施(computer-implemented)方法:
ブロックの第1の分割の第1の単方向予測動きベクトル及びブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断すること;及び
第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものであると判断されることに応じて、ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルのうちの1つをブロックの動きフィールド内に記憶すること。
【0118】
2.以下のことを更に含む条項1に記載の方法:
第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものではないと判断されることに応じて、
双方向予測動きベクトルを形成するために第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルを組み合わせること;及び
ブロックの双方向予測エリア内に位置するサブブロックの双方向予測動きベクトルをブロックの動きフィールド内に記憶すること。
【0119】
3.第1の分割及び第2の分割は、2つのジオメトリック分割又は2つの三角分割である条項1又は条項2の方法。
【0120】
4.第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルのうちの記憶された1つは、以下のうちの1つである条項1乃至3のいずれか一項に記載の方法:ブロックの上分割からの動きベクトル、ブロックの下分割からの動きベクトル、ブロックの左分割からの動きベクトル、ブロックの右分割からの動きベクトル、標的ブロックに対応する標的ピクチャに対して参照ピクチャがより近い動きベクトル、参照ピクチャがより高い品質を有する動きベクトル、及びより小さな動き量を有する動きベクトル。
【0121】
5.第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルのうちの記憶された1つは、第2の単方向予測動きベクトルである条項1乃至4のいずれか一項に記載の方法。
【0122】
6.サブブロックはM×Nピクセルを含み、M及びNの少なくとも1つは4より大きい条項1乃至5のいずれか一項に記載の方法。
【0123】
7.サブブロックはM×Nピクセルサンプルを含み、M及びNの少なくとも1つは8以上である条項1乃至6のいずれか一項に記載の方法。
【0124】
8.ブロックのサブブロックが双方向予測エリア内に在るかどうかを判断することを更に含む条項1乃至7のいずれか一項に記載の方法。
【0125】
9.サブブロックはM×Nサブブロックである条項8に記載の方法であって、サブブロックが双方向予測エリア内に在るかどうかを判断することは:
【数33】
が
【数34】
に等しいかどうかを判断すること、ここで(x,y)はサブブロックの左上ピクセルサンプルの位置を表し、(r
x,r
y)はブロックの高さに対するブロックの幅の比を表す;及び
【数35】
が
【数36】
に等しいと判断されることに応じて、サブブロックが双方向予測エリア内に在ると判断することを含む、方法。
【0126】
10.ブロックをそれぞれが8×8サブブロック、4×8サブブロック、8×4サブブロック、16×16サブブロック、及びmin(ブロックの幅,16)×min(ブロックの高さ,16)サブブロックのうちの1つである複数のサブブロックへ分割することを更に含む条項1乃至9のいずれか一項に記載の方法。
【0127】
11.命令を記憶するように構成されたメモリ;及びメモリへ結合されたプロセッサを含む装置であって、プロセッサは装置に:
ブロックの第1の分割の第1の単方向予測動きベクトル及びブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断すること;及び
第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものであると判断されることに応じて、ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルのうちの1つをブロックの動きフィールド内に記憶すること、をさせるための命令を実行するように構成される、装置。
【0128】
12.プロセッサは更に装置に:
第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものではないと判断されることに応じて、
双方向予測動きベクトルを形成するために第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルを組み合わせること;及び
ブロックの双方向予測エリア内に位置するサブブロックの双方向予測動きベクトルをブロックの動きフィールド内に記憶することをさせるための命令を実行するように構成される、条項11に記載の装置。
【0129】
13.第1の分割及び第2の分割は2つのジオメトリック分割又は2つの三角分割である、条項11又は条項12に記載の装置。
【0130】
14.第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルの記憶された1つはブロックの上分割からの動きベクトル、ブロックの下分割からの動きベクトル、ブロックの左分割からの動きベクトル、ブロックの右分割からの動きベクトル、その参照ピクチャが、標的ブロックに対応する標的ピクチャにより近い動きベクトル、その参照ピクチャがより高い品質を有する動きベクトル、及びより小さな動き量を有する動きベクトルのうちの1つである条項11乃至13のいずれか一項に記載の装置。
【0131】
15.サブブロックはM×Nピクセルを含み、M及びNの少なくとも1つは4より大きい条項11乃至14のいずれか一項に記載の装置。
【0132】
16.サブブロックはM×Nピクセルサンプルを含み、M及びNの少なくとも1つは8以上である条項11乃至15のいずれか一項に記載の装置。
【0133】
17.プロセッサは更に、ブロックのサブブロックが双方向予測エリア内に在るかどうかを判断することを装置にさせるための命令を実行するように構成される条項11乃至16のいずれか一項に記載の装置。
【0134】
18.サブブロックはM×Nサブブロックである条項17の装置であって、プロセッサは更に装置に:
【数37】
が
【数38】
に等しいかどうかを判断すること、ここで(x,y)はサブブロックの左上ピクセルサンプルの位置を表し、(r
x,r
y)はブロックの高さに対するブロックの幅の比を表す;及び
【数39】
が
【数40】
に等しいと判断されることに応じて、サブブロックが双方向予測エリア内に在ると判断することをさせるための命令を実行するように構成される、装置。
【0135】
19.条項11乃至18のいずれか一項に記載の装置であって、プロセッサは、装置に:
ブロックを複数のサブブロックへ分割することを行わせるように、命令を実行するように構成され、複数のサブブロックのぞれぞれは、8×8サブブロック、4×8サブブロック、8×4サブブロック、16×16サブブロック、及びmin(ブロックの幅,16)×min(ブロックの高さ,16)サブブロックのうちの1つである、装置。
【0136】
20.一組の命令を記憶する非一時的コンピュータ可読記憶媒体であって、一組の命令は装置の1つ又は複数のプロセッサにより実行可能であり、一組の命令の実行は、装置に:
ブロックの第1の分割の第1の単方向予測動きベクトル及びブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断すること;及び
第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものであると判断されることに応じて、ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルのうちの1つをブロックの動きフィールド内に記憶することを行わせる、非一時的コンピュータ可読記憶媒体。
【0137】
21.一組の命令の実行は、装置に、第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものではないと判断されることに応じて、
双方向予測動きベクトルを形成するために第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルを組み合わせること;及び
ブロックの双方向予測エリア内に位置するサブブロックの双方向予測動きベクトルをブロックの動きフィールド内に記憶することを更に行わせる、条項20の非一時的コンピュータ可読記憶媒体。
【0138】
22.第1の分割及び第2の分割は、2つのジオメトリック分割又は2つの三角分割である条項20又は条項21に記載の非一時的コンピュータ可読記憶媒体。
【0139】
23.第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルのうちの記憶された1つは、ブロックの上分割からの動きベクトル、ブロックの下分割からの動きベクトル、ブロックの左分割からの動きベクトル、ブロックの右分割からの動きベクトル、標的ブロックに対応する標的ピクチャに対して参照ピクチャがより近い動きベクトル、参照ピクチャがより高い品質を有する動きベクトル、及びより小さな動き量を有する動きベクトルのうちの1つである条項20乃至22のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【0140】
24.サブブロックはM×Nピクセルを含み、M及びNの少なくとも1つは4より大きい条項20乃至23のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【0141】
25.サブブロックはM×Nピクセルサンプルを含み、M及びNの少なくとも1つは8以上である条項20乃至24のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【0142】
26.一組の命令の実行は、装置に、ブロックのサブブロックが双方向予測エリア内に在るかどうかを判断することを更に行わせる条項20乃至25のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【0143】
27.サブブロックはM×Nサブブロックであり、サブブロックが双方向予測エリア内に在るかどうかを判断することは:
【数41】
が
【数42】
に等しいかどうかを判断すること、ここで(x,y)はサブブロックの左上ピクセルサンプルの位置を表し、(r
x,r
y)はブロックの高さに対するブロックの幅の比を表す;及び
【数43】
が
【数44】
に等しいと判断されることに応じて、サブブロックが双方向予測エリア内に在ると判断することを含む、条項26に記載の非一時的コンピュータ可読記憶媒体。
【0144】
28.一組の命令の実行は、装置に、ブロックを複数のサブブロックへ分割することを更に行わせ、複数のサブブロックのそれぞれは、8×8サブブロック、4×8サブブロック、8×4サブブロック、16×16サブブロック、及びmin(ブロックの幅,16)×min(ブロックの高さ,16)サブブロックのうちの1つである条項20乃至27のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【0145】
29.幅及び高さの少なくとも1つが4より大きいサブブロックが、ブロックの双方向予測エリア内に在るかどうかを判断すること;及びサブブロックが双方向予測エリア内に在ると判断されることに応じて、サブブロックの双方向予測動きベクトルをブロックの動きフィールド内に記憶することを含むコンピュータ実施方法。
【0146】
30.サブブロックの幅及び高さの少なくとも1つは8以上である条項29に記載の方法。
【0147】
31.サブブロックが双方向予測エリア内にないと判断されることに応じて、サブブロックの単方向予測動きベクトルをブロックの動きフィールド内に記憶することを更に含む条項29又は条項30の方法。
【0148】
32.サブブロックはM×Nサブブロックであり、サブブロックが双方向予測エリア内に在るかどうかを判断することは:
【数45】
が
【数46】
に等しいかどうかを判断すること、ここで(x,y)はサブブロックの左上サンプルの位置を表し、(r
x,r
y)はブロックの高さに対するブロックの幅の比を表す;及び
【数47】
が
【数48】
に等しいと判断されることに応じて、サブブロックが双方向予測エリア内に在ると判断することを含む、条項29乃至31のいずれか一項に記載の方法。
【0149】
33.
【数49】
が
【数50】
に等しくないと判断されることに応じて、サブブロックが単方向予測エリア内に在ると判断することを更に含む条項32に記載の方法。
【0150】
34.ブロックを複数のサブブロックへ分割することを更に含み、複数のサブブロックのそれぞれは、8×8サブブロック、4×8サブブロック、8×4サブブロック、16×16サブブロック、及びmin(ブロックの幅,16)×min(ブロックの高さ,16)サブブロックのうちの1つである条項29乃至33のいずれか一項に記載の方法。
【0151】
35.サブブロックのサイズはブロックのサイズに依存する条項29乃至34のいずれか一項に記載の方法。
【0152】
36.サブブロック及びブロックが同じサイズを有することに応じて、双方向予測動きベクトルが単方向予測動きベクトルと同じであると判断することを更に含む条項35に記載の方法。
【0153】
37.命令を記憶するように構成されたメモリ;及びメモリへ結合されたプロセッサを含む装置であって、プロセッサは、装置に:
幅及び高さの少なくとも1つが4より大きいサブブロックがブロックの双方向予測エリア内に在るかどうかを判断すること;及び
サブブロックが双方向予測エリア内に在ると判断されることに応じて、サブブロックの双方向予測動きベクトルをブロックの動きフィールド内に記憶することを行わせるように、命令を実行するように構成される、装置。
【0154】
38.サブブロックの幅及び高さの少なくとも1つは8以上である条項37に記載の装置。
【0155】
39.プロセッサは、装置に、サブブロックが双方向予測エリア内にないと判断されることに応じて、サブブロックの単方向予測動きベクトルをブロックの動きフィールド内に記憶することを行わせるように、命令を実行するように構成される、条項37又は条項38に記載の装置。
【0156】
40.サブブロックはM×Nサブブロックであり、プロセッサは更に、装置に:
【数51】
が
【数52】
に等しいかどうかを判断すること、ここで(x,y)はサブブロックの左上サンプルの位置を表し、(r
x,r
y)はブロックの高さに対するブロックの幅の比を表す;及び
【数53】
が
【数54】
に等しいと判断されることに応じて、サブブロックが双方向予測エリア内に在ると判断することを行わせるように、命令を実行するように構成される、条項37乃至39のいずれか一項に記載の装置。
【0157】
41.プロセッサは更に、装置に:
【数55】
が
【数56】
に等しくないと判断されることに応じて、サブブロックが単方向予測エリア内に在ると判断することを行わせるように、命令を実行するように構成される、条項40に記載の装置。
【0158】
42.プロセッサは更に、装置に、ブロックを複数のサブブロックへ分割することを行わせるように、命令を実行するように構成され、複数のサブブロックのそれぞれは、8×8サブブロック、4×8サブブロック、8×4サブブロック、16×16サブブロック、及びmin(ブロックの幅,16)×min(ブロックの高さ,16)サブブロックのうちの1つである条項37乃至41に記載の装置。
【0159】
43.サブブロックのサイズはブロックのサイズに依存する条項37乃至42に記載の装置。
【0160】
44.プロセッサは更に、装置に、サブブロック及びブロックが同じサイズを有することに応じて、双方向予測動きベクトルが単方向予測動きベクトルと同じであると判断することを行わせるように、命令を実行するように構成される条項43に記載の装置。
【0161】
45.一組の命令を記憶する非一時的コンピュータ可読記憶媒体であって、一組の命令は、装置の1つ又は複数のプロセッサにより実行可能であり、一組の命令の実行は、装置に:
幅及び高さの少なくとも1つが4より大きいサブブロックがブロックの双方向予測エリア内に在るかどうかを判断すること;及び
サブブロックが双方向予測エリア内に在ると判断されることに応じて、サブブロックの双方向予測動きベクトルをブロックの動きフィールド内に記憶することを含む方法を行わせる、非一時的コンピュータ可読記憶媒体。
【0162】
46.サブブロックの幅及び高さの少なくとも1つは8以上である条項45に記載の非一時的コンピュータ可読記憶媒体。
【0163】
47.一組の命令の実行は、装置に、サブブロックが双方向予測エリア内にないと判断されることに応じて、サブブロックの単方向予測動きベクトルをブロックの動きフィールド内に記憶することを更に行わせる条項45又は条項46に記載の非一時的コンピュータ可読記憶媒体。
【0164】
48.サブブロックはM×Nサブブロックであり、サブブロックが双方向予測エリア内に在るかどうかを判断することは:
【数57】
が
【数58】
に等しいかどうかを判断すること、ここで(x,y)はサブブロックの左上サンプルの位置を表し、(r
x,r
y)はブロックの高さに対するブロックの幅の比を表す;及び
【数59】
が
【数60】
に等しいと判断されることに応じて、サブブロックが双方向予測エリア内に在ると判断することを含む、条項45乃至47のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【0165】
49.一組の命令の実行は、装置に:
【数61】
が
【数62】
に等しくないと判断されることに応じて、サブブロックが単方向予測エリア内に在ると判断することを更に行わせる条項48に記載の非一時的コンピュータ可読記憶媒体。
【0166】
50.一組の命令の実行は、装置に、ブロックを複数のサブブロックへ分割することを更に行わせ、複数のサブブロックのそれぞれは、8×8サブブロック、4×8サブブロック、8×4サブブロック、16×16サブブロック、及びmin(ブロックの幅,16)×min(ブロックの高さ,16)サブブロックのうちの1つであるる条項45乃至49に記載の非一時的コンピュータ可読記憶媒体。
【0167】
51.サブブロックのサイズはブロックのサイズに依存する条項45乃至50に記載の非一時的コンピュータ可読記憶媒体。
【0168】
52.一組の命令の実行は、装置に、サブブロック及びブロックが同じサイズを有することに応じて、双方向予測動きベクトルが単方向予測動きベクトルと同じであると判断することを更に行わせる条項51の非一時的コンピュータ可読記憶媒体。
【0169】
53.ブロックの第1の分割の第1の単方向予測動きベクトル及びブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断すること;及び
第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものであると判断されることに応じて、ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルの平均動きベクトルをブロックの動きフィールド内に記憶すること含むコンピュータ実施方法。
【0170】
54.第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものではないと判断されることに応じて、
双方向予測動きベクトルを形成するために第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルを組み合わせること;及び
ブロックの双方向予測エリア内に位置するサブブロックの双方向予測動きベクトルをブロックの動きフィールド内に記憶することを更に含む条項53に記載の方法。
【0171】
55.ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルの平均動きベクトルをブロックの動きフィールド内に記憶することは、
第1の単方向予測動きベクトルの第1の参照ピクチャが第2の単方向予測動きベクトルの第2の参照ピクチャと同じあるかどうかを判断すること、
第1の参照ピクチャが第2の参照ピクチャとは異なると判断されることに応じて、
第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルを第1の参照ピクチャに対しスケーリングすること;及び
スケーリングされた第1の単方向予測動きベクトル及びスケーリングされた第2の単方向予測動きベクトルの平均動きベクトルをブロックの動きフィールド内に記憶することを含む、条項53に記載の方法。
【0172】
56.第1の分割及び第2の分割は、2つのジオメトリック分割又は2つの三角分割である条項53乃至55のいずれか一項に記載の方法。
【0173】
57.命令を記憶するように構成されたメモリ及びメモリへ結合されたプロセッサを含む装置であって、プロセッサは、装置に:
ブロックの第1の分割の第1の単方向予測動きベクトル及びブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断すること;及び
第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものであると判断されることに応じて、ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルの平均動きベクトルをブロックの動きフィールド内に記憶することを行わせるように、命令を実行するように構成される、装置。
【0174】
58.プロセッサは更に、装置に:
第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものではないと判断されることに応じて、
双方向予測動きベクトルを形成するために第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルを組み合わせること;及び
ブロックの双方向予測エリア内に位置するサブブロックの双方向予測動きベクトルをブロックの動きフィールド内に記憶することを行わせるように、命令を実行するように構成される、条項57に記載の装置。
【0175】
59.ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルの平均動きベクトルをブロックの動きフィールド内に記憶することは、
第1の単方向予測動きベクトルの第1の参照ピクチャが第2の単方向予測動きベクトルの第2の参照ピクチャと同じあるかどうかを判断すること;
第1の参照ピクチャが第2の参照ピクチャとは異なると判断されることに応じて、
第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルを第1の参照ピクチャに対しスケーリングすること;及び
スケーリングされた第1の単方向予測動きベクトル及びスケーリングされた第2の単方向予測動きベクトルの平均動きベクトルをブロックの動きフィールド内に記憶することを含む、条項57に記載の装置。
【0176】
60.第1の分割及び第2の分割は、2つのジオメトリック分割又は2つの三角分割である条項57乃至59のいずれか一項に記載の装置。
【0177】
61.一組の命令を記憶する非一時的コンピュータ可読記憶媒体であって、一組の命令は、装置の1つ又は複数のプロセッサにより実行可能であり、一組の命令の実行は、装置に:
ブロックの第1の分割の第1の単方向予測動きベクトル及びブロックの第2の分割の第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものかどうかを判断すること;及び
第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものであると判断されることに応じて、ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルの平均動きベクトルをブロックの動きフィールド内に記憶することを含む方法を行わせる、非一時的コンピュータ可読記憶媒体。
【0178】
62.一組の命令の実行は、装置に:
第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルが同じ参照ピクチャリストからのものではないと判断されることに応じて、
双方向予測動きベクトルを形成するために第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルを組み合わせること;及び
ブロックの双方向予測エリア内に位置するサブブロックの双方向予測動きベクトルをブロックの動きフィールド内に記憶することを更に行わせる条項61に記載の非一時的コンピュータ可読記憶媒体。
【0179】
63.ブロックの双方向予測エリア内に位置するサブブロックの第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルの平均動きベクトルをブロックの動きフィールド内に記憶することは、
第1の単方向予測動きベクトルの第1の参照ピクチャが第2の単方向予測動きベクトルの第2の参照ピクチャと同じあるかどうかを判断すること;
第1の参照ピクチャが第2の参照ピクチャとは異なると判断されることに応じて、
第1の単方向予測動きベクトル及び第2の単方向予測動きベクトルを第1の参照ピクチャに対しスケーリングすること;及び
スケーリングされた第1の単方向予測動きベクトル及びスケーリングされた第2の単方向予測動きベクトルの平均動きベクトルをブロックの動きフィールド内に記憶することを含む、条項61に記載の非一時的コンピュータ可読記憶媒体。
【0180】
64.第1の分割及び第2の分割は、2つのジオメトリック分割又は2つの三角分割である条項61乃至63のいずれか一項に記載の装置。
【0181】
[00133] 本明細書の「第1の」及び「第2の」等の関係語は或るエンティティ又は操作を別のエンティティ又は操作と区別するために使用するに過ぎず、それらのエンティティ又は操作間の如何なる実際の関係又は順序も必要とせず又は含意しないことに留意すべきである。更に、「comprising(含む)」、「having(有する)」、「containing(含む)」、及び「including(含む)」並びに他の同様の形式の言葉は意味の点で等価であることを意図し、これらの言葉のいずれか1つの後に続くアイテムがかかるアイテムの網羅的列挙であることを意図しておらず、又は列挙するアイテムだけに限定されることを意図していない点で非限定的であることを意図する。
【0182】
[00134] 本明細書で使用されるように、特記しない限り、用語「又は」は実現不能である場合を除いて全ての可能な組み合わせを包含する。例えば、データベースがA又はBを含み得るということが言明されれば、特記しない限り又は実行不能でない限り、データベースはA、又はB、又はA及びBを含み得る。第2の例として、データベースがA、B又はCを含み得るということが言明されれば、特記しない限り又は実現不能でない限り、データベースはA、又はB、又はC、又はA及びB、又はA及びC、又はB及びC、又はA及びB及びCを含み得る。
【0183】
[00135] 上記実施形態がハードウェア、ソフトウェア(プログラムコード)、又はハードウェアとソフトウェアの組み合わせにより実施され得るというが理解される。ソフトウェアにより実施されれば、それは上記コンピュータ可読媒体内に記憶され得る。ソフトウェアはプロセッサにより実行されると開示方法を行い得る。本開示に記載した計算ユニット及び他の機能ユニットは、ハードウェア、又はソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって実装され得る。当業者は、上記モジュール/ユニットのうちの複数のものは1つのモジュール/ユニットとして組み合わせられ得、そして上記モジュール/ユニットのそれぞれは更に複数の副モジュール/副ユニットに分割され得るということも理解することになる。
【0184】
[00136] 上記の明細書では、実装形態ごとに変わり得る多数の具体的詳細に関して実施形態を説明してきた。記載した実施形態の一定の適応及び修正を加えることができる。本明細書を検討し、本明細書で開示した本発明を実践することで他の実施形態が当業者に明らかになり得る。本明細書及び例は専ら例として検討され、本発明の真の範囲及び趣旨は添付の特許請求の範囲によって示すことを意図する。図中に示すステップの順序は例示目的に過ぎず、或る特定のステップの順序に限定されることは意図しない。そのため、それらのステップは同じ方法を実装しながら異なる順序で実行できることを当業者なら理解することができる。
【0185】
[00137] 本添付図面と明細書では、例示的実施形態が開示された。しかし、多くの変形及び修正がこれらの実施形態に対してなされ得る。したがって、特定用語が採用されるが、これらは、一般的及び記述的意味においてだけ使用されており、制限の目的のためには使用されない。
【国際調査報告】