JP2022514923A - ビデオデコードおよびエンコード方法、プログラム、および装置 - Google Patents

ビデオデコードおよびエンコード方法、プログラム、および装置 Download PDF

Info

Publication number
JP2022514923A
JP2022514923A JP2021536191A JP2021536191A JP2022514923A JP 2022514923 A JP2022514923 A JP 2022514923A JP 2021536191 A JP2021536191 A JP 2021536191A JP 2021536191 A JP2021536191 A JP 2021536191A JP 2022514923 A JP2022514923 A JP 2022514923A
Authority
JP
Japan
Prior art keywords
merge
coded block
intercoded
motion information
shared
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021536191A
Other languages
English (en)
Other versions
JP7171925B2 (ja
Inventor
グイチュン・リ
シャオジョン・シュ
シアン・リ
シャン・リュウ
Original Assignee
テンセント・アメリカ・エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テンセント・アメリカ・エルエルシー filed Critical テンセント・アメリカ・エルエルシー
Publication of JP2022514923A publication Critical patent/JP2022514923A/ja
Application granted granted Critical
Publication of JP7171925B2 publication Critical patent/JP7171925B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

ビデオデコーダにおけるビデオデコードのための方法が記載される。複数のコード化ブロックを含むマージ共有領域を受信することができる。マージ共有領域に対して共有マージ候補リストを構築する。マージ共有領域は、共有マージ候補リストに基づいてデコードされる。マージ共有領域内の少なくとも1つのインターコード化されたコード化ブロックは、少なくとも1つのインターコード化されたコード化ブロックの動き情報を用いて、履歴ベース動きベクトル予測(HMVP)テーブルを更新することなく処理される。

Description

関連出願の参照による組み込み
本出願は、2019年1月17日に出願された米国仮特許出願第62/793,872号「Method of HMVP Buffer Update When Shared Merge List Is Used」に対する優先権の利益を主張する、2020年1月16日に出願された米国特許出願第16/744,938号「Method and Apparatus for Video Coding」に対する優先権の利益を主張する。先行出願の開示全体は、参照によりその全体が本明細書に組み込まれる。
本開示は、ビデオコード化に一般的に関連する実施形態を説明する。
本明細書で提供される背景技術の説明は、本開示の文脈を一般的に提示することを目的としている。本発明者らの研究は、この背景技術の項に記載されている限りにおいて、ならびに出願時に先行技術として認められない可能性がある説明の態様は、本開示に対する先行技術として明示的にも暗示的にも認められない。
ビデオコード化およびデコードは、動き補償を伴うインター画像予測を使用して実行することができる。非圧縮デジタルビデオは、一連の画像を含むことができ、各画像は、例えば1920×1080の輝度サンプルおよび関連する色差サンプルの空間次元を有する。一連の画像は、例えば毎秒60画像または60Hzの固定または可変画像レート(非公式にはフレームレートとしても知られる)を有することができる。非圧縮ビデオは、かなりのビットレート要件を有する。例えば、サンプルあたり8ビットの1080p60 4:2:0ビデオ(60Hzのフレームレートで1920×1080の輝度サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。そのようなビデオの1時間は、600GByteを超える記憶空間を必要とする。
ビデオコード化およびデコードの目的の1つは、圧縮による入力ビデオシグナルの冗長性の低減であり得る。圧縮は、前述の帯域幅または記憶空間要件を、場合によっては2桁以上低減するのに役立ち得る。可逆圧縮および非可逆圧縮の両方、ならびにそれらの組み合わせを使用することができる。可逆圧縮とは、元のシグナルの正確なコピーを圧縮された元のシグナルから再構築することができる技術を指す。非可逆圧縮を使用する場合、再構築されたシグナルは元のシグナルと同一ではない可能性があるが、元のシグナルと再構築されたシグナルとの間の歪みは、再構築されたシグナルを意図された用途に有用にするのに十分小さい。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量は用途に依存する;例えば、特定の消費者ストリーミングアプリケーションのユーザは、テレビ配信アプリケーションのユーザよりも高い歪みを許容することができる。達成可能な圧縮比は、より高い許容できる/許容可能な歪みがより高い圧縮比をもたらすことができることを反映することができる。
動き補償は非可逆圧縮技術とすることができ、以前に再構築された画像またはその一部(参照画像)からのサンプルデータのブロックが、動きベクトル(以降MV)によって示される方向に空間的にシフトされた後、新たに再構築された画像または画像部分の予測に使用される技術に関することができる。場合によっては、参照画像は、現在再構築中の画像と同じであり得る。MVは、2つの次元XおよびY、または3つの次元を有することができ、第3の次元は、使用中の参照画像(後者は、間接的に、時間次元とすることができる)の表示である。
いくつかのビデオ圧縮技術では、サンプルデータの特定の領域に適用可能なMVは、他のMVから、例えば再構築中の領域に空間的に隣接し、デコード順でそのMVに先行するサンプルデータの別の領域に関連するMVから予測することができる。そうすることにより、MVのコード化に必要なデータ量を実質的に削減することができ、それによって冗長性が排除され、圧縮が増加する。MV予測は、例えば、カメラ(自然ビデオとして知られている)から導出された入力ビデオシグナルをコード化するとき、単一のMVが適用可能な領域よりも大きい領域が同様の方向に移動する統計的尤度があり、したがって、場合によっては、隣接領域のMVから導出された同様の動きベクトルを使用して予測することができるため、効果的に機能することができる。これにより、所与の領域について見つかったMVは、周囲のMVから予測されたMVと類似または同じになり、エントロピーコード化後に、MVを直接コード化する場合に使用されるよりも少ないビット数で表すことができる。場合によっては、MV予測は、元のシグナル(すなわち、サンプルストリーム)から導出されたシグナル(すなわち、MV)の可逆圧縮の一例とすることができる。他の場合では、例えば、いくつかの周囲のMVから予測器を計算するときの丸め誤差により、MV予測自体が非可逆であり得る。
様々なMV予測機構は、H.265/HEVC(ITU-T Rec.H.265,’’High Efficiency Video Coding’’,December 2016)に記載されている。ここでは、H.265が提供する多くのMV予測機構のうち、「空間マージ」と呼ばれる技術について以下で説明する。
図1を参照すると、現在のブロック(101)は、空間的にシフトされた同じサイズの前のブロックから予測可能であるように動き探索処理中にエンコーダによって見つけられたサンプルを含む。そのMVを直接コード化する代わりに、MVは、A0、A1、およびB0、B1、B2((102)~(106))で示される5つの周囲サンプルのいずれか1つに関連付けられたMVを使用して、1つまたは複数の参照画像に関連付けられたメタデータから、例えば最新の(デコード順の)参照画像から導出することができる。H.265では、MV予測は、隣接ブロックが使用しているのと同じ参照画像からの予測器を使用することができる。
本開示の態様は、ビデオデコーダにおけるビデオデコードの方法を提供する。複数のコード化ブロックを含むマージ共有領域を受信することができる。マージ共有領域に対して共有マージ候補リストを構築する。マージ共有領域は、共有マージ候補リストに基づいてデコードされる。マージ共有領域内の少なくとも1つのインターコード化されたコード化ブロックは、少なくとも1つのインターコード化されたコード化ブロックの動き情報を用いて、履歴ベース動きベクトル予測(HMVP)テーブルを更新することなく処理される。
一例では、マージ共有領域内のすべてのインターコード化されたブロックは、インターコード化されたブロックのいずれかの動き情報を用いて、HMVPテーブルを更新することなく処理される。一例では、マージモードまたはスキップモードでインターコード化されたマージ共有領域内のコード化ブロックは、コード化ブロックの動き情報を用いて、HMVPテーブルを更新することなく処理される。一例では、(i)コード化ブロックの動き情報として共有マージ候補リスト上のマージ候補を使用して、または(ii)共有マージ候補リスト上のマージ候補に基づいて決定された動き情報を使用してインターコード化されたマージ共有領域内のコード化ブロックは、コード化ブロックの動き情報を用いて、HMVPテーブルを更新することなく処理される。一実施形態では、共有マージ候補リストに基づいてコード化されたマージ共有領域内のコード化ブロックは、コード化ブロックの動き情報を用いて、HMVPテーブルを更新することなく処理される。
一例では、コード化ブロックの動き情報として共有マージ候補リスト上のマージ候補を使用してインターコード化されたマージ共有領域内のコード化ブロックは、コード化ブロックの動き情報を用いて、HMVPテーブルを更新することなく処理される。
一例では、デコード順によるマージ共有領域内の第1のインターコード化されたコード化ブロックの動き情報は、HMVPテーブルを更新するために使用され、マージ共有領域内の他のインターコード化されたコード化ブロックが、他のインターコード化されたコード化ブロックの動き情報を用いて、HMVPテーブルを更新することなく処理される。一例では、デコード順によるマージ共有領域内の最後のインターコード化されたコード化ブロックの動き情報は、HMVPバッファを更新するために使用され、マージ共有領域内の他のインターコード化されたコード化ブロックが、他のインターコード化されたコード化ブロックの動き情報を用いて、HMVPバッファを更新することなく処理される。
本開示の態様は、ビデオデコードの装置を提供する。この装置は、複数のコード化ブロックを含むマージ共有領域を受信するように構成された回路機構を含み得る。回路機構は、マージ共有領域のための共有マージ候補リストを構築し、共有マージ候補リストに基づいてマージ共有領域をデコードするようにさらに構成することができる。マージ共有領域内の少なくとも1つのインターコード化されたコード化ブロックは、少なくとも1つのインターコード化されたコード化ブロックの動き情報を用いて、HMVPテーブルを更新することなく処理される。
本開示の態様はまた、ビデオデコードのためにコンピュータによって実行されると、コンピュータにビデオデコードのための方法を実行させる命令を記憶する非一時的コンピュータ可読媒体を提供する。
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
一例における現在のブロックおよびその周囲の空間マージ候補の概略図である。 一実施形態による通信システム(200)の簡略化されたブロック図の概略図である。 一実施形態による通信システム(300)の簡略化されたブロック図の概略図である。 一実施形態によるデコーダの簡略化されたブロック図の概略図である。 一実施形態によるエンコーダの簡略化されたブロック図の概略図である。 別の実施形態によるエンコーダのブロック図である。 別の実施形態によるデコーダのブロック図である。 一実施形態によるマージモードのマージ候補位置の概略図である。 一実施形態による現在のブロックの空間的隣接ブロックおよび時間的隣接ブロックの概略図である。 一実施形態による空間的隣接ブロックの動き情報に基づいて、サブブロックベースの時間動きベクトル予測方法を使用して現在のブロックの動き情報を予測することを決定するために使用することができる空間的隣接ブロックの概略図である。 一実施形態によるサブブロックベースの時間動きベクトル予測方法のための選択された空間的隣接ブロックの概略図である。 一実施形態による履歴ベース動きベクトル予測方法を使用して動き情報候補のリストを構築および更新する処理の概要を示すフローチャートである。 一実施形態による履歴ベース時間動きベクトル予測方法を使用して動き情報候補のリストを更新する概略図である。 一実施形態による動きベクトル差ありマージ(MMVD)モードにおけるマージ候補の動きベクトルに基づいて、2つの参照画像リストに関連付けられた2つの参照画像における開始点を決定する概略図である。 一実施形態によるMMVDモードで評価されるべき二つの開始点を囲む既定点の概略図である。 一実施形態によるマージ共有領域の例を示す。 一実施形態によるマージ共有領域の例を示す。 いくつかの実施形態による、マージ共有領域内のサブブロックをエンコードまたはデコードするために使用され得るインター予測モードの表を示す。 一実施形態によるマージ共有領域をデコードするためのビデオデコード処理の概要を示すフローチャートである。 一実施形態によるコンピュータシステムの概略図である。
I.ビデオコード化エンコーダおよびデコーダ
図2は、本開示の一実施形態による通信システム(200)の簡略化されたブロック図を示す。通信システム(200)は、例えば、ネットワーク(250)を介して互いに通信可能な複数の端末デバイスを含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された第1のペアの端末デバイス(210)および(220)を含む。図2の例では、第1のペアの端末デバイス(210)および(220)は、データの一方向送信を実行する。例えば、端末デバイス(210)は、ネットワーク(250)を介して他の端末デバイス(220)に送信するために、ビデオデータ(例えば、端末デバイス(210)によって取り込まれたビデオ画像のストリーム)をコード化することができる。エンコードされたビデオデータは、1つまたは複数のコード化されたビデオビットストリームの形態で送信することができる。端末デバイス(220)は、ネットワーク(250)からコード化されたビデオデータを受信し、コード化されたビデオデータをデコードしてビデオ画像を復元し、復元されたビデオデータに従ってビデオ画像を表示することができる。一方向のデータ送信は、メディアサービングアプリケーションなどにおいて一般的であり得る。
別の例では、通信システム(200)は、例えばビデオ会議中に発生する可能性があるコード化されたビデオデータの双方向送信を実行する端末デバイス(230)および(240)の第2のペアを含む。データの双方向送信のために、一例では、端末デバイス(230)および(240)の各端末デバイスは、ネットワーク(250)を介して端末デバイス(230)および(240)の他方の端末デバイスに送信するためのビデオデータ(例えば、端末デバイスによって取り込まれたビデオ画像のストリーム)をコード化することができる。端末デバイス(230)および(240)の各端末デバイスはまた、端末デバイス(230)および(240)の他方の端末デバイスによって送信されたコード化されたビデオデータを受信することができ、コード化されたビデオデータをデコードしてビデオ画像を復元することができ、復元されたビデオデータに従ってアクセス可能な表示デバイスにビデオ画像を表示することができる。
図2の例では、端末デバイス(210)、(220)、(230)、および(240)は、サーバ、パーソナルコンピュータ、およびスマートフォンとして示され得るが、本開示の原理はそのように限定されなくてもよい。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および/またはビデオ会議専用機器に適用される。ネットワーク(250)は、例えば有線(ワイヤされた)および/または無線通信ネットワークを含む、端末デバイス(210)、(220)、(230)、および(240)の間でコード化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(250)は、回路交換チャネルおよび/またはパケット交換チャネルでデータを交換することができる。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットが含まれる。本説明の目的のために、ネットワーク(250)のアーキテクチャおよびトポロジは、本明細書で以下に説明されない限り、本開示の動作に重要ではない場合がある。
図3は、開示された主題の用途の一例として、ストリーミング環境におけるビデオエンコーダおよびビデオデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティックなどを含むデジタル媒体への圧縮ビデオの格納などを含む、他のビデオ対応アプリケーションにも等しく適用可能であり得る。
ストリーミングシステムは、例えば非圧縮のビデオ画像のストリーム(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 Recommendation H.265が含まれる。一例では、開発中
のビデオコード化規格は、多用途ビデオコード化(VVC)として非公式に知られている。開示された主題は、VVCの文脈で使用され得る。
電子デバイス(320)および(330)は、他の構成要素(図示せず)を含むことができることに留意されたい。例えば、電子デバイス(320)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(330)は、ビデオエンコーダ(図示せず)もまた含むことができる。
図4は、本開示の一実施形態によるビデオデコーダ(410)のブロック図を示す。ビデオデコーダ(410)は、電子デバイス(430)に含まれ得る。電子デバイス(430)は、受信機(431)(例えば、受信回路機構)を含むことができる。ビデオデコーダ(410)は、図3の例のビデオデコーダ(310)の代わりに使用することができる。
受信機(431)は、ビデオデコーダ(410)によってデコードされるべき、1つまたは複数のコード化されたビデオシーケンスを受信しうる。同じまたは別の実施形態では、一度に1つのコード化されたビデオシーケンスであり、各コード化されたビデオシーケンスのデコードは他のコード化されたビデオシーケンスから独立している。コード化されたビデオシーケンスは、エンコードされたビデオデータを格納する記憶デバイスへのハードウェア/ソフトウェアリンクであり得るチャネル(401)から受信され得る。受信機(431)は、エンティティ(図示せず)を使用してそれぞれに転送され得る他のデータ、例えば、コード化されたオーディオデータおよび/また補助データストリームを有するエンコードされたビデオデータを受信することができる。受信機(431)は、コード化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、バッファメモリ(415)が、受信機(431)とエントロピーデコーダ/パーサ(420)(以降「パーサ(420)」)との間に結合され得る。特定の用途では、バッファメモリ(415)は、ビデオデコーダ(410)の一部である。他の場合には、ビデオデコーダ(410)の外部にあってもよい(図示せず)。さらに他のものでは、例えばネットワークジッタに対抗するために、ビデオデコーダ(410)の外部にバッファメモリ(図示せず)があり、さらに例えば再生タイミングを処理するためにビデオデコーダ(410)の内部に別のバッファメモリ(415)があり得る。受信機(431)が十分な帯域幅および制御可能性のストア/フォワードデバイスから、または非同期ネットワークからデータを受信しているとき、バッファメモリ(415)は必要とされなくてもよく、または小さくてもよい。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファメモリ(415)が必要とされてもよく、比較的大きくてもよく、有利には適応サイズであってもよく、ビデオデコーダ(410)の外部のオペレーティングシステムまたは同様の要素(図示せず)に少なくとも部分的に実装されてもよい。
ビデオデコーダ(410)は、コード化されたビデオシーケンスからシンボル(421)を再構築するために、パーサ(420)を含み得る。これらのシンボルのカテゴリは、ビデオデコーダ(410)の動作を管理するために使用される情報、および潜在的に、図4に示すように、電子デバイス(430)の不可欠な部分ではないが電子デバイス(430)に結合することができるレンダデバイス(412)(例えば、表示画面)などのレンダリングデバイスを制御するための情報を含む。レンダリングデバイスの制御情報は、補足エンハンスメント情報(SEIメッセージ)またはビデオ使用性情報(VUI)パラメータセット断片(図示せず)の形態であってもよい。パーサ(420)は、受信されたコード化されたビデオシーケンスを解析/エントロピーデコードすることができる。コード化されたビデオシーケンスのコード化は、ビデオコード化技術または規格に従うことができ、可変長符号化、ハフマン符号化、コンテキスト感度ありまたはなしの算術符号化などを含む様々な原理に従うことができる。パーサ(420)は、グループに対応する少なくとも1つのパラメータに基づいて、コード化されたビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つのサブグループパラメータのセットを抽出することができる。サブグループは、画像のグループ(GOP)、画像、タイル、スライス、マクロブロック、コード化ユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)などを含むことができる。パーサ(420)はまた、変換係数、量子化器パラメータ値、動きベクトルなどのようなコード化されたビデオシーケンス情報を抽出することができる。
パーサ(420)は、シンボル(421)を作成するために、バッファメモリ(415)から受信したビデオシーケンスに対してエントロピーデコード/解析動作を実行することができる。
シンボル(421)の再構築は、コード化されたビデオ画像またはその一部(例えば、インター画像およびイントラ画像、インターブロックおよびイントラブロックなど)のタイプ、およびその他の要因に依存して、複数の異なるユニットを含み得る。どのユニットがどのように関与するかは、パーサ(420)によってコード化されたビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサ(420)と以下の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明確にするために示されていない。
既に述べた機能ブロックを超えて、ビデオデコーダ(410)は、以下に説明するように概念的にいくつかの機能ユニットに細分することができる。商業的制約の下で動作する実際の実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合することができる。しかしながら、開示された主題を説明する目的で、以下の機能ユニットへの概念的細分化が適切である。
第1のユニットはスケーラ/逆変換ユニット(451)である。スケーラ/逆変換ユニット(451)は、量子化変換係数、ならびにどの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報を、パーサ(420)からシンボル(421)として受信する。スケーラ/逆変換ユニット(451)は、アグリゲータ(455)に入力され得るサンプル値を備えるブロックを出力し得る。
場合によっては、スケーラ/逆変換(451)の出力サンプルは、イントラコード化されたブロックに関連し得る。すなわち、以前に再構築された画像からの予測情報を使用していないが、現在の画像の以前に再構築された部分からの予測情報を使用することができるブロックである。そのような予測情報は、イントラ画像予測ユニット(452)によって提供することができる。場合によっては、イントラ画像予測ユニット(452)は、現在の画像バッファ(458)から取り出された周囲の既に再構築された情報を用いて、再構築中のブロックと同じサイズおよび形状のブロックを生成する。現在の画像バッファ(458)は、例えば、部分的に再構築された現在の画像および/または完全に再構築された現在の画像をバッファリングする。アグリゲータ(455)は、場合によっては、イントラ予測ユニット(452)が生成した予測情報を、スケーラ/逆変換ユニット(451)によって提供された出力サンプル情報に、サンプル単位で付加する。
他の場合では、スケーラ/逆変換ユニット(451)の出力サンプルは、インターコード化され、潜在的に動き補償されたブロックに関連し得る。そのような場合、動き補償予測ユニット(453)は、予測に使用されるサンプルを取り出すために参照画像メモリ(457)にアクセスすることができる。ブロックに関連するシンボル(421)に従って取り出されたサンプルを動き補償した後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ(455)によってスケーラ/逆変換ユニット(451)の出力(この場合、残差サンプルまたは残差シグナルと呼ばれる)に追加され得る。動き補償予測ユニット(453)が予測サンプルを取り出す参照画像メモリ(457)内のアドレスは、動き補償予測ユニット(453)が例えばX、Y、および参照画像成分を有することができるシンボル(421)の形態で利用可能な動きベクトルによって制御することができる。動き補償はまた、サブサンプル正確動きベクトルが使用されているときに参照画像メモリ(457)から取り出されたサンプル値の補間、動きベクトル予測機構などを含むことができる。
アグリゲータ(455)の出力サンプルは、ループフィルタユニット(456)における様々なループフィルタリング技術を適用することができる。ビデオ圧縮技術は、コード化されたビデオシーケンス(コード化されたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(420)からシンボル(421)としてループフィルタユニット(456)に利用可能にされるインループフィルタ技術を含むことができるが、コード化された画像またはコード化されたビデオシーケンスの以前の(デコード順の)部分のデコード中に取得されたメタ情報に応答することもでき、以前に再構築され、ループフィルタリングされたサンプル値に応答することもできる。
ループフィルタユニット(456)の出力は、レンダデバイス(412)に出力することができるとともに、将来のインター画像予測に使用するために参照画像メモリ(457)に格納されることができるサンプルストリームとすることができる。
完全に再構築されると、特定のコード化された画像は、将来の予測のための参照画像として使用することができる。例えば、現在の画像に対応するコード化された画像が完全に再構築され、コード化された画像が参照画像(例えば、パーサ(420)による)として識別されると、現在の画像バッファ(458)は参照画像メモリ(457)の一部になることができ、新しい現在の画像バッファは、後続のコード化された画像の再構築を開始する前に再配置され得る。
ビデオデコーダ(410)は、例えばITU-T Rec.H.265のような規格における所定のビデオ圧縮技術に従ってデコード動作を実行し得る。コード化されたビデオシーケンスは、コード化されたビデオシーケンスがビデオ圧縮技術または規格の構文およびビデオ圧縮技術または規格に文書化されたプロファイルの両方に準拠するという意味で、使用されているビデオ圧縮技術または規格によって指定された構文に準拠することができる。具体的には、プロファイルは、ビデオ圧縮技術または規格で利用可能なすべてのツールから、そのプロファイルの下で使用可能な唯一のツールとして特定のツールを選択することができる。また、コンプライアンスのために必要なのは、コード化されたビデオシーケンスの複雑さがビデオ圧縮技術または規格のレベルによって定義される境界内にあることであり得る。場合によっては、レベルは、最大画像サイズ、最大フレームレート、最大再構築サンプルレート(例えば毎秒メガサンプルで測定される)、最大参照画像サイズなどを制限する。レベルによって設定される制限は、場合によっては、仮想参照デコーダ(HRD)仕様、およびコード化されたビデオシーケンスにおいてシグナルされたHRDバッファ管理のためのメタデータによってさらに制限され得る。
一実施形態では、受信機(431)は、エンコードされたビデオを有する追加の(冗長な)データを受信することができる。追加のデータは、コード化されたビデオシーケンスの一部として含まれ得る。追加のデータは、データを適切にデコードするために、および/または元のビデオデータをより正確に再構築するために、ビデオデコーダ(410)によって使用され得る。追加のデータは、例えば、時間、空間、または信号雑音比(SNR)強化層、冗長スライス、冗長画像、前方誤り訂正符号などの形態であり得る。
図5は、本開示の一実施形態によるビデオエンコーダ(503)のブロック図を示す。ビデオエンコーダ(503)は、電子デバイス(520)に含まれ得る。電子デバイス(520)は、送信機(540)(例えば、送信回路機構)を含む。ビデオエンコーダ(503)は、図3の例のビデオエンコーダ(303)の代わりに使用することができる。
ビデオエンコーダ(503)は、ビデオエンコーダ(503)によってコード化されるビデオ画像を取り込むことができるビデオソース(501)(図5の例では電子デバイス(520)の一部ではない)からビデオサンプルを受信することができる。別の例では、ビデオソース(501)は電子デバイス(520)の一部である。
ビデオソース(501)は、ビデオエンコーダ(503)によってコード化されるソースビデオシーケンスを、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 Y CrCB、RGB、...)、および任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形態で提供することができる。メディアサービングシステムにおいて、ビデオソース(501)は、予め用意されたビデオを記憶する記憶デバイスであってもよい。ビデオ会議システムでは、ビデオソース(501)は、ビデオシーケンスとしてローカル画像情報を取り込むカメラであってもよい。ビデオデータは、連続して見たときに動きを与える複数の個々のピクチャとして提供されてもよい。画像自体は、ピクセルの空間アレイとして編成することができ、各ピクセルは、使用中のサンプリング構造、色空間などに応じて1つまたは複数のサンプルを含むことができる。当業者であれば、ピクセルとサンプルとの関係を容易に理解することができる。以下、サンプルに着目して説明する。
一実施形態によれば、ビデオエンコーダ(503)は、リアルタイムで、またはアプリケーションによって要求される任意の他の時間制約下で、ソースビデオシーケンスの画像をコード化してコード化されたビデオシーケンス(543)に圧縮することができる。適切なコード化速度を強制することは、コントローラ(550)の一機能である。いくつかの実施形態では、コントローラ(550)は、以下に説明するように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。カップリングは、明確にするために示されていない。コントローラ(550)によって設定されるパラメータは、レート制御関連パラメータ(画像スキップ、量子化器、レート歪み最適化技術のラムダ値、...)、画像サイズ、画像グループ(GOP)レイアウト、最大動きベクトル探索範囲などを含むことができる。コントローラ(550)は、特定のシステム設計に最適化されたビデオエンコーダ(503)に関する他の適切な機能を有するように構成することができる。
いくつかの実施形態では、ビデオエンコーダ(503)は、コード化ループで動作するように構成される。過度に簡略化された説明として、一例では、コード化ループは、ソースコーダ(530)(例えば、コード化される入力画像と、参照画像とに基づいて、シンボルストリームなどのシンボルを生成することを担当する)と、ビデオエンコーダ(503)に組み込まれた(ローカル)デコーダ(533)とを含むことができる。デコーダ(533)は、(リモート)デコーダも作成するのと同様の方法でサンプルデータを作成するためにシンボルを再構築する(開示された主題で考慮されるビデオ圧縮技術では、シンボルとコード化されたビデオビットストリームとの間の任意の圧縮が可逆的であるため)。再構築されたサンプルストリーム(サンプルデータ)は、参照画像メモリ(534)に入力される。シンボルストリームのデコードは、デコーダ位置(ローカルまたはリモート)とは無関係にビット正確な結果をもたらすので、参照画像メモリ(534)内のコンテンツもローカルエンコーダとリモートエンコーダとの間でビット正確である。換言すれば、参照画像としてエンコーダが「見る」予測部は、デコード中に予測を使用するときにデコーダが「見る」のと全く同じサンプル値をサンプリングする。参照画像同期性のこの基本原理(および、例えばチャネル誤差のために同期性を維持することができない場合、結果として生じるドリフト)は、いくつかの関連技術においても使用される。
「ローカル」デコーダ(533)の動作は、図4に関連して既に詳細に説明したビデオデコーダ(410)などの「リモート」デコーダの動作と同じであり得る。しかしながら、図4も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(545)およびパーサ(420)によるコード化されたビデオシーケンスへのシンボルのエンコード/デコードは可逆であり得るため、バッファメモリ(415)を含むビデオデコーダ(410)のエントロピーデコード部、およびパーサ(420)は、ローカルデコーダ(533)に完全に実装されない場合がある。
この時点でなされ得る観測は、デコーダ内に存在するパース/エントロピーデコードを除く任意のデコーダ技術もまた、対応するエンコーダ内に実質的に同一の機能形態で存在する必要があるということである。このため、開示された主題はデコーダ動作に焦点を合わせている。エンコーダ技術の説明は、それらが包括的に説明されたデコーダ技術の逆であるので省略することができる。特定の領域においてのみ、より詳細な説明が必要とされ、以下に提供される。
動作中、いくつかの例では、ソースコーダ(530)は、「参照画像」として指定されたビデオシーケンスからの1つまたは複数の以前にコード化された画像を参照して入力画像を予測的にコード化する動き補償予測コード化を実行することができる。このようにして、コード化エンジン(532)は、入力画像のピクセルブロックと、入力画像に対する予測参照として選択され得る参照画像のピクセルブロックとの間の差分をコード化する。
ローカルビデオデコーダ(533)は、ソースコーダ(530)によって生成されたシンボルに基づいて、参照画像として指定され得る画像のコード化されたビデオデータを復号し得る。コード化エンジン(532)の動作は、有利には非可逆処理であり得る。コード化されたビデオデータがビデオデコーダ(図5には示されていない)でデコードされ得るとき、再構築されたビデオシーケンスは、通常、いくつかのエラーを有するソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ(533)は、ビデオデコーダによって参照画像に対して実行されうるデコード処理を複製し、再構築された参照画像を参照画像キャッシュ(534)に格納させ得る。このようにして、ビデオエンコーダ(503)は、遠端ビデオデコーダによって取得されることになる再構築された参照画像として共通のコンテンツを有する再構築された参照画像のコピーをローカルに格納することができる(送信エラーなし)。
予測器(535)は、コード化エンジン(532)の予測検索を実行することができる。すなわち、コード化されるべき新しい画像について、予測器(535)は、(候補参照ピクセルブロックとしての)サンプルデータ、または、新しい画像の適切な予測参照として機能し得る参照画像動きベクトル、ブロック形状などの特定のメタデータを求めて参照画像メモリ(534)を探索することができる。予測器(535)は、適切な予測参照を見つけるために、ピクセルブロック基準のサンプルブロックごとに動作することができる。場合によっては、予測器(535)によって取得された探索結果によって決定されるように、入力画像は、参照画像メモリ(534)に格納された複数の参照画像から描画された予測参照を有することができる。
コントローラ(550)は、例えば、ビデオデータをエンコードするために使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ(530)のコード化動作を管理することができる。
前述のすべての機能ユニットの出力は、エントロピーコーダ(545)においてエントロピーコード化を受けることができる。エントロピーコーダ(545)は、ハフマン符号化、可変長符号化、算術符号化などの技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルをコード化されたビデオシーケンスに変換する。
送信機(540)は、エントロピーコーダ(545)によって生成されたコード化されたビデオシーケンスをバッファリングして、通信チャネル(560)を介した送信の準備をすることができ、これは、エンコードされたビデオデータを格納する記憶デバイスへのハードウェア/ソフトウェアリンクであり得る送信機(540)は、ビデオコーダ(503)からのコード化されたビデオデータを、送信される他のデータ、例えば、コード化されたオーディオデータおよび/または補助データストリーム(ソースは図示せず)とマージすることができる。
コントローラ(550)は、ビデオエンコーダ(503)の動作を管理することができる。コード化中、コントローラ(550)は、各コード化された画像に特定のコード化された画像タイプを割り当てることができ、これは、それぞれの画像に適用され得るコード化技術に影響を及ぼし得る。例えば、画像は、以下の画像タイプのうちの1つとして割り当てられることが多い。
イントラ画像(I画像)は、シーケンス内の他の画像を予測ソースとして使用せずにコード化およびデコード可能なものであってもよい。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(「IDR」)画像を含む異なるタイプのイントラ画像を可能にする。当業者は、I画像のこれらの変形ならびにそれらのそれぞれの用途および特徴を認識している。
予測画像(P画像)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用してコード化およびデコードされ得る画像であり得る。
双方向予測画像(B画像)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用してコード化およびデコードされ得る画像であり得る。同様に、複数予測画像は、単一のブロックの再構築のために3つ以上の参照画像および関連するメタデータを使用することができる。
ソース画像は、一般に、複数のサンプルブロック(例えば、各々、4×4、8×8、4×8、または16×16のブロック)に空間的に細分化され、ブロックごとにコード化され得る。ブロックは、ブロックのそれぞれの画像に適用されるコード化割当によって決定されるように、他の(既にコード化された)ブロックを参照して予測的にコード化され得る。例えば、I画像のブロックは、非予測的にコード化されてもよいし、同じ画像の既にコード化されたブロックを参照して予測的にコード化されてもよい(空間予測またはイントラ予測)。P画像のピクセルブロックは、1つの以前にコード化された参照画像を参照して、空間予測を介して、または時間予測を介して予測的にコード化され得る。B画像のブロックは、1つまたは2つの以前にコード化された参照画像を参照して、空間予測を介して、または時間予測を介して予測的にコード化され得る。
ビデオエンコーダ(503)は、例えばITU-T Rec.H.265のような所定のビデオコード化技術または規格に従ってコード化動作を実行し得る。その動作において、ビデオエンコーダ(503)は、入力ビデオシーケンス内の時間的および空間的冗長性を利用する予測コード化動作を含む、様々な圧縮動作を実行することができる。したがって、コード化されたビデオデータは、使用されているビデオコード化技術または規格によって指定された構文に準拠することができる。
一実施形態では、送信機(540)は、エンコードされたビデオと共に追加のデータを送信することができる。ソースコーダ(530)は、コード化されたビデオシーケンスの一部としてそのようなデータを含むことができる。追加のデータは、時間/空間/SNR強化レイヤ、冗長画像およびスライスなどの他の形態の冗長データ、SEIメッセージ、VUIパラメータセット断片などを含むことができる。
ビデオは、複数のソース画像(ビデオ画像)として時系列に取り込まれてもよい。イントラ画像予測(しばしばイントラ予測と略される)は、所与の画像における空間相関を使用し、インター画像予測は、画像間の(時間的または他の)相関を使用する。一例では、現在の画像と呼ばれる、エンコード/デコード中の特定の画像がブロックに分割される。現在の画像内のブロックがビデオ内の以前にコード化されてまだバッファされている参照画像内の参照ブロックに類似しているとき、現在の画像内のブロックは、動きベクトルと呼ばれるベクトルによってコード化することができる。動きベクトルは、参照画像内の参照ブロックを指し、複数の参照画像が使用されている場合、参照画像を識別する3次元を有することができる。
いくつかの実施形態では、インター画像予測に双予測技術を使用することができる。双予測技術によれば、第1の参照画像および第2の参照画像などの2つの参照画像が使用され、これらは両方ともビデオ内の現在の画像のデコード順より前にある(しかし、表示順序は、それぞれ過去および未来のものであってもよい)。現在の画像内のブロックは、第1の参照画像内の第1の参照ブロックを指す第1の動きベクトル、および第2の参照画像内の第2の参照ブロックを指す第2の動きベクトルによってコード化することができる。ブロックは、第1の参照ブロックと第2の参照ブロックとの組み合わせによって予測することができる。
さらに、コード化効率を改善するために、インター画像予測にマージモード技術を使用することができる。
本開示のいくつかの実施形態によれば、インター画像予測およびイントラ画像予測などの予測は、ブロック単位で実行される。例えば、HEVC規格によれば、ビデオ画像のシーケンス内の画像は、圧縮のためにコーディングツリーユニット(CTU)に分割され、画像内のCTUは、64×64ピクセル、32×32ピクセル、または16×16ピクセルなどの同じサイズを有する。一般に、CTUは、1つのルマCTBおよび2つのクロマCTBである3つのコーディングツリーブロック(CTB)を含む。各CTUは、1つまたは複数のコーディングユニット(CU)に再帰的に四分木分割することができる。例えば、64×64ピクセルのCTUは、64×64ピクセルの1つのCU、または32×32ピクセルの4つのCU、または16×16ピクセルの16個のCUに分割することができる。一例では、各CUは、インター予測タイプまたはイントラ予測タイプなどのCUの予測タイプを決定するために分析される。CUは、時間的および/または空間的な予測可能性に応じて、1つまたは複数の予測ユニット(PU)に分割される。一般に、各PUは、ルマ予測ブロック(PB)と、2つのクロマPBとを含む。一実施形態では、コード化(エンコード/デコード)における予測動作は、予測ブロックの単位で実行される。予測ブロックの例としてルマ予測ブロックを使用すると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセルなどのピクセルの値(例えば、ルマ値)のマトリクスを含む。
図6は、本開示の別の実施形態によるビデオエンコーダ(603)の図を示す。ビデオエンコーダ(603)は、ビデオ画像のシーケンス内の現在のビデオ画像内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、コード化されたビデオシーケンスの一部であるコード化された画像にエンコードするように構成される。一例では、ビデオエンコーダ(603)は、図3の例のビデオエンコーダ(303)の代わりに使用することができる。
HEVCの例では、ビデオエンコーダ(603)は、例えば8×8サンプルの予測ブロックなどの処理ブロックのためのサンプル値のマトリクスを受信する。ビデオエンコーダ(603)は、処理ブロックが、例えばレート歪み最適化を使用して、イントラモード、インターモード、または双予測モードを使用して最良にコード化されるかどうかを判定する。処理ブロックがイントラモードでコード化される場合、ビデオエンコーダ(603)は、処理ブロックをコード化された画像へエンコードするために、イントラ予測技術を使用することができる。処理ブロックがインターモードまたは双予測モードでコード化される場合、ビデオエンコーダ(603)は、処理ブロックをコード化された画像にエンコードするために、それぞれインター予測技術または双予測技術を使用することができる。特定のビデオコード化技術では、マージモードは、予測器の外側のコード化された動きベクトル成分の恩恵を受けずに動きベクトルが1つまたは複数の動きベクトル予測器から導出されるインター画像予測サブモードであり得る。特定の他のビデオコード化技術では、対象ブロックに適用可能な動きベクトル成分が存在し得る。一例では、ビデオエンコーダ(603)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)などの他の構成要素を含む。
図6の例では、ビデオエンコーダ(603)は、図6に示すように互いに結合されたインターエンコーダ(630)、イントラエンコーダ(622)、残差計算器(623)、スイッチ(626)、残差エンコーダ(624)、汎用コントローラ(621)、およびエントロピーエンコーダ(625)を含む。
インターエンコーダ(630)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、そのブロックを参照画像内の1つまたは複数の参照ブロック(例えば、前の画像および後の画像内のブロック)と比較し、インター予測情報(例えば、インターエンコード技術、動きベクトル、マージモード情報による冗長情報の記述)を生成し、任意の適切な技術を使用してインター予測情報に基づいてインター予測結果(例えば、予測ブロック)を計算するように構成される。いくつかの例では、参照画像は、エンコードされたビデオ情報に基づいてデコードされるデコードされた参照画像である。
イントラエンコーダ(622)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、ブロックを同じ画像内で既にコード化されているブロックと比較し、変換後に量子化係数を生成し、場合によってはイントラ予測情報(例えば、1つまたは複数のイントラエンコード技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(622)は、イントラ予測情報と、同一画像内の参照ブロックとに基づいて、イントラ予測結果(例えば、予測ブロック)を算出する。
汎用コントローラ(621)は、汎用制御データを決定し、汎用制御データに基づいてビデオエンコーダ(603)の他の構成要素を制御するように構成される。一例では、汎用コントローラ(621)は、ブロックのモードを決定し、モードに基づいてスイッチ(626)に制御シグナルを提供する。例えば、モードがイントラモードである場合、汎用コントローラ(621)は、残差計算器(623)が用いるイントラモード結果を選択するようにスイッチ(626)を制御し、イントラ予測情報を選択してイントラ予測情報をビットストリームに含めるようにエントロピーエンコーダ(625)を制御する。モードがインターモードである場合、汎用コントローラ(621)は、残差計算器(623)が用いるインター予測結果を選択するようにスイッチ(626)を制御し、インター予測情報を選択してインター予測情報をビットストリームに含めるようにエントロピーエンコーダ(625)を制御する。
残差計算器(623)は、受信されたブロックと、イントラエンコーダ(622)またはインターエンコーダ(630)から選択された予測結果との差分(残差データ)を算出する。残差エンコーダ(624)は、変換係数を生成するために残差データをエンコードするために残差データに基づいて動作するように構成される。一例では、残差エンコーダ(624)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。変換係数はその後、量子化された変換係数を得るために量子化処理を受ける。様々な実施形態では、ビデオエンコーダ(603)はまた、残差デコーダ(628)を含む。残差デコーダ(628)は、逆変換を実行し、デコードされた残差データを生成するように構成される。デコードされた残差データは、イントラエンコーダ(622)およびインターエンコーダ(630)において好適に用いることができる。例えば、インターエンコーダ(630)は、デコードされた残差データおよびインター予測情報に基づいてデコードされたブロックを生成することができ、イントラエンコーダ(622)は、デコードされた残差データおよびイントラ予測情報に基づいてデコードされたブロックを生成することができる。いくつかの例では、デコードされたブロックは、デコードされた画像を生成するために適切に処理され、デコードされた画像は、メモリ回路(図示せず)にバッファされ、参照ピクチャとして使用され得る。
エントロピーエンコーダ(625)は、エンコードされたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(625)は、HEVC規格などの適切な規格に従って様々な情報を含むように構成される。一例では、エントロピーエンコーダ(625)は、汎用制御データ、選択された予測情報(例えば、イントラ予測情報またはインター予測情報)、残差情報、および他の適切な情報をビットストリームに含めるように構成される。開示された主題によれば、インターモードまたは双予測モードのいずれかのマージサブモードでブロックをコード化するとき、残差情報は存在しないことに留意されたい。
図7は、本開示の別の実施形態によるビデオデコーダ(710)の図を示す。ビデオデコーダ(710)は、コード化されたビデオシーケンスの一部であるコード化された画像を受信し、コード化された画像をデコードして再構築された画像を生成するように構成される。一例では、ビデオデコーダ(710)は、図3の例のビデオデコーダ(310)の代わりに使用することができる。
図7の例では、ビデオデコーダ(710)は、図7に示すように互いに結合されたエントロピーデコーダ(771)、インターデコーダ(780)、残差デコーダ(773)、再構築モジュール(774)、およびイントラデコーダ(772)を含む。
エントロピーデコーダ(771)は、コード化された画像から、コード化された画像が構成される構文要素を表す特定のシンボルを再構築するように構成され得る。そのようなシンボルは、例えば、ブロックがコード化されるモード(例えば、イントラモード、インターモード、双予測モード、後者の2つはマージサブモードまたは別のサブモードである)、イントラデコーダ(772)またはインターデコーダ(780)によってそれぞれ予測に使用される特定のサンプルまたはメタデータを識別することができる予測情報(例えば、イントラ予測情報またはインター予測情報など)、例えば、量子化変換係数の形態の残差情報などを含むことができる。一例では、予測モードがインター予測モードまたは双予測モードである場合、インター予測情報はインターデコーダ(780)に提供される。予測タイプがイントラ予測タイプである場合、イントラ予測情報がイントラデコーダ(772)に提供される。残差情報は逆量子化を受けることができ、残差デコーダ(773)に提供される。
インターデコーダ(780)は、インター予測情報を受信し、インター予測情報に基づいてインター予測結果を生成するように構成される。
イントラデコーダ(772)は、イントラ予測情報を受信し、イントラ予測情報に基づいて予測結果を生成するように構成される。
残差デコーダ(773)は、逆量子化を実行して逆量子化された変換係数を抽出し、逆量子化された変換係数を処理して残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(773)はまた、(量子化器パラメータ(QP)を含むために)特定の制御情報を必要とする場合があり、その情報はエントロピーデコーダ(771)によって提供される場合がある(これとして示されていないデータ経路は、低ボリューム制御情報のみであり得る)。
再構築モジュール(774)は、空間領域において、残差デコーダ(773)による出力としての残差と(場合によってはインターまたはイントラ予測モジュールによる出力としての)予測結果とを組み合わせて、再構築された画像の一部であり得る再構築されたブロックを形成するように構成され、再構築されたブロックは再構築されたビデオの一部であり得る。視覚的品質を改善するために、デブロッキング操作などの他の好適な操作を実行することができることに留意されたい。
ビデオエンコーダ(303)、(503)、および(603)、ならびにビデオデコーダ(310)、(410)、および(710)は、任意の好適な技術を使用して実装することができることに留意されたい。一実施形態では、ビデオエンコーダ(303)、(503)、および(603)、ならびにビデオデコーダ(310)、(410)、および(710)は、1つまたは複数の集積回路を使用して実装することができる。別の実施形態では、ビデオエンコーダ(303)、(503)、および(503)、ならびにビデオデコーダ(310)、(410)、および(710)は、ソフトウェア命令を実行する1つまたは複数のプロセッサを使用して実装することができる。
II.インター画像予測モード
様々な実施形態では、画像は、例えば、ツリー構造ベースの区分スキームを使用してブロックに分割することができる。結果として得られるブロックは、イントラ予測モード、インター予測モード(例えば、マージモード、スキップモード、高度動きベクトル予測(AVMP)モード)などの異なる処理モードで処理することができる。イントラコード化されたブロックは、イントラ予測モードでコード化されたブロックとすることができる。対照的に、インターコード化されたブロックは、イントラ予測モードで処理されたボックとすることができる。
インター予測モードの例は、(i)AMVPモード、および(ii)マージ/スキップモードの2つのカテゴリに分類することができる。マージ/スキップモードの例としては、例えば、HEVCマージモード(または通常マージモード)、カレント参照ピクチャ(CRP)モード(またはイントラブロックコピー(IBC))モード、三角パーティションモード、サブブロックベース時間動きベクトル予測(sbTMVP)モード、動きベクトル差ありマージ(MMVD)モード、アフィンマージモードを挙げることができる。いくつかの実施形態では、AMVPモードおよびマージ/スキップモードは、コード化ブロックをエンコードまたはデコードするために履歴ベース動きベクトル予測(HMVP)テーブルと組み合わせることができる。
インター予測モードおよびHMVPテーブルの使用の例を以下に説明する。
1.通常マージモード
現在のブロックと呼ばれる現在処理されているブロックがマージモードで処理される場合、隣接するブロックを現在のブロックの空間的または時間的近傍から選択することができる。現在のブロックは、選択された隣接ブロックから同じ動きデータのセット(または動き情報と呼ばれる)を共有することによって、選択された隣接ブロックとマージすることができる。このマージモード動作は、隣接ブロックの領域が一緒にマージされ、同じ動きデータのセットを共有することができるように、隣接ブロックのグループにわたって実行することができる。エンコーダからデコーダへの送信中、選択された隣接ブロックの動きデータを示すインデックスは、動きデータのセット全体を送信するのではなく、現在のブロックに対して送信することができる。これにより、動き情報の送信に用いられるデータ量(ビット)を削減し、符号化効率を向上させることができる。
上記の例では、動きデータを提供する隣接ブロックは、候補位置のセットから選択することができる。候補位置は、現在のブロックに対して事前定義することができる。例えば、候補位置は、空間候補位置および時間候補位置を含むことができる。各空間候補位置は、現在のブロックに隣接する空間的隣接ブロックに関連付けられる。各時間的候補位置は、別のコード化された画像(例えば、以前にコード化された画像)内に位置する時間的隣接ブロックと関連付けられる。候補位置と重複する隣接ブロック(候補ブロックと呼ばれる)は、現在のブロックのすべての空間的または時間的隣接ブロックのサブセットである。このようにして、候補ブロックは、隣接ブロックのセット全体ではなく、マージ対象ブロックの選択について評価することができる。
図8は、候補位置の一例を示す。これらの候補位置から、マージ候補のセットを選択して、マージ候補リストを構築することができる。図示されるように、現在のブロック(810)はマージモードで処理されるべきである。マージモード処理のための候補位置のセット{A1、B1、B0、A0、B2、C0、C1}が定義される。具体的には、候補位置{A1、B1、B0、A0、B2}は、現在のブロック(810)と同じ画像内にある候補ブロックの位置を表す空間候補位置である。対照的に、候補位置{C0、C1}は、別のコード化された画像内にあり、現在のブロック(810)の同じ場所に位置するブロックに隣接または重複する候補ブロックの位置を表す時間候補位置である。図示されるように、候補位置Clは、現在のブロック(810)の中心付近(例えば、隣接)に位置することができる。
候補位置は、異なる例ではサンプルのブロックまたはサンプルによって表すことができる。図8では、各候補位置は、例えば4×4サンプルのサイズを有するサンプルのブロックによって表される。候補位置に対応するサンプルのそのようなブロックのサイズは、現在のブロック(810)を生成するために使用されるツリーベースの区分スキームに対して定義されたPBの最小許容サイズ(例えば、4×4サンプル)以下であり得る。このような構成の下では、候補位置に対応するブロックは常に単一の隣接PB内でカバーすることができる。代替例では、候補位置を表すためにサンプル位置(例えば、ブロックAl内の右下サンプル、またはブロックA0内の右上サンプル)が使用されてもよい。このようなサンプルを代表サンプルと呼び、このような位置を代表位置と呼ぶ。
一例では、図8で定義された候補位置{A1、B1、B0、A0、B2、C0、C1}に基づいて、候補位置{A1、B1、B0、A0、B2、C0、C1}からマージ候補を選択して候補リストを構築するために、マージモード処理を実行することができる。候補リストは、Cmとして表される所定の最大数のマージ候補を有することができる。候補リスト内の各マージ候補は、動き補償予測に使用することができる動きデータのセットを含むことができる。
マージ候補は、一定の順序に従って候補リストに列挙することができる。例えば、マージ候補の導出方法によっては、異なるマージ候補が選択される確率が異なる場合がある。選択される確率が高いマージ候補ほど、選択される確率が低いマージ候補の前に位置する。このような順序に基づいて、各マージ候補はインデックス(マージインデックスと呼ばれる)に関連付けられる。一実施形態では、選択される確率がより高いマージ候補は、それぞれのインデックスをコード化するために必要なビットがより少なくなるように、より小さいインデックス値を有する。
一例では、マージ候補の動きデータは、1つまたは2つの動きベクトルの水平および垂直動きベクトル変位値、1つまたは2つの動きベクトルに関連付けられた1つまたは2つの参照画像インデックス、および任意選択で、どの参照画像リストが参照画像インデックスに関連付けられているかの識別情報を含むことができる。
一例では、所定の順序に従って、順序{A1、B1、B0、A0、B2}に従って空間候補位置から第1の数のマージ候補Caが導出され、順序{C0、C1}に従って時間候補位置から第2の数のマージ候補Cb=Cm-Caが導出される。候補位置を表すための数字A1、B1、B0、A0、B2、C0、C1は、マージ候補を参照するために使用することもできる。例えば、候補位置A1から得られるマージ候補をマージ候補A1と呼ぶ。
いくつかのシナリオでは、候補位置におけるマージ候補は利用できない場合がある。例えば、候補位置にある候補ブロックは、現在のブロック(810)を含むスライスまたはタイルの外側で、または現在のブロック(810)と同じコード化ツリーブロック(CTB)行ではなく、イントラ予測することができる。いくつかのシナリオでは、候補位置におけるマージ候補は冗長である場合がある。例えば、現在のブロック(810)の一方の隣接ブロックは、2つの候補位置と重複することができる。冗長なマージ候補は、候補リストから除去することができる(例えば、プルーニング処理を実行することによって)。候補リスト内の利用可能なマージ候補の総数(冗長候補が除去されている)が最大マージ候補数Cmよりも小さい場合、候補リストを固定長に維持できるように追加のマージ候補を生成(例えば、事前構成された規則に従って)して候補リストを埋めることができる。例えば、追加のマージ候補は、結合された双予測候補および0個の動きベクトル候補を含むことができる。
候補リストが構築された後、エンコーダにおいて、候補リストからマージ候補を選択するための評価処理を実行することができる。例えば、各マージ候補に対応するレート歪み(RD、Rate-Distortion)性能を算出し、RD性能が最も良いものを選択することができる。したがって、選択されたマージ候補と関連付けられたマージインデックスを現在のブロック(810)について決定し、デコーダにシグナリングすることができる。
デコーダでは、現在のブロック(810)のマージインデックスを受信することができる。上述したのと同様の候補リスト構築処理を実行して、エンコーダ側で生成された候補リストと同じ候補リストを生成することができる。候補リストが構築された後、いくつかの例では、さらなる評価を実行することなく、受信したマージインデックスに基づいて候補リストからマージ候補を選択することができる。選択されたマージ候補の動きデータは、現在のブロック(810)の後続の動き補償予測に使用することができる。
スキップモードもいくつかの例で導入される。例えば、スキップモードでは、上述したようにマージモードを使用して現在のブロックを予測して動きデータのセットを決定することができるが、残差は生成されず、変換係数は送信されない。スキップフラグを現在のブロックに関連付けることができる。スキップフラグおよび現在のブロックの関連する動き情報を示すマージインデックスは、ビデオデコーダにシグナリングすることができる。例えば、インター画像予測スライス内のCUの先頭で、以下を意味するスキップフラグをシグナリングすることができる。CUは1つのPU(2Nx2N)のみを含み、マージモードは動きデータを導出するのに用いられ、ビットストリーム内に残差データは存在しない。デコーダ側では、スキップフラグに基づいて、残差情報を追加することなく、それぞれの現在のブロックを復号するためのマージインデックスに基づいて予測ブロックを決定することができる。したがって、本明細書に開示されるマージモードを用いたビデオコード化のための様々な方法は、スキップモードと組み合わせて利用することができる。
一例として、一実施形態では、マージフラグまたはスキップフラグがビットストリーム内で真としてシグナリングされると、マージインデックスは、マージ候補リスト内のどの候補が現在のブロックの動きベクトルを提供するために使用されるかを示すためにシグナリングされる。最大4つの空間隣接動きベクトルおよび最大1つの時間隣接動きベクトルをマージ候補リストに追加することができる。マージ候補リストのサイズとして、構文MaxMergeCandsNumが定義される。構文MaxMergeVandsNumは、ビットストリームでシグナリングすることができる。
2.アフィンマージモード
図9は、一実施形態による現在のブロック(またはコーディングユニット(CU)と呼ばれる)(901)の空間的隣接ブロックおよび時間的隣接ブロックの概略図である。図示されるように、空間的隣接ブロックは、A0、A1、A2、B0、B1、B2、およびB3(それぞれ902、903、907、904、905、906、および908)で示され、時間的隣接ブロックは、C0(912)で示される。いくつかの例では、空間的隣接ブロックA0、A1、A2、B0、B1、B2、およびB3ならびに現在のブロック(901)は、同じ画像に属する。いくつかの例では、時間的隣接ブロックC0は、参照画像に属し、現在のブロック(901)の外側で現在のブロック(901)の右下隅に隣接する位置に対応する。
いくつかの例では、現在のブロック(901)および/または現在のブロックのサブブロックの動きベクトルは、アフィンモデル(例えば、6パラメータアフィンモデルまたは4パラメータアフィンモデル)を使用して導出することができる。いくつかの例では、アフィンモデルは、ブロックの動きベクトルを記述する6つのパラメータ(例えば、6パラメータアフィンモデル)を有する。一例では、アフィンコード化されたブロックの6つのパラメータは、ブロックの3つの異なる位置(例えば、図9の左上隅、右上隅、および左下隅の制御点CP0、CP1、およびCP2)における3つの動きベクトル(3つの制御点動きベクトル(CPMV)とも呼ばれる)によって表すことができる。別の例では、簡略化されたアフィンモデルは、アフィンコード化されたブロックの動き情報を記述するために4つのパラメータを使用し、これはブロックの2つの異なる位置(例えば、図9の左上隅および右上隅の制御点CP0およびCP1)における2つの動きベクトル(2つのCPMVとも呼ばれる)によって表すことができる。
動き情報候補のリスト(アフィンマージ候補リストとも呼ばれる)は、空間的隣接ブロックおよび/または時間的隣接ブロックのうちの1つまたは複数の動き情報に基づいてアフィンマージモードを使用して構築することができる。いくつかの例では、アフィンマージモードは、現在のブロック(901)が8サンプル以上の幅および高さを有する場合に適用することができる。アフィンマージモードによれば、リスト上の動き情報候補に基づいて現在のブロック(901)のCPMVを決定することができる。いくつかの例では、動き情報候補のリストは最大5つのCPMV候補を含むことができ、現在のブロックにどのCPMV候補が使用されるべきかを示すためにインデックスをシグナリングすることができる。
いくつかの実施形態では、アフィンマージ候補リストは、継承されたアフィン候補、構築されたアフィン候補、および0MVを含む3つのタイプのCPVM候補を有することができる。継承されたアフィン候補は、隣接ブロックのCPMVからの外挿によって導出することができる。構築されたアフィン候補は、隣接ブロックの並進MVを使用して導出することができる。
一例では、最大で2つの継承されたアフィン候補が存在することができ、これらは、左の隣接ブロック(A0およびA1)からの1つのブロックおよび上の隣接ブロック(B0、B1、およびB2)からの1つを含む、隣接ブロックの対応するアフィン動きモデルから導出される。左からの候補については、隣接するブロックA0およびA1を順次チェックすることができ、隣接ブロックA0およびA1から最初に利用可能な継承されたアフィン候補が左からの継承されたアフィン候補として使用される。上からの候補については、隣接するブロックB0、B1、およびB2を順次チェックすることができ、隣接ブロックB0、B1、およびB2から最初に利用可能な継承されたアフィン候補が上からの継承されたアフィン候補として使用される。いくつかの例では、2つの継承されたアフィン候補間でプルーニングチェックは実行されない。
隣接アフィンブロックが識別されると、現在のブロック(901)のアフィンマージリストに追加される対応する継承アフィン候補を、隣接アフィンブロックの制御点動きベクトルから導出することができる。図9の例では、隣接するブロックA1がアフィンモードでコード化されている場合、ブロックA1の左上隅(制御点CP0A1)、右上隅(制御点CP1A1)、および左下隅(制御点CP2A1)の動きベクトルを取得することができる。ブロックA1が4パラメータアフィンモデルを用いてコード化される場合、制御点CP0A1および制御点CP1A1の動きベクトルに従って、現在のブロック(901)の継承されたアフィン候補としての2つのCPMVを計算することができる。ブロックA1が6パラメータアフィンモデルを用いてコード化される場合、制御点CP0A1、制御点CP1A1、および制御点CP2A1の動きベクトルに従って、現在のブロック(901)の継承されたアフィン候補としての3つのCPMVを計算することができる。
さらに、各制御点の隣接並進運動情報を組み合わせることによって、構築されたアフィン候補を導出することができる。制御点CP0、CP1、およびCP2の動き情報は、特定された空間的隣接ブロックA0、A1、A2、B0、B1、B2、およびB3から導出される。
例えば、CPMVk(k=1、2、3、4)はk番目の制御点の動きベクトルを表し、CPMV1は制御点CP0に対応し、CPMV2は制御点CP1に対応し、CPMV3は制御点CP2に対応し、CPMV4は時間的隣接ブロックC0に基づく時間的制御点に対応する。CPMV1の場合、隣接ブロックB2、B3、およびA2を順次チェックすることができ、隣接ブロックB2、B3、およびA2からの第1の利用可能な動きベクトルがCPMV1として使用される。CPMV2の場合、隣接ブロックB1およびB0を順次チェックすることができ、隣接ブロックB1およびB0からの第1の利用可能な動きベクトルがCPMV2として使用される。CPMV3の場合、隣接ブロックA1およびA0を順次チェックすることができ、隣接ブロックA1およびA0からの第1の利用可能な動きベクトルがCPMV3として使用される。さらに、時間的隣接ブロックC0の動きベクトルは、利用可能であればCPMV4として使用することができる。
4つの制御点CP0、CP1、CP2、および時間制御点のCPMV1、CPMV2、CPMV3、およびCPMV4が得られた後、{CPMV1、CPMV2、CPMV3}、{CPMV1、CPMV2、CPMV4}、{CPMV1、CPMV3、CPMV4}、{CPMV2、CPMV3、CPMV4}、{CPMV1、CPMV2}、および{CPMV1、CPMV3}の順に構築されたアフィンマージ候補を含むようにアフィンマージ候補リストを構築することができる。3つのCPMVの任意の組み合わせが6パラメータアフィンマージ候補を形成することができ、2つのCPMVの任意の組み合わせが4パラメータアフィンマージ候補を形成することができる。いくつかの例では、動きスケーリング処理を回避するために、制御点のグループの参照インデックスが異なる場合、CPMVの対応する組み合わせを破棄することができる。
3.サブブロックベース時間動きベクトル予測(SbTMVP)モード
図10Aは、一実施形態による空間的隣接ブロックの動き情報に基づいて、サブブロックベースの時間MV予測(SbTMVP)方法を使用して現在のブロック(1011)の動き情報を予測することを決定するために使用することができる空間的隣接ブロックの概略図である。図10Aは、現在のブロック(1011)と、A0、A1、B0、およびB1(それぞれ1012、1013、1014、および1015)で示されるその空間的隣接ブロックとを示す。いくつかの例では、空間的隣接ブロックA0、A1、B0、およびB1ならびに現在のブロック(1011)は、同じ画像に属する。
図10Bは、一実施形態による、この非限定的な例におけるブロックA1などの選択された空間的隣接ブロックに基づいて、SbTMVP方法を使用して現在のブロック(1011)のサブブロックの動き情報を決定する概略図である。この例では、現在のブロック(1011)は現在の画像(1010)内にあり、参照ブロック(1061)は参照画像(1060)内にあり、動きベクトル(1022)によって示される現在のブロック(1011)と参照ブロック(1061)との間の動きシフト(または変位)に基づいて識別することができる。
いくつかの実施形態では、HEVCにおける時間動きベクトル予測(TMVP)と同様に、SbTMVPは、現在の画像内の現在のブロックの参照画像内の様々な参照サブブロック内の動き情報を使用する。いくつかの実施形態では、TMVPによって使用される同じ参照画像をSbTVMPに使用することができる。いくつかの実施形態では、TMVPはCUレベルで動き情報を予測するが、SbTMVPはサブCUレベルで動きを予測する。いくつかの実施形態では、TMVPは、現在のブロックの右下角または中心に隣接する対応する位置を有する、参照画像内のコロケートブロックからの時間動きベクトルを使用し、SbTMVPは、現在のブロックの空間的隣接ブロックのうちの1つからの動きベクトルに基づいて動きシフトを実行することによって識別することができる、参照ブロックからの時間動きベクトルを使用する。
例えば、図10Aに示すように、隣接ブロックA1、B1、B0、およびA0は、SbTVMP処理で順次チェックすることができる。例えば、参照画像(1060)内の参照ブロックAR1を指す動きベクトル(1022)を有するブロックA1のように、参照画像(1060)をその参照画像として使用する動きベクトルを有する第1の空間的隣接ブロックが識別されるとすぐに、この動きベクトル(1022)を動きシフトを実行するために使用することができる。空間的隣接ブロックA1、B1、B0、およびA0からそのような動きベクトルが利用できない場合、動きシフトは(0,0)に設定される。
動きシフトを決定した後、参照ブロック(1061)は、現在のブロック(1011)の位置および決定された動きシフトに基づいて識別することができる。図10Bでは、参照ブロック(1061)は、参照動き情報MRa~MRpを有する16個のサブブロックにさらに分割することができる。いくつかの例では、参照ブロック(1061)内の各サブブロックの参照動き情報は、そのようなサブブロックの中心サンプルをカバーする最小動きグリッドに基づいて決定することができる。動き情報は、動きベクトルおよび対応する参照インデックスを含むことができる。現在のブロック(1011)は、16個のサブブロックにさらに分割することができ、現在のブロック(1011)内のサブブロックの動き情報MVa~MVpは、いくつかの例では時間スケーリングを用いて、TMVP処理と同様の方法で参照動き情報MRa~MRpから導出することができる。
SbTMVP処理で使用されるサブブロックサイズは、固定(または他の方法で所定)またはシグナリングすることができる。いくつかの例では、SbTMVP処理で使用されるサブブロックサイズは8×8サンプルであり得る。いくつかの例では、SbTMVP処理は、固定サイズまたはシグナリングされたサイズ、例えば8ピクセル以上の幅および高さを有するブロックにのみ適用可能である。
一例では、SbTVMP候補およびアフィンマージ候補を含む結合されたサブブロックベースのマージリストが、サブブロックベースのマージモードのシグナリングに使用される。SbTVMPモードは、シーケンスパラメータセット(SPS)フラグによって有効または無効にすることができる。いくつかの例では、SbTMVPモードが有効にされている場合、SbTMVP候補は、サブブロックベースのマージ候補のリストの第1のエントリとして追加され、アフィンマージ候補が続く。いくつかの実施形態では、サブブロックベースのマージリストの最大許容サイズは5に設定される。しかしながら、他の実施形態では、他のサイズが利用されてもよい。
いくつかの実施形態では、追加のSbTMVPマージ候補のエンコードロジックは、他のマージ候補と同じである。すなわち、PまたはBスライス内の各ブロックについて、SbTMVP候補を使用するかどうかを決定するために追加のレート歪みチェックを実行することができる。
4.履歴ベース動きベクトル予測(HMVP)モード
図11Aは、一実施形態による履歴ベースMV予測(HMVP)方法を使用して動き情報候補のリストを構築および更新する処理(1100)の概要を示すフローチャートである。
いくつかの実施形態では、HMVP方法を使用する動き情報候補のリストはエラーになる!参照ソースが見つからない場合、エンコードまたはデコード処理中に構築および更新することができる。このリストは、履歴リストと呼ばれ得る。履歴リストは、HMVPテーブルまたはHMVPバッファの形式で格納することができる。新しいスライスが始まると、履歴リストを空にすることができる。いくつかの実施形態では、エンコードまたはデコードされたばかりのインターコード化された非アフィンブロックがあるときはいつでも、関連する動き情報を新しいHMVP候補として履歴リストの最後のエントリに追加することができる。したがって、現在のブロックを処理(エンコードまたはデコード)する前に、HMVP候補の履歴リストをロードすることができる(S1112)。現在のブロックは、履歴リストのHMVP候補を用いてエンコードまたはデコードすることができる(S1114)。その後、履歴リストは、現在のブロックをコード化またはデコードするための動き情報を使用して更新することができる(S1116)。
図11Bは、一実施形態による履歴ベース時間MV予測方法を使用して動き情報候補のリストを更新する概略図である。図11Bは、Lのサイズを有する履歴リストを示し、リスト内の各候補は、0~L-1の範囲のインデックスで識別することができる。Lは0以上の整数である。現在のブロックをエンコードまたはデコードする前に、履歴リスト(1120)はL個の候補HMVP0、HMVP1、HMVP2、...HMVPm、...、HMVPL-2、およびHMVPL-1を含み、mは0からLまでの範囲の整数である。現在のブロックをエンコードまたはデコードした後、新しいエントリHMVPcが履歴リストに追加されることになる。
一例では、履歴リストのサイズを6に設定することができ、これは、最大6つのHMVP候補を履歴リストに追加することができることを示す。新しい動き候補(例えば、HMVPc)を履歴リストに挿入するとき、制約付き先入れ先出し(FIFO)規則を利用することができ、冗長検査は、履歴リストに冗長HMVPがあるかどうかを見つけるために最初に適用される。冗長HMVPが見つからない場合、第1のHMVP候補(図11Bの例におけるHMVPt、インデックス=0)がリストから除去され、その後の他のすべてのHMVP候補が、例えばインデックスが1だけ削減されて前方に移動される。結果として得られるリスト(1130)に示すように、新しいHMVPc候補をリストの最後のエントリに追加することができる(例えば、図11Bのインデックス=L-1)。一方、冗長HMVPが見つかった場合(図11Bの例のHMVP2など)、履歴リスト内の冗長HMVPはリストから除去され、その後のすべてのHMVP候補が、例えばインデックスが1だけ削減されて前方に移動される。結果として得られるリスト(1140)に示すように、新しいHMVPc候補をリストの最後のエントリに追加することができる(例えば、図11Bのインデックス=L-1)。
いくつかの例では、HMVP候補をマージ候補リスト構築処理で使用することができる。例えば、リスト内の最新のHMVP候補を順番に確認し、TMVP候補の後に候補リストに挿入することができる。いくつかの実施形態では、空間または時間マージ候補に対してHMVP候補にプルーニングを適用することができるが、サブブロック動き候補(すなわち、SbTMVP候補)には適用できない。
いくつかの実施形態では、プルーニング操作の数を減らすために、以下の規則のうちの1つまたは複数に従うことができる。
(a)Mで示されるチェック対象のHMPV候補の数は、以下のように設定される。
M=(N<=4)?L:(8-N)、
ここで、Nは利用可能な非サブブロックマージ候補の数を示し、Lは履歴リスト中の利用可能なHMVP候補の数を示す。
(b)さらに、利用可能なマージ候補の総数が、シグナリングされた最大マージ候補数よりも1つだけ少なくなると、HMVPリストからのマージ候補リスト構築処理を終了することができる。
(c)さらに、組み合わせた双予測マージ候補導出のペア数を12から6に削減することができる。
いくつかの実施形態では、HMVP候補をAMVP候補リスト構築処理で使用することができる。履歴リスト内の最後のK個のHMVP候補の動きベクトルは、TMVP候補の後のAMVP候補リストに追加することができる。いくつかの例では、AMVPターゲット参照画像と同じ参照画像を有するHMVP候補のみがAMVP候補リストに追加されるべきである。HMVP候補には、プルーニングを適用することができる。いくつかの例では、AMVPリストサイズが変更されないまま、例えば2に等しい間、Kは4に設定される。
5.ペアワイズ平均動きベクトル候補
いくつかの実施形態では、現在のマージ候補リスト内の候補の所定のペアを平均化することによって、ペアワイズ平均候補を生成することができる。例えば、所定のペアは、一実施形態では{(0、1)、(0、2)、(1、2)、(0、3)、(1、3)、(2、3)}として定義され、番号は、マージ候補リストに対するマージインデックスを示す。例えば、平均化された動きベクトルは、参照画像リストごとに別々に計算される。両方の平均化対象動きベクトルが1つのリストで利用可能である場合、これら2つの動きベクトルは、それらが異なる参照画像を指す場合でも平均化される。1つの動きベクトルのみが利用可能である場合、利用可能な動きベクトルを直接使用することができる。動きベクトルが利用できない場合、一例では、それぞれの対がスキップされる。いくつかの実施形態では、マージ候補リストを構築する際に、ペアワイズ平均候補が結合候補を置き換える。
6.動きベクトル差ありマージ(MMVD)モード
いくつかの実施形態では、現在のブロックの動きベクトル予測器を決定するために、動きベクトル差ありマージ(MMVD)モードが使用される。MMVDモードは、スキップモードまたはマージモードが有効になっているときに使用することができる。MMVDモードは、スキップモードまたはマージモードのマージ候補リスト上のマージ候補を再利用する。例えば、マージ候補リストから選択されたマージ候補を使用して、参照画像に開始点を提供することができる。現在のブロックの動きベクトルは、開始点と、開始点に対する動きの大きさおよび動きの方向を含む動きオフセットとで表すことができる。エンコーダ側では、マージ候補の選択および動きオフセットの決定は、探索処理(評価処理)に基づくことができる。デコーダ側では、選択されたマージ候補および動きオフセットは、エンコーダ側からのシグナリングに基づいて決定することができる。
MMVDモードは、本明細書で説明される様々なインター予測モードで構築されたマージ候補リストを再利用することができる。いくつかの例では、マージ候補リスト上のデフォルトマージタイプ(例えば、MRG_TYPE_DEFAULT_N)の候補のみがMMVDモードについて考慮される。デフォルトのマージタイプのマージ候補の例としては、本明細書で説明するように、(i)マージモードで採用されるマージ候補、(ii)HMVPモードの履歴バッファからのマージ候補、(iii)ペアワイズ平均動きベクトル候補が挙げられ得る。アフィンモードまたはSbTMVPモードのマージ候補は、いくつかの例ではMMVDモードの拡張に使用されない。
ベース候補インデックス(IDX)を使用して、開始点を定義することができる。例えば、0から3までのインデックスに関連付けられたマージ候補(動きベクトルプレディケーター(MVP))のリストを表1に示す。ベース候補インデックスのインデックスを有するマージ候補は、リストから決定され、開始点を提供するために使用され得る。
Figure 2022514923000002
距離インデックスを使用して、動きの大きさ情報を提供することができる。例えば、0~7のインデックスにそれぞれ関連付けられた複数の所定のピクセル距離が表2に示されている。距離インデックスのインデックスを有するピクセル距離は、複数のピクセル距離から決定され、動きの大きさを提供するために使用され得る。
Figure 2022514923000003
方向インデックスを使用して、動きの方向情報を提供することができる。例えば、00~11(バイナリ)までのインデックスを有する4つの方向が表3に示されている。方向インデックスのインデックスを有する方向は、4つの方向から決定することができ、開始点に対する動きオフセットの方向を提供するために使用される。
Figure 2022514923000004
MMVD構文要素は、MMVDモードにおいてベース候補インデックス、方向インデックス、および距離IDXを含むMMVDインデックスのセットをシグナリングするためにビットストリームで送信することができる。
いくつかの実施形態では、MMVD有効化フラグは、現在のブロックをコード化するためのスキップアンドマージフラグを送信した後にシグナリングされる。例えば、スキップアンドマージフラグがtrueの場合、MMVDフラグがパースされる。MMVDフラグが1に等しいとき、一例では、MMVD構文要素(MMVDインデックスのセット)がパースされる。一例では、MMVDフラグが1でない場合、アフィンフラグなどの別のモードに関連付けられたフラグがパースされる。アフィンフラグが1に等しいとき、アフィンモードは現在のブロックを処理するために使用される。アフィンフラグが1でない場合、一例では、スキップ/マージモードで現在のブロックを処理するためにスキップ/マージインデックスがパースされる。
図12~図13は、本開示の一実施形態によるMMVDモードにおける探索処理の一例を示す。探索処理を行うことによって、現在の画像内の現在のブロック(1201)(または現在のフレームと呼ばれる)について、ベース候補インデックス、方向インデックス、および距離インデックスを含むMMVDインデックスのセットを決定することができる。
図12~図13に示すように、第1のマージ候補に属する第1の動きベクトル(1211)と第2の動きベクトル(1221)を示す。第1のマージ候補は、現在のブロック(1201)のために構築されたマージ候補リスト上のマージ候補とすることができる。第1および第2の動きベクトル(1211)および(1221)は、参照画像リストL0およびL1内の2つの参照画像(1202)および(1203)にそれぞれ関連付けることができる。したがって、図13の2つの開始点(1311)および(1321)は、参照画像(1202)および(1203)で決定することができる。
一例では、開始点(1311)および(1321)に基づいて、参照画像(1202)および(1203)内の垂直方向(+Yまたは-Yで表される)または水平方向(+Xおよび-Xで表される)に開始点(1311)および(1321)から延びる複数の所定の点が評価され得る。一例では、点の対(1314)および(1324)、または点(1315)の対および(1325)など、それぞれの開始点(1311)または(1321)に対して互いにミラーリングする点の対を使用して、現在のブロック(1201)の動きベクトル予測器候補を形成し得る動きベクトルの対を決定することができる。開始点(1311)または(1321)を囲む所定の点に基づいて決定されたそれらの動きベクトル予測器候補を評価することができる。
第1のマージ候補に加えて、現在のブロック(1201)のマージ候補リスト上の他の利用可能なまたは有効なマージ候補も同様に評価することができる。一例では、単予測マージ候補の場合、2つの参照画像リストのうちの1つに関連付けられた1つの予測方向のみが評価される。
これらの評価に基づいて、最良の動きベクトル予測器候補を決定することができる。したがって、最良の動きベクトル予測器候補に対応して、マージリストから最良のマージ候補を選択することができ、動き方向および動き距離も決定することができる。例えば、選択されたマージ候補と表1とに基づいて、ベース候補インデックスを決定することができる。所定の点(1315)(または(1325))に対応するものなどの選択された動きベクトル予測器に基づいて、開始点(1311)に対する点(1315)の方向および距離を決定することができる。表2および表3によれば、それに応じて方向インデックスおよび距離インデックスを決定することができる。
上記の例は、単に例示を目的とするものであることに留意されたい。代替例では、MMVDモードで提供される動きベクトル表現方法に基づいて、動き距離および動き方向を異なるように定義することができる。また、評価処理(探索処理)は、異なって行われてもよい。例えば、双予測マージ候補の場合、3つのタイプの予測方向(例えば、L0、L1、ならびにL0およびL1)が、最良の動きベクトル予測器を選択するために所定の距離および方向のセットに基づいて評価され得る。別の例では、ユニ予測マージ候補は、ミラーリングまたはスケーリングによって双予測マージ候補に変換され、その後評価され得る。上記の例では、評価処理から生じる予測方向(例えば、L0、L1、またはL0およびL1)を示す追加の構文がシグナリングされ得る。
上述したように、エンコーダにおいてMMVDモードにおけるベース候補を決定するために、マージ候補リスト上のマージ候補が評価される。デコーダでは、ベース候補インデックスを入力として使用して、マージ候補リストから動きベクトル予測器を選択することができる。したがって、MMVDモードでは、マージ候補を格納するためのラインバッファに加えて、追加のラインバッファは必要ない。
III.共有マージリストを用いたマージ共有領域
いくつかの実施形態では、現在のブロックのサイズおよび/または現在のブロック内のサブブロックのサイズが特定の条件を満たす場合、共有マージリストを有するマージ共有領域が使用される。例えば、CU分割ツリー内の祖先ノードのリーフCUは、マージ候補リストを共有することができる。このようにして、リーフCUのそれぞれに対するマージ候補リストの別々の構築を回避することができ、これにより、マージ共有領域内の小さなマージ/スキップコード化されたCUの並列処理が可能になる。祖先ノードは、マージ共有ノードまたはマージ共有領域と呼ばれる。共有マージ候補リストは、マージ共有ノードがリーフCUであることを装ってマージ共有ノードのために生成される。
スプリットツリーノードをマージ共有ノードとして扱うことができるかどうかは、デコードのパース段階中にCTU内のノードごとに決定することができる。一例では、リーフCUの祖先ノードは、祖先ノードが以下の基準を満たす場合にマージ共有ノードであると判定することができる。
(a)祖先ノードのブロックサイズがサイズ閾値以上(例えば、32ピクセル、64ピクセルなど)、
(b)祖先ノード内で、子CUのうちの1つは、サイズ閾値よりも小さいサイズを有する。
図14Aは、64ピクセルのサイズ閾値に基づいて定義されたマージ共有領域(1401)~(1404)の例を示す。マージ共有領域(1401)~(1404)の各々は、サイズ閾値に等しい64ピクセルのブロックサイズを有する。マージ共有領域(1401)~(1404)の各々は、サイズ閾値よりも小さいサイズを有する少なくとも1つのリーフCUを含む。
図14Bは、64ピクセルのサイズ閾値に基づいて定義されたマージ共有領域(1410)の別の例を示す。マージ共有領域(1410)は、それぞれ32、64、および32ピクセルのサイズを有する3つのサブブロック(1411)~(1413)を含む。マージ共有領域(1410)は、サイズ閾値より大きい128ピクセルのサイズを有し、サイズ閾値より小さいサイズを有する2つのサブブロック(1411)および(1413)を含む。
他の例では、マージ共有領域の決定は、異なる定義に基づくことができる。例えば、閾値よりも小さいブロックサイズを有するリーフCUの祖先ノードは、マージ共有領域であると判定され得る。一例として図14Bを使用すると、64ピクセルの閾値が使用される場合、ブロック1411~1413のいずれかがマージ共有領域であると判定され得る。
さらに、いくつかの例では、マージ共有ノードのサンプルが画像境界の外側にない。パース段階中に、祖先ノードがマージ共有領域の定義を満たすが、画像境界の外側にいくつかのサンプルを有する場合、この祖先ノードはマージ共有ノードとして扱われない。このノード内の子CUは、次に、マージ共有領域を決定するために評価され得る。
共有マージ候補リストアルゴリズムは、通常マージモード、CRPモード(またはIBCモード)、三角パーティションモード、sbTMVPモード、MMVDモードなどの並進マージ/スキップモードをサポートすることができる。いくつかの例では、マージ共有領域内のブロックをエンコードするためにアフィンマージモードが除外される。これらのマージ/スキップモードは、マージ共有領域内で使用されるときにHMVPテーブルと組み合わせることができる。それらのマージ/スキップモードの場合、共有マージ候補リストアルゴリズムの挙動は、通常のマージ候補リストに基づくものと同様である。共有マージ候補リストアルゴリズムは、マージ共有ノードがリーフCUであることを装ってマージ共有ノードの候補を生成するだけである。
マージ共有領域内のリーフCUは、マージ/スキップモード以外のコード化モードを使用してコード化され得ることに留意されたい。例えば、マージ共有ノード内のCUは、イントラモード、またはマージ/スキップモード以外のインターモード(例えば、AMVPモード)でコード化され得る。
IV.マージ共有領域内のCUのためのHMVPテーブル更新
いくつかの例では、マージ共有領域スキームは、マージ共有領域内のサブブロックの並列処理を可能にするために使用される。加えて、マージ共有領域スキームは、インター画像コード化性能を改善するためにHMVPスキームと組み合わせることができる。例えば、デコーダのパース段階でマージ共有領域が識別されると、マージ共有領域に対して共有マージリストを構築することができる。マージ共有領域の構築は、HMVPテーブルからのHMVP候補を含み得る。マージ共有領域内のサブブロック(またはコード化ブロック)は、イントラ予測モード(イントラモード)、またはインター予測モード(インターモード)でコード化することができる。各インターコード化されたサブブロックについて、対応する動き情報を使用してHMVPテーブルを更新することができる。
しかしながら、本開示の一態様によれば、マージ共有領域内の各インターコード化されたサブブロック(またはコード化ブロック)にHMVPテーブル更新を行うことは不要であり得る。例えば、マージ共有領域内のサブブロックは互いに近接している。隣接インターコード化されたブロックは、類似の動き情報を有する可能性が高い。さらに、マージ共有領域内のこれらのサブブロックは、同じマージリストを共有する。異なるインターコード化されたサブブロックが、マージモードデコード処理の結果としてそれらの動き情報として同じマージ候補を使用する可能性が高い。したがって、その類似動き情報に基づくHAVPテーブル更新は冗長になる。対照的に、それらのインターコード化されたブロックのサブセットについてHMVPテーブル更新を実行することは、より適切であり得、HMVPテーブル更新に関連する計算コストを節約することができる。
したがって、いくつかの実施形態では、マージ共有領域方法とHMVP方法とが組み合わされるときにHMVPテーブル更新処理に制限が適用される。例えば、インターコード化されたサブブロックがデコードされるたびにHMVPテーブル更新を実行する代わりに、マージ共有領域内のインターコード化されたサブブロックのサブセットのみがHMVPテーブル更新動作を引き起こす。このようにして、HMVPテーブル更新のコストを回避または低減することができ、コード化品質を維持することができる。
一実施形態では、マージ共有領域内のインターコード化されたサブブロックに対してHMVPテーブル更新は実行されない。
いくつかの実施形態では、マージ共有領域内のインターコード化されたサブブロックがHMVPテーブル更新を引き起こすかどうかは、対応するサブブロックをコード化/デコードするためにどのタイプのインター予測モードが使用されるかに依存する。
図15は、マージ共有領域内で使用できるインター予測モード(インターモード)の表(1500)を示す。動き情報は、それらのインターモードのうちの1つがマージ共有領域内のサブブロックをエンコード/デコードするために使用されるときに生成することができる。動き情報は、HMVPテーブルを更新するために使用されてもよい。表(1500)のインターモードは、マージ/スキップモードおよびAMVPモードの2つのカテゴリに分けることができる。
AMVPモードでは、サブブロックをエンコードするためにAMVP候補リストを構築することができる。AMVP候補リストは、サブブロックの隣接ブロックから選択されたAMVP候補のセットを含むことができる。一例では、AMVPモードを構築するためにHMVPテーブルを使用することができる。動き推定を実行して、サブブロックの動き情報を決定することができる。選択されたAMVP候補と動き推定から生じる動き情報との間の差は、AMVP候補リスト上の選択されたAMVP候補へのインデックスと共にエンコーダからデコーダにシグナリングすることができる。デコーダにおいてサブブロックをデコードするとき、元の動き情報は、シグナリングされた差分およびインデックスに基づいて復元される。いくつかの例では、AMVP候補リストは、サブブロックに対応する共有マージリストから別々に構築される。いくつかの例では、AMVP候補リストは、対応する共有マージリストのサブセットとすることができる。いくつかの例では、対応する共有マージリストは、AMVP候補リストとして使用することができる。
表(1500)のマージ/スキップモードは、グループIおよびグループIIの2つのグループのコード化モードを含むことができる。グループIは、マージ共有領域内のサブブロック(リーフCU)をエンコードまたはデコードするための動き情報として共有マージリスト上のマージ候補を使用するインターモードを含む。グループIのインターモードの例としては、通常マージモード、CRPモードなどが挙げられる。マージ共有領域内のサブブロックをエンコードするためにグループIインターモードが使用される場合、共有マージリスト上の候補を選択して、サブブロックの予測を決定するための動き情報を提供することができる。その後、予測とサブブロックとの差分(残差)をコード化して送信することができる。スキップモードが使用されるとき、残差シグナルは生成も送信もされない。
グループIIは、マージ共有領域内のサブブロックをエンコードまたはデコードするために、共有マージリスト上のマージ候補に基づいて決定された動き情報を使用するインターモードを含む。グループIIのインターモードの例は、三角パーティションモード、sbTMVPモード、MMVDモードなどを含むことができる。共有マージリストを用いたマージ共有領域内のサブブロックのエンコードにグループIIインターモードを使用すると、共有マージリスト上のマージ候補に基づいて動き情報を構築できる(例えば、三角形パーティションモード)。または、共有マージリスト上のマージ候補を使用してターゲットブロックを決定し、マージ共有領域内のサブブロックをエンコードするためにターゲットブロック内のサブブロックの動き情報を取得することができる(例えば、sbTMVPモード)。または、共有マージリスト上のマージ候補を使用して、参照画像上に初期点を提供し、初期点に隣接する位置にわたる動き情報の探索を容易にすることができる(例えば、MMVD)。上記の場合、結果として得られる動き情報は、共有マージリスト上のマージ候補とは異なる可能性がある。
表(1500)の分類に基づいて、一実施形態では、マージ共有領域内のサブブロックがマージ/スキップモードでインターコード化されるとき、サブブロックをデコードした後にHMVPテーブル更新は実行されない。対照的に、マージ共有領域内のサブブロックがAMVPモードなどのマージ/スキップモード以外のコード化モードでインターコード化される場合、サブブロックをデコードした結果の動き情報は、HMVPテーブルを更新するために使用される。
説明したように、マージ/スキップモードは、マージ共有領域内のサブブロックをエンコードまたはデコードするために使用される場合、共有マージリストに基づく。共有マージリストは、最近HMVPテーブルに既に含まれている動き情報を含んでもよい。マージ/スキップモードから生じる動き情報は、共有マージリスト上のマージ候補と同じまたは類似している可能性があり、したがって、HMVPテーブルに既に含まれている可能性が高い場合がある。したがって、その情報でHMVPテーブルを更新することは非効率的であり得る。
対照的に、AMVPモードでは、動き差が決定されエンコードされる。したがって、AMVPモードから生じる動き情報は、AMVP候補リスト上のAMVP候補とは異なり得る(共有マージリストと同様であっても異なっていてもよい)。したがって、動き情報が既にHMVPテーブルに含まれている可能性は低い。動き情報でHMVPテーブルを更新することは有益であり得る。
別の実施形態では、マージ共有領域内のサブブロックがグループIモード(例えば、通常マージモード、またはCRPモード)でインターコード化されるとき、サブブロックの動き情報を用いてHMVPテーブル更新は実行されない。対照的に、マージ共有領域内のサブブロックがグループIIモード、またはAMVPモードなどのグループIモード以外のインターモードでインターコード化される場合、サブブロックをデコードした結果の動き情報は、HMVPテーブルを更新するために使用される。
説明したように、グループIIインターモードは、マージ共有領域内のサブブロックをエンコードまたはデコードするために使用されるとき、共有マージリスト上のマージ候補に基づいてサブブロックの動き情報を決定するが、決定された動き情報は共有マージリスト上のマージ候補とは異なる可能性があり、HVMPテーブルに含まれない一定の確率を有する。したがって、グループIIモードから結果的に生じる動き情報を用いてHMVPテーブルを更新することは、特定のシナリオにおいていくらかのコード化利得を達成し得る。
いくつかの実施形態では、1つのサブブロックは、HMVPテーブルを更新するためのマージ共有領域内のインターコード化されたサブブロックのセットから選択される。例えば、エンコード/デコード順(例えば、ラスタ走査順、ジグザグ順など)に従って表(1500)内のインター予測モードでコード化された、例えば、複数のインターコード化されたサブブロックがある。コード化順序に従って最初または最後のサブブロックを選択してHMVPテーブルを更新することができる。その他のインターコード化されたサブブロックについては、HMVPテーブルの更新は行われない。これにより、HMVPテーブルの更新コストを削減することができる。
様々な実施形態において、マージ共有領域を含まないインターコード化されたブロックについて、それらのインターコード化されたブロックの対応する動き情報を用いてHMVPテーブル更新を実行することができる。
図16は、本開示の一実施形態による処理(1600)の概要を示すフローチャートを示す。処理(1600)は、HMVPテーブルに基づいてマージ共有領域をデコードするために使用され得る。様々な実施形態では、処理(1600)は、端末デバイス(210)、(220)、(230)および(240)内の処理回路機構、ビデオデコーダ(310)の機能を実行する処理回路機構、ビデオデコーダ(410)の機能を実行する処理回路機構などの回路機構を処理することによって実行される。いくつかの実施形態では、処理(1600)はソフトウェア命令で実施され、したがって、処理回路機構がソフトウェア命令を実行すると、処理回路機構は処理(1600)を実行する。(S1601)から処理が開始され、(S1610)に進む。
(S1610)において、複数のコード化ブロックを含むマージ共有領域が受信される。例えば、デコーダは、画像から分割されたコード化ブロックのビットストリームを受信することができる。パース段階において、マージ共有領域はサイズ閾値に基づいて決定することができる。
(S1620)において、マージ共有領域をデコードするために共有マージ候補リストを構築することができる。共有マージ候補リストには、HMVPテーブルからのHMVP候補を追加することができる。共有マージ候補リストは、空間マージ候補、時間マージ候補、ペアワイズ平均双予測候補などの他のタイプのマージ候補を含むことができる。
(S1630)において、マージ共有領域は、共有マージ候補リストに基づいてデコードされ得る。例えば、マージ共有領域内のコード化ブロックは、インターコード化またはイントラコード化され得る。インターコード化されたブロックについては、デコード処理中に動き情報を決定することができる。しかしながら、HMVPテーブル更新コストを低減するために、すべてのインターコード化されたブロックがHMVP更新動作を引き起こすわけではない。
一例では、マージ共有領域内のコード化ブロックに対してHMVP更新動作は実行されない。一例では、マージ共有領域内のコード化ブロックの動き情報でHMVPテーブルを更新するかどうかは、それぞれのコード化ブロックをコード化するために使用されるインター予測モードのタイプに依存し得る。一例では、マージ共有領域内のインターコード化されたブロックから1つのコード化ブロック(例えば、コード化順序に従って最初または最後のもの)を選択することができ、その動き情報を使用してHMVPテーブルを更新することができる。処理(1600)は、(S1699)に進み、(S1699)において終了することができる。
上述した技術は、コンピュータ可読命令を使用し、1つまたは複数のコンピュータ可読媒体に物理的に記憶されたコンピュータソフトウェアとして実装することができる。例えば、図17は、開示された主題の特定の実施形態を実施するのに適したコンピュータシステム(1700)を示す。
コンピュータソフトウェアは、1つまたは複数のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって直接、または翻訳、マイクロコード実行などを介して実行することができる命令を含むコードを作成するために、アセンブリ、コンパイル、リンクなどの機構を受けることができる任意の好適な機械コードまたはコンピュータ言語を使用してコード化することができる。
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む様々な種類のコンピュータまたはその構成要素上で実行することができる。
コンピュータシステム(1700)について図17に示す構成要素は、本質的に例示的なものであり、本開示の実施形態を実施するコンピュータソフトウェアの使用または機能の範囲に関する制限を示唆することを意図するものではない。構成要素の構成は、コンピュータシステム(1700)の例示的な実施形態に示されている構成要素のいずれかまたは組み合わせに関する依存関係または要件を有すると解釈されるべきではない。
コンピュータシステム(1700)は、特定のヒューマンインターフェース入力デバイスを含むことができる。そのようなヒューマンインターフェース入力デバイスは、例えば、触知入力(例えば、キーストローク、スワイプ、データグローブの動き)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャ)、嗅覚入力(図示せず)を介した1人以上の人間のユーザによる入力に応答することができる。ヒューマンインターフェースデバイスは、オーディオ(例えば、音声、音楽、周囲音)、画像(例えば、走査画像、写真画像は静止画像カメラから取得する)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、必ずしも人間による意識的な入力に直接関連しない特定の媒体を取り込むために使用することもできる。
入力ヒューマンインターフェースデバイスは、キーボード(1701)、マウス(1702)、トラックパッド(1703)、タッチスクリーン(1710)、データグローブ(図示せず)、ジョイスティック(1705)、マイクロフォン(1706)、スキャナ(1707)、カメラ(1708)のうちの1つまたは複数(各々のうちのただ1つ)を含むことができる。
コンピュータシステム(1700)はまた、特定のヒューマンインターフェース出力デバイスを含むこともできる。そのようなヒューマンインターフェース出力デバイスは、例えば、触知出力、音、光、および匂い/味によって1人または複数の人間のユーザの感覚を刺激することができる。そのようなヒューマンインターフェース出力デバイスは、触知出力デバイス(例えば、タッチスクリーン(1710)、データグローブ(図示せず)、またはジョイスティック(1705)による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスも存在し得る)、音声出力デバイス(例えば、スピーカ(1709)、ヘッドホン(図示せず))、視覚出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(1710)であって、それぞれがタッチスクリーン入力機能を有するかまたは有さず、それぞれが触知フィードバック機能を有するかまたは有さず、その一部は、ステレオ出力などの手段を介して二次元視覚出力または三次元超出力を出力することができてもよい;仮想現実メガネ(図示せず)、ホログラフィックディスプレイ、およびスモークタンク(図示せず))、およびプリンタ(図示せず)を含むことができる。
コンピュータシステム(1700)はまた、人間がアクセス可能な記憶デバイスおよびそれらの関連媒体、例えば、CD/DVDなどの媒体(1721)を有するCD/DVD ROM/RW(1720)を含む光学媒体、サムドライブ(1722)、リムーバブルハードドライブまたはソリッドステートドライブ(1723)、テープおよびフロッピーディスク(図示せず)などのレガシー磁気媒体、セキュリティドングル(図示せず)などの専用ROM/ASIC/PLDベースのデバイスなどを含むことができる。
当業者はまた、本開示の主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、または他の一時的シグナルを包含しないことを理解すべきである。
コンピュータシステム(1700)はまた、1つまたは複数の通信ネットワークへのインターフェースを含むことができる。ネットワークは、例えば、無線、有線、光であり得る。ネットワークはさらに、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性などであり得る。ネットワークの例には、イーサネット、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上波放送TVを含むTV有線または無線広域デジタルネットワーク、CANBusを含む車両および産業用などが含まれる。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス(1749)に取り付けられた外部ネットワークインターフェースアダプタを必要とする(例えば、コンピュータシステム(1700)のUSBポートなど)。他のものは、一般に、後述するようなシステムバスへの取り付け(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)によってコンピュータシステム(1700)のコアに統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(1700)は、他のエンティティと通信することができる。そのような通信は、例えば、ローカルまたは広域デジタルネットワークを使用する他のコンピュータシステムに対して、単方向、受信のみ(例えば、放送TV)、単方向送信のみ(例えば、特定のCANbusデバイスへのCANbus)、または双方向であり得る。特定のプロトコルおよびプロトコルスタックは、上述したように、それらのネットワークおよびネットワークインターフェースのそれぞれで使用することができる。
前述のヒューマンインターフェースデバイス、ヒューマンアクセス記憶デバイス、およびネットワークインターフェースは、コンピュータシステム(1700)のコア(1740)に取り付けることができる。
コア(1740)は、1つまたは複数の中央処理装置(CPU)(1741)、グラフィックス処理装置(GPU)(1742)、フィールドプログラマブルゲートエリア(FPGA)(1743)の形態の専用プログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ(1744)などを含むことができる。これらのデバイスは、読み出し専用メモリ(ROM)(1745)、ランダムアクセスメモリ(1746)、内部非ユーザアクセス可能ハードドライブなどの内部大容量ストレージ、SSDなど(1747)とともに、システムバス(1748)を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス(1748)は、追加のCPU、GPUなどによる拡張を可能にするために、1つまたは複数の物理プラグの形態でアクセス可能であり得る。周辺デバイスは、コアのシステムバス(1748)に直接取り付けることも、周辺バス(1749)を介して取り付けることもできる。周辺バスのアーキテクチャには、PCI、USBなどが含まれる。
CPU(1741)、GPU(1742)、FPGA(1743)、およびアクセラレータ(1744)は、組み合わせて上述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(1745)またはRAM(1746)に記憶することができる。移行データはまた、RAM(1746)に記憶することができ、一方、永続データは、例えば内部大容量ストレージ(1747)に記憶することができる。メモリデバイスのいずれかへの高速記憶および検索は、1つまたは複数のCPU(1741)、GPU(1742)、大容量ストレージ(1747)、ROM(1745)、RAM(1746)などと密接に関連付けることができるキャッシュメモリの使用によって可能にすることができる。
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードを有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであってもよく、またはコンピュータソフトウェア技術の当業者に周知で利用可能な種類のものであってもよい。
限定ではなく、例として、アーキテクチャ(1700)、具体的にはコア(1740)を有するコンピュータシステムは、(CPU、GPU、FPGA、アクセラレータなどを含む)1つまたは複数の有形のコンピュータ可読媒体で具現化されたソフトウェアを実行するプロセッサの結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上述のようなユーザアクセス可能な大容量ストレージ、ならびにコア内部大容量ストレージ(1747)またはROM(1745)などの非一時的な性質のコア(1740)の特定のストレージに関連付けられた媒体とすることができる。本開示の様々な実施形態を実施するソフトウェアは、そのようなデバイスに格納され、コア(1740)によって実行することができる。コンピュータ可読媒体は、特定の必要性に応じて、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア(1740)、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(1746)に記憶されたデータ構造を定義すること、およびソフトウェアによって定義された処理に従ってそのようなデータ構造を修正することを含む、本明細書に記載の特定の処理または特定の処理の特定の部分を実行させることができる。加えて、または代替として、コンピュータシステムは、ハードワイヤードまたは他の方法で回路(例えば、アクセラレータ(1744))に具現化された論理の結果として機能を提供することができ、ソフトウェアの代わりに、またはソフトウェアと共に動作して、本明細書に記載の特定の処理または特定の処理の特定の部分を実行することができる。ソフトウェアへの参照は、適切な場合には、論理を包含することができ、逆もまた同様である。コンピュータ可読媒体への言及は、必要に応じて、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具現化する回路、またはその両方を包含することができる。本開示は、ハードウェアとソフトウェアとの任意の適切な組み合わせを包含する。
付記A:頭字語
ASIC:特定用途向け集積回路
BMS:ベンチマークセット
CANBus:コントローラエリアネットワークバス
CD:コンパクトディスク
CPU:中央処理装置
CRT:陰極線管
CTBs:コード化ツリーブロック
CTU:コード化ツリーユニット
CU:コード化ユニット
DVD:デジタルビデオディスク
FPGA:フィールドプログラマブルゲートエリア
GOP:画像のグループ
GPU:グラフィックス処理装置
GSM:モバイル通信用グローバルシステム
HEVC:高効率ビデオコード化
HRD:仮想参照デコーダ
IC:集積回路
JEM:共同探査モデル
LAN:ローカルエリアネットワーク
LCD:液晶ディスプレイ
LTE:ロングタームエボリューション
MV:動きベクトル
OLED:有機発光ダイオード
PB:予測ブロック
PCI:周辺構成要素相互接続
PLD:プログラマブルロジックデバイス
PU:予測ユニット
RAM:ランダムアクセスメモリ
ROM:読み出し専用メモリ
SEI:補足エンハンスメント情報
SNR:信号ノイズ比
SSD:ソリッドステートドライブ
TU:変換ユニット
USB:ユニバーサルシリアルバス
VUI:ビデオユーザビリティ情報
VVC:多用途ビデオコード化
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内に入る変更、置換、および様々な代替の等価物がある。したがって、当業者は、本明細書に明示的に示されていないまたは記載されていないが、本開示の原理を具体化し、したがってその精神および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。

