(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022161861
(43)【公開日】2022-10-21
(54)【発明の名称】機械学習モデルベースのビデオ圧縮
(51)【国際特許分類】
H04N 19/503 20140101AFI20221014BHJP
G06T 9/00 20060101ALI20221014BHJP
G06N 3/08 20060101ALI20221014BHJP
G06N 3/04 20060101ALI20221014BHJP
【FI】
H04N19/503
G06T9/00 200
G06N3/08 180
G06N3/04
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022062152
(22)【出願日】2022-04-01
(31)【優先権主張番号】63/172,315
(32)【優先日】2021-04-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/255,280
(32)【優先日】2021-10-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/704,692
(32)【優先日】2022-03-25
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】504399716
【氏名又は名称】ディズニー エンタープライゼス インコーポレイテッド
(71)【出願人】
【識別番号】506110634
【氏名又は名称】イーティーエイチ・チューリッヒ
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100164448
【弁理士】
【氏名又は名称】山口 雄輔
(72)【発明者】
【氏名】アブデルアジズ デジェロフ
(72)【発明者】
【氏名】レオンハルト マルクス ヘルミンガー
(72)【発明者】
【氏名】ロベルト ジェルソン デ アルバカーキ アゼヴェード
(72)【発明者】
【氏名】スコット ラブロージー
(72)【発明者】
【氏名】クリストファ リヒャルト シュロアーズ
(72)【発明者】
【氏名】ユアンイ シュエ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA05
5C159MC11
5C159PP04
5C159SS26
5C159UA02
(57)【要約】 (修正有)
【課題】機械学習モデルベースの圧縮ビデオコンテンツを生成する。
【解決手段】機械学習モデルベースビデオ圧縮エンコーダは、非圧縮ビデオコンテンツ及び対応する動き補償済ビデオコンテンツを受信し、画像空間残差を識別するために、非圧縮ビデオコンテンツと動き補償済ビデオコンテンツとを比較し、画像空間残差を非圧縮ビデオコンテンツの潜在空間表現に変換し、トレーニング済画像圧縮MLモデルを使用して、動き補償済ビデオコンテンツを動き補償済ビデオコンテンツの潜在空間表現に変換し、符号化済潜在残差を制作するために、画像空間残差の潜在空間表現を符号化し、符号化済潜在ビデオコンテンツを制作するために、トレーニング済画像圧縮MLモデルを使用して、動き補償済ビデオコンテンツの潜在空間表現を符号化し、符号化済潜在残差及び符号化済潜在ビデオコンテンツを使用して、非圧縮ビデオコンテンツに対応する圧縮ビデオコンテンツを生成する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
システムであって、
処理ハードウェアと、機械学習(ML)モデルベースビデオ圧縮エンコーダおよびトレーニング済画像圧縮MLモデルを格納するシステムメモリと、を含むコンピューティングプラットフォームを備え、
前記処理ハードウェアは前記MLモデルベースビデオ圧縮エンコーダを実行するように構成されて、
非圧縮ビデオコンテンツおよび前記非圧縮ビデオコンテンツに対応する動き補償済ビデオコンテンツを受信し、
前記非圧縮ビデオコンテンツに対応する画像空間残差を識別するために、前記非圧縮ビデオコンテンツを前記動き補償済ビデオコンテンツと比較し、
前記画像空間残差を前記画像空間残差の潜在空間表現に変換し、
前記トレーニング済画像圧縮MLモデルを使用して、前記動き補償済ビデオコンテンツを受信し、
前記トレーニング済画像圧縮MLモデルを使用して、前記動き補償済ビデオコンテンツを、前記動き補償済ビデオコンテンツの潜在空間表現に変換し、
符号化済潜在残差を制作するために、前記画像空間残差の前記潜在空間表現を符号化し、
符号化済潜在ビデオコンテンツを制作するために、前記トレーニング済画像圧縮MLモデルを使用して、前記動き補償済ビデオコンテンツの前記潜在空間表現を符号化し、および、
前記符号化済潜在残差および前記符号化済潜在ビデオコンテンツを使用して、前記非圧縮ビデオコンテンツに対応する圧縮ビデオコンテンツを生成する、システム。
【請求項2】
請求項1に記載のシステムであって、前記符号化済潜在残差および前記符号化済潜在ビデオコンテンツは、並行して制作される、システム。
【請求項3】
請求項1に記載のシステムであって、前記処理ハードウェアは前記MLモデルベースビデオ圧縮エンコーダを実行するように構成されて、前記符号化済潜在残差と前記符号化済潜在ビデオコンテンツとの間の差に基づいて、前記非圧縮ビデオコンテンツに対応する前記圧縮ビデオコンテンツを生成する、システム。
【請求項4】
請求項1に記載のシステムであって、前記トレーニング済画像圧縮MLモデルは、トレーニング済人工ニューラルネットワーク(NN)を備える、システム。
【請求項5】
請求項4に記載のシステムであって、前記トレーニング済みNNは敵対的損失を含む目的関数を使用してトレーニングされる、システム。
【請求項6】
請求項4に記載のシステムであって、前記トレーニング済みNNは生成的敵対ネットワーク(GAN)を備える、システム。
【請求項7】
処理ハードウェアと、機械学習(ML)モデルベースビデオ圧縮エンコーダおよびトレーニング済画像圧縮MLモデルを格納するシステムメモリと、を有するコンピューティングプラットフォームを含むシステムによって使用する方法であって、
前記処理ハードウェアによって実行する前記MLモデルベースビデオ圧縮エンコーダによって、非圧縮ビデオコンテンツおよび前記非圧縮ビデオコンテンツに対応する動き補償済ビデオコンテンツを受信するステップと、
前記処理ハードウェアによって実行する前記MLモデルベースビデオ圧縮エンコーダによって、前記非圧縮ビデオコンテンツを前記動き補償済ビデオコンテンツと比較するステップであって、それによって前記非圧縮ビデオコンテンツに対応する画像空間残差を識別するステップと、
前記処理ハードウェアによって実行する前記MLモデルベースビデオ圧縮エンコーダによって、前記画像空間残差を前記画像空間残差の潜在空間表現に変換するステップと、
前記処理ハードウェアによって実行する前記トレーニング済画像圧縮MLモデルによって、前記動き補償済ビデオコンテンツを受信するステップと、
前記処理ハードウェアによって実行する前記トレーニング済画像圧縮MLモデルによって、前記動き補償済ビデオコンテンツを、前記動き補償済ビデオコンテンツの潜在空間表現に変換するステップと、
前記処理ハードウェアによって実行する前記MLモデルベースビデオ圧縮エンコーダによって、符号化済潜在残差を制作するために、前記画像空間残差の前記潜在空間表現を符号化するステップと、
前記処理ハードウェアによって実行する前記トレーニング済画像圧縮MLモデルによって、符号化済ビデオコンテンツを制作するために、前記動き補償済ビデオコンテンツの前記潜在空間表現を符号化するステップと、
前記処理ハードウェアによって実行する前記MLモデルベースビデオ圧縮エンコーダによって、また前記符号化済潜在残差および前記符号化済潜在ビデオコンテンツを使用して、前記非圧縮ビデオコンテンツに対応する圧縮ビデオコンテンツを生成するステップと、を含む方法。
【請求項8】
請求項7に記載の方法であって、前記符号化済潜在残差および前記符号化済潜在ビデオコンテンツを、並行して制作する、方法。
【請求項9】
請求項7に記載の方法であって、前記符号化済潜在残差と前記符号化済潜在ビデオコンテンツとの間の差に基づいて、前記非圧縮ビデオコンテンツに対応する前記圧縮ビデオコンテンツを生成する、方法。
【請求項10】
請求項7に記載の方法であって、前記トレーニング済画像圧縮MLモデルは、トレーニング済人工ニューラルネットワーク(NN)を備える、方法。
【請求項11】
請求項10に記載の方法であって、前記トレーニング済みNNを、敵対的損失を含む目的関数を使用してトレーニングする、方法。
【請求項12】
請求項7に記載の方法であって、前記トレーニング済みNNは生成的敵対ネットワーク(GAN)を備える、方法。
【請求項13】
システムであって、
処理ハードウェアと、機械学習(ML)モデルベースビデオ圧縮エンコーダおよびトレーニング済画像圧縮MLモデルを格納するシステムメモリと、を含むコンピューティングプラットフォームを備え、
前記処理ハードウェアは前記MLモデルベースビデオ圧縮エンコーダを実行するように構成されて、
前記トレーニング済画像圧縮MLモデルを使用して、非圧縮ビデオコンテンツおよび前記非圧縮ビデオコンテンツに対応する動き補償済ビデオコンテンツを受信し、
前記トレーニング済画像圧縮MLモデルを使用して、前記非圧縮ビデオコンテンツを前記非圧縮ビデオコンテンツの第1潜在空間表現に変換し、
前記トレーニング済画像圧縮MLモデルを使用して、前記動き補償済ビデオコンテンツを非圧縮ビデオコンテンツの第2潜在空間表現に変換し、および、
前記第1潜在空間表現および前記第2潜在空間表現に基づいて、前記非圧縮ビデオコンテンツに対応する圧縮ビデオコンテンツを送信するためのビットストリームを生成する、システム。
【請求項14】
請求項13に記載のシステムであって、前記処理ハードウェアは前記MLモデルベースビデオ圧縮エンコーダを実行するように更に構成されて、
前記第1潜在空間表現および前記第2潜在空間表現を使用して、潜在空間残差を決定する、システム。
【請求項15】
請求項14に記載のシステムであって、前記処理ハードウェアは前記MLモデルベースビデオ圧縮エンコーダを実行するように更に構成されて、
前記非圧縮ビデオコンテンツに対応する前記圧縮ビデオコンテンツを送信するためのビットストリームを、前記潜在空間残差を使用して生成する、システム。
【請求項16】
請求項14に記載のシステムであって、前記潜在空間残差は、前記第1潜在空間表現と前記第2潜在空間表現との間の差に基づく、システム。
【請求項17】
請求項13に記載のシステムであって、前記非圧縮ビデオコンテンツの前記第1潜在空間表現への変換および前記動き補償済ビデオコンテンツの前記第2潜在空間表現への変換は、並行して行われる、システム。
【請求項18】
請求項13に記載のシステムであって、前記トレーニング済画像圧縮MLモデルは、トレーニング済人工ニューラルネットワーク(NN)を備える、システム。
【請求項19】
請求項13に記載のシステムであって、前記トレーニング済みNNは敵対的損失を含む目的関数を使用してトレーニングされる、システム。
【請求項20】
請求項13に記載のシステムであって、前記トレーニング済みNNは生成的敵対ネットワーク(GAN)を備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の参照
本出願は、2021年4月8日に出願され、「Neural Network Based Video Codecs」と題する仮特許出願シリアル番号63/172,315、および2021年10月13日に出願され、「Microdosing For Low Bitrate Video Compression」と題する仮特許出願シリアル番号63/255,280の利益および優先権を主張するものである。それによって、これらは参照により完全に本出願に組み込まれている。
【背景技術】
【0002】
ビデオコンテンツは、インターネットトラフィック全体の大部分を占めており、空間解像度のフレームレートおよびビデオの色深度が増加し、ストリーミングサービスを採用するユーザが増えるにつれて、さらに増加すると予想される。既存のコーデックは、素晴らしいパフォーマンスを達成しているが、これ以上小さな改良を加えても将来の需要に対応できないところまで作り込まれている。そのため、ビデオコーディングを実行するための根本的に異なる方法を探求することは、有利にも、パフォーマンスおよび柔軟性を改善させた新しいクラスのビデオコーデックにつながる可能性がある。
【0003】
例えば、例として生成的敵対ネットワーク(GAN)の形態のニューラルネットワーク(NN)などのトレーニング済機械学習(ML)モデルを使用してビデオ圧縮を行うことの1つの利点は、そうでなければデータ伝送の点から取得するのにコストがかかるであろう視覚的詳細を、MLモデルに推論可能とさせることである。しかしながら、GANのようなMLモデルのトレーニングは、そのトレーニングが、損失関数の鞍点に収束すべく最小化ステップと最大化ステップを交互に繰り返すため、典型的に困難である。時間ドメインとそれがもたらす複雑さの増加を考慮すると、タスクがより困難になる。
【図面の簡単な説明】
【0004】
【
図1】一実装形態による、機械学習(ML)モデルベースのビデオ圧縮を実行するための例示的なシステムの図である。
【
図2A】一実装形態による、例示的なMLモデルベースビデオコーデックアーキテクチャの図である。
【
図2B】別の実装形態による、例示的なMLモデルベースビデオコーデックアーキテクチャの図である。
【
図2C】また別の実装形態による、例示的なMLモデルベースビデオコーデックアーキテクチャの図である。
【
図3】一実装形態による、MLモデルベースのビデオ圧縮を実行するための例示的な方法を概説するフローチャートである。
【
図4】別の実装形態による、MLモデルベースのビデオ圧縮を実行するための例示的な方法を概説するフローチャートである。
【発明を実施するための形態】
【0005】
以下の説明は、本開示における実装に関連する特定の情報を含む。当業者は、本開示が、本明細書で具体的に記載されているものとは異なる態様で実装され得ることを認識するであろう。本出願の図面およびそれらに付随する詳細な説明は、単に例示的な実装に向けられている。特に明記しない限り、図中の同様のまたは対応する要素は、同様のまたは対応する参照符号によって示すことができる。さらに、本出願の図面およびイラストレーションは、概して、縮尺通りではなく、実際の相対的な寸法に対応することを意図していない。
【0006】
上述のように、ビデオコンテンツは、インターネットトラフィック全体の大部分を占めており、空間解像度のフレームレート、ビデオの色深度が増加し、ストリーミングサービスを採用するユーザが増えるにつれて、さらに増加すると予想される。既存のコーデックは、素晴らしいパフォーマンスを達成しているが、これ以上小さな改良を加えても将来の需要に対応できないところまで作り込まれている。そのため、ビデオコーディングを実行するための根本的に異なる方法を探求することは、有利にも、パフォーマンスおよび柔軟性を改善させた新しいクラスのビデオコーデックにつながる可能性がある。
【0007】
例えば、更に上述のように、例として生成的敵対ネットワーク(GAN)の形態のニューラルネットワーク(NN)などのトレーニング済機械学習(ML)モデルを使用してビデオ圧縮を行うことの1つの利点は、そうでなければデータ伝送の点から取得するのにコストがかかるであろう視覚的詳細を、MLモデルに推論可能とさせることである。しかしながら、GANのようなMLモデルのトレーニングは、そのトレーニングが損失関数の鞍点に収束すべく最小化ステップと最大化ステップを交互に繰り返すため、典型的に困難である。データの増加だけが原因だとしても、時間ドメインとそれがもたらす複雑さの増加を考慮すると、タスクがより困難になる。
【0008】
本出願は、低ビットレートのビデオ圧縮をターゲットとする場合に特に重要なトレーニング済GANと同様のハルシネーション能力(hallucinatio capacity)を有するビデオ圧縮コーデックを構築するための基礎として、任意の敵対的にトレーニングされた画像圧縮MLモデルを使用する知識蒸留(knowledge distillation)および潜在空間残差(latent space residual)に基づく枠組みを開示する。本MLモデルベースのビデオ圧縮ソリューションから結果として生じる画像は、高いビットレートを必要とせずに、視覚的に心地よい。MLモデルベースビデオコーデックを使用して合成された画像の細部は、現実的に見えることができるが、一方でグラウンドトゥルースからわずかに逸脱する場合がある。それにもかかわらず、本MLモデルベースのビデオ圧縮ソリューションは、従来のアプローチにおいて同じ量の送信データを使用して不可能であるような画質を提供可能である。さらに、いくつかの実装形態において、本MLモデルベースのビデオ圧縮ソリューションは、実質的に自動化されたシステムおよび方法として実装するこができる。
【0009】
本出願で使用される場合、用語「自動化」、「自動化された」、および「自動化する」は、人間の編集者またはシステム管理者のような人間のユーザの参加を必要としないシステムおよびプロセスを指すことに留意されたい。いくつかの実装形態においては、人間のシステム管理者が、本明細書に記載の自動化されたプロセスに従って動作する自動化されたシステムのパフォーマンスをレビューすることができる。しかしながら、その人間の関与は任意選択である。したがって、本出願に記載されるプロセスは、開示されるシステムのハードウェア処理コンポーネントの制御下で、実行することができる。
【0010】
さらに、本出願で定義されるように、「機械学習モデル」(以下「MLモデル」)という表現は、トレーニングデータとして知られる信頼される既知のマッチおよび既知のミスマッチのセットから得られるデータのサンプルから学習されたパターンに基づいて将来の予測を行うための数学的モデルを指すことに留意されたい。入力データと出力データとの間の相関関係をマッピングするために、多様な学習アルゴリズムを使用できる。これらの相関関係は、新しい入力データに対して将来の予測を行うために使用できる数学的モデルを形成する。このような予測モデルは、例えば、1つまたは複数のロジスティック回帰モデル、ベイジアンモデル、またはNNを含むことができる。さらに、機械学習モデルは、特定のタスクの機械学習モデルのパフォーマンスを徐々に向上させるように設計することができる。
【0011】
ディープラーニングの文脈における「ディープニューラルネットワーク」(deep NN)は、入力層と出力層の間の複数の隠れ層を利用するNNを指すことができる。隠れ層によって、生データにおいて明示的に定義されていない特徴に基づく学習ができるようになる。本出願で使用される場合、NNと付された特徴は、ディープニューラルネットワークを指す。多様な実装形態において、NNは、画像処理または自然言語処理を実行するために利用できる。本発明の新規かつ発明的な原理は、GANとして知られる例示的なNNクラスを参照することによって以下に説明される。しかしながら、その特徴付けは、単に概念を明確にするために提供されるものである。より一般的には、本MLモデルベースのビデオ圧縮ソリューションは、他のタイプのMLモデルを用いて実装されてもよく、トレーニングに負担がかかる、高価な、または時間のかかるMLモデルと共に使用される場合に、特に有利であり得る。
【0012】
図1は、一実装態様による、MLモデルベースのビデオ圧縮を実行するための例示的なシステムを示す。
図1に示すように、システム100は、処理ハードウェア104と、コンピュータが読み取り可能な非一時的記憶媒体として実装されたシステムメモリ106と、を有するコンピューティングプラットフォーム102を含む。この例示的な実装形態によれば、システムメモリ106は、非圧縮ビデオコンテンツ116およびMLモデルベースコーデックソフトウェアリソース130を格納する。
【0013】
図1に更に示すように、システム100は、通信ネットワーク110と、ユーザ114による使用のために構成されてディスプレイ122を含むユーザシステム120と、を含む使用環境内部に実装されている。さらに、
図1は、通信ネットワーク110を介してユーザシステム120をシステム100とインタラクティブに接続するネットワーク通信リンク112を示す。また、
図1には、システム100によって出力されて非圧縮ビデオコンテンツ116に対応する、圧縮ビデオコンテンツ117が示されている。
【0014】
本出願では、概念を明確にするために、MLモデルベースコーデックソフトウェアリソース130がシステムメモリ106に格納されていると言及する。しかしながら、より一般的には、システムメモリ106は、任意のコンピュータが読み取り可能な非一時的記憶媒体の形態をとることができる。本出願で使用される「コンピュータが読み取り可能な非一時的記憶媒体」という表現は、コンピューティングプラットフォーム102の処理ハードウェア104に命令を供給する搬送波または他の一時的な信号を除く、任意の媒体を指す。したがって、コンピュータが読み取り可能な非一時的記憶媒体は、例えば、揮発性媒体および不揮発性媒体などの多様な種類の媒体に対応することができる。揮発性媒体は、ダイナミックランダムアクセスメモリ(ダイナミックRAM)などの動的メモリを含むことができる。一方で、不揮発性メモリは、光学、磁気、または静電記憶デバイスを含むことができる。コンピュータが読み取り可能な非一時的記憶媒体の一般的な形態には、例えば、光ディスク、RAM、プログラマブルリードオンリーメモリ(PROM)、消去可能なPROM(EPROM)、およびフラッシュメモリが含まれる。
【0015】
さらに、
図1は、MLモデルベースコーデックソフトウェアリソース130を、その全体がシステムメモリ106に格納されるものとして描いている。しかしながら、その表現も、単に概念的に明確にするための補助として提供されているに過ぎない。より一般的には、システム100は、例えばコンピュータサーバなどの1つまたは複数のコンピューティングプラットフォーム102を含むことができる。これらは、コロケーテッド(co-located)していてもよく、または、例えばクラウドベースのシステムのような、インタラクティブにリンクされているが分散されたシステムを形成してもよい。その結果、処理ハードウェア104およびシステムメモリ106は、システム100内部の分散されたプロセッサおよびメモリリソースに対応することができる。したがって、いくつかの実装形態において、以下に説明するMLモデルベースコーデックソフトウェアリソース130の1つまたは複数の機能を、システム100の分散されたメモリリソース上に相互に遠隔で格納することができる。
【0016】
処理ハードウェア104は、例えば、1つまたは複数の中央処理ユニット、1つまたは複数のグラフィックス処理ユニットおよび1つまたは複数のテンソル処理ユニットなどの複数のハードウェア処理ユニット、1つまたは複数のフィールドプログラマブルゲートアレイ(FPGAs)、機械学習トレーニングまたは推論用のカスタムハードウェア、ならびにアプリケーションプログラミングインターフェイス(API)サーバを含むことができる。定義により、本出願で使用される場合、用語「中央処理ユニット」(CPU)、「グラフィックス処理ユニット」(GPU)、および「テンソル処理ユニット」(TPU)は、当該技術分野における慣習的な意味を有する。すなわち、CPUは、コンピューティングプラットフォーム102の算術演算および論理演算を実行するための算術論理ユニット(ALU)と、MLモデルベースコーデックソフトウェアリソース130などのプログラムをシステムメモリ106から取り出すためのコントロールユニット(CU)と、を含む。一方、GPUは、計算集約的なグラフィックスまたは他の処理タスクを実行することによって、CPUの処理のオーバーヘッドを低減するために実装することができる。TPUは、機械学習のような人工知能(AI)処理のために特別に構成された特定用途向け集積回路(ASIC)である。
【0017】
いくつかの実装形態において、コンピューティングプラットフォーム102は、例えば、インターネットなどのパケット交換ネットワークの形態である通信ネットワーク110を介してアクセス可能な、1つまたは複数のウェブサーバに対応することができる。さらに、いくつかの実装形態では、通信ネットワーク110は、例えば10GigEネットワークまたはインフィニバンド(登録商標)ネットワークのような、ハイパフォーマンスコンピューティング(HPC)に適した高速ネットワークとすることができる。いくつかの実装形態では、コンピューティングプラットフォーム102は、私的な広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)をサポートする1つまたは複数のコンピュータサーバに、または別のタイプの限定された配信または私的なネットワークに含まれる1つまたは複数のコンピュータサーバに、対応することができる。さらに別の代替案として、いくつかの実装形態では、システム100は、データセンター内など、仮想的に実装されてもよい。例えば、いくつかの実装形態では、システム100は、ソフトウェアにおいて、または仮想マシンとして、実装されてもよい。
【0018】
図1によって示される実装形態によれば、ユーザ114は、通信ネットワーク110を介してシステム100とインターアクト(interact)するためにユーザシステム120を利用できる。ユーザシステム120および通信ネットワーク110は、ユーザ114がシステム100から非圧縮ビデオコンテンツ116に対応する圧縮ビデオコンテンツ117を取得することを可能にする。ユーザシステム120は、
図1ではデスクトップコンピュータとして示されている。しかしながら、その表現は単に例として提供されているに過ぎない。より一般的には、ユーザシステム120は、ユーザインターフェイスを提供し、通信ネットワーク110への接続をサポートし、本明細書においてユーザシステム120に帰属する機能を実装するのに十分なデータ処理能力を実装する任意の適切なモバイル型または据え付け型コンピューティング装置またはシステムとすることができる。例えば、いくつかの実装形態では、ユーザシステム120は、例えばラップトップコンピュータ、タブレットコンピュータ、スマートフォン、またはゲームコンソールの形態をとることができる。しかしながら、他の実装形態では、ユーザシステム120は、ユーザ114が、キーボードまたは他の入力デバイスを介して入力を提供すること、およびディスプレイ122を介してビデオコンテンツを提供することを可能にする、システム100の「ダム端末」周辺構成要素であってもよい。それらの実装形態では、ユーザシステム120およびディスプレイ122は、システム100の処理ハードウェア104によって制御できる。
【0019】
ユーザシステム120のディスプレイ122に関して、ディスプレイ122は、ユーザシステム120と物理的に一体化されてもよく、またはユーザシステム120と通信可能に結合されているが物理的に分離されていてもよい。例えば、ユーザシステム120が、スマートフォン、ラップトップコンピュータ、またはタブレットコンピュータとして実装される場合、ディスプレイ122は、典型的には、ユーザシステム120と一体化される。対照的に、ユーザシステム120がデスクトップコンピュータとして実装される場合、ディスプレイ122は、コンピュータータワーの形態でユーザシステム120から分離されたモニタの形態をとることができる。さらに、ディスプレイ122は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、量子ドット(QD)ディスプレイ、または信号を光に物理変換する任意の他の適切なディスプレイ技術を使用するディスプレイとすることができる。
【0020】
MLモデルベースコーデックソフトウェアリソース130は、
図2A、
図2B、および
図2Cを参照して、以下で更に説明される。
図2Aを参照すると、
図2Aは、一実装形態による、例示的なMLモデルベースビデオコーデックアーキテクチャ224を示す図である。
図2Aに示すように、MLモデルベースビデオコーデックアーキテクチャ224は、エンコーダとして機能するトレーニング済画像圧縮MLモデル232、およびMLモデルベースデコーダ238を含む。また、
図2Aには、非圧縮入力画像216、入力画像216の潜在空間表現(latent space representation)234、量子化された潜在(quantified latents)236、および非圧縮入力画像216に対応する復号された画像218が示される。
図2Aに示されるMLモデルベースビデオコーデックアーキテクチャ224の特徴は、
図1における、MLモデルベースコーデックソフトウェアリソース130の中に含まれ得ることに留意されたい。
【0021】
【0022】
画像圧縮は、形式的に、ビットストリームの予想長、および原画と比較して再構成された画像の予想歪みを最小化することと表現できて、以下のレート‐歪み目的関数を最適化するものとして定式化される。
【数1】
【0023】
【0024】
【0025】
識別器のトレーニングは、画像圧縮MLモデル232のトレーニングと交互に行われる。この場合、敵対的損失(adversarial loss)で増強されたレート‐歪み目標が最適化される。
【数3】
【0026】
ビデオ符号化における時間的冗長性を利用するために、ビデオ圧縮は、動き補償による情報伝達に依拠する。より正確には、後続のフレームx
t+1(
図2Bおよび
図2Cでは参照番号217によって識別される)は、動き情報を考慮してその先行するフレームx
tから予測できる。本出願で定義されるように、「動き補償」という表現は、動きベクトルを計算し符号化する完全なプロセス、ならびに発生し得るあらゆる後処理を指す。動き補償は、
図2Bおよび2Cにおいて参照番号240によってMCと示され、結果として動き補償済
が生じる。簡単にするために、動き補償が完了したと仮定し、その結果は、
の推定値および
である。
【0027】
しかしながら、
図2Bおよび
図2Cを参照して以下に説明するビデオ圧縮技術は、単一の先行する基準フレームx
tを動き推定のために使用することを要求しないことに留意されたい。多様な使用例において、1つの、または複数のフレームを動き補償のために使用できる。さらに、動き補償のために使用される1つの、またはそれらの複数のフレームは、ビデオの因果関係領域に配置される必要はない。例として、特定のフレームが、先行するフレームと同様に、将来のフレームから動き推定を引き出すことができて、それによって再生順序と符号化順序を効果的に切り離すように、双方向の予測を実行することができる。
【0028】
現在の
を明確するために必要な残差情報を圧縮するために、トレーニング済画像圧縮MLモデルを活用する2つの戦略を以下に説明する。第1戦略は、「潜在空間残差による知識蒸留」と呼ばれ、第2戦略は、「画像空間残差による知識蒸留」と称される。
【0029】
【0030】
【0031】
ターゲットフレームはもはやグラウンドトゥルースxではなく、画像圧縮MLモデルgの出力であることに留意されたい。これにより、知識蒸留のパフォーマンスが可能になり、敵対的にトレーニングされた画像圧縮モデルの詳細なハルシネーション能力が保持される。残差マッピング自体は、参照により本出願に完全に組み込まれる「Knowledge Distillation for GAN Based Video Codec」と題する添付の論文でより詳細に説明されているように、複数の技術の組み合わせとして実装することができる。
【0032】
画像空間残差による知識蒸留
利用可能なトレーニング済画像圧縮MLモデルgを活用する別のアプローチは、
図2Cの例示的なMLモデルベースビデオコーデックアーキテクチャ228で表されるように、画像空間残差で動作することである。潜在残差の場合と同様に、動き補償が完了し、現在のフレームx
t+1と動き
との間の差を符号化することのみが必要であり、
図2Cにおいて参照番号219によって識別される。
図2Cに示されるように、MLモデルベースビデオコーデックアーキテクチャ228は、MLモデルベースビデオ圧縮エンコーダ235および画像圧縮MLモデル232を含む。
図2Cに示されるMLモデルベースビデオコーデックアーキテクチャ228の特徴は、
図1における、MLモデルベースコーデックソフトウェアリソース130の中に含まれ得ることに留意されたい。すなわち、いくつかの実装形態において、MLモデルベースコーデックソフトウェアリソース130は、MLモデルベースビデオ圧縮エンコーダ235および画像圧縮MLモデル232を含むことができる。
【0033】
MLモデルベースビデオコーデックアーキテクチャ228によって描かれるアプローチにおける違いは、
図2Cに示す実装形態では、非圧縮フレーム217に対応してフレームz
t+1として識別される画像空間残差237が、符号化されることである。
【数5】
【0034】
ニューラルエンコーダおよびニューラルデコーダ関数は、それぞれ、hおよびh
-1と表わされる。それらは、
図2Aを参照して上述したように、ニューラルネットワーク層として実装できる。関数hは、画像残差237を、rとして表されるその潜在空間表現239にマッピングする。しかしながら、デコーダ関数h
-1は画像を直接に復号化する。トレーニング済画像圧縮MLモデルgからの特徴を活用する開示されるアプローチと一致して、マージ関数Mが設計される。この関数の目的は、画像圧縮MLモデル232からの特徴を統合することである。最も単純な形式では、このマージ関数は、どの特徴を使用するかを示すバイナリ値0.1をとるマスキングメカニズムとして実装することができる。可能な組み合わせで徹底的な実験を行った後に、選択を行うことができる。より洗練された設計では、マスクは、トレーニング中に学習されることが可能であり、任意選択で画像自体に条件付けされることも可能である。
【0035】
トレーニング損失は、次のように表すことができる。
【数6】
【0036】
【0037】
【0038】
図2Cの、例示的なMLモデルベースビデオコーデックアーキテクチャ228に対応する画像空間残差による知識蒸留アプローチを、
図3を参照することによって更に説明する。
図3は、一実装形態による、MLモデルベースビデオ圧縮を実行するための例示的な方法を提示するフローチャート350を示す。
図3に概説される方法に関して、本出願における発明的特徴の議論を不明瞭にしないために、特定の詳細および特徴がフローチャート350から省かれていることに留意されたい。
【0039】
ここで
図1および
図2Cと組み合わせて
図3を参照すると、フローチャート350は、非圧縮ビデオコンテンツ(例えば、非圧縮フレーム217)および非圧縮ビデオコンテンツに対応する動き補償済ビデオコンテンツ(例えば、動き補償済フレーム219)を受信すること(アクション351)を含む。
図2Cに示すように、非圧縮フレーム217および動き補償済フレーム219は、MLモデルベースビデオ圧縮エンコーダ235によって、アクション351において受信できる。さらに、また、
図1を更に参照して上述したように、MLモデルベースビデオ圧縮エンコーダ235は、MLモデルベースコーデックソフトウェアリソース130の中に含まれ、システムメモリ106に格納され得る。したがって、非圧縮フレーム217および動き補償済フレーム219は、システム100の処理ハードウェア104によって実行されるMLモデルベースビデオ圧縮エンコーダ235によって、アクション351において受信することができる。
【0040】
フローチャート350は、非圧縮ビデオコンテンツに対応する画像空間残差237を識別するために、非圧縮ビデオコンテンツを動き補償済ビデオコンテンツと比較すること(アクション352)を、更に含む。引き続き
図1および
図2Cを組み合わせて参照すると、システム100の処理ハードウェア104によって実行される、MLモデルベースビデオ圧縮エンコーダ235によって、アクション352において、非圧縮フレーム217および動き補償済フレーム219を比較し、画像空間残差を識別することができる。
【0041】
フローチャート350は、画像空間残差237を画像空間残差237の潜在空間表現239に変換すること(アクション353)を、更に含む。画像空間残差237は、ニューラルエンコーダ関数hを使用して、システム100の処理ハードウェア104によって実行される、MLモデルベースビデオ圧縮エンコーダ235によって、アクション353において、画像空間残差237の潜在空間表現239に変換することができる。
【0042】
フローチャート350は、トレーニング済画像圧縮MLモデル232を使用して、動き補償済ビデオコンテンツ(例えば、動き補償済フレーム219)を受信すること(アクション354)を、更に含む。上述のように、トレーニング済画像圧縮MLモデル232は、例えば、トレーニング済GANなどのトレーニング済NNを含むことができる。さらに、また上述のように、いくつかの実装形態において、トレーニング済画像圧縮MLモデル232は、敵対的損失を含む目的関数を使用してトレーニングされたNNを含むことができる。アクション354は、システム100の処理ハードウェア104によって実行される、MLモデルベースビデオ圧縮エンコーダ235によって実行することができる。
【0043】
フローチャート350は、トレーニング済画像圧縮MLモデル232を使用して、動き補償済フレーム219によって表される動き補償済ビデオコンテンツを、動き補償済ビデオコンテンツの潜在空間表現234に変換すること(アクション355)を、更に含む。
図2Cに示されるように、動き補償済フレーム219は、トレーニング済画像圧縮MLモデル232、すなわちgを使用して、MLモデルベースビデオ圧縮エンコーダ235によって、その潜在空間表現234に変換できる。MLモデルベースビデオ圧縮エンコーダ235は、画像圧縮MLモデル232を使用してアクション355を実行するために、システム100の処理ハードウェア104によって、実行することができる。
【0044】
フローチャート350は、アクション351、352、および353に続くものとしてアクション354および355を描いている。しかしながら、その表現は単に例として提供されているに過ぎないことに留意されたい。いくつかの他の実装形態では、アクション354および355は、順番に、しかしながらアクション351、352、および353と並行して、すなわち、実質的に同時に実行されてもよい。さらに他の実装形態では、アクション354、またはアクション354および355は、アクション351、352および353の1つまたは複数に先行してもよい。
【0045】
フローチャート350は、符号化済潜在残差を制作するために、画像空間残差237の潜在空間表現239を符号化すること(アクション356)を、更に含む。画像空間残差237の潜在空間表現239は、システム100の処理ハードウェア104によって実行される、MLモデルベースビデオ圧縮エンコーダ235によって符号化済潜在残差を制作するために、アクション356において符号化することができる。
【0046】
フローチャート350は、符号化済潜在ビデオコンテンツを制作するために、トレーニング済画像圧縮MLモデル232を使用して、動き補償済フレーム219の潜在空間表現234を符号化すること(アクション357)を、更に含む。動き補償済フレーム219の潜在空間表現234は、符号化済潜在ビデオコンテンツを制作するために、システム100の処理ハードウェア104によって実行される、MLモデルベースビデオ圧縮エンコーダ235によって、トレーニング済画像圧縮MLモデル232を使用して、アクション357において符号化することができる。
【0047】
フローチャート350は、アクション356に続くものとしてアクション357を描いている。しかしながら、その表現は単に例として提供されているに過ぎないことに留意されたい。アクション357のタイミングに置かれた唯一の制約は、それがアクション355に続くということである。一方、アクション356のタイミングに置かれた唯一の制約は、それがアクション353に続くということである。したがって、多様な実装形態において、アクション357は、アクション356に続いてよいし、アクション356に先行してもよいし、アクション356と並行して、すなわち、実質的に同時に実行されてもよい。すなわち、いくつかの実装形態では、アクション356において制作される符号化済潜在残差およびアクション357において制作される符号化済潜在ビデオコンテンツは、並行して制作することができる。
【0048】
図1および
図3を組み合わせて参照すると、フローチャート350は、アクション356において制作される符号化済潜在残差およびアクション357において制作される符号化済潜在ビデオコンテンツを使用して、非圧縮ビデオコンテンツ116に対応する圧縮ビデオコンテンツ117を生成すること(アクション358)を、更に含む。いくつかの実装形態では、非圧縮ビデオコンテンツ116に対応する圧縮ビデオコンテンツ117は、アクション356において制作される符号化済潜在残差と、アクション357において制作される符号化済潜在ビデオコンテンツとの間の差に基づいて、生成することができる。更に
図2Cを参照すると、圧縮ビデオコンテンツ117は、システム100の処理ハードウェア104によって実行される、MLモデルベースビデオ圧縮エンコーダ235によって、アクション358において制作することができる。
【0049】
図2Bの、例示的なMLモデルベースビデオコーデックアーキテクチャ226に対応する潜在空間残差による知識蒸留アプローチを、
図4を参照することによって更に説明する。
図4は、別の実装形態による、MLモデルベースビデオ圧縮を実行するための例示的な方法を提示するフローチャート460を示す。
図4に概説される方法に関して、本出願における発明的特徴の議論を不明瞭にしないために、特定の詳細および特徴がフローチャート460から省かれていることに留意されたい。
【0050】
ここで
図1および
図2Bと組み合わせて
図4を参照すると、フローチャート460は、トレーニング済画像圧縮MLモデル232を使用して、非圧縮ビデオコンテンツ(たとえば、非圧縮フレーム217)、および非圧縮ビデオコンテンツに対応する動き補償済ビデオコンテンツ(例えば、動き補償済フレーム219)を受信すること(アクション461)を含む。
図2Bに示すように、非圧縮フレーム217および動き補償済フレーム219は、トレーニング済画像圧縮MLモデル232を使用して、MLモデルベースビデオ圧縮エンコーダ233によってアクション461において受信することができる。上述のように、トレーニング済画像圧縮MLモデル232は、例えば、トレーニング済GANなどのトレーニング済NNを含むことができる。さらに、また上述のように、いくつかの実装形態において、トレーニング済画像圧縮MLモデル232は、敵対的損失を含む目的関数を使用してトレーニングされたNNを含むことができる。さらに、また
図1を更に参照して上述したように、MLモデルベースビデオ圧縮エンコーダ233は、MLモデルベースコーデックソフトウェアリソース130の中に含まれ、システムメモリ106に格納され得る。したがって、非圧縮フレーム217および動き補償済フレーム219は、システム100の処理ハードウェア104によって実行されるMLモデルベースビデオ圧縮エンコーダ233によって、アクション461において受信することができる。
【0051】
フローチャート460は、トレーニング済画像圧縮MLモデル232を使用して、非圧縮フレーム217によって表される非圧縮ビデオコンテンツを、非圧縮ビデオコンテンツの第1潜在空間表現234aに変換すること(アクション462)を、更に含む。
図2Bによって示されるように、非圧縮フレーム217は、トレーニング済画像圧縮MLモデル232、すなわちgを使用して、MLモデルベースビデオ圧縮エンコーダ233によって、その潜在空間表現234aに変換することができる。MLモデルベースビデオ圧縮エンコーダ233は、画像圧縮MLモデル232を使用してアクション462を実行するために、システム100の処理ハードウェア104によって、実行することができる。
【0052】
フローチャート460は、トレーニング済画像圧縮MLモデル232を使用して、動き補償済フレーム219によって表される非圧縮ビデオコンテンツを、非圧縮ビデオコンテンツの第2潜在空間表現234bに変換すること(アクション463)を、更に含む。
図2Bによって示されるように、動き補償済フレーム219は、トレーニング済画像圧縮MLモデル232、すなわちgを使用して、MLモデルベースビデオ圧縮エンコーダ233によって、潜在空間表現234bに変換することができる。MLモデルベースビデオ圧縮エンコーダ233は、画像圧縮MLモデル232を使用してアクション463を実行するために、システム100の処理ハードウェア104によって、実行することができる。
【0053】
フローチャート460は、アクション462に続くものとしてアクション463を描いている。しかしながら、その表現は単に例として提供されているに過ぎないことに留意されたい。多様な実装形態において、アクション463は、アクション462に続いてよいし、アクション462に先行してもよいし、またはアクション462と並行して、すなわち、実質的に同時に実行されてもよい。すなわち、いくつかの実装形態では、非圧縮ビデオコンテンツの第1潜在空間表現234aへの変換と、動き補償済ビデオコンテンツの第2潜在空間表現234bへの変換とが、並行して実行されてもよい。
【0054】
フローチャート460は、第1潜在空間表現234aおよび第2潜在空間表現234bに基づいて、非圧縮ビデオコンテンツ116に対応する圧縮ビデオコンテンツ117を送信するためのビットストリームを生成すること(アクション464)を、更に含む。いくつかの実装形態において、アクション464は、第1潜在空間表現234aおよび第2潜在空間表現234bを使用して、潜在空間残差を決定することを含むことができる。例えば、そのような潜在空間残差は、第1潜在空間表現234aと第2潜在空間表現234bとの間の差に基づくことができる。潜在空間残差がアクション464の一部として決定される実装形態では、非圧縮ビデオコンテンツ116に対応する圧縮ビデオコンテンツ117を送信するためのビットストリームを、潜在空間残差を使用して生成することができる。アクション464において、圧縮ビデオコンテンツ117を送信するためのビットストリームを生成することは、システム100の処理ハードウェア104によって実行される、MLモデルベースビデオ圧縮エンコーダ233によって実行することができる。
【0055】
図3および
図4に表されたアクションに関して、多様な実装形態において、フローチャート350のアクション351、352、353、354、355、356、357、および358、またはフローチャート460のアクション461、462、463、および464は、人間の参加を省略できる自動化された処理として、実行できることに留意されたい。
【0056】
したがって、本出願は、低ビットレートのビデオ圧縮をターゲットとする場合に特に重要なトレーニング済GANと同様のハルシネーション能力を有するビデオ圧縮コーデックの使用を可能にするために、知識蒸留および潜在空間残差に基づくMLモデルベースのビデオ圧縮ソリューションを含むフレームワークを開示する。本MLモデルベースのビデオ圧縮ソリューションは、高いビットレートを必要とせずに視覚的に心地よい画像を提供することで、最先端技術を進歩させるものである。MLモデルベースビデオコーデックを使用して合成された画像の細部は、現実的に見えることができるが、一方でグラウンドトゥルースからわずかに逸脱する場合がある。それにもかかわらず、本MLモデルベースのビデオ圧縮ソリューションは、従来のアプローチにおいて同じ量の送信データを使用して不可能であるような画質を提供可能である。
【0057】
以上の説明から、本出願に記載の概念を実施するために、それらの概念の範囲から逸脱することなく、様々な技術を使用可能であることが明らかである。さらに、特定の実装形態を具体的に参照して概念を説明してきたが、当業者は、それらの概念の範囲から逸脱することなく、形態および詳細に変更を行うことができることを認識するであろう。それ故、説明されている実装形態は、あらゆる点で例示的であり、制限的ではないとみなされる。また、本出願は、本明細書に記載の特定の実装形態に限定されず、本開示の範囲から逸脱することなく多くの再構成、修正、および置換が可能であることも理解されたい。
【外国語明細書】