JP2022515126A6 - ビデオ・コーディングのための方法、装置及びコンピュータ・プログラム - Google Patents

ビデオ・コーディングのための方法、装置及びコンピュータ・プログラム Download PDF

Info

Publication number
JP2022515126A6
JP2022515126A6 JP2021535218A JP2021535218A JP2022515126A6 JP 2022515126 A6 JP2022515126 A6 JP 2022515126A6 JP 2021535218 A JP2021535218 A JP 2021535218A JP 2021535218 A JP2021535218 A JP 2021535218A JP 2022515126 A6 JP2022515126 A6 JP 2022515126A6
Authority
JP
Japan
Prior art keywords
flag
inferable
prediction mode
mode
modes
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
JP2021535218A
Other languages
English (en)
Other versions
JP7257516B2 (ja
JP2022515126A (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
Priority claimed from US16/865,052 external-priority patent/US11109041B2/en
Application filed by テンセント・アメリカ・エルエルシー filed Critical テンセント・アメリカ・エルエルシー
Publication of JP2022515126A6 publication Critical patent/JP2022515126A6/ja
Publication of JP2022515126A publication Critical patent/JP2022515126A/ja
Application granted granted Critical
Publication of JP7257516B2 publication Critical patent/JP7257516B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

Figure 2022515126000001
本開示の態様はビデオ符号化/復号化のための方法及び装置を提供する。ビデオ復号化のための装置は処理回路を含む。処理回路は、現在のブロックに対する特定の予測モードのフラグに対する推測可能コンディションを、コーディングされたビデオ・ビットストリームから現在のブロックに対する特定の予測モードのフラグを解析する前にチェックする。特定の予測モードは複数のインター・ピクチャ予測モードのうちの1つである。フラグは推測可能であることを推測可能コンディションが示す場合に、処理回路は、コーディングされたビデオ・ビットストリームからフラグを解析することなく、フラグを推測する。推測可能コンディションが、フラグを推測することに対して不確定性を示す場合に、処理回路は、コーディングされたビデオ・ビットストリームからフラグを解析する。フラグが現在のブロックに対する特定の予測モードの適用を示す場合に、処理回路は、特定の予測モードに従って現在のブロックを再構成する。

Description

参照による援用
本出願は、2020年5月1日付で出願された米国特許出願第16/865,052号「ビデオ・コーディングのための方法及び装置」に対する優先権の利益を主張しており、その出願は2019年5月16日付で出願された米国仮出願第62/849,105号「マージ・モード・シグナリング」に対する優先権の利益を主張している。先行する出願の開示全体は参照により全体的に本願に組み込まれる。
技術分野
本開示は一般にビデオ・コーディングに関連する実施形態を説明している。
背景
本願で行われる背景の説明は、本開示の状況を一般的に提示するためのものである。現在の発明者の名の下になされる仕事は、その仕事がこの背景のセクションだけでなく、別の方法で出願時における先行技術としての適格性を付与されない記述の態様で説明される範囲において、本開示に対する先行技術として、明示的にも暗示的にも認められていない。
ビデオ・コーディング及びデコーディングは、動き補償を伴うインター・ピクチャ予測を用いて実行されることが可能である。非圧縮化されたデジタル・ビデオは一連のピクチャを含むことが可能であり、各ピクチャは、例えば1920×1080のルミナンス・サンプル及び関連するクロミナンス・サンプルの空間次元を有する。一連のピクチャは、例えば60ピクチャ/秒、即ち60Hzの固定された又は可変のピクチャ・レート(非公式に、フレーム・レートとして知られている)を有することが可能である。非圧縮化されたビデオは、かなりのビットレート要件を有する。例えば、サンプル当たり8ビットの1080p60 4:2:0ビデオ(60Hzのフレーム・レートで1920x1080のルミナンス・サンプル解像度)は、1.5Gbit/sに近い帯域幅を必要とする。このようなビデオの1時間は、600Gバイトを超える記憶スペースを必要とする。
ビデオ・コーディング及びデコーディングの目的の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予測メカニズムは、H.265/HEVC(ITU-T Rec.H.265,“High Efficiency Video Coding”,December 2016)に記載されている。H.265が提供する多くのMV予測メカニズムのうち、本願で説明されるものは、今後「空間マージ」と呼ばれる技術である。
図1を参照すると、現在のブロック(101)は、空間的にシフトされた同じサイズの以前のブロックから予測可能であるように動き探索プロセス中にエンコーダによって発見されているサンプルを含む。そのMVを直接的にコーディングする代わりに、MVは、1つ以上の参照ピクチャに関連付けられたメタデータから、例えばA0、A1、及びB0、B1、B2と示される5つの隣接するブロック(それぞれ102から106)の何れかに関連付けられたMVを使用して、(復号化の順序で)最新の参照ピクチャから、導出されることが可能である。H.265では、MV予測は、隣接ブロックが使用しているのと同じ参照ピクチャからの予測子を使用することができる。
本開示の態様はビデオ符号化/復号化のための方法及び装置を提供する。幾つかの例において、ビデオ復号化のための装置は受信回路及び処理回路を含む。処理回路は、現在のブロックに対する特定の予測モードのフラグに対する推測可能コンディションを、コーディングされたビデオ・ビットストリームから現在のブロックに対する特定の予測モードのフラグを解析する前にチェックする。特定の予測モードは複数のインター・ピクチャ予測モードのうちの1つである。
フラグは推測可能であることを推測可能コンディションが示す場合に、処理回路は、コーディングされたビデオ・ビットストリームからフラグを解析することなく、フラグを推測する。推測可能コンディションが、フラグを推測することに対して不確定性を示す場合に、処理回路は、コーディングされたビデオ・ビットストリームからフラグを解析する。そして、フラグが現在のブロックに対する特定の予測モードの適用を示す場合に、処理回路は、特定の予測モードに従って現在のブロックを再構成する。
幾つかの実施形態において、処理回路は、複数のインター・ピクチャ予測モードのうちの1つ以上の他のモードの許容可能性に基づいて、フラグに対する推測可能コンディションをチェックする。実施形態において、他のモードの許容可能性は、現在のブロックのサイズ情報に基づいて決定される。
幾つかの実施形態において、フラグは、レギュラー・マージ/スキップ・モードのレギュラー・フラグ、MMVDモードのMMVDフラグ、サブブロック・ベースのマージ/スキップ・モードのサブブロック・フラグ、CIIPモードの結合イントラ・インター予測(CIIP)フラグ、三角予測モードの三角フラグのうちの1つである。
一実施形態において、特定の予測モードは、予測モード決定のためのツリー構造において1つ以上のモードの前にある。
幾つかの例において、推測可能コンディションは、特定の予測モードの許容可能性と、予測モード決定のためのツリー構造において特定の予測モードの後にある他のモードの許容可能性との組み合わせである。一例において、特定の予測モードは許容されていないことを、特定の予測モードの許容可能性が示している場合に、フラグは推測可能であることを、推測可能コンディションは示している。別の例において、他の予測モードは許容されていないことを、他のモードの許容可能性が示している場合に、フラグは推測可能であることを、推測可能コンディションは示している。
幾つかの実施形態において、他のモードの許容可能性は、シーケンス・パラメータ・セット(SPS)、ピクチャ・パラメータ・セット(PPS)、スライス・ヘッダ、タイル情報、及びタイル・グループ情報のうちの少なくとも1つに基づいて決定される。
本開示の態様は、命令を記憶する非一時的なコンピュータ読み取り可能な媒体も提供し、命令は、ビデオ復号化のためにコンピュータによって実行されると、ビデオ復号化方法をコンピュータに実行させる。
開示される対象事項の更なる特徴、性質、及び種々の利点は、以下の詳細な説明及び添付図面から更に明らかになるであろう。
一例における現在のブロック及びその周囲の空間的なマージ候補の概略図である。
一実施形態による通信システム(200)の簡略化されたブロック図の概略図である。
一実施形態による通信システム(300)の簡略化されたブロック図の概略図である。
一実施形態によるデコーダの簡略化されたブロック図の概略図である。
一実施形態によるエンコーダの簡略化されたブロック図の概略図である。
別の実施形態によるエンコーダのブロック図を示す。
他の実施形態によるデコーダのブロック図を示す。
マージ・モード・フラグをシグナリング(又は解析)するエンコーダ(又はデコーダ)のアルゴリズムのフローチャートを示す。
本開示の幾つかの実施形態によるプロセス例を概説するフローチャートを示す。
実施形態によるコンピュータ・システムの概略図である。
図2は、本開示の一実施形態による通信システム(200)の簡略化されたブロック図を示す。通信システム(200)は、例えばネットワーク(250)を介して互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(200)は、ネットワーク(250)を介して相互接続された第1ペアの端末デバイス(210)及び(220)を含む。図2の例では、第1ペアの端末デバイス(210)及び(220)は、データの一方向送信を行う。例えば、端末デバイス(210)は、ネットワーク(250)を介する他の端末デバイス(220)への伝送のために、ビデオ・データ(例えば、端末デバイス(210)によって捕捉されたビデオ・ピクチャのストリーム)をコーディングすることができる。符号化されたビデオ・データは、1つ以上のコーディングされたビデオ・ビットストリームの形態で送信することができる。端末デバイス(220)は、コーディングされたビデオ・データをネットワーク(250)から受信し、コーディングされたビデオ・データを復号化して、ビデオ・ピクチャを復元し、復元されたビデオ・データに従ってビデオ・ピクチャを表示することができる。一方向性データ伝送は、媒体サービング・アプリケーション等において一般的なものであってもよい。
別の例では、通信システム(200)は、例えば、ビデオ・カンファレンス中に発生する可能性があるコーディングされたビデオ・データの双方向伝送を行う第2ペアの端末デバイス(230)及び(240)を含む。データの双方向伝送に関し、例えば、端末デバイス(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、メモリ・スティック等を含む)への記憶などを含む、他のビデオの利用が可能なアプリケーションにも等しく適用することが可能である。
ストリーミング・システムは、ビデオ・ソース(301)、例えばデジタル・カメラを含むことが可能であり、例えば非圧縮のビデオ・ピクチャ(302)のストリームを生成することが可能なキャプチャ・サブシステム(313)を含んでもよい。一例では、ビデオ・ピクチャのストリーム(302)は、デジタル・カメラによって撮影されるサンプルを含む。符号化されたビデオ・データ(304)(又はコーディングされたビデオ・ビットストリーム)と比較して、より多くのデータ量を強調するために太い線として描かれているビデオ・ピクチャのストリーム(302)は、ビデオ・ソース(301)に結合されたビデオ・エンコーダ(303)を含む電子デバイス(320)によって処理されることが可能である。ビデオ・エンコーダ(303)は、ハードウェア、ソフトウェア、又はそれらの組み合わせを含み、以下で詳細に説明されるような開示される対象事項の態様を動作可能にする又は実現することが可能である。ビデオ・ピクチャ(302)のストリームと比較して、より少ないデータ量を強調するために細い線として描かれている符号化されたビデオ・データ(304)(又は符号化されたビデオ・ビットストリーム(304))は、将来の使用のためにストリーミング・サーバー(305)に記憶されることが可能である。図3のクライアント・サブシステム(306)及び(308)のような1つ以上のストリーミング・クライアント・サブシステムは、ストリーミング・サーバー(305)にアクセスして、符号化されたビデオ・データ(304)のコピー(307)及び(309)を取り出すことができる。クライアント・サブシステム(306)は、例えば電子デバイス(330)内にビデオ・デコーダ(310)を含むことができる。ビデオ・デコーダ(310)は、符号化されたビデオ・データの到来するコピー(307)を復号化し、ディスプレイ(312)(例えばディスプレイ・スクリーン)又は他のレンダリング・デバイス(不図示)でレンダリングすることができるビデオ・ピクチャの出力ストリーム(311)を生成する。幾つかのストリーミング・システムでは、符号化されたビデオ・データ(304)、(307)、及び(309)(例えば、ビデオ・ビットストリーム)は、特定のビデオ・コーディング/圧縮規格に従って符号化することができる。これらの規格の例は、ITU-T勧告H.265を含む。一例において、開発中のビデオ・コーディング規格は、多用途ビデオ・コーディング(VVC)として非公式に知られている。開示される対象事項はVVCの状況で使用されてもよい。
電子デバイス(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)内のアドレスは、例えばX、Y、及び参照ピクチャ成分を有することが可能であるシンボル(421)の形態で、動き補償予測ユニット(453)にとって利用可能な動きベクトルによって制御されることが可能である。また、動き補償は、サブ・サンプルの正確な動きベクトルが使用される場合に、参照ピクチャ・メモリ(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)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、...)、任意の色空間(例えば、BT.601 YCrCB、RGB、...)、及び任意の適切なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)であるとすることが可能なデジタル・ビデオ・サンプル・ストリームの形態で、ビデオ・エンコーダ(503)によってコーディングされるソース・ビデオ・シーケンスを提供することが可能である。メディア・サービング・システムにおいて、ビデオ・ソース(501)は、事前に準備されたビデオを記憶するストレージ・デバイスであってもよい。ビデオ・カンファレンス・システムでは、ビデオ・ソース(501)は、ローカルな画像情報をビデオ・シーケンスとして捕捉するカメラであってもよい。ビデオ・データは、シーケンスで見た場合に動きを伝える複数の個々のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間アレイとして組織されることが可能であり、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことが可能である。当業者は、ピクセルとサンプルとの間の関係を容易に理解することが可能である。以下の説明は、サンプルに焦点を当てている。
一実施形態によれば、ビデオ・エンコーダ(503)は、リアルタイムに、又はアプリケーションによって要求される他の任意の時間制約の下で、ソース・ビデオ・シーケンスのピクチャを、コーディングされたビデオ・シーケンス(543)にコーディングして圧縮することが可能である。適切なコーディング速度を強制することは、コントローラ(550)の1つの機能である。幾つかの実施形態において、コントローラ(550)は、以下で説明されるように他の機能ユニットを制御し、他の機能ユニットに機能的に結合される。その結合は明確性のために描かれていない。コントローラ(550)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャ・スキップ、量子化器、レート歪最適化技術のラムダ値、...)、ピクチャ・サイズ、グループ・オブ・ピクチャ(GOP)レイアウト、最大動きベクトル探索範囲などを含むことが可能である。コントローラ(550)は、特定のシステム設計のために最適化されたビデオ・エンコーダ(503)に関連する他の適切な機能を有するように構成することが可能である。
一部の実施形態では、ビデオ・エンコーダ(503)は、コーディング・ループで動作するように構成される。極端に単純化された説明として、一例において、コーディング・ループは、ソース・コーダ(530)(例えば、コーディングされるべき入力ピクチャ及び参照ピクチャに基づいて、シンボル・ストリームのようなシンボルを生成する責任がある)と、ビデオ・エンコーダ(503)に組み込まれた(ローカル)デコーダ(533)とを含むことが可能である。デコーダ(533)は、(リモート)デコーダが生成するのと同様な方法で、サンプル・データを生成するためにシンボルを再構成する(シンボルとコーディングされたビデオ・ビットストリームとの間の任意の圧縮は、開示される対象事項で考慮されるビデオ圧縮技術ではロスレスであるからである)。再構成されたサンプル・ストリーム(サンプル・データ)は、参照ピクチャ・メモリ(534)に入力される。シンボル・ストリームの復号化は、デコーダの位置(ローカル又はリモート)に依存しないビット・イグザクト(bit-exact)な結果をもたらすので、参照ピクチャ・メモリ(534)中の内容もまた、ローカル・エンコーダとリモート・エンコーダとの間でビット・イグザクトである。言い換えると、エンコーダの予測部は、デコーダが復号化中に予測を使用する場合に「見る(see)」ものと厳密に同じサンプル値を、参照ピクチャ・サンプルとして「見る」。参照ピクチャ同期のこの基本原理(及び、例えばチャネル・エラーに起因して同期性が維持できない場合には、結果としてドリフトが生じる)は、幾つかの関連技術においても同様に使用される。
「ローカル」デコーダ(533)の動作は、図4に関連して上記で詳細に既に説明されているビデオ・デコーダ(410)のような「リモート」デコーダのものと同じであるとすることが可能である。しかしながら、図4も簡単に参照すると、シンボルが利用可能であり、且つエントロピー・コーダー(545)及びパーサー(420)によるシンボルのコーディングされたビデオ・シーケンスへの符号化/復号化はロスレスであるとすることが可能であるので、バッファ・メモリ(415)及びパーサー(420)を含むビデオ・デコーダ(410)のエントロピー復号化部は、ローカル・デコーダ(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)を介する送信の準備を行うことが可能であり、通信チャネル(560)は、符号化されたビデオ・データを記憶する記憶デバイスへのハードウェア/ソフトウェア・リンクであってもよい。送信機(540)は、ビデオ・コーダ(503)からのコーディングされたビデオ・データを、例えばコーディングされたオーディオ・データ及び/又は補助的なデータ・ストリーム(ソースは不図示)のような送信されるべき他のデータとマージすることが可能である。
コントローラ(550)は、ビデオ・エンコーダ(503)の動作を管理することができる。コーディングの間に、コントローラ(550)は、コーディングされたピクチャの各々に、特定のコーディングされたピクチャ・タイプを割り当てることが可能であり、これは、各ピクチャに適用されることが可能なコーディング技術に影響を及ぼす可能性がある。例えば、ピクチャは、しばしば、次のピクチャ・タイプの1つとして割り当てられてもよい。
イントラ・ピクチャ(Iピクチャ)は、シーケンス内の如何なる他のピクチャも予測のソースとして使用せずに、符号化及び復号化されることが可能なものである。幾つかのビデオ・コーデックは、例えば、独立デコーダ・リフレッシュ(“IDR”)ピクチャを含む異なるタイプのイントラ・ピクチャを許容する。当業者は、Iピクチャのこれらの変形例、並びにそれら各自の用途及び特徴を認識している。
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、高々1つの動きベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いて符号化及び復号化されることが可能なものである。
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、高々2つの動きベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いて符号化及び復号化されることが可能なものである。同様に、複数の予測ピクチャは、1つのブロックの再構成のために、2つより多い参照ピクチャ及び関連するメタデータを使用することが可能である。
ソース・ピクチャは、通常、複数のサンプル・ブロック(例えば、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は、64×64ピクセル、32×32ピクセル、又は16×16ピクセルのような同じサイズを有する。一般に、CTUは、1つのルマCTBと2つのクロマCTBである3つのコーディング・ツリー・ブロック(CTB)を含む。各CTUは、1つ又は複数のコーディング・ユニット(CU)に再帰的に4分木分割されることが可能である。例えば、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)は、インター・エンコーダ(630)、イントラ・エンコーダ(622)、残差計算器(623)、スイッチ(626)、残差エンコーダ(624)、汎用コントローラ(621)、及びエントロピー・エンコーダ(625)を、図6に示されるように共に結合して含んでいる。
インター・エンコーダ(630)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、そのブロックを、参照ピクチャ内の1つ以上の参照ブロック(例えば、以前のピクチャのブロック及び以後のピクチャ内のブロック)と比較し、インター予測情報(例えば、符号化技術による冗長情報の記述、動きベクトル、マージ・モード情報)を生成し、任意の適切な技術を用いてインター予測情報に基づいて、インター予測結果(例えば、予測ブロック)を計算するように構成される。幾つかの例では、参照ピクチャは、符号化されたビデオ情報に基づいて復号化された復号化済み参照ピクチャである。
イントラ・エンコーダ(622)は、現在のブロック(例えば、処理ブロック)のサンプルを受信し、場合によってはブロックを、同じピクチャ内で既にコーディングされたブロックと比較し、変換後に量子化された係数を生成し、場合によってはイントラ予測情報(例えば、1つ以上のイントラ符号化技術に従ったイントラ予測方向情報)も生成するように構成される。一例では、イントラ・エンコーダ(622)はまた、同じピクチャ内のイントラ予測情報及び参照ブロックに基づいて、イントラ予測結果(例えば、予測ブロック)を計算する。
ジェネラル・コントローラ(621)は、一般的な制御データを決定し、一般的な制御データに基づいてビデオ・エンコーダ(603)の他のコンポーネントを制御するように構成される。一例では、ジェネラル・コントローラ(621)は、ブロックのモードを決定し、そのモードに基づいてスイッチ(626)に制御信号を提供する。例えば、モードがイントラ・モードである場合、ジェネラル・コントローラ(621)は、スイッチ(626)を制御して、残差計算器(623)による使用のためにイントラ・モード結果を選択し、且つエントロピー・エンコーダ(625)を制御して、イントラ予測情報を選択し、イントラ予測情報をビットストリームに含める;モードがインター・モードである場合、ジェネラル・コントローラ(621)は、スイッチ(626)を制御して、残差計算器(623)による使用のためにインター予測結果を選択し、且つエントロピー・エンコーダ(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)は、エントロピー・デコーダ(771)、インター・デコーダ(780)、残差デコーダ(773)、再構成モジュール(774)、及びイントラ・デコーダ(772)を、図7に示されるように共に結合して含んでいる。
エントロピー・デコーダ(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つ以上のプロセッサを使用して実現することが可能である。
本開示の態様は、マージ/スキップ・モード・シグナリングのための技術を提供する。種々のマージ/スキップ・モードは、様々なビデオ属性に対するビデオ・コーディングを改善するように、インター・ピクチャ・コーディングのために設計されている。スキップ・モードは、一般に、対応するマージ・モードと同じ方法で動作する。しかしながら、スキップ・モードでは、残差データが、予測されるブロックに加えられず、マージ・モードでは、残差データが、予測されるブロックに加えられる。シグナリング技術を説明するためにマージ・モードを使用するが、シグナリング技術は、スキップ・モード・シグナリングのために適切に使用されることが可能であることに留意されたい。
幾つかの例では、マージ・モードは、レギュラー・マージ・モード、マージ・ウィズ動きベクトル差分(MMVD)モード、サブブロック・ベースのマージ・モード、結合イントラ・インター(CIIP)モード、三角パーティション・モードなどを含む可能性がある。例えば、エンコーダ側では、エンコーダは、ブロックを符号化するために、複数のマージ・モードから特定のマージ・モードを選択し、デコーダ側では、デコーダは、特定のマージ・モードを使用してブロックのサンプルを再構成する。幾つかの関連する例では、特定のマージ・モードは、シグナリングによってエンコーダ側からデコーダ側へ通知され、種々のマージ・モードのシグナリングにおいて冗長性が存在する。本開示において提供される技術は、種々のマージ・モードのためのシグナリング冗長性を取り除き、コーディング効率を改善する。
幾つかの例では、様々なマージ/スキップ・モードをシグナリングするために、フラグが使用される。幾つかの実施態様では、マージ・モード決定を行うために、ツリー構造がエンコーダ及びデコーダによって使用される。ツリー構造に基づいて、フラグは予め定義された順序でチェックされ、ブロックを符号化/復号化するための適切なマージ・モードを決定する。表1は、マージ・モード・フラグを用いた5種類のマージ・モードに対するシグナリング方式例を示す。表1の例では、レギュラー・フラグ、MMVDフラグ、サブブロック・フラグ、及びCIIPフラグのような4つのマージ・モード・フラグが、様々なタイプのマージ・モードをシグナリングするために使用される。
表1:様々なタイプのマージ・モードをシグナリングするためのフラグ
Figure 2022515126000002
一例では、ブロックはマージ・モードを用いて符号化/復号化される。表1によれば、ブロックに対するレギュラー・フラグがtrue(例えば、バイナリ1)である場合、レギュラー・マージ・モードが、他のマージ・モード・フラグの値にかかわらず、ブロックを符号化/復号化するために使用される。ブロックに対するレギュラー・フラグがfalse(例えば、バイナリ0)であり、且つMMVDフラグがtrueである場合、MMVDモードが、ブロックを符号化/復号化するために使用される。レギュラー・フラグとMMVDフラグがfalseであり、且つサブブロック・フラグがtrueである場合、サブブロック・ベースのマージ・モードが、ブロックを符号化/復号化するために使用される。レギュラー・フラグ、MMVDフラグ、及びサブブロック・フラグがfalseであり、且つCIIPフラグがtrueである場合、CIIPモードが、ブロックを符号化/復号化するために使用される。レギュラー・フラグ、MMVDフラグ、サブブロック・フラグ、及びCIIPフラグがfalseである場合、三角パーティション・モードが、ブロックを符号化/復号化するために使用される。
表2は、4種類のスキップ・モードに対するシグナリング方式を示す。表2の例では、レギュラー・フラグ、MMVDフラグ、及びサブブロック・フラグのような3つのフラグが、様々なスキップ・モードをシグナリングするために使用される。幾つかの例において、マージ・モード、又はマージ・モードと同様に動作するスキップ・モード、をシグナリングするために、同じフラグを使用することが可能であることに留意されたい。
表2:様々なタイプのスキップ・モードをシグナリングするためのフラグ
Figure 2022515126000003
一例では、ブロックはスキップ・モードを用いて符号化/復号化される。表2によれば、ブロックに対するレギュラー・フラグがtrueである場合(例えば、バイナリ1)、レギュラー・スキップ・モードが、他のスキップ・モード・フラグの値にかかわらず、ブロックを符号化/復号化するために使用される。ブロックに対するレギュラー・フラグがfalse(例えば、バイナリ0)であり、且つMMVDフラグがtrueである場合、MMVDモード(スキップ)が、ブロックを符号化/復号化するために使用される。ブロックに対するレギュラー・フラグ及びMMVDフラグがfalseであり、且つサブブロック・フラグがtrueである場合、サブブロック・ベース・スキップ・モードが、ブロックを符号化/復号化するために使用される。レギュラー・フラグ、MMVDフラグ、及びサブブロック・フラグがfalseである場合、三角パーティション・モード(スキップ)が、ブロックを符号化/復号化するために使用される。
本開示における一部の説明は、例としてマージ・モードを使用しているが、説明は、マージ・モードに限定されず、スキップ・モードに対して適切に修正することが可能であることに留意されたい。
本開示の幾つかの態様によれば、マージ・モードの決定は、高レベル情報(ブロック・レベルより高い)及びブロックの情報に依存する。高レベル情報は、シーケンス・パラメータ・セット(SPS)、ピクチャ・パラメータ・セット(PPS)、スライス・ヘッダ、タイル・グループ情報、タイル情報などの情報を含む。ブロックの情報は、ブロックの幅、高さ、面積などのブロックのサイズ情報を含む。表3はマージ・モードに対するシンタックス・テーブルを示す。
表3:マージ・モードに対するシンタックス・テーブル
Figure 2022515126000004
表3の例では、ブロックで使用する適切なマージ・モードを決定するために(エンコーダ側でフラグをシグナリングするために、又はデコーダ側でフラグを解析するために)シンタックスでツリー構造が形成される(例えば、:左上コーナーが(x0,y0)であり、ブロック幅がcbWidthであり、ブロック高さがcbHeightである)。ツリー構造は、レギュラー・マージ・モード、MMVモード、サブブロック・ベースのマージ・モード、CIIPモード、及び三角パーティション・モードの順序、のような順序でマージ・モードをチェックする。モードについては、先ず、モードに対する許容可能コンディションがチェックされ、許容可能コンディションが充足される場合に、フラグが(エンコーダ側で)シグナリングされるか、又は(デコーダ側で)解析される。
表3の例では、ブロックの予測モード(例えば、CuPredMode[x0][y0])がイントラ・ブロック・コピー・モード(MODE_IBC)でない場合、ツリー構造は、適切なマージ・モードのコーディングされたビデオ・ビットストリームからの情報をシグナリング(又は解析)するために使用される。
具体的には、表3の例では、レギュラー・マージ・モードに対するレギュラー・フラグ(regular_merge _flag)がシグナリングされる。レギュラー・フラグがtrueである場合、マージ・インデックス(merge_index)がシグナリングされる。
一部の例(例:VVCドラフト5)では、スライス・ヘッダ内の変数MaxNumMergeCandが0より大きい場合に、レギュラー・マージ・モードが許可され、変数MaxNumMergeCandは、マージ候補の最大数をシグナリングするために使用される。
一例では、レギュラー・マージ・モードが許可されているかどうかを示すために、変数allowRegularMergeが使用される。例えば、変数allowRegularMergeは、(Eq.1)のように定めることが可能である。
allowRegularMerge = MaxNumMergeCand > 0 (Eq.1)
従って、例えば、MaxNumMergeCandが0より大きい場合、allowRegularMergeはtrueであり;そうでない場合、allowRegularMergeはfalseである。
更に、表3の例では、レギュラー・フラグがfalseである場合に、MMVDモードがチェックされる。MMVDモードは、SPSにおけるフラグsps_mmvd_enabled_flagによりイネーブルにされる。例えば、MMVDモードは、sps_mmvd_enabled_flagがtrueであり、且つブロック・サイズ条件が充足される場合に、シグナリングされる。一例では、cbWidthはコーディング・ブロックの幅を示し、cbHeightはコーディング・ブロックの高さを示す。次いで、sps_mmvd_enabled_flagがtrueであり、cbWidth×cbHeightが32に等しくない場合には、MMVDフラグ(mmvd_flag)がシグナリングされる。MMVDフラグがtrueである場合、MMVDモードのための他の適切な情報がシグナリングされる。
cbWidth×cbHeightが32に等しい場合、レギュラー・マージ・モード及びMMVDモードのみが許可される。cbWidth×cbHeightが32に等しい例において、レギュラー・フラグがfalseである場合、予測モードはMMVDモードであり、MMVDフラグはtrueであると推定することができる。この例では、MMVDフラグは、エンコーダ側からデコーダ側へシグナリングされることを要しない。この例は、MMVDモード・シグナリングの冗長性を取り除く。
一部の例では、MMVDモードが許可されるかどうかを示すために、変数allowMMVDが使用される。変数allowMMVDは、(Eq.2)のように定めることが可能である:
allowMMVD = sps_mmvd_enabled_flag (Eq.2)
表3の例では、MMVDフラグがfalseである場合に、サブブロック・ベースのマージ・モードがチェックされる。スライス・ヘッダでシグナリングされる情報に基づく変数MaxNumSubblockMergeCandが0より大きく、且つcbWidth及びcbHeightがそれぞれ8以上の場合に、サブブロック・ベースのマージ・モードが許容される。例えば、サブブロック・ベースのマージ・モードが許可される場合に、サブブロック・フラグ(merge_subblock_flag)がシグナリングされる。サブブロック・フラグがtrueである場合、サブブロック・ベースのマージ・モードに対する他の適切な情報をシグナリングすることが可能である。
一例では、サブブロック・ベースのマージ・モードが許可されるかどうかを示すために、変数allowSubMergeが使用される。変数allowSubMergeは、(Eq.3)のように定めることが可能である:
allowSubMerge = MaxNumSubblockMergeCand > 0 && cbWidth >=8 && cbHeight >=8 (Eq. 3)
更に、表3の例では、サブブロック・フラグがfalseである場合に、CIIPモードがチェックされる。sps_ciip_enabled_flagがtrueであり、現在のブロックがスキップ・モードではなく、cbWidth×cbHeightが64より小さくはなく、cbWidthが128より小さく、且つcbHeightが128より小さい場合に、CIIPモードが許可される。一例では、CIIPモードが許可される場合に、CIIPフラグがシグナリングされる。CIIPフラグがtrueである場合に、CIIPモードに対する他の適切な情報をシグナリングすることが可能である。
一例では、CIIPモードが許可されるかどうかを示すために、変数allowCIIPが使用される。変数allowCIIPは、(Eq.4)のように定めることが可能である:
allowCIIP = sps_ciip_enabled_flag &&! cu_skip_flag && cbWidth×cbHeight >=64 && cbWidth <128 && cbHeight <128 (Eq.4)
一部の例では、シグナリングの代わりに、三角マージ・モードを推測することが可能である。レギュラー・フラグ、MMVDフラグ、サブブロック・フラグ、CIIPフラグのすべてがfalseである場合に、三角マージ・モードがイネーブルにされてもよい。三角マージ・モードを許容にするには、sps_triangle_enabled_flagがtrueである必要があり、現在のスライスはBスライスでなければならず、スライス・ヘッダでシグナリングされる情報に基づくMaxNumTriangleMergeCandが2以上であり、且つcbWidth×cbHeightが64以上である。一例では、三角マージ・モードが許可されるかどうかを示すために、変数allowTriangleが使用される。変数allowTriangleは、(Eq.5)のように定めることが可能である:
allowTriangle = sps_triangle_enabled_flag && slice_type == B && MaxNumTriangleMergeCand >=2 && cbWidth×cbHeight >=64 (Eq.5)
関連する幾つかの例では、レギュラー・フラグは常にシグナリングされる。しかしながらこれは必須ではなく、なぜなら、あるコンディションの下では、エンコーダとデコーダはレギュラー・マージ・モードしか選択できないからである。
本開示の幾つかの態様によれば、エンコーダ側において、マージ・モードに対するマージ・モード・フラグをシグナリングする前に、特定のコンディションがチェックされて、マージ・モード・フラグを推測できるかどうかを決定する。コンディションが、マージ・モード・フラグを推測するための要件を満たす場合、エンコーダはマージ・モード・フラグをシグナリングすることを要しない。デコーダ側では、デコーダは、マージ・モード・フラグを推測できるかどうかを決定するために、コンディションをチェックすることができる。コンディションが、マージ・モード・フラグを推測するための要件を充足する場合、デコーダは、マージ・モード・フラグのために、コーディングされたビデオ・ビットストリームを解析せず、マージ・モード・フラグを推測することができる。従って、シグナリングの冗長性を取り除くことができる。
一部の実施形態では、マージ・モード・フラグが、予め定められたコンディションの下では唯1つの値しかとらない場合、マージ・モード・フラグは明示的なシグナリングではなく推測される。推測することが可能なマージ・モードは、レギュラー・マージ・モード、MMVDモード、サブブロック・ベースのマージ・モード、CIIPモード、及び三角モードを含む可能性があるが、これらに限定されない。
図8は、マージ・モード・フラグをシグナリング(又は解析)するエンコーダ(又はデコーダ)のためのアルゴリズムのフローチャートを示す。図8の例では、特定のコンディションの下で、幾つかのマージ・モード・フラグは、シグナリング(又は解析)される代わりに、推測される。従って、シグナリング・コストが節約され、冗長性を取り除くことが可能である。一例では、図8のアルゴリズムは、エンコーダの処理回路によって実行される。別の例では、図8のアルゴリズムは、デコーダの処理回路によって実行される。
図8の例では、ツリー構造のコーディング順序は、レギュラー・マージ・モードとともに始まり、MMVDモード、サブブロック・ベースのマージ・モード、CIIPモード、三角パーティション・モードに順に続く。なお、ツリー構造が変更された場合には、対応するコンディションは相応に変更される可能性があることに留意を要する。
(Eq.3)-(Eq.5)は、特定のコンディションに対する変数を定めるための単なる例であることにも留意を要する。コンディションは、他の適切な方法で定めることが可能である。
例えば、(Eq.3)は、変数SubMergeを、幾つかのサブ・コンディションの組み合わせとして定める。変数allowSubMergeは、サブ・コンディションで指定することができる。実施形態では、変数allowSubMerge は、MaxNumSubMergeCand>0に等しい。例えば、変数MaxNumSubMergeCandがゼロより大きい場合、変数allowSubMergeはtrue(例えば、バイナリ1)であり、変数MaxNumSubMergeCandがゼロに等しい場合、変数allowSubMergeはfalse(例えば、バイナリ0)である。別の実施形態では、変数allowSubMergeは、(cbWidth >=8 and cbHeight >=8)に等しい。例えば、コーディング・ブロックの幅と高さの両方が8より大きい場合、変数allowSubMergeはtrueであり;そうでない場合、変数allowSubMergeはfalseである。
別の例では、(Eq.4)は、変数allowCIIP を、幾つかのサブ・コンディションの組み合わせとして定める。変数allowCIIPは、サブ・コンディションで定めることが可能である。実施形態では、変数allowSubMergeは、sps_ciip_enabled_flagに等しい。別の実施形態では、変数allowSubMergeは、!cu_skip_flagに等しい。例えば、フラグcu_skip_flagがtrueである場合、変数allowSubMergeはfalseであり;変数cu_skip_flagがfalseである場合、SubMergeを許可する変数allowSubMergeはtrueである。別の実施形態では、変数allowSubMergeは、(cbWidth×cbHeight>=64)に等しい。例えば、ブロックの面積が64以上である場合、変数allowSubMergeはtrueでありれ;そうでない場合、変数allowSubMergeはfalseである。別の実施形態では、allowSubMergeは、 (cbWidth <128 and cbHeight <128)に等しい。例えば、コーディング・ブロックの幅と高さの両方が128より小さい場合、変数allowSubMergeはtrueであり;そうでない場合、変数allowSubMergeはfalseである。
別の例では、(Eq.5)は、allowTriangleを、幾つかのサブ・コンディションの組み合わせとして定める。変数allowTriangleは、サブ・コンディションにより定めることが可能である。実施形態では、変数allowTriangleはsps_triangle_enbaled_flagに等しい。別の実施形態では、変数allowTriangleは、slice_typeに基づいて設定される。slice_typeがBである場合(双方向予測)、変数allowTriangle はtrueであり;slice_typeがBでない場合、allowTriangleはfalseである。別の実施形態では、変数allowTriangleは(MaxTriangleMergeCand >= 2)に等しい。例えば、変数MaxTriangleMergeCandが2以上である場合、変数allowTriangleはtrueであり;そうでない場合、変数allowTriangleはfalseである。別の実施形態では、変数allowTriangleは、(cbWidth×cbHeight>=64)に等しい。例えば、コーディング・ブロックの面積が64以上である場合、変数allowTriangleはtrueであり;そうでない場合、変数allowTriangleはfalseである。
図8に戻ると、アルゴリズムは(S801)から始まり、(S810)に進む。
(S810)において、第1コンディション(allowRegularMerge && (allowMMVD || allowSubMerge || allowCIIP || allowTriangle))がチェックされる。第1コンディションがtrueである場合、アルゴリズムは(S812)に進み、第1コンディションがfalseである場合、アルゴリズムは(S815)に進む。
(S812)において、レギュラー・フラグは、エンコーダ側からシグナリングされる(デコーダによって解析される)。
(S815)において、レギュラー・フラグはシグナリングされず、推測される。一例では、allowRegularMergeがfalseである場合に、レギュラー・フラグはfalseであると推測される。別の例では、(allowMMVD || allowSubMerge || allowCIIP || allowTriangle)がfalseである場合に、レギュラー・フラグはtrueであると推測される。
幾つかの例において、変数allowRegularMerge,allowMMVD,allowSubMerge,allowCIIP,allowTriangleは、(Eq.1),(Eq.2),(Eq.3), (Eq.4)及び(Eq.5)のように定められる。
変数allowSubMerge,allowCIIP,及びallowTriangleは、適切な他の方法で決定することが可能であることに留意を要する。幾つかの例において、マージ・モードの幾つかのコンディションは重複し、例えば、cbWidth×cbHeightが64未満である場合(ブロック幅×ブロック高さが32に等しい場合)、サブブロック・ベースのマージ・モード、CIIP、三角パーティション・モードはすべてディセーブルにされる。sps_mmvd_enabled_flagがfalseであり、cbWidth×cbHeightが64より小さい場合、MMVDモード、サブブロック・ベースのマージ・モード、CIIPモード、及び三角パーティション・モードはすべてディセーブルにされる。この場合、レギュラー・マージ・モードのみがイネーブルにされる。
(S820)において、レギュラー・フラグがチェックされる。レギュラー・フラグがtrueである場合、アルゴリズムは(S825)に進み;そうでない場合、アルゴリズムは(S830)に進む。
(S825)において、レギュラー・フラグはtrueであり、アルゴリズムはレギュラー・マージ・モードを返し、停止する。そして、ブロックは、レギュラー・マージ・モードに基づいて符号化(復号化)される。
(S830)において、第2コンディション(allowMMVD && (allowSubMerge || allowCIIP || allowTriangle))がチェックされる。第2コンディションがtrueである場合、アルゴリズムは(S832)に進み;第2コンディションがfalseである場合、アルゴリズムは(S835)に進む。
(S832)において、MMVDフラグは、エンコーダ側からシグナリングされる(デコーダにより解析される)。
(S835)において、MMVDフラグはシグナリングされず、推測される。一例では、MMVDがfalseである場合、MMVDフラグはfalseであると推定される。別の例では、(allowSubMerge || allowCIIP || allowTriangle)がfalseである場合に、MMVDフラグはtrueであると推測される。幾つかの例において、変数allowMMVD, allowSubMerge,allowCIIP,allowTriangleは、 (Eq.2),(Eq.3), (Eq.4)及び(Eq.5)のように定められる。変数allowMMVD,allowSubMerge,allowCIIP,及びallowTriangleは、適切な他の方法で決定することが可能であることに留意を要する。
(S840)において、MMVDフラグがチェックされる。MMVDフラグがtrueである場合、アルゴリズムは(S845)に進み;そうでない場合、アルゴリズムは(S850)に進む。
(S845)において、MMVDフラグはtrueであり、アルゴリズムはMMVDモードを返し、停止する。そして、ブロックは、MMVDモードに基づいて符号化(復号化)される。
(S850)において、第3コンディション(allowSubMerge && (allowCIIP || allowTriangle))がチェックされる。第3コンディションがtrueである場合、アルゴリズムは(S852)に進み;第3コンディションがfalseである場合、アルゴリズムは(S855)に進む。
(S852)において、サブブロック・フラグは、エンコーダ側からシグナリングされる(デコーダによって解析される)。
(S855)において、サブブロック・フラグは、シグナリングされず、推測される。一例では、allowSubMerge がfalseである場合に、サブブロック・フラグはfalseであると推定される。別の例では、(allowCIIP || allowTriangle)がfalseである場合に、サブブロック・フラグはtrueであると推測される。幾つかの例では、変数allowSubMerge,allowCIIP,allowTriangleは、(Eq.3),(Eq.4)及び(Eq.5)のように定められる。変数allowSubMerge,allowCIIP,及びallowTriangleは、適切な他の方法で決定することが可能であることに留意を要する。
(S860)において、サブブロック・フラグがチェックされる。サブブロック・フラグがtrueである場合、アルゴリズムは(S865)に進み;そうでない場合、アルゴリズムは(S870)に進む。
(S865)において、サブブロック・フラグはtrueであり、アルゴリズムはサブブロック・ベースのマージ・モードを返し、停止する。そして、ブロックは、サブブロック・ベースのマージ・モードに基づいて符号化(復号化)される。
(S870)において、第4コンディション(allowCIIP && allowTriangle)がチェックされる。第4コンディションがtrueである場合、アルゴリズムは(S872)に進み;第4コンディションがfalseである場合、アルゴリズムは(S875)に進む。
(S872)において、CIIPフラグは、エンコーダ側からシグナリングされる(デコーダによって解析される)。
(S875)において、CIIPフラグはシグナリングされず、推測される。一例では、allowSubMergeがfalseである場合に、CIIPフラグはfalseであると推測される。別の例では、allowTriangleがfalseである場合に、CIIPフラグはtrueであると推測される。幾つかの例では、変数allowCIIP及びallowTriangleは、 (Eq.4)及び(Eq.5)のように定められる。変数allowCIIP及びallowTriangleは、適切な他の方法で決定することが可能であることに留意を要する。
(S880)において、CIIPフラグがチェックされる。CIIPフラグがtrueである場合、アルゴリズムは(S882)に進み;そうでない場合、アルゴリズムは(S885)に進む。
(S882)において、CIIPフラグはtrueであり、アルゴリズムはCIIPモードを返し、停止する。そして、ブロックは、CIIPモードに基づいて符号化(復号化)される。
(S885)において、 アルゴリズムは三角パーティション・モードを返し、停止する。そして、ブロックは、三角パーティション・モードに基づいて符号化(復号化)される。
幾つかの例では、インター予測のために、許可されるcbWidth及びcbHeightが各モードに対して既に定められていることに留意されたい。しかしながら、幾つかの例では、許容されるcbWidth及びcbHeightは変化する可能性があり、従って変数及びコンディションは、適切に変化する可能性がある。
幾つかの実施形態では、Nは最小許容幅として定められ、Mは最小許容高さとして定められ、Kは最小面積として定められ、Hは幅の上限として定められ、Lは高さの上限として定められ、Oは面積の上限として定められる。M,N,K,H,L,Oは非負の整数である。一例において、変数allowSubMerge,allowCIIP及びallowTriangleは、(Eq.6)-(Eq.8)のように定めることが可能である。
allowSubMerge = MaxNumSubblockMergeCand>0 && cbWidth >= N && cbHeight >=M (Eq.6)
allowCIIP = sps_ciip_enabled_flag && !cu_skip_flag && cbWidth×cbHeight >=K && cbWidth <H && cbHeight <L (Eq.7)
allowTriangle = sps_triangle_enabled_flag && slice_type はBに等しい &&
MaxNumTriangleMergeCand >= 2 && cbWidth×cbHeight >= O (Eq.8)
本開示の他の態様によれば、マージ・モード・シグナリングの冗長性はコンテキストによって取り除くことが可能である。幾つかの実施形態において、レギュラー・フラグ、MMVDフラグ、サブブロック・フラグ、CIIPフラグに対する更なるコンテキストが追加される。コンテキストを選択する場合に、コンテキストは、ブロック・サイズ、又はspsイネーブル・フラグ又はスライス・タイプに基づくことが可能である。上記のシグナリング・コンディションの一部又は全部を、コンテキストを選択するために使用することが可能である。
一実施形態では、レギュラー・フラグは、ブロック幅×ブロック高さに基づくことが可能であり、例えばcbWidth×cbHeight < サイズ閾値 である場合に1つのコンテキストが使用される。そうでない場合には、別のコンテキストが使用される。
本開示の別の態様によれば、MMVDフラグをシグナリングするための条件付きのチェックを、取り除くことが可能である。幾つかの例では、MMVDフラグは、復号化プロセスを高速化するために、ブロック・サイズをチェックせずにシグナリングされる。表4は、MMVDフラグをシグナリングするためのシンタックス例を示す。
表4:MMVDフラグをシグナリングするためのシンタックス
Figure 2022515126000005
表4と表3を比較すると、MMVDフラグは、表4ではブロック・サイズ(例えば、ブロック幅、ブロック高さ)をチェックせずにシグナリングされている。
一部の実施形態では、ビットストリームの破損を回避するために、適合性制約を追加することが可能である。一例では、適合性制約は、一般的なマージ・フラグとスキップ・フラグを制約する。例えば、レギュラー・フラグがfalseであり、MMVDフラグがfalseであり、サブブロック・フラグがfalseであり、CIIPフラグがfalseであり、三角フラグがfalseである場合、一般的なマージ・フラグとスキップ・フラグは、適合性制約に従ってfalseでなければならない。
別の例では、別の適合性制約が追加される。(cbWidth×cbHeight)の値が32に等しく、レギュラー・フラグがfalseである場合、MMVDフラグは、適合性制約に従ってtrueとしてシグナリングされる。
図9は、本開示の実施形態によるプロセス(900)を概説するフローチャートを示す。プロセス(900)は、ブロックの予測モードを決定するために使用することが可能であり、その結果、予測モードに基づいて、再構成中のブロックの予測ブロックを生成する。様々な実施形態では、プロセス(900)は、端末デバイス(210)、(220)、(230)及び(240)の処理回路、ビデオ・エンコーダ(303)の機能を実行する処理回路、ビデオ・デコーダ(310)の機能を実行する処理回路、ビデオ・デコーダ(410)の機能を実行する処理回路、ビデオ・エンコーダ(503)の機能を実行する処理回路のような、処理回路によって実行される。幾つかの実施形態では、プロセス(900)は、ソフトウェア命令で実現され、従って、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(900)を実行する。プロセスは(S901)から始まり、(S910)に進む。
(S910)において、 現在のブロックの特定の予測モードに関連付けられたフラグの推測可能コンディションが、コーディングされたビデオ・ビットストリームから現在のブロックの特定の予測モードのフラグを解析する前にチェックされる。一例では、特定の予測モードは、複数のインター・ピクチャ予測モードのうちの1つである。別の例では、特定の予測モードは、マージ・モードの1つである。別の例では、特定の予測モードは、スキップ・モードの1つである。幾つかの実施形態では、複数のインター・ピクチャ予測モードは、現在のブロックに対する予測モードの決定を行うためのツリー構造を形成する。推測可能コンディションが推測可能であることを示す場合、プロセスは(S920)に進み;そうでない場合、プロセスは(S930)に進む。
(S920)において、特定の予測モードに関連するフラグは、コーディングされたビデオ・ビットストリームからフラグを解析することなく推測される。一例では、フラグを推測することができる場合、フラグは、信号の冗長性を削減するために、コーディングされたビデオ・ビットストリームにおいてシグナリングされない。
(S930)において、特定の予測モードに関連するフラグは、コーディングされたビデオ・ビットストリームから解析される。
(S940)において、フラグが現在のブロックに対する特定の予測モードの適用を示すかどうかを判定するために、フラグがチェックされる。フラグが特定の予測モードの適用を示す場合、プロセスは(S950)に進み;そうでない場合、プロセスは(S960)に進む。
(S950)において、現在のブロックのサンプルは、特定の予測モードに従って再構成される。プロセスはS999に進み、終了する。
(S960)において、プロセスは、ツリー構造における次のフラグを復号化することを続ける。
上述した技術は、コンピュータ読み取り可能な命令を用いてコンピュータ・ソフトウェアとして実装することが可能であり、1つ以上のコンピュータ読み取り可能な媒体に物理的に記憶することが可能である。例えば、図10は、開示される対象事項の特定の実施形態を実現するのに適したコンピュータ・システム(1000)を示す。
コンピュータ・ソフトウェアは、アセンブリ、コンパイル、リンク、又は類似のメカニズムの対象となり得る任意の適切なマシン・コード又はコンピュータ言語を使用してコーディングされて、1つ以上のコンピュータ中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)等によって、直接的に実行されることが可能な命令、又は解釈やマイクロコード実行などを経由する命令、を含むコードを作成することが可能である。
命令は、例えば、パーソナル・コンピュータ、タブレット・コンピュータ、サーバー、スマートフォン、ゲーム・デバイス、モノのインターネット・デバイス等を含む、種々のタイプのコンピュータ又はそのコンポーネント上で実行されることが可能である。
コンピュータ・システム(1000)について図10に示されるコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実現するコンピュータ・ソフトウェアの使用範囲又は機能性に関する如何なる制限も示唆するようには意図されていない。また、コンポーネントの構成は、コンピュータ・システム(1000)の例示的な実施形態に示されたコンポーネントの任意の1つ又は組み合わせに関する何らかの従属性や要件を有するものとして解釈されてはならない。
コンピュータ・システム(1000)は、特定のヒューマン・インターフェース入力デバイスを含むことが可能である。このようなヒューマン・インターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データ・グローブの動き)、聴覚的な入力(例えば、声、拍手)、視覚的な入力(例えば、ジェスチャ)、嗅覚的な入力(図示されていない)を介して、1人以上の人間ユーザーによる入力に応答することが可能である。また、ヒューマン・インターフェース・デバイスは、オーディオ(例えば、会話、音楽、周囲音)、画像(例えば、スキャンされた画像、静止画像カメラから得られる写真画像)、ビデオ(例えば、2次元ビデオ、立体ピクチャを含む3次元ビデオ)のような、人間による意識的な入力に必ずしも直接的に関係しない特定のメディアを捕捉するために使用することが可能である。
入力ヒューマン・インターフェース・デバイスは、キーボード(1001)、マウス(1002)、トラックパッド(1003)、タッチ・スクリーン(1010)、データ・グローブ(不図示)、ジョイスティック(1005)、マイクロホン(1006)、スキャナ(1007)、カメラ(1008)のうちの(描かれているものはそれぞれ唯1つであるが)1つ以上を含む可能性がある。
コンピュータ・システム(1000)は、特定のヒューマン・インターフェース出力デバイスを含むことも可能である。このようなヒューマン・インターフェース出力デバイスは、例えば、触覚出力、音、光、及び嗅覚/味覚を通じて、1人以上の人間ユーザーの感覚を刺激することが可能である。このようなヒューマン・インターフェース出力デバイスは、触覚出力デバイス(例えば、タッチ・スクリーン(1010)、データ・グローブ(不図示)、ジョイスティック(1005)による触覚フィードバックであるが、入力として役立たない触覚フィードバック・デバイスが存在する可能性もある)、聴覚的な出力デバイス(例えば、スピーカー(1009)、ヘッドフォン(不図示せず))、視覚的な出力デバイス(例えば、CRTスクリーン、LCDスクリーン、プラズマ・スクリーン、OLEDスクリーンを含むスクリーン(1010)であり、各々はタッチ・スクリーン入力機能を備えるか又は備えておらず、各々は触覚フィードバック機能を備えるか又は備えておらず、それらのうちの幾つかは、二次元的な視覚的な出力、立体出力のような手段による三次元以上の出力を出力することが可能であってもよい;仮想現実メガネ(図示せず)、ホログラフィック・ディスプレイ、及びスモーク・タンク(図示せず))、及びプリンタ(図示せず)を含むことが可能である。
コンピュータ・システム(1000)はまた、CD/DVD等の媒体(1021)を使うCD/DVD ROM/RW(1020)を含む光媒体(1021)、サム・ドライブ(1022)、リムーバブル・ハード・ドライブ又はソリッド・ステート・ドライブ(1023)、テープ及びフロッピー・ディスク(図示せず)等のレガシー磁気媒体(不図示)、セキュリティ・ドングル(不図示)等の特殊化されたROM/ASIC/PLDベースのデバイスのような、人間がアクセス可能な記憶デバイス及びそれらに関連する媒体を含むことも可能である。
当業者は、ここで開示される対象事項に関連して使用される用語「コンピュータ読み取り可能な媒体」は、伝送媒体、搬送波、又はその他の過渡的な信号を包含しないことも理解するはずである。
コンピュータ・システム(1000)は、1つ以上の通信ネットワークへのインターフェースも含むことが可能である。ネットワークは、例えば、無線、有線、光であるとすることが可能である。ネットワークは、更に、ローカル、ワイド・エリア、メトロポリタン、車両及び工業、リアルタイム、遅延耐性などに関するものであるとすることが可能である。ネットワークの例は、イーサーネット、無線LAN、セルラー・ネットワーク(GSM、3G、4G、5G、LTE等を含む)、TVの有線又は無線ワイド・エリア・デジタル・ネットワーク(ケーブルTV、衛星TV、及び地上放送TVを含む)、CANBusを含む車両及び産業などを含む。特定のネットワークは、一般に、特定の汎用データ・ポート又は周辺バス(1049)に取り付けられる外部ネットワーク・インターフェース・アダプタを必要とする(例えば、コンピュータ・システム(1000)のUSBポート);その他は、一般に、以下に説明するようなシステム・バスに取り付けることによって、コンピュータ・システム(1000)のコアに統合される(例えば、イーサーネット・インターフェースはPCコンピュータ・システム内に、セルラー・ネットワーク・インターフェースはスマートフォン・コンピュータ・システム内に統合される)。これらのうちの任意のネットワークを使用して、コンピュータ・システム(1000)は、他のエンティティと通信することが可能である。このような通信は、片方向受信専用(例えば、放送テレビ)、片方向送信専用(例えば、特定のCANbusデバイスに対するCANbus)、又は双方向、例えばローカル又はワイド・エリア・デジタル・ネットワークを使用する他のコンピュータ・システムに対するものであるとすることが可能である。特定のプロトコル及びプロトコル・スタックは、上述のように、それらのネットワーク及びネットワーク・インターフェースの各々で使用されることが可能である。
前述のヒューマン・インターフェース・デバイス、ヒューマン・アクセシブル・ストレージ・デバイス、及びネットワーク・インターフェースは、コンピュータ・システム(1000)のコア(1040)に取り付けられることが可能である。
コア(1040)は、1つ以上の中央処理ユニット(CPU)(1041)、グラフィックス処理デバイス(GPU)(1042)、フィールド・プログラマブル・ゲート・エリア(FPGA)(1043)の形式における特殊プログラマブル処理デバイス、特定のタスク用のハードウェア・アクセラレータ(1044)等を含むことが可能である。これらのデバイスは、リード・オンリ・メモリ(ROM)(1045)、ランダム・アクセス・メモリ(1046)、内部大容量ストレージ・デバイス(例えば、内的な非ユーザー・アクセシブル・ハード・ドライブ、SSD等)(1047)と共に、システム・バス(1048)を介して接続されることが可能である。幾つかのコンピュータ・システムでは、システム・バス(1048)は、追加のCPU、GPU等による拡張を可能にするために、1つ以上の物理的プラグの形態でアクセス可能である可能性がある。周辺デバイスは、コアのシステム・バス(1048)に直接取り付けられるか、又は周辺バス(1049)を介して取り付けられることが可能である。周辺バスのアーキテクチャは、PCI、USB等を含む。
CPU(1041)、GPU(1042)、FPGA(1043)、及びアクセラレータ(1044)は、組み合わされて、前述のコンピュータ・コードを構成することが可能な特定の命令を実行することが可能である。コンピュータ・コードは、ROM(1045)又はRAM(1046)に格納されることが可能である。一時的なデータはRAM(1046)に格納されることが可能である一方、永続的なデータは例えば内的な大容量ストレージ(1047)に格納されることが可能である。任意のメモリ・デバイスに対する高速な記憶及び検索は、キャッシュ・メモリを利用することで可能になる可能性があり、キャッシュ・メモリは、1つ以上のCPU(1041)、GPU(1042)、大容量ストレージ(1047)、ROM(1045)、RAM(1046)等と密接に関連付けることが可能である。
コンピュータ読み取り可能な媒体は、様々なコンピュータ実装済み動作を実行するためのコンピュータ・コードをその上に有することが可能である。媒体及びコンピュータ・コードは、本開示の目的のために特別に設計及び構築されたものであるとすることが可能であり、又はそれらは、コンピュータ・ソフトウェアの分野における当業者にとって周知であり且つ入手可能な種類のものであるとすることが可能である。
例示として、限定ではなく、アーキテクチャ(1000)、具体的にはコア(1040)を有するコンピュータ・システムは、プロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)の結果として、1つ以上の有形のコンピュータ読み取り可能な媒体に具現化されたソフトウェアを実行する機能を提供することが可能である。そのようなコンピュータ読み取り可能な媒体は、コア内部の大容量ストレージ(1047)又はROM(1045)のような非一時的な性質のコア(1040)の特定のストレージと同様に、上述したようなユーザー・アクセシブル大容量ストレージに関連するメディアであるとすることが可能である。本開示の様々な実施形態を実現するソフトウェアは、そのようなデバイスに記憶され、コア(1040)によって実行されることが可能である。コンピュータ読み取り可能な媒体は、特定のニーズに応じて、1つ以上のメモリ・デバイス又はチップを含むことが可能である。ソフトウェアは、RAM(1046)に記憶されたデータ構造を定めること、及びソフトウェアによって定められたプロセスに従ってそのようなデータ構造を修正することを含む、本願で説明された特定のプロセス又は特定のプロセスの特定の部分を、コア(1040)及び特にその中のプロセッサ(CPU、GPU、FPGA等を含む)に実行させることが可能である。更に又は代替として、コンピュータ・システムは、回路(例えば、アクセラレータ(1044))内に配線された又は他の方法で具現化されたロジックの結果として機能を提供することが可能であり、その回路は、本願で説明された特定のプロセス又は特定のプロセスの特定の部分を実行することを、ソフトウェアの代わりに又はそれと共に実行することが可能である。ソフトウェアに対する言及はロジックを含み、必要に応じて、その逆も可能である。コンピュータ読み取り可能な媒体に対する言及は、実行のためのソフトウェアを記憶する(集積回路(IC)のような)回路、実行のためのロジックを具体化する回路、又は適切な場合にはその両方を包含することが可能である。本開示はハードウェア及びソフトウェアの適切な任意の組み合わせを包含する。
本開示は、幾つかの例示的な実施形態を説明してきたが、本開示の範囲内に該当する、変更、置換、及び種々の代替的な均等物が存在する。従って、当業者は、本願で明示的には図示も説明もされていないが、本開示の原理を具体化し、従ってその精神及び範囲内にある多くのシステム及び方法を考え出すことが可能であることは理解されるであろう。
付録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
GOPs: Groups of Pictures
TUs: Transform Units,
PUs: Prediction Units
CTUs: Coding Tree Units
CTBs: Coding Tree Blocks
PBs: Prediction Blocks
HRD: Hypothetical Reference Decoder
SNR: Signal Noise Ratio
CPUs: Central Processing Units
GPUs: 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

