JP7448178B2 - 画質を向上させる方法 - Google Patents

画質を向上させる方法 Download PDF

Info

Publication number
JP7448178B2
JP7448178B2 JP2019122222A JP2019122222A JP7448178B2 JP 7448178 B2 JP7448178 B2 JP 7448178B2 JP 2019122222 A JP2019122222 A JP 2019122222A JP 2019122222 A JP2019122222 A JP 2019122222A JP 7448178 B2 JP7448178 B2 JP 7448178B2
Authority
JP
Japan
Prior art keywords
training
image
images
decoded
original
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019122222A
Other languages
English (en)
Other versions
JP2020010331A (ja
Inventor
榮昌 郭
澤人 魏
安倫 ▲デン▼
玉如 曾
容 江
Original Assignee
株式会社ユビタス
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ユビタス filed Critical 株式会社ユビタス
Publication of JP2020010331A publication Critical patent/JP2020010331A/ja
Application granted granted Critical
Publication of JP7448178B2 publication Critical patent/JP7448178B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Processing Or Creating Images (AREA)
  • Paper (AREA)
  • Disintegrating Or Milling (AREA)
  • Laminated Bodies (AREA)

Description

本発明は、画像媒体の品質(画質)を向上させる方法に関し、特に、クライアント端末装置に組み込まれ、事前訓練を経た人工知能(Artificial Intelligent;AI)強化モジュールによって画像媒体品質を向上させる方法に関する。
近年、ネットワークオンラインゲームは、世界中で人気が高まっている。クラウドベースのコンピューティング関連システム及び技術の発展において、サーバによってゲームコンテンツをストリーミングし、サービスを提供する技術も開発されている。
このようなクラウドオンラインゲームサービスを提供する従来の方法は、サーバに略全ての演算を実行させることである。言い換えれば、オンラインゲームサービスを提供する時、特定のアプリケーションがサーバ内で実行され、多くの3D(3次元)オブジェクトを含む仮想3D環境を生成し、それは、プレイヤーによって制御されるか、動かされることができる3Dオブジェクトを含む。そして、プレイヤーの制御結果に応じて、サーバは、3Dオブジェクト及び仮想3D環境をプレイヤーの装置に表示するための2D(2次元)ゲーム画面にレンダリングする。次に、サーバはレンダリングされたイメージコード(Encode)を2Dビデオストリームに圧縮し、それをプレイヤーの装置に送信する。プレイヤー装置は、受信した2Dビデオストリームを復号し、次いでそれを「再生」するだけでよく、3Dレンダリングを実行する必要がない。しかしながら、そのようなクラウドベースのオンラインゲームサービスには、注意すべきいくつかの問題がまだあり、例えば、多数のプレイヤーに3Dレンダリングプログラムを提供する時のサーバの高負荷、符号化圧縮及びストリーミングプログラムによる画質の低下、及びネットワーク経由で2Dビデオストリームを送信することによって消費される大量の通信帯域幅である。
画質を低下させる問題を解決するための従来の方法は、サーバ側のゲームアプリケーションプログラムによって生成された原画像の解像度を改善し、画像を送信する時のビットレート(Bitrate)を改善する、即ちサーバの原画像を2Dビデオストリームに符号化する時の圧縮率(CompressionRatio)を低減することである。しかしながら、当然、そうすることは、サーバの負荷及び帯域幅の消費量が何れも画像の高解像度及び高伝送ビットレートのために、顕著に増加する。例えば、フレームレート及び符号化圧縮率がともに固定値である場合、サーバ側のゲームアプリケーションプログラムによって生成された原画像の解像度が720pから1080pに増加すると、サーバの演算負荷及び必要なネットワーク伝送ビットレートが何れも2.25倍に増加する。相対して、サーバの負荷やネットワークの帯域幅消費を減らそうとすると、ゲーム画像の画質が犠牲になる。従って、完璧な画質と経済的な帯域幅消費の両方を達成することは困難である。
この問題を解決するもう1つの方法は、サーバ側のゲームアプリケーションによって生成された原画像の解像度を下げること、又は原画像をより高い圧縮率で2Dビデオストリームに符号化すること、あるいはその両方である。これにより、ゲーム画像の画質は犠牲になるが、ネットワークで伝送される2Dビデオストリームの帯域幅費量が削減される。同時に、クライアント端末装置で画像強化技術が使用される。一旦、2Dビデオストリームが受信されると、クライアント端末装置は、ビデオストリームを符号化し、画像強化技術により画像の視覚効果を改善する。
ヒストグラム等化(Histogram equalization;HE)は、簡単さと効率性を有するので、画像コントラストを改善するための最もよく用いられる方法の1つである。しかしながら、HEは、過度のコントラスト強化及び特徴喪失問題を引き起こし、不自然な外観及び処理された画像詳細の損失を招く。さらに、HEだけでなく、当技術分野で知られている他の全ての画像強化技術も同じジレンマに遭遇し、即ち、それらは全て同じセットのアルゴリズムを使用して完全に異なる画像内容を有する様々な画像を処理しようと試みるが、このような考え方は、実現不可能である。
クラウドオンラインゲームサービスを例にとると、サーバによって生成された原画像の画面コンテンツは、ゲームシーンの変化によって大きく変化する。例えば、都市のゲームシーンの原画像は、多くの簡単且つ明瞭な輪郭と、異なるが概ね同系色の色とを含ませることができる。1つの暗い洞窟のゲームシーンでは、ゲームの原画像を単調でトーンが低く色度値が低い色で満たし、不規則だが目立たない景観の輪郭にする。緑豊かな庭園のシーンは、ゲームの原画像に多くの鮮やかでカラフルなオブジェクトを含ませ、詳細で複雑な輪郭をもたせる。疑いの余地なく、完全に異なる画像コンテンツを有する様々な異なるシーンに対して良好な画像強化を提供することができる従来の強化技術は存在しない。
また、これらの従来の画像強化技術のもう1つの欠点は、これらの従来の画像強化技術の数学演算式は、コントラスト、シャープネス、飽和度などの画像の画面効果を改善することができるが、これらの演算式及びそのパラメータは、何れも完全にサーバが生成する原画像と関連しない。従って、これらの従来の画像強化技術の強化過程は、強化された後の画像を対応する原画像に視覚的に近づけることは決してなく、従ってクライアント端末のゲームプレイヤーはサーバ側のゲームアプリケーションプログラムによって生成された原画像の画面効果を完全に享受することはできない。
特開2014-116890号公報
従って、本発明の目的は、画像媒体の品質を向上させる方法を提供することである。この方法では、クライアント端末装置に内蔵され、事前訓練を経た人工知能(AI)強化モジュールを利用し、ビデオストリームの品質を向上させる。該AI強化モジュールは、サーバ内のニューラルネットワークにより事前訓練を実行し、サーバによって生成された原画像と圧縮された圧縮画像との間の差を分析する。AI強化モジュールは、サーバによって生成された原画像と圧縮された圧縮画像との間の差を分析することによって得られた数学演算式を使用して、圧縮画像の品質を向上させる。これによって、改善された画像は、圧縮された画像よりも視覚的に原画像に近くなる。
本発明のもう1つの目的は、サーバの計算負荷を軽減し、クライアント端末装置によって再生される画像の品質を改善し、サーバとクライアント端末装置との間の伝送帯域幅の消耗を節減することができる画像媒体の品質を向上させる方法を提供することである。
本発明のさらにもう1つの目的は、画像媒体の品質を向上させる方法を提供することであり、サーバによって生成された原画像は、複数の異なるシーン(scene-mode)に属し、異なるシーンの原画像は、異なる画像コンテンツを有する。異なるシーンの原画像に対応する解凍画像は、同じAI強化モジュールによってシーンに対応する異なる重み付けパラメータ(weighted parameters)を使用して画像強化処理が行われたものである。従って、本発明の方法は、全く異なる画像内容を有する様々な原画像に対して良好で安定した画像強化効果を提供することができる。
上記目的を達成するために、本発明の画像媒体の品質を向上させる方法の実施例は、以下を含む。
ステップ(A):サーバで第1アプリケーションを実行する。該第1アプリケーションは、少なくとも1つのコマンドに従って複数の原画像を生成する。該複数の原画像は、該サーバ内のエンコーダによって符号化及び圧縮されて、複数の符号化画像が生成される。
ステップ(B):該サーバから離れたクライアント端末装置において第2アプリケーションを実行する。該第2アプリケーションは、第1アプリケーションに関連しており、且つ連携している。これにより、該クライアント端末装置は、ユーザに操作させて該コマンドを生成して該サーバに送信させることができる。
ステップ(C):該クライアント端末装置は、ネットワークを介して該コマンドを該サーバに送信し、次いで、該サーバによって生成され且つ該コマンドに対応する該符号化画像を、ネットワークを介して受信する。
ステップ(D):該クライアント端末装置は、該符号化画像を複数の復号画像に復号し、AI強化モジュールを用いて該復号画像の品質を向上させて複数の強化画像を生成する。該AI強化モジュールは、該復号画像と対応する原画像との間の差を分析することによって得られる少なくとも1つの数学演算式によって該復号画像を処理する。これにより、得られた該強化画像は、該復号画像よりも視覚的に該原画像に更に近くなる。
ステップ(E):該クライアント端末装置は、該強化画像をスクリーンに出力し、再生される出力画像とする。
実施例において、該AI強化モジュールの該少なくとも1つの数学演算式は、該サーバ内の人工ニューラルネットワークモジュールによって実行される訓練プログラムによって定義され、この訓練プログラムは以下を含む。
ステップ(a):訓練モードで該第1アプリケーションを実行し、複数の訓練原画像を生成する。
ステップ(b):該エンコーダによって該訓練原画像を複数の訓練符号化画像に符号化する。
ステップ(c):該サーバ内の訓練デコーダを使用することによって該訓練符号化画像を複数の訓練復号画像に復号する。
ステップ(d):該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも1つの訓練数学演算式を使用して該訓練復号画像を1つずつ処理して複数の訓練出力画像を生成する。該少なくとも1つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。
ステップ(e):比較訓練モジュールによって該訓練出力画像と対応する該訓練原画像との間の差を比較し、それに応じて該少なくとも1つの訓練数学演算式の該訓練重み付けパラメータを調整する。該訓練重み付けパラメータは、該訓練出力画像と対応する該訓練原画像との間の差を最小化するように調整される。該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、少なくとも1つの訓練数学演算式にフィードバックされて、ステップ(d)において、次の該訓練復号画像を処理する。
ここで、所定数の該訓練出力画像が対応する訓練原画像と比較され、所定回数の該訓練重み付けパラメータの調整が行われた後、最後に得られた該訓練重み付けパラメータが、該クライアント端末装置の該AI強化モジュール内に適用され、その数学演算式の重み付けパラメータとされる。
実施例において、該訓練復号画像と該訓練出力画像が同じカラーフォーマットを有する場合、該人工ニューラルネットワークモジュールは、残差復号ネットワークモジュールである。そしてステップ(d)において、各該訓練出力画像は、対応する該訓練復号画像と、該残差復号ネットワークモジュールが該訓練復号画像を処理した出力との合計である。
実施例において、ステップ(e)において、該比較訓練モジュールは、弁別器(Discriminator)を用いて該訓練出力画像と対応する該訓練原画像との間の差を比較し、それに応じて生成的対抗ネットワーク損失(generative adversarial networks loss;GAN loss)を収束させ、該訓練重み付けパラメータを調整する。
実施例において、該比較訓練モジュールの該弁別器は、以下の方式で訓練されている。
該訓練原画像は、nチャネルを含み、nは2より大きい正の整数であり、該訓練復号画像は、mチャネルを含み、mは2より大きい正の整数である。
ステップ(d)において、該人工ニューラルネットワークモジュールは、該mチャネルの訓練復号画像を処理し、nチャネルの訓練出力画像を生成する。該nチャネルの訓練出力画像とそれに対応するmチャネル訓練復号画像とを組み合わせて、複数のm+nチャネルを有する模擬偽サンプル(false samples)を生成する。そして、該nチャネルの訓練原画像と対応する該mチャネルの訓練復号画像の両者を結合して、m+nチャネルを有する複数の模擬真サンプルを生成する。
ステップ(e)において、該m+nチャネルの模擬偽サンプルと該m+nチャネルの模擬真サンプルとを該比較訓練モジュールの弁別器にフィードバックして、該弁別器の該模擬偽サンプルと該模擬真サンプルを検出及び識別する能力を訓練させる。
実施例において、該訓練原画像のカラーフォーマットは、YUV420であり、該訓練復号画像のカラーフォーマットは、RGB又はYUV420である。
ステップ(d)において、該人工ニューラルネットワークモジュールは、第1ニューラルネットワーク及び第2ニューラルネットワークを含む。該第2ニューラルネットワークは、畳み込みニューラルネットワーク(ConvolutionalNeuralNetwork;CNN)である。該第1ニューラルネットワークは、該訓練原画像を受け取って処理し、該訓練原画像と同じ符号化フォーマットを有する複数の第1出力画像X2を生成する。該第2ニューラルネットワークは、該第1出力画像X2を受け取って処理して、複数の第2出力画像を生成する。該第1出力画像X2と該第2出力画像の両者が加算されて該訓練出力画像を生成する。
ステップ(e)において、該比較訓練モジュールは、第1比較器と第2比較器を含む。該第1比較器は、該第1出力画像X2と対応する該訓練原画像との間の差を比較し、該第1ニューラルネットワークを訓練する。該第2比較器は、該訓練出力画像と対応する該訓練原画像との間の差を比較し、該第2ニューラルネットワークを訓練する。
実施例において、ステップ(d)の該第1ニューラルネットワークがYUV420カラーフォーマットの訓練復号画像を受信し処理するステップは以下を含む。
該訓練復号画像内のY部分データを抽出し、訓練復号画像のY部分データを標準サイズの該第1ニューラルネットワークによって処理してY部分出力データを生成する。
該訓練復号画像内のUV部分データを抽出し、該訓練復号画像のUV部分データを2倍の倍率を有する該第1ニューラルネットワークによって処理して、Nチャネルを有するUV部分出力データを生成する。
該Y部分出力データと該UV部分出力データを加算し、該訓練出力画像を生成する。
実施例において、ステップ(d)の該第1ニューラルネットワークがYUV420カラーフォーマットの該訓練復号画像を受信し処理するステップは以下を含む。
該訓練復号画像は、Nチャネルを含み、Nは、2より大きい正の整数である。
該訓練復号画像内のY部分データを抽出する。
該訓練復号画像内のUV部分データを抽出し、2倍に拡大された該第1ニューラルネットワークを用いて該訓練復号画像のUV部分データを処理して、N-1チャネルを有するUV部分出力データを生成する。
結合関数Concat(concatenates)によって該Y部分データ及び該UV部分データを処理し、該訓練出力画像を生成する。
実施例において、該クライアント端末装置の該AI強化モジュールの該少なくとも1つの数学演算式は、複数の重み付けパラメータを含む。該重み付けパラメータは、該復号画像と対応する該原画像との間の差に関連付けられ、且つ該サーバ内の人工ニューラルネットワークモジュールによって実行される訓練プログラムによって定義される。該重み付けパラメータは、以下のうちの1つである:該クライアント端末装置に予め記憶され、該クライアント端末装置が該第2アプリケーションを実行する時に該サーバから該クライアント端末装置にダウンロードされる。
実施例において、該第1アプリケーションプのログラムによって生成された該原画像は、複数組のシーンに区分されることができ、各シーンは、複数の該原画像を含む。
クライアント端末装置内の該AI強化モジュールによって使用される該重み付けパラメータも複数組に区分され、各組は、それぞれ複数の重み付けパラメータを含み、シーンの1つに対応する。
異なる該シーンの該原画像に対応する該復号画像は、同じ該AI強化モジュールによって異なる組の重み付けされたパラメータ内の該シーンに対応する該組の重み付けパラメータ使用して画像強化処理される。
ここで、該異なる組の重み付けパラメータが全てクライアント端末装置に予め記憶されている場合、該シーンが変化するたびに、変化した新しいシーンに対応する該組の重み付けパラメータは、強化画像を生成するために該AI強化モジュールに適用される。
ここで、異なる組の重み付けパラメータが全てサーバ側に記憶されている場合、該シーンが変化するたびに、変化した新しいシーンに対応する該組の重み付けパラメータがサーバによって該クライアント端末装置にダウンロードされ、それから、強化画像を生成するために該AI強化モジュールに適用される。
実施例において、該訓練モードにおいて、該複数の訓練原画像は高品質画像である。該高品質訓練原画像は、以下の1つ以上の性質に符合する画像である。例えば、(性質1)4K以上のより高い解像度(Resolution)を有し、例えば、(性質2)150度以上のより大きな視野(field of view;FOV)を有し、例えば、(性質3)60FPS以上の高いフレームレート(FPS)を有し、(性質4)両目立体情報(stereo vision)を有し、(性質5)視覚的奥行き情報を有し、例えば、(性質6)赤外光又は紫外光などの追加の色情報を有し、(性質7)マルチチャネル、高サンプリング周波数(44kHz以上)、又は高解像度(オーディオビット深度24bit以上)などの優れたオーディオ情報を有する。
ステップ(a)とステップ(b)の間に以下のステップを追加する。画像劣化処理。劣化モジュールによって該訓練原画像を劣化させてその画質を低下させ、下記の1つ以上の性質を満たす劣化訓練原画像を得る。サンプリング(sampling)によって、解像度を低下させる(720p、1080i以下まで低下)、カット(crop)方式で視野を縮小する(視野の120度以下に縮小する、又は元アスペクト比16:9の画像を4:3にカットする)、フレームを破棄してフレームレートを下げる(30FPS以下まで低下)、抽出方式で両目立体情報を単一画面に取り出し、視覚的奥行き情報を破棄し、音声信号をステレオ2チャンネルに変換する、サンプリング周波数の低減(22.1kHz以下)、解像度の低減(16bit以下)、ノイズの追加(ガウス(Gaussian)、ラプラシアン(Laplacian)ノイズなど)、ぼかし(ガウスぼかしなど)。
ステップ(b)において、該劣化した訓練原画像を該エンコーダにより複数の該訓練符号化画像に符号化して圧縮する。
実施例において、ステップ(d)において、該訓練モードにおいて、該人工ニューラルネットワークモジュールは、該訓練復号画像の複数のフレームを受け取り、該訓練出力画像の少なくとも1つのフレームを生成して出力する。さらに、ステップ(D)において、クライアント端末装置において、該AI強化モジュールは、該復号画像の複数のフレームを受信し、それに応じて該強化画像の少なくとも1つのフレームを出力する。
実施例において、該人工ニューラルネットワークモジュールは該訓練復号画像と音声信号を受信して処理し、該AI強化モジュールは、該復号画像ともう1つの音声信号を受信して処理する。
上記の目的を達成するために、本発明が提供する画像媒体の品質を向上させる方法のもう1つの実施例は、以下を含む。
AI強化モジュールを含むクライアント端末装置を提供し、該AI強化モジュールは予め定義された少なくとも1つの数学演算式を含み、且つ該少なくとも1つの数学演算式は、少なくとも1つの重み付けパラメータを含む。該少なくとも1つの数学演算式の少なくとも1つの重み付けパラメータは、サーバ内の人工ニューラルネットワークモジュールによって実行される訓練プログラムによって事前に定義される。
該クライアント端末装置によって複数の符号化画像を受信する。
該クライアント端末装置は、該符号化画像を複数の復号画像に復号し、該AI強化モジュールの少なくとも1つの数学演算式及び少なくとも1つの重み付けパラメータを用いて該復号画像を処理して、複数の強化画像を生成する。
該クライアント端末装置は、再生される出力画像として該強化画像をスクリーンに出力する。
上記の目的を達成するために、本発明の画像媒体の品質を向上させる方法の更にもう1つの実施例は、以下を含む。
クライアント端末装置を用いて複数の符号化画像を復号し、複数の符号化画像は、複数の原画像を符号化することにより生成される。
該クライアント端末装置は、複数の符号化画像を複数の復号画像に復号し、AI強化モジュールを使用して復号画像の品質を向上させて複数の強化画像を生成する。該AI強化モジュールは、該復号画像と対応する原画像との間の差を分析することによって得られた少なくとも1つの数学演算式によって該復号画像を処理する。これによって、得られた該強化画像は、該復号画像よりも視覚的に該原画像に近くなる。
該クライアント端末装置は、再生される出力画像として該強化画像をスクリーンに出力する。
該クライアント端末装置の該AI強化モジュールの該少なくとも1つの数学演算式は、複数の重み付けパラメータを含む。該重み付けパラメータは、該復号画像と対応する該原画像との間の差に関連付けられる。
該原画像は、複数組のシーンに区分されることができ、各シーンは、複数の該原画像を含む。
クライアント端末装置内の該AI強化モジュールによって使用される該重み付けパラメータも複数組に区分され、各組は、それぞれ複数の該重み付けパラメータを含み、そのうち1つの該シーンに対応する。
該クライアント端末装置は、該AI強化モジュールを使用して該復号画像の品質を向上させて複数の強化画像を生成するステップにおいて、異なる該シーンの該原画像に対応する該復号画像は、同じ該AI強化モジュールによって該異なる組の該重み付けパラメータ内の該シーンに対応する該組の重み付けパラメータを使用して画像強化処理を実行する。
画像媒体の品質を向上させる方法は、クライアント端末装置に内蔵された事前訓練された人工知能(AI)強化モジュールを用い、ビデオストリームの品質を向上する。該AI強化モジュールは、サーバ内のニューロンネットワークを用いて事前訓練を実行し、サーバによって生成された原画像と圧縮された圧縮画像との間の差を分析する。AI強化モジュールは、サーバによって生成された原画像と圧縮された圧縮画像との間の差を分析することによって得られた数学演算式を使用して、圧縮画像の品質を向上させる。それによって、向上された画像は、該圧縮された画像よりも視覚的に原画像に近くなる。
本発明のネットワークを介して送信されるビデオストリームの品質を向上させるシステムの説明図である。 本発明のネットワークを介して送信されるビデオストリームの品質を向上させるシステムアーキテクチャの実施例の説明図である。 本発明のネットワークを介して送信されるビデオストリームの品質を向上させる方法の実施例の説明図である。 本発明による人工ニューラルネットワークモジュール105の訓練プログラムの第1実施例の説明図である。 本発明による人工ニューラルネットワークモジュール105の訓練プログラムの第2実施例の説明図である。 本発明による人工ニューラルネットワークモジュール105の訓練プログラムの第3実施例の説明図である。 図6に示す弁別器の訓練プログラムの実施例の説明図である。 本発明のニューラルネットワークの訓練過程の実施例を開示し、ここで、原画像はYUV420であり、出力画像はRGB又はYUV420である。 本発明のYUV420フォーマットを有する復号画像を処理するプログラムの実施例の説明図である。 本発明のYUV420フォーマットを有する復号画像を処理するプログラムのもう1つの実施例の説明図である。 本発明の人工ニューラルネットワークモジュールの訓練プログラムのもう1つの実施例(第4実施例)の説明図である。 本発明の人工ニューラルネットワークモジュールの訓練プログラムのもう1つの実施例(第5実施例)の説明図である。 本発明のビデオストリームの品質を向上させる方法のもう1つの実施例の説明図である。 本発明の人工ニューラルネットワークモジュールの訓練プログラムのもう1つの実施例(第6実施例)の説明図である。 本発明のビデオストリームの品質を向上させる方法の更にもう1つの実施例の説明図である。 本発明の人工ニューラルネットワークモジュールの訓練プログラムのもう1つの実施例(第7実施例)の説明図である。 本発明のビデオストリームの品質を向上させる方法のまた更にもう1つの実施例の説明図である。 本発明の人工ニューラルネットワークモジュールの訓練プログラムのもう1つの実施例(第8実施例)の説明図である。 本発明のビデオストリームの品質を向上させる方法のまたまた更にもう1つの実施例の説明図である。 本発明のYUV420フォーマットの復号画像を処理するプログラムの更にもう1つの実施例の説明図である。
本発明は、クライアント端末装置に組み込まれ、事前訓練された人工知能(AI)強化モジュールを使用してビデオストリームの品質を向上させる方法に関する。該AI強化モジュールは、サーバ内のニューロンネットワークを用いて事前訓練を実行し、サーバによって生成された原画像と圧縮された圧縮画像との間の差を分析する。AI強化モジュールは、サーバによって生成された原画像と圧縮された圧縮画像との間の差を分析することによって得られた数学演算式を使用して、圧縮画像の品質を向上させる。これによって、向上された画像は、該圧縮画像よりも視覚的に該原画像に近くなる。
本発明の用途の1つは、プレイヤーがクライアント端末装置を使用してネットワークを介してサーバに接続し、サーバによって提供されるゲームをプレイするクラウドベースのオンラインゲーム(cloud-based online games)である。サーバは、プレイヤーによって入力されたコマンドに応答して対応するビデオ画像を生成することができる。
従って、例えば、プレイヤーは、クライアント端末装置で移動のコマンドを実行することができる。移動コマンドは、ネットワークを通してサーバに送信され、次にサーバは移動コマンドに従って画像を計算し、該画像をクライアント端末装置に返送し、再生する。多くのゲームでは、サーバは、可視範囲内の位置する幾つかの3Dレンダリングオブジェクトを含む2D画像を生成する。
図1を参照し、それは、本発明のネットワークを介して送信されるビデオストリームの品質を向上させるシステムを説明している。サーバ1は、該サーバ1上で実行されるアプリケーションによってサービスを提供することに適用され、該サービスは、クラウドオンラインゲームサービスであり得るが、これに限定されない。複数のクライアント端末装置21、22、23は、ネットワーク4を介してサーバ1に接続(ログイン)し、該サーバ1上で実行されている該アプリケーションが提供するサービスを使用することができる。
本実施例において、該ネットワーク4はインターネット(Internet)であり、且つ該クライアント端末装置21、22、23は、スマートフォン21、デジタルタブレット、ノートブックコンピュータ22、デスクトップコンピュータ23、電子ゲーム機、あるいはスマートテレビ(ただし、これらに限定されない)などの任意の種類のネットワーク接続可能な電子装置であることができる。一部のクライアント端末装置21、22は、無線通信基地局3又は無線ルータ30を介してネットワーク4に無線接続され、その他は、ネットワークルータ又はネットワーク共有装置を介してネットワーク4に有線接続される。
サーバ1上で実行されているアプリケーションは、複数の3Dオブジェクトを含む仮想3D環境を生成し、3Dオブジェクトの幾つかはユーザの操作に応じて移動又は破壊されることができるが、他の幾つかは、そうすることができない。好適実施例において、アプリケーションは、クライアント端末装置ごとに独立した動作インスタンスを持つ。即ち、各アプリケーションは、クライアント端末装置にサービスを提供するだけであるが、該サーバ1内で複数のアプリケーションを同時に実行し、複数のクライアント端末装置にサービスを提供することができる。該クライアント端末装置21、22、23は、ネットワーク4を介して該サーバ1に接続され、該アプリケーションによって生成された3Dオブジェクトの少なくとも一部を含む画面を受信する。本発明のシステムアーキテクチャ及び機能は、図2及びそれに関連する説明を通して詳細に説明する。
図2は、本発明のシステムアーキテクチャの実施例の説明図である。アプリケーション(App)100は、メモリ101に格納され、サーバ1(通常は3Dゲームプログラム)上で実行され、一連の原画像からなる3D画面のレンダリング結果を生成することができる。コード102及びストリーム103は、それぞれアプリケーション100によって生成された原画像を受信し、それを2Dビデオストリームに符号化及びストリーミングすることができる符号化モジュール及びストリーミングモジュールである。該2Dビデオストリームは、サーバのネットワーク装置104を経由してネットワーク4を介して遠隔に配置されたクライアント端末装置2に送信される。各クライアント端末装置2は、それぞれ予めアプリケーション200をインストールしており、該アプリケーション200は、クライアント端末装置2のメモリ201に記憶され、サーバ1上のアプリケーション100と関連付けられ、連携できる。
クライアント端末装置2のアプリケーション200は、サーバ1上のアプリケーション100と接続を確立し、ネットワークモジュール202によって、該サーバ1から該符号化された2Dビデオストリームを受信することができる。該符号化された2Dビデオストリームは、次に該復号モジュール203によって復号されて復号画像が生成される。これらの符号化、ストリーミング及び復号のプログラムにより、復号画像の品質は明らかに原画像よりはるかに悪い。クライアント端末装置2に組み込まれたAI強化モジュール204は、それらの復号画像の品質を向上させ、対応する強化画像を生成することができる。
該AI強化モジュール204は、該復号画像と対応する該原画像との間を比較した差を分析することによって得られる少なくとも1つの数学演算式によって該復号画像を処理する。これにより、得られた強化画像は、復号画像よりも視覚的に原画像に近くなる。その後、該強化画像は、出力モジュール205を介して、クライアント端末装置2のスクリーン(表示パネル)に出力(再生)される。本発明において、該クライアント端末装置2のAI強化モジュール204によって使用される数学演算式は、サーバ1上に配置された人工ニューラルネットワーク(Artificial Neural Network)モジュール105によって実行される訓練プログラムにより定義される。人工ニューラルネットワークモジュール105は、該サーバ1内に設けられ、人工ニューラルネットワーク106、復号モジュール107、及び比較訓練モジュール108を含む。本発明の人工ニューラルネットワークモジュール105の該訓練プログラムの実施例については後で詳細に説明する。
図3は、本発明のネットワークを介して送信されるビデオストリームの品質を向上させる方法の実施例の説明図である。図2及び図3に示すように本発明のシステム及びアーキテクチャを利用することにより、該方法は、大まかに以下のステップを含む。
ステップ301:サーバで第1アプリケーションを実行する。該第1アプリケーションは、少なくとも1つの指示に従って複数の原画像を生成する(ステップ302)。その後、該原画像がサーバ内のエンコーダによって符号化及び圧縮され(ステップ303)、複数の復号画像が生成される。該符号化された画像は、2Dビデオストリームのタイプでネットワークを介してクライアント端末装置に送信される(ステップ304)。
サーバから離れたクライアント端末装置内で第2アプリケーションを実行する(ステップ305)。該第2アプリケーションは、該第1アプリケーションと関連付けられ、連携し、これによって該クライアント端末装置は、ユーザに操作させ、コマンドを生成してサーバに発生させ、サーバの第1アプリケーションによって提供されるサービスを享受させることができる。該クライアント端末装置は、ネットワークを介して該コマンドをサーバに送信し、ネットワークを介して該サーバが生成し且つ該コマンドに対応する符号化画像を受信する。
次に、クライアント端末装置は、該符号化画像を複数の復号画像に復号し(ステップ306)、AI強化モジュールを使用して復号画像の品質を向上させ(ステップ307)、複数の強化画像を生成する。該AI強化モジュールは、該復号画像と対応する該原画像との間の差を分析することによって得られる少なくとも1つの数学演算式によって復号画像を処理する。これにより、得られた強化画像は、復号画像よりも視覚的に原画像に近くなる。その後、該クライアント端末装置は、再生されるべき出力画像として該強化画像をスクリーン(表示パネル)に出力する(ステップ308)。
本発明において、クライアント端末装置内のAI強化モジュールによって使用される少なくとも1つの数学演算式は、複数の重み付きパラメータ(Weighted Parameters)を含む。該重み付けパラメータは、該復号画像と対応する該原画像との間の差に関連付けられ、サーバ内の人工ニューラルネットワークモジュールによって実行される訓練プログラムによって定義される。本発明の実施例において、該重み付けパラメータは、予めクライアント端末装置に格納されている。もう1つの実施例において、該重み付けパラメータは、クライアント端末装置が該第2アプリケーションを実行する時、該サーバから該クライアント端末装置にダウンロードされる。
本発明の実施例において、サーバによって生成された原画像に含まれる画面コンテンツは、ゲームシーンの違いに応じて劇的に変化する。例えば、都市のゲームシーンは、多くの簡単且つ明確な外観輪郭と、異なるが概ね同系色の色を含むゲームの原画像を有することができる。もう1つの暗い洞窟のゲームシーンでは、ゲームの原画像は単調でトーンが低く色度が低い色で満たされるが、不規則だが目立たない景観の輪郭になる。また、別の緑豊かな庭園のシーンは、ゲームの原画像に多くの鮮やかでカラフルなオブジェクトを含み、詳細で複雑な輪郭を持たせる。
本発明の方法は、これらの異なるゲームシナリオに適応するために異なる重み付けパラメータを用い、これによって、同じAI強化モジュールによって向上された出力画像の品質が高品質かつ安定したレベルを維持することができ、原画像の画像コンテンツでさえも劇的に変化させる。
好適には、該第1アプリケーションによって生成された該原画像は、複数組のシーン(scene-modes)に区分されることができ、各シーンは、それぞれ複数の該原画像を含む。該重み付けパラメータも複数組に区分され、各組は、それぞれ複数の重み付けパラメータを含み、そのうち1つの該シーンに対応する。異なるシーンの原画像に対応する該復号画像は、同じAI強化モジュールによって該異なる組の重み付けパラメータ内の該シーンに対応する重みの該組の重み付けパラメータを用いて、画像強化処理が施される。
本発明の実施例において、該異なる組の重み付けパラメータは全てクライアント端末装置に予め記憶されており、シーンが変化するたびに、変化した新しいシーンに対応する該組の重みのパラメータが該AI強化モジュールに適用され、該強化画像を生成する。もう1つの実施例において、該異なる組の重み付けパラメータは、全て該サーバ側に格納され、該シーンが変化するたびに、変化した新しいシーンに対応する該組の重み付けパラメータがサーバからクライアント側に送信され、その後、該AI強化モジュールに運用され、該強化画像を生成させる。
図4は、本発明に記載の人工ニューラルネットワークモジュール105の訓練プログラムの第1実施例の説明図である。本発明において、該クライアント端末装置2のAI強化モジュール204によって使用される数学演算式は、サーバ1内の該人工ニューラルネットワークモジュール105によって実行される訓練プログラムによって訓練され定義される。該訓練プログラムは、以下のステップを含む。
ステップ400:訓練モードで該第1アプリケーションを実行し、複数の訓練原画像を生成する(ステップ401)。
ステップ402:該訓練原画像が該エンコーダによって複数の訓練符号化画像に符号化される。
ステップ403:サーバ内の訓練デコーダを使用することによって該訓練符号化画像を複数の訓練復号画像に復号する。
ステップ404:該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも1つの訓練数学演算を使用して該訓練復号画像を1つずつ処理して複数の訓練出力画像を生成する(ステップ405)。該少なくとも1つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。
ステップ406:該訓練出力画像と対応する該訓練原画像との間の差を該比較訓練モジュールによって1つずつ比較し、それに応じて該少なくとも1つの訓練数学演算式の該訓練重み付けパラメータを調整する。該訓練重み付けパラメータは、該訓練出力画像と対応する該訓練原画像との間の差を最小にするように調整される。該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、該少なくとも1つの訓練数学演算式にフィードバックされ、ステップ404において、次の訓練復号画像を処理させる。所定数の訓練出力画像と対応する訓練原画像との比較、所定数の訓練重み付けパラメータの調整プログラムを実行した後、最後に訓練を完了した後に得られる該訓練重み付けパラメータ(ステップ407)は、取り出され、該クライアント端末装置のAI強化モジュールに適用され、その数学演算式の重み付けパラメータとされる。
本発明の第1実施例において、該訓練復号画像は該人工ニューラルネットワークモジュールに入力されて対応する該訓練出力画像を生成する。そして、該訓練出力画像と対応する該訓練原画像とを比較して差値を算出する。そして、例えばAdamアルゴリズム、確率勾配降下法(Stochastic gradient descent;SGD)、又は前方二乗平均平方根勾配降下法(Root Mean Square Propagation;RMSProp)等の数学最適化法により前記人工ニューラルネットワークの重み付きパラメータ(一般に重み付きweight w、バイアスbias bと称される)を学習し、それによって差値が可能な限り小さくなるし、これによって、該訓練出力画像は、対応する訓練原画像に更に近くなることができる。
異なる要求に応じて異なる方法が該差値(又は近似値)を計算することに用いられることができ、例えば、平均二乗誤差(mean square error;MSE)、L1正規化(L1 regularization)(絶対値の誤差を利用absolute value error)、ピーク値信号対ノイズ比(peak signal-to-noise ratio;PSNR)であり、構造類似性(structure similarity;SSIM)、生成対抗ネットワーク損失(generative adversarial networks loss;GAN loss)及び/又はその他の方法などである。第1実施例において、以下の方法を使用して差値を計算する。(1)MSE、L1、及びGAN lossの重み付け平均;(2)MSE;(3)GAN loss並びに同時に弁別器(Discriminator)を訓練する;(4) MSEの重み付け平均及びMSEの辺縁(Edge of MSE)。該訓練プログラムの詳細については後述する。
図5は、本発明による人工ニューラルネットワークモジュール105の訓練プログラムの第2実施例の説明図である。本発明において、該第2実施例の訓練プログラムは以下のステップを含む。
ステップ410:訓練モードで該第1アプリケーションを実行して複数の訓練原画像を生成する(ステップ411)。ここで、該訓練原画像のカラーフォーマットはカラー三原色(RGB)である。
ステップ412:該訓練原画像を該エンコーダによって複数の訓練コード画像に符号化する。
ステップ413:サーバ内の訓練デコーダを使用することによって該訓練符号化画像を複数の訓練復号画像に復号する。
ステップ414:該第2実施例において、該訓練復号画像と該訓練出力画像のカラーフォーマットが同じである(本第2実施例において両方ともRGBである)場合、残差ネットワークモジュール(residual network module)は、畳み込みニューラルネットワーク(Convolutional Neural Network;CNN)とも称され、該人工ニューラルネットワークモジュールにおいて使用され得る。対応する訓練復号画像を処理するための該残差ネットワークモジュールの出力は、該対応する訓練復号画像と合計される(summed up)(ステップ415)。次に、該残差ネットワークモジュールの出力と該対応する訓練復号画像との合計の結果が訓練出力画像として出力される(ステップ416)。
ステップ417:該比較訓練モジュールを使用することによって、該訓練出力画像と対応する該訓練原画像との間の差を逐一比較し(差値を計算する)、それに従って該少なくとも1つの訓練数学演算式の該訓練重み付けパラメータを調整する。該訓練重み付けパラメータは、該訓練出力画像と対応する該訓練原画像との間の差を最小にするように調整される。該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータが該人工ニューラルネットワークにフィードバックされて、ステップ414において、次の訓練復号画像が処理される。所定数の訓練出力画像と対応する訓練原画像との比較、所定数の訓練重み付けパラメータの調整プログラムを行った後、最後に訓練を完了した後に得られる該訓練重み付けパラメータ(ステップ418)が取り出され、その数学演算式のパラメータの重み付けとして該クライアント端末装置のAI強化モジュールに適用される。
図6は、本発明の人工ニューラルネットワークモジュール105の訓練プログラムの第3実施例の説明図である。第3実施例において、該比較訓練モジュールは、弁別器(Discriminator)を使用して、該訓練出力画像と対応する該訓練原画像との間の差を比較し、それに応じて該訓練重み付けパラメータを調整する。該第3実施例の訓練プログラムは、以下のステップを含む。
ステップ420:訓練モードで該第1アプリケーションを実行して複数の訓練原画像を生成する(ステップ421)。ここで、該訓練原画像はn個のチャネルを含み、nは2より大きい正の整数である。
ステップ422:該訓練原画像を該エンコーダによって複数の訓練符号化画像に符号化する。
ステップ423:サーバ内の訓練デコーダを使用することによって該訓練符号化画像を複数の訓練復号画像に復号し、訓練復号画像は、m個のチャネルを含み、mは2より大きい正の整数である。
ステップ424:該人工ニューラルネットワークモジュールは、該訓練復号画像(mチャネル)を受け取り、少なくとも1つの訓練数学演算式を使用することによって該訓練復号画像を1つずつ処理し、複数の訓練出力画像(nチャネル)を生成する(ステップ425);該少なくとも1つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。該訓練出力画像(nチャネル)と対応する訓練復号画像(mチャネル)とを組み合わせて(ステップ426)、複数の訓練合成画像(m+nチャネルを有する)を生成する。次に、訓練合成画像は、訓練出力画像の品質を分析するために弁別器にフィードバックされ(ステップ427)、これによって該人工ニューラルネットワークを訓練する。
図7は、図6に示す弁別器の訓練手順の実施例の説明図である。該弁別器の訓練プログラムは、以下のステップを含む。
ステップ430:訓練モードで該第1アプリケーションを実行して複数の訓練原画像を生成する(ステップ431)。ここで、該訓練原画像は、n個のチャネルを含み、nは2より大きい正の整数である。
ステップ432:該訓練原画像をエンコーダによって複数の訓練符号化画像に符号化する。
ステップ433:サーバ内の訓練デコーダによって該訓練符号化画像を複数の訓練復号画像に復号する。ここで、該訓練復号画像は、m個のチャネルを含み、mは2より大きい正の整数である。
ステップ434:該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも1つの訓練数学演算を使用し、訓練復号画像(mチャネル)を1つずつ処理し、複数の訓練出力画像を生成する(ステップ435)。該少なくとも1つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。該訓練出力画像はn個のチャネルを含む。
ステップ436:該nチャネルの訓練出力画像と対応する該mチャネルの訓練復号画像との両者を組み合わせて、m+nチャネルを有する複数の偽サンプル(false samples)を生成する。そして、該nチャネルの訓練原画像と対応する該mチャネルの訓練復号画像との両者を組み合わせて、m+n個のチャネルを有する複数の真のサンプル(true samples)を生成する(ステップ437)。
ステップ438:該m+nチャネルの模擬偽サンプル及び該m+nチャネルの模擬真サンプルを、比較訓練モジュールの弁別器にフィードバックして、弁別器の模擬偽サンプル及び模擬真サンプルを検出及び識別する能力を訓練させる。
該人工ニューラルネットワークモジュール105(図2に示す)がサーバ1側で適切に訓練された後、得られた重み付けパラメータ(重みweight w、バイアスbias b)がクライアント端末装置内のAI強化モジュール204に適用される。該AI強化モジュール204及びそれに関連する重み付けパラメータ(重みweight w、バイアスbias b)は、該クライアント端末装置2に格納される。その後、該クライアント端末装置が、サーバから2Dビデオストリームに含まれる符号化画像を受信して復号するたびに、該符号化画像の各々は、該AI強化モジュールによって処理されて強化画像を生成する。
その後、該クライアント端末装置は、該強化画像を出力画像としてそのスクリーン上に再生する。該ニューラルネットワークは、画像の色、明るさ、及び詳細を学習し、向上させることができる。原画像の一部の細節は、符号化及びストリーミングの過程で損傷又は消失するので、適切に訓練されたニューラルネットワークはこれらの損傷又は消失した詳細を修復することができる。本発明の実施例において、AI強化モジュールのニューラルネットワークは、動作するために以下の情報を必要とする。
関連機能とパラメータ:
X:入力画像。
Conv2d(X、a、b、c、d、w、b):Xで実行される。出力チャネル数はaである(amount of output channel=a)。コアサイズはbである(kernel_size=b)。ストライド値はcである(stride=c)。パディングサイズは2d畳み込みであり、そのバイアスはdである(padding size=2d convolution with bias of d)。該訓練の重み付けパラメータは、コアw(kernel w)とバイアスb(bias b)である。
Conv2dTranspose(X、a、b、c、w、b)):Xで実行される。出力チャネル数はaである(amount of output channel=a)。コアサイズはbである(kernel_size=b)。ストライド値はcである(stride=c)。クロップサイズは2d転置畳み込みで、そのバイアスはdである(cropping size= 2d transpose convolution with bias of d)。訓練の重み付けパラメータは、コアw(kernel w)とバイアスb(bias b)である。
σ(X):Xに作用する非線形活性化関数。
uint8(x):浮動小数点xの値を0から255(255を含む)の間で制御及び制限することに用いられ、uは無条件丸めメソッドを使用し、unsigned int8に変換する。
R(X、w):多くのconv2d及びbatchnormを含むXで動作する残差ブロック(residual block)であり、それぞれが訓練のための独自の重み付けパラメータを含む(詳細については、次のWebサイトを参考とすることができる。https://stats.stackexchange.com/questions/ 246928/what-exactly-is-a-residual-learning-block-in-the-context-of-deep-residual-networ)。
入力画像及び出力画像は、RGB、YUV420、YUV444などのような異なる色フォーマットを有することができるので、以下に異なる色フォーマットを有する入力画像及び出力画像について検討する。
第1の状況:原画像はRGB、出力画像もRGBである。
入力画像と出力画像の両方がRGB画像であるため、この状況は最も単純である。処理速度を向上させるために、比較的大きなコアサイズ(例えば、8×8、ストライド値stride=4で構造中に畳み込み及び転置畳み込みされる)を使用してできるだけ早く計算を加速し、フルHD画像の高解像度に対応する。この場合、残差ネットワーク(Residual network)を用いて収束をより容易により安定させる。
関連機能とパラメータ:
X:RGBフォーマットの入力画像。各色はunsigned int8フォーマットである。
Figure 0007448178000001
Y=uint8((Conv2dTranspose(σ(Conv2d(X2、a、b、c、d、w_1、b_1))、w_2、b_2)+X2)×128+128)。
W_1は、サイズがb*b*3*aの行列であり、b_1は、サイズがaのベクトルである。
W_2は、サイズがb*b*3*aの行列であり、b_2は、サイズが3のベクトルである。
使用されるパラメータは、以下を含む:
Xの解像度は1280×720である。
a=128,b=10,c=5,d=0,σ=leaky relu with alpha=0.2。
a=128,b=9,c=5,d=4,σ=leaky relu with alpha=0.2。
a=128,b=8,c=4,d=0,σ=leaky relu with alpha=0.2。
前記クライアント端末装置の処理速度が速い場合は、次の数学演算式を使用できる。
Y=uint8((Conv2dTranspose(R(σ(Conv2d(X2, a,b,c,d,w_1,b_1)),w_R),w_2,b_2)+X2)*128+128)
W_1はサイズがb*b*3*aの行列で、b_1はサイズがaのベクトルである。
W_2はサイズがb*b*3*aの行列で、b_2はサイズが3のベクトルである。
ここで、Rはn層を有する残差ブロック(residual blocks)である。
そのうちに、多くのニューラルネットワーク層を含み、各層が訓練された重み付けパラメータを有し、これをまとめてw_Rと称する。
使用されるパラメータは、以下を含む。
a=128,b=8,c=4,d=0,σ=leaky relu with alpha=0.2;n=2。
a=128,b=8,c=4,d=0,σ=leaky relu with alpha=0.2;n=6。
第2の状況:原画像は、YUV420、出力画像は、RGB又はYUV444である。
原画像入力がYUV420で、出力画像がRGB又はYUV444の場合、入力画像と出力画像の解像度とフォーマットが異なるため、残差ネットワーク(Residual network)をこの状況に直接適用することはできない。
本発明の方法は、最初にYUV420の入力画像を復号し、次に別のニューラルネットワーク(Aネットワークと称され、N=3である)を使用し、復号画像を処理し、RGB又はYUV444フォーマットの画像(X2と称される)を取得する。次に、X2画像は、第1の状況に記載されたニューラルネットワーク(残差ネットワーク)に送られ、訓練される。また、同じ訓練方法をAネットワークにも適用して、X2と原画像との間の差を比較し、それによってAネットワークを訓練する。
X_yは、YUV420フォーマットの入力画像のYであり、そのフォーマットはunsigned int8である。
X_uvはYUV420フォーマットの入力画像を持つUVで、そのフォーマットはunsigned int8である。
Figure 0007448178000002
X2=Conv2d(X2_y,3,e,1,w_y,b_y)+Conv2dTranspose(X2_uv,3,f,2,w_uv,b_uv)
W_yは、サイズがe*e*1*3の行列で、b_yは、サイズが3のベクトルである。
W_uvは、サイズがf*f*3*2の行列で、b_uvは、サイズが3のベクトルである。
上記はAネットワーク(ニューラルネットワーク数A)の第1実施例である。
最後に、該出力画像の出力に用いられる数学式と前述の第1の状況の入力画像と出力画像が何れもRGBフォーマットである場合に用いられる数学式は同じである。
Y=uint8((Conv2dTranspose(σ(Conv2d(X2,a,b,c,d,w_1,b_1)),w_2,b_2)×128+128)
W_1は、サイズがb*b*3*aの行列で、b_1は、サイズがaのベクトルである。
W_2は、サイズがb*b*3*aの行列で、b_2は、サイズが3のベクトルである。
使用されるパラメータは、前述と同様に、入力画像と出力画像が両方ともRGBフォーマットの場合に使用されるパラメータと同じである。
Xの解像度は1280×720である。
a=128,b=8,c=4,d=0,e=1,f=2,σ=leaky relu with alpha=0.2;
a=128,b=8,c=4,d=0,e=1,f=2,σ=leaky relu with alpha=0.2。
図8を参照し、それは、本発明のニューラルネットワークの訓練過程の実施例が開示しており、ここで原画像は、YUV420であり、出力画像は、RGB又はYUV420である。該ニューラルネットワークの訓練過程は、以下のステップを含む。
ステップ440:訓練モードで第1アプリケーションを実行して複数の訓練原画像を生成する。ここで、該訓練原画像はRGB又はYUV444フォーマットである。
ステップ441:該訓練原画像を該エンコーダによって複数の訓練符号化画像に符号化する。
ステップ442:サーバ内の訓練デコーダを使用することによって該訓練符号化画像を複数の訓練復号画像に復号する;ここで、訓練復号画像はYUV420フォーマットである。
ステップ443:該人工ニューラルネットワークモジュールは、第1ニューラルネットワーク及び第2ニューラルネットワークを含む。該第1ニューラルネットワーク(Aネットワークとも称される)は、該訓練復号画像を受け取り、少なくとも1つの訓練数学演算式を使用して該訓練復号画像(YUV420)を1つずつ処理し、複数の第1出力画像X2(X2とも称される。ステップ444)において、それは該訓練原画像と同じ符号フォーマットを有する。該少なくとも1つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。
ステップ445:第2ニューラルネットワークは、畳み込みニューラルネットワークネットワーク(Convolutional Neural Network;CNN)である。第2ニューラルネットワーク(CNN)は、第1出力画像X2を受け取り、該少なくとも1つの訓練用数学演算式を使用して該第1出力画像X2を1つずつ処理し、複数の第2出力画像を生成する。該少なくとも1つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。次に、該第1出力画像X2と該第2出力画像の両者が加算され(ステップ446)、訓練出力画像が生成される(ステップ447)。
該比較訓練モジュールは、第1比較器と第2比較器を備える。ステップ448において、該第1比較器は、第1出力画像X2とその対応する訓練原画像との間の差を比較し、該第1ニューラルネットワークを訓練する。ステップ449において、第2比較器は、訓練出力画像とその対応する訓練原画像との間の差を比較し、第2ニューラルネットワークを訓練する。
図9は、本発明によるYUV420フォーマットを有する復号画像を処理するためのプログラムの実施例の説明図である。本発明のYUV420フォーマットで復号画像を処理するためのプログラムは以下を含む。
ステップ451:該第1ニューラルネットワークがYUV420カラーフォーマットの訓練復号画像を受信し処理するステップは、以下のステップを含む。
ステップ452:該訓練復号画像のY部分データを抽出し、該訓練復号画像のY部分データを標準サイズ(元のサイズ)のニューラルネットワークで処理し、NチャネルのY部分出力データを生成する(例えば、ストライド値Stride=1の畳み込み;ステップ454)。
ステップ453:訓練復号画像中のUV部分データを抽出し、そして該訓練復号画像のUV部分データを二倍拡大ニューラルネットワークによって処理して、Nチャネルを有するUV部分出力データを生成する(例えば、ストライド値Stride=2の転置畳み込み;ステップ455)。
ステップ456:該Y部分出力データを該UV部分出力データに加算して該訓練出力画像を生成する(ステップ457)。
第3の状況:原画像は、YUV420であり、出力画像は、YUV444であり、別のより速い方法で処理される。
入力画像がYUV420であり、出力画像がYUV444である場合、前述の方法に加えて該第1ニューラルネットワーク(Aネットワーク)を実施する別の方法があり、これはより速い速度を伴う特例である。YUV420フォーマットの復号画像は、まず第1ニューラルネットワーク(Aネットワーク)によってYUV444フォーマット画像(X2とも称される)に変換される。その後、X2が前述のニューラルネットワーク(残差ネットワーク)に送られ、訓練される。さらに、同じ訓練方法がAネットワークにおいても実施され、X2と原画像との間の差を比較し、Aネットワークを訓練する。
X_yは、YUV420フォーマットの入力画像のYであり、そのフォーマットは、unsigned int8である。
X_uvは、YUV420フォーマットの入力画像のUVであり、そのフォーマットは、unsigned int8である。
Figure 0007448178000003
X3_uv=Conv2dTranspose(X2_uv,2,2,2,w_uv,b_uv)
W_uvは、サイズが2*2*2*2の行列で、b_uvは、サイズが2のベクトルである。
X2=cancat(X2_y、X3_uv)
上記は、Aネットワーク(ニューラルネットワークA)のもう1つの実施例であり、ここでは、"concat"関数は、チャネルの方向に従って該入力を接続する。
最後に、該出力画像の出力に使用される数学式と前述の第1の場合の入力画像と出力画像が何れもRGBフォーマットの場合に使用される数学式と同じである。
Y=uint8((Conv2dTranspose(σ(Conv2d(X2、a、b、c、d、w_1、b_1))、w_2、b_2)×128)128)。
W_1は、サイズがb*b*3*aの行列で、b_1は、サイズがaのベクトルである。
W_2は、サイズがb*b*3*aの行列で、b_2は、サイズが3のベクトルである。
使用されるパラメータは、入力画像と出力画像が両方ともRGBフォーマットの場合に使用されるパラメータと同じである。
Xの解像度は1280×720である。
a=128,b=10,c=5,d=0,σ=leaky relu with alpha=0.2;
a=128,b=9,c=5,d=4,σ=leaky relu with alpha=0.2;
a=128,b=8,c=4,d=0,σ=leaky relu with alpha=0.2。
図10は、本発明のYUV420フォーマットの復号画像を処理するプログラムのもう1つの実施例の説明図である。図10に示すように、本発明のYUV420フォーマットの復号画像を処理するためのプログラムは以下を含む。
ステップ461:該第1ニューラルネットワークは、以下のステップにより、YUV420カラーフォーマットの訓練復号画像を受け取り、処理する。ここで、該訓練復号画像は、Nチャネルを含み、Nは、2より大きい正の整数である。
ステップ462:該訓練復号画像内のY部分データを抽出してY部分出力データを生成する。
ステップ463:該訓練復号画像内のUV部分データを抽出し、訓練復号画像のUV部分データを処理してN-1チャネルのUV部分出力データを生成する(例えば、ストライド値Stride=2の転置畳み込み;ステップ464)。
ステップ465:マージ関数Concat(concatenates)によって該Y部分データ及び該UV部分データを処理し、該訓練出力画像が生成する(ステップ466)。
第4の状況:原画像は、YUV420、出力画像は、YUV420である。
入力画像がYUV420であり、出力画像もYUV420である場合、処理は上述のRGBからRGBへの方法と同様になる。ただし、入力フォーマットと出力フォーマットが異なるため、チャネルごとに異なる畳み込み方法が適用される。例えば、ニューラルネットワークのコアサイズが8×8でストライド値strideが4であり、画像のY部分を処理する場合、該ニューラルネットワークをコアサイズ4x4及びストライド値strideを2に変更して画像のUV部分を処理することができる。
X_yは、YUV420フォーマットの入力画像のYであり、そのフォーマットはunsigned int8である。
X_uvは、YUV420フォーマットの入力画像のUVであり、そのフォーマットはunsigned int8である。
Figure 0007448178000004
X3=σ(Conv2d(X2_y,a,b,c,w_y,b_y)Conv2d(X2_uv,a,b/2,c/2,w_uv,b_uv))
W_yは、サイズがb*b*1*aの行列で、b_yはサイズがaのベクトルである。
W_uvは、サイズが(b/2)*(b/2)*2*aの行列で、b_uvはサイズがaのベクトルである。
X4_y=Conv2dTranspose(X3,1,b,c,w_1,b_1)X2_y;
X4_uv=Conv2dTranspose(X3,2,b/2,c/2,w_2,b_2)X2_uv
W_1はサイズがb*b*1*aの行列で、b_1はサイズが1のベクトルである。
W_2はサイズが(b/2)*(b/2)*2*aの行列で、b_2はサイズが2のベクトルである。
上記は、Aネットワーク(ニューラルネットワークA)のもう1つの実施例であり、ここでは、"concat"関数はチャネルの方向に従って入力を接続する。
最後の出力:
Y_y=uint8(X4_y*128128)。
Y_uv=uint8(X4_uv*128128)。
使用するパラメータ:
a=128,b=8,c=4,d=0,e=2,f=2,σ=leaky relu with alpha=0.2。
本発明で使用されるパラメータの詳細な説明は以下の通りである。
訓練パラメータ:
重み付けパラメータの初期値は、ガウス分布(Gaussian distribution)に基づき、mean=0、stddev=0.02である。
Adamアルゴリズムが訓練プログラムで使用され、学習率は、学習率learning rate=1e-4,beta1=0.9である。
マイクロバッチサイズmini batch size=1である。
プライマリエラー関数(primary error function)は、次のとおりである。
100×(L2×L2e)λ×L1γ×Dα×Lg。
使用されるパラメータの標準値は次のとおりである。
λ=0、γ=0、α=0。
λ=0、γ=0、α=100。
λ=0、γ=1、α=0。
λ=10、γ=0、α=0。
λ=10、γ=0、α=100。
λ=10、γ=1、α=0。
そのうち、
Figure 0007448178000005
;ここで、meanは、平均値であり、Tは訓練目標である。
Figure 0007448178000006
;ここで、meanは、平均値であり、Tは訓練目標である。
Dは、生成対抗ネットワーク損失(GAN loss)であり、一般的なGAN訓練方法を使用して、弁別器(Discriminator)を訓練し、(X、Y)及び(X、T)を識別する。
Lgの数学式は、
WxHの画像の場合、
Y_dx(i、j)=Y(i1、j)-Y(i、j)0≦i<W-1,0<=j<H
T_dx(i、j)=T(i1、j)-T(i、j)0≦i<W-1,0<=j<H
Y_dy(i、j)=Y(i、j1)-Y(i、j)0≦i<W,0<=j<H-1
T_dy(i、j)=T(i、j1)-T(i、j)0≦i<W,0<=j<H-1
Figure 0007448178000007
RGBモードでは、前記訓練ターゲットTは、RGBゲーム画像のオリジナルの原画像である。
YUV444モードでは、訓練ターゲットTは。RGBゲーム画像のオリジナルの原画像である。
RGB→RGB、YUV420→YUV420モードでは、L2e=0である。
YUV420→RGB及びYUV420→YUV444モードでは、以下である。
Figure 0007448178000008
上記説明から分かるように、本発明は、ネットワークによって伝送される画像媒体の品質を向上させる方法は、以下の利点を有する。
異なるコンテンツを有する様々な画像に従って随時ニューラルネットワークの訓練を維持し、異なる画像コンテンツに対して異なる強化効果を実行することができる。例えば、アニメスタイル、現実的なスタイル又は異なるシーンを有する画像の場合、異なる重み付けパラメータw、bについて、事前にクライアント端末装置に記憶することができ、又はクライアント端末装置に自動的にダウンロードすることができる。
原画像がどのモードに属するべきかを決定する方法に関して、サーバ側のニューラルネットワークは原画像のモードを自動的に決定し、そのような情報をクライアント装置に送信することができる。原画像の内容は一貫しているので、この判定過程は、サーバによって定期的に実行でき、例えば1秒ごとに1回実行することができる。しかしながら、もう1つの実施例において、画像モードを判定する過程は、また、クライアント端末装置によって定期的に実行でき、例えば、数秒ごとに1回実行でき、クライアント端末装置の計算能力に応じて決めることができる。
訓練は、実際のビデオ画像に基づいて行い、実際に強化の向上度を測定できる。例えば、本発明の方法を使用し、1280×720の解像度及び3000のビットレートを有するビデオ画像を向上させる場合、同様のシーンのPSNR値は、約1.5~2.2db増加することができ、これは本発明の方法が確かに実際に出力画像の品質を向上し、出力画像を原画像の品質に視覚的に近づけることができることを証明できる。さらに、本発明は、従来の画像強化技術が、出力画像のコントラスト、平滑化、及びカラーフィルタリングを増加させるだけであり、本発明のように出力画像を原画像に視覚的に近似させることができないものとは異なる。
ニューラルネットワークアルゴリズムの単純化されたモデルを使用し、大きなコア及び大きなストライド値を使用することによって、ニューラルネットワークの分解能は急速に低下し、モデルの処理速度は大幅に向上することができる。計算能力が限られているクライアント端末装置でも、60fpsとHD解像度の出力画像の目標を達成することができる。
カラーフォーマット(YUV420及びRGB)変換作業をニューラルネットワークに取り入れ、Yチャネルよりも低いUVチャネルの解像度を利用することで、UVチャネルのストライド値をYチャネルの半分に設定すると、ニューラルネットワークの計算速度を高めることができる。
本発明のネットワークによって伝送される画像媒体の品質を向上させる方法は、上記の実施例に加えて、複数の異なる拡張用途を有する。例えば、ディスプレイの解像度を上げる(解像度)、画面のサイズを大きくする、時間解像度を上げる(即ち、フレーム毎秒のフレームレートを上げる)、マルチフレーム入力、予測画面、オフラインアプリケーションなどであり、具体的説明については、後述する。
図11を参照し、それは、本発明の人工ニューラルネットワークモジュールの訓練プログラムのもう1つの実施例(第4実施例)の説明図である。本発明では、該クライアント端末装置2のAI強化モジュール204によって使用される数学演算式は、サーバ1中の該人工ニューラルネットワークモジュール105によって実行される訓練プログラムによって訓練され定義される。図11に示す訓練プログラムのもう1つの実施例は、以下のステップを含む。
ステップ511:複数の高品質訓練原画像からなる訓練ビデオを訓練モードで提供する。該高品質訓練原画像は、例えば、ゲームソフトウェア又は他のアプリケーションによって生成されたインスタントビデオであることができ、又はメモリに事前に記録された又は事前に記憶されたビデオであることができる(例えば、AVI、MKV、WMV、MPG、VOB、FLV、SWF、MOV、RMVBなどのビデオフォーマットであるが、これに限定するものではない)。本実施例において、該高品質訓練原画像は、比較的良好又は優れた画像品質を有し、例えば、以下の特性のうちの1つ又は複数に適合する画像などである。(a)4K又は8Kなどのより高い解像度(Resolution)を有する、(b)例えば150度、180度、さらには360度の視野の比較的広い視野(field of view;FOV)、(c)例えば、60FPS又は120FPSなどの高いフレームレート(Frame per Second;FPS)、(d)両目立体情報(stereo vision)を有する、(e)視覚的な奥行き情報を有する、(f)赤外線、紫外線などの追加の色情報を有する(参考URL:https://Photo.stackexchange.com/questions/83923/why-dont-cameras-offer-more-than-3-colour-channels-or-do-they)、又は/及び(g)マルチチャネル、高サンプリング周波数(44kHz以上)又は高解像度(audio bit depth 24bit or above)などのより良好な音声信号を有する。
ステップ512:画像劣化処理。劣化モジュールによって訓練原画像を劣化させてその画質を低下させ、以下のような、1つ又は複数の性質を満たす劣化した訓練原画像を取得するが、これに限定するものではない。(a)サンプリング(sampling)方式で解像度を下げる(720p、1080i以下まで低減)、(b)トリミング(crop)による視野の縮小(120度以下の視野に縮小、又は元のアスペクト比16:9の画像を4:3にトリミングする)、(c)フレームを破棄する方式でフレームレートを下げる(30FPS以下まで低減)、(d)抽出方式でstereo visionにより単一フレームを取り出す、(e)視覚的奥行き情報を破棄する、(f)音声信号をステレオに変換する、サンプリング周波数を下げ(22.1kHz以下)、解像度を下げる(16bit以下)、(g)ノイズ(ガウス(Gaussian)、ラプラシアン(Laplacian)ノイズなど)、又は/及び(h)ファジー化(ガウスファジー化など)など。
ステップ513:該劣化訓練原画像がエンコーダによって符号化し、複数の訓練符号化画像に圧縮する。
ステップ514:サーバ内の訓練デコーダを使用することによって、該訓練符号化画像を復号し、複数の訓練復号画像に解凍する。
ステップ515:サーバ内の該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも1つの訓練数学演算を使用して該訓練復号画像を1つずつ処理して複数の訓練出力画像を生成する(ステップ516)。該少なくとも1つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。
ステップ517:該比較訓練モジュールにより該訓練出量画像と、ステップ511で提供される対応する訓練出力画像との間の差を比較し、それに応じて該少なくとも1つの訓練数学式の該訓練重み付けパラメータを調整する。該訓練重み付けパラメータは、該訓練出力画像と対応する該訓練画像の間の差を最小化するように調整される。該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、ステップ515において次の訓練復号画像を処理するために該少なくとも1つの訓練数学演算式にフィードバックされる。所定数の訓練出力画像と対応する訓練原画像との比較、及び所定数の訓練重み付けパラメータの調整プログラムを行った後、最終的に、訓練後に得られた該訓練重み付けパラメータが抽出されて該クライアント端末装置のAI強化モジュール内に適用され、その数学演算式の重み付けパラメータとされる。
図11に示す本発明のもう1つの実施例において、該訓練復号画像を人工ニューラルネットワークモジュールに入力して対応する訓練出力画像を生成する。そして、該訓練出力画像と対応する該訓練原画像とを比較して差値を算出する。そして、例えばAdamアルゴリズム、確率勾配降下法(Stochastic gradient descent;SGD)、又は前方二乗平均平方根勾配降下法(Root Mean Square Propagation;RMSProp)等の数学最適化法により前記人工ニューラルネットワークの重み付けパラメータ(通常、重み付けweight w、バイアスbias bと称される)を学習し、該差値が小さくさせるほど好ましく、これにより、該訓練出力画像は、対応する高品質の訓練原画像に更に近くなることができる。
異なる要求に応じて異なる方法が該差値(又は近似値)を計算することに用いられることができ、例えば、平均二乗誤差(mean square error;MSE)、L1正規化(L1 regularization)(絶対値の誤差を利用absolute value error)、ピーク値信号対ノイズ比(peak signal-to-noise ratio;PSNR)であり、構造類似性(structure similarity;SSIM)、生成対抗ネットワーク損失(generative adversarial networks loss;GAN loss)及び/又はその他の方法などである。第1実施例において、以下の方法を使用して差値を計算する。(1)MSE、L1、及びGAN lossの重み付け平均;(2)MSE;(3)GAN loss並びに同時に弁別器(Discriminator)を訓練する;(4) MSEの重み付け平均及びMSEの辺縁(Edge of MSE)。
図12を参照し、本発明の人工ニューラルネットワークモジュールの訓練プログラムのさらにもう1つの実施例(第5実施例)の説明図である。本実施例の訓練プログラムにおいて、ニューラルネットワークの入力は、1つの画像だけでなく複数の画像でもよい。前の画面の情報を使用して現在の画像を強化すると、より最適化されて原画像に近い増強効果を得ることができる。図12に示す実施例の訓練プログラムは、以下のステップを含む。
ステップ521:訓練モードで複数の訓練原画像から構成される訓練ビデオを提供する。該訓練原画像は、例えば、ゲームソフトウェア又は他のアプリケーションによって生成されたインスタントビデオであることができ、又はメモリに予め記録された又は予め格納されたビデオであることができる。本実施例において、該訓練原画像の複数のフレームは、Frame(1)、Frame(2)、…、Frame(N-1)、Frame(N)で表すことができ、Nは正の整数である。
ステップ522:該訓練原画像の画像がエンコーダによって符号化され、複数の訓練符号化画像からなるビデオストリームに圧縮され、そのフレームはそれぞれEncoded_Frame(1)、Encoded_Frame(2)、…、Encoded_Frame(N)である。1)、Encoded_Frame(N)で表され、Nは正の整数である。
ステップ523:サーバ内の訓練デコーダによって該訓練符号化画像を複数の訓練復号画像に順次復号及び解凍し、そのフレームは、それぞれDecoded_Frame(1)、Decoded_Frame(2)、…、Decoded_Frame、(N-1)、Decoded_Frame(N)で表され、ここで、Nは正の整数である。そして、N番目の訓練原画像Frame(N)と対応するN番目の訓練復号画像のフレームの前の1つ又は複数のフレーム、例えば、Decoded_Frame(N-2)、Decoded_Frame(N-1)、Decoded_Frame(N)を抽出し、次のステップ524に進む。ここで、N-2又はN-1の値が1未満である場合、Decoded_Frame(1)のフレームにより、Decoded_Frame(N-2)及びDecoded_Frame(N-1)に取って代わる。
ステップ524:サーバ内の該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、各訓練原画像(Frame(N)、ここで、N=3、4、5、...)を対象とし、少なくとも1つの訓練数学演算式を使用して対応するN番目の訓練復号画像及びその前の1つ又は複数の訓練復号画像のフレーム、即ち、Decoded_Frame(N-2)、Decoded_Frame(N-1)、Decoded_Frame(N)を逐一処理し、対応する訓練出力画像のフレームを生成する(ステップ525におけるように、Predict_Frame(N)とも称される)。該少なくとも1つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。言い換えれば、該人工ニューラルネットワークモジュールは、毎回いくつか(例えば、3つ)の訓練復号画像フレームDecoded_Frame(N-2)、Decoded_Frame(N-1)、Decoded_Frame(N)を受け取り、1つの訓練出力画像のフレームPredict_Frame(N)を出力する(ステップ525)。
ステップ526:該比較訓練モジュールによって、該訓練出力画像のフレームPredict_Frame(N)とステップ521で提供される対応する該訓練原画像のフレームFrame(N)との間の差を比較する。そしてそれに応じて、少なくとも1つの訓練数学演算式の該訓練重み付けパラメータを調整する。該訓練重み付けパラメータは、該訓練出力画像のフレームPredict_Frame(N)と対応する該訓練原画像のフレームFrame(N)との間の差を最小にするように調整される。次に、誤差をできるだけ低減するために、数学的最適化アルゴリズム(ADAM/SGD/RMSPropなど)によってニューロンネットワークの重みを学習する。該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、ステップ524で、次の訓練復号画像を処理するために少なくとも1つの訓練数学演算式にフィードバックされる。所定数の訓練出力画像が対応する訓練原画像と比較され、所定数の訓練重み付けパラメータが調整された後、最後に得られた訓練重み付けパラメータがクライアント装置に適用される。AI強化モジュールは、その数学演算式の重み付けパラメータとされる。異なる要求に応じて異なる方法が該差値(又は近似値)を計算することに用いられることができ、例えば、MSE(平均二乗誤差)、L1(絶対値誤差)PSNR(peak signal-to-noise ratio)、SSIM(structure similarity)、GAN loss(generative adversarial networks loss)等である。本発明が実際に使用するものは、以下の幾つかがある。(i)MSE、L1及びGAN Lossの重み付け平均;(ii)MSE;(iii)GAN loss(Discriminatorを同時に訓練);(iv)MSEとEdgeのMSEの重み付け平均。
図12に示すように複数の画像を入力して出力画像を生成するニューラルネットワーク訓練プログラムによれば、本発明の画像媒体の品質を向上させる方法の対応する実施例は、図13に示すようになる。図13は、本発明のビデオストリームの品質を向上させる方法のさらにもう1つの実施例の説明図であり、それは、以下のステップを含む。
ステップ531:サーバ501側で複数の原画像を提供する(該複数の原画像のフレームは、Frame(1)、Frame(2)、…、Frame(N-1)、Frame(N)で表すことができ、Nは、正の整数である、ステップ531)、該原画像は、例えばゲームソフトウェア又は他のアプリケーションによって生成されたインスタントビデオであることができ、又は予めレコーディング製作されたか、メモリに予め記録されたビデオであることができる。その後、該原画像がサーバ501内の符号器によって符号化及び圧縮され(ステップ532)、そのフレームがそれぞれEncoded_Frame(1)、Encoded_Frame(2)、…、Encoded_Frame(N-1)、Encoded_Frame(N)で表され、ここで、Nは正の整数である。該符号化された画像は、2Dビデオストリームのパターンでネットワークを介してクライアント端末装置に送信される(ステップ533)。
尚、ステップ531~ステップ533に記載される実施例は、該符号化画像がネットワークを通して伝送される場合の実施例である。しかしながら、本発明のさらにもう1つの実施例において、該符号化された画像及びその2Dビデオストリームも予めレコーディング製作されたか、可携帯式メモリメディア(例えばフラッシュドライブ、コンパクトディスク、ハードディスクなど)に記録されたファイルであってもよく、クライアント端末装置によって該ビデオファイルが直接読み取られて、復号画像又はその2Dビデオストリームを得ることができ、ネットワークを介して受信することが必須ではない。言い換えれば、本発明は、クライアント端末装置においてオフライン状態で画質を向上させるためにAI強化モジュールを使用することもでき、携帯用記憶媒体からビデオファイルを読み取った後、AI強化モジュールによって画質を向上させてから出力再生することができる。従って、本発明の同じニューラルネットワーク訓練方法は、他のソースのビデオ、例えば、カメラによって記録された画像、ファイルにレコーディング製作されたビデオなどに用いることができる。同じニューラルネットワーク及び機械学習方法を使用して、前述のビデオ又は再生中のビデオのビデオ品質も向上することができる。たとえば、4KテレビでDVD解像度の画像を再生したり、ワイドスクリーンテレビで携帯電話にて録画した動画を再生したり、スローモーション再生用のフレームを追加したりすることもできる。
ステップ534:クライアント端末装置502は、該符号化画像を受け取り、複数の復号画像に復号し(ステップ534)、そのフレームはそれぞれ、Decoded_Frame(1)、Decoded_Frame(2)、…、Decoded_Frame(N-1)、Decoded_Frame(N)で表され、ここで、Nは正の整数である。そして、N番目の原画像Frame(N)と対応するN番目の復号画像及びその前の1つ又は複数の訓練復号画像のフレームは、例えばDecoded_Frame(N-2)、Decoded_Frame(N-1)、Decoded_Frame(N)を抽出し、次のステップ524に進む。ここで、N-2又はN-1の値が1未満である場合、Decoded_Frame(1)によりDecoded_Frame(N-2)及びDecoded_Frame(N-1)に取って代わる。また、AI強化モジュール(ステップ535のように、強化ニューラルネットワークモデルとも称される)を使用して、N番目の復号画像及び前の1つ又は複数のフレームを入力し、即ち、Decoded_Frame(N-2)、Decoded_Frame、(N-1)、Decoded_Frame(N)を入力し、対応する強化画像を出力画像として生成する(ステップ536におけるように、Enhanced_Frame(N)とも称される)。言い換えれば、該AI強化モジュールは、いくつか(例えば3つ)の復号画像のフレームDecoded_Frame(N-2)、Decoded_Frame(N-1)、Decoded_Frame(N)の入力を受け取り、ステップ536のように、1つの強化画像のフレームEnhanced_Frame(N)を出力する。そのうち、該AI強化モジュール内の強化されたニューラルネットワークモデルで使用される少なくとも1つの数学演算式及びその重み付けパラメータは、図12に示される実施例の訓練プログラムで説明されたものと同じ数学演算式及びその重み付けパラメータである。
本実施例において、ニューラルネットワークが数学演算式として書かれると、それは次の形式になる。
X=Decode(Video stream)。
Y(N)=Network(X(N-2)、X(N-1)、X(n)、W)。
ここで、X=(X(1)、X(2)、X(3)、...)であり、X(N)は、解凍されたビデオのN番目のフレーム、即ちDecoded_Frame(N)である。
前記Networkは、ニューラルネットワーク又は機械学習アルゴリズムである。
Wは、訓練された重み付けパラメータである。
Y(N)は、強化されたN番目のフレームであり、即ち、Enhanced_Frame(N)である。
図12及び図13に示す実施例において、N番目の復号フレームを含む最初の数フレームがニューラルネットワークの入力値として用いられ、強化後(又は訓練後)のN番目のフレームが生成される。しかし、本発明のもう1つの実施例において、N番目の復号画像のフレーム自体とその前1つ及び後1つのフレーム(即ち、Decoded_Frame(N-1)、Decoded_Frame(N)、Decoded_Frame(N+1))を用いてニューラルネットワークの入力値としてもよく、これに応じて強化後(又は訓練後)のN番目のフレームを生成するか、あるいは入力フレーム数は必ずしも3つではなく、異なる数であってもよい。この実施例に適用されるニューラルネットワークの訓練プログラム及びビデオストリームの品質を向上させる方法における実施方式は、概して、上述の図12及び図13に示される実施例と同様であるので、ここでは再度説明しない。
図14を参照し、それは、本発明の人工ニューラルネットワークモジュールの訓練プログラムのさらにもう1つの実施例(第6実施例)の説明図である。本実施例の訓練プログラムでは、ニューラルネットワークの入力は単純な画面のみではなく、音声データを含むこともある。図14に示す実施例の訓練プログラムは、以下のステップを含む。
ステップ541:訓練モードで複数の訓練原画像及び音声信号からなる訓練ビデオを提供し、該訓練原画像及び音声信号は、それぞれFrame(1)、Frame(2)、…、Frame(N-1)、Frame(N)で表され、ここで、Nは正の整数である。該訓練原画像及び音声は、例えば、ゲームソフトウェア又は他のアプリケーションによって生成されたリアルタイムの映像及び音声であってもよく、予めレコーディング製作されたか、メモリ内に記憶されたビデオ及び音声信号であってもよい。
ステップ542:該訓練原画像の画像及び音声信号をエンコーダによって符号化及び圧縮して複数の符号化フレーム画像及び音声信号からなるビデオストリームにし、それぞれEncoded_Frame(1)、Encoded_Frame(2)、・・・、Encoded_Frame(N-1)、Encoded_Frame(N)で表され、ここで、Nは正の整数である。
ステップ543:訓練デコーダによって該訓練符号化画像を逐一復号、解凍して複数の訓練復号画像にし、それは、それぞれDecoded_Frame(1)、Decoded_Frame(2)、・・・、Decoded_Frame(N-1)、Decoded_Frame(N)で表され、ここで、Nは正の整数である。そして、該訓練符号化ビデオストリームのフレームレート(FPS)に従って、復号された音声信号を、複数の所定の長さの時間の音声信号セグメントに分割し、それは、それぞれAudio(1)、Audio(2)、・・・、Audio(N-1)、Audio(N)で表し、各音声信号セグメントAudio(N)を訓練符号化画像Decoded_Frame(N)に対応させる。例えば、該訓練符号化ビデオストリームのフレームレートが25FPSである場合、それは各フレームが1/25秒、即ち、0.04秒の音声信号セグメントとマッチングされる必要があることを意味し、従って、ステップ543で、受信され復号、解凍された音声信号は、0.04秒単位で複数の音声信号セグメントに分割される。
ステップ544:該人工ニューラルネットワークモジュールは、該訓練復号画像及び音声信号セグメントを受け取り、少なくとも1つの訓練数学演算を使用してそれらを1つずつ処理し、対応する訓練出力画像及び音声信号セグメントを生成する(ステップ545)。該少なくとも1つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。
ステップ546:該比較訓練モジュールによって、該訓練出力画像とステップ541で提供されたステップに対応する訓練出力画像Frame(N)及び原音声信号セグメントとの間の差を比較する。それに応じて、少なくとも1つの訓練数学演算式の該訓練重み付けパラメータが調整される。該訓練重み付けパラメータは、該訓練出力画像及び音声セグメントと対応する該訓練原画像及び音声セグメントとの間の差を最小にするように調整される。本実施例に記載されている重み付けパラメータの調整方法は、上記と同じであるため、ここでは再度説明しない。
図14に示される入力は、音声信号セグメントを含む復号された画像は、出力画像及び音声信号セグメントのニューラルネットワーク訓練プログラムを生成し、対応する本発明の画像媒体の品質を向上させる方法の実施例は、図15に示すとおりである。図15は、本発明の音声信号を含むビデオストリームの品質を向上させる方法のもう1つの実施例の説明図であり、それは、以下のステップを含む。
ステップ551:サーバ501側で複数の原画像及び音声信号を提供する(該複数の原画像は、Frame(1)、Frame(2)、…、Frame(N-1)、Frame(N)で表すことができ、ここで、Nは正の整数である)。その後、該原画像及び音声がサーバ内のエンコーダによって符号化及び圧縮され(ステップ552)、複数の復号画像及び音声信号が生成される。該符号化画像及び音声信号は、音声信号を含む2Dビデオストリームのパターンでネットワークを介してクライアント端末装置に送信される(ステップ553)。上述したように、他の実施例において、該音声信号を含む符号化された2Dビデオストリームは、予めレコーディング製作されたか、携帯式記憶媒体(フラッシュドライブ、CD、ハードディスクなど)に予め記録された映像ファイルであることもでき、クライアント端末装置によって該映像ファイルを直接読み取って、該音声信号を含む2Dビデオストリームを取得することもできる。
ステップ554:クライアント端末装置502は、該符号化された画像及び音声信号を受け取り、複数の復号画像及び音声セグメントに復号する。そして、AI強化モジュール(ステップ555のように、強化ニューラルネットワークモデルとも称される)を使用して、N番目の訓練復号画像及び対応する音声セグメントを入力して、対応する強化画像及び音声セグメント(ステップ556のように、Enhanced_Frame(N)及びEnhanced_Audio(N)とも称され、Nは、正の整数である)を生成し、出力画像及び音声信号とする。そのうち、該AI強化モジュール内の強化されたニューラルネットワークモデルで使用される少なくとも1つの数学演算式及びその重み付けパラメータは、図14に示される実施例の訓練プログラムに記載するものと同じ数学演算式及びその重み付けパラメータである。
本実施例において、ニューラルネットワークが数学演算式として書かれると、それは次の形式になる。
X=Decode(Video/Audio stream);
Y(N)=Network(X(N-2)、X(N-1)、X(n)、W)。
ここで、X=(X(1)、X(2)、X(3)、...)であり、X(N)は解凍されたビデオ信号のN番目のフレーム及び対応する音声信号セグメントである。
前記Networkは、ニューラルネットワーク又は機械学習アルゴリズムである。
Wは、訓練された重み付けパラメータである。
Y(N)は、強化後のN番目のフレーム及び対応する音声信号セグメント、即ち、Enhanced_Frame(N)及びEnhanced_Audio(N)である。
図16を参照し、それは、本発明の人工ニューラルネットワークモジュールの訓練プログラムのさらにもう1つの実施例の説明図である。本実施例の訓練プログラムでは、ニューラルネットワークの入力をより低いフレームレートの画像とすることができ、より高いフレームレートの画像をニューラルネットワークによって生成することで、ビデオのフレームレートを向上させることができる。図16に示す実施例の訓練プログラムは、以下のステップを含む。
ステップ561:訓練モードで複数の訓練原画像から構成される訓練ビデオを提供する。訓練原画像は、例えば、ゲームソフトウェア又は他のアプリケーションによって生成されたインスタントビデオであり得るか、又はメモリに予め記録された又は予め格納されたビデオであり得る。本発明では、複数の訓練原画像(訓練ビデオ)は比較的高いフレームレート(例えば60FPS以上)を有し、1秒当たりに含まれるフレームは、Frame(1)、Frame(2)、…、Frame(N-1)、フレーム(N)で表され、ここでNは正の整数である。
ステップ562:該訓練原画像(訓練ビデオ)を、フレームを断続的に廃棄することでフレームレートを低減し、例えば、単数フレーム又は偶数フレームを廃棄することによってレートを下げた後の画像の毎秒に含むフレーム数量を半減させ(即ち、フレームレートは、例えば、30FPSまで低減され)、減速後、画像は、L_Frame(1)、L_Frame(2)、…、L_Frame(M-1)、L_Frame(M)で表すことができ、ここで、N=2Mであり且つMは正の整数である。言い換えれば、L_Frame(M)の内容は、Frame(2M)と同じであり、原画像の2M-1番目のフレームFrame(2M-1)は破棄される。続いて、減速後の画像を符号化圧縮した後、復号解凍し、復号後の訓練復号画像を得て、それが毎秒含むフレームは、Decoded_Frame(1)、Decoded_Frame(2)、…、Decoded_Frame(M-1)、Decoded_Frame(M)で表すことができる(ステップ563)。本実施例において、原画像の半分のフレームが破棄されるので、フレームレートは、60FPSから30FPSに減少し、従って、訓練された復号画像のM番目のフレームDecoded_Frame(M)は、原画像に対応する2M番目のフレームFrame(2M)の符号化し、また復号した後の結果である。
ステップ564:サーバ内の該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも1つの訓練数学演算式を使用して、対応するM番目の訓練復号画像及びその前又はその後の1つ又は複数の訓練復号画像、即ち、Decoded_Frame(M-n)、...、Decoded_Frame(M)、...、Decoded_Frame(M+m)を逐一処理し、2つの対応する訓練出力画像(ステップ565のように、Predict_Frame(N-1)、Predict_Frame(N)とも称され、N=2Mである)を生成する。ここで、n及びmは0以上の整数であり、M-nが1より小さい場合は、Decoded_Frame(1)によりDecoded_Frame(M-n)と取り替えられ、且つM+nが2Mより大きい場合、Decoded_Frame(2M)によりDecoded_Frame(M+m)と取り替えられ、該人工ニューラルネットワークモジュールを入力して処理する。該少なくとも1つの訓練数学演算式は、複数の訓練重み付けパラメータを含む。
言い換えれば、該人工ニューラルネットワークモジュールは、毎回いくつかの(例えば、3つ、4つ又はそれ以上)の入力された訓練復号画像Decoded_Frame(Mn)、...、Decoded_Frame(M)、...、Decoded_Frame(M+m)を受け取り、2つの訓練出力画像Predict_Frame(N-1)、Predict_Frame(N)を出力する(ステップ565)。
ステップ566:該比較訓練モジュールによって、該訓練出力画像Predict_Frame(N-1)及びPredict_Frame(N)及びステップ561で提供される対応する該訓練原画像Frame(N-1)、Frame(N)の間の差を比較し、該少なくとも1つの訓練数学演算式の該訓練重み付けパラメータを調整する。該訓練重み付けパラメータは、該訓練出力画像Predict_Frame(N-1)、Predict_Frame(N)と対応する該訓練原画像Frame(N-1)、Frame(N)との間の差を最小化するように調整される。その後、誤差を最小にするために、ニューロンネットワークの重みが数学的最適化アルゴリズム(ADAM/SGD/RMSProp)によって学習される。該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、ステップ564で、次の訓練復号画像を処理するために該少なくとも1つの訓練数学演算式にフィードバックされる。所定数の訓練出力画像と対応する訓練原画像の比較、及び所定数の訓練重み付けパラメータの調整を行った後、最後に得られた該訓練重み付けパラメータが該クライアント装置のAI強化モジュールに適用され、その数学演算式の重み付けパラメータとされる。
図16に示すように複数の画像を入力して出力画像を生成するニューラルネットワーク訓練プログラムに基づき、対応する本発明の画像媒体の品質を向上させる方法の実施例は、図17に示すようになる。
図17は、本発明のビデオストリームの品質を向上させる方法のさらにもう1つの実施例の説明図であり、それは、以下のステップを含む。
ステップ571:サーバ501側で、比較的低いフレームレート(例えば、30FPS)を有する複数の原画像を提供し(ステップ571のように、該複数の原画像は、Frame(1)、Frame(2)、…、Frame(M-1)、Frame(M)で表され、Mが正の整数である)該原画像は、例えば、ゲームソフトウェア又は他のアプリケーションによって生成されたインスタントビデオであることができ、又は予めレコーディング製作されたか、予めメモリ内に記憶されたビデオであることができる。
その後、該原画像は、サーバ501内のエンコーダによって符号化及び圧縮され(ステップ532)、それは、それぞれEncoded_Frame(1)、Encoded_Frame(2)、…、Encoded_Frame(M-1)、Encoded_Frame(M)で表される。該符号化された画像は、2Dビデオストリームのパターンでネットワークを介してクライアント端末装置に送信される(ステップ573)。
ステップ574:クライアント端末装置502は、該符号化画像を受け入れて複数の復号画像に復号し、そのフレームは、Decoded_Frame(1)、Decoded_Frame(2)、...、Decoded_Frame(M-1)、Decoded_Frame(M)で表される。そのうち、M番目の復号画像と、その前後の1つ以上の訓練復号画像、例えば、Decoded_Frame(M-n)、...、Decoded_Frame(M)、...、Decoded_Frame(M+m)を抽出し、次のステップ575を実行する。ここで、n及びmは、0以上の整数であり、M-nが1より小さい場合はDecoded_Frame(1)がDecoded_Frame(Mn)に置き換えられ、M+mが2Mより大きい場合はDecoded_Frame(2M)がDecoded_Frame(Mm)に置き換えられ、該人工ニューラルネットワークモジュールを入力して処理する。
その後、AI強化モジュール(ステップ575のように、強化ニューラルネットワークモデルとも称される)を使用して、M番目の訓練復号画像及びその前後1つ又は複数の訓練復号画像を、即ち、入力Decoded_Frame(M-n)、…、Decoded_Frame(M)、…、Decoded_Frame(M+m)を入力し、出力画像として2つの対応する強化画像を生成する(ステップ576のように、Enhanced_Frame(N-1)及びEnhanced_Frame(N)とも称される)。
言い換えれば、該AI強化モジュールは、いくつかの(例えば、3、4又はそれ以上)の復号画像のフレームDecoded_Frame(M-n)、…、Decoded_Frame(M)、…、Decoded_Frame(M+m)の入力を受け取り、2つの強化画像のフレームEnhanced_Frame(N-1)及びEnhanced_Frame(N)を出力し、ステップ576のように、これらの強化画像を60FPSの速度で再生する。該AI強化モジュール内の強化されたニューラルネットワークモデルで使用あれる少なくとも1つの数学演算式及びその重み付けパラメータは、図16に示される実施例の訓練プログラムで説明されたものと同じ数学演算式及びその重み付けパラメータである。
本実施例において、ニューラルネットワークが数学演算式として書かれると、それは次の形式になる。
X=Decode(30FPSVideo stream)。
Y(2M-1)、Y(2M)=Network(X(M-n)、・・・、X(M)、・・・、X(M+n)、W)。
ここで、X=(X(1)、X(2)、X(3)、...)であり、X(M)は解凍されたビデオのM番目のフレームである。
前記Networkは、ニューラルネットワーク又は機械学習アルゴリズムである。
Wは、訓練された重み付けパラメータである。
Y(N)は、強化後のN番目のフレームであり、即ち、Enhanced_Frame(N)であり、ここでN=2Mである。
図18を参照し、それは、本発明による人工ニューラルネットワークモジュールのさらなる訓練プロセスの説明図である。ネットワークがフレームを落とす時、この訓練プログラムでは、人工ニューラルネットワークモジュールが自動的に予測されたフレーム(Frame)を埋めるか、失われたフレームを補う機能を有する。本実施例の訓練プログラムにおいて、ニューラルネットワークの入力は、1つの画像だけでなく複数の画像でもよい。前の幾つかの画面の情報を使用して、失われたフレームを補充又は予測する。図18に示す実施例の訓練プログラムは、以下のステップを含む。
ステップ581:訓練モードで複数の訓練原画像から構成される訓練ビデオを提供する。該訓練原画像は、例えば、ゲームソフトウェア又は他のアプリケーションによって生成されたインスタントビデオであることができ、又は予めレコーディング製作されたか、メモリに予め記録されたビデオであることができる。本実施例において、該訓練原画像の複数のフレームは、Frame(1)、Frame(2)、…、Frame(N-1)、Frame(N)で表すことができ、Nは正の整数である。
ステップ582:該訓練原画像の画像を、エンコーダにより符号化し、複数の訓練符号化画像からなるビデオストリームに圧縮し、次いで訓練デコーダにより該訓練符号化画像を順次復号、解凍し、複数の訓練復号画像にし、そのフレームは、Decoded_Frame(1)、Decoded_Frame(2)、…、Decoded_Frame(N-1)、Decoded_Frame(N)で表され、Nは正の整数である。
ステップ583:訓練復号画像のN番目のフレームDecoded_Frame(N)が消失した、又は予測が必要なフレームであると仮定し、このとき、該N番目の訓練復号画像フレームの前の1つ又は複数のフレームDecoded_Frame(N-n)・・・、Decoded_Frame(N-1)を抽出し、次のステップ524へ進む。ここで、nは正の整数であり、nはNより小さい。
ステップ584:サーバ内の該人工ニューラルネットワークモジュールは、該訓練復号画像のフレームを受け取り、少なくとも1つの訓練数学式を使用して、対応するN番目のフレームの前の1つ又は複数の訓練復号画像のフレーム、即ち、Decoded_Frame(N-n)、...、Decoded_Frame(N-1)を1つずつ処理し、対応する訓練出力画像を生成する(ステップ585のように、Predict_Frame(N)とも称される)。
連続する複数のフレームが失われるか又は予測される必要がある場合、このステップ584で生成された訓練出力画像のフレームPredict_Frame(N)は、訓練復号画像のN番目のフレームDecoded_Frame(N)として使用され、該人工ニューラルネットワークモジュールに送り返され、訓練出力画像の次のフレームPredict_Frame(N+1)を計算するために使用される。
同様に、該人工ニューラルネットワークモジュールは、それが発生する訓練出力画像のフレームPredict_Frame(N)及びPredict_Frame(N+1)を連続的に人工ニューラルネットワークモジュールに返送することによって訓練出力画像の後続の幾つかのフレームを連続的に計算(予測)することができる。言い換えれば、本実施例において、N番目のフレームより前に位置する複数の訓練復号画像のフレーム(Decoded_Frame(N-n)、…、Decoded_Frame(N-1))を人工ニューラルネットワークモジュールに入力し、N番目のフレームより後に続く幾つかのフレーム(Predict_Frame(N)、Predict_Frame(N1)、...、Predict_Frame(N+m))を生成し、ここで、mは、正の整数である(ステップ585)。
ステップ586:該比較訓練モジュールによって該訓練出力画像のフレームPredict_Frame(N)、Predict_Frame(N+1)、…、Predict_Frame(N+m)と、ステップ581で提供された対応するものに対応する該訓練原画像のフレームFrame(N)、Frame(N1)、…、Frame(Nm)と間の差を1つずつ比較し、少なくとも1つの訓練数学演算式の該訓練重み付けパラメータを調整する。該訓練重み付けパラメータは、該訓練出力画像Predict_Frame(N)と対応する該訓練原画像Frame(N)との間の差を最小化するように調整される。次に、誤差を低減するために、ニューロンネットワークの重み付けが数学的最適化アルゴリズム(ADAM/SGD/RMSPropなど)によって学習される。該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータが少なくとも1つの訓練数学演算式にフィードバックされ、ステップ584において、次の訓練復号画像を処理させる。所定数の訓練出力画像が対応する訓練原画像との比較、及び所定数の訓練重み付けパラメータの調整が行われた後、最後に得られた訓練重み付けパラメータが該クライアント装置のAI強化モジュールに適用され、その数学演算式の重み付けパラメータとされる。
図18に示すようなN番目のフレームの前に複数のフレームを入力することによってN番目のフレーム及びそれに続く幾つかのフレーム出力画像を生成するニューラルネットワーク訓練プログラムに基づき、対応する本発明の画像媒体の品質を向上させる方法の実施例は、図19に示す通りである。図19は、本発明のビデオストリームの品質を向上させる方法のさらにもう1つの実施例の説明図であり、それは、以下のステップを含む。
ステップ591:サーバ501側で複数の原画像を提供し(ステップ591のように、該複数の原画像のフレームは、Frame(1)、Frame(2)、…、Frame(N-1)、Frame(N)で表すことができ、Nが正の整数である)、該原画像は、例えばゲームソフトウェア又は他のアプリケーションによって生成されたインスタントビデオであることができ、又は予めレコーディング製作されたか、メモリに予め記録されたビデオであることができる。その後、該原画像がサーバ501内のデコーダによって符号化及び圧縮され(ステップ592)、複数の符号化画像を生成し、そのフレームがそれぞれEncoded_Frame(1)、Encoded_Frame(2)、…、Encoded_Frame(N-1)、Encoded_Frame(N)で表される。該符号化された画像は、次に2Dビデオストリームのパターンでネットワークを介してクライアント端末装置に送信される(ステップ593)。
ステップ594:クライアント端末装置502は、該符号化画像を受け取り、複数の復号画像に復号し(ステップ594)、そのフレームは、それぞれDecoded_Frame(1)、Decoded_Frame(2)、・・・、Decoded_Frame(N-1)、Decoded_Frame(N)で表される。次に、ネットワーク伝送過程において、ネットワーク不安定性のためにN番目のフレーム又はN番目から数個(m個)のフレームが失われると仮定する時、ステップ594に示すように、本発明は、N番目のフレームの前の1つ又は複数の訓練復号画像のフレーム、即ち、Decoded_Frame(N-n)、...、Decoded_Frame(N-1)を抽出し、次のステップ595に進む。
ステップ595:AI強化モジュール(強化ニューラルネットワークモデルとも称される)を使用してN番目のフレームの前に1つ又は複数の訓練復号画像のフレーム、即ちDecoded_Frame(Nn)、...、Decoded_Frame(N-1)を入力し、1つ又は複数(m+1個)の相対する強化画像を生成し、出力画像とし、そのフレームは、ステップ596のように、Enhanced_Frame(N)、...、Enhanced_Frame(N+m)である。
言い換えれば、該AI強化モジュールは、毎回、複数の復号画像の画像フレームDecoded_Frame(N-n)、・・・、Decoded_Frame(N-1)の入力を受け入れ、1つ又は複数の強化画像Enhanced_Frame(N)、・・・、Enhanced_Frame(N+m)を出力する(ステップ596)。該AI強化モジュール内の強化されたニューラルネットワークモデルで使用される少なくとも1つの数学演算式及びその重み付けパラメータは、図18に示される実施例の訓練プログラムで説明されるものと同じ数学演算式及びその重み付けパラメータである。
本実施例において、ニューラルネットワークが数学演算式として書かれると、それは次の形式になる。
X=Decode(Video stream)。
Y(N)、…、Y(Nm)=Network(X(Nn)、…、X(n)、W)。
ここで、X=(X(1)、X(2)、X(3)、...)であり、X(N)は解凍されたビデオのN番目のフレーム、即ちDecoded_Frame(N)である。
Networkは、ニューラルネットワーク又は機械学習アルゴリズムである。
Wは、訓練された重み付けパラメータである。
Y(N)は、エンハンスドNフレームであり、即ち、Enhanced_Frame(N)である。
図20は、本発明のYUV420フォーマットを有する復号画像を処理するプログラムのさらにもう1つの実施例の説明図である。実際には、各フレームFrameは、m個のチャネルChannel(例えばRGBビデオ、m=3)を有し、X(N-k+1)、…、X(N-1)、X(N)をチャネルに従って併合して畳み込む(Concat)と仮定し、1つのmkチャネルへの入力とみなす。たとえば、元のビデオの各フレームにm個のチャネルがある場合は、k個のフレームを入力すると、入力はmk個のチャネルと見なすことができる。この原理によれば、図20に示すような本発明のYUV420フォーマットの復号画像を処理するプログラムは、以下を含む。
ステップ601:YUV420カラーフォーマットの訓練復号画像を受け取って処理する。ここで、訓練復号画像は3つのチャネルを含み、n個のフレームConcatは3n個のチャネルにマージ(スタック)され、nは正の整数である。
ステップ602:該訓練復号画像内のY部分データを抽出して、1nチャネルを有するY部分出力データを生成する。
ステップ603:2n個のチャネルを有する該訓練復号画像内のUV部分データを抽出する。
ステップ604:2倍に拡大したニューラルネットワークを使用することによって該訓練復号画像のUV部分データを処理して、2nチャネルを有するUV部分出力データを生成する(例えば、ストライド値Stride=2、転置畳み込み、ステップ604);
ステップ605:併合機能Concat(concatenates)を使用して、該Y部分出力データと該UV部分出力データとを重ね合わせる(併合)。
ステップ606:ステップ605で積み重ねられたデータを多層ニューラルネットワークで受け取り、3kチャネルを生成する(ここで、kは1より大きい定数であり、そして正の整数である)。
ステップ607:ステップ606で生成したデータをkフレーム、3チャネルのRGBの該訓練出力画像として出力する。
なお、本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない均等の範囲内で各種の変動や潤色を加えることができることは勿論である。
1、501 サーバ
2、21、22、23、502 クライアント端末装置
3 基地局
30 ルータ
4 ネットワーク
100、200 アプリケーション(APP)
101、201 メモリ
102 コード
103 ストリーム
104 ネットワークデバイス
105 人工ニューラルネットワーク
106 ニューラルネットワーク
107 復号モジュール
108 比較訓練モジュール
202 ネットワークモジュール
203 復号モジュール
204 AI強化モジュール
205 出力モジュール
301~308、400~466、511~596、601~607 ステップ

Claims (24)

  1. 以下のステップを含む本発明の画像媒体の品質を向上させる方法。
    ステップ(A):サーバで第1アプリケーションを実行し、該第1アプリケーションは、少なくとも1つのコマンドに従って複数の原画像を生成し、該複数の原画像は、該サーバ内のエンコーダによって符号化及び圧縮されて、複数の符号化画像が生成され、
    ステップ(B):該サーバから離れたクライアント端末装置において第2アプリケーションを実行し、該第2アプリケーションは、第1アプリケーションに関連しており、且つ連携しており、これにより、該クライアント端末装置は、ユーザに操作させて該コマンドを生成して該サーバに送信させることができ、
    ステップ(C):該クライアント端末装置は、ネットワークを介して該コマンドを該サーバに送信し、次いで、該サーバによって生成され且つ該コマンドに対応する該符号化画像を、ネットワークを介して受信し、
    ステップ(D):該クライアント端末装置は、該符号化画像を複数の復号画像に復号し、AI強化モジュールを用いて該復号画像の品質を向上させて複数の強化画像を生成し、
    該AI強化モジュールは、該復号画像と対応する原画像との間の差を分析することによって得られる少なくとも1つの数学演算式によって該復号画像を処理し、これにより、得られた該強化画像は、該復号画像よりも視覚的に該原画像に更に近くなり、
    ステップ(E):該クライアント端末装置は、該強化画像をスクリーンに出力し、再生される出力画像とし、
    前記AI強化モジュールの該少なくとも1つの数学演算式は、該サーバ内の人工ニューラルネットワークモジュールによって実行される訓練プログラムによって定義され、該訓練プログラムは以下のステップを含み、
    ステップ(a):訓練モードで該第1アプリケーションを実行し、複数の訓練原画像を生成し、
    ステップ(b):該エンコーダによって該訓練原画像を複数の訓練符号化画像に符号化し、
    ステップ(c):該サーバ内の訓練デコーダを使用することによって該訓練符号化画像
    を複数の訓練復号画像に復号し、
    ステップ(d):該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも1つの訓練数学演算式を使用して該訓練復号画像を1つずつ処理して複数の訓練出力画像を生成し、該少なくとも1つの訓練数学演算式は、複数の訓練重み付けパラメータを含み、
    ステップ(e):比較訓練モジュールによって該訓練出力画像と対応する該訓練原画像との間の差を比較し、それに応じて該少なくとも1つの訓練数学演算式の該訓練重み付けパラメータを調整し、該訓練重み付けパラメータは、該訓練出力画像と対応する該訓練原画像との間の差を最小化するように調整され、該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、少なくとも1つの訓練数学演算式にフィードバックされて、ステップ(d)において、次の該訓練復号画像を処理させ、
    ここで、所定数の該訓練出力画像が対応する訓練原画像と比較され、所定回数の該訓練重み付けパラメータの調整が行われた後、最後に得られた該訓練重み付けパラメータが、該クライアント端末装置の該AI強化モジュール内に適用され、その数学演算式の重み付けパラメータとされる。
  2. 該訓練復号画像と該訓練出力画像が同じカラーフォーマットを有する場合、該人工ニューラルネットワークモジュールは、残差復号ネットワークモジュールであり、ステップ(d)において、各該訓練出力画像は、対応する該訓練復号画像と、該残差復号ネットワークモジュールが該訓練復号画像を処理した出力との合計である請求項1に記載の方法。
  3. ステップ(e)において、該比較訓練モジュールは、弁別器(Discriminator)を用いて該訓練出力画像と対応する該訓練原画像との間の差を比較し、それに応じて生成的対抗ネットワーク損失(generative adversarial networks loss;GAN loss)を収束させ、該訓練重み付けパラメータを調整する請求項1に記載の方法。
  4. 前記比較訓練モジュールの該弁別器は、
    該訓練原画像は、nチャネルを含み、nは2より大きい正の整数であり、該訓練復号画像は、mチャネルを含み、mは2より大きい正の整数であり、
    ステップ(d)において、該人工ニューラルネットワークモジュールは、該mチャネルの訓練復号画像を処理し、nチャネルの訓練出力画像を生成し、該nチャネルの訓練出力画像とそれに対応するmチャネル訓練復号画像とを組み合わせて、複数のm+nチャネルを有する模擬偽サンプル(false samples)を生成し、該nチャネルの訓練原画像と対応する該mチャネルの訓練復号画像の両者を結合して、m+nチャネルを有する複数の模擬真サンプルを生成し、
    ステップ(e)において、該m+nチャネルの模擬偽サンプルと該m+nチャネルの模擬真サンプルとを該比較訓練モジュールの弁別器にフィードバックして、該弁別器の該模擬偽サンプルと該模擬真サンプルを検出及び識別する能力を訓練させる、
    という方式で訓練される、請求項3に記載の方法。
  5. 前記訓練原画像のカラーフォーマットは、YUV420であり、該訓練復号画像のカラーフォーマットは、RGB又はYUV420であり、
    ステップ(d)において、該人工ニューラルネットワークモジュールは、第1ニューラルネットワーク及び第2ニューラルネットワークを含み、該第2ニューラルネットワークは、畳み込みニューラルネットワーク(ConvolutionalNeuralNetwork;CNN)であり、
    該第1ニューラルネットワークは、該訓練原画像を受け取って処理し、該訓練原画像と同じ符号化フォーマットを有する複数の第1出力画像X2を生成し、該第2ニューラルネットワークは、該第1出力画像X2を受け取って処理して、複数の第2出力画像を生成し、該第1出力画像X2と該第2出力画像の両者が加算されて該訓練出力画像を生成し、
    ステップ(e)において、該比較訓練モジュールは、第1比較器と第2比較器を含み、
    該第1比較器は、該第1出力画像X2と対応する該訓練原画像との間の差を比較し、該第1ニューラルネットワークを訓練し、該第2比較器は、該訓練出力画像と対応する該訓練原画像との間の差を比較し、該第2ニューラルネットワークを訓練する、請求項1に記載の方法。
  6. ステップ(d)において、該第1ニューラルネットワークがYUV420カラーフォーマットの訓練復号画像を受信し処理するステップは、
    該訓練復号画像内のY部分データを抽出し、訓練復号画像のY部分データを標準サイズの該第1ニューラルネットワークによって処理してY部分出力データを生成し、
    該訓練復号画像内のUV部分データを抽出し、該訓練復号画像のUV部分データを2倍の倍率を有する該第1ニューラルネットワークによって処理して、Nチャネルを有するUV部分出力データを生成し、
    該Y部分出力データと該UV部分出力データを加算し、該訓練出力画像を生成することを含む請求項5に記載の方法。
  7. ステップ(d)において、該第1ニューラルネットワークがYUV420カラーフォーマットの該訓練復号画像を受信し処理するステップは、
    該訓練復号画像は、Nチャネルを含み、Nは、2より大きい正の整数であり、
    該訓練復号画像内のY部分データを抽出し、
    該訓練復号画像内のUV部分データを抽出し、2倍に拡大された該第1ニューラルネットワークを用いて該訓練復号画像のUV部分データを処理して、N-1チャネルを有するUV部分出力データを生成し、
    結合関数Concat(concatenates)によって該Y部分データ及び該UV部分データを処理
    し、該訓練出力画像を生成することを含む請求項5に記載の方法。
  8. 前記クライアント端末装置の該AI強化モジュールの該少なくとも1つの数学演算式は、複数の重み付けパラメータを含み、該重み付けパラメータは、該復号画像と対応する該原画像との間の差に関連付けられ、且つ該サーバ内の人工ニューラルネットワークモジュールによって実行される訓練プログラムによって定義され、該重み付けパラメータは、以下のうちの1つである:該クライアント端末装置に予め記憶され、該クライアント端末装置が該第2アプリケーションを実行する時に該サーバから該クライアント端末装置にダウンロードされる、請求項1に記載の方法。
  9. 前記第1アプリケーションのプログラムによって生成された該原画像は、複数組のシーンに区分されることができ、各シーンは、複数の該原画像を含み、
    クライアント端末装置内の該AI強化モジュールによって使用される該重み付けパラメータも複数組に区分され、各組は、それぞれ複数の重み付けパラメータを含み、シーンの1つに対応し、
    異なる該シーンの該原画像に対応する該復号画像は、同じ該AI強化モジュールによって異なる組の重み付けされたパラメータ内の該シーンに対応する該組の重み付けパラメータ使用して画像強化処理され、
    該異なる組の重み付けパラメータが全てクライアント端末装置に予め記憶されている場合、該シーンが変化するたびに、変化した新しいシーンに対応する該組の重み付けパラメータは、強化画像を生成するために該AI強化モジュールに適用され、
    該異なる組の重み付けパラメータが全てサーバ側に記憶されている場合、該シーンが変化するたびに、変化した新しいシーンに対応する該組の重み付けパラメータがサーバによって該クライアント端末装置にダウンロードされ、それから、強化画像を生成するために該AI強化モジュールに適用される、請求項8に記載の方法。
  10. 該訓練モードにおいて、該複数の訓練原画像は高品質画像であり、該高品質訓練原画像は、以下の1つ以上の性質に符合する画像であり、(性質1)4K以上のより高い解像度(Resolution)を有し、(性質2)150度以上のより大きな視野(field of view;FOV)を有し、(性質3)60FPS以上の高いフレームレート(FPS)を有し、(性質4)両目立体情報(stereo vision)を有し、(性質5)視覚的奥行き情報を有し、(性質6)赤外光又は紫外光の追加の色情報を有し、(性質7)マルチチャネル、高サンプリング周波数(44kHz以上)、又は高解像度(オーディオビット深度24bit以上)の優れたオーディオ情報を有し、
    ステップ(a)とステップ(b)の間に、
    劣化モジュールによって該訓練原画像を劣化させてその画質を低下させ、
    サンプリング(sampling)によって、解像度を低下させる(720p、1080i以下まで低下)、カット(crop)方式で視野を縮小する(視野の120度以下に縮小する、又は元アスペクト比16:9の画像を4:3にカットする)、フレームを破棄してフレームレートを下げる(30FPS以下まで低下)、抽出方式で両目立体情報を単一画面に取り出し、視覚的奥行き情報を破棄し、音声信号をステレオ2チャンネルに変換する、サンプリング周波数の低減(22.1kHz以下)、解像度の低減(16bit以下)、ノイズの追加(ガウス(Gaussian)、ラプラシアン(Laplacian)ノイズなど)、ぼかし(ガウスぼかしなど)、の1つ以上の性質を満たす劣化訓練原画像を得る画像劣化処理のステップを追加し、
    ステップ(b)において、該劣化した訓練原画像を該エンコーダにより複数の該訓練符号化画像に符号化して圧縮する、請求項1に記載の方法。
  11. ステップ(d)において、該訓練モードの該人工ニューラルネットワークモジュールは、該訓練復号画像の複数のフレームを受け取り、該訓練出力画像の少なくとも1つのフレームを生成して出力し、ステップ(D)において、クライアント端末装置において、該AI強化モジュールは、該復号画像の幾つかのフレームを受取り、該強化画像の少なくとも1つのフレームを出力する、請求項1に記載の方法。
  12. 前記人工ニューラルネットワークモジュールは、前記訓練復号画像及び音声信号を受信して処理し、前記AI強化モジュールは、前記復号画像及び他の音声信号を受信して処理する、請求項1に記載の方法。
  13. AI強化モジュールを含むクライアント端末装置を提供し、該AI強化モジュールは、予め定義された少なくとも1つの数学演算式を含み、且つ該少なくとも1つの数学演算式は、少なくとも1つの重み付けパラメータを含み、該少なくとも1つの数学演算式の該少なくとも1つの重み付けパラメータは、サーバ内の人工ニューラルネットワークモジュールによって実行される訓練プログラムによって事前に定義され、
    該クライアント端末装置によって複数の符号化画像を受信し、
    該クライアント端末装置は、該符号化画像を複数の復号画像に復号し、該AI強化モジュールの該少なくとも1つの数学演算式及び該少なくとも1つの重み付けパラメータを用いて該復号画像を処理して、複数の強化画像を生成し、
    該クライアント端末装置は、再生される出力画像として該強化画像をスクリーンに出力し、
    前記訓練プログラムは、前記サーバ内で実行され、以下のステップを含む、画像媒体の品質を向上させる方法。
    ステップ(a):訓練モードで複数の訓練原画像を提供し、
    ステップ(b):該訓練原画像をエンコーダによって複数の訓練符号化画像に符号化し、
    ステップ(c):訓練デコーダによって該訓練符号化画像を複数の訓練復号画像に復号し、
    ステップ(d):該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも1つの訓練数学演算式を使用して該訓練復号画像を1つずつ処理し、複数の訓練出力画像を生成し、該少なくとも1つの訓練数学演算式は、複数の訓練重み付けパラメータを含み、
    ステップ(e):比較訓練モジュールによって該訓練出力画像と対応する該訓練原画像との間の差を比較し、それに応じて該少なくとも1つの訓練数学演算式の該重み付けパラメータを調整し、該訓練重み付けパラメータは、該訓練出力画像と対応する該訓練原画像との間の差を最小にするように調整され、該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、該少なくとも1つの訓練数学演算式にフィードバックされて、ステップ(d)において次の訓練復号画像を処理させ、
    ここで、所定数の該訓練出力画像と対応する該訓練原画像との比較、所定回数の該訓練重み付けパラメータの調整を行った後、最後に得られた該訓練重み付けパラメータが、該クライアント端末装置の該AI強化モジュール内に適用され、その数学演算式の重み付けパラメータとされる。
  14. 前記クライアント端末装置によって受信された前記複数の符号化画像は、以下のステップによって取得される、請求項13に記載の方法。
    該サーバにおいて第1アプリケーションを実行し、該第1アプリケーションは、少なくとも1つのコマンドに従って複数の原画像を生成し、該複数の原画像は、該サーバ内のエンコーダによって符号化及び圧縮されて複数の符号化画像を生成し、
    該クライアント端末装置で第2アプリケーションを実行し、該第2アプリケーションは、該第1アプリケーションと関連付けられ、連携され、それにより該クライアント端末装置は、ユーザに操作させて、該コマンドを生成して該サーバに送信させることができ、
    該クライアント端末装置は、ネットワークを介して該コマンドを該サーバに送信し、その後、該ネットワークを介して、該サーバが生成した該コマンドに対応する該符号化画像を受信する。
  15. 前記クライアント端末装置によって受信された該複数の符号化画像は、携帯式記憶媒体に予め記憶されたビデオファイルであり、該クライアント端末装置によって該ビデオファイルが読み取り、該符号化画像を取得する、請求項13に記載の方法。
  16. 前記第1アプリケーションによって生成された該原画像は、複数組のシーンに区分されることができ、各シーンは、複数の該原画像を含み、
    クライアント端末装置内の該AI強化モジュールによって使用される該重み付けパラメータも複数組に区分され、各組はそれぞれ複数の該重み付けパラメータを含み、そのうち1つの該シーンに対応し、同じ該AI強化モジュールによって異なる組の該重み付けパラメータ及び該シーンの対応する該組の重み付けパラメータを使用して画像強化処理を行い、
    該異なる組の重み付けパラメータが全て該クライアント端末装置に予め記憶されている場合、該シーンが変化するたびに、変化後の新たなシーンに対応した該組の重み付けパラメータは、該AI強化モジュールに運用され、該強化画像を生成させ、
    該異なる組の重み付けパラメータが全てサーバ側に記憶されている場合、シーンが変化するたびに、変化後の新しいシーンに対応する該組の重み付けパラメータがサーバによってクライアント側にダウンロードされ、該AI強化モジュールに運用され、該強化画像を生成させる、
    ことを含む画像媒体の品質を向上させる請求項14に記載の方法。
  17. 前記訓練プログラムは、前記サーバ内で実行される訓練モードにおいて、
    (性質1)4K以上のより高い解像度(Resolution)を有する、(性質2)150度以上のより大きな視野(field of view;FOV)を有する、(性質3)60FPS以上の高いフレームレート(FPS)を有し、(性質4)両目立体情報(stereo vision)を有する、(性質5)視覚的奥行き情報を有する、(性質6)赤外光又は紫外光の追加の色情報を有する、(性質7)マルチチャネル、高サンプリング周波数(44kHz以上)、又は高解像度(オーディオビット深度24bit以上)の優れたオーディオ情報を有する、のうちの1つ又は複数の性質に符合する画像であり、
    ステップ(a)とステップ(b)の間に、劣化モジュールによって該訓練原画像を劣化させてその画質を低下させ、
    サンプリング(sampling)によって、解像度を低下させる(720p、1080i以下まで低下)、カット(crop)方式で視野を縮小する(視野の120度以下に縮小する、又は元アスペクト比16:9の画像を4:3にカットする)、フレームを破棄してフレームレートを下げる(30FPS以下まで低下)、抽出方式で両目立体情報を単一画面に取り出し、視覚的奥行き情報を破棄し、音声信号をステレオ2チャンネルに変換する、サンプリング周波数の低減(22.1kHz以下)、解像度の低減(16bit以下)、ノイズの追加(ガウス(Gaussian)、ラプラシアン(Laplacian)ノイズなど)、ぼかし(ガウスぼかしなど)、のうちの1つ以上の性質を満たす劣化訓練原画像を得る、画像劣化処理を行うステップを追加し、
    ステップ(b)において、該劣化した訓練原画像を該エンコーダにより複数の該訓練符号化画像に符号化して圧縮する、請求項13に記載の方法。
  18. ステップ(d)において、該訓練モードの該人工ニューラルネットワークモジュールは、該訓練復号画像の複数のフレームを受け取り、該訓練出力画像の少なくとも1つのフレームを生成して出力し、さらに、ステップ(D)において、クライアント端末装置において、該AI強化モジュールは、該復号画像の複数のフレームを受信し、それに応じて該強化画像の少なくとも1つのフレームを出力する、請求項13に記載の方法。
  19. 前記人工ニューラルネットワークモジュールは該訓練復号画像と音声信号を受信して処理し、該AI強化モジュールは、該復号画像ともう1つの音声信号を受信して処理する、請求項13に記載の方法。
  20. クライアント端末装置は、複数の原画像を符号化して生成された複数の符号化画像を複数の復号画像に復号し、AI強化モジュールを使用して該復号画像の品質を向上させて複数の強化画像を生成し、該AI強化モジュールは、該復号画像と対応する該原画像との間の差を分析することによって得られる少なくとも1つの数学演算式によって復号画像を処理し、それによって、得られた該強化画像は、該復号画像よりも視覚的に該原画像に近くなり、該クライアント端末装置は、該強化画像を再生される出力画像としてスクリーンに出力することを含む画像媒体の品質を向上させる方法。
    前記少なくとも1つの数学演算式は、複数の重み付けパラメータを含み、サーバの人工ニューラルネットワークモジュールが行う訓練プログラムによって予め定義され、前記訓練プログラムは、前記サーバ内で実行され、以下のステップを含む、
    ステップ(a):訓練モードで複数の訓練原画像を提供し、
    ステップ(b):該訓練原画像をエンコーダによって複数の訓練符号化画像に符号化し、
    ステップ(c):訓練デコーダによって該訓練符号化画像を複数の訓練復号画像に復号し、
    ステップ(d):該人工ニューラルネットワークモジュールは、該訓練復号画像を受け取り、少なくとも1つの訓練数学演算式を使用して該訓練復号画像を1つずつ処理し、複数の訓練出力画像を生成し、該少なくとも1つの訓練数学演算式は、複数の訓練重み付けパラメータを含み、
    ステップ(e):比較訓練モジュールによって該訓練出力画像と対応する該訓練原画像との間の差を比較し、それに応じて該少なくとも1つの訓練数学演算式の該重み付けパラメータを調整し、該訓練重み付けパラメータは、該訓練出力画像と対応する該訓練原画像との間の差を最小にするように調整され、該訓練重み付けパラメータが調整されるたびに、該調整された訓練重み付けパラメータは、該少なくとも1つの訓練数学演算式にフィードバックされて、ステップ(d)において次の訓練復号画像を処理させ、
    ここで、所定数の該訓練出力画像と対応する該訓練原画像との比較、所定回数の該訓練重み付けパラメータの調整を行った後、最後に得られた該訓練重み付けパラメータが、該クライアント端末装置の該AI強化モジュール内に適用され、その数学演算式の重み付けパラメータとされる。
  21. 該クライアント端末装置の該AI強化モジュールの該少なくとも1つの数学演算式は、複数の重み付けパラメータを含み、該重み付けパラメータは、該復号画像と対応する該原画像との間の差に関連付けられ、
    該原画像は、複数組のシーンに区分されることができ、各シーンは、複数の該原画像を含み、
    クライアント端末装置内の該AI強化モジュールによって使用される該重み付けパラメータも複数組に区分され、各組は、それぞれ複数の該重み付けパラメータを含み、そのうち1つの該シーンに対応し、
    該クライアント端末装置は、該AI強化モジュールを使用して該復号画像の品質を向上させて複数の強化画像を生成するステップにおいて、異なる該シーンの該原画像に対応する該復号画像は、同じ該AI強化モジュールによって該異なる組の該重み付けパラメータ内の該シーンに対応する該組の重み付けパラメータを使用して画像強化処理を実行する、請求項20に記載の方法。
  22. 該訓練モードにおいて、該複数の訓練原画像は高品質画像であり、該高品質訓練原画像は、
    (性質1)4K以上のより高い解像度(Resolution)を有する、(性質2)150度以上のより大きな視野(field of view;FOV)を有する、(性質3)60FPS以上の高いフレームレート(FPS)を有し、(性質4)両目立体情報(stereo vision)を有する、(性質5)視覚的奥行き情報を有する、(性質6)赤外光又は紫外光の追加の色情報を有する、(性質7)マルチチャネル、高サンプリング周波数(44kHz以上)、又は高解像度(オーディオビット深度24bit以上)の優れたオーディオ情報を有する、のうちの1つ又は複数の性質に符合する画像であり、
    ステップ(a)とステップ(b)の間に、劣化モジュールによって該訓練原画像を劣化させてその画質を低下させ、
    サンプリング(sampling)によって、解像度を低下させる(720p、1080i以下まで低下)、カット(crop)方式で視野を縮小する(視野の120度以下に縮小する、又は元アスペクト比16:9の画像を4:3にカットする)、フレームを破棄してフレームレートを下げる(30FPS以下まで低下)、抽出方式で両目立体情報を単一画面に取り出し、視覚的奥行き情報を破棄し、音声信号をステレオ2チャンネルに変換する、サンプリング周波数の低減(22.1kHz以下)、解像度の低減(16bit以下)、ノイズの追加(ガウス(Gaussian)、ラプラシアン(Laplacian)ノイズなど)、ぼかし(ガウスぼかしなど)、のうちの1つ以上の性質を満たす劣化訓練原画像を得る、画像劣化処理を行うステップを追加し、
    ステップ(b)において、該劣化した訓練原画像を該エンコーダにより複数の該訓練符号化画像に符号化して圧縮する、請求項20に記載の方法。
  23. ステップ(d)において、該訓練モードにおいて、該人工ニューラルネットワークモジュールは、該訓練復号画像の複数のフレームを受け取り、該訓練出力画像の少なくとも1つのフレームを生成して出力し、さらに、ステップ(D)において、クライアント端末装
    置において、該AI強化モジュールは、該復号画像の複数のフレームを受信し、それに応じて該強化画像の少なくとも1つのフレームを出力する、請求項20に記載の方法。
  24. 前記人工ニューラルネットワークモジュールは、前記訓練復号画像及び音声信号を受信して処理し、前記AI強化モジュールは、前記復号画像及び他の音声信号を受信して処理する、請求項20に記載の方法。
JP2019122222A 2018-07-03 2019-06-28 画質を向上させる方法 Active JP7448178B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/027,022 2018-07-03
US16/027,022 US10284432B1 (en) 2018-07-03 2018-07-03 Method for enhancing quality of media transmitted via network

Publications (2)

Publication Number Publication Date
JP2020010331A JP2020010331A (ja) 2020-01-16
JP7448178B2 true JP7448178B2 (ja) 2024-03-12

Family

ID=66334032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019122222A Active JP7448178B2 (ja) 2018-07-03 2019-06-28 画質を向上させる方法

Country Status (4)

Country Link
US (2) US10284432B1 (ja)
JP (1) JP7448178B2 (ja)
CN (1) CN110689589A (ja)
TW (2) TWI826321B (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11743402B2 (en) 2015-02-13 2023-08-29 Awes.Me, Inc. System and method for photo subject display optimization
US10802489B1 (en) 2017-12-29 2020-10-13 Apex Artificial Intelligence Industries, Inc. Apparatus and method for monitoring and controlling of a neural network using another neural network implemented on one or more solid-state chips
US10931853B2 (en) * 2018-10-18 2021-02-23 Sony Corporation Enhanced color reproduction for upscaling
CN110120024B (zh) * 2019-05-20 2021-08-17 百度在线网络技术(北京)有限公司 图像处理的方法、装置、设备和存储介质
US11367290B2 (en) * 2019-11-26 2022-06-21 Apex Artificial Intelligence Industries, Inc. Group of neural networks ensuring integrity
KR20210128091A (ko) 2020-04-16 2021-10-26 삼성전자주식회사 스트리밍 시스템 및 인터렉티브 스트리밍 서비스 제공 방법
CN111488865B (zh) * 2020-06-28 2020-10-27 腾讯科技(深圳)有限公司 图像优化方法、装置、计算机存储介质以及电子设备
US20220046237A1 (en) * 2020-08-07 2022-02-10 Tencent America LLC Methods of parameter set selection in cloud gaming system
US11677897B2 (en) * 2020-10-19 2023-06-13 Adobe Inc. Generating stylized images in real time on mobile devices
US11785068B2 (en) 2020-12-31 2023-10-10 Synaptics Incorporated Artificial intelligence image frame processing systems and methods
US11979565B2 (en) 2021-05-27 2024-05-07 Tencent America LLC Content-adaptive online training method and apparatus for post-filtering
CN114296841A (zh) * 2021-06-08 2022-04-08 海信视像科技股份有限公司 一种显示设备及ai增强显示方法
EP4373068A1 (en) * 2021-07-15 2024-05-22 LG Electronics Inc. A/v reception apparatus and wireless display system
CN113362403A (zh) * 2021-07-20 2021-09-07 支付宝(杭州)信息技术有限公司 图像处理模型的训练方法及装置
KR20230025279A (ko) * 2021-08-13 2023-02-21 삼성전자주식회사 Ai 기반의 영상 제공 장치 및 이에 의한 방법, 및 ai 기반의 디스플레이 장치 및 이에 의한 방법
TWI799265B (zh) * 2022-05-12 2023-04-11 瑞昱半導體股份有限公司 超解析度裝置及方法
KR20240005485A (ko) * 2022-07-05 2024-01-12 삼성전자주식회사 Ai 부호화/복호화를 이용하여 영상을 처리하는 전자 장치 및 그 제어 방법
WO2024047994A1 (ja) * 2022-08-31 2024-03-07 LeapMind株式会社 入力情報生成装置、画像処理装置、入力情報生成方法、学習装置、プログラム及びノイズ低減装置の学習方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000042247A (ja) 1998-07-30 2000-02-15 Namco Ltd ゲームシステム、ゲームデータ配信装置、ゲーム装置、リアルタイム画像表示システムおよび情報記録媒体
JP2010033301A (ja) 2008-07-28 2010-02-12 Namco Bandai Games Inc 画像生成システム、プログラム及び情報記憶媒体
JP2012120173A (ja) 2010-11-30 2012-06-21 Samsung Electronics Co Ltd 映像処理装置及びその映像処理方法
WO2015104846A1 (en) 2014-01-09 2015-07-16 Square Enix Holdings Co., Ltd. Method and system of creating and encoding video game screen images for transmission over a network
US20160023117A1 (en) 2008-06-27 2016-01-28 John Nicholas And Kristin Gross Trust U/A/D April 13, 2010 Internet Based Pictorial Game System & Method With Advertising
US20170255845A1 (en) 2015-08-03 2017-09-07 Yahoo! Inc. Computerized method and system for automated determination of high quality digital content

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7663502B2 (en) * 1992-05-05 2010-02-16 Intelligent Technologies International, Inc. Asset system control arrangement and method
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US6803989B2 (en) * 1997-07-15 2004-10-12 Silverbrook Research Pty Ltd Image printing apparatus including a microcontroller
JP5335713B2 (ja) * 2010-02-16 2013-11-06 富士フイルム株式会社 画像処理方法及び装置並びにプログラム
GB201003962D0 (en) * 2010-03-10 2010-04-21 Tangentix Ltd Multimedia content delivery system
CA2792336C (en) * 2010-03-19 2018-07-24 Digimarc Corporation Intuitive computing methods and systems
SG11201402160XA (en) * 2011-11-08 2014-08-28 Samsung Electronics Co Ltd Method and apparatus for motion vector determination in video encoding or decoding
CN102523453B (zh) * 2011-12-29 2014-11-19 西安空间无线电技术研究所 一种图像超大压缩传输方法及传输系统
JP2014197723A (ja) * 2012-01-06 2014-10-16 ソニー株式会社 画像処理装置および方法
JP6115183B2 (ja) * 2013-02-27 2017-04-19 株式会社ニコン 画像処理装置、撮像装置、画像処理プログラム
US9780997B2 (en) * 2015-01-30 2017-10-03 Alcatel Lucent Method and system for controlling an operation of an application by classifying an application type using data bearer characteristics
CN113876353A (zh) * 2016-06-20 2022-01-04 蝴蝶网络有限公司 引导超声装置的操作者定位超声装置的方法、系统和介质
TWI624804B (zh) * 2016-11-07 2018-05-21 盾心科技股份有限公司 利用超解析重建法生成高解析度影像的方法與系統
CN107767928A (zh) * 2017-09-15 2018-03-06 深圳市前海安测信息技术有限公司 基于人工智能的医学影像报告生成系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000042247A (ja) 1998-07-30 2000-02-15 Namco Ltd ゲームシステム、ゲームデータ配信装置、ゲーム装置、リアルタイム画像表示システムおよび情報記録媒体
US20160023117A1 (en) 2008-06-27 2016-01-28 John Nicholas And Kristin Gross Trust U/A/D April 13, 2010 Internet Based Pictorial Game System & Method With Advertising
JP2010033301A (ja) 2008-07-28 2010-02-12 Namco Bandai Games Inc 画像生成システム、プログラム及び情報記憶媒体
JP2012120173A (ja) 2010-11-30 2012-06-21 Samsung Electronics Co Ltd 映像処理装置及びその映像処理方法
WO2015104846A1 (en) 2014-01-09 2015-07-16 Square Enix Holdings Co., Ltd. Method and system of creating and encoding video game screen images for transmission over a network
US20170255845A1 (en) 2015-08-03 2017-09-07 Yahoo! Inc. Computerized method and system for automated determination of high quality digital content

Also Published As

Publication number Publication date
US10284432B1 (en) 2019-05-07
TW202336695A (zh) 2023-09-16
US20200014603A1 (en) 2020-01-09
TWI805784B (zh) 2023-06-21
JP2020010331A (ja) 2020-01-16
TW202006662A (zh) 2020-02-01
US10574537B2 (en) 2020-02-25
CN110689589A (zh) 2020-01-14
TWI826321B (zh) 2023-12-11

Similar Documents

Publication Publication Date Title
JP7448178B2 (ja) 画質を向上させる方法
US11290345B2 (en) Method for enhancing quality of media
US20220239925A1 (en) Method and apparatus for applying deep learning techniques in video coding, restoration and video quality analysis (vqa)
US12003386B2 (en) Method for enhancing quality of media
US10666962B2 (en) Training end-to-end video processes
CN104096362B (zh) 基于游戏者关注区域改进视频流的码率控制比特分配
US11430095B2 (en) Automatic display management metadata generation for gaming and/or SDR+ contents
CN110996131B (zh) 视频编码方法、装置、计算机设备及存储介质
US20210150769A1 (en) High efficiency image and video compression and decompression
US10354394B2 (en) Dynamic adjustment of frame rate conversion settings
EP3343923A1 (en) Motion vector field coding method and decoding method, and coding and decoding apparatuses
US10349055B1 (en) Image frame encoding based on projection space
US20220335560A1 (en) Watermark-Based Image Reconstruction
Xian et al. A content-oriented no-reference perceptual video quality assessment method for computer graphics animation videos
US11290735B1 (en) Visual element encoding parameter tuning
Saha et al. Perceptual video quality assessment: The journey continues!
CN115499666B (zh) 视频的压缩方法、解压缩方法、装置、设备和存储介质
US11575871B2 (en) Method and apparatus for streaming multi-view 360 degree video
KR102595096B1 (ko) 지능적 가로-세로 영상 변환을 위한 전자 장치, 시스템 및 방법
JP2023104295A (ja) 人工知能モジュールを用いてビデオストリーミングに必要なネットワーク帯域幅を低減する方法
KR102421719B1 (ko) 저복잡도 신경망을 이용한 영상의 ai 부호화 장치 및 방법, ai 복호화 장치 및 방법
CN114630111B (zh) 一种基于编码信息的无参考压缩视频质量评估方法
US20240214537A1 (en) Natural and interactive 3d viewing on 2d displays
Challa et al. Deep learning based on multimedia encoding to enhance video quality
US10848734B1 (en) Image frame encoding based on projection space seam

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240221

R150 Certificate of patent or registration of utility model

Ref document number: 7448178

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150