JP7466289B2 - 映像処理装置及びその動作方法 - Google Patents

映像処理装置及びその動作方法 Download PDF

Info

Publication number
JP7466289B2
JP7466289B2 JP2019200151A JP2019200151A JP7466289B2 JP 7466289 B2 JP7466289 B2 JP 7466289B2 JP 2019200151 A JP2019200151 A JP 2019200151A JP 2019200151 A JP2019200151 A JP 2019200151A JP 7466289 B2 JP7466289 B2 JP 7466289B2
Authority
JP
Japan
Prior art keywords
image
neural network
input
processing device
data
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
JP2019200151A
Other languages
English (en)
Other versions
JP2020087449A (ja
Inventor
讚 榮 黄
元 宰 李
仁 相 趙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2020087449A publication Critical patent/JP2020087449A/ja
Application granted granted Critical
Publication of JP7466289B2 publication Critical patent/JP7466289B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Description

本発明は、映像処理装置及びその動作方法に関し、特に、複数の畳み込み層を含むニューラルネットワークを利用して入力された映像を処理する映像処理装置及びその動作方法に関する。
人工知能(Artificial Intelligence:AI)システムは、人間レベルの知能を具現するコンピュータシステムであり、既存のルールに基づく(rule-based)スマートシステムと異なり、機械が自ら学習して判断し、賢くなっていくシステムである。
人工知能システムは、使用するほど認識率が向上し、ユーザ趣向をさらに正確に理解することができるようになり、既存のルールに基づくスマートシステムは、だんだんとディープラーニングベースの人工知能システムで代替されていっている。
人工知能技術は、機械学習(例えば、ディープラーニング)、及び機械学習を活用した要素技術によって構成される。
機械学習は、入力データの特徴を自ら分類/学習するアルゴリズム技術であり、ディープラーニングなどの機械学習アルゴリズムを活用し、言語的理解、視覚的理解、推論/予測、知識表現、動作制御のような技術分野によって構成される。
人工知能技術が応用される多様な、分野は次の通りである。
言語的理解は、人間の言語/文字を認識して応用/処理する技術であり、自然語処理、機械翻訳、対話システム、質疑応答、音声認識/合成などを含む。
視覚的理解は、事物を人間の視覚のように認識して処理する技術であり、客体(オブジェクト)認識、客体追跡、映像検索、人認識、場面理解、空間理解、映像改善などを含む。
推論/予測は、情報を判断し、論理的に推論して予測する技術であり、知識/確率ベース推論、最適化予測、選好ベース計画、推薦などを含む。
知識表現は、人間の経験情報を知識データで自動化処理する技術であり、知識構築(データ生成/分類)、知識管理(データ活用)などを含む。
動作制御は、車両の自律走行、ロボットの動きを制御する技術であり、動き制御(航法、衝突、走行)、操作制御(行動制御)などを含む。
人工知能技術の性能向上開発は、常に続けられており、上記視覚的理解の分野である映像処理技術においては、ニューラルネットワークを利用した、さらなる性能向上開発が課題となっている。
特開2011-232996号公報
本発明は、上記従来の映像処理技術における課題に鑑みてなされたものであって、本発明の目的は、メインニューラルネットワーク及びサブニューラルネットワークを利用して中間出力映像を生成することができる映像処理装置及びその動作方法を提供することにある。
上記目的を達成するためになされた本発明による映像処理装置は、以上のインストラクション(Instruction)、及びメインニューラルネットワーク(Main Neural Network)とサブニューラルネットワーク(Sub Neural Network)とに関係するデータ構造を保存するメモリと、前記メモリに保存された前記1以上のインストラクションを実行するプロセッサと、を有し、前記プロセッサは、入力層、出力層、及び前記入力層と前記出力層との間の複数の隠れ層を含む前記メインニューラルネットワークを利用して前記メインニューラルネットワークに入力された入力映像を処理して前記複数の隠れ層の内の1つから中間結果データを取得し最終出力映像を獲得するために、前記入力映像が、前記メインニューラルネットワークによって処理される間、前記中間結果データを、前記サブニューラルネットワークを利用して処理することにより、中間映像を出力し、前記サブニューラルネットワークは、1以上の畳み込み層を含むことを特徴とする。
前記メインニューラルネットワークは、前記複数の隠れ層である複数の畳み込み層(Convolution Layer)を含み、前記プロセッサは、前記複数の畳み込み層内の1以上のカーネルを利用して第1畳み込み演算を行うことにより、特徴情報を抽出し、前記抽出された特徴情報に基づいて、前記中間結果データを出力することが好ましい。
記プロセッサは、前記サブニューラルネットワークに含まれる前記1以上の畳み込み層において、前記中間結果データに1以上のカーネルを適用して第2畳み込み演算を行うことにより、特徴情報を抽出し、抽出された前記特徴情報に基づいて、前記中間映像を生成することが好ましい。
前記最終出力映像を生成することが好ましい。
前記メインニューラルネットワークは、前記入力映像に予め設定されたスタイルを適用して前記最終出力映像を生成するように学習される(trained)ネットワークであり、前記中間映像は、前記最終出力映像より、前記予め設定されたスタイルが適用された程度が低いことが好ましい。
前記メインニューラルネットワークを利用して前記入力映像から、前記最終出力映像を生成する第1時間は、前記サブニューラルネットワークを利用して前記入力映像から、前記中間映像を生成する第2時間より長いことが好ましい。
前記プロセッサは、前記第1時間及び第2時間を予測し、前記予測された第1時間及び第2時間に基づいて、前記サブニューラルネットワークを利用して前記中間映像を生成するか否かを決定することが好ましい。
前記映像処理装置は、ディスプレイをさらに有し、前記プロセッサは、現在時点から、前記中間映像及び前記最終出力映像の内の少なくとも一つを生成するのに所要する時間を、前記ディスプレイに表示するように制御することが好ましい。
前記プロセッサは、ユーザ入力に基づいて、前記最終出力映像が生成される前に、前記入力映像の処理を中断することが好ましい。
上記目的を達成するためになされた本発明による映像処理装置の動作方法は、入力層、出力層、及び前記入力層と前記出力層との間の複数の隠れ層を含むメインニューラルネットワークを利用して前記メインニューラルネットワークに入力された入力映像を処理する段階と、前記入力映像の処理過程で前記複数の隠れ層の内の1つから中間結果データを取得する段階と、最終出力映像を獲得するために前記入力映像が前記メインニューラルネットワークによって処理される間、前記中間結果データを、サブニューラルネットワークを用いて処理することで、中間映像を出力する段階と、を有し、前記サブニューラルネットワークは、1つ以上の畳み込み層を含むことを特徴とする。
前記メインニューラルネットワークは、複数の隠れ層である複数の畳み込み層を含み、前記メインニューラルネットワークを利用して入力映像を処理する段階は、前記複数の畳み込み層内の1以上のカーネルを利用して前記入力映像に関係する第1畳み込み演算を行うことにより、特徴情報を抽出する段階を含み、前記中間結果データを取得する段階は、前記特徴情報に基づいて、前記中間結果データを生成する段階を含むことが好ましい。
記中間映像を出力する段階は、前記中間結果データに、前記1以上の畳み込み層内の1以上のカーネルを適用して第2畳み込み演算を行うことにより、特徴情報を抽出する段階と、抽出された前記特徴情報に基づいて、前記中間映像を生成する段階と、を含むことが好ましい。
前記映像処理装置の動作方法は、前記最終出力映像を出力する段階をさらに有することが好ましい。
前記メインニューラルネットワークは、前記入力映像に予め設定されたスタイルを適用して前記最終出力映像を生成するように学習されたネットワークであり、前記中間映像は、前記最終出力映像より、前記予め設定されたスタイルが適用された程度が低いことが好ましい。
前記メインニューラルネットワークを利用して前記入力映像から前記最終出力映像を生成する第1時間は、前記サブニューラルネットワークを利用して前記入力映像から前記中間映像を生成する第2時間より長いことが好ましい。
また、本発明による映像処理装置は、予め設定された目的により、映像を処理するように学習されたメインニューラルネットワークを利用して第1映像が処理される過程で出力された中間結果データを受信する通信部と、1以上のインストラクションを保存するメモリと、及び前記メモリに保存された前記1以上のインストラクションを実行するプロセッサと、を有し、前記プロセッサは、前記中間結果データを、サブニューラルネットワークを利用して処理することにより、第2映像を生成することを特徴とする。
前記通信部は、前記第1映像を、前記メインニューラルネットワークを利用して前記予め設定された目的によって処理して生成された第3映像を受信することが好ましい。
本発明に係る映像処理装置及びその動作方法によれば、メインニューラルネットワークにおいて最終出力映像を生成する前に、サブニューラルネットワークを利用して中間出力映像を生成することができ、ユーザ観点での待機時間が短縮される。
また、中間出力映像を生成し、ユーザは中間出力映像に基づいて、メインニューラルネットワークでの最終出力映像を生成するか否かを決定することができる。
また、映像を処理する過程の一部が類似しているが、異なる結果を出力するニューラルネットワークを、メインニューラルネットワークとサブニューラルネットワークとによって構成することにより、ニューラルネットワーク学習(train)の効率性を上昇させることができる。
本発明の一実施形態による映像処理装置が、メインニューラルネットワーク及びサブニューラルネットワークを利用して映像を処理する過程を説明するための図である。 本発明の一実施形態による映像処理装置の動作方法を説明するためのフローチャートである。 本発明の一実施形態による映像処理装置が、メインニューラルネットワーク及びサブニューラルネットワークを利用して映像を処理する方法について説明するための図である。 本発明の一実施形態によるメインニューラルネットワークの構造を示す図である。 本発明の一実施形態によるメインニューラルネットワークに含まれる第1畳み込み層の入力データ、カーネル、出力データを示す図である。 図5の第1畳み込み層において、畳み込み演算が処理される過程を説明するための図である。 本発明の一実施形態による映像処理装置が動作する方法を説明するための図である。 本発明の一実施形態による映像処理装置が、中間出力映像を表示する例を示す図である。 本発明の一実施形態による映像処理装置が、中間出力映像を表示する例を示す図である。 本発明の一実施形態による映像処理装置が、サブニューラルネットワークに進入するか否かを決定する方法を説明するための図である。 本発明の一実施形態による映像処理装置が、メインニューラルネットワーク及びサブニューラルネットワークを利用して出力映像を生成する方法を説明するための図である。 本発明の一実施形態による映像処理装置及びサーバが互いに連動することにより、映像処理を行う例を示す図である。 本発明の一実施形態による映像処理装置のメインニューラルネットワーク又はサブニューラルネットワークを学習させる構成を示すブロック図である。 本発明の一実施形態による映像処理装置の概略構成を示すブロック図である。 本発明の一実施形態によるプロセッサの概略構成を示すブロック図である。 本発明の一実施形態による映像処理装置及びサーバが互いに連動することにより、データを学習(learn)して認識する例を説明するための図である。 本発明の他の実施形態による映像処理装置の構成を示すブロック図である。
次に、本発明に係る映像処理装置及びその動作方法を実施するための形態の具体例を図面を参照しながら説明する。
本発明で使用する用語は、本発明での機能を考慮しながら、可能な限り、現在汎用される一般的な用語を選択したが、それは、当分野の当業者の意図、判例、あるいは新たな技術の出現などによっても異なる。
また、特定の場合は、出願人が任意に選定した用語もあり、その場合、当該発明の説明部分において、詳細にその意味を記載する。
従って、本発明で使用する用語は、単なる用語の名称ではなく、その用語が有する意味、及び本発明の全般にわたる内容を基に定義されなければならない。
明細書全体において、ある部分がある構成要素を「含む」とするとき、それは、特別に反対となる記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含んでもよいということを意味する。
また、明細書に記載され「…部」、「モジュール」というような用語は、少なくとも1つの機能や動作を処理する単位を意味し、それは、ハードウェア又はソフトウェアによって具現されるか、あるいはハードウェアとソフトウェアとの結合によっても具現される。
以下では、添付した図面を参照し、実施形態について、本発明が属する技術分野で当業者であるならば、容易に実施することができるように詳細に説明する。
しかし、本発明は、さまざまに異なる形態にも具現され、ここで説明する実施形態に限定されるものではない。そして、図面において、本発明について明確に説明するために、説明と関係ない部分は、省略し、明細書全体を通じて、類似した部分については、類似した図面符号を付した。
図1は、本発明の一実施形態による映像処理装置が、メインニューラルネットワーク(Main Neural Network)及びサブニューラルネットワーク(Sub Neural Network)を利用して映像を処理する過程を説明するための図である。
本発明の一実施形態による映像処理装置100は、携帯電話、タブレットPC(personal computer)、デジタルカメラ、カムコーダ、ノート型パソコン(laptop computer)、デスクトップ、電子書籍端末機、デジタル放送用端末機、PDA(personal digital assistant)、PMP(portable multimedia player)、ナビゲーション、MP3プレイヤ、着用型機器(wearable device)のような多様な電子装置によっても具現される。
また、映像処理装置100は、ディスプレイを含む映像表示装置によっても具現される。
特に、本発明の一実施形態で、デジタル・サイネージ(Digital Signage:電子看板)やTV(television)のように、ディスプレイが大型である映像表示装置によって容易に具現されるが、それらに限定されるものではない。
例えば、映像処理装置は、固定型又は移動型であり、デジタル放送受信が可能なデジタル放送受信機である。
映像処理装置は、平面ディスプレイ装置だけではなく、曲率を有する画面である曲面(curved)ディスプレイ装置、又は曲率を調整することができる可変型(flexible)ディスプレイ装置によっても具現される。
映像処理装置100の出力解像度は、例えば、HD(high definition)、full HD、ultra HDの解像度、あるいはultra HDよりさらに鮮明な解像度を含んでもよい。
本明細書の実施形態において、「ユーザ」という用語は、映像処理装置の機能又は動作を制御する者を意味し、管理者又は設置技士を含み得る。
本発明の実施形態による映像処理装置100は、予め設定された目的により、映像を処理するように学習された(trained)メインニューラルネットワーク200を含む。
メインニューラルネットワーク200は、複数の畳み込み層(Convolution Layer(コンボリューションレイヤ))を含み得るが、それに限定されるものではない。
例えば、メインニューラルネットワーク200は、入力された映像10に予め設定されたスタイル15を適用し、スタイルが変換された映像20を出力するように学習されたモデルである。
このとき、上記スタイルは、映像に示される線、色、材質、雰囲気などによっても決定されるが、それらに限定されるものではない。
映像処理装置100は、メインニューラルネットワーク200を利用して受信された入力映像10(例えば、第1映像)を処理し、最終出力映像20(例えば、第2映像)を取得する。
また、映像処理装置100は、入力映像10の処理過程で出力される中間結果データを取得し、中間結果データを、サブニューラルネットワーク300に入力させることができる。
映像処理装置100は、サブニューラルネットワーク300を利用し、中間結果データを処理することにより、中間映像30(例えば、第3映像)を生成することができる。
サブニューラルネットワーク300は、1以上の畳み込み層を含み得るが、それに限定されるものではない。
映像処理装置100は、サブニューラルネットワーク300を利用し、中間結果データを処理することにより、最終出力映像20と異なる中間出力映像30(第3映像)を取得する。
本発明の実施形態による映像処理装置100は、1つのネットワークを利用して映像を処理するとき、最終出力映像を取得する前に、中間結果データを利用し、中間出力映像を取得することができる。
それにより、映像処理装置は、最終出力映像が生成される前に、中間出力映像を取得することができ、映像処理装置ユーザの観点で、出力映像が生成されるまでの待機時間を短縮させることができる。
図2は、本発明の一実施形態による映像処理装置の動作方法を説明するためのフローチャートである。
図2を参照すると、本発明の実施形態による映像処理装置100は、メインニューラルネットワーク200を利用して第1映像を処理する(ステップS210)。
本発明の実施形態によるメインニューラルネットワーク200は、予め設定された目的により、映像を処理するように学習されたモデルである。
また、メインニューラルネットワーク200は、複数の畳み込み層を含む畳み込みニューラルネットワークである。
例えば、メインニューラルネットワーク200は、入力された映像に予め設定されたスタイルを適用し、スタイルが変換された映像を出力するように学習されたモデルである。
又は、メインニューラルネットワークは、入力された低解像度の映像を、高解像度映像に変換し、変換された高解像度映像を出力するように学習されたモデルである。
ただし、それに限定されるものではない。
また、映像処理装置100は、メインニューラルネットワーク200を利用して入力された第1映像を処理し、最終出力映像を取得する。
映像処理装置100は、第1映像を処理する過程で出力される中間結果データを取得する(ステップS220)。
映像処理装置100は、メインニューラルネットワークに含まれた畳み込み層の中で一部畳み込み層をパスしたデータを取得する。
映像処理装置100は、サブニューラルネットワーク300を利用して中間結果データを処理することにより、第2映像を生成する(ステップS230)。
映像処理装置100は、サブニューラルネットワーク300を利用して中間結果データを処理することにより、最終出力映像と異なる中間出力映像(第3映像)を取得する。
このとき、メインニューラルネットワーク200が、予め設定されたスタイルを適用するように学習されたモデルである場合、最終出力映像と中間出力映像とにスタイルが適用された程度が異なる。
例えば、中間出力映像にスタイルが適用された程度が、最終出力映像にスタイルが適用された程度よりも低い。
ただし、それに限定されるものではない。
図3は、本発明の一実施形態による映像処理装置が、メインニューラルネットワーク及びサブニューラルネットワークを利用して映像を処理する方法について説明するための図である。
図3を参照すると、映像処理装置100は、メインニューラルネットワーク200及びサブニューラルネットワーク300を含む。
メインニューラルネットワーク200は、第1映像310が入力され、入力された第1映像310を、予め設定された目的によって処理し、処理された第2映像320を出力するように学習されたモデルである。
例えば、図3に示すように、メインニューラルネットワーク200は、入力された映像310に、予め設定されたスタイルを適用し、スタイルが変換された第2映像320(出力映像)を出力するように学習されたモデルである。
ただし、スタイル変換の目的に学習されることは、一例に過ぎず、メインニューラルネットワーク200は、多様な目的に学習されたモデルである。
メインニューラルネットワーク200は、データ(例えば、映像データ)が入力され、入力されたデータが隠れ層(Conv)を通過して処理されることにより、処理されたデータが出力される構造を含む。
メインニューラルネットワーク200は、2層以上の隠れ層を含むディープニューラルネットワーク(DNN)である。
例えば、メインニューラルネットワーク200は、複数の畳み込み層を含む畳み込みニューラルネットワーク(CNN)である。
一方、サブニューラルネットワーク300は、メインニューラルネットワーク200から出力された中間結果データを受信し、最終出力映像320を出力するために、中間結果データを予め設定された目的によって処理する。
例えば、サブニューラルネットワーク300は、中間データが入力され、入力されたデータが1以上の畳み込み層(隠れ層)を通過して処理されることにより、処理されたデータ330(例えば、第3映像)が出力される構造を有する。
メインニューラルネットワーク200及びサブニューラルネットワーク300の具体的な構造及び動作については、図4~図6を参照して、具体的に説明する。
図4は、本発明の一実施形態によるメインニューラルネットワークの構造を示す図である。
図4を参照すると、メインニューラルネットワーク200は、入力層、出力層、及び入力層と出力層との間に位置したN層の畳み込み層452のような複数の隠れ層を含む。
メインニューラルネットワーク200は、入力層を介して、入力データ451(例えば、第1映像)を受信し、N層の畳み込み層452を通過し、入力データ451を処理することにより、出力データ453(例えば、第2映像)を生成し、出力層を介して、出力データ453を提供する。
メインニューラルネットワーク200は、2層以上の畳み込み層を含むディープ畳み込みニューラルネットワークである。
メインニューラルネットワーク200は、プーリング層(pooling layers)、全結合層(fully connected layers(フリーコネクテッドレイヤ))及び隠れ層のような正規化層(normalization layers)をさらに含み得る。
本発明の一実施形態による映像処理装置100は、メインニューラルネットワーク200を利用して第1映像から、枠、線、色のような「特徴(features)」を抽出する。
メインニューラルネットワーク200に含まれるN層の畳み込み層452それぞれにおいては、データを受信し、受信されたデータを処理し、出力データを生成する。
例えば、図3に示したように、映像処理装置100は、第1畳み込み層210に入力された映像(例えば、第1映像)を、1以上のカーネル又はフィルタと畳み込み(convolution:コンボリューション)し、第1特徴マップを生成する。
また、生成された第1特徴マップを、第2畳み込み層220に入力させ、第2畳み込み層220に入力された第1特徴マップを、1以上のカーネル又はフィルタと畳み込みし、第2特徴マップを生成する。
畳み込み層で行われる畳み込み演算については、図4~図6を参照して詳細に説明する。
メインニューラルネットワーク200の初期畳み込み層は、入力映像からエッジ又はグラジエントのような低レベルの特徴を抽出するように動作される。
また、後方の畳み込み層に行くほど、漸進的に複雑な特徴(例えば、目、鼻、口、顔など)を抽出することができる。
メインニューラルネットワーク200内において、特徴マップを入力されて出力する1以上の畳み込み層は、隠れ層(例えば、隠れ畳み込み層)である。
また、メインニューラルネットワーク200においては、特徴マップに1以上のカーネルを適用して畳み込みする演算以外に、他のプロセシング演算が行われ得る。
例えば、活性化関数(activation function)、プーリングなどの演算が行われ得る。
映像処理装置100は、畳み込み演算を行った結果として抽出された特徴マップの値を、特徴が「ある、あるいは、ない」の非線形的な値に変えるために、活性化関数を適用する。
活性化関数は、入力に比例して活性化される線形関数(例えば、ニューロンからの加重和)、
2つの数学式:f(x)=x if x≧0、
及びf(x)=α(e-1) if x<0
を含む指数的な線形ユニット(ELU:exponential linear unit)関数、
y=max(0,x)で定義されるReLU(rectified linear unit)関数、シグモイド関数、Tanh関数、及びSoftmax関数などを含み得る。
また、映像処理装置100は、抽出された特徴マップのサイズを縮めるために、サブサンプリング(プーリング)することができる。
このとき、「max pooling」、「average pooling」、「L2-norm pooling」などを使用することができるが、それらに限定されるものではない。
例えば、第1映像310(入力データ)は、メインニューラルネットワーク200のN層の畳み込み層を通過した後、活性化関数、プーリングなどの演算が行われ、第2映像320として出力される。
一方、図3を参照すると、メインニューラルネットワーク200は、N層の畳み込み層を含む。
このとき、入力映像が、メインニューラルネットワーク200の第1畳み込み層210~第M畳み込み層(Layer)それぞれにおいて、1以上のカーネルと畳み込み演算が行われ、中間結果データが出力される。
このとき、中間結果データは、サブニューラルネットワーク300にも入力される。
サブニューラルネットワーク300は、メインニューラルネットワーク200で取得された中間結果データを受信する。
例えば、サブニューラルネットワーク300は、中間結果データを受信する入力層、中間結果データを処理する1以上の畳み込み層,及び処理された中間結果データを出力データ(例えば、第3映像330)として、出力する出力層を含み得る。
サブニューラルネットワーク300に含まれる1以上の畳み込み層は、隠れ層(例えば、隠れ畳み込み層)である。
また、サブニューラルネットワーク300においては、特徴マップに1以上のカーネルを適用して畳み込みする演算以外に、他のプロセシング演算が行われる。
例えば、活性化関数(activation function)、プーリングなどの演算が行われる。
映像処理装置100は、畳み込み演算を行った結果として抽出された特徴マップの値を、特徴が「ある、あるいは、ない」の非線形的な値に変えるために活性化関数を適用する。
このとき、tanh関数、ReLu関数が使用されるが、それらに限定されるものではない。
また、映像処理装置100は、抽出された特徴マップを縮めるために、サブサンプリング(プーリング)することができる。
このとき、「max pooling」、「average pooling」、「L2-norm pooling」などを使用することができるが、それらに限定されるものではない。
例えば、中間結果データは、メインニューラルネットワーク200の1以上の畳み込み層を通過した後、活性化関数、プーリングなどの演算が行われ、第3映像330が出力される。
図5は、本発明の一実施形態によるメインニューラルネットワークに含まれる第1畳み込み層の入力データ、カーネル、出力データを示す図である。
本発明の一実施形態によるメインニューラルネットワーク200は、N層の畳み込み層452を含み、以下では、最初の畳み込み層を、第1畳み込み層(Conv_1)210と称する。
第1畳み込み層(Conv_1)での入力データ(第1格納データ)510は、第1映像であり、格納データ510のサイズは、w×h×C(例えば、横×縦×チャネル)である。
ここで、w、h、及びCは、それぞれ横、縦、及びチャネルを示す。
例えば、第1映像のサイズは、w×hであり、チャネルCの個数は、3個(例えば、R、G、B)であるが、それに限定されるものではない。
また、第1畳み込み層(Conv_1)での1以上のカーネル(第1カーネル)530は、Kw×Khのサイズを有し、カーネルの個数は、C×D(入力チャネルの個数×出力チャネルの個数)個である。
ここで、Dは、出力チャネルの個数を示す。
第1畳み込み層(Conv_1)において、第1格納データ510と第1カーネル530とを畳み込み演算すれば、第1出力データ540が生成される。
このとき、第1出力データ540は、1以上の特徴マップを含み得、第1出力データ540のサイズは、W×H×Dであり、特徴マップ1つのサイズは、W×Hであり、特徴マップの個数(又は、チャネル個数)がD個である。
図6は、図5の第1畳み込み層において、畳み込み演算が処理される過程を説明するための図である。
図6においては、説明の便宜のために、第1畳み込み層(Conv_1)の入力データ610は、5×5の大きさを有し、チャネルの個数は、nであると仮定する。
また、入力データ610の格納データに適用されるカーネルの大きさは、3×3×nであり、カーネルの個数は、D個であると仮定する。
このとき、nは、カーネルの深さであり、入力データ610のチャネル個数と同一値を有する。
また、入力データ610の格納データのチャネルの個数は、現在レイヤ以前のレイヤで使用されたカーネルの個数によっても決定される。
すなわち、1つのカーネルは、3×3サイズを有するn個のサブカーネル(631、632、…、639)を含むと見ることができ、このとき、n個のサブカーネル(631、632、…、639)は、入力データ610のn個の各チャネルにも対応する。
図6を参照すると、入力データ610の格納データの左側上端から右側下端まで、第1カーネル630に含まれるサブカーネル(631、632、…、639)を適用し、入力データ610の格納データの特徴を抽出する過程を図に示す。
例えば、入力データ610の格納データの左側上端3×3×n領域(611、612、…、619)に含まれるピクセルに、第1カーネル(3×3×n)630を適用して畳み込み演算を行う。
すなわち、左側上端3×3×n領域(611、612、…、619)に含まれるピクセル値と、第1カーネル630に含まれる加重値とを乗じて合算することにより、左側上端3×3×n領域にマッピングされる1つのピクセル値641を生成する。
また、入力データ610の格納データの左側上端3×3×n領域(611、612、…、619)から右側に1ピクセル移動させた3×3×n領域(621、622、…、629)に含まれるピクセル値と、第1カーネル630に含まれる加重値とを乗じて合算することにより、3×3×n領域(621、622、…、629)にマッピングされる1つのピクセル値642を生成する。
同様の方式で、入力データ610の格納データ内において、畳み込み演算の対象を、左側から右側に、上端から下端に1ピクセルずつスキャンしながら、第1カーネル630に含まれる加重値を乗じて合算することにより、ピクセル値が生成される。
それにより、3×3の特徴マップである出力データ640が出力される。
このとき、畳み込み演算の対象になるデータは、1ピクセルずつ移動しながらもスキャンされるが、2個ピクセル、又はそれ以上のピクセル個数ほど移動しながらスキャンすることもできる。
スキャン過程において、入力データが移動するピクセルの個数をストライド(stride)と言い、ストライドの大きさにより、出力される特徴マップの大きさが決定される。
図6を参照すると、入力データ610は、5×5の大きさを有するが、出力データ640は、3×3の大きさを有し、入力データの大きさより小さくなる。
メインニューラルネットワークは、いくつかの畳み込み層を含み、いくつかの畳み込み層を通過しながら、データの大きさが続けて小さくなる。
このとき、特徴が十分に抽出される前にデータの大きさが小さくなれば、入力データの特徴が失われるので、それを防止するために、パディング(padding)が行われる。
パディングは、出力データが小さくなることを防止するために、入力データ端に特定値(例えば、「0」)を与え、入力データのサイズを増大させることを意味する。
ただし、それに限定されるものではない。
一方、図6には、第1カーネル630に関わる畳み込み演算結果だけを図に示したが、D個のカーネルに対して畳み込み演算を行う場合、3×3×Dの特徴マップが出力される。
すなわち、カーネルの個数Dにより、出力データのチャネル個数Dが決定され、それにより、次のレイヤでの入力データのチャネルの個数も決定される。
図7は、本発明の一実施形態による映像処理装置が動作する方法を説明するための図である。
図7を参照すると、映像処理装置100は、スタイル変換の目的に学習されたメインニューラルネットワーク200を利用して入力された第1映像710から第2映像720を生成する。
このとき、メインニューラルネットワーク200は、N層の畳み込み層を含む畳み込みニューラルネットワークであり、第2映像720は、第1映像710に予め設定されたスタイル705が適用された映像である。
例えば、映像処理装置100は、第1映像710を、メインニューラルネットワーク200に入力させる。
このとき、入力される第1映像710は、3個のチャネル(R、G、Bチャネル)を含んでもよいが、それに限定されるものではない。
映像処理装置100は、第1畳み込み層210において、入力された映像データと1以上のカーネルとに対し、畳み込みする演算を行う。
畳み込み演算が行われたデータは、第1畳み込み層210から出力され、第2畳み込み層220に入力される。
映像処理装置100は、上記のような方式で、N層の畳み込み層それぞれにおいて、以前の畳み込み層から出力されたデータを受信し、受信されたデータと、1以上のカーネル又はフィルタに対して畳み込み演算を行い、畳み込み演算が行われたデータを、次の畳み込み層に出力する。
また、映像処理装置100は、N層の畳み込み層を通過したデータに、活性化関数演算を行い、活性化関数演算が行われたデータに基づいて、最終出力映像(例えば、第2映像)を生成する。
このとき、最終出力映像は、3個のチャネル(R、G、Bチャネル)を含む映像であるが、それに限定されるものではない。
映像処理装置100は、メインニューラルネットワーク200を利用して第1映像710を処理する過程において、中間結果データを取得する。
映像処理装置100は、メインニューラルネットワーク200に含まれた畳み込み層において、n番目畳み込み層まで通過したデータを取得する。
例えば、図7に示すように、第1映像710がメインニューラルネットワーク200に入力され、第1映像710が、第1畳み込み層210及び第2畳み込み層220を通過しながら、1以上のカーネル又はフィルタと畳み込みされたデータとが、第1中間結果データD1として出力される。
また、第1映像710がメインニューラルネットワーク200に入力されて第1映像710が第1畳み込み層210~第5畳み込み層250を通過したデータが、第2中間結果データD2として出力される。
第1映像710がメインニューラルネットワーク200に入力されて第1映像710が第1畳み込みデータ210~第8畳み込み層280を通過したデータが、第3中間結果データD3として出力される。
第1映像710がメインニューラルネットワーク200に入力されて第1映像が第1畳み込み層210~第11畳み込み層292を通過したデータが、第4中間結果データD4として出力される。
ただし、それらに限定されるものではない。
映像処理装置100は、取得された中間結果データを、サブニューラルネットワークを利用して処理することにより、最終出力映像(第2映像)720と異なる中間出力映像を生成することができる。
例えば、映像処理装置100は、第1サブニューラルネットワーク301~第4サブニューラルネットワーク304を含む。
メインニューラルネットワーク200は、中間結果データを、サブニューラルネットワーク(301、302、303、304)に出力する複数の中間出力レイヤを含み得る。
特に、メインニューラルネットワーク200は、第2畳み込み層220と第3畳み込み層230との間に位置し、第1中間結果データD1を第1サブニューラルネットワーク301に伝送する第1中間出力レイヤ(IO1)、第5畳み込み層250と第6畳み込み層260との間に位置し、第2中間結果データD2を第2サブニューラルネットワーク302に伝送する第2中間出力レイヤ(IO2)、第8畳み込み層280と第9畳み込み層290との間に位置し、第3中間結果データD3を第3サブニューラルネットワーク303に伝送する第3中間出力レイヤ(IO3)、第11畳み込み層292と第12畳み込み層293との間に位置し、第4中間結果データD4を第4サブニューラルネットワーク304に伝送する第4中間出力レイヤ(IO4)を含み得る。
映像処理装置100は、取得された第1中間結果データD1を、第1サブニューラルネットワーク301に入力させる。
第1サブニューラルネットワーク301は、1以上の畳み込み層を含み得、1以上の畳み込み層において、入力された第1中間結果データD1と、1以上のカーネル又はフィルタとを畳み込む演算を行う。
映像処理装置100は、畳み込みされたデータに、活性化関数演算を行い、活性化関数演算が行われたデータに基づいて、第1中間出力映像S1を生成する。
このとき、第1中間出力映像は、3個のチャネル(R、G、Bチャネル)を含む映像であるが、それに限定されるものではない。
また、映像処理装置100は、第2中間結果データD2~第4中間結果データD4それぞれについても、第2サブニューラルネットワーク302~第4サブニューラルネットワーク304それぞれを利用して処理することにより、第2中間出力映像S2~第4中間出力映像S4を生成する。
それについては、第1中間結果データD1を、第1サブニューラルネットワーク301を利用して処理することにより、第1中間出力映像S1を生成する方法と同一であるので、具体的な説明は省略する。
一方、第1中間出力映像S1~第4中間出力映像S4は、第2映像720に比べ、スタイルが適用された程度が低い。
例えば、第1中間出力映像S1から第4中間出力映像S4に行くほど、第1映像710にスタイル705が適用された程度が高くなる。
また、第2映像(最終出力映像)720にスタイル705が適用された程度が、第4中間出力映像S4にスタイル705が適用された程度より高くなる。
図8及び図9は、本発明の一実施形態による映像処理装置が、中間出力映像を表示する例を示す図である。
図8を参照すると、映像処理装置100が、メインニューラルネットワーク200及び第1サブニューラルネットワーク301を利用して第1映像710から第1中間出力映像S1を生成するのに、第1時間T1が所要される。
映像処理装置100は、生成された第1中間出力映像S1をディスプレイに表示することができる。
また、映像処理装置100が、メインニューラルネットワーク200及び第2サブニューラルネットワーク302を利用して第1映像710から第2中間出力映像S2を生成するのに、第2時間(T1+T2)が所要され、映像処理装置100が、メインニューラルネットワーク200及び第3サブニューラルネットワーク303を利用して第1映像710から第3中間出力映像S3を生成するのに、第3時間(T1+T2+T3)が所要される。
一方、映像処理装置100が、メインニューラルネットワーク200を利用して第1映像710から最終出力映像(第2映像)720を生成するのに、第4時間T4が所要される。
第4時間は、第3時間(T1+T2+T3)よりも長い。
映像処理装置100は、メインニューラルネットワーク200を利用して第1映像710を処理し、最終出力映像720を生成する前に、第1中間出力映像S1、第2中間出力映像S2、及び第3中間出力映像S3を生成し、ディスプレイに表示することができる。
このとき、映像処理装置100は、次の出力映像が生成されるまでにかかる時間情報(810、820)を出力映像と共に表示することができる。
例えば、図8に示すように、第1中間出力映像S1を表示しながら、現在時点から、第2中間出力映像S2が生成されるまでにかかる時間情報(T2)810を共に表示することができる。
また、第2中間出力映像を表示しながら、第3中間出力映像が生成されるまでにかかる時間情報(T3)820を共に表示することができる。
また、映像処理装置100は、次の中間出力映像が生成されるまでにかかる時間情報だけではなく、最終出力映像が生成されるまでにかかる時間情報も表示することができる。
それにより、ユーザは、最終出力映像が生成される前、ディスプレイに表示される中間出力映像を確認することができ、次の出力映像が生成されるのに所要される時間を確認し、映像処理を続けて行うか否かを決定することができる。
映像処理装置100は、ユーザ入力に基づいて、メインニューラルネットワーク200での第1映像710に対する映像処理を中断することができる。
例えば、第3中間出力映像S3が表示された状態で、映像処理中断要請を受信すれば、映像処理装置100は、メインニューラルネットワーク200での第1映像710に対する映像処理を中断することができる。
それにより、映像処理装置100は、次の中間出力映像、及び最終出力映像720を生成しない。
また、図9を参照すると、映像処理装置100は、ユーザ入力に基づいて、中間出力映像に、追加的な映像処理を行うことができる。
例えば、第3中間出力映像S3の色感、明るさ、鮮明度(sharpen処理)などを調節する映像処理を行い、最終映像920を生成することができる。
ただし、それに限定されるものではない。
図10は、本発明の一実施形態による映像処理装置が、サブニューラルネットワークに進入するか否かを決定する方法を説明するための図である。
図10を参照すると、映像処理装置100は、メインニューラルネットワーク200で、中間結果データを取得する地点を、サブネットワークポイントと決定することができる。
例えば、第1中間結果データD1を取得する第2畳み込み層の出力地点(第3畳み込み層の入力地点)を、第1サブネットワークポイント1010と決定し、第2中間結果データD2を取得する第5畳み込み層の出力地点(第6畳み込み層の入力地点)を、第2サブネットワークポイント1020として決定し、第3中間結果データD3を取得する第8畳み込み層の出力地点(第9畳み込み層の入力地点)を、第3サブネットワークポイント1030として決定し、第4中間結果データD4を取得する第11畳み込み層の出力地点(第12畳み込み層の入力地点)を、第4サブネットワークポイント1040として決定することができる。
ただし、それらに限定されるものではない。
映像処理装置100は、サブネットワークポイント(1010、1020、1030、1040)において、サブニューラルネットワークを利用して映像処理を行うか否かを決定することができる。
例えば、映像処理装置100は、当該の第1畳み込み層及び第2畳み込み層において、畳み込み演算が完了し、第1中間結果データD1が出力されれば(第1サブネットワークポイント1010において)、第1中間結果データD1を、第1サブニューラルネットワーク301に入力させて映像処理を行うことにより、第1中間出力映像S1を生成するか否かを決定する。
映像処理装置100は、第1サブニューラルネットワーク301を利用して第1中間結果データD1を、第1中間出力映像S1に処理するのに所要する時間(第1時間)と、メインニューラルネットワークを利用して第1中間結果データを、最終出力映像に処理するのに所要する時間(第2時間)とを計算して評価することができる。
映像処理装置100は、第1時間と第2時間との差が予め設定された値以上である場合、第1サブニューラルネットワーク301に進入させることができる。
例えば、第1中間結果データD1及び第1サブニューラルネットワーク301を利用して第1中間出力映像S1を生成する。
一方、第1時間と第2時間との差が予め設定された時間より短い場合、第1サブニューラルネットワーク301に進入しない。
例えば、第1中間出力映像S1を生成せずに、第1中間出力データD1及びメインニューラルネットワーク200を利用して最終出力映像720を生成する。
同様の方式で、映像処理装置100は、第2サブニューラルネットワーク302を利用して第2中間結果データD2を、第2中間出力映像S2に処理するのに所要する時間(第3時間)と、メインニューラルネットワーク200を利用して第2中間結果データを、最終出力映像に処理するのに所要する時間(第4時間)とを計算することができる。
映像処理装置100は、第2サブネットワークポイント1020において、第3時間と第4時間とを比較することにより、第2サブニューラルネットワーク302へ進入するか否かを決定することができる。
また、映像処理装置100は、第3サブネットワークポイント1030において、第3サブニューラルネットワーク303を利用して第3中間結果データD3を、第3中間出力映像S3に処理するのに所要する時間(第5時間)と、メインニューラルネットワーク200を利用して第3中間結果データD3を、最終出力映像720に処理するのに所要する時間(第6時間)とを比較することにより、第3サブニューラルネットワーク303へ進入するか否かを決定することができる。
また、映像処理装置100は、第4サブネットワークポイント1040において、第4サブニューラルネットワーク304を利用して第4中間結果データD4を、第4中間出力映像S4に処理するのに所要する時間(第7時間)と、メインニューラルネットワーク200を利用して第4中間結果データD4を、最終出力映像720に処理するのに所要する時間(第8時間)とを比較することにより、第4サブニューラルネットワーク304へ進入するか否かを決定することができる。
図11は、本発明の一実施形態による映像処理装置が、メインニューラルネットワーク及びサブニューラルネットワークを利用して出力映像を生成する方法を説明するための図である。
図11のメインニューラルネットワーク1100は、図7のメインニューラルネットワーク200に対応し、図11の第1サブニューラルネットワーク1110は、図7の第1サブニューラルネットワーク301に対応し、図11の第2サブニューラルネットワーク1120は、図7の第2サブニューラルネットワーク302に対応する。
従って、メインニューラルネットワーク1100、第1サブニューラルネットワーク1110、及び第2サブニューラルネットワーク1120の構造及び動作方法に関する具体的な説明は、省略する。
図11を参照すると、映像処理装置100は、メインニューラルネットワーク1100を利用して第1映像710から第2映像720(最終出力映像)を生成する。
また、映像処理装置100は、メインニューラルネットワーク1100を利用して第1映像710を処理する過程で生成された第1中間結果データD1を取得し、第1中間結果データD1及び第1サブニューラルネットワーク1110を利用して第1中間出力映像S1を生成する。
また、メインニューラルネットワーク1100を利用して第1映像710を処理する過程で生成された第2中間結果データD2を取得し、第2中間結果データD2及び第2サブニューラルネットワーク1120を利用して第2中間出力映像S2を生成する。
このとき、第1映像710又は第2映像720(最終出力映像)は、高解像度映像であり、第1中間出力映像S1及び第2中間出力映像S2は、低解像度映像である。
図12は、本発明の一実施形態による映像処理装置及びサーバが互いに連動することにより、映像処理を行う例を示す図である。
図12を参照すると、サーバ2000は、メインニューラルネットワーク2030を含み、メインニューラルネットワーク2030は、予め設定された目的により、映像を処理するように学習されたモデルである。
例えば、メインニューラルネットワーク2030は、スタイル変換の目的に学習されたモデルである。
サーバ2000は、メインニューラルネットワーク2030を利用して入力された第1映像710に、予め設定されたスタイルを適用し、スタイルが変換された第2映像(出力映像)720を生成する。
図12のメインニューラルネットワーク2030は、図3のメインニューラルネットワーク200に対応するので、メインニューラルネットワーク2030の構造及び動作に係わる具体的な説明は、省略する。
また、サーバ2000は、第2映像720を映像処理装置100に伝送することができる。
一方、サーバ2000は、第1映像710が、メインニューラルネットワーク2030で処理される過程において、中間結果データを取得することができる。
例えば、中間結果データは、メインニューラルネットワーク2030に含まれた複数の畳み込み層において、特定レイヤから抽出された特徴マップ(特徴情報)を含んでもよいが、それに限定されるものではない。
サーバ2000は、中間結果データを、映像処理装置100に伝送する。
一実施形態による映像処理装置100は、サブニューラルネットワーク2050を含む。
サブニューラルネットワーク2050は、1以上の畳み込み層を含み得、1以上の畳み込み層においては、畳み込み演算が行われる。
例えば、映像処理装置100は、サーバ2000から受信した中間結果データを、サブニューラルネットワーク2050に入力させ、中間結果データは、1以上の畳み込み層を通過しながら、1以上のカーネルと畳み込みされる。
映像処理装置100は、畳み込みされたデータに、活性化関数演算を行い、活性化関数演算が行われたデータに基づいて、第3映像(中間出力映像)1250を生成する。
映像処理装置100は、生成された第3映像1250、及びサーバ2000から受信した第2映像720をディスプレイに表示する。
一実施形態による第3映像(中間出力映像)1250は、第2映像720(最終出力映像)より、予め設定されたスタイルが適用された程度が低い。
図12に示すように、メインニューラルネットワーク2030の動作は、サーバ2000で実行され、サブニューラルネットワーク2050の動作は、映像処理装置100で実行されることにより、映像処理装置100のメモリ帯域幅を節減することができ、出力映像を取得するのに所要する時間が短縮される。
図13は、本発明の一実施形態による映像処理装置のメインニューラルネットワーク又はサブニューラルネットワークを学習させる構成を示すブロック図である。
図13を参照してメインニューラルネットワーク又はサブニューラルネットワークを学習させる(train)方法を説明する。
図13を参照すると、本発明の一実施形態による映像処理装置100は、映像特徴抽出部1310、スタイル分析部1320、コンテンツ分析部1330、及びネットワーク更新部1340を含む。
映像特徴抽出部1310は、メインニューラルネットワーク200から出力される映像Y、スタイルターゲット映像Ys、及びコンテンツターゲット映像Ycが入力される。
このとき、スタイルターゲット映像Ysは、メインニューラルネットワーク200を利用して変換しようとするスタイルを含む映像である。
また、コンテンツターゲット映像Ycは、スタイルが変換される前の原本映像であり、メインニューラルネットワーク200に入力される映像Xと同一映像である。
映像特徴抽出部1310は、畳み込みニューラルネットワークを含み、畳み込みニューラルネットワークを利用して入力された映像(Ys、Y、Yc)の特徴マップ(特徴情報)を抽出する。
畳み込みニューラルネットワークは、複数の畳み込み層を含み、複数の畳み込み層においては、畳み込み演算が行われる。
また、映像特徴抽出部1310は、複数の畳み込み層において、畳み込み演算以外に、活性化関数、プーリングなどの演算を行うことができ、畳み込み層ごとに、特徴マップを抽出することができる。
例えば、映像特徴抽出部1310は、映像特徴抽出部1310に含まれた畳み込み層それぞれにおいて、スタイルターゲット映像Ysの特徴マップ、コンテンツターゲット映像Ycの特徴マップ、映像Yの特徴マップを抽出する。
映像特徴抽出部1310は、初期畳み込み層において、入力映像のエッジ又はグラジエントのような低いレベルの特徴を抽出し、後方の畳み込み層に行くほど、漸進的に複雑な特徴を抽出する。
ただし、それに限定されるものではない。
スタイル分析部1320は、スタイルターゲット映像Ysと出力映像Yとのスタイルに関係する差を分析する。
例えば、スタイル分析部1320は、スタイルターゲット映像Ysに関係する特徴マップと、出力映像Yに関係する特徴マップとの差を分析する。
また、コンテンツ分析部1330は、コンテンツターゲット映像Ycと出力映像Yとのコンテンツに関係する差を分析する。
例えば、コンテンツ分析部1330は、コンテンツターゲット映像Ycに関係する特徴マップと、出力映像Yに関係する特徴マップとの差を分析する。
ネットワーク更新部1340は、スタイルターゲット映像に関係する特徴マップと、出力映像に関係する特徴マップとの差が小さくなるように、メインニューラルネットワーク200のカーネルの加重値を調整する。
また、コンテンツターゲット映像に関係する特徴マップと、出力映像に関係する特徴マップとの差が小さくなるように、メインニューラルネットワーク200のカーネルの加重値を調整する。
ただし、それに限定されるものではない。
図13においては、本発明の一実施形態によるメインニューラルネットワーク200を学習させる方法についてのみ説明したが、本発明の一実施形態によるサブニューラルネットワークも、同様の方式で学習させることができる。
特に、本発明の一実施形態による映像処理装置は、映像を処理する過程の一部が類似しているが、異なる結果を出力するニューラルネットワークを、メインニューラルネットワークとサブニューラルネットワークとによって構成することができる。
例えば、第1ニューラルネットワークと第2ニューラルネットワークとのうち一つを、メインニューラルネットワークとして構成し、残りニューラルネットワークにおいて、メインニューラルネットワークと異なる処理過程を有する部分のみをサブニューラルネットワークとして構成することができる。
ただし、それに限定されるものではない。
それにより、映像処理装置は、同様の類似の処理過程については学習を重複させないことにより、ニューラルネットワーク学習の効率性を上昇させることができる。
図14は、本発明の一実施形態による映像処理装置の概略構成を示すブロック図である。
図14を参照すると、本発明の一実施形態による映像処理装置100は、プロセッサ120及びメモリ130を含む。
本発明の一実施形態によるプロセッサ120は、メモリ130に保存される1以上のプログラムを実行することができる。
プロセッサ120は、シングルコア、デュアルコア、トリプルコア、クアッドコア、及びその倍数のコアを含んでもよい。
また、プロセッサ120は、複数のプロセッサを含んでもよい。
例えば、プロセッサ120は、メインプロセッサ(main processor;図示せず)、及びスリープモード(sleep mode)で動作するサブプロセッサ(sub processor;図示せず)によっても具現される。
一実施形態によるメモリ130は、映像処理装置100を駆動して制御するための多様なデータ、プログラム又はアプリケーションを保存することができる。
また、メモリ130に保存されるプログラムは、1以上のインストラクションを含み得る。
メモリ130に保存されたプログラム(1以上のインストラクション)又はアプリケーションは、プロセッサ120によって実行される。
一実施形態によるプロセッサ120は、メモリ130に保存される1以上のインストラクションを実行することにより、メインニューラルネットワークを利用して第1映像を処理する。
このとき、メインニューラルネットワークは、予め設定された目的により、映像を処理するように学習されたモデルである。
また、メインニューラルネットワークは、複数の畳み込み層を含む畳み込みニューラルネットワークである。
例えば、メインニューラルネットワークは、入力された映像に、予め設定されたスタイルを適用し、スタイルが変換された映像を出力するように学習されたモデルである。
又は、メインニューラルネットワークは、入力された低解像度の映像を高解像度映像に変換し、変換された高解像度映像を出力するように学習されたモデルである。
ただし、それらに限定されるものではない。
プロセッサ120は、メインニューラルネットワークを利用して入力された第1映像を処理し、最終出力映像(第2映像)を取得する。
プロセッサ120は、第1映像の処理過程で出力される中間結果データを取得し、取得された中間結果データを、サブニューラルネットワークを利用して処理する。
プロセッサ120は、サブニューラルネットワークを利用して中間結果データを処理することにより、最終出力映像(第2映像)と異なる中間出力映像(第3映像)を取得する。
このとき、メインニューラルネットワークが、予め設定されたスタイルを適用するように学習されたモデルである場合、最終出力映像と中間出力映像とにスタイルが適用された程度が異なる。
例えば、中間出力映像にスタイルが適用された程度が、最終出力映像にスタイルが適用された程度よりも低い。
ただし、それに限定されるものではない。
一方、プロセッサ120は、第1映像(入力映像)から中間出力映像を生成するのに所要する時間(第1時間)と、第1映像から最終出力映像を生成するのに所要する時間(第2時間)とを予測する。
また、プロセッサ120は、予測された第1時間と第2時間との差を予め設定された時間と比較することにより、サブニューラルネットワークを利用して中間出力映像を生成するか否かを決定する。
また、プロセッサ120は、現在時点から中間出力映像を生成するのに所要する時間、又は最終出力映像を生成するのに所要する時間をディスプレイに表示するように制御する。
また、プロセッサ120は、ユーザ入力に基づいて、最終出力映像が生成される前に、メインニューラルネットワークを利用した第1映像の処理を終了することができる。
プロセッサ120は、ユーザに中間出力映像を提供する間、ユーザインターフェースを介して、ユーザが第1映像を処理する前に中断できるようにする。
例えば、中間出力映像が表示された状態で、映像処理中断要請を受信すれば、プロセッサ120は、メインニューラルネットワークでの第1映像に対する映像処理を中断する。
それにより、プロセッサ120は、次の中間出力映像及び最終出力映像を生成しない。
図15は、本発明の一実施形態によるプロセッサの概略構成を示すブロック図である。
図15を参照すると、本発明の一実施形態によるプロセッサ120は、データ学習部1410(learn)及びデータ処理部1420を含む。
データ学習部1410は、一実施形態によるメインニューラルネットワーク及びサブニューラルネットワークを学習させるために、予め設定された目的による映像処理の基準を学習することができる。
例えば、データ学習部1410は、入力映像に、予め設定されたスタイルを適用するために、入力映像のいかなる情報(例えば、特徴情報)を利用するかということに関係する基準を学習する。
また、データ学習部1410は、映像の特徴情報を利用し、いかに予め設定されたスタイルを適用するかということに関係する基準を学習する。
データ学習部1410は、学習に利用されるデータ(例えば、映像)を取得し、取得されたデータを、データ処理モデル(メインニューラルネットワーク及びサブニューラルネットワーク)に適用することにより、入力映像に、予め設定されたスタイルを適用するための基準を学習することができる。
データ処理モデル(例えば、メインニューラルネットワーク及びサブニューラルネットワーク)は、認識モデルの適用分野、学習の目的、又は装置のコンピュータ性能などを考慮して構築される。
データ処理モデルは、例えば、神経網(neural network)をベースとするモデルである。
例えば、DNN(Deep Neural Network)、RNN(Recurrent Neural Network)、BRDNN(Bidirectional Recurrent Deep Neural Network)のようなモデルが、データ処理モデルとして使用されるが、それらに限定されるものではない。
また、データ学習部1410は、例えば、エラー逆伝播法(error back-propagation)又は傾斜下降法(gradient descent)を含む学習アルゴリズムなどを利用してデータ処理モデルを学習させることができる。
また、データ学習部1410は、例えば、学習データを入力値にする指導学習(supervised learning)を介して、データ処理モデルを学習させることができる。
また、データ学習部1610は、例えば、これといった指導もなしに、データ処理のために、必要なデータの種類を自ら学習することにより、データ処理のための基準を見い出す、非指導学習(unsupervised learning)を介し、データ処理モデルを学習させることができる。
また、データ学習部1610は、例えば、学習による結果値が正しいか否かに関係するフィードバックを利用する強化学習(reinforcement learning)を介し、データ処理モデルを学習させることができる。
また、データ処理モデルが学習されれば、データ学習部1410は、学習されたデータ処理モデルを保存する。
その場合、データ学習部1410は、学習されたデータ処理モデルを、映像処理装置のメモリに保存する。
又は、データ学習部1410は、学習されたデータ処理モデルを、映像処理装置と、有線又は無線のネットワークで接続されたサーバのメモリに保存することもできる。
その場合、学習されたデータ処理モデルが保存されるメモリは、例えば、映像処理装置の少なくとも1つの他の構成要素に関係する命令又はデータを共に保存することもできる。
また、メモリは、ソフトウェア及び/又はプログラムを保存することもできる。
プログラムは、例えば、カーネル、ミドルウェア、アプリケーションプログラミングインターフェース(API)及び/又はアプリケーションプログラム(又は、「アプリケーション」)などを含み得る。
データ処理部1420は、学習されたメインニューラルネットワークを含むデータ処理モデルに映像を入力し、データ処理モデルは、結果値として、予め設定された目的によって処理された映像を出力する。
例えば、データ処理モデルは、入力映像に予め設定されたスタイルが適用された映像を出力する。
また、出力された結果値(映像)は、メインニューラルネットワーク及びサブニューラルネットワークを含むデータ処理モデルをアップデートするのにも利用される。
データ学習部1410及びデータ処理部1420の内の少なくとも一つは、少なくとも1つのハードウェアチップ形態に作製され、映像処理装置に搭載される。
例えば、データ学習部1410及びデータ処理部1420の内の少なくとも一つは、人工知能(artificial intelligence:AI)のための専用ハードウェアチップ形態に作製され、又は既存の汎用プロセッサ(例えば、CPU又はapplication processor)又はグラフィック専用プロセッサ(例えば、GPU)の一部として作製され、前述の各種映像処理装置に搭載される。
その場合、データ学習部1410及びデータ処理部1420は、1つの映像処理装置に搭載されるか、又は別個の映像処理装置にもそれぞれ搭載される。
例えば、データ学習部1410及びデータ処理部1420の内の一つは、映像処理装置に含まれ、残りの一つは、サーバに含まれる。
また、データ学習部1410及びデータ処理部1420は、有線又は無線で通じ、データ学習部1410が構築したモデル情報を、データ処理部1420に提供することもでき、データ処理部1420に入力されたデータが、追加学習データとして、データ学習部1410にも提供される。
一方、データ学習部1410及びデータ処理部1420の内の少なくとも一つは、ソフトウェアモジュールによっても具現され得る。
データ学習部1410及びデータ処理部1420の内の少なくとも一つが、ソフトウェアモジュール(又は、インストラクション(instruction)含むプログラムモジュール)によって具現される場合、ソフトウェアモジュールは、コンピュータで読み取り可能な非一時的可読記録媒体(non-transitory computer readable media)に保存される。
また、その場合、少なくとも1つのソフトウェアモジュールは、OS(Operating System)によって提供されるか、あるいは所定のアプリケーションによっても提供され得る。
又は、少なくとも1つのソフトウェアモジュールの内の一部は、OSによって提供され、残り一部は、所定のアプリケーションによって提供され得る。
図16は、本発明の一実施形態による映像処理装置及びサーバが互いに連動することにより、データを学習して認識する例を説明するための図である。
図16を参照すると、サーバ2000は、予め設定された目的による映像処理の基準を学習し、メインニューラルネットワーク又はサブニューラルネットワークを学習させる。
その場合、サーバ2000は、図15に示したデータ学習部1410の機能を実行する。
サーバ2000は、予め設定された目的により、入力映像を処理するために、いかなる学習データを利用しなければならないかということに関係する基準を学習することもできる。
また、サーバ2000は、データを利用し、予め設定された目的により、映像を処理するための基準を学習することができる。
また、サーバ2000は、メインニューラルネットワーク及びサブニューラルネットワークの内の少なくとも一つを、学習データを利用して学習させることができる。
また、映像処理装置100は、データをサーバ2000に伝送し、サーバ2000がデータを、データ処理モデル(メインニューラルネットワーク及びサブニューラルネットワーク)に適用して処理することを要請することができる。
例えば、サーバ2000は、データ処理モデル(メインニューラルネットワーク及びサブニューラルネットワーク)を利用して予め設定された目的により、映像を処理する。
例えば、サーバ2000は、入力された映像に、予め設定されたスタイルを適用し、スタイルが変換された映像を出力する。
又は、映像処理装置100は、サーバ2000によって生成されたデータ処理モデルをサーバ2000から受信し、受信されたデータ処理モデルを利用してデータを処理することができる。
例えば、映像処理装置100は、受信されたデータ処理モデル(メインニューラルネットワーク及びサブニューラルネットワーク)を利用して予め設定された目的により、映像を処理する。
例えば、映像処理装置100は、入力された映像に、予め設定されたスタイルを適用し、スタイルが変換された映像を出力する。
図17は、本発明の他の実施形態による映像処理装置の構成を示すブロック図である。
図17の映像処理装置1700は、図14の映像処理装置100の一実施形態である。
図17を参照すると、本発明の一実施形態による映像処理装置1700は、チューナ部1740、制御部1710、ディスプレイ部1720、通信部1750、感知部1730、入出力部1770、ビデオ処理部1780、オーディオ処理部1715、オーディオ出力部1725、保存部1790、及び電源部1760を含む。
チューナ部1740は、有線又は無線で受信される放送信号に対し、増幅(amplification)、混合(mixing)、共振(resonance)などを介して、多くの電波成分のうち、映像処理装置1700で受信しようとするチャネルの周波数のみをチューニング(tuning)して選択する。
放送信号は、オーディオ(audio)、ビデオ(video)、及び付加情報(例えば、EPG(electronic program guide))を含む。
チューナ部1740は、ユーザ入力(例えば、制御装置から受信される制御信号、例えば、チャネル番号入力、チャネルのアップ/ダウン(up/down)入力、及びEPG画面でのチャネル入力)により、チャネル番号に対応する周波数帯域において、放送信号を受信する。
チューナ部1740は、地上波放送、ケーブル放送、衛星放送、インターネット放送のような多様なソースから、放送信号を受信することができる。
チューナ部1740は、アナログ放送又はデジタル放送のようなソースから、放送信号を受信することもできる。
通信部1750は、制御部1710の制御により、外部装置又はサーバと、データ又は信号を送受信する。
制御部1710は、通信部1750を介して接続された外部装置に、又は外部装置からコンテンツを送/受信したり、外部装置からアプリケーション(Application)をダウンロードしたり、ウェブブラウジングをしたりすることを制御する。
通信部1750は、映像処理装置1700の性能及び構造に対応して無線LAN1751、例えば、Wi-Fi(wireless fidelity)、ブルートゥース(登録商標)(Bluetooth(登録商標))1752、及び有線イーサネット(登録商標)(Ethernet)1753の内の少なくとも1つの方式により、データ又は信号を送受信する。
ビデオ処理部1780は、映像処理装置1700が受信したビデオデータに対する処理を行う。
ビデオ処理部1780においては、ビデオデータに対するデコーディング、スケーリング、ノイズフィルタリング、フレームレート変換、解像度変換のような多様なイメージ処理を行う。
感知部1730は、ユーザの音声、ユーザの映像、又はユーザのインタラクションを感知し、マイク1731、カメラ部1732、及び光受信部1733を含む。
マイク1731は、ユーザの発話(utterance)された音声を受信する。
マイク1731は、受信した音声を電気信号に変換し、制御部1710に出力する。
ユーザ音声は、例えば、映像処理装置1700のメニュー又は機能に対応する音声を含み得る。
カメラ部1732は、カメラ認識範囲において、ジェスチャを含むユーザのモーションに対応する映像(例えば、連続フレーム)を受信する。
制御部1710は、受信したモーションの認識結果を利用して映像処理装置1700に表示されるメニューを選択したり、モーション認識結果に対応する制御を行ったりする。
光受信部1733は、外部の制御装置から受信した光信号(制御信号を含む)をディスプレイ部1720のベゼルの光窓(図示せず)などを介して受信する。
光受信部1733は、制御装置から、ユーザ入力(例えば、タッチ、押し(プッシュ)、タッチジェスチャ、音声、又はモーション)に対応する光信号を受信する。
受信した光信号から、制御部1710の制御により、制御信号が抽出される。
入出力部1770は、制御部1710の制御により、映像処理装置1700の外部から、ビデオ(例えば、動画など)、オーディオ(例えば、音声、音楽など)及び付加情報(例えば、EPGなど)などを受信する。
入出力部1770は、HDMI(登録商標)ポート(high-definition multimedia interface port)1771、コンポーネントジャック(component jack)1772、PC(personal computer)ポート1773、及びUSB(universal serial bus)ポート1774の内の一つ以上を含み得る。
入出力部1770は、HDMI(登録商標)ポート1771、コンポーネントジャック1772、PCポート1773、及びUSBポート1774の組み合わせを含み得る。
制御部1710は、映像処理装置1700の全般的な動作、及び映像処理装置1700の内部構成要素間の信号フローを制御し、データを処理する機能を実行する。
制御部1710は、ユーザの入力があるか、あるいは予め設定された保存条件を満足する場合、保存部1790に保存されたOS(operating system)、及び多様なアプリケーションを実行する。
制御部1710は、映像処理装置1700の外部から入力される信号又はデータを保存したり、映像処理装置1700で実行される多様な作業に対応する、保存領域で使用されるRAM(random access memory)1781、映像処理装置1700の制御のための制御プログラムが保存されたROM(read-only memory)1782、プロセッサ1783、第1~第nインターフェース(1785-1~1785-n)、及びグラフィック処理部1784を含み得る。
グラフィック処理部1784は、演算部(図示せず)及びレンダリング部(図示せず)を利用してアイコン、イメージ、テキストのような多様な客体(オブジェクト)を含む画面を生成する。
演算部は、感知部1730を介して感知されたユーザ入力を利用して画面のレイアウトにより、各客体が表示される座標値、形態、大きさ、カラーのような属性値を演算する。
レンダリング部は、演算部で演算した属性値に基づいて、客体を含む多様なレイアウトの画面を生成する。
レンダリング部で生成された画面は、ディスプレイ部1720のディスプレイ領域内に表示される。
第1インターフェース(1785-1)~第nインターフェース(1785-n)は、前述の各種構成要素と接続される。
インターフェースの内の一つは、ネットワークを介して、外部装置と接続されるネットワークインターフェースにもなる。
RAM1781、ROM1782、プロセッサ1783、グラフィック処理部1784、第1インターフェース(1785-1)~第nインターフェース(1785-n)は、内部バス(bus)1786を介して、相互接続される。
本実施形態において、「映像処理装置の制御部」という用語は、プロセッサ1783、ROM1782及びRAM1781を含む。
ディスプレイ部1720は、制御部1710で処理された映像信号、データ信号、OSD(on-screen display)信号、制御信号などを変換し、駆動信号を生成する。
ディスプレイ部1720は、PDP(plasma display panel)、LCD(liquid crystal display)、OLED(organic light emitting diode)、フレキシブルディスプレイ(flexible display)などによっても具現され、また、三次元ディスプレイ(3D display)によっても具現される。
また、ディスプレイ部1720は、タッチスクリーンによって構成され、出力装置以外に、入力装置として使用することも可能である。
オーディオ処理部1715は、オーディオデータに対する処理を行う。
オーディオ処理部1715においては、オーディオデータに対するデコーディング、増幅、ノイズフィルタリングのような多様な処理が行われる。
一方、オーディオ処理部1715は、複数のコンテンツに対応するオーディオを処理するために、複数のオーディオ処理モジュールを具備し得る。
オーディオ出力部1725は、制御部1710の制御により、チューナ部1740を介して受信された放送信号に含まれたオーディオを出力する。
オーディオ出力部1725は、通信部1750又は入出力部1770を介して入力されるオーディオ(例えば、音声、サウンド)を出力する。
また、オーディオ出力部1725は、制御部1710の制御により、保存部1790に保存されたオーディオを出力する。
オーディオ出力部1725は、スピーカ1726、ヘッドフォン出力端子1727、又はS/PDIF(Sony(登録商標)/Philips(登録商標) Digital Interface)出力端子1728の内の少なくとも一つを含み得る。
オーディオ出力部1725は、スピーカ1726、ヘッドフォン出力端子1727、及びS/PDIF出力端子1728の組み合わせを含み得る。
電源部1760は、映像処理装置1700内部の構成要素であり、制御部1710の制御により、外部の電源ソースから入力される電源を供給する。
また、電源部1760は、制御部1710の制御により、映像処理装置1700内部に位置する1又は2以上のバッテリ(図示せず)から出力される電源を内部の構成要素に供給することもできる。
保存部1790は、制御部1710の制御により、映像処理装置1700を駆動して制御するための多様なデータ、プログラム又はアプリケーションを保存する。
保存部1790は、図に示していない放送受信モジュール、チャネル制御モジュール、ボリューム制御モジュール、通信制御モジュール、音声認識モジュール、モーション認識モジュール、光受信モジュール、ディスプレイ制御モジュール、オーディオ制御モジュール、外部入力制御モジュール、電源制御モジュール、無線(例えば、ブルートゥース(登録商標)(Bluetooth(登録商標)))で接続される外部装置の電源制御モジュール、音声データベース(DB)、又はモーションデータベース(DB)を含み得る。
保存部1790の図に示していないモジュール、及びデータベースは、映像処理装置1700において、放送受信の制御機能、チャネル制御機能、ボリューム制御機能、通信制御機能、音声認識機能、モーション認識機能、光受信制御機能、ディスプレイ制御機能、オーディオ制御機能、外部入力制御機能、電源制御機能、又は無線(例えば、ブルートゥース(登録商標)(Bluetooth(登録商標)))で接続される外部装置の電源制御機能を実行するために、ソフトウェア形態でも具現され得る。
制御部1710は、保存部1790に保存されたそれらのソフトウェアを利用し、それぞれの機能を実行することができる。
一方、図14及び図17に示した映像処理装置(100、1700)のブロック図は、本発明の一実施形態のためのブロック図である。
ブロック図の各構成要素は、実際に具現される映像処理装置(100、1700)の仕様により、統合、追加又は省略される。
すなわち、必要により、2以上の構成要素が1つの構成要素に合わされたり、1つの構成要素が2以上の構成要素に細分されて構成されたりもする。
また、各ブロックで実行する機能は、実施形態について説明するためのものであり、その具体的な動作や装置は、本発明の権利範囲を制限するものではない。
本発明の一実施形態による映像処理装置の動作方法は、多様なコンピュータ手段を介して実行されるプログラム命令形態によって具現され、コンピュータ読取可能記録媒体に記録される。
コンピュータ読取可能記録媒体は、プログラム命令、データファイル、データ構造などを、単独又は組み合わせて含み得る。
コンピュータ読取可能記録媒体に記録されるプログラム命令は、本発明のために特別に設計されて構成されたものであってもよく、コンピュータソフトウェア当業者に公知されて使用可能なものであってもよい。
コンピュータ読取可能記録媒体の例としては、ハードディスク、フロッピィーディスク(登録商標)及び磁気テープのような磁気媒体(magnetic media)、CD-ROM(compact disc read only memory)、DVD(digital versatile disc)のような光記録媒体(optical media)、フロプティカルディスク(floptical disk)のような磁気・光媒体(magneto-optical media)、及びROM、RAM、フラッシュメモリのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。
プログラム命令の例には、コンパイラによって作われるような機械語コードだけではなく、インタープリタなどを使用し、コンピュータによって実行される高級言語コードを含む。
また、開示した実施形態による電子装置、又は電子装置の動作方法は、コンピュータプログラム製品(computer program product)に含まれても提供される。
コンピュータプログラム製品は、商品として、販売者及び購買者の間で取り引きされる。
コンピュータプログラム製品は、S/W(ソフトウェア)プログラム、S/Wプログラムが保存されたコンピュータ読取可能記録媒体を含んでもよい。
例えば、コンピュータプログラム製品は、電子装置のメーカー又は電子マーケット(例えば、Google(登録商標)プレイストア、アプリストア)を介して、電子的に配布されるS/Wプログラム形態の商品(例えば、ダウンローダブルアプリ)を含んでもよい。
電子的配布のために、S/Wプログラムの少なくとも一部は、記録媒体に保存されるか、あるいは臨時的にも生成される。
その場合、記録媒体は、メーカーのサーバ、電子マーケットのサーバ、又はSWプログラムを臨時的に保存する中継サーバの記録媒体にもなる。
コンピュータプログラム製品は、サーバ及びクライアント装置で構成されるシステムにおいて、サーバの記録媒体、又はクライアント装置の記録媒体を含んでもよい。
又は、サーバ又はクライアント装置と通信接続される第3の装置(例えば、スマートフォン)が存在する場合、コンピュータプログラム製品は、第3の装置の記録媒体を含んでもよい。
又は、コンピュータプログラム製品は、サーバから、クライアント装置又は第3の装置に伝送されたり、第3の装置からクライアント装置に伝送されたりするS/Wプログラム自体を含んでもよい。
その場合、サーバ、クライアント装置、及び第3の装置の内の一つが、コンピュータプログラム製品を実行して開示した実施形態による方法を実行することができる。
又は、サーバ、クライアント装置、及び第3の装置の内の2以上が、コンピュータプログラム製品を実行して開示した実施形態による方法を分散させて実施することもできる。
例えば、サーバ(例えば、クラウドサーバ又は人工知能サーバなど)が、サーバに保存されたコンピュータプログラム製品を実行し、サーバと通信接続されたクライアント装置が、開示した実施形態による方法を実行するように制御することができる。
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
本発明に係る映像処理装置及びその動作方法は、例えば、映像処理関連の技術を含む多様な電子装置に好適に使用される。
10 入力された映像
15 予め設定されたスタイル
20 最終出力映像
30 中間出力映像
100、1700 映像処理装置
120 プロセッサ
130 メモリ
200、1100 メインニューラルネットワーク
210、220 (第1、第2)畳み込み層
300、2050 サブニューラルネットワーク
301~304 (第1~第4)サブニューラルネットワーク
310、710 第1映像(入力データ)
320、720 第2映像((最終)出力映像)
330 第3映像(処理されたデータ)
451、510、610 入力データ
452 N層の畳み込み層
453、540、640 (第1)出力データ
530、630 1以上のカーネル(第1カーネル)
705 予め設定されたスタイル
1110、1120 (第1、第2)サブニューラルネットワーク
1310 映像特徴抽出部
1320 スタイル分析部
1330 コンテンツ分析部
1340 ネットワーク更新部
1410 データ学習部
1420 データ処理部
2000 サーバ

Claims (15)

  1. 映像処理装置であって、
    1以上のインストラクション(Instruction)、及びメインニューラルネットワーク(Main Neural Network)とサブニューラルネットワーク(Sub Neural Network)とに関係するデータ構造を保存するメモリと、
    前記メモリに保存された前記1以上のインストラクションを実行するプロセッサと、を有し、
    前記プロセッサは、入力層、出力層、及び前記入力層と前記出力層との間の複数の隠れ層を含む前記メインニューラルネットワークを利用して前記メインニューラルネットワークに入力された入力映像を処理して前記複数の隠れ層の内の1つから中間結果データを取得し
    最終出力映像を獲得するために、前記入力映像が、前記メインニューラルネットワークによって処理される間、前記中間結果データを、前記サブニューラルネットワークを利用して処理することにより、中間映像を出力し、
    前記サブニューラルネットワークは、1以上の畳み込み層を含むことを特徴とする映像処理装置。
  2. 前記メインニューラルネットワークは、前記複数の隠れ層である複数の畳み込み層(Convolution Layer)を含み、
    前記プロセッサは、前記複数の畳み込み層内の1以上のカーネルを利用して第1畳み込み演算を行うことにより、特徴情報を抽出し、
    前記抽出された特徴情報に基づいて、前記中間結果データを出力することを特徴とする請求項1に記載の映像処理装置。
  3. 記プロセッサは、前記サブニューラルネットワークに含まれる前記1以上の畳み込み層において、前記中間結果データに1以上のカーネルを適用して第2畳み込み演算を行うことにより、特徴情報を抽出し、
    抽出された前記特徴情報に基づいて、前記中間映像を生成することを特徴とする請求項1に記載の映像処理装置。
  4. 前記最終出力映像を生成することを特徴とする請求項1に記載の映像処理装置。
  5. 前記メインニューラルネットワークは、前記入力映像に予め設定されたスタイルを適用して前記最終出力映像を生成するように学習される(trained)ネットワークであり、
    前記中間映像は、前記最終出力映像より、前記予め設定されたスタイルが適用された程度が低いことを特徴とする請求項4に記載の映像処理装置。
  6. 前記メインニューラルネットワークを利用して前記入力映像から、前記最終出力映像を生成する第1時間は、前記サブニューラルネットワークを利用して前記入力映像から、前記中間映像を生成する第2時間より長いことを特徴とする請求項4に記載の映像処理装置。
  7. 前記プロセッサは、前記第1時間及び第2時間を予測し、
    前記予測された第1時間及び第2時間に基づいて、前記サブニューラルネットワークを利用して前記中間映像を生成するか否かを決定することを特徴とする請求項6に記載の映像処理装置。
  8. 前記映像処理装置は、ディスプレイをさらに有し、
    前記プロセッサは、現在時点から、前記中間映像及び前記最終出力映像の内の少なくとも一つを生成するのに所要する時間を、前記ディスプレイに表示するように制御することを特徴とする請求項4に記載の映像処理装置。
  9. 前記プロセッサは、ユーザ入力に基づいて、前記最終出力映像が生成される前に、前記入力映像の処理を中断することを特徴とする請求項4に記載の映像処理装置。
  10. 映像処理装置の動作方法であって、
    入力層、出力層、及び前記入力層と前記出力層との間の複数の隠れ層を含むメインニューラルネットワークを利用して前記メインニューラルネットワークに入力された入力映像を処理する段階と、
    前記入力映像の処理過程で前記複数の隠れ層の内の1つから中間結果データを取得する段階と、
    最終出力映像を獲得するために前記入力映像が前記メインニューラルネットワークによって処理される間、前記中間結果データを、サブニューラルネットワークを用いて処理することで、中間映像を出力する段階と、を有し、
    前記サブニューラルネットワークは、1つ以上の畳み込み層を含むことを特徴とする映像処理装置の動作方法。
  11. 前記メインニューラルネットワークは、複数の隠れ層である複数の畳み込み層を含み、
    前記メインニューラルネットワークを利用して入力映像を処理する段階は、前記複数の畳み込み層内の1以上のカーネルを利用して前記入力映像に関係する第1畳み込み演算を行うことにより、特徴情報を抽出する段階を含み、
    前記中間結果データを取得する段階は、前記特徴情報に基づいて、前記中間結果データを生成する段階を含むことを特徴とする請求項10に記載の映像処理装置の動作方法。
  12. 記中間映像を出力する段階は、前記中間結果データに、前記1以上の畳み込み層内の1以上のカーネルを適用して第2畳み込み演算を行うことにより、特徴情報を抽出する段階と、
    抽出された前記特徴情報に基づいて、前記中間映像を生成する段階と、を含むことを特徴とする請求項10に記載の映像処理装置の動作方法。
  13. 前記映像処理装置の動作方法は、前記最終出力映像を出力する段階をさらに有することを特徴とする請求項10に記載の映像処理装置の動作方法。
  14. 前記メインニューラルネットワークは、前記入力映像に予め設定されたスタイルを適用して前記最終出力映像を生成するように学習されたネットワークであり、
    前記中間映像は、前記最終出力映像より、前記予め設定されたスタイルが適用された程度が低いことを特徴とする請求項13に記載の映像処理装置の動作方法。
  15. 前記メインニューラルネットワークを利用して前記入力映像から前記最終出力映像を生成する第1時間は、前記サブニューラルネットワークを利用して前記入力映像から前記中間映像を生成する第2時間より長いことを特徴とする請求項13に記載の映像処理装置の動作方法。
JP2019200151A 2018-11-16 2019-11-01 映像処理装置及びその動作方法 Active JP7466289B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0141951 2018-11-16
KR1020180141951A KR20200063289A (ko) 2018-11-16 2018-11-16 영상 처리 장치 및 그 동작방법

Publications (2)

Publication Number Publication Date
JP2020087449A JP2020087449A (ja) 2020-06-04
JP7466289B2 true JP7466289B2 (ja) 2024-04-12

Family

ID=70728171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019200151A Active JP7466289B2 (ja) 2018-11-16 2019-11-01 映像処理装置及びその動作方法

Country Status (5)

Country Link
US (1) US11132775B2 (ja)
JP (1) JP7466289B2 (ja)
KR (1) KR20200063289A (ja)
CN (1) CN111199269A (ja)
WO (1) WO2020101143A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111127304B (zh) * 2018-10-31 2024-02-20 微软技术许可有限责任公司 跨域图像转换
US11763155B2 (en) * 2019-08-12 2023-09-19 Advanced Micro Devices, Inc. Using sub-networks created from neural networks for processing color images
US11145042B2 (en) * 2019-11-12 2021-10-12 Palo Alto Research Center Incorporated Using convolutional neural network style transfer to automate graphic design creation
KR102439845B1 (ko) * 2019-12-27 2022-09-02 주식회사 코어라인소프트 의료용 인공 신경망 기반 사용자 선호 스타일을 제공하는 의료 영상 판독 지원 장치 및 방법
JP7420607B2 (ja) * 2020-03-19 2024-01-23 本田技研工業株式会社 情報処理装置、情報処理方法、車両、情報処理サーバ、及びプログラム
KR20220000758A (ko) * 2020-06-26 2022-01-04 삼성전자주식회사 영상 검출 장치 및 그 동작 방법
CN111862255A (zh) * 2020-07-17 2020-10-30 上海联影医疗科技有限公司 正则化图像重建方法、系统、可读存储介质和设备
KR102417967B1 (ko) * 2020-10-27 2022-07-05 연세대학교 산학협력단 다중 출력 아키텍처를 통한 점진적 초해상도 영상 변환 장치 및 방법
CN112884706B (zh) * 2021-01-13 2022-12-27 北京智拓视界科技有限责任公司 一种基于神经网络模型的图像评估系统和相关产品
GB2604640A (en) * 2021-03-12 2022-09-14 Samsung Electronics Co Ltd Performing a processing task instructed by an application
EP4264502A1 (en) * 2021-07-06 2023-10-25 Samsung Electronics Co., Ltd. Method and electronic device for generating optimal neural network (nn) model
US20230419181A1 (en) * 2022-04-26 2023-12-28 Mahendrajeet Singh Machine learning using structurally dynamic cellular automata

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180293707A1 (en) 2017-04-10 2018-10-11 Samsung Electronics Co., Ltd. System and method for deep learning image super resolution

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295227A (en) * 1991-07-09 1994-03-15 Fujitsu Limited Neural network learning system
US10339921B2 (en) * 2015-09-24 2019-07-02 Google Llc Multichannel raw-waveform neural networks
WO2017129325A1 (en) * 2016-01-29 2017-08-03 Fotonation Limited A convolutional neural network
US9760690B1 (en) * 2016-03-10 2017-09-12 Siemens Healthcare Gmbh Content-based medical image rendering based on machine learning
JP6727543B2 (ja) * 2016-04-01 2020-07-22 富士ゼロックス株式会社 画像パターン認識装置及びプログラム
WO2017187516A1 (ja) * 2016-04-26 2017-11-02 株式会社日立製作所 情報処理システムおよびその運用方法
US10402697B2 (en) * 2016-08-01 2019-09-03 Nvidia Corporation Fusing multilayer and multimodal deep neural networks for video classification
EP3507773A1 (en) * 2016-09-02 2019-07-10 Artomatix Ltd. Systems and methods for providing convolutional neural network based image synthesis using stable and controllable parametric models, a multiscale synthesis framework and novel network architectures
US11080591B2 (en) * 2016-09-06 2021-08-03 Deepmind Technologies Limited Processing sequences using convolutional neural networks
US10726330B2 (en) * 2016-10-11 2020-07-28 The Research Foundation For The State University Of New York System, method, and accelerator to process convolutional neural network layers
JP6929047B2 (ja) * 2016-11-24 2021-09-01 キヤノン株式会社 画像処理装置、情報処理方法及びプログラム
KR20180075913A (ko) * 2016-12-27 2018-07-05 삼성전자주식회사 신경망 연산을 이용한 입력 처리 방법 및 이를 위한 장치
KR102642853B1 (ko) * 2017-01-05 2024-03-05 한국전자통신연구원 컨볼루션 회로, 그것을 포함하는 어플리케이션 프로세서 및 그것의 동작 방법
CN107133948B (zh) * 2017-05-09 2020-05-08 电子科技大学 基于多任务卷积神经网络的图像模糊与噪声评测方法
EP3631690A4 (en) * 2017-05-23 2021-03-31 Intel Corporation METHOD AND DEVICE FOR IMPROVING A NEURAL NETWORK USING BINARY TENSOR AND SCALE FACTOR PAIRS
US10832387B2 (en) * 2017-07-19 2020-11-10 Petuum Inc. Real-time intelligent image manipulation system
US10706890B2 (en) * 2017-08-24 2020-07-07 Intel Corporation Cinematic space-time view synthesis for enhanced viewing experiences in computing environments
KR101897923B1 (ko) * 2017-09-20 2018-10-31 한국전력공사 신경망 학습 모델 기반 추적 객체 추출 서비스 제공 시스템, 이의 방법, 그리고 이 방법을 저장한 컴퓨터 판독 가능 저장 매체
CN107767343B (zh) * 2017-11-09 2021-08-31 京东方科技集团股份有限公司 图像处理方法、处理装置和处理设备
US10546389B2 (en) * 2018-04-06 2020-01-28 Elekta Ab (Publ) Devices and methods for identifying an object in an image

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180293707A1 (en) 2017-04-10 2018-10-11 Samsung Electronics Co., Ltd. System and method for deep learning image super resolution

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Leon A. Gatys, Alexander S. Ecker, Matthias Bethge,A Neural Algorithm of Artistic Style,arXiv [online],2015年09月02日,p1-16,https://arxiv.org/abs/1508.06576

Also Published As

Publication number Publication date
JP2020087449A (ja) 2020-06-04
KR20200063289A (ko) 2020-06-05
US11132775B2 (en) 2021-09-28
CN111199269A (zh) 2020-05-26
WO2020101143A1 (en) 2020-05-22
US20200160494A1 (en) 2020-05-21

Similar Documents

Publication Publication Date Title
JP7466289B2 (ja) 映像処理装置及びその動作方法
EP3690644B1 (en) Electronic device and operation method therefor
US11126140B2 (en) Electronic device, external device capable of being combined with the electronic device, and a display method thereof
US11831948B2 (en) Video playback device and control method thereof
KR102476239B1 (ko) 전자 장치, 영상 처리 방법 및 컴퓨터 판독가능 기록 매체
KR20200036084A (ko) 애플리케이션의 번역 정보를 제공하는 디바이스 및 방법
US11895375B2 (en) Display device and operation method thereof
US20190163702A1 (en) Image display apparatus and method of operating the same
US11514107B2 (en) Image display apparatus and operation method of the same
KR102535152B1 (ko) 디스플레이 장치 및 디스플레이 장치의 제어 방법
US20220301312A1 (en) Electronic apparatus for identifying content based on an object included in the content and control method thereof
US11184670B2 (en) Display apparatus and control method thereof
US10997947B2 (en) Electronic device and control method thereof
EP3738305B1 (en) Electronic device and control method thereof
KR20210153386A (ko) 멀티미디어 컨텐츠를 생성하는 디스플레이 장치 및 그 동작방법
US20220164923A1 (en) Electronic apparatus and controlling method thereof
EP3850828B1 (en) Electronic device and method of controlling thereof
US20230114954A1 (en) Display device and operating method of the same
US11961512B2 (en) System and method for providing voice assistance service
US20230316470A1 (en) Method for correcting image by device and device therefor
KR20230050127A (ko) 디스플레이 장치 및 그 동작방법
KR20230059029A (ko) 전자 장치 및 그 동작 방법
KR20210032247A (ko) 디스플레이 장치 및 이의 영상 처리 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231024

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: 20240305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240402