(57)【要約】【課題】画像媒体の品質を向上させる方法を提供する。【解決手段】画像媒体の品質を向上させる方法は、クライアント端末装置に内蔵された事前訓練された人工知能（ＡＩ）強化モジュールを用い、ビデオストリームの品質を向上する。該ＡＩ強化モジュールは、サーバ内のニューロンネットワークを用いて事前訓練を実行し、サーバによって生成された原画像と圧縮された圧縮画像との間の差を分析する。ＡＩ強化モジュールは、サーバによって生成された原画像と圧縮された圧縮画像との間の差を分析することによって得られた数学演算式を使用して、圧縮画像の品質を向上させる。それによって、向上された画像は、該圧縮された画像よりも視覚的に原画像に近くなる。【選択図】図２
2020010331.tif 000002
【特許請求の範囲】
【請求項１】
以下のステップを含む本発明の画像媒体の品質を向上させる方法。
ステップ（Ａ）：サーバで第１アプリケーションを実行し、該第１アプリケーションは、少なくとも１つのコマンドに従って複数の原画像を生成し、該複数の原画像は、該サーバ内のエンコーダによって符号化及び圧縮されて、複数の符号化画像が生成され、
ステップ（Ｂ）：該サーバから離れたクライアント端末装置において第２アプリケーションを実行し、該第２アプリケーションは、第１アプリケーションに関連しており、且つ連携しており、これにより、該クライアント端末装置は、ユーザに操作させて該コマンドを生成して該サーバに送信させることができ、
ステップ（Ｃ）：該クライアント端末装置は、ネットワークを介して該コマンドを該サーバに送信し、次いで、該サーバによって生成され且つ該コマンドに対応する該符号化画像を、ネットワークを介して受信し、
ステップ（Ｄ）：該クライアント端末装置は、該符号化画像を複数の復号画像に復号し、ＡＩ強化モジュールを用いて該復号画像の品質を向上させて複数の強化画像を生成し、該ＡＩ強化モジュールは、該復号画像と対応する原画像との間の差を分析することによって得られる少なくとも１つの数学演算式によって該復号画像を処理し、これにより、得られた該強化画像は、該復号画像よりも視覚的に該原画像に更に近くなり、
ステップ（Ｅ）：該クライアント端末装置は、該強化画像をスクリーンに出力し、再生される出力画像とする。
【請求項２】
前記ＡＩ強化モジュールの該少なくとも１つの数学演算式は、該サーバ内の人工ニューラルネットワークモジュールによって実行される訓練プログラムによって定義され、該訓練プログラムは以下のステップを含む、請求項１に記載の方法。
ステップ（ａ）：訓練モードで該第１アプリケーションを実行し、複数の訓練原画像を生成し、
ステップ（ｂ）：該エンコーダによって該訓練原画像を複数の訓練符号化画像に符号化し、
ステップ（ｃ）：該サーバ内の訓練デコーダを使用することによって該訓練符号化画像を複数の訓練復号画像に復号し、
ステップ（ｄ）：該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも１つの訓練数学演算式を使用して該訓練復号画像を１つずつ処理して複数の訓練出力画像を生成し、該少なくとも１つの訓練数学演算式は、複数の訓練重み付けパラメータを含み、
ステップ（ｅ）：比較訓練モジュールによって該訓練出力画像と対応する該訓練原画像との間の差を比較し、それに応じて該少なくとも１つの訓練数学演算式の該訓練重み付けパラメータを調整し、該訓練重み付けパラメータは、該訓練出力画像と対応する該訓練原画像との間の差を最小化するように調整され、該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、少なくとも１つの訓練数学演算式にフィードバックされて、ステップ（ｄ）において、次の該訓練復号画像を処理させ、
ここで、所定数の該訓練出力画像が対応する訓練原画像と比較され、所定回数の該訓練重み付けパラメータの調整が行われた後、最後に得られた該訓練重み付けパラメータが、該クライアント端末装置の該ＡＩ強化モジュール内に適用され、その数学演算式の重み付けパラメータとされる。
【請求項３】
該訓練復号画像と該訓練出力画像が同じカラーフォーマットを有する場合、該人工ニューラルネットワークモジュールは、残差復号ネットワークモジュールであり、ステップ（ｄ）において、各該訓練出力画像は、対応する該訓練復号画像と、該残差復号ネットワークモジュールが該訓練復号画像を処理した出力との合計である請求項２に記載の方法。
【請求項４】
ステップ（ｅ）において、該比較訓練モジュールは、弁別器（Discriminator）を用いて該訓練出力画像と対応する該訓練原画像との間の差を比較し、それに応じて生成的対抗ネットワーク損失（generative adversarial networks loss；ＧＡＮ  loss）を収束させ、該訓練重み付けパラメータを調整する請求項２に記載の方法。
【請求項５】
前記比較訓練モジュールの該弁別器は、
該訓練原画像は、ｎチャネルを含み、ｎは２より大きい正の整数であり、該訓練復号画像は、ｍチャネルを含み、ｍは２より大きい正の整数であり、
ステップ（ｄ）において、該人工ニューラルネットワークモジュールは、該ｍチャネルの訓練復号画像を処理し、ｎチャネルの訓練出力画像を生成し、該ｎチャネルの訓練出力画像とそれに対応するｍチャネル訓練復号画像とを組み合わせて、複数のｍ＋ｎチャネルを有する模擬偽サンプル（false samples）を生成し、該ｎチャネルの訓練原画像と対応する該ｍチャネルの訓練復号画像の両者を結合して、ｍ＋ｎチャネルを有する複数の模擬真サンプルを生成し、
ステップ（ｅ）において、該ｍ＋ｎチャネルの模擬偽サンプルと該ｍ＋ｎチャネルの模擬真サンプルとを該比較訓練モジュールの弁別器にフィードバックして、該弁別器の該擬似偽サンプルと該模擬真サンプルを検出及び識別する能力を訓練させる、
という方式で訓練される、請求項４に記載の方法。
【請求項６】
前記訓練原画像のカラーフォーマットは、ＹＵＶ４２０であり、該訓練復号画像のカラーフォーマットは、ＲＧＢ又はＹＵＶ４２０であり、
ステップ（ｄ）において、該人工ニューラルネットワークモジュールは、第１ニューラルネットワーク及び第２ニューラルネットワークを含み、該第２ニューラルネットワークは、畳み込みニューラルネットワーク（ConvolutionalNeuralNetwork；ＣＮＮ）であり、該第１ニューラルネットワークは、該訓練原画像を受け取って処理し、該訓練原画像と同じ符号化フォーマットを有する複数の第１出力画像Ｘ２を生成し、該第２ニューラルネットワークは、該第１出力画像Ｘ２を受け取って処理して、複数の第２出力画像を生成し、該第１出力画像Ｘ２と該第２出力画像の両者が加算されて該訓練出力画像を生成し、
ステップ（ｅ）において、該比較訓練モジュールは、第１比較器と第２比較器を含み、該第１比較器は、該第１出力画像Ｘ２と対応する該訓練原画像との間の差を比較し、該第１ニューラルネットワークを訓練し、該第２比較器は、該訓練出力画像と対応する該訓練原画像との間の差を比較し、該第２ニューラルネットワークを訓練する、請求項２に記載の方法。
【請求項７】
ステップ（ｄ）において、該第１ニューラルネットワークがＹＵＶ４２０カラーフォーマットの訓練復号画像を受信し処理するステップは、
該訓練復号画像内のＹ部分データを抽出し、訓練復号画像のＹ部分データを標準サイズの該第１ニューラルネットワークによって処理してＹ部分出力データを生成し、
該訓練復号画像内のＵＶ部分データを抽出し、該訓練復号画像のＵＶ部分データを２倍の倍率を有する該第１ニューラルネットワークによって処理して、Ｎチャネルを有するＵＶ部分出力データを生成し、
該Ｙ部分出力データと該ＵＶ部分出力データを加算し、該訓練出力画像を生成することを含む請求項６に記載の方法。
【請求項８】
ステップ（ｄ）において、該第１ニューラルネットワークがＹＵＶ４２０カラーフォーマットの該訓練復号画像を受信し処理するステップは、
該訓練復号画像は、Ｎチャネルを含み、Ｎは、２より大きい正の整数であり、
該訓練復号画像内のＹ部分データを抽出し、
該訓練復号画像内のＵＶ部分データを抽出し、２倍に拡大された該第１ニューラルネットワークを用いて該訓練復号画像のＵＶ部分データを処理して、Ｎ−１チャネルを有するＵＶ部分出力データを生成し、
結合関数Concat（concatenates）によって該Ｙ部分データ及び該ＵＶ部分データを処理し、該訓練出力画像を生成することを含む請求項６に記載の方法。
【請求項９】
前記クライアント端末装置の該ＡＩ強化モジュールの該少なくとも１つの数学演算式は、複数の重み付けパラメータを含み、該重み付けパラメータは、該復号画像と対応する該原画像との間の差に関連付けられ、且つ該サーバ内の人工ニューラルネットワークモジュールによって実行される訓練プログラムによって定義され、該重み付けパラメータは、以下のうちの１つである：該クライアント端末装置に予め記憶され、該クライアント端末装置が該第２アプリケーションを実行する時に該サーバから該クライアント端末装置にダウンロードされる、請求項１に記載の方法。
【請求項１０】
前記第１アプリケーションプログラムによって生成された該原画像は、複数組のシーンに区分されることができ、各シーンは、複数の該原画像を含み、
クライアント端末装置内の該ＡＩ強化モジュールによって使用される該重み付けパラメータも複数組に区分され、各組は、それぞれ複数の重み付けパラメータを含み、シーンの１つに対応し、
異なる該シーンの該原画像に対応する該復号画像は、同じ該ＡＩ強化モジュールによって該異なる組の重み付けされたパラメータ内の該シーンに対応する該組の重み付けパラメータ使用して画像強化処理され、
該異なる組の重み付けパラメータが全てクライアント端末装置に予め記憶されている場合、該シーンが変化するたびに、変化した新しいシーンに対応する該組の重み付けパラメータは、強化画像を生成するために該ＡＩ強化モードに適用され、
異なる組の重み付けパラメータが全てサーバ側に記憶されている場合、該シーンが変化するたびに、変化した新しいシーンに対応する該組の重み付けパラメータがサーバによって該クライアント端末装置にダウンロードされ、それから、強化画像を生成するために該ＡＩ強化モードに適用される、請求項９に記載の方法。
【請求項１１】
該訓練モードにおいて、該複数の訓練原画像は高品質画像であり、該高品質訓練原画像は、以下の１つ以上の性質に符合する画像であり、(性質１）４Ｋ以上のより高い解像度（Resolution）を有し、(性質２)１５０度以上のより大きな視野（field of view；ＦＯＶ）を有し、（性質３）６０ＦＰＳ以上の高いフレームレート（ＦＰＳ）を有し、（性質４）両目立体情報（stereo vision）を有し、（性質５）視覚的奥行き情報を有し、(性質６)赤外光又は紫外光などの追加の色情報を有し、（性質７）マルチチャネル、高サンプリング周波数（４４ｋＨｚ以上）、又は高解像度（オーディオビット深度２４ｂｉｔ以上）などの優れたオーディオ情報を有し、
ステップ（ａ）とステップ（ｂ）の間に、
劣化モジュールによって該訓練原画像を劣化させてその画質を低下させ、
サンプリング（sampling）によって、解像度を低下させる（７２０ｐ、１０８０ｉ以下まで低下）、カット（crop）方式で視野を縮小する（視野の１２０度以下に縮小する、又は元アスペクト比１６：９の画像を４：３にカットする）、フレームを破棄してフレームレートを下げる（３０ＦＰＳ以下まで低下）、抽出方式で両目立体情報を単一画面に取り出し、視覚的奥行き情報を破棄し、音声信号をステレオ２チャンネルに変換する、サンプリング周波数の低減（２２．１ｋＨｚ以下）、解像度の低減（１６ｂｉｔ以下）、ノイズの追加（ガウス（Gaussian）、ラプラシアン（Laplacian）ノイズなど）、ぼかし（ガウスぼかしなど）、の１つ以上の性質を満たす劣化訓練原画像を得る画像劣化処理のステップを追加し、
ステップ（ｂ）において、該劣化した訓練原画像を該エンコーダにより複数の該訓練符号化画像に符号化して圧縮する、請求項２に記載の方法。
【請求項１２】
ステップ（ｄ）において、該訓練モードにおいて、該人工ニューラルネットワークモジュールは、該訓練復号画像の複数のフレームを受け取り、該訓練出力画像の少なくとも１つのフレームを生成して出力し、ステップ（Ｄ）において、クライアント端末装置において、該ＡＩ強化モジュールは、該復号画像の幾つかのフレームを受取り、該強化画像の少なくとも１つのフレームを出力する、請求項２に記載の方法。
【請求項１３】
前記人工ニューラルネットワークモジュールは、前記訓練復号画像及び音声信号を受信して処理し、前記ＡＩ強化モジュールは、前記復号画像及び他の音声信号を受信して処理する、請求項２に記載の方法。
【請求項１４】
ＡＩ強化モジュールを含むクライアント端末装置を提供し、該ＡＩ強化モジュールは、予め定義された少なくとも１つの数学演算式を含み、且つ該少なくとも１つの数学演算式は、少なくとも１つの重み付けパラメータを含み、該少なくとも１つの数学演算式の該少なくとも１つの重み付けパラメータは、サーバ内の人工ニューラルネットワークモジュールによって実行される訓練プログラムによって事前に定義され、
該クライアント端末装置によって複数の符号化画像を受信し、
該クライアント端末装置は、該符号化画像を複数の復号画像に復号し、該ＡＩ強化モジュールの該少なくとも１つの数学演算式及び該少なくとも１つの重み付けパラメータを用いて該復号画像を処理して、複数の強化画像を生成し、
該クライアント端末装置は、再生される出力画像として該強化画像をスクリーンに出力する、
ことを含む画像媒体の品質を向上させる方法。 
【請求項１５】
前記訓練プログラムは、前記サーバ内で実行され、以下のステップを含む、請求項１４に記載の方法。
ステップ（ａ）：訓練モードで複数の訓練原画像を提供し、
ステップ（ｂ）：該訓練原画像をエンコーダによって複数の訓練符号化画像に符号化し、
ステップ（ｃ）：訓練デコーダによって該訓練符号化画像を複数の訓練復号画像に復号し、
ステップ（ｄ）：該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも１つの訓練数学演算式を使用して該訓練復号画像を１つずつ処理し、複数の訓練出力画像を生成し、該少なくとも１つの訓練数学演算式は、複数の訓練重み付けパラメータを含み、
ステップ（ｅ）：比較訓練モジュールによって該訓練出力画像と対応する該訓練原画像との間の差を比較し、それに応じて該少なくとも１つの訓練数学演算式の該重み付けパラメータを調整し、該訓練重み付けパラメータは、該訓練出力画像と対応する該訓練原画像との間の差を最小にするように調整され、該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、該少なくとも１つの訓練数学演算式にフィードバックされて、ステップ（ｄ）において次の訓練復号画像を処理させ、
ここで、所定数の該訓練出力画像と対応する該訓練原画像との比較、所定回数の該訓練重み付けパラメータの調整を行った後、最後に得られた該訓練重み付けパラメータが、該クライアント端末装置の該ＡＩ強化モジュール内に適用され、その数学演算式の重み付けパラメータとされる。
【請求項１６】
前記クライアント端末装置によって受信された前記複数の符号化画像は、以下のステップによって取得される、請求項１４に記載の方法。
該サーバにおいて第１アプリケーションを実行し、該第１アプリケーションは、少なくとも１つのコマンドに従って複数の原画像を生成し、該複数の原画像は、該サーバ内のエンコーダによって符号化及び圧縮されて複数の符号化画像を生成し、
該クライアント端末装置で第２アプリケーションを実行し、該第２アプリケーションは、該第１アプリケーションと関連付けられ、連携され、それにより該クライアント端末装置は、ユーザに操作させて、該コマンドを生成して該サーバに送信させることができ、
該クライアント端末装置は、ネットワークを介して該コマンドを該サーバに送信し、その後、該ネットワークを介して、該サーバが生成した該コマンドに対応する該符号化画像を受信する。
【請求項１７】
前記クライアント端末装置によって受信された該複数の符号化画像は、携帯式記憶媒体に予め記憶されたビデオファイルであり、該クライアント端末装置によって該ビデオファイルが読み取り、該符号化画像を取得する、請求項１４に記載の方法。
【請求項１８】
前記第１アプリケーションによって生成された該原画像は、複数組のシーンに区分されることができ、各シーンは、複数の該原画像を含み、
クライアント端末装置内の該ＡＩ強化モジュールによって使用される該重み付けパラメータも複数組に区分され、各組はそれぞれ複数の該重み付けパラメータを含み、そのうち１つの該シーンに対応し、同じ該ＡＩ強化モジュールによって該異なる組の該重み付けパラメータ及び該シーンの対応する該組の重み付けパラメータを使用して画像強化処理を行い、
該異なる組の重み付けパラメータが全て該クライアント端末装置に予め記憶されている場合、該シーンが変化するたびに、変化後の新たなシーンに対応した該組の重み付けパラメータは、該ＡＩ強化モジュールに運用され、該強化画像を生成させ、
該異なる組の重み付けパラメータが全てサーバ側に記憶されている場合、シーンが変化するたびに、変化後の新しいシーンに対応する該組の重み付けパラメータがサーバによってクライアント側にダウンロードされ、該ＡＩ強化モジュールに運用され、該強化画像を生成させる、請求項１６記載の方法。
【請求項１９】
該訓練モードにおいて、該複数の訓練原画像は高品質画像であり、該高品質訓練原画像は、
（性質１）４Ｋ以上のより高い解像度（Resolution）を有する、（性質２）１５０度以上のより大きな視野（field of view；ＦＯＶ）を有する、（性質３）６０ＦＰＳ以上の高いフレームレート（ＦＰＳ）を有し、（性質４）両目立体情報（stereo vision）を有する、（性質５）視覚的奥行き情報を有する、（性質６）赤外光又は紫外光などの追加の色情報を有する、（性質７）マルチチャネル、高サンプリング周波数（４４ｋＨｚ以上）、又は高解像度（オーディオビット深度２４ｂｉｔ以上）などの優れたオーディオ情報を有する、のうちの1つ又は複数の性質に符合する画像であり、
ステップ（ａ）とステップ（ｂ）の間に、劣化モジュールによって該訓練原画像を劣化させてその画質を低下させ、
サンプリング（sampling）によって、解像度を低下させる（７２０ｐ、１０８０ｉ以下まで低下）、カット（crop）方式で視野を縮小する（視野の１２０度以下に縮小する、又は元アスペクト比１６：９の画像を４：３にカットする）、フレームを破棄してフレームレートを下げる（３０ＦＰＳ以下まで低下）、抽出方式で両目立体情報を単一画面に取り出し、視覚的奥行き情報を破棄し、音声信号をステレオ２チャンネルに変換する、サンプリング周波数の低減（２２．１ｋＨｚ以下）、解像度の低減（１６ｂｉｔ以下）、ノイズの追加（ガウス（Gaussian）、ラプラシアン（Laplacian）ノイズなど）、ぼかし（ガウスぼかしなど）、のうちの１つ以上の性質を満たす劣化訓練原画像を得る、画像劣化処理を行うステップを追加し、
ステップ（ｂ）において、該劣化した訓練原画像を該エンコーダにより複数の該訓練符号化画像に符号化して圧縮する、請求項１５に記載の方法。
【請求項２０】
ステップ（ｄ）において、該訓練モードにおいて、該人工ニューラルネットワークモジュールは、該訓練復号画像の複数のフレームを受け取り、該訓練出力画像の少なくとも１つのフレームを生成して出力し、さらに、ステップ（Ｄ）において、クライアント端末装置において、該ＡＩ強化モジュールは、該復号画像の複数のフレームを受信し、それに応じて該強化画像の少なくとも１つのフレームを出力する、請求項１５に記載の方法。
【請求項２１】
前記人工ニューラルネットワークモジュールは該訓練復号画像と音声信号を受信して処理し、該ＡＩ強化モジュールは、該復号画像ともう１つの音声信号を受信して処理する、請求項１５に記載の方法。
【請求項２２】
クライアント端末装置を用いて複数の復号画像を復号し、該複数の復号画像は、複数の原画像を符号化することにより生成され、
該クライアント端末装置は、複数の符号化画像を複数の復号画像に復号し、ＡＩ強化モジュールを使用して該復号画像の品質を向上させて複数の強化画像を生成し、該ＡＩ強化モジュールは、該復号画像と対応する該原画像との間の差を分析することによって得られる少なくとも１つの数学演算式によって復号画像を処理し、それによって、得られた該強化画像は、該復号画像よりも視覚的に該原画像に近くなり、
該クライアント端末装置は、該強化画像を再生される出力画像としてスクリーンに出力することを含む画像媒体の品質を向上させる方法。 
【請求項２３】
該クライアント端末装置の該ＡＩ強化モジュールの該少なくとも１つの数学演算式は、複数の重み付けパラメータを含み、該重み付けパラメータは、該復号画像と対応する該原画像との間の差に関連付けられ、
該原画像は、複数組のシーンに区分されることができ、各シーンは、複数の該原画像を含み、
クライアント端末装置内の該ＡＩ強化モジュールによって使用される該重み付けパラメータも複数組に区分され、各組は、それぞれ複数の該重み付けパラメータを含み、そのうち１つの該シーンに対応し、
該クライアント端末装置は、該ＡＩ強化モジュールを使用して該復号画像の品質を向上させて複数の強化画像を生成するステップにおいて、異なる該シーンの該原画像に対応する該復号画像は、同じ該ＡＩ強化モジュールによって該異なる組の該重み付けパラメータ内の該シーンに対応する該組の重み付けパラメータを使用して画像強化処理を実行する、請求項２２に記載の方法。
【請求項２４】
前記少なくとも１つの数学演算式は、複数の重み付けパラメータを含み、該サーバの人工ニューラルネットワークモジュールが行う訓練プログラムによって予め定義され、前記訓練プログラムは、前記サーバ内で実行され、以下のステップを含む、請求項２２に記載の方法。
ステップ（ａ）：訓練モードで複数の訓練原画像を提供し、
ステップ（ｂ）：該訓練原画像をエンコーダによって複数の訓練符号化画像に符号化し、
ステップ（ｃ）：訓練デコーダによって該訓練符号化画像を複数の訓練復号画像に復号し、
ステップ（ｄ）：該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも１つの訓練数学演算式を使用して該訓練復号画像を１つずつ処理し、複数の訓練出力画像を生成し、該少なくとも１つの訓練数学演算式は、複数の訓練重み付けパラメータを含み、
ステップ（ｅ）：比較訓練モジュールによって該訓練出力画像と対応する該訓練原画像との間の差を比較し、それに応じて該少なくとも１つの訓練数学演算式の該重み付けパラメータを調整し、該訓練重み付けパラメータは、該訓練出力画像と対応する該訓練原画像との間の差を最小にするように調整され、該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、該少なくとも１つの訓練数学演算式にフィードバックされて、ステップ（ｄ）において次の訓練復号画像を処理させ、
ここで、所定数の該訓練出力画像と対応する該訓練原画像との比較、所定回数の該訓練重み付けパラメータの調整を行った後、最後に得られた該訓練重み付けパラメータが、該クライアント端末装置の該ＡＩ強化モジュール内に適用され、その数学演算式の重み付けパラメータとされる。
【請求項２５】
該訓練モードにおいて、該複数の訓練原画像は高品質画像であり、該高品質訓練原画像は、
（性質１）４Ｋ以上のより高い解像度（Resolution）を有する、（性質２）１５０度以上のより大きな視野（field of view；ＦＯＶ）を有する、（性質３）６０ＦＰＳ以上の高いフレームレート（ＦＰＳ）を有し、（性質４）両目立体情報（stereo vision）を有する、（性質５）視覚的奥行き情報を有する、（性質６）赤外光又は紫外光などの追加の色情報を有する、（性質７）マルチチャネル、高サンプリング周波数（４４ｋＨｚ以上）、又は高解像度（オーディオビット深度２４ｂｉｔ以上）などの優れたオーディオ情報を有する、のうちの1つ又は複数の性質に符合する画像であり、
ステップ（ａ）とステップ（ｂ）の間に、劣化モジュールによって該訓練原画像を劣化させてその画質を低下させ、
サンプリング（sampling）によって、解像度を低下させる（７２０ｐ、１０８０ｉ以下まで低下）、カット（croｐ）方式で視野を縮小する（視野の１２０度以下に縮小する、又は元アスペクト比１６：９の画像を４：３にカットする）、フレームを破棄してフレームレートを下げる（３０ＦＰＳ以下まで低下）、抽出方式で両目立体情報を単一画面に取り出し、視覚的奥行き情報を破棄し、音声信号をステレオ２チャンネルに変換する、サンプリング周波数の低減（２２．１ｋＨｚ以下）、解像度の低減（１６ｂｉｔ以下）、ノイズの追加（ガウス（Gaussian）、ラプラシアン（Laplacian）ノイズなど）、ぼかし（ガウスぼかしなど）、のうちの１つ以上の性質を満たす劣化訓練原画像を得る、画像劣化処理を行うステップを追加し、
ステップ（ｂ）において、該劣化した訓練原画像を該エンコーダにより複数の該訓練符号化画像に符号化して圧縮する、請求項２４に記載の方法。
【請求項２６】
ステップ（ｄ）において、該訓練モードにおいて、該人工ニューラルネットワークモジュールは、該訓練復号画像の複数のフレームを受け取り、該訓練出力画像の少なくとも１つのフレームを生成して出力し、さらに、ステップ（Ｄ）において、クライアント端末装置において、該ＡＩ強化モジュールは、該復号画像の複数のフレームを受信し、それに応じて該強化画像の少なくとも１つのフレームを出力する、請求項２４に記載の方法。
【請求項２７】
前記人工ニューラルネットワークモジュールは、前記訓練復号画像及び音声信号を受信して処理し、前記ＡＩ強化モジュールは、前記復号画像及び他の音声信号を受信して処理する、請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像媒体の品質(画質)を向上させる方法に関し、特に、クライアント端末装置に組み込まれ、事前訓練を経た人工知能（Artificial Intelligent；ＡＩ）強化モジュールによって画像媒体品質を向上させる方法に関する。
【背景技術】
【０００２】
近年、ネットワークオンラインゲームは、世界中で人気が高まっている。クラウドベースのコンピューティング関連システム及び技術の発展において、サーバによってゲームコンテンツをストリーミングし、サービスを提供する技術も開発されている。
【０００３】
このようなクラウドオンラインゲームサービスを提供する従来の方法は、サーバに略全ての演算を実行させることである。言い換えれば、オンラインゲームサービスを提供する時、特定のアプリケーションがサーバ内で実行され、多くの３Ｄ（３次元）オブジェクトを含む仮想３Ｄ環境を生成し、それは、プレイヤーによって制御されるか、動かされることができる３Ｄオブジェクトを含む。そして、プレイヤーの制御結果に応じて、サーバは、３Ｄオブジェクト及び仮想３Ｄ環境をプレイヤーの装置に表示するための２Ｄ（２次元）ゲーム画面にレンダリングする。次に、サーバはレンダリングされたイメージコード（Encode）を２Ｄビデオストリームに圧縮し、それをプレイヤーの装置に送信する。プレイヤー装置は、受信した２Ｄビデオストリームを復号し、次いでそれを「再生」するだけでよく、３Ｄレンダリングを実行する必要がない。しかしながら、そのようなクラウドベースのオンラインゲームサービスには、注意すべきいくつかの問題がまだあり、例えば、多数のプレイヤーに３Ｄレンダリングプログラムを提供する時のサーバの高負荷、符号化圧縮及びストリーミングプログラムによる画質の低下、及びネットワーク経由で２Ｄビデオストリームを送信することによって消費される大量の通信帯域幅である。
【０００４】
画質を低下させる問題を解決するための従来の方法は、サーバ側のゲームアプリケーションプログラムによって生成された原画像の解像度を改善し、画像を送信する時のビットレート（Bitrate）を改善する、即ちサーバの原画像を２Ｄビデオストリームに符号化する時の圧縮率（CompressionRatio）を低減することである。しかしながら、当然、そうすることは、サーバの負荷及び帯域幅の消費量が何れも画像の高解像度及び高伝送ビットレートのために、顕著に増加する。例えば、フレームレート及び符号化圧縮率がともに固定値である場合、サーバ側のゲームアプリケーションプログラムによって生成された原画像の解像度が７２０ｐから１０８０ｐに増加すると、サーバの演算負荷及び必要なネットワーク伝送ビットレートが何れも２．２５倍に増加する。相対して、サーバの負荷やネットワークの帯域幅消費を減らそうとすると、ゲーム画像の画質が犠牲になる。従って、完璧な画質と経済的な帯域幅消費の両方を達成することは困難である。
【０００５】
この問題を解決するもう１つの方法は、サーバ側のゲームアプリケーションによって生成された原画像の解像度を下げること、又は原画像をより高い圧縮率で２Ｄビデオストリームに符号化すること、あるいはその両方である。これにより、ゲーム画像の画質は犠牲になるが、ネットワークで伝送される２Ｄビデオストリームの帯域幅費量が削減される。同時に、クライアント端末装置で画像強化技術が使用される。一旦、２Ｄビデオストリームが受信されると、クライアント端末装置は、ビデオストリームを符号化し、画像強化技術により画像の視覚効果を改善する。
ヒストグラム等化（Histogram equalization；ＨＥ）は、簡単さと効率性を有するので、画像コントラストを改善するための最もよく用いられる方法の１つである。しかしながら、ＨＥは、過度のコントラスト強化及び特徴喪失問題を引き起こし、不自然な外観及び処理された画像詳細の損失を招く。さらに、ＨＥだけでなく、当技術分野で知られている他の全ての画像強化技術も同じジレンマに遭遇し、即ち、それらは全て同じセットのアルゴリズムを使用して完全に異なる画像内容を有する様々な画像を処理しようと試みるが、このような考え方は、実現不可能である。
クラウドオンラインゲームサービスを例にとると、サーバによって生成された原画像の画面コンテンツは、ゲームシーンの変化によって大きく変化する。例えば、都市のゲームシーンの原画像は、多くの簡単且つ明瞭な輪郭と、異なるが概ね同系色の色とを含ませることができる。１つの暗い洞窟のゲームシーンでは、ゲームの原画像を単調でトーンが低く色度値が低い色で満たし、不規則だが目立たない景観の輪郭にする。緑豊かな庭園のシーンは、ゲームの原画像に多くの鮮やかでカラフルなオブジェクトを含ませ、詳細で複雑な輪郭をもたせる。疑いの余地なく、完全に異なる画像コンテンツを有する様々な異なるシーンに対して良好な画像強化を提供することができる従来の強化技術は存在しない。
【０００６】
また、これらの従来の画像強化技術のもう１つの欠点は、これらの従来の画像強化技術の数学演算式は、コントラスト、シャープネス、飽和度などの画像の画面効果を改善することができるが、これらの演算式及びそのパラメータは、何れも完全にサーバが生成する原画像と関連しない。従って、これらの従来の画像強化技術の強化過程は、強化された後の画像を対応する原画像に視覚的に近づけることは決してなく、従ってクライアント端末のゲームプレイヤーはサーバ側のゲームアプリケーションプログラムによって生成された原画像の画面効果を完全に享受することはできない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１４−１１６８９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従って、本発明の目的は、画像媒体の品質を向上させる方法を提供することである。この方法では、クライアント端末装置に内蔵され、事前訓練を経た人工知能（ＡＩ）強化モジュールを利用し、ビデオストリームの品質を向上させる。該ＡＩ強化モジュールは、サーバ内のニューラルネットワークにより事前訓練を実行し、サーバによって生成された原画像と圧縮された圧縮画像との間の差を分析する。ＡＩ強化モジュールは、サーバによって生成された原画像と圧縮された圧縮画像との間の差を分析することによって得られた数学演算式を使用して、圧縮画像の品質を向上させる。これによって、改善された画像は、圧縮された画像よりも視覚的に原画像に近くなる。
【０００９】
本発明のもう１つの目的は、サーバの計算負荷を軽減し、クライアント端末装置によって再生される画像の品質を改善し、サーバとクライアント端末装置との間の伝送帯域幅の消耗を節減することができる画像媒体の品質を向上させる方法を提供することである。
【００１０】
本発明のさらにもう１つの目的は、画像媒体の品質を向上させる方法を提供することであり、サーバによって生成された原画像は、複数の異なるシーン（scene-mode）に属し、異なるシーンの原画像は、異なる画像コンテンツを有する。異なるシーンの原画像に対応する解凍画像は、同じＡＩ強化モジュールによってシーンに対応する異なる重み付けパラメータ（weighted parameters）を使用して画像強化処理が行われたものである。従って、本発明の方法は、全く異なる画像内容を有する様々な原画像に対して良好で安定した画像強化効果を提供することができる。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明の画像媒体の品質を向上させる方法の実施例は、以下を含む。
ステップ（Ａ）：サーバで第１アプリケーションを実行する。該第１アプリケーションは、少なくとも１つのコマンドに従って複数の原画像を生成する。該複数の原画像は、該サーバ内のエンコーダによって符号化及び圧縮されて、複数の符号化画像が生成される。
ステップ（Ｂ）：該サーバから離れたクライアント端末装置において第２アプリケーションを実行する。該第２アプリケーションは、第１アプリケーションに関連しており、且つ連携している。これにより、該クライアント端末装置は、ユーザに操作させて該コマンドを生成して該サーバに送信させることができる。
ステップ（Ｃ）：該クライアント端末装置は、ネットワークを介して該コマンドを該サーバに送信し、次いで、該サーバによって生成され且つ該コマンドに対応する該符号化画像を、ネットワークを介して受信する。
ステップ（Ｄ）：該クライアント端末装置は、該符号化画像を複数の復号画像に復号し、ＡＩ強化モジュールを用いて該復号画像の品質を向上させて複数の強化画像を生成する。該ＡＩ強化モジュールは、該復号画像と対応する原画像との間の差を分析することによって得られる少なくとも１つの数学演算式によって該復号画像を処理する。これにより、得られた該強化画像は、該復号画像よりも視覚的に該原画像に更に近くなる。
ステップ（Ｅ）：該クライアント端末装置は、該強化画像をスクリーンに出力し、再生される出力画像とする。
【００１２】
実施例において、該ＡＩ強化モジュールの該少なくとも１つの数学演算式は、該サーバ内の人工ニューラルネットワークモジュールによって実行される訓練プログラムによって定義され、この訓練プログラムは以下を含む。
ステップ（ａ）：訓練モードで該第１アプリケーションを実行し、複数の訓練原画像を生成する。
ステップ（ｂ）：該エンコーダによって該訓練原画像を複数の訓練符号化画像に符号化する。
ステップ（ｃ）：該サーバ内の訓練デコーダを使用することによって該訓練符号化画像を複数の訓練復号画像に復号する。
ステップ（ｄ）：該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも１つの訓練数学演算式を使用して該訓練復号画像を１つずつ処理して複数の訓練出力画像を生成する。該少なくとも１つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。
ステップ（ｅ）：比較訓練モジュールによって該訓練出力画像と対応する該訓練原画像との間の差を比較し、それに応じて該少なくとも１つの訓練数学演算式の該訓練重み付けパラメータを調整する。該訓練重み付けパラメータは、該訓練出力画像と対応する該訓練原画像との間の差を最小化するように調整される。該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、少なくとも１つの訓練数学演算式にフィードバックされて、ステップ（ｄ）において、次の該訓練復号画像を処理する。
【００１３】
ここで、所定数の該訓練出力画像が対応する訓練原画像と比較され、所定回数の該訓練重み付けパラメータの調整が行われた後、最後に得られた該訓練重み付けパラメータが、該クライアント端末装置の該ＡＩ強化モジュール内に適用され、その数学演算式の重み付けパラメータとされる。
【００１４】
実施例において、該訓練復号画像と該訓練出力画像が同じカラーフォーマットを有する場合、該人工ニューラルネットワークモジュールは、残差復号ネットワークモジュールである。そしてステップ（ｄ）において、各該訓練出力画像は、対応する該訓練復号画像と、該残差復号ネットワークモジュールが該訓練復号画像を処理した出力との合計である。
【００１５】
実施例において、ステップ（ｅ）において、該比較訓練モジュールは、弁別器（Discriminator）を用いて該訓練出力画像と対応する該訓練原画像との間の差を比較し、それに応じて生成的対抗ネットワーク損失（generative adversarial networks loss；ＧＡＮ  loss）を収束させ、該訓練重み付けパラメータを調整する。
【００１６】
実施例において、該比較訓練モジュールの該弁別器は、以下の方式で訓練されている。
該訓練原画像は、ｎチャネルを含み、ｎは２より大きい正の整数であり、該訓練復号画像は、ｍチャネルを含み、ｍは２より大きい正の整数である。
ステップ（ｄ）において、該人工ニューラルネットワークモジュールは、該ｍチャネルの訓練復号画像を処理し、ｎチャネルの訓練出力画像を生成する。該ｎチャネルの訓練出力画像とそれに対応するｍチャネル訓練復号画像とを組み合わせて、複数のｍ＋ｎチャネルを有する模擬偽サンプル（false samples）を生成する。そして、該ｎチャネルの訓練原画像と対応する該ｍチャネルの訓練復号画像の両者を結合して、ｍ＋ｎチャネルを有する複数の模擬真サンプルを生成する。
ステップ（ｅ）において、該ｍ＋ｎチャネルの模擬偽サンプルと該ｍ＋ｎチャネルの模擬真サンプルとを該比較訓練モジュールの弁別器にフィードバックして、該弁別器の該擬似偽サンプルと該模擬真サンプルを検出及び識別する能力を訓練させる。
【００１７】
実施例において、該訓練原画像のカラーフォーマットは、ＹＵＶ４２０であり、該訓練復号画像のカラーフォーマットは、ＲＧＢ又はＹＵＶ４２０である。
ステップ（ｄ）において、該人工ニューラルネットワークモジュールは、第１ニューラルネットワーク及び第２ニューラルネットワークを含む。該第２ニューラルネットワークは、畳み込みニューラルネットワーク（ConvolutionalNeuralNetwork；ＣＮＮ）である。該第１ニューラルネットワークは、該訓練原画像を受け取って処理し、該訓練原画像と同じ符号化フォーマットを有する複数の第１出力画像Ｘ２を生成する。該第２ニューラルネットワークは、該第１出力画像Ｘ２を受け取って処理して、複数の第２出力画像を生成する。該第１出力画像Ｘ２と該第２出力画像の両者が加算されて該訓練出力画像を生成する。
ステップ（ｅ）において、該比較訓練モジュールは、第１比較器と第２比較器を含む。該第１比較器は、該第１出力画像Ｘ２と対応する該訓練原画像との間の差を比較し、該第１ニューラルネットワークを訓練する。該第２比較器は、該訓練出力画像と対応する該訓練原画像との間の差を比較し、該第２ニューラルネットワークを訓練する。
【００１８】
実施例において、ステップ（ｄ）の該第１ニューラルネットワークがＹＵＶ４２０カラーフォーマットの訓練復号画像を受信し処理するステップは以下を含む。
該訓練復号画像内のＹ部分データを抽出し、訓練復号画像のＹ部分データを標準サイズの該第１ニューラルネットワークによって処理してＹ部分出力データを生成する。
該訓練復号画像内のＵＶ部分データを抽出し、該訓練復号画像のＵＶ部分データを２倍の倍率を有する該第１ニューラルネットワークによって処理して、Ｎチャネルを有するＵＶ部分出力データを生成する。
該Ｙ部分出力データと該ＵＶ部分出力データを加算し、該訓練出力画像を生成する。
【００１９】
実施例において、ステップ（ｄ）の該第１ニューラルネットワークがＹＵＶ４２０カラーフォーマットの該訓練復号画像を受信し処理するステップは以下を含む。
該訓練復号画像は、Ｎチャネルを含み、Ｎは、２より大きい正の整数である。
該訓練復号画像内のＹ部分データを抽出する。
該訓練復号画像内のＵＶ部分データを抽出し、２倍に拡大された該第１ニューラルネットワークを用いて該訓練復号画像のＵＶ部分データを処理して、Ｎ−１チャネルを有するＵＶ部分出力データを生成する。
結合関数Concat（concatenates）によって該Ｙ部分データ及び該ＵＶ部分データを処理し、該訓練出力画像を生成する。
【００２０】
実施例において、該クライアント端末装置の該ＡＩ強化モジュールの該少なくとも１つの数学演算式は、複数の重み付けパラメータを含む。該重み付けパラメータは、該復号画像と対応する該原画像との間の差に関連付けられ、且つ該サーバ内の人工ニューラルネットワークモジュールによって実行される訓練プログラムによって定義される。該重み付けパラメータは、以下のうちの１つである：該クライアント端末装置に予め記憶され、該クライアント端末装置が該第２アプリケーションを実行する時に該サーバから該クライアント端末装置にダウンロードされる。
【００２１】
実施例において、該第１アプリケーションプログラムによって生成された該原画像は、複数組のシーンに区分されることができ、各シーンは、複数の該原画像を含む。
クライアント端末装置内の該ＡＩ強化モジュールによって使用される該重み付けパラメータも複数組に区分され、各組は、それぞれ複数の重み付けパラメータを含み、シーンの１つに対応する。
異なる該シーンの該原画像に対応する該復号画像は、同じ該ＡＩ強化モジュールによって該異なる組の重み付けされたパラメータ内の該シーンに対応する該組の重み付けパラメータ使用して画像強化処理される。
ここで、該異なる組の重み付けパラメータが全てクライアント端末装置に予め記憶されている場合、該シーンが変化するたびに、変化した新しいシーンに対応する該組の重み付けパラメータは、強化画像を生成するために該ＡＩ強化モードに適用される。
ここで、異なる組の重み付けパラメータが全てサーバ側に記憶されている場合、該シーンが変化するたびに、変化した新しいシーンに対応する該組の重み付けパラメータがサーバによって該クライアント端末装置にダウンロードされ、それから、強化画像を生成するために該ＡＩ強化モードに適用される。
【００２２】
実施例において、該訓練モードにおいて、該複数の訓練原画像は高品質画像である。該高品質訓練原画像は、以下の１つ以上の性質に符合する画像である。例えば、（性質１）４Ｋ以上のより高い解像度（Resolution）を有し、例えば、（性質２）１５０度以上のより大きな視野（field of view；ＦＯＶ）を有し、例えば、（性質３）６０ＦＰＳ以上の高いフレームレート（ＦＰＳ）を有し、（性質４）両目立体情報（stereo vision）を有し、（性質５）視覚的奥行き情報を有し、例えば、（性質６）赤外光又は紫外光などの追加の色情報を有し、（性質７）マルチチャネル、高サンプリング周波数（４４ｋＨｚ以上）、又は高解像度（オーディオビット深度２４ｂｉｔ以上）などの優れたオーディオ情報を有する。
ステップ（ａ）とステップ（ｂ）の間に以下のステップを追加する。画像劣化処理。劣化モジュールによって該訓練原画像を劣化させてその画質を低下させ、下記の１つ以上の性質を満たす劣化訓練原画像を得る。サンプリング（sampling）によって、解像度を低下させる（７２０ｐ、１０８０ｉ以下まで低下）、カット（ｃｒｏｐ）方式で視野を縮小する（視野の１２０度以下に縮小する、又は元アスペクト比１６：９の画像を４：３にカットする）、フレームを破棄してフレームレートを下げる（３０ＦＰＳ以下まで低下）、抽出方式で両目立体情報を単一画面に取り出し、視覚的奥行き情報を破棄し、音声信号をステレオ２チャンネルに変換する、サンプリング周波数の低減（２２．１ｋＨｚ以下）、解像度の低減（１６ｂｉｔ以下）、ノイズの追加（ガウス（Gaussian）、ラプラシアン（Laplacian）ノイズなど）、ぼかし（ガウスぼかしなど）。
ステップ（ｂ）において、該劣化した訓練原画像を該エンコーダにより複数の該訓練符号化画像に符号化して圧縮する。
【００２３】
実施例において、ステップ（ｄ）において、該訓練モードにおいて、該人工ニューラルネットワークモジュールは、該訓練復号画像の複数のフレームを受け取り、該訓練出力画像の少なくとも１つのフレームを生成して出力する。さらに、ステップ（Ｄ）において、クライアント端末装置において、該ＡＩ強化モジュールは、該復号画像の複数のフレームを受信し、それに応じて該強化画像の少なくとも１つのフレームを出力する。
【００２４】
実施例において、該人工ニューラルネットワークモジュールは該訓練復号画像と音声信号を受信して処理し、該ＡＩ強化モジュールは、該復号画像ともう１つの音声信号を受信して処理する。
【００２５】
上記の目的を達成するために、本発明が提供する画像媒体の品質を向上させる方法のもう１つの実施例は、以下を含む。
ＡＩ強化モジュールを含むクライアント端末装置を提供し、該ＡＩ強化モジュールは予め定義された少なくとも１つの数学演算式を含み、且つ該少なくとも１つの数学演算式は、少なくとも１つの重み付けパラメータを含む。該少なくとも１つの数学演算式の少なくとも１つの重み付けパラメータは、サーバ内の人工ニューラルネットワークモジュールによって実行される訓練プログラムによって事前に定義される。
該クライアント端末装置によって複数の符号化画像を受信する。
該クライアント端末装置は、該符号化画像を複数の復号画像に復号し、該ＡＩ強化モジュールの少なくとも１つの数学演算式及び少なくとも１つの重み付けパラメータを用いて該復号画像を処理して、複数の強化画像を生成する。
該クライアント端末装置は、再生される出力画像として該強化画像をスクリーンに出力する。
【００２６】
上記の目的を達成するために、本発明の画像媒体の品質を向上させる方法の更にもう１つの実施例は、以下を含む。
クライアント端末装置を用いて複数の符号化画像を復号し、複数の符号化画像は、複数の原画像を符号化することにより生成される。
該クライアント端末装置は、複数の符号化画像を複数の復号画像に復号し、ＡＩ強化モジュールを使用して復号画像の品質を向上させて複数の強化画像を生成する。該ＡＩ強化モジュールは、該復号画像と対応する原画像との間の差を分析することによって得られた少なくとも１つの数学演算式によって該復号画像を処理する。これによって、得られた該強化画像は、該復号画像よりも視覚的に該原画像に近くなる。
該クライアント端末装置は、再生される出力画像として該強化画像をスクリーンに出力する。
該クライアント端末装置の該ＡＩ強化モジュールの該少なくとも１つの数学演算式は、複数の重み付けパラメータを含む。該重み付けパラメータは、該復号画像と対応する該原画像との間の差に関連付けられる。
該原画像は、複数組のシーンに区分されることができ、各シーンは、複数の該原画像を含む。
クライアント端末装置内の該ＡＩ強化モジュールによって使用される該重み付けパラメータも複数組に区分され、各組は、それぞれ複数の該重み付けパラメータを含み、そのうち１つの該シーンに対応する。
該クライアント端末装置は、該ＡＩ強化モジュールを使用して該復号画像の品質を向上させて複数の強化画像を生成するステップにおいて、異なる該シーンの該原画像に対応する該復号画像は、同じ該ＡＩ強化モジュールによって該異なる組の該重み付けパラメータ内の該シーンに対応する該組の重み付けパラメータを使用して画像強化処理を実行する。
【発明の効果】
【００２７】
画像媒体の品質を向上させる方法は、クライアント端末装置に内蔵された事前訓練された人工知能（ＡＩ）強化モジュールを用い、ビデオストリームの品質を向上する。該ＡＩ強化モジュールは、サーバ内のニューロンネットワークを用いて事前訓練を実行し、サーバによって生成された原画像と圧縮された圧縮画像との間の差を分析する。ＡＩ強化モジュールは、サーバによって生成された原画像と圧縮された圧縮画像との間の差を分析することによって得られた数学演算式を使用して、圧縮画像の品質を向上させる。それによって、向上された画像は、該圧縮された画像よりも視覚的に原画像に近くなる。
【図面の簡単な説明】
【００２８】
【図１】本発明のネットワークを介して送信されるビデオストリームの品質を向上させるシステムの説明図である。
【図２】本発明のネットワークを介して送信されるビデオストリームの品質を向上させるシステムアーキテクチャの実施例の説明図である。
【図３】本発明のネットワークを介して送信されるビデオストリームの品質を向上させる方法の実施例の説明図である。
【図４】本発明による人工ニューラルネットワークモジュール１０５の訓練プログラムの第１実施例の説明図である。
【図５】本発明による人工ニューラルネットワークモジュール１０５の訓練プログラムの第２実施例の説明図である。
【図６】本発明による人工ニューラルネットワークモジュール１０５の訓練プログラムの第３実施例の説明図である。
【図７】図６に示す弁別器の訓練プログラムの実施例の説明図である。
【図８】本発明のニューラルネットワークの訓練過程の実施例を開示し、ここで、原画像はＹＵＶ４２０であり、出力画像はＲＧＢ又はＹＵＶ４２０である。
【図９】本発明のＹＵＶ４２０フォーマットを有する復号画像を処理するプログラムの実施例の説明図である。
【図１０】本発明のＹＵＶ４２０フォーマットを有する復号画像を処理するプログラムのもう１つの実施例の説明図である。
【図１１】本発明の人工ニューラルネットワークモジュールの訓練プログラムのもう１つの実施例（第４実施例）の説明図である。
【図１２】本発明の人工ニューラルネットワークモジュールの訓練プログラムのもう１つの実施例（第５実施例）の説明図である。
【図１３】本発明のビデオストリームの品質を向上させる方法のもう1つの実施例の説明図である。
【図１４】本発明の人工ニューラルネットワークモジュールの訓練プログラムのもう１つの実施例（第６実施例）の説明図である。
【図１５】本発明のビデオストリームの品質を向上させる方法の更にもう1つの実施例の説明図である。
【図１６】本発明の人工ニューラルネットワークモジュールの訓練プログラムのもう１つの実施例（第７実施例）の説明図である。
【図１７】本発明のビデオストリームの品質を向上させる方法のまた更にもう1つの実施例の説明図である。
【図１８】本発明の人工ニューラルネットワークモジュールの訓練プログラムのもう１つの実施例（第８実施例）の説明図である。
【図１９】本発明のビデオストリームの品質を向上させる方法のまたまた更にもう1つの実施例の説明図である。
【図２０】本発明のＹＵＶ４２０フォーマットの復号画像を処理するプログラムの更にもう１つの実施例の説明図である。
【発明を実施するための形態】
【００２９】
本発明は、クライアント端末装置に組み込まれ、事前訓練された人工知能（ＡＩ）強化モジュールを使用してビデオストリームの品質を向上させる方法に関する。該ＡＩ強化モジュールは、サーバ内のニューロンネットワークを用いて事前訓練を実行し、サーバによって生成された原画像と圧縮された圧縮画像との間の差を分析する。ＡＩ強化モジュールは、サーバによって生成された原画像と圧縮された圧縮画像との間の差を分析することによって得られた数学演算式を使用して、圧縮画像の品質を向上させる。これによって、向上された画像は、該圧縮画像よりも視覚的に該原画像に近くなる。
【００３０】
本発明の用途の１つは、プレイヤーがクライアント端末装置を使用してネットワークを介してサーバに接続し、サーバによって提供されるゲームをプレイするクラウドベースのオンラインゲーム（cloud-based online games）である。サーバは、プレイヤーによって入力されたコマンドに応答して対応するビデオ画像を生成することができる。
従って、例えば、プレイヤーは、クライアント端末装置で移動のコマンドを実行することができる。移動コマンドは、ネットワークを通してサーバに送信され、次にサーバは移動コマンドに従って画像を計算し、該画像をクライアント端末装置に返送し、再生する。多くのゲームでは、サーバは、可視範囲内の位置する幾つかの３Ｄレンダリングオブジェクトを含む２Ｄ画像を生成する。
【００３１】
図１を参照し、それは、本発明のネットワークを介して送信されるビデオストリームの品質を向上させるシステムを説明している。サーバ１は、該サーバ１上で実行されるアプリケーションによってサービスを提供することに適用され、該サービスは、クラウドオンラインゲームサービスであり得るが、これに限定されない。複数のクライアント端末装置２１、２２、２３は、ネットワーク４を介してサーバ１に接続（ログイン）し、該サーバ１上で実行されている該アプリケーションが提供するサービスを使用することができる。
本実施例において、該ネットワーク４はインターネット（Internet）であり、且つ該クライアント端末装置２１、２２、２３は、スマートフォン２１、デジタルタブレット、ノートブックコンピュータ２２、デスクトップコンピュータ２３、電子ゲーム機、あるいはスマートテレビ（ただし、これらに限定されない）などの任意の種類のネットワーク接続可能な電子装置であることができる。一部のクライアント端末装置２１、２２は、無線通信基地局３又は無線ルータ３０を介してネットワーク４に無線接続され、その他は、ネットワークルータ又はネットワーク共有装置を介してネットワーク４に有線接続される。
サーバ１上で実行されているアプリケーションは、複数の３Ｄオブジェクトを含む仮想３Ｄ環境を生成し、３Ｄオブジェクトの幾つかはユーザの操作に応じて移動又は破壊されることができるが、他の幾つかは、そうすることができない。好適実施例において、アプリケーションは、クライアント端末装置ごとに独立した動作インスタンスを持つ。即ち、各アプリケーションは、クライアント端末装置にサービスを提供するだけであるが、該サーバ１内で複数のアプリケーションを同時に実行し、複数のクライアント端末装置にサービスを提供することができる。該クライアント端末装置２１、２２、２３は、ネットワーク４を介して該サーバ１に接続され、該アプリケーションによって生成された３Ｄオブジェクトの少なくとも一部を含む画面を受信する。本発明のシステムアーキテクチャ及び機能は、図２及びそれに関連する説明を通して詳細に説明する。
【００３２】
図２は、本発明のシステムアーキテクチャの実施例の説明図である。アプリケーション（Ａｐｐ）１００は、メモリ１０１に格納され、サーバ１（通常は３Ｄゲームプログラム）上で実行され、一連の原画像からなる３Ｄ画面のレンダリング結果を生成することができる。コード１０２及びストリーム１０３は、それぞれアプリケーション１００によって生成された原画像を受信し、それを２Ｄビデオストリームに符号化及びストリーミングすることができる符号化モジュール及びストリーミングモジュールである。該２Ｄビデオストリームは、サーバのネットワーク装置１０４を経由してネットワーク４を介して遠隔に配置されたクライアント端末装置２に送信される。各クライアント端末装置２は、それぞれ予めアプリケーション２００をインストールしており、該アプリケーション２００は、クライアント端末装置２のメモリ２０１に記憶され、サーバ１上のアプリケーション１００と関連付けられ、連携できる。
クライアント端末装置２のアプリケーション２００は、サーバ１上のアプリケーション１００と接続を確立し、ネットワークモジュール２０２によって、該サーバ１から該符号化された２Ｄビデオストリームを受信することができる。該符号化された２Ｄビデオストリームは、次に該復号モジュール２０３によって復号されて復号画像が生成される。これらの符号化、ストリーミング及び復号のプログラムにより、復号画像の品質は明らかに原画像よりはるかに悪い。クライアント端末装置２に組み込まれたＡＩ強化モジュール２０４は、それらの復号画像の品質を向上させ、対応する強化画像を生成することができる。
該ＡＩ強化モジュール２０４は、該復号画像と対応する該原画像との間を比較した差を分析することによって得られる少なくとも１つの数学演算式によって該復号画像を処理する。これにより、得られた強化画像は、復号画像よりも視覚的に原画像に近くなる。その後、該強化画像は、出力モジュール２０５を介して、クライアント端末装置２のスクリーン（表示パネル）に出力（再生）される。本発明において、該クライアント端末装置２のＡＩ強化モジュール２０４によって使用される数学演算式は、サーバ１上に配置された人工ニューラルネットワーク（Artificial Neural Network）モジュール１０５によって実行される訓練プログラムにより定義される。人工ニューラルネットワークモジュール１０５は、該サーバ１内に設けられ、人工ニューラルネットワーク１０６、復号モジュール１０７、及び比較訓練モジュール１０８を含む。本発明の人工ニューラルネットワークモジュール１０５の該訓練プログラムの実施例については後で詳細に説明する。
【００３３】
図３は、本発明のネットワークを介して送信されるビデオストリームの品質を向上させる方法の実施例の説明図である。図２及び図３に示すように本発明のシステム及びアーキテクチャを利用することにより、該方法は、大まかに以下のステップを含む。
【００３４】
ステップ３０１：サーバで第１アプリケーションを実行する。該第１アプリケーションは、少なくとも１つの指示に従って複数の原画像を生成する（ステップ３０２）。その後、該原画像がサーバ内のエンコーダによって符号化及び圧縮され（ステップ３０３）、複数の復号画像が生成される。該符号化された画像は、２Ｄビデオストリームのタイプでネットワークを介してクライアント端末装置に送信される（ステップ３０４）。
【００３５】
サーバから離れたクライアント端末装置内で第２アプリケーションを実行する（ステップ３０５）。該第２アプリケーションは、該第１アプリケーションと関連付けられ、連携し、これによって該クライアント端末装置は、ユーザに操作させ、コマンドを生成してサーバに発生させ、サーバの第１アプリケーションによって提供されるサービスを享受させることができる。該クライアント端末装置は、ネットワークを介して該コマンドをサーバに送信し、ネットワークを介して該サーバが生成し且つ該コマンドに対応する符号化画像を受信する。
次に、クライアント端末装置は、該符号化画像を複数の復号画像に復号し（ステップ３０６）、ＡＩ強化モジュールを使用して復号画像の品質を向上させ（ステップ３０７）、複数の強化画像を生成する。該ＡＩ強化モジュールは、該復号画像と対応する該原画像との間の差を分析することによって得られる少なくとも１つの数学演算式によって復号画像を処理する。これにより、得られた強化画像は、復号画像よりも視覚的に原画像に近くなる。その後、該クライアント端末装置は、再生されるべき出力画像として該強化画像をスクリーン（表示パネル）に出力する（ステップ３０８）。
【００３６】
本発明において、クライアント端末装置内のＡＩ強化モジュールによって使用される少なくとも１つの数学演算式は、複数の重み付きパラメータ（Weighted Parameters）を含む。該重み付けパラメータは、該復号画像と対応する該原画像との間の差に関連付けられ、サーバ内の人工ニューラルネットワークモジュールによって実行される訓練プログラムによって定義される。本発明の実施例において、該重み付けパラメータは、予めクライアント端末装置に格納されている。もう１つの実施例において、該重み付けパラメータは、クライアント端末装置が該第２アプリケーションを実行する時、該サーバから該クライアント端末装置にダウンロードされる。
【００３７】
本発明の実施例において、サーバによって生成された原画像に含まれる画面コンテンツは、ゲームシーンの違いに応じて劇的に変化する。例えば、都市のゲームシーンは、多くの簡単且つ明確な外観輪郭と、異なるが概ね同系色の色を含むゲームの原画像を有することができる。もう１つの暗い洞窟のゲームシーンでは、ゲームの原画像は単調でトーンが低く色度が低い色で満たされるが、不規則だが目立たない景観の輪郭になる。また、別の緑豊かな庭園のシーンは、ゲームの原画像に多くの鮮やかでカラフルなオブジェクトを含み、詳細で複雑な輪郭を持たせる。
本発明の方法は、これらの異なるゲームシナリオに適応するために異なる重み付けパラメータを用い、これによって、同じＡＩ強化モジュールによって向上された出力画像の品質が高品質かつ安定したレベルを維持することができ、原画像の画像コンテンツでさえも劇的に変化させる。
【００３８】
好適には、該第１アプリケーションによって生成された該原画像は、複数組のシーン（scene-modes）に区分されることができ、各シーンは、それぞれ複数の該原画像を含む。該重み付けパラメータも複数組に区分され、各組は、それぞれ複数の重み付けパラメータを含み、そのうち１つの該シーンに対応する。異なるシーンの原画像に対応する該復号画像は、同じＡＩ強化モジュールによって該異なる組の重み付けパラメータ内の該シーンに対応する重みの該組の重み付けパラメータを用いて、画像強化処理が施される。
本発明の実施例において、該異なる組の重み付けパラメータは全てクライアント端末装置に予め記憶されており、シーンが変化するたびに、変化した新しいシーンに対応する該組の重みのパラメータが該ＡＩ強化モジュールに適用され、該強化画像を生成する。もう１つの実施例において、該異なる組の重み付けパラメータは、全て該サーバ側に格納され、該シーンが変化するたびに、変化した新しいシーンに対応する該組の重み付けパラメータがサーバからクライアント側に送信され、その後、該ＡＩ強化モジュールに運用され、該強化画像を生成させる。
【００３９】
図４は、本発明に記載の人工ニューラルネットワークモジュール１０５の訓練プログラムの第１実施例の説明図である。本発明において、該クライアント端末装置２のＡＩ強化モジュール２０４によって使用される数学演算式は、サーバ１内の該人工ニューラルネットワークモジュール１０５によって実行される訓練プログラムによって訓練され定義される。該訓練プログラムは、以下のステップを含む。
【００４０】
ステップ４００：訓練モードで該第１アプリケーションを実行し、複数の訓練原画像を生成する（ステップ４０１）。
【００４１】
ステップ４０２：該訓練原画像が該エンコーダによって複数の訓練符号化画像に符号化される。
【００４２】
ステップ４０３：サーバ内の訓練デコーダを使用することによって該訓練符号化画像を複数の訓練復号画像に復号する。
【００４３】
ステップ４０４：該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも１つの訓練数学演算を使用して該訓練復号画像を１つずつ処理して複数の訓練出力画像を生成する（ステップ４０５）。該少なくとも１つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。
【００４４】
ステップ４０６：該訓練出力画像と対応する該訓練原画像との間の差を該比較訓練モジュールによって１つずつ比較し、それに応じて該少なくとも１つの訓練数学演算式の該訓練重み付けパラメータを調整する。該訓練重み付けパラメータは、該訓練出力画像と対応する該訓練原画像との間の差を最小にするように調整される。該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、該少なくとも１つの訓練数学演算式にフィードバックされ、ステップ４０４において、次の訓練復号画像を処理させる。所定数の訓練出力画像と対応する訓練原画像との比較、所定数の訓練重み付けパラメータの調整プログラムを実行した後、最後に訓練を完了した後に得られる該訓練重み付けパラメータ（ステップ４０７）は、取り出され、該クライアント端末装置のＡＩ強化モジュールに適用され、その数学演算式の重み付けパラメータとされる。
【００４５】
本発明の第１実施例において、該訓練復号画像は該人工ニューラルネットワークモジュールに入力されて対応する該訓練出力画像を生成する。そして、該訓練出力画像と対応する該訓練原画像とを比較して差値を算出する。そして、例えばＡｄａｍアルゴリズム、確率勾配降下法（Stochastic gradient descent;SGD）、又は前方二乗平均平方根勾配降下法（Root Mean Square Propagation；ＲＭＳＰｒｏｐ）等の数学最適化法により前記人工ニューラルネットワークの重み付きパラメータ（一般に重み付きweight ｗ、バイアスbias  ｂと称される）を学習し、それによって差値が可能な限り小さくなるし、これによって、該訓練出力画像は、対応する訓練原画像に更に近くなることができる。
異なる要求に応じて異なる方法が該差値（又は近似値）を計算することに用いられることができ、例えば、平均二乗誤差（mean square error；ＭＳＥ）、Ｌ１正規化（Ｌ１  regularization）（絶対値の誤差を利用absolute value error）、ピーク値信号対ノイズ比（peak signal-to-noise ratio；ＰＳＮＲ）であり、構造類似性（structure similarity；ＳＳＩＭ）、生成対抗ネットワーク損失（generative adversarial networks loss；ＧＡＮ  ｌｏｓｓ）及び／又はその他の方法などである。第１実施例において、以下の方法を使用して差値を計算する。（１）ＭＳＥ、Ｌ１、及びＧＡＮ  lossの重み付け平均；（２）ＭＳＥ；（３）ＧＡＮ  ｌｏｓｓ並びに同時に弁別器（Discriminator）を訓練する；（４）  ＭＳＥの重み付け平均及びＭＳＥの辺縁（Edge of  ＭＳＥ）。該訓練プログラムの詳細については後述する。
【００４６】
図５は、本発明による人工ニューラルネットワークモジュール１０５の訓練プログラムの第２実施例の説明図である。本発明において、該第２実施例の訓練プログラムは以下のステップを含む。
【００４７】
ステップ４１０：訓練モードで該第１アプリケーションを実行して複数の訓練原画像を生成する（ステップ４１１）。ここで、該訓練原画像のカラーフォーマットはカラー三原色（ＲＧＢ）である。
【００４８】
ステップ４１２：該訓練原画像を該エンコーダによって複数の訓練コード画像に符号化する。
【００４９】
ステップ４１３：サーバ内の訓練デコーダを使用することによって該訓練符号化画像を複数の訓練復号画像に復号する。
【００５０】
ステップ４１４：該第２実施例において、該訓練復号画像と該訓練出力画像のカラーフォーマットが同じである（本第２実施例において両方ともＲＧＢである）場合、残差ネットワークモジュール（residual network module）は、畳み込みニューラルネットワーク（Convolutional Neural Network；ＣＮＮ）とも称され、該人工ニューラルネットワークモジュールにおいて使用され得る。対応する訓練復号画像を処理するための該残差ネットワークモジュールの出力は、該対応する訓練復号画像と合計される（summed up）（ステップ４１５）。次に、該残差ネットワークモジュールの出力と該対応する訓練復号画像との合計の結果が訓練出力画像として出力される（ステップ４１６）。
【００５１】
ステップ４１７：該比較訓練モジュールを使用することによって、該訓練出力画像と対応する該訓練原画像との間の差を逐一比較し（差値を計算する）、それに従って該少なくとも１つの訓練数学演算式の該訓練重み付けパラメータを調整する。該訓練重み付けパラメータは、該訓練出力画像と対応する該訓練原画像との間の差を最小にするように調整される。該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータが該人工ニューラルネットワークにフィードバックされて、ステップ４１４において、次の訓練復号画像が処理される。所定数の訓練出力画像と対応する訓練原画像との比較、所定数の訓練重み付けパラメータの調整プログラムを行った後、最後に訓練を完了した後に得られる該訓練重み付けパラメータ（ステップ４１８）が取り出され、その数学演算式のパラメータの重み付けとして該クライアント端末装置のＡＩ強化モジュールに適用される。
【００５２】
図６は、本発明の人工ニューラルネットワークモジュール１０５の訓練プログラムの第３実施例の説明図である。第３実施例において、該比較訓練モジュールは、弁別器（Discriminator）を使用して、該訓練出力画像と対応する該訓練原画像との間の差を比較し、それに応じて該訓練重み付けパラメータを調整する。該第３実施例の訓練プログラムは、以下のステップを含む。
【００５３】
ステップ４２０：訓練モードで該第１アプリケーションを実行して複数の訓練原画像を生成する（ステップ４２１）。ここで、該訓練原画像はｎ個のチャネルを含み、ｎは２より大きい正の整数である。
【００５４】
ステップ４２２：該訓練原画像を該エンコーダによって複数の訓練符号化画像に符号化する。
【００５５】
ステップ４２３：サーバ内の訓練デコーダを使用することによって該訓練符号化画像を複数の訓練復号画像に復号し、訓練復号画像は、ｍ個のチャネルを含み、ｍは２より大きい正の整数である。
【００５６】
ステップ４２４：該人工ニューラルネットワークモジュールは、該訓練復号画像（ｍチャネル）を受け取り、少なくとも１つの訓練数学演算式を使用することによって該訓練復号画像を１つずつ処理し、複数の訓練出力画像（ｎチャネル）を生成する（ステップ４２５）；該少なくとも１つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。該訓練出力画像（ｎチャネル）と対応する訓練復号画像（ｍチャネル）とを組み合わせて（ステップ４２６）、複数の訓練合成画像（ｍ＋ｎチャネルを有する）を生成する。次に、訓練合成画像は、訓練出力画像の品質を分析するために弁別器にフィードバックされ（ステップ４２７）、これによって該人工ニューラルネットワークを訓練する。
【００５７】
図７は、図６に示す弁別器の訓練手順の実施例の説明図である。該弁別器の訓練プログラムは、以下のステップを含む。
【００５８】
ステップ４３０：訓練モードで該第１アプリケーションを実行して複数の訓練原画像を生成する（ステップ４３１）。ここで、該訓練原画像は、ｎ個のチャネルを含み、ｎは２より大きい正の整数である。
【００５９】
ステップ４３２：該訓練原画像をエンコーダによって複数の訓練符号化画像に符号化する。
【００６０】
ステップ４３３：サーバ内の訓練デコーダによって該訓練符号化画像を複数の訓練復号画像に復号する。ここで、該訓練復号画像は、ｍ個のチャネルを含み、ｍは２より大きい正の整数である。
【００６１】
ステップ４３４：該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも１つの訓練数学演算を使用し、訓練復号画像（ｍチャネル）を１つずつ処理し、複数の訓練出力画像を生成する（ステップ４３５）。該少なくとも１つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。該訓練出力画像はｎ個のチャネルを含む。
【００６２】
ステップ４３６：該ｎチャネルの訓練出力画像と対応する該ｍチャネルの訓練復号画像との両者を組み合わせて、ｍ＋ｎチャネルを有する複数の偽サンプル（false samples）を生成する。そして、該ｎチャネルの訓練原画像と対応する該ｍチャネルの訓練復号画像との両者を組み合わせて、ｍ＋ｎ個のチャネルを有する複数の真のサンプル（true samples）を生成する（ステップ４３７）。
【００６３】
ステップ４３８：該ｍ＋ｎチャネルの模擬偽サンプル及び該ｍ＋ｎチャネルの模擬真サンプルを、比較訓練モジュールの弁別器にフィードバックして、弁別器の模擬偽サンプル及び模擬真サンプルを検出及び識別する能力を訓練させる。
【００６４】
該人工ニューラルネットワークモジュール１０５（図２に示す）がサーバ１側で適切に訓練された後、得られた重み付けパラメータ（重みweight  ｗ、バイアスbias  ｂ）がクライアント端末装置内のＡＩ強化モジュール２０４に適用される。該ＡＩ強化モジュール２０４及びそれに関連する重み付けパラメータ（重みweight  ｗ、バイアスbias  ｂ）は、該クライアント端末装置２に格納される。その後、該クライアント端末装置が、サーバから２Ｄビデオストリームに含まれる符号化画像を受信して復号するたびに、該符号化画像の各々は、該ＡＩ強化モジュールによって処理されて強化画像を生成する。
その後、該クライアント端末装置は、該強化画像を出力画像としてそのスクリーン上に再生する。該ニューラルネットワークは、画像の色、明るさ、及び詳細を学習し、向上させることができる。原画像の一部の細節は、符号化及びストリーミングの過程で損傷又は消失するので、適切に訓練されたニューラルネットワークはこれらの損傷又は消失した詳細を修復することができる。本発明の実施例において、ＡＩ強化モジュールのニューラルネットワークは、動作するために以下の情報を必要とする。
【００６５】
関連機能とパラメータ：
Ｘ：入力画像。
Ｃｏｎｖ２ｄ（Ｘ、ａ、ｂ、ｃ、ｄ、ｗ、ｂ）：Ｘで実行される。出力チャネル数はａである（amount of output channeｌ＝ａ）。コアサイズはｂである（kernel_size＝ｂ）。ストライド値はｃである（stride＝ｃ）。パディングサイズは２ｄ畳み込みであり、そのバイアスはｄである（padding size＝２ｄ  convolution with bias of  ｄ）。該訓練の重み付けパラメータは、コアｗ（kernel  ｗ）とバイアスｂ（bias  ｂ）である。
Conv２ｄTranspose（Ｘ、ａ、ｂ、ｃ、ｗ、ｂ））：Ｘで実行される。出力チャネル数はａである（amount of output channel＝ａ）。コアサイズはｂである（kernel_size＝ｂ）。ストライド値はｃである（stride＝ｃ）。クロップサイズは２ｄ転置畳み込みで、そのバイアスはｄである（cropping size＝  ２ｄ  transpose convolution with bias of  ｄ）。訓練の重み付けパラメータは、コアｗ（kernel  ｗ）とバイアスｂ（bias  ｂ）である。
σ（Ｘ）：Ｘに作用する非線形活性化関数。
ｕｉｎｔ８（ｘ）：浮動小数点ｘの値を０から２５５（２５５を含む）の間で制御及び制限することに用いられ、ｕは無条件丸めメソッドを使用し、unsigned  int８に変換する。
Ｒ（Ｘ、ｗ）：多くのconv２ｄ及びbatchnormを含むＸで動作する残差ブロック（residual block)であり、それぞれが訓練のための独自の重み付けパラメータを含む（詳細については、次のＷｅｂサイトを参考とすることができる。https://stats.stackexchange.com/questions/ 246928/what-exactly-is-a-residual-learning-block-in-the-context-of-deep-residual-networ）。
【００６６】
入力画像及び出力画像は、ＲＧＢ、ＹＵＶ４２０、ＹＵＶ４４４などのような異なる色フォーマットを有することができるので、以下に異なる色フォーマットを有する入力画像及び出力画像について検討する。
【００６７】
第１の状況：原画像はＲＧＢ、出力画像もＲＧＢである。
【００６８】
入力画像と出力画像の両方がＲＧＢ画像であるため、この状況は最も単純である。処理速度を向上させるために、比較的大きなコアサイズ（例えば、８×８、ストライド値ｓｔｒｉｄｅ＝４で構造中に畳み込み及び転置畳み込みされる）を使用してできるだけ早く計算を加速し、フルＨＤ画像の高解像度に対応する。この場合、残差ネットワーク（Residual network）を用いて収束をより容易により安定させる。
【００６９】
関連機能とパラメータ：
Ｘ：ＲＧＢフォーマットの入力画像。各色はunsigned  int８フォーマットである。
【００７０】
2020010331.tif 000003
【００７１】
Ｙ＝ｕｉｎｔ８（（Conv２ｄTranspose（σ（Conv２ｄ（Ｘ２、ａ、ｂ、ｃ、ｄ、ｗ＿１、ｂ＿１））、ｗ＿２、ｂ＿２）＋Ｘ２）×１２８＋１２８）。
【００７２】
Ｗ_１は、サイズがｂ*ｂ*３*ａの行列であり、ｂ_１は、サイズがａのベクトルである。
Ｗ_２は、サイズがｂ*ｂ*３*ａの行列であり、ｂ_２は、サイズが３のベクトルである。
【００７３】
使用されるパラメータは、以下を含む：
Ｘの解像度は１２８０×７２０である。
ａ＝１２８，ｂ＝１０，ｃ＝５，ｄ＝０，σ＝leaky relu with alpha＝０．２。
ａ＝１２８，ｂ＝９，ｃ＝５，ｄ＝４，σ＝leaky relu with alpha＝０．２。
ａ＝１２８，ｂ＝８，ｃ＝４，ｄ＝０，σ＝leaky relu with alpha＝０．２。
【００７４】
前記クライアント端末装置の処理速度が速い場合は、次の数学演算式を使用できる。
【００７５】
Ｙ＝uint８（（Conv２ｄTranspose（Ｒ（σ（Conv２ｄ（Ｘ２，  ａ，ｂ，ｃ，ｄ，ｗ＿１，ｂ＿１）），ｗ＿Ｒ），ｗ＿２，ｂ＿２）＋Ｘ２）＊１２８＋１２８）
【００７６】
Ｗ_１はサイズがｂ*ｂ*３*ａの行列で、ｂ_１はサイズがａのベクトルである。
Ｗ_２はサイズがｂ*ｂ*３*ａの行列で、ｂ_２はサイズが３のベクトルである。
ここで、Ｒはｎ層を有する残差ブロック（residual blocks）である。
そのうちに、多くのニューラルネットワーク層を含み、各層が訓練された重み付けパラメータを有し、これをまとめてｗ_Ｒと称する。
【００７７】
使用されるパラメータは、以下を含む。
ａ＝１２８，ｂ＝８，ｃ＝４，ｄ＝０，σ＝leaky relu with alpha＝０．２；ｎ＝２。
ａ＝１２８，ｂ＝８，ｃ＝４，ｄ＝０，σ＝leaky relu with alpha＝０．２；ｎ＝６。
【００７８】
第２の状況：原画像は、ＹＵＶ４２０、出力画像は、ＲＧＢ又はＹＵＶ４４４である。
【００７９】
原画像入力がＹＵＶ４２０で、出力画像がＲＧＢ又はＹＵＶ４４４の場合、入力画像と出力画像の解像度とフォーマットが異なるため、残差ネットワーク（Residual network）をこの状況に直接適用することはできない。
本発明の方法は、最初にＹＵＶ４２０の入力画像を復号し、次に別のニューラルネットワーク（Ａネットワークと称され、Ｎ＝３である）を使用し、復号画像を処理し、ＲＧＢ又はＹＵＶ４４４フォーマットの画像（Ｘ２と称される）を取得する。次に、Ｘ２画像は、第１の状況に記載されたニューラルネットワーク（残差ネットワーク）に送られ、訓練される。また、同じ訓練方法をＡネットワークにも適用して、Ｘ２と原画像との間の差を比較し、それによってＡネットワークを訓練する。
【００８０】
Ｘ_ｙは、ＹＵＶ４２０フォーマットの入力画像のＹであり、そのフォーマットはunsigned int８である。
Ｘ_ｕｖはＹＵＶ４２０フォーマットの入力画像を持つＵＶで、そのフォーマットはunsigned int８である。
【００８１】
2020010331.tif 000004
【００８２】
Ｘ２＝Ｃｏｎｖ２ｄ（Ｘ２＿ｙ，３，ｅ，１，ｗ＿ｙ，ｂ＿ｙ）＋Conv２ｄTranspose（Ｘ２＿ｕｖ，３，ｆ，２，ｗ＿ｕｖ，ｂ＿ｕｖ）  
【００８３】
Ｗ_ｙは、サイズがｅ*ｅ*１*３の行列で、ｂ_ｙは、サイズが３のベクトルである。
Ｗ_ｕｖは、サイズがｆ*ｆ*３*２の行列で、ｂ_ｕｖは、サイズが３のベクトルである。
【００８４】
上記はＡネットワーク（ニューラルネットワーク数Ａ）の第１実施例である。
最後に、該出力画像の出力に用いられる数学式と前述の第１の状況の入力画像と出力画像が何れもＲＧＢフォーマットである場合に用いられる数学式は同じである。
【００８５】
Ｙ＝uint８（（Conv２ｄTranspose（σ（Conv２ｄ（Ｘ２，ａ，ｂ，ｃ，ｄ，ｗ＿１，ｂ＿１）），ｗ＿２，ｂ＿２）×１２８＋１２８） 
【００８６】
Ｗ_１は、サイズがｂ*ｂ*３*ａの行列で、ｂ_１は、サイズがａのベクトルである。
Ｗ_２は、サイズがｂ*ｂ*３*ａの行列で、ｂ_２は、サイズが３のベクトルである。
使用されるパラメータは、前述と同様に、入力画像と出力画像が両方ともＲＧＢフォーマットの場合に使用されるパラメータと同じである。
Ｘの解像度は１２８０×７２０である。
ａ＝１２８，ｂ＝８，ｃ＝４，ｄ＝０，ｅ＝１，ｆ＝２，σ＝leaky relu with alpha＝０．２；
ａ＝１２８，ｂ＝８，ｃ＝４，ｄ＝０，ｅ＝１，ｆ＝２，σ＝leaky relu with alpha＝０．２。
【００８７】
図８を参照し、それは、本発明のニューラルネットワークの訓練過程の実施例が開示しており、ここで原画像は、ＹＵＶ４２０であり、出力画像は、ＲＧＢ又はＹＵＶ４２０である。該ニューラルネットワークの訓練過程は、以下のステップを含む。
【００８８】
ステップ４４０：訓練モードで第１アプリケーションを実行して複数の訓練原画像を生成する。ここで、該訓練原画像はＲＧＢ又はＹＵＶ４４４フォーマットである。
【００８９】
ステップ４４１：該訓練原画像を該エンコーダによって複数の訓練符号化画像に符号化する。 
【００９０】
ステップ４４２：サーバ内の訓練デコーダを使用することによって該訓練符号化画像を複数の訓練復号画像に復号する；ここで、訓練復号画像はＹＵＶ４２０フォーマットである。
【００９１】
ステップ４４３：該人工ニューラルネットワークモジュールは、第１ニューラルネットワーク及び第２ニューラルネットワークを含む。該第１ニューラルネットワーク（Ａネットワークとも称される）は、該訓練復号画像を受け取り、少なくとも１つの訓練数学演算式を使用して該訓練復号画像（ＹＵＶ４２０）を１つずつ処理し、複数の第１出力画像Ｘ２（Ｘ２とも称される。ステップ４４４）において、それは該訓練原画像と同じ符号フォーマットを有する。該少なくとも１つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。 
【００９２】
ステップ４４５：第２ニューラルネットワークは、畳み込みニューラルネットワークネットワーク（Convolutional Neural Network；ＣＮＮ）である。第２ニューラルネットワーク（ＣＮＮ）は、第１出力画像Ｘ２を受け取り、該少なくとも１つの訓練用数学演算式を使用して該第１出力画像Ｘ２を１つずつ処理し、複数の第２出力画像を生成する。該少なくとも１つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。次に、該第１出力画像Ｘ２と該第２出力画像の両者が加算され（ステップ４４６）、訓練出力画像が生成される（ステップ４４７）。
【００９３】
該比較訓練モジュールは、第１比較器と第２比較器を備える。ステップ４４８において、該第１比較器は、第１出力画像Ｘ２とその対応する訓練原画像との間の差を比較し、該第１ニューラルネットワークを訓練する。ステップ４４９において、第２比較器は、訓練出力画像とその対応する訓練原画像との間の差を比較し、第２ニューラルネットワークを訓練する。
【００９４】
図９は、本発明によるＹＵＶ４２０フォーマットを有する復号画像を処理するためのプログラムの実施例の説明図である。本発明のＹＵＶ４２０フォーマットで復号画像を処理するためのプログラムは以下を含む。
【００９５】
ステップ４５１：該第１ニューラルネットワークがＹＵＶ４２０カラーフォーマットの訓練復号画像を受信し処理するステップは、以下のステップを含む。
【００９６】
ステップ４５２：該訓練復号画像のＹ部分データを抽出し、該訓練復号画像のＹ部分データを標準サイズ（元のサイズ）のニューラルネットワークで処理し、ＮチャネルのＹ部分出力データを生成する（例えば、ストライド値Stride＝１の畳み込み；ステップ４５４）。
【００９７】
ステップ４５３：訓練復号画像中のＵＶ部分データを抽出し、そして該訓練復号画像のＵＶ部分データを二倍拡大ニューラルネットワークによって処理して、Ｎチャネルを有するＵＶ部分出力データを生成する（例えば、ストライド値Stride＝２の転置畳み込み；ステップ４５５）。
【００９８】
ステップ４５６：該Ｙ部分出力データを該ＵＶ部分出力データに加算して該訓練出力画像を生成する（ステップ４５７）。
【００９９】
第３の状況：原画像は、ＹＵＶ４２０であり、出力画像は、ＹＵＶ４４４であり、別のより速い方法で処理される。
【０１００】
入力画像がＹＵＶ４２０であり、出力画像がＹＵＶ４４４である場合、前述の方法に加えて該第１ニューラルネットワーク（Ａネットワーク）を実施する別の方法があり、これはより速い速度を伴う特例である。ＹＵＶ４２０フォーマットの復号画像は、まず第１ニューラルネットワーク（Ａネットワーク）によってＹＵＶ４４４フォーマット画像（Ｘ２とも称される）に変換される。その後、Ｘ２が前述のニューラルネットワーク（残差ネットワーク）に送られ、訓練される。さらに、同じ訓練方法がＡネットワークにおいても実施され、Ｘ２と原画像との間の差を比較し、Ａネットワークを訓練する。
【０１０１】
Ｘ_ｙは、ＹＵＶ４２０フォーマットの入力画像のＹであり、そのフォーマットは、unsigned int８である。
Ｘ_ｕｖは、ＹＵＶ４２０フォーマットの入力画像のＵＶであり、そのフォーマットは、unsigned int８である。
【０１０２】
2020010331.tif 000005
【０１０３】
Ｘ３＿ｕｖ＝Conv２ｄTranspose（Ｘ２＿ｕｖ，２，２，２，ｗ＿ｕｖ，ｂ＿ｕｖ）
【０１０４】
Ｗ_ｕｖは、サイズが２*２*２*２の行列で、ｂ_ｕｖは、サイズが２のベクトルである。
Ｘ２＝cancat（Ｘ２＿ｙ、Ｘ３＿ｕｖ）
【０１０５】
上記は、Ａネットワーク（ニューラルネットワークＡ）のもう１つの実施例であり、ここでは、"concat"関数は、チャネルの方向に従って該入力を接続する。
【０１０６】
最後に、該出力画像の出力に使用される数学式と前述の第１の場合の入力画像と出力画像が何れもＲＧＢフォーマットの場合に使用される数学式と同じである。
【０１０７】
Ｙ＝uint８（（Conv２ｄTranspose（σ（Conv２ｄ（Ｘ２、ａ、ｂ、ｃ、ｄ、ｗ＿１、ｂ＿１））、ｗ＿２、ｂ＿２）×１２８）１２８）。 
【０１０８】
Ｗ_１は、サイズがｂ*ｂ*３*ａの行列で、ｂ_１は、サイズがａのベクトルである。
Ｗ_２は、サイズがｂ*ｂ*３*ａの行列で、ｂ_２は、サイズが３のベクトルである。
【０１０９】
使用されるパラメータは、入力画像と出力画像が両方ともＲＧＢフォーマットの場合に使用されるパラメータと同じである。
Ｘの解像度は１２８０×７２０である。
ａ＝１２８，ｂ＝１０，ｃ＝５，ｄ＝０，σ＝leaky relu with alpha＝０．２；
ａ＝１２８，ｂ＝９，ｃ＝５，ｄ＝４，σ＝leaky relu with alpha＝０．２；
ａ＝１２８，ｂ＝８，ｃ＝４，ｄ＝０，σ＝leaky relu with alpha＝０．２。
【０１１０】
図１０は、本発明のＹＵＶ４２０フォーマットの復号画像を処理するプログラムのもう１つの実施例の説明図である。図１０に示すように、本発明のＹＵＶ４２０フォーマットの復号画像を処理するためのプログラムは以下を含む。
【０１１１】
ステップ４６１：該第１ニューラルネットワークは、以下のステップにより、ＹＵＶ４２０カラーフォーマットの訓練復号画像を受け取り、処理する。ここで、該訓練復号画像は、Ｎチャネルを含み、Ｎは、２より大きい正の整数である。
【０１１２】
ステップ４６２：該訓練復号画像内のＹ部分データを抽出してＹ部分出力データを生成する。
【０１１３】
ステップ４６３：該訓練復号画像内のＵＶ部分データを抽出し、訓練復号画像のＵＶ部分データを処理してＮ−１チャネルのＵＶ部分出力データを生成する（例えば、ストライド値Stride＝２の転置畳み込み；ステップ４６４）。
【０１１４】
ステップ４６５：マージ関数Concat（concatenates）によって該Ｙ部分データ及び該ＵＶ部分データを処理し、該訓練出力画像が生成する（ステップ４６６）。
【０１１５】
第４の状況：原画像は、ＹＵＶ４２０、出力画像は、ＹＵＶ４２０である。
【０１１６】
入力画像がＹＵＶ４２０であり、出力画像もＹＵＶ４２０である場合、処理は上述のＲＧＢからＲＧＢへの方法と同様になる。ただし、入力フォーマットと出力フォーマットが異なるため、チャネルごとに異なる畳み込み方法が適用される。例えば、ニューラルネットワークのコアサイズが８×８でストライド値strideが４であり、画像のＹ部分を処理する場合、該ニューラルネットワークをコアサイズ４ｘ４及びストライド値strideを２に変更して画像のＵＶ部分を処理することができる。
【０１１７】
Ｘ_ｙは、ＹＵＶ４２０フォーマットの入力画像のＹであり、そのフォーマットはunsigned int８である。
Ｘ_ｕｖは、ＹＵＶ４２０フォーマットの入力画像のＵＶであり、そのフォーマットはｕnsigned int８である。
【０１１８】
2020010331.tif 000006
【０１１９】
Ｘ３＝σ（Ｃｏｎｖ２ｄ（Ｘ２＿ｙ，ａ，ｂ，ｃ，ｗ＿ｙ，ｂ＿ｙ）Conv２ｄ（Ｘ２＿ｕｖ，ａ，ｂ／２，ｃ／２，ｗ＿ｕｖ，ｂ＿ｕｖ））
【０１２０】
Ｗ_ｙは、サイズがｂ*ｂ*１*ａの行列で、ｂ_ｙはサイズがａのベクトルである。
Ｗ_ｕｖは、サイズが（ｂ／２）*（ｂ／２）*２*ａの行列で、ｂ_ｕｖはサイズがａのベクトルである。
【０１２１】
Ｘ４＿ｙ＝Conv２ｄTranspose（Ｘ３，１，ｂ，ｃ，ｗ＿１，ｂ＿１）Ｘ２＿ｙ；
Ｘ４＿ｕｖ＝Conv２ｄTranspose（Ｘ３，２，ｂ／２，ｃ／２，ｗ＿２，ｂ＿２）Ｘ２＿ｕｖ
【０１２２】
Ｗ_１はサイズがｂ*ｂ*１*ａの行列で、ｂ_１はサイズが１のベクトルである。
Ｗ_２はサイズが（ｂ／２）*（ｂ／２）*２*ａの行列で、ｂ_２はサイズが２のベクトルである。
上記は、Ａネットワーク（ニューラルネットワークＡ）のもう１つの実施例であり、ここでは、"concat"関数はチャネルの方向に従って入力を接続する。
【０１２３】
最後の出力：
Ｙ＿ｙ＝uint８（Ｘ４＿ｙ＊１２８１２８）。
Ｙ＿ｕｖ＝uint８（Ｘ４＿ｕｖ＊１２８１２８）。 
【０１２４】
使用するパラメータ：
ａ＝１２８，ｂ＝８，ｃ＝４，ｄ＝０，ｅ＝２，ｆ＝２，σ＝leaky relu with alpha＝０．２。
【０１２５】
本発明で使用されるパラメータの詳細な説明は以下の通りである。
訓練パラメータ：
重み付けパラメータの初期値は、ガウス分布（Gaussian distribution）に基づき、ｍｅａｎ＝０、ｓｔｄｄｅｖ＝０．０２である。
Ａｄａｍアルゴリズムが訓練プログラムで使用され、学習率は、学習率learning rate＝１ｅ−４，ｂｅｔａ１＝０．９である。
マイクロバッチサイズmini batch size＝１である。
プライマリエラー関数（primary error function）は、次のとおりである。
１００×（Ｌ２×Ｌ２ｅ）λ×Ｌ１γ×Ｄα×Ｌｇ。
使用されるパラメータの標準値は次のとおりである。
λ＝０、γ＝０、α＝０。
λ＝０、γ＝０、α＝１００。
λ＝０、γ＝１、α＝０。
λ＝１０、γ＝０、α＝０。
λ＝１０、γ＝０、α＝１００。
λ＝１０、γ＝１、α＝０。
そのうち、
2020010331.tif 000007
；ここで、meanは、平均値であり、Ｔは訓練目標である。
2020010331.tif 000008
；ここで、meanは、平均値であり、Ｔは訓練目標である。
Ｄは、生成対抗ネットワーク損失（GAN loss）であり、一般的なＧＡＮ訓練方法を使用して、弁別器（Discriminator）を訓練し、（Ｘ、Ｙ）及び（Ｘ、Ｔ）を識別する。
Ｌｇの数学式は、
ＷｘＨの画像の場合、
Ｙ＿ｄｘ（ｉ、ｊ）＝Ｙ（ｉ１、ｊ）−Ｙ（ｉ、ｊ）０≦ｉ＜Ｗ−１，０＜＝ｊ＜Ｈ
Ｔ＿ｄｘ（ｉ、ｊ）＝Ｔ（ｉ１、ｊ）−Ｔ（ｉ、ｊ）０≦ｉ＜Ｗ−１，０＜＝ｊ＜Ｈ
Ｙ＿ｄｙ（ｉ、ｊ）＝Ｙ（ｉ、ｊ１）−Ｙ（ｉ、ｊ）０≦ｉ＜Ｗ，０＜＝ｊ＜Ｈ−１
Ｔ＿ｄｙ（ｉ、ｊ）＝Ｔ（ｉ、ｊ１）−Ｔ（ｉ、ｊ）０≦ｉ＜Ｗ，０＜＝ｊ＜Ｈ−１
【０１２６】
2020010331.tif 000009
【０１２７】
ＲＧＢモードでは、前記訓練ターゲットＴは、ＲＧＢゲーム画像のオリジナルの原画像である。
ＹＵＶ４４４モードでは、訓練ターゲットＴは。ＲＧＢゲーム画像のオリジナルの原画像である。
ＲＧＢ→ＲＧＢ、ＹＵＶ４２０→ＹＵＶ４２０モードでは、Ｌ２ｅ＝０である。
ＹＵＶ４２０→ＲＧＢ及びＹＵＶ４２０→ＹＵＶ４４４モードでは、以下である。
【０１２８】
2020010331.tif 000010
【０１２９】
上記説明から分かるように、本発明は、ネットワークによって伝送される画像媒体の品質を向上させる方法は、以下の利点を有する。
異なるコンテンツを有する様々な画像に従って随時ニューラルネットワークの訓練を維持し、異なる画像コンテンツに対して異なる強化効果を実行することができる。例えば、アニメスタイル、現実的なスタイル又は異なるシーンを有する画像の場合、異なる重み付けパラメータｗ、ｂについて、事前にクライアント端末装置に記憶することができ、又はクライアント端末装置に自動的にダウンロードすることができる。
【０１３０】
原画像がどのモードに属するべきかを決定する方法に関して、サーバ側のニューラルネットワークは原画像のモードを自動的に決定し、そのような情報をクライアント装置に送信することができる。原画像の内容は一貫しているので、この判定過程は、サーバによって定期的に実行でき、例えば１秒ごとに１回実行することができる。しかしながら、もう１つの実施例において、画像モードを判定する過程は、また、クライアント端末装置によって定期的に実行でき、例えば、数秒ごとに１回実行でき、クライアント端末装置の計算能力に応じて決めることができる。
【０１３１】
訓練は、実際のビデオ画像に基づいて行い、実際に強化の向上度を測定できる。例えば、本発明の方法を使用し、１２８０×７２０の解像度及び３０００のビットレートを有するビデオ画像を向上させる場合、同様のシーンのＰＳＮＲ値は、約１．５〜２．２ｄｂ増加することができ、これは本発明の方法が確かに実際に出力画像の品質を向上し、出力画像を原画像の品質に視覚的に近づけることができることを証明できる。さらに、本発明は、従来の画像強化技術が、出力画像のコントラスト、平滑化、及びカラーフィルタリングを増加させるだけであり、本発明のように出力画像を原画像に視覚的に近似させることができないものとは異なる。
【０１３２】
ニューラルネットワークアルゴリズムの単純化されたモデルを使用し、大きなコア及び大きなストライド値を使用することによって、ニューラルネットワークの分解能は急速に低下し、モデルの処理速度は大幅に向上することができる。計算能力が限られているクライアント端末装置でも、６０ｆｐｓとＨＤ解像度の出力画像の目標を達成することができる。
【０１３３】
カラーフォーマット（ＹＵＶ４２０及びＲＧＢ）変換作業をニューラルネットワークに取り入れ、Ｙチャネルよりも低いＵＶチャネルの解像度を利用することで、ＵＶチャネルのストライド値をＹチャネルの半分に設定すると、ニューラルネットワークの計算速度を高めることができる。
【０１３４】
本発明のネットワークによって伝送される画像媒体の品質を向上させる方法は、上記の実施例に加えて、複数の異なる拡張用途を有する。例えば、ディスプレイの解像度を上げる（解像度）、画面のサイズを大きくする、時間解像度を上げる（即ち、フレーム毎秒のフレームレートを上げる）、マルチフレーム入力、予測画面、オフラインアプリケーションなどであり、具体的説明については、後述する。
【０１３５】
図１１を参照し、それは、本発明の人工ニューラルネットワークモジュールの訓練プログラムのもう１つの実施例（第４実施例）の説明図である。本発明では、該クライアント端末装置２のＡＩ強化モジュール２０４によって使用される数学演算式は、サーバ１中の該人工ニューラルネットワークモジュール１０５によって実行される訓練プログラムによって訓練され定義される。図１１に示す訓練プログラムのもう１つの実施例は、以下のステップを含む。
【０１３６】
ステップ５１１：複数の高品質訓練原画像からなる訓練ビデオを訓練モードで提供する。該高品質訓練原画像は、例えば、ゲームソフトウェア又は他のアプリケーションによって生成されたインスタントビデオであることができ、又はメモリに事前に記録された又は事前に記憶されたビデオであることができる（例えば、ＡＶＩ、ＭＫＶ、ＷＭＶ、ＭＰＧ、ＶＯＢ、ＦＬＶ、ＳＷＦ、ＭＯＶ、ＲＭＶＢなどのビデオフォーマットであるが、これに限定するものではない）。本実施例において、該高品質訓練原画像は、比較的良好又は優れた画像品質を有し、例えば、以下の特性のうちの１つ又は複数に適合する画像などである。（ａ）４Ｋ又は８Ｋなどのより高い解像度（Resolution）を有する、（ｂ）例えば１５０度、１８０度、さらには３６０度の視野の比較的広い視野（field of view；ＦＯＶ）、（ｃ）例えば、６０ＦＰＳ又は１２０ＦＰＳなどの高いフレームレート（Frame per Second；ＦＰＳ）、（ｄ）両目立体情報（stereo vision）を有する、（ｅ）視覚的な奥行き情報を有する、（ｆ）赤外線、紫外線などの追加の色情報を有する（参考ＵＲＬ：https://Photo.stackexchange.com/questions/83923/why-dont-cameras-offer-more-than-3-colour-channels-or-do-they）、又は／及び（ｇ）マルチチャネル、高サンプリング周波数（４４ｋＨｚ以上）又は高解像度（audio bit depth  ２４bit or above）などのより良好な音声信号を有する。
【０１３７】
ステップ５１２：画像劣化処理。劣化モジュールによって訓練原画像を劣化させてその画質を低下させ、以下のような、１つ又は複数の性質を満たす劣化した訓練原画像を取得するが、これに限定するものではない。（ａ）サンプリング（sampling）方式で解像度を下げる（７２０ｐ、１０８０ｉ以下まで低減）、（ｂ）トリミング（crop）による視野の縮小（１２０度以下の視野に縮小、又は元のアスペクト比１６：９の画像を４：３にトリミングする）、（ｃ）フレームを破棄する方式でフレームレートを下げる（３０ＦＰＳ以下まで低減）、（ｄ）抽出方式でstereo visionにより単一フレームを取り出す、（ｅ）視覚的奥行き情報を破棄する、（ｆ）音声信号をステレオに変換する、サンプリング周波数を下げ（２２．１ｋＨｚ以下）、解像度を下げる（１６ｂｉｔ以下）、（ｇ）ノイズ（ガウス（Gaussian）、ラプラシアン（Laplacian）ノイズなど）、又は／及び（ｈ）ファジー化（ガウスファジー化など）など。
【０１３８】
ステップ５１３：該劣化訓練原画像がエンコーダによって符号化し、複数の訓練符号化画像に圧縮する。
【０１３９】
ステップ５１４：サーバ内の訓練デコーダを使用することによって、該訓練符号化画像を復号し、複数の訓練復号画像に解凍する。
【０１４０】
ステップ５１５：サーバ内の該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも１つの訓練数学演算を使用して該訓練復号画像を１つずつ処理して複数の訓練出力画像を生成する（ステップ５１６）。該少なくとも１つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。
【０１４１】
ステップ５１７：該比較訓練モジュールにより該訓練出量画像と、ステップ５１１で提供される対応する訓練出力画像との間の差を比較し、それに応じて該少なくとも１つの訓練数学式の該訓練重み付けパラメータを調整する。該訓練重み付けパラメータは、該訓練出力画像と対応する該訓練画像の間の差を最小化するように調整される。該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、ステップ５１５において次の訓練復号画像を処理するために該少なくとも１つの訓練数学演算式にフィードバックされる。所定数の訓練出力画像と対応する訓練原画像との比較、及び所定数の訓練重み付けパラメータの調整プログラムを行った後、最終的に、訓練後に得られた該訓練重み付けパラメータが抽出されて該クライアント端末装置のＡＩ強化モジュール内に適用され、その数学演算式の重み付けパラメータとされる。
【０１４２】
図１１に示す本発明のもう１つの実施例において、該訓練復号画像を人工ニューラルネットワークモジュールに入力して対応する訓練出力画像を生成する。そして、該訓練出力画像と対応する該訓練原画像とを比較して差値を算出する。そして、例えばＡｄａｍアルゴリズム、確率勾配降下法（Stochastic gradient descent；ＳＧＤ）、又は前方二乗平均平方根勾配降下法（Root Mean Square Propagation；ＲＭＳＰｒｏｐ）等の数学最適化法により前記人工ニューラルネットワークの重み付けパラメータ（通常、重み付けweight  ｗ、バイアスbias  ｂと称される）を学習し、該差値が小さくさせるほど好ましく、これにより、該訓練出力画像は、対応する高品質の訓練原画像に更に近くなることができる。
異なる要求に応じて異なる方法が該差値（又は近似値）を計算することに用いられることができ、例えば、平均二乗誤差（mean square error；ＭＳＥ）、Ｌ１正規化（Ｌ１  regularization）（絶対値の誤差を利用absolute value error）、ピーク値信号対ノイズ比（peak signal-to-noise ratio；ＰＳＮＲ）であり、構造類似性（structure similarity；ＳＳＩＭ）、生成対抗ネットワーク損失（generative adversarial networks loss；ＧＡＮ  ｌｏｓｓ）及び／又はその他の方法などである。第１実施例において、以下の方法を使用して差値を計算する。（１）ＭＳＥ、Ｌ１、及びＧＡＮ  lossの重み付け平均；（２）ＭＳＥ；（３）ＧＡＮ  loss並びに同時に弁別器（Discriminator）を訓練する；（４）  ＭＳＥの重み付け平均及びＭＳＥの辺縁（Ｅｄｇｅ  ｏｆ  ＭＳＥ）。
【０１４３】
図１２を参照し、本発明の人工ニューラルネットワークモジュールの訓練プログラムのさらにもう１つの実施例（第５実施例）の説明図である。本実施例の訓練プログラムにおいて、ニューラルネットワークの入力は、１つの画像だけでなく複数の画像でもよい。前の画面の情報を使用して現在の画像を強化すると、より最適化されて原画像に近い増強効果を得ることができる。図１２に示す実施例の訓練プログラムは、以下のステップを含む。
【０１４４】
ステップ５２１：訓練モードで複数の訓練原画像から構成される訓練ビデオを提供する。該訓練原画像は、例えば、ゲームソフトウェア又は他のアプリケーションによって生成されたインスタントビデオであることができ、又はメモリに予め記録された又は予め格納されたビデオであることができる。本実施例において、該訓練原画像の複数のフレームは、Frame（１）、Frame（２）、…、Frame（Ｎ−１）、Frame（Ｎ）で表すことができ、Ｎは正の整数である。
【０１４５】
ステップ５２２：該訓練原画像の画像がエンコーダによって符号化され、複数の訓練符号化画像からなるビデオストリームに圧縮され、そのフレームはそれぞれEncoded_Frame（１）、Ｅncoded_Frame（２）、…、Encoded_Frame（Ｎ）である。１）、Encoded_Frame（Ｎ）で表され、Ｎは正の整数である。
【０１４６】
ステップ５２３：サーバ内の訓練デコーダによって該訓練符号化画像を複数の訓練復号画像に順次復号及び解凍し、そのフレームは、それぞれDecoded_Frame（１）、Decoded_Frame（２）、…、Decoded_Frame、（Ｎ−１）、Decoded_Frame（Ｎ）で表され、ここで、Ｎは正の整数である。そして、Ｎ番目の訓練原画像Frame（Ｎ）と対応するＮ番目の訓練復号画像のフレームの前の１つ又は複数のフレーム、例えば、Decoded_Frame（Ｎ−２）、Decoded_Frame（Ｎ−１）、Decoded_Frame（Ｎ）を抽出し、次のステップ５２４に進む。ここで、Ｎ−２又はＮ−１の値が１未満である場合、Decoded_Frame（１）のフレームにより、Decoded_Frame（Ｎ−２）及びDecoded_Frame（Ｎ−１）に取って代わる。
【０１４７】
ステップ５２４：サーバ内の該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、各訓練原画像（Frame（Ｎ）、ここで、Ｎ＝３、４、５、．．．）を対象とし、少なくとも１つの訓練数学演算式を使用して対応するＮ番目の訓練復号画像及びその前の１つ又は複数の訓練復号画像のフレーム、即ち、Decoded_Frame（Ｎ−２）、Decoded_Frame（Ｎ−１）、Decoded_Frame（Ｎ）を逐一処理し、対応する訓練出力画像のフレームを生成する（ステップ５２５におけるように、Predict_Frame（Ｎ）とも称される）。該少なくとも１つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。言い換えれば、該人工ニューラルネットワークモジュールは、毎回いくつか（例えば、３つ）の訓練復号画像フレームDecoded_Frame（Ｎ−２）、Decoded_Frame（Ｎ−１）、Decoded_Frame（Ｎ）を受け取り、１つの訓練出力画像のフレームPredict_Frame（Ｎ）を出力する（ステップ５２５）。
【０１４８】
ステップ５２６：該比較訓練モジュールによって、該訓練出力画像のフレームPredict_Frame（Ｎ）とステップ５２１で提供される対応する該訓練原画像のフレームFrame（Ｎ）との間の差を比較する。そしてそれに応じて、少なくとも１つの訓練数学演算式の該訓練重み付けパラメータを調整する。該訓練重み付けパラメータは、該訓練出力画像のフレームPredict_Frame(Ｎ）と対応する該訓練原画像のフレームFrame（Ｎ）との間の差を最小にするように調整される。次に、誤差をできるだけ低減するために、数学的最適化アルゴリズム（ＡＤＡＭ／ＳＧＤ／ＲＭＳPropなど）によってニューロンネットワークの重みを学習する。該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、ステップ５２４で、次の訓練復号画像を処理するために少なくとも１つの訓練数学演算式にフィードバックされる。所定数の訓練出力画像が対応する訓練原画像と比較され、所定数の訓練重み付けパラメータが調整された後、最後に得られた訓練重み付けパラメータがクライアント装置に適用される。ＡＩ強化モジュールは、その数学演算式の重み付けパラメータとされる。異なる要求に応じて異なる方法が該差値（又は近似値）を計算することに用いられることができ、例えば、ＭＳＥ（平均二乗誤差）、Ｌ１（絶対値誤差）ＰＳＮＲ（peak signal-to-noise ratio）、ＳＳＩＭ（structure similarity）、ＧＡＮ  loss（generative adversarial networks loss）等である。本発明が実際に使用するものは、以下の幾つかがある。（ｉ）ＭＳＥ、Ｌ１及びＧＡＮ  Lossの重み付け平均；（ｉｉ）ＭＳＥ；（ｉｉｉ）ＧＡＮ  loss（Discriminatorを同時に訓練）；（ｉｖ）ＭＳＥとＥｄｇｅのＭＳＥの重み付け平均。
【０１４９】
図１２に示すように複数の画像を入力して出力画像を生成するニューラルネットワーク訓練プログラムによれば、本発明の画像媒体の品質を向上させる方法の対応する実施例は、図１３に示すようになる。図１３は、本発明のビデオストリームの品質を向上させる方法のさらにもう１つの実施例の説明図であり、それは、以下のステップを含む。
【０１５０】
ステップ５３１：サーバ５０１側で複数の原画像を提供する（該複数の原画像のフレームは、Frame（１）、Frame（２）、…、Frame（Ｎ−１）、Frame（Ｎ）で表すことができ、Ｎは、正の整数である、ステップ５３１）、該原画像は、例えばゲームソフトウェア又は他のアプリケーションによって生成されたインスタントビデオであることができ、又は予めレコーディング製作されたか、メモリに予め記録されたビデオであることができる。その後、該原画像がサーバ５０１内の符号器によって符号化及び圧縮され（ステップ５３２）、そのフレームがそれぞれEncoded_Frame（１）、Encoded_Frame（２）、…、Encoded_Frame（Ｎ−１）、Encoded_Frame（Ｎ）で表され、ここで、Ｎは正の整数である。該符号化された画像は、２Ｄビデオストリームのパターンでネットワークを介してクライアント端末装置に送信される（ステップ５３３）。
【０１５１】
尚、ステップ５３１〜ステップ５３３に記載される実施例は、該符号化画像がネットワークを通して伝送される場合の実施例である。しかしながら、本発明のさらにもう１つの実施例において、該符号化された画像及びその２Ｄビデオストリームも予めレコーディング製作されたか、可携帯式メモリメディア（例えばフラッシュドライブ、コンパクトディスク、ハードディスクなど）に記録されたファイルであってもよく、クライアント端末装置によって該ビデオファイルが直接読み取られて、復号画像又はその２Ｄビデオストリームを得ることができ、ネットワークを介して受信することが必須ではない。言い換えれば、本発明は、クライアント端末装置においてオフライン状態で画質を向上させるためにＡＩ強化モジュールを使用することもでき、携帯用記憶媒体からビデオファイルを読み取った後、ＡＩ強化モジュールによって画質を向上させてから出力再生することができる。従って、本発明の同じニューラルネットワーク訓練方法は、他のソースのビデオ、例えば、カメラによって記録された画像、ファイルにレコーディング製作されたビデオなどに用いることができる。同じニューラルネットワーク及び機械学習方法を使用して、前述のビデオ又は再生中のビデオのビデオ品質も向上することができる。たとえば、４ＫテレビでＤＶＤ解像度の画像を再生したり、ワイドスクリーンテレビで携帯電話にて録画した動画を再生したり、スローモーション再生用のフレームを追加したりすることもできる。
【０１５２】
ステップ５３４：クライアント端末装置５０２は、該符号化画像を受け取り、複数の復号画像に復号し（ステップ５３４）、そのフレームはそれぞれ、Decoded_Frame（１）、Decoded_Frame（２）、…、Decoded_Frame(Ｎ−１）、Decoded_Frame（Ｎ）で表され、ここで、Ｎは正の整数である。そして、Ｎ番目の原画像Frame（Ｎ）と対応するＮ番目の復号画像及びその前の１つ又は複数の訓練復号画像のフレームは、例えばDecoded_Frame（Ｎ−２）、Decoded_Frame（Ｎ−１）、Decoded_Frame（Ｎ）を抽出し、次のステップ５２４に進む。ここで、Ｎ−２又はＮ−１の値が１未満である場合、Decoded_Frame（１）によりDecoded_Frame（Ｎ−２）及びDecoded_Frame（Ｎ−１）に取って代わる。また、ＡＩ強化モジュール（ステップ５３５のように、強化ニューラルネットワークモデルとも称される）を使用して、Ｎ番目の復号画像及び前の１つ又は複数のフレームを入力し、即ち、Decoded_Frame（Ｎ−２）、Decoded_Frame、（Ｎ−１）、Decoded_Frame（Ｎ）を入力し、対応する強化画像を出力画像として生成する（ステップ５３６におけるように、Enhanced_Frame（Ｎ）とも称される）。言い換えれば、該ＡＩ強化モジュールは、いくつか（例えば３つ）の復号画像のフレームDecoded_Frame（Ｎ−２）、Decoded_Frame（Ｎ−１）、Decoded_Frame（Ｎ）の入力を受け取り、ステップ５３６のように、１つの強化画像のフレームEnhanced_Frame（Ｎ）を出力する。そのうち、該ＡＩ強化モジュール内の強化されたニューラルネットワークモデルで使用される少なくとも１つの数学演算式及びその重み付けパラメータは、図１２に示される実施例の訓練プログラムで説明されたものと同じ数学演算式及びその重み付けパラメータである。
【０１５３】
本実施例において、ニューラルネットワークが数学演算式として書かれると、それは次の形式になる。
Ｘ＝Ｄｅｃｏｄｅ（Video stream）。
Ｙ（Ｎ）＝Ｎｅｔｗｏｒｋ（Ｘ（Ｎ−２）、Ｘ（Ｎ−１）、Ｘ（ｎ）、Ｗ）。
ここで、Ｘ＝（Ｘ（１）、Ｘ（２）、Ｘ（３）、．．．）であり、Ｘ（Ｎ）は、解凍されたビデオのＮ番目のフレーム、即ちDecoded_Frame（Ｎ）である。
前記Ｎｅｔｗｏｒｋは、ニューラルネットワーク又は機械学習アルゴリズムである。
Ｗは、訓練された重み付けパラメータである。
Ｙ（Ｎ）は、強化されたＮ番目のフレームであり、即ち、Enhanced_Frame（Ｎ）である。
【０１５４】
図１２及び図１３に示す実施例において、Ｎ番目の復号フレームを含む最初の数フレームがニューラルネットワークの入力値として用いられ、強化後（又は訓練後）のＮ番目のフレームが生成される。しかし、本発明のもう１つの実施例において、Ｎ番目の復号画像のフレーム自体とその前１つ及び後１つのフレーム（即ち、Decoded_Frame(Ｎ−１）、Decoded_Frame（Ｎ）、Decoded_Frame（Ｎ＋１））を用いてニューラルネットワークの入力値としてもよく、これに応じて強化後（又は訓練後）のＮ番目のフレームを生成するか、あるいは入力フレーム数は必ずしも３つではなく、異なる数であってもよい。この実施例に適用されるニューラルネットワークの訓練プログラム及びビデオストリームの品質を向上させる方法における実施方式は、概して、上述の図１２及び図１３に示される実施例と同様であるので、ここでは再度説明しない。
【０１５５】
図１４を参照し、それは、本発明の人工ニューラルネットワークモジュールの訓練プログラムのさらにもう１つの実施例（第６実施例）の説明図である。本実施例の訓練プログラムでは、ニューラルネットワークの入力は単純な画面のみではなく、音声データを含むこともある。図１４に示す実施例の訓練プログラムは、以下のステップを含む。
【０１５６】
ステップ５４１：訓練モードで複数の訓練原画像及び音声信号からなる訓練ビデオを提供し、該訓練原画像及び音声信号は、それぞれFrame（１）、Frame（２）、…、Frame（Ｎ−１）、Frame（Ｎ）で表され、ここで、Ｎは正の整数である。該訓練原画像及び音声は、例えば、ゲームソフトウェア又は他のアプリケーションによって生成されたリアルタイムの映像及び音声であってもよく、予めレコーディング製作されたか、メモリ内に記憶されたビデオ及び音声信号であってもよい。
【０１５７】
ステップ５４２：該訓練原画像の画像及び音声信号をエンコーダによって符号化及び圧縮して複数の符号化フレーム画像及び音声信号からなるビデオストリームにし、それぞれEncoded_Frame（１）、Encoded_Frame（２）、・・・、Encoded_Frame（Ｎ−１）、Encoded_Frame（Ｎ）で表され、ここで、Ｎは正の整数である。
【０１５８】
ステップ５４３：訓練デコーダによって該訓練符号化画像を逐一復号、解凍して複数の訓練復号画像にし、それは、それぞれＤecoded_Frame（１）、Decoded_Frame（２）、・・・、Decoded_Frame（Ｎ−１）、Decoded_Frame（Ｎ）で表され、ここで、Ｎは正の整数である。そして、該訓練符号化ビデオストリームのフレームレート（ＦＰＳ）に従って、復号された音声信号を、複数の所定の長さの時間の音声信号セグメントに分割し、それは、それぞれAudio（１）、Audio（２）、・・・、Audiｏ（Ｎ−１）、Audio（Ｎ）で表し、各音声信号セグメントAudio（Ｎ）を訓練符号化画像Decoded_Frame（Ｎ）に対応させる。例えば、該訓練符号化ビデオストリームのフレームレートが２５ＦＰＳである場合、それは各フレームが１／２５秒、即ち、０．０４秒の音声信号セグメントとマッチングされる必要があることを意味し、従って、ステップ５４３で、受信され復号、解凍された音声信号は、０．０４秒単位で複数の音声信号セグメントに分割される。
【０１５９】
ステップ５４４：該人工ニューラルネットワークモジュールは、該訓練復号画像及び音声信号セグメントを受け取り、少なくとも１つの訓練数学演算を使用してそれらを１つずつ処理し、対応する訓練出力画像及び音声信号セグメントを生成する（ステップ５４５）。該少なくとも１つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。
【０１６０】
ステップ５４６：該比較訓練モジュールによって、該訓練出力画像とステップ５４１で提供されたステップに対応する訓練出力画像Frame（Ｎ）及び原音声信号セグメントとの間の差を比較する。それに応じて、少なくとも１つの訓練数学演算式の該訓練重み付けパラメータが調整される。該訓練重み付けパラメータは、該訓練出力画像及び音声セグメントと対応する該訓練原画像及び音声セグメントとの間の差を最小にするように調整される。本実施例に記載されている重み付けパラメータの調整方法は、上記と同じであるため、ここでは再度説明しない。
【０１６１】
図１４に示される入力は、音声信号セグメントを含む復号された画像は、出力画像及び音声信号セグメントのニューラルネットワーク訓練プログラムを生成し、対応する本発明の画像媒体の品質を向上させる方法の実施例は、図１５に示すとおりである。図１５は、本発明の音声信号を含むビデオストリームの品質を向上させる方法のもう１つの実施例の説明図であり、それは、以下のステップを含む。
【０１６２】
ステップ５５１：サーバ５０１側で複数の原画像及び音声信号を提供する（該複数の原画像は、Frame（１）、Frame（２）、…、Frame（Ｎ−１）、Frame（Ｎ）で表すことができ、ここで、Ｎは正の整数である）。その後、該原画像及び音声がサーバ内のエンコーダによって符号化及び圧縮され（ステップ５５２）、複数の復号画像及び音声信号が生成される。該符号化画像及び音声信号は、音声信号を含む２Ｄビデオストリームのパターンでネットワークを介してクライアント端末装置に送信される（ステップ５５３）。上述したように、他の実施例において、該音声信号を含む符号化された２Ｄビデオストリームは、予めレコーディング製作されたか、携帯式記憶媒体（フラッシュドライブ、ＣＤ、ハードディスクなど）に予め記録された映像ファイルであることもでき、クライアント端末装置によって該映像ファイルを直接読み取って、該音声信号を含む２Ｄビデオストリームを取得することもできる。
【０１６３】
ステップ５５４：クライアント端末装置５０２は、該符号化された画像及び音声信号を受け取り、複数の復号画像及び音声セグメントに復号する。そして、ＡＩ強化モジュール（ステップ５５５のように、強化ニューラルネットワークモデルとも称される）を使用して、Ｎ番目の訓練復号画像及び対応する音声セグメントを入力して、対応する強化画像及び音声セグメント（ステップ５５６のように、Enhanced_Frame（Ｎ）及びEnhanced_Audio（Ｎ）とも称され、Ｎは、正の整数である）を生成し、出力画像及び音声信号とする。そのうち、該ＡＩ強化モジュール内の強化されたニューラルネットワークモデルで使用される少なくとも１つの数学演算式及びその重み付けパラメータは、図１４に示される実施例の訓練プログラムに記載するものと同じ数学演算式及びその重み付けパラメータである。
【０１６４】
本実施例において、ニューラルネットワークが数学演算式として書かれると、それは次の形式になる。
Ｘ＝Decode（Video／Audio stream）；
Ｙ（Ｎ）＝Network（Ｘ（Ｎ−２）、Ｘ（Ｎ−１）、Ｘ（ｎ）、Ｗ）。
ここで、Ｘ＝（Ｘ（１）、Ｘ（２）、Ｘ（３）、．．．）であり、Ｘ（Ｎ）は解凍されたビデオ信号のＮ番目のフレーム及び対応する音声信号セグメントである。
前記Networkは、ニューラルネットワーク又は機械学習アルゴリズムである。
Ｗは、訓練された重み付けパラメータである。
Ｙ（Ｎ）は、強化後のＮ番目のフレーム及び対応する音声信号セグメント、即ち、Enhanced_Frame（Ｎ）及びEnhanced_Audio（Ｎ）である。
【０１６５】
図１６を参照し、それは、本発明の人工ニューラルネットワークモジュールの訓練プログラムのさらにもう１つの実施例の説明図である。本実施例の訓練プログラムでは、ニューラルネットワークの入力をより低いフレームレートの画像とすることができ、より高いフレームレートの画像をニューラルネットワークによって生成することで、ビデオのフレームレートを向上させることができる。図１６に示す実施例の訓練プログラムは、以下のステップを含む。
【０１６６】
ステップ５６１：訓練モードで複数の訓練原画像から構成される訓練ビデオを提供する。訓練原画像は、例えば、ゲームソフトウェア又は他のアプリケーションによって生成されたインスタントビデオであり得るか、又はメモリに予め記録された又は予め格納されたビデオであり得る。本発明では、複数の訓練原画像（訓練ビデオ）は比較的高いフレームレート（例えば６０ＦＰＳ以上）を有し、１秒当たりに含まれるフレームは、Frame（１）、Frame（２）、…、Frame（Ｎ−１）、フレーム（Ｎ）で表され、ここでＮは正の整数である。
【０１６７】
ステップ５６２：該訓練原画像（訓練ビデオ）を、フレームを断続的に廃棄することでフレームレートを低減し、例えば、単数フレーム又は偶数フレームを廃棄することによってレートを下げた後の画像の毎秒に含むフレーム数量を半減させ（即ち、フレームレートは、例えば、３０ＦＰＳまで低減され）、減速後、画像は、Ｌ_Frame（１）、L_Frame（２）、…、L_Frame（Ｍ−１）、L_Frame（Ｍ）で表すことができ、ここで、Ｎ＝２Ｍであり且つＭは正の整数である。言い換えれば、L_Frame（Ｍ）の内容は、Frame（２Ｍ）と同じであり、原画像の２Ｍ−１番目のフレームFrame（２Ｍ−１）は破棄される。続いて、減速後の画像を符号化圧縮した後、復号解凍し、復号後の訓練復号画像を得て、それが毎秒含むフレームは、Decoded_Frame（１）、Decoded_Frame（２）、…、Decoded_Frame（Ｍ−１）、Decoded_Frame（Ｍ）で表すことができる（ステップ５６３）。本実施例において、原画像の半分のフレームが破棄されるので、フレームレートは、６０ＦＰＳから３０ＦＰＳに減少し、従って、訓練された復号画像のＭ番目のフレームDecoded_Frame（Ｍ）は、原画像に対応する２Ｍ番目のフレームFrame（２Ｍ）の符号化し、また復号した後の結果である。
【０１６８】
ステップ５６４：サーバ内の該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも１つの訓練数学演算式を使用して、対応するＭ番目の訓練復号画像及びその前又はその後の１つ又は複数の訓練復号画像、即ち、Decoded_Frame（Ｍ−ｎ）、．．．、Decoded_Frame（Ｍ）、．．．、Decoded_Frame（Ｍ＋ｍ）を逐一処理し、２つの対応する訓練出力画像（ステップ５６５のように、Predict_Frame（Ｎ−１）、Predict_Frame（Ｎ）とも称され、Ｎ＝２Ｍである）を生成する。ここで、ｎ及びｍは０以上の整数であり、Ｍ−ｎが１より小さい場合は、Decoded_Frame（１）によりDecoded_Frame（Ｍ−ｎ）と取り替えられ、且つＭ＋ｎが２Ｍより大きい場合、Decoded_Frame（２Ｍ）によりDecoded_Frame（Ｍ＋ｍ）と取り替えられ、該人工ニューラルネットワークモジュールを入力して処理する。該少なくとも１つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。
言い換えれば、該人工ニューラルネットワークモジュールは、毎回いくつかの（例えば、３つ、４つ又はそれ以上）の入力された訓練復号画像Decoded_Frame（Ｍｎ）、．．．、Decoded_Frame（Ｍ）、．．．、Decoded_Frame（Ｍ＋ｍ）を受け取り、２つの訓練出力画像Predict_Frame（Ｎ−１）、Predict_Frame（Ｎ）を出力する（ステップ５６５）。
【０１６９】
ステップ５６６：該比較訓練モジュールによって、該訓練出力画像Predict_Frame（Ｎ−１）及びPredict_Frame（Ｎ）及びステップ５６１で提供される対応する該訓練原画像Framｅ（Ｎ−１）、Frame（Ｎ）の間の差を比較し、該少なくとも１つの訓練数学演算式の該訓練重み付けパラメータを調整する。該訓練重み付けパラメータは、該訓練出力画像Predict_Frame（Ｎ−１）、Predict_Frame（Ｎ）と対応する該訓練原画像Ｆｒａｍｅ（Ｎ−１）、Ｆｒａｍｅ（Ｎ）との間の差を最小化するように調整される。その後、誤差を最小にするために、ニューロンネットワークの重みが数学的最適化アルゴリズム（ＡＤＡＭ／ＳＧＤ／ＲＭＳＰｒｏｐ）によって学習される。該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、ステップ５６４で、次の訓練復号画像を処理するために該少なくとも１つの訓練数学演算式にフィードバックされる。所定数の訓練出力画像と対応する訓練原画像の比較、及び所定数の訓練重み付けパラメータの調整を行った後、最後に得られた該訓練重み付けパラメータが該クライアント装置のＡＩ強化モジュールに適用され、その数学演算式の重み付けパラメータとされる。
【０１７０】
図１６に示すように複数の画像を入力して出力画像を生成するニューラルネットワーク訓練プログラムに基づき、対応する本発明の画像媒体の品質を向上させる方法の実施例は、図１７に示すようになる。
図１７は、本発明のビデオストリームの品質を向上させる方法のさらにもう１つの実施例の説明図であり、それは、以下のステップを含む。
【０１７１】
ステップ５７１：サーバ５０１側で、比較的低いフレームレート（例えば、３０ＦＰＳ）を有する複数の原画像を提供し（ステップ５７１のように、該複数の原画像は、Frame（１）、Frame（２）、…、Frame（Ｍ−１）、Frame（Ｍ）で表され、Ｍが正の整数である）該原画像は、例えば、ゲームソフトウェア又は他のアプリケーションによって生成されたインスタントビデオであることができ、又は予めレコーディング製作されたか、予めメモリ内に記憶されたビデオであることができる。
その後、該原画像は、サーバ５０１内のエンコーダによって符号化及び圧縮され（ステップ５３２）、それは、それぞれEncoded_Frame（１）、Encoded_Frame（２）、…、Encoded_Frame（Ｍ−１）、Encoded_Frame（Ｍ）で表される。該符号化された画像は、２Ｄビデオストリームのパターンでネットワークを介してクライアント端末装置に送信される（ステップ５７３）。
【０１７２】
ステップ５７４：クライアント端末装置５０２は、該符号化画像を受け入れて複数の復号画像に復号し、そのフレームは、Decoded_Frame（１）、Decoded_Frame（２）、．．．、Decoded_Frame（Ｍ−１）、Decoded_Frame（Ｍ）で表される。そのうち、Ｍ番目の復号画像と、その前後の１つ以上の訓練復号画像、例えば、Decoded_Frame（Ｍ−ｎ）、．．．、Decoded_Frame（Ｍ）、．．．、Decoded_Frame（Ｍ＋ｍ）を抽出し、次のステップ５７５を実行する。ここで、ｎ及びｍは、０以上の整数であり、Ｍ−ｎが１より小さい場合はDecoded_Frame（１）がDecoded_Frame（Ｍｎ）に置き換えられ、Ｍ＋ｍが２Ｍより大きい場合はDecoded_Frame（２Ｍ）がDecoded_Frame（Ｍｍ）に置き換えられ、該人工ニューラルネットワークモジュールを入力して処理する。
その後、ＡＩ強化モジュール（ステップ５７５のように、強化ニューラルネットワークモデルとも称される）を使用して、Ｍ番目の訓練復号画像及びその前後１つ又は複数の訓練復号画像を、即ち、入力Decoded_Frame（Ｍ−ｎ）、…、Decoded_Frame（Ｍ）、…、Decoded_Frame（Ｍ＋ｍ）を入力し、出力画像として２つの対応する強化画像を生成する（ステップ５７６のように、Enhanced_Frame（Ｎ−１）及びEnhanced_Frame（Ｎ）とも称される）。
言い換えれば、該ＡＩ強化モジュールは、いくつかの（例えば、３、４又はそれ以上）の復号画像のフレームDecoded_Frame（Ｍ−ｎ）、…、Decoded_Frame（Ｍ）、…、Decoded_Frame（Ｍ＋ｍ）の入力を受け取り、２つの強化画像のフレームEnhanced_Frame（Ｎ−１）及びEnhanced_Frame（Ｎ）を出力し、ステップ５７６のように、これらの強化画像を６０ＦＰＳの速度で再生する。該ＡＩ強化モジュール内の強化されたニューラルネットワークモデルで使用あれる少なくとも１つの数学演算式及びその重み付けパラメータは、図１６に示される実施例の訓練プログラムで説明されたものと同じ数学演算式及びその重み付けパラメータである。
【０１７３】
本実施例において、ニューラルネットワークが数学演算式として書かれると、それは次の形式になる。
Ｘ＝Decode（３０ＦＰＳVideo streaｍ）。
Ｙ（２Ｍ−１）、Ｙ（２Ｍ）＝Ｎｅｔｗｏｒｋ（Ｘ（Ｍ−ｎ）、・・・、Ｘ（Ｍ）、・・・、Ｘ（Ｍ＋ｎ）、Ｗ）。
ここで、Ｘ＝（Ｘ（１）、Ｘ（２）、Ｘ（３）、．．．）であり、Ｘ（Ｍ）は解凍されたビデオのＭ番目のフレームである。
前記Networkは、ニューラルネットワーク又は機械学習アルゴリズムである。
Ｗは、訓練された重み付けパラメータである。
Ｙ（Ｎ）は、強化後のＮ番目のフレームであり、即ち、Enhanced_Frame（Ｎ）であり、ここでＮ＝２Ｍである。
【０１７４】
図１８を参照し、それは、本発明による人工ニューラルネットワークモジュールのさらなる訓練プロセスの説明図である。ネットワークがフレームを落とす時、この訓練プログラムでは、人工ニューラルネットワークモジュールが自動的に予測されたフレーム（Frame）を埋めるか、失われたフレームを補う機能を有する。本実施例の訓練プログラムにおいて、ニューラルネットワークの入力は、１つの画像だけでなく複数の画像でもよい。前の幾つかの画面の情報を使用して、失われたフレームを補充又は予測する。図１８に示す実施例の訓練プログラムは、以下のステップを含む。
【０１７５】
ステップ５８１：訓練モードで複数の訓練原画像から構成される訓練ビデオを提供する。該訓練原画像は、例えば、ゲームソフトウェア又は他のアプリケーションによって生成されたインスタントビデオであることができ、又は予めレコーディング製作されたか、メモリに予め記録されたビデオであることができる。本実施例において、該訓練原画像の複数のフレームは、Frame（１）、Frame（２）、…、Frame（Ｎ−１）、Frame（Ｎ）で表すことができ、Ｎは正の整数である。
【０１７６】
ステップ５８２：該訓練原画像の画像を、エンコーダにより符号化し、複数の訓練符号化画像からなるビデオストリームに圧縮し、次いで訓練デコーダにより該訓練符号化画像を順次復号、解凍し、複数の訓練復号画像にし、そのフレームは、Decoded_Frame（１）、Decoded_Frame（２）、…、Decoded_Frame（Ｎ−１）、Decoded_Frame（Ｎ）で表され、Ｎは正の整数である。
【０１７７】
ステップ５８３：訓練復号画像のＮ番目のフレームDecoded_Frame（Ｎ）が消失した、又は予測が必要なフレームであると仮定し、このとき、該Ｎ番目の訓練復号画像フレームの前の１つ又は複数のフレームDecoded_Frame（Ｎ−ｎ）・・・、Decoded_Frame（Ｎ−１）を抽出し、次のステップ５２４へ進む。ここで、ｎは正の整数であり、ｎはＮより小さい。
【０１７８】
ステップ５８４：サーバ内の該人工ニューラルネットワークモジュールは、該訓練復号画像のフレームを受け取り、少なくとも１つの訓練数学式を使用して、対応するＮ番目のフレームの前の１つ又は複数の訓練復号画像のフレーム、即ち、Decoded_Frame（Ｎ−ｎ）、．．．、Decoded_Frame（Ｎ−１）を１つずつ処理し、対応する訓練出力画像を生成する（ステップ５８５のように、Predict_Frame（Ｎ）とも称される）。
連続する複数のフレームが失われるか又は予測される必要がある場合、このステップ５８４で生成された訓練出力画像のフレームPredict_Frame（Ｎ）は、訓練復号画像のＮ番目のフレームDecoded_Frame（Ｎ）として使用され、該人工ニューラルネットワークモジュールに送り返され、訓練出力画像の次のフレームPredict_Frame（Ｎ＋１）を計算するために使用される。
同様に、該人工ニューラルネットワークモジュールは、それが発生する訓練出力画像のフレームPredict_Frame（Ｎ）及びPredict_Frame（Ｎ＋１）を連続的に人工ニューラルネットワークモジュールに返送することによって訓練出力画像の後続の幾つかのフレームを連続的に計算（予測）することができる。言い換えれば、本実施例において、Ｎ番目のフレームより前に位置する複数の訓練復号画像のフレーム（Decoded_Frame（Ｎ−ｎ）、…、Decoded_Frame（Ｎ−１））を人工ニューラルネットワークモジュールに入力し、Ｎ番目のフレームより後に続く幾つかのフレーム（Predict_Frame（Ｎ）、Predict_Frame（Ｎ１）、．．．、Predict_Frame（Ｎ＋ｍ））を生成し、ここで、ｍは、正の整数である（ステップ５８５）。
【０１７９】
ステップ５８６：該比較訓練モジュールによって該訓練出力画像のフレームPredict_Frame(Ｎ）、Predict_Frame（Ｎ＋１）、…、Predict_Frame（Ｎ＋ｍ）と、ステップ５８１で提供された対応するものに対応する該訓練原画像のフレームFrame（Ｎ）、Frame（Ｎ１）、…、Frame（Ｎｍ）と間の差を１つずつ比較し、少なくとも１つの訓練数学演算式の該訓練重み付けパラメータを調整する。該訓練重み付けパラメータは、該訓練出力画像Ｐredict_Frame（Ｎ）と対応する該訓練原画像Frame（Ｎ）との間の差を最小化するように調整される。次に、誤差を低減するために、ニューロンネットワークの重み付けが数学的最適化アルゴリズム（ＡＤＡＭ／ＳＧＤ／ＲＭＳＰｒｏｐなど）によって学習される。該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータが少なくとも１つの訓練数学演算式にフィードバックされ、ステップ５８４において、次の訓練復号画像を処理させる。所定数の訓練出力画像が対応する訓練原画像との比較、及び所定数の訓練重み付けパラメータの調整が行われた後、最後に得られた訓練重み付けパラメータが該クライアント装置のＡＩ強化モジュールに適用され、その数学演算式の重み付けパラメータとされる。
【０１８０】
図１８に示すようなＮ番目のフレームの前に複数のフレームを入力することによってＮ番目のフレーム及びそれに続く幾つかのフレーム出力画像を生成するニューラルネットワーク訓練プログラムに基づき、対応する本発明の画像媒体の品質を向上させる方法の実施例は、図１９に示す通りである。図１９は、本発明のビデオストリームの品質を向上させる方法のさらにもう１つの実施例の説明図であり、それは、以下のステップを含む。
【０１８１】
ステップ５９１：サーバ５０１側で複数の原画像を提供し（ステップ５９１のように、該複数の原画像のフレームは、Frame（１）、Framｅ（２）、…、Frame（Ｎ−１）、Frame（Ｎ）で表すことができ、Ｎが正の整数である）、該原画像は、例えばゲームソフトウェア又は他のアプリケーションによって生成されたインスタントビデオであることができ、又は予めレコーディング製作されたか、メモリに予め記録されたビデオであることができる。その後、該原画像がサーバ５０１内のデコーダによって符号化及び圧縮され（ステップ５９２）、複数の符号化画像を生成し、そのフレームがそれぞれEncoded_Frame（１）、Encoded_Frame（２）、…、Encoded_Frame（Ｎ−１）、Encoded_Frame（Ｎ）で表される。該符号化された画像は、次に２Ｄビデオストリームのパターンでネットワークを介してクライアント端末装置に送信される（ステップ５９３）。
【０１８２】
ステップ５９４：クライアント端末装置５０２は、該符号化画像を受け取り、複数の復号画像に復号し（ステップ５９４）、そのフレームは、それぞれDecoded_Frame（１）、Decoded_Frame（２）、・・・、Decoded_Framｅ（Ｎ−１）、Decoded_Frame（Ｎ）で表される。次に、ネットワーク伝送過程において、ネットワーク不安定性のためにＮ番目のフレーム又はＮ番目から数個（ｍ個）のフレームが失われると仮定する時、ステップ５９４に示すように、本発明は、Ｎ番目のフレームの前の１つ又は複数の訓練復号画像のフレーム、即ち、Decoded_Frame（Ｎ−ｎ）、．．．、Decoded_Frame（Ｎ−１）を抽出し、次のステップ５９５に進む。
【０１８３】
ステップ５９５：ＡＩ強化モジュール（強化ニューラルネットワークモデルとも称される）を使用してＮ番目のフレームの前に１つ又は複数の訓練復号画像のフレーム、即ちDecoded_Frame（Ｎｎ）、．．．、Decoded_Frame（Ｎ−１）を入力し、１つ又は複数（ｍ＋１個）の相対する強化画像を生成し、出力画像とし、そのフレームは、ステップ５９６のように、Enhanced_Frame（Ｎ）、．．．、Enhanced_Frame（Ｎ＋ｍ）である。
言い換えれば、該ＡＩ強化モジュールは、毎回、複数の復号画像の画像フレームDecoded_Frame（Ｎ−ｎ）、・・・、Decoded_Frame(N-1)の入力を受け入れ、1つ又は複数の強化画像Enhanced_Frame（Ｎ）、・・・、Enhanced_Frame（Ｎ＋ｍ）を出力する（ステップ５９６）。該ＡＩ強化モジュール内の強化されたニューラルネットワークモデルで使用される少なくとも１つの数学演算式及びその重み付けパラメータは、図１８に示される実施例の訓練プログラムで説明されるものと同じ数学演算式及びその重み付けパラメータである。
【０１８４】
本実施例において、ニューラルネットワークが数学演算式として書かれると、それは次の形式になる。
Ｘ＝Decode（Video stream）。
Ｙ（Ｎ）、…、Ｙ（Ｎｍ）＝Network（Ｘ（Ｎｎ）、…、Ｘ（ｎ）、Ｗ）。
ここで、Ｘ＝（Ｘ（１）、Ｘ（２）、Ｘ（３）、．．．）であり、Ｘ（Ｎ）は解凍されたビデオのＮ番目のフレーム、即ちDecoded_Frame（Ｎ）である。
Networkは、ニューラルネットワーク又は機械学習アルゴリズムである。
Ｗは、訓練された重み付けパラメータである。
Ｙ（Ｎ）は、エンハンスドＮフレームであり、即ち、Enhanced_Frame（Ｎ）である。
【０１８５】
図２０は、本発明のＹＵＶ４２０フォーマットを有する復号画像を処理するプログラムのさらにもう１つの実施例の説明図である。実際には、各フレームFrameは、ｍ個のチャネルChannel（例えばＲＧＢビデオ、ｍ＝３）を有し、Ｘ（Ｎ−ｋ＋１）、…、Ｘ（Ｎ−１）、Ｘ（Ｎ）をチャネルに従って併合して畳み込む（Concat）と仮定し、１つのｍｋチャネルへの入力とみなす。たとえば、元のビデオの各フレームにｍ個のチャネルがある場合は、ｋ個のフレームを入力すると、入力はｍｋ個のチャネルと見なすことができる。この原理によれば、図２０に示すような本発明のＹＵＶ４２０フォーマットの復号画像を処理するプログラムは、以下を含む。
【０１８６】
ステップ６０１：ＹＵＶ４２０カラーフォーマットの訓練復号画像を受け取って処理する。ここで、訓練復号画像は３つのチャネルを含み、ｎ個のフレームConcaｔは３ｎ個のチャネルにマージ（スタック）され、ｎは正の整数である。
【０１８７】
ステップ６０２：該訓練復号画像内のＹ部分データを抽出して、１ｎチャネルを有するＹ部分出力データを生成する。
【０１８８】
ステップ６０３：２ｎ個のチャネルを有する該訓練復号画像内のＵＶ部分データを抽出する。
【０１８９】
ステップ６０４：２倍に拡大したニューラルネットワークを使用することによって該訓練復号画像のＵＶ部分データを処理して、２ｎチャネルを有するＵＶ部分出力データを生成する（例えば、ストライド値Stride＝２、転置畳み込み、ステップ６０４）；
【０１９０】
ステップ６０５：併合機能Concat（concatenates）を使用して、該Ｙ部分出力データと該ＵＶ部分出力データとを重ね合わせる（併合）。
【０１９１】
ステップ６０６：ステップ６０５で積み重ねられたデータを多層ニューラルネットワークで受け取り、３ｋチャネルを生成する（ここで、ｋは１より大きい定数であり、そして正の整数である）。
【０１９２】
ステップ６０７：ステップ６０６で生成したデータをｋフレーム、３チャネルのＲＧＢの該訓練出力画像として出力する。
【０１９３】
なお、本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない均等の範囲内で各種の変動や潤色を加えることができることは勿論である。
【符号の説明】
【０１９４】
１、５０１  サーバ
２、２１、２２、２３、５０２  クライアント端末装置
３  基地局
３０  ルータ
４  ネットワーク
１００、２００  アプリケーション（ＡＰＰ）
１０１、２０１  メモリ
１０２  コード
１０３  ストリーム
１０４  ネットワークデバイス
１０５  人工ニューラルネットワーク
１０６  ニューラルネットワーク
１０７  復号モジュール
１０８  比較訓練モジュール
２０２  ネットワークモジュール
２０３  復号モジュール
２０４  ＡＩ強化モジュール
２０５  出力モジュール
３０１〜３０８、４００〜４６６、５１１〜５９６、６０１〜６０７  ステップ
【図１】
2020010331.tif 000011
【図２】
2020010331.tif 000012
【図３】
2020010331.tif 000013
【図４】
2020010331.tif 000014
【図５】
2020010331.tif 000015
【図６】
2020010331.tif 000016
【図７】
2020010331.tif 000017
【図８】
2020010331.tif 000018
【図９】
2020010331.tif 000019
【図１０】
2020010331.tif 000020
【図１１】
2020010331.tif 000021
【図１２】
2020010331.tif 000022
【図１３】
2020010331.tif 000023
【図１４】
2020010331.tif 000024
【図１５】
2020010331.tif 000025
【図１６】
2020010331.tif 000026
【図１７】
2020010331.tif 000027
【図１８】
2020010331.tif 000028
【図１９】
2020010331.tif 000029
【図２０】
2020010331.tif 000030