IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7571289DNNベースのクロスコンポーネント予測
<>
  • 特許-DNNベースのクロスコンポーネント予測 図1
  • 特許-DNNベースのクロスコンポーネント予測 図2
  • 特許-DNNベースのクロスコンポーネント予測 図3
  • 特許-DNNベースのクロスコンポーネント予測 図4
  • 特許-DNNベースのクロスコンポーネント予測 図5
  • 特許-DNNベースのクロスコンポーネント予測 図6
  • 特許-DNNベースのクロスコンポーネント予測 図7
  • 特許-DNNベースのクロスコンポーネント予測 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-11
(45)【発行日】2024-10-22
(54)【発明の名称】DNNベースのクロスコンポーネント予測
(51)【国際特許分類】
   H04N 19/593 20140101AFI20241015BHJP
   H04N 19/46 20140101ALI20241015BHJP
   H04N 19/186 20140101ALI20241015BHJP
【FI】
H04N19/593
H04N19/46
H04N19/186
【請求項の数】 11
(21)【出願番号】P 2023518071
(86)(22)【出願日】2022-05-31
(65)【公表番号】
(43)【公表日】2023-10-06
(86)【国際出願番号】 US2022031506
(87)【国際公開番号】W WO2022265847
(87)【国際公開日】2022-12-22
【審査請求日】2023-03-20
(31)【優先権主張番号】63/210,741
(32)【優先日】2021-06-15
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/749,730
(32)【優先日】2022-05-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】リン,シェン
(72)【発明者】
【氏名】ジャン,ウェイ
(72)【発明者】
【氏名】ワン,ウェイ
(72)【発明者】
【氏名】ワン,リーチャン
(72)【発明者】
【氏名】リウ,シャン
(72)【発明者】
【氏名】シュー,シャオジョン
【審査官】間宮 嘉誉
(56)【参考文献】
【文献】国際公開第2021/069688(WO,A1)
【文献】米国特許出願公開第2017/0230656(US,A1)
【文献】米国特許出願公開第2020/0304833(US,A1)
【文献】特表2023-542029(JP,A)
【文献】ZHU, Linwei et al.,Deep Learning-Based Chroma Prediction for Intra Versatile Video Coding,IEEE Transactions on Circuits and Systems for Video Technology,米国,IEEE,2020年11月03日,Vol.31, No.8,pp.3168-3181,[online],[retrieved on 2024-03-19],Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/document/9247080>,https://doi.org/10.1109/TCSVT.2020.3035356
【文献】BLANCH, Marc Gorriz et al.,Chroma Intra Prediction with Attention-Based CNN Architectures,Proc. IEEE International Conference on Image Processing 2020,AE,IEEE,2020年09月30日,pp.783-787,[online],[retrieved on 2024-03-19],Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/document/9191050>,https://doi.org/10.1109/ICIP40778.2020.9191050
【文献】LI, Yue et al.,A Hybrid Neural Network for Chroma Intra Prediction,Proc. 25th IEEE International Conference on Image Processing 2018,ギリシャ,IEEE,2018年09月06日,pp.1797-1801,[online],[retrieved on 2024-03-19],Retrieved from the Internet: <URL: https://ieeexplore.ieee.org/document/8451396>,https://doi.org/10.1109/ICIP.2018.8451396
【文献】WANG, Liqiang et al.,AHG11: Neural Network Based Cross-Component Prediction Model,JVET-W0111 (version 3),ITU,2021年07月12日,pp.1-5,[online],[retrieved on 2024-04-25],Retrieved from the Internet: <URL: https://jvet-experts.org/doc_end_user/documents/23_Teleconference/wg11/JVET-W0111-v3.zip>,JVET-W0111-v3.docx
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00-19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって実行される方法であって:
画像またはビデオの再構成されたルマブロックを取得することと;
前記再構成されたルマブロックをディープニューラルネットワーク(DNN)に入力することと;
前記再構成されたルマブロックに関連するサイド情報および参照コンポーネントを取得することと;
前記参照コンポーネントおよび前記サイド情報を前記DNNに入力することと;
前記DNNによって、前記再構成されたルマブロック、前記参照コンポーネント、および前記サイド情報に基づいて、前記画像またはビデオの再構成されたクロマブロックを予測することと;
を含み、前記サイド情報に基づいて特徴マップを生成し、生成された特徴マップをDNNトレーニングのために他の画像ベースの特徴マップと連結することをさらに含む方法。
【請求項2】
前記参照コンポーネントは、前記再構成されたルマブロックの隣接するルマ参照および予測される前記再構成されたクロマブロックの隣接するクロマ参照の中からの少なくとも1つを含み、
前記予測することはさらに、前記DNNによって、前記再構成されたルマブロック、入力された前記隣接するルマ参照および前記隣接するクロマ参照の中からの前記少なくとも1つに基づいて前記再構成されたクロマブロックを予測することを含む、
請求項1に記載の方法。
【請求項3】
前記参照コンポーネントは、前記再構成されたルマブロックの隣接するルマ参照と、予測される前記再構成されたクロマブロックの隣接するクロマ参照とを含み、
前記予測することはさらに、前記DNNによって、前記再構成されたルマブロック、前記隣接するルマ参照、および入力された前記隣接するクロマ参照に基づいて、前記再構成されたクロマブロックを予測することを含む、
請求項1に記載の方法。
【請求項4】
前記サイド情報は、量子化パラメータ(QP)値およびブロック分割深度情報の中からの少なくとも1つを含む、
請求項1に記載の方法。
【請求項5】
前記DNNによって予測される前記再構成されたクロマブロックの再構成品質、および異なる予測モードを使用して予測される別の再構成されたクロマブロックの再構成品質を計算すること;および
計算された前記再構成品質の中からの最も高いものに基づいて、前記DNNによって予測された前記再構成されたクロマブロックと、前記異なる予測モードを使用して予測された前記別の再構成されたクロマブロックの中からの1つを使用して画像またはビデオを取得すること;をさらに含む、
請求項1に記載の方法。
【請求項6】
前記DNNの入力を生成すること、をさらに含み、
前記予測することは、前記DNNによって、前記入力に基づいて前記画像またはビデオの前記再構成されたクロマブロックを予測することを含み、
前記生成することは、
ルマブロックを再構成することおよび前記ルマブロックの隣接するルマ参照を取得することと;
再構成された前記ルマブロックを前記入力の1つとして取得するために前記ルマブロックをダウンサンプリングすることと;
前記ルマブロックの前記隣接するルマ参照をダウンサンプリングすることと;
ダウンサンプリングされた前記隣接するルマ参照を、ダウンサンプリングされた前記ルマブロックと同じサイズに変換することと;を含み、
前記DNNの前記入力は、ダウンサンプリングされた前記ルマブロックおよび変換された前記隣接するルマ参照を含む、
請求項1に記載の方法。
【請求項7】
前記ルマブロックは2N×2Mブロックであり、前記隣接するルマ参照は2N×2Kの第1のルマ参照ブロックおよび2K×2Mの第2のルマ参照ブロックを参照用に含み、N、K、およびMは整数であり、2Nは幅であり、2Mは高さであり、2Kはルマ参照の行または列の数である、
請求項に記載の方法。
【請求項8】
前記ルマブロックをダウンサンプリングすることによって得られた前記再構成されたルマブロックはN×Mのサイズを有し、
前記隣接するルマ参照をダウンサンプリングした後、前記第1のルマ参照ブロックは、N×Kのサイズを有し、前記第2のルマ参照ブロックはK×Mのサイズを有する、
請求項に記載の方法。
【請求項9】
前記生成することは、ダウンサンプリングされた前記ルマブロックと同じサイズを有するように予測される前記再構成されたクロマブロックの隣接するクロマ参照を変換することをさらに含み、
前記DNNの前記入力は、ダウンサンプリングされた前記ルマブロック、変換された前記隣接するルマ参照、および変換された前記隣接するクロマ参照を含む、
請求項に記載の方法。
【請求項10】
コンピュータプログラムコードを格納するように構成された少なくとも1つのメモリ;および
前記コンピュータプログラムコードにアクセスし、前記コンピュータプログラムコードの指示に従って動作するように構成された少なくとも1つのプロセッサ、を有し、前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサに、請求項1乃至のいずれか1項に記載の方法を実行させる、
システム。
【請求項11】
コンピュータプログラムであって、少なくとも1つのプロセッサによって実行されるときに、前記少なくとも1つのプロセッサに、請求項1乃至のいずれか1項に記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2021年6月15日に出願された米国仮出願第63/210,741号および2022年5月20日に出願された米国出願第17/749,730号からの優先権を主張しており、それらの開示はその全体が参照により本出願に組み込まれる。
【0002】
本開示の実施形態は、DNNベースのクロスコンポーネント予測(DNN-based cross component prediction)の方法およびシステムに向けられている。
【背景技術】
【0003】
H.264/アドバンストビデオコーディング(H.264/AVC)、高効率ビデオコーディング(High-Efficiency Video Coding)(HEVC)、多用途ビデオコーディング(Versatile Video Coding)(VVC)などの従来のビデオコーディング標準は、同様の(再帰的)ブロックベースのハイブリッド予測/変換フレームワーク上で設計されており、イントラ/インター予測(intra/inter prediction)、整数変換、コンテキスト適応エントロピーコーディング(context-adaptive entropy coding)のような個々のコーディングツールが、全体の効率を最適化するために集中的に手作りされている。基本的に、時空間的なピクセル近傍が、後続の変換、量子化、およびエントロピーコーディングのために対応する残差を取得するために、予測信号の構築に活用される。一方、ディープニューラルネットワーク (DNN)の性質は、隣接するピクセルの受容野(receptive field)から時空間情報を分析することによって、異なるレベルの時空間刺激を抽出することである。非常に非線形且つ非局所的な時空間相関を探索する能力は、圧縮品質を大幅に向上させる有望な機会を提供する。
【0004】
ビデオコーディング(video coding)およびデコーディング(decoding)の1つの目的は、圧縮を通じた入力ビデオ信号の冗長性の削減であることができる。圧縮は、前述の帯域幅またはストレージ空間の要件を、場合によっては2桁以上削減するのに役立つことができる。ロスレス(lossless(可逆))圧縮とロッシー(lossy(非可逆))圧縮の両方、およびそれらの組み合わせを使用することができる。ロスレス圧縮は、圧縮された元の信号から元の信号の正確なコピーを再構成できる技法を指す。ロッシー圧縮を使用する場合、再構成された信号は元の信号と同一ではない可能性があるが、元の信号と再構成された信号との間の歪みは、再構成された信号が意図されたアプリケーションに役立つように十分小さい。ビデオの場合、ロッシー圧縮が広く採用されている。許容される歪みの量はアプリケーションに依存する。例えば、特定のコンシューマストリーミングアプリケーションのユーザは、テレビ寄与アプリケーションのユーザよりも高い歪みを許容する場合がある。達成可能な圧縮率(compression ratio)は:受け入れ可能/許容可能な歪みが大きいほど、圧縮率が高くなることができることを反映することができる。
【発明の概要】
【0005】
さまざまなコンポーネントからの情報および他のサイド情報(side information)を利用することで、従来のエンコーダは、より優れた圧縮パフォーマンスを実現するために他のコンポーネントを予測することができる。しかし、イントラ予測におけるクロスコンポーネント線形予測モードは、DNNベースの方法と比較してうまく機能することができない。DNNの性質は、異なる高レベルの刺激を抽出することであり、非常に非線形且つ非局所的な相関を探索する能力は、高い圧縮品質の有望な機会を提供する。本開示の実施形態は、DNNベースのモデルを使用して、サイド情報、参照コンポーネント(reference components)、およびルマコンポーネント(luma component)の任意の形状を処理して、より良い圧縮性能を達成するために再構成されたクロマコンポーネントを予測する。
【0006】
本開示の実施形態は、ディープニューラルネットワーク(DNN)を使用することにより、イントラ予測の新しいモードとしてクロスコンポーネント予測(CCP)モデルを提供する。このモデルは、ルマコンポーネント、量子化パラメータ(QP)値、ブロック深さ(block depth)などのエンコーダによって提供される情報を使用して、より優れた圧縮性能を実現するためにクロマコンポーネントを予測する。以前のNNベースのイントラ予測アプローチは、ルマコンポーネントの予測のみを目的とするか、または3つのチャネルすべての予測を生成し、クロマコンポーネントとその他の追加情報との間の相関を無視している。
【0007】
実施形態によれば、少なくとも1つのプロセッサによって実行される方法が提供される。この方法は:画像(image)またはビデオの再構成されたルマブロックを取得することと;再構成されたルマブロックをDNNに入力することと;再構成されたルマブロックに関連付けられた参照コンポーネントおよびサイド情報を取得することと;参照コンポーネントおよびサイド情報をDNNに入力することと;DNNによって、再構成されたルマブロック、参照コンポーネント、サイド情報に基づいて、画像またはビデオの再構成されたクロマブロックを予測することと;を含む。
【0008】
実施形態によれば、システムが提供される。システムは:コンピュータプログラムコードを格納するように構成された少なくとも1つのメモリと;コンピュータプログラムコードにアクセスし、コンピュータプログラムコードの指示に従って動作するように構成された少なくとも1つのプロセッサと;を含む。コンピュータプログラムコードは:少なくとも1つのプロセッサによって実装されているディープニューラルネットワーク(DNN)に、画像またはビデオの再構成されたルマブロック、参照コンポーネント、および再構成されたルマブロックに関連するサイド情報を少なくとも1つのプロセッサに入力させるように構成された入力コードと;少なくとも1つのプロセッサに、入力された再構成されたルマブロック、参照コンポーネント、およびサイド情報に基づいて、画像またはビデオの再構成されたクロマブロックをDNNによって予測させるように構成された予測コードと;を含む。
【0009】
実施形態によれば、コンピュータコードを格納する非一時的なコンピュータ可読媒体が提供される。コンピュータコードは、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに:DNNを実装させ;画像またはビデオの再構成されたルマブロック、参照コンポーネント、および再構成されたルマブロックに関連付けられたサイド情報をDNNに入力させ;入力された再構成されたルマブロック、参照コンポーネント、およびサイド情報に基づいて、画像またはビデオの再構成されたクロマブロックをDNNによって予測させる;ように構成される。
【図面の簡単な説明】
【0010】
開示された主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになる。
【0011】
図1】一実施形態による通信システムの簡略化されたブロック図の概略図である。
【0012】
図2】一実施形態による通信システムの簡略化されたブロック図の概略図である。
【0013】
図3】一実施形態によるデコーダの簡略化されたブロック図の概略図である。
【0014】
図4】一実施形態によるエンコーダの簡略化されたブロック図の概略図である。
【0015】
図5】一実施形態による入力生成のプロセスの簡略化されたブロック図の概略図である。
【0016】
図6】一実施形態によるクロスコンポーネント予測のプロセスの簡略化されたブロック図の概略図である。
【0017】
図7】一実施形態によるコンピュータコードのブロック図である。
【0018】
図8】本開示の実施形態を実装するのに適したコンピュータシステムの図である。
【発明を実施するための形態】
【0019】
図1は、本開示の一実施形態による通信システム100の簡略化されたブロック図を示す。通信システム100は、ネットワーク150を介して相互接続された少なくとも2つの端末110、120を含み得る。データの単方向伝送のために、第1の端末110は、ネットワーク150を介して他の端末120に伝送するために、ローカルの場所でビデオデータをコーディングする(code)し得る。第2の端末120は、ネットワーク150から他の端末のコーディングされたビデオデータを受信し、コーディングされたデータをデコードし、回復されたビデオデータを表示し得る。単方向データ伝送は、メディアサービス用途などで一般的であり得る。
【0020】
図1は、例えばテレビ会議中に発生し得るコーディングされたビデオの双方向伝送をサポートするために提供される第2の端末130、140のペアを示している。データの双方向伝送のために、各端末130、140は、ネットワーク150を介して他の端末に伝送するためにローカルの場所でキャプチャされたビデオデータをコーディングし得る。また、各端末130、140は、他の端末によって送信されたコーディングされたビデオデータを受信し、コーディングされたデータをデコードし、ローカルの表示装置で回復されたビデオデータを表示し得る。
【0021】
図1では、端末110~140は、サーバ、パーソナルコンピュータ、およびスマートフォン、および/または任意のその他のタイプの端末として示されている。例えば、端末110~140は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤー、および/または専用のビデオ会議機器であり得る。ネットワーク150は、例えば有線および/または無線通信ネットワークを含む、端末110~140の間でコーディングされたビデオデータを伝える任意の数のネットワークを表す。通信ネットワーク150は、回線交換および/またはパケット交換チャネルでデータを交換し得る。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはインターネットを含む。本議論の目的上、ネットワーク150のアーキテクチャおよびトポロジーは、以下に説明されない限り、本開示の動作にとって重要でない場合がある。
【0022】
図2は、開示された主題の適用の例として、ストリーミング環境におけるビデオエンコーダおよびデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルテレビ、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの保存などを含む、他のビデオ対応アプリケーションにも同様に適用可能であることができる。
【0023】
図2に示すように、ストリーミングシステム200は、ビデオソース201およびエンコーダ203を含むことができるキャプチャサブシステム213を含み得る。ビデオソース201は、例えばデジタルカメラであり得、非圧縮ビデオサンプルストリーム202を作成するように構成され得る。非圧縮ビデオサンプルストリーム202は、エンコーディングされた(encoded)ビデオビットストリームと比較した場合、高いデータ量を提供し得、ビデオソース201に結合されたエンコーダ203によって処理することができる。エンコーダ203は、以下により詳細に説明するように、開示された主題の態様を有効にするまたは実装するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。エンコーディングされたビデオビットストリーム204は、サンプルストリームと比較した場合、より低いデータ量を含み得、将来の使用のためにストリーミングサーバ205に格納することができる。1つ以上のストリーミングクライアント206が、エンコーディングされたビデオビットストリーム204のコピーであり得るビデオビットストリーム209を取得するためにストリーミングサーバ205にアクセスすることができる。
【0024】
実施形態では、ストリーミングサーバ205はまた、メディアアウェアネットワーク要素(Media-Aware Network Element)(MANE)として機能し得る。例えば、ストリーミングサーバ205は、潜在的に異なるビットストリームをストリーミングクライアント206の1つまたは複数に合わせて調整するために、エンコーディングされたビデオビットストリーム204をプルーニングする(prune)ように構成され得る。実施形態では、MANEは、ストリーミングシステム200において、ストリーミングサーバ205とは別に提供され得る。
【0025】
ストリーミングクライアント206は、ビデオデコーダ210およびディスプレイ212を含むことができる。ビデオデコーダ210は、例えば、エンコーディングされたビデオビットストリーム204の入力(incoming)コピーであるビデオビットストリーム209をデコーディングし、ディスプレイ212または別のレンダリングデバイス(図示せず)でレンダリングできる送信ビデオサンプルストリーム211を作成することができる。一部のストリーミングシステムでは、ビデオビットストリーム204、209は、特定のビデオコーディング/圧縮標準に従ってエンコーディングすることができる。このような標準の例は、ITU-T勧告H.265を含むが、これに限定されない。非公式に多用途ビデオコーディング(VVC)として知られるビデオコーディング標準が開発中である。開示の実施形態は、VVCの文脈で使用され得る。
【0026】
図3は、本開示の実施形態に従ってディスプレイ212に取り付けられるビデオデコーダ210の例示的な機能ブロック図を示す。
【0027】
ビデオデコーダ210は、チャネル312、レシーバ310、バッファメモリ315、エントロピーデコーダ/パーサ320、スケーラ/逆変換ユニット351、イントラピクチャ予測ユニット352、動き補償予測ユニット353、アグリゲータ355、ループフィルタユニット356、参照ピクチャメモリ357、および現在ピクチャメモリを含み得る。少なくとも一実施形態では、ビデオデコーダ210は、集積回路、一連の集積回路、および/または他の電子回路を含み得る。ビデオデコーダ210はまた、関連するメモリを持つ1つ以上のCPUで動作するソフトウェアに部分的または全体的に具体化され得る。
【0028】
この実施形態および他の実施形態では、レシーバ310は、デコーダ210によってデコーディングされる1つ以上のコーディングされたビデオシーケンスを一度に1つのコーディングされたビデオシーケンスを受信し得、各コーディングされたビデオシーケンスのデコーディングは他のコーディングされたビデオシーケンスから独立している。コーディングされたビデオシーケンスは、チャネル312から受信され得、これは、エンコーディングされたビデオデータを格納するストレージデバイスへのハードウェア/ソフトウェアリンクであり得る。レシーバ310は、エンコーディングされたビデオデータを、他のデータ(例えば、コーディングされたオーディオデータおよび/または補助的なデータストリーム)とともに受信し得、これらはそれぞれの使用エンティティ(図示せず)に転送され得る。レシーバ310は、コーディングされたビデオシーケンスを他のデータから分離し得る。ネットワークジッターに対処するために、バッファメモリ315は、レシーバ310とエントロピーデコーダ/パーサ320(以下「パーサ」)の間に結合され得る。レシーバ310が十分な帯域幅と制御可能性を持つストア/フォワードデバイスからデータを受信している場合、またはアイソシンクロナスネットワークからデータを受信している場合、バッファメモリ315は使用されなくてもよく、または、小さい可能性がある。インターネットのようなベストエフォート型パケットネットワークで使用する場合、バッファメモリ315が必要とされることがあり、比較的大きくすることができ、適応サイズにすることができる。
【0029】
ビデオデコーダ210は、エントロピーコーディングされたビデオシーケンスからシンボル321を再構成するためのパーサ320を含み得る。これらのシンボルのカテゴリは、例えば、デコーダ210の動作を管理するために使用される情報、場合によっては図2に示すようにデコーダに結合され得るディスプレイ212のようなレンダリングデバイスを制御するための情報を含む。レンダリングデバイス(複数可)の制御情報は、例えば、補助エンハンスメント情報(Supplementary Enhancement Information)(SEI)メッセージまたはビデオユーザビリティ情報(Video Usability Information)(VUI)パラメータセットフラグメント(図示せず)の形式であり得る。パーサ320は、受信したコーディングされたビデオシーケンスを解析(parse)/エントロピーデコーディングし得る。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術または標準に従うことができ、可変長コーディング、ハフマンコーディング、コンテキスト感度の有りまたは無しの算術コーディングなどを含む、当業者によく知られた原理に従うことができる。パーサ320は、コーディングされたビデオシーケンスから、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内のピクセルのサブグループの少なくとも1つのサブグループパラメータのセットを抽出し得る。サブグループは、ピクチャのグループ(Group of Pictures)(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(Coding Units)(CU)、ブロック、変換ユニット(Transform Units)(TU)、予測ユニット(Prediction Units)(PU)などを含むことができる。パーサ320は、また、変換係数、量子化子パラメータ値、動きベクトル(motion vectors)などのコーディングされたビデオシーケンス情報から抽出し得る。
【0030】
パーサ320は、シンボル321を作成するために、バッファメモリ315から受信したビデオシーケンスに対してエントロピーデコーディング/解析動作を実行し得る。
【0031】
シンボル321の再構成は、コーディングされたビデオピクチャまたはその一部(インターおよびイントラピクチャ、インターおよびイントラブロックなど)の種類、およびその他の要因に応じて、複数の異なるユニットを含むことができる。どのユニットが関与し、どのように関与するかは、パーサ320によってコーディングされたビデオシーケンスから解析されたサブグループ制御情報によって制御されることができる。パーサ320と以下の複数のユニットとの間のこのようなサブグループ制御情報の流れは、明確にするために描かれていない。
【0032】
すでに述べた機能ブロックを超えて、デコーダ210は、以下に説明するように、概念的にいくつかの機能ユニットに細分化される(subdivided)ことができる。商業的制約の下で動作する実用的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的には、互いに統合することができる。しかし、開示された主題を記述するためには、以下の機能ユニットに概念的に細分化することが適切である。
【0033】
1つのユニットは、スケーラ/逆変換ユニット351であり得る。スケーラ/逆変換ユニット351は、どの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報とともに、量子化変換係数をパーサ320からシンボル(複数可)321として受信し得る。スケーラ/逆変換ユニット351は、アグリゲータ355に入力することができるサンプル値を含むブロックを出力することができる。
【0034】
場合によっては、スケーラ/逆変換ユニット351の出力サンプルは、イントラコーディングされたブロックに関係することができる;すなわち、以前に再構成されたピクチャからの予測情報を使用していないが、現在のピクチャの以前に再構成された部分からの予測情報を使用できるブロック。このような予測情報は、イントラピクチャ予測ユニット352によって提供することができる。場合によっては、イントラピクチャ予測ユニット352は、現在のピクチャメモリ358からの現在の(部分的に再構成された)ピクチャから取り出された周囲の既に再構成された情報を使用して、再構成中のブロックと同じサイズおよび形状のブロックを生成する。アグリゲータ355は、場合によっては、スケーラ/逆変換ユニット351によって提供される出力サンプル情報に、イントラピクチャ予測ユニット352が生成した予測情報をサンプルごとに追加する。
【0035】
他の場合には、スケーラ/逆変換ユニット351の出力サンプルは、インターコーディングされ(inter coded)、潜在的に動き補償ブロックに関係することができる。このような場合には、動き補償予測ユニット353は、予測に使用されるサンプルを取り出す(fetch)ために参照ピクチャメモリ357にアクセスすることができる。ブロックに関連するシンボル321に従って、取り出されたサンプルを動き補償した後、これらのサンプルは、出力サンプル情報を生成するために、アグリゲータ355によってスケーラ/逆変換ユニット351の出力(この場合、残差サンプルまたは残差信号と呼ばれる)に追加することができる。動き補償予測ユニット353が予測サンプルを取り出す参照ピクチャメモリ357内のアドレスは、動きベクトルによって制御することができる。動きベクトルは、例えばX、Y、および参照ピクチャコンポーネントを有することができるシンボル321の形で、動き補償予測ユニット353に利用可能であり得る。動き補償は、また、サブサンプル正確な動きベクトルが使用されているときに参照ピクチャメモリ357から取り出されるサンプル値の補間、動きベクトル予測メカニズムなどを含むことができる。
【0036】
アグリゲータ355の出力サンプルは、ループフィルタユニット356でさまざまなループフィルタリング技術の対象とすることができる。ビデオ圧縮技術は、コーディングされたビデオビットストリームに含まれるパラメータによって制御され、パーサ320からシンボル321としてループフィルタユニット356に利用可能にされるインループフィルタ技術を含むことができるが、コーディングされたピクチャまたはコーディングされたビデオシーケンスの以前の(デコーディング順の)部分のデコーディング中に取得されたメタ情報に応答することもでき、以前に再構成されたサンプル値およびループフィルタリングされたサンプル値に応答することもできる。
【0037】
ループフィルタユニット356の出力は、ディスプレイ212などのレンダリングデバイスに出力できるサンプルストリームであると同時に、将来のインターピクチャ予測で使用するために参照ピクチャメモリ357に格納することもできる。
【0038】
一度完全に再構成された特定のコーディングされたピクチャは、将来の予測のための参照ピクチャとして使用することができる。コーディングされたピクチャが完全に再構成され、コーディングされたピクチャが参照ピクチャとして識別されると(例えば、パーサ320によって)、現在の参照ピクチャは参照ピクチャメモリ357の一部になることができ、次のコーディングされたピクチャの再構成を開始する前に新しい現在のピクチャメモリを再割り当てすることができる。
【0039】
ビデオデコーダ210は、ITU-T Rec. H.265などの標準でドキュメント化されている可能性のある所定のビデオ圧縮技術に従ってデコーディング動作を実行し得る。コーディングされたビデオシーケンスは、ビデオ圧縮技術のドキュメントまたは標準、および特にそのプロファイルドキュメントで指定されているビデオ圧縮技術または標準の構文(syntax)に準拠しているという意味で、使用されているビデオ圧縮技術または標準によって指定された構文に準拠し得る。また、一部のビデオ圧縮技術または標準に準拠するために、コーディングされたビデオシーケンスの複雑さは、ビデオ圧縮技術または標準のレベルによって定義された範囲内にある場合がある。場合によっては、レベルが、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えばメガサンプル/秒などで測定される)、最大参照ピクチャサイズなどを制限する。レベルによって設定された制限は、場合によっては、コーディングされたビデオシーケンスでシグナリングされる仮想参照デコーダ(HRD)仕様およびHRDバッファ管理のためのメタデータによってさらに制限することができる。
【0040】
一実施形態では、レシーバ310は、エンコーディングされたビデオと共に追加の(冗長な)データを受信し得る。追加データは、コーディングされたビデオシーケンス(複数可)の一部として含まれ得る。追加データは、データを適切にデコーディングするためおよび/または元のビデオデータをより正確に再構成するために、ビデオデコーダ210によって使用され得る。追加データは、例えば、時間的、空間的、またはSNRエンハンスメントレイヤー、冗長スライス、冗長ピクチャ、順方向エラー訂正コードなどの形式にすることができる。
【0041】
図4は、本開示の一実施形態によるビデオソース201に関連付けられたビデオエンコーダ203の例示的な機能ブロック図を示している。
【0042】
ビデオエンコーダ203は、例えば、ソースコーダ430であるエンコーダ、コーディングエンジン432、(ローカル)デコーダ433、参照ピクチャメモリ434、予測器435、トランスミッタ440、エントロピーコーダ445、コントローラ450、チャネル460を含むことができる。
【0043】
エンコーダ203は、エンコーダ203によってコーディングされるビデオ画像(複数可)をキャプチャし得るビデオソース201(エンコーダの一部ではない)からビデオサンプルを受信し得る。
【0044】
ビデオソース201は、任意の適切なビット深度(例えば:8ビット、10ビット、12ビット、...)、任意の色空間(例えば:BT.601 Y CrCB、RGB、...)および任意の適切なサンプリング構造(例えば:Y CrCb 4:2:0、Y CrCb 4:4:4)を持つことができるデジタルビデオサンプルストリームの形式で、エンコーダ203によってコーディングされるソースビデオシーケンスを提供し得る。メディアサービングシステムでは、ビデオソース201は、以前に準備されたビデオを格納する記憶装置であり得る。ビデオ会議システムでは、ビデオソース201は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであり得る。ビデオデータは、シーケンスで見ると動きを与える複数の個別のピクチャとして提供され得る。ピクチャ自体は、ピクセルの空間アレイとして編成され得、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つ以上のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下では、サンプルに焦点を当てて説明する。
【0045】
一実施形態によれば、エンコーダ203は、リアルタイムでまたはアプリケーションによって要求される他の時間制約の下で、ソースビデオシーケンスのピクチャをコーディングし、コーディングされたビデオシーケンス443に圧縮し得る。適切なコーディング速度を強制することは、コントローラ450の機能の1つである。コントローラ450は、また、以下に説明するように他の機能ユニットを制御し得、これらのユニットに機能的に結合され得る。明確にするために結合は描かれていない。コントローラ450によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化、レート歪み最適化手法のラムダ値、...)、ピクチャサイズ、ピクチャのグループ(GOP)レイアウト、最大動きベクトル検索範囲などを含むことができる。当業者は、特定のシステム設計に最適化されたビデオエンコーダ203に関連する可能性があるため、コントローラ450の他の機能を容易に特定することができる。
【0046】
一部のビデオエンコーダは、当業者が「コーディングループ」として容易に認識できるように動作する。過度に単純化された記述として、コーディングループは、(コーディングされる入力ピクチャと参照ピクチャ(複数可)に基づいてシンボルを作成する責任がある)ソースコーダ430のエンコード部分と、特定のビデオ圧縮技術でシンボルとコーディングされたビデオビットストリームの間の圧縮がロスレスである場合に(リモート)デコーダも作成するサンプルデータを作成するためにシンボルを再構成する、エンコーダ203に埋め込まれた(ローカル)デコーダ433で構成することができる。その再構成されたサンプルストリームは、参照ピクチャメモリ434に入力され得る。シンボルストリームのデコーディングはデコーダの場所(ローカルまたはリモート)に依存しないビット正確な(bit-exact)結果につながるため、参照ピクチャメモリの内容もローカルエンコーダとリモートエンコーダとの間でビット正確(bit exact)である。言い換えれば、エンコーダの予測部分は、デコード中に予測を使用した場合にデコーダが「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャの同期性(および、例えばチャネルエラーのために、同期性を維持できない場合は、結果として生じるドリフト)のこの基本原理は、当業者には知られている。
【0047】
「ローカル」デコーダ433の動作は、すでに図3と併せて詳細に説明されている「リモート」デコーダ210と同じであることができる。しかし、シンボルが利用可能であり、エントロピーコーダ445およびパーサ320によるコーディングされたビデオシーケンスへのシンボルのエン/デコーディングはロスレスであることができるため、チャネル312、レシーバ310、バッファメモリ315、およびパーサ320を含むデコーダ210のエントロピーデコーディング部分は、ローカルデコーダ433で完全に実装されていない可能性がある。
【0048】
この時点で可能な観察は、デコーダに存在する解析/エントロピーデコーディングを除く任意のデコーダ技術が、対応するエンコーダに実質的に同一の機能形式で存在する必要がある可能性があるということである。このため、開示された主題はデコーダの動作に焦点を当てている。エンコーダ技術の説明は、包括的に記述されたデコーダ技術の逆であり得るため、省略することができる。特定の分野においてのみ、より詳細な説明が必要であり、以下に提供される。
【0049】
その動作の一部として、ソースコーダ430は、「参照フレーム」として指定されたビデオシーケンスからの1つ以上の以前にコーディングされたフレームを参照して、入力フレームを予測的にコーディングする動き補償予測コーディングを実行し得る。このようにして、コーディングエンジン432は、入力フレームのピクセルブロックと、入力フレームへの予測参照(複数可)として選択され得る参照フレーム(複数可)のピクセルブロックとの間の違いをコーディングする。
【0050】
ローカルデコーダ433は、ソースコーダ430によって作成されたシンボルに基づいて、参照フレームとして指定され得るフレームのコーディングされたビデオデータをデコーディングし得る。コーディングエンジン432の動作は、有利にはロッシープロセスであり得る。コーディングされたビデオデータがビデオデコーダ(図4には示されていない)でデコーディングされ得る場合、再構成されたビデオシーケンスは通常、いくつかのエラーを持つソースビデオシーケンスの複製(replica)であり得る。ローカルデコーダ433は、ビデオデコーダによって参照フレームで実行され得るデコーディングプロセスを複製し、再構成された参照フレームが参照ピクチャメモリ434に格納されるようにし得る。このようにして、エンコーダ203は、共通の内容を持つ再構成された参照フレームのコピーを、遠端(far-end)ビデオデコーダによって取得される再構成された参照フレームとしてローカルに格納され得る(伝送エラーなし)。
【0051】
予測器435は、コーディングエンジン432のために予測検索を実行し得る。すなわち、コーディングされる新しいフレームについて、予測器435は、新しいピクチャの適切な予測参照として機能し得るサンプルデータ(候補参照ピクセルブロックとして)または参照ピクチャの動きベクトル、ブロック形状などのような特定のメタデータについて参照ピクチャメモリ434を検索し得る。予測器435は、適切な予測参照を見つけるために、サンプルブロック/ピクセルブロック毎に(a sample block-by-pixel block basis)動作し得る。場合によっては、予測器435によって得られた検索結果によって決定されるように、入力ピクチャは、参照ピクチャメモリ434に格納された複数の参照ピクチャから引き出された予測参照を有し得る。
【0052】
コントローラ450は、例えば、ビデオデータのエンコーディングに使用されるパラメータおよびサブグループパラメータの設定を含む、ソースコーダ430のコーディング動作を管理し得る。
【0053】
すべての前述の機能ユニットの出力は、エントロピーコーダ445におけるエントロピーコーディングを受け得る。エントロピーコーダは、例えば、ハフマンコーディング、可変長コーディング、算術コーディングなどのような当業者に知られている技術に従ってシンボルをロスレス圧縮することによって、さまざまな機能ユニットによって生成されたシンボルをコーディングされたビデオシーケンスに変換する。
【0054】
トランスミッタ440は、エンコーディングされたビデオデータを格納する記憶装置へのハードウェア/ソフトウェアリンクであり得る通信チャネル460を介して送信する準備をするために、エントロピーコーダ445によって作成されたコーディングされたビデオシーケンス(複数可)をバッファし得る。トランスミッタ440は、ソースコーダ430からのコーディングされたビデオデータを、送信される他のデータ、例えば、コーディングされたオーディオデータおよび/または補助的なデータストリーム(ソースは示されていない)とマージし得る。
【0055】
コントローラ450は、エンコーダ203の動作を管理し得る。コーディング中、コントローラ450は、各コーディングされたピクチャに特定のコーディングされたピクチャタイプを割り当て得、これは、それぞれのピクチャに適用され得るコーディング技術に影響を与え得る。例えば、ピクチャは多くの場合、イントラピクチャ(Iピクチャ)、予測ピクチャ(Pピクチャ)、または双方向(Bi-directionally)予測ピクチャ(Bピクチャ)として割り当てられ得る。
【0056】
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のフレームを使用せずにコーディングおよびデコーディングされ得るものであり得る。一部のビデオコーデックは、例えば、独立デコーダリフレッシュ(Independent Decoder Refresh)(IDR)ピクチャを含む、さまざまな種類のイントラピクチャを許容する。当業者は、Iピクチャのこれらの変形並びにそれらのそれぞれの用途および特徴を認識する。
【0057】
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用してコーディングおよびデコーディングされるものであり得る。
【0058】
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用してコーディングおよびデコーディングされるものであり得る。同様に、複数予測ピクチャは、単一のブロックの再構成のために2より多い参照ピクチャおよび関連するメタデータを使用することができる。
【0059】
ソースピクチャは、一般的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、または16×16サンプルのブロック)に空間的に細分化され、ブロック毎にコーディングされ得る。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定されるように、他の(既にコーディングされている)ブロックを参照して予測的にコーディングされ得る。例えば、Iピクチャのブロックは、非予測的にコーディングされ得る、または同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされ得る(空間予測またはイントラ予測)。Pピクチャのピクセルブロックは、空間予測を介してまたは以前にコーディングされた1つの参照ピクチャを参照して時間予測を介して、非予測的にコーディングされ得る。Bピクチャのブロックは、空間予測を介してまたは以前にコーディングされた1つまたは2つの参照ピクチャを参照して時間予測を介して、非予測的にコーディングされ得る。
【0060】
ビデオエンコーダ203は、ITU-T勧告H.265などの所定のビデオコーディング技術または標準に従ってコーディング動作を実行し得る。その動作では、ビデオエンコーダ203は、入力ビデオシーケンスの時間的および空間的冗長性を利用する予測コーディング動作を含む、さまざまな圧縮動作を実行し得る。したがって、コーディングされたビデオデータは、使用されているビデオコーディング技術または標準によって指定された構文に準拠し得る。
【0061】
一実施形態では、トランスミッタ440はエンコーディングされたビデオと共に追加データを送信し得る。ソースコーダ430は、コーディングされたビデオシーケンスの一部としてそのようなデータを含み得る。追加データは、時間/空間/SNRエンハンスメントレイヤー、冗長なピクチャおよびスライスなどの他の形式の冗長データ、補助エンハンスメント情報(SEI)メッセージ、視覚的ユーザビリティ情報(VUI)パラメータセットフラグメントなどを含み得る。
【0062】
本開示の実施形態は、DNNベースのクロスコンポーネント予測を提供する。実施形態は、図5-6を参照して以下に説明する。
【0063】
本開示の実施形態によるビデオ圧縮フレームワークを以下に説明する。入力ビデオが、ビデオの合計フレーム数に等しい複数のイメージフレームを含むと仮定する。フレームは、空間ブロックに分割され(partitioned)、各ブロックは反復的により小さいブロックに分割できる。ブロックは、ルマコンポーネント510yと、クロマチャネル520uおよび520tを含むクロマコンポーネント520の両方を含む。イントラ予測プロセスの間、最初にルマコンポーネント510yを予測することができ、次に2つのクロマチャネル520uおよび520tを後で予測することができる。クロマチャネル520uおよび520tの両方の予測は、一緒にまたは別々に実行することができる。
【0064】
本開示の一実施形態では、再構成されたクロマコンポーネント520は、エンコーダとデコーダの両方、またはデコーダのみでDNNベースのモデルによって生成される。2つのクロマチャネル520uおよび520tは、単一のネットワークで一緒に、または異なるネットワークで別々に生成され得る。各クロマチャネルについて、クロマチャネルは、ブロックサイズに基づいて異なるネットワークを使用して生成され得る。信号処理、空間的または時間的フィルタリング、スケーリング、重み付け平均化、アップ/ダウンサンプリング、プーリング、メモリによる再帰処理、線形システム処理、非線形システム処理、ニューラルネットワーク処理、ディープラーニングベースの処理、AI処理、事前にトレーニングされたネットワーク処理、機械学習ベースの処理、またはそれらの組み合わせを含む1つ以上のプロセスを、DNNベースのクロスコンポーネント予測における本開示の実施形態のモジュールとして使用することができる。再構成されたクロマコンポーネント520を処理するために、一方の再構成されたクロマチャネル(例えば、クロマチャネル520uおよび520tの中からの一方)を、他方の再構成されたクロマチャネル(例えば、クロマチャネル520uおよび520tの中からの他方)を生成するために使用することができる。
【0065】
本開示の実施形態によれば、ブロックの再構成されたルマコンポーネント510y、参照コンポーネント、およびエンコーダによって提供されたその他のサイド情報に基づいて、ブロックの再構成されたクロマチャネル520uおよび520tの圧縮性能を強化するDNNベースのクロスコンポーネント予測モデルが提供され得る。実施形態によれば、クロマチャネル520uおよび520tをサブサンプリングするために4:2:0が使用され得る。したがって、クロマチャネル520uおよび520tは、ルマコンポーネント510yよりも低い解像度を有し得る。
【0066】
図5を参照して、プロセス500を以下に説明する。プロセス500は、本開示の実施形態による一般的なハイブリッドビデオコーディングシステムにおけるトレーニングおよび/または予測のための入力サンプル580を生成するワークフローを含む。
【0067】
再構成されたルマコンポーネント510yは、2N×2Mブロックであるルマブロックであり得、2Nはルマブロックの幅、2Mはルマブロックの高さである。実施形態によれば、2N×2Kブロックである第1のルマ参照(luma reference)512y、および2K×2Mブロックである第2のルマ参照514yも提供され得、2Kはルマ参照の行数または列数を表す。ルマサイズを予測出力サイズと同じにするために、ダウンサンプリングプロセス591が、ルマコンポーネント510y、第1のルマ参照512y、および第2のルマ参照514yに対して適用される。ダウンサンプリングプロセス530は、バイキュービック(bicubic)およびバイリニア(bilinear)などの従来の方法であることができる、またはNNベースのダウンサンプリング方法であることができる。ダウンサンプリングの後、ルマコンポーネント510yは、N×Mのブロックサイズを有するダウンサンプリングされたルマコンポーネント530yになり得、第1のルマ参照512yは、N×Kのブロックサイズを有するダウンサンプリングされた第1のルマ参照532yになり得、第2のルマ参照514yは、K×Mのブロックサイズを有するダウンサンプリングされた第2のルマ参照534yになり得る。ダウンサンプリングされた第1のルマ参照532yおよびダウンサンプリングされた第2のルマ参照534yは、それぞれ、ダウンサンプリングされたルマコンポーネント530y(ルマブロックとも呼ばれる)のサイズに一致する第1の変換されたルマ参照552yおよび第2の変換されたルマ参照554yに変換され(ステップ592において)、第1の変換されたルマ参照552y、第2の変換されたルマ参照554y、およびダウンサンプリングされたルマコンポーネント530yは、一緒に連結され(concatenated)得る(ステップ592において)。例えば、変換は、ダウンサンプリングされた第1のルマ参照532yおよびダウンサンプリングされた第2のルマ参照534yの値を、それらのサイズが出力ブロックサイズ(例えば、ダウンサンプリングされたルマコンポーネント530yのサイズ)と同じになるまで数回複製することによって実行することができる。
【0068】
クロマコンポーネント520を予測するために、クロマコンポーネント520の隣接する参照(例えば、第1のクロマ参照522と第2のクロマ参照524)を、より良いクロマコンポーネントを生成するためのオプションの参照として追加されることもできる。図5を参照すると、クロマコンポーネント520は、本開示の実施形態において生成/予測され得る再構成されたクロマブロックであるサイズN×Mを有するブロックであり得る。クロマコンポーネント520は、2つのクロマチャネル520uおよび520tを有し、両方のチャネル520uおよび520tが併用され得る。第1のクロマ参照522および第2のクロマ参照524を得ることができ(ステップ593において)、これらはそれぞれN×KおよびK×Mのブロックサイズを有し得る。実施形態によれば、第1のクロマ参照522および第2のクロマ参照524は、それぞれ2つのクロマチャネル520uおよび520tに対応するように2回取得され得る。第1のクロマ参照522および第2のクロマ参照524は、N×Mのサイズに一致する、第1の変換されたクロマ参照542および第2の変換されたクロマ参照544にそれぞれ変換され得る(ステップ594において)。すべての画像ベースの情報(例えば、ダウンサンプリングされたルマコンポーネント530y、第1の変換されたルマ参照552y、第2の変換されたルマ参照554y、第1の変換されたクロマ参照542、および第2の変換されたクロマ参照544)を、DNNのトレーニングおよび/またはDNNを使用した予測のための入力サンプル580を取得するために、一緒に連結することができる(ステップ595において)。ルマおよびクロマコンポーネントの他に、ニューラルネットワークのトレーニングおよび/または予測のためにサイド情報を入力に追加することができる。例えば、QP値およびブロック分割深度情報(block partition depth information)が、サイズN×Mを有する特徴マップを生成するために使用されることができ、トレーニングおよび/または予測用の入力サンプル580を生成するために、画像ベースの特徴マップ(例えば、ダウンサンプリングされたルマコンポーネント530y、第1の変換されたルマ参照552y、第2の変換されたルマ参照554y、第1の変換されたクロマ参照542、および第2の変換されたクロマ参照544)と一緒に連結されることができる(ステップ595において)。
【0069】
一般的なハイブリッドビデオコーディングシステムにおけるプロセス600のワークフローを、図6を参照して以下に説明する。
【0070】
再構成されたルマブロック610(ルマコンポーネントとも呼ばれる)、サイド情報612、ルマブロック610への隣接するルマ参照614、および再構成されるクロマブロックへの隣接するクロマ参照616のセットが、本開示の実施形態のモデルがトレーニングと予測の両方を実行することができるように、DNN620の入力として使用され得る。DNN620の出力630は、予測されたクロマコンポーネントであり得、2つのクロマチャネルが、異なるDNNモデルまたは同じDNNモデルを使用して予測され得る。
【0071】
実施形態によれば、DNN620への入力は、図5を参照して記述された入力サンプル580であり得る。例えば、再構成されたルマブロック610は、ダウンサンプリングされたルマコンポーネント530yであり得、隣接するルマ参照614は、第1の変換されたルマ参照552yおよび第2の変換されたルマ参照554yのうちの1つまたは複数であり得、隣接するクロマ参照616は、第1の変換されたクロマ参照542および第2の変換されたクロマ参照544のうちの1つまたは複数であり得る(クロマチャネル520uおよび520tの一方または両方に対して)。実施形態によれば、サイド情報は、例えば、QP値およびブロック分割深度情報を含み得る。
【0072】
再構成されたルマブロック610、サイド情報612、隣接するルマ参照614、および隣接するクロマ参照616が入力としてどのように使用されるかの組み合わせ、連結、または順序は、さまざまに変更することができる。実施形態によれば、サイド情報612、隣接するルマ参照614、および/または隣接するクロマ参照616は、本開示の実施形態のコーディングシステムによる決定(複数可)に基づいて、DNN620のオプション入力とすることができる。
【0073】
実施形態によれば、本開示のコーディングシステムは、例えば、DNN620の出力630(例えば、予測されるクロマコンポーネント)を元のクロマブロック660と比較し、他の予測モードからの1つまたは複数のクロマブロック(ステップ650)を元のクロマブロック660と比較することによって、再構成品質を計算し得る(ステップ640)。出力630(例えば、予測されるクロマコンポーネント)の中から1つを決定することおよび他の予測モードからの1つまたは複数のクロマブロック(ステップ650)が最も高い再構成品質を有する(例えば、元のクロマブロック660に最も近い)ことに基づいて、そのようなブロック(またはモード)は、コーディングシステムによって再構成されたクロマブロック670になるように選択され得る。
【0074】
実施形態によれば、少なくとも1つのプロセッサおよびコンピュータプログラム命令を格納するとメモリが提供され得る。コンピュータプログラム命令は、少なくとも1つのプロセッサによって実行されると、本開示に記載された任意の数の機能を実行するシステムを実装し得る。例えば、図7を参照すると、少なくとも1つのプロセッサがシステム700を実装し得る。システム700は、DNN(複数可)およびその少なくとも1つのモデルを含み得る。コンピュータプログラム命令は、例えば、DNNコード710、入力生成コード720、入力コード730、予測コード740、再構成品質コード750、画像取得コード760を含み得る。
【0075】
DNNコード710は、本開示の実施形態に従って、少なくとも1つのプロセッサにDNN(複数可)(およびそのモデル)を実装させるように構成され得る。
【0076】
入力生成コード720は、本開示の実施形態(例えば、図5の説明を参照)に従って、少なくとも1つのプロセッサにDNN(複数可)のための入力を生成させるように構成され得る。例えば、入力生成コード720は、図5を参照して説明された処理を実行させ得る。
【0077】
入力コード730は、本開示の実施形態(例えば、図6に示すDNN620への入力の説明を参照)に従って、少なくとも1つのプロセッサに入力をDNN(複数可)に入力させるように構成され得る。例えば、図6を参照すると、入力は、再構成されたルマブロック610、サイド情報612、ルマ参照614、および/またはクロマ参照616を含み得る。
【0078】
予測コード740は、本開示の実施形態(例えば、図6に示す出力630の説明を参照)に従って、少なくとも1つのプロセッサに、再構成されたクロマブロックをDNN(複数可)によって予測させるように構成され得る。
【0079】
再構成品質コード750は、本開示の実施形態(例えば、図6に示すステップ640および650の説明を参照)に従って、DNNによって予測される再構成されたクロマブロックと、異なる予測モード(複数可)を使用して予測される別の再構成されたクロマブロック(複数可)の再構成品質を、少なくとも1つのプロセッサに計算させるように構成され得る。
【0080】
画像取得コード760は、本開示の実施形態(例えば、図6に示すステップ640および再構成されたクロマブロック670の説明を参照)に従って、DNNによって予測される再構成されたクロマブロック、または異なる予測モード(複数可)を使用して予測される別の再構成されたクロマブロック(複数可)を使用して、少なくとも1つのプロセッサに画像を取得させるように構成され得る。例えば、画像取得コード760は、少なくとも1つのプロセッサに、最高の計算された再構成品質を持つものに基づいて、再構成されたクロマブロックおよび別の再構成されたクロマブロックの中から1つを選択させ、画像を取得するためにそのような再構成されたクロマブロックを使用させるように構成され得る。実施形態によれば、画像取得コード760は、再構成品質が計算されることなしにおよび/または再構成されたクロマブロックの間で選択するために使用されることなし、DNNによって予測される再構成されたクロマブロックを使用して、少なくとも1つのプロセッサに画像を取得させるように構成され得る。実施形態によれば、再構成されたルマブロックはまた、画像を取得するために使用され得る。
【0081】
イントラ予測モードにおける以前のクロスコンポーネント予測方法と比較して、本開示の実施形態は様々な利点を提供する。例えば、本開示の実施形態は、再構成ブロックの様々な形状に対応する柔軟で一般的なフレームワークを提供する。また、本開示の実施形態は、様々な入力情報を持つ変換メカニズムを活用し、それによって、コーディング効率を向上させるためにDNNモデルの学習能力を最適化する側面を含む。さらに、サイド情報が、予測結果を改善するためにDNNと共に使用され得る。
【0082】
上述の本開示の実施形態の技術は、コンピュータ可読命令を使用してコンピュータソフトウェアとして実装し、1つ以上のコンピュータ可読媒体に物理的に格納することができる。例えば、図8は、開示された主題の実施形態を実施するのに適したコンピュータシステム900を示す。
【0083】
コンピュータソフトウェアは、コンピュータ中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)などによって、直接的に、または解釈、マイクロコード実行などを通じて実行することができる命令を含むコードを作成するために、アセンブリ、コンパイル、リンク、または同様のメカニズムの対象となり得る、任意の適切な機械コードまたはコンピュータ言語を使用してコーディングすることができる。
【0084】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームミングデバイス、モノのインターネットデバイス等を含む種々のタイプのコンピュータまたはそのコンポーネント上で実行することができる。
【0085】
コンピュータシステム900についての図9に示されるコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲または機能に関する限定を示唆することを意図するものではない。また、コンポーネントの構成は、コンピュータシステム900の例示的な実施形態に示されたコンポーネントのいずれか1つまたは組み合わせに関するいかなる従属性または要件を有するものとして解釈されてはならない。
【0086】
コンピュータシステム900は、特定のヒューマンインターフェース入力デバイスを含み得る。このようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(音声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(図示せず)を通じて、一人または複数の人間のユーザによる入力に応答し得る。また、ヒューマンインターフェースデバイスは、オーディオ(スピーチ、音楽、周囲の音声など)、画像(スキャンされた画像、静止画カメラから得られる写真画像など)、ビデオ(2次元ビデオ、立体画像を含む3次元ビデオなど)のような、人間による意識的入力に必ずしも直接関係しない特定のメディアをキャプチャするために使用することができる。
【0087】
入力ヒューマンインターフェースデバイスは、キーボード901、マウス902、トラックパッド903、タッチスクリーン910、データグローブ、ジョイスティック905、マイクロホン906、スキャナ907、およびカメラ008の1つ以上(それぞれのうちの1つのみ)を含み得る。
【0088】
コンピュータシステム900はまた、特定のヒューマンインターフェース出力デバイスを含み得る。このようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、およびにおい/味を通して、1人または複数の人間ユーザの感覚を刺激し得る。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン910、データグローブ、またはジョイスティック905による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスであることもできる)を含み得る。例えば、このようなデバイスは、オーディオ出力デバイス(スピーカー909、ヘッドフォン(図示せず)など)、視覚出力デバイス(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン910など、各々がタッチスクリーン入力能力を有していても有していなくてもよく、各々が触覚フィードバック能力を有していても有していなくてもよい-これらのうちのいくつかは、2次元の視覚出力または立体画像出力など手段を介して3次元以上の出力を出力することができ得る;仮想現実メガネ(図示せず)、ホログラフィックディスプレイおよびスモークタンク(図示せず))、およびプリンタ(図示せず)であり得る。
【0089】
コンピュータシステム900はまた、人間がアクセス可能なストレージデバイス、および、CD/DVDまたは類似の媒体921を備えたCD/DVD ROM/RW920を含む光学媒体、サムドライブ922、リムーバブルハードドライブまたはソリッドステートドライブ923、テープおよびフロッピー(登録商標)ディスク(図示せず)のようなレガシー磁気媒体、セキュリティドングル(図示せず)のような特殊化されたROM/ASIC/PLDベースのデバイスなどの関連媒体を含むことができる。
【0090】
当業者はまた、現在開示されている主題に関連して使用される用語「コンピュータ可読媒体」が、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解すべきである。
【0091】
コンピュータシステム900はまた、1つ以上の通信ネットワークへのインターフェースを含むことができる。ネットワークは、例えば、無線、有線、光であることができる。ネットワークは、さらに、ローカル、広域、メトロポリタン、車両および産業、リアルタイム、遅延耐性などであることができる。ネットワークの例は、イーサネット(登録商標)、無線LANなどのローカルエリアネットワーク、GSM、3G、4G、5G、LTEなどを含むセルラーネットワーク、ケーブルTV、衛星TV、および地上放送TVを含むTV有線または無線ワイドエリアデジタルネットワーク、CANバスを含む車両および産業用などを含む。特定のネットワークは、一般に、特定の汎用データポートまたは周辺バス949(例えば、コンピュータシステム900のUSBポートなど)に取り付けられる外部ネットワークインターフェースアダプタを必要とする。他のものは、一般に、以下に説明するようにシステムバスに取り付けることによって、コンピュータシステム900のコアに組み込まれる(例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム900は、他のエンティティと通信することができる。このような通信は、単指向性、受信のみ(例えば、放送テレビ)、単指向性送信専用(例えば、特定のCANバスデバイスへのCANバス)、または、例えば、ローカルまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの双指向性であることができる。このような通信は、クラウドコンピューティング環境955への通信を含むことができる。特定のプロトコルおよびプロトコルスタックは、上述のように、これらのネットワークおよびネットワークインターフェースの各々で使用することができる。
【0092】
前述のヒューマンインターフェースデバイス、人間がアクセス可能なストレージデバイス、およびネットワークインターフェース954は、コンピュータシステム900のコア940に取り付けることができる。
【0093】
コア940)は、1つ以上の中央処理装置(CPU)941、グラフィックス処理ユニット(GPU)942、フィールドプログラマブルゲートエリア(FPGA)943の形の特殊なプログラマブル処理ユニット、特定のタスクのためのハードウェアアクセラレータ944などを含むことができる。これらのデバイスは、読み取り専用メモリ(ROM)945、ランダムアクセスメモリ946、内部非ユーザアクセス可能ハードドライブ、SSD等の内部大容量ストレージ947と共に、システムバス948を介して接続され得る。いくつかのコンピュータシステムでは、システムバス948は、追加のCPU、GPUなどによる拡張を可能にするために、1つ以上の物理的プラグの形態でアクセス可能であることができる。周辺デバイスは、コアのシステムバス948に直接取り付けるか、または周辺バス949を介して取り付けることができる。周辺バスのアーキテクチャは、PCI、USBなどを含む。グラフィックスアダプタ950が、コア940に含まれ得る。
【0094】
CPU941、GPU942、FPGA943、およびアクセラレータ944は、組み合わされて、上述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM945またはRAM946に格納することができる。過渡的なデータはRAM946に格納することもでき、一方、永久データは、例えば、内部大容量ストレージ947に格納することができる。メモリデバイスのいずれかへの高速ストレージおよび取得は、キャッシュメモリの使用を通して可能にすることができ、キャッシュメモリは、1つ以上のCPU941、GPU942、大容量ストレージ947、ROM945、RAM946などと密接に関連付けることができる。
【0095】
コンピュータ可読媒体は、種々のコンピュータに実装された動作を実行するためのコンピュータコードをその上に有することができる。媒体およびコンピュータコードは、本開示の目的のために特別に設計および構成されたものであることができる、またはそれらは、コンピュータソフトウェア技術の当業者に良く知られかつ入手可能な種類のものであることができる。
【0096】
一例として、限定するものではなく、アーキテクチャを有するコンピュータシステム900、具体的にはコア940は、プロセッサ(複数可)(CPU、GPU、FPGA、アクセラレータ等を含む)が1つ以上の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行する結果として機能を提供することができる。そのようなコンピュータ可読媒体は、コア-内部大容量ストレージ947又はROM945のような非一時的な性質のものであるコア940の特定のストレージと同様に、上述のようなユーザがアクセス可能な大容量ストレージに関連する媒体であることができる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに格納され、コア940によって実行されることができる。コンピュータ可読媒体は、特定のニーズに応じて、1つ又は複数のメモリデバイス又はチップを含むことができる。ソフトウェアは、RAM946に格納されたデータ構造を定義し、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセス又は特定のプロセスの特定の部分を、コア940、具体的にはその中のプロセッサ(CPU、GPU、FPGAなどを含む)に実行させることができる。加えて又は代替的に、コンピュータシステムは、回路(例えば、アクセラレータ944))内に配線された又は他の方法で具現化されたロジックの結果として機能を提供することができ、これは、本明細書に記載される特定のプロセス又は特定のプロセスの特定の部分を実行するためのソフトウェアの代わりに、又はそれと共に動作することができる。ソフトウェアへの言及は、ロジックを含み、また、必要に応じて、その逆も可能である。コンピュータ可読媒体への言及は、実行のためのソフトウェアを格納する回路(集積回路(IC)など)、実行のためのロジックを具体化する回路、又は適切な場合にはその両方を含むことができる。本開示は、ハードウェア及びソフトウェアの任意の適切な組み合わせを包含する。
【0097】
本開示はいくつかの非限定的な例示的な実施形態を説明してきたが、変更、順列、および様々な代替均等物があり、これらは本開示の範囲内にある。したがって、当業者は、ここに明示的に示されているわけでも記述されているわけでもないが、開示の原理を具体化し、したがってその精神と範囲内にある多数のシステムおよび方法を考え出すことができることが認められる。
図1
図2
図3
図4
図5
図6
図7
図8