Claims (23)

  1. デコーダにおけるビデオ復号化方法であって、
    プロセッサが、現在のブロックに対する特定の予測モードのフラグに対する推測可能コンディションを、コーディングされたビデオ・ビットストリームから前記現在のブロックに対する前記特定の予測モードの前記フラグを解析する前にチェックするステップであって、前記特定の予測モードは複数のインター・ピクチャ予測モードのうちの1つである、ステップと、
    前記フラグは推測可能であることを前記推測可能コンディションが示す場合に、前記プロセッサが、前記コーディングされたビデオ・ビットストリームから前記フラグを解析することなく、前記フラグを推測するステップと、
    前記推測可能コンディションが、前記フラグを推測することに対して不確定性を示す場合に、前記プロセッサが、前記コーディングされたビデオ・ビットストリームから前記フラグを解析するステップと、
    前記フラグが前記現在のブロックに対する前記特定の予測モードの適用を示す場合に、前記プロセッサが、前記特定の予測モードに従って前記現在のブロックを再構成するステップと、
    を含む方法。
  2. 前記プロセッサが、複数のインター・ピクチャ予測モードのうちの1つ以上の他のモードの許容可能性に基づいて、前記フラグに対する前記推測可能コンディションをチェックするステップ
    を更に含む請求項1に記載の方法。
  3. 前記フラグは、レギュラー・マージ/スキップ・モードのレギュラー・フラグ、MMVDモードのマージ・ウィズ動きベクトル差分(MMVD)フラグ、サブブロック・ベースのマージ/スキップ・モードのサブブロック・フラグ、CIIPモードの結合イントラ・インター予測(CIIP)フラグ、三角予測モードの三角フラグのうちの1つである、請求項1又は2に記載の方法。
  4. 前記推測可能コンディションは、前記特定の予測モードと前記複数のインター・ピクチャ予測モードにおける他のモードとが許容されるかどうかに基づいており、前記他のモードは、ツリー構造において前記特定の予測モードより下位のレベルにある、請求項2に記載の方法。
  5. 前記推測可能コンディションは、前記特定の予測モードの許容可能性と、予測モード決定のためのツリー構造において前記特定の予測モードより後にある他のモードの許容可能性との組み合わせである、請求項2又は4に記載の方法。
  6. 前記特定の予測モードは許容されていない場合に、前記フラグは推測可能であることを、前記推測可能コンディションは示している、請求項5に記載の方法。
  7. 前記他のモードは許容されていない場合に、前記フラグは推測可能であることを、前記推測可能コンディションは示している、請求項5に記載の方法。
  8. 前記特定の予測モードと前記複数のインター・ピクチャ予測モードにおける他のモードとが許容されるかどうかは、シーケンス・パラメータ・セット(SPS)、ピクチャ・パラメータ・セット(PPS)、スライス・ヘッダ、タイル情報、及びタイル・グループ情報のうちの少なくとも1つに基づいて決定される、請求項2ないし7のうちの何れか1項に記載の方法。
  9. 前記特定の予測モードが許容されるかどうかは、前記現在のブロックのサイズ情報に基づいて決定される、請求項2ないし7のうちの何れか1項に記載の方法。
  10. 処理回路を含むビデオ復号化装置であって、前記処理回路は、
    現在のブロックに対する特定の予測モードのフラグに対する推測可能コンディションを、コーディングされたビデオ・ビットストリームから前記現在のブロックに対する前記特定の予測モードの前記フラグを解析する前にチェックするステップであって、前記特定の予測モードは複数のインター・ピクチャ予測モードのうちの1つである、ステップと、
    前記フラグは推測可能であることを前記推測可能コンディションが示す場合に、前記コーディングされたビデオ・ビットストリームから前記フラグを解析することなく、前記フラグを推測するステップと、
    前記推測可能コンディションが、前記フラグを推測することに対して不確定性を示す場合に、前記コーディングされたビデオ・ビットストリームから前記フラグを解析するステップと、
    前記フラグが前記現在のブロックに対する前記特定の予測モードの適用を示す場合に、前記特定の予測モードに従って前記現在のブロックを再構成するステップと、
    を行うように構成されている、装置。
  11. 前記処理回路は、前記複数のインター・ピクチャ予測モードのうちの1つ以上の他のモードの許容可能性に基づいて、前記フラグに対する前記推測可能コンディションをチェックするステップ
    を行うように構成されている、請求項10に記載の装置。
  12. 前記フラグは、レギュラー・マージ/スキップ・モードのレギュラー・フラグ、MMVDモードのマージ・ウィズ動きベクトル差分(MMVD)フラグ、サブブロック・ベースのマージ/スキップ・モードのサブブロック・フラグ、CIIPモードの結合イントラ・インター予測(CIIP)フラグ、三角予測モードの三角フラグのうちの1つである、請求項10又は11に記載の装置。
  13. 前記推測可能コンディションは、前記特定の予測モードと前記複数のインター・ピクチャ予測モードにおける他のモードとが許容されるかどうかに基づいており、前記他のモードは、ツリー構造において前記特定の予測モードより下位のレベルにある、請求項11に記載の装置。
  14. 前記推測可能コンディションは、前記特定の予測モードの許容可能性と、予測モード決定のためのツリー構造において前記特定の予測モードの後にある他のモードの許容可能性との組み合わせである、請求項11又は13に記載の装置。
  15. 前記特定の予測モードは許容されていない場合に、前記フラグは推測可能であることを、前記推測可能コンディションは示している、請求項14に記載の装置。
  16. 前記他のモードは許容されていない場合に、前記フラグは推測可能であることを、前記推測可能コンディションは示している、請求項14に記載の装置。
  17. 前記特定の予測モードと前記複数のインター・ピクチャ予測モードにおける他のモードとが許容されるかどうかは、シーケンス・パラメータ・セット(SPS)、ピクチャ・パラメータ・セット(PPS)、スライス・ヘッダ、タイル情報、及びタイル・グループ情報のうちの少なくとも1つに基づいて決定される、請求項11ないし16のうちの何れか1項に記載の装置。
  18. 前記特定の予測モードが許容されるかどうかは、前記現在のブロックのサイズ情報に基づいて決定される、請求項11ないし17のうちの何れか1項に記載の装置。
  19. コンピュータに、
    現在のブロックに対する特定の予測モードのフラグに対する推測可能コンディションを、コーディングされたビデオ・ビットストリームから前記現在のブロックに対する前記特定の予測モードの前記フラグを解析する前にチェックするステップであって、前記特定の予測モードは複数のインター・ピクチャ予測モードのうちの1つである、ステップと、
    前記フラグは推測可能であることを前記推測可能コンディションが示す場合に、前記コーディングされたビデオ・ビットストリームから前記フラグを解析することなく、前記フラグを推測するステップと、
    前記推測可能コンディションが、前記フラグを推測することに対して不確定性を示す場合に、前記コーディングされたビデオ・ビットストリームから前記フラグを解析するステップと、
    前記フラグが前記現在のブロックに対する前記特定の予測モードの適用を示す場合に、前記特定の予測モードに従って前記現在のブロックを再構成するステップと、
    を実行させるコンピュータ・プログラム。
  20. 前記コンピュータに、
    前記複数のインター・ピクチャ予測モードのうちの1つ以上の他のモードの許容可能性に基づいて、前記フラグに対する前記推測可能コンディションをチェックするステップ
    を実行させる、請求項19に記載のコンピュータ・プログラム。
  21. 前記推測可能コンディションは、前記特定の予測モードと前記複数のインター・ピクチャ予測モードにおける他のモードとが許容されるかどうかに基づいており、前記他のモードは、ツリー構造において前記特定の予測モードより下位のレベルにある、請求項19に記載のコンピュータ・プログラム。
  22. エンコーダにおけるビデオ符号化方法であって、
    プロセッサが、現在のブロックに対する特定の予測モードのフラグに対する推測可能コンディションを、コーディングされたビデオ・ビットストリームから前記現在のブロックに対する前記特定の予測モードの前記フラグを、デコーダにシグナリングする前にチェックするステップであって、前記特定の予測モードは複数のインター・ピクチャ予測モードのうちの1つである、ステップと、
    前記フラグは推測可能であることを前記推測可能コンディションが示す場合に、前記プロセッサが、前記コーディングされたビデオ・ビットストリームから前記フラグを前記デコーダにシグナリングしないことを決定するステップと、
    前記推測可能コンディションが、前記フラグを推測することに対して不確定性を示す場合に、前記プロセッサが、前記コーディングされたビデオ・ビットストリームにおいて、前記フラグを前記デコーダにシグナリングするステップであって、前記フラグは、前記現在のブロックに対する前記特定の予測モードの適用を示す、ステップと、
    を含む方法。
  23. 前記推測可能コンディションは、前記複数のインター・ピクチャ予測モードにおける前記特定の予測モード及び他のモードが許容されるかどうかに基づいており、前記他のモードは、ツリー構造において前記特定の予測モードより下位のレベルにある、請求項22に記載の方法。
