(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-01
(45)【発行日】2022-11-10
(54)【発明の名称】ビデオ復号の方法、装置、及びコンピュータプログラム
(51)【国際特許分類】
H04N 19/52 20140101AFI20221102BHJP
【FI】
H04N19/52
(21)【出願番号】P 2021532876
(86)(22)【出願日】2020-03-12
(86)【国際出願番号】 US2020022265
(87)【国際公開番号】W WO2020190617
(87)【国際公開日】2020-09-24
【審査請求日】2021-06-24
(32)【優先日】2019-03-15
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-03-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】シュイ,シアオジョォン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リ,グォイチュン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】岩井 健二
(56)【参考文献】
【文献】特開2020-088451(JP,A)
【文献】国際公開第2020/003266(WO,A1)
【文献】国際公開第2013/099285(WO,A1)
【文献】Chun-Chia Chen, et al.,CE4-related: Shared merge list,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-L0091-v2,12th Meeting: Macao, CN,2018年10月,pp.1-4
【文献】Chun-Chia Chen, et al.,CE4.3.1: Shared merging candidate list,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0170-v1,13th Meeting: Marrakech, MA,2019年01月,pp.1-13
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
デコーダが実行するビデオ復号のための方法であって、
一部が現在ピクチャのピクチャ境界の外側に位置する符号化領域の予測情報を復号するステップであって、前記現在ピクチャは、符号化ビデオシーケンスの一部であ
り、前記符号化領域は複数の符号化ブロックを含む、ステップと、
一部が前記ピクチャ境界の外側に位置する前記符号化領域に共有マージリストを使用するか否かを決定するステップ
であり、前記共有マージリストは、前記符号化領域に含まれる前記複数の符号化ブロックによって共有される、ステップと、
一部が前記ピクチャ境界の外側に位置している前記符号化領域に前記共有マージリスト
が使用
されると決定されることに応じて、
一部が前記ピクチャ境界の外側に位置している前記符号化領域の前記共有マージリストを構築するステップと、
前記共有マージリストに基づいて前記符号化領域を再構築するステップと、を含む方法。
【請求項2】
前記符号化領域のサイズが第1のサイズ閾値以下である場合、前記符号化領域に前記共有マージリストを使用すると決定する、請求項1に記載の方法。
【請求項3】
(i)前記符号化領域のサイズが第2のサイズ閾値以上であり、かつ
(ii)前記複数の符号化ブロックの1つのブロックサイズが前記第2のサイズ閾値より小さい場合、
前記符号化領域に前記共有マージリストを使用すると決定する、請求項1に記載の方法。
【請求項4】
前記符号化領域に前記共有マージリストを使用することに応じて、前記共有マージリストを構築するステップは、
前記符号化領域の同空間位置領域の中心位置に隣接して位置する第1のブロックを選択するステップであって、前記同空間位置領域が前記符号化領域の参照ピクチャにある、ステップと、
前記第1のブロックが前記現在ピクチャの前記ピクチャ境界の内側に位置し、かつインター予測モードで符号化された場合、前記第1のブロックに基づいて前記共有マージリストを構築するステップと、
をさらに含む請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記符号化領域に前記共有マージリストを使用することに応じて、前記共有マージリストを構築するステップは、
前記符号化領域の同空間位置領域の左上の位置に隣接して位置する第2のブロックを選択するステップであって、前記同空間位置領域が前記符号化領域の参照ピクチャにある、ステップと、
前記第2のブロックがインター予測モードで符号化された場合、前記第2のブロックに基づいて前記共有マージリストを構築するステップと、
をさらに含む請求項1~3のいずれか1項に記載の方法。
【請求項6】
デコーダが実行するビデオ復号のための方法であって、
符号化ビデオシーケンスの一部である現在ピクチャにおける現在ブロックの予測情報を復号するステップであって、
前記現在ブロックの一部は、前記現在ピクチャのピクチャ境界の外側に位置し、前記予測情報が前記現在ブロックのマージモードを示すものである、ステップと、
検査順序に従って、前記現在ブロックの同空間位置ブロックの複数の符号化ブロックを検査するステップであって、前記検査順序における2番目の検査位置が前記同空間位置ブロックの左上隅に隣接して位置する前記符号化ブロックのうちの1つであり、前記同空間位置ブロックが前記現在ブロックの参照ピクチャにある、ステップと、
前記検査された符号化ブロックに基づいて時間動きベクトル予測子(TMVP)を決定するステップと、
前記TMVPに基づいて前記現在ブロックを再構築するステップと、を含む方法。
【請求項7】
前記検査順序に従って、前記現在ブロックの同空間位置ブロックの複数の符号化ブロックを検査するステップは、
前記検査順序に従って前記符号化ブロックのうちの1つを選択するステップと、
前記選択された符号化ブロックがインター予測モードで符号化されたか否かを決定するステップと、
をさらに含む請求項6に記載の方法。
【請求項8】
前記同空間位置ブロックの左上隅に隣接して位置する前記符号化ブロックは、前記検査順序に従って、前記同空間位置ブロックの右下隅に隣接して位置する符号化ブロックの後に検査される、請求項6又は7に記載の方法。
【請求項9】
処理回路を含む装置であって、
前記処理回路は、請求項1~5のいずれか1項に記載の方法、
を実行するように構成される、装置。
【請求項10】
処理回路を含む装置であって、
前記処理回路は、
符号化ビデオシーケンスの一部である現在ピクチャにおける現在ブロックの予測情報を復号するステップであって、
前記現在ブロックの一部は、前記現在ピクチャのピクチャ境界の外側に位置し、前記予測情報が前記現在ブロックのマージモードを示すものである、ステップと、
検査順序に従って、前記現在ブロックの同空間位置ブロックの複数の符号化ブロックを検査するステップであって、前記検査順序における2番目の検査位置が前記同空間位置ブロックの左上隅に隣接して位置する前記符号化ブロックのうちの1つであり、前記同空間位置ブロックが前記現在ブロックの参照ピクチャにある、ステップと、
前記検査された符号化ブロックに基づいて時間動きベクトル予測子(TMVP)を決定するステップと、
前記TMVPに基づいて前記現在ブロックを再構築するステップと、
を実行するように構成される、装置。
【請求項11】
少なくとも1つのプロセッサによって実行される場合に、前記少なくとも1つのプロセッサに、請求項1~5のいずれか1項に記載の方法を実行させるコンピュータプログラム。
【請求項12】
少なくとも1つのプロセッサによって実行される場合に、前記少なくとも1つのプロセッサに、
符号化ビデオシーケンスの一部である現在ピクチャにおける現在ブロックの予測情報を復号するステップであって、
前記現在ブロックの一部は、前記現在ピクチャのピクチャ境界の外側に位置し、前記予測情報が前記現在ブロックのマージモードを示すものである、ステップと、
検査順序に従って、前記現在ブロックの同空間位置ブロックの複数の符号化ブロックを検査するステップであって、前記検査順序における2番目の検査位置が前記同空間位置ブロックの左上隅に隣接して位置する前記符号化ブロックのうちの1つであり、前記同空間位置ブロックが前記現在ブロックの参照ピクチャにある、ステップと、
前記検査された符号化ブロックに基づいて時間動きベクトル予測子(TMVP)を決定するステップと、
前記TMVPに基づいて前記現在ブロックを再構築するステップと、を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本願は、2019年3月15日に提出された、出願番号が62/819502であり、発明の名称が「TEMPORAL MV DERIVATION IN SHARED MERGE REGION AT PICTURE BOUNDARY」である米国仮出願に対して優先権を主張する、2020年3月11日に提出された、出願番号が16/815940であり、発明の名称が「TEMPORAL MOTION VECTOR DERIVATION IN SHARED MERGE REGION AT PICTURE BOUNDARY」である米国特許出願に対して優先権を主張する。これらの出願の全ての内容は、参照により本願に組み込むものとする。
【0002】
[技術分野]
本開示は、一般的にビデオ符号化に関する実施形態を記載する。
【背景技術】
【0003】
本明細書で提供される「背景技術」の説明は、本開示の背景を大まかに示すことを目的とする。ここに名を挙げられている発明者の業績は、この背景技術に記載された範囲において、出願時に従来技術として通常見なされえない記載の態様と共に、明示的にも黙示的にも本開示に対する従来技術として認められない。
【0004】
ビデオ符号化および復号は、動き補償を伴うインターピクチャ予測を使用して実行されることができる。非圧縮デジタルビデオは一連のピクチャを含むことができ、各ピクチャは、例えば、1920×1080輝度サンプルと関連する彩度サンプルの空間寸法を持っている。該一連のピクチャは、例えば毎秒60ピクチャまたは60Hzの固定または可変ピクチャレート(非公式には「フレームレート」とも呼ぶことができる)を持つことができる。非圧縮ビデオには、顕著なビットレート要件がある。例えば、サンプルあたり8ビットでの1080p60 4:2:0ビデオ(60Hzフレームレートでの1920×1080輝度サンプル解像度)には、1.5Gbit/sに近い帯域幅が必要となる。このようなビデオを1時間使用するには、600GBytesを超えた記憶空間が必要である。
【0005】
ビデオ符号化および復号の1つの目的は、圧縮によって入力ビデオ信号の冗長性を減らすことであり得る。圧縮は、前述の帯域幅または記憶空間の要件を、場合によっては2桁以上削減するのに役立つ。可逆圧縮と非可逆圧縮の両方、およびそれらの組み合わせを使用することができる。可逆圧縮とは、圧縮された元の信号から元の信号の正確なコピーを再構築できる技法を指す。非可逆圧縮を使用する場合、再構築された信号は元の信号と同一ではない可能性があるが、元の信号と再構築された信号との間の歪みは、再構築された信号を意図されたアプリケーションに役立てる程度に小さい。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量はアプリケーションによって異なる。例えば、特定のコンシューマストリーミングアプリケーションのユーザは、テレビ発行アプリケーションのユーザよりも高い歪みを許容できる。達成可能な圧縮率は、受け入れ可能/許容可能な歪みが大きいほど、圧縮率が高くなることを反映することができる。
【0006】
ビデオエンコーダおよびデコーダは、例えば、動き補償、変換、量子化、およびエントロピー符号化を含むいくつかの幅広いカテゴリからの技法を利用することができる。
【0007】
ビデオコーデック技術は、イントラ符号化として知られる技法を含み得る。イントラ符号化では、サンプル値は、予め再構築された参照ピクチャからのサンプルまたは他のデータを参照せずに表される。一部のビデオコーデックでは、ピクチャは空間的にサンプルのブロックに細分される。サンプルのすべてのブロックがイントラモードで符号化されると、そのピクチャはイントラピクチャになる可能性がある。イントラピクチャと、独立したデコーダリフレッシュピクチャなどのその派生物とは、デコーダの状態をリセットするために使用できるため、符号化されたビデオビットストリームとビデオセッションの最初のピクチャとして、または静止画像として使用されることができる。イントラブロックのサンプルは変換にさらされることができ、変換係数はエントロピー符号化の前に量子化されることができる。イントラ予測は、事前変換領域でサンプル値を最小化する技法であり得る。場合によっては、変換後のDC値が小さく、AC係数が小さいほど、エントロピー符号化後のブロックを表すために所定の量子化ステップサイズで必要なビットが少なくなる。
【0008】
例えばMPEG-2世代符号化技術から知られているような従来のイントラ符号化は、イントラ予測を使用しない。しかしながら、いくつかのより新しいビデオ圧縮技術は、例えば、空間的に隣接し、デコード順で先に位置するデータのブロックのエンコード/デコード中に得られた周囲のサンプルデータおよび/またはメタデータからイントラ予測を試みる技法を含む。そのような技法は、以降、「イントラ予測」技法と呼ぶことができる。少なくともいくつかのケースでは、イントラ予測は、再構成中の現在ピクチャからの参照データのみを使用し、参照ピクチャからの参照データを使用しないことに注意されたい。
【0009】
イントラ予測はさまざまな形態で存在し得る。そのような技法の2つ以上が所定のビデオ符号化技術に使用できる場合、使用中の技法はイントラ予測モードで符号化されることができる。場合によっては、モードはサブモードやパラメータを有することができ、それらを個別に符号化するか、もしくはモードコードワードに含めることができる。どのコードワードが所定のモード/サブモード/パラメータの組み合わせに使用されるかは、イントラ予測による符号化効率ゲインに影響を与える可能性があるので、コードワードをビットストリームに変換するために使用されるエントロピー符号化技術にも影響を与える可能性がある。
【0010】
イントラ予測の特定のモードはH.264で提出され、H.265で改良され、さらに共同探索モデル(JEM)、バーサタイルビデオ符号化(VVC)、およびベンチマークセット(BMS)などのより新しい符号化技術で改良された。予測子ブロックは、すでに利用可能なサンプルに属する隣接サンプル値を使用して形成されることができる。隣接サンプルのサンプル値は、方向に従って予測子ブロックにコピーされる。使用中の方向への参照は、ビットストリームで符号化されるか、もしくはそれ自体を予測され得る。
【0011】
図1Aを参照すると、右下に示されているのは、H.265の33通りの予測可能な方向(35個のイントラ予測モードのうちの33個の角度モードに対応)から知られる9通りの予測方向のサブセットである。矢印が収束する点(101)は、予測されているサンプルを表す。矢印は、サンプルが予測されている方向を表す。例えば、矢印(102)は、サンプル(101)が、水平軸から45度の角度での右上の1つまたは複数のサンプルから予測されることを示す。同様に、矢印(103)は、サンプル(101)が、水平軸から22.5度の角度での、サンプル(101)の左下の1つまたは複数のサンプルから予測されることを示す。
【0012】
引き続き
図1Aを参照すると、左上には、4×4サンプルの正方形ブロック(104)(太い破線で示されている)が示されている。正方形ブロック(104)は、それぞれが、「S」、Y次元におけるその位置(例えば、行インデックス)、およびX次元におけるその位置(例えば、列インデックス)でラベル付けされた16サンプルを含む。例えば、サンプルS21は、Y次元(上から)における2番目のサンプルかつX次元(左から)における1番目のサンプルである。同様に、サンプルS44は、YおよびX次元の両方においてブロック(104)における4番目のサンプルである。ブロックのサイズは4×4サンプルであるから、S44は、右下にある。さらに、同様な番号付け体系に従う参照サンプルが示されている。参照サンプルは、R、ブロック(104)に対するそのY位置(例えば、行インデックス)およびX位置(列インデックス)でラベル付けされる。H.264とH.265の両方で、予測サンプルは再構築中のブロックに隣接している。したがって、負の値を使用する必要はない。
【0013】
イントラピクチャ予測は、シグナリングされた予測方向で適切な隣接するサンプルから参照サンプル値をコピーすることで機能することができる。例えば、仮に、符号化されたビデオビットストリームは、このブロックについて矢印(102)と一致する予測方向(すなわち、サンプルが、水平から45度の角度での右上の1つまたは複数の予測サンプルから予測される)を示すシグナリングを含むとする。この場合、サンプルS41、S32、S23、およびS14は同一の参照サンプルR05から予測される。サンプルS44は、参照サンプルR08から予測される。
【0014】
特定の場合において、複数の参照サンプルの値は、参照サンプルを算出するために、特に方向が45度で均等に分割されていない場合、例えば補間によって組み合わせられることができる。
【0015】
ビデオ符号化技術が発展するにつれて、可能な方向の数は増加した。H.264(2003年)では、9通りの異なる方向を表すことができた。H.265(2013年)で33通りに増加し、JEM/VVC/BMSは開示時に最大65通りの方向をサポートできる。最も可能性のある方向を識別するための実験が行われ、エントロピー符号化における特定の技法は、数が少ないビットで可能性の高い方向を表すために使用され、可能性の低い方向に対する特定のペナルティを容認する。さらに、方向自体は、隣接する、すでにデコードされたブロックで使用される隣接方向から予測される場合がある。
【0016】
図1Bは、経時的な予測方向の増加数を示すために、JEMによる65通りのイントラ予測方向を示す概略図(105)を示す。
【0017】
方向を表す符号化されたビデオビットストリームにおけるイントラ予測方向ビットのマッピングは、ビデオ符号化技術ごとに異なる可能性があり、また、例えば、イントラ予測モードへ乃至コードワードへの予測方向の単純な直接マッピングから、最も可能性の高いモードや類似した技法を含む複雑な適応方式までの範囲とすることができる。しかしながら、すべての場合において、他の特定の方向よりも統計的にビデオコンテンツにおいて発生する可能性が低い特定の方向が存在する可能性がある。ビデオ圧縮の目的は冗長性の削減であるため、適切に機能するビデオ符号化技術では、これらの可能性の低い方向は、可能性の高い方向よりも多くのビット数で表される。
【0018】
動き補償は、非可逆圧縮技術であり得、予め再構築されたピクチャまたはその一部(参照ピクチャ)からのサンプルデータのブロックを、動きベクトル(以降、「MV」)によって示される方向に空間的にシフトした後、新しく再構築されたピクチャまたはピクチャ部分の予測に使用する技術に関連し得る。場合によっては、参照ピクチャは現在再構築中のピクチャと同じになることがある。MVは、XとYの2次元、または、第3次元が、使用中の参照ピクチャを示す3次元を持つことができる(後者は間接的に時間次元になることができる)。
【0019】
一部のビデオ圧縮技術では、サンプルデータの特定の領域に適用可能なMVは、他のMVから、例えば再構築中の領域に空間的に隣接し、デコード順でそのMVよりも前であるサンプルデータの別の領域に関連するMVから予測されることができる。そうすることで、MVの符号化に必要なデータの量を大幅に減らすことができ、これにより冗長性を取り除き、圧縮を強化する。例えば、カメラから導出される入力ビデオ信号(「ナチュラルビデオ」と呼ぶことができる)を符号化する際に、単一のMVが適用される領域より大きい領域が、同様の方向に移動するため、場合によって隣接領域のMVから導出された類似の動きベクトルを使用して予測されることができる統計的可能性があるため、MV予測は有効に働くことができる。その結果、特定の領域に対して検出されたMVは、周囲のMVから予測されたMVと類似または同一であり、逆に、エントロピー符号化後、MVを直接符号化する場合よりも少ないビット数で表されることができる。場合によっては、MV予測は、元の信号(つまり、「サンプルストリーム」)から導出される信号(つまり、「MV」)の可逆圧縮の例になってもよい。他の場合では、例えばいくつかの周囲のMVから予測子を計算するときの丸め誤差のために、MV予測自体は非可逆になる可能性がある。
【0020】
H.265/HEVC(ITU-T推奨のH.265、「高効率ビデオ符号化」、2016年12月)には、様々なMV予測メカニズムが記載されている。H.265が提供する多くのMV予測メカニズムのうち、高度動きベクトル予測(AMVP)モードおよびマージモードについてここで説明される。
【0021】
AMVPモードでは、予測残差がさらに符号化されつつ、現在ブロックの空間的および時間的に隣接するブロックの動き情報を用いて、現在ブロックの動き情報を予測することができる。空間的および時間的に隣接する候補の例がそれぞれ
図1Cと
図1Dに示されている。2つの候補の動きベクトル予測子リストが形成される。第1の候補予測子は、
図1Cに示されているように、現在ブロック(111)の左下隅に隣接する2つのブロックA0(112)およびA1(113)の最初の利用可能な動きベクトルからのものである。第2の候補予測子は、現在ブロック(111)の上にある3つのブロックB0(114)、B1(115)、およびB2(116)の最初の利用可能な動きベクトルからのものである。チェックされた場所から有効な動きベクトルが見つからない場合、候補はリストに記入されない。2つの利用可能な候補が同じ動き情報を有する場合、1つの候補のみがリストに保持される。リストがいっぱいではない場合、すなわちリストに2つの異なる候補がない場合、
図1Dに示されているように、参照ピクチャにおける同空間位置ブロック(121)の右下隅に隣接するC0(122)からの時間的同空間位置動きベクトル(スケーリング後)は、別の候補として用いられる。C0(122)位置の動き情報が利用できない場合、その代わりに、参照ピクチャにおける同空間位置ブロックの中心位置C1(123)が用いられる。前記導出では、動きベクトル予測子候補がまだいっぱいではない場合、ゼロ動きベクトルがリストを満たすために用いられる。mvp_10_flagとmvp_11_flagの2つのフラグが、ビットストリームにおいてシグナリングされて、それぞれMV候補リストL0とL1のAMVPインデックス(0または1)を示す。
【0022】
インターピクチャ予測のマージモードでは、マージフラグ(スキップフラグを含む)がTRUEとしてシグナリングされる場合、マージインデックスがシグナリングされて、マージ候補リスト内のどの候補が現在ブロックの動きベクトルを示すために用いられるかを示す。デコーダでは、マージ候補リストが、現在ブロックの空間的および時間的隣接に基づいて構築される。
図1Cに示されているように、5つの空間的に隣接するブロック(A0~B2)から導出された最大4つのMVがマージ候補リストに追加される。また、
図1Dに示されているように、参照ピクチャの同空間位置ブロック内の2つの位置(C0およびC1)からの最大1つのMVがリストに追加される。追加のマージ候補は、組み合わせられた双予測候補およびゼロ動きベクトル候補などを含む。ブロックの動き情報をマージ候補とする前に、冗長性チェックが行われて、現在マージ候補リスト内の要素と同一であるか否かをチェックする。現在マージ候補リストの各要素とは異なる場合、マージ候補としてマージ候補リストに追加される。MaxMergeCandsNumが、候補番号でマージ候補リストのサイズとして定義される。HEVCでは、MaxMergeCandsNumが、ビットストリームにおいてシグナリングされる。スキップモードが、残差がゼロの特別なマージモードと見なすことができる。
【発明の概要】
【0023】
本開示の態様は、ビデオエンコード/復号のための方法および装置を提供する。一部の例では、ビデオ復号のための装置は、受信回路および処理回路を含む。
【0024】
前記処理回路は、一部が現在ピクチャのピクチャ境界の外側に位置する符号化領域の予測情報を復号する。前記現在ピクチャは、符号化ビデオシーケンスの一部である。前記処理回路は、前記符号化領域に共有マージリストを使用するか否かを決定する。前記処理回路は、前記符号化領域に共有マージリストを使用することに応じて、前記共有マージリストを構築し、前記共有マージリストに基づいて前記符号化領域を再構築する。
【0025】
一実施形態では、前記符号化領域のサイズが第1のサイズ閾値以下である場合、前記符号化領域に前記共有マージリストを使用すると決定する。
【0026】
別の実施形態では、前記符号化領域は、複数の符号化ブロックを含み、(i)前記符号化領域のサイズが第2のサイズ閾値以上であり、かつ(ii)前記複数の符号化ブロックの1つのブロックサイズが前記第2のサイズ閾値より小さい場合、前記符号化領域に前記共有マージリストを使用すると決定する。
【0027】
前記処理回路は、前記符号化領域の同空間位置領域の中心位置に隣接して位置する第1のブロックを選択することができる。前記同空間位置領域が前記符号化領域の参照ピクチャにある。前記処理回路は、前記第1のブロックが前記現在ピクチャの前記ピクチャ境界の内側に位置し、かつインター予測モードで符号化されたか否かを決定する。前記第1のブロックが前記現在ピクチャの前記ピクチャ境界の内側に位置し、かつ前記インター予測モードで符号化されたと決定された場合、前記処理回路は、前記第1のブロックに基づいて前記共有マージリストを構築する。
【0028】
別の実施形態では、前記処理回路は、前記現在領域の前記同空間位置領域の左上の位置に隣接して位置する第2のブロックを選択する。前記処理回路は、前記第2のブロックがインター予測モードで符号化されたか否かを決定する。前記第2のブロックが前記インター予測モードで符号化されたと決定された場合、前記処理回路は、前記第2のブロックに基づいて前記共有マージリストを構築する。
【0029】
本開示はまた、ビデオ復号のための別の装置を提示する。前記装置は、符号化ビデオシーケンスの一部である現在ピクチャにおける現在ブロックの予測情報を復号する処理回路を含む。前記予測情報は、前記現在ブロックのマージモードを示す。前記処理回路は、検査順序に従って、前記現在ブロックの同空間位置ブロックの複数の符号化ブロックを検査する。前記検査順序における2番目の検査位置が前記同空間位置ブロックの左上隅に隣接して位置する前記符号化ブロックのうちの1つである。前記同空間位置ブロックが前記現在ブロックの参照ピクチャにある。前記処理回路は、前記検査された符号化ブロックに基づいて時間動きベクトル予測子(TMVP)を決定し、前記TMVPに基づいて前記現在ブロックを再構築する。
【0030】
一実施形態では、前記処理回路は、前記検査順序に従って前記符号化ブロックのうちの1つを選択し、前記選択された符号化ブロックがインター予測モードで符号化されたか否かを決定する。例えば、前記同空間位置ブロックの前記左上隅に隣接して位置する符号化ブロックは、前記検査順序に従って、前記同空間位置ブロックの右下隅に隣接して位置する符号化ブロックの後に検査することができる。
【0031】
本開示の態様はまた、ビデオ復号のためにコンピュータによって実行されると、前記コンピュータにビデオ復号のための方法の組み合わせのいずれか1つを実行させる命令を記憶する非一時的なコンピュータ可読媒体を提供する。
【0032】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになる。
【図面の簡単な説明】
【0033】
【
図1A】イントラ予測モードの例示的なサブセットの概略図である。
【0034】
【
図1B】例示的なイントラ予測方向の説明図である。
【0035】
【
図1C】一例における現在ブロックおよびその周囲の空間マージ候補の概略図である。
【0036】
【
図1D】一例における同空間位置ブロックおよび時間的マージ候補の概略図である。
【0037】
【
図2】例示的な実施形態に係る通信システムの簡略化されたブロック図の概略図である。
【0038】
【
図3】例示的な実施形態に係る通信システムの簡略化されたブロック図の概略図である。
【0039】
【
図4】例示的な実施形態に係るデコーダの簡略化されたブロック図の概略図である。
【0040】
【
図5】例示的な実施形態に係るエンコーダの簡略化されたブロック図の概略図である。
【0041】
【
図6】別の例示的な実施形態に係るエンコーダを示すブロック図である。
【0042】
【
図7】別の例示的な実施形態に係るデコーダを示すブロック図である。
【0043】
【
図8】本開示の例示的な実施形態に係るマージ共有ノードの4つの例を示す図である。
【0044】
【
図9】本開示の例示的な実施形態に係るタイプ1とタイプ2の定義の違いの例を示す図である。
【0045】
【
図10】本開示の実施形態に係る同空間位置ブロックおよび時間的マージ候補を示す概略図である。
【0046】
【
図11】本開示の実施形態に係る例示的なプロセスの概要を示すフローチャートである。
【0047】
【
図12】本開示の別の実施形態に係る例示的なプロセスの概要を示すフローチャートである。
【0048】
【
図13】例示的な実施形態に係るコンピュータシステムの概略図である。
【発明を実施するための形態】
【0049】
図2は、本開示の例示的な実施形態における通信システム(200)の概略ブロック図を示している。通信システム(200)は、例えばネットワーク(250)を介して互いに通信可能な複数の端末装置を含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された第1の対の端末装置(210)および(220)を含む。
図2の例では、第1の対の端末装置(210)および(220)は、データの単方向送信を実行する。例えば、端末装置(210)は、ネットワーク(250)を介して他方の端末装置(220)へ送信するためにビデオデータ(例えば、端末装置(210)によってキャプチャされたビデオピクチャのストリーム)を符号化し得る。エンコードされたビデオデータは、1つ以上の符号化されたビデオビットストリームの形で送信されることができる。端末装置(220)は、ネットワーク(250)から符号化ビデオデータを受信し、符号化ビデオデータをデコードしてビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示することができる。単方向のデータ送信は、メディア供給アプリケーションなどで一般的である。
【0050】
他の例では、通信システム(200)は、例えば、ビデオ会議中に発生し得る符号化ビデオデータの双方向送信を実行する第2の対の端末装置(230)および(240)を含む。データの双方向送信の場合、一例では、端末装置(230)および(240)のそれぞれは、ネットワーク(250)を介して端末装置(230)および(240)のうちの他方の端末装置へ送信するためにビデオデータ(例えば、端末装置によってキャプチャされたビデオピクチャのストリーム)を符号化し得る。端末装置(230)および(240)の一方は、端末装置(230)および(240)のうちの他方の端末装置で送信された符号化ビデオデータを受信することができ、符号化ビデオデータをデコードしてビデオピクチャを復元することができ、復元されたビデオデータに従ってビデオピクチャをアクセス可能な表示装置に表示することができる。
【0051】
図2の例では、端末装置(210)、(220)、(230)および(240)は、サーバ、パーソナルコンピュータおよびスマートフォンとして示され得るが、しかし、本開示の原理はこれに制限されることはない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤー、専用のビデオ会議機器などにおける用途を見出す。ネットワーク(250)は、例えば有線および/または無線通信ネットワークを含む、端末装置(210)、(220)、(230)および(240)間で符号化ビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(250)は、回線交換および/またはパケット交換チャネルでデータを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットを含む。本議論の目的のために、ネットワーク(250)のアーキテクチャおよびトポロジーは、以下で説明されない限り、本開示の動作にとって重要でないかもしれない。
【0052】
図3は、開示された主題の適用の例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示している。開示された主題は、例えば、ビデオ会議、デジタルTV、および、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの記憶など、を含む他のビデオ対応アプリケーションに等しく適用可能である。
【0053】
ストリーミングシステムは、例えば非圧縮のビデオピクチャ(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の文脈に使用され得る。
【0054】
なお、電子デバイス(320)および(330)は、他の構成要素(図示せず)を含むことができる。例えば、電子デバイス(320)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(330)は、ビデオエンコーダ(図示せず)を含むこともできる。
【0055】
図4は、本開示の実施形態におけるビデオデコーダ(410)のブロック図を示す。ビデオデコーダ(410)は、電子デバイス(430)に含まれることができる。電子デバイス(430)は、受信機(431)(例えば、受信回路)を含むことができる。ビデオデコーダ(410)は、
図3の例におけるビデオデコーダ(310)の代わりに使用されることができる。
【0056】
受信機(431)は、ビデオデコーダ(410)によってデコードされる1つ以上の符号化ビデオシーケンスを受信することができ、同一または別の実施形態では、一度に1つの符号化ビデオシーケンスを受信してもよく、各符号化ビデオシーケンスのデコードは、他の符号化ビデオシーケンスから独立している。符号化ビデオシーケンスは、エンコードされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであり得るチャネル(401)から受信されることができる。受信機(431)は、それぞれの使用エンティティ(図示せず)に転送され得る他のデータ、例えば、符号化オーディオデータおよび/または補助データストリームとともに、エンコードされたビデオデータを受信し得る。受信機(431)は、符号化ビデオシーケンスを他のデータから分離することができる。ネットワークジッタを防止するために、バッファメモリ(415)は、受信機(431)とエントロピーデコーダ/パーサ(420)(以降、「パーサ(420)」)との間に結合されてもよい。特定のアプリケーションでは、バッファメモリ(415)は、ビデオデコーダ(410)の一部である。他の場合、バッファメモリ(415)は、ビデオデコーダ(410)の外部に存在し得る(図示せず)。さらに他の場合、例えば、ネットワークジッタを防止するためにビデオデコーダ(410)の外部にバッファメモリ(図示せず)が存在し、さらに、例えば、再生タイミングを取り扱うためにビデオデコーダ(410)の内部に別のバッファメモリ(415)が存在し得る。受信機(431)が十分な帯域幅および可制御性を有する記憶/転送装置から、または等同期ネットワークからデータを受信する際に、バッファメモリ(415)は必要とされないことがあり、または小さくされることがある。インターネットのようなベストエフォートパケットネットワークで使用するために、バッファメモリ(415)が必要になる場合があり、バッファメモリ(415)は、比較的大きいことがあり、有利には適応サイズであることができ、ビデオデコーダ(410)の外部のオペレーティングシステムまたは類似の要素(図示せず)で少なくとも部分的に実装され得る。
【0057】
ビデオデコーダ(410)は、符号化ビデオシーケンスからシンボル(421)を再構築するパーサ(420)を含んでもよい。これらのシンボルのカテゴリは、ビデオデコーダ(410)の操作を管理するために使用される情報を含んで、および、電子デバイス(430)の不可欠な部分ではないが、
図4に示されているように電子デバイス(430)に結合され得るレンダリングデバイス(412)(例えば、表示画面)のようなレンダリングデバイスを制御する情報を潜在的に含む。レンダリングデバイスのための制御情報は、補助強化情報(SEI)メッセージまたはビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形態であってよい。パーサ(420)は、受信された符号化ビデオシーケンスを構文解析/エントロピーデコードすることができる。符号化ビデオシーケンスの符号化は、ビデオ符号化技術または規格に合わせることができ、可変長符号化、ハフマン符号化、文脈感受性を有するもしくは有さない算術符号化などを含む様々な原理に従うことができる。パーサ(420)は、グループに対応する少なくとも1つのパラメータに基づいて、符号化ビデオシーケンスからビデオデコーダ内の画素の少なくとも1つのサブグループのためのサブグループパラメータのセットを抽出することができる。サブグループは、グループ・オブ・ピクチャ(GOP)、ピクチャ、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(420)は、符号化ビデオシーケンスから変換係数、量子化パラメータ値、動きベクトルなどのような情報をも抽出することができる。
【0058】
パーサ(420)は、シンボル(421)を作成するために、バッファメモリ(415)から受信されたビデオシーケンスに対してエントロピーデコード/構文解析操作を実行することができる。
【0059】
シンボル(421)の再構築は、符号化ビデオピクチャまたはその一部のタイプ(例えば、インターおよびイントラピクチャ、インターおよびイントラブロック)、および他の要因に応じて、複数の異なるユニットが関与することができる。どのユニットが、どのように関与するかは、パーサ(420)によって符号化ビデオシーケンスから構文解析されたサブグループ制御情報によって制御されることができる。パーサ(420)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために示されていない。
【0060】
すでに述べた機能ブロックに加え、ビデオデコーダ(410)は、以下で説明されるようにいくつかの機能ユニットに概念的に細分されることができる。商業的な制約の下で実際の実施操作にあたっては、これらのユニットの多くは互いに密接に相互作用し、少なくとも一部は互いに統合することができる。しかしながら、開示された主題の説明の目的で、以下の機能ユニットへの概念的な細分は、適切に行われる。
【0061】
第1のユニットは、スケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、使用する変換、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む制御情報と、量子化された変換係数とを、シンボル(421)としてパーサ(420)から受信する。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)に入力可能なサンプル値を含むブロックを出力することができる。
【0062】
場合によっては、スケーラ/逆変換(451)の出力サンプルは、イントラ符号化ブロック、すなわち、予め再構築されたピクチャからの予測情報を使用していないが、現在ピクチャの予め再構築された部分からの予測情報を使用できるブロックに関係することがある。このような予測情報は、イントラピクチャ予測ユニット(452)によって提供されることができる。場合によっては、イントラピクチャ予測ユニット(452)は、現在ピクチャバッファ(458)から取り出された周囲の既に再構築された情報を用いて、再構築中のブロックの同じサイズおよび形状のブロックを生成する。現在ピクチャバッファ(458)は、例えば、一部再構築された現在ピクチャおよび/または完全に再構築された現在ピクチャをバッファリングする。アグリゲータ(455)は、場合によっては、サンプルごとに、イントラ予測ユニット(452)が生成した予測情報を、スケーラ/逆変換ユニット(451)によって提供される出力サンプル情報に追加する。
【0063】
他の場合では、スケーラ/逆変換ユニット(451)の出力サンプルは、インター符号化された、潜在的に動き補償されたブロックに関係することがある。このような場合、動き補償予測ユニット(453)は、参照ピクチャメモリ(457)にアクセスして、予測に使用されるサンプルを取り出すことができる。取り出されたサンプルをブロックに関係するシンボル(421)に従って動き補償した後、出力サンプル情報を生成するように、これらのサンプルは、アグリゲータ(455)によってスケーラ/逆変換ユニット(451)の出力に追加されることができる(この場合、残差サンプルまたは残差信号と呼ぶことができる)。動き補償予測ユニット(453)が予測サンプルを取り出す参照ピクチャメモリ(457)内のアドレスは、例えば、X、Y、および参照ピクチャ成分を有し得るシンボル(421)の形態で動き補償予測ユニット(453)に利用可能な動きベクトルによって制御されることができる。動き補償は、サブサンプル正確な動きベクトルが使用中であるときに参照ピクチャメモリ(457)から取り出されたサンプル値の補間、動きベクトル予測メカニズムなどを含むこともできる。
【0064】
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)において様々なループフィルタリング技法を受けられる。ビデオ圧縮技術は、符号化ビデオシーケンス(符号化されたビデオビットストリームとも呼ぶことができる)に含まれる、パーサ(420)からのシンボル(421)としてループフィルタユニット(456)に利用可能とされたパラメータによって制御されるが、符号化ピクチャまたは符号化ビデオシーケンスの(デコード順で)前の部分のデコード中に取得されたメタ情報に応じるとともに、予め再構築されループフィルタリングされたサンプル値に応じることもできるインループフィルタ技術を含むことができる。
【0065】
ループフィルタユニット(456)の出力は、レンダリングデバイス(412)へ出力されることができるとともに、将来のインターピクチャ予測で使用するために参照ピクチャメモリ(457)に記憶されることができるサンプルストリームであり得る。
【0066】
特定の符号化ピクチャは、完全に再構築されると、将来の予測のために参照ピクチャとして使用されることができる。例えば、現在ピクチャに対応する符号化ピクチャが完全に再構築され、符号化ピクチャが(例えば、パーサ(420)によって)参照ピクチャとして識別されると、現在ピクチャバッファ(458)は、参照ピクチャメモリ(457)の一部になることができ、次の符号化ピクチャの再構築を開始する前に新しい現在ピクチャバッファを再割当てすることができる。
【0067】
ビデオデコーダ(410)は、ITU-T推奨のH.265のような規格での所定のビデオ圧縮技術に従ってデコード操作を実行することができる。符号化ビデオシーケンスが、ビデオ圧縮技術または規格のシンタックスと、ビデオ圧縮技術または規格で文書化されたプロファイルとの両方に準拠しているという意味で、符号化ビデオシーケンスは、使用されているビデオ圧縮技術または規格によって指定されるシンタックスに準拠し得る。具体的には、プロファイルは、ビデオ圧縮技術または規格で使用可能なすべてのツールから、特定のツールをそのプロファイルで使用できるツールとして選択することができる。符号化ビデオシーケンスの複雑さがビデオ圧縮技術または規格のレベルで定義される範囲内にあることも、コンプライアンスに必要である。場合によっては、最大ピクチャサイズ、最大フレームレート、最大再構築サンプルレート(例えば、1秒あたりのメガサンプルで測定される)、最大参照ピクチャサイズなどがレベルによって制限される。レベルによって設定された制限は、場合によっては、仮想参照デコーダ(HRD)仕様および符号化ビデオシーケンスでシグナリングされたHRDバッファ管理のためのメタデータによってさらに制限され得る。
【0068】
一実施形態では、受信機(431)は、エンコードされたビデオとともに追加の(冗長な)データを受信することができる。追加のデータは、符号化ビデオシーケンスの一部として含まれてもよい。追加のデータは、データを適切にデコードし、および/または、元のビデオデータをより正確に再構築するためにビデオデコーダ(410)によって使用され得る。追加のデータは、例えば、時間的、空間的、または信号対雑音比(SNR)エンハンスメントレイヤ、冗長スライス、冗長ピクチャ、前方向誤り訂正コードなどの形態にされることができる。
【0069】
図5は、本開示の実施形態におけるビデオエンコーダ(503)のブロック図を示す。ビデオエンコーダ(503)は、電子デバイス(520)に含まれる。電子デバイス(520)は、送信機(540)(例えば、送信回路)を含む。
図3の例におけるビデオエンコーダ(303)の代わりにビデオエンコーダ(503)を使用することができる。
【0070】
ビデオエンコーダ(503)は、ビデオエンコーダ(503)によって符号化されるビデオ画像をキャプチャし得るビデオソース(501)(
図5の例では電子デバイス(520)の一部ではない)からビデオサンプルを受信することができる。他の例では、ビデオソース(501)は、電子デバイス(520)の一部である。
【0071】
ビデオソース(501)は、ビデオエンコーダ(503)によって符号化されるソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、・・・)、任意の色空間(例えば、BT.601 Y CrCB、RGB、・・・)および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形態で提供し得る。メディア供給システムでは、ビデオソース(501)は、予め準備されたビデオを記憶する記憶装置であり得る。ビデオ会議システムでは、ビデオソース(501)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、順番に見られるときに動きが与えられる複数の個別のピクチャとして提供されてもよい。ピクチャ自体は、画素の空間アレイとして編成されてもよく、各画素は、使用中のサンプリング構造、色空間などに応じて1つ以上のサンプルを含むことができる。当業者は、画素とサンプルとの関係を容易に理解することができる。以下の説明ではサンプルを中心に説明する。
【0072】
一実施形態によれば、ビデオエンコーダ(503)は、リアルタイムでまたはアプリケーションが要求する任意の他の時間制約の下でソースビデオシーケンスのピクチャを符号化し、符号化ビデオシーケンス(543)に圧縮することができる。適切な符号化速度を実施することは、コントローラ(550)の機能の1つである。一部の実施形態では、コントローラ(550)は、以下で説明される他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。分かりやすくするために、結合は示されていない。コントローラ(550)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化、レート歪み最適化技法のラムダ値、・・・)、ピクチャサイズ、グループ・オブ・ピクチャ(GOP)レイアウト、最大動きベクトル参照範囲などを含むことができる。コントローラ(550)は、特定のシステム設計に対して最適化されたビデオエンコーダ(503)に関する他の適切な機能を有するように構成されることができる。
【0073】
一部の実施形態では、ビデオエンコーダ(503)は、符号化ループで動作するように構成される。過度に簡略化した説明として、一例では、符号化ループは、ソースコーダ(530)(例えば、符号化対象となる入力ピクチャおよび参照ピクチャに基づくシンボルストリームなどのシンボルの作成を担当する)、およびビデオエンコーダ(503)に埋め込まれた(ローカル)デコーダ(533)を含むことができる。デコーダ(533)は、シンボルを再構築して、(リモート)デコーダが作成するのと同様な方法でサンプルデータを作成する(シンボルと符号化されたビデオビットストリームとの間の如何なる圧縮も、開示された主題で考慮されるビデオ圧縮技術では可逆であるためである)。再構築されたサンプルストリーム(サンプルデータ)は参照ピクチャメモリ(534)に入力される。シンボルストリームのデコードにより、デコーダの位置(ローカルまたはリモート)に関係なくビット正確な結果が得られるため、参照ピクチャメモリ(534)のコンテンツもローカルエンコーダとリモートエンコーダとの間でビット正確である。言い換えれば、エンコーダの予測部分は、参照ピクチャサンプルとして、デコード中に予測を使用するときにデコーダが「見る」のと全く同じサンプル値を「見る」。参照ピクチャの同期性の該基本原理(および例えばチャネルエラーに起因して同期性を維持できない場合に生じるドリフト)は、いくつかの関連分野にも使用されている。
【0074】
「ローカル」デコーダ(533)の動作は、前文で
図4に関連して既に詳細に説明された、ビデオデコーダ(410)のような「リモート」デコーダの動作と同様であり得る。しかしながら、
図4も簡単に参照すると、シンボルが使用可能であり、エントロピーコーダ(545)およびパーサ(420)による符号化ビデオシーケンスへのシンボルの符号化/デコードは可逆であり得るので、バッファメモリ(415)、およびパーサ(420)を含むビデオデコーダ(410)のエントロピーデコード部分は、ローカルデコーダ(533)では完全に実施されない場合がある。
【0075】
これで分かるように、デコーダに存在する構文解析/エントロピーデコード以外の如何なるデコーダ技術も、対応するエンコーダに実質的に同一の機能的形態で必ず存在する必要がある。このため、開示された主題は、デコーダ操作に焦点を合わせている。エンコーダ技術の説明は、包括的に説明されたデコーダ技術の逆であるため、省略できる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【0076】
操作中、一部の例では、ソースコーダ(530)は、「参照ピクチャ」として指定されたビデオシーケンスからの1つ以上の予め符号化されたピクチャを参照して入力ピクチャを予測的に符号化する動き補償予測符号化を実行してもよい。このようにして、符号化エンジン(532)は、入力ピクチャの画素ブロックと、入力ピクチャへの予測基準として選択され得る参照ピクチャの画素ブロックとの差異を符号化する。
【0077】
ローカルビデオデコーダ(533)は、ソースコーダ(530)で作成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャの符号化ビデオデータをデコードすることができる。符号化エンジン(532)の操作は、有利には非可逆プロセスであり得る。符号化ビデオデータがビデオデコーダ(
図5に示されていない)でデコードされ得るとき、再構築されたビデオシーケンスは、通常、いくつかのエラーを伴うソースビデオシーケンスのレプリカであってもよい。ローカルビデオデコーダ(533)は、ビデオデコーダによって参照ピクチャに対して実行され得るデコードプロセスを再現し、再構築された参照ピクチャを参照ピクチャキャッシュ(534)に記憶させることができる。このようにして、ビデオエンコーダ(503)は、遠端ビデオデコーダによって取得される再構築された参照ピクチャと共通するコンテンツ(送信エラー無し)を有する再構築された参照ピクチャのコピーをローカルに記憶し得る。
【0078】
予測器(535)は、符号化エンジン(532)の予測検索を実行することができる。つまり、符号化対象となる新しいピクチャについて、予測器(535)は、(候補の参照画素ブロックとしての)サンプルデータ、または、参照ピクチャの動きベクトル、ブロック形状など、新しいピクチャの適切な予測基準として機能し得る特定のメタデータを参照ピクチャメモリ(534)で検索することができる。予測器(535)は、適切な予測基準を見つけるために、サンプルブロック/画素ブロックごとに操作することができる。場合によっては、予測器(535)で取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(534)に記憶された複数の参照ピクチャから引き出された予測基準を有してもよい。
【0079】
コントローラ(550)は、例えば、ビデオデータをエンコードするために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(530)の符号化操作を管理することができる。
【0080】
前述のすべての機能ユニットの出力は、エントロピーコーダ(545)においてエントロピー符号化を受けられる。エントロピーコーダ(545)は、例えば、ハフマン符号化、可変長符号化、算術符号化などの技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットによって生成されたシンボルを符号化ビデオシーケンスに変換する。
【0081】
送信機(540)は、エンコードされたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであり得る通信チャネル(560)を介した送信の準備のために、エントロピーコーダ(545)によって作成された符号化ビデオシーケンスをバッファリングすることができる。送信機(540)は、ビデオコーダ(503)からの符号化ビデオデータを、送信されるべき他のデータ、例えば、符号化オーディオデータおよび/または補助データストリーム(ソースは示されていない)とマージすることができる。
【0082】
コントローラ(550)は、ビデオエンコーダ(503)の操作を管理し得る。符号化中、コントローラ(550)は、各符号化ピクチャに特定の符号化ピクチャタイプを割り当てることができ、これは、それぞれのピクチャに適用され得る符号化技法に影響を及ぼし得る。例えば、ピクチャは、多くの場合、次のピクチャタイプのいずれかとして割り当てられ得る。
【0083】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のいかなるピクチャも使用せずに符号化および復号され得るものであり得る。一部のビデオコーデックは、例えば、インディペンデントデコーダリフレッシュ(Independent Decoder Refresh、「IDR」)ピクチャを含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャの変形およびそれらのそれぞれの用途および特徴を知っている。
【0084】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために最大1つの動きベクトルおよび参照インデックスを使用したイントラ予測またはインター予測により符号化および復号され得るものであり得る。
【0085】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために最大2つの動きベクトルおよび参照インデックスを使用したイントラ予測またはインター予測により符号化および復号され得るものであり得る。同様に、多重予測ピクチャは、単数のブロックの再構築のために2つを超えた参照ピクチャおよび関連メタデータを使用することができる。
【0086】
ソースピクチャは、一般に、複数のサンプルブロック(例えば、それぞれ、4×4、8×8、4×8、または16×16サンプルのブロック)に空間的に細分され、ブロック単位で符号化され得る。ブロックは、ブロックのそれぞれのピクチャに適用される符号化割り当てによって決定された他の(既に符号化された)ブロックを参照して予測的に符号化され得る。例えば、Iピクチャのブロックは、非予測的に符号化されてもよく、或いは、同一のピクチャの既に符号化されたブロック(空間予測またはイントラ予測)を参照して予測的に符号化されてもよい。Pピクチャの画素ブロックは、1つの予め符号化された参照ピクチャを参照して、空間予測を介してまたは時間予測を介して予測的に符号化され得る。Bピクチャのブロックは、1つまたは2つの予め符号化された参照ピクチャを参照して、空間予測を介してまたは時間予測を介して予測的に符号化され得る。
【0087】
ビデオエンコーダ(503)は、ITU-T推奨のH.265などの予め設定されたビデオ符号化技術または規格に従って、符号化操作を実行することができる。操作中、ビデオエンコーダ(503)は、入力ビデオシーケンスの時間的および空間的冗長性を利用する予測符号化操作を含む、様々な圧縮操作を実行することができる。したがって、符号化ビデオデータは、使用されるビデオ符号化技術または規格によって指定されたシンタックスに準拠する場合がある。
【0088】
一実施形態では、送信機(540)は、エンコードされたビデオとともに追加のデータを送信することができる。ソースコーダ(530)は、このようなデータを符号化ビデオシーケンスの一部として含め得る。追加のデータは、時間的/空間的/SNRエンハンスメントレイヤ、冗長なピクチャやスライスなどの他の形態での冗長データ、SEIメッセージ、VUIパラメータセットフラグメントなどを含み得る。
【0089】
ビデオは、時系列で複数のソースピクチャ(ビデオピクチャ)としてキャプチャされ得る。イントラピクチャ予測(「イントラ予測」と略されることが多い)は、所定のピクチャにおける空間相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的または他の)相関を利用する。一例では、現在ピクチャと呼ぶことができるエンコード/デコード中の特定のピクチャは、ブロックに分割される。現在ピクチャにおけるブロックが、ビデオにおける予め符号化され、まだバッファリングされている参照ピクチャの参照ブロックに類似している場合、現在ピクチャにおけるブロックは、動きベクトルと呼ぶことができるベクトルによって符号化されることができる。動きベクトルは、参照ピクチャの参照ブロックを指し、複数の参照ピクチャが使用されている場合、参照ピクチャを識別する第3次元を有することができる。
【0090】
一部の実施形態では、インターピクチャ予測において双予測法を使用することができる。双予測法によれば、ビデオにおける現在ピクチャよりもデコード順序がそれぞれ前である(ただし、表示順序でそれぞれ過去および未来にあり得る)第1の参照ピクチャおよび第2の参照ピクチャのような2つの参照ピクチャを使用する。現在ピクチャにおけるブロックは、第1の参照ピクチャにおける第1の参照ブロックを指す第1の動きベクトル、および第2の参照ピクチャにおける第2の参照ブロックを指す第2の動きベクトルによって符号化されることができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測されることができる。
【0091】
さらに、マージモード技法をインターピクチャ予測に適用して、符号化効率を向上させることができる。
【0092】
本開示の一部の実施形態によれば、インターピクチャ予測およびイントラピクチャ予測などの予測は、ブロック単位で実行される。例えば、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画素などの画素の値(例えば、輝度値)の行列を含む。
【0093】
図6は、本開示の他の実施形態におけるビデオエンコーダ(603)の図を示す。ビデオエンコーダ(603)は、一連のビデオピクチャにおける現在ビデオピクチャにおけるサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、符号化ビデオシーケンスの一部である符号化ピクチャにエンコードするように構成される。一例では、
図3の例におけるビデオエンコーダ(303)の代わりにビデオエンコーダ(603)を使用する。
【0094】
HEVCの例では、ビデオエンコーダ(603)は、8×8サンプルのような予測ブロックなどの処理ブロックのサンプル値の行列を受信する。ビデオエンコーダ(603)は、例えばレート歪み最適化を用いて、処理ブロックをイントラモード、インターモード、または双予測モードにより最も良く符号化するか否かを決定する。処理ブロックがイントラモードで符号化されようとする場合、ビデオエンコーダ(603)は、イントラ予測法を用いて処理ブロックを符号化ピクチャにエンコードすることができる。また、処理ブロックがインターモードまたは双予測モードで符号化されようとする場合、ビデオエンコーダ(603)は、それぞれインター予測または双予測法を用いて、処理ブロックを符号化ピクチャにエンコードすることができる。特定のビデオ符号化技術では、マージモードは、予測子外の符号化動きベクトル成分の恩恵を受けず、1つ以上の動きベクトル予測子から動きベクトルを導出するインターピクチャ予測サブモードであり得る。特定の他のビデオ符号化技術では、対象ブロックに適用可能な動きベクトル成分が存在し得る。一例では、ビデオエンコーダ(603)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他の構成要素を含む。
【0095】
図6の例では、ビデオエンコーダ(603)は、
図6に示すように互いに結合されたインターエンコーダ(630)、イントラエンコーダ(622)、残差算出部(623)、スイッチ(626)、残差エンコーダ(624)、統括制御部(621)およびエントロピーエンコーダ(625)を含む。
【0096】
インターエンコーダ(630)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、該ブロックを参照ピクチャにおける1つ以上の参照ブロック(例えば、前のピクチャおよび後のピクチャにおけるブロック)と比較し、インター予測情報(例えば、インターエンコード法による冗長情報の記述、動きベクトル、マージモード情報)を生成し、インター予測情報に基づいて任意の適切な技法を用いてインター予測結果(例えば、予測ブロック)を算出するように構成される。一部の例では、参照ピクチャは、エンコードされたビデオ情報に基づいてデコードされたデコード参照ピクチャである。
【0097】
イントラエンコーダ(622)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては該ブロックを同一のピクチャで既に符号化されたブロックと比較し、量子化された変換後係数を生成し、場合によってはイントラ予測情報(例えば、1つ以上のイントラエンコード法によるイントラ予測方向情報)をも生成するように構成される。一例では、イントラエンコーダ(622)は、イントラ予測情報および同一のピクチャにおける参照ブロックに基づいてイントラ予測結果(例えば、予測ブロック)も算出する。
【0098】
統括制御部(621)は、統括制御データを決定し、統括制御データに基づいてビデオエンコーダ(603)の他の構成要素を制御するように構成される。一例では、統括制御部(621)は、ブロックのモードを決定し、モードに基づいて制御信号をスイッチ(626)に提供する。例えば、モードがイントラモードである場合、統括制御部(621)は、残差算出部(623)が使用するためのイントラモード結果を選択するようにスイッチ(626)を制御するとともに、イントラ予測情報を選択してイントラ予測情報をビットストリームに含めるようにエントロピーエンコーダ(625)を制御する。また、モードがインターモードである場合、統括制御部(621)は、残差算出部(623)が使用するためのインター予測結果を選択するようにスイッチ(626)を制御するとともに、インター予測情報を選択してインター予測情報をビットストリームに含めるようにエントロピーエンコーダ(625)を制御する。
【0099】
残差算出部(623)は、受信されたブロックとイントラエンコーダ(622)またはインターエンコーダ(630)から選択された予測結果との差(残差データ)を算出するように構成される。残差エンコーダ(624)は、残差データに基づいて動作し、残差データをエンコードして変換係数を生成するように構成される。一例では、残差エンコーダ(624)は、残差データを空間領域から周波数領域へと変換し、変換係数を生成するように構成される。その後、変換係数は量子化処理を受けて、量子化された変換係数が得られる。様々な実施形態では、ビデオエンコーダ(603)は、残差デコーダ(628)をも含む。残差デコーダ(628)は、逆変換を実行し、デコード残差データを生成するように構成される。デコード残差データは、イントラエンコーダ(622)およびインターエンコーダ(630)によって適切に使用されることができる。例えば、インターエンコーダ(630)は、デコード残差データおよびインター予測情報に基づいて、デコードブロックを生成することができ、イントラエンコーダ(622)は、デコード残差データおよびイントラ予測情報に基づいて、デコードブロックを生成することができる。一部の例では、デコードブロックは、デコードピクチャを生成するように適切に処理され、デコードピクチャは、メモリ回路(図示せず)にバッファリングされ、参照ピクチャとして使用されることができる。
【0100】
エントロピーエンコーダ(625)は、エンコードブロックを含めるようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(625)は、HEVC規格などの適切な規格に従って様々な情報をビットストリームに含めるように構成される。一例では、エントロピーエンコーダ(625)は、統括制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、および他の適切な情報をビットストリームに含めるように構成される。開示された主題によれば、インターモードまたは双予測モードのマージサブモードでブロックを符号化する場合、残差情報はないことに留意されたい。
【0101】
図7は、本開示の他の実施形態におけるビデオデコーダ(710)の図を示す。ビデオデコーダ(710)は、符号化ビデオシーケンスの一部である符号化ピクチャを受信し、符号化ピクチャをデコードして、再構築ピクチャを生成するように構成される。一例では、
図3の例におけるビデオデコーダ(310)の代わりにビデオデコーダ(710)を使用する。
【0102】
図7の例では、ビデオデコーダ(710)は、
図7に示されているように互いに結合されたエントロピーデコーダ(771)、インターデコーダ(780)、残差デコーダ(773)、再構築モジュール(774)、およびイントラデコーダ(772)を含む。
【0103】
エントロピーデコーダ(771)は、符号化ピクチャから、符号化ピクチャを構成するシンタックス要素を表す特定のシンボルを再構築するように構成されることができる。このようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、双予測モード、後の2つのマージサブモードまたは他のサブモード)、それぞれイントラデコーダ(772)またはインターデコーダ(780)による予測に使用される特定のサンプルまたはメタデータを識別できる予測情報(例えば、イントラ予測情報またはインター予測情報)、例えば、量子化された変換係数の形態での残差情報などを含むことができる。一例では、予測モードがインターまたは双予測モードであれば、インター予測情報は、インターデコーダ(780)に提供される。また、予測タイプがイントラ予測タイプであれば、イントラ予測情報は、イントラデコーダ(772)に提供される。残差情報は、逆量子化を施されることができ、残差デコーダ(773)に提供される。
【0104】
インターデコーダ(780)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0105】
イントラデコーダ(772)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0106】
残差デコーダ(773)は、逆量子化を実行することで、逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(773)は、(量子化器パラメータ(QP)を含めるように)特定の制御情報をも必要とする場合があり、この情報は、エントロピーデコーダ(771)によって提供されてもよい(データパスは、低ボリューム制御情報のみであり得るため、示されていない)。
【0107】
再構築モジュール(774)は、空間領域において、残差デコーダ(773)によって出力された残差と、(場合によってはインターまたはイントラ予測モジュールによって出力される)予測結果とを組み合わせて、再構築ビデオの一部となり得る再構築ピクチャの一部であり得る再構築ブロックを形成するように構成される。なお、視覚的品質を改良するために、デブロッキング操作などの他の適切な操作を実行することができる。
【0108】
なお、ビデオエンコーダ(303)、(503)および(603)とビデオデコーダ(310)、(410)および(710)とは、任意の適切な技法を用いて実施されることができる。一実施形態では、ビデオエンコーダ(303)、(503)および(603)とビデオデコーダ(310)、(410)および(710)とは、1つ以上の集積回路を用いて実施されることができる。他の実施形態では、ビデオエンコーダ(303)、(503)および(603)とビデオデコーダ(310)、(410)および(710)とは、ソフトウェア命令を実行する1つ以上のプロセッサを用いて実施されることができる。
【0109】
一般的に、並列処理は、ビデオコーデックの計算を高速化し、および/またはハードウェアコストを削減するのに役立つことができる。しかしながら、一部の関連技術のマージモードでは、前の符号化ブロックを空間マージ候補として用いて現在ブロックを予測する場合があるので、現在符号化ブロックと前の符号化ブロックを並行して処理することはできない。本開示は、マージモードにおける並列処理を改良する技術を提示する。
【0110】
符号化ユニット(CU)分割ツリーによれば、符号化ツリーユニット(CTU)のような符号化領域は、符号化ブロック(CB)またはサブブロックのような複数の符号化サブ領域を含むことができる。本願の態様においては、符号化領域が特定の条件を満たす場合、符号化領域に含まれる各符号化サブ領域の間でマージリストを共有することができる。このようなマージリストは、共有マージリストと呼ぶことができる。したがって、符号化領域の祖先ノード、すなわち、符号化サブ領域の親ノードは、マージ共有ノードと呼ぶことができ、マージ共有ノードで、符号化領域の為の共有マージリストが生成される。
【0111】
図8は、本開示の実施形態における、マージ共有ノードの4つの例を示す。各マージ共有ノードは、それぞれ点線の仮想CU(801~804)によって示されている。前文に記載したように、符号化領域のマージ共有ノードと見なされるために、符号化領域の祖先ノードは特定の条件を満たす必要があり、例えば、符号化領域のサイズがサイズ閾値以下である条件を満たす場合である。
図8の例では、サイズ閾値が64サンプルに設定されている。したがって、マージ共有ノード(801)は、4x4サンプルのブロックを4つ含み、各マージ共有ノード(802~803)は、4x8サンプルのブロックを2つ含み、マージ共有ノード(804)は、4x4サンプルのブロックを2つ、4x8サンプルのブロックを1つ含む。
【0112】
本願の態様においては、マージ共有ノードに2種類の定義(タイプ1およびタイプ2)がある。タイプ1の定義では、祖先ノード(例えば、符号化領域)のサイズが第1のサイズ閾値以下である場合、祖先ノードは、タイプ1のマージ共有ノードと見なすことができる。すなわち、祖先ノードの親ノードのサイズが、第1のサイズ閾値より大きくなければならない。タイプ2の定義では、祖先ノードが次の2つの条件を満たせば、祖先ノードは、タイプ2のマージ共有モードと見なすことができ、当該2つの条件が(1)祖先ノードのサイズが第2のサイズ閾値以上であることと、(2)祖先ノードの複数の子ノードの1つのサイズが、第2のサイズ閾値より小さいこととである。なお、一部の実施形態では、第1のサイズ閾値が第2のサイズ閾値と同じでもよい。
【0113】
本願の態様においては、タイプ1またはタイプ2の定義の使用は、ある実施形態では予測情報に示されてもよく、別の実施形態では事前定義されてもよい。また、CTU内の各CUについて、復号プロセスにおける解析段階で、それぞれのマージ共有ノードが決定されてもよい。このルールは、2種類のマージ共有ノードのすべてに適用されてもよい。
【0114】
図9は、本開示の一実施形態におけるタイプ1とタイプ2の定義の違いの例を示す。
図9の例では、128サンプルのサイズを有する符号化領域(900)は、3つの子CU(901~903)に3分割され、そのうち、2つの子CU(901および903)が8x4のサンプルサイズを有し、子CU(902)は8x8のサンプルサイズを有する。タイプ1の定義が符号化領域(900)に適用され、かつ閾値が64サンプルに設定された場合、3つの子CU(901~903)の何れも、それぞれのマージ共有ノードを有することができる。タイプ2の定義が符号化領域(900)に適用され、かつ閾値が128サンプルに設定された場合、符号化領域(900)は、1つのマージ共有ノードを有することができ、3つの子CU(901~903)は、1つのマージリストを共有することができる。
【0115】
本願の態様においては、共有マージリストは、トランスレーショナルマージモード(例えば、HEVC/VVCマージモード、トライアングルマージモード、履歴ベースのマージ候補など)とサブブロックベースのマージモード(例えば、アフィンマージモードなど)とに適用することができる。様々なマージモードにおいて、マージ共有ノード自体が子CUと見なされるとすれば、共有マージリストを用いる方法は、共有マージリストがマージ共有ノードで生成されるという点で同様にすることができる。
【0116】
一部の関連技術では、マージ共有ノードがタイプ1であるかタイプ2であるかに関係なく、マージ共有ノードの全てのサンプルは、現在ピクチャのピクチャ境界の内側になければならない。すなわち、祖先ノードのサンプルがピクチャ境界の外側にある場合、この祖先ノードは、タイプ1またはタイプ2のいずれかのマージ共有ノードと見なすことができない。したがって、祖先ノードに複数の子ノードがある場合、マージ共有ノードを決定するために、子ノードの少なくとも1つがチェックされる。
【0117】
本開示は、ピクチャ境界の外側に一部が位置する符号化領域に共有マージリストを適用するための改良技術を提示する。
【0118】
本開示に提示する方法は、別々に用いられてもよく、任意の順序で組み合わせられてもよい。さらに、方法(または実施形態)、エンコーダおよび/またはデコーダのそれぞれは、処理回路(例えば、1つ以上のプロセッサまたは1つ以上の集積回路)によって実施することができる。一例では、1つ以上のプロセッサは、非一時的なコンピュータ可読媒体に記憶されるプログラムを実行する。本開示の方法では、ブロックという用語は、予測ブロック、符号化ブロック、または符号化ユニットとして解釈されてもよい。
【0119】
本願の態様においては、符号化領域の一部が現在ピクチャのピクチャ境界の外側に位置する場合も、当該符号化領域に共有マージリストを適用することができる。すなわち、符号化領域がいくつかの特定の要件を満たす場合、当該符号化領域における全てのサブ領域(例えば、ブロックまたはサブブロック)に、共通のマージ候補リストを導出することができる。
【0120】
一実施形態では、符号化領域のサイズが第1のサイズ閾値(例えば、32または64サンプル)以下である場合、共有マージリストを当該符号化領域に適用することができる。別の実施形態では、符号化領域のサイズが第2のサイズ閾値以上であり、かつ当該符号化領域の複数の子CUのうちの1つのサイズが第2のサイズ閾値より小さい場合、共有マージリストを当該符号化領域に適用ことができる。なお、第1のサイズ閾値は、第2のサイズ閾値と同じでもよい。
【0121】
本願の態様においては、符号化領域の共有マージリストは、時間動きベクトル予測子(TMVP)を含むことができる。一部の関連技術では、背景技術の部分において既に説明され、そして、
図1Dに示されているように、TMVPは、符号化領域の同空間位置ブロックの右下隅の位置C0または中心位置C1のいずれかから導出することができる。同空間位置ブロックは、符号化領域の参照ピクチャ内に位置する。一部の実施形態では、C0位置からのTMVPが無効である場合、C1位置がチェックされる。しかしながら、符号化領域の一部が現在ピクチャのピクチャ境界の外側に位置する場合、同空間位置ブロックのC1位置も参照ピクチャのピクチャ境界の外側にある可能性がある。
【0122】
したがって、本開示はさらに、共有マージリストにおけるTMVPを導出するための改良技術を提示する。一実施形態では、C1位置からTMVPを導出する際に、C1位置からのMVがインターモードで符号化されたか否かをチェックすることに加えて、同空間位置ブロックのC1位置の存在がチェックされる。
【0123】
別の実施形態では、
図10に示されているように、C0位置(1001)からのTMVPの導出に失敗した場合、C1位置(1002)をチェックする代わりに、同空間位置ブロック(1000)の左上隅に隣接するC2位置(1003)がチェックされる。同空間位置ブロックの左上隅が常にピクチャ境界の内側にあるため、C2位置の利用可能性チェックは不要である。一方、C2位置(1003)の予測モードチェックが依然として適用される。すなわち、C2位置(1003)からのMVがインター予測で符号化されたか否かを決定する。
【0124】
本願の態様においては、TMVPの導出プロセスにおいて、TMVPの導出プロセスが共有マージリストに適用されるか否かに関係なく、C1の位置を、同空間位置ブロックの中心位置から同空間位置ブロックの左上隅に移動させた。すなわち、同空間位置ブロックの右下隅からのTMVPが無効である場合、一部の実施形態では、同空間位置ブロックの中心位置の代わりに、その左上隅からのTMVPがチェックされる。
【0125】
図11は、本開示の一実施形態における例示的なプロセス(1100)概要を示すフローチャートである。様々な実施形態では、プロセス(1100)は、端末装置(210)、(220)、(230)および(240)の処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、イントラ予測モジュール(452)の機能を実行する処理回路、ビデオエンコーダ(503)の機能を実行する処理回路、予測器(535)の機能を実行する処理回路、イントラエンコーダ(622)の機能を実行する処理回路、イントラデコーダ(772)の機能を実行する処理回路などの処理回路によって実行される。一部の実施形態では、プロセス(1100)はソフトウェア命令で実施され、したがって処理回路がソフトウェア命令を実行すると、処理回路はプロセス(1100)を実行する。
【0126】
プロセス(1100)は、一般的に、ステップ(S1101)から開始でき、ここで、プロセス(1100)は、一部が現在ピクチャのピクチャ境界の外側に位置する符号化領域の予測情報を復号する。現在ピクチャは、符号化ビデオシーケンスの一部である。次に、プロセス(1100)は、ステップ(S1102)に進む。
【0127】
ステップ(S1102)では、プロセス(1100)は、符号化領域に共有マージリストを使用するか否かを決定する。符号化領域に共有マージリストを使用すると決定された場合、プロセス(1100)は、ステップ(S1103)に進む。
【0128】
ステップ(S1103)では、プロセス(1100)は、共有マージリストを構築する。次に、プロセスは、ステップ(S1104)に進む。
【0129】
ステップ(S1104)では、プロセス(1100)は、共有マージリストに基づいて符号化領域を再構築する。
【0130】
符号化領域を再構築した後、プロセス(1100)は終了する。
【0131】
一実施形態では、符号化領域のサイズが第1のサイズ閾値以下である場合、符号化領域に共有マージリストを使用すると決定する。
【0132】
別の実施形態では、符号化領域は、複数の符号化ブロックを含み、(i)符号化領域のサイズが第2のサイズ閾値以上であり、かつ(ii)複数の符号化ブロックの1つのブロックサイズが第2のサイズ閾値より小さい場合、符号化領域に共有マージリストを使用すると決定する。
【0133】
一実施形態では、プロセス(1100)は、符号化領域の同空間位置領域の中心位置に隣接して位置する第1のブロックを選択する。同空間位置領域は、符号化領域の参照ピクチャにある。次に、プロセス(1100)は、第1のブロックが現在ピクチャのピクチャ境界の内側に位置し、かつインター予測モードで符号化されたか否かを決定する。第1のブロックが現在ピクチャのピクチャ境界の内側に位置し、かつインター予測モードで符号化されたと決定された場合、プロセス(1100)は、第1のブロックに基づいて共有マージリストを構築する。
【0134】
別の実施形態では、プロセス(1100)は、現在領域の同空間位置領域の左上の位置に隣接して位置する第2のブロックを選択する。次に、プロセス(1100)は、第2のブロックがインター予測モードで符号化されたか否かを決定する。第2のブロックがインター予測モードで符号化された場合、プロセス(1100)は、第2のブロックに基づいて共有マージリストを構築する。
【0135】
図12は、本開示の別の実施形態における例示的なプロセス(1200)の概要を示すフローチャートである。様々な実施形態では、プロセス(1200)は、端末装置(210)、(220)、(230)および(240)の処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、イントラ予測モジュール(452)の機能を実行する処理回路、ビデオエンコーダ(503)の機能を実行する処理回路、予測器(535)の機能を実行する処理回路、イントラエンコーダ(622)の機能を実行する処理回路、イントラデコーダ(772)の機能を実行する処理回路などの処理回路によって実行される。一部の実施形態では、プロセス(1200)はソフトウェア命令で実施され、したがって処理回路がソフトウェア命令を実行すると、処理回路はプロセス(1200)を実行する。
【0136】
プロセス(1200)は、一般的に、ステップ(S1201)から開始でき、ここで、プロセス(1200)は、符号化ビデオシーケンスの一部である現在符号化ピクチャにおける現在ブロックの予測情報を復号する。予測情報は、現在ブロックのマージモードを示す。次に、プロセス(1200)は、ステップ(S1202)に進む。
【0137】
ステップ(S1202)では、プロセス(1200)は、検査順序に従って、現在ブロックの同空間位置ブロックの複数の符号化ブロックを検査する。検査順序における2番目の検査位置は、同空間位置ブロックの左上隅に隣接して位置する符号化ブロックのうちの1つである。同空間位置ブロックは、現在ブロックの参照ピクチャにある。次に、プロセス(1200)は、ステップ(S1203)に進む。
【0138】
ステップ(S1203)では、プロセス(1200)は、検査された符号化ブロックに基づいて時間動きベクトル予測子(TMVP)を決定する。次に、プロセス(1200)は、ステップ(S1204)に進む。
【0139】
ステップ(S1204)では、プロセス(1200)は、TMVPに基づいて現在ブロックを再構築する。
【0140】
現在ブロックを再構築した後、プロセス(1200)は終了する。
【0141】
一実施形態では、プロセス(1200)は、検査順序に従って符号化ブロックのうちの1つを選択し、かつ選択された符号化ブロックがインター予測モードで符号化されたか否かを決定する。選択された符号化ブロックがインター予測モードで符号化されたと決定された場合、プロセス(1200)は、選択された符号化ブロックからのTMVPをマージリストに含ませ、かつマージリストに基づいて現在ブロックを再構築する。
【0142】
一実施形態では、同空間位置ブロックの左上隅に隣接して位置する符号化ブロックは、検査順序に従って、同空間位置ブロックの右下隅に隣接して位置する符号化ブロックの後に検査される。
【0143】
以上で説明された技法は、コンピュータ読取可能な命令を使用するコンピュータソフトウェアとして実行され、1つ以上のコンピュータ読取可能な媒体に物理的に記憶されることができる。例えば、
図13は、開示された主題の特定の実施形態を実行することに適したコンピュータシステム(1300)を示す。
【0144】
コンピュータソフトウェアは、アセンブリ、コンパイル、リンク、またはそのようなメカニズムを施されて、1つ以上のコンピュータ中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)などによって直接、または解釈、マイクロコード実行などによって実行されることができる命令を含むコードを作成する任意の適切な機械コードまたはコンピュータ言語を用いて符号化されることができる。
【0145】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはそのコンポーネント上で実行されることができる。
【0146】
コンピュータシステム(1300)について、
図13に示されている例示的なコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関していかなる限定を示唆することも意図しない。コンポーネントの構成は、コンピュータシステム(1300)の例示的な実施形態で示されるコンポーネントのうちのいずれか1つ又は組み合わせに関する任意の依存性又は必要性を有するとして解釈されるべきではない。
【0147】
コンピュータシステム(1300)は、特定のヒューマンインターフェース入力デバイスを含み得る。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(音声、拍手など)、視覚入力(ジェスチャーなど)、嗅覚入力(図示せず)によって、1人以上のユーザによる入力に応答することができる。ヒューマンインターフェースデバイスは、オーディオ(音声、音楽、環境音など)、画像(走査画像、静止画像カメラから取得される写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関係しない特定のメディアをキャプチャすることにも使用できる。
【0148】
入力ヒューマンインターフェースデバイスは、キーボード(1301)、マウス(1302)、トラックパッド(1303)、タッチスクリーン(1310)、データグローブ(図示せず)、ジョイスティック(1305)、マイクフォン(1306)、スキャナ(1307)、カメラ(1308)(それぞれ1つのみ示されている)のうちの1つ以上を含み得る。
【0149】
コンピュータシステム(1300)は、特定のヒューマンインターフェース出力デバイスをも含み得る。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音声、光、および嗅覚/味覚を介して1人以上のユーザの感覚を刺激し得る。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1310)、データグローブ(図示せず)、またはジョイスティック(1305)による触覚フィードバックがあるが、入力デバイスとして機能しない触覚フィードバックデバイスでもよい)、オーディオ出力デバイス(スピーカ(1309)、ヘッドホン(図示せず)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1310)(それぞれタッチスクリーン入力能力を有するかもしくは有せず、それぞれ触覚フィードバック能力を有するかもしくは有しない。それらの一部は、ステレオグラフィック出力などの手段を介して、2次元の視覚出力または3次元以上の出力を出力することができる)、仮想現実眼鏡(図示せず)、ホログラフィックディスプレおよびスモークタンク(図示せず)など)、およびプリンタ(図示せず)を含み得る。
【0150】
コンピュータシステム(1300)は、人間がアクセス可能な記憶装置およびそれらの関連する媒体、例えば、CD/DVDなどの媒体(1321)付きのCD/DVD ROM/RW(1320)を含む光学媒体、サムドライブ(1322)、リムーバブルハードドライブまたはソリッドステートドライブ(1323)、テープやフロッピーディスクなどの従来の磁気媒体(図示せず)、セキュリティドングルなどの専用のROM/ASIC/PLDベースのデバイス(図示せず)などをも含むことができる。
【0151】
ここで開示された主題に関連して使用される「コンピュータ読取可能な媒体」という用語は、送信媒体、搬送波、または他の一時的な信号を包含しないことをも当業者が理解するべきである。
【0152】
コンピュータシステム(1300)は、1つ以上の通信ネットワークへのインターフェースをさらに含むことができる。ネットワークは、例えば、無線、有線、光学的であり得る。ネットワークは、さらに、ローカル、広域、大都市圏、車両用および産業用、リアルタイム、遅延耐性などであり得る。ネットワークの例は、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上放送TVを含むTV有線または無線広域デジタルネットワーク、CANBusを含む車両用や産業用などを含む。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス(1349)(例えば、コンピューターシステム(1300)のUSBポートなど)に接続された外部ネットワークインターフェースアダプターを必要とする。他のものは一般に、以下で説明するようにシステムバスに接続することにより、コンピューターシステム(1300)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピューターシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを用いて、コンピュータシステム(1300)は、他のエンティティと通信することができる。このような通信は、単方向、受信のみ(例えば、放送TV)、単方向の送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向、例えばローカルまたはワイドエリアデジタルネットワークを用いる他のコンピュータシステムへの送信であり得る。特定のプロトコルおよびプロトコルスタックを上述したこれらのネットワークおよびネットワークインターフェースのそれぞれで使用することができる。
【0153】
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶装置、およびネットワークインターフェースは、コンピュータシステム(1300)のコア(1340)に接続されることができる。
【0154】
コア(1340)は、1つ以上の中央処理装置(CPU)(1341)、グラフィックスプロセッシングユニット(GPU)(1342)、フィールドプログラマブルゲートエリア(FPGA)(1343)の形態での専用プログラマブル処理ユニット、特定のタスクのためのハードウェアアクセラレータ(1344)などを含むことができる。これらのデバイスは、リードオンリメモリ(ROM)(1345)、ランダムアクセスメモリ(1346)、非ユーザアクセス可能な内部ハードドライブ、SSDなどの内部大容量記憶装置(1347)とともに、システムバス(1348)を介して接続されてもよい。一部のコンピュータシステムでは、システムバス(1348)は、1つ以上の物理プラグの形態でアクセスでき、追加のCPU、GPUなどによる拡張を可能にする。周辺機器は、コアのシステムバス(1348)に直接、または周辺バス(1349)を介して接続されることができる。周辺バスのアーキテクチャは、PCI、USBなどを含む。
【0155】
CPU(1341)、GPU(1342)、FPGA(1343)、およびアクセラレータ(1344)は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(1345)またはRAM(1346)に記憶されることができる。推移データはRAM(1346)にも記憶できるが、永続データは、例えば、内部大容量ストレージ(1347)に記憶されることができる。1つ以上のCPU(1341)、GPU(1342)、大容量ストレージ(1347)、ROM(1345)、RAM(1346)などと密接に関連付けることができるキャッシュメモリを使用することにより、任意のメモリデバイスへの高速保存および検索が可能になる。
【0156】
コンピュータ読取可能な媒体は、様々なコンピュータ実施操作を実行するためのコンピュータコードを備えることができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであり得るか、もしくは、それらは、コンピュータソフトウェア技術の当業者に周知であって利用可能な種類のものであり得る。
【0157】
限定ではなく、一例として、アーキテクチャを有するコンピュータシステム(1300)、特にコア(1340)は、1つ以上の有形のコンピュータ読取可能な媒体に組み込まれたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果としての機能性を提供することができる。このようなコンピュータ読取可能な媒体は、以上で紹介したようにユーザがアクセス可能な大容量ストレージ、および、コア内部大容量ストレージ(1347)またはROM(1345)などの非一時的な性質を持つコア(1340)の特定のストレージに関連付けられた媒体であり得る。本開示の様々な実施形態を実行するソフトウェアは、このようなデバイスに記憶され、コア(1340)によって実行されることができる。コンピュータ読取可能な媒体は、特定の必要に応じて、1つ以上のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(1340)、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(1346)に記憶されたデータ構造を定義すること、および、ソフトウェアで定義されたプロセスに従ってこのようなデータ構造を変更することを含む、ここで説明する特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または、代替として、コンピュータシステムは、本明細書に記載された特定のプロセスまたは特定のプロセスの特定の部分を実行するためにソフトウェアの代わりにまたは一緒に動作することができる回路(例えば、アクセラレータ(1344))に有線接続されたまたは組み込まれたロジックの結果としての機能性を提供することができる。ソフトウェアへの言及は、必要に応じて、ロジックを含むことができ、その逆も同様である。コンピュータ読取可能な媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のためのロジックを具現化する回路、またはその両方を含むことができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを含む。
【0158】
本開示は一部の例示的な実施形態を説明してきたが、本開示の範囲内に含まれる変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書では明示的に示されていないか、または記載されていないが、本開示の原理を具現化し、その思想および範囲内に含まれる様々なシステムおよび方法を考案できることが理解されよう。
付録A:頭字語
AMVP:Advanced Motion Vector Prediction(高度動きベクトル予測)
ASIC:Application-Specific Integrated Circuit(特定用途向け集積回路)
ATMVP:Alternative/Advanced Temporal Motion Vector Prediction(代替/高度時間動きベクトル予測)
BMS:Benchmark Set(ベンチマークセット)
BV:Block Vector(ブロックベクトル)
CANBus:Controller Area Network Bus(コントローラエリアネットワークバス)
CB:Coding Block(符号化ブロック)
CD:Compact Disc(コンパクトディスク)
CPR:Current Picture Referencing(現在ピクチャ参照)
CPU:Central Processing Unit(中央処理装置)
CRT:Cathode Ray Tube(ブラウン管)
CTB:Coding Tree Block(符号化ツリーブロック)
CTU:Coding Tree Unit(符号化ツリーユニット)
CU:Coding Unit(符号化ユニット)
DPB:Decoder Picture Buffer(デコーダ画像バッファ)
DVD:Digital Video Disc(デジタルビデオディスク)
FPGA:Field Programmable Gate Arrays(フィールド プログラマブル ゲート アレイ)
GOP:Group of Pictures(ピクチャ群)
GPU:Graphics Processing Unit(グラフィック処理装置)
GSM:Global System for Mobile communication(移動通信用グローバルシステム)
HEVC:High Efficiency Video Coding(高効率ビデオ符号化)
HRD:Hypothetical Reference Decoder(仮想リファレンスデコーダ)
IBC:Intra Block Copy(イントラブロックコピー)
IC:Integrated Circuit(集積回路)
JEM:Joint Exploration Model(共同探索モデル)
LAN:Local Area Network(ローカルエリアネットワーク)
LCD:Liquid-Crystal Display(液晶表示装置)
LTE:Long-Term Evolution(長期的な進化)
MV:Motion Vector(動きベクトル)
OLED:Organic Light-Emitting Diode(有機発光ダイオード)
PB:Prediction Block(予測ブロック)
PCI:Peripheral Component Interconnect(ペリフェラルコンポーネントインターコネクト)
PLD:Programmable Logic Device(プログラマブルロジックデバイス)
PU:Prediction Unit(予測ユニット)
RAM:Random Access Memory(ランダムアクセスメモリ)
ROM:Read-Only Memory(リードオンリメモリ)
SCC:Screen Content Coding(スクリーンコンテンツ符号化)
SEI:Supplementary Enhancement Information(補助強化情報)
SNR:Signal Noise Ratio(信号対雑音比)
SSD:Solid-state Drive(ソリッドステートドライブ)
TU:Transform Unit(変換ユニット)
USB:Universal Serial Bus(ユニバーサルシリアルバス)
VUI:Video Usability Information(ビデオユーザビリティ情報)
VVC:Versatile Video Coding(多用途ビデオ符号化)