(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-14
(45)【発行日】2024-06-24
(54)【発明の名称】ビデオコーディングに関して仮想参照ピクチャを用いたインターピクチャ予測のための方法及び機器
(51)【国際特許分類】
H04N 19/105 20140101AFI20240617BHJP
H04N 19/172 20140101ALI20240617BHJP
H04N 19/174 20140101ALI20240617BHJP
H04N 19/51 20140101ALI20240617BHJP
H04N 19/136 20140101ALI20240617BHJP
【FI】
H04N19/105
H04N19/172
H04N19/174
H04N19/51
H04N19/136
(21)【出願番号】P 2022531542
(86)(22)【出願日】2021-06-15
(86)【国際出願番号】 US2021037395
(87)【国際公開番号】W WO2022066252
(87)【国際公開日】2022-03-31
【審査請求日】2022-05-27
(32)【優先日】2020-09-24
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-09-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-05-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チョイ,ビョンドゥ
(72)【発明者】
【氏名】リ,ゼォチアン
(72)【発明者】
【氏名】ワン,ウエイ
(72)【発明者】
【氏名】シュイ,シアオジョォン
(72)【発明者】
【氏名】リィウ,シャン
【審査官】田部井 和彦
(56)【参考文献】
【文献】米国特許出願公開第2019/0306526(US,A1)
【文献】特表2014-535219(JP,A)
【文献】米国特許出願公開第2015/0350679(US,A1)
【文献】Benjamin Bross et al.,Versatile Video Coding (Draft 6) [online],JVET-O2001-vE(JVET-O2001-vE.docx), [2023年11月15日検索],2019年07月31日,pp.156-158,413-414,インターネット <URL: https://jvet-experts.org/doc_end_user/documents/15_Gothenburg/wg11/JVET-O2001-v14.zip>
【文献】Hyomin Choi et al.,Deep Frame Prediction for Video Coding [online],Published in: IEEE Transactions on Circuits and Systems for Video Technology ( Volume: 30 , Issue: 7, July 2020), [2023年11月15日検索],2019年06月24日,pp.1843-1855,インターネット <URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8744618>,DOI: 10.1109/TCSVT.2019.2924657
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/105
H04N 19/172
H04N 19/174
H04N 19/51
H04N 19/136
(57)【特許請求の範囲】
【請求項1】
ビデオシーケンスの現在のピクチャのインターピクチャ予測を行う方法であって、当該方法は少なくとも1つのプロセッサによって実行され、当該方法は、
前記現在のピクチャが仮想参照ピクチャを使用するかどうかを判定するステップと、
前記現在のピクチャが前記仮想参照ピクチャを使用すると判定されたことに基づいて、
前記現在のピクチャについて、隣接参照ピクチャから
、前記隣接参照ピクチャの間に表示されるピクチャである仮想参照ピクチャを生成
し、
該生成した仮想参照ピクチャを復号化ピクチャバッファに格納
し、
前記生成した仮想参照ピクチャをアクティブな参照ピクチャリストに追加するステップと、
前記仮想参照ピクチャを追加した前記アクティブな参照ピクチャリストに基づいて、前記現在のピクチャのインターピクチャ予測を行うステップと、を含
み、
前記現在のピクチャが前記仮想参照ピクチャを使用すると判定された場合に、当該方法は:
前記現在のピクチャに対して生成される前記仮想参照ピクチャが、複数の仮想サブピクチャにパーティション分割されるかどうかを判定するステップをさらに含み、
前記仮想参照ピクチャが前記複数の仮想サブピクチャにパーティション分割されると判定された場合に、当該方法は:
前記現在のピクチャについて、前記隣接参照ピクチャから仮想参照サブピクチャを生成し、
該生成した仮想参照サブピクチャの境界を平滑化し、
前記境界を平滑化した前記仮想参照サブピクチャに基づいて前記仮想参照ピクチャを構成し、
該構成した仮想参照ピクチャを前記復号化ピクチャバッファに格納し、
前記復号化ピクチャバッファに格納した1つ又は複数の復号化した参照ピクチャを用いて前記現在のピクチャを復号化するステップをさらに含む、方法。
【請求項2】
前記現在のピクチャが前記仮想参照ピクチャを使用しないと判定され
たことに基づいて、前記現在のピクチャに対して生成される前記仮想参照ピクチャが、将来のピクチャに使用されるかどうかを判定するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記仮想参照ピクチャが前記将来のピクチャに使用されると判定され
たことに基づいて、
前記将来のピクチャについて、前記隣接参照ピクチャから前記仮想参照ピクチャを生成するステップと、
該生成した仮想参照ピクチャを前記復号化ピクチャバッファに格納するステップと、
前記生成した仮想参照ピクチャを非アクティブな参照ピクチャリストに追加するステップと、をさらに含む、請求項2に記載の方法。
【請求項4】
前記仮想参照ピクチャが前記将来のピクチャに使用されないと判定され
たことに基づいて、1つ又は複数の復号化した参照ピクチャのみを前記アクティブな参照ピクチャリストに追加するステップをさらに含む、請求項2に記載の方法。
【請求項5】
前記現在のピクチャが前記仮想参照ピクチャを使用しないと判定され
たことに基づいて、前記復号化ピクチャバッファに格納した1つ又は複数の復号化した参照ピクチャを用いて前記現在のピクチャを復号化するステップをさらに含む、請求項1に記載の方法。
【請求項6】
前記仮想参照ピクチャが前記複数の仮想サブピクチャにパーティション分割されないと判定され
たことに基づいて、
前記現在のピクチャについて、前記隣接参照ピクチャから前記仮想参照ピクチャを生成するステップと、
該生成した仮想参照ピクチャを前記復号化ピクチャバッファに格納するステップと、
前記復号化ピクチャバッファに格納した1つ又は複数の復号化した参照ピクチャを用いて前記現在のピクチャを復号化するステップと、をさらに含む、請求項
1に記載の方法。
【請求項7】
前記現在のピクチャについて、前記仮想参照ピクチャを生成するステップは、
前記隣接参照ピクチャのオプティカルフローを推定するステップと、
前記隣接参照ピクチャの前記推定したオプティカルフローを補償するステップと、
前記オプティカルフローを補償した前記隣接参照ピクチャの詳細を強調して、前記仮想参照ピクチャを生成するステップと、を含む、請求項1に記載の方法。
【請求項8】
ビデオシーケンスの現在のピクチャのインターピクチャ予測を行うための機器であって、当該機器は、
コンピュータプログラムコードを格納するように構成された少なくとも1つのメモリと、
該少なくとも1つのメモリにアクセスし、前記コンピュータプログラムコードに従って動作するように構成された少なくとも1つのプロセッサと、含み、
前記コンピュータプログラムコードが前記少なくとも1つのプロセッサによって実行されると、該少なくとも1つのプロセッサに、
請求項1乃至
7のいずれか一項に記載の方法を実行させる、
機器。
【請求項9】
ビデオシーケンスの現在のピクチャのインターピクチャ予測を行うための命令を記憶する非一時的なコンピュータ可読記憶媒体であって、前記命令が少なくとも1つのプロセッサによって実行されると、該少なくとも1つのプロセッサに、
請求項1乃至
7のいずれか一項に記載の方法を実行させる
非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本願は、米国特許商標庁に2020年9月24日に出願した米国仮特許出願第63/082,784号、2020年9月25日に出願した米国仮特許出願第63/083,527号、及び2021年5月25日に出願した米国特許出願第17/329,751号による優先権を主張するものであり、これらの文献は、その全体が参照により本明細書に組み込まれる。
【0002】
実施形態と一致する方法及び機器は、ビデオコーディング(coding)、より具体的には、ビデオコーディングに関して仮想参照ピクチャを用いたインターピクチャ予測のための方法及び機器に関する。
【背景技術】
【0003】
動き補償を伴うインターピクチャ予測を使用するビデオコーディング(符号化)及び復号化が、何十年もの間知られている。非圧縮デジタルビデオは、一連のピクチャで構成することができ、各ピクチャは、例えば、1920×1080の輝度サンプル及び関連する色差サンプルの空間次元を有する。一連のピクチャは、固定又は可変のピクチャレート(非公式にはフレームレートとしても知られている)、例えば1秒あたり60枚のピクチャ、つまり60Hzにすることができる。非圧縮ビデオには、重要なビットレート要件がある。例えば、サンプルあたり8ビットの1080p60 4:2:0ビデオ(60Hzフレームレートで1920×1080の輝度サンプル解像度)には、1.5Gbit/sに近い帯域幅が必要である。このようなビデオを1時間使用するには、600Gバイトを超えるストレージスペースが必要である。
【0004】
ビデオの符号化及び復号化の1つの目的は、圧縮によって、入力ビデオ信号の冗長性を低減することであり得る。圧縮は、前述の帯域幅又はストレージスペースの要件を、場合によっては2桁以上削減するのに役立ち得る。可逆(lossless)圧縮と非可逆(lossy)圧縮との両方、及びそれらの組合せを使用することができる。可逆圧縮とは、圧縮した元の信号から元の信号の正確なコピーを再構成することができる技術を指す。非可逆圧縮を使用する場合に、再構成した信号は元の信号と同一ではない場合があるが、元の信号と再構成した信号との間の歪みは、再構成した信号を目的のアプリケーションに役立つようにするのに十分小さくなり得る。ビデオの場合に、非可逆圧縮が広く使用されている。許容される歪みの量は、アプリケーションによって異なる。例えば、消費者向けストリーミングアプリケーションのユーザは、テレビ目的(contribution)アプリケーションのユーザよりも高い歪みを許容する可能性がある。達成可能な圧縮率は、許容/容認歪みが高いほど、圧縮率が高くなる可能性があることを反映し得る。
【0005】
ビデオエンコーダ及びデコーダは、例えば、動き補償、変換、量子化、及びエントロピーコーディングを含む、いくつかの広範なカテゴリからの技術を利用することができ、それらのいくつかを以下に紹介する。
【発明の概要】
【0006】
実施形態によれば、ビデオシーケンスの現在のピクチャのインターピクチャ予測を行う方法は、少なくとも1つのプロセッサによって実行され、この方法は、現在のピクチャが仮想参照ピクチャを使用するかどうかを判定するステップと;現在のピクチャが仮想参照ピクチャを使用すると判定されることに基づいて、現在のピクチャについて、仮想参照ピクチャに最も近いネイバー(neighbors)である隣接参照ピクチャから仮想参照ピクチャを生成するステップと;生成した仮想参照ピクチャを復号化ピクチャバッファに格納するステップと;生成した仮想参照ピクチャをアクティブな参照ピクチャリストに追加するステップと;を含む。この方法は、仮想参照ピクチャを追加したアクティブな参照ピクチャリストに基づいて、現在のピクチャのインターピクチャ予測を行うステップをさらに含む。
【0007】
実施形態によれば、ビデオシーケンスの現在のピクチャのインターピクチャ予測を行うための機器は、コンピュータプログラムコードを格納するように構成された少なくとも1つのメモリと、少なくとも1つのメモリにアクセスし、コンピュータプログラムコードに従って動作するように構成された少なくとも1つのプロセッサとを含む。コンピュータプログラムコードには、少なくとも1つのプロセッサに、現在のピクチャが仮想参照ピクチャを使用するかどうかを判定させるように構成された第1の判定コードと;現在のピクチャが仮想参照ピクチャを使用するように判定されることに基づいて、少なくとも1つのプロセッサに、現在のピクチャについて、仮想参照ピクチャに最も近いネイバーである隣接参照ピクチャから仮想参照ピクチャを生成させるように構成された生成コードと;少なくとも1つのプロセッサに、生成した仮想参照ピクチャを復号化ピクチャバッファに格納させるように構成された格納コードと;少なくとも1つのプロセッサに、生成した仮想参照ピクチャをアクティブな参照ピクチャリストに追加させるように構成された追加コードと;仮想参照ピクチャを追加したアクティブな参照ピクチャリストに基づいて、少なくとも1つのプロセッサに、現在のピクチャのインターピクチャ予測を実行させるように構成された実行コードと;が含まれる。
【0008】
実施形態によれば、ビデオシーケンスの現在のピクチャのインターピクチャ予測を行うための命令を格納する非一時的なコンピュータ可読記憶媒体であって、命令が少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに、現在のピクチャが仮想参照ピクチャを使用するかどうかを判定すること;現在のピクチャが仮想参照ピクチャを使用すると判定されることに基づいて、現在のピクチャについて、仮想参照ピクチャに最も近いネイバーである隣接参照ピクチャから仮想参照ピクチャを生成すること;生成した仮想参照ピクチャを復号化ピクチャバッファに格納すること;及び生成した仮想参照ピクチャをアクティブな参照ピクチャリストに追加すること;を行わせる。命令は、少なくとも1つのプロセッサによって実行されると、仮想参照ピクチャを追加したアクティブな参照ピクチャリストに基づいて、少なくとも1つのプロセッサに、現在のピクチャのインターピクチャ予測をさらに実行させる。
【図面の簡単な説明】
【0009】
【
図1】一実施形態による通信システムの簡略化したブロック図の概略図である。
【
図2】一実施形態によるストリーミングシステムの簡略化したブロック図の概略図である。
【
図3】一実施形態によるデコーダの簡略化したブロック図の概略図である。
【
図4】一実施形態によるエンコーダの簡略化したブロック図の概略図である。
【
図5A】一実施形態による、仮想参照ピクチャの生成及び参照ピクチャリストへの挿入の概略図である。
【
図5B】一実施形態による仮想参照ピクチャ生成プロセスの概略図である。
【
図6A】一実施形態による、仮想参照ピクチャを用いてコード化したビデオストリームを復号化する方法のフロー図である。
【
図6B】一実施形態による、仮想参照サブピクチャを用いてコード化したビデオストリームを復号化する方法のフロー図である。
【
図7】一実施形態によるコンピュータシステムの概略図である。
【
図8】一実施形態によるアフィン予測モードの概略図である。
【
図9】一実施形態によるデコーダ側の動きベクトルの改良の概略図である。
【発明を実施するための形態】
【0010】
生のビデオデータが圧縮されるときに、コード化されるビットストリーム内の冗長なデータを減らすために、インター(inter:相互)相関/イントラ(intra:内部)相関が利用される。特に、インターピクチャ予測技術は、動きの推定及び補償を用いて、インターピクチャ(画像間)の冗長性を取り除くために広く使用されてきた。オブジェクト及び背景の動きを補償することにより、より正確な予測によって、残差データのエントロピーを減らすことができる。より前方又は後方の参照ピクチャを利用することで、様々なビデオコーディングフレームワーク及び規格でより効率的な圧縮が提供されている。しかしながら、動き補償を含む多くの効率的なアルゴリズムによってコーディング効率が改善されたが、依然として、インター予測後の残差データは通常残り、コード化されるビットサイズを増大させる。本開示では、残差データを減らし、コーディング効率を高めるために、他の復号化した参照ピクチャからより正確な参照ピクチャが生成される。卓越したアルゴリズム又はニューラルネットワーク処理の助けを借りて、生成した参照ピクチャは、ビデオ圧縮のより正確な予測をもたらすことができる。
【0011】
図1は、一実施形態による通信システム(100)の簡略化したブロック図の概略図である。
【0012】
システム(100)は、ネットワーク(150)を介して相互接続された少なくとも2つの端末(110~120)を含み得る。データの一方向送信の場合に、第1の端末(110)は、ネットワーク(150)を介して他の端末(120)に送信するために、ローカル位置でビデオデータをコード化し得る。第2の端末(120)は、ネットワーク(150)から他の端末のコード化したビデオデータを受信し、コード化したデータを復号化し、復元したビデオデータを表示することができる。一方向データ送信は、メディアサービス提供アプリケーション等で実行することができる。
【0013】
図1は、例えば、ビデオ会議中に発生し得るコード化したビデオの双方向送信をサポートするために提供される第2のペアの端末(130,140)を示している。データの双方向送信の場合に、各端末(130,140)は、ネットワーク(150)を介して他の端末に送信するために、ローカル位置でキャプチャしたビデオデータをコード化し得る。各端末(130,140)はまた、他の端末によって送信されたコード化したビデオデータを受信し得、コード化したデータを復号化し得、復元したビデオデータをローカル表示装置に表示し得る。
【0014】
図1において、端末(110~140)は、サーバ、パーソナルコンピュータ、及びスマートフォンとして示され得るが、本開示の原理は、そのように限定されない場合がある。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、及び/又は専用のビデオ会議機器を用いた用途を見出す。ネットワーク(150)は、例えば、有線及び/又は無線通信ネットワークを含む、端末(110~140)の間でコード化したビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(150)は、回線交換及び/又はパケット交換チャネルでデータを交換することができる。代表的なネットワークには、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又はインターネットが含まれる。本議論の目的のために、ネットワーク(150)のアーキテクチャ及びトポロジーは、本明細書で以下に説明しない限り、本開示の動作にとって重要ではない場合がある。
【0015】
図2は、一実施形態によるストリーミングシステム(200)の簡略化したブロック図の概略図である。
【0016】
図2は、開示する主題のアプリケーションの例として、ストリーミング環境におけるビデオエンコーダ及びデコーダの配置を示している。開示する主題は、例えば、ビデオ会議、デジタルテレビを含む他のビデオ対応アプリケーションに、CD、DVD、メモリスティック等を含むデジタルメディアへの圧縮ビデオの格納に等しく適用することができる。
【0017】
ストリーミングシステムは、ビデオソース(201)、例えばデジタルカメラを含むことができ、例えば非圧縮ビデオサンプルストリーム(202)を作成するキャプチャサブシステム(213)を含むことができる。符号化したビデオビットストリームと比較したときにデータ量が多いことを強調するために太線で示されるそのサンプルストリーム(202)は、カメラ(201)に結合したエンコーダ(203)によって処理することができる。エンコーダ(203)は、以下でより詳細に説明するように、開示する主題の態様を有効にするか又は実施するために、ハードウェア、ソフトウェア、又はそれらの組合せを含むことができる。符号化したビデオビットストリーム(204)は、サンプルストリームと比較したときにデータ量が少ないことを強調するために細線で示され、将来の使用のためにストリーミングサーバ(205)に格納することができる。1つ又は複数のストリーミングクライアント(206,208)は、ストリーミングサーバ(205)にアクセスして、符号化したビデオビットストリーム(204)のコピー(207,209)を検索(retrieve:取得)することができる。クライアント(206)は、符号化したビデオビットストリーム(205)の着信コピーを復号化し、ディスプレイ(212)又は他のレンダリング装置(図示せず)上でレンダリングすることができる発信ビデオサンプルストリーム(211)を作成するビデオデコーダ(210)を含むことができる。一部のストリーミングシステムでは、ビデオビットストリーム(204,207,209)をビデオコーディング/圧縮規格に従って符号化することができる。開発中のビデオコーディング規格は、非公式にVersatile Video Coding、つまりVVCとして知られている。開示する主題は、VVCの文脈で使用され得る。
【0018】
図3は、一実施形態によるデコーダ(210)の簡略化したブロック図の概略図である。
【0019】
受信機(310)は、デコーダ(210)によって復号化される1つ又は複数のコーデックビデオシーケンス(同じ又は別の実施形態において、一度に1つのコード化したビデオシーケンスであり、各コード化したビデオシーケンスの復号化は、他のコード化したビデオシーケンスから独立している)を受信することができる。コード化したビデオシーケンスは、チャネル(312)から受信され得、チャネル(312)は、符号化したビデオデータを記憶する記憶装置へのハードウェア/ソフトウェアリンクであり得る。受信機(310)は、他のデータ、例えば、コード化した音声データ及び/又は補助データストリームと共に符号化したビデオデータを受信することができ、これらは、それぞれの使用エンティティ(図示せず)に転送され得る。受信機(310)は、コード化したビデオシーケンスを他のデータから分離することができる。ネットワークジッターに対抗するために、バッファメモリ(315)を、受信機(310)とエントロピーデコーダ/パーサー(320)(以下「パーサー」)との間に結合することができる。受信機(310)が、十分な帯域幅及び可制御性の記憶装置/転送装置から、又は等同期ネットワークからデータを受信しているときに、バッファ(315)は必要ないか、又は小さい可能性がある。インターネット等のベストエフォートパケットネットワークで使用するには、バッファ(315)が、必要になる場合があり、比較的大きい可能性があり、適応サイズを有利にすることができる。
【0020】
ビデオデコーダ(210)は、エントロピーコード化ビデオシーケンスからシンボル(321)を再構成するためのパーサー(320)を含み得る。
図2に示されるように、これらのシンボルのカテゴリには、デコーダ(210)の動作を管理するために使用される情報、及びデコーダの一体的な部分ではないが、デコーダに結合することができるディスプレイ(212)等のレンダリング装置を制御するための潜在的な情報が含まれる。レンダリング装置の制御情報は、補足拡張情報(SEIメッセージ)又はビデオユーザビリティ情報(VUI)パラメータセットフラグメント(図示せず)の形式であり得る。パーサー(320)は、受信したコード化したビデオシーケンスを解析/エントロピー復号化することができる。コード化したビデオシーケンスのコーディングは、ビデオコーディング技術又は規格に従うことができ、コンテキスト感度の有無にかかわらず可変長コーディング、ハフマンコーディング、算術コーディング等を含む当業者によく知られた原理に従うことができる。パーサー(320)は、グループに対応する少なくとも1つのパラメータに基づいて、コード化したビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループの任意の1つ又は任意の組合せに対するサブグループパラメータのセットを抽出することができる。サブグループには、ピクチャのグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(CU)、ブロック、変換ユニット(TU)、予測ユニット(PU)等を含めることができる。エントロピーデコーダ/パーサーは、変換係数、量子化器のパラメータ値、動きベクトル等の情報をコード化したビデオシーケンスから抽出することもできる。
【0021】
パーサー(310)は、バッファ(315)から受信したビデオシーケンスに対してエントロピー復号化/解析動作を実行して、シンボル(321)を作成することができる。
【0022】
シンボル(321)の再構成は、コード化したビデオピクチャ又はその一部のタイプ(例えば、インターピクチャ(ピクチャ間)及びイントラピクチャ(ピクチャ内)、インターブロック(ブロック間)及びイントラブロック(ブロック内))、及び他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットが関与し、どの様に関与するかは、パーサー(320)によってコード化したビデオシーケンスから解析されたサブグループ制御情報によって制御することができる。パーサー(320)と以下の複数のユニットとの間のそのようなサブグループ制御情報のフローは、明確にするために描いていない。
【0023】
既に述べた機能ブロックを超えて、デコーダ210は、以下に説明するように、概念的にいくつかの機能ユニットに細分化(subdivide:再分割)することができる。商業的制約の下で動作する実際の実施態様では、これらのユニットの多くは、互いに密接に相互作用し、少なくとも部分的には互いに統合することができる。しかしながら、開示する主題を説明するために、以下の機能ユニットへの概念的な細分化が適切である。
【0024】
第1のユニットは、スケーラ/逆変換ユニット(351)である。スケーラ/逆変換ユニット(351)は、量子化した変換係数、及び使用する変換、ブロックサイズ、量子化係数、量子化スケーリング行列等を含む制御情報を、パーサー(320)からシンボル(321)として受け取る。そのスケーラ/逆変換ユニット(351)は、アグリゲータ(355)に入力できるサンプル値を含むブロックを出力することができる。
【0025】
場合によっては、スケーラ/逆変換ユニット(351)の出力サンプルは、イントラコード化ブロック(つまり、以前に再構成したピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成した部分からの予測情報を使用することができるブロック)に関係し得る。そのような予測情報は、イントラピクチャ予測ユニット(352)によって提供することができる。場合によっては、イントラピクチャ予測ユニット(352)は、現在の(部分的に再構成した)ピクチャ(356)からフェッチした既に再構成した周囲の情報を使用して、再構成中のブロックと同じサイズ及び形状のブロックを生成する。アグリゲータ(355)は、場合によっては、サンプル毎に、イントラピクチャ予測ユニット(352)が生成した予測情報を、スケーラ/逆変換ユニット(351)によって提供される出力サンプル情報に追加する。
【0026】
他の場合には、スケーラ/逆変換ユニット(351)の出力サンプルは、インターコード化され、潜在的に動き補償されたブロックに関係し得る。そのような場合に、動き補償予測ユニット(353)は、参照ピクチャメモリ(357)にアクセスして、予測に使用されるサンプルをフェッチすることができる。ブロックに関連するシンボル(321)に従ってフェッチしたサンプルを動き補償した後に、これらのサンプルは、アグリゲータ(355)によってスケーラ/逆変換ユニットの出力に追加され(この場合に、残差サンプル又は残差信号と呼ばれる)、出力サンプル情報を生成することができる。動き補償ユニットが予測サンプルをフェッチする参照ピクチャメモリフォーム内のアドレスは、動きベクトルによって制御することができ、例えば、X、Y、及び参照ピクチャ成分を有し得るシンボル(321)の形態で動き補償ユニットに利用可能である。動き補償には、サブサンプルの正確な動きベクトルが使用されているときに参照ピクチャメモリからフェッチしたサンプル値の補間、動きベクトル予測メカニズム等も含まれ得る。
【0027】
アグリゲータ(355)の出力サンプルは、ループフィルタユニット(358)における様々なループフィルタリング技術の対象となり得る。ビデオ圧縮技術は、コード化したビデオビットストリームに含まれるパラメータによって制御され、パーサー(320)からのシンボル(321)としてループフィルタユニット(358)に利用可能になるインループ(in-loop)フィルタ技術を含むことができるが、コード化したピクチャ又はコード化したビデオシーケンスの以前の(復号化順で)部分の復号化中に取得した情報に応答し、及び以前に再構成され、ループフィルタ処理されたサンプル値に応答することもできる。
【0028】
ループフィルタユニット(358)の出力は、将来のインターピクチャ予測で使用するために、レンダリング装置(212)に出力され得るだけでなく、参照ピクチャメモリ(357)に格納され得るサンプルストリームであり得る。
【0029】
コード化したピクチャは、完全に再構成されると、将来の予測のための参照ピクチャとして使用することができる。コード化したピクチャが完全に再構成され、コード化したピクチャが(例えば、パーサー(320)によって)参照ピクチャとして識別されると、現在の参照ピクチャ(356)は、参照ピクチャバッファ(357)の一部になることができ、次のコード化したピクチャの再構成を開始する前に、新しい現在のピクチャメモリを再割り当てすることができる。
【0030】
ビデオデコーダ320は、規格で文書化され得る所定のビデオ圧縮技術に従って復号化動作を実行することができる。コード化したビデオシーケンスは、ビデオ圧縮技術の文書又は規格で及びその中のプロファイル文書で指定されるビデオ圧縮技術又は規格の構文に準拠しているという意味で、使用されているビデオ圧縮技術又は規格で指定されている構文に準拠することができる。また、コンプライアンスのために必要なのは、コード化したビデオシーケンスの複雑さが、ビデオ圧縮技術又は規格のレベルによって規定された境界(範囲)内にあることである。場合によっては、レベルによって、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、1秒あたりのメガサンプルで測定される)、最大参照ピクチャサイズ等が制限される。レベルによって設定された制限は、場合によっては、仮想参照デコーダ(HRD)の仕様と、コード化したビデオシーケンスで通知されるHRDバッファ管理のメタデータによってさらに制限され得る。
【0031】
一実施形態では、受信機(310)は、符号化したビデオと共に追加の(冗長な)データを受信し得る。追加のデータは、コード化したビデオシーケンスの一部として含まれ得る。追加のデータは、データを適切に復号化するため、及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ(210)によって使用され得る。追加のデータは、例えば、時間的、空間的、又はSNR拡張層、冗長スライス、冗長ピクチャ、前方誤り訂正コード等の形式であり得る。
【0032】
図4は、一実施形態によるエンコーダ(203)の簡略化したブロック図の概略図である。
【0033】
エンコーダ(203)は、エンコーダ(203)によってコード化されるビデオ画像をキャプチャすることができるビデオソース(201)(エンコーダの一部ではない)からビデオサンプルを受信することができる。
【0034】
ビデオソース(201)は、任意の適切なビット深度(例えば、8ビット、10ビット、12ビット、・・・)、任意の色空間(例えば、BT.601 Y CrCB、RGB、・・・)、及び任意の適切なサンプリング構造(例えば、Y CrCB 4:2:0、Y CrCB 4:4:4)であり得るデジタルビデオサンプルストリームの形態で、エンコーダ(203)によってコード化されるソースビデオシーケンスを提供することができる。メディアサービス提供システムでは、ビデオソース(201)は、以前に準備したビデオを記憶する記憶装置であり得る。ビデオ会議システムでは、ビデオソース(201)は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、順番に見たときに動きを与える複数の個別のピクチャとして提供され得る。ピクチャ自体は、ピクセルの空間アレイとして編成することができ、各ピクセルは、使用中のサンプリング構造、色空間等に応じて、1つ又は複数のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明は、サンプルに焦点を当てている。
【0035】
一実施形態によれば、エンコーダ(203)は、リアルタイムで、又はアプリケーションによって必要とされる他の任意の時間制約の下で、ソースビデオシーケンスのピクチャをコード化し及びコード化したビデオシーケンス(443)に圧縮することができる。適切なコーディング速度を強制することは、コントローラ(450)の1つの機能である。コントローラは、以下に説明するように他の機能ユニットを制御し、これらのユニットに機能的に結合される。明確にするために、結合は描いていない。コントローラによって設定されるパラメータには、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のラムダ値等)、ピクチャサイズ、ピクチャのグループ(GOP)レイアウト、最大動きベクトル検索範囲等が含まれ得る。当業者は、システム設計のために最適化したビデオエンコーダ(203)に関係する可能性があるため、コントローラ(450)の他の機能を容易に識別することができる。
【0036】
いくつかのビデオエンコーダは、当業者が「コーディング・ループ」として容易に認識できるもので動作する。過度に単純化した説明として、コーディング・ループは、エンコーダ(430)(以下、「ソースコーダ」)の符号化部分(コード化される入力ピクチャ及び参照ピクチャに基づいてシンボルを作成する責任がある)、及びエンコーダ(203)に埋め込まれた(ローカル)デコーダ(433)から構成することができ、デコーダ(433)は、(リモート)デコーダも作成する(シンボルとコード化したビデオビットストリームとの間の圧縮は、開示する主題で考慮されるビデオ圧縮技術ではロスレスであるため)サンプルデータを作成するためにシンボルを再構成する。その再構成したサンプルストリームは、参照ピクチャメモリ(434)に入力される。シンボルストリームの復号化により、デコーダの場所(ローカル又はリモート)に関係なくビット精度の結果が得られるため、参照ピクチャバッファのコンテンツもローカルエンコーダとリモートエンコーダとの間でビット精度が高くなる。換言すると、エンコーダの予測部分は、復号化中に予測を使用するときにデコーダが「見る」のと全く同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(及び、例えばチャネルエラーのために同期性を維持できない場合は結果として生じるドリフト)のこの基本原理は、当業者によく知られている。
【0037】
「ローカル」デコーダ(433)の動作は、「リモート」デコーダ(210)の動作と同じであり得、これは、
図3に関連して上で既に詳細に説明している。しかしながら、
図3も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ(445)及びパーサー(320)によるコード化したビデオシーケンスへのシンボルの符号化/復号化はロスレスである可能性があるため、チャネル(312)、受信機(310)、バッファ(315)、及びパーサー(320)を含むデコーダ(210)のエントロピー復号化部分は、ローカルデコーダ(433)に完全には実装されていない可能性がある。
【0038】
この時点で行うことができる観察は、構文解析/エントロピー復号化を除くデコーダに存在する任意のデコーダ技術も、対応するエンコーダに実質的に同一の機能形式で必然的に存在する必要があるかもしれないということである。このため、開示する主題は、デコーダの動作に焦点を合わせている。エンコーダ技術の説明は、包括的に説明しているデコーダ技術の逆であるため、省略することができる。特定の場所でのみ、より詳細な説明が必要になる場合があり、以下に提供する。
【0039】
その動作の一部として、ソースコーダ(430)は、「参照フレーム」として指定されたビデオシーケンスからの1つ又は複数の以前にコード化したフレームを参照して入力フレームを予測的にコード化する動き補償予測コーディングを実行することができる。このようにして、コーディングエンジン(432)は、入力フレームのピクセルブロックと、入力フレームへの予測参照として選択され得る参照フレームのピクセルブロックとの間の差をコード化する。
【0040】
ローカルビデオデコーダ(433)は、ソースコーダ(430)によって作成されたシンボルに基づいて、参照フレームとして指定され得るフレームのコード化したビデオデータを復号化することができる。コーディングエンジン(432)の動作は、有利には、不可逆プロセスであり得る。コード化したビデオデータがビデオデコーダで復号化され得る場合に、再構成したビデオシーケンスは、いくつかのエラーを伴うソースビデオシーケンスの複製であり得る。ローカルビデオデコーダ(433)は、ビデオデコーダによって参照フレームに対して実行され得る復号化プロセスを複製し、再構成した参照フレームを参照ピクチャキャッシュ(434)に格納させることができる。このようにして、エンコーダ(203)は、遠端ビデオデコーダによって取得される(送信エラーがない)再構成した参照フレームとして共通のコンテンツを有する再構成した参照フレームのコピーをローカルに格納することができる。
【0041】
予測器(435)は、コーディングエンジン(432)の予測検索を実行することができる。すなわち、コード化される新しいフレームについて、予測器(435)は、参照ピクチャメモリ(434)を検索して、サンプルデータ(候補参照ピクセルブロックとして)又は参照ピクチャ動きベクトル、ブロック形状等のメタデータを探すことができ、それは新しいピクチャの適切な予測参照として役立ち得る。予測器(435)は、適切な予測参照を見つけるために、ピクセルブロック毎のサンプルブロック(sample block-by-pixel block basis)に基づいて動作することができる。場合によっては、予測器(435)によって取得された検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ(434)に格納された複数の参照ピクチャから引き出された予測参照を有することができる。
【0042】
コントローラ(450)は、例えば、ビデオデータを符号化するために使用されるパラメータ及びサブグループパラメータの設定を含む、ビデオコーダ(430)のコーディング動作を管理することができる。
【0043】
前述の全ての機能ユニットの出力は、エントロピーコーダ(445)においてエントロピーコーディングを受けることができる。エントロピーコーダは、例えばハフマンコーディング、可変長コーディング、算術コーディング等の当業者に知られている技術に従ってシンボルを可逆に圧縮することによって、様々な機能ユニットによって生成されたシンボルを符号化ビデオシーケンスに変換する。
【0044】
送信機(440)は、エントロピーコーダ(445)によって作成されたコード化ビデオシーケンスをバッファリングして、それを、通信チャネル(460)を介した送信のために準備することができ、その通信チャネル(460)は、符号化したビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであり得る。送信機(440)は、ビデオコーダ(430)からのコード化したビデオデータを、送信される他のデータ、例えば、コード化した音声データ及び/又は補助データストリームとマージすることができる。
【0045】
コントローラ(450)は、エンコーダ(203)の動作を管理することができる。コーディング中に、コントローラ(450)は、各コード化したピクチャにコード化ピクチャタイプを割り当てることができ、このタイプは、それぞれのピクチャに適用され得るコーディング技術に影響を及ぼし得る。例えば、ピクチャは、大抵の場合、次のフレームタイプのいずれかとして割り当てられ得る。
【0046】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のフレームを使用せずにコード化及び復号化され得るピクチャであり得る。一部のビデオコーデックでは、例えばIndependent Decoder Refresh Pictures等、様々なタイプのイントラピクチャを使用できる。当業者は、Iピクチャのそれらの変形及びそれらのそれぞれの用途及び特徴を知っている。
【0047】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトル及び参照インデックスを使用するイントラ予測又はインター予測を使用してコード化及び復号化され得るピクチャであり得る。
【0048】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大2つの動きベクトル及び参照インデックスを使用するイントラ予測又はインター予測を使用してコード化及び復号化され得るピクチャであり得る。同様に、複数の予測ピクチャは、単一のブロックの再構成のために3つ以上の参照ピクチャ及び関連するメタデータを使用することができる。
【0049】
ソースピクチャは、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、又は16×16サンプルのブロック)に細分化され、ブロック毎にコード化され得る。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定されるように、他の(既にコード化した)ブロックを参照して予測的にコード化され得る。例えば、Iピクチャのブロックは、非予測的にコード化される場合もあれば、同じピクチャの既にコード化したブロックを参照して予測的にコード化される場合もある(空間予測又はイントラ予測)。Pピクチャのピクセルブロックは、空間予測を介して、又は以前にコード化した1つの参照ピクチャを参照する時間予測を介して、非予測的にコード化され得る。Bピクチャのブロックは、空間予測を介して、又は以前にコード化した1つ又は2つの参照ピクチャを参照する時間予測を介して、非予測的にコード化され得る。
【0050】
従来のアフィン運動モデルは、6つのパラメータから構成される。
図8の部分(a)に示されるように、所与のアフィンモードの位置(x,y)での各ピクセルについて、その動きベクトル(MV)(vx,vy)は、3つのコーナー制御点の動きベクトルによって線形補間することができる。
図8の部分(b)に示されるように、アフィンオブジェクトの動きを記述するために4つのパラメータ(つまり、2つの制御点位置での同等の動きベクトル)のみが必要とされるアフィンモードの簡略化したバージョンも考慮される。この場合に、位置(x,y)の動きベクトルは、式(1)のように、左上隅及び右上隅の動きベクトルを使用して表すことができる。この定式化によれば、現在のブロック内の各ピクセルの動きベクトルは、2つ(又は6パラメータの場合には3つ)のコーナー制御点の動きベクトルの加重平均として計算される。VVC規格では、CUレベルフラグを使用して、4パラメータのアフィンモードと6パラメータのアフィンモードとを切り替える。
【0051】
【0052】
アフィンコード化ブロック内の各サンプルは、上記の式を使用して独自の動きベクトルを導出することができるが、実際には、VVC規格におけるアフィン動き補償は、実施態様の複雑さを軽減するためにサブブロックベースで動作する。つまり、現在のコーディングユニットの各4×4ルマ(luma:輝度)領域は、そのサブブロックの動きベクトルを導出するために、ユニット全体と見なされる(このサブブロックの中心位置を代表的な位置として使用する)。アフィン動き補償の精度を高めるために、1/16-ペル(pel:ピクセル)ルマMV解像度及び1/32クロマ(chroma:色差)MV解像度が使用される。アフィンコード化ブロックの場合に、その制御点の動きベクトル(CPMV)は、隣接するアフィンコード化ブロックからの導出によって予測することができる。隣接するブロック及び現在のブロックが同じアフィンオブジェクト内にあると仮定すると、現在のブロックのCPMVは、隣接するブロックのCPMVとこれら隣接するブロックの間の距離を使用して導出することができる。この予測は、派生(derived)アフィン予測と呼ばれる。アフィンコード化ブロックのCPMVは、各コーナーの空間的に隣接するコード化ブロックからのMVによって予測することもできる。この予測は、構成(constructed)アフィン予測と呼ばれる。予測後に、現在のブロックのCPMV毎に、通常のインター動きベクトル方向(MVD)コーディングと同じように、予測の差がエントロピーコーディングの対象になる。アフィンの場合に、予測リスト毎に、参照リスト毎に最大3MVの差がコード化される。通知されるMV差のあるアフィンモードと、両方の派生予測からの候補を使用するアフィンマージモードとの両方がサポートされる。
【0053】
マージモードのMVの精度を高めるために、双方向マッチング(BM)ベースのデコーダ側動きベクトルの改良(refinement)が、VVCソフトウェアの現在のドラフトに適用される。双方向予測動作では、参照ピクチャリストL0及び参照ピクチャリストL1の初期MVの周囲で改良したMVが検索される。BM方法は、参照ピクチャリストL0及びリストL1の2つの候補ブロックの間の歪みを計算する。
図9に示されるように、初期MVの周りの各MV候補に基づく黒い(black)ブロック同士の間の絶対差(SAD)の合計が計算される。SADが最も低いMV候補は、改良したMVになり、双方向予測信号を生成するために使用される。デコーダ側の動きベクトルの改良(DMVR)プロセスによって導出された改良したMVは、インター予測サンプルを生成するために使用され、将来のピクチャコーディングのための時間的動きベクトル予測にも使用される。元のMVは、デブロッキングプロセスで使用され、将来のCUコーディングの空間動きベクトル予測でも使用される。
【0054】
ビデオエンコーダ(203)は、ITU-T Rec.H.265等の所定のビデオコーディング技術又は規格に従ってコーディング動作を実行することができる。その動作において、ビデオエンコーダ(203)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を利用する予測コーディング動作を含む、様々な圧縮動作を実行することができる。従って、コード化したビデオデータは、使用されているビデオコーディング技術又は規格によって指定された構文に準拠することができる。
【0055】
一実施形態では、送信機(440)は、符号化したビデオと共に追加のデータを送信することができる。ビデオコーダ(430)は、コード化したビデオシーケンスの一部としてそのようなデータを含み得る。追加データには、時間的/空間的/SNR拡張層、冗長なピクチャ及びスライス等の他の形態の冗長データ、補足拡張情報(SEI)メッセージ、ビジュアルユーザビリティ情報(VUI)パラメータセットフラグメント等が含まれ得る。
【0056】
開示する主題の態様をより詳細に説明する前に、この説明の残りの部分で参照される、いくつかの用語を紹介する必要がある。
【0057】
以下のサブピクチャは、場合によっては、意味的にグループ化され、変更した解像度で独立してコード化され得る、サンプル、ブロック、マクロブロック、コーディングユニット、又は同様のエンティティの長方形の配置を指す。1つのピクチャに対して1つ又は複数のサブピクチャがある。1つ又は複数のコード化したサブピクチャは、コード化したピクチャを形成し得る。1つ又は複数のサブピクチャをピクチャに組み立てることができ、1つ又は複数のサブピクチャをピクチャから抽出することができる。環境では、1つ又は複数のコード化したサブピクチャを、サンプルレベルにトランスコードせずに圧縮ドメインでコード化したピクチャに組み立てることができ、同じ又は他の場合には、1つ又は複数のコード化したサブピクチャを、圧縮ドメインでコード化したピクチャから抽出することができる。
【0058】
VVC又は他のビデオコーディングフレームワーク又は規格では、復号化したピクチャは、参照ピクチャリスト(RPL)に含まれ得、参照ピクチャとしての動き補償予測及び次のピクチャを符号化又は復号化の順序でコーディングするための他のパラメータ予測に使用され得、又は現在のピクチャの異なる領域又はブロックをコーディングするためのイントラ予測又はイントラブロックコピーに使用することができる。
【0059】
一実施形態では、1つ又は複数の仮想参照が、生成され、エンコーダとデコーダとの両方で、又はデコーダのみでRPLに含められ得る。仮想参照ピクチャは、信号処理、空間的又は時間的フィルタリング、スケーリング、加重平均、アップ/ダウンサンプリング、プーリング、メモリを用いた再帰的処理、線形システム処理、非線形システム処理、ニューラルネットワーク処理、深層学習ベースの処理、AI処理、予めトレーニングしたネットワーク処理、機械学習ベースの処理、オンライントレーニングネットワーク処理、コンピュータビジョンベースの処理、又はそれらの組合せを含む1つ又は複数のプロセスによって生成され得る。仮想参照を生成する処理のために、出力/表示順序及び符号化/復号化順序の両方で現在のピクチャに先行する0個以上の前方参照ピクチャ、及び出力/表示順序の両方で現在のピクチャに続くが符号化/復号化順序で現在のピクチャに先行する0個以上の後方参照ピクチャは、入力データとして使用される。処理の出力は、新しい参照ピクチャとして使用される仮想/生成したピクチャである。
【0060】
図5Aは、一実施形態による、仮想参照ピクチャの生成及び参照ピクチャリストへの挿入の概略図である。
【0061】
同じ実施形態において、
図5Aは、仮想参照ピクチャの生成及び参照ピクチャリストへの挿入の例を示している。
図5Aに階層式GOP構造510が与えられ、現在のピクチャが3に等しいピクチャ順序カウント(POC)を有する場合に、通常、POCが0、2、4又は8に等しい復号化したピクチャは、復号化ピクチャバッファに格納され得、それらのいくつかは、現在のピクチャ(POC3)を復号化するために参照ピクチャリスト520に含められる。一例として、POCが2又は4に等しい最も近い復号化したピクチャは、入力データとして仮想参照生成プロセッサ530に供給され得る。仮想参照ピクチャは、1つ又は複数のプロセスを通じて生成され得る。生成した仮想参照ピクチャは、復号化ピクチャバッファに格納され、現在のピクチャ或いは1つ又は複数の将来のピクチャの参照ピクチャリスト520に復号順で含められ得る。仮想参照ピクチャが現在のピクチャの参照ピクチャリスト520に含められる場合に、仮想参照ピクチャの生成したピクセルデータは、仮想参照ピクチャを使用している参照インデックスによって示される場合に、参照データとして運動補償予測に使用することができる。
【0062】
同じ又は別の実施形態において、仮想参照生成プロセス全体は、1つ又は複数の予めトレーニングしたニューラルネットワークモデル又は任意の予め規定したパラメータを含む複数のシグナリング処理モジュールのうちの1つを含み得る。
図5Aに示されるように、例えば、仮想参照生成プロセス全体は、オプティカルフロー推定モジュール540、仮想参照データのオプティカルフロー補償モジュール550、及び詳細エンハンスメントモジュール560から構成され得る。
【0063】
別の例では、仮想参照生成プロセス全体が、特徴フロー推定、粗い中間フレーム合成、及び詳細エンハンスメントプロセスから構成され得る。
【0064】
一実施形態では、仮想参照生成プロセスは、1つ又は複数のニューラルネットワークから構成され得る。
【0065】
図5Bは、一実施形態による仮想参照ピクチャ生成プロセスの概略図である。
【0066】
図5Bは、3つのサブプロセス:特徴フロー推定、粗い中間フレーム合成、及び詳細エンハンスメントプロセスから構成される仮想参照生成プロセスの例を示している。デフォルトでは、1つ又は複数の前方参照ピクチャ及び1つ又は複数の後方参照ピクチャが入力される一方、1つの出力ピクチャがビデオコーディングのために生成した仮想参照ピクチャとして使用される。オプションとして、エンコーダ構成又は近接する(adjacent)コンテキスト(GOP構造等)によって、2つ以上の前方参照ピクチャが入力データとして使用されるか、又は2つ以上の後方参照ピクチャが入力データとして使用される。
【0067】
同じ実施形態において、
図5Bの例に示されるように、オプティカルフロー推定モジュール540は、エッジ検出器565、特徴抽出器570、及び各参照フレームのエッジマップ及び特徴マップを含む特徴フロー推定器575を含む。例えば、参照データが特徴フロー推定器575に供給されるときに、参照ピクチャのエッジは、予めトレーニングしたエッジ検出ニューラルネットワーク又は予め規定したアルゴリズムを用いて検出される。エッジマップは、動的シーンの構造情報を強化するために4番目のチャネルとして連結される。エッジ、境界、又は特徴が取得されると、1つ又は複数の特徴/フローマップが計算されて、特徴フロー予測器580に供給される。オプティカルフロー推定プロセスの出力は、2つ以上の深度特徴マップである。
【0068】
同じ実施形態において、
図5Bに示されるように、粗い中間フレーム合成のプロセスは、オフセット補償を伴うワーピングプロセス及び重み付けされた特徴とのブレンドから構成される。オプティカルフロー補償モジュール550は、特徴フロー予測器580及びブレンダ585を含む。入力として対応するエッジマップを含む2つ以上の参照ピクチャを用いて、特徴フロー予測器580は、歪んだ(warped)特徴を生成するための変形可能な畳み込みのためのオフセットマップを生成する。各ピクセル又は特徴は、取得したオフセットマップを用いて空間的にシフトされる。1つ又は複数のフローオフセットによって参照特徴から中間仮想参照特徴に1対Nのピクセルが接続される場合があるため、生成した仮想参照ピクチャの穴埋め(例えば、修復(inpainting))が適用される場合がある。歪んだ特徴の重みマップを取得するために、マルチアテンション予測子が特徴にも適用される。2つ以上の中間仮想参照ピクチャが複数の入力参照ピクチャから生成される場合に、ブレンダ585は、それらの中間フレームを、加重平均又は組み合わせで、1つの仮想参照ピクチャにブレンド又は合成する。粗い中間フレームが合成されると、3つのフレーム全てが詳細エンハンスメントモジュール560に供給され、時間的空間情報のより多くの融合によって中間フレームの品質が向上する。
【0069】
同じ実施形態において、各中間参照ピクチャのブレンドの重みは、複数の技術によって計算され得る。一例として、重み値は、現在のピクチャと、仮想参照ピクチャ生成モジュールの入力である復号化した参照ピクチャとの間の時間的距離(POC値によって取得される)に関連して計算される。別の例では、重み値は、各ピクセル、領域、又はピクチャの画質に基づいて(ローカルで)計算される。どの領域が参照ピクチャを生成するために良い又は悪い品質を有しているかを判定するために、任意の測定メトリックを使用することができる。別の例では、重みは、注意事項を考慮して、1つ又は複数の予めトレーニングしたニューラルネットワークの推論プロセスの出力として取得することができる。
【0070】
同じ又は別の実施形態において、1つ又は複数の畳み込みネットワークモデルを使用することができる。例として、変形可能な畳み込みネットワークモデルがあり、これは、各特徴ピクセルのオフセット値を有し得る。より柔軟な並進運動を局所的に可能にすることで、変形可能な畳み込みネットワークモデルはオフセットフローを推定及び補償することができる。もう1つの例は、分離可能な畳み込みネットワークモデルであり、これは、空間適応型の水平又は垂直方向の動きを効率的に表すことができる。複数のネットワークモデルを組み合わせると、ネットワーク推論のパフォーマンスが向上する可能性がある。
【0071】
同じ又は別の実施形態において、ビットストリーム内のコード化した動きベクトルは、オプティカルフローの事前推定のために使用され得る。このため、コード化した動きベクトルは、粗い解像度のオプティカルフローの初期値として使用することができ、任意のニューラルネットワーク推論プロセスは、オプティカルフローの解像度及び精度を高めることができる。他のパラメータ又はコード化した係数よりも早く動きベクトルを解析及び復号化できるようにするために、動きベクトル予測インジケータを含む動きベクトル又は動きベクトルデルタ値を、コード化した各ピクチャの初期位置(例えば、ピクチャヘッダ、スライスヘッダ又はピクチャの最初のスライス)でコード化することができる。
【0072】
同じ又は別の実施形態において、任意のデコーダ側動きベクトル又はオプティカルフロー推定器(例えば、DMVR)を使用して、オプティカルフローの初期値を推定することができる。オプティカルフローのオプティカル値を見つけるために、2つ以上のデコーダ側の動きベクトル推定器及びニューラルネットワーク推論プロセスを組み合わせたり、調和させたりすることができる。
【0073】
同じ又は別の実施形態において、仮想参照ピクチャがオプティカルフロー推定及び補償プロセスによって生成される場合に、仮想参照ピクチャの画質は、2つ以上の入力参照ピクチャ及びそれらの予め取得したエッジ及び特徴データを利用する後処理によって高めることができる。通常、オプティカルフローの推定及び補償によって生成した参照ピクチャは、2つ以上の画像が平滑化プロセスでブレンドされるため、ぼやけることがある。1つ又は複数の予めトレーニングした又は予め規定したエッジ協調、復元、ブレ除去、ノイズ除去、デブロッキング、圧縮ノイズ低下、ウィーナー(wiener)フィルタリング、超解像再構成、シャープニング、色の復元又は拡張、主観的な品質拡張が適用される。
【0074】
同じ実施形態において、各(入力)復号化した参照ピクチャから得られた各浅い(shallow)エッジ又は特徴は、予めトレーニングしたネットワークモジュールを用いて空間的に補償又はシフトされ、生成した仮想参照ピクチャと再びブレンドされて詳細を強調し得る。
【0075】
同じ又は別の実施形態において、仮想参照ピクチャを生成するための処理は、フレーム単位(frame-wise)、正方形又は非正方形のローカル領域(例えば、タイル、タイルグループ又はサブピクチャ)又は小さなブロック単位(block-wise)(例えば、コーディングユニット又はコーディングツリーユニット)で処理され得る。仮想参照データの生成をフレーム単位で処理するか、又は領域/ブロック単位で処理するかは、エンコーダ側でのエンコーダ選択、ユーザの入力データ、予めトレーニングしたネットワーク、又は任意の決定アルゴリズムによって決定され得る。
【0076】
同じ実施形態において、プロセスがフレーム全体に適用されるか或いは1つ又は複数の領域/ブロックに適用されるかを示す1つ又は複数の構文要素、インジケータ、又はフラグは、コード化したビットストリーム内の高レベルの構文構造(例えば、SPS、PPS、APS、SEIメッセージ又はメタデータボックス)で通知され得る。
【0077】
同じ又は別の実施形態において、既存の仮想参照ピクチャは、現在のピクチャの復号化の完了後に部分的に更新され得る。一例では、既存の仮想参照ピクチャ内の1つ又は複数の領域は、上記と同様の生成プロセスで置き換えることができるが、復号化した現在のピクチャを追加の入力データとして受け取ることができる。それは、復号化した現在のピクチャの併置された部分に領域を置き換える等、別の方法で部分的に更新することができる。
【0078】
同じ実施形態において、既存の仮想参照ピクチャの部分更新のオプション及びパラメータは、復号化した現在のピクチャに関連するピクチャヘッダ、PPS、又はスライスヘッダ等の高レベルの構文構造で示され得る。パラメータには、領域の位置、サイズ、仮想参照ピクチャを更新するための方法の選択が含まれ得る。
【0079】
同じ又は別の実施形態において、プロセスがフレーム全体或いは1つ又は複数の領域/ブロックに適用されるかどうかを示す1つ又は複数の内部変数は、他の通知される構文要素/パラメータ/メタデータから推論され得るか、又は隣接するシーケンス/フレーム/ブロックのコード化情報、予め規定した推論規則、又はニューラルネットワーク処理を含む自動処理から推論され得る。
【0080】
一実施形態では、1つ又は複数の仮想参照ピクチャが参照ピクチャリストに含まれる場合に、各CUについて明示的に信号で示されるか、又は以前にコード化したコンテキスト情報から暗黙的に導出される参照ピクチャインジケータ(例えば、隣接するCU等の以前にコード化したCUの参照インデックス、仮想参照ピクチャ、履歴ベースの動きバッファに格納されたエントリ等を使用して2つの元の候補のうちの少なくとも1つがコード化された生成したペアワイズ平均動き情報)が、仮想参照ピクチャを示す場合に、前述の処理によって生成した参照ピクセルデータは、インターモードでの予測データとして使用することができる。
【0081】
VVC等の従来のビデオコーディングシステムでは、動きベクトルを含む動きパラメータ、参照ピクチャインデックス、参照ピクチャリストは、明示的(AMVP)又は暗黙的(マージ又はスキップ)の方法で通知され得る。AMVPモードが使用される場合に、参照ピクチャインデックスは、インター予測のために0個以上の仮想参照ピクチャを示し得る。マージモードが使用される場合に、参照ピクチャインデックス情報は、以前にコード化したCU(隣接するCU、生成したペアワイズ平均動き情報、履歴ベースの動きバッファに格納されたエントリ等)でコード化された候補のうちの1つからコピーされる。VVCの1つの例では、マージ候補リストは、次の5種類の候補:空間ネイバーCUからの空間MVP、併置したCUからの時間MVP、FIFOテーブルからの履歴ベースMVP、ペアワイズ平均MVP、ゼロMVを順番に含めることによって作成される。一実施形態では、追加のマージモード候補をリストに挿入することができる。追加のマージモードは、現在のピクチャの参照ピクチャリストに少なくとも1つの仮想参照ピクチャがある場合にのみアクティブになる。マージモードは、仮想参照ピクチャ内の併置したブロック(動きがゼロ)のピクセルデータをインター予測データとして使用する場合がある。
【0082】
同じ実施形態において、仮想参照ピクチャを有する新しい候補を含むマージ候補の順序は、高レベルの構文構造における任意の明示的なシグナリング、又は以前にコード化したコンテキスト情報からの任意の暗黙的な導出(例えば、マージ候補のヒット率)によって再順序付けされ得る。
【0083】
別の実施形態では、仮想参照ピクチャを使用して、アフィン運動補償等のサブブロックベースの動き補償を実行することができる。アフィンパラメータの制御ポイントMV(CPMV)は、予測を使用せずに直接シグナリングから導出することができる。CPMVは、以前にコード化したいくつかのアフィンブロックモデルの一部又は全体を参照することによって導出することもできる。例えば、仮想参照ピクチャを使用する現在のブロックの左上のCPMVは、信号で通知されるか、又はゼロであると想定され得、ブロックの他のCPMVは、以前にコード化したアフィンブロックからのアフィンモデルを使用して導出され得る。
【0084】
別の実施形態では、仮想参照ピクチャを使用して、DMVR又はMV導出のためのテンプレートマッチング等の復号化側の動きベクトル導出技術を実行することができる。一例では、仮想参照ピクチャは、DMVRモードの2つの参照ピクチャのうちの1つとして使用され得る。別の例では、仮想参照ピクチャからの予測ブロックは、DMVRで提案する元のSADメカニズムを使用する代わりに、DMVRでデコーダ検索を実行するためのターゲットブロックとして使用することができ、これは、2つの参照ピクチャからの(双方向動きベクトルペアによって示される)2つの予測ブロックを比較することによって生成される。この例では、仮想参照ピクチャからの予測ブロックを使用して、DMVR検索で修正したMVからの予測子の新しいペアと比較することができる。仮想参照ピクチャからの予測子と比較したときにSADが最小化されるペアは、改良と見なすことができる。
【0085】
同じ又は別の実施形態において、仮想参照ピクチャから生成したサンプル予測子は、インター又はイントラ予測方法によってサンプル予測子と一緒に使用され得る。一例では、最終予測ブロック内の全てのサンプルについて、そのサンプル予測子は、インター又はインター予測子と一緒に加重平均することができる。別の例では、ブロック内のサンプル位置を使用して、仮想参照予測子とインター又はイントラ予測子との間の重みを決定することができる。
【0086】
同じ又は別の実施形態において、仮想参照ピクチャが領域単位で生成されることがエンコーダ構成又は暗黙的な決定によって決定される場合に、仮想参照ピクチャは、2つ以上の仮想サブピクチャにパーティション分割され得るため、各仮想サブピクチャは、前述のプロセスを通じて独立して生成される。そのような仮想サブピクチャのパーティション分割レイアウトは、1つ又は複数の高レベルの構文構造(例えば、VPS、SPS、PPS、SEIメッセージ)で通知され得る。通常、仮想サブピクチャの幅及び高さは、タイル(存在する場合に)又はCTUサイズの整数倍になり得る。
図6Bは、以下の仮想サブピクチャパーティション分割を用いたプロセス全体を要約している。
【0087】
同じ実施形態において、仮想参照ピクチャを複数の仮想参照ピクチャにパーティション分割する理由の1つは、メモリ又は計算能力の制限のために、仮想参照を生成するためのニューラルネットワーク推論プロセスの領域単位で独立したプロセスが必要であるためであり得る。別の理由は、複数のCPU又はGPUを使用した、4K又は8K等の大きなシーケンスの並列処理である。もう1つの理由は、ビューポートに依存するVR360ストリーミング又はクラウドゲームコンテンツストリーミングの地域単位で独立したダウンロード又はストリーミングである。
【0088】
同じ実施形態において、コード化したピクチャが複数のサブピクチャにパーティション分割される場合に、高レベルの構文構造のフラグは、仮想サブピクチャレイアウトがサブピクチャレイアウトと同一であるかどうかを示し得る。整列される場合に、仮想サブピクチャレイアウトは明示的に通知されないが、サブピクチャパーティション分割レイアウトと等しいと推測される。
【0089】
同じ又は別の実施形態において、仮想参照ピクチャが複数の仮想サブピクチャにパーティション分割され、各仮想サブピクチャが前述のプロセスを通じて独立して生成される場合に、通常、生成した仮想参照全体が仮想サブピクチャの境界にブロッキングアーチファクトを有する可能性がある。ブロッキングアーチファクトは、コーディングパフォーマンスを低下させる可能性がある。仮想参照ピクチャのアーチファクトをそらすために、任意の平滑化フィルタ/処理を境界に適用することができる。フィルタ係数は、予めトレーニングした、又は予め規定した、コード化したビットストリームで通知され得る。信号が通知されるときに、係数の1つ又は複数のセットが高レベルの構文構造で通知され、各仮想参照ピクチャ又はサブピクチャは、インデックスを信号で通知することによってそれらセットのうちの1つを選択することができる。
【0090】
同じ実施形態において、VVCのプロセス等のビデオコーディングシステムのための既存のデブロッキングプロセスは、ブロッキングアーチファクトを効率的に軽減するために適用され得る。この場合に、境界強度(BS)値は、デフォルトで予め規定した値(例えば、1)に等しく設定され得る。
【0091】
同じ実施形態において、デブロッキングプロセスのBS値は、以下の値:1)近接する仮想参照サブピクチャ同士の間のオプティカルフローの差(オプティカルフローの大きな差は、強い境界アーチファクトを示し得る)、2)現在のピクチャ又は他の参照ピクチャ内の併置したブロック(又はCU)のBS値又は他のコーディングパラメータ、3)仮想参照ピクチャ生成プロセスのエッジ又は特徴情報、又は4)他のオプションが使用できない場合のデフォルト値のうちの1つ又は複数から導出される。
【0092】
同じ又は別の実施形態において、サブピクチャが独立してコード化され、境界パディングプロセスを伴うピクチャとして処理される場合に、仮想参照ピクチャは、現在のピクチャのサブピクチャと同じパーティション分割レイアウトを有する複数の仮想参照サブピクチャにパーティション分割され得る。この場合に、仮想サブピクチャの境界を越えるフィルタリングプロセスは許可されない。
【0093】
同じ又は別の実施形態において、仮想参照サブピクチャがデコーダ側でのインター予測に使用されない場合に、仮想参照サブピクチャは、前述のプロセスから導出されない。代わりに、存在する場合には、その仮想参照サブピクチャは、1つ又は複数のデフォルト値で満たされ得る。
【0094】
同じ実施形態又は別の実施形態において、生成プロセスがフレーム単位で処理される場合に、参照ピクチャ全体が、生成され、RPLに追加され得る。生成したフレームは、他の復号化した参照フレームと同様に、復号化ピクチャバッファ(DPB)に参照ピクチャとして格納され及び処理され得る。
【0095】
同じ又は別の実施形態において、仮想参照ピクチャは、デフォルトでは出力及び表示されない場合がある。ただし、内部変数、通知される構文要素、アルゴリズム、推測規則、又は予め規定した規則の任意の値で、生成される仮想参照ピクチャを出力及び表示することができる場合がある。その結果、ディスプレイ側でフレームレートが増大したり、失われたピクチャを置き換えてエラーを隠したり、システムレベルでデコーダを安定して管理したりすることができる。
【0096】
同じ又は別の実施形態において、仮想参照ピクチャには、異なる目的のためにPOC番号が割り当てられ得る。ディスプレイ側のフレームレートを上げるために、POC番号は既存の2つの出力ピクチャの間にあり得る。例えば、既存の2つのピクチャのPOC値がN及びN+2であり、仮想参照ピクチャにはN+1に等しいPOC番号が割り当てられ得るので、この仮想参照ピクチャは、2つのピクチャの間に表示され得る。別の例では、既存の2つのピクチャのPOC値がN及びN+1であり得、仮想参照ピクチャにはN+0.5(この場合に、非整数値)に等しいPOC番号で割り当てられ得るので、この仮想参照ピクチャは、2つのピクチャの間に表示され得る。失われたピクチャを置き換えてエラー隠したり、デコーダを安定して管理したりする目的で、仮想参照ピクチャに、失われたピクチャのPOC番号と同じPOC番号を割り当てることができる。
【0097】
同じ又は別の実施形態において、仮想参照ピクチャが出力されるときに、他の復号化した参照ピクチャと同様に、トリミング及びバンピングアウトプロセスを仮想参照ピクチャに適用することができる。仮想参照ピクチャのトリミングウィンドウの値は、1つ又は複数の高レベルの構文要素(例えば、パラメータセット又はSEIメッセージ)で通知され得る。トリミングウィンドウ情報がコード化したビットストリームで明示的に通知されない場合に、予め規定したデフォルト値がトリミングに使用されるか、又はトリミングが適用されない場合がある。
【0098】
同じ又は別の実施形態において、仮想参照ピクチャが現在のピクチャを符号化/復号化するために使用され得る場合に、仮想参照ピクチャは、現在のピクチャのアクティブな参照ピクチャリストに含まれ得る。
【0099】
同じ又は別の実施形態において、仮想参照ピクチャが現在のピクチャを符号化/復号化するために使用されないが、復号化順序で1つ又は複数の後続のピクチャを符号化/復号化するために使用される場合に、仮想参照ピクチャは、現在のピクチャの非アクティブな参照ピクチャリストに含まれ得る。
【0100】
同じ又は別の実施形態において、アクティブ又は非アクティブな参照ピクチャリストは、1つ又は複数の高レベル構文構造(例えば、パラメータセット、ピクチャヘッダ、スライスヘッダ、又はSEIメッセージ)で明示的に通知され得るか、又は予め規定したアルゴリズム/規則を使用して、他の構文要素/パラメータ/内部変数から暗黙的に導出され得る。
【0101】
図6Aは、一実施形態による、仮想参照ピクチャを用いてコード化したビデオストリームを復号化する方法のフロー図である。
【0102】
同じ又は別の実施形態において、
図6Aは、現在又は将来のピクチャを復号化するための仮想参照ピクチャを生成及び管理するためのブロック図を示している。いくつかの構文要素が解析されるか、又はいくつかの関連するパラメータが解釈されるときに(動作605)、デコーダは、現在のピクチャがインター予測又は動き補償のために1つ又は複数の仮想参照ピクチャを使用するかどうかをチェックし得る(動作610)。使用される場合に、仮想参照ピクチャが生成され(動作615)、アクティブな参照ピクチャリストに挿入される(動作620)。現在のピクチャに使用されない場合に、デコーダは、現在のピクチャに対して生成される仮想参照ピクチャが、復号化順序で次の(後続の)ピクチャに使用できるかどうかを再度チェックすることができる(動作625)。将来のピクチャに使用される場合に、仮想参照ピクチャが生成され(動作630)、非アクティブな参照ピクチャリストに含められる(動作635)。それ例外の場合に、仮想参照ピクチャは、現在のピクチャに対して生成されない(動作640)。
【0103】
同じ実施形態において、既存の仮想参照ピクチャが、現在のピクチャ、後続のピクチャ、又は他のデータの符号化/復号化にもはや使用されない場合に、仮想参照ピクチャは、参照ピクチャリストに含めなくてもよく、復号化ピクチャバッファから削除される。
【0104】
同じ実施形態において、復号化ピクチャバッファからの仮想参照ピクチャのピクチャ除去時間は、高レベルの構文構造(パラメータセット、SEIメッセージ)で明示的に通知されるか、又は他の構文要素/パラメータ/内部変数から暗黙的に導出され得る。
【0105】
同じ又は別の実施形態において、1つ又は複数の復号化した参照ピクチャ及び1つ又は複数の仮想参照ピクチャを含む参照ピクチャリストは、高品質及び高ヒット率を有する参照ピクチャがリストの前(early)の位置に位置することができるように修正され得る。RPL内の参照ピクチャの最適な順序は、事前符号化、予め決定したアルゴリズム/規則、予めトレーニングしたニューラルネットワーク推論処理、又はGOP構造等の隣接するコンテキストからの推論規則によって決定することができる。
【0106】
同じ実施形態において、高品質は、ピクチャ/スライスヘッダに平均で示されるQP値等、ピクチャで使用されるQP情報によって測定され得る。高いヒット率は、以前のピクチャの復号化に1つの参照ピクチャが使用されたときのブロックレベルの使用頻度によって測定され得る。ブロックレベルの使用法には、この参照ピクチャを参照するブロック数、この参照ピクチャを参照するサンプル数等の統計が含まれ得る。
【0107】
同じ又は別の実施形態において、仮想参照ピクチャが生成されるときに、この参照ピクチャのPOCの値は、現在のピクチャの値に等しく設定され得る。
【0108】
同じ又は別の実施形態において、仮想参照ピクチャが生成されるときに、この参照ピクチャの層IDの値は、現在のピクチャの値と等しく設定され得る。
【0109】
同じ又は別の実施形態において、仮想参照ピクチャは、RPLにおいて「長期参照」としてマークされ得、それによって、POCベースのMVスケーリングは、仮想参照ピクチャに適用されない。
【0110】
同じ又は別の実施形態において、仮想参照ピクチャが時間的動きベクトル予測子を導出するための参照と呼ばれる場合に、時間的MV予測のための仮想参照ピクチャに関連するMV値はゼロに等しく設定され得る。
【0111】
同じ又は別の実施形態において、フラグ又は別の構文要素がSPSに存在し得る。フラグ又は構文要素が1に等しい場合に、1つ又は複数の仮想参照ピクチャが、生成され、SPSを参照するコード化したビデオシーケンスでピクチャを符号化/復号化するために使用され得る。フラグ又は構文要素が0に等しい場合に、仮想参照ピクチャは、生成されず、SPSを参照するコード化したビデオシーケンスでピクチャを符号化/復号化するために使用できない。
【0112】
同じ又は別の実施形態において、フラグ又は別の構文要素がPPSに存在し得る。フラグ又は構文要素が1に等しい場合に、1つ又は複数の仮想参照ピクチャが、生成され、PPSを参照するピクチャを符号化/復号化するために使用され得る。フラグ又は構文要素が0に等しい場合に、仮想参照ピクチャは、生成されず、PPSを参照するピクチャを符号化/復号化するために使用できない。
【0113】
同じ又は別の実施形態において、フラグ又は別の構文要素がAPSに存在し得る。フラグ又は構文要素が1に等しい場合に、1つ又は複数の仮想参照ピクチャが、生成され、APSを参照するスライスを符号化/復号化するために使用され得る。フラグ又は構文要素が0に等しい場合に、仮想参照ピクチャは、生成されず、APSを参照するスライスを符号化/復号化するために使用できない。
【0114】
同じ又は別の実施形態において、フラグ又は別の構文要素がピクチャヘッダに存在し得る。フラグ又は構文要素が1に等しい場合に、1つ又は複数の仮想参照ピクチャが、生成され、ピクチャヘッダに関連するピクチャを符号化/復号化するために使用され得る。フラグ又は構文要素が0に等しい場合に、仮想参照ピクチャは、生成されず、ピクチャヘッダに関連するピクチャを符号化/復号化するために使用できない。
【0115】
同じ又は別の実施形態において、フラグ又は別の構文要素がスライスヘッダに存在し得る。フラグ又は構文要素が1に等しい場合に、1つ又は複数の仮想参照ピクチャが、生成され、スライスヘッダに関連するスライスを符号化/復号化するために使用され得る。フラグ又は構文要素が0に等しい場合に、仮想参照ピクチャは、生成されず、スライスヘッダに関連するスライスを符号化/復号化するために使用できない。
【0116】
同じ又は別の実施形態において、高レベル構文構造の1つ又は複数の構文要素は、どの時間的サブレイヤーピクチャが符号化/復号化のために仮想参照ピクチャを使用できるかを示す。例えば、1つ又は複数の構文要素virtual_ref_use_temporal_id_flag[i]は、i番目の時間的サブレイヤー又は時間IDがiに等しいピクチャが、符号化/復号化のために仮想参照ピクチャを使用するかどうかを示し、SPS、PPS、APS、又はPHで通知することができる。
【0117】
同じ又は別の実施形態において、ピクチャ構造のグループ、他の構文要素、パラメータ、又は内部変数を参照し得る任意の予め規定した規則又はアルゴリズムは、どの時間的サブレイヤーが符号化/復号化のために仮想参照ピクチャを使用することができるか又は使用することができないかを決定し得る。例えば、時間的サブレイヤーが最も高いピクチャのみが、インター予測に1つ又は複数の仮想参照ピクチャを使用することができるが、他のピクチャは仮想参照ピクチャを使用しない。
【0118】
同じ又は別の実施形態において、仮想参照ピクチャを生成するための1つ又は複数の方法、モジュール、ニューラルネットワークモデル、又は技術は、予め規定されるか、又は予めトレーニングされ得る。領域、スライス、タイル、サブピクチャ、ピクチャ、時間的サブレイヤー、又はピクチャのグループの場合に、エンコーダは、プリエンコーディング、レート歪みベースの決定、又は任意のアルゴリズムを用いて仮想参照ピクチャを生成するための方法/モデルを選択することができる。高レベルの構文構造で通知される1つ又は複数の構文要素は、どの方法/モデルが、各領域、スライス、タイル、サブピクチャ、ピクチャ、時間的サブレイヤー、又はピクチャのグループに使用されるかを示し得る。
【0119】
同じ又は別の実施形態において、仮想参照ピクチャ生成方法/モデルの全て又は一部、及びそれらのパラメータ、係数、重み、又はオフセットは、エンコーダとデコーダとの間で予め規定及び確認されるか、任意のドキュメントに明示的に記載されるか、又は外部規格参照のリストに登録される。
【0120】
同じ又は別の実施形態において、仮想参照ピクチャ生成方法/モデルの全て又は一部、及びそれらのパラメータ、係数、重み、又はオフセットは、コード化したビデオストリームに明示的にコード化されるか、ファイルフォーマット内の任意のボックスに信号で通知されるか、又はコード化されたストリームに添付される補足ドキュメントに記載される。
【0121】
図6Bは、一実施形態による、仮想参照サブピクチャを用いてコード化したビデオストリームを復号化する方法のフロー図である。
【0122】
図6Bに示されるように、動作645において、デコーダ210は、構文要素を解析するか、又はコード化したビットストリーム内のパラメータを解釈する。
【0123】
動作650において、デコーダ210は、現在のピクチャが仮想参照ピクチャを使用するかどうかを判定する。現在のピクチャが仮想参照ピクチャを使用しないと判定されることに基づいて、方法は動作655に続く。それ例外の場合に、方法は動作660に続く。
【0124】
動作655において、デコーダ210は、DPBに格納されている参照ピクチャを用いて現在のピクチャを復号化する。
【0125】
動作660において、デコーダ210は、仮想参照ピクチャが複数の仮想サブピクチャにパーティション分割されるかどうかを判定する。仮想参照ピクチャが複数の仮想サブピクチャにパーティション分割されないと判定されることに基づいて、この方法は、動作665に続く。それ以外の場合に、この方法は、動作675に続く。
【0126】
動作665において、デコーダ210は、隣接参照ピクチャから仮想参照ピクチャを生成する。
【0127】
動作670において、デコーダ210は、生成した仮想参照ピクチャをDPBに格納し、DPBに格納した参照ピクチャを用いて現在のピクチャを復号化する。
【0128】
動作675において、デコーダ210は、隣接参照ピクチャから仮想参照サブピクチャを生成し、生成した仮想参照サブピクチャの境界を平滑化する。
【0129】
動作680において、デコーダ210は、境界を平滑化した仮想参照サブピクチャに基づいて仮想参照ピクチャを構成し、構成した仮想参照ピクチャをDPBに格納し、DPBに格納した参照ピクチャを用いて現在のピクチャを復号化する。
【0130】
図7は、一実施形態によるコンピュータシステム700の概略図である。
【0131】
上記の仮想参照ピクチャとのインター予測のための技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実装され、1つ又は複数のコンピュータ可読媒体に物理的に格納され得る。例えば、
図7は、開示する主題の実施形態を実施するのに適したコンピュータシステム700を示している。
【0132】
コンピュータソフトウェアは、コンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)等による直接又は解釈を通じてマイクロコードを実行することができる命令を含むコードを作成するためのアセンブリ、コンパイル、リンク、又は同様のメカニズムの対象となり得る任意の適切なマシンコード又はコンピュータ言語を使用してコード化することができる。
【0133】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置等を含む、様々なタイプのコンピュータ又はそのコンポーネントで実行することができる。
【0134】
図7に示されるコンピュータシステム700のコンポーネントは、本質的に例であり、本開示の実施形態を実施するコンピュータソフトウェアの使用範囲又は機能に関する制限を示唆することを意図するものではない。また、コンポーネントの構成は、コンピュータシステム700の実施形態に示されているコンポーネントのいずれか1つ又は組合せに関連する依存性又は要件を有すると解釈してはならない。
【0135】
コンピュータシステム700は、ヒューマンインターフェイス入力装置を含み得る。そのようなヒューマンインターフェイス入力装置は、例えば、触覚入力(キーストローク、スワイプ、データグローブの動き等)、音声入力(音声、拍手等)、視覚入力(ジェスチャー等)、嗅覚入力(図示せず)を介して、1人又は複数の人間ユーザによる入力に応答することができる。ヒューマンインターフェイス装置は、オーディオ(音声、音楽、周囲の音等)、画像(スキャンした画像、静止画カメラから得られる写真画像)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオ等)等の人間による知覚入力に必ずしも直接関連しないメディアをキャプチャするためにも使用することができる。
【0136】
入力ヒューマンインターフェイス装置は、キーボード701、マウス702、トラックパッド703、タッチスクリーン710、データグローブ704、ジョイスティック705、マイク706、スキャナ707、カメラ708のうちの1つ又は複数(それぞれ1つのみが描かれている)を含み得る。
【0137】
コンピュータシステム700は、ヒューマンインターフェイス出力装置も含み得る。そのようなヒューマンインターフェイス出力装置は、例えば、触覚出力、音、光、及び匂い/味覚を通して、1人又は複数の人間のユーザの感覚を刺激し得る。そのようなヒューマンインターフェイス出力装置は、触覚出力装置(例えば、タッチスクリーン710、データグローブ704、又はジョイスティック705による触覚フィードバックであるが、入力装置として機能しない触覚フィードバック装置もあり得る)、音声出力装置(スピーカー709、ヘッドホン(図示せず)等)、視覚出力装置(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン710等、それぞれタッチスクリーン入力機能の有無によらない、それぞれ触覚フィードバック機能の有無によらない-その一部は、例えばステレオグラフィック出力、仮想現実眼鏡(図示せず)、ホログラフィックディスプレイ、及びスモークタンク(図示せず)を介して、2次元の視覚出力又は3次元以上の出力を出力できる場合がある)、及びプリンタ(図示せず)を含み得る。
【0138】
コンピュータシステム700は、人間がアクセス可能な記憶装置及びそれらの関連媒体、例えば、CD/DVDを含むCD/DVD ROM/RW720又は同様の媒体721、サムドライブ722、リムーバブルハードドライブ又はソリッドステートドライブ723、テープ及びフロッピーディスク(図示せず)等のレガシー磁気媒体、セキュリティドングル(図示せず)等の特殊なROM/ASIC/PLDベースの装置等も含み得る。
【0139】
当業者はまた、現在開示している主題に関連して使用される「コンピュータ可読媒体」という用語が、伝送媒体、搬送波、又は他の一時的な信号を含まないことを理解し得る。
【0140】
コンピュータシステム700は、1つ又は複数の通信ネットワークへのインターフェイスも含み得る。ネットワークは、例えば、無線、有線、光のいずれでもよい。ネットワークはさらに、ローカル、広域、大都市、車両及び産業、リアルタイム、遅延耐性等であってもよい。ネットワークの例には、イーサネット、無線LAN等のローカルエリアネットワーク、GSM、3G、4G、5G、LTE等を含むセルラーネットワーク、ケーブルTV、衛星TV、地上波放送TVを含むTV有線又は無線広域デジタルネットワーク、CANBus等を含む車両及び産業用が含まれる。ネットワークは、汎用データポート又は周辺バス(749)に接続された外部ネットワークインターフェイスアダプタを必要とし得る(例えば、コンピュータシステム700のUSBポート等;他のものは、以下に説明するシステムバス(例えば、PCコンピュータシステムへのイーサネットインターフェイス又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェイス)への接続によってコンピュータシステム700のコアに統合され得る)。これらのネットワークのいずれかを使用して、コンピュータシステム700は他のエンティティと通信することができる。そのような通信は、一方向受信のみ(例えば、放送TV)、一方向送信のみ(例えば、CANBusからCANBus装置)、又は例えば、ローカル又は広域デジタルネットワークを使用する他のコンピュータシステムへの双方向であり得る。プロトコル及びプロトコルスタックは、上記のように、これらのネットワーク及びネットワークインターフェイスのそれぞれで使用することができる。
【0141】
前述のヒューマンインターフェイス装置、ヒューマンアクセス可能な記憶装置、及びネットワークインターフェイスは、コンピュータシステム700のコア740に接続することができる。
【0142】
コア740は、1つ又は複数の中央処理装置(CPU)741、グラフィックス処理装置(GPU)742、フィールドプログラマブルゲートエリア(FPGA)743の形態の特殊なプログラム可能な処理装置、タスク用のハードウェアアクセラレータ744等を含み得る。これらの装置は、読み取り専用メモリ(ROM)745、ランダムアクセスメモリ746、内部の非ユーザクセス可能ハードドライブ、SSD等の内部大容量記憶装置747とともに、システムバス748を介して接続することができる。一部のコンピュータシステムでは、システムバス748は、1つ又は複数の物理プラグの形態でアクセス可能であり、追加のCPU、GPU等による拡張を可能にする。周辺装置は、コアのシステムバス748に直接接続することも、周辺バス749を介して接続することもできる。周辺バスのアーキテクチャには、PCI、USB等が含まれる。
【0143】
CPU741、GPU742、FPGA743、及びアクセラレータ744は、命令を実行することができ、命令を組み合わせて、前述のコンピュータコードを構成することができる。そのコンピュータコードは、ROM745又はRAM746に格納することができる。移行データはRAM746にも格納できるが、永続データは、例えば内部大容量ストレージ747に格納することができる。高速ストレージ及び任意のメモリ装置への取得は、1つ又は複数のCPU741、GPU742、大容量ストレージ747、ROM745、RAM746等と密接に関連し得るキャッシュメモリを使用して有効にすることができる。
【0144】
コンピュータ可読媒体は、様々なコンピュータ実装動作を実行するためのコンピュータコードをその上に有することができる。媒体及びコンピュータコードは、本開示の目的のために設計及び構成されたものであるか、又はコンピュータソフトウェア技術の当業者によく知られ利用可能な種類のものであり得る。
【0145】
限定ではなく一例として、アーキテクチャ700及びコア740を有するコンピュータシステムは、プロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)が1つ又は複数の有形のコンピュータ可読媒体で具体化されるソフトウェアを実行する結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上記で紹介したようにユーザがアクセス可能な大容量ストレージ、及びコア内部大容量ストレージ747又はROM745等の非一時的性質のコア740の記憶装置に関連する媒体であり得る。本開示の様々な実施形態を実施するソフトウェアは、そのような装置に格納され、コア740によって実行され得る。コンピュータ可読媒体は、1つ又は複数のメモリ装置又はチップを含むことができる。ソフトウェアは、コア740及びその中のプロセッサ(CPU、GPU、FPGA等を含む)に、RAM746に格納されたデータ構造の規定及びソフトウェアによって規定されるプロセスに従ったそのようなデータ構造の変更を含む、本明細書で説明するプロセス又はプロセスの一部を実行させることができる。加えて、又は代替として、コンピュータシステムは、本明細書で説明するプロセス又はプロセスの一部を実行するためにソフトウェアの代わりに又はソフトウェアと一緒に動作することができる、回路(例えば、アクセラレータ744)に配線された又は他に具体化されたロジックの結果として機能を提供することができる。ソフトウェアへの参照にはロジックを含めることができ、必要に応じてその逆も可能である。コンピュータ可読媒体への参照は、必要に応じて、実行用のソフトウェアを格納する回路(集積回路(IC)等)、実行用のロジックを具体化する回路、又はその両方を包含することができる。本開示は、ハードウェア及びソフトウェアの任意の適切な組合せを包含する。
【0146】
本開示はいくつかの実施形態を説明しているが、変更、順列、及び様々な代替同等物が存在しており、これらは本開示の範囲内にある。こうして、当業者は、本明細書に明示的に示していない又は説明していないが、本開示の原理を具体化し、こうしてその精神及び範囲内にある多数のシステム及び方法を想起することができることが理解されよう。