Claims (20)

  1. ビデオデコーダにおいてビデオをデコードする方法であって、
    複数のコード化ブロックを含むマージ共有領域を受信するステップと、
    前記マージ共有領域用の共有マージ候補リストを構築するステップと、
    前記共有マージ候補リストに基づいて前記マージ共有領域をデコードするステップと、
    を含み、
    前記マージ共有領域内の少なくとも1つのインターコード化されたコード化ブロックは、前記少なくとも1つのインターコード化されたコード化ブロックの動き情報を用いて、履歴ベース動きベクトル予測(HMVP)テーブルを更新することなく処理される、
    方法。
  2. 前記マージ共有領域内の全てのインターコード化されたブロックが、前記インターコード化されたブロックのいずれかの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項1に記載の方法。
  3. マージモードまたはスキップモードでインターコード化された前記マージ共有領域内の前記コード化ブロックが、前記コード化ブロックの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項1に記載の方法。
  4. (i)前記コード化ブロックの動き情報として前記共有マージ候補リスト上のマージ候補を使用して、または(ii)前記共有マージ候補リスト上のマージ候補に基づいて決定された動き情報を使用してインターコード化された前記マージ共有領域内の前記コード化ブロックが、前記コード化ブロックの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項1に記載の方法。
  5. 前記共有マージ候補リストに基づいてコード化された前記マージ共有領域内の前記コード化ブロックが、前記コード化ブロックの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項1に記載の方法。
  6. 前記コード化ブロックの動き情報として前記共有マージ候補リスト上のマージ候補を使用してインターコード化された前記マージ共有領域内の前記コード化ブロックが、前記コード化ブロックの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項1に記載の方法。
  7. デコード順序による前記マージ共有領域内の前記第1のインターコード化されたコード化ブロックの動き情報が、前記HMVPテーブルを更新するために使用され、前記マージ共有領域内の前記他のインターコード化されたコード化ブロックが、前記他のインターコード化されたコード化ブロックの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項1に記載の方法。
  8. デコード順序による前記マージ共有領域内の最後のインターコード化されたコード化ブロックの動き情報が、前記HMVPバッファを更新するために使用され、前記マージ共有領域内の前記他のインターコード化されたコード化ブロックが、前記他のインターコード化されたコード化ブロックの動き情報を用いて、前記HMVPバッファを更新することなく処理される、請求項1に記載の方法。
  9. ビデオデコードの装置であって、
    複数のコード化ブロックを含むマージ共有領域を受信し、
    前記マージ共有用の共有マージ候補リストを構築し、
    前記共有マージ候補リストに基づいて前記マージ共有領域をデコードするように構成された回路機構を備え、
    前記マージ共有領域内の少なくとも1つのインターコード化されたコード化ブロックは、
    前記少なくとも1つのインターコード化されたコード化ブロックの動き情報を用いて、履歴ベース動きベクトル予測(HMVP)テーブルを更新することなく処理される、装置。
  10. 前記マージ共有領域内の全てのインターコード化されたブロックが、前記インターコード化されたブロックのいずれかの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項9に記載の装置。
  11. マージモードまたはスキップモードでインターコード化された前記マージ共有領域内の前記コード化ブロックが、前記コード化ブロックの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項9に記載の装置。
  12. (i)前記コード化ブロックの動き情報として前記共有マージ候補リスト上のマージ候補を使用して、または(ii)前記共有マージ候補リスト上のマージ候補に基づいて決定された動き情報を使用してインターコード化された前記マージ共有領域内の前記コード化ブロックが、前記コード化ブロックの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項9に記載の装置。
  13. 前記共有マージ候補リストに基づいてコード化された前記マージ共有領域内の前記コード化ブロックが、前記コード化ブロックの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項9に記載の装置。
  14. 前記コード化ブロックの動き情報として前記共有マージ候補リスト上のマージ候補を使用してインターコード化された前記マージ共有領域内の前記コード化ブロックが、前記コード化ブロックの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項9に記載の装置。
  15. デコード順序による前記マージ共有領域内の前記第1のインターコード化されたコード化ブロックの動き情報が、前記HMVPテーブルを更新するために使用され、前記マージ共有領域内の前記他のインターコード化されたコード化ブロックが、前記他のインターコード化されたコード化ブロックの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項9に記載の装置。
  16. デコード順序による前記マージ共有領域内の最後のインターコード化されたコード化ブロックの動き情報が、前記HMVPバッファを更新するために使用され、前記マージ共有領域内の前記他のインターコード化されたコード化ブロックが、前記他のインターコード化されたコード化ブロックの動き情報を用いて、前記HMVPバッファを更新することなく処理される、請求項9に記載の装置。
  17. ビデオデコードの方法を実行するプロセッサによって実行可能な命令を格納する非一時的コンピュータ可読媒体であって、前記方法は、
    複数のコード化ブロックを含むマージ共有領域を受信するステップと、
    前記マージ共有用の共有マージ候補リストを構築するステップと、
    前記共有マージ候補リストに基づいて前記マージ共有領域をデコードするステップと、
    を含み、
    前記マージ共有領域内の少なくとも1つのインターコード化されたコード化ブロックは、前記少なくとも1つのインターコード化されたコード化ブロックの動き情報を用いて、履歴ベース動きベクトル予測(HMVP)テーブルを更新することなく処理される、
    非一時的コンピュータ可読媒体。
  18. マージモードまたはスキップモードでインターコード化された前記マージ共有領域内の前記コード化ブロックが、前記コード化ブロックの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項17に記載の非一時的コンピュータ可読媒体。
  19. 前記コード化ブロックの動き情報として前記共有マージ候補リスト上のマージ候補を使用してインターコード化された前記マージ共有領域内の前記コード化ブロックが、前記コード化ブロックの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項17に記載の非一時的コンピュータ可読媒体。
  20. デコード順序による前記マージ共有領域内の前記第1のまたは最後のインターコード化されたコード化ブロックの動き情報が、前記HMVPテーブルを更新するために使用され、前記マージ共有領域内の前記他のインターコード化されたコード化ブロックが、前記他のインターコード化されたコード化ブロックの動き情報を用いて、前記HMVPテーブルを更新することなく処理される、請求項17に記載の非一時的コンピュータ可読媒体。