JP2021535218A 2019-05-16 2020-05-06 ビデオ・コーディングのための方法、装置及びコンピュータ・プログラム Active JP7257516B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962849105P 2019-05-16 2019-05-16
US62/849,105 2019-05-16
US16/865,052 US11109041B2 (en) 2019-05-16 2020-05-01 Method and apparatus for video coding
US16/865,052 2020-05-01
PCT/US2020/031620 WO2020231695A1 (en) 2019-05-16 2020-05-06 Method and apparatus for video coding

Publications (3)

Publication Number Publication Date
JP2022515126A6 true JP2022515126A6 (ja) 2022-02-17
JP2022515126A JP2022515126A (ja) 2022-02-17
JP7257516B2 JP7257516B2 (ja) 2023-04-13

Family

ID=73230863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021535218A Active JP7257516B2 (ja) 2019-05-16 2020-05-06 ビデオ・コーディングのための方法、装置及びコンピュータ・プログラム

Country Status (9)

Country Link
US (2) US11109041B2 (ja)
EP (1) EP3970378A4 (ja)
JP (1) JP7257516B2 (ja)
KR (2) KR102646839B1 (ja)
CN (1) CN113557742A (ja)
AU (2) AU2020274313B2 (ja)
CA (1) CA3134529A1 (ja)
SG (1) SG11202110645RA (ja)
WO (1) WO2020231695A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3888364A4 (en) * 2018-12-30 2022-05-18 Beijing Dajia Internet Information Technology Co., Ltd. METHOD AND DEVICE FOR VIDEO CODING FOR TRIANGLE PREDICTION
EP3955569A4 (en) * 2019-04-25 2022-07-27 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR IMAGE PREDICTION AND COMPUTER READABLE INFORMATION MEDIA
US11611759B2 (en) * 2019-05-24 2023-03-21 Qualcomm Incorporated Merge mode coding for video coding
WO2020256492A1 (ko) * 2019-06-19 2020-12-24 엘지전자 주식회사 비디오/영상 코딩 시스템에서 중복 시그널링 제거 방법 및 장치
BR112021025536A2 (pt) * 2019-06-19 2022-02-01 Lg Electronics Inc Método e dispositivo para codificação de imagem com base em interpredição
JP7460664B2 (ja) * 2019-06-19 2024-04-02 エルジー エレクトロニクス インコーポレイティド 決定された予測モードを適用して予測サンプルを生成する映像デコーディング方法及びその装置
CN114073078A (zh) * 2019-06-23 2022-02-18 Lg 电子株式会社 视频/图像编译系统中的语法信令的方法和装置
US11363299B2 (en) * 2019-12-12 2022-06-14 Panasonic Intellectual Property Corporation Of America Encoding and decoding with merge mode and block partition index

