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

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

▶ ディープ レンダー エルティーディーの特許一覧

特表2022-530779メタネットワークまたはニューラルネットワークを利用する損失画像およびビデオ圧縮ならびに/または伝送のためのシステムならびに方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-07-01
(54)【発明の名称】メタネットワークまたはニューラルネットワークを利用する損失画像およびビデオ圧縮ならびに/または伝送のためのシステムならびに方法
(51)【国際特許分類】
   H04N 19/90 20140101AFI20220624BHJP
【FI】
H04N19/90
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021564126
(86)(22)【出願日】2020-04-29
(85)【翻訳文提出日】2021-10-26
(86)【国際出願番号】 GB2020051047
(87)【国際公開番号】W WO2020222001
(87)【国際公開日】2020-11-05
(31)【優先権主張番号】16/397,725
(32)【優先日】2019-04-29
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/413,770
(32)【優先日】2019-05-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.HDMI
2.Linux
(71)【出願人】
【識別番号】521469254
【氏名又は名称】ディープ レンダー エルティーディー
(74)【代理人】
【識別番号】100123858
【弁理士】
【氏名又は名称】磯田 志郎
(72)【発明者】
【氏名】ザファル,アルサラン
(72)【発明者】
【氏名】ベゼンブルック,クリスティアン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159TA68
5C159TB04
5C159TC08
5C159TD12
5C159UA02
5C159UA05
5C159UA11
(57)【要約】
所与のノイズ画像から所望の画像を再構築する画像符号化ネットワークに必要なハイパーパラメータのセットを生成するためにメタネットワークを利用する、損失画像およびビデオ圧縮のためのシステムおよび方法。既知のノイズ画像を所望のまたはターゲット画像にマッピングする機能として、ニューラルネットワークを利用し、画像の圧縮バージョン自体の代わりに機能のハイパーパラメータのみの転送を可能にする、損失画像およびビデオ圧縮ならびに伝送のためのシステムおよび方法。これは、受信システムが同じノイズ画像および類似のニューラルネットワークを所有するという条件で、ハイパーパラメータを受信する任意のシステムによって所望の画像の高品質の近似値の再現を可能にする。所与の品質の画像を転送するために必要なデータ量は、既存の画像圧縮技術と対比して、劇的に削減される。ビデオは単に一連の画像であるため、この画像圧縮システムおよび方法の出願は、同じ画像品質に関して既存の技術よりも大きな速度でビデオコンテンツの転送を可能にする。
【選択図】図2
【特許請求の範囲】
【請求項1】
メタネットワークを利用する損失画像およびビデオ圧縮のためのシステムであって、
プロセッサと、メモリと、前記メモリに記憶された第1の複数のプログラミング命令と、を含む、メタネットワークエンジンを含み、前記第1の複数のプログラミング命令が、前記プロセッサ上で動作するときに、前記プロセッサに、
所望の画像を受信することと、
ノイズ画像を受信することと、
訓練画像のセットを受信することと、
前記訓練画像のセットの各々に前記ノイズ画像をマッピングすることによって、前記訓練画像のセットの各々を再構築するために、前記訓練画像のセットを使用して、複数のニューラルネットワークを訓練することと、
メタネットワークハイパーパラメータのセットとして、前記複数のニューラルネットワークの各々についての前記パラメータを記憶することと、
前記複数のニューラルネットワークの各々についての動作パラメータとして、前記メタネットワークハイパーパラメータのセットを使用することと、
前記複数のニューラルネットワークを使用して、前記所望の画像に前記ノイズ画像をマッピングし、前記複数のニューラルネットワークの各々の前記動作から生成された特定のフィルタに対応する第2のハイパーパラメータのセットを生成し、そのため、前記第2のハイパーパラメータのセットが、前記ニューラルネットワークを使用して前記ノイズ画像に適用されるとき、所定の閾値未満である誤差内の前記所望の画像の近似値を生成することと、
前記第2のセットのハイパーパラメータを、将来の画像マッピング動作で使用するために記憶することと、を行わせる、システム。
【請求項2】
前記複数のニューラルネットワークの各々が、
少なくとも1つの畳み込みフィルタを生成することであって、前記ノイズ画像が、全ての畳み込みフィルタを通して連続してフィルタリングされ得、それを所望の画像の近似値にマッピングする、生成することと、
消失勾配問題を緩和するために、前記複数のニューラルネットワーク間の通信を容易にすることと、を行う、請求項1に記載のシステム。
【請求項3】
前記複数のニューラルネットワークが、ネットワークにわたって接続された別個のコンピューティングデバイス上に位置し得る、請求項2に記載のシステム。
【請求項4】
前記ノイズ画像が、静的であり、かつ変化しない、請求項1に記載のシステム。
【請求項5】
メタネットワークを利用する損失画像圧縮のための方法であって、
所望の画像を受信するステップと、
ノイズ画像を受信するステップと、
訓練画像のセットを受信するステップと、
前記訓練画像のセットの各々に前記ノイズ画像をマッピングすることによって、前記訓練画像のセットの各々を再構築するために、前記訓練画像のセットを使用して、複数のニューラルネットワークを訓練するステップと、
メタネットワークハイパーパラメータのセットとして、前記複数のニューラルネットワークの各々についての前記パラメータを記憶するステップと、
前記複数のニューラルネットワークの各々についての動作パラメータとして、前記メタネットワークハイパーパラメータのセットを使用するステップと、
前記複数のニューラルネットワークを使用して、前記所望の画像に前記ノイズ画像をマッピングし、前記複数のニューラルネットワークの各々の前記動作から生成された特定のフィルタに対応する第2のハイパーパラメータのセットを生成し、そのため、前記第2のハイパーパラメータのセットが、前記ニューラルネットワークを使用して前記ノイズ画像に適用されるとき、所定の閾値未満である誤差内の前記所望の画像の近似値を生成する、ステップと、
前記第2のセットのハイパーパラメータを、将来の画像マッピング動作で使用するために記憶するステップと、を含む、方法。
【請求項6】
前記複数のニューラルネットワークの各々において、少なくとも1つの畳み込みフィルタを生成するステップであって、ノイズ画像が、前記畳み込みフィルタを通して連続してフィルタリングされ得、複数のニューラルメタネットワークを使用して、それを所望の画像の近似値にマッピングする、生成するステップと、
消失勾配問題を緩和するために、前記複数のニューラルネットワーク間の通信を容易にするステップと、をさらに含む、請求項5に記載の方法。
【請求項7】
前記複数のニューラルネットワークが、ネットワークにわたって接続された別個のコンピューティングデバイス上に位置し得る、請求項6に記載の方法。
【請求項8】
前記ノイズ画像が、静的であり、かつ変化しない、請求項5に記載の方法。
【請求項9】
ニューラルネットワークを利用する損失画像およびビデオ圧縮ならびに伝送のためのシステムであって、
第1のプロセッサと、第1のメモリと、前記第1のメモリに記憶された第1の複数のプログラミング命令と、を含む、画像圧縮エンジンを含み、前記第1の複数のプログラミング命令が、前記第1のプロセッサ上で動作するときに、前記第1のプロセッサに、
所望の画像を受信することと、
ノイズ画像を回収することと、
ハイパーパラメータを求めるために、第1のニューラルネットワークを使用して前記ノイズ画像を前記所望の画像にマッピングさせることであって、前記ハイパーパラメータが、前記第1のニューラルネットワークを使用して前記ノイズ画像に適用されるとき、所定の閾値未満である誤差内で前記所望の画像の近似値を生成するように、マッピングすることと、
前記ハイパーパラメータを伝送することと、を行わせ、
第2のプロセッサと、第2のメモリと、前記メモリに記憶された第2の複数のプログラミング命令と、を含む、画像復元エンジンを含み、前記第2の複数のプログラミング命令が、前記第2のプロセッサ上で動作するときに、前記第2のプロセッサに、
前記ハイパーパラメータを受信することと、
前記ノイズ画像を回収することと、
前記所定の閾値未満である誤差内で前記所望の画像の近似値を生成するために、第2のニューラルネットワークを使用して前記ノイズ画像に前記ハイパーパラメータを適用することと、を行わせる、システム。
【請求項10】
前記画像圧縮エンジンが、前記第1のニューラルネットワークの前記動作を加速するための専用の2D畳み込みプロセッサをさらに含む、請求項9に記載のシステム。
【請求項11】
前記画像復元エンジンが、前記第2のニューラルネットワークの前記動作を加速するための専用の2D畳み込みプロセッサをさらに含む、請求項9に記載のシステム。
【請求項12】
ニューラルネットワークを利用する損失画像およびビデオ圧縮ならびに伝送のための方法であって、
第1のコンピューティングデバイスにおいて、所望の画像を受信するステップと、
前記第1のコンピューティングデバイスを使用して、ノイズ画像を回収するステップと、
第1のニューラルネットワークを使用してハイパーパラメータを求めるために、前記第1のコンピューティングデバイスを使用して、前記ノイズ画像を前記所望の画像にマッピングし、そのため、前記ハイパーパラメータが、前記第1のニューラルネットワークを使用して前記ノイズ画像に適用されるとき、所定の閾値未満である誤差内で前記所望の画像の近似値を生成する、ステップと、
前記ハイパーパラメータを第2のコンピューティングデバイスに伝送するステップと、
第2のコンピューティングデバイスにおいて、前記ハイパーパラメータを受信するステップと、
前記第2のコンピューティングデバイスにおいて、前記ノイズ画像を回収するステップと、
第2のニューラルネットワークを使用して前記所定の閾値未満である誤差内で前記所望の画像の近似値を生成するために、前記第2のコンピューティングデバイスを使用して、前記ノイズ画像に前記ハイパーパラメータを適用ステップと、を含む、方法。
【請求項13】
前記画像圧縮エンジンが、前記第1のニューラルネットワークの前記動作を加速するための専用の2D畳み込みプロセッサをさらに含む、請求項12に記載の方法。
【請求項14】
前記画像復元エンジンが、前記第2のニューラルネットワークの前記動作を加速するための専用の2D畳み込みプロセッサをさらに含む、請求項12に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ圧縮の分野に関し、より具体的には、ニューラルネットワーク、例えば、非一般的なニューラルネットワークを利用する、損失画像圧縮、および/または伝送の分野に関する。
【背景技術】
【0002】
最先端技術の考察
20年余り前にインターネットの普及が開始されて以来、世界中で伝送されるデータの量は飛躍的に増加している。過去10年において、伝送されるデータの量が指数関数的に増加し続けているとしても、ビデオコンテンツは、それらのデータの増え続ける部分を占めている。少なくとも1つの調査によると、ビデオコンテンツは、2014年における世界のインターネットトラフィックの64%を占め、2019年における世界のインターネットトラフィックの最大85%を占めるように順調に進んでいる。
【0003】
伝送されるデータの量が指数関数的に増加し続け、世界のインターネットトラフィックのほとんどが、現在、ビデオコンテンツであることを考えると、ビデオ圧縮技術は、非常に重要になっている。しかしながら、既存のビデオ圧縮技術は、変化に追いついていない。現在の主要なビデオ圧縮技術であるHigh Efficiency Video Coding(HVEC、H.265としても知られている)およびそのオープンソースのライバルであるAVIは、今世紀初頭に発展したビデオ圧縮技術(すなわち、H.264/MPEG-4 AVCおよびGoogleのオープンソースのVPコーディングフォーマット)の段階的な改善である。新しいビデオ圧縮基準は、古いものと同じレベルの品質でスループットを向上させたが、そのビデオ圧縮方法は、既に収穫逓減のポイントに達し得、大幅なさらなる改善をもたらす可能性は低い。
【0004】
非一般的なニューラルネットワークを利用するための方法は、画像圧縮またはビデオフレーム圧縮のために転送されるデータの量を大幅に削減することを提供するが、本明細書に記載されるこのような方法は、単一の画像を圧縮するための最適なネットワーク構成を求めるために最適化するのに大量の時間を要する。したがって、効率をさらに改善するために、大規模なデータセット上で、場合によってはデータセンタ内の接続されたコンピューティングデバイスなどの強力なプラットフォーム上で動作および訓練することができるメタネットワークは、画像の近似値を再構築し得るニューラルネットワークの構造を迅速に求めるように訓練することができ、それによって、現在の圧縮方法でさえ現在必要とされている帯域幅の一部を利用しながら、ネットワークを越えて大量のビデオまたは画像の転送を必要とする多くの企業または機関がこれを達成することを可能にし得る。
【0005】
必要とされるのは、例えば、画像またはビデオを圧縮するのに大量の時間を要することなく、その性能が、最新の画像およびビデオ圧縮の性能を劇的に上回る画像およびビデオ圧縮のためのシステムおよび方法である。
【発明の概要】
【0006】
したがって、本発明者は、所与のノイズ画像から所望の画像を再構築する画像符号化ネットワークに必要なハイパーパラメータのセットを生成するためにメタネットワークを利用する、損失画像およびビデオ圧縮のためのシステムおよび方法を構想し、実用化した。
【0007】
好ましい実施形態によれば、メタネットワークを利用する損失画像およびビデオ圧縮のためのシステムであって、システムは、プロセッサと、メモリと、メモリに記憶された第1の複数のプログラミング命令と、を含む、メタネットワークエンジンを含み、第1の複数のプログラミング命令が、プロセッサ上で動作するときに、プロセッサに、所望の画像を受信することと、ノイズ画像を受信することと、訓練画像のセットを受信することと、訓練画像のセットの各々にノイズ画像をマッピングすることによって、訓練画像のセットの各々を再構築するために、訓練画像のセットを使用して、複数のニューラルネットワークを訓練することと、メタネットワークハイパーパラメータのセットとして、複数のニューラルネットワークの各々についてのパラメータを記憶することと、複数のニューラルネットワークの各々についての動作パラメータとして、メタネットワークハイパーパラメータのセットを使用することと、複数のニューラルネットワークを使用して、所望の画像にノイズ画像をマッピングし、複数のニューラルネットワークの各々の動作から生成された特定のフィルタに対応する第2のハイパーパラメータのセットを生成し、そのため、第2のハイパーパラメータのセットが、ニューラルネットワークを使用してノイズ画像に適用されるとき、所定の閾値未満である誤差内の所望の画像の近似値を生成することと、第2のセットのハイパーパラメータを、将来の画像マッピング動作で使用するために記憶することと、を行わせる。
【0008】
別の好ましい実施形態によれば、メタネットワークを利用する損失画像圧縮のための方法であって、方法は、所望の画像を受信するステップと、ノイズ画像を受信するステップと、訓練画像のセットを受信するステップと、訓練画像のセットの各々にノイズ画像をマッピングすることによって、訓練画像のセットの各々を再構築するために、訓練画像のセットを使用して、複数のニューラルネットワークを訓練するステップと、メタネットワークハイパーパラメータのセットとして、複数のニューラルネットワークの各々についてのパラメータを記憶するステップと、複数のニューラルネットワークの各々についての動作パラメータとして、メタネットワークハイパーパラメータのセットを使用するステップと、複数のニューラルネットワークを使用して、所望の画像にノイズ画像をマッピングし、複数のニューラルネットワークの各々の動作から生成された特定のフィルタに対応する第2のハイパーパラメータのセットを生成し、そのため、第2のハイパーパラメータのセットが、ニューラルネットワークを使用してノイズ画像に適用されるとき、所定の閾値未満である誤差内の所望の画像の近似値を生成する、ステップと、第2のセットのハイパーパラメータを、将来の画像マッピング動作で使用するために記憶するステップと、を含む。
【0009】
したがって、本発明者は、既知のノイズ画像を所望の画像にマッピングする関数として、ニューラルネットワークを利用し、画像の圧縮バージョン自体の代わりに関数のハイパーパラメータのみの転送を可能にする、損失画像およびビデオ圧縮のためのシステムおよび方法を構想し、実用化した。これは、受信システムが同じノイズ画像および同じまたは類似のニューラルネットワークを所有するという条件で、ハイパーパラメータを受信する任意のシステムによって所望の画像の高品質の近似値の再現を可能にする。所与の品質の画像を転送するために必要なデータ量は、既存の画像圧縮技術と対比して、劇的に削減される。ビデオは単に一連の画像であるため、この画像圧縮システムおよび方法の出願は、同じ画像品質に関して既存技術よりも大きな速度で画像コンテンツを転送することを可能にし、ビデオ圧縮においてもなお、すぐに最先端を超えることができることが期待される。本発明の以下の非限定的な概要は、明確にするために提供されており、以下の詳細な説明において記載される実施形態と一貫して解釈されるべきである。
【0010】
好ましい実施形態によれば、ニューラルネットワークを利用する損失画像およびビデオ圧縮ならびに伝送のためのシステムであって、第1のプロセッサと、第1のメモリと、第1のメモリに記憶された第1の複数のプログラミング命令と、を含む、画像圧縮エンジンを含み、第1の複数のプログラミング命令が、第1のプロセッサ上で動作するときに、第1のプロセッサに、所望の画像を受信することと、ノイズ画像を回収することと、ハイパーパラメータを求めるために、第1のニューラルネットワークを使用して既知のノイズ画像を所望の画像にマッピングさせることであって、ハイパーパラメータが、第1のニューラルネットワークを使用してノイズ画像に適用されるとき、所定の閾値未満である誤差内で所望の画像の近似値を生成するように、マッピングすることと、ハイパーパラメータを伝送することと、を行わせ、第2のプロセッサと、第2のメモリと、メモリに記憶された第2の複数のプログラミング命令と、を含む、画像復元エンジンを含み、第2の複数のプログラミング命令が、第2のプロセッサ上で動作するときに、第2のプロセッサに、ハイパーパラメータを受信することと、ノイズ画像を回収することと、所定の閾値未満である誤差内で所望の画像の近似値を生成するために、第2のニューラルネットワークを使用してノイズ画像にハイパーパラメータを適用することと、を行わせる、システムが、開示されている。
【0011】
別の好ましい実施形態によれば、ニューラルネットワークを利用する損失画像および伝送のための方法であって、第1のコンピューティングデバイスにおいて、所望の画像を受信するステップと、第1のコンピューティングデバイスを使用して、ノイズ画像を回収するステップと、第1のニューラルネットワークを使用してハイパーパラメータを求めるために、第1のコンピューティングデバイスを使用して、ノイズ画像を所望の画像にマッピングし、そのため、ハイパーパラメータが、第1のニューラルネットワークを使用してノイズ画像に適用されるとき、所定の閾値未満である誤差内で所望の画像の近似値を生成する、ステップと、ハイパーパラメータを第2のコンピューティングデバイスに伝送するステップと、第2のコンピューティングデバイスにおいて、ハイパーパラメータを受信するステップと、第2のコンピューティングデバイスにおいて、ノイズ画像を回収するステップと、第2のニューラルネットワークを使用して所定の閾値未満である誤差内で所望の画像の近似値を生成するために、第2のコンピューティングデバイスを使用して、ノイズ画像にハイパーパラメータを適用ステップと、を含む、方法が、開示されている。
【0012】
実施形態の態様によれば、画像圧縮エンジンは、第1のニューラルネットワークの動作を加速するための専用の2D畳み込みプロセッサをさらに含む。
【0013】
実施形態の態様によれば、画像復元エンジンは、第2のニューラルネットワークの動作を加速するための専用の2D畳み込みプロセッサをさらに含む。
【図面の簡単な説明】
【0014】
添付の図面は、様々な態様を図示し、記載とともに、態様によった本発明の原理を説明する役割を果たす。図面に図示される特定の配設は、単なる例示であり、本発明の範囲または本明細書の特許請求の範囲をいかなる方式でも限定するものと見なされるべきではないことが、当業者によって理解されるであろう。
【0015】
図1】(先行技術)HVECビデオ圧縮および類似のBPG画像圧縮方法論を図示または要約する方法図である。
図2】実施形態による、本開示の発明について使用される関数を図示する、圧縮段階から復元段階までのオブジェクトの流れを図示する図である。代替的に、図2は、好ましい実施形態の態様の実装形態のための例示的なアルゴリズムを図示し得る。
図3】好ましい実施形態による、非一般的なニューラルネットワークを利用する損失画像圧縮のためのシステムの動作において使用される高水準コンポーネントのシステム図である。代替的に、図3は、好ましい実施形態による、例示的な全体的なシステム図を示し得る。
図4】態様による、画像圧縮エンジンの(例えば、例示的な)システム図である。
図5】好ましい態様による、または実施形態による、2D畳み込み特定用途向け集積回路(「ASIC)を利用する、画像圧縮エンジン(例えば、それが画像圧縮のために利用される場合)の(例えば、別の例示的な実施形態の)システム図である。
図6】態様による、システムを通じたデータの処理および圧縮を図示するフローチャートである。
図7】態様による、システムを介したデータの処理および復元を図示するフローチャートである。
図8】好ましい実施形態による、非一般的なニューラルネットワークを利用する損失画像圧縮のためのシステムの動作において使用される高水準コンポーネントの方法図である。
図9】好ましい態様による、開示された圧縮システムを使用して、画像を1人が符号化し、1人が復号化する、2人のユーザの状態図である。
図10】好ましい実施形態による、画像圧縮への非一般的なアプローチにおける結果から、学習する複数の画像とは対照的に、単一の画像を有するニューラルネットワークを訓練することを図示する方法図である。
図11】画像圧縮エンジンに入り、静止画像(またはノイズ画像)が初期非静止画像(または初期非ノイズ画像)にほぼ変換されることを可能にするパラメータが識別されて、静止画像(またはノイズ画像)から元の画像の近似値を再生成するために、ネットワークを越えて第2のシステムに中継される、線画画像および静止画像(またはノイズ画像)を図示する図である。
図12】好ましい態様による、画像を復元するために使用される画像圧縮エンジンのシステム図である。代替的に、図12は、実施形態による、画像を復元するために使用される画像復元エンジンのシステム図を示し得る。
図13】特化された2D畳み込み特定用途向け集積回路(「ASIC」)を利用する画像圧縮エンジンのシステム図である。代替的に、図13は、特化された2D畳み込み特定用途向け集積回路(「ASIC」)を利用する画像復元エンジンのシステム図を示し得る。
図14】好ましい実施形態による、画像またはビデオ圧縮、および復元を達成するためにメタネットワークを使用するシステムの動作において使用される高水準コンポーネントのシステム図である。
図15】好ましい実施形態による、訓練画像のセットでメタネットワークを訓練するために使用され、ノイズ画像を入力画像の近似値に変換するために使用され得るフィルタを圧縮して求めるために使用される、メタネットワークエンジンのシステム図である。
図16】実施形態による、特定のニューラルネットワーク構成を利用するシステムへの復元のためのデータを訓練、圧縮、および送信するためにメタネットワークを利用する損失圧縮のためのシステムのデータフロー図である。
図17】実施形態による、ノイズ画像に適用される畳み込みフィルタのシーケンスを生成し、画像を入力画像の近似値に漸進的に変換するために、メタネットワーク内で互いに通信する多数の個々のネットワークのシステム図である。
図18】メタネットワークを使用する画像およびビデオの損失圧縮のために必要なステップを図示する方法図である。
図19】実施形態による、画像符号化ネットワークfのニューラルネットワークハイパーパラメータ予測のために、メタネットワーク内の単一のネットワークが画像のセットを訓練し、関数gの一部として動作するネットワークを生成するために実行するステップのフローチャートである。
図20】実施形態による、消失勾配問題を緩和するのに役立つ、静止画像を変換するための漸進的フィルタをクロス訓練および発展する目的のためにメタネットワーク内で通信する多数のネットワークのプロセスのフローチャートである。
図21】コンピューティングデバイスの例示的なハードウェアアーキテクチャを図示するブロック図である。
図22】クライアントデバイスのための例示的な論理アーキテクチャを図示するブロック図である。
図23】クライアント、サーバ、および外部サービスの例示的なアーキテクチャ配設を示すブロック図である。
図24】コンピューティングデバイスの例示的なハードウェアアーキテクチャを図示する別のブロック図である。
【発明を実施するための形態】
【0016】
本発明者は、メタネットワークを利用する損失画像およびビデオ圧縮のためのシステムならびに方法を構想し、実用化した。
【0017】
また、本発明者は、所望の画像を既知のノイズ画像にマッピングする関数として、ニューラルネットワークを利用し、画像の圧縮バージョン自体の代わりに関数のハイパーパラメータのみの転送を可能にする、損失画像およびビデオ圧縮のためのシステムおよび方法を構想し、実用化した。これは、受信システムが同じノイズ画像および類似のニューラルネットワークを所有するという条件で、ハイパーパラメータを受信する任意のシステムによって所望の画像の高品質の近似値の再現を可能にする。所与の品質の画像を転送するために必要なデータ量は、既存の画像圧縮技術と対比して、劇的に削減される。ビデオは単に一連の画像であるため、この画像圧縮システムおよび方法の出願は、単一の画像の場合と同様にビデオに対しても同様に働き、同じ画像品質に関して既存の技術よりも大きな速度でビデオコンテンツの転送をやがて可能にし得る。
【0018】
1つ以上の異なる態様が、本出願において記載され得る。さらに、本明細書に記載される態様の1つ以上について、多数の代替的配設が記載され得、これらは、例示的な目的のみのために提示され、本明細書に包含される態様または本明細書に提示される特許請求の範囲をいかなる方式でも限定するものではないことを理解されたい。1つ以上の配設は、本開示から容易に明らかであり得るように、多数の態様に広く適用可能であり得る。概して、配設は、当業者が1つ以上の態様を実践することを可能にするのに十分な詳細が記載されており、他の配設が利用され得、構造的、論理的、ソフトウェア的、電気的、および他の変更が特定の態様の範囲から逸脱することなく行われ得ることを理解されたい。本明細書に記載される態様のうちの1つ以上の特定の特徴は、本開示の一部を形成し、例示として、態様のうちの1つ以上の具体的な配設を示す1つ以上の特定の態様または図面を参照して記載され得る。しかしながら、このような特徴は、それらが参照して記載される1つ以上の特定の態様または図面における使用に限定されないことを理解されたい。本開示は、態様の1つ以上の全ての配設の文字通りの記載でも、全ての配設に存在しなければならない態様の1つ以上の特徴の一覧でもない。
【0019】
本特許出願において提供されるセクションの見出しおよび本特許出願の名称は、便宜上のものに過ぎず、いかなる方式においても本開示を制限するものとはみなされない。
【0020】
他に明示的に指定されていない限り、互いに通信しているデバイスは、互いに連続して通信している必要はない。加えて、互いに通信しているデバイスは、論理的または物理的な1つ以上の通信手段または仲介役を介して直接的または間接的に通信し得る。
【0021】
互いに通信している様々なコンポーネントを有する態様の記載は、このようなコンポーネントが全て必要であることを意味しない。それに反して、多種多様な任意選択的なコンポーネントは、多種多様な可能な態様を例示し、1つ以上の態様をより完全に例示するために記載され得る。同様に、プロセスステップ、方法ステップ、アルゴリズムなどは、連続した順序で記載され得るが、このようなプロセス、方法、およびアルゴリズムは、特に反対に述べられない限り、概して、代替の順序で働くように構成され得る。換言すれば、本特許出願に記載され得るステップの任意のシーケンスまたは順序は、それ自体が、ステップがその順序で実行されるという要件を示していない。記載されたプロセスのステップは、任意の実用的な順序で実行され得る。さらに、いくつかのステップは、同時に発生しないと記載または暗示されているにもかかわらず(例えば、1つのステップが他のステップの後に記述されているため)、同時に実行され得る。さらに、図面におけるその描写によるプロセスの図示は、図示されたプロセスが他の変形例およびその修正例を除外していることを意味するものではなく、図示されたプロセスまたはそのステップのいずれかが態様の1つ以上に必要であることを意味するものではなく、図示されたプロセスが好ましいことを意味するものではない。また、ステップは、概して、態様ごとに1回記載されるが、これは、それらが1回発生しなければならないことを意味するものではなく、プロセス、方法、またはアルゴリズムが実行(carry out)または実行(execute)されるたびに1回のみ発生し得ることを意味するものではない。いくつかのステップは、いくつかの態様またはいくつかの生起において省略され得、またはいくつかのステップは、所与の態様または発生において複数回実行され得る。
【0022】
単一のデバイスまたは物品が本明細書において記載されるときに、単一のデバイスまたは物品の代わりに、1つより多くのデバイスまたは物品が使用され得ることは、容易に明らかになるであろう。同様に、1つより多くのデバイスまたは物品が本明細書において記載される場合、1つより多くのデバイスまたは物品の代わりに、単一のデバイスまたは物品が使用され得ることは、容易に明らかであろう。
【0023】
デバイスの機能性または特徴は、代替的に、このような機能性または特徴を有すると明示的に記載されていない、1つ以上の他のデバイスによって具現化され得る。したがって、他の態様は、デバイス自体を含む必要はない。
【0024】
本明細書に記載または参照される技術および機構は、明確にするために単数形で記載され得る。しかしながら、特定の態様は、別段の定めのない限り、技術の多数の反復または機構の多数のインスタンス化を含み得ることを理解されたい。図におけるプロセス記載またはブロックは、プロセスにおける具体的な論理機能またはステップを実装するための1つ以上の実行可能命令を含むモジュール、セグメント、またはコードの一部を表すものとして理解されるべきである。代替の実装形態は、例えば、機能が、当業者に理解されるように、関与する機能性に応じて、実質的に同時にまたは逆の順序を含む、示されまたは考察されたものから順番に実行され得る様々な態様の範囲内に含まれる。
【0025】
定義
本明細書で使用される場合、「人工知能」または「AI」は、学習、問題解決、および意思決定などの人間の知能と関連付けられる認知機能のいくつかの態様または(複数の)態様を模倣するようにプログラムされたコンピュータシステムまたはコンポーネントを意味する。現在のAIテクノロジーの例は、人間の音声の理解、チェスおよびGo(碁)などの戦略的なゲームでの競争、車両の自律運転、複雑なシミュレーション、画像およびビデオなどの複雑なデータの解釈などを含む。
【0026】
本明細書で使用される場合、「関数」、「画像変換関数」、「画像変換ネットワーク」、および「画像変換ニューラルネットワーク」は、画像を変換する、または画像の近似値を再作成するための関数としてのニューラルネットワークの使用を意味する。変換は、ノイズ画像(例えば、入力ノイズ画像)をターゲット画像にマッピングすること、およびハイパーパラメータとも称され得る関数内の様々な変数の重みの調整に基づいている。ハイパーパラメータはまた、画像の近似値を再作成するために、ノイズ画像とともに関数への入力として使用され得る。
【0027】
本明細書で使用される場合、ハイパーパラメータは、指定された誤差範囲内でノイズ画像をターゲット画像(または、所望の画像)にマッピングする関数のパラメータを意味する。画像がソース位置においてマッピングのための関数に入力するとき、ハイパーパラメータは、出力される。次いで、ハイパーパラメータは、宛先位置に転送され得、ここで、ハイパーパラメータは、同じノイズ画像を有する同じ(または類似の)関数への入力となり、関数の出力は、宛先位置における所望の画像の近似値となる。(例において、機能的符号化用語(本明細書の例において使用される)で使用される「ハイパーパラメータ」という用語は、機械学習用語において使用される「重み」または「重みパラメータ」という用語に相当することに留意されたい)。
【0028】
本明細書で使用される場合、「目標画像」は、「ターゲット画像」または「所望の画像」または「画像」とも互換的に称され、画像のデジタル表現を意味する。このデジタル表現は、既に多数存在する任意の画像ファイルフォーマットであり得る。画像ファイルは、一般的に、ラスターベースのフォーマット(すなわち、画素のコンテンツまたは画像のエリアが指定されるフォーマット)またはベクターベース(すなわち、具体的な画素、エリア、または画像サイズに関係なく、形状およびそれらの関係が指定されるフォーマット)のいずれかとして分類される。例示的な目的のために、ラスターベースのフォーマットの非網羅的および非限定的なリストは、Microsoft Windowsのビットマップ(bmp)と、CompuServeのGraphics Interchange Format(gif)と、Joint Photographic Experts GroupのJFIFフォーマット(jpgまたはjpeg)と、Portable Graphics Network(png)と、Tagged Image File Format(tifまたはtiff)と、を含む。例示的な目的のために、ベクターベースのフォーマットの非網羅的および非限定的なリストは、Adobe Illustrator File(ai)と、CorelDRAW Image File(cdr)と、Scalable Vector Graphics File(svg)と、Microsoft Visio Drawing File(vsd)と、を含む。
【0029】
本明細書で使用される場合、「画像変換」は、任意の画像、または空白もしくは「空の」画像ファイルを任意の他の画像に変換することの行為を意味する。これは、具体的な画素の変更、数学的方程式に基づくベクトルグラフィックスの使用(例えば、画像自体が所与の解像度で具体的な画素によって表されるのではなく、方程式で指定されるため、画像自体のズームに関係なく完璧な解像度をもたらす方程式で曲線をグラフ化すること)、または境界検出および変更のためなどの画素のグループを調べて変更することを含む任意の組み合わせにおける多数の異なる技術によって行われ得る。画像中のデータの画素の位置を変更するが、それ以外の場合、例えば、画像を回転させるなど、データを変更しないようにすることは、画像変換の別の例である。
【0030】
本明細書で使用される場合、「機械学習」は、コンピュータシステムまたはコンポーネントが、その動作または理解を明示的にプログラムされることなく修正することができる、人工知能の態様である。機械学習アルゴリズムは、訓練セットとしてそれらに送られた情報に基づいて行動または理解のモデルを発展し、新しい受信情報に基づいてそれらのモデルを修正することができる。機械学習アルゴリズムの例は、Go(碁)のゲームで人間の世界チャンピオンを打ち負かした最初のコンピュータプログラムであるAlphaGoである。AlphaGoは、Go(碁)をプレイするように明示的にプログラミングされていなかった。それは、何百万ものGo(碁)のゲームが与えられ、ゲームおよびプレイの戦略の独自のモデルが発展された。
【0031】
本明細書で使用される場合、「ニューラルネットワーク」は、外部入力に対するそれらの動的状態応答によって情報を処理する、いくつかの単純で高度に相互接続された処理要素から構成される計算モデル、アーキテクチャ、またはシステムを意味し、したがって、パターンまたは傾向を認識することによって情報を「学習」することができる。「人工ニューラルネットワーク」としても知られることがあるニューラルネットワークは、哺乳類の脳などの生物学的ニューラルネットワークの構造および機能の私たちの理解に基づいている。ニューラルネットワークは、機械学習アルゴリズムの適用のための枠組みである。
【0032】
本明細書で使用される場合、「静止画像」または「ノイズ画像」とも称される「静止ノイズ画像」は、ランダムまたは疑似ランダムコンテンツを有する画像を意味する。いくつかの実施形態において、ランダムまたは疑似ランダムコンテンツは、画素レベルであるか、または画素のグループ、エリア、または領域のレベルである。いくつかの実施形態において、ランダムまたは疑似ランダムコンテンツは、その画素について黒または白のいずれかを表す画素ごとの単一ビットを含み得る。いくつかの実施形態において、画像のランダム性特性は、その特性の一部として、2D最大情報エントロピー、またはShannon Entropyであり得る。Shannon Entropyは、所与の統計モデルが有することができる、ランダム性または可能な情報の量をビットで表すことを指す。例えば、単一のコインフリップが、1ビットで表される0(裏(tails))または1(表(heads))の値を有するので、(1回の)コインフリップは、1の情報エントロピーまたはShannon Entropyを有する一方、m回のコインフリップは、mのエントロピー値を有する。所与のオブジェクトのエントロピー値が高いほど、その状態を予測することは困難になり得る、可能性のある状態が多くなるが、多くの可能性のある状態に変換して、別の状態の推定値、例えば、別の画像の近似値に変換することを獲得するための可鍛性が高くなる。いくつかの実施形態において、ランダムまたは疑似ランダムコンテンツは、グレースケールまたは色情報をさらに含み得る。いくつかの実施形態において、ランダムまたは疑似ランダムコンテンツは、ビットマップまたは画素の代わりに、ベクトルグラフィックスまたは画像表現の他の形式を含み得る。
【0033】
本明細書で使用される場合、「ビデオ」は、動きを表す画像のシーケンスのデジタル表現を意味する。このデジタル表現は、既に多数存在する任意のビデオファイルフォーマットであり得る。ビデオファイルは、典型的には、「コンテナ」にコード化されたビデオ(可視)データおよびオーディオ(可聴)データを包含する。この出願は、主にビデオファイルのビデオデータ部分に関連している。例示的な目的のために、ビデオフォーマットの非網羅的および非限定的なリストは、Audio Video Interleave(avi)と、Motion Pictures Expert Group(mpg、mpeg、mp2、mp4など)と、Appleのビデオフォーマット(m4v)と、Windows Media Video(wmv)と、を含む。
【0034】
概念的アーキテクチャ
図1(先行技術)は、HEVCビデオ圧縮および類似のBPG画像圧縮方法論を図示または要約する方法図である。まず、画像またはビデオファイルは、データファイルが、HEVCビデオファイル圧縮の場合、ビデオのフレームを通じて変化しないままのフレーム内チャンクで符号化される(120)前に、圧縮コーデックまたは圧縮エンジンに入力され(110)、これは、画素のグループ化が変化しない、または変化が非常に少ないビデオのフレーム間で、そのグループ化がビデオの多数のフレームで再符号化されない(130)ことを意味し、それによって、フレーム内のわずかな動きの損失のみでビデオのサイズを小さくする。HEVCビデオフォーマットのためのビデオではなく静止画像のためのBPGフォーマットの場合において、静止画像(130)内の画素群について色深度を含む類似のデータのクラスタが維持され、等しいサイズの画像に必要とされるデータの減少を表し、ビデオおよび静止画像の両方について類似の技術を使用して圧縮されたフォーマットとなる(140)。
【0035】
図2は、好ましい実施形態の態様の実装形態のための例示的なアルゴリズムを図示する図である。このアルゴリズムにおいて、所望の画像201およびノイズ画像203は、関数f202に入力される。関数f202は、ノイズ画像203を所望の画像201にマッピングするように構成されたニューラルネットワークである。関数f202の出力は、指定された誤差範囲内で、ノイズ画像202を所望のまたはターゲット画像201にマッピングするハイパーパラメータP204、または、関数f202の「重み」のセットである。このアルゴリズムについての数式は、
【0036】
I、N、εが与えられると、以下のようにしてθを求める。
【0037】
【数1】
式中、f(θ|N):=I’とh(I’,I)≦ε
【0038】
アルゴリズムは、概して、以下のように記載され得る。幅W、高さH、および深さCを有するカラー画像I(ターゲットまたは所望の画像201に対応する)が与えられると、既知の関数f202のハイパーパラメータθを微調整することによって、サイズW×H×Cの与えられた最大エントロピー画像NとIとの間のマッピングを求め得るアルゴリズム220が存在する。しかしながら、このようなアルゴリズムは、元の画像の近似値を再構築することのみが可能であり、定義された閾値εまでの誤差を許容する。アルゴリズム220は、画素単位の平均二乗誤差関数などの、様々な可能な画像比較関数のうちの1つであり得る関数hを通じて、2つの画像間の誤差を測定する。全ての画像Iについて、上記のステートメントが真であるようにθを有するf202が存在する場合、{f、θ、N}の3ビットバイト(triplet)を介して全ての画像をほぼ表すことが可能である。関数f202が固定され、その入力Nの場合、I’を作成するために欠けているのは、θだけである。θのファイルサイズがIのファイルサイズより小さい場合、アルゴリズムは、近似目標画像I’207を取得するために宛先/受信側のf205にノイズ画像206およびパラメータθ204を入力してことによって、宛先デバイスで3ビットバイト(triplet){f、θ、N}からI’を作成するために、サイズファイルサイズ(θ)のビットストリームを有するθを送信する必要だけであるため、損失圧縮Iを正常に有する。
【0039】
しかしながら、効率的にθを求める関数fをどのように選ぶかはすぐには明らかではない。解決策は、畳み込み→バイアス→非線形性→繰り返しの典型的な構造を有するニューラルネットワークを関数fとして使用することである。ニューラルネットワークを関数fとして使用することによって、Iが与えられた場合のハイパーパラメータθを求めるための解決策は、例えば、確率的勾配降下法(SGD)を使用して解決することができる機械学習訓練問題になる。要するに、SGDは、誤差関数hを最小化するハイパーパラメータ(別名、重み)を学習するために使用されるので、Iについてθを取得している。
【0040】
ハイパーパラメータθ204がニューラルネットワーク202から出力された後、それらは、所望の画像I207の近似値を生成するために、同一のノイズ画像206の別個のインスタンスとともに、同じまたは類似のニューラルネットワーク205の別個のインスタンスに入力され得る。このようにして、システムは、入力として受信されるものに応じて、ハイパーパラメータθ204または画像I207の近似値のいずれかに応じて、2つのオブジェクトのうちの1つを生成することによって、圧縮器および復元器として動作する。復元ニューラルネットワーク205および関連データなどのこれらのオブジェクトのインスタンスは、異なるコンピュータで動作し得、例えば、所望の画像I201、関数f202、およびノイズ画像203を所有する第1のネットワークエンドポイントは、スマートフォン、ラップトップ、または他のコンピューティングデバイスなどの1つのコンピュータで動作し得る一方、別の関数f205、ノイズ画像206は、ネットワークを越えて、可能であるが、必ずしもそうではない別のコンピューティングデバイス上に存在し得る。例えば、2つのコンピュータ間のネットワークを越えるのではなく、ポータブルメモリデバイスを介してファイルを転送されることが可能である。伝送のいずれかの端にあるニューラルネットワークの異なるインスタンスが同一である必要はないことに注意することが重要である。同様に機能するニューラルネットワークは、そのアーキテクチャ、プログラミング、または他の特性が異なる場合でも、許容可能な解決策を生成する。
【0041】
図3は、好ましい実施形態による、例示的な全体的なシステム図である。ラップトップもしくはデスクトップコンピュータ、携帯電話、ワークステーション、またはネットワーク対応コンピューティングデバイスの何らかの他の様式であり得る、ネットワークエンドポイント301は、インターネットなどのネットワーク306を越えて接続され得、所望の画像I304およびノイズ画像N305を所有する。ネットワークエンドポイント301では、両方の画像は、ネットワークエンドポイント301によって直接アクセス可能な画像圧縮エンジン303の入力として使用され得る。所望の画像I304は、.JPG/.JPEG、.PNG、.BMP、または他のフォーマットを含む多くの画像フォーマットのうちの1つであり得、その具体的なフォーマットは、適用される新しいフォーマットが識別され、将来説明され得るため、本発明にとって重要ではない要素である。静止ノイズ画像N305は、同様に、多くのフォーマットのうちの1つであり得、システムの全ての実装形態で使用される単数の変化しない画像であり得、またはいくつかの可能な画像のうちの1つであり得、ネットワークエンドポイント307もしくは画像を包含するいくつかの他のソースのいずれであっても、別のソースから入力としてシステムに送信され得る。いくつかの実施形態において、静止ノイズ画像N305は、必要に応じて他の画像への変換に使用され得る、最も高い2D Shannon Entropyを有する画像を表す。画像圧縮エンジン303は、ネットワークエンドポイント301上に存在するエンジンであり、ネットワークエンドポイント301は、所望の画像I304と静止ノイズ画像N305を入力としてとり、画像変換関数202を実行して、ノイズ画像N350に適用されると、所望の画像I304の近似値I’(「I-プライム」と読み取られ、Iの近似値を示す)310の再現を可能にする関数202のためのハイパーパラメータを生成し得る。具体的には、宛先エンドポイント307は、静止ノイズ画像311を入力としても使用して、画像復元エンジン309の別のインスタンスに入力するためのハイパーパラメータ308を受信し得、それは、所望の画像I304の近似値310、I’を生成することを可能にする。
【0042】
図4は、好ましい実施形態による、画像圧縮エンジン303の例示的なシステム図である。図3に示されるように、それぞれ最大エントロピーノイズ画像および圧縮されるべき初期画像を表すノイズ画像N305およびゴール画像I304は、プロセッサ430に入力される。プロセッサ430は、算術および論理演算を処理するために使用される一般的なコンピューティングデバイスであり、当該技術分野において一般的に知られている。プロセッサ430は、プロセッサ430によってアクセスされるデータの短期記憶のために、一般にランダムアクセスメモリ(「RAM」)として知られる揮発性メモリ440の少なくとも単一ビットとの双方向通信を有し、プロセッサが、RAM内のデータを変更し、独自のプロセスを変更するためにRAM内のデータを使用する。これは、現代のコンピューティングにおいて鍵となる相互作用の1つとして一般的に理解されている。プロセッサ430はまた、ノイズ画像305およびゴール画像304からの入力データを処理するために機械学習アルゴリズム420ための枠組みとして動作する、アルゴリズム220内の関数fとして動作する、ニューラルネットワーク410と通信する。図2のアルゴリズム220を使用して、入力画像304がほぼ再作成された後、ニューラルネットワーク410のハイパーパラメータ302は、宛先エンドポイントに伝送すること、ハードドライブもしくは外部メモリデバイスに保存すること、または圧縮画像のための他の一般的な使用を含む、さらなる使用のためにネットワークエンドポイント301に出力される。
【0043】
図5は、実施形態による、2D畳み込み特定用途向け集積回路(「ASIC」)560を利用する、画像圧縮エンジン500の別の例示的な実施形態のシステム図である。この実施形態において、2D畳み込みASIC560は、システムが画像を完全に圧縮するために必要な処理時間を削減するために、利用される。図3に示されるように、それぞれ最大エントロピーノイズ画像および圧縮されるべき初期画像を表すノイズ画像N305およびゴール画像I304は、プロセッサ530に入力される。プロセッサ530は、算術および論理演算を処理するために使用される一般的なコンピューティングデバイスであり、当該技術分野において一般的に知られている。プロセッサ530は、プロセッサ530によってアクセスされるデータの短期記憶のために、一般にランダムアクセスメモリ(「RAM」)として知られる揮発性メモリ540の少なくとも単一ビットとの双方向通信を有し、プロセッサが、RAM内のデータを変更し、独自のプロセスを変更するためにRAM内のデータを使用する。これは、現代のコンピューティングにおいて鍵となる相互作用の1つとして一般的に理解されている。2D畳み込みASIC511はまた、畳み込みニューラルネットワーク510データの特化された処理を他の方法で達成され得るよりもはるかに速く扱うために、システムプロセッサ530およびメモリ540の両方と双方向に通信する。プロセッサ530はまた、ノイズ画像305およびゴール画像304からの入力データを処理するために機械学習アルゴリズム520ための枠組みとして動作する、アルゴリズム220内の関数fとして動作する、ニューラルネットワーク510と通信する。図2のアルゴリズム220を使用して、入力画像304がほぼ再作成された後、ニューラルネットワーク510のハイパーパラメータ302は、宛先エンドポイントに伝送すること、ハードドライブもしくは外部メモリデバイスに保存すること、または圧縮画像のための他の一般的な使用を含む、さらなる使用のためにネットワークエンドポイント301に出力される。
【0044】
図6は、態様による、システムを通じたデータの処理および圧縮を図示するフローチャートである。所望の画像Iは、システムに入力され得(601)、これは、システムがノイズ画像を特定のハイパーパラメータに変換しようと試みる画像である。システムが既に静止ノイズ画像305を所有するかどうかに関して、正または負の結果のいずれかをもたらし得る、ノイズ画像についてのチェックが、実行される(602)。システム内に現在存在する静止ノイズ画像が存在しない場合、ノイズ画像は、静止ノイズ画像を所有し得るネットワークエンドポイント307を通じてシステムに入力され得(603)、または自動的に生成され得、または何らかの他のソースから来る。静止ノイズ画像が既に存在する場合、または、それが受信された後、もしくはシステムに入力された(603)後、システムは、静止ノイズ画像N305および所望の画像I304の両方がシステム内に存在する状態にある。この時点で、静止ノイズ画像N305に適用するために画像変換関数fは、利用または実行され得(604)、変換の結果は、近接性が誤差値εによって定義された、所望の画像Iへの近接性についてチェックされ(605)、ニューラルネットワークのハイパーパラメータは、出力され(607)、およびシステムは、実行を終了し、新しい入力画像を受信して実行を再開するための(601)準備をする。ノイズ画像N305上で動作する画像変換関数f410が、所望の画像I304に十分に近い結果をもたらさない場合、次いで、ニューラルネットワーク410は、出力が画像I304に十分に近くなるまで(605)、より近い結果を生成しようと試みるために、変換ニューラルネットワークf410の変更可能なハイパーパラメータθ302を変更し得る(606)。
【0045】
図7は、態様による、システムを通じたデータの処理および圧縮を図示するフローチャートである。まず、ハイパーパラメータは、受信され、ノイズ画像の所望の画像への画像変換および畳み込みを決定するために、ニューラルネットワーク410に適用する、画像圧縮エンジンに入力する(701)。システムは、静止ノイズ画像Nが存在することを確認するためにチェックされ(702)、ノイズ画像が存在しない場合、このような画像は、変更可能なハイパーパラメータθと同じソースから送信され得、または別のシステムによって挿入され、もしくはシステム自体上のユーザによって手動で入力され得る、システムに入力される(703)。ノイズ画像Nがシステムに挿入された(703)後、またはノイズ画像が既に存在する場合、例えば、ノイズ画像が本開示の全ての実装形態にわたって静的であり、同一である場合、画像変換関数fが実行され得るが、図6のような入力ハイパーパラメータを有しない代わりに、ハイパーパラメータは既にシステムに入力され(701)、静止ノイズ画像305は、出力(705)の前に、所望の画像I304の近似値である画像I’に変換される(704)。このように、画像圧縮は、画像データ自体を変更するのではなく、画像をどのように再作成するかを指定し、画像自体を再作成するのではなく、画像を再作成する仕様を可能にし、データの優れた圧縮を確保することによって行われる。
【0046】
図8は、好ましい実施形態による、ニューラルネットワークを利用する損失画像圧縮のためのシステムの動作において使用される高水準コンポーネントの方法図である。まず、所望の画像が存在するか、または入力していなければならない(801)、この画像は、静止ノイズ画像N305にアクセスされる(802)前に、画像変換ネットワーク410で再作成されるように試みられる画像である。このノイズ画像は、変更可能なハイパーパラメータを使用して、それを所望の入力画像I304の近似値に変換することを試みるために、画像変換関数410によって利用される。ノイズ画像が静的であり、変化しない場合304に、受信またはアクセスされた後、画像変換関数f410は、実行され(803)、変更可能なハイパーパラメータθ302を利用し、ニューラルネットワーク260上で動作する機械学習アルゴリズム250のセットに供給され、結果として、入力画像I304により近い近似値を変換しようとする試みにおいて、画像変換関数fについての変更可能なハイパーパラメータθが変更される(804)、(805)。画像がノイズ画像N305の変換から生成されるとき、変更可能なハイパーパラメータθ302は、画像変換関数410、ノイズ画像305、およびハイパーパラメータ302を有するユーザが元の所望の画像304の近似値を再作成し得るように、出力する(806)。このようにして、画像は、大きく圧縮され、画像変換関数自体にアクセスすることなく、ユーザから潜在的に暗号化され得る。次いで、変更可能なハイパーパラメータθ302は、別のラップトップ、デスクトップ、もしくはワークステーションデバイス、または図5に指定されるように2D畳み込みASICを実行することの可能な他のデバイスなど、別のネットワークエンドポイント307、に送信され得る(807)。次いで、宛先ネットワークエンドポイント307は、変更可能なハイパーパラメータθ302を使用して、画像変換関数fを実行し得(808)、ニューラルネットワーク410がノイズ画像305を所望の画像I304の近似値に変換するパラメータとして(810)、変更可能なハイパーパラメータθを入力する(809)。
【0047】
図9は、開示された圧縮システムを使用して、画像を1人が符号化し、1人が復号化する、2人のユーザの状態図である。第1の状態910において、ユーザAは、所望の画像I304を有する一方、ユーザBは、画像I304を受信することを欲するが、それをまだ所有していない。これは、ファイルが最初に圧縮されることを多くの考えられる理由の1つを必要とする別のユーザ、おそらくは友人、同僚、またはサードパーティサービスに圧縮および送信するための画像を所有するユーザに類似する。第1の状態から必然的に続く第2の状態920において、訓練は、ハイパーパラメータθ302を調整して、画像変換関数が静止ノイズ画像N305を所望の画像I304の近似値に変換することを可能にするニューラルネットワーク410を用いて行われる。第2の状態から続く第3の状態930は、ユーザAが第4の状態940に進む前に、訓練から従前に記述されたようにパラメータθ302を獲得することを可能にし、第4の状態940では、ハイパーパラメータθ302がユーザAからユーザBに伝送され、第5の状態が950に到達することを可能にし、それによって、ハイパーパラメータθ302を所有するユーザBは、画像変換関数f410を利用してノイズ画像N305を所望の画像I304の近似値に変換することによって、I304を獲得し得る。
【0048】
図10は、画像圧縮への非一般的なアプローチにおける結果から、学習する複数の画像とは対照的に、単一の画像を有するニューラルネットワークを訓練することを図示する方法図である。所望の画像は、開示されたシステムにおいて従前に詳述されたように、システムに入力され(1010)、このような画像は、.BMP、.PNG、または他のものを含む多数の実行可能なフォーマットのうちの1つの任意の2次元グラフィカルファイルを含む。ニューラルネットワーク410は、画像305を変更またはスワップアウトすることなく、静止ノイズ画像N305上で使用して訓練され(1020)、一般化されたニューラルネットワークとは異なり、大きなデータセットではなく単一のデータポイント上で訓練されるネットワークを結果としてもたらす。大規模データセットをネットワークに供給するのではなく、ネットワークの枝重み(edge weights)は、ネットワークの画像変換の所与の出力が所望の画像I304にどの程度近づいたかに基づいて調整される(1030)。このようにして、訓練は、調整された重みおよびパラメータを使用して、単一のノイズ画像305上のネットワーク410上で継続される(1040)。表1050は、単一のノイズ画像上で繰り返し訓練することによって、問題の一般化された解決策に到達する従来のニューラルネットワークと、特化された訓練方法を利用し、一般的な画像変換技術を学習しない提案されるニューラルネットワーク410との間の差異および関係を図示し、ネットワークの重みおよびパラメータを、所望の画像への近似値が生成されるまで、新しい変換された画像を生成するように変更する。
【0049】
図11は、画像圧縮エンジンに入り、ノイズ画像が初期非ノイズ画像にほぼ変換されることを可能にするパラメータが識別されて、ノイズ画像から元の画像の近似値を再生成するために、ネットワークを越えて第2のシステムに中継される、実際の画像およびノイズ画像を図示する図である。サンプル画像1101および静止ノイズ画像1102は、画像圧縮エンジン303に入力される。画像1101を再作成するためのハイパーパラメータ303は、ノイズ画像1102を所望の画像1101の近似値に変換するためのニューラルネットワークの訓練を通じて案出され、ノイズ画像1102が正しい変換ステップで任意の数の画像に変換可能な最大エントロピー画像であることにより変換が可能である。画像1101を再作成するためのハイパーパラメータ302は、ネットワーク306を越えて送信され、静止ノイズ画像1102のコピー1103とともに画像復元エンジン309に送られ、所望の画像1101の近似値1104を出力する。なお、これは、同一のコピーではなく、近似値であるため、損失圧縮方法を図示し、元の画像1101と同一ではない別の画像ファイル1104を作成する。
【0050】
図12は、実施形態による、画像を復元するために使用される画像復元エンジン1200のシステム図である。画像復元エンジン1200は、画像圧縮エンジン303と同じコンポーネントを使用するが、ノイズ画像305およびハイパーパラメータ302を(例えば、プロセッサ1230を介して)受信し、近似画像I’310を出力するように構成されていることに留意されたい。図12の右手部分に示されているように、ノイズ画像N305、およびニューラルネットワーク1210の変更可能なハイパーパラメータ302は、プロセッサ1230に入力される。プロセッサ1230は、算術および論理演算を処理するために使用される一般的なコンピューティングデバイスであり、当該技術分野において一般的に知られている。プロセッサ1230は、プロセッサ1230によってアクセスされるデータの短期記憶のために、一般にランダムアクセスメモリ(「RAM」)として知られる揮発性メモリ1240の少なくとも単一ビットとの双方向通信を有し、プロセッサが、RAM内のデータを変更し、その独自のプロセスを変更するためにRAM内のデータを使用する。これは、現代のコンピューティングにおいて鍵となる相互作用の1つとして一般的に理解されている。プロセッサ1230はまた、ノイズ画像305、および、復元の目的のために、従前のニューラルネットワークのゴール画像304の圧縮のハイパーパラメータθ302からの入力データを処理するために機械学習アルゴリズム1220のための枠組みとして動作する、アルゴリズム220内の関数fとして動作する、ニューラルネットワーク1210と通信する。ハイパーパラメータθ302がプロセッサ1230に入力された後、プロセッサは、これらのハイパーパラメータを組み込んで使用するようにニューラルネットワーク1210に指示し、図2のアルゴリズム220を使用して、ノイズ画像305を入力画像304の近似値310に変換するときにネットワークの動作を指示し、近似画像I’310は、宛先エンドポイントに伝送すること、ハードドライブまたは外部メモリデバイス上に保存すること、または現在の非圧縮画像のための他の一般的な使用を含む、さらなる使用のためにネットワークエンドポイント307に出力される。
【0051】
図13は、実施形態による、特化された2D畳み込み特定用途向け集積回路(「ASIC」)1311を利用する一方、復元のために使用される画像復元エンジン1310の配設の代替的な実施形態のシステム図である。画像復元エンジン1300は、画像圧縮エンジン309と同じコンポーネントを使用するが、ノイズ画像305およびハイパーパラメータ302を受信し、近似画像I’310を出力するように構成されていることに留意されたい。図3の右手部分に示されているように、ノイズ画像N305、およびニューラルネットワーク1310の変更可能なハイパーパラメータ302は、プロセッサ1330に入力される。プロセッサ1330は、算術および論理演算を処理するために使用される一般的なコンピューティングデバイスであり、当該技術分野において一般的に知られている。プロセッサ1330は、プロセッサ1330によってアクセスされるデータの短期記憶のために、一般にランダムアクセスメモリ(「RAM」)として知られる揮発性メモリ1340の少なくとも単一ビットとの双方向通信を有し、プロセッサが、RAM内のデータを変更し、その独自のプロセスを変更するためにRAM内のデータを使用する。これは、現代のコンピューティングにおいて鍵となる相互作用の1つとして一般的に理解されている。2D畳み込みASIC1311はまた、畳み込みニューラルネットワーク1310データの特化された処理を他の方法で達成され得るよりもはるかに速く扱うために、システムプロセッサ1330およびメモリ1340の両方と双方向に通信する。プロセッサ1330はまた、ノイズ画像305、および、復元の目的のために、従前のニューラルネットワークのゴール画像304の圧縮のハイパーパラメータθ302からの入力データを処理するために機械学習アルゴリズム1320のための枠組みとして動作する、アルゴリズム220内の関数fとして動作する、ニューラルネットワーク1310と通信する。ハイパーパラメータθ302がプロセッサ1330に入力された後、プロセッサは、これらのハイパーパラメータを組み込んで使用するようにニューラルネットワーク1310に指示し、図2のアルゴリズム220を使用して、ノイズ画像305を入力画像304の近似値310に変換するときにネットワークの動作を指示し、近似画像I’310は、宛先エンドポイントに伝送すること、ハードドライブまたは外部メモリデバイス上に保存すること、または現在の非圧縮画像のための他の一般的な使用を含む、さらなる使用のためにネットワークエンドポイント307に出力される。
【0052】
既知のノイズ画像を所望の画像に効果的にマッピングするために単一のニューラルネットワークを訓練することは、(例えば、最急勾配降下)に基づく通常の訓練方法を使用して、圧縮される所望の各画像について達成するために、典型的には、高度に最適化されたグラフィカルプロセッシングユニット(GPU)ベースの機械が何時間もかかるため、所与の所望の画像についてfの重みを効率的に決定するための異なる方法を求めることが重要である。ある態様によれば、本発明者らは、恣意的精度(FにNを適用することによって得られる出力画像が、fのそれぞれの重みを生成するために使用される入力画像とどれだけ密接に一致するかという意味で)により、fについての重みを、以下に記載されるメタネットワークを通る単一のパスで生成することが可能であると決定した。具体的には、所望の画像Iおよび既知のノイズ画像Nをメタネットワークを用いて関数gへ入力として渡すことによって、fに対する重みは、図14~17を参照して以下に記載されるように、1回のパスで取得される。より正確には、本発明者らは、図17に示されるように配設されたメタネットワークが、画像の実行時間圧縮に関して大幅に増加した符号化効率を論証したことを示している。具体的には、ハイエンドGPUでのSGDを介した訓練は、6時間より多くかかった。それとは対照的に、gの実行時間は、類似のハードウェアでは1秒未満であり、特化されたハードウェア(ハードウェアベースの最適化された畳み込み段階など)であれば、100ミリ秒未満であり得る。
【0053】
図14は、好ましい実施形態による、画像またはビデオ圧縮、および復元を達成するためにメタネットワークを使用するシステムの動作において使用される高水準コンポーネントのシステム図である。図14の左に示されるように、所与のゴール画像I304は、静止(すなわち、既知であり、変化しない)ノイズ画像N305とともに、メタネットワークエンジン1410に提供される。メタネットワークエンジン1410は、具体的な特徴またはカラースペクトル(例えば、3つのネットワークメタネットワークにおいて、各ネットワークは、画像内の赤色、青色、および緑色のカラーバンドの各々のうちの1つに焦点を合わせ得る)など、ゴール画像I304の一部分に各々処理を実行する複数の単一のニューラルネットワークを含む「ニューラルネットワークのネットワーク」を含む。メタネットワークエンジン1410は、その内部の単一のネットワーク間の畳み込み訓練を使用して、ノイズ画像305からゴール画像304(または、その恣意的類似の再現)を再構築するために、任意の所与の画像復元エンジン309に適切なハイパーパラメータのセットθ302に到達する。このハイパーパラメータのセット302は、次いで、例えば、多くのクライアントが(例えば、写真またはビデオストリーミングサービスに有用であり得、同じコンテンツが多数の宛先に繰り返し送信されるように)計算されたハイパーパラメータの単一のセットからゴール画像304を再構築することを可能にするために、将来の使用を繰り返すために記憶され得、1つのエンドポイント301から別のエンドポイント307にネットワーク306を介して送信され得る。ネットワーク宛先では、受信したハイパーパラメータ308のセットが、ノイズ画像I311とともに入力として画像復元エンジン309に提供され、画像復元エンジン309がゴール画像の合理的に閉じた再現を生成し得るように、再作成された画像はI’310として示される。
【0054】
図15は、好ましい実施形態による、訓練画像のセットでメタネットワークを訓練するために使用され、ノイズ画像を入力画像の近似値に変換するために使用され得るフィルタを圧縮して求めるために使用される、メタネットワークエンジン1410のシステム概要図である。実施形態によれば、所与のゴール画像I304は、入力として静止ノイズ画像N305とともに、メタネットワークエンジン1410に提供される。メタネットワークエンジン1410は、訓練および変換プロセスと関連付けられた機械学習タスクを実行するためのプロセッサ1540とメモリ1559とを含む。ニューラルネットワーク1510は、動作のための適切なハイパーパラメータのセットに到達するために、機械学習アルゴリズム1520を使用して、訓練画像1530上で訓練し、ハイパーパラメータは、メタネットワークエンジン1410が、N305およびI304の入力が与えられた場合、ターゲット画像符号化ネットワークに記憶および伝送するための変更可能なハイパーパラメータのセット302を作成するために必要なハイパーパラメータのセットを含む。換言すれば、訓練によって決定されるハイパーパラメータのセットは、メタネットワークの動作のために使用されるセットであり、上記動作(正しい、訓練されたハイパーパラメータのセットが与えられた場合)は、次いで、ノイズ305およびターゲット304画像から所望のハイパーパラメータのセット302を生成する。
【0055】
図16は、実施形態による、特定のニューラルネットワーク構成1640を利用するシステムへの復元のためのデータを訓練、圧縮、および送信するためにメタネットワーク1602を利用する損失圧縮のためのシステム1610のデータフロー図である。実施形態によれば、メタネットワーク1602は、関数gをインスタンス化し、gは、既知のノイズ画像1603および元の画像1601を入力として与えられたとき、所与の元の画像I1601およびノイズ画像N1603についてのハイパーパラメータθ1604の特定のセットを入力として決定する。ハイパーパラメータ1604は、復元関数f1640の具体的なインスタンスを定義するために、ニューラルネットワークに重みとして挿入されるとき(例えば、宛先デバイスにおいて)、ハイパーパラメータθ1604を生成するためにメタネットワーク1602内のgへの入力として使用されるのと同じ既知/静止ノイズ画像1630をマッピングするために使用されることができる(ここで、「同じ」は、ノイズ画像1630がノイズ画像1603と同じ画像であることを意味する)。好ましい態様によれば、ハイパーパラメータθ1604は、入力としてノイズ画像N1630およびハイパーパラメータθ1604を与えられた場合、fが、元の画像Iのファクシミリである、ダビングされたI’1650を生成するような関数fを含む宛先画像符号化ネットワーク1640に伝送され得る。数学的に言えば、この動作は、関数のセット1620の形式をとる。
【0056】
【数2】
が与えられると、
gを求める
j={1,...,K}:g(Ij,N):=θ’jとなるように
f(g(Ij,N)|N):=I’j
【数3】
【0057】
図17は、入力画像1711と同一の恣意的誤差制限内に近い、ノイズ画像1701を画像1730にマッピングするために使用され得る関数fの具体的なインスタンスを集合的に具体化する、ニューラルネットワーク1722、1724、および1726に挿入され得る、複数のフィルタ重みのセット1721、1723、1725のセットを生成するために、メタネットワーク1710内で互いに通信する多数の個々のニューラルネットワーク1710aのシステム図である。示されるように、メタネットワーク1710は、元の画像1711の一部に焦点を当てた独立した機械学習タスクを各々実行する複数の個々のネットワークを含むニューラルネットワークのネットワークである。示されるように、1つの配設は、3つの個々のネットワークを使用する(および、本発明者は、この構成が、利用されるリソースの相対的な量に対して優れたパフォーマンスを提供し、画像圧縮タスクを数時間からミリ秒に低減することを実践を通じて決定した)が、代替のメタネットワーク配設は、2つの個々のネットワークのみを使用する、または4つ以上の個々のネットワークを使用するなどの実施形態によって可能である。
【0058】
元の画像1711が個々のネットワーク1710aへの入力として提供されるとき(この具体的な個々のネットワークのみが図内で強調表示されるが、これは明確にするために行われ、1710aの動作の考察は、メタネットワーク1710に存在する任意のおよび全ての個々のネットワークに適用されることを理解されたい)、畳み込みフィルタ1714a~nのシーケンスが適用され、各フィルタの出力は、機械学習を可能にするために次への入力として提供され得る。各個々のネットワークの畳み込み出力はまた、別の個々のネットワークの処理1712a~n、1713a~nにおける次の逐次フィルタへの入力として提供され得、これにより、ネットワークは、互いの処理から効果的に学習し、理想的な解決策をまとめて「ゼロイン(zero in)」する。この畳み込み処理の後、いくつかの非畳み込み最終フィルタ1715a~n、1716a~n、1717a~nは、静止ノイズ画像1701を追加入力として、各個々のネットワークの出力(この場合、そのネットワークの出力のみ)に適用され得る。
【0059】
これは、各フィルタが異なるように(単一のネットワークの処理のみに基づいており、したがって、ネットワークおよびそのそれぞれの出力および学習プロセスの差異に起因して互いに異なる)、元の画像の畳み込み、集合処理、ならびにノイズ画像に基づくネットワーク固有の処理の組み合わせ発展に基づいているフィルタ1721、1723、1725のセットを生成するが、フィルタの組み合わせは、ターゲット画像符号化ネットワーク1720に順次適用されるとき、元の画像1711の最終的な、恣意的類似の再構築1730に到達する前に、より正確な表現1722、1724、1726を連続的に再構築する。
【0060】
図17において、データは、従来のように、所与の畳み込みニューラルネットワーク内の層間(例えば、1712a~n)で渡されることが分かるであろう。しかし、追加的に、メタネットワーク間接続は、態様によって、図17に示されるように、メタネットワーク(例えば、1712a~n)の1つのニューラルネットワーク(1つの水平列)の出力を、異なるニューラルネットワークの次の段階(1713a~nなどの異なる水平列)の入力にリンクすることによって行われる。これらのメタネットワーク間接続のない複数のメタネットワークのいくつかの初期テスト中に、訓練および品質の課題は、逢着された。訓練の課題は、消失勾配問題であった。これは、小さな値による連続的乗算のために、学習アルゴリズムが重みに対して行うことを欲する更新が極めて小さく(10-8ほどの)なるときに、発生する。これらの小さな更新は、ネットワークが「古く」なり、学習を停止、換言すれば、機能が改善を止める結果をもたらす。メタネットワーク内接続で行われるように、この問題は、メタネットワーク内の層間にスキップ接続を追加して、更新がそのパラメータに到達するためにとらなければならないルートを短縮し、更新が減少する順序を下げることによって修正され得る。この技術は、実質的な改善が指摘されながら、例示的な態様で完全に利用された。
【0061】
情報の流れをさらに改善するために、メタネットワーク間経路は、追加される。これらは、メタネットワーク間の情報注入として機能する。彼らの主な役割は、従前のものの状態に関する現在のメタネットワークを更新することである。これは、訓練中の勾配情報の流れをさらに助け、時間を短縮しながら、より安定した訓練プロセスにつながる。
【0062】
メタネットワーク間経路を追加する別の理由は、現在のメタネットワークが、生成された従前のネットワークのフィルタ(および、したがって、変換)を認識し、それをキャンセルするのではなく、従前のフィルタの変換を補完する方法でフィルタを生成し得ることである。従前のメタネットワークの状態を知るこの能力は、本発明の態様による画像符号化ネットワークにおける入力(ノイズ)への変換が典型的には順番に適用されるため、重要である。したがって、メタネットワークが特定の段階で変換を予測することをタスクとされている場合、既に適用されている従前の変換、換言すれば、従前のメタネットワーク行の状態を知っているべきである。
【0063】
各メタネットワークは、画像符号化ネットワーク入力を所望の画像に近いステップに最も適切に変換するフィルタを予測することがタスクとされる。メタネットワークへの入力は、所望の画像(既知のノイズ画像は、図17に示すように、レイヤー1715a~nで第1の行における後期に注入される)に過ぎないため、メタネットワークは、不完全な画像を表示している。「~から(From)」画像は、表示されないが、「~へ(to)」画像のみ表示される。したがって、IEN入力の後期融合(ノイズ)は、メタネットワークに提供されている。これは、メタネットワークがその予測を行うために使用できる情報を増加させ、画質に向上を与える。さらに、この情報の融合は、「または」方式で行われるため、メタネットワークは、それが要求するかどうかを選択することができる。
【0064】
要約すると、図17に示されるような態様による方法は、その方法がメタネットワークの集合またはグループを使用するので、メタネットワークの全体的効果(ensemble)と見なされ得る。それは同じネットワークである、と主張する人もいるかもしれず、しかしながら、全ての個々のメタネットワークは、訓練可能なパラメータ、入力、および出力に関して互いに独立しているため、これは誤りである。それは、一緒に訓練する必要さえないが、便利である。
【0065】
メタネットワーク1710は、関数fがノイズ画像N1701をターゲット画像1730にマッピングするのに必要な重み1722、1723、1725を決定するその機能を実行することができる前に訓練されなければならない。したがって、図18は、メタネットワークを使用する画像およびビデオの損失圧縮における使用のためにメタネットワーク1710を訓練するために必要なステップを図示する方法図である。初期ステップ1810において、訓練画像Jのセットは、入力としてメタネットワークに提供される。これらは、画像Jおよび所与のノイズ画像Nに基づいて、メタネットワークを訓練するために使用される(1820)。この訓練は、図15において上で記載されるように、所与の元の画像Iの再構築に到達するために、ノイズ画像Nに適用するために必要なフィルタのセットに到着する(1830)。より詳細には、この再構築プロセスは、メタネットワーク内のいくつかの個々のネットワークを包含し、それらの各々は、ハイパーパラメータθのサブセットを生成し(1840)、それらの各々は、他のサブセットとは異なり、入力画像Iの具体的な部分または属性に焦点を当てる(1850)。その後の各個々のネットワークは、それらの集合的機械学習が、より小さく、より特化された畳み込みニューラルネットワークから構築された畳み込みニューラルネットワークとして使用されるように、全ての従前のネットワークの状態を入力としてとる(各々は、画像の具体的な属性に焦点を当て、全体的なメタネットワークは、各特定のネットワークをその独自の処理内の畳み込みフィルタとして使用することによって全体に焦点を当てる)(1860)。ターゲット画像を再構築するために、静止画像Nは、ネットワークによって発展された連続したフィルタを通過し(1870)、近似画像I’を生成する(1880)。近似画像が許容可能であると決定されるとき、そのハイパーパラメータのセットθが記憶され、訓練が完了したと見なされ、ハイパーパラメータθは、次いで、任意の恣意的数の宛先画像符号化ネットワークに送信され得(1890)、それらの各々は、次いで、再構築された画像I’を迅速に生成するために、ハイパーパラメータθおよびノイズ画像Nを使用し得る。
【0066】
図19は、実施形態による、画像符号化ネットワークfのニューラルネットワークハイパーパラメータ予測のために、メタネットワーク内の単一のネットワークが画像のセットを訓練し、関数gの一部として動作するネットワークを生成するために実行するステップのフローチャートである。初期ステップ1901において、訓練画像jのセットは、メタネットワークに入力される。メタネットワーク内の各個々のネットワークにおいて、チェックは、ノイズ画像が存在するかどうかを決定するために実行される(1902)。ノイズ画像が存在しない場合、それが提供され(1903)、次いで、(または、ノイズ画像が既に存在していた場合)、メタネットワークは、訓練画像jの各々上で画像変換関数gを実行する(1904)。変換を実行した後、結果がチェックされ、出力画像が所望の画像Iに許容可能に近接しているかどうかを決定し(1905)、そうでない場合、メタネットワーク内の各個々のネットワークは、そのパラメータをわずかに変更し(1906)、関数gを繰り返し、所望の出力結果に近接して反復する。再作成された画像I’が許容可能に元のIに近いとき、ハイパーパラメータのセットは、許容可能な画像変換のために必要な許容可能なハイパーパラメータのセットとして記憶される(1907)。
【0067】
図20は、実施形態による、消失勾配問題を緩和するのに役立つ、静止画像を変換するための漸進的フィルタをクロス訓練および発展する目的のためにメタネットワーク内で通信する多数のネットワークのプロセスのフローチャートである。初期ステップ2010において、畳み込み処理層iは、メタネットワーク内の全ての単一のネットワークにわたって実行される。次いで、2020、チェックは、追加の層が存在するかどうかを決定するために実行され、実行されるのを待つ。そうである場合、次いで、各個々のネットワークは、そのそれぞれの処理層iの結果を出力として送信し、全ての次のネットワークの次の畳み込み層i+1の入力として使用される(2040)。次いで、iは、インクリメントし(2050)、動作を継続する(2010)。これ以上レイヤーが存在しないとき、畳み込み処理は終了し、各個々のネットワークは、次いで、それぞれのフィルタを生成し(2030)、それによって、ノイズ画像からターゲット画像を再現するために必要なフィルタの完全なセットを生成する。
【0068】
ハードウェアアーキテクチャ
概して、本明細書に開示される技術は、ハードウェア上、またはソフトウェアとハードウェアの組み合わせに実装され得る。例えば、それらは、オペレーティングシステムカーネル内、別個のユーザプロセス内、ネットワークアプリケーションに結合されたライブラリパッケージ内、特別に構築されたマシン上、特定用途向け集積回路(「ASIC」)上、またはネットワークインターフェースカード上に実装され得る。
【0069】
本明細書に開示される態様の少なくともいくつかのソフトウェア/ハードウェアハイブリッド実装形態は、メモリに記憶されたコンピュータプログラムによって選択的にアクティブ化または再構成された(断続的に接続されたネットワーク認識マシンを含むと理解されるべきである)プログラム可能なネットワーク常駐マシン上に実装され得る。このようなネットワークデバイスは、異なるタイプのネットワーク通信プロトコルを利用するように構成または設計され得る複数のネットワークインターフェースを有し得る。これらのマシンのいくつかの一般的なアーキテクチャは、所与の機能性の単位が実装され得る1つ以上の例示的な手段を例示するために、本明細書に記載され得る。具体的な態様によれば、本明細書に開示される様々な態様の特徴または機能性の少なくとも一部は、例えば、エンドユーザコンピュータシステム、クライアントコンピュータ、ネットワークサーバまたは他のサーバシステム、モバイルコンピューティングデバイス(例えば、タブレットコンピューティングデバイス、携帯電話、スマートフォン、ラップトップ、または他の好適なコンピューティングデバイス)、消費者用電子デバイス、音楽プレーヤ、または任意の他の好適な電子デバイス、ルータ、スイッチ、もしくは他の好適なデバイス、またはそれらの任意の組み合わせなど、1つ以上のネットワークと関連付けられた1つ以上の汎用コンピュータ上に実装され得る。少なくともいくつかの態様において、本明細書に開示される様々な態様の特徴または機能性の少なくともいくつかは、1つ以上の仮想化コンピューティング環境(例えば、ネットワークコンピューティングクラウド、1つ以上の物理コンピューティングマシン上にホストされる仮想マシン、または他の適切な仮想環境)に実装され得る。
【0070】
ここで図21を参照すると、本明細書に開示される特徴または機能性の少なくとも一部分を実装するのに好適な例示的なコンピューティングデバイス10を示すブロック図が示される。コンピューティングデバイス10は、例えば、従前のパラグラフに列挙されるコンピューティングマシンのいずれか1つであり得、実際には、メモリに記憶された1つ以上のプログラムによってソフトウェアベースまたはハードウェアベースの命令を実行することができる任意の他の電子デバイスであり得る。コンピューティングデバイス10は、無線または有線を問わず、このような通信のための既知のプロトコルを使用して、ワイドエリアネットワーク、首都圏ネットワーク、ローカルエリアネットワーク、無線ネットワーク、インターネット、または他のネットワークなどの通信ネットワークを越えて、クライアントまたはサーバなどの複数の他のコンピューティングデバイスと通信するように構成され得る。
【0071】
一実施形態において、コンピューティングデバイス10は、1つ以上の中央処理ユニット(CPU)12と、1つ以上のインターフェース15と、1つ以上のバス14(周辺コンポーネント相互接続(PCI)バスなど)とを含む。適切なソフトウェアまたはファームウェアの制御の下で動作するとき、CPU12は、具体的に構成されたコンピューティングデバイスまたは機械の機能と関連付けられた具体的な機能を実装するために応答可能あり得る。例えば、少なくとも一実施形態において、コンピューティングデバイス10は、CPU12、ローカルメモリ11および/またはリモートメモリ16、およびインターフェース15を利用するサーバシステムとして機能するように構成され得るか、または設計され得る。少なくとも1つの実施形態において、CPU12は、例えば、オペレーティングシステムおよび任意の適切なアプリケーションソフトウェア、ドライバなどを含み得るソフトウェアモジュールまたはコンポーネントの制御下で、異なるタイプの機能および/または動作の1つ以上を実行することを引き起こされ得る。
【0072】
CPU12は、例えば、インテル(Intel)、ARM、クアルコム(Qualcomm)、およびAMDファミリーのマイクロプロセッサのうちの1つからのプロセッサなどの1つ以上のプロセッサ13を含み得る。いくつかの実施形態において、プロセッサ13は、コンピューティングデバイス10の動作を制御するために、特定用途向け集積回路(ASIC)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、フィールドプログラマブルゲートアレイ(FPGA)などの特別に設計されたハードウェアを含み得る。具体的な実施形態において、ローカルメモリ11(例えば、1つ以上のレベルのキャッシュメモリを含む、不揮発性ランダムアクセスメモリ(RAM)および/または読み取り専用メモリ(ROM)など)はまた、CPU12の一部を形成し得る。しかしながら、メモリがシステム10に結合され得る多くの異なる方式がある。メモリ11は、例えば、データ、プログラミング命令などのキャッシュおよび/または記憶などの様々な目的のために使用され得る。CPU12は、モバイルデバイスまたは統合デバイスでの使用など、当該技術分野でますます一般的になりつつあるQUALCOMM SNAPDRAGON(商標)またはSAMSUNG EXYNOS(商標)CPUなどのメモリまたはグラフィックスプロセッシングチップなどの追加のハードウェアを含み得る、様々なシステムオンチップ(SOC)タイプのハードウェアの1つであり得ることをさらに理解されたい。
【0073】
本明細書で使用される場合、「プロセッサ」という用語は、単にプロセッサ、モバイルプロセッサ、またはマイクロプロセッサとして当該技術分野で言及される集積回路に限定されるものではなく、広義には、マイクロコントローラ、マイクロコンピュータ、プログラマブルロジックコントローラ、特定用途向け集積回路、および任意の他のプログラマブル回路を指す。
【0074】
一実施形態において、インターフェース15は、ネットワークインターフェースカード(NIC)として提供される。概して、NICは、コンピュータネットワークを越えてデータパケットの送信および受信を制御し、他のタイプのインターフェース15は、例えば、コンピューティングデバイス10とともに使用される他の周辺機器をサポートし得る。提供され得るインターフェースの中には、イーサネット(Ethernet)インターフェース、フレームリレーインターフェース、ケーブルインターフェース、DSLインターフェース、トークンリングインターフェース、グラフィックスインターフェースなどがある。加えて、例えば、ユニバーサルシリアルバス(USB)、シリアル、イーサネット、FIREWIRE(商標)、THUNDERBOLT(商標)、PCI、パラレル、無線周波数(RF)、BLUETOOTH(商標)、近接場通信(例えば、近接場磁気を使用して)、802.11(WiFi)、フレームリレー、TCP/IP、ISDN、高速イーサネットインターフェース、ギガビットイーサネットインターフェース、シリアルATA(SATA)または外部SATA(eSATA)インターフェース、高精細マルチメディアインターフェース(HDMI)、デジタルビジュアルインターフェース(DVI)、アナログもしくはデジタルオーディオインターフェース、非同期転送モード(ATM)インターフェース、高速シリアルインターフェース(HSSI)インターフェース、Point of Sale(POS)インターフェース、ファイバータ分散インターフェース(FDDI)などの様々なタイプのインターフェースが提供され得る。概して、そのようなインターフェース15は、適切な媒体との通信に適切な物理ポートを含み得る。場合によっては、それらはまた、独立したプロセッサ(高忠実度A/Vハードウェアインターフェースについての技術分野で一般的なような専用のオーディオまたはビデオプロセッサなど)、および場合によっては、揮発性および/または不揮発性メモリ(例えば、RAM)を含み得る。
【0075】
図21に示されるシステムは、本明細書に記載される発明のうちの1つ以上を実装するためのコンピューティングデバイス10のための1つの具体的なアーキテクチャを図示するが、それは決して、本明細書に記載される特徴および技術の少なくとも一部分が実装され得る唯一のデバイスアーキテクチャではない。例えば、1つまたは任意の数のプロセッサ13を有するアーキテクチャが使用され得、そのようなプロセッサ13は、単一のデバイス内に存在し得る、または任意の数のデバイス間に分散され得る。一実施形態において、単一のプロセッサ13は、通信ならびにルーティング計算を扱い、他の実施形態において、別個の専用通信プロセッサが、提供され得る。様々な実施形態において、異なるタイプの特徴または機能性は、クライアントデバイス(タブレットデバイスまたはクライアントソフトウェアを実行するスマートフォンなど)およびサーバシステム(以下でより詳細に記載されるサーバシステムなど)を含む本発明によるシステムに実装され得る。
【0076】
ネットワークデバイス構成に関係なく、本発明のシステムは、データ、汎用ネットワーク動作のためのプログラム命令、または本明細書に記載の実施形態の機能性に関連する他の情報(もしくは、上記の任意の組み合わせ)を記憶するように構成された1つ以上のメモリもしくはメモリモジュール(例えば、リモートメモリブロック16およびローカルメモリ11など)を採用し得る。プログラム命令は、例えば、オペレーティングシステムおよび/または1つ以上のアプリケーションの実行を制御し、または含み得る。メモリ16またはメモリ11、16はまた、データ構造、構成データ、暗号化データ、履歴システム動作情報、または本明細書に記載される任意の他の具体的なまたは一般的な非プログラム情報を記憶するように構成され得る。
【0077】
このような情報およびプログラム命令は、本明細書に記載の1つ以上のシステムまたは方法を実装するために用いられ得るため、少なくともいくつかのネットワークデバイスの実施形態は、例えば、本明細書に記載の様々な動作を実行するためのプログラム命令、状態情報などを記憶するように構成または設計され得る非一時的な機械可読記憶媒体を含み得る。そのような非一時的な機械可読記憶媒体の例は、ハードディスク、フロッピーディスク、および磁気テープなどの磁気媒体、CD-ROMディスクなどの光学媒体、読み取り専用メモリデバイス(ROM)、フラッシュメモリ(モバイルデバイスおよび統合システムで一般的であるようなもの)、ソリッドステートドライブ(SSD)、および単一のハードウェアデバイス(パーソナルコンピュータに関して当該技術分野でますます一般的になっているもの)におけるソリッドステートドライブおよびハードディスクドライブの物理的コンポーネントを組み合わせ得る「ハイブリッドSSD」記憶ドライブ、メモリスタメモリ、ランダムアクセスメモリ(RAM)などのプログラム命令を記憶および実行するように特別に構成される、光学ディスク、およびハードウェアデバイスなどの磁気光学媒体を含むが、これらに限定されない。そのような記憶手段は、統合され得、取り外し不可能であり得(マザーボード上にはんだ付けされ得る、もしくは別様に電子デバイスに統合され得るRAMハードウェアモジュールなど)、またはそれらは、スワップ可能なフラッシュメモリモジュール(「サムドライブ」または物理記憶デバイスを迅速に交換するように設計された他の取り外し可能な媒体など)、「ホットスワップ可能な」ハードディスクドライブもしくはソリッドステートドライブ、取り外し可能な光学記憶ディスク、または他のそのような取り外し可能な媒体などの取り外し可能であり得、そのような統合された取り外し可能な記憶媒体は、交換可能に利用され得ることを理解されたい。プログラム命令の例は、コンパイラによって生成され得るオブジェクトコード、アセンブラまたはリンカによって生成され得る、マシンコード、例えばJAVA(商標)コンパイラによって生成され得、Java仮想マシンまたは同等のものを使用して実行され得る、バイトコード、またはインタプリタを使用してコンピュータによって実行され得る、より高いレベルのコード(例えばPython、Perl、Ruby、Groovy、または任意の他のスクリプト言語で書かれたスクリプト)を包含するファイルの両方を含む。
【0078】
いくつかの実施形態において、本発明によるシステムは、スタンドアロンコンピューティングシステム上に実装され得る。ここで図22を参照すると、スタンドアロンコンピューティングシステム上の1つ以上の実施形態またはそのコンポーネントの典型的な例示的なアーキテクチャを示すブロック図が示されている。コンピューティングデバイス20は、例えば、クライアントアプリケーション24などの、本発明の実施形態の1つ以上の機能またはアプリケーションを実行するソフトウェアを実行し得るプロセッサ21を含む。プロセッサ21は、例えば、あるバージョンのMICROSOFT WINDOWS(商標)オペレーティングシステム、APPLE OSX(商標)またはiOS(商標)オペレーティングシステム、いくつかの種類のLinuxオペレーティングシステム、ANDROID(商標)オペレーティングシステムなどのオペレーティングシステム22の制御下でコンピューティング命令を実行し得る。多くの場合において、1つ以上の共有サービス23は、システム20で動作可能であり得、クライアントアプリケーション24に共通のサービスを提供するために有用であり得る。サービス23は、例えば、WINDOWS(商標)サービス、Linux環境におけるユーザ空間共通サービス、またはオペレーティングシステム21とともに使用される任意の他のタイプの共通サービスアーキテクチャであり得る。入力デバイス28は、例えば、キーボード、タッチスクリーン、マイクロフォン(例えば、音声入力用)、マウス、タッチパッド、トラックボール、またはそれらの任意の組み合わせを含む、ユーザ入力を受信するのに好適な任意のタイプであり得る。出力デバイス27は、システム20へのリモートであれローカルであれ、1つ以上のユーザに出力を提供するのに好適な任意のタイプのものであり得、例えば、可視出力のための1つ以上の画面、スピーカ、プリンタ、またはそれらの任意の組み合わせを含み得る。メモリ25は、例えば、ソフトウェアを実行するためにプロセッサ21によって使用されるために、当該技術分野で既知の任意の構造およびアーキテクチャを有するランダムアクセスメモリであり得る。記憶デバイス26は、データをデジタル形式で記憶するための任意の磁気、光学、機械的、メモリスタ、または電気的記憶デバイスであり得る(図21を参照して、上で記載されたものなど)。記憶デバイス26の例は、フラッシュメモリ、磁気ハードドライブ、CD-ROM、および/または同様のものを含む。
【0079】
いくつかの実施形態において、本発明のシステムは、任意の数のクライアントおよび/またはサーバを有するものなどの分散コンピューティングネットワーク上に実装され得る。ここで図23を参照すると、本発明の実施形態によるシステムの少なくとも一部分を分散コンピューティングネットワーク上に実装するための例示的なアーキテクチャ30を示すブロック図が示される。実施形態によれば、任意の数のクライアント33が、提供され得る。各クライアント33は、本発明のクライアント側部分を実装するためのソフトウェアを実行し得、クライアントは、図22に図示されるようなシステム20を含み得る。加えて、任意の数のサーバ32は、1つ以上のクライアント33から受信された要求を扱うために提供され得る。クライアント33およびサーバ32は、インターネット、ワイドエリアネットワーク、モバイル電話ネットワーク(CDMAまたはGSMセルラネットワークなど)、無線ネットワーク(WiFi、WiMAX、LTEなど)、またはローカルエリアネットワーク(または実際には当該技術分野で既知の任意のネットワークトポロジーであり、本発明は他のネットワークトポロジーを越えた任意の1つを好まない)の様々な実施形態であり得る、1つ以上の電子ネットワーク31を介して互いに通信し得る。ネットワーク31は、例えば有線および/または無線プロトコルを含む任意の既知のネットワークプロトコルを使用して実装され得る。
【0080】
加えて、いくつかの実施形態において、サーバ32は、追加情報を取得するために、または特定の呼び出しに関する追加データを参照するために必要なときに、外部サービス37を呼び出し得る。外部サービス37との通信は、例えば、1つ以上のネットワーク31を介して行われ得る。様々な実施形態において、外部サービス37は、ハードウェアデバイス自体に関連する、またはハードウェアデバイス自体にインストールされるウェブ対応サービスまたは機能性を含み得る。例えば、クライアントアプリケーション24がスマートフォンまたは他の電子デバイスに実装される実施形態において、クライアントアプリケーション24は、クラウド内のサーバシステム32に、または特定のエンタープライズもしくはユーザの敷地の1つ以上に展開された外部サービス37に記憶された情報を取得し得る。
【0081】
本発明のいくつかの実施形態において、クライアント33またはサーバ32(またはその両方)は、1つ以上のネットワーク31にわたってローカルまたはリモートに展開され得る1つ以上の特化されたサービスまたは機器を利用し得る。例えば、1つ以上のデータベース34は、本発明の1つ以上の実施形態によって使用または参照され得る。データベース34は、多種多様なアーキテクチャに配設され得、多種多様なデータアクセスおよび操作手段を使用し得ることが当業者によって理解されるべきである。例えば、様々な実施形態において、1つ以上のデータベース34は、構造化クエリ言語(SQL)を使用する関係データベースシステムを含み得、他のデータベースは、例えば、「NoSQL」として当該技術分野で言及されるもの(例えば、HADOOP CASSANDRA(商標)、GOOGLE BIGTABLE(商標)など)などの代替データ記憶技術を含み得る。いくつかの実施形態において、本発明によって、列指向データベース、メモリ内データベース、クラスタ化データベース、分散データベース、または平坦ファイルデータリポジトリなどのバリアントデータベースアーキテクチャが使用され得る。具体的なデータベース技術またはコンポーネントの具体的な配設が本明細書の特定の実施形態に対して指定されない限り、既知または将来のデータベース技術の任意の組み合わせが適切に使用され得ることが当業者によって理解されるであろう。さらに、本明細書で使用される場合、「データベース」という用語は、物理データベースマシン、単一のデータベースシステムとして機能するマシンのクラスタ、または全体のデータベース管理システム内の論理データベースを指し得ることを理解されたい。「データベース」という用語の所与の使用に対して具体的な意味が指定されない限り、それは、単語のこれらの感覚のいずれかを意味すると解釈されるべきであり、それらの全ては、当業者によって「データベース」という用語の平易な意味として理解される。
【0082】
同様に、本発明のほとんどの実施形態は、1つ以上のセキュリティシステム36および構成システム35を使用し得る。セキュリティおよび構成管理は、一般的な情報技術(IT)およびWeb機能であり、各々の一部は、概して任意のITまたはWebシステムと関連付けられている。現在または将来の当該技術分野で既知の任意の構成またはセキュリティサブシステムが、特定のセキュリティ36もしくは構成システム35またはアプローチが具体的な実施形態の記載によって具体的に必要とされない限り、限定されないが、本発明の実施形態と併せて使用され得ることを当業者は理解すべきである。
【0083】
図24は、システム全体の様々な場所のうちのいずれかで使用され得るコンピュータシステム40の例示的な概要を示す。データを処理するためにコードを実行し得る任意のコンピュータの例示である。様々な修正および変更は、本明細書に開示されるシステムおよび方法のより広範な範囲から逸脱することなく、コンピュータシステム40に対して行われ得る。中央プロセッサユニット(CPU)41は、バス42に接続されており、バスはまた、メモリ43、不揮発性メモリ44、ディスプレイ47、入力/出力(I/O)ユニット48、およびネットワークインターフェースカード(NIC)53に接続されている。I/Oユニット48は、典型的には、キーボード49、ポインティングデバイス50、ハードディスク52、およびリアルタイムクロック51に接続され得る。NIC53は、インターネットまたはローカルネットワークであり得るネットワーク54に接続し、ローカルネットワークは、インターネットへの接続を有する場合があるか、または有しない場合がある。システム40の一部としてまた示されるのは、この例において、主交流(AC)電源46に接続された電源ユニット45である。存在し得る電池、および周知であるが、本明細書に開示される現在のシステムおよび方法の特定の新規な機能には適用されない多くの他のデバイスおよび修正は、示されていない。例示されるいくつかのまたは全てのコンポーネントは、例えば、クアルコムもしくはサムスンシステムオンアチップ(SOC)デバイスなどの様々な統合アプリケーションにおいて、または複数の能力もしくは機能を単一のハードウェアデバイス(例えば、スマートフォン、ビデオゲームコンソールなどのモバイルデバイス、自動車のナビゲーションもしくはマルチメディアシステムなどの車載コンピュータシステム、または他の統合されたハードウェアデバイスなど)に組み合わせることが適切であり得るときなどに、組み合わせられ得ることを理解されたい。
【0084】
様々な実施形態において、本発明のシステムまたは方法を実装するための機能は、任意の数のクライアントおよび/またはサーバコンポーネント間で分散され得る。例えば、様々なソフトウェアモジュールは、本発明に関連して様々な機能を実行するために実装され得、そのようなモジュールは、サーバおよび/またはクライアントコンポーネントで実行するために様々に実装され得る。
【0085】
当業者は、上で記載の様々な実施形態の可能な修正の範囲を認識するであろう。したがって、本発明は、特許請求の範囲およびそれらの等価物によって定義される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
【国際調査報告】