(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-27
(45)【発行日】2022-06-06
(54)【発明の名称】サブブロックの動きベクトル予測の方法、並びにその装置及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/52 20140101AFI20220530BHJP
【FI】
H04N19/52
(21)【出願番号】P 2021502740
(86)(22)【出願日】2019-04-04
(86)【国際出願番号】 US2019025758
(87)【国際公開番号】W WO2019199563
(87)【国際公開日】2019-10-17
【審査請求日】2020-09-30
(32)【優先日】2018-04-09
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-03-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】シャン・リ
(72)【発明者】
【氏名】シャン・リュウ
【審査官】鉢呂 健
(56)【参考文献】
【文献】中国特許出願公開第106454378(CN,A)
【文献】ZHANG, Na et al.,Planar Motion Vector Prediction,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: San Diego, US, 10-20 Apr. 2018, [JVET-J0061-v2],JVET-J0061 (version 2),ITU-T,2018年04月03日,JVET-J0061-v2.zip: JVET-J0061_v2.docx: pp. 1-4
【文献】ZHOU, Minhua,Non-CE9: Modified H positions for memory bandwidth reduction in TMVP derivation,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 7th Meeting: Geneva, CH, 19-30 November, 2011, [JCTVC-G082],JCTVC-G082 (version 2),ITU-T,2011年12月29日,JCTVC-G082-v2.zip: JCTVC-G082_r2.doc: pp. 1-12
【文献】IWAMURA, Shunsuke et al.,Description of SDR and HDR video coding technology proposal by NHK and SHARP,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: San Diego, US, 10-20 Apr. 2018, [JVET-J0027],JVET-J0027 (version 1),ITU-T,2018年04月02日,JVET-J0027-v1.zip: JVET-J0027_NHKandSHARP_v1.docx: pp. 4-5
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
デコーダが実行する方法であって、
符号化されたビデオシーケンスの一部である現在の符号化ピクチャ内の現在ブロックの予測情報をデコードするステップであって、前記予測情報は、前記現在ブロックに平面動きベクトル予測モードが使用されるか否かを示すものであり、
前記予測情報において、前記現在ブロックの参照ピクチャがシグナリングされ、前記現在ブロックは複数のサブブロックに分割される、ステップと、
前記予測情報に前記平面動きベクトル予測モードが使用されることが示されている場合、前記平面動きベクトル予測モードの使用に応じて、前記現在ブロックの右下(BR)隅の少なくとも1つの時間的動きベクトル予測子(TMVP)候補を決定するステップ
であって、前記BR隅の前記少なくとも1つのTMVP候補は、前記参照ピクチャ内のコロケートブロックに基づいて決定されるTMVP候補を含み、前記参照ピクチャ内の前記コロケートブロックは、前記現在の符号化ピクチャ内の前記BR隅にあるサブブロックと同じ位置にある、ステップと、
前記BR隅にあるサブブロックの動きベクトルを、前記コロケートブロックに基づいて決定されるTMVP候補を使用して予測するステップと、
前記BR隅の前記少なくとも1つのTMVP候補は、前記現在ブロックのBL隣接サブブロックと前記現在ブロックのAR隣接サブブロックとの動きベクトルの加重平均であるTMVP候補を含み、前記予測情報は、
前記BR隅の動きベクトル差分(MVD)を含み、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つおよび前記BR隅の前記MVDに基づいて、前記BR隅の最終的な動きベクトルを決定するステップと、
前記BR隅の最終的な動きベクトルに従って、
前記現在ブロック内の各サブブロックの動きベクトル予測子を導出するステップと、
前記現在ブロック内のそれぞれの前記サブブロックの前記動きベクトル予測子に従って前記現在ブロックを再構築するステップと、
を含むデコーダにおけるビデオデコード方法。
【請求項2】
前記BR隅の前記少なくとも1つのTMVP候補のうちの1つの参照ピクチャが前記現在ブロックの前記参照ピクチャと異なる場合、
前記BR隅の前記少なくとも1つのTMVP候補のうちの1つを前記現在ブロックの前記参照ピクチャにスケーリングするステップであって、前記現在ブロックは、前記BR隅の前記少なくとも1つのTMVP候補のうちのスケーリングされた候補に従って再構築される、ステップをさらに含む、請求項
1に記載の方法。
【請求項3】
前記BR隅にある前記サブブロックは、前記現在ブロックの外側に位置する、請求項
1に記載の方法。
【請求項4】
前記BR隅にある前記サブブロックは、前記現在ブロックの内側にある、請求項
1に記載の方法。
【請求項5】
前記BR隅の前記少なくとも1つのTMVP候補は、
前記現在ブロックの内側に位置し、かつ前記BR隅に隣接する第1のサブブロック、および、前記現在ブロックの内側に位置し、かつ前記現在ブロックの中心に隣接する第2のサブブロックのうちの一方のTMVP候補、
前記現在ブロックの左下(BL)隣接サブブロックのTMVP候補、および、
前記現在ブロックの右上(AR)隣接サブブロックのTMVP候補、
のうちの少なくとも1つを含む、請求項
1に記載の方法。
【請求項6】
前記少なくとも1つのTMVP候補のうちの1つを識別する、受信インデックス、
所定の候補順序、および、
事前に選択されたTMVP候補、
のうちの少なくとも1つに基づいて、候補リストから前記少なくとも1つのTMVP候補のうちの1つを選択するステップをさらに含む、請求項
1に記載の方法。
【請求項7】
受信インデックス、および、所定の候補順序に基づいて、候補リストから前記少なくとも1つのTMVP候補のうちの1つを選択するステップであって、前記受信インデックスは、前記少なくとも1つのTMVP候補のうちの1つを識別するためのものである、ステップをさらに含む、
請求項
1に記載の方法。
【請求項8】
処理回路を備える装置であって、
前記処理回路は、請求項1~
7のいずれか一項に記載の、デコーダにおけるビデオデコード方法を実行するように構成される装置。
【請求項9】
コンピュータに、請求項1~
7のいずれか一項に記載の、デコーダにおけるビデオデコード方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[参照による援用]
本開示は、2018年4月9日に出願された米国仮出願第62/655,065号の「サブブロック動きベクトル予測のための方法」および2019年3月22日に出願された米国正式出願第16/362,596号の「サブブロック動きベクトル予測のための方法および装置」の優先権を主張し、その内容を全て参照により本明細書に組み込むものとする。
【0002】
[技術分野]
本開示は、一般にビデオ符号化に関する実施形態を説明する。
【背景技術】
【0003】
本明細書で提供される「背景技術」の説明は、本開示の内容を大まかに示すことを目的とする。ここに名を挙げられている発明者の業績は、この背景技術に記載された範囲において、出願時に従来技術として通常見なされえない記載の態様と共に、明示的にも黙示的にも本開示に対する従来技術として認められない。
【0004】
ビデオ符号化および復号は、動き補償を伴うイントラピクチャ予測を使用して実行されることができる。非圧縮デジタルビデオは一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080輝度サンプルと関連する彩度サンプルの空間次元を持っている。該一連のピクチャは、例えば毎秒60ピクチャまたは60Hzの固定または可変ピクチャレート(非公式には「フレームレート」とも呼ばれる)を持つことができる。非圧縮ビデオには、顕著なビットレート要件がある。例えば、サンプルあたり8ビットでの1080p60 4:2:0ビデオ(60Hzフレームレートでの1920×1080輝度サンプル解像度)には、1.5Gbit/sに近い帯域幅が必要となる。このようなビデオを1時間使用するには、600GBytesを超えた記憶空間が必要である。
【0005】
ビデオ符号化および復号の1つの目的は、圧縮によって入力ビデオ信号の冗長性を減らすことであり得る。圧縮は、前述の帯域幅または記憶空間の要件を、場合によっては2桁以上削減するのに役立つ。可逆圧縮と非可逆圧縮の両方、およびそれらの組み合わせを使用することができる。可逆圧縮とは、圧縮された元の信号から元の信号の正確なコピーを再構築できる技法を指す。非可逆圧縮を使用する場合、再構築された信号は元の信号と同一ではない可能性があるが、元の信号と再構築された信号の間の歪みは、再構築された信号を意図されたアプリケーションに役立てる程度に小さい。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量はアプリケーションによって異なる。例えば、特定のコンシューマストリーミングアプリケーションのユーザは、テレビ発行アプリケーションのユーザよりも高い歪みを許容できる。達成可能な圧縮率は、受け入れ可能/許容可能な歪みが大きいほど、圧縮率が高くなることを反映することができる。
【0006】
動き補償は、非可逆圧縮技術であり得、予め再構築されたピクチャまたはその一部(参照ピクチャ)からのサンプルデータのブロックを、動きベクトル(以降、「MV」)によって示される方向に空間的にシフトした後、新しく再構築されたピクチャまたはピクチャ部分の予測に使用する技術に関連し得る。場合によっては、参照ピクチャは現在再構築中のピクチャと同じになることがある。MVは、XとYの2次元、または、第3次元が、使用中の参照ピクチャを示す3次元を持つことができる(後者は間接的に時間次元になることができる)。
【0007】
一部のビデオ圧縮技術では、サンプルデータの特定の領域に適用可能なMVは、他のMVから、例えば再構築中の領域に空間的に隣接し、デコード順でそのMVよりも前であるサンプルデータの別の領域に関連するMVから予測されることができる。そうすることで、MVの符号化に必要なデータの量を大幅に減らすことができ、これにより冗長性を取り除き、圧縮を強化する。例えば、カメラから導出される入力ビデオ信号(「ナチュラルビデオ」と呼ばれる)を符号化する際に、単一のMVが適用される領域より大きい領域が同様の方向に移動する統計的可能性があるため、MV予測は有効に働くことができる。したがって、場合によっては、隣接領域のMVから導出された類似の動きベクトルを使用して予測することができる。その結果、特定の領域に対して検出されたMVは、周囲のMVから予測されたMVと類似または同一であり、逆に、エントロピー符号化後、MVを直接符号化する場合よりも少ないビット数で表されることができる。場合によっては、MV予測は、元の信号(つまり、「サンプルストリーム」)から導出される信号(つまり、「MV」)の可逆圧縮の例になってもよい。他の場合では、例えばいくつかの周囲のMVから予測子を計算するときの丸め誤差のために、MV予測自体は非可逆になる可能性がある。
【0008】
H.265/HEVC(ITU-T Rec.H.265、「高効率ビデオ符号化」、2016年12月)には、様々なMV予測メカニズムが記載されている。H.265が提供する多くのMV予測メカニズムのうち、ここで説明するのは、以降、「空間マージ」と呼ばれる技法である。
【0009】
図1を参照し、現在ブロック(101)は、空間的にシフトされた同じサイズの以前のブロックから予測可能であるとエンコーダによって動き探索過程において発見されたサンプルを含むことができる。そのMVを直接符号化する代わりに、A0、A1、およびB0、B1、B2(それぞれ102から106)で示される5つの周囲のサンプルのいずれか1つに関連付けられるMVを使用して、1つ以上の参照ピクチャに関連付けられるメタデータから、例えば最新の(デコード順で)参照ピクチャから、MVを導出することができる。H.265では、MV予測は、隣接ブロックが使用しているのと同じ参照ピクチャからの予測子を使用することができる。
【発明の概要】
【課題を解決するための手段】
【0010】
本開示の態様は、ビデオエンコード/デコードのための方法および装置を提供する。一部の例では、ビデオデコードのための装置は、受信回路と処理回路とを備える。
【0011】
前記処理回路は、符号化されたビデオシーケンスの一部である現在の符号化ピクチャ内の現在ブロックの予測情報をデコードするように構成される。前記予測情報は、前記現在ブロックに平面動きベクトル予測モードが使用されるか否かを示す。前記現在ブロックは、複数のサブブロックに分割される。前記現在ブロックに平面動きベクトル予測モードが使用されることが示されている場合、前記処理回路は、さらに、前記平面動きベクトル予測モードの使用に応じて、前記現在ブロックの右下(BR)隅の少なくとも1つの時間的動きベクトル予測子(TMVP)候補を決定するように構成される。その後、前記処理回路は、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つに従って前記現在ブロックを再構築する。一実施形態では、前記予測情報において、前記現在ブロックの参照ピクチャはシグナリングされることができる。
【0012】
様々な実施形態では、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つの参照ピクチャが前記現在ブロックの前記参照ピクチャと異なる場合、前記処理回路は、さらに、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つを前記現在ブロックの前記参照ピクチャにスケーリングするように構成されることができる。したがって、前記現在ブロックを、前記BR隅の前記少なくとも1つのTMVP候補のうちのスケーリングされた候補に従って再構築する。前記予測情報が前記BR隅の動きベクトル差分(MVD)を含む場合、前記処理回路は、さらに、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つおよび前記BR隅の前記MVDに基づいて、最終的な動きベクトルを決定するように構成されることができる。
【0013】
一実施形態では、前記少なくとも1つのTMVP候補は、参照ピクチャ内のコロケートブロックに基づいて決定されるTMVP候補を含む。前記参照ピクチャ内の前記コロケートブロックは、前記現在の符号化ピクチャ内の前記BR隅にあるサブブロックと同じ位置にある。前記BR隅の前記少なくとも1つのTMVP候補は、前記現在ブロックの内側に位置し、前記BR隅に隣接するサブブロックのTMVP候補を含むことができる。前記BR隅の前記少なくとも1つのTMVP候補は、前記現在ブロックの内側に位置し、前記現在ブロックの中心に隣接するサブブロックのTMVP候補を含むことができる。
【0014】
本開示によれば、前記BR隅の前記少なくとも1つのTMVP候補は、前記現在ブロックの左下(BL)隣接サブブロックのTMVP候補を含む。前記BR隅の前記少なくとも1つのTMVP候補は、前記現在ブロックの右上(AR)隣接サブブロックのTMVP候補を含むことができる。さらに、前記BR隅の前記少なくとも1つのTMVP候補は、前記現在ブロックのBL隣接サブブロックと前記現在ブロックのAR隣接サブブロックとの動きベクトルの加重平均であるTMVP候補を含むことができる。
【0015】
一実施形態では、前記処理回路は、さらに、前記少なくとも1つのTMVP候補のうちの1つを識別する受信インデックスに基づいて、前記少なくとも1つのTMVP候補から前記少なくとも1つのTMVP候補のうちの1つを選択するように構成される。前記処理回路は、さらに、所定の候補順序に基づいて、前記少なくとも1つのTMVP候補から前記少なくとも1つのTMVP候補のうちの1つを選択するように構成されることができる。前記処理回路は、さらに、事前に選択されたTMVP候補に基づいて、前記少なくとも1つのTMVP候補から前記少なくとも1つのTMVP候補のうちの1つを選択するように構成されることができる。
【0016】
一実施形態では、前記BR隅にある前記サブブロックは、前記現在ブロックの外側に位置する。前記BR隅にある前記サブブロックは、前記現在ブロックの内側にあることができる。
【0017】
実施形態によれば、前記処理回路は、さらに、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つに従って前記現在ブロック内の各サブブロックの動きベクトル予測子を導出するように構成されることができる。その後、前記処理回路は、前記現在ブロック内のそれぞれの前記サブブロックの前記動きベクトル予測子に従って前記現在ブロックを再構築する。
【0018】
本開示の態様は、ビデオデコードのためにコンピュータによって実行されると、前記コンピュータにビデオデコードのための方法を実行させる命令を記憶する非一時的なコンピュータ読取可能な媒体をも提供する。
【0019】
開示された主題のさらなる特徴、本質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0020】
【
図1】一例における現在ブロックおよび前記現在ブロックの周囲の空間マージ候補の概略図である。
【
図2】一実施形態による通信システムの概略ブロック図である。
【
図3】一実施形態による通信システムの概略ブロック図である。
【
図4】一実施形態によるデコーダの概略ブロック図である。
【
図5】一実施形態によるエンコーダの概略ブロック図である。
【
図6】別の実施形態によるエンコーダのブロック図を示す。
【
図7】別の実施形態によるデコーダのブロック図を示す。
【
図8A】本開示の一実施形態による、バイラテラルマッチングと呼ばれる、ブロックレベル動き補償方法を示す。
【
図8B】本開示の一実施形態による、テンプレートマッチングと呼ばれる、ブロックレベル動き補償方法を示す。
【
図9】本開示の一実施形態による指向性サブブロックレベル動きベクトル予測方法を示す。
【
図10】本開示の一実施形態による例示的な平面動き予測方法を示す。
【
図11】本開示の一実施形態による、現在ブロックの異なる位置から現在ブロックの右下サブブロックの時間的動きベクトル予測子を決定する例示的な図を示す。
【
図12】本開示の一実施形態による例示的な処理を概説するフローチャートを示す。
【
図13】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0021】
図2は、本開示の実施形態による通信システム(200)の概略ブロック図を示している。通信システム(200)は、例えばネットワーク(250)を介して互いに通信可能な複数の端末装置を含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された第1の対の端末装置(210)および(220)を含む。
図2の例では、第1の対の端末装置(210)および(220)は、データの単方向送信を実行する。例えば、端末装置(210)は、ネットワーク(250)を介して他方の端末装置(220)へ送信するためにビデオデータ(例えば、端末装置(210)によってキャプチャされたビデオピクチャのストリーム)を符号化し得る。エンコードされたビデオデータは、1つ以上の符号化されたビデオビットストリームの形で送信されることができる。端末装置(220)は、ネットワーク(250)から符号化ビデオデータを受信し、符号化ビデオデータをデコードしてビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示することができる。単方向のデータ送信は、メディア供給アプリケーションなどで一般的である。
【0022】
他の例では、通信システム(200)は、例えば、ビデオ会議中に発生し得る符号化ビデオデータの双方向送信を実行する第2の対の端末装置(230)および(240)を含む。データの双方向送信の場合、一例では、端末装置(230)および(240)のそれぞれは、ネットワーク(250)を介して端末装置(230)および(240)のうちの他方の端末装置へ送信するためにビデオデータ(例えば、端末装置によってキャプチャされたビデオピクチャのストリーム)を符号化し得る。端末装置(230)および(240)の一方は、端末装置(230)および(240)のうちの他方の端末装置で送信された符号化ビデオデータを受信することができ、符号化ビデオデータをデコードしてビデオピクチャを復元することができ、復元されたビデオデータに従ってビデオピクチャをアクセス可能な表示装置に表示することができる。
【0023】
図2の例では、端末装置(210)、(220)、(230)および(240)は、サーバ、パーソナルコンピュータおよびスマートフォンとして示され得るが、しかし、本開示の原理はこれに制限されることはない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤー、および/または専用のビデオ会議機器における用途を見出す。ネットワーク(250)は、例えば有線および/または無線通信ネットワークを含む、端末装置(210)、(220)、(230)および(240)間で符号化ビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(250)は、回線交換および/またはパケット交換チャネルでデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットを含む。本議論の目的のために、ネットワーク(250)のアーキテクチャおよびトポロジーは、以下で説明されない限り、本開示の動作にとって重要でないかもしれない。
【0024】
図3は、開示された主題の適用の例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示している。開示された主題は、例えば、ビデオ会議、デジタルTV、および、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの記憶など、を含む他のビデオ対応アプリケーションに等しく適用可能である。
【0025】
ストリーミングシステムは、例えば非圧縮のビデオピクチャ(302)のストリームを作成するデジタルカメラなどのビデオソース(301)を含むことができるキャプチャサブシステム(313)を含んでもよい。一例では、ビデオピクチャ(302)のストリームは、デジタルカメラによって取得されたサンプルを含む。エンコードされたビデオデータ(304)(又は符号化されたビデオビットストリーム)と比較して高データ量を強調するために太線で示されたビデオピクチャ(302)のストリームは、ビデオソース(301)に結合されたビデオエンコーダ(303)を含む電子デバイス(320)によって処理されることができる。ビデオエンコーダ(303)は、以下でより詳細に説明されるように、開示された主題の態様を可能にするか或いは実施するためのハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。ビデオピクチャ(302)のストリームと比較してより低いデータ量を強調するために細い線で示された、エンコードされたビデオデータ(304)(またはエンコードされたビデオビットストリーム(304))は、将来使うためにストリーミングサーバ(305)に記憶されることができる。
図3のクライアントサブシステム(306)および(308)のような1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(305)にアクセスして、エンコードされたビデオデータ(304)のコピー(307)および(309)を検索することができる。クライアントサブシステム(306)は、例えば、電子デバイス(330)におけるビデオデコーダ(310)を含むことができる。ビデオデコーダ(310)は、エンコードされたビデオデータの入り方向コピー(307)をデコードし、ディスプレイ(312)(例えば、表示画面)または他のレンダリングデバイス(描画せず)でレンダリングできるビデオピクチャ(311)の出方向ストリームを作成する。一部のストリーミングシステムにおいて、エンコードされたビデオデータ(304)、(307)、および(309)(例えば、ビデオビットストリーム)は、特定のビデオ符号化/圧縮規格に従ってエンコードされることができる。これらの規格の例は、ITU-T勧告H.265を含む。一例では、開発中のビデオ符号化規格は、非公式的にヴァーサトゥルビデオ符号化またはVVCとして知られている。開示された主題は、VVCの文脈に使用され得る。
【0026】
なお、電子デバイス(320)および(330)は、他の構成要素(図示せず)を含むことができる。例えば、電子デバイス(320)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(330)は、ビデオエンコーダ(図示せず)を含むこともできる。
【0027】
図4は、本開示の実施形態によるビデオデコーダ(410)のブロック図を示す。ビデオデコーダ(410)は、電子デバイス(430)に含まれることができる。電子デバイス(430)は、受信機(431)(例えば、受信回路)を含むことができる。ビデオデコーダ(410)は、
図3の例におけるビデオデコーダ(310)の代わりに使用されることができる。
【0028】
受信機(431)は、ビデオデコーダ(410)によってデコードされる1つ以上の符号化ビデオシーケンスを受信することができ、同一または別の実施形態では、一度に1つの符号化ビデオシーケンスを受信してもよく、各符号化ビデオシーケンスのデコードは、他の符号化ビデオシーケンスから独立している。符号化ビデオシーケンスは、エンコードされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであり得るチャネル(401)から受信されることができる。受信機(431)は、それぞれの使用エンティティ(示されていない)に転送され得る他のデータ、例えば、符号化オーディオデータおよび/または補助データストリームとともに、エンコードされたビデオデータを受信し得る。受信機(431)は、符号化ビデオシーケンスを他のデータから分離することができる。ネットワークジッタを防止するために、バッファメモリ(415)は、受信機(431)とエントロピーデコーダ/パーサ(420)(以降、「パーサ(420)」)の間に結合されてもよい。特定のアプリケーションでは、バッファメモリ(415)は、ビデオデコーダ(410)の一部である。他の場合、ビデオデコーダ(410)(示されていない)の外部に存在し得る。さらに他の場合、例えば、ネットワークジッタを防止するためにビデオデコーダ(410)の外部にバッファメモリ(示されていない)が存在し、さらに、例えば、再生タイミングを取り扱うためにビデオデコーダ(410)の内部に別のバッファメモリ(415)が存在し得る。受信機(431)が十分な帯域幅および可制御性を有する記憶/転送装置から、または等同期ネットワークからデータを受信する際に、バッファメモリ(415)は必要とされないことがあり、または小さくされることがある。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(415)が必要になる場合があり、バッファメモリ(415)は、比較的大きいことがあり、有利には適応サイズであることができ、オペレーティングシステムまたはビデオデコーダ(410)の外部の類似の要素(示されていない)に少なくとも部分的に実施され得る。
【0029】
ビデオデコーダ(410)は、符号化ビデオシーケンスからシンボル(421)を再構築するパーサ(420)を含んでもよい。これらのシンボルのカテゴリは、ビデオデコーダ(410)の操作を管理するために使用される情報、および、電子デバイス(430)の不可欠な部分ではないが、
図4に示されるように電子デバイス(430)に結合され得るレンダリングデバイス(412)(例えば、表示画面)のようなレンダリングデバイスを制御する潜在的情報を含む。レンダリングデバイスのための制御情報は、補助強化情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセットフラグメント(示されていない)の形態であってよい。パーサ(420)は、受信された符号化ビデオシーケンスを構文解析/エントロピーデコードすることができる。符号化ビデオシーケンスの符号化は、ビデオ符号化技術または規格に合わせることができ、可変長符号化、ハフマン符号化、文脈感受性を有するもしくは有さない算術符号化などを含む様々な原理に従うことができる。パーサ(420)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化ビデオシーケンスからビデオデコーダ内の画素の少なくとも1つのサブグループのためのサブグループパラメータのセットを抽出することができる。サブグループは、ピクチャ群(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(420)は、符号化ビデオシーケンスから変換係数、量子化パラメータ値、動きベクトルなどのような情報をも抽出することができる。
【0030】
パーサ(420)は、シンボル(421)を作成するために、バッファメモリ(415)から受信されたビデオシーケンスに対してエントロピーデコード/構文解析操作を実行することができる。
【0031】
シンボル(421)の再構築は、符号化ビデオピクチャまたはその一部(例えば、インターおよびイントラピクチャ、インターおよびイントラブロック)のタイプ、および他の要因に応じて、複数の異なるユニットが関与することができる。どのユニットが、どのように関与するかは、パーサ(420)によって符号化ビデオシーケンスから構文解析されたサブグループ制御情報によって制御されることができる。パーサ(420)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために示されていない。
【0032】
すでに述べた機能ブロックに加え、ビデオデコーダ(410)は、以下で説明されるようにいくつかの機能ユニットに概念的に細分されることができる。商業的な制約の下で実際の実施操作にあたっては、これらのユニットの多くは互いに密接に相互作用し、少なくとも一部は互いに統合することができる。しかしながら、開示された主題の説明の目的で、以下の機能ユニットへの概念的な細分は、適切に行われる。
【0033】
第1のユニットは、スケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、使用する変換、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む制御情報と、量子化された変換係数をシンボル(421)としてパーサ(420)から受信する。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)に入力可能なサンプル値を含むブロックを出力することができる。
【0034】
場合によっては、スケーラ/逆変換(451)の出力サンプルは、イントラ符号化ブロック、すなわち、予め再構築されたピクチャからの予測情報を使用していないが、現在ピクチャの予め再構築された部分からの予測情報を使用できるブロックに関係することがある。このような予測情報は、イントラピクチャ予測ユニット(452)によって提供されることができる。場合によっては、イントラピクチャ予測ユニット(452)は、現在ピクチャバッファ(458)から取り出された周囲の既に再構築された情報を用いて、再構築中のブロックの同じサイズおよび形状のブロックを生成する。現在ピクチャバッファ(458)は、例えば、一部再構築された現在ピクチャおよび/または完全に再構築された現在ピクチャをバッファリングする。アグリゲータ(455)は、場合によっては、サンプルごとに、イントラ予測ユニット(452)が生成した予測情報を、スケーラ/逆変換ユニット(451)によって提供される出力サンプル情報に追加する。
【0035】
他の場合では、スケーラ/逆変換ユニット(451)の出力サンプルは、インター符号化された、潜在的に動き補償されたブロックに関係することがある。このような場合、動き補償予測ユニット(453)は、参照ピクチャメモリ(457)にアクセスして、予測に使用されるサンプルを取り出すことができる。取り出されたサンプルをブロックに関係するシンボル(421)に従って動き補償した後、出力サンプル情報を生成するように、これらのサンプルは、アグリゲータ(455)によってスケーラ/逆変換ユニット(451)の出力に追加されることができる(この場合、残差サンプルまたは残差信号と呼ばれる)。動き補償予測ユニット(453)が予測サンプルを取り出す参照ピクチャメモリ(457)内のアドレスは、例えば、X、Y、および参照ピクチャ成分を有し得るシンボル(421)の形態で動き補償予測ユニット(453)に利用可能な動きベクトルによって制御されることができる。動き補償は、サブサンプル正確な動きベクトルが使用中であるときに参照ピクチャメモリ(457)から取り出されたサンプル値の補間、動きベクトル予測メカニズムなどを含むこともできる。
【0036】
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)において様々なループフィルタリング技法を受けられる。ビデオ圧縮技術は、符号化ビデオシーケンス(符号化されたビデオビットストリームとも呼ばれる)に含まれる、パーサ(420)からのシンボル(421)としてループフィルタユニット(456)に利用可能とされたパラメータによって制御されることができ、それに、符号化ピクチャまたは符号化ビデオシーケンスの(デコード順で)前の部分のデコード中に取得されたメタ情報に応じるとともに、予め再構築されループフィルタリングされたサンプル値に応じることもできるループ内フィルタ技術を含むことができる。
【0037】
ループフィルタユニット(456)の出力は、レンダリングデバイス(412)へ出力されることができるとともに、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(457)に記憶されることができるサンプルストリームであり得る。
【0038】
特定の符号化ピクチャは、完全に再構築されると、将来の予測のために参照ピクチャとして使用されることができる。例えば、現在ピクチャに対応する符号化ピクチャが完全に再構築され、符号化ピクチャが(例えば、パーサ(420)によって)参照ピクチャとして識別されると、現在ピクチャバッファ(458)は、参照ピクチャメモリ(457)の一部になることができ、次の符号化ピクチャの再構築を開始する前に新しい現在ピクチャバッファを再割当てすることができる。
【0039】
ビデオデコーダ(410)は、ITU-T Rec.H.265のような規格での所定のビデオ圧縮技術に従ってデコード操作を実行することができる。符号化ビデオシーケンスが、ビデオ圧縮技術または規格のシンタックスと、ビデオ圧縮技術または規格で文書化されたプロファイルとの両方に準拠しているという意味で、符号化ビデオシーケンスは、使用されているビデオ圧縮技術または規格によって指定されるシンタックスに準拠し得る。具体的には、プロファイルは、ビデオ圧縮技術または規格で使用可能なすべてのツールから、特定のツールをそのプロファイルで使用できる唯一のツールとして選択することができる。符号化ビデオシーケンスの複雑さがビデオ圧縮技術または規格のレベルで定義される範囲内にあることも、コンプライアンスに必要である。場合によっては、最大ピクチャサイズ、最大フレームレート、最大再構築サンプルレート(例えば、1秒あたりのメガサンプルで測定される)、最大参照ピクチャサイズなどがレベルによって制限される。レベルによって設定された制限は、場合によっては、符号化ビデオシーケンスでシグナリングされたHRDバッファ管理のための仮想参照デコーダ(HRD)仕様およびメタデータによってさらに制限され得る。
【0040】
一実施形態では、受信機(431)は、エンコードされたビデオとともに追加の(冗長な)データを受信することができる。追加のデータは、符号化ビデオシーケンスの一部として含まれてもよい。追加のデータは、データを適切にデコードし、および/または、元のビデオデータをより正確に再構築するためにビデオデコーダ(410)によって使用され得る。追加のデータは、例えば、時間的、空間的、または信号対雑音比(SNR)エンハンスメントレイヤ、冗長スライス、冗長ピクチャ、前方向誤り訂正コードなどの形態にされることができる。
【0041】
図5は、本開示の実施形態によるビデオエンコーダ(503)のブロック図を示す。ビデオエンコーダ(503)は、電子デバイス(520)に含まれる。電子デバイス(520)は、送信機(540)(例えば、送信回路)を含む。
図3の例におけるビデオエンコーダ(303)の代わりにビデオエンコーダ(503)を使用することができる。
【0042】
ビデオエンコーダ(503)は、ビデオエンコーダ(503)によって符号化されるビデオ画像をキャプチャし得るビデオソース(50l)(
図5の例では電子デバイス(520)の一部ではない)からビデオサンプルを受信することができる。他の例では、ビデオソース(501)は、電子デバイス(520)の一部である。
【0043】
ビデオソース(501)は、ビデオエンコーダ(503)によって符号化されるソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、・・・)、任意の色空間(例えば、BT.601 Y CrCB、RGB、・・・)および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形態で提供し得る。メディア供給システムでは、ビデオソース(501)は、予め準備されたビデオを記憶する記憶装置であり得る。ビデオ会議システムでは、ビデオソース(501)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、順番に見られるときに動きが与えられる複数の個別のピクチャとして提供されてもよい。ピクチャ自体は、画素の空間アレイとして編成されてもよく、各画素は、使用中のサンプリング構造、色空間などに応じて1つ以上のサンプルを含むことができる。当業者は、画素とサンプルとの関係を容易に理解することができる。以下の説明ではサンプルを中心に説明する。
【0044】
一実施形態によれば、ビデオエンコーダ(503)は、リアルタイムでまたはアプリケーションが要求する任意の他の時間制約の下でソースビデオシーケンスのピクチャを符号化し、符号化ビデオシーケンス(543)に圧縮することができる。適切な符号化速度を実施することは、コントローラ(550)の機能の1つである。一部の実施形態では、コントローラ(550)は、以下で説明される他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。分かりやすくするために、カップリングは示されていない。コントローラ(550)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化、レート歪み最適化技法のラムダ値、・・・)、ピクチャサイズ、ピクチャ群(GOP)レイアウト、最大動きベクトル検索範囲などを含むことができる。コントローラ(550)は、特定のシステム設計に対して最適化されたビデオエンコーダ(503)に関する他の適切な機能を有するように構成されることができる。
【0045】
一部の実施形態では、ビデオエンコーダ(503)は、符号化ループで動作するように構成される。過度に簡略化した説明として、一例では、符号化ループは、ソースコーダ(530)(例えば、符号化対象となる入力ピクチャおよび参照ピクチャに基づくシンボルストリームなどのシンボルの作成を担当する)、およびビデオエンコーダ(503)に埋め込まれた(ローカル)デコーダ(533)を含むことができる。デコーダ(533)は、シンボルを再構築して、(リモート)デコーダが作成するのと同様な方法でサンプルデータを作成する(シンボルと符号化されたビデオビットストリーム間の如何なる圧縮は、開示された主題で考慮されるビデオ圧縮技術では可逆であるためである)。再構築されたサンプルストリーム(サンプルデータ)は参照ピクチャメモリ(534)に入力される。シンボルストリームのデコードにより、デコーダの位置(ローカルまたはリモート)に関係なくビット正確な結果が得られるため、参照ピクチャメモリ(534)のコンテンツもローカルエンコーダとリモートエンコーダの間でビット正確である。言い換えれば、エンコーダの予測部分は、参照ピクチャサンプルとして、デコード中に予測を使用するときにデコーダが「見る」のと全く同じサンプル値を「見る」。参照ピクチャの同期性の該基本原理(および例えばチャネルエラーに起因して同期性を維持できない場合に生じるドリフト)は、いくつかの関連分野にも使用されている。
【0046】
「ローカル」デコーダ(533)の動作は、前文で
図4に関連して既に詳細に説明された、ビデオデコーダ(410)などの「リモート」デコーダの動作と同様であり得る。しかしながら、
図4も簡単に参照し、シンボルが使用可能であり、エントロピーコーダ(545)およびパーサ(420)による符号化ビデオシーケンスへのシンボルの符号化/デコードは可逆であり得るので、バッファメモリ(415)、およびパーサ(320)を含むビデオデコーダ(410)のエントロピーデコード部分は、ローカルデコーダ(533)では完全に実施されない場合がある。
【0047】
これで分かるように、デコーダに存在する構文解析/エントロピーデコード以外の如何なるデコーダ技術も、対応するエンコーダに実質的に同一の機能的形態で必ず存在する必要がある。このため、開示された主題は、デコーダ操作に焦点を合わせている。エンコーダ技術の説明は、包括的に説明されたデコーダ技術の逆であるため、省略できる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【0048】
操作中、一部の例では、ソースコーダ(530)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の予め符号化されたピクチャを参照して入力ピクチャを予測的に符号化する動き補償予測符号化を実行してもよい。このようにして、符号化エンジン(532)は、入力ピクチャの画素ブロックと、入力ピクチャへの予測基準として選択され得る参照ピクチャの画素ブロックとの差異を符号化する。
【0049】
ローカルビデオデコーダ(533)は、ソースコーダ(530)で作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャの符号化ビデオデータをデコードすることができる。符号化エンジン(532)の操作は、有利にはロッシープロセスであり得る。符号化ビデオデータがビデオデコーダ(
図5に示されていない)でデコードされ得るとき、再構築されたビデオシーケンスは、通常、いくつかのエラーを伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオデコーダ(533)は、ビデオデコーダによって参照ピクチャに対して実行され得るデコードプロセスを再現し、再構築された参照ピクチャを参照ピクチャキャッシュ(534)に記憶させることができる。このようにして、ビデオエンコーダ(503)は、遠端ビデオデコーダによって取得される再構築された参照ピクチャと共通するコンテンツ(送信エラー無し)を有する再構築された参照ピクチャのコピーをローカルに記憶し得る。
【0050】
予測器(535)は、符号化エンジン(532)の予測検索を実行することができる。つまり、符号化対象となる新しいピクチャについて、予測器(535)は、(候補の参照画素ブロックとしての)サンプルデータ、または、参照ピクチャの動きベクトル、ブロック形状など、新しいピクチャの適切な予測基準として機能し得る特定のメタデータを参照ピクチャメモリ(534)で検索することができる。予測器(535)は、適切な予測基準を見つけるために、サンプルブロック/画素ブロックごとに操作することができる。場合によっては、予測器(535)で取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(534)に記憶された複数の参照ピクチャから引き出された予測基準を有してもよい。
【0051】
コントローラ(550)は、例えば、ビデオデータをエンコードするために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(530)の符号化操作を管理することができる。
【0052】
前述のすべての機能ユニットの出力は、エントロピーコーダ(545)においてエントロピー符号化を受けられる。エントロピーコーダ(545)は、例えば、ハフマン符号化、可変長符号化、算術符号化などの技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットによって生成されたシンボルを符号化ビデオシーケンスに変換する。
【0053】
送信機(540)は、エンコードされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであり得る通信チャネル(560)を介した送信の準備のために、エントロピーコーダ(545)によって作成された符号化ビデオシーケンスをバッファリングすることができる。送信機(540)は、ビデオコーダ(503)からの符号化ビデオデータを、送信されるべき他のデータ、例えば、符号化オーディオデータおよび/または補助データストリーム(ソースは示されていない)とマージすることができる。
【0054】
コントローラ(550)は、ビデオエンコーダ(503)の操作を管理し得る。符号化中、コントローラ(550)は、各符号化ピクチャに特定の符号化ピクチャタイプを割り当てることができ、これは、それぞれのピクチャに適用され得る符号化技法に影響を及ぼし得る。例えば、ピクチャは、多くの場合、次のピクチャタイプのいずれかとして割り当てられ得る。
【0055】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のいかなるピクチャを使用せずに符号化および復号され得るものであり得る。一部のビデオコーデックは、例えば、インディペンデントデコーダリフレッシュ(Independent Decoder Refresh、「IDR」)ピクチャを含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャの変形およびそれらのそれぞれの用途および特徴を知っている。
【0056】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大1つの動きベクトルおよび参照インデックスを使用したイントラ予測またはインター予測により符号化および復号され得るものであり得る。
【0057】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大2つの動きベクトルおよび参照インデックスを使用したイントラ予測またはインター予測により符号化および復号され得るものであり得る。同様に、多重予測ピクチャは、単数のブロックの再構築のために2つを超えた参照ピクチャおよび関連メタデータを使用することができる。
【0058】
ソースピクチャは、一般に、複数のサンプルブロック(例えば、それぞれ、4×4、8×8、4×8、または16×16サンプルのブロック)に空間的に細分され、ブロック単位で符号化され得る。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てによって決定された他の(既に符号化された)ブロックを参照して予測的に符号化され得る。例えば、Iピクチャのブロックは、非予測的に符号化されてもよく、或いは、同一のピクチャの既に符号化されたブロック(空間予測またはイントラ予測)を参照して予測的に符号化されてもよい。Pピクチャの画素ブロックは、1つの予め符号化された参照ピクチャを参照して、空間予測を介してまたは時間予測を介して予測的に符号化され得る。Bピクチャのブロックは、1つまたは2つの予め符号化された参照ピクチャを参照して、空間予測を介してまたは時間予測を介して予測的に符号化され得る。
【0059】
ビデオエンコーダ(503)は、ITU-T Rec.H.265などの予め設定されたビデオ符号化技術または規格に従って、符号化操作を実行することができる。操作中、ビデオエンコーダ(503)は、入力ビデオシーケンスの時間的および空間的冗長性を利用する予測符号化操作を含む、様々な圧縮操作を実行することができる。したがって、符号化ビデオデータは、使用されるビデオ符号化技術または規格によって指定されたシンタックスに準拠する場合がある。
【0060】
一実施形態では、送信機(540)は、エンコードされたビデオとともに追加のデータを送信することができる。ソースコーダ(530)は、このようなデータを符号化ビデオシーケンスの一部として含み得る。追加のデータは、時間的/空間的/SNRエンハンスメントレイヤ、冗長なピクチャやスライスなどの他の形態での冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含み得る。
【0061】
ビデオは、時系列で複数のソースピクチャ(ビデオピクチャ)としてキャプチャされ得る。イントラピクチャ予測(「イントラ予測」と略されることが多い)は、所定のピクチャにおける空間相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的または他の)相関を利用する。一例では、現在ピクチャと呼ばれる符号化/デコード中の特定のピクチャは、ブロックに分割される。現在ピクチャにおけるブロックが、ビデオにおける予め符号化され、まだバッファリングされている参照ピクチャの参照ブロックに類似している場合、現在ピクチャにおけるブロックは、動きベクトルと呼ばれるベクトルによって符号化されることができる。動きベクトルは、参照ピクチャの参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3次元を有することができる。
【0062】
一部の実施形態では、インターピクチャ予測において双予測法を使用することができる。双予測法によれば、ビデオにおける現在ピクチャよりもデコード順序がそれぞれ前である(ただし、表示順序でそれぞれ過去および未来にあり得る)第1の参照ピクチャおよび第2の参照ピクチャのような2つの参照ピクチャを使用する。現在ピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトル、および第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルによって符号化されることができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測されることができる。
さらに、マージモード技法をインターピクチャ予測に適用して、符号化効率を向上させることができる。
【0063】
本開示の一部の実施形態によれば、インターピクチャ予測およびイントラピクチャ予測などの予測は、ブロック単位で実行される。例えば、HEVC規格によれば、一連のビデオピクチャ内のピクチャは、圧縮のために符号化ツリーユニット(CTU)に分割され、ピクチャ内のCTUは、64×64画素、32×32画素、または16×16画素など、同一のサイズを有する。一般に、CTUは、1つの輝度CTBと2つの彩度CTBである3つの符号化ツリーブロック(CTB)を含む。各CTUは、1つまたは複数の符号化ユニット(CU)に再帰的に四分木分割されることができる。例えば、64×64画素のCTUは、1つの64×64画素のCU、4つの32×32画素のCU、または16つの16×16画素のCUに分割されることができる。一例では、各CUを解析して、インター予測タイプまたはイントラ予測タイプなど、CUの予測タイプを決定する。CUは、時間的および/または空間的予測可能性に応じて、1つ以上の予測ユニット(PU)に分割される。通常、各PUは、1つの輝度予測ブロック(PB)と2つの彩度PBを含む。一実施形態では、符号化(エンコード/デコード)における予測操作は、予測ブロックの単位で実行される。輝度予測ブロックを予測ブロックの例として用いて、予測ブロックは、8×8画素、16×16画素、8×16画素、16×8画素などの画素の値(例えば、輝度値)の行列を含む。
【0064】
図6は、本開示の他の実施形態によるビデオエンコーダ(603)の図を示す。ビデオエンコーダ(603)は、一連のビデオピクチャ内の現在ビデオピクチャにおけるサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、符号化ビデオシーケンスの一部である符号化ピクチャにエンコードするように構成される。一例では、
図3の例におけるビデオエンコーダ(303)の代わりにビデオエンコーダ(603)を使用する。
【0065】
HEVCの例では、ビデオエンコーダ(603)は、8×8サンプルのような予測ブロックなどの処理ブロックのサンプル値の行列を受信する。ビデオエンコーダ(603)は、例えばレート歪み最適化を用いて、処理ブロックをイントラモード、インターモード、または双予測モードにより最も良く符号化するか否かを決定する。処理ブロックがイントラモードで符号化されようとする場合、ビデオエンコーダ(603)は、イントラ予測法を用いて処理ブロックを符号化ピクチャにエンコードすることができる。また、処理ブロックがインターモードまたは双予測モードで符号化されようとする場合、ビデオエンコーダ(603)は、それぞれインター予測または双予測法を用いて、処理ブロックを符号化ピクチャにエンコードすることができる。特定のビデオ符号化技術では、マージモードは、予測器外の符号化動きベクトル成分の利便を介することなく、1つ以上の動きベクトル予測器から動きベクトルを導出するインターピクチャ予測サブモードであり得る。特定の他のビデオ符号化技術では、対象ブロックに適用可能な動きベクトル成分が存在し得る。一例では、ビデオエンコーダ(603)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他の構成要素を含む。
【0066】
図6の例では、ビデオエンコーダ(603)は、
図6に示すように互いに結合されたインターエンコーダ(630)、イントラエンコーダ(622)、残差算出部(623)、スイッチ(626)、残差エンコーダ(624)、統括制御部(621)およびエントロピーエンコーダ(625)を含む。
【0067】
インターエンコーダ(630)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、該ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、前のピクチャおよび後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インターエンコード法による冗長情報の記述、動きベクトル、マージモード情報)を生成し、インター予測情報に基づいて任意の適切な技法を用いてインター予測結果(例えば、予測ブロック)を算出するように構成される。一部の例では、参照ピクチャは、エンコードされたビデオ情報に基づいてデコードされたデコード参照ピクチャである。
【0068】
イントラエンコーダ(622)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては該ブロックを同一のピクチャで既に符号化されたブロックと比較し、変換後に、量子化された係数を生成し、場合によってはイントラ予測情報(例えば、1つ以上のイントラエンコード法によるイントラ予測方向情報)をも生成するように構成される。一例では、イントラエンコーダ(622)は、イントラ予測情報および同一のピクチャ内の参照ブロックに基づいてイントラ予測結果(例えば、予測ブロック)も算出する。
【0069】
統括制御部(621)は、統括制御データを決定し、統括制御データに基づいてビデオエンコーダ(603)の他の構成要素を制御するように構成される。一例では、統括制御部(621)は、ブロックのモードを決定し、モードに基づいて制御信号をスイッチ(626)に提供する。例えば、モードがイントラモードである場合、統括制御部(621)は、残差算出部(623)が使用するためのイントラモード結果を選択するようにスイッチ(626)を制御するとともに、イントラ予測情報を選択してイントラ予測情報をビットストリームに含ませるようにエントロピーエンコーダ(625)を制御する。また、モードがインターモードである場合、統括制御部(621)は、残差算出部(623)が使用するためのインター予測結果を選択するようにスイッチ(626)を制御するとともに、インター予測情報を選択してインター予測情報をビットストリームに含ませるようにエントロピーエンコーダ(625)を制御する。
【0070】
残差算出部(623)は、受信されたブロックとイントラエンコーダ(622)またはインターエンコーダ(630)から選択された予測結果との差(残差データ)を算出するように構成される。残差エンコーダ(624)は、残差データに基づいて動作し、残差データをエンコードして変換係数を生成するように構成される。一例では、残差エンコーダ(624)は、残差データを空間領域から周波数領域へと変換し、変換係数を生成するように構成される。その後、変換係数は量子化処理を受けて、量子化された変換係数が得られる。様々な実施形態では、ビデオエンコーダ(603)は、残差デコーダ(628)をも含む。残差デコーダ(628)は、逆変換を実行し、デコード残差データを生成するように構成される。デコード残差データは、イントラエンコーダ(622)およびインターエンコーダ(630)によって適切に使用されることができる。例えば、インターエンコーダ(630)は、デコード残差データよびインター予測情報に基づいて、デコードブロックを生成することができ、イントラエンコーダ(622)は、デコード残差データおよびイントラ予測情報に基づいて、デコードブロックを生成することができる。一部の例では、デコードブロックは、デコードピクチャを生成するように適切に処理され、デコードピクチャは、メモリ回路(図示せず)にバッファリングされ、参照ピクチャとして使用されることができる。
【0071】
エントロピーエンコーダ(625)は、ビットストリームをフォーマットしてエンコードブロックを生成するように構成される。エントロピーエンコーダ(625)は、HEVC規格などの適切な規格に従う様々な情報をビットストリームに含ませるように構成される。一例では、エントロピーエンコーダ(625)は、統括制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、および他の適切な情報をビットストリームに含ませるように構成される。開示された主題によれば、インターモードまたは双予測モードのマージサブモードでブロックを符号化する場合、残差情報はないことに留意されたい。
【0072】
図7は、本開示の他の実施形態によるビデオデコーダ(710)の図を示す。ビデオデコーダ(710)は、符号化ビデオシーケンスの一部である符号化ピクチャを受信し、符号化ピクチャをデコードして、再構築ピクチャを生成するように構成される。一例では、
図3の例におけるビデオデコーダ(310)の代わりにビデオデコーダ(710)を使用する。
【0073】
図7の例では、ビデオデコーダ(710)は、
図7に示されるように互いに結合されたエントロピーデコーダ(771)、インターデコーダ(780)、残差デコーダ(773)、再構築モジュール(774)、およびイントラデコーダ(772)を含む。
【0074】
エントロピーデコーダ(771)は、符号化ピクチャから、符号化ピクチャを構成するシンタックス要素を表す特定のシンボルを再構築するように構成されることができる。このようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、双予測モード、後の2つのマージサブモードまたは他のサブモード)、それぞれイントラデコーダ(772)またはインターデコーダ(780)による予測に使用される特定のサンプルまたはメタデータを識別できる予測情報(例えば、イントラ予測情報またはインター予測情報)、例えば、量子化された変換係数の形態での残差情報などを含むことができる。一例では、予測モードがインターまたは双予測モードであれば、インター予測情報は、インターデコーダ(780)に提供される。また、予測タイプがイントラ予測タイプであれば、イントラ予測情報は、イントラデコーダ(772)に提供される。残差情報は、逆量子化を施されることができ、残差デコーダ(773)に提供される。
【0075】
インターデコーダ(780)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0076】
イントラデコーダ(772)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0077】
残差デコーダ(773)は、逆量子化を実行して、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(773)は、(量子化器パラメータ(QP)を含めるように)特定の制御情報をも必要とする場合があり、この情報は、エントロピーデコーダ(771)によって提供されてもよい(データパスは、低ボリューム制御情報のみであり得るため、示されていない)。
【0078】
再構築モジュール(774)は、空間領域において、残差デコーダ(773)によって出力された残差と、(場合によってはインターまたはイントラ予測モジュールによって出力される)予測結果とを組み合わせて、再構築ビデオの一部となり得る再構築ピクチャの一部であり得る再構築ブロックを形成するように構成される。なお、視覚的品質を改善するために、デブロッキング操作などの他の適切な操作を実行することができる。
【0079】
なお、ビデオエンコーダ(303)、(503)および(603)とビデオデコーダ(310)、(410)および(710)は、任意の適切な技法を用いて実施されることができる。一実施形態では、ビデオエンコーダ(303)、(503)および(603)とビデオデコーダ(310)、(410)および(710)は、1つ以上の集積回路を用いて実施されることができる。他の実施形態では、ビデオエンコーダ(303)、(503)および(603)とビデオデコーダ(310)、(410)および(710)は、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実施されることができる。
【0080】
一般に、動き補償は、ブロックレベルで実行されることができる。つまり、ブロックは、動き補償を実行するための処理ユニットであり、ブロック内のすべての画素は、動き補償を実行するために同じ動き情報を使用する。
【0081】
図8Aは、本開示の実施形態による、バイラテラルマッチング(800)と呼ばれるブロックレベル動き補償方法を示す。バイラテラルマッチング(800)は、2つの異なる参照ピクチャRef0(802)およびRef1(803)において現在ブロック(801)の動き軌跡に沿って2つのブロック間で最も近いマッチングを見つけることにより、現在ピクチャ(801)内の現在ブロック(811)の動き情報を導出するために使用される。連続的な動き軌跡を想定して、2つの参照ブロック(812)および(813)を指す動きベクトルMV0およびMV1は、現在ピクチャ(801)と2つの参照ピクチャ(802)および(803)との間の時間的距離、すなわちTD0およびTD1に比例する。一部の実施形態では、現在ピクチャ(801)が時間的に2つの参照ピクチャ(802)および(803)の間にあり、現在ピクチャから2つの参照ピクチャまでの時間的距離が同じ(すなわち、TD0=TD1)である場合、バイラテラルマッチングは、ミラーベースの双方向動きベクトル予測になる。
【0082】
図8Bは、本開示の実施形態による、テンプレートマッチング(850)と呼ばれる別のブロックレベル動き補償方法を示す。テンプレートマッチング(850)は、現在ピクチャ(851)内の現在ブロック(861)の頂部隣接ブロック(862)および/または左側隣接ブロック(863)などのテンプレートと参照ピクチャ(852)内のテンプレートと同じサイズのブロックとの最も近いマッチングを見つけることにより、現在ピクチャ(851)内の現在ブロック(861)の動き情報を導出するために使用される。
【0083】
場合によっては、ブロック内の異なる位置にある画素は、動き補償を実行するために異なる動き情報を持つことができる。このような動き補償方法は、ブロックの動き補償の実際の処理単位は、ブロック自体よりも小さくなり得るサブブロックレベル動き補償方法と呼ばれる。言い換えれば、ブロックは、それぞれが異なる動きベクトルなどの異なる動き情報を使用して、動き補償を実行することができる複数のサブブロックに分割されることができる。一例では、ブロックはM×Nサブブロックに分割されることができ、ただし、Mは行数、Nは列数である。
【0084】
図9は、本開示の実施形態による、指向性サブブロックレベル動きベクトル予測方法を示す。指向性サブブロックレベル動きベクトル予測モードでは、所定の方向について、現在ブロック内のサブブロックは、サブブロックの隣接参照ブロックの動き情報を使用して、サブブロックの動きベクトルを予測する。
図9は、垂直方向を有する動きベクトル予測を示す。
図9に示す例では、現在ブロック(901)は、4×4(M=4およびN=4)サブブロックC11~C44に分割され、現在ブロック(901)の上方近隣は、現在ブロック(901)の参照ブロックとして使用されることができるサブブロックA01~A04である。この予測方法では、C11~C14、C21~C24、C31~C34、およびC41~C44は、それらの上方隣接サブブロックA01、A02、A03、およびA04からそれぞれ予測される。例えば、C21~C24は、それらの上方隣接サブブロックA02によって予測される。
【0085】
サブブロックレベル動きベクトル予測方法の一部は、周囲の隣接ブロックおよびそれらの動き情報の利用可能性に基づくことができる。このような動きベクトル予測方法の場合、これらの近隣のいずれかが利用できないか、或いは存在しない(ピクチャ境界やスライス境界など)か、或いはまだ符号化されていないか、或いは有効な動き情報のセットがない(インターモードで符号化されていないなど)場合、現在ブロックの動き補償は正しく機能しない。そのようなサブブロックレベル動きベクトル予測方法をより多くの条件で機能させるために、周囲の隣接ブロックから有用でかつ非常に有利な動き情報を生成する方法を以下で説明する。
【0086】
一部の実施形態によれば、現在ブロック内のサブブロックについて、サブブロックの動きベクトル予測子を関連付ける参照ピクチャは、現在ブロック内の別のサブブロックの動きベクトル予測子を関連付ける参照ピクチャとは異なり得る。さらに、共通参照ピクチャ(または、ピクチャペアと呼ばれる、双方向予測の場合における共通参照ピクチャのペア)は、現在ブロックを予測するために使用される。したがって、スケーリング処理を実行することにより、現在ブロック内のサブブロックの動きベクトルが、共通参照ピクチャ(またはピクチャペア)を指すようにスケーリングされる。加えて、隣接サブブロックからのすべての動きベクトル予測子は、現在ブロックの共通参照ピクチャ(またはピクチャペア)にスケーリングされる。
【0087】
一実施形態では、リスト0における第1の参照ピクチャは、現在ブロックの共通参照ピクチャとして選択される。さらに、双方向予測の場合、リスト1における第2の参照ピクチャは、第1の参照ピクチャと一緒に、一対の共通参照ピクチャとして選択され得てもよい。
【0088】
一実施形態では、ハイレベルフラグ(スライスヘッダ、ピクチャパラメータセット、またはシーケンスパラメータセットなど)は、どの参照ピクチャ(またはピクチャペア)がスケーリング処理用の共通参照ピクチャ(またはピクチャペア)であるかを示すために使用される。
【0089】
一実施形態では、現在ブロックの時間的動きベクトル予測子(TMVP)を導出するように指定されたコロケートピクチャ(またはピクチャペア)は、共通参照ピクチャ(またはピクチャペア)として使用される。
【0090】
双方向予測の場合、サブブロックは通常2つの動きベクトルを用いて予測される。一実施形態では、これら2つの動きベクトルは、共通参照ピクチャの異なるリストによって予測され、共通参照ピクチャが1つだけ指定された場合、指定された共通参照ピクチャによって予測された動きベクトルを保持しながら、異なるリスト内の未指定の共通参照ピクチャによって予測された動きベクトルを破棄することができる。
【0091】
一部の実施形態によれば、少なくとも1つの頂部隣接参照サブブロックを有する現在ブロックについて、少なくとも1つの頂部隣接参照サブブロックのうちの1つの動き情報が利用できない場合、少なくとも1つの頂部隣接参照サブブロックのうちの1つの隣接サブブロックは、現在ブロックの頂部隣接参照サブブロックとして少なくとも1つのサブブロックのうちの1つを置き換えるために使用される。
【0092】
図9の例を参照し、サブブロックA0X(X=1、2、3、または4)は、現在ブロック(901)の頂部隣接参照サブブロックである。サブブロックA0Xのいくつかの隣接サブブロックは、左側隣接サブブロックA0(X-1)、右側隣接サブブロックA0(X+1)、および上方隣接サブブロックA(-1)Xであり、ただし、(-1)はサブブロックA0Xの上方位置を表す。
【0093】
一実施形態では、サブブロックA0Xの動き情報は利用できないが、サブブロックA0Xの隣接サブブロックの動き情報は利用可能である場合、サブブロックA0Xの隣接サブブロックは、現在ブロック(901)の頂部隣接参照サブブロックとしてサブブロックA0Xを置き換えるために使用されることができる。一例では、サブブロックA0Xの左側隣接接サブブロックA0(X-1)の動き情報が利用可能である場合、サブブロックA0(X-1)は、現在ブロック(901)の頂部隣接参照サブブロックとしてサブブロックA0Xを置き換えることができる。別の例では、サブブロックA0Xの右側隣接サブブロックA0(X+1)の動き情報が利用可能である場合、サブブロックA0(X+1)は、現在ブロック(901)の頂部隣接参照サブブロックとしてサブブロックA0(X)を置き換えることができる。第3の例では、サブブロックA0Xの頂部隣接サブブロックA(-1)Xの動き情報が利用可能である場合、サブブロックA(-1)Xは、現在ブロック(901)の頂部隣接参照サブブロックとしてサブブロックA0(X)を置き換えることができる。
【0094】
第4の例では、サブブロックA0(X-1)、A0(X+1)、およびA(-1)Xの動き情報は、重み付け合成され、サブブロックA0Xの動き情報として使用され得る。重みは、これらの隣接サブブロックの動き情報の利用可能性に依存する可能性がある。例えば、重みは、利用可能な動き情報を持つサブブロック間で均等に分散することができる。さらに、サブブロックA00の動きベクトルは、参照サブブロックA0Xの動き情報が利用できないいくつかの例に使用され得る。
【0095】
一部の実施形態によれば、少なくとも1つの左側隣接参照サブブロックを有する現在ブロックについて、少なくとも1つの左側隣接参照サブブロックのうちの1つの動き情報が利用できない場合、少なくとも1つの左側隣接参照サブブロックのうちの1つの隣接サブブロックは、現在ブロックの左側隣接参照サブブロックとして少なくとも1つのサブブロックのうちの1つを置き換えるために使用される。
【0096】
引き続き
図9の例を参照し、サブブロックLX0(X=1、2、3、または4)は、現在ブロック(901)の左側隣接参照サブブロックである。サブブロックLX0のいくつかの隣接サブブロックは、上方隣接サブブロックL(X-1)0、底部隣接サブブロックL(X+1)0、および左側隣接サブブロックLX(-l)であり、ただし、-1はサブブロックLX0の左側位置を表す。
【0097】
一実施形態では、サブブロックLX0の動き情報は利用できないが、サブブロックLX0の隣接サブブロックの動き情報は利用可能である場合、サブブロックLX0の隣接サブブロックは、現在ブロック(901)の左側隣接参照サブブロックとしてサブブロックLX0を置き換えるために使用されることができる。一例では、サブブロックLX0の上方隣接サブブロックL(X-1)0の動き情報が利用可能である場合、サブブロックL(X-1)0は、現在ブロック(901)の左側隣接参照サブブロックとしてサブブロックLX0を置き換えることができる。別の例では、サブブロックLX0の底部隣接サブブロックL(X+1)0の動き情報が利用可能である場合、サブブロックL(X+1)0は、現在ブロック(901)の左側隣接参照サブブロックとしてサブブロックL(X)0を置き換えることができる。第3の例では、サブブロックLX0の左側隣接接サブブロックLX(-1)の動き情報が利用可能である場合、サブブロックLX(-1)は、現在ブロック(901)の左側隣接参照サブブロックとしてサブブロックL(X)0を置き換えることができる。第4の例では、サブブロックL(X-1)0、L(X+1)0、およびLX(-1)の動き情報は、重み付け合成され、サブブロックLX0の動き情報として使用され得る。重みは、これらの隣接サブブロックの動き情報の利用可能性に依存する可能性がある。例えば、重みは、利用可能な動き情報を持つサブブロック間で均等に分散することができる。さらに、サブブロックA00の動きベクトルは、参照サブブロックLX0の動き情報が利用できない一部の例に使用され得る。
【0098】
一部の実施形態によれば、現在ブロックの頂部隣接参照サブブロックについて、隣接サブブロックの動き情報の利用可能性をチェックする順序は、最も左側隣接サブブロックから最も右側隣接サブブロックまで、またはその逆であり得る。
図9に示す例を参照すると、一実施形態では、現在ブロック(901)の頂部隣接参照サブブロック(A01~A04)について、サブブロックA00の動き情報を最初にチェックし、それから、すべての必要なサブブロックの動き情報の利用可能性がチェックされるまでサブブロックA01、A02などをチェックするようにしてもよい。別の実施形態では、サブブロックA0(N+1)(
図9の例ではN=4)の動き情報を最初にチェックし、それから、すべての必要なサブブロックの動き情報の利用可能性がチェックされるまでサブブロックA0(N)、A0(N-1)などをチェックするようにしてもよい。
【0099】
一部の実施形態によれば、現在ブロックの左側隣接参照サブブロックについて、隣接サブブロックの動き情報の利用可能性をチェックする順序は、最も上方隣接サブブロックから最も底部隣接サブブロックまで、またはその逆であり得る。引き続き
図9の例を参照すると、一実施形態では、現在ブロック(901)の左側隣接参照サブブロック(L10~L40)について、サブブロックA00の動き情報を最初にチェックし、それから、すべての必要なサブブロックの動き情報の利用可能性がチェックされるまでサブブロックL10、L20などをチェックするようにしてもよい。別の実施形態では、サブブロックL(M+1)0(
図9の例ではM=4)の情報を最初にチェックし、それから、すべての必要なサブブロックの動き情報の利用可能性がチェックされるまでサブブロックL(M)0、L(Ml)0などをチェックするようにしてもよい。
【0100】
図10は、本開示の実施形態による例示的な平面動き予測方法を示す。平面動き予測方法では、各サブブロックの動きベクトルは、平面イントラ予測モードと類似の方法で導出される。
【0101】
まず最初に、現在ブロック(1001)の外側の右下(BR)隅のサブブロック(1002)(特に明記されない限り、BRサブブロックと呼ばれる)の動きベクトルは、コロケート参照ピクチャ内のBRサブブロック(1002)のコロケートサブブロックの時間的動きベクトル予測子(TMVP)を使用して予測される。
【0102】
第2に、外側右列のサブブロックR(W,y)(1003)の動きベクトルは、BRサブブロック(1002)と現在ブロック(1001)の外側の右上(AR)隅のサブブロック(1004)(ARサブブロックと呼ばれる)との動きベクトルの加重平均を使用して生成される。同様に、外側下行のサブブロックB(x,H)(1005)の動きベクトルは、BRサブブロック(1002)と現在ブロック(1001)の外側の左下(BL)隅のサブブロック(1006)(BLサブブロックと呼ばれる)との動きベクトルの加重平均を使用して生成される。
【0103】
サブブロックB(x,H)の動きベクトルが生成された後、現在ブロック(1001)の現在サブブロックC(x,y)(1010)の動きベクトル予測は、2つの動きベクトル予測子によって形成される。一方の動きベクトル予測子は、サブブロックR(W,y)(1003)と外側左列のサブブロックL(-1,y)(1007)との動きベクトルの加重平均を使用して形成される水平予測子である。他方の動きベクトル予測子は、サブブロックB(x,H)(1005)と外側上行のサブブロックA(x,-1)(1008)との動きベクトルの加重平均を使用して形成される垂直予測子である。現在サブブロックC(x,y)(1010)の動きベクトル予測は、その後、水平予測子と垂直予測子との加重平均によって形成される。
【0104】
隣接する動きベクトルからの重みは、異なる平面動きベクトル予測方法では異なり得るが、現在ブロックのBRサブブロックの動き情報の使用は、現在ブロックのBRサブブロックの動き情報に従って動きベクトル予測を実行する方法において一般的である。これに関して、BRサブブロックの動き情報が決定されると、平面動きベクトル予測方法が与えられれば、現在ブロックの他のサブブロックの予測子を決定し得る。したがって、平面動きベクトル予測方法を使用して現在ブロックを構築する場合、平面動きベクトル予測モードの使用に応じて、現在ブロックの右下(BR)隅の少なくとも1つの時間的動きベクトル予測子(TMVP)候補を決定するいくつかの方法を以下の段落で説明する。
【0105】
図11は、本開示の実施形態による、現在ブロック(1101)の異なる位置から現在ブロック(1101)のBRサブブロックのTMVPを決定する例示的な図を示す。BRサブブロックC0(1102)は、現在ブロック(1101)の外側の右下隅に位置する。なお、BR隅位置は、現在ブロック(1101)内にあるC2位置であってもよい。サブブロックC2(1103)がBRサブブロックとして選択されると、ARサブブロック(1105)およびBLサブブロック(1106)は、1つのサブブロックだけ任意に内側に移動することができる。言い換えれば、ARサブブロック(1105)は、1サブブロックの距離だけ左に移動され、BLサブブロック(1106)は、1サブブロックの距離だけ上に移動される。これに応じて、残りのサブブロックベースの平面動きベクトルの導出を実行することができる。例えば、現在ブロック(1101)の外側右列の位置は、現在ブロック(1101)の最も右列の位置になる。したがって、説明の簡略化のために、特に明記されない限り、以下の段落では、BR隅を使用してBRサブブロックC0(1102)およびC2(1103)のうちの1つを示す。
【0106】
一実施形態では、参照ピクチャ内のBRサブブロックのコロケートブロックを使用して、BR隅のTMVPを決定することができる。参照ピクチャ内のコロケートブロックは、現在の符号化ピクチャ内のBR隅と同じ位置にある。さらに、動きベクトル差分(MVD)がシグナリングされるため、シグナリングされたMVDをTMVPに追加することで、BR隅の最終的な動きベクトルを形成することができる。BR隅の最終的な動きベクトルが決定されると、現在ブロック(1101)の各サブブロックの動きベクトルは、平面動きベクトル予測方法を使用して導出されることができる。
【0107】
別の実施形態では、2つ以上の可能なTMVPを使用して、BR隅の動きベクトルを予測するための候補リストを形成する。候補リストのインデックスをシグナリングして、BR隅の動きベクトル予測子を選択する。さらに、MVDがシグナリングできるので、シグナリングされたMVDをインデックスで識別された選択されたTMVPに追加することで、BR隅の最終的な動きベクトルを形成することができる。
【0108】
候補リストを形成するために、いくつかの可能なTMVPを以下で説明する。
一例では、1つの可能なTMVPは、現在ブロック(1101)の中心位置に隣接するBR位置にあるサブブロックC1(1104)(コロケートピクチャ内)のコロケートブロックを使用して形成されることができる。
【0109】
別の例では、1つの可能なTMVPは、現在ブロック(1101)の内側のBR隅にあるサブブロックC2(1103)(コロケートピクチャ内)のコロケートブロックを使用して形成されることができる。
【0110】
他の例では、BR隅の他の可能なTMVPは、現在ブロック(1101)に関連する他の位置にあるサブブロック、例えば、サブブロックC1(1104)、AR(1105)、およびBR(1106)(これらのサブブロックの動き情報が利用可能である場合)のTMVPを使用して形成されることができる。
【0111】
さらに、一部の実施形態では、現在ブロック(1101)のAR(1105)およびBL(1106)の位置におけるサブブロックの動きベクトルの加重平均は、AR(1105)およびBL(1106)の位置におけるサブブロックの少なくとも1つの動きベクトルが利用可能である場合、BR隅の動きベクトル予測子として使用されることができる。一方の動きベクトルが利用できない場合、利用可能なものをBR隅の予測子として使用することができる。両方が利用可能であるが、2つのサブブロックAR(1105)およびBL(1106)の参照ピクチャの少なくとも1つが、現在ブロック(1101)の予測に使用される参照ピクチャと異なっていれば、異なる参照ピクチャを持つ動きベクトルを、動きベクトル予測子として使用する前に、現在ブロックの参照ピクチャにスケーリングするようにスケーリング処理を実行する。現在スライスが両方のリストからの参照ピクチャを持つBスライスである場合、BR隅の推定動きベクトル予測子は、バイラテラル検索またはデコーダ側の動きベクトル改良検索を実行するための開始点になり得る。そのような検索からの出力は、BR隅の最終的な動きベクトル予測子として使用されることができる。
【0112】
MVDは常に0であり得るため、上記の例ではシグナリングされないことに留意されたい。さらに、候補リストの候補順序は、予め定められることができる。例えば、候補順序は、サブブロックの位置によって予め定められることができる。そのような場合、サブブロックC0(1102)のTMVPの利用可能性を最初にチェックし、次にサブブロックC2(1103)のTMVPの利用可能性をチェックし、その後、サブブロックC1(1104)のTMVPが続く。これらの動きベクトル予測子からの選択は、第1の利用可能な予測子など、予め定められた順序に従って候補リスト内の利用可能な予測子を選択することによって行われることができる。また、これらの動きベクトル予測子からの選択は、利用可能であれば、BRサブブロックC0(1102)のTMVPなどの予め選択されたTMVPを選択することによって行われることもできる。
【0113】
一部の実施形態によれば、上記の方法は、シグナリングされたMVDを用いた一種の高度動きベクトル予測モードとして使用されることができる。現在ブロックがマージモードまたはスキップモードで符号化されない場合、ブロックレベルフラグは、MVDを用いた平面動きベクトル予測モードの使用を示すために使用され得る。
【0114】
一部の実施形態によれば、上記の方法は、シグナリングされた参照ピクチャに関連付けられることができる。これに関して、予測方向(L0、L1、または双予測)および各方向の参照インデックスは、参照ピクチャを識別するために使用される。或いは、現在スライスの事前定義されたコロケートピクチャ、選択された(デフォルトではL0を使用するなど)またはシグナリングされた予測リストにおける第1のピクチャなど、デフォルトの(推定の)参照ピクチャを使用することができる。
【0115】
一実施形態では、予測方向および参照ピクチャがシグナリングされるが、BR隅の動きベクトル予測子が異なる参照ピクチャを有していれば、BR隅の動きベクトル予測子は、シグナリングされた参照ピクチャにスケーリングされる。さらに、頂部隣接サブブロックおよび左側隣接サブブロックからのすべての動き情報も、シグナリングされた参照ピクチャにスケーリングされる。
【0116】
別の実施形態では、平面動きベクトル予測を使用するときに予測方向および参照ピクチャを推定する場合、BR隅の動きベクトル予測子は、推定された参照ピクチャにスケーリングされる。さらに、頂部隣接サブブロックおよび左側隣接サブブロックからのすべての動き情報は、推定された参照ピクチャにスケーリングされる。そのような場合、平面動きベクトル予測方法が使用されるとき、予測方向および参照インデックスのシグナリングをスキップすることができる。
【0117】
別の実施形態では、BR隅の動きベクトル予測子が2つの動きベクトルで双方向予測されるが、シグナリングされたまたは推定された予測方向が単方向であれば、推定されたまたはシグナリングされた方向を有する動きベクトル予測子の動き情報のみを保持する。
【0118】
図12は、本開示の実施形態による例示的なプロセス(1200)を概説するフローチャートを示す。プロセス(1200)は、再構築中のブロックのための予測ブロックを生成するように、イントラモードで符号化されたブロックの再構築に使用されることができる。様々な実施形態では、該プロセス(1200)は、端末装置(210)、(220)、(230)および(240)内の処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、イントラ予測モジュール(452)の機能を実行する処理回路、ビデオエンコーダ(503)の機能を実行する処理回路、予測器(535)の機能を実行する処理回路、イントラエンコーダ(622)の機能を実行する処理回路、イントラデコーダの機能を実行する処理回路(772)などの処理回路によって実行される。一部の実施形態では、該プロセス(1200)はソフトウェア命令で実施されるため、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(1200)を実行する。
【0119】
プロセスは、一般に、該プロセス(1200)で、符号化ビデオシーケンスの一部である現在の符号化ピクチャ内の現在ブロックの予測情報をデコードするステップ(S1210)で開始することができる。予測情報は、平面動きベクトル予測モードが現在ブロックに使用されるか否かを示す。さらに、現在ブロックは複数のサブブロックに分割される。一実施形態では、予測情報において、現在ブロックの参照ピクチャはシグナリングされる。予測情報が、現在ブロックに平面動きベクトル予測モードが使用されることを示す場合、プロセス(1200)は(S1220)に進む。
【0120】
プロセス(1200)は、該プロセス(1200)が、平面動きベクトル予測モードの使用に応じて、現在ブロックの右下(BR)隅の少なくとも1つの時間的動きベクトル予測子(TMVP)候補を決定するステップ(S1220)に進む。
【0121】
一実施形態では、BR隅は、現在ブロックの内側にあり得る。別の実施形態では、BR隅は、現在ブロックの外側にあり得る。
【0122】
一実施形態では、予測情報は、BR隅の動きベクトル差分(MVD)を含み、プロセス(1200)は、BR隅の少なくとも1つのTMVP候補のうちの1つおよびBR隅のMVDに基づいて、最終的な動きベクトルを決定することをさらに含む。
【0123】
一実施形態では、BR隅の少なくとも1つのTMVP候補のうちの1つの参照ピクチャが現在ブロックの参照ピクチャと異なる場合、プロセス(1200)は、BR隅の少なくとも1つのTMVP候補のうちの1つを現在ブロックの参照ピクチャにスケーリングし、これにより、現在ブロックは、BR隅の少なくとも1つのTMVP候補のうちのスケーリングされた候補に従って再構築される。
【0124】
一実施形態では、少なくとも1つのTMVP候補は、参照ピクチャ内のコロケートブロックに基づいて決定されるTMVP候補を含む。参照ピクチャ内のコロケートブロックは、現在の符号化ピクチャ内のBR隅でのサブブロックと同じ位置にある。
【0125】
一実施形態では、BR隅の少なくとも1つのTMVP候補は、現在ブロックの内側にあり、BR隅に隣接するサブブロックのTMVP候補を含む。
一実施形態では、BR隅の少なくとも1つのTMVP候補は、現在ブロックの内側にあり、現在ブロックの中心に隣接するサブブロックを含む。
一実施形態では、BR隅の少なくとも1つのTMVP候補は、現在ブロックの左下(BL)隣接サブブロックのTMVP候補を含む。
一実施形態では、BR隅の少なくとも1つのTMVP候補は、現在ブロックの右上(AR)隣接サブブロックのTMVP候補を含む。
【0126】
一実施形態では、BR隅の少なくとも1つのTMVP候補は、現在ブロックのBL隣接サブブロックと現在ブロックのAR隣接サブブロックとの動きベクトルの加重平均であるTMVP候補を含む。
【0127】
一実施形態では、プロセス(1200)は、少なくとも1つのTMVP候補のうちの1つを識別する受信インデックスに基づいて、少なくとも1つのTMVP候補から少なくとも1つのTMVP候補のうちの1つを選択する。
【0128】
一実施形態では、プロセス(1200)は、所定の候補順序に基づいて、少なくとも1つのTMVP候補から少なくとも1つのTMVP候補のうちの1つを選択する。
【0129】
一実施形態では、プロセス(1200)は、事前に選択されたTMVP候補に基づいて、少なくとも1つのTMVP候補から少なくとも1つのTMVP候補のうちの1つを選択する。
【0130】
現在ブロックの右下(BR)隅の少なくとも1つの時間的動きベクトル予測子(TMVP)候補のうちの1つを決定した後、プロセス(1200)はステップ(S1230)に進む。
【0131】
(S1230)では、プロセス(1200)は、BR隅の少なくとも1つのTMVP候補のうちの1つに従って現在ブロックの各サブブロックの動きベクトル予測子を導出し、現在ブロック内のそれぞれのサブブロックの動きベクトル予測子に従って現在ブロックを再構築する。
【0132】
現在ブロックを構築した後、プロセス(1200)は終了する。
【0133】
以上で説明された技法は、コンピュータ読取可能な命令を使用するコンピュータソフトウェアとして実行され、1つ以上のコンピュータ読取可能な媒体に物理的に記憶されることができる。例えば、
図13は、開示された主題の特定の実施形態を実行することに適したコンピュータシステム(1300)を示す。
【0134】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、またはそのようなメカニズムを施されて、1つ以上のコンピュータ中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)などによって直接、または解釈、マイクロコード実行などによって実行されることができる命令を含むコードを作成する任意の適切な機械コードまたはコンピュータ言語を用いて符号化されることができる。
【0135】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはそのコンポーネント上で実行されることができる。
【0136】
コンピュータシステム(1300)について、
図13に示される例示的なコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関していかなる限定を示唆することも意図しない。コンポーネントの構成は、コンピュータシステム(1300)の例示的な実施形態で示されるコンポーネントのうちのいずれか1つ又は組み合わせに関する任意の依存性又は必要性を有するとして解釈されるべきではない。
【0137】
コンピュータシステム(1300)は、特定のヒューマンインターフェース入力デバイスを含み得る。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(音声、拍手など)、視覚入力(ジェスチャーなど)、嗅覚入力(示されていない)によって、1人以上のユーザによる入力に応答することができる。ヒューマンインターフェースデバイスは、オーディオ(音声、音楽、環境音など)、画像(走査画像、静止画像カメラから取得される写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関係しない特定のメディアをキャプチャすることにも使用できる。
【0138】
入力ヒューマンインターフェースデバイスは、キーボード(1301)、マウス(1302)、トラックパッド(1303)、タッチスクリーン(1310)、データグローブ(図示せず)、ジョイスティック(1305)、マイクフォン(1306)、スキャナ(1307)、カメラ(1308)(それぞれ1つのみ示されている)のうちの1つ以上を含み得る。
【0139】
コンピュータシステム(1300)は、特定のヒューマンインターフェース出力デバイスをも含み得る。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音声、光、および嗅覚/味覚を介して1人以上のユーザの感覚を刺激し得る。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1310)、データグローブ(図示せず)、またはジョイスティック(1305)による触覚フィードバックがあるが、入力デバイスとして機能しない触覚フィードバックデバイスであってもよい)、オーディオ出力デバイス(スピーカ(1309)、ヘッドホン(示されていない)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1310)(それぞれタッチスクリーン入力能力を有するかもしくは有せず、それぞれ触覚フィードバック能力を有するかもしくは有しない。それらの一部は、ステレオグラフィック出力などの手段を介して、2次元の視覚出力または3次元以上の出力を出力することができる)、仮想現実眼鏡(示されていない)、ホログラフィックディスプレおよびスモークタンク(示されていない)など)、およびプリンタ(示されていない)を含み得る。
【0140】
コンピュータシステム(1300)は、人間がアクセス可能な記憶装置およびそれらの関連する媒体、例えば、CD/DVDなどの媒体(1321)付きのCD/DVD ROM/RW(1320)を含む光学媒体、サムドライブ(1322)、リムーバブルハードドライブまたはソリッドステートドライブ(1323)、テープやフロッピーディスクなどの従来の磁気媒体(示されていない)、セキュリティドングルなどの専用のROM/ASIC/PLDベースのデバイス(示されていない)などをも含むことができる。
【0141】
ここで開示された主題に関連して使用される「コンピュータ読取可能な媒体」という用語は、送信媒体、搬送波、または他の一時的な信号を包含しないことをも当業者が理解するべきである。
【0142】
コンピュータシステム(1300)は、1つ以上の通信ネットワークへのインターフェースをさらに含むことができる。ネットワークは、例えば、無線、有線、光学的であり得る。ネットワークは、さらに、ローカル、広域、大都市圏、車両用および産業用、リアルタイム、遅延耐性などであり得る。ネットワークの例は、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上放送TVを含むTV有線または無線広域デジタルネットワーク、CANBusを含む車両用や産業用などを含む。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス(1349)(例えば、コンピューターシステム(1300)のUSBポートなど)に接続された外部ネットワークインターフェースアダプターを必要とする。他のものは一般に、以下で説明するようにシステムバスに接続することにより、コンピューターシステム(1300)のコアに統合される(例えば、PCコンピューターシステムへのイーサネットインターフェースまたはスマートフォンコンピューターシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを用いて、コンピュータシステム(1300)は、他のエンティティと通信することができる。このような通信は、単方向、受信のみ(例えば、放送TV)、単方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向、例えばローカルまたはワイドエリアデジタルネットワークを用いる他のコンピュータシステムへの送信であり得る。特定のプロトコルおよびプロトコルスタックを上述したこれらのネットワークおよびネットワークインターフェースのそれぞれで使用することができる。
【0143】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶装置、およびネットワークインターフェースは、コンピュータシステム(1300)のコア(1340)に接続されることができる。
【0144】
コア(1340)は、1つ以上の中央処理装置(CPU)(1341)、グラフィックスプロセッシングユニット(GPU)(1342)、フィールドプログラマブルゲートエリア(FPGA)(1343)の形態での専用プログラマブル処理ユニット、特定のタスクのためのハードウェアアクセラレータ(1344)などを含むことができる。これらのデバイスは、リードオンリーメモリ(ROM)(1345)、ランダムアクセスメモリ(1346)、非ユーザアクセス可能な内部ハードドライブ、SSDなどの内部大容量記憶装置(1347)とともに、システムバス(1348)を介して接続されてもよい。一部のコンピュータシステムでは、システムバス(1348)は、1つ以上の物理プラグの形態でアクセスでき、追加のCPU、GPUなどによる拡張を可能にする。周辺機器は、コアのシステムバス(1348)に直接、または周辺バス(1349)を介して接続されることができる。周辺バスのアーキテクチャは、PCI、USBなどを含む。
【0145】
CPU(1341)、GPU(1342)、FPGA(1343)、およびアクセラレータ(1344)は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(1345)またはRAM(1346)に記憶されることができる。推移データはRAM(1346)にも記憶できるが、永続データは、例えば、内部大容量ストレージ(1347)に記憶されることができる。1つ以上のCPU(1341)、GPU(1342)、大容量ストレージ(1347)、ROM(1345)、RAM(1346)などと密接に関連付けることができるキャッシュメモリを使用することにより、任意のメモリデバイスへの高速保存および検索が可能になる。
【0146】
コンピュータ読取可能な媒体は、様々なコンピュータ実施操作を実行するためのコンピュータコードを備えることができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであり得るか、もしくは、それらは、コンピュータソフトウェア技術の当業者に周知であって利用可能な種類のものであり得る。
【0147】
限定ではなく、一例として、アーキテクチャを有するコンピュータシステム(1300)、特にコア(1340)は、1つ以上の有形のコンピュータ読取可能な媒体に組み込まれたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果としての機能性を提供することができる。このようなコンピュータ読取可能な媒体は、以上で紹介したようにユーザがアクセス可能な大容量ストレージ、および、コア内部大容量ストレージ(1347)またはROM(1345)などの非一時的な性質を持つコア(1340)の特定のストレージに関連付けられた媒体であり得る。本開示の様々な実施形態を実行するソフトウェアは、このようなデバイスに記憶され、コア(1340)によって実行されることができる。コンピュータ読取可能な媒体は、特定の必要に応じて、1つ以上のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(1340)、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(1346)に記憶されたデータ構造を定義すること、および、ソフトウェアで定義されたプロセスに従ってこのようなデータ構造を変更する言を含む、ここで説明する特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または、代替として、コンピュータシステムは、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行するためにソフトウェアの代わりにまたは一緒に動作することができる回路(例えば、アクセラレータ(1344))に有線接続されたまたは組み込まれたロジックの結果としての機能性を提供することができる。ソフトウェアへの言及は、必要に応じて、ロジックを含むことができ、その逆も同様である。コンピュータ読取可能な媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のためのロジックを具現化する回路、またはその両方を含むことができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを含む。
【0148】
(1)デコーダが実行する方法であって、符号化されたビデオシーケンスの一部である現在の符号化ピクチャ内の現在ブロックの予測情報をデコードするステップであって、前記予測情報は、前記現在ブロックに平面動きベクトル予測モードが使用されるか否かを示すものであり、前記現在ブロックは複数のサブブロックに分割される、ステップと、前記平面動きベクトル予測モードの使用に応じて、前記現在ブロックの右下(BR)隅の少なくとも1つの時間的動きベクトル予測子(TMVP)候補を決定するステップと、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つに従って前記現在ブロックを再構築するステップと、を含むデコーダにおけるビデオデコード方法。
【0149】
(2)前記予測情報において、前記現在ブロックの参照ピクチャはシグナリングされる、前記(1)に記載の方法。
【0150】
(3)前記BR隅の前記少なくとも1つのTMVP候補のうちの1つの参照ピクチャが前記現在ブロックの前記参照ピクチャと異なるとの決定に応じて、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つを前記現在ブロックの前記参照ピクチャにスケーリングするステップであって、前記現在ブロックは、前記BR隅の前記少なくとも1つのTMVP候補のうちのスケーリングされた候補に従って再構築される、ステップを含む、前記(2)に記載の方法。
【0151】
(4)前記予測情報は、前記BR隅の動きベクトル差分(MVD)を含み、前記方法は、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つおよび前記BR隅の前記MVDに基づいて、最終的な動きベクトルを決定するステップをさらに含む、前記(2)に記載の方法。
【0152】
(5)前記少なくとも1つのTMVP候補が、参照ピクチャ内のコロケートブロックに基づいて決定されるTMVP候補を含み、前記参照ピクチャ内の前記コロケートブロックは、前記現在の符号化ピクチャ内の前記BR隅にあるサブブロックと同じ位置にある、前記(2)に記載の方法。
【0153】
(6)前記BR隅にある前記サブブロックは、前記現在ブロックの外側に位置する、前記(5)に記載の方法。
【0154】
(7)前記BR隅にある前記サブブロックは、前記現在ブロックの内側にある、前記(5)に記載の方法。
【0155】
(8)前記BR隅の前記少なくとも1つのTMVP候補は、前記現在ブロックの内側に位置し、かつ前記BR隅に隣接する第1のサブブロック、および、前記現在ブロックの内側に位置し、かつ前記現在ブロックの中心に隣接する第2のサブブロックのうちの一方のTMVP候補、前記現在ブロックの左下(BL)隣接サブブロックのTMVP候補、および、前記現在ブロックの右上(AR)隣接サブブロックのTMVP候補、のうちの少なくとも1つを含む、前記(2)に記載の方法。
【0156】
(9)前記BR隅の前記少なくとも1つのTMVP候補は、前記現在ブロックのBL隣接サブブロックと前記現在ブロックのAR隣接サブブロックとの動きベクトルの平均であるTMVP候補を含む、前記(2)に記載の方法。
【0157】
(10)前記少なくとも1つのTMVP候補のうちの1つを識別する、受信インデックス、所定の候補順序、および、事前に選択されたTMVP候補、のうちの少なくとも1つに基づいて、候補リストから前記少なくとも1つのTMVP候補のうちの1つを選択するステップをさらに含む、前記(2)に記載の方法。
【0158】
(11)受信インデックス、および、所定の候補順序に基づいて、候補リストから前記少なくとも1つのTMVP候補のうちの1つを選択するステップであって、前記受信インデックスは、前記少なくとも1つのTMVP候補のうちの1つを識別するためのものである、ステップをさらに含む、前記(2)に記載の方法。
【0159】
(12)再構築する前記ステップは、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つに従って、前記現在ブロック内の各サブブロックの動きベクトル予測子を導出するステップと、前記現在ブロック内のそれぞれの前記サブブロックの前記動きベクトル予測子に従って、前記現在ブロックを再構築するステップと、を含む、前記(2)に記載の方法。
【0160】
(13)処理回路を備える装置であって、前記処理回路は、符号化されたビデオシーケンスの一部である現在の符号化ピクチャ内の現在ブロックの予測情報をデコードするように構成され、前記予測情報は、前記現在ブロックに平面動きベクトル予測モードが使用されるか否かを示すものであり、前記現在ブロックは複数のサブブロックに分割され、前記処理回路は、さらに、前記平面動きベクトル予測モードの使用に応じて、前記現在ブロックの右下(BR)隅の少なくとも1つの時間的動きベクトル予測子(TMVP)候補を決定し、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つに従って、前記現在ブロックを再構築する、ように構成される処理回路を備える装置。
【0161】
(14)前記予測情報において、前記現在ブロックの参照ピクチャはシグナリングされる、前記(13)に記載の装置。
【0162】
(15)前記処理回路は、さらに、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つの参照ピクチャが前記現在ブロックの前記参照ピクチャと異なるとの決定に応じて、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つを前記現在ブロックの前記参照ピクチャにスケーリングするように構成され、前記現在ブロックは、前記BR隅の前記少なくとも1つのTMVP候補のうちのスケーリングされた候補に従って再構築される、前記(14)に記載の装置。
【0163】
(16)前記予測情報は、前記BR隅の動きベクトル差分(MVD)を含み、前記処理回路は、さらに、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つおよび前記BR隅の前記MVDに基づいて、最終的な動きベクトルを決定するように構成される、前記(14)に記載の装置。
【0164】
(17)前記少なくとも1つのTMVP候補は、参照ピクチャ内のコロケートブロックに基づいて決定されるTMVP候補を含み、前記参照ピクチャ内の前記コロケートブロックは、前記現在の符号化ピクチャ内の前記BR隅にあるサブブロックと同じ位置にある、前記(14)に記載の装置。
【0165】
(18)前記BR隅の前記少なくとも1つのTMVP候補は、前記現在ブロックの内側に位置し、かつ前記BR隅に隣接する第1のサブブロック、および、前記現在ブロックの内側に位置し、かつ前記現在ブロックの中心に隣接する第2のサブブロックのうちの一方のTMVP候補、前記現在ブロックの左下(BL)隣接サブブロックのTMVP候補、および、前記現在ブロックの右上(AR)隣接サブブロックのTMVP候補、のうちの少なくとも1つを含む、前記(14)に記載の装置。
【0166】
(19)前記BR隅の前記少なくとも1つのTMVP候補は、前記現在ブロックのBL隣接サブブロックと前記現在ブロックのAR隣接サブブロックとの動きベクトルの加重平均であるTMVP候補を含む、前記(14)に記載の装置。
【0167】
(20)符号化されたビデオシーケンスの一部である現在の符号化ピクチャ内の現在ブロックの予測情報をデコードするステップであって、前記予測情報は、前記現在ブロックに平面動きベクトル予測モードが使用されるか否かを示すものであり、前記現在ブロックは複数のサブブロックに分割されるステップと、前記平面動きベクトル予測モードの使用に応じて、前記現在ブロックの右下(BR)隅の少なくとも1つの時間的動きベクトル予測子(TMVP)候補を決定するステップと、前記BR隅の前記少なくとも1つのTMVP候補のうちの1つに従って、前記現在ブロックを再構築するステップと、を実行するために少なくとも1つのプロセッサによって実行可能なプログラムを記憶する非一時的なコンピュータ読取可能な記憶媒体。
【0168】
付録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:Groups of Pictures(ピクチャ群)
TU:Transform Units(変換ユニット)
PU:Prediction Units(予測ユニット)
CTU:Coding Tree Units(符号化ツリーユニット)
CTB:Coding Tree Blocks(符号化ツリーブロック)
PB:Prediction Blocks(予測ブロック)
HRD:Hypothetical Reference Decoder(仮想参照デコーダ)
SNR:Signal Noise Ratio(信号対雑音比)
CPU:Central Processing Units(中央処理装置)
GPU:Graphics Processing Units(グラフィックスプロセッシングユニット)
CRT:Cathode Ray Tube(陰極線管)
LCD:Liquid-Crystal Display(液晶ディスプレイ)
OLED:Organic Light-Emitting Diode(有機発光ダイオード)
CD:Compact Disc(コンパクトディスク)
DVD:Digital Video Disc(デジタルビデオディスク)
ROM:Read-Only Memory(リードオンリーメモリ)
RAM:Random Access Memory(ランダムアクセスメモリ)
ASIC:Application-Specific Integrated Circuit(特定用途向け集積回路)
PLD:Programmable Logic Device(プログラマブルロジックデバイス)
LAN:Local Area Network(ローカルエリアネットワーク)
GSM:Global System for Mobile Communications(グローバルモバイル通信システム)
LTE:Long-Term Evolution(長期的な進化)
CANBus:Controller Area Network Bus(コントローラエリアネットワークバス)
USB:Universal Serial Bus(ユニバーサルシリアルバス)
PCI:Peripheral Component Interconnect(ペリフェラルコンポーネントインターコネクト)
FPGA:Field Programmable Gate Areas(フィールドプログラマブルゲートエリア)
SSD:Solid-State Drive(ソリッドステートドライブ)
IC:Integrated Circuit(集積回路)
CU:Coding Unit(符号化ユニット)
【0169】
本開示は一部の例示的な実施形態を説明してきたが、本開示の範囲内に含まれる変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書では明示的に示されていないか、または記載されていないが、本開示の原理を具現化し、その思想および範囲内に含まれる様々なシステムおよび方法を考案できることが理解されよう。
【符号の説明】
【0170】
200 通信システム
210 端末装置
220 端末装置
230 端末装置
240 端末装置
250 ネットワーク
301 ビデオソース
302 ビデオピクチャ
303 ビデオエンコーダ
304 ビデオデータ
305 ストリーミングサーバ
306 クライアントサブシステム
307 ビデオデータ(コピー)
308 クライアントサブシステム
309 ビデオデータ(コピー)
310 ビデオデコーダ
311 ビデオピクチャ
312 ディスプレイ
313 キャプチャサブシステム
320 電子デバイス
330 電子デバイス
401 チャネル
410 ビデオデコーダ
412 レンダリングデバイス
415 バッファメモリ
420 パーサ
421 シンボル
430 電子デバイス
431 受信機
451 逆変換ユニット
452 イントラ予測ユニット
453 補償予測ユニット
455 アグリゲータ
456 ループフィルタユニット
457 参照ピクチャメモリ
458 現在ピクチャバッファ
501 ビデオソース
503 ビデオエンコーダ
520 電子デバイス
530 ソースコーダ
532 符号化エンジン
533 ローカルビデオデコーダ
534 参照ピクチャメモリ
535 予測器
540 送信機
543 符号化ビデオシーケンス
545 エントロピーコーダ
550 コントローラ
560 通信チャネル