JP2021536191A 2019-01-17 2020-01-17 ビデオデコードおよびエンコード方法、プログラム、および装置 Active JP7171925B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962793872P 2019-01-17 2019-01-17
US62/793,872 2019-01-17
US16/744,938 US11032560B2 (en) 2019-01-17 2020-01-16 Method and apparatus for video coding without updating the HMVP table
US16/744,938 2020-01-16
PCT/US2020/014037 WO2020150577A1 (en) 2019-01-17 2020-01-17 Method and apparatus for video coding

Publications (2)

Publication Number Publication Date
JP2022514923A true JP2022514923A (ja) 2022-02-16
JP7171925B2 JP7171925B2 (ja) 2022-11-15

Family

ID=71609288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021536191A Active JP7171925B2 (ja) 2019-01-17 2020-01-17 ビデオデコードおよびエンコード方法、プログラム、および装置

Country Status (6)

Country Link
US (4) US11032560B2 (ja)
EP (1) EP3912346A4 (ja)
JP (1) JP7171925B2 (ja)
KR (2) KR102634869B1 (ja)
CN (2) CN113287308B (ja)
WO (1) WO2020150577A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US11356657B2 (en) * 2018-01-26 2022-06-07 Hfi Innovation Inc. Method and apparatus of affine inter prediction for video coding system
WO2020133518A1 (zh) * 2018-12-29 2020-07-02 深圳市大疆创新科技有限公司 视频处理方法和设备
US11611742B2 (en) * 2019-01-28 2023-03-21 Apple Inc. Image signal encoding/decoding method and device therefor
CN113424535A (zh) * 2019-02-13 2021-09-21 北京字节跳动网络技术有限公司 基于运动矢量预测表的历史更新
US11166015B2 (en) * 2019-03-06 2021-11-02 Tencent America LLC Method and apparatus for video coding
RU2767973C1 (ru) * 2019-03-08 2022-03-22 ДжейВиСиКЕНВУД Корпорейшн Устройство для кодирования видео, способ кодирования видео, устройство для декодирования видео и способ декодирования видео
CN113491117A (zh) * 2019-03-08 2021-10-08 北京达佳互联信息技术有限公司 用于处理不同图片尺寸的视频编解码
CN113994699B (zh) * 2019-06-06 2024-01-12 北京字节跳动网络技术有限公司 视频编解码的运动候选列表构建
CN113940082A (zh) 2019-06-06 2022-01-14 北京字节跳动网络技术有限公司 基于子块的帧内块复制和不同编解码工具之间的交互
WO2020259426A1 (en) * 2019-06-22 2020-12-30 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction for intra block copy mode
WO2023246412A1 (en) * 2022-06-23 2023-12-28 Mediatek Inc. Methods and apparatus for video coding using multiple history-based motion vector prediction tables
WO2024017188A1 (en) * 2022-07-22 2024-01-25 Mediatek Inc. Method and apparatus for blending prediction in video coding system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020003266A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Resetting of look up table per slice/tile/lcu row
JP2020088451A (ja) * 2018-11-16 2020-06-04 シャープ株式会社 動画像復号装置および動画像符号化装置
WO2020192611A1 (en) * 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112013032333B1 (pt) * 2011-06-16 2022-07-26 Ge Video Compression, Llc Comutação de modo auxiliar para codificação por entropia
CN107707912B (zh) * 2011-12-28 2020-05-22 Jvc 建伍株式会社 动图像编码装置以及动图像编码方法
TWI658724B (zh) * 2011-12-28 2019-05-01 日商Jvc建伍股份有限公司 動態影像解碼裝置、動態影像解碼方法及動態影像解碼程式
JP6763664B2 (ja) * 2012-10-01 2020-09-30 ジーイー ビデオ コンプレッション エルエルシー エンハンスメント層作動パラメータのためのベース層ヒントを使用するスケーラブルビデオ符号化
US10560718B2 (en) * 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US20180295375A1 (en) * 2017-04-05 2018-10-11 Lyrical Labs Video Compression Technology, LLC Video processing and encoding
WO2018210315A1 (en) * 2017-05-18 2018-11-22 Mediatek Inc. Method and apparatus of motion vector constraint for video coding
CN110771169A (zh) * 2017-06-09 2020-02-07 韩国电子通信研究院 视频编码/解码方法和装置以及存储比特流的记录介质
US10491902B1 (en) * 2018-07-16 2019-11-26 Tencent America LLC Method and apparatus for history-based motion vector prediction
EP3857888A4 (en) * 2018-10-06 2022-08-03 HFI Innovation Inc. METHOD AND APPARATUS FOR AN AREA OF A SHARED MERGER CANDIDATE LIST FOR ENABLING VIDEO CODING
US11025935B2 (en) * 2019-01-10 2021-06-01 Tencent America LLC Method and apparatus for history based motion information buffer update with parallel processing capability

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020003266A1 (en) * 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Resetting of look up table per slice/tile/lcu row
JP2020088451A (ja) * 2018-11-16 2020-06-04 シャープ株式会社 動画像復号装置および動画像符号化装置
WO2020192611A1 (en) * 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
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, vol. JVET-M0170-v1, JPN6022023857, 2 January 2019 (2019-01-02), pages 1 - 13, ISSN: 0004797319 *
LI ZHANG, ET AL.: "CE4-related: Restrictions on History-based Motion Vector Prediction", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-M0272, JPN6022023858, 3 January 2019 (2019-01-03), pages 1 - 3, ISSN: 0004797320 *
LI ZHANG, ET AL.: "Non-CE4: shared merge list without double HMVP tables", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-N0267, JPN6022023860, March 2019 (2019-03-01), pages 1 - 3, ISSN: 0004797321 *
SUHONG WANG, ET AL.: "CE4-related: Simplification for share merge list and HMVP harmonization process", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-N0486_v4, JPN6022023862, March 2019 (2019-03-01), pages 1 - 7, ISSN: 0004797323 *
XIAOZHONG XU, XIANG LI, GUICHUN LI, AND SHAN LIU: "CE4-related: modification of HMVP update process inside the shared merging candidate list region", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-N0385-v1, JPN6022023861, March 2019 (2019-03-01), pages 1 - 6, ISSN: 0004797322 *

