(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-20
(45)【発行日】2022-05-30
(54)【発明の名称】三角予測におけるマージリストの構成
(51)【国際特許分類】
H04N 19/513 20140101AFI20220523BHJP
H04N 19/70 20140101ALI20220523BHJP
【FI】
H04N19/513
H04N19/70
(21)【出願番号】P 2021532300
(86)(22)【出願日】2020-03-06
(86)【国際出願番号】 US2020021489
(87)【国際公開番号】W WO2020185595
(87)【国際公開日】2020-09-17
【審査請求日】2021-06-07
(32)【優先日】2019-03-08
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-07-31
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】シアン・リ
(72)【発明者】
【氏名】グイチュン・リ
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】シャン・リュウ
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2020/106190(WO,A1)
【文献】国際公開第2020/096388(WO,A1)
【文献】Timofey Solovyev, Semih Esenlik, Sergey Ikonin, and Jianle Chen,Non-CE4: Simplifications for triangular prediction mode,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0286-v2,13th Meeting: Marrakech, MA,2019年01月,pp.1-7
【文献】Meng Xu, Xiang Li, and Shan Liu,CE4-related: Triangle merge index signaling,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0448-v1,13th Meeting: Marrakech, MA,2019年01月,pp.1-3
【文献】Xiang Li, Guichun Li, Xiaozhong Xu, and Shan Liu,CE4-related: Signaling of maximum number of triangle candidates,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-N0400_v4,14th Meeting: Geneva, CH,2019年03月,pp.1-8
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
デコーダにおけるビデオ復号の方法であって、
符号化ビデオビットストリーム内の第1の構文要素を受信するステップであって、前記第1の構文要素は、前記符号化ビデオビットストリーム内の符号化ブロックのセット内のマージ候補の最大許容数を示す、ステップと、
第2の構文要素が受信された場合、前記第2の構文要素に基づいて前記符号化ブロックのセットに対する三角予測モード(TPM)候補の最大許容数を設定し、そうでない場合、前記第1の構文要素に基づいて前記TPM候補の最大許容数を設定するステップと、
前記符号化ブロックのセット内の現在の符号化ブロックが三角予測モードで符号化される場合、TPM候補の数に基づいて前記現在の符号化ブロックの三角予測候補リストを構成するステップであって、前記三角予測候補リスト上の前記TPM候補の数が前記TPM候補の最大許容数以下である、ステップと
を含む方法。
【請求項2】
前記マージ候補の最大許容数が2以上であることを前記第1の構文要素が示す場合にのみ、前記第2の構文要素を受信するステップ
をさらに含む、請求項1に記載の方法。
【請求項3】
前記第2の構文要素が受信されない場合、前記TPM候補の最大許容数が0に設定される、請求項1に記載の方法。
【請求項4】
前記符号化ビデオビットストリーム内の第3の構文要素を受信するステップであって、前記第3の
構文要素が、前記マージ候補の最大許容数と前記TPM候補の最大許容数との間の差を示す、ステップと、
前記第1の構文要素および前記第3の構文要素に基づいて前記TPM候補の最大許容数を決定するステップと
をさらに含む、請求項1に記載の方法。
【請求項5】
前記TPM候補の最大許容数は、前記マージ候補の最大許容数と前記TPM候補の最大許容数との前記差を前記マージ候補の最大許容数から減算することによって決定される、請求項4に記載の方法。
【請求項6】
前記TPM候補の最大許容数が前記マージ候補の最大許容数以下である、請求項1に記載の方法。
【請求項7】
前記第2の構文要素が受信されない場合、前記TPM候補の最大許容数は、前記マージ候補の最大許容数に設定される、請求項1に記載の方法。
【請求項8】
前記TPM候補の最大許容数は、0に等しいか、または2から前記マージ候補の最大許容数までの整数である、請求項4に記載の方法。
【請求項9】
前記マージ候補の最大許容数と前記TPM候補の最大許容数との差を示す第3の構文要素が受信されない場合、前記TPM候補の最大許容数は0であると決定され、前記三角予測モードは前記符号化ブロックのセットに適用されない、請求項1に記載の方法。
【請求項10】
前記現在の符号化ブロックは、前記TPM候補の最大許容数が所定数N以上である場合にのみ前記三角予測モードで符号化され、Nは正の整数である、請求項1に記載の方法。
【請求項11】
前記TPM候補の最大許容数が0よりも大きい場合、前記三角予測候補リストの第1のインデックスを示す第4の構文要素および前記三角予測候補リストの第2のインデックスを示す第5の構文要素を受信するステップであって、
前記第1のインデックスの最大数は、前記TPM候補の最大許容数から1を引いたものに等しく、
前記第2のインデックスの最大数は、前記TPM候補の最大許容数から2を引いたものに等しい、ステップ
をさらに含む、請求項1に記載の方法。
【請求項12】
符号化ビデオビットストリーム内の第1の構文要素を受信することであって、前記第1の構文要素は、前記符号化ビデオビットストリーム内の符号化ブロックのセット内のマージ候補の最大許容数を示す、ことと、
第2の構文要素が受信された場合、前記第2の構文要素に基づいて前記符号化ブロックのセットに対する三角予測モード(TPM)候補の最大許容数を設定し、そうでない場合、前記第1の構文要素に基づいて前記TPM候補の最大許容数を設定することと、
前記符号化ブロックのセット内の現在の符号化ブロックが三角予測モードで符号化される場合、TPM候補の数に基づいて前記現在の符号化ブロックの三角予測候補リストを構成することであって、前記三角予測候補リスト上の前記TPM候補の数が前記TPM候補の最大許容数以下である、ことと
を行うように構成された処理回路
を備える装置。
【請求項13】
前記処理回路は、前記マージ候補の最大許容数が2以上であることを前記第1の構文要素が示す場合にのみ、前記第2の構文要素を受信するようにさらに構成される、請求項12に記載の装置。
【請求項14】
前記第2の構文要素が受信されない場合、前記TPM候補の最大許容数が0に設定される、請求項12に記載の装置。
【請求項15】
前記処理回路は、
前記符号化ビデオビットストリーム内の第3の構文要素を受信することであって、前記第3の
構文要素が、前記マージ候補の最大許容数と前記TPM候補の最大許容数との間の差を示す、ことと、
前記第1の構文要素および前記第3の構文要素に基づいて前記TPM候補の最大許容数を決定することと
を行うようにさらに構成される、請求項12に記載の装置。
【請求項16】
前記TPM候補の最大許容数は、前記マージ候補の最大許容数と前記TPM候補の最大許容数との前記差を前記マージ候補の最大許容数から減算することによって決定される、請求項15に記載の装置。
【請求項17】
前記TPM候補の最大許容数は、0に等しいか、または2から前記マージ候補の最大許容数までの整数である、請求項15に記載の装置。
【請求項18】
前記マージ候補の最大許容数と前記TPM候補の最大許容数との差を示す第3の構文要素が受信されない場合、前記TPM候補の最大許容数は0であると決定され、前記三角予測モードは前記符号化ブロックのセットに適用されない、請求項12に記載の装置。
【請求項19】
前記TPM候補の最大許容数が0よりも大きい場合、
前記処理回路は、前記三角予測候補リストの第1のインデックスを示す第4の構文要素および前記三角予測候補リストの第2のインデックスを示す第5の構文要素を受信することであって、
前記第1のインデックスの最大数は、前記TPM候補の最大許容数から1を引いたものに等しく、
前記第2のインデックスの最大数は、前記TPM候補の最大許容数から2を引いたものに等しい、こと
を行うようにさらに構成される、請求項12に記載の装置。
【請求項20】
コンピュータに請求項1から11のいずれか一項に記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
参照による組み込み
本開示は、2019年3月8日に出願された米国仮出願第62/816,058号「Merge List Construction in Triangular Prediction」に対する優先権の利益を主張する2019年7月31日に出願された米国特許出願第16/528,019号「Merge List Construction in Triangular Prediction」に対する優先権の利益を主張し、その内容全体が参照により本明細書に組み込まれる。
【0002】
本開示は、ビデオ符号化に一般的に関連する実施形態を説明する。
【背景技術】
【0003】
本明細書で提供される背景の説明は、本開示の文脈を一般的に提示する目的のためのものである。本発明者らの研究は、この背景技術の項に記載されている限りにおいて、ならびに出願時に先行技術として認められない可能性がある説明の態様は、本開示に対する先行技術として明示的にも暗示的にも認められない。
【0004】
ビデオの符号化および復号は、動き補正を伴う画像(picture)間予測を使用して実行され得る。非圧縮デジタルビデオは一連の画像を含むことができ、各画像は、例えば1920×1080の輝度サンプルと関連するクロミナンスサンプルとの空間次元を有している。一連の画像は、例えば毎秒60画像すなわち60Hzの固定または可変の画像速度(非公式にはフレームレートとも呼ばれる)を有し得る。非圧縮ビデオには、重要なビットレート要件がある。例えば、サンプルあたり8ビットの1080p60 4:2:0ビデオ(60Hzのフレームレートにおける1920×1080輝度サンプル解像度)には、1.5Gbit/sに近い帯域幅が必要である。このようなビデオを1時間使用するには、600GBを超える記憶領域が必要である。
【0005】
ビデオの符号化と復号の1つの目的は、圧縮によって入力ビデオ信号の冗長性を減らすことであり得る。圧縮は、前述の帯域幅または記憶領域の要件を、場合によっては2桁以上削減するのに役立ち得る。可逆圧縮と非可逆圧縮の両方、およびそれらの組み合わせを使用できる。可逆圧縮とは、圧縮された元の信号から元の信号の正確なコピーを再構成できる手法を指す。非可逆圧縮を使用する場合、再構成された信号は元の信号と同一ではない可能性があるが、元の信号と再構成された信号との間の歪みは十分に小さいため、再構成された信号は目的の用途に役立つ。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量は用途によって異なる。例えば、特定の消費者ストリーミング用途のユーザは、テレビ配信用途のユーザよりも高い歪みを許容し得る。達成可能な圧縮率は、より高い許容/許容歪みにより、より高い圧縮率が得られることを反映し得る。
【0006】
動き補正は非可逆圧縮技術とすることができ、以前に再構成された画像またはその一部(参照画像)からのサンプルデータのブロックが、動きベクトル(MV以降)によって示される方向に空間的にシフトされた後、新たに再構成された画像または画像部分の予測に使用される技術に関することができる。場合によっては、参照画像は、現在再構成中の画像と同じであり得る。MVは、2つの次元XおよびY、または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、「High Efficiency Video Coding」、2016年12月)には様々なMV予測メカニズムが記載されている。ここでは、H.265が提供する多くのMV予測メカニズムのうち、「空間マージ」と呼ばれる技術について説明する。
【0009】
図1を参照すると、現在のブロック(101)は、空間的にシフトされた同じサイズの前のブロックから予測可能であるように動き探索処理中にエンコーダによって見つけられたサンプルを含む。そのMVを直接符号化する代わりに、MVは、A0、A1、およびB0、B1、B2(それぞれ102から106)で示される5つの周囲サンプルのいずれか1つに関連付けられたMVを使用して、1つまたはそれ以上の参照画像に関連付けられたメタデータから、例えば(復号順序において)最新の参照画像から導出することができる。H.265では、MV予測は、隣接ブロックが使用しているのと同じ参照画像からの予測子を使用することができる。
【発明の概要】
【発明が解決しようとする課題】
【0010】
本開示の態様は、ビデオ符号化/復号のための方法および装置を提供する。いくつかの例では、装置は、ビデオ復号のための処理回路を含む。
【課題を解決するための手段】
【0011】
本開示の一実施形態によれば、デコーダにおけるビデオ復号のための方法が提供される。この方法では、符号化ビデオビットストリーム内の第1の構文要素が受信される。第1の構文要素は、符号化ビデオビットストリーム内の符号化ブロックのセット内のマージ候補の最大許容数を示す。第2の構文要素が受信されると、第2の構文要素に基づいて、符号化ブロックのセットに対する三角予測モード(TPM)候補の最大許容数が設定される。そうでない場合、TPM候補の最大許容数は、第1の構文要素に基づいて設定される。符号化ブロックのセット内の現在の符号化ブロックが三角予測モードで符号化される場合、いくつかのTPM候補に基づいて現在の符号化ブロックの三角予測候補リストが構成される。三角予測候補リスト上のTPM候補の数は、TPM候補の最大許容数以下である。
【0012】
本開示の一実施形態によれば、ビデオ符号化のための装置が提供される。装置は処理回路を含む。処理回路は、符号化ビデオビットストリーム内の第1の構文要素を受信するように構成される。第1の構文要素は、符号化ビデオビットストリーム内の符号化ブロックのセット内のマージ候補の最大許容数を示す。処理回路は、第2の構文要素が受信されると、第2の構文要素に基づいて符号化ブロックのセットのための三角予測モード(TPM)候補の最大許容数を設定するようにさらに構成される。そうでない場合、処理回路は、第1の構文要素に基づいてTPM候補の最大許容数を設定するように構成される。符号化ブロックのセット内の現在の符号化ブロックが三角予測モードで符号化される場合、処理回路は、いくつかのTPM候補に基づいて現在の符号化ブロックの三角予測候補リストを構成するように構成される。三角予測候補リスト上のTPM候補の数は、TPM候補の最大許容数以下である。
【0013】
本開示の態様は、ビデオ復号のためにコンピュータによって実行されたときに、コンピュータにビデオ復号のための方法を実行させる命令を格納する非一時的なコンピュータ可読媒体も提供する。この方法では、符号化ビデオビットストリーム内の第1の構文要素が受信される。第1の構文要素は、符号化ビデオビットストリーム内の符号化ブロックのセット内のマージ候補の最大許容数を示す。第2の構文要素が受信されると、第2の構文要素に基づいて、符号化ブロックのセットに対する三角予測モード(TPM)候補の最大許容数が設定される。そうでない場合、TPM候補の最大許容数は、第1の構文要素に基づいて設定される。符号化ブロックのセット内の現在の符号化ブロックが三角予測モードで符号化される場合、いくつかのTPM候補に基づいて現在の符号化ブロックの三角予測候補リストが構成される。三角予測候補リスト上のTPM候補の数は、TPM候補の最大許容数以下である。
【0014】
開示される主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【0015】
【
図1】H.265による現在のブロックおよびその周囲の空間マージ候補の概略図である。
【
図2】一実施形態による通信システム(200)の簡略化されたブロック図の概略図である。
【
図3】一実施形態による通信システム(300)の簡略化されたブロック図の概略図である。
【
図4】一実施形態によるデコーダの簡略化されたブロック図の概略図である。
【
図5】一実施形態によるエンコーダの簡略化されたブロック図の概略図である。
【
図6】別の実施形態によるエンコーダのブロック図を示す。
【
図7】別の実施形態によるデコーダのブロック図を示す。
【
図8】一実施形態による、マージ候補リストを構成するために一組のマージ候補を選択することができる候補位置の一例を示す図である。
【
図9】一実施形態による、拡張マージ候補リストを構成するために空間マージ候補のセットを選択することができる候補位置の別の例を示す図である。
【
図10】一実施形態による冗長性チェック処理のための拡張マージリスト上の候補対の一例を示す図である。
【
図11】一実施形態による、現在の画像内の拡張マージリスト上の時間的マージ候補を導出する例を示す。
【
図12】一実施形態による、拡張マージリスト上の時間的マージ候補を選択することができる候補位置を示す図である。
【
図13】一実施形態による、符号化ユニットを2つの三角予測ユニットに分割する例を示す図である。
【
図14】一実施形態による、三角予測モードの単予測候補リストを構成するために使用される空間的および時間的隣接ブロックの一例を示す図である。
【
図15】一実施形態による、三角形分割インデックスに基づいて分割方向および分割動き情報を導出するために使用されるルックアップテーブルの一例を示す図である。
【
図16】一実施形態による適応ブレンド処理において重み付け係数のセットを適用する符号化ユニットの一例を示す図である。
【
図17】一実施形態による適応ブレンド処理において別の組の重み付け係数を適用する符号化ユニットの一例を示す図である。
【
図18】本開示の一実施形態による三角予測モード候補リスト構成処理の概要を示すフローチャートである。
【
図19】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【0016】
I.ビデオ符号化のエンコーダおよびデコーダ
図2は、本開示の実施形態による通信システム(200)の簡略化されたブロック図を示す。通信システム(200)は、例えばネットワーク(250)を介して互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された第1の対の端末デバイス(210)および(220)を含む。
図2の例では、端末デバイス(210)および(220)の第1の対は、データの一方向送信を実行する。例えば、端末デバイス(210)は、ネットワーク(250)を介して他の端末デバイス(220)に送信するために、ビデオデータ(例えば、端末デバイス(210)によってキャプチャされたビデオ画像のストリーム)を符号化し得る。符号化されたビデオデータは、1つまたはそれ以上の符号化ビデオビットストリームの形で送信できる。端末デバイス(220)は、ネットワーク(250)から符号化されたビデオデータを受信し、符号化されたビデオデータを復号してビデオ画像を復元し、復元されたビデオデータに従ってビデオ画像を表示することができる。一方向のデータ送信は、メディアサービング用途などでは一般的であり得る。
【0017】
別の例では、通信システム(200)は、例えばビデオ会議中に発生し得る符号化されたビデオデータの双方向送信を実行する第2の対の端末デバイス(230)および(240)を含む。データの双方向送信の場合、一例では、端末デバイス(230)および(240)の各端末デバイスは、端末デバイス(230)および(240)のうち他の端末デバイスへのネットワーク(250)を介した送信のためにビデオデータ(例えば、端末デバイスによってキャプチャされたビデオ画像のストリーム)を符号化し得る。端末デバイス(230)および(240)の各端末デバイスはまた、端末デバイス(230)および(240)のうち他の端末デバイスによって送信された符号化されたビデオデータを受信し、符号化されたビデオデータを復号してビデオ画像を回復することができ、回復されたビデオデータに従ってアクセス可能な表示デバイスでビデオ画像を表示することができる。
【0018】
図2の例では、端末デバイス(210)、(220)、(230)および(240)は、サーバ、パーソナルコンピュータおよびスマートフォンとして示され得るが、本開示の原理はそのように限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/または専用のビデオ会議機器での用途を見出す。ネットワーク(250)は、例えば有線(配線された)および/または無線通信ネットワークを含む、端末デバイス(210)、(220)、(230)および(240)間で符号化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(250)は、回路交換チャネルおよび/またはパケット交換チャネルでデータを交換することができる。代表的なネットワークには、通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび/またはインターネットなどがある。本議論の目的のために、ネットワーク(250)のアーキテクチャおよびトポロジーは、以下に本明細書で説明されない限り、本開示の動作にとって重要ではない場合がある。
【0019】
図3は、開示された主題のための用途の例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの格納などを含む他のビデオ対応用途に等しく適用可能であり得る。
【0020】
ストリーミングシステムは、例えば非圧縮のビデオ画像のストリーム(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(Versatile Video Coding)として非公式に知られている。開示された主題は、VVCの文脈で使用され得る。
【0021】
電子デバイス(320)および(330)は、他の構成要素(図示せず)を含み得ることに留意されたい。例えば、電子デバイス(320)はビデオデコーダ(図示せず)を含んでもよく、電子デバイス(330)は同様にビデオエンコーダ(図示せず)を含んでもよい。
【0022】
図4は、本開示の実施形態によるビデオデコーダ(410)のブロック図を示している。ビデオデコーダ(410)は、電子デバイス(430)に含まれ得る。電子デバイス(430)は、受信器(431)(例えば、受信回路)を含み得る。ビデオデコーダ(410)は、
図3の例におけるビデオデコーダ(310)の代わりに使用され得る。
【0023】
受信器(431)は、ビデオデコーダ(410)によって復号される1つまたはそれ以上の符号化されたビデオシーケンスを受信することができ、同じまたは別の実施形態では、一度に1つの符号化されたビデオシーケンスであり、各符号化されたビデオシーケンスの復号は、他の符号化されたビデオシーケンスから独立している。符号化されたビデオシーケンスは、符号化されたビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであり得るチャネル(401)から受信され得る。受信器(431)は、それぞれの使用エンティティ(図示せず)に転送され得る他のデータ、例えば、符号化音声データおよび/または補助データストリームとともに、符号化されたビデオデータを受信し得る。受信器(431)は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、受信器(431)とエントロピーデコーダ/パーサ(420)(以降、「パーサ(420)」)との間にバッファメモリ(415)が結合され得る。特定の用途では、バッファメモリ(415)は、ビデオデコーダ(410)の一部である。他の場合には、バッファメモリ(415)はビデオデコーダ(410)の外側にあり得る(図示せず)。さらに他のものでは、例えばネットワークジッタに対抗するために、ビデオデコーダ(410)の外部にバッファメモリ(図示せず)があり得、さらに、例えば再生タイミングを処理するために、ビデオデコーダ(410)内に別のバッファメモリ(415)があり得る。受信器(431)が十分な帯域幅および制御性を有するストア/フォワードデバイスから、または等同期(isosynchronous)ネットワークからデータを受信している場合、バッファメモリ(415)は必要ないか、小さくてもよい。インターネットなどのベストエフォートパケットネットワークで使用する場合、バッファメモリ(415)が必要になる場合があり、比較的大きく、適応サイズが有利であり、少なくとも部分的に、ビデオデコーダ(410)の外側のオペレーティングシステムまたは類似の要素(図示せず)に実装され得る。
【0024】
ビデオデコーダ(410)は、符号化されたビデオシーケンスからシンボル(421)を再構成するためのパーサ(420)を含み得る。これらのシンボルのカテゴリには、
図4に示したように、ビデオデコーダ(410)の動作を管理するために使用される情報、および潜在的には、電子デバイス(430)の一体部品ではないが電子デバイス(430)に結合され得るレンダリングデバイス(412)などのレンダリングデバイス(例えば、表示画面)を制御するための情報が含まれる。レンダリングデバイスの制御情報は、補足拡張情報(SEIメッセージ)またはビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形であり得る。パーサ(420)は、受信された符号化されたビデオシーケンスを解析/エントロピー復号することができる。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術またはビデオ符号化規格に従うことができ、可変長符号化、ハフマン符号化、文脈依存性の有無にかかわらず算術符号化などを含む様々な原理に従い得る。パーサ(420)は、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内の画素のサブグループのうちの少なくとも1つのサブグループパラメータの組を、符号化されたビデオシーケンスから抽出することができる。サブグループは、画像群(GOP)、画像、タイル、スライス、マクロブロック、符号化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含み得る。パーサ(420)はまた、変換係数、量子化パラメータ値、動きベクトルなどのような符号化されたビデオシーケンス情報から抽出することができる。
【0025】
パーサ(420)は、シンボル(421)を作成するために、バッファメモリ(415)から受信されたビデオシーケンスに対してエントロピー復号/パース操作を実行することができる。
【0026】
シンボル(421)の再構成には、符号化されたビデオ画像またはその一部(インター画像およびイントラ画像、インターブロックおよびイントラブロックなど)のタイプ、およびその他の要因に応じて、複数の異なるユニットが含まれ得る。含まれるユニットおよびその方法は、パーサ(420)によって符号化されたビデオシーケンスから解析されたサブグループ制御情報によって制御され得る。パーサ(420)と以下の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために示されていない。
【0027】
すでに述べた機能ブロックのほかに、ビデオデコーダ(410)は、概念的には、以下で説明するように、いくつかの機能ユニットに細分化され得る。商業的な制約の下で動作する実際の実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的には互いに統合され得る。しかしながら、開示された主題を説明するために、以下の機能ユニットへの概念的な細分化が適切である。
【0028】
第1のユニットは、スケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、使用する変換、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報と同様に、量子化された変換係数をパーサ(420)からシンボル(421)として受け取る。スケーラ/逆変換ユニット(451)は、集約器(455)に入力できるサンプル値を含むブロックを出力できる。
【0029】
場合によっては、スケーラ/逆変換(451)の出力サンプルは、イントラ符号化されたブロック、つまり、以前に再構成された画像からの予測情報を使用していないが、現在の画像の以前に再構成された部分からの予測情報を使用できるブロックに関係し得る。そのような予測情報は、イントラ画像予測ユニット(452)によって提供され得る。場合によっては、イントラ画像予測ユニット(452)は、現在の画像バッファ(458)からフェッチされた周囲のすでに再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。現在の画像バッファ(458)は、例えば、部分的に再構成された現在の画像および/または完全に再構成された現在の画像をバッファリングする。集約器(455)は、場合によっては、サンプルごとに、イントラ予測ユニット(452)が生成した予測情報をスケーラ/逆変換ユニット(451)によって提供された出力サンプル情報に追加する。
【0030】
他の場合では、スケーラ/逆変換ユニット(451)の出力サンプルは、インター符号化された、潜在的に動き補正されたブロックに関係する可能性がある。そのような場合、動き補正予測ユニット(453)は、参照画像メモリ(457)にアクセスして、予測に使用されるサンプルをフェッチすることができる。フェッチされたサンプルをブロックに関連するシンボル(421)に従って動き補正した後、これらのサンプルは、出力サンプル情報を生成するために、集約器(455)によってスケーラ/逆変換ユニット(451)の出力に追加され得る(この場合、残差サンプルまたは残差信号と呼ばれる)。動き補正予測ユニット(453)が予測サンプルをフェッチする参照画像メモリ(457)内のアドレスは、例えば、X、Y、および参照画像成分を有し得るシンボル(421)の形で動き補正予測ユニット(453)が利用できる動きベクトルによって制御され得る。動き補正はまた、サブサンプルの正確な動きベクトルが使用されているときに参照画像メモリ(457)からフェッチされたサンプル値の補間、動きベクトル予測メカニズムなどをも含み得る。
【0031】
集約器(455)の出力サンプルは、ループフィルタユニット(456)における様々なループフィルタリング技術の対象となり得る。ビデオ圧縮技術には、符号化されたビデオシーケンス(符号化ビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(420)からのシンボル(421)としてループフィルタユニット(456)で利用できるループ内フィルタ技術を含めることができるが、符号化された画像または符号化されたビデオシーケンスの(復号順で)以前の部分の復号中に取得されたメタ情報に応答したり、以前に再構成およびループフィルタされたサンプル値に応答したりすることもできる。
【0032】
ループフィルタユニット(456)の出力は、レンダリングデバイス(412)に出力され得るだけでなく、将来の画像間予測で使用するために参照画像メモリ(457)に保存できるサンプルストリームであり得る。
【0033】
特定の符号化された画像は、完全に再構成されると、将来の予測のための参照画像として使用され得る。例えば、現在の画像に対応する符号化された画像が完全に再構成され、符号化された画像が(例えば、パーサ(420)によって)参照画像として識別されると、現在の画像バッファ(458)は参照画像メモリ(457)の一部になり得、次の符号化された画像の再構成を開始する前に、新鮮な現在の画像バッファを再割り当てすることができる。
【0034】
ビデオデコーダ(410)は、ITU-T Rec. H.265などの規格における所定のビデオ圧縮技術に従って復号動作を実行することができる。符号化されたビデオシーケンスは、ビデオ圧縮技術または規格の構文と、ビデオ圧縮技術または規格のドキュメントとしてのプロファイルの両方に準拠しているという意味において、使用されているビデオ圧縮技術または規格によって指定された構文に準拠し得る。具体的には、プロファイルは、ビデオ圧縮技術または規格において使用可能なすべてのツールから、そのプロファイルで使用できる唯一のツールとして特定のツールを選択できる。また、符号化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または規格のレベルで定義されている範囲内にあることも、コンプライアンスに必要である。場合によっては、レベルによって、最大画像サイズ、最大フレームレート、最大再構成サンプルレート(例えば、メガサンプル/秒で測定)、最大参照画像サイズなどが制限される。レベルによって設定された制限は、場合によっては、仮想参照デコーダ(HRD)の仕様と、符号化されたビデオシーケンスで通知されるHRDバッファ管理のメタデータとによってさらに制限され得る。
【0035】
一実施形態では、受信器(431)は、符号化されたビデオとともに追加の(冗長な)データを受信することができる。追加のデータは、符号化されたビデオシーケンスの一部として含まれ得る。追加のデータは、データを適切に復号し、および/または元のビデオデータをより正確に再構成するために、ビデオデコーダ(410)によって使用され得る。追加のデータは、例えば、時間的、空間的、または信号ノイズ比(SNR)拡張レイヤ、冗長スライス、冗長画像、前方誤り訂正符号などの形式であり得る。
【0036】
図5は、本開示の実施形態によるビデオエンコーダ(503)のブロック図を示している。ビデオエンコーダ(503)は、電子デバイス(520)に含まれる。電子デバイス(520)は、送信器(540)(例えば、送信回路)を含む。ビデオエンコーダ(503)は、
図3の例におけるビデオエンコーダ(303)の代わりに使用され得る。
【0037】
ビデオエンコーダ(503)は、ビデオエンコーダ(503)によって符号化されるビデオ画像をキャプチャし得る(
図5の例では電子デバイス(520)の一部ではない)ビデオソース(501)からビデオサンプルを受信し得る。別の例では、ビデオソース(501)は、電子デバイス(520)の一部である。
【0038】
ビデオソース(501)は、ビデオエンコーダ(503)によって符号化されるソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、…)であり得、任意の色空間(例えば、BT. 601 Y CrCB、RGB、…)および適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形態で提供し得る。メディアサービングシステムでは、ビデオソース(501)は、以前に準備されたビデオを格納する記憶装置であり得る。ビデオ会議システムでは、ビデオソース(501)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、順番に見たときに動きを与える複数の個別の画像として提供され得る。画像自体は、画素の空間アレイとして編成することができ、各画素は、使用中のサンプリング構造、色空間などに応じて、1つまたはそれ以上のサンプルを含み得る。当業者は、画素とサンプルとの間の関係を容易に理解することができる。以下の説明では、サンプルを中心に説明する。
【0039】
一実施形態によれば、ビデオエンコーダ(503)は、用途によって要求されるように、リアルタイムで、または任意の他の時間制約の下で、ソースビデオシーケンスの画像を符号化し、符号化されたビデオシーケンス(543)に圧縮し得る。適切な符号化速度を強制することは、コントローラ(550)の1つの機能である。いくつかの実施形態では、コントローラ(550)は、以下で説明するように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。分かりやすくするために、結合は描かれていない。コントローラ(550)によって設定されたパラメータには、レート制御関連パラメータ(画像スキップ、量子化、レート歪み最適化手法のラムダ値など)、画像サイズ、画像群(GOP)レイアウト、最大動きベクトル検索範囲などが含まれ得る。コントローラ(550)は、特定のシステム設計に対して最適化されたビデオエンコーダ(503)に関係する他の適切な機能を有するように構成され得る。
【0040】
いくつかの実施形態では、ビデオエンコーダ(503)は、符号化ループで動作するように構成される。過度に単純化した説明として、一例では、符号化ループは、ソースコーダ(530)(例えば、符号化される入力画像および参照画像に基づいて、シンボルストリームなどのシンボルを作成する役割を果たす)、およびビデオエンコーダ(503)に埋め込まれた(ローカル)デコーダ(533)を含み得る。デコーダ(533)は、(リモート)デコーダが作成するのと同様の方法でサンプルデータを作成するためにシンボルを再構成する(シンボルと符号化ビデオビットストリームとの間の圧縮は、開示された主題で考慮されるビデオ圧縮技術では損失がないため)。再構成されたサンプルストリーム(サンプルデータ)は、参照画像メモリ(534)に入力される。シンボルストリームの復号は、デコーダの場所(ローカルまたはリモート)に関係なくビット正確な結果をもたらすため、参照画像メモリ(534)のコンテンツもローカルエンコーダおよびリモートエンコーダ間でビットが正確である。言い換えると、エンコーダの予測部分は、デコーダが復号中に予測を使用するときに「参照」するのとまったく同じサンプル値を参照画像のサンプルとして「見なす」。参照画像の同期性のこの基本原理(および、例えばチャネルエラーのために同期性を維持できない場合に生じるドリフト)は、いくつかの関連技術でも使用されている。
【0041】
「ローカル」デコーダ(533)の動作は、ビデオデコーダ(410)などの「リモート」デコーダの動作と同じであり得、これは、
図4に関連して上で詳細にすでに説明されている。しかしながら、
図4も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(545)およびパーサ(420)による符号化されたビデオシーケンスへのシンボルの符号化/復号は無損失であり得るため、バッファメモリ(415)を含むビデオデコーダ(410)のエントロピー復号部分、およびパーサ(420)は、ローカルデコーダ(533)に完全に実装されない場合がある。
【0042】
この時点で行うことができる観察は、デコーダに存在する構文解析/エントロピー復号以外のデコーダ技術も、対応するエンコーダに実質的に同一の機能形式で必ず存在する必要があることである。このため、開示された主題は、デコーダの動作に重点を置いている。エンコーダ技術の説明は、包括的に説明されたデコーダ技術の逆であるため、省略できる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【0043】
動作中、いくつかの例では、ソースコーダ(530)は、「参照画像」として指定されたビデオシーケンスからの1つまたはそれ以上の以前に符号化された画像を参照して入力画像を予測的に符号化する動き補正予測符号化を実行し得る。このようにして、符号化エンジン(532)は、入力画像の画素ブロックと、入力画像への予測参照として選択され得る参照画像の画素ブロックとの間の差異を符号化する。
【0044】
ローカルビデオデコーダ(533)は、ソースコーダ(530)によって作成されたシンボルに基づいて、参照画像として指定され得る画像の符号化されたビデオデータを復号し得る。符号化エンジン(532)の動作は、不可逆処理であることが有利であり得る。符号化されたビデオデータがビデオデコーダ(
図5には示されていない)で復号され得るとき、再構成されたビデオシーケンスは、通常、いくつかのエラーを伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(533)は、参照画像に対してビデオデコーダによって実行され得る復号処理をコピーし、再構成された参照画像を参照画像キャッシュ(534)に記憶させることができる。このようにして、ビデオエンコーダ(503)は、遠端ビデオデコーダによって得られる(送信エラーがない)再構成参照画像として共通のコンテンツを有する再構成参照画像のコピーをローカルに格納し得る。
【0045】
予測器(535)は、符号化エンジン(532)の予測検索を実行し得る。すなわち、符号化される新しい画像について、予測器(535)は、(候補参照画素ブロックとしての)サンプルデータまたは参照画像の動きベクトル、ブロック形状などの、新しい画像の適切な予測参照として機能する特定のメタデータについて参照画像メモリ(534)を検索することができる。予測器(535)は、適切な予測参照を見つけるために、サンプルブロック-画素ブロックごとに動作し得る。いくつかの場合において、予測器(535)によって得られた検索結果によって決定されるように、入力画像は、参照画像メモリ(534)に記憶された複数の参照画像から引き出された予測参照を有し得る。
【0046】
コントローラ(550)は、例えば、ビデオデータを符号化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(530)の符号化動作を管理し得る。
【0047】
前述のすべての機能ユニットの出力は、エントロピーコーダ(545)においてエントロピー符号化を受けることができる。エントロピーコーダ(545)は、ハフマン符号化、可変長符号化、算術符号化などの技術に従ってシンボルを可逆圧縮することにより、様々な機能ユニットにより生成されたシンボルを符号化されたビデオシーケンスに変換する。
【0048】
送信器(540)は、エントロピーコーダ(545)によって作成された符号化されたビデオシーケンスをバッファリングして、符号化されたビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであり得る通信チャネル(560)を介した送信に備えることができる。送信器(540)は、ビデオエンコーダ(503)からの符号化されたビデオデータを、送信される他のデータ、例えば符号化音声データおよび/または補助データストリーム(ソースは図示せず)とマージすることができる。
【0049】
コントローラ(550)は、ビデオエンコーダ(503)の動作を管理し得る。符号化中に、コントローラ(550)は、各々の符号化された画像に特定の符号化された画像タイプを割り当て得、これは、それぞれの画像に適用され得る符号化技法に影響を及ぼし得る。例えば、多くの場合、画像は次の画像タイプのうちの1つとして割り当てられる。
【0050】
イントラ画像(I画像)は、シーケンス内の他の画像を予測のソースとして使用せずに符号化および復号できるものである。一部のビデオコーデックでは、例えばIDR(Independent Decoder Refresh)画像など、様々なタイプのイントラ画像を使用できる。当業者は、I画像のそれらの変形およびそれらのそれぞれの用途および特徴を知っている。
【0051】
予測画像(P画像)は、各ブロックのサンプル値を予測するために最大で1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものであり得る。
【0052】
双方向予測画像(B画像)は、各ブロックのサンプル値を予測するために最大で2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用して符号化および復号され得るものであり得る。同様に、複数の予測画像は、単一のブロックの再構成に2つを超える参照画像と関連メタデータとを使用できる。
【0053】
ソース画像は、通常、空間的に複数のサンプルブロック(例えば、それぞれ4x4、8x8、4x8、または16x16サンプルのブロック)に細分化され、ブロックごとに符号化され得る。ブロックは、ブロックのそれぞれの画像に適用される符号化割り当てによって決定されるように、他の(すでに符号化された)ブロックを参照して予測的に符号化され得る。例えば、I画像のブロックは非予測的に符号化されてもよく、またはそれらは同じ画像のすでに符号化されたブロックを参照して予測的に符号化されてもよい(空間予測またはイントラ予測)。P画像の画素ブロックは、以前に符号化された1つの参照画像を参照して、空間的予測を介して、または時間的予測を介して、予測的に符号化され得る。B画像のブロックは、1つまたは2つの以前に符号化された参照画像を参照して、空間的予測を介して、または時間的予測を介して、予測的に符号化され得る。
【0054】
ビデオエンコーダ(503)は、ITU-T Rec. H.265などの所定のビデオ符号化技術または規格に従って符号化動作を実行し得る。その動作において、ビデオエンコーダ(503)は、入力ビデオシーケンスの時間的および空間的冗長性を活用する予測符号化操作を含む、様々な圧縮操作を実行し得る。したがって、符号化されたビデオデータは、使用されているビデオ符号化技術または規格で指定された構文に準拠する場合がある。
【0055】
一実施形態では、送信器(540)は、符号化されたビデオとともに追加のデータを送信し得る。ソースコーダ(530)は、そのようなデータを、符号化されたビデオシーケンスの一部として含み得る。追加のデータは、時間/空間/SNR強化レイヤ、冗長画像およびスライスなどの他の形態の冗長データ、SEIメッセージ、VUIパラメータセット断片などを含むことができる。
【0056】
ビデオは、時系列で複数のソース画像(ビデオ画像)としてキャプチャされ得る。イントラ画像予測(イントラ予測と略されることが多い)は、特定の画像の空間相関を利用し、画像間予測は、画像間の(時間的またはその他の)相関を利用する。一例では、現在の画像と呼ばれる、符号化/復号中の特定の画像がブロックに分割される。現在の画像のブロックが、以前に符号化され、まだバッファリングされているビデオの参照画像の参照ブロックに類似している場合、現在の画像のブロックは、動きベクトルと呼ばれるベクトルによって符号化され得る。動きベクトルは、参照画像の参照ブロックを指し、複数の参照画像が使用されている場合、参照画像を識別する三次元を有し得る。
【0057】
いくつかの実施形態では、画像間予測において双予測技法を使用することができる。双予測技法によれば、ビデオ内の現在の画像よりも復号順序が両方とも先行している(ただし、それぞれ表示順序が過去および未来である可能性がある)第1の参照画像および第2の参照画像などの2つの参照画像が使用され得る。現在の画像内のブロックは、第1の参照画像内の第1の参照ブロックを指す第1の動きベクトル、および第2の参照画像内の第2の参照ブロックを指す第2の動きベクトルによって符号化され得る。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測され得る。
【0058】
さらに、マージモード技術を画像間予測で使用して、符号化効率を改善することができる。
【0059】
本開示のいくつかの実施形態によれば、画像間予測およびイントラ画像予測などの予測は、ブロックの単位で実行される。例えば、HEVC規格に従って、ビデオ画像シーケンスの画像は圧縮のために符号化ツリーユニット(CTU)に分割され、画像のCTUは64x64画素、32x32画素、または16x16画素など同じサイズである。一般に、CTUには、1つの輝度CTBと2つの彩度CTBである3つの符号化ツリーブロック(CTB)が含まれる。各CTUは、再帰的に1つまたはそれ以上の符号化ユニット(CU)に分割された四分木であり得る。例えば、64x64画素のCTUは、64x64画素の1つのCU、32x32画素の4つのCU、または16x16画素の16のCUに分割され得る。一例では、各CUは、インター予測タイプまたはイントラ予測タイプなどのCUの予測タイプを決定するために分析される。CUは、時間的および/または空間的予測可能性に応じて、1つまたはそれ以上の予測ユニット(PU)に分割される。一般に、各PUには輝度予測ブロック(PB)と2つの彩度PBとが含まれる。一実施形態では、符号化(符号化/復号)における予測動作は、予測ブロックの単位で実行される。輝度予測ブロックを予測ブロックの例として使用すると、予測ブロックは、8x8画素、16x16画素、8x16画素、16x8画素などの画素の値の行列(輝度値など)を含む。
【0060】
図6は、本開示の別の実施形態によるビデオエンコーダ(603)の図を示している。ビデオエンコーダ(603)は、ビデオ画像シーケンスにおける現在のビデオ画像内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、符号化されたビデオシーケンスの一部である符号化画像に符号化するように構成される。一例では、ビデオエンコーダ(603)は、
図3の例におけるビデオエンコーダ(303)の代わりに使用される。
【0061】
HEVCの例では、ビデオエンコーダ(603)は、8×8サンプルなどの予測ブロックなど、処理ブロックのサンプル値の行列を受け取る。ビデオエンコーダ(603)は、処理ブロックが、例えばレート歪み最適化を使用して、イントラモード、インターモード、または双予測モードを使用して最良に符号化されるかどうかを決定する。処理ブロックがイントラモードで符号化される場合、ビデオエンコーダ(603)は、イントラ予測技法を使用して、処理ブロックを符号化された画像に符号化することができる。そして、処理ブロックがインターモードまたは双予測モードで符号化される場合、ビデオエンコーダ(603)は、それぞれインター予測または双予測技術を使用して、処理ブロックを符号化された画像に符号化することができる。特定のビデオ符号化技術では、マージモードは、動きベクトルが1つまたはそれ以上の動きベクトル予測器から導き出されるが、予測器の外側にある符号化された動きベクトルコンポーネントの利点はない画像間予測サブモードであり得る。特定の他のビデオ符号化技術では、対象ブロックに適用可能な動きベクトル成分が存在し得る。一例では、ビデオエンコーダ(603)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他の成分を含む。
【0062】
図6の例では、ビデオエンコーダ(603)は、インターエンコーダ(630)、イントラエンコーダ(622)、残差計算器(623)、スイッチ(626)、残差エンコーダ(624)、総合コントローラ(621)および
図6に示すように一緒に結合されたエントロピーエンコーダ(625)を含む。
【0063】
インターエンコーダ(630)は、現在のブロック(例えば、処理ブロック)のサンプルを受け取り、そのブロックを参照画像(例えば、前の画像および後の画像のブロック)の1つまたはそれ以上の参照ブロックと比較し、インター予測情報(例えば、インター符号化技法、動きベクトル、マージモード情報による冗長情報の記述)を生成し、任意の適切な技法を使用してインター予測情報に基づいてインター予測結果(例えば予測ブロック)を計算するように構成される。いくつかの例では、参照画像は、符号化されたビデオ情報に基づいて復号される復号参照画像である。
【0064】
イントラエンコーダ(622)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、ブロックを同じ画像ですでに符号化されているブロックと比較し、変換後に量子化係数、場合によってはイントラ予測情報(例えば、1つまたはそれ以上のイントラ符号化技術によるイントラ予測方向情報)を生成するように構成される。一例では、イントラエンコーダ(622)はまた、イントラ予測情報と、同一画像内の参照ブロックとに基づいて、イントラ予測結果(例えば、予測ブロック)を算出する。
【0065】
総合コントローラ(621)は、総合制御データを決定し、総合制御データに基づいてビデオエンコーダ(603)の他の構成要素を制御するように構成される。一例では、総合コントローラ(621)はブロックのモードを決定し、モードに基づいてスイッチ(626)に制御信号を提供する。例えば、モードがイントラモードである場合、総合コントローラ(621)はスイッチ(626)を制御して、残差計算器(623)が使用するイントラモードの結果を選択し、エントロピーエンコーダ(625)を制御してイントラ予測情報を選択し、ビットストリームにイントラ予測情報を含める。そして、モードがインターモードである場合、総合コントローラ(621)は、スイッチ(626)を制御して、残差計算器(623)が使用するインター予測結果を選択し、エントロピーエンコーダ(625)を制御してインター予測情報を選択し、ビットストリームにインター予測情報を含める。
【0066】
残差計算器(623)は、受信されたブロックと、イントラエンコーダ(622)またはインターエンコーダ(630)から選択された予測結果との間の差(残差データ)を計算するように構成される。残差エンコーダ(624)は、残差データに基づいて動作して残差データを符号化し、変換係数を生成するように構成される。一例では、残差エンコーダ(624)は、周波数領域で残差データを変換し、変換係数を生成するように構成される。次に、変換係数は、量子化処理を受けて、量子化された変換係数が得られる。様々な実施形態において、ビデオエンコーダ(603)はまた、残差デコーダ(628)を含む。残差デコーダ(628)は、逆変換を実行し、復号された残差データを生成するように構成される。復号された残差データは、イントラエンコーダ(622)およびインターエンコーダ(630)において好適に用いることができる。例えば、インターエンコーダ(630)は、復号残差データとインター予測情報とに基づいて復号ブロックを生成し、イントラエンコーダ(622)は、復号残差データとイントラ予測情報とに基づいて復号ブロックを生成することができる。いくつかの例では、復号されたブロックは、復号された画像を生成するために適切に処理され、復号された画像は、メモリ回路(図示せず)にバッファされ、参照画像として使用され得る。
【0067】
エントロピーエンコーダ(625)は、符号化されたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(625)は、HEVC規格などの適切な規格に従って様々な情報を含むように構成される。一例では、エントロピーエンコーダ(625)は、総合制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、およびビットストリーム内の他の適切な情報を含むように構成される。開示された主題によれば、インターモードまたは双予測モードのいずれかのマージサブモードでブロックを符号化する場合、残差情報はないことに留意されたい。
【0068】
図7は、本開示の別の実施形態によるビデオデコーダ(710)の図を示している。ビデオデコーダ(710)は、符号化されたビデオシーケンスの一部である符号化された画像を受信し、符号化された画像を復号して再構成された画像を生成するように構成される。一例では、ビデオデコーダ(710)は、
図3の例におけるビデオデコーダ(310)の代わりに使用される。
【0069】
図7の例では、ビデオデコーダ(710)は、エントロピーデコーダ(771)、インターデコーダ(780)、残差デコーダ(773)、再構成モジュール(774)、および
図7に示すように一緒に結合されたイントラデコーダ(772)を含む。
【0070】
エントロピーデコーダ(771)は、符号化された画像から、符号化された画像が構成される構文要素を表す特定のシンボルを再構成するように構成され得る。そのようなシンボルは、例えば、ブロックが符号化されるモード(例えば、イントラモード、インターモード、双予測モード、マージサブモードまたは別のサブモードにおける後者の2つ)、イントラデコーダ(772)またはインターデコーダ(780)による予測に使用される特定のサンプルまたはメタデータをそれぞれ識別できる、例えば、量子化変換係数の形式の残差情報、などの予測情報(例えば、イントラ予測情報またはインター予測情報など)を含み得る。一例では、予測モードがインター予測モードまたは双予測モードである場合、インター予測情報がインターデコーダ(780)に提供される。そして、予測タイプがイントラ予測タイプである場合、イントラ予測情報はイントラデコーダ(772)に提供される。残差情報は逆量子化を受ける可能性があり、残差デコーダ(773)に提供される。
【0071】
インターデコーダ(780)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
【0072】
イントラデコーダ(772)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
【0073】
残差デコーダ(773)は、逆量子化を実行して逆量子化変換係数を抽出し、逆量子化変換係数を処理して残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(773)は、特定の制御情報(量子化パラメータ(QP)を含めるため)も必要とする場合があり、その情報はエントロピーデコーダ(771)によって提供される場合がある(データパスは、低データ量制御情報のみであるため、図示されていない)。
【0074】
再構成モジュール(774)は、空間領域において、残差デコーダ(773)による出力としての残差と(場合によってはインターまたはイントラ予測モジュールによる出力としての)予測結果とを組み合わせて、再構成されたブロックを形成し、再構成されたブロックは、再構成されたビデオの一部であり得る再構成された画像の一部であり得る。視覚的品質を改善するために、デブロッキング操作などの他の適切な操作を実行できることに留意されたい。
【0075】
ビデオエンコーダ(303)、(503)および(603)、およびビデオデコーダ(310)、(410)および(710)は、任意の適切な技術を使用して実装できることに留意されたい。一実施形態では、ビデオエンコーダ(303)、(503)および(603)ならびにビデオデコーダ(310)、(410)および(710)は、1つまたはそれ以上の集積回路を使用して実装することができる。別の実施形態では、ビデオエンコーダ(303)、(503)および(603)、およびビデオデコーダ(310)、(410)および(710)は、ソフトウェア命令を実行する1つまたはそれ以上のプロセッサを使用して実装できる。
【0076】
本開示の態様は、予測オフセットによるアフィン運動補償を単純化するための技術を提供する。
【0077】
一般に、ブロックの動きベクトルは、差分を動きベクトル予測子(例えば、高度な動きベクトル予測またはAMVPモード)にシグナリングするために、明示的な方法で符号化することができる。または暗黙的な方法で、以前に符号化または生成された1つの動きベクトルから完全に指示される。後者はマージモードと呼ばれ、現在のブロックがその動き情報を使用して以前に符号化されたブロックにマージされることを意味する。
【0078】
AMVPモードとマージモードの両方が、復号中に候補リストを作成する。
【0079】
II.インター予測符号化技術
1.マージモード
様々な実施形態において、画像は、例えば、ツリー構造ベースの区分方式を使用してブロックに区分化することができる。結果として得られるブロックは、イントラ予測モード、インター予測モード(例えば、マージモード、スキップモード、高度動きベクトル予測(AVMP)モード)などの異なる処理モードで処理することができる。現在のブロックと呼ばれる現在処理されているブロックがマージモードで処理される場合、隣接するブロックを現在のブロックの空間的または時間的近傍から選択することができる。現在のブロックは、選択された隣接ブロックから同じ動きデータのセット(または動き情報と呼ばれる)を共有することによって、選択された隣接ブロックとマージすることができる。このマージモード動作は、隣接するブロックの領域が一緒にマージされ、同じ動きデータのセットを共有することができるように、隣接するブロックのグループにわたって実行することができる。エンコーダからデコーダへの送信中、選択された隣接ブロックの動きデータを示すインデックスは、動きデータのセット全体を送信するのではなく、現在のブロックに対して送信することができる。これにより、動き情報の伝送に用いられるデータ量(ビット)を削減し、符号化効率を向上させることができる。
【0080】
上記の例では、動きデータを提供する隣接ブロックは、候補位置のセットから選択することができる。候補位置は、現在のブロックに対して事前定義することができる。例えば、候補位置は、空間候補位置および時間候補位置を含むことができる。各空間候補位置は、現在のブロックに隣接する空間的隣接ブロックに関連付けられる。各時間的候補位置は、別の符号化画像(例えば、以前に符号化された画像)内に位置する時間的近傍ブロックと関連付けられる。候補位置と重複する隣接ブロック(候補ブロックと呼ばれる)は、現在のブロックのすべての空間的または時間的に隣接するブロックのサブセットである。このようにして、候補ブロックは、隣接ブロックのセット全体ではなく、マージ対象ブロックの選択について評価することができる。
【0081】
図8は、候補位置の一例を示す。これらの候補位置から、マージ候補の集合を選択して、マージ候補リストを構成することができる。図示されるように、現在のブロック(810)はマージモードで処理されるべきである。マージモード処理のための候補位置の集合{A1,B1,B0,A0,B2,C0,C1}が定義される。具体的には、候補位置{A1,B1,B0,A0,B2}は、現在のブロック(810)と同じ画像内にある候補ブロックの位置を表す空間候補位置である。対照的に、候補位置{C0,C1}は、別の符号化された画像内にあり、現在のブロック(810)の同じ場所に位置するブロックに隣接または重複する候補ブロックの位置を表す時間的候補位置である。図示のように、候補位置C1は、現在のブロック(810)の中心付近に(例えば、隣接して)位置することができる。
【0082】
候補位置は、サンプルのブロックまたは異なる例ではサンプルによって表すことができる。
図8では、各候補位置は、例えば4×4サンプルのサイズを有するサンプルのブロックによって表される。候補位置に対応するサンプルのそのようなブロックのサイズは、現在のブロック(810)を生成するために使用されるツリーベースの区分方式に対して定義されたPBの最小許容サイズ(例えば、4×4サンプル)以下であり得る。このような構成の下では、候補位置に対応するブロックは常に単一の隣接PB内でカバーすることができる。代替例では、候補位置を表すためにサンプル位置(例えば、ブロックA1内の右下サンプル、またはブロックA0内の右上サンプル)が使用されてもよい。このようなサンプルを代表サンプルと呼び、このような位置を代表位置と呼ぶ。
【0083】
一例では、
図8で定義された候補位置{A1,B1,B0,A0,B2,C0,C1}に基づいて、候補位置{A1,B1,B0,A0,B2,C0,C1}からマージ候補を選択して候補リストを構成するために、マージモード処理を実行することができる。候補リストは、Cmとして表される所定の最大数のマージ候補を有することができる。候補リスト内の各マージ候補は、動き補正予測に使用することができる動きデータのセットを含むことができる。
【0084】
マージ候補は、一定の順序に従って候補リストに列挙することができる。例えば、マージ候補の導出方法によっては、異なるマージ候補が選択される確率が異なる場合がある。選択される確率が高いマージ候補ほど、選択される確率が低いマージ候補の前に位置する。このような順序に基づいて、各マージ候補はインデックス(マージインデックスと呼ばれる)に関連付けられる。一実施形態では、選択される確率がより高いマージ候補は、それぞれのインデックスを符号化するために必要なビットがより少なくなるように、より小さいインデックス値を有する。
【0085】
一例では、マージ候補の動きデータは、1つまたは2つの動きベクトルの水平および垂直動きベクトル変位値、1つまたは2つの動きベクトルに関連付けられた1つまたは2つの参照画像インデックス、および任意選択で、どの参照画像リストが参照画像インデックスに関連付けられているかの識別情報を含むことができる。
【0086】
一例では、所定の順序に従って、{A1,B1,B0,A0,B2}の順序に従って空間候補位置から第1の数のマージ候補Caが導出され、{C0,C1}の順序に従って時間候補位置から第2の数のマージ候補Cb=Cm-Caが導出される。候補位置を表すための数字A1、B1、B0、A0、B2、C0、C1は、マージ候補を参照するために使用することもできる。例えば、候補位置A1から得られるマージ候補をマージ候補A1と呼ぶ。
【0087】
いくつかのシナリオでは、候補位置におけるマージ候補は利用できない場合がある。例えば、候補位置にある候補ブロックは、現在のブロック(810)を含むスライスまたはタイルの外側で、または現在のブロック(810)と同じ符号化ツリーブロック(CTB)行ではなく、イントラ予測することができる。いくつかのシナリオでは、候補位置におけるマージ候補は冗長であり得る。例えば、現在のブロック(810)の一方の隣接ブロックは、2つの候補位置と重複することができる。冗長なマージ候補は、(例えば、プルーニング処理を実行することによって)候補リストから除去することができる。候補リスト内の利用可能なマージ候補の総数(重複候補が除去されている)が最大マージ候補数Cmよりも小さい場合、候補リストを固定長に維持できるように追加のマージ候補を生成(例えば、事前構成された規則に従って)して候補リストを埋めることができる。例えば、追加のマージ候補は、結合された双予測候補および0個の動きベクトル候補を含むことができる。
【0088】
候補リストが構成された後、エンコーダにおいて、候補リストからマージ候補を選択するための評価処理を実行することができる。例えば、各マージ候補に対応するRD(Rate-Distortion)性能を算出し、RD性能が最も良いものを選択することができる。したがって、選択されたマージ候補と関連付けられたマージインデックスを現在のブロック(810)について決定し、デコーダにシグナリングすることができる。
【0089】
デコーダでは、現在のブロック(810)のマージインデックスを受信することができる。上述したのと同様の候補リスト構成処理を実行して、エンコーダ側で生成された候補リストと同じ候補リストを生成することができる。候補リストが構成された後、いくつかの例では、さらなる評価を実行することなく、受信したマージインデックスに基づいて候補リストからマージ候補を選択することができる。選択されたマージ候補の動きデータは、現在のブロック(810)の後続の動き補正予測に使用することができる。
【0090】
いくつかの例ではスキップモードも導入される。例えば、スキップモードでは、上述したようにマージモードを使用して現在のブロックを予測して動きデータのセットを決定することができるが、残差は生成されず、変換係数は送信されない。スキップフラグを現在のブロックに関連付けることができる。スキップフラグおよび現在のブロックの関連する動き情報を示すマージインデックスは、ビデオデコーダにシグナリングすることができる。例えば、画像間予測スライス内のCUの先頭で、以下を意味するスキップフラグをシグナリングすることができる:CUは1つのPU(2N×2N)のみを含み、マージモードは動きデータを導出するのに用いられ、ビットストリーム内に残差データは存在しない。デコーダ側では、スキップフラグに基づいて、残差情報を追加することなく、それぞれの現在のブロックを復号するためのマージインデックスに基づいて予測ブロックを決定することができる。したがって、本明細書に開示されるマージモードを用いたビデオ符号化のための様々な方法は、スキップモードと組み合わせて利用することができる。
【0091】
一例として、一実施形態では、マージフラグまたはスキップフラグがビットストリーム内で真としてシグナリングされると、マージインデックスは、マージ候補リスト内のどの候補が現在のブロックの動きベクトルを提供するために使用されるかを示すためにシグナリングされる。最大4つの空間的に隣接する動きベクトルおよび最大1つの時間的に隣接する動きベクトルをマージ候補リストに追加することができる。マージ候補リストのサイズとして、構文MaxMergeCandsNumが定義される。構文MaxMergeVandsNumは、ビットストリームでシグナリングすることができる。
【0092】
2.拡張マージ予測モード
いくつかの実施形態では、上述のマージ候補リストが拡張され、拡張マージ候補リストがマージモードで使用される。拡張マージ候補リストは、例えば、以下の5種類のマージ候補を、マージ候補の最大許容サイズを順にリストに含めて構成することができる。
1)空間近隣符号化ユニット(CU)からの空間動きベクトル予測子(MVP);
2)コロケートされたCUからの時間MVP;
3)履歴バッファからの履歴ベースのMVP;
4)対ワイズ平均MVP;および
5)0MV。
【0093】
符号化ユニットという用語は、予測ブロック、または画像から分割された符号化ブロックを指すことができる。
【0094】
様々な実施形態において、拡張マージリストのサイズは、スライスヘッダ、タイルグループヘッダなどでシグナリングすることができる。一例では、拡張マージリストの最大許容サイズは6である。いくつかの実施形態では、マージモードで符号化されたCUの場合、最良のマージ候補のインデックスは、切り捨てられた単項2値化(TU)を使用して符号化される。マージインデックスの第1のビンは文脈で符号化することができ、他のビンはバイパス符号化で符号化することができる。
【0095】
以下、拡張マージ候補リストに対する異なる種類のマージ候補の生成処理について説明する。
【0096】
2.1 空間候補導出
一実施形態では、拡張マージリスト内の空間マージ候補の導出は、セクションIIで説明した空間マージ候補の導出と同様である。1マージモード。
図9は、一実施形態による現在のブロック(910)の空間マージ候補位置を示す。
図9に示す候補位置の中から最大4つのマージ候補を選択して導出することができる。導出の順序は、一例ではA1、B1、B0、A0およびB2であり得る。一例では、位置B2は、位置A1、B1、B0、A0のいずれかのCUが利用できない(例えば、別のスライスまたはタイルに属するため)か、またはイントラ符号化されている場合にのみ考慮される。
【0097】
位置A1の候補が拡張候補リストに追加された後、他の候補の追加は冗長検査の対象となり得る。冗長検査により、同一の動き情報を持つマージ候補を拡張マージリストから除外することで、符号化効率を向上させることができる。計算の複雑さを低減するために、一例では、すべての可能な候補対が冗長検査で考慮されるわけではない。代わりに、
図10の矢印で連結された対のみが考慮される。
図10に示される相手がマージリスト内にあり、いくつかの例では追加される候補と同じまたは類似の動き情報を有する場合、候補はマージリストに追加されない。
【0098】
2.2 時間的候補の導出
一実施形態では、1つの時間的候補のみが拡張マージリストに追加される。
図11は、一実施形態による、現在の画像(1101)内の現在のブロック(1111)の時間的マージ候補(1131)を導出する例を示す。時間的マージ候補(1131)は、画像(1102)(コロケート画像と呼ばれる)内の現在のブロック(1111)のコロケートブロック(1112)の動きベクトル(1132)をスケーリングすることによって導出される。一例では、同じ場所に配置された画像の参照画像インデックスは、例えばスライスヘッダで明示的にシグナリングされる。一例では、時間的マージ候補(1131)の参照画像インデックスは0に設定される。一実施形態では、スケーリング動作は、画像順序カウント(POC)、Tb(1141)、およびTd(1142)の距離に基づく。例えば、Tb(1141)は、現在のブロック(1111)の参照画像(1103)と現在の画像(1101)との間のPOC距離であると定義され、Td(1142)は、同じ場所に位置するブロック(1112)の参照画像(1104)と同じ場所に位置する画像(1102)との間のPOC距離であると定義される。
【0099】
図12は、一実施形態による、現在のブロック1210の時間的マージ候補を選択することができる候補位置C1およびC0を示す。一実施形態では、位置C0は、時間的マージ候補を導出するために最初にチェックされる。位置C0のマージ候補が利用できない場合、例えば、C0の隣接ブロックが利用できない、イントラ符号化されている、またはCTUの現在の行の外側にある場合、位置C1が使用される。
【0100】
2.3 履歴ベースのマージ候補導出
いくつかの実施形態では、履歴ベース動きベクトル予測(HMVP)マージ候補は、空間および時間候補動きベクトル予測器(MVP)の後に現在のCUの拡張マージリストに追加される。HMVPでは、以前に符号化されたブロックの動き情報をテーブル(または履歴バッファ)に格納し、現在のCUのMVP候補として使用することができる。このような動き情報は、HMVP候補と呼ばれる。複数のHMVP候補を有するテーブルは、符号化または復号処理中に維持することができる。一例では、新しいCTU行に遭遇したときにテーブルをリセット(空にする)ことができる。サブブロック間符号化されていないCUが存在するときはいつでも、関連する動き情報は、一実施形態では、新しいHMVP候補としてテーブルの最後のエントリに追加され得る。
【0101】
一実施形態では、Sで示されるHMVPテーブルのサイズは6に設定される。したがって、最大6つのHMVP候補をテーブルに追加することができる。新しい動き候補をテーブルに挿入するとき、制約付き先入れ先出し(FIFO)規則を一実施形態で利用することができる。また、新たなHMVP候補を追加する際に冗長検査を適用して、テーブル内に同一のHMVPが存在するか否かを見つけることができる。発見された場合、同一のHMVP候補がテーブルから除去され、除去されたHMVP候補に続く全てのHMVP候補が前方に移動される。次いで、新しいHMVP候補をテーブルの最後に追加することができる。
【0102】
一実施形態では、HMVP候補は、拡張マージ候補リスト構成処理で使用される。一実施形態では、テーブル内の最新のいくつかのHMVP候補を順番に確認し、TMVP候補の後の位置で拡張候補リストに挿入することができる。冗長検査を適用して、HMVP候補が拡張マージリストに以前に追加された空間または時間的マージ候補と類似しているか同じであるかを判定することができる。
【0103】
冗長検査動作の数を減らすために、一実施形態では以下の簡略化が導入される。
【0104】
(i)拡張マージリストの生成に用いるHMPV候補数をN<=4、M=(8-N)とし、Nは拡張マージリストの既存候補数、Mは履歴テーブルの利用可能HMVP候補数とする。
【0105】
(ii)拡張マージリスト内の利用可能なマージ候補の総数がマージ候補の最大許容数-1に達すると、HMVPからのマージ候補リスト構成処理は終了する。
【0106】
2.4 対ワイズ平均マージ候補導出
いくつかの実施形態では、現在のマージ候補リスト内の候補の所定の対を平均化することによって、対ワイズ平均候補を生成することができる。例えば、所定の対は、一実施形態では{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)}として定義され、番号は、マージ候補リストに対するマージインデックスを示す。例えば、平均化された動きベクトルは、参照画像リストごとに別々に計算される。両方の平均化対象動きベクトルが1つのリストで利用可能である場合、これら2つの動きベクトルは、それらが異なる参照画像を指す場合でも平均化される。1つの動きベクトルのみが利用可能である場合、利用可能な動きベクトルを直接使用することができる。動きベクトルが利用できない場合、一例では、それぞれの対がスキップされる。
【0107】
2.5 0動きベクトル予測子
いくつかの実施形態では、対ワイズ平均マージ候補が追加された後に拡張マージリストが一杯になっていない場合、マージ候補の最大許容数に達するまで拡張マージリストの最後に0個のMVPが挿入される。
【0108】
3.三角予測モード(TPM)
いくつかの実施形態では、インター予測に三角予測モード(TPM)を使用することができる。一実施形態では、TPMは、サイズが8×8サンプル以上であり、スキップまたはマージモードで符号化されるCUに適用される。一実施形態では、これらの条件(サイズが8×8サンプル以上であり、スキップモードまたはマージモードで符号化される)を満たすCUの場合、TPMが適用されるかどうかを示すためにCUレベルフラグがシグナリングされる。
【0109】
TPMが使用される場合、いくつかの実施形態では、CUは、
図13に示すように対角分割または反対角分割のいずれかを使用して、2つの三角形のパーティションに均等に分割される。
図13では、第1のCU(1310)が左上隅から右下隅に分割され、2つの三角形の予測ユニットPU1およびPU2が得られる。第2のCU(1320)は、右上隅から左下隅に分割され、2つの三角形の予測ユニットPU1およびPU2が得られる。CU(1310)またはCU(1320)内の各三角予測ユニットPU1またはPU2は、それ自体の動き情報を使用して相互予測される。いくつかの実施形態では、各三角予測ユニットに対して単予測のみが許容される。したがって、各三角予測ユニットは、1つの動きベクトルおよび1つの参照画像インデックスを有する。単予測動き制約は、従来の双予測方法と同様に、各CUに対して2つ以下の動き補正予測が実行されることを保証するために適用することができる。このようにして、処理の複雑さを低減することができる。三角予測ユニットごとの単予測動き情報は、単予測マージ候補リストから導出することができる。いくつかの他の実施形態では、各三角予測ユニットに対して双予測が可能である。したがって、各三角予測ユニットの双予測動き情報は、双予測マージ候補リストから導出することができる。
【0110】
いくつかの実施形態では、CUレベルフラグが、現在のCUがTPMを使用して符号化されていることを示す場合、三角パーティションインデックスと呼ばれるインデックスがさらにシグナリングされる。例えば、三角形パーティションインデックスは、[0,39]の範囲内の値を有することができる。この三角形パーティションインデックスを使用して、三角形パーティションの方向(対角または対角)、ならびに各パーティションの動き情報(例えば、各単予測候補リストへのマージインデックス(またはTPMインデックスと呼ばれる))を、デコーダ側のルックアップテーブルを介して取得することができる。取得された動き情報に基づいて三角予測ユニットの各々を予測した後、一実施形態では、現在のCUの対角または対角エッジに沿ったサンプル値は、適応重みを用いてブレンド処理を実行することによって調整される。ブレンド処理の結果、CU全体の予測信号を得ることができる。その後、他の予測モードと同様に、変換および量子化処理をCU全体に適用することができる。最後に、三角形分割モードを使用して予測されたCUの動きフィールドは、例えば、CUから分割された4×4ユニットのセットに動き情報を記憶することによって作成することができる。動きフィールドは、例えば、マージ候補リストを構成するための後続の動きベクトル予測処理で使用することができる。
【0111】
3.1 ユニ予測候補リストの構成
いくつかの実施形態では、符号化ブロックの空間的および時間的に隣接するブロックのセットに基づいて、TPMで処理された符号化ブロックの2つの三角予測ユニットの予測のためのマージ候補リストを構成することができる。そのようなマージ候補リストは、TPM候補リストまたはTPM候補が本明細書に列挙された三角マージモード候補リストと呼ぶことができる。一実施形態では、マージ候補リストは単予測候補リストである。一実施形態では、単予測候補リストは、5つの単予測動きベクトル候補を含む。例えば、5つの単予測動きベクトル候補は、5つの空間的に隣接するブロック(
図14では1から5の番号でラベル付けされている)および2つの時間的に同じ場所に位置するブロック(
図14では6から7の番号でラベル付けされている)を含む7つの隣接するブロックから導出される。
【0112】
一例では、7つの隣接ブロックの動きベクトルが収集され、以下の順序に従って単予測候補リストに含まれる。まず、単予測された隣接ブロックの動きベクトル;次いで、双予測された隣接ブロックについて、L0動きベクトル(すなわち、双予測MVのL0動きベクトル部分)、L1動きベクトル(すなわち、双予測MVのL1動きベクトル部分)、ならびに双予測MVのL0およびL1動きベクトルの平均動きベクトル。一実施形態では、候補の数が5未満である場合、0個の動きベクトルがリストの最後に追加される。いくつかの他の実施形態では、マージ候補リストは、
図14に示されるものと同じまたは異なる候補位置から選択される5未満または5超の単予測または双予測マージ候補を含むことができる。
【0113】
3.2 ルックアップテーブルおよびテーブルインデックス
一実施形態では、CUは、5つのTPM候補を含むTPM(またはマージ)候補リストを有する三角形パーティションモードで符号化される。したがって、各三角PUに5つのマージ候補が使用される場合、CUを予測する40の可能な方法がある。言い換えれば、分割方向とマージ(またはTPM)インデックスの40の異なる組み合わせがあり得る:2(可能な分割方向)×(5(第1の三角予測ユニットの可能なマージインデックス)×5(第2の三角予測ユニットの可能なマージインデックス)-5(第1および第2の予測ユニットの対が同じマージインデックスを共有する場合の可能性の数))。例えば、2つの三角予測ユニットに対して同じマージインデックスが決定された場合、CUは、三角予測モードの代わりに通常のマージモードを使用して処理することができる。
【0114】
したがって、一実施形態では、[0,39]の範囲の三角形パーティションインデックスを使用して、ルックアップテーブルに基づいて40の組み合わせのうちのどれが使用されるかを表すことができる。
図15は、三角形パーティションインデックスに基づいて分割方向およびマージインデックスを導出するために使用される例示的なルックアップテーブル(1500)を示す。ルックアップテーブル(1500)に示すように、第1行(1501)は、0から39の範囲の三角形パーティションインデックスを含む。第2行(1502)は、0または1によって表される可能な分割方向を含む。第3行(1503)は、第1の三角予測ユニットに対応し、0から4までの範囲の可能な第1のマージインデックスを含む。第4行1504は、第2の三角予測ユニットに対応し、0から4の範囲の可能な第2のマージインデックスを含む。
【0115】
例えば、値1を有する三角形パーティションインデックスがデコーダで受信された場合、ルックアップテーブル(1500)の列(1520)に基づいて、分割方向は値1によって表されるパーティション方向であり、第1および第2のマージインデックスはそれぞれ0および1であると判断することができる。三角形パーティションインデックスはルックアップテーブルに関連付けられているので、本開示では三角形パーティションインデックスはテーブルインデックスとも呼ばれる。
【0116】
3.3 三角形分割エッジに沿った適応ブレンド
一実施形態では、それぞれの動き情報を使用して各三角予測ユニットを予測した後、2つの三角予測ユニットの2つの予測信号にブレンド処理を適用して、対角または対角エッジの周りのサンプルを導出する。ブレンド処理は、2つの三角予測ユニット間の動きベクトルの差に応じて、2つのグループの重み付け係数を適応的に選択する。一実施形態では、2つの重み付け係数グループは以下の通りである。
【0117】
(1)第1の重み付け係数グループ:輝度成分のサンプルの場合は{7/8,6/8,4/8,2/8,1/8}、彩度成分のサンプルの場合は{7/8,4/8,1/8}であり、
【0118】
(2)第2の重み付け係数グループ:輝度成分のサンプルの場合は{7/8,6/8,5/8,4/8,3/8,2/8,1/8}、彩度成分のサンプルの場合は{6/8,4/8,2/8}である。第2の重み付け係数グループは、より多くの輝度重み付け係数を有し、仕切り縁部に沿ってより多くの輝度サンプルをブレンドする。
【0119】
一実施形態では、2つの重み付け係数グループのうちの1つを選択するために以下の条件が使用される。2つの三角形パーティションの参照画像が互いに異なる場合、または、2つの三角形パーティション間の動きベクトルの差がしきい値(例えば、16個の輝度サンプル)よりも大きい場合、第2の重み付け係数グループが選択される。そうでなければ、第1の重み付け係数グループが選択される。
【0120】
図16は、第1の重み付け係数グループを適用するCUの一例を示す。図示のように、第1の符号化ブロック(1601)は輝度サンプルを含み、第2の符号化ブロック(1602)は彩度サンプルを含む。符号化ブロック(1601)または(1602)の対角エッジに沿った画素のセットは、重み付け係数7/8、6/8、4/8、2/8、および1/8にそれぞれ対応する番号1、2、4、6、および7でラベル付けされる。例えば、番号2でラベル付けされた画素について、ブレンド演算後の画素のサンプル値は、以下に従って取得することができる。
混合サンプル値=2/8×P1+6/8×P2、
ここで、P1およびP2は、それぞれの画素におけるサンプル値を表すが、それぞれ第1の三角予測ユニットおよび第2の三角予測ユニットの予測に属する。
【0121】
図17は、第2の重み付け係数グループを適用するCUの一例を示す。図示のように、第1の符号化ブロック(1701)は輝度サンプルを含み、第2の符号化ブロック(1702)は彩度サンプルを含む。符号化ブロック(1701)または(1702)の対角エッジに沿った画素のセットは、重み付け係数7/8、6/8、5/8、4/8、3/8、2/8、1/8にそれぞれ対応する番号1、2、3、4、5、6、および7でラベル付けされる。例えば、番号3でラベル付けされた画素について、ブレンド演算後の画素のサンプル値は、以下に従って取得することができる。
混合サンプル値=3/8×P1+5/8×P2、
ここで、P1およびP2は、それぞれの画素におけるサンプル値を表すが、それぞれ第1の三角予測ユニットおよび第2の三角予測ユニットの予測に属する。
【0122】
3.4 三角予測パラメータをシグナリングするための構文要素
いくつかの実施形態では、三角予測ユニットモードは、スキップモードまたはマージモードのCUに適用される。CUのブロックサイズは8×8よりも小さくすることはできない。スキップまたはマージモードで符号化されたCUの場合、CUレベルフラグがシグナリングされて、現在のCUに三角予測ユニットモードが適用されるか否かを示す。一実施形態では、三角予測ユニットモードがCUに適用されると、CUを2つの三角予測ユニットに分割する方向および2つの三角予測ユニットの動きベクトル(またはそれぞれのマージインデックス)を示すテーブルインデックスがシグナリングされる。テーブルインデックスの範囲は0から39までである。
図15に記載されているテーブルなどのルックアップテーブルは、テーブルインデックスから分割方向および動きベクトルを導出するために使用される。
【0123】
上述したように、3つのパラメータ、すなわち分割方向、第1の三角予測ユニットに対応する第1のマージインデックス(TPM index)、および第2の三角予測ユニットに対応する第2のマージインデックス(TPM index)は、TPMが符号化ブロックに適用されるときに生成される。説明したように、いくつかの例では、3つの三角予測パラメータは、テーブルインデックスをシグナリングすることによってエンコーダ側からデコーダ側にシグナリングされる。ルックアップテーブル(例えば、
図15の例のルックアップテーブル(1500))に基づいて、デコーダ側で受信されたテーブルインデックスを使用して3つの三角予測パラメータを導出することができる。しかしながら、デコーダにおいてルックアップテーブルを記憶するために追加のメモリ空間が必要とされ、これはデコーダのいくつかの実施態様において負担となり得る。例えば、追加メモリは、デコーダのコストおよび電力消費の増加をもたらし得る。
【0124】
上記の問題を解決するために、いくつかの実施形態では、テーブルインデックスをシグナリングし、テーブルインデックスを解釈するためにルックアップテーブルに依存する代わりに、3つの構文要素がエンコーダ側からデコーダ側にシグナリングされる。3つの三角予測パラメータ(分割方向および2つのマージまたはTPMインデックス)は、ルックアップテーブルを使用せずに、3つの構文要素に基づいてデコーダ側で導出または決定することができる。一実施形態では、3つの構文要素は、それぞれの符号化ブロックに対して任意の順序でシグナリングすることができる。
【0125】
一実施形態では、3つの構文要素は、分割方向構文要素、第1のインデックス構文要素、および第2のインデックス構文要素を含む。分割方向構文要素は、分割方向パラメータを決定するために使用することができる。第1および第2のインデックス構文要素を組み合わせて使用して、第1および第2のマージまたはTPMインデックスのパラメータを決定することができる。
【0126】
分割方向構文要素の場合、一実施形態では、分割方向構文要素は、分割方向が左上隅から右下隅までであるか、または右上隅から左下隅までであるかを示すために0または1の値をとる。
【0127】
第1および第2のインデックス構文要素について、一実施形態では、第1のインデックス構文要素は、第1のマージインデックスのパラメータの値を有するように構成され、第2のインデックス構文要素は、第2のマージインデックスが第1のマージインデックスよりも小さい場合に第2のマージインデックスの値を有し、第2のマージインデックスが第1のマージインデックスよりも大きい場合(第2のマージインデックスと第1のマージインデックスは上記のように異なる値をとるはずであるため、第2のマージインデックスと第1のマージインデックスは同じではない)に第2のマージインデックスから1を引いた値を有するように構成される。
【0128】
一例として、一実施形態では、マージ候補リストは5つのマージ候補の長さを有する。したがって、第1のインデックス構文要素は0、1、2、3、または4の値をとり、第2のインデックス構文要素は0、1、2、または3の値をとる。例えば、第1および第2のマージインデックスをシグナリングするために、第1のマージインデックスパラメータが2の値を有し、第2のマージインデックスパラメータが4の値を有する場合、第1および第2のインデックス構文要素はそれぞれ2および3の値を有する。
【0129】
一実施形態では、符号化ブロックは、現在の画像内の基準点に対して(xCb,yCb)の座標を有する位置に位置し、xCbおよびyCbは、それぞれ現在の符号化ブロックの水平座標および垂直座標を表す。いくつかの実施形態では、xCbおよびyCbは、4×4の粒度で水平座標および垂直座標と位置合わせされる。したがって、分割方向構文要素は、split_dir[xCb][yCb]と表される。第1のインデックス構文要素はmerge_triangle_idx0[xCb][yCb]として表され、第2のインデックス構文要素はmerge_triangle_idx1[xCb][yCb]として表される。
【0130】
例えば、VVCワーキングドラフト4(JVET-M 1001)では、マージモードおよびTPMの構文、ならびに関連するセマンティクスは、表1に記載されている通りである。
【0131】
【0132】
表1において、merge_triangle_flag[x0][y0]が1に等しい場合、それは、現在の符号化ユニットについて、タイルグループを復号するときに、三角形に基づく動き補正が現在の符号化ユニットの予測サンプルを生成するために使用されることを指定する。merge_triangle_flag[x0][y0]が0に等しい場合、それは符号化ユニットが三角形ベースの動き補正によって予測されないことを指定する。merge_triangle_flag[x0][y0]が存在しない場合、0と等しいと推測される。また、merge_triangle_split_dir[x0][y0]は、マージ三角モードの分割方向を指定する。配列インデックスx0、y0は、画像の左上輝度サンプルに対する符号化ブロックの左上輝度サンプルの位置(x0,y0)を指定する。merge_triangle_split_dir[x0][y0]が存在しない場合、0と等しいと推測される。さらに、merge_triangle_idx0[x0][y0]は、三角形ベースの動き補正候補リストの第1のマージ候補インデックスを指定し、x0、y0は、画像の左上輝度サンプルに対する符号化ブロックの左上輝度サンプルの位置(x0,y0)を指定する。merge_triangle_idx0[x0][y0]が存在しない場合、0と等しいと推測される。同様に、merge_triangle_idx1[x0][y0]は、三角形ベースの動き補正候補リストの第2のマージ候補インデックスを指定し、x0、y0は、画像の左上輝度サンプルに対する符号化ブロックの左上輝度サンプルの位置(x0,y0)を指定する。merge_triangle_idx1[x0][y0]が存在しない場合、0と等しいと推測される。
【0133】
III.TPM候補の柔軟な最大許容数
前述したように、いくつかの例では、TPM候補リストは、固定数の5つのTMP候補を含み得る。しかしながら、特定の状況下では、複雑さと符号化効率との間のより良いトレードオフを達成するために、TMP候補の最大許容数は柔軟であることが望ましい。したがって、いくつかの実施形態では、TPMを用いてブロックのセットを符号化するためのTPM候補の最大許容数をビットストリームでシグナリングすることができる。例えば、TPM候補の最大許容数は、シーケンスパラメータセット(SPS)、画像パラメータセット(PPS)、スライスヘッダ、タイルヘッダ、タイルグループヘッダなどでシグナリングすることができる。いくつかの実施形態では、TMP候補の最大許容数は、MaxNumTriangleMergeCandによって表される。
【0134】
一実施形態では、TPM候補の最大許容数は、マージモードにおいて0からマージ候補の最大許容数までの整数に制限される。マージモードは、II.1の項で説明したマージモード、またはII.2のセクションで説明されている拡張マージ予測モードとすることができる。例えば、一実施形態では、TPM候補の最大許容数を制限するための基礎を提供するマージモードは、以下のタイプのマージ候補を含むことができる:(i)空間近隣符号化ユニット(CU)からの空間動きベクトル予測子(MVP);(ii)並置されたCUからの時間MVP;(iii)履歴バッファからの履歴ベースのMVP;または(iv)対ワイズ平均MVPであり、アフィンベースのマージ候補またはサブブロックベースのマージ候補を含まなくてもよい。
【0135】
様々な例において、マージモード候補の最大許容数は異なり得る。一実施形態では、マージモード候補の最大許容数は5または6であり得る。一実施形態では、最大許容数のマージモード候補によってTPM候補の最大許容数を制限することにより、符号化ツールオプションとしてTPMとマージモードの両方を使用するエンコーダまたはデコーダの実装の複雑さを低減することができる。
【0136】
一実施形態では、TPM候補の最大許容数が直接シグナリングされる。例えば、TPM候補の最大許容数に等しい値を有する構文要素をシグナリングすることができる。
【0137】
一実施形態では、符号化効率を改善するために、TPM候補の最大許容数とマージモード候補の最大許容数との間の差がシグナリングされる。マージモード候補の最大許容数は、タイルグループヘッダでシグナリングされ得る。一実施形態では、最大許容数のマージモード候補が最初にシグナリングされる。そして、マージモード候補の最大許容数とTPM候補の最大許容数との差分がシグナリングされる。TPM候補の最大許容数は、マージモード候補の最大許容数が2以上である場合にのみシグナリングされる。別の実施形態では、最大許容数のマージモード候補がシグナリングされない場合、TPM候補の最大許容数は0と推測される。別の実施形態では、TPM候補の最大許容数は、マージモード候補の最大許容数よりも大きくすることはできない。別の実施形態では、TPM候補の最大許容数はシグナリングされないが、マージモード候補の最大許容数に設定される。
【0138】
一実施形態では、max_num_merge_cand_minus_max_num_triangle_candがシグナリングされ、これは、MaxNumMergeCandとして示される、マージモード候補の最大許容数から減算されたタイルグループ内でサポートされるTPM候補の最大許容数を指定する。したがって、TPM候補の最大許容数MaxNumTriangleMergeCandは、以下に従って決定することができる。
MaxNumTriangleMergeCand=MaxNumMergeCand-max_num_merge_cand_minus_max_num_triangle_cand
【0139】
一実施形態では、MaxNumTriangleMergeCandの値は、0に等しいか、または2からマージ候補の最大許容数までの整数であるかのいずれかであり得る。一実施形態では、max_num_merge_cand_minus_max_num_triangle_candがシグナリングされない場合、MaxNumTriangleMergeCandは0として推論される。一実施形態では、MaxNumTriangleMergeCandが0である場合、TPMをタイルグループに使用することはできない。
【0140】
表2は、上記実施形態に係る構文伝送の一例を示す。表2において、tile_group_header()は、タイルグループヘッダの構文伝送の開始を示している。sps_triangle_enable_flagが真(現在のタイルグループを規制するSPSにおいてTPMが有効であることを示す)であり、最大許容マージモード候補数が2以上である場合、構文要素max_num_merge_cand_minus_max_num_triangle_candが伝送される。
【0141】
【0142】
一実施形態では、TPMの使用は、タイルグループヘッダでシグナリングされる(MaxNumTriangleMergeCandとして表される)TPM候補の最大許容数に基づいて制限され得る。例えば、TPMは、MaxNumTriangleMergeCand>=Nの場合にのみ使用される。さもなければ、TPMは使用されるべきではない。表3は、N=2である、上記の実施形態による例示的な構文表を示す。表3では、三角マージモード候補の最大数が2以上である場合にのみ、マージ三角フラグを送信する。結果として、TPMは、TPM候補の最大許容数が2以上である場合にのみ使用される。
【0143】
【0144】
一実施形態では、MaxNumTriangleMergeCandが0よりも大きい場合、三角マージモードに使用されるマージ候補のインデックス(merge_triangle_idx0およびmerge_triangle_idx1)をシグナリングすることができる。merge_triangle_idx0およびmerge_triangle_idx1の値は、TPM候補の最大許容数に基づいて更新されてもよい。例えば、merge_triangle_idx0の最大数は、TPM候補の最大許容数から1を引いた数に等しく、merge_triangle_idx1の最大数は、TPM候補の最大許容数から2を引いた数に等しい。merge_triangle_idx0とmerge_triangle_idx1の2値化は以下の表4のようになる。
【0145】
【0146】
図18は、本開示の実施形態による処理(1800)を概説するフローチャートを示す。処理(1800)は、再構成中のブロックの予測ブロックを生成するために、イントラモードで符号化されたブロックの再構成に使用することができる。様々な実施形態において、処理(1800)は、端末デバイス(210)、(220)、(230)および(240)の処理回路、ビデオエンコーダ(303)の機能を実行する処理回路、ビデオデコーダ(310)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、イントラ予測モジュール(452)の機能を実行する処理回路、ビデオエンコーダ(503)の機能を実行する処理回路、予測器(535)の機能を実行する処理回路、イントラエンコーダ(622)の機能を実行する処理回路、イントラデコーダ(772)の機能を実行する処理回路などの処理回路によって実行され得る。いくつかの実施形態では、処理(1800)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路は処理(1800)を実行する。処理は(S1801)から始まり、(S1810)に進む。
【0147】
(S1810)において、符号化ビデオビットストリーム内の第1の構文要素が受信される。第1の構文要素は、符号化ビデオビットストリーム内の符号化ブロックのセット内のマージ候補の最大許容数を示す。構文要素は、SPS、PPS、スライスヘッダ、タイルヘッダ、タイルグループヘッダなどでシグナリングすることができる。したがって、TPM候補の最大許容数は、SPS、PPS、スライスヘッダ、タイルヘッダ、またはタイルグループヘッダによってそれぞれ制御される符号化ブロックのセットに適用することができる。
【0148】
(S1820)において、第2の構文要素が受信されると、符号化ブロックのセットに対する三角予測モード(TPM)候補の最大許容数が第2の構文要素に基づいて設定され、そうでなければ、TPM候補の最大許容数が第1の構文要素に基づいて設定される。
【0149】
(S1830)において、符号化ブロックのセット内の現在の符号化ブロックが三角予測モードで符号化される場合、現在の符号化ブロックの三角予測候補リストが、TPM候補の数に基づいて構成され、三角予測候補リスト上のTPM候補の数は、TPMの最大許容数以下である。処理(1800)は、(S1899)に進み、(S1899)において終了する。
【0150】
V.コンピュータシステム
上記の技法は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実装でき、1つまたはそれ以上のコンピュータ可読媒体に物理的に格納できる。例えば、
図19は、開示された主題の特定の実施形態を実装するのに適したコンピュータシステムを示している。
【0151】
コンピュータソフトウェアは、任意の適切な機械符号またはコンピュータ言語を使用して符号化でき、アセンブリ、コンパイル、リンク、または同様のメカニズムの対象となり、1つまたはそれ以上のコンピュータ中央処理装置(CPU)、グラフィック処理装置(GPU)などによる直接、または解釈、マイクロ符号の実行などを通じて実行できる命令を含む符号を作成する。
【0152】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはその構成要素上で実行することができる。
【0153】
コンピュータシステムについて
図19に示される構成要素は、本質的に例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用または機能の範囲に関していかなる制限を示唆することを意図しない。また、構成要素の構成は、コンピュータシステムの例示的な実施形態に示されているコンポーネントのいずれか1つまたは組み合わせに関する依存性または要件を有するものとして解釈されるべきではない。
【0154】
コンピュータシステムは、特定のヒューマンインターフェース入力デバイスを含み得る。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、音声入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)など、1人以上のユーザによる入力に応答し得る。ヒューマンインターフェースデバイスを使用して、音声(スピーチ、音楽、環境音など)、画像(スキャンした画像、静止画像カメラから得られる写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、人間による意識的な入力に必ずしも直接関係しない特定のメディアをキャプチャすることもできる。
【0155】
入力ヒューマンインターフェースデバイスには、キーボード(1901)、マウス(1902)、トラックパッド(1903)、タッチスクリーン(1910)、データグローブ(図示せず)、ジョイスティック(1905)、マイク(1906)、スキャナ(1907)、カメラ(1908)のうち1つまたはそれ以上(それぞれ1つのみ図示される)が含まれ得る。
【0156】
コンピュータシステムはまた、特定のヒューマンインターフェース出力デバイスを含み得る。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚/味覚を通じて、1人または複数の人間のユーザの感覚を刺激している可能性がある。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(1910)、データグローブ(図示せず)、またはジョイスティック(1905)による触覚フィードバックを含み得るが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る)、音声出力デバイス(スピーカ(1909)、ヘッドホン(図示せず)など)、視覚的出力デバイス(それぞれにタッチスクリーン入力機能の有無にかかわらず、それぞれ触覚フィードバック機能の有無にかかわらず、ステレオグラフィック出力、仮想現実の眼鏡(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず)などの手段により、2次元の視覚的出力または3次元以上の出力を出力できるものもある、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1910)など)、およびプリンタ(図示せず)を含み得る。
【0157】
コンピュータシステムには、人間がアクセスできる記憶装置と、CD/DVDを含むCD/DVD ROM/RW(1920)などの光学メディア(1921)、サムドライブ(1922)、リムーバブルハードドライブまたはソリッドステートドライブ(1923)、テープおよびフロッピー(登録商標)ディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの専用のROM/ASIC/PLDベースのデバイスなどの関連媒体も含めることができる。
【0158】
当業者はまた、ここで開示される主題に関連して使用される「コンピュータ可読媒体」という用語は、送信媒体、搬送波、または他の一時的な信号を包含しないことを理解するべきである。
【0159】
コンピュータシステムは、1つまたはそれ以上の通信ネットワークへのインターフェイスも含み得る。ネットワークは、例えば、無線、有線、光であり得る。さらに、ネットワークは、ローカル、広域、大都市圏、車両および産業、リアルタイム、遅延耐性などがある。ネットワークの例としては、イーサネット(登録商標)、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワークなどのローカルエリアネットワーク、ケーブルテレビ、衛星テレビ、地上波放送テレビを含むTV有線または無線広域デジタルネットワーク、CANBusなどが含まれる車両用、産業用など、などがある。特定のネットワークでは、一般に、特定の汎用データポートまたは周辺バス(1949)(例えば、コンピュータシステムのUSBポートなど)に接続された外部ネットワークインターフェイスアダプターが必要であり、他のものは一般に、以下に説明するようにシステムバスに接続することにより、コンピュータシステムのコアに統合される(例えば、PCコンピュータシステムへのイーサネット(登録商標)インターフェイスまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェイス)。これらのネットワークのいずれかを使用して、コンピュータシステムは他のエンティティと通信できる。このような通信は、単方向、受信のみ(例えば、放送TV)、単方向送信のみ(例えば、CANbusから特定のCANbusデバイス)、または双方向、例えば、ローカルエリアデジタルネットワークまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの通信であり得る。上記のように、特定のプロトコルとプロトコルスタックは、これらのネットワークとネットワークインターフェースのそれぞれで使用できる。
【0160】
前述のヒューマンインターフェースデバイス、ヒューマンアクセス可能な記憶装置、およびネットワークインターフェースは、コンピュータシステムのコア(1940)に接続することができる。
【0161】
コア(1940)には、1つまたはそれ以上の中央処理装置(CPU)(1941)、グラフィックス処理装置(GPU)(1942)、フィールドプログラマブルゲートアレイ(FPGA)(1943)、特定のタスクのハードウェアアクセラレータ(1944)などの形式の特殊なプログラマブル処理装置を含めることができる。これらの装置は、読み取り専用メモリ(ROM)(1945)、ランダムアクセスメモリ(1946)、ユーザがアクセスできない内部ハードドライブ、SSDなどの内部大容量記憶装置(1947)とともに、システムバス(1948)を介して接続され得る。いくつかのコンピュータシステムでは、システムバス(1948)に1つまたはそれ以上の物理プラグの形でアクセスして、追加のCPU、GPUなどによる拡張を可能にすることができる。周辺機器は、コアのシステムバス(1948)に直接、または周辺バス(1949)を介して接続できる。周辺バスのアーキテクチャには、PCI、USBなどが含まれる。
【0162】
CPU(1941)、GPU(1942)、FPGA(1943)、およびアクセラレータ(1944)は、組み合わせて前述のコンピュータ符号を構成できる特定の命令を実行できる。そのコンピュータ符号は、ROM(1945)またはRAM(1946)に格納できる。移行データはRAM(1946)にも保存できるが、永続データは、例えば内部大容量記憶装置(1947)に保存できる。1つまたはそれ以上のCPU(1941)、GPU(1942)、大容量記憶装置(1947)、ROM(1945)、RAM(1946)などと密接に関連付けることができるキャッシュメモリを使用することにより、任意のメモリ装置に対する高速記憶および読み出しが可能になる。
【0163】
コンピュータ可読媒体は、様々なコンピュータ実施操作を実行するためのコンピュータ符号をその上に有することができる。メディアおよびコンピュータ符号は、本開示の目的のために特別に設計および構成されたものであり得るか、またはそれらは、コンピュータソフトウェア技術の当業者に周知であり利用可能な種類のものであり得る。
【0164】
限定ではなく例として、アーキテクチャ、特にコア(1940)を有するコンピュータシステムは、1つまたはそれ以上の有形のコンピュータ可読媒体に組み込まれたソフトウェアを実行するプロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)の結果として機能を提供できる。このようなコンピュータ可読媒体は、上で紹介したユーザがアクセス可能な大容量記憶装置、およびコア内部大容量記憶装置(1947)やROM(1945)などの非一時的な性質を持つコア(1940)の特定の記憶装置に関連付けられた媒体であり得る。本開示の様々な実施形態を実装するソフトウェアは、そのような装置に格納され、コア(1940)によって実行され得る。コンピュータ可読媒体は、特定のニーズに従って、1つまたはそれ以上のメモリ装置またはチップを含み得る。ソフトウェアは、コア(1940)、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(1946)に格納されているデータ構造の定義すること、ソフトウェアで定義された処理に従ってそのようなデータ構造を変更することを含む、ここで説明する特定の処理または特定の処理の特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、ここで説明する特定の処理または特定の処理の特定の部分を実行するためにソフトウェアの代わりに、またはソフトウェアと一緒に動作できる、回路(例:アクセラレータ(1944))に組み込まれたまたは他の方法で実装されたロジックの結果として機能を提供できる。ソフトウェアへの参照はロジックを含むことができ、その逆も適宜可能である。コンピュータ可読媒体への言及は、適宜、実行のためのソフトウェア、実行のためのロジックを具体化する回路、またはその両方を格納する回路(集積回路(IC)など)を包含することができる。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを包含する。
【0165】
付録A:頭字語
JEM:joint exploration model,共同探索モデル
VVC:versatile video coding
BMS:benchmark set,ベンチマークセット
MV:Motion Vector,動きベクトル
HEVC:High Efficiency Video Coding,高効率ビデオ符号化
SEI:Supplementary Enhancement Information,追加の拡張情報
VUI:Video Usability Information,ビデオのユーザビリティ情報
GOP:Group of Pictures,画像群
TU:Transform 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,符号化ユニット
HMVP:History-based MVP,履歴ベースのMVP
MVP:Motion vector predictor,動きベクトル予測器
TMVP:Temporal MVP,時間的MVP
TPM:Triangular prediction mode,三角予測モード
VTM:Versatile test model,汎用試験モデル
【0166】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内にある変更、置換、および様々な代替均等物が存在する。したがって、当業者は、本明細書では明示的に示されていないか、または記載されていないが、本開示の原理を具現化し、したがってその精神および範囲内にある多数のシステムおよび方法を考案できることが理解されよう。
【符号の説明】
【0167】
101 現在のブロック
102,103,104,105,106 周囲サンプル
200 通信システム
210,220,230,240 端末デバイス
250 通信ネットワーク
300 通信システム
301 ビデオソース
302 ビデオ画像のストリーム
303 ビデオエンコーダ
304 符号化されたビデオデータ(ビデオビットストリーム)
305 ストリーミングサーバ
306,308 クライアントサブシステム
307,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 通信チャネル
603 ビデオエンコーダ
621 総合コントローラ
622 イントラエンコーダ
623 残差計算器
624 残差エンコーダ
625 エントロピーエンコーダ
626 スイッチ
628 残差デコーダ
630 インターエンコーダ
710 ビデオデコーダ
771 エントロピーデコーダ
772 イントラデコーダ
773 残差デコーダ
774 再構成モジュール
780 インターデコーダ
810 現在のブロック
910 現在のブロック
1101 現在の画像
1102 同じ場所に位置する画像
1103,1104 参照画像
1111 現在のブロック
1112 同じ場所に位置するブロック(コロケートブロック)
1131 時間的マージ候補
1132 動きベクトル
1210 現在のブロック
1310 第1のCU
1320 第2のCU
1800 処理
1901 キーボード
1902 マウス
1903 トラックパッド
1905 ジョイスティック
1906 マイク
1907 スキャナ
1908 カメラ
1909 スピーカ
1910 タッチスクリーン
1920 CD/DVD ROM/RW
1921 光学メディア
1922 サムドライブ
1923 ソリッドステートドライブ
1940 コア
1941 中央処理装置(CPU)
1942 グラフィックス処理装置(GPU)
1943 フィールドプログラマブルゲートアレイ(FPGA)
1944 アクセラレータ
1945 読み取り専用メモリ(ROM)
1946 ランダムアクセスメモリ(RAM)
1947 コア内部大容量記憶装置
1948 システムバス
1949 周辺バス