(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-17
(45)【発行日】2025-03-26
(54)【発明の名称】圧縮情報に基づくビデオの超解像
(51)【国際特許分類】
H04N 19/85 20140101AFI20250318BHJP
【FI】
H04N19/85
(21)【出願番号】P 2023546109
(86)(22)【出願日】2021-08-05
(86)【国際出願番号】 US2021044630
(87)【国際公開番号】W WO2022231643
(87)【国際公開日】2022-11-03
【審査請求日】2023-09-27
(32)【優先日】2021-04-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】インシャオ・リ
(72)【発明者】
【氏名】ペンチョン・ジン
(72)【発明者】
【氏名】フェン・ヤン
(72)【発明者】
【氏名】ツァ・リュウ
(72)【発明者】
【氏名】ミン-シュアン・ヤン
(72)【発明者】
【氏名】ペイマン・ミランファー
【審査官】岩井 健二
(56)【参考文献】
【文献】米国特許出願公開第2019/0206026(US,A1)
【文献】国際公開第2020/256704(WO,A1)
【文献】Yan Huang, Wei Wang, and Liang Wang,Video Super-Resolution via Bidirectional Recurrent Convolutional Networks,IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE,IEEE,2018年04月,VOL. 40, NO. 4,pp.1015-1028
【文献】Mehdi S. M. Sajjadi, Raviteja Vemulapalli, Matthew Brown,Frame-Recurrent Video Super-Resolution,arXiv,2018年03月,arXiv:1801.04590v4,pp.1-9
【文献】Yinxiao Li, et al.,COMISR: Compression-Informed Video Super-Resolution,2021 IEEE/CVF International Conference on Computer Vision (ICCV),IEEE,2021年10月,pp.2523-2532
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
圧縮ビデオデータを使用して、機械学習されたビデオ超解像(VSR)モデルを双方向にトレーニングするためのコンピュータ実装方法(a computer-implemented method)であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、複数のグラウンドトゥルース高解像度(HR)ビデオフレームおよび複数の低解像度(LR)ビデオフレームを備えるグラウンドトゥルースビデオデータのセットを取得するステップであり、前記複数のLRビデオフレームがそれぞれ、前記複数のグラウンドトゥルースHRビデオフレームに対応し、前記複数のグラウンドトゥルースHRビデオフレームおよび前記複数のLRビデオフレームが、圧縮ビデオに対応する時間シーケンスで配列される、ステップと、
前記時間シーケンスにおける1つまたは複数の位置の各々について、
前記コンピューティングシステムによって、前記時間シーケンスにおける1つまたは複数の以前の位置に関連付けられた1つまたは複数のビデオフレームに基づいて、前記時間シーケンスにおける現在位置についての順方向予測HRビデオフレームを生成するために、順方向時間予測を実行するステップと、
前記コンピューティングシステムによって、前記時間シーケンスにおける1つまたは複数の後続の位置に関連付けられた1つまたは複数のビデオフレームに基づいて、前記時間シーケンスにおける前記現在位置についての逆方向予測HRビデオフレームを生成するために、逆方向時間予測を実行するステップと、
前記コンピューティングシステムによって、前記機械学習されたVSRモデルの損失関数を評価するステップであり、前記損失関数が、前記グラウンドトゥルースHRビデオフレームを前記順方向予測HRビデオフレームと比較し、前記グラウンドトゥルースHRビデオフレームを前記逆方向予測HRビデオフレームと比較する、ステップと、
前記コンピューティングシステムによって、前記損失関数に基づいて前記機械学習されたVSRモデルの1つまたは複数のパラメータの1つまたは複数の値を修正するステップと
を含む、コンピュータ実装方法。
【請求項2】
前記順方向時間予測を実行するステップが、前記コンピューティングシステムによって、前記機械学習されたVSRモデルを使用して、前記時間シーケンスにおける前記現在位置についての前記順方向予測HRビデオフレームを生成するために、前記時間シーケンスにおける前の位置に関連付けられた前のHRビデオフレームと、前記時間シーケンスにおける前記前の位置に関連付けられた前のLRビデオフレームと、前記時間シーケンスにおける現在位置に関連付けられた現在のLRビデオフレームとを処理するステップを含み、
前記逆方向時間予測を実行するステップが、前記コンピューティングシステムによって、前記機械学習されたVSRモデルを使用して、前記時間シーケンスにおける前記現在位置についての前記逆方向予測HRビデオフレームを生成するために、前記時間シーケンスにおける後続の位置に関連付けられた後続のHRビデオフレームと、前記時間シーケンスにおける前記後続の位置に関連付けられた後続のLRビデオフレームと、前記時間シーケンスにおける現在位置に関連付けられた現在のLRとを処理するステップを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記前のHRビデオフレームが、前の予測HRビデオフレームを備え、
前記後続のHRビデオフレームが、後続の予測HRビデオフレームを備える、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記前のHRビデオフレームが、前のグラウンドトゥルースHRビデオフレームを備え、
前記後続のHRビデオフレームが、後続のグラウンドトゥルースHRビデオフレームを備える、請求項2に記載のコンピュータ実装方法。
【請求項5】
前記コンピューティングシステムによって、前記順方向時間予測を実行するステップが、
前記コンピューティングシステムによって、前記機械学習されたVSRモデルのフロー推定部分を使用して、LR順方向フロー推定およびHR順方向フロー推定を生成するために前記前のLRビデオフレームおよび前記現在のLRビデオフレームを処理するステップと、
前記コンピューティングシステムによって、前記時間シーケンスにおける前記現在位置についての順方向予測LRビデオフレームを生成するために、前記LR順方向フロー推定に従って前記前のLRビデオフレームをワーピングするステップと、
前記コンピューティングシステムによって、前記時間シーケンスにおける前記現在位置についての順方向-中間HRビデオフレームを生成するために、前記HR順方向フロー推定に従って前記前のHRビデオフレームをワーピングするステップと
を含み、
前記コンピューティングシステムによって、前記逆方向時間予測を実行するステップが、
前記コンピューティングシステムによって、前記機械学習されたVSRモデルの前記フロー推定部分を使用して、LR逆方向フロー推定およびHR逆方向フロー推定を生成するために前記後続のLRビデオフレームおよび前記現在のLRビデオフレームを処理するステップと、
前記コンピューティングシステムによって、前記時間シーケンスにおける前記現在位置についての逆方向予測LRビデオフレームを生成するために、前記LR逆方向フロー推定に従って前記後続のLRビデオフレームをワーピングするステップと、
前記コンピューティングシステムによって、前記時間シーケンスにおける前記現在位置についての逆方向-中間HRビデオフレームを生成するために、前記HR逆方向フロー推定に従って前記後続のHRビデオフレームをワーピングするステップと
を含む、請求項2から4のいずれか一項に記載のコンピュータ実装方法。
【請求項6】
前記損失関数がさらに、
前記現在位置についての前記順方向予測LRビデオフレームを、前記時間シーケンスにおける前記現在位置に関連付けられた前記現在のLRビデオフレームと比較し、
前記現在位置についての前記逆方向予測LRビデオフレームを、前記時間シーケンスにおける前記現在位置に関連付けられた前記現在のLRビデオフレームと比較する、請求項5に記載のコンピュータ実装方法。
【請求項7】
前記コンピューティングシステムによって、前記順方向時間予測を実行するステップが、
前記コンピューティングシステムによって、ラプラシアン強調フィルタを前記順方向-中間HRビデオフレームに適用するステップと、
前記ラプラシアン強調フィルタを適用した後、前記コンピューティングシステムによって、前記機械学習されたVSRモデルのフレーム生成部分を使用して、前記時間シーケンスにおける前記現在位置についての前記順方向予測HRビデオフレームを生成するために、前記順方向-中間HRビデオフレームおよび前記現在のLRビデオフレームを処理するステップと
をさらに含み、
前記コンピューティングシステムによって、前記逆方向時間予測を実行するステップが、
前記コンピューティングシステムによって、前記ラプラシアン強調フィルタを前記逆方向-中間HRビデオフレームに適用するステップと、
前記ラプラシアン強調フィルタを適用した後、前記コンピューティングシステムによって、前記機械学習されたVSRモデルの前記フレーム生成部分を使用して、前記時間シーケンスにおける前記現在位置についての前記逆方向予測HRビデオフレームを生成するために、前記逆方向-中間HRビデオフレームおよび前記現在のLRビデオフレームを処理するステップと
を含む、請求項5または6に記載のコンピュータ実装方法。
【請求項8】
前記時間シーケンスにおける前記前の位置が、前記時間シーケンスにおける直前の位置を含み、前記時間シーケンスにおける前記後続の位置が、前記時間シーケンスにおける直後の位置を含む、請求項2から7のいずれか一項に記載のコンピュータ実装方法。
【請求項9】
前記圧縮ビデオが、圧縮されたビデオ会議ビデオストリームを含む、請求項1から8のいずれか一項に記載のコンピュータ実装方法。
【請求項10】
前記コンピューティングシステムによって、追加の圧縮ビデオを超解像するために前記機械学習されたVSRモデルを使用するステップであり、前記コンピューティングシステムによって、前記追加の圧縮ビデオを超解像するために前記機械学習されたVSRモデルを使用するステップが、前記追加の圧縮ビデオのビデオフレームに対して順方向時間予測のみを実行するステップを含む、ステップをさらに含む、請求項1から9のいずれか一項に記載のコンピュータ実装方法。
【請求項11】
複数の圧縮されたトレーニングビデオに対してそれぞれ複数のトレーニング反復のために請求項1に記載の方法を実行するステップであり、前記複数の圧縮されたトレーニングビデオが、同じ圧縮アルゴリズムを使用して圧縮されている、ステップをさらに含む、請求項1から10のいずれか一項に記載のコンピュータ実装方法。
【請求項12】
前記圧縮アルゴリズムがH.264コーデックを含む、請求項11に記載のコンピュータ実装方法。
【請求項13】
複数の圧縮されたトレーニングビデオに対してそれぞれ複数のトレーニング反復のために請求項1に記載の方法を実行するステップであり、前記複数の圧縮されたトレーニングビデオが、2つ以上の異なる圧縮アルゴリズムを使用して圧縮されている、ステップをさらに含む、請求項1から10のいずれか一項に記載のコンピュータ実装方法。
【請求項14】
前記コンピューティングシステムによって、追加の圧縮ビデオを超解像するために、前記機械学習されたVSRモデルを使用するステップをさらに含む、請求項1から13のいずれか一項に記載のコンピュータ実装方法。
【請求項15】
前記コンピューティングシステムによって、前記追加の圧縮ビデオを超解像するために、前記機械学習されたVSRモデルを使用するステップが、前記追加の圧縮ビデオのビデオフレームに対して順方向時間予測のみを実行するステップを含む、請求項14に記載のコンピュータ実装方法。
【請求項16】
1つまたは複数のプロセッサと、
低解像度(LR)フロー推定および高解像度(HR)フロー推定を生成するために前または後続のLRビデオフレームおよび現在のLRビデオフレームを処理することと、
時間シーケンスにおける現在位置についての予測LRビデオフレームを生成するために、前記LRフロー推定に従って前記前または後続のLRビデオフレームをワーピングすることと、
前記時間シーケンスにおける前記現在位置についての中間HRビデオフレームを生成するために、前記HRフロー推定に従って前または後続のHRビデオフレームをワーピングすることと
を行うように構成されたフロー推定部分、
前記中間HRビデオフレームを強調するように構成されたラプラシアン強調部分、および、
前記時間シーケンスにおける前記現在位置についての予測HRビデオフレームを生成するために、前記中間HRビデオフレームおよび前記現在のLRビデオフレームを処理するように構成されたフレーム生成部分
を備える機械学習されたビデオ超解像(VSR)モデル、ならびに、
前記1つまたは複数のプロセッサによって実行されると、圧縮ビデオを超解像するために前記機械学習されたVSRモデルをコンピューティングシステムに使用させる命令
を集合的に記憶する1つまたは複数のコンピュータ可読記憶媒体と
を備える、コンピューティングシステム。
【請求項17】
前記機械学習されたVSRモデルが、請求項1から15のいずれか一項に記載の方法に従ってトレーニングされた、請求項16に記載のコンピューティングシステム。
【請求項18】
請求項1から15のいずれか一項に記載の方法
をコンピュータに実施させるように構成された、コンピュータ
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年4月26日に出願された米国仮特許出願第63/179,795号の優先権および利益を主張する。米国仮特許出願第63/179,795号は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、一般に、圧縮情報に基づくビデオ超解像を実行するためのシステムおよび方法に関する。より詳細には、本開示は、双方向トレーニングアプローチを使用してトレーニングされた、機械学習されたビデオ超解像モデルを特徴とするシステムおよび方法に関する。
【背景技術】
【0003】
超解像は、多数の用途を有するコンピュータビジョンにおける基本的な研究問題である。超解像を実行するシステムは、低解像度(LR)入力から詳細な高解像度(HR)画像を再構成することを目的とする。入力が単一画像であるとき、再構成プロセスは、通常、所与の画像の高解像度の詳細を復元するために学習された画像優先を使用し、これは、単一画像超解像(SISR)と呼ぶことができる。ビデオ内の多数のフレームが利用可能であるとき、いくつかの再構成プロセスは、時間的に滑らかな高解像結果を生成するために、画像優先とフレーム間情報との両方を使用することができ、これは、ビデオ超解像(VSR)と呼ぶことができる。
【0004】
超解像の分野において大きな進歩があったが、既存のSISRおよびVSRの方法では、圧縮を考慮に入れることはほとんどない。具体的には、以前の特定の研究は、高品質で低圧縮率のビデオを強調するために「非圧縮」データを使用した。したがって、以前の方法では、大幅に圧縮された入力ビデオに対して操作されると、著しいアーチファクトが生成される傾向がある。
【0005】
特に、ほとんどのデジタルビデオ(たとえば、インターネットまたはスマートフォンなどのモバイルデバイス上に存在するもの)は、選択された視覚品質レベルを達成するために、異なる圧縮レベルで記憶および/またはストリーミングされる。たとえば、H.264エンコーディングの一般的な圧縮率(Constant Rate Factor(CRF))は、品質とファイルサイズとのトレードオフとして23である。非圧縮ビデオデータへのVSRの適用のために設計され、最適化された既存の技法は、そのように圧縮されたビデオに適用されると、うまく機能しない。
【0006】
1つの可能な解決策は、圧縮アーチファクトを除去するためにノイズ除去モデルを適用し、その後に最新のVSRモデルのうちの1つを適用することである。一見すると、VSRモデルは、評価データを直接使用するのと同様に、高品質のフレームを供給されるので、これは魅力的である。しかしながら、実験は、そのような設定が最終的な性能を高めることはなく、実際には、それをさらに悪化させる可能性さえあることを示した。前処理では、第1のステップにおけるノイズ除去モデルが、VSRモデルトレーニングにおいて暗黙的に使用される劣化カーネルを変更する可能性が高い。したがって、本質的に、VSRモデルは、より困難なデータに適用されている。
【0007】
別の可能な解決策は、圧縮フレーム上で既存の最新のVSRモデルをトレーニングすることである。これは、モデルトレーニングに追加の圧縮情報をもたらすことができる。しかしながら、実験は、単純にトレーニングにおいて圧縮フレームを使用することは、わずかな改善しかもたらさないことを示した。実際、ネットワークモジュールの設計に対する特定の変更なしに、そのようなトレーニングデータは、全体的な性能を低下させる可能性さえある。
【発明の概要】
【発明が解決しようとする課題】
【0008】
したがって、圧縮ビデオデータ上で改善されたVSRを提供する、改善されたシステム、方法、モデルアーキテクチャ、およびトレーニングアプローチが必要とされる。
【課題を解決するための手段】
【0009】
1つまたは複数のコンピュータのシステムは、動作中にシステムにアクションを実行させる、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せをシステムにインストールすることよって、特定の動作またはアクションを実行するように構成することができる。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、装置にアクションを実行させる命令を含めることにより、特定の動作またはアクションを実行するように構成することができる。
【0010】
1つの一般的な態様は、圧縮ビデオデータを使用して、機械学習されたビデオ超解像(VSR)モデルを双方向にトレーニングするためのコンピュータ実装方法を含む。コンピュータ実装方法は、1つまたは複数のコンピューティングデバイスを含むコンピューティングシステムによって、複数のグラウンドトゥルース高解像度(HR)ビデオフレームおよび複数の低解像度(LR)ビデオフレームを含み得るグラウンドトゥルースビデオデータのセットを取得するステップであり、複数のLRビデオフレームはそれぞれ、複数のグラウンドトゥルースHRビデオフレームに対応し、複数のグラウンドトゥルースHRビデオフレームおよび複数のLRビデオフレームが、圧縮ビデオに対応する時間シーケンスで配列される、ステップを含む。この方法はまた、コンピューティングシステムによって、時間シーケンスにおける1つまたは複数の以前の位置に関連付けられた1つまたは複数のビデオフレームに基づいて、時間シーケンスにおける現在位置についての順方向予測HRビデオフレームを生成するために、順方向時間予測を実行するステップも含む。この方法はまた、コンピューティングシステムによって、時間シーケンスにおける1つまたは複数の後続の位置に関連付けられた1つまたは複数のビデオフレームに基づいて、時間シーケンスにおける現在位置についての逆方向予測HRビデオフレームを生成するために、逆方向時間予測を実行するステップも含む。この方法はまた、コンピューティングシステムによって、機械学習されたVSRモデルの損失関数を評価するステップであり、損失関数が、グラウンドトゥルースHRビデオフレームを順方向予測HRビデオフレームと比較し、グラウンドトゥルースHRビデオフレームを逆方向予測HRビデオフレームと比較する、ステップも含む。この方法はまた、コンピューティングシステムによって、損失関数に基づいて機械学習されたVSRモデルの1つまたは複数のパラメータの1つまたは複数の値を修正するステップも含む。本態様の他の実施形態は、各々方法のアクションを実行するように構成された、1つまたは複数のコンピュータ記憶デバイスに記録された対応するコンピュータシステム、装置、およびコンピュータプログラムを含む。
【0011】
別の例示的な態様は、1つまたは複数のプロセッサと、1つまたは複数の非一時的コンピュータ可読媒体とを含むコンピューティングシステムを対象とし、1つまたは複数の非一時的コンピュータ可読媒体は、機械学習されたビデオ超解像(VSR)モデルと、1つまたは複数のプロセッサによって実行されると、圧縮ビデオを超解像するために機械学習されたVSRモデルをコンピューティングシステムに使用させる命令とを集合的に記憶する。
【0012】
機械学習されたビデオ超解像(VSR)モデルは、低解像度(LR)フロー推定および高解像度(HR)フロー推定を生成するために前または後続のLRビデオフレームおよび現在のLRビデオフレームを処理することと、時間シーケンスにおける現在位置についての予測LRビデオフレームを生成するために、LRフロー推定に従って前または後続のLRビデオフレームをワーピングすることと、時間シーケンスにおける現在位置についての中間HRビデオフレームを生成するために、HRフロー推定に従って前または後続のHRビデオフレームをワーピングすることとを行うように構成されたフロー推定部分、中間HRビデオフレームを強調するように構成されたラプラシアン強調部分、および、時間シーケンスにおける現在位置についての予測HRビデオフレームを生成するために、中間HRビデオフレームおよび現在のLRビデオフレームを処理するように構成されたフレーム生成部分を含み得る。
【0013】
説明される技法の実装形態は、コンピュータアクセス可能媒体上のハードウェア、方法もしくはプロセス、またはコンピュータソフトウェアを含み得る。
【0014】
当業者に向けられた実施形態の詳細な説明は、添付の図面を参照する本明細書に記載されている。
【図面の簡単な説明】
【0015】
【
図1A】本開示の例示的な実施形態による、機械学習されたビデオ超解像モデルを双方向にトレーニングするための例示的なプロセスのグラフィカル図である。
【
図1B】本開示の例示的な実施形態による、機械学習されたビデオ超解像モデルを双方向にトレーニングするための例示的なプロセスのグラフィカル図である。
【
図2】本開示の例示的な実施形態による、例示的な機械学習されたビデオ超解像モデルの例示的なアーキテクチャのグラフィカル図である。
【
図3A】本開示の例示的な実施形態による例示的なコンピューティングシステムのブロック図である。
【
図3B】本開示の例示的な実施形態による例示的なコンピューティングデバイスのブロック図である。
【
図3C】本開示の例示的な実施形態による例示的なコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【0016】
複数の図にわたって繰り返される参照番号は、様々な実装形態における同じ特徴を識別することを意図している。
【0017】
概要
本開示の例示的な態様は、双方向トレーニングアプローチを使用してトレーニングされた、機械学習されたビデオ超解像(VSR)モデルを特徴とするシステムおよび方法を対象とする。特に、本開示は、異なる圧縮レベルを有する現実世界のビデオに対して良好に実行することができる、圧縮情報に基づく(たとえば、圧縮認識)超解像モデルを提供する。具体的には、本明細書で説明する例示的なモデルは、ビデオ圧縮によって生じた欠落情報をロバストに復元するための3つのモジュールを含むことができる。第1に、双方向リカレントモジュールを使用して、圧縮されたビデオフレームからのイントラフレームのランダムな位置から累積ワーピング誤差を低減することができる。第2に、圧縮された低解像度(LR)フレームからの高解像度(HR)フローの復元を可能にするために、詳細認識フロー推定モジュールを追加することができる。最後に、ラプラシアン強調モジュールは、ビデオ符号化によって洗い流されたワーピングされたHRフレームに高周波数情報を追加することができる。提案されたモデルの例示的な実装形態は、いくつかの例では、COMpression-Informed video Super-Resolution(COMISR)と呼ばれることがある。
【0018】
本開示に含まれ、本開示の一部を形成する米国仮特許出願第63/179,795号において、3つのモジュールを用いたCOMISRの例示的な実装形態の有効性が、アブレーション研究によって実証されている。特に、異なるCRF値で圧縮されたビデオを用いて、いくつかのVSRベンチマークデータセットに対して広範な実験が行われた。実験は、COMISRモデルが圧縮ビデオ(たとえば、CRF23)において有意な性能利得を達成し、一方、非圧縮ビデオにおいて競合性能を維持することを示した。加えて、米国仮特許出願第63/179,795号は、最新のVSRモデルと既製のビデオデノイザーとの異なる組合せに基づく評価結果を示している。最後に、米国仮特許出願第63/179,795号は、独自のエンコーダで圧縮されたストリーミングYouTube(登録商標)ビデオをシミュレートするCOMISRモデルのロバスト性を実証している。
【0019】
したがって、本開示の1つの例示的な態様は、実用的な用途のために現実世界の圧縮ビデオを超解像するための圧縮情報に基づくモデルを対象とする。別の例示的な態様は、圧縮フレーム上のビデオ超解像のためのクリティカルなコンポーネントを効果的に改善するためにVSRにとって新しい3つのモジュールを含む。最後に、圧縮ベンチマークデータセット上の最新のVSRモデルについて広範な実験を行った。
【0020】
本開示のシステムおよび方法は、いくつかの技術的効果および利益を提供する。一例として、本明細書に記載されるモデルは、画像の超解像の改善など、改善された画像処理を実行することができる(たとえば、画像合成を介して画像の解像度を高める)。たとえば、VSRモデルの双方向トレーニングを実行することによって、VSRモデルは、圧縮プロセスによって導入される時間的アーチファクトを考慮するように、より良好に装備/トレーニングされ得る。
【0021】
具体的には、ビデオ圧縮において使用される1つの一般的な技法は、ビデオストリームにおける異なる位置でフレームを圧縮し、符号化するために異なるアルゴリズムを適用することである。典型的には、コーデックは、イントラフレームとして知られるいくつかの参照フレームをランダムに選択し、他のフレームからの情報を使用せずにそれらを独立して圧縮する。次いで、イントラフレームからの整合性および符号化の違いを活用することによって、他のフレームを圧縮する。その結果、イントラフレームは、通常、他のフレームよりも符号化するためにより多くのビットを必要とし、圧縮アーチファクトがより少ない。ビデオ超解像では、イントラフレームの位置は事前に知られていないので、イントラフレームの未知の位置からの累積誤差を効果的に低減するために、提案した双方向アプローチを使用して、LRワープ入力とHR予測フレームの順方向および逆方向の整合性を強制することができる。
【0022】
本開示のシステムおよび方法は、いくつかの用途に使用することができる。一例では、本明細書で説明するモデルを使用して、圧縮ビデオの解像度を高めることができる。たとえば、圧縮ビデオは、圧縮された形態で送信またはストリーミングされ、次いで、ビデオを表示するエンドデバイスにおいて超解像され得る。これは、圧縮ビデオが、送信および/または記憶するために必要な計算リソースが少なくてすむ場合があるので、ネットワーク帯域幅および記憶空間を節約するという技術的利益を提供することができる。例として、圧縮ビデオは、圧縮されたビデオ会議ビデオストリーム、圧縮されたユーザ生成コンテンツビデオ、および/または任意の他のタイプのビデオであり得る。
【0023】
次に図面を参照して、本開示の例示的な実施形態について、さらに詳細に説明する。
【0024】
例示的なモデルトレーニングおよび推論
例示的なCOMISRモデルは、現在のフレームに以前の情報を供給するリカレント定式化を使用して設計されており、これは、最新のビデオSR方法に類似する。リカレント設計は、通常、メモリ消費が少なく、ビデオにおける多数の推論タスクに適用することができる。
【0025】
本明細書で説明する例示的なモデルアーキテクチャは、モデルを圧縮ビデオに対してロバストにするために、3つの新規部分、すなわち、双方向リカレントワーピング、詳細認識フロー推定、およびラプラシアン強調部分を含むことができる。LRグラウンドトゥルースフレームが与えられると、モデルは、順方向および逆方向のリカレントモジュール(
図1A~
図1Bを参照)を適用して、HRフレーム予測を生成し、HRグラウンドトゥルースフレームに対するコンテンツ損失を双方向で計算することができる。リカレントモジュールは、フローを予測し、LRとHRの両方においてワープされたフレームを生成し、LRおよびHRのグラウンドトゥルースフレームを使用してネットワークをエンドツーエンドでトレーニングすることができる。
【0026】
例示的な双方向リカレントモジュール
ビデオ圧縮において使用される1つの技法は、ビデオストリームにおける異なる位置でフレームを圧縮し、符号化するために異なるアルゴリズムを適用することである。典型的には、コーデックは、イントラフレームとして知られるいくつかの参照フレームをランダムに選択し、他のフレームからの情報を使用せずにそれらを独立して圧縮する。次いで、イントラフレームからの整合性および符号化の違いを活用することによって、他のフレームを圧縮する。その結果、イントラフレームは、通常、他のフレームよりも符号化するためにより多くのビットを必要とし、圧縮アーチファクトがより少ない。ビデオ超解像では、イントラフレームの位置は事前に知られていないので、イントラフレームの未知の位置からの累積誤差を効果的に低減するために、本開示は、LRワープ入力とHR予測フレームの順方向および逆方向の整合性を強制するための双方向リカレントネットワークを提案する。
【0027】
具体的には、双方向リカレントネットワークは、順方向および逆方向のための対称モジュールを含むことができる。順方向では、モデルは、最初に、LRフロー
【0028】
【0029】
とHRフロー
【0030】
【0031】
の両方を、LRフレーム
【0032】
【0033】
および
【0034】
【0035】
を使用して推定することができる。次いで、モデルは、LRストリームとHRストリームとで別々に異なる演算を適用することができる。LRストリームでは、モデルは、前のLRフレーム
【0036】
【0037】
を、
【0038】
【0039】
を使用して時間tにワープさせて、ワープされたLRフレーム
【0040】
【0041】
を取得することができ、これは、後の段階で使用される。
【0042】
【0043】
HRストリームでは、モデルは、前の予測フレーム
【0044】
【0045】
を、
【0046】
【0047】
を使用して時間tにワープさせて、ワープされたHRフレーム
【0048】
【0049】
を取得し、正確なHRのワープされたフレームを生成するためにラプラシアン強調モジュールが続く。
【0050】
【0051】
次いで、モデルは、
【0052】
【0053】
に対して空間-深度演算を適用して、そのチャネルを拡大しながら解像度を縮小し、それをLR入力
【0054】
【0055】
と融合し、連結されたフレームをHRフレーム生成器に渡して、最終的なHR予測
【0056】
【0057】
を得ることができる。トレーニングプロセスは、損失を測定するために、
【0058】
【0059】
をグラウンドトゥルースHR
【0060】
【0061】
と比較することができる。
【0062】
同様に、モデルは、ワープされたLRフレームおよび予測HRフレームを取得するために、逆方向の対称演算を適用することができる。この場合、詳細認識フロー推定モジュールは、時間tからt-1への逆方向フローを生成することができ、ワーピングは、時間t-1におけるフレームを推定するために、時間tにおけるフレームに逆方向フローを適用することによって行われ得る。
【0063】
例として、
図1Aおよび
図1Bは、それぞれ順方向時間予測および逆方向時間予測に使用されている例示的なVSRモデルを示す。本開示のいくつかの実装形態では、順方向時間予測は、トレーニングと推論の両方において実行され得、一方、逆方向時間予測は、トレーニング中にのみ実行され得る。
【0064】
具体的には、いくつかの実装形態では、VSRモデルをトレーニングするために、コンピューティングシステムは、グラウンドトゥルーストレーニングデータのいくつかのセットを取得することができる。トレーニングの反復は、トレーニングビデオのバッチに対して実行することができ、各バッチは、グラウンドトゥルースビデオデータの1つまたは複数のセットを含む。
【0065】
特に、グラウンドトゥルースビデオデータのセットは、複数のグラウンドトゥルース高解像度(HR)ビデオフレームと複数の低解像度(LR)ビデオフレームとを含むことができる。複数のLRビデオフレームは、それぞれ複数のグラウンドトゥルースHRビデオフレームに対応する。たとえば、各LRフレームは、HRフレームのうちの対応する1つの比較的低解像度バージョンであり得る。一例では、HRビデオのフレームは、LRフレームを生成するためにダウンサンプリングおよび/または圧縮され得る。HRフレームは、それ自体圧縮されていてもされなくてもよい。
【0066】
複数のグラウンドトゥルースHRビデオフレームおよび複数のLRビデオフレームは、時間シーケンスで配列され得る。一例として、時間シーケンスは、画像キャプチャデバイスによって連続した順序でキャプチャされた、順番に並べられた番号付きフレームに対応することができる。
【0067】
モデルのトレーニングは、時間シーケンスにおける位置の1つまたは複数に対して行うことができる。たとえば、トレーニングは、時間シーケンスにおけるすべての位置に対して行うことができる。
【0068】
具体的には、VSRモデルは、時間シーケンスにおける1つまたは複数の以前の位置に関連付けられた1つまたは複数のビデオフレームに基づいて時間シーケンスにおける現在位置についての順方向予測HRビデオフレームを生成するための順方向時間予測を実行するために使用することができる。順方向時間予測の一例を
図1Aに示す。加えて、本開示の一態様によれば、VSRモデルは、時間シーケンスにおける1つまたは複数の後続の位置に関連付けられた1つまたは複数のビデオフレームに基づいて時間シーケンスにおける現在位置についての逆方向予測HRビデオフレームを生成するための逆方向時間予測を実行するために使用することもできる。逆方向時間予測の一例を
図1Bに示す。
【0069】
いくつかの実装形態では、順方向および逆方向モデルは対称であり、重みを共有する。異なる考え方として、順方向パスおよび逆方向パスの各々に同じモデルを使用することができるが、異なる(たとえば、反対の)順番または順序でフレームに適用することができる。たとえば、フレームの順番を単純に逆にすることができる。
【0070】
順方向および/または逆方向の時間予測を実行した後、コンピューティングシステムは、機械学習されたVSRモデルの損失関数を評価することができる。一例として、損失関数は、(1)グラウンドトゥルースHRビデオフレームを、順方向時間予測によって生成された順方向予測HRビデオフレームと比較することと、(2)グラウンドトゥルースHRビデオフレームを、逆方向時間予測によって生成された逆方向予測HRビデオフレームと比較することとの両方を行うことができる。損失関数は、上記の(1)と(2)の両方について共同で評価することができ、または(1)および(2)を別々に評価し、次いで合計するか、またはそうでなければ一緒に(たとえば、バッチとして)扱うことができる。
【0071】
コンピューティングシステムは、損失関数に基づいて機械学習されたVSRモデルの1つまたは複数のパラメータの1つまたは複数の値を修正することができる。たとえば、誤差の逆伝播を使用して、損失関数の勾配に従って機械学習されたVSRモデルのパラメータの値を更新することができる。
【0072】
特に、
図1Aを具体的に参照すると、いくつかの実装形態では、順方向時間予測を実行することは、コンピューティングシステムによって、機械学習されたVSRモデル12を使用して、時間シーケンスにおける現在位置について順方向予測HRビデオフレーム20を生成するために、時間シーケンスにおける前の位置に関連付けられた前のHRビデオフレーム14と、時間シーケンスにおける前の位置に関連付けられた前のLRビデオフレーム16と、時間シーケンスにおける現在位置に関連付けられた現在のLRビデオフレーム18とを処理することを含むことができる。
【0073】
同様に、
図1Bを具体的に参照すると、逆方向時間予測を実行することは、コンピューティングシステムによって、機械学習されたVSRモデル12を使用して、時間シーケンスにおける現在位置についての逆方向予測HRビデオフレーム30を生成するために、時間シーケンスにおける後続の位置に関連付けられた後続のHRビデオフレーム24と、時間シーケンスにおける後続の位置に関連付けられた後続のLRビデオフレーム26と、時間シーケンスにおける現在位置に関連付けられた現在のLR28とを処理することを含むことができる。
【0074】
前のHRビデオフレーム14は、前の予測HRビデオフレームとすることができ、または前のグラウンドトゥルースHRビデオフレームとすることができる。同様に、後続のHRビデオフレーム24は、後続の予測HRビデオフレームとすることができ、または後続のグラウンドトゥルースHRビデオフレームとすることができる。
【0075】
例示的なリカレントモデルの詳細
次に
図2を参照すると、例示的なVSRモデル200の例示的なアーキテクチャが示されている。モデル200は、フロー推定部分202、ラプラシアン強調部分204、および/またはフレーム生成部分206を含むことができる。
【0076】
フロー推定部分202は、前または後続の低解像度(LR)ビデオフレーム(たとえば、前のLRビデオフレーム16)および現在のLRビデオフレーム18を処理して、LRフロー推定210および高解像度(HR)フロー推定212を生成するように構成され得る。フロー推定部分202は、時間シーケンスにおける現在位置についての予測LRビデオフレーム214を生成するために、LRフロー推定210に従って前または後続のLRビデオフレーム(たとえば16)をワーピングすることができる。フロー推定部分202は、時間シーケンスにおける現在位置についての中間HRビデオフレーム216を生成するために、HRフロー推定212に従って前または後続のHRビデオフレーム(たとえば、前のHRフレーム14)をワーピングすることができる。
【0077】
ラプラシアン強調部分204は、中間HRビデオフレーム216を強調するように構成することができる。
【0078】
フレーム生成部分206は、時間シーケンスにおける現在位置についての予測HRビデオフレーム20を生成するために、中間HRビデオフレーム216(たとえば、強調後)および現在のLRビデオフレーム18を処理するように構成され得る。
【0079】
同様に、コンピューティングシステムによって、逆方向時間予測(特に図示せず)を実行することは、コンピューティングシステムによって、機械学習されたVSRモデルのフロー推定部分202を使用して、LR逆方向フロー推定およびHR逆方向フロー推定を生成するために後続のLRビデオフレームおよび現在のLRビデオフレームを処理することと、コンピューティングシステムによって、時間シーケンスにおける現在位置についての逆方向予測LRビデオフレームを生成するために、LR逆方向フロー推定に従って後続のLRビデオフレームをワーピングすることと、コンピューティングシステムによって、時間シーケンスにおける現在位置についての逆方向-中間HRビデオフレームを生成するために、HR逆方向フロー推定に従って後続のHRビデオフレームをワーピングすることとを含むことができる。
【0080】
同様に、コンピューティングシステムによって、逆方向時間予測を実行することは、コンピューティングシステムによって、ラプラシアン強調フィルタを逆方向-中間HRビデオフレームに適用することと、ラプラシアン強調フィルタを適用した後、コンピューティングシステムによって、機械学習されたVSRモデルのフレーム生成部分を使用して、時間シーケンスにおける現在位置についての逆方向予測HRビデオフレームを生成するために、逆方向-中間HRビデオフレームおよび現在のLRビデオフレームを処理することとを含むことができる。
【0081】
いくつかの実装形態では、損失関数はさらに、(3)現在位置についての順方向予測LRビデオフレーム214と、時間シーケンスにおける現在位置に関連付けられた現在のLRビデオフレーム18を比較し、および/または(4)現在位置についての逆方向予測LRビデオフレーム(具体的には図示せず)と、時間シーケンスにおける現在位置に関連付けられた現在のLRビデオフレームを比較することができる。
【0082】
時間シーケンスにおける前の位置は、時間シーケンスにおける直前の位置であってもよく、または直接隣接しない時間位置であってもよい。同様に、時間シーケンスにおける後続の位置は、時間シーケンスにおける直後の位置であってもよく、または直接隣接しない時間位置であってもよい。
【0083】
トレーニング後、機械学習されたVSRモデルを使用して、追加の圧縮ビデオを超解像することができる。たとえば、追加の圧縮ビデオを超解像するために、機械学習されたVSRモデルを使用することは、追加の圧縮ビデオのビデオフレームに対して順方向時間予測のみを実行することを含むことができる。
【0084】
本明細書で説明されるトレーニング技法は、複数の圧縮されたトレーニングビデオに対してそれぞれ複数のトレーニング反復のために実行され得る。複数の圧縮されたトレーニングビデオは、同じ圧縮アルゴリズムまたは複数の異なる圧縮アルゴリズムを使用して圧縮されている可能性がある。1つの例示的な圧縮アルゴリズは、H.264コーデックである。
【0085】
例示的な詳細認識フロー推定
提案したリカレントモデルでは、モデルは、隣接フレーム間のLRとHRの両方のフローを明示的に推定し、この情報を順方向および逆方向に渡すことができる。
【0086】
図2は、説明のために順方向を示す。逆方向の演算も同様に適用される。モデルは、最初に、2つの隣接するLRフレーム
【0087】
【0088】
および
【0089】
【0090】
を連結し、LRフロー推定ネットワークを通過させて、LRフロー
【0091】
【0092】
を生成することができる。LRフロー
【0093】
【0094】
を直接アップサンプリングする代わりに、モデルは、バイリニアアップサンプリングされたLRフローの上にいくつかの追加のデコンボリューション層を適用することができる。したがって、詳細な残差マップは、エンドツーエンドトレーニング中に学習されるように促され得、その結果、モデルは、予測HRフローにおける高周波数詳細をより良好に保存することができる。
【0095】
例示的なラプラシアン強調モジュール
ラプラシアン残差は、画像混合、超解像、および復元を含む多くの視覚タスクにおいて広く使用されている。これは、ビデオフレームから細かい詳細を見つけるのに特に有用であり、ビデオ圧縮中にそのような詳細が平滑化され得る。提案されたリカレントVSRモデルのいくつかの例では、ワープされた予測HRフレームは、前のフレームから学習された情報およびいくつかの詳細を保持する。そのような詳細は、アップスケーリングネットワークから容易に欠落する可能性がある。したがって、いくつかの例示的な実装形態は、詳細を強調するために、予測HRフレームに対するラプラシアン残差を含む。
【0096】
ラプラシアンブースト画像は、σの幅を有するガウスカーネルブラーG(・,・)によって計算することができる。
【0097】
【0098】
式中、
【0099】
【0100】
は、予測HRフレームの中間結果であり、αは、残差電力を制御する重み係数である。ラプラシアンを利用することによって、モデルは、ワーピングされたHRフレームに詳細を追加することができる。これに続いて、空間データのブロックを深度次元に再配置する空間-深度演算が行われ、次いでLR入力フレームと連結することができる。モデルは、最終的なHR予測を生成するために、それをHRフレーム生成器に渡すことができる。
【0101】
例示的な損失関数
トレーニング中、典型的には、HRフレームとLRフレームの2つのストリームが存在する。損失は、両方のストリームを使用することを考慮して設計することができる。HRフレームの損失について、最終出力とHRフレームとの間のL2距離を計算することができる。Itは、グラウンドトゥルースフレームを示し、
【0102】
【0103】
は、時間tに生成されたフレームを示す。リカレントステップの各々について、予測HRフレームは、損失を計算するために使用され得る。L2損失は、任意選択で、以下のように組み合わせることができる。
【0104】
【0105】
t-1からtまでのワープされたLRフレームの各々は、現在のLRフレームに対するL2距離に対して、以下のようにペナルティを課すこともできる。
【0106】
【0107】
1つの例示的な総損失は、HR損失とLR損失との合計であり得、
【0108】
【0109】
式中、βおよびγは、各損失に対する重みである。
【0110】
例示的なデバイスおよびシステム
図3Aは、本開示の例示的な実施形態による、ビデオ超解像を実行する例示的なコンピューティングシステム100のブロック図を示す。システム100は、ネットワーク180を介して通信可能に結合されたユーザコンピューティングデバイス102、サーバコンピューティングシステム130、およびトレーニングコンピューティングシステム150を含む。
【0111】
ユーザコンピューティングデバイス102は、たとえば、パーソナルコンピューティングデバイス(たとえば、ラップトップまたはデスクトップ)、モバイルコンピューティングデバイス(たとえば、スマートフォンまたはタブレット)、ゲームコンソールまたはコントローラ、ウェアラブルコンピューティングデバイス、組込みコンピューティングデバイス、または任意の他のタイプのコンピューティングデバイスなど、任意のタイプのコンピューティングデバイスとすることができる。
【0112】
ユーザコンピューティングデバイス102は、1つまたは複数のプロセッサ112およびメモリ114を含む。1つまたは複数のプロセッサ112は、任意の適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であり得、動作可能に接続されている1つのプロセッサまたは複数のプロセッサであり得る。メモリ114は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せなどの1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。メモリ114は、ユーザコンピューティングデバイス102に動作を実行させるようにプロセッサ112によって実行されるデータ116および命令118を記憶することができる。
【0113】
いくつかの実装形態では、ユーザコンピューティングデバイス102は、1つまたは複数の機械学習されたVSRモデル120を記憶または含むことができる。たとえば、機械学習されたVSRモデル120は、ニューラルネットワーク(たとえば、ディープニューラルネットワーク)または非線形モデルおよび/もしくは線形モデルを含む他のタイプの機械学習されたモデルなどの、様々な機械学習されたモデルであり得るか、そうでなければそれを含むことができる。ニューラルネットワークは、フィードフォワードニューラルネットワーク、リカレントニューラルネットワーク(たとえば、長期短期記憶リカレントニューラルネットワーク)、畳み込みニューラルネットワーク、または他の形態のニューラルネットワークを含むことができる。いくつかの例示的な機械学習されたモデルは、自己注意などの注意メカニズムを活用することができる。たとえば、いくつかの例示的な機械学習されたモデルは、多頭自己注意モデル(たとえば、変圧器モデル)を含むことができる。例示的な機械学習されたVSRモデル120について、
図1A、
図1B、および
図2を参照して説明する。
【0114】
いくつかの実装形態では、1つまたは複数の機械学習されたVSRモデル120は、ネットワーク180を介してサーバコンピューティングシステム130から受信され、ユーザコンピューティングデバイスメモリ114に記憶され、次いで、1つまたは複数のプロセッサ112によって使用またはそうでなければ実装され得る。いくつかの実装形態では、ユーザコンピューティングデバイス102は、(たとえば、低解像度ビデオの複数のインスタンスにわたって並列ビデオ超解像を実行するために)単一の機械学習されたVSRモデル120の複数の並列インスタンスを実装することができる。
【0115】
追加または代替として、1つまたは複数の機械学習されたVSRモデル140は、クライアント-サーバ関係に従ってユーザコンピューティングデバイス102と通信するサーバコンピューティングシステム130に含めることができ、またはそうでなければ、それによって記憶し、実装することができる。たとえば、機械学習されたVSRモデル140は、サーバコンピューティングシステム140によって、ウェブサービス(たとえば、映像超解像サービス)の一部として実装することができる。したがって、1つまたは複数のモデル120は、ユーザコンピューティングデバイス102において記憶され、実装され得、および/または1つまたは複数のモデル140は、サーバコンピューティングシステム130において記憶され、実装され得る。
【0116】
また、ユーザコンピューティングデバイス102は、ユーザ入力を受信する1つまたは複数のユーザ入力コンポーネント122を含むことができる。たとえば、ユーザ入力コンポーネント122は、ユーザ入力オブジェクト(たとえば、指またはスタイラス)のタッチに感応するタッチセンシティブコンポーネント(たとえば、タッチセンシティブディスプレイスクリーンまたはタッチパッド)とすることができる。タッチセンシティブコンポーネントは、仮想キーボードを実装する役割を果たすことができる。他の例示的なユーザ入力コンポーネントは、マイクロフォン、従来のキーボード、またはユーザがユーザ入力を提供することができる他の手段を含む。
【0117】
サーバコンピューティングシステム130は、1つまたは複数のプロセッサ132およびメモリ134を含む。1つまたは複数のプロセッサ132は、任意の適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であり得、動作可能に接続されている1つのプロセッサまたは複数のプロセッサであり得る。メモリ134は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せなどの1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。メモリ134は、サーバコンピューティングシステム130に動作を実行させるためにプロセッサ132によって実行されるデータ136および命令138を記憶することができる。
【0118】
いくつかの実装形態では、サーバコンピューティングシステム130は、1つまたは複数のサーバコンピューティングデバイスを含むか、そうでなければそれによって実装される。サーバコンピューティングシステム130が複数のサーバコンピューティングデバイスを含む場合、そのようなサーバコンピューティングデバイスは、シーケンシャルコンピューティングアーキテクチャ、パラレルコンピューティングアーキテクチャ、またはそれらの何らかの組合せに従って動作することができる。
【0119】
上述したように、サーバコンピューティングシステム130は、1つまたは複数の機械学習されたVSRモデル140を記憶するか、そうでなければ含むことができる。たとえば、モデル140は、様々な機械学習されたモデルとすることができ、またはそうでなければそれを含むことができる。例示的な機械学習されたモデルは、ニューラルネットワークまたは他の多層非線形モデルを含む。例示的なニューラルネットワークは、フィードフォワードニューラルネットワーク、ディープニューラルネットワーク、リカレントニューラルネットワーク、および畳み込みニューラルネットワークを含む。いくつかの例示的な機械学習されたモデルは、自己注意などの注意メカニズムを活用することができる。たとえば、いくつかの例示的な機械学習されたモデルは、多頭自己注意モデル(たとえば、トランスフォーマモデル)を含むことができる。例示的なモデル140について、
図1A、
図1B、および
図2を参照して説明する。
【0120】
ユーザコンピューティングデバイス102および/またはサーバコンピューティングシステム130は、ネットワーク180を介して通信可能に結合されたトレーニングコンピューティングシステム150との対話を介してモデル120および/または140をトレーニングすることができる。トレーニングコンピューティングシステム150は、サーバコンピューティングシステム130とは別個であってもよく、サーバコンピューティングシステム130の一部であってもよい。
【0121】
トレーニングコンピューティングシステム150は、1つまたは複数のプロセッサ152およびメモリ154を含む。1つまたは複数のプロセッサ152は、任意の適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であり得、動作可能に接続されている1つのプロセッサまたは複数のプロセッサであり得る。メモリ154は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せなどの1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。メモリ154は、トレーニングコンピューティングシステム150に動作を実行させるためにプロセッサ152によって実行されるデータ156および命令158を記憶することができる。いくつかの実装形態では、トレーニングコンピューティングシステム150は、1つまたは複数のサーバコンピューティングデバイスを含むか、そうでなければそれによって実装される。
【0122】
トレーニングコンピューティングシステム150は、ユーザコンピューティングデバイス102および/またはサーバコンピューティングシステム130において記憶された機械学習されたモデル120および/または140を、たとえば、誤差逆伝播など、様々なトレーニングまたは学習技法を使用してトレーニングするモデルトレーナー160を含み得る。たとえば、損失関数は、(たとえば、損失関数の勾配に基づいて)モデルの1つまたは複数のパラメータを更新するために、モデルを介して逆伝播され得る。平均2乗誤差、尤度損失、交差エントロピー損失、ヒンジ損失、および/または様々な他の損失関数など、様々な損失関数が使用され得る。勾配降下技法を使用して、何回かのトレーニング反復にわたってパラメータを反復的に更新することができる。
【0123】
いくつかの実装形態では、誤差逆伝播を実行することは、打ち切り型通時的逆伝搬(truncated backpropagation through time)を実行することを含み得る。モデルトレーナー160は、トレーニングされているモデルの一般化能力を改善するために、いくつかの一般化技法(たとえば、重量減衰、ドロップアウトなど)を実行することができる。
【0124】
特に、モデルトレーナー160は、トレーニングデータ162のセットに基づいて機械学習されたVSRモデル120/140をトレーニングすることができる。トレーニングデータ162は、たとえば、グラウンドトゥルースビデオデータを含むことができる。たとえば、グラウンドトゥルースビデオデータは、より高い解像度の形式と、対応するより低い解像度の形式の両方のビデオを含むことができる。
【0125】
いくつかの実装形態では、トレーニングデータは、トレーニングのためのREDSおよび/またはVimeoデータセットを含み得る。REDSデータセットは、トレーニングのための200を超えるビデオシーケンスを含み、その各々は、1280×720の解像度を有する100フレームを有する。Vimeo-90Kデータセットは、トレーニングのための約65kのビデオシーケンスを含み、その各々は、448×256の解像度を有する7フレームを有する。これらの2つのデータセットの間の1つの主な違いは、REDSデータセットが、ハンドヘルドデバイスからキャプチャされた連続フレーム間ではるかに大きい動きを有することである。COMISRモデルをトレーニングおよび評価するために、フレームは、最初に、1.5の幅を有するガウスカーネルによって平滑化され、4×によってダウンサンプリングされ得る。
【0126】
いくつかの実装形態では、COMISRモデルは、Vid4およびREDS4データセット(クリップ番号000、011、015、020)で評価され得る。すべてのテストシーケンスは、30を超えるフレームを有する。
【0127】
いくつかの実装形態では、以下の圧縮方法を使用することができる。1つの例は、異なる圧縮率(すなわち、異なるCRF値)におけるH.264コーデックのための最も一般的な設定に従う。推奨されるCRF値は18~28であり、デフォルトは23である(ただし、値の範囲は0~51)。いくつかの例では、15、25、および35のCRFを使用して、広範囲の圧縮率でビデオ超解像を評価することができる。いくつかの実装形態では、圧縮前にLRシーケンスを生成するための同じ劣化方法。最後に、そのような圧縮されたLRシーケンスは、推論のためにVSRモデルに供給される。
【0128】
いくつかの実装形態では、以下のトレーニングプロセスを使用することができる。いくつかの実装形態では、入力フレームの各々について、トレーニングプロセスは、入力としてミニバッチからパッチ(たとえば、128×128パッチ)をランダムにクロップすることができる。各ミニバッチは、いくつかのサンプル(たとえば、16個のサンプル)を含むことができる。α、β、およびγパラメータは、それぞれ1、20、1に設定することができる。モデルトレーニングは、本明細書の他の箇所に記載される損失によって監督され得る。Adamオプティマイザは、β_1=0.9およびβ_2=0.999で使用できる。学習率は、5×10^(-5)に設定することができる。ビデオ圧縮は、任意選択で、入力バッチ上で50%の確率で、トレーニングパイプラインへの追加のデータ拡張方法として採用され得る。
【0129】
いくつかの実装形態では、ユーザが同意を与えた場合、トレーニング例は、ユーザコンピューティングデバイス102によって提供され得る。したがって、そのような実装形態では、ユーザコンピューティングデバイス102に提供されるモデル120は、ユーザコンピューティングデバイス102から受信されたユーザ固有のデータについてトレーニングコンピューティングシステム150によってトレーニングされ得る。いくつかの例では、このプロセスは、モデルのパーソナライズと呼ばれることがある。
【0130】
モデルトレーナー160は、所望の機能を提供するために利用されるコンピュータロジックを含む。モデルトレーナー160は、汎用プロセッサを制御するハードウェア、ファームウェア、および/またはソフトウェアで実装することができる。たとえば、いくつかの実装形態では、モデルトレーナー160は、ストレージデバイスに記憶され、メモリにロードされ、1つまたは複数のプロセッサによって実行されるプログラムファイルを含む。他の実装形態では、モデルトレーナー160は、RAM、ハードディスクまたは光学もしくは磁気媒体など有形のコンピュータ可読記憶媒体に記憶されたコンピュータ実行可能命令の1つまたは複数のセットを含む。
【0131】
ネットワーク180は、ローカルエリアネットワーク(たとえば、イントラネット)、ワイドエリアネットワーク(たとえば、インターネット)、またはそれらの何らかの組合せなど任意のタイプの通信ネットワークとすることができ、任意の数のワイヤードまたはワイヤレスリンクを含むことができる。一般に、ネットワーク180を介した通信は、多種多様な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTPなど)、符号化またはフォーマット(たとえば、HTML、XML)、および/または保護方式(たとえば、VPN、セキュアHTTP、SSLなど)を使用して、任意のタイプのワイヤードおよび/またはワイヤレス接続を介して行うことができる。
【0132】
図3Aは、本開示を実装するために使用することができる1つの例示的なコンピューティングシステムを示す。他のコンピューティングシステムも使用することができる。たとえば、いくつかの実装形態では、ユーザコンピューティングデバイス102は、モデルトレーナー160とトレーニングデータセット162とを含み得る。そのような実装形態では、モデル120は、トレーニングされ、ユーザコンピューティングデバイス102でローカルに使用され得る。そのような実装形態のいくつかでは、ユーザコンピューティングデバイス102は、モデルトレーナー160を実装して、ユーザ固有のデータに基づいてモデル120をパーソナライズすることができる。
【0133】
図3Bは、本開示の例示的な実施形態に従って実行する例示的なコンピューティングデバイス10のブロック図を示す。コンピューティングデバイス10は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであり得る。
【0134】
コンピューティングデバイス10は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、それ自体の機械学習ライブラリおよび機械学習されたモデルを含む。たとえば、各アプリケーションは、機械学習されたモデルを含むことができる。例示的なアプリケーションは、テキストメッセージングアプリケーション、電子メールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。
【0135】
図3Bに示すように、各アプリケーションは、たとえば、1つまたは複数のセンサ、コンテキストマネージャ、デバイス状態コンポーネント、および/または追加のコンポーネントなど、コンピューティングデバイスのいくつかの他のコンポーネントと通信することができる。いくつかの実装形態では、各アプリケーションは、API(たとえば、パブリックAPI)を使用して各デバイスコンポーネントと通信することができる。いくつかの実装形態では、各アプリケーションによって使用されるAPIは、そのアプリケーションに固有である。
【0136】
図3Cは、本開示の例示的な実施形態に従って実行する例示的なコンピューティングデバイス50のブロック図を示す。コンピューティングデバイス50は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであり得る。
【0137】
コンピューティングデバイス50は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、中央インテリジェンス層と通信する。例示的なアプリケーションは、テキストメッセージングアプリケーション、電子メールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。いくつかの実装形態では、各アプリケーションは、API(たとえば、すべてのアプリケーションにわたる共通API)を使用して、中央インテリジェンス層(およびそこに記憶されたモデル)と通信することができる。
【0138】
中央インテリジェンス層は、いくつかの機械学習されたモデルを含む。たとえば、
図3Cに示されるように、それぞれの機械学習されたモデルが、アプリケーションごとに提供され、中央インテリジェンス層によって管理され得る。他の実装形態では、2つ以上のアプリケーションは、単一の機械学習されたモデルを共有することができる。たとえば、いくつかの実装形態では、中央インテリジェンス層は、すべてのアプリケーションに単一のモデルを提供することができる。いくつかの実装形態では、中央インテリジェンス層は、コンピューティングデバイス50のオペレーティングシステム内に含まれるか、またはそうでなければそれによって実装される。
【0139】
中央インテリジェンス層は、中央デバイスデータ層と通信することができる。中央デバイスデータ層は、コンピューティングデバイス50のためのデータの集中型リポジトリであり得る。
図3Cに示すように、中央デバイスデータ層は、たとえば、1つまたは複数のセンサ、コンテキストマネージャ、デバイス状態コンポーネント、および/または追加のコンポーネントなど、コンピューティングデバイスのいくつかの他のコンポーネントと通信することができる。いくつかの実装形態では、中央デバイスデータ層は、API(たとえば、プライベートAPI)を使用して各デバイスコンポーネントと通信することができる。
【0140】
追加の開示
本明細書で説明した技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびにそのようなシステムとの間でとられるアクションおよび送信される情報に言及する。コンピュータベースのシステムの固有の柔軟性が、構成要素間のタスクおよび機能の多種多様な可能な構成、組合せ、および分割を可能にする。たとえば、本明細書で説明したプロセスは、単一のデバイスもしくは構成要素、または組み合わせて機能する複数のデバイスもしくは構成要素を使用して実装することができる。データベースおよびアプリケーションは、単一のシステム上で実装され、または複数のシステムに分散させることができる。分散構成要素は、順次または並列に動作することができる。
【0141】
本主題について、その様々な特定の例示的な実施形態に関して詳細に説明してきたが、各例は、本開示の限定ではなく説明として提供される。当業者は、上述の理解を達成すると、そのような実施形態の変更、変形、および均等物を容易に生成することができる。したがって、本開示は、当業者には容易に明らかであるように、そのような変更、変形、および/または追加の本主題への包含を排除するものではない。たとえば、一実施形態の一部として図示または説明されている特徴を、別の実施形態とともに使用して、またさらなる実施形態を得ることができる。したがって、本開示は、そのような変更、変形、および均等物を網羅することが意図される。
【符号の説明】
【0142】
10 コンピューティングデバイス
12 機械学習されたVSRモデル
14 前のHRビデオフレーム
16 前のLRビデオフレーム
18 現在のLRビデオフレーム
20 順方向予測HRビデオフレーム
24 後続のHRビデオフレーム
26 後続のLRビデオフレーム
28 現在のLR
30 逆方向予測HRビデオフレーム
50 コンピューティングデバイス
100 コンピューティングシステム
102 ユーザコンピューティングデバイス
112 プロセッサ
114 メモリ
116 データ
118 命令
120 機械学習されたVSRモデル
122 ユーザ入力コンポーネント
130 サーバコンピューティングシステム
132 プロセッサ
134 メモリ
136 データ
138 命令
140 機械学習されたVSRモデル、サーバコンピューティングシステム
150 トレーニングコンピューティングシステム
152 プロセッサ
154 メモリ
156 データ
158 命令
160 モデルトレーナー
162 トレーニングデータ、トレーニングデータセット
180 ネットワーク
200 VSRモデル
202 フロー推定部分
204 ラプラシアン強調部分
206 フレーム生成部分
210 LRフロー推定
212 高解像度(HR)フロー推定
214 予測LRビデオフレーム
216 中間HRビデオフレーム