Family Cites Families (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3380763B2 (ja) * 1998-01-23 2003-02-24 松下電器産業株式会社 画像処理方法
US6931422B1 (en) * 1999-11-12 2005-08-16 International Business Machines Corporation Enhanced backup and recovery methodology
US8532176B2 (en) * 2006-07-10 2013-09-10 Sharp Laboratories Of America, Inc. Methods and systems for combining layers in a multi-layer bitstream
US8098735B2 (en) * 2006-12-21 2012-01-17 Lsi Corporation Efficient 8×8 CABAC residual block decode
KR101568708B1 (ko) * 2007-09-02 2015-11-12 엘지전자 주식회사 비디오 신호처리 방법 및 장치
CN101415122B (zh) * 2007-10-15 2011-11-16 华为技术有限公司 一种帧间预测编解码方法及装置
US8532932B2 (en) * 2008-06-30 2013-09-10 Nellcor Puritan Bennett Ireland Consistent signal selection by signal segment selection techniques
US20100118948A1 (en) * 2008-10-24 2010-05-13 Chanchal Chatterjee Method and apparatus for video processing using macroblock mode refinement
US20100104022A1 (en) * 2008-10-24 2010-04-29 Chanchal Chatterjee Method and apparatus for video processing using macroblock mode refinement
BR112012026391B1 (pt) * 2010-04-13 2020-12-15 Ge Video Compression, Llc Herança em amostra de arranjo em subdivisão multitree
WO2011145862A2 (en) * 2010-05-17 2011-11-24 Lg Electronics Inc. New intra prediction modes
WO2012029058A1 (en) * 2010-08-30 2012-03-08 Bk-Imaging Ltd. Method and system for extracting three-dimensional information
US9172963B2 (en) * 2010-11-01 2015-10-27 Qualcomm Incorporated Joint coding of syntax elements for video coding
US9123035B2 (en) * 2011-04-22 2015-09-01 Angel A. Penilla Electric vehicle (EV) range extending charge systems, distributed networks of charge kiosks, and charge locating mobile apps
US9338465B2 (en) * 2011-06-30 2016-05-10 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
US9060173B2 (en) * 2011-06-30 2015-06-16 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
US20130170553A1 (en) * 2012-01-04 2013-07-04 Qualcomm Incorporated Coding motion vector difference
US9538200B2 (en) * 2012-01-19 2017-01-03 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
US20130188719A1 (en) * 2012-01-20 2013-07-25 Qualcomm Incorporated Motion prediction in svc using motion vector for intra-coded block
CN104255031B (zh) * 2012-02-29 2017-12-22 Lg 电子株式会社 层间预测方法和使用层间预测方法的装置
JP6272819B2 (ja) * 2012-03-20 2018-01-31 サムスン エレクトロニクス カンパニー リミテッド スケーラブルビデオ符号化方法、復号化方法、符号化装置及び記録媒体
US9185405B2 (en) * 2012-03-23 2015-11-10 Qualcomm Incorporated Coded block flag inference in video coding
US20150049806A1 (en) * 2012-04-16 2015-02-19 Samsung Electronics Co., Ltd. Method for multi-view video encoding based on tree structure encoding unit and apparatus for same, and method for multi-view video decoding based on tree structure encoding unit and apparatus for same
US20130294524A1 (en) * 2012-05-04 2013-11-07 Qualcomm Incorporated Transform skipping and lossless coding unification
US9332255B2 (en) * 2012-06-28 2016-05-03 Qualcomm Incorporated Signaling long-term reference pictures for video coding
US9225978B2 (en) * 2012-06-28 2015-12-29 Qualcomm Incorporated Streaming adaption based on clean random access (CRA) pictures
US9591303B2 (en) * 2012-06-28 2017-03-07 Qualcomm Incorporated Random access and signaling of long-term reference pictures in video coding
GB2503875B (en) * 2012-06-29 2015-06-10 Canon Kk Method and device for encoding or decoding an image
US20150208092A1 (en) * 2012-06-29 2015-07-23 Samsung Electronics Co., Ltd. Method and apparatus for encoding scalable video, and method and apparatus for decoding scalable video
US20140044162A1 (en) * 2012-08-08 2014-02-13 Qualcomm Incorporated Adaptive inference mode information derivation in scalable video coding
US9674519B2 (en) * 2012-11-09 2017-06-06 Qualcomm Incorporated MPEG frame compatible video coding
US9807421B2 (en) * 2013-04-05 2017-10-31 Sharp Kabushiki Kaisha NAL unit type restrictions
GB2516424A (en) * 2013-07-15 2015-01-28 Nokia Corp A method, an apparatus and a computer program product for video coding and decoding
CN105409222A (zh) * 2013-07-17 2016-03-16 索尼公司 图像处理装置及方法
GB2516824A (en) * 2013-07-23 2015-02-11 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
US20150078457A1 (en) * 2013-09-13 2015-03-19 Qualcomm Incorporated Representation format signaling in multi-layer video coding
WO2015052939A1 (en) * 2013-10-10 2015-04-16 Sharp Kabushiki Kaisha Alignment of picture order count
US9456210B2 (en) * 2013-10-11 2016-09-27 Blackberry Limited Sign coding for blocks with transform skipped
US9860540B2 (en) * 2014-01-03 2018-01-02 Qualcomm Incorporated Inference of nooutputofpriorpicsflag in video coding
US10390034B2 (en) * 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US10687079B2 (en) * 2014-03-13 2020-06-16 Qualcomm Incorporated Constrained depth intra mode coding for 3D video coding
KR102355224B1 (ko) * 2014-03-16 2022-01-25 브이아이디 스케일, 인크. 무손실 비디오 코딩의 시그널링을 위한 방법 및 장치
US9807406B2 (en) * 2014-03-17 2017-10-31 Qualcomm Incorporated Picture flushing and decoded picture buffer parameter inference for multi-layer bitstreams
US9794595B2 (en) * 2014-03-18 2017-10-17 Qualcomm Incorporated Derivation of end of sequence NAL unit information for multi-layer bitstreams
US10362336B2 (en) * 2014-03-25 2019-07-23 Qualcomm Incorporated Palette predictor signaling with run length code for video coding
KR102319384B1 (ko) * 2014-03-31 2021-10-29 인텔렉추얼디스커버리 주식회사 템플릿 매칭 기반의 화면 내 픽쳐 부호화 및 복호화 방법 및 장치
US10136141B2 (en) * 2014-06-11 2018-11-20 Qualcomm Incorporated Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding
US9924175B2 (en) * 2014-06-11 2018-03-20 Qualcomm Incorporated Determining application of deblocking filtering to palette coded blocks in video coding
US10687064B2 (en) * 2014-08-04 2020-06-16 Qualcomm Incorporated Palette mode encoding and decoding with inferred pixel scan order
US11330297B2 (en) * 2014-08-19 2022-05-10 Qualcomm Incorporated Methods incorporating extensions to copy-above mode for palette mode coding
KR101642092B1 (ko) * 2014-10-06 2016-07-22 성균관대학교산학협력단 영상의 부호화/복호화 방법 및 이를 이용하는 장치
US9986248B2 (en) * 2015-01-29 2018-05-29 Qualcomm Incorporated Palette mode coding for video coding
US10638140B2 (en) * 2015-05-29 2020-04-28 Qualcomm Incorporated Slice level intra block copy and other video coding improvements
US9884631B2 (en) * 2015-06-04 2018-02-06 Toyota Motor Engineering & Manufacturing North America, Inc. Transitioning between operational modes of an autonomous vehicle
US9836056B2 (en) * 2015-06-05 2017-12-05 Bao Tran Smart vehicle
WO2017079341A2 (en) * 2015-11-04 2017-05-11 Zoox, Inc. Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles
US9507346B1 (en) * 2015-11-04 2016-11-29 Zoox, Inc. Teleoperation system and method for trajectory modification of autonomous vehicles
US9734455B2 (en) * 2015-11-04 2017-08-15 Zoox, Inc. Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles
US9630619B1 (en) * 2015-11-04 2017-04-25 Zoox, Inc. Robotic vehicle active safety systems and methods
WO2017118409A1 (en) * 2016-01-07 2017-07-13 Mediatek Inc. Method and apparatus for affine merge mode prediction for video coding system
US20190052878A1 (en) * 2016-02-08 2019-02-14 Sharp Kabushiki Kaisha Systems and methods for transform coefficient coding
CN114339229B (zh) * 2016-05-04 2024-04-12 夏普株式会社 用于对变换数据进行编码的系统和方法
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US10341659B2 (en) * 2016-10-05 2019-07-02 Qualcomm Incorporated Systems and methods of switching interpolation filters
WO2018128222A1 (ko) * 2017-01-03 2018-07-12 엘지전자 주식회사 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
EP3577898A4 (en) * 2017-01-31 2020-06-24 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR PARTITIONING A VIDEO BLOCK IMAGE FOR VIDEO CODING
US10609414B2 (en) * 2017-05-08 2020-03-31 Qualcomm Incorporated Context modeling for transform coefficient coding
US10571280B2 (en) * 2017-05-09 2020-02-25 Toyota Research Institute, Inc. Systems and methods for localizing a vehicle using a roadway signature
US11067993B2 (en) * 2017-08-25 2021-07-20 Magna Electronics Inc. Vehicle and trailer maneuver assist system
CN118042121A (zh) * 2017-09-29 2024-05-14 Lx 半导体科技有限公司 图像编码/解码设备以及传输图像数据的设备
US20190141320A1 (en) * 2017-11-07 2019-05-09 Qualcomm Incorporated Enhanced reference picture management in video coding
US11172229B2 (en) * 2018-01-12 2021-11-09 Qualcomm Incorporated Affine motion compensation with low bandwidth
CN111602394B (zh) * 2018-01-18 2021-07-09 联发科技股份有限公司 视频编解码系统中的视频处理方法及装置
US11109056B2 (en) * 2018-02-12 2021-08-31 Mediatek Inc. Method and apparatus of current picture referencing for video coding using adaptive motion vector resolution and sub-block prediction mode
US10638137B2 (en) * 2018-03-07 2020-04-28 Tencent America LLC Method and apparatus for video coding
EP3777169B1 (en) * 2018-03-28 2023-05-03 Fg Innovation Company Limited Device and method for decoding video data in multiple reference line prediction
KR102420476B1 (ko) * 2018-05-25 2022-07-13 에스케이텔레콤 주식회사 차량의 위치 추정 장치, 차량의 위치 추정 방법, 및 이러한 방법을 수행하도록 프로그램된 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능한 기록매체
US11277956B2 (en) * 2018-07-26 2022-03-22 Bear Flag Robotics, Inc. Vehicle controllers for agricultural and industrial applications
KR102572784B1 (ko) * 2018-10-25 2023-09-01 주식회사 에이치엘클레무브 운전자 보조 시스템 및 그 제어방법
US10917636B2 (en) 2018-12-03 2021-02-09 Tencent America LLC Method and apparatus for video coding
JP7124228B2 (ja) 2018-12-31 2022-08-23 ベイジン ダジア インターネット インフォメーション テクノロジー カンパニー リミテッド 映像符号化における動きマージモードのシグナリングのためのシステム、方法および非一時的コンピュータ可読記憶媒体
US11234007B2 (en) * 2019-01-05 2022-01-25 Tencent America LLC Method and apparatus for video coding
CN113302927B (zh) 2019-01-18 2024-04-09 韦勒斯标准与技术协会公司 使用运动补偿的视频信号处理方法和设备
WO2020210531A1 (en) 2019-04-09 2020-10-15 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatuses for signaling of merge modes in video coding
EP3955569A4 (en) 2019-04-25 2022-07-27 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR IMAGE PREDICTION AND COMPUTER READABLE INFORMATION MEDIA
US10768620B1 (en) * 2019-09-17 2020-09-08 Ha Q Tran Smart vehicle
US10609148B1 (en) * 2019-09-17 2020-03-31 Ha Q Tran Smart vehicle
US20210089048A1 (en) * 2019-09-21 2021-03-25 Ha Q Tran Smart vehicle
US10783559B1 (en) * 2019-10-06 2020-09-22 Bao Tran Mobile information display platforms

Similar Documents

Publication Publication Date Title
KR102435382B1 (ko) 디코더 측 mv 도출 및 리파인먼트를 위한 개선
JP7257516B2 (ja) ビデオ・コーディングのための方法、装置及びコンピュータ・プログラム
JP7252342B2 (ja) ビデオ・コーディングのための方法、装置、及びコンピュータ・プログラム
KR20200124736A (ko) 비디오 코딩을 위한 방법 및 장치
JP2021518088A (ja) 小ブロックの予測と変換のための方法、装置、及びプログラム
JP2022515126A6 (ja) ビデオ・コーディングのための方法、装置及びコンピュータ・プログラム
JP7490843B2 (ja) イントラピクチャブロック補償のための予測候補リストサイズシグナリングのための方法および装置
KR20200118896A (ko) 비디오 코딩을 위한 방법 및 장치
JP7265288B2 (ja) ビデオ復号のための方法、ビデオデコーダ、およびコンピュータプログラム、ならびにビデオ符号化のための方法
JP7362876B2 (ja) 簡略化された最確モードリスト生成スキーム
KR20200125733A (ko) 비디오 코딩을 위한 방법 및 장치
JP7250928B2 (ja) デコーダが実行するビデオデコーディングのための方法、装置及びプログラム、並びにエンコーダが実行するビデオコーディングのための方法
JP2023158110A (ja) ビデオ復号方法、ビデオ復号装置、コンピュータプログラム、およびビデオ符号化方法
JP2023165926A (ja) ビデオ符号化のための方法、装置、媒体およびコンピュータ・プログラム
JP7419506B2 (ja) 映像コーディングのための方法及び装置
JP7325622B2 (ja) 映像コーディングのための方法、装置、及びコンピュータプログラム
KR20220100980A (ko) 비디오 코딩을 위한 방법 및 장치
KR20210134039A (ko) 비디오 코딩을 위한 방법 및 장치
JP7412443B2 (ja) 非線形ループフィルタリングのための方法および装置
JP7383038B2 (ja) ビデオコーディングのための方法、装置及びプログラム
JP7169451B2 (ja) ビデオ復号の方法、装置、及びコンピュータプログラム
JP7493613B2 (ja) ビデオコーディングのための方法および装置
JP2023523172A (ja) ビデオコーディングの並列処理の改良
JP2023525215A (ja) イントラ文字列コピーの方法及び機器