Also Published As

Publication number Publication date
US11032560B2 (en) 2021-06-08
KR20210089749A (ko) 2021-07-16
EP3912346A4 (en) 2022-11-02
KR102634869B1 (ko) 2024-02-08
JP7171925B2 (ja) 2022-11-15
US20220303562A1 (en) 2022-09-22
US20210258595A1 (en) 2021-08-19
US11381832B2 (en) 2022-07-05
US11750828B2 (en) 2023-09-05
US11956456B2 (en) 2024-04-09
EP3912346A1 (en) 2021-11-24
US20200236376A1 (en) 2020-07-23
CN115002483A (zh) 2022-09-02
WO2020150577A1 (en) 2020-07-23
KR20240019405A (ko) 2024-02-14
US20230345027A1 (en) 2023-10-26
CN113287308B (zh) 2022-03-25
CN113287308A (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
JP7098746B2 (ja) 並行処理による履歴ベースの動きベクトル予測のための方法並びのその装置とコンピュータプログラム
JP7171925B2 (ja) ビデオデコードおよびエンコード方法、プログラム、および装置
JP7534025B2 (ja) ビデオコーディングのための方法及び機器
JP7358487B2 (ja) イントラ画像ブロック補償のためのデコードされたブロックベクトルの変換
JP7413401B2 (ja) ビデオコーディングのための方法及び装置
JP2022523795A (ja) ビデオ・コーディングのための方法及び装置
KR102707349B1 (ko) 비디오 디코딩을 위한 방법 및 장치
CN113366854B (zh) 视频编解码方法及装置
CN113678434A (zh) 视频编解码的方法和装置
JP7337166B2 (ja) アフィン履歴ベース動きベクトル予測子バッファにアクセスする方法及び装置並びにコンピュータプログラム
JP2022508074A (ja) スキップ及びマージモードのためのマルチ仮説のシグナリング及び動きベクトル差分によるマージの距離オフセットテーブルのシグナリングのための方法及び装置
KR102592192B1 (ko) 예측자 후보 리스트 크기를 시그널링하는 방법 및 장치
JP2022522398A (ja) ビデオ復号化の方法並びにその、装置及びコンピュータプログラム
JP7130882B2 (ja) 映像コーディングのための方法、装置、及びコンピュータプログラム
JP2022524107A (ja) イントラピクチャブロック補償のための予測候補リストサイズシグナリングのための方法および装置
JP2022511835A (ja) デコーダが実行するビデオデコーディングのための方法、装置及びプログラム、並びにエンコーダが実行するビデオコーディングのための方法
JP7233539B2 (ja) ビデオ・コーディングのための方法、装置及びコンピュータ・プログラム
KR20230129574A (ko) 비디오 코딩을 위한 방법 및 장치
JP7419506B2 (ja) 映像コーディングのための方法及び装置
JP2021518093A (ja) サブブロックの動きベクトル予測の方法、並びにその装置及びコンピュータプログラム
JP2023158110A (ja) ビデオ復号方法、ビデオ復号装置、コンピュータプログラム、およびビデオ符号化方法
JP2022521157A (ja) 映像復号のための方法、装置、及びコンピュータプログラム
JP2023548573A (ja) Mmvdシグナリングの改善
JP7342275B2 (ja) ビデオコーディングのための方法、装置およびコンピュータプログラム
JP2022523616A (ja) ビデオ復号の方法、装置、及びコンピュータプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210621

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220912

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221102

R150 Certificate of patent or registration of utility model

Ref document number: 7171925

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150