(57)【要約】【課題】メインニューラルネットワーク及びサブニューラルネットワークを利用して中間出力映像を生成することができる映像処理装置及びその動作方法を提供する。【解決手段】本発明による映像処理装置は、１１以上のインストラクション、及びメインニューラルネットワークとサブニューラルネットワークとに関係するデータ構造を保存するメモリと、前記メモリに保存された前記１以上のインストラクションを実行するプロセッサと、を有し、前記プロセッサは、前記メインニューラルネットワークを利用して入力映像を処理して中間結果データを取得し、前記入力映像が、前記メインニューラルネットワークを利用して処理される間、前記中間結果データを、前記サブニューラルネットワークを利用して処理することにより、中間映像を出力する。【選択図】図２
2020087449.tif 000002
【特許請求の範囲】
【請求項１】
映像処理装置であって、
１以上のインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎ）、及びメインニューラルネットワーク（Ｍａｉｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）とサブニューラルネットワーク（Ｓｕｂ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）とに関係するデータ構造を保存するメモリと、
前記メモリに保存された前記１以上のインストラクションを実行するプロセッサと、を有し、
前記プロセッサは、前記メインニューラルネットワークを利用して入力映像を処理して中間結果データを取得し、
前記入力映像が、前記メインニューラルネットワークを利用して処理される間、前記中間結果データを、前記サブニューラルネットワークを利用して処理することにより、中間映像を出力することを特徴とする映像処理装置。
【請求項２】
前記メインニューラルネットワークは、複数の第１畳み込み層（Ｃｏｎｖｏｌｕｔｉｏｎ  Ｌａｙｅｒ）を含み、
前記プロセッサは、前記複数の第１畳み込み層内の１以上のカーネルを利用して第１畳み込み演算を行うことにより、特徴情報を抽出し、
前記抽出された特徴情報に基づいて、前記中間結果データを出力することを特徴とする請求項１に記載の映像処理装置。
【請求項３】
前記サブニューラルネットワークは、１以上の第２畳み込み層を含み、
前記プロセッサは、前記１以上の第２畳み込み層において、前記中間結果データに１以上のカーネルを適用して第２畳み込み演算を行うことにより、特徴情報を抽出し、
抽出された前記特徴情報に基づいて、前記中間映像を生成することを特徴とする請求項１に記載の映像処理装置。
【請求項４】
前記プロセッサは、前記メインニューラルネットワークを利用して前記入力映像を処理し、最終出力映像を取得することを特徴とする請求項１に記載の映像処理装置。
【請求項５】
前記メインニューラルネットワークは、前記入力映像に予め設定されたスタイルを適用して前記最終出力映像を生成するように学習される（ｔｒａｉｎｅｄ）ネットワークであり、
前記中間映像は、前記最終出力映像より、前記予め設定されたスタイルが適用された程度が低いことを特徴とする請求項４に記載の映像処理装置。
【請求項６】
前記メインニューラルネットワークを利用して前記入力映像から、前記最終出力映像を生成する第１時間は、前記サブニューラルネットワークを利用して前記入力映像から、前記最終出力映像を生成する第２時間より長いことを特徴とする請求項４に記載の映像処理装置。
【請求項７】
前記プロセッサは、前記第１時間及び第２時間を予測し、
前記予測された第１時間及び第２時間に基づいて、前記サブニューラルネットワークを利用して前記中間映像を生成するか否かを決定することを特徴とする請求項６に記載の映像処理装置。
【請求項８】
前記映像処理装置は、ディスプレイをさらに有し、
前記プロセッサは、現在時点から、前記中間映像及び前記最終出力映像の内の少なくとも一つを生成するのに所要する時間を、前記ディスプレイに表示するように制御することを特徴とする請求項４に記載の映像処理装置。
【請求項９】
前記プロセッサは、ユーザ入力に基づいて、前記最終出力映像が生成される前に、前記入力映像の処理を中断することを特徴とする請求項４に記載の映像処理装置。
【請求項１０】
映像処理装置の動作方法であって、
メインニューラルネットワークを利用して入力映像を処理する段階と、
最終出力映像を取得するために、前記入力映像を処理する間、前記メインニューラルネットワークを利用して前記入力映像から中間結果データを取得する段階と、
サブニューラルネットワークを利用して前記中間結果データに基づく中間映像を生成する段階と、を有することを特徴とする映像処理装置の動作方法。
【請求項１１】
前記メインニューラルネットワークは、複数の第１畳み込み層を含み、
前記メインニューラルネットワークを利用して入力映像を処理する段階は、前記複数の第１畳み込み層内の１以上のカーネルを利用して前記入力映像に関係する第１畳み込み演算を行うことにより、特徴情報を抽出する段階を含み、
前記中間結果データを取得する段階は、前記特徴情報に基づいて、前記中間結果データを生成する段階を含むことを特徴とする請求項１０に記載の映像処理装置の動作方法。
【請求項１２】
前記サブニューラルネットワークは、１以上の第２畳み込み層を含み、
前記中間映像を生成する段階は、前記中間結果データに、前記１以上の第２畳み込み層内の１以上のカーネルを適用して第２畳み込み演算を行うことにより、特徴情報を抽出する段階と、
抽出された前記特徴情報に基づいて、前記中間映像を生成する段階と、を含むことを特徴とする請求項１０に記載の映像処理装置の動作方法。
【請求項１３】
前記映像処理装置の動作方法は、前記メインニューラルネットワークを利用して前記入力映像を処理することにより、前記最終出力映像を生成する段階をさらに有することを特徴とする請求項１０に記載の映像処理装置の動作方法。
【請求項１４】
前記メインニューラルネットワークは、前記入力映像に予め設定されたスタイルを適用して前記最終出力映像を生成するように学習されたネットワークであり、
前記中間映像は、前記最終出力映像より、前記予め設定されたスタイルが適用された程度が低いことを特徴とする請求項１３に記載の映像処理装置の動作方法。
【請求項１５】
前記メインニューラルネットワークを利用して前記入力映像から前記最終出力映像を生成する第１時間は、前記サブニューラルネットワークを利用して前記入力映像から前記中間映像を生成する第２時間より長いことを特徴とする請求項１３に記載の映像処理装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像処理装置及びその動作方法に関し、特に、複数の畳み込み層を含むニューラルネットワークを利用して入力された映像を処理する映像処理装置及びその動作方法に関する。
【背景技術】
【０００２】
人工知能（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ：ＡＩ）システムは、人間レベルの知能を具現するコンピュータシステムであり、既存のルールに基づく（ｒｕｌｅ−ｂａｓｅｄ）スマートシステムと異なり、機械が自ら学習して判断し、賢くなっていくシステムである。
人工知能システムは、使用するほど認識率が向上し、ユーザ趣向をさらに正確に理解することができるようになり、既存のルールに基づくスマートシステムは、だんだんとディープラーニングベースの人工知能システムで代替されていっている。
【０００３】
人工知能技術は、機械学習（例えば、ディープラーニング）、及び機械学習を活用した要素技術によって構成される。
機械学習は、入力データの特徴を自ら分類／学習するアルゴリズム技術であり、ディープラーニングなどの機械学習アルゴリズムを活用し、言語的理解、視覚的理解、推論／予測、知識表現、動作制御のような技術分野によって構成される。
【０００４】
人工知能技術が応用される多様な、分野は次の通りである。
言語的理解は、人間の言語／文字を認識して応用／処理する技術であり、自然語処理、機械翻訳、対話システム、質疑応答、音声認識／合成などを含む。
視覚的理解は、事物を人間の視覚のように認識して処理する技術であり、客体（オブジェクト）認識、客体追跡、映像検索、人認識、場面理解、空間理解、映像改善などを含む。
推論／予測は、情報を判断し、論理的に推論して予測する技術であり、知識／確率ベース推論、最適化予測、選好ベース計画、推薦などを含む。
知識表現は、人間の経験情報を知識データで自動化処理する技術であり、知識構築（データ生成／分類）、知識管理（データ活用）などを含む。
動作制御は、車両の自律走行、ロボットの動きを制御する技術であり、動き制御（航法、衝突、走行）、操作制御（行動制御）などを含む。
【０００５】
人工知能技術の性能向上開発は、常に続けられており、上記視覚的理解の分野である映像処理技術においては、ニューラルネットワークを利用した、さらなる性能向上開発が課題となっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２３２９９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、上記従来の映像処理技術における課題に鑑みてなされたものであって、本発明の目的は、メインニューラルネットワーク及びサブニューラルネットワークを利用して中間出力映像を生成することができる映像処理装置及びその動作方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するためになされた本発明による映像処理装置は、１１以上のインストラクション（Ｉｎｓｔｒｕｃｔｉｏｎ）、及びメインニューラルネットワーク（Ｍａｉｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）とサブニューラルネットワーク（Ｓｕｂ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）とに関係するデータ構造を保存するメモリと、前記メモリに保存された前記１以上のインストラクションを実行するプロセッサと、を有し、前記プロセッサは、前記メインニューラルネットワークを利用して入力映像を処理して中間結果データを取得し、前記入力映像が、前記メインニューラルネットワークを利用して処理される間、前記中間結果データを、前記サブニューラルネットワークを利用して処理することにより、中間映像を出力することを特徴とする。
【０００９】
前記メインニューラルネットワークは、複数の第１畳み込み層（Ｃｏｎｖｏｌｕｔｉｏｎ  Ｌａｙｅｒ）を含み、前記プロセッサは、前記複数の第１畳み込み層内の１以上のカーネルを利用して第１畳み込み演算を行うことにより、特徴情報を抽出し、前記抽出された特徴情報に基づいて、前記中間結果データを出力することが好ましい。
前記サブニューラルネットワークは、１以上の第２畳み込み層を含み、前記プロセッサは、前記１以上の第２畳み込み層において、前記中間結果データに１以上のカーネルを適用して第２畳み込み演算を行うことにより、特徴情報を抽出し、抽出された前記特徴情報に基づいて、前記中間映像を生成することが好ましい。
前記プロセッサは、前記メインニューラルネットワークを利用して前記入力映像を処理し、最終出力映像を取得することが好ましい。
前記メインニューラルネットワークは、前記入力映像に予め設定されたスタイルを適用して前記最終出力映像を生成するように学習された（ｔｒａｉｎｅｄ）ネットワークであり、前記中間映像は、前記最終出力映像より、前記予め設定されたスタイルが適用された程度が低いことが好ましい。
前記メインニューラルネットワークを利用して前記入力映像から、前記最終出力映像を生成する第１時間は、前記サブニューラルネットワークを利用して前記入力映像から、前記最終出力映像を生成する第２時間より長いことが好ましい。
前記プロセッサは、前記第１時間及び第２時間を予測し、前記予測された第１時間及び第２時間に基づいて、前記サブニューラルネットワークを利用して前記中間映像を生成するか否かを決定することが好ましい。
前記映像処理装置は、ディスプレイをさらに有し、前記プロセッサは、現在時点から、前記中間映像及び前記最終出力映像の内の少なくとも一つを生成するのに所要する時間を、前記ディスプレイに表示するように制御することが好ましい。
前記プロセッサは、ユーザ入力に基づいて、前記最終出力映像が生成される前に、前記入力映像の処理を中断することが好ましい。
【００１０】
上記目的を達成するためになされた本発明による映像処理装置の動作方法は、メインニューラルネットワークを利用して入力映像を処理する段階と、最終出力映像を取得するために、前記入力映像を処理する間、前記メインニューラルネットワークを利用して前記入力映像から中間結果データを取得する段階と、サブニューラルネットワークを利用して前記中間結果データに基づく中間映像を生成する段階と、を有することを特徴とする。
【００１１】
前記メインニューラルネットワークは、複数の第１畳み込み層を含み、前記メインニューラルネットワークを利用して入力映像を処理する段階は、前記複数の第１畳み込み層内の１以上のカーネルを利用して前記入力映像に関係する第１畳み込み演算を行うことにより、特徴情報を抽出する段階を含み、前記中間結果データを取得する段階は、前記特徴情報に基づいて、前記中間結果データを生成する段階を含むことが好ましい。
前記サブニューラルネットワークは、１以上の第２畳み込み層を含み、前記中間映像を生成する段階は、前記中間結果データに、前記１以上の第２畳み込み層内の１以上のカーネルを適用して第２畳み込み演算を行うことにより、特徴情報を抽出する段階と、抽出された前記特徴情報に基づいて、前記中間映像を生成する段階と、を含むことが好ましい。
前記映像処理装置の動作方法は、前記メインニューラルネットワークを利用して前記入力映像を処理することにより、前記最終出力映像を生成する段階をさらに有することが好ましい。
前記メインニューラルネットワークは、前記入力映像に予め設定されたスタイルを適用して前記最終出力映像を生成するように学習されたネットワークであり、前記中間映像は、前記最終出力映像より、前記予め設定されたスタイルが適用された程度が低いことが好ましい。
前記メインニューラルネットワークを利用して前記入力映像から前記最終出力映像を生成する第１時間は、前記サブニューラルネットワークを利用して前記入力映像から前記中間映像を生成する第２時間より長いことが好ましい。
【００１２】
また、本発明による映像処理装置は、予め設定された目的により、映像を処理するように学習されたメインニューラルネットワークを利用して第１映像が処理される過程で出力された中間結果データを受信する通信部と、１以上のインストラクションを保存するメモリと、及び前記メモリに保存された前記１以上のインストラクションを実行するプロセッサと、を有し、前記プロセッサは、前記中間結果データを、サブニューラルネットワークを利用して処理することにより、第２映像を生成することを特徴とする。
前記通信部は、前記第１映像を、前記メインニューラルネットワークを利用して前記予め設定された目的によって処理して生成された第３映像を受信することが好ましい。
【発明の効果】
【００１３】
本発明に係る映像処理装置及びその動作方法によれば、メインニューラルネットワークにおいて最終出力映像を生成する前に、サブニューラルネットワークを利用して中間出力映像を生成することができ、ユーザ観点での待機時間が短縮される。
また、中間出力映像を生成し、ユーザは中間出力映像に基づいて、メインニューラルネットワークでの最終出力映像を生成するか否かを決定することができる。
【００１４】
また、映像を処理する過程の一部が類似しているが、異なる結果を出力するニューラルネットワークを、メインニューラルネットワークとサブニューラルネットワークとによって構成することにより、ニューラルネットワーク学習（ｔｒａｉｎ）の効率性を上昇させることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態による映像処理装置が、メインニューラルネットワーク及びサブニューラルネットワークを利用して映像を処理する過程を説明するための図である。
【図２】本発明の一実施形態による映像処理装置の動作方法を説明するためのフローチャートである。
【図３】本発明の一実施形態による映像処理装置が、メインニューラルネットワーク及びサブニューラルネットワークを利用して映像を処理する方法について説明するための図である。
【図４】本発明の一実施形態によるメインニューラルネットワークの構造を示す図である。
【図５】本発明の一実施形態によるメインニューラルネットワークに含まれる第１畳み込み層の入力データ、カーネル、出力データを示す図である。
【図６】図５の第１畳み込み層において、畳み込み演算が処理される過程を説明するための図である。
【図７】本発明の一実施形態による映像処理装置が動作する方法を説明するための図である。
【図８】本発明の一実施形態による映像処理装置が、中間出力映像を表示する例を示す図である。
【図９】本発明の一実施形態による映像処理装置が、中間出力映像を表示する例を示す図である。
【図１０】本発明の一実施形態による映像処理装置が、サブニューラルネットワークに進入するか否かを決定する方法を説明するための図である。
【図１１】本発明の一実施形態による映像処理装置が、メインニューラルネットワーク及びサブニューラルネットワークを利用して出力映像を生成する方法を説明するための図である。
【図１２】本発明の一実施形態による映像処理装置及びサーバが互いに連動することにより、映像処理を行う例を示す図である。
【図１３】本発明の一実施形態による映像処理装置のメインニューラルネットワーク又はサブニューラルネットワークを学習させる構成を示すブロック図である。
【図１４】本発明の一実施形態による映像処理装置の概略構成を示すブロック図である。
【図１５】本発明の一実施形態によるプロセッサの概略構成を示すブロック図である。
【図１６】本発明の一実施形態による映像処理装置及びサーバが互いに連動することにより、データを学習（ｌｅａｒｎ）して認識する例を説明するための図である。
【図１７】本発明の他の実施形態による映像処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
次に、本発明に係る映像処理装置及びその動作方法を実施するための形態の具体例を図面を参照しながら説明する。
【００１７】
本発明で使用する用語は、本発明での機能を考慮しながら、可能な限り、現在汎用される一般的な用語を選択したが、それは、当分野の当業者の意図、判例、あるいは新たな技術の出現などによっても異なる。
また、特定の場合は、出願人が任意に選定した用語もあり、その場合、当該発明の説明部分において、詳細にその意味を記載する。
従って、本発明で使用する用語は、単なる用語の名称ではなく、その用語が有する意味、及び本発明の全般にわたる内容を基に定義されなければならない。
明細書全体において、ある部分がある構成要素を「含む」とするとき、それは、特別に反対となる記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含んでもよいということを意味する。
また、明細書に記載され「…部」、「モジュール」というような用語は、少なくとも１つの機能や動作を処理する単位を意味し、それは、ハードウェア又はソフトウェアによって具現されるか、あるいはハードウェアとソフトウェアとの結合によっても具現される。
以下では、添付した図面を参照し、実施形態について、本発明が属する技術分野で当業者であるならば、容易に実施することができるように詳細に説明する。
しかし、本発明は、さまざまに異なる形態にも具現され、ここで説明する実施形態に限定されるものではない。そして、図面において、本発明について明確に説明するために、説明と関係ない部分は、省略し、明細書全体を通じて、類似した部分については、類似した図面符号を付した。
【００１８】
図１は、本発明の一実施形態による映像処理装置が、メインニューラルネットワーク（Ｍａｉｎ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）及びサブニューラルネットワーク（Ｓｕｂ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）を利用して映像を処理する過程を説明するための図である。
本発明の一実施形態による映像処理装置１００は、携帯電話、タブレットＰＣ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、デジタルカメラ、カムコーダ、ノート型パソコン（ｌａｐｔｏｐ  ｃｏｍｐｕｔｅｒ）、デスクトップ、電子書籍端末機、デジタル放送用端末機、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、ＰＭＰ（ｐｏｒｔａｂｌｅ  ｍｕｌｔｉｍｅｄｉａ  ｐｌａｙｅｒ）、ナビゲーション、ＭＰ３プレイヤ、着用型機器（ｗｅａｒａｂｌｅ  ｄｅｖｉｃｅ）のような多様な電子装置によっても具現される。
【００１９】
また、映像処理装置１００は、ディスプレイを含む映像表示装置によっても具現される。
特に、本発明の一実施形態で、デジタル・サイネージ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｇｅ：電子看板）やＴＶ（ｔｅｌｅｖｉｓｉｏｎ）のように、ディスプレイが大型である映像表示装置によって容易に具現されるが、それらに限定されるものではない。
例えば、映像処理装置は、固定型又は移動型であり、デジタル放送受信が可能なデジタル放送受信機である。
映像処理装置は、平面ディスプレイ装置だけではなく、曲率を有する画面である曲面（ｃｕｒｖｅｄ）ディスプレイ装置、又は曲率を調整することができる可変型（ｆｌｅｘｉｂｌｅ）ディスプレイ装置によっても具現される。
映像処理装置１００の出力解像度は、例えば、ＨＤ（ｈｉｇｈ  ｄｅｆｉｎｉｔｉｏｎ）、ｆｕｌｌ  ＨＤ、ｕｌｔｒａ  ＨＤの解像度、あるいはｕｌｔｒａ  ＨＤよりさらに鮮明な解像度を含んでもよい。
【００２０】
本明細書の実施形態において、「ユーザ」という用語は、映像処理装置の機能又は動作を制御する者を意味し、管理者又は設置技士を含み得る。
本発明の実施形態による映像処理装置１００は、予め設定された目的により、映像を処理するように学習された（ｔｒａｉｎｅｄ）メインニューラルネットワーク２００を含む。
メインニューラルネットワーク２００は、複数の畳み込み層（Ｃｏｎｖｏｌｕｔｉｏｎ  Ｌａｙｅｒ（コンボリューションレイヤ））を含み得るが、それに限定されるものではない。
【００２１】
例えば、メインニューラルネットワーク２００は、入力された映像１０に予め設定されたスタイル１５を適用し、スタイルが変換された映像２０を出力するように学習されたモデルである。
このとき、上記スタイルは、映像に示される線、色、材質、雰囲気などによっても決定されるが、それらに限定されるものではない。
映像処理装置１００は、メインニューラルネットワーク２００を利用して受信された入力映像１０（例えば、第１映像）を処理し、最終出力映像２０（例えば、第２映像）を取得する。
また、映像処理装置１００は、入力映像１０の処理過程で出力される中間結果データを取得し、中間結果データを、サブニューラルネットワーク３００に入力させることができる。
映像処理装置１００は、サブニューラルネットワーク３００を利用し、中間結果データを処理することにより、中間映像３０（例えば、第３映像）を生成することができる。
サブニューラルネットワーク３００は、１以上の畳み込み層を含み得るが、それに限定されるものではない。
【００２２】
映像処理装置１００は、サブニューラルネットワーク３００を利用し、中間結果データを処理することにより、最終出力映像２０と異なる中間出力映像３０（第３映像）を取得する。
本発明の実施形態による映像処理装置１００は、１つのネットワークを利用して映像を処理するとき、最終出力映像を取得する前に、中間結果データを利用し、中間出力映像を取得することができる。
それにより、映像処理装置は、最終出力映像が生成される前に、中間出力映像を取得することができ、映像処理装置ユーザの観点で、出力映像が生成されるまでの待機時間を短縮させることができる。
【００２３】
図２は、本発明の一実施形態による映像処理装置の動作方法を説明するためのフローチャートである。
図２を参照すると、本発明の実施形態による映像処理装置１００は、メインニューラルネットワーク２００を利用して第１映像を処理する（ステップＳ２１０）。
【００２４】
本発明の実施形態によるメインニューラルネットワーク２００は、予め設定された目的により、映像を処理するように学習されたモデルである。
また、メインニューラルネットワーク２００は、複数の畳み込み層を含む畳み込みニューラルネットワークである。
例えば、メインニューラルネットワーク２００は、入力された映像に予め設定されたスタイルを適用し、スタイルが変換された映像を出力するように学習されたモデルである。
又は、メインニューラルネットワークは、入力された低解像度の映像を、高解像度映像に変換し、変換された高解像度映像を出力するように学習されたモデルである。
ただし、それに限定されるものではない。
また、映像処理装置１００は、メインニューラルネットワーク２００を利用して入力された第１映像を処理し、最終出力映像を取得する。
【００２５】
映像処理装置１００は、第１映像を処理する過程で出力される中間結果データを取得する（ステップＳ２２０）。
映像処理装置１００は、メインニューラルネットワークに含まれた畳み込み層の中で一部畳み込み層をパスしたデータを取得する。
【００２６】
映像処理装置１００は、サブニューラルネットワーク３００を利用して中間結果データを処理することにより、第２映像を生成する（ステップＳ２３０）。
映像処理装置１００は、サブニューラルネットワーク３００を利用して中間結果データを処理することにより、最終出力映像と異なる中間出力映像（第３映像）を取得する。
このとき、メインニューラルネットワーク２００が、予め設定されたスタイルを適用するように学習されたモデルである場合、最終出力映像と中間出力映像とにスタイルが適用された程度が異なる。
例えば、中間出力映像にスタイルが適用された程度が、最終出力映像にスタイルが適用された程度よりも低い。
ただし、それに限定されるものではない。
【００２７】
図３は、本発明の一実施形態による映像処理装置が、メインニューラルネットワーク及びサブニューラルネットワークを利用して映像を処理する方法について説明するための図である。
図３を参照すると、映像処理装置１００は、メインニューラルネットワーク２００及びサブニューラルネットワーク３００を含む。
【００２８】
メインニューラルネットワーク２００は、第１映像３１０が入力され、入力された第１映像３１０を、予め設定された目的によって処理し、処理された第２映像３２０を出力するように学習されたモデルである。
例えば、図３に示すように、メインニューラルネットワーク２００は、入力された映像３１０に、予め設定されたスタイルを適用し、スタイルが変換された第２映像３２０（出力映像）を出力するように学習されたモデルである。
ただし、スタイル変換の目的に学習されることは、一例に過ぎず、メインニューラルネットワーク２００は、多様な目的に学習されたモデルである。
【００２９】
メインニューラルネットワーク２００は、データ（例えば、映像データ）が入力され、入力されたデータが隠れ層（Ｃｏｎｖ）を通過して処理されることにより、処理されたデータが出力される構造を含む。
メインニューラルネットワーク２００は、２層以上の隠れ層を含むディープニューラルネットワーク（ＤＮＮ）である。
例えば、メインニューラルネットワーク２００は、複数の畳み込み層を含む畳み込みニューラルネットワーク（ＣＮＮ）である。
【００３０】
一方、サブニューラルネットワーク３００は、メインニューラルネットワーク２００から出力された中間結果データを受信し、最終出力映像３２０を出力するために、中間結果データを予め設定された目的によって処理する。
例えば、サブニューラルネットワーク３００は、中間データが入力され、入力されたデータが１以上の畳み込み層（隠れ層）を通過して処理されることにより、処理されたデータ３３０（例えば、第３映像）が出力される構造を有する。
メインニューラルネットワーク２００及びサブニューラルネットワーク３００の具体的な構造及び動作については、図４〜図６を参照して、具体的に説明する。
【００３１】
図４は、本発明の一実施形態によるメインニューラルネットワークの構造を示す図である。
図４を参照すると、メインニューラルネットワーク２００は、入力層、出力層、及び入力層と出力層との間に位置したＮ層の畳み込み層４５２のような複数の隠れ層を含む。
メインニューラルネットワーク２００は、入力層を介して、入力データ４５１（例えば、第１映像）を受信し、Ｎ層の畳み込み層４５２を通過し、入力データ４５１を処理することにより、出力データ４５３（例えば、第２映像）を生成し、出力層を介して、出力データ４５３を提供する。
【００３２】
メインニューラルネットワーク２００は、２層以上の畳み込み層を含むディープ畳み込みニューラルネットワークである。
メインニューラルネットワーク２００は、プーリング層（ｐｏｏｌｉｎｇ  ｌａｙｅｒｓ）、全結合層（ｆｕｌｌｙ  ｃｏｎｎｅｃｔｅｄ  ｌａｙｅｒｓ（フリーコネクテッドレイヤ））及び隠れ層のような正規化層（ｎｏｒｍａｌｉｚａｔｉｏｎ  ｌａｙｅｒｓ）をさらに含み得る。
【００３３】
本発明の一実施形態による映像処理装置１００は、メインニューラルネットワーク２００を利用して第１映像から、枠、線、色のような「特徴（ｆｅａｔｕｒｅｓ）」を抽出する。
メインニューラルネットワーク２００に含まれるＮ層の畳み込み層４５２それぞれにおいては、データを受信し、受信されたデータを処理し、出力データを生成する。
例えば、図３に示したように、映像処理装置１００は、第１畳み込み層２１０に入力された映像（例えば、第１映像）を、１以上のカーネル又はフィルタと畳み込み（ｃｏｎｖｏｌｕｔｉｏｎ：コンボリューション）し、第１特徴マップを生成する。
また、生成された第１特徴マップを、第２畳み込み層２２０に入力させ、第２畳み込み層２２０に入力された第１特徴マップを、１以上のカーネル又はフィルタと畳み込みし、第２特徴マップを生成する。
畳み込み層で行われる畳み込み演算については、図４〜図６を参照して詳細に説明する。
【００３４】
メインニューラルネットワーク２００の初期畳み込み層は、入力映像からエッジ又はグラジエントのような低レベルの特徴を抽出するように動作される。
また、後方の畳み込み層に行くほど、漸進的に複雑な特徴（例えば、目、鼻、口、顔など）を抽出することができる。
メインニューラルネットワーク２００内において、特徴マップを入力されて出力する１以上の畳み込み層は、隠れ層（例えば、隠れ畳み込み層）である。
また、メインニューラルネットワーク２００においては、特徴マップに１以上のカーネルを適用して畳み込みする演算以外に、他のプロセシング演算が行われ得る。
【００３５】
例えば、活性化関数（ａｃｔｉｖａｔｉｏｎ  ｆｕｎｃｔｉｏｎ）、プーリングなどの演算が行われ得る。
映像処理装置１００は、畳み込み演算を行った結果として抽出された特徴マップの値を、特徴が「ある、あるいは、ない」の非線形的な値に変えるために、活性化関数を適用する。
活性化関数は、入力に比例して活性化される線形関数（例えば、ニューロンからの加重和）、
２つの数学式：ｆ（ｘ）＝ｘ    ｉｆ  ｘ≧０、
及びｆ（ｘ）＝α（ｅｘ−１）    ｉｆ  ｘ＜０
を含む指数的な線形ユニット（ＥＬＵ：ｅｘｐｏｎｅｎｔｉａｌ  ｌｉｎｅａｒ  ｕｎｉｔ）関数、
ｙ＝ｍａｘ（０，ｘ）で定義されるＲｅＬＵ（ｒｅｃｔｉｆｉｅｄ  ｌｉｎｅａｒ  ｕｎｉｔ）関数、シグモイド関数、Ｔａｎｈ関数、及びＳｏｆｔｍａｘ関数などを含み得る。
【００３６】
また、映像処理装置１００は、抽出された特徴マップのサイズを縮めるために、サブサンプリング（プーリング）することができる。
このとき、「ｍａｘ  ｐｏｏｌｉｎｇ」、「ａｖｅｒａｇｅ  ｐｏｏｌｉｎｇ」、「Ｌ２−ｎｏｒｍ  ｐｏｏｌｉｎｇ」などを使用することができるが、それらに限定されるものではない。
例えば、第１映像３１０（入力データ）は、メインニューラルネットワーク２００のＮ層の畳み込み層を通過した後、活性化関数、プーリングなどの演算が行われ、第２映像３２０として出力される。
【００３７】
一方、図３を参照すると、メインニューラルネットワーク２００は、Ｎ層の畳み込み層を含む。
このとき、入力映像が、メインニューラルネットワーク２００の第１畳み込み層２１０〜第Ｍ畳み込み層（ＬａｙｅｒＭ）それぞれにおいて、１以上のカーネルと畳み込み演算が行われ、中間結果データが出力される。
このとき、中間結果データは、サブニューラルネットワーク３００にも入力される。
サブニューラルネットワーク３００は、メインニューラルネットワーク２００で取得された中間結果データを受信する。
例えば、サブニューラルネットワーク３００は、中間結果データを受信する入力層、中間結果データを処理する１以上の畳み込み層，及び処理された中間結果データを出力データ（例えば、第３映像３３０）として、出力する出力層を含み得る。
【００３８】
サブニューラルネットワーク３００に含まれる１以上の畳み込み層は、隠れ層（例えば、隠れ畳み込み層）である。
また、サブニューラルネットワーク３００においては、特徴マップに１以上のカーネルを適用して畳み込みする演算以外に、他のプロセシング演算が行われる。
例えば、活性化関数（ａｃｔｉｖａｔｉｏｎ  ｆｕｎｃｔｉｏｎ）、プーリングなどの演算が行われる。
映像処理装置１００は、畳み込み演算を行った結果として抽出された特徴マップの値を、特徴が「ある、あるいは、ない」の非線形的な値に変えるために活性化関数を適用する。
このとき、ｔａｎｈ関数、ＲｅＬｕ関数が使用されるが、それらに限定されるものではない。
【００３９】
また、映像処理装置１００は、抽出された特徴マップを縮めるために、サブサンプリング（プーリング）することができる。
このとき、「ｍａｘ  ｐｏｏｌｉｎｇ」、「ａｖｅｒａｇｅ  ｐｏｏｌｉｎｇ」、「Ｌ２−ｎｏｒｍ  ｐｏｏｌｉｎｇ」などを使用することができるが、それらに限定されるものではない。
例えば、中間結果データは、メインニューラルネットワーク２００の１以上の畳み込み層を通過した後、活性化関数、プーリングなどの演算が行われ、第３映像３３０が出力される。
【００４０】
図５は、本発明の一実施形態によるメインニューラルネットワークに含まれる第１畳み込み層の入力データ、カーネル、出力データを示す図である。
本発明の一実施形態によるメインニューラルネットワーク２００は、Ｎ層の畳み込み層４５２を含み、以下では、最初の畳み込み層を、第１畳み込み層（Ｃｏｎｖ＿１）２１０と称する。
【００４１】
第１畳み込み層（Ｃｏｎｖ＿１）での入力データ（第１格納データ）５１０は、第１映像であり、格納データ５１０のサイズは、ｗ×ｈ×Ｃ（例えば、横×縦×チャネル）である。
ここで、ｗ、ｈ、及びＣは、それぞれ横、縦、及びチャネルを示す。
例えば、第１映像のサイズは、ｗ×ｈであり、チャネルＣの個数は、３個（例えば、Ｒ、Ｇ、Ｂ）であるが、それに限定されるものではない。
また、第１畳み込み層（Ｃｏｎｖ＿１）での１以上のカーネル（第１カーネル）５３０は、Ｋｗ×Ｋｈのサイズを有し、カーネルの個数は、Ｃ×Ｄ（入力チャネルの個数×出力チャネルの個数）個である。
ここで、Ｄは、出力チャネルの個数を示す。
【００４２】
第１畳み込み層（Ｃｏｎｖ＿１）において、第１格納データ５１０と第１カーネル５３０とを畳み込み演算すれば、第１出力データ５４０が生成される。
このとき、第１出力データ５４０は、１以上の特徴マップを含み得、第１出力データ５４０のサイズは、Ｗ×Ｈ×Ｄであり、特徴マップ１つのサイズは、Ｗ×Ｈであり、特徴マップの個数（又は、チャネル個数）がＤ個である。
【００４３】
図６は、図５の第１畳み込み層において、畳み込み演算が処理される過程を説明するための図である。
図６においては、説明の便宜のために、第１畳み込み層（Ｃｏｎｖ＿１）の入力データ６１０は、５×５の大きさを有し、チャネルの個数は、ｎであると仮定する。
【００４４】
また、入力データ６１０の格納データに適用されるカーネルの大きさは、３×３×ｎであり、カーネルの個数は、Ｄ個であると仮定する。
このとき、ｎは、カーネルの深さであり、入力データ６１０のチャネル個数と同一値を有する。
また、入力データ６１０の格納データのチャネルの個数は、現在レイヤ以前のレイヤで使用されたカーネルの個数によっても決定される。
すなわち、１つのカーネルは、３×３サイズを有するｎ個のサブカーネル（６３１、６３２、…、６３９）を含むと見ることができ、このとき、ｎ個のサブカーネル（６３１、６３２、…、６３９）は、入力データ６１０のｎ個の各チャネルにも対応する。
【００４５】
図６を参照すると、入力データ６１０の格納データの左側上端から右側下端まで、第１カーネル６３０に含まれるサブカーネル（６３１、６３２、…、６３９）を適用し、入力データ６１０の格納データの特徴を抽出する過程を図に示す。
例えば、入力データ６１０の格納データの左側上端３×３×ｎ領域（６１１、６１２、…、６１９）に含まれるピクセルに、第１カーネル（３×３×ｎ）６３０を適用して畳み込み演算を行う。
すなわち、左側上端３×３×ｎ領域（６１１、６１２、…、６１９）に含まれるピクセル値と、第１カーネル６３０に含まれる加重値とを乗じて合算することにより、左側上端３×３×ｎ領域にマッピングされる１つのピクセル値６４１を生成する。
【００４６】
また、入力データ６１０の格納データの左側上端３×３×ｎ領域（６１１、６１２、…、６１９）から右側に１ピクセル移動させた３×３×ｎ領域（６２１、６２２、…、６２９）に含まれるピクセル値と、第１カーネル６３０に含まれる加重値とを乗じて合算することにより、３×３×ｎ領域（６２１、６２２、…、６２９）にマッピングされる１つのピクセル値６４２を生成する。
同様の方式で、入力データ６１０の格納データ内において、畳み込み演算の対象を、左側から右側に、上端から下端に１ピクセルずつスキャンしながら、第１カーネル６３０に含まれる加重値を乗じて合算することにより、ピクセル値が生成される。
【００４７】
それにより、３×３の特徴マップである出力データ６４０が出力される。
このとき、畳み込み演算の対象になるデータは、１ピクセルずつ移動しながらもスキャンされるが、２個ピクセル、又はそれ以上のピクセル個数ほど移動しながらスキャンすることもできる。
スキャン過程において、入力データが移動するピクセルの個数をストライド（ｓｔｒｉｄｅ）と言い、ストライドの大きさにより、出力される特徴マップの大きさが決定される。
【００４８】
図６を参照すると、入力データ６１０は、５×５の大きさを有するが、出力データ６４０は、３×３の大きさを有し、入力データの大きさより小さくなる。
メインニューラルネットワークは、いくつかの畳み込み層を含み、いくつかの畳み込み層を通過しながら、データの大きさが続けて小さくなる。
このとき、特徴が十分に抽出される前にデータの大きさが小さくなれば、入力データの特徴が失われるので、それを防止するために、パディング（ｐａｄｄｉｎｇ）が行われる。
パディングは、出力データが小さくなることを防止するために、入力データ端に特定値（例えば、「０」）を与え、入力データのサイズを増大させることを意味する。
ただし、それに限定されるものではない。
【００４９】
一方、図６には、第１カーネル６３０に関わる畳み込み演算結果だけを図に示したが、Ｄ個のカーネルに対して畳み込み演算を行う場合、３×３×Ｄの特徴マップが出力される。
すなわち、カーネルの個数Ｄにより、出力データのチャネル個数Ｄが決定され、それにより、次のレイヤでの入力データのチャネルの個数も決定される。
【００５０】
図７は、本発明の一実施形態による映像処理装置が動作する方法を説明するための図である。
図７を参照すると、映像処理装置１００は、スタイル変換の目的に学習されたメインニューラルネットワーク２００を利用して入力された第１映像７１０から第２映像７２０を生成する。
このとき、メインニューラルネットワーク２００は、Ｎ層の畳み込み層を含む畳み込みニューラルネットワークであり、第２映像７２０は、第１映像７１０に予め設定されたスタイル７０５が適用された映像である。
【００５１】
例えば、映像処理装置１００は、第１映像７１０を、メインニューラルネットワーク２００に入力させる。
このとき、入力される第１映像７１０は、３個のチャネル（Ｒ、Ｇ、Ｂチャネル）を含んでもよいが、それに限定されるものではない。
映像処理装置１００は、第１畳み込み層２１０において、入力された映像データと１以上のカーネルとに対し、畳み込みする演算を行う。
畳み込み演算が行われたデータは、第１畳み込み層２１０から出力され、第２畳み込み層２２０に入力される。
映像処理装置１００は、上記のような方式で、Ｎ層の畳み込み層それぞれにおいて、以前の畳み込み層から出力されたデータを受信し、受信されたデータと、１以上のカーネル又はフィルタに対して畳み込み演算を行い、畳み込み演算が行われたデータを、次の畳み込み層に出力する。
【００５２】
また、映像処理装置１００は、Ｎ層の畳み込み層を通過したデータに、活性化関数演算を行い、活性化関数演算が行われたデータに基づいて、最終出力映像（例えば、第２映像）を生成する。
このとき、最終出力映像は、３個のチャネル（Ｒ、Ｇ、Ｂチャネル）を含む映像であるが、それに限定されるものではない。
【００５３】
映像処理装置１００は、メインニューラルネットワーク２００を利用して第１映像７１０を処理する過程において、中間結果データを取得する。
映像処理装置１００は、メインニューラルネットワーク２００に含まれた畳み込み層において、ｎ番目畳み込み層まで通過したデータを取得する。
例えば、図７に示すように、第１映像７１０がメインニューラルネットワーク２００に入力され、第１映像７１０が、第１畳み込み層２１０及び第２畳み込み層２２０を通過しながら、１以上のカーネル又はフィルタと畳み込みされたデータとが、第１中間結果データＤ１として出力される。
【００５４】
また、第１映像７１０がメインニューラルネットワーク２００に入力されて第１映像７１０が第１畳み込み層２１０〜第５畳み込み層２５０を通過したデータが、第２中間結果データＤ２として出力される。
第１映像７１０がメインニューラルネットワーク２００に入力されて第１映像７１０が第１畳み込みデータ２１０〜第８畳み込み層２８０を通過したデータが、第３中間結果データＤ３として出力される。
第１映像７１０がメインニューラルネットワーク２００に入力されて第１映像が第１畳み込み層２１０〜第１１畳み込み層２９２を通過したデータが、第４中間結果データＤ４として出力される。
ただし、それらに限定されるものではない。
【００５５】
映像処理装置１００は、取得された中間結果データを、サブニューラルネットワークを利用して処理することにより、最終出力映像（第２映像）７２０と異なる中間出力映像を生成することができる。
例えば、映像処理装置１００は、第１サブニューラルネットワーク３０１〜第４サブニューラルネットワーク３０４を含む。
メインニューラルネットワーク２００は、中間結果データを、サブニューラルネットワーク（３０１、３０２、３０３、３０４）に出力する複数の中間出力レイヤを含み得る。
【００５６】
特に、メインニューラルネットワーク２００は、第２畳み込み層２２０と第３畳み込み層２３０との間に位置し、第１中間結果データＤ１を第１サブニューラルネットワーク３０１に伝送する第１中間出力レイヤ（ＩＯ１）、第５畳み込み層２５０と第６畳み込み層２６０との間に位置し、第２中間結果データＤ２を第２サブニューラルネットワーク３０２に伝送する第２中間出力レイヤ（ＩＯ２）、第８畳み込み層２８０と第９畳み込み層２９０との間に位置し、第３中間結果データＤ３を第３サブニューラルネットワーク３０３に伝送する第３中間出力レイヤ（ＩＯ３）、第１１畳み込み層２９２と第１２畳み込み層２９３との間に位置し、第４中間結果データＤ４を第４サブニューラルネットワーク３０４に伝送する第４中間出力レイヤ（ＩＯ４）を含み得る。
【００５７】
映像処理装置１００は、取得された第１中間結果データＤ１を、第１サブニューラルネットワーク３０１に入力させる。
第１サブニューラルネットワーク３０１は、１以上の畳み込み層を含み得、１以上の畳み込み層において、入力された第１中間結果データＤ１と、１以上のカーネル又はフィルタとを畳み込む演算を行う。
映像処理装置１００は、畳み込みされたデータに、活性化関数演算を行い、活性化関数演算が行われたデータに基づいて、第１中間出力映像Ｓ１を生成する。
このとき、第１中間出力映像は、３個のチャネル（Ｒ、Ｇ、Ｂチャネル）を含む映像であるが、それに限定されるものではない。
【００５８】
また、映像処理装置１００は、第２中間結果データＤ２〜第４中間結果データＤ４それぞれについても、第２サブニューラルネットワーク３０２〜第４サブニューラルネットワーク３０４それぞれを利用して処理することにより、第２中間出力映像Ｓ２〜第４中間出力映像Ｓ４を生成する。
それについては、第１中間結果データＤ１を、第１サブニューラルネットワーク３０１を利用して処理することにより、第１中間出力映像Ｓ１を生成する方法と同一であるので、具体的な説明は省略する。
【００５９】
一方、第１中間出力映像Ｓ１〜第４中間出力映像Ｓ４は、第２映像７２０に比べ、スタイルが適用された程度が低い。
例えば、第１中間出力映像Ｓ１から第４中間出力映像Ｓ４に行くほど、第１映像７１０にスタイル７０５が適用された程度が高くなる。
また、第２映像（最終出力映像）７２０にスタイル７０５が適用された程度が、第４中間出力映像Ｓ４にスタイル７０５が適用された程度より高くなる。
【００６０】
図８及び図９は、本発明の一実施形態による映像処理装置が、中間出力映像を表示する例を示す図である。
図８を参照すると、映像処理装置１００が、メインニューラルネットワーク２００及び第１サブニューラルネットワーク３０１を利用して第１映像７１０から第１中間出力映像Ｓ１を生成するのに、第１時間Ｔ１が所要される。
【００６１】
映像処理装置１００は、生成された第１中間出力映像Ｓ１をディスプレイに表示することができる。
また、映像処理装置１００が、メインニューラルネットワーク２００及び第２サブニューラルネットワーク３０２を利用して第１映像７１０から第２中間出力映像Ｓ２を生成するのに、第２時間（Ｔ１＋Ｔ２）が所要され、映像処理装置１００が、メインニューラルネットワーク２００及び第３サブニューラルネットワーク３０３を利用して第１映像７１０から第３中間出力映像Ｓ３を生成するのに、第３時間（Ｔ１＋Ｔ２＋Ｔ３）が所要される。
一方、映像処理装置１００が、メインニューラルネットワーク２００を利用して第１映像７１０から最終出力映像（第２映像）７２０を生成するのに、第４時間Ｔ４が所要される。
第４時間は、第３時間（Ｔ１＋Ｔ２＋Ｔ３）よりも長い。
【００６２】
映像処理装置１００は、メインニューラルネットワーク２００を利用して第１映像７１０を処理し、最終出力映像７２０を生成する前に、第１中間出力映像Ｓ１、第２中間出力映像Ｓ２、及び第３中間出力映像Ｓ３を生成し、ディスプレイに表示することができる。
このとき、映像処理装置１００は、次の出力映像が生成されるまでにかかる時間情報（８１０、８２０）を出力映像と共に表示することができる。
例えば、図８に示すように、第１中間出力映像Ｓ１を表示しながら、現在時点から、第２中間出力映像Ｓ２が生成されるまでにかかる時間情報（Ｔ２）８１０を共に表示することができる。
また、第２中間出力映像を表示しながら、第３中間出力映像が生成されるまでにかかる時間情報（Ｔ３）８２０を共に表示することができる。
【００６３】
また、映像処理装置１００は、次の中間出力映像が生成されるまでにかかる時間情報だけではなく、最終出力映像が生成されるまでにかかる時間情報も表示することができる。
それにより、ユーザは、最終出力映像が生成される前、ディスプレイに表示される中間出力映像を確認することができ、次の出力映像が生成されるのに所要される時間を確認し、映像処理を続けて行うか否かを決定することができる。
【００６４】
映像処理装置１００は、ユーザ入力に基づいて、メインニューラルネットワーク２００での第１映像７１０に対する映像処理を中断することができる。
例えば、第３中間出力映像Ｓ３が表示された状態で、映像処理中断要請を受信すれば、映像処理装置１００は、メインニューラルネットワーク２００での第１映像７１０に対する映像処理を中断することができる。
それにより、映像処理装置１００は、次の中間出力映像、及び最終出力映像７２０を生成しない。
【００６５】
また、図９を参照すると、映像処理装置１００は、ユーザ入力に基づいて、中間出力映像に、追加的な映像処理を行うことができる。
例えば、第３中間出力映像Ｓ３の色感、明るさ、鮮明度（ｓｈａｒｐｅｎ処理）などを調節する映像処理を行い、最終映像９２０を生成することができる。
ただし、それに限定されるものではない。
【００６６】
図１０は、本発明の一実施形態による映像処理装置が、サブニューラルネットワークに進入するか否かを決定する方法を説明するための図である。
図１０を参照すると、映像処理装置１００は、メインニューラルネットワーク２００で、中間結果データを取得する地点を、サブネットワークポイントと決定することができる。
【００６７】
例えば、第１中間結果データＤ１を取得する第２畳み込み層の出力地点（第３畳み込み層の入力地点）を、第１サブネットワークポイント１０１０と決定し、第２中間結果データＤ２を取得する第５畳み込み層の出力地点（第６畳み込み層の入力地点）を、第２サブネットワークポイント１０２０として決定し、第３中間結果データＤ３を取得する第８畳み込み層の出力地点（第９畳み込み層の入力地点）を、第３サブネットワークポイント１０３０として決定し、第４中間結果データＤ４を取得する第１１畳み込み層の出力地点（第１２畳み込み層の入力地点）を、第４サブネットワークポイント１０４０として決定することができる。
ただし、それらに限定されるものではない。
【００６８】
映像処理装置１００は、サブネットワークポイント（１０１０、１０２０、１０３０、１０４０）において、サブニューラルネットワークを利用して映像処理を行うか否かを決定することができる。
例えば、映像処理装置１００は、当該の第１畳み込み層及び第２畳み込み層において、畳み込み演算が完了し、第１中間結果データＤ１が出力されれば（第１サブネットワークポイント１０１０において）、第１中間結果データＤ１を、第１サブニューラルネットワーク３０１に入力させて映像処理を行うことにより、第１中間出力映像Ｓ１を生成するか否かを決定する。
【００６９】
映像処理装置１００は、第１サブニューラルネットワーク３０１を利用して第１中間結果データＤ１を、第１中間出力映像Ｓ１に処理するのに所要する時間（第１時間）と、メインニューラルネットワークを利用して第１中間結果データを、最終出力映像に処理するのに所要する時間（第２時間）とを計算して評価することができる。
映像処理装置１００は、第１時間と第２時間との差が予め設定された値以上である場合、第１サブニューラルネットワーク３０１に進入させることができる。
【００７０】
例えば、第１中間結果データＤ１及び第１サブニューラルネットワーク３０１を利用して第１中間出力映像Ｓ１を生成する。
一方、第１時間と第２時間との差が予め設定された時間より短い場合、第１サブニューラルネットワーク３０１に進入しない。
例えば、第１中間出力映像Ｓ１を生成せずに、第１中間出力データＤ１及びメインニューラルネットワーク２００を利用して最終出力映像７２０を生成する。
【００７１】
同様の方式で、映像処理装置１００は、第２サブニューラルネットワーク３０２を利用して第２中間結果データＤ２を、第２中間出力映像Ｓ２に処理するのに所要する時間（第３時間）と、メインニューラルネットワーク２００を利用して第２中間結果データを、最終出力映像に処理するのに所要する時間（第４時間）とを計算することができる。
映像処理装置１００は、第２サブネットワークポイント１０２０において、第３時間と第４時間とを比較することにより、第２サブニューラルネットワーク３０２へ進入するか否かを決定することができる。
【００７２】
また、映像処理装置１００は、第３サブネットワークポイント１０３０において、第３サブニューラルネットワーク３０３を利用して第３中間結果データＤ３を、第３中間出力映像Ｓ３に処理するのに所要する時間（第５時間）と、メインニューラルネットワーク２００を利用して第３中間結果データＤ３を、最終出力映像７２０に処理するのに所要する時間（第６時間）とを比較することにより、第３サブニューラルネットワーク３０３へ進入するか否かを決定することができる。
【００７３】
また、映像処理装置１００は、第４サブネットワークポイント１０４０において、第４サブニューラルネットワーク３０４を利用して第４中間結果データＤ４を、第４中間出力映像Ｓ４に処理するのに所要する時間（第７時間）と、メインニューラルネットワーク２００を利用して第４中間結果データＤ４を、最終出力映像７２０に処理するのに所要する時間（第８時間）とを比較することにより、第４サブニューラルネットワーク３０４へ進入するか否かを決定することができる。
【００７４】
図１１は、本発明の一実施形態による映像処理装置が、メインニューラルネットワーク及びサブニューラルネットワークを利用して出力映像を生成する方法を説明するための図である。
図１１のメインニューラルネットワーク１１００は、図７のメインニューラルネットワーク２００に対応し、図１１の第１サブニューラルネットワーク１１１０は、図７の第１サブニューラルネットワーク３０１に対応し、図１１の第２サブニューラルネットワーク１１２０は、図７の第２サブニューラルネットワーク３０２に対応する。
従って、メインニューラルネットワーク１１００、第１サブニューラルネットワーク１１１０、及び第２サブニューラルネットワーク１１２０の構造及び動作方法に関する具体的な説明は、省略する。
【００７５】
図１１を参照すると、映像処理装置１００は、メインニューラルネットワーク１１００を利用して第１映像７１０から第２映像７２０（最終出力映像）を生成する。
また、映像処理装置１００は、メインニューラルネットワーク１１００を利用して第１映像７１０を処理する過程で生成された第１中間結果データＤ１を取得し、第１中間結果データＤ１及び第１サブニューラルネットワーク１１１０を利用して第１中間出力映像Ｓ１を生成する。
また、メインニューラルネットワーク１１００を利用して第１映像７１０を処理する過程で生成された第２中間結果データＤ２を取得し、第２中間結果データＤ２及び第２サブニューラルネットワーク１１２０を利用して第２中間出力映像Ｓ２を生成する。
このとき、第１映像７１０又は第２映像７２０（最終出力映像）は、高解像度映像であり、第１中間出力映像Ｓ１及び第２中間出力映像Ｓ２は、低解像度映像である。
【００７６】
図１２は、本発明の一実施形態による映像処理装置及びサーバが互いに連動することにより、映像処理を行う例を示す図である。
図１２を参照すると、サーバ２０００は、メインニューラルネットワーク２０３０を含み、メインニューラルネットワーク２０３０は、予め設定された目的により、映像を処理するように学習されたモデルである。
例えば、メインニューラルネットワーク２０３０は、スタイル変換の目的に学習されたモデルである。
【００７７】
サーバ２０００は、メインニューラルネットワーク２０３０を利用して入力された第１映像７１０に、予め設定されたスタイルを適用し、スタイルが変換された第２映像（出力映像）７２０を生成する。
図１２のメインニューラルネットワーク２０３０は、図３のメインニューラルネットワーク２００に対応するので、メインニューラルネットワーク２０３０の構造及び動作に係わる具体的な説明は、省略する。
また、サーバ２０００は、第２映像７２０を映像処理装置１００に伝送することができる。
一方、サーバ２０００は、第１映像７１０が、メインニューラルネットワーク２０３０で処理される過程において、中間結果データを取得することができる。
例えば、中間結果データは、メインニューラルネットワーク２０３０に含まれた複数の畳み込み層において、特定レイヤから抽出された特徴マップ（特徴情報）を含んでもよいが、それに限定されるものではない。
【００７８】
サーバ２０００は、中間結果データを、映像処理装置１００に伝送する。
一実施形態による映像処理装置１００は、サブニューラルネットワーク２０５０を含む。
サブニューラルネットワーク２０５０は、１以上の畳み込み層を含み得、１以上の畳み込み層においては、畳み込み演算が行われる。
例えば、映像処理装置１００は、サーバ２０００から受信した中間結果データを、サブニューラルネットワーク２０５０に入力させ、中間結果データは、１以上の畳み込み層を通過しながら、１以上のカーネルと畳み込みされる。
映像処理装置１００は、畳み込みされたデータに、活性化関数演算を行い、活性化関数演算が行われたデータに基づいて、第３映像（中間出力映像）１２５０を生成する。
【００７９】
映像処理装置１００は、生成された第３映像１２５０、及びサーバ２０００から受信した第２映像７２０をディスプレイに表示する。
一実施形態による第３映像（中間出力映像）１２５０は、第２映像７２０（最終出力映像）より、予め設定されたスタイルが適用された程度が低い。
図１２に示すように、メインニューラルネットワーク２０３０の動作は、サーバ２０００で実行され、サブニューラルネットワーク２０５０の動作は、映像処理装置１００で実行されることにより、映像処理装置１００のメモリ帯域幅を節減することができ、出力映像を取得するのに所要する時間が短縮される。
【００８０】
図１３は、本発明の一実施形態による映像処理装置のメインニューラルネットワーク又はサブニューラルネットワークを学習させる構成を示すブロック図である。
図１３を参照してメインニューラルネットワーク又はサブニューラルネットワークを学習させる（ｔｒａｉｎ）方法を説明する。
図１３を参照すると、本発明の一実施形態による映像処理装置１００は、映像特徴抽出部１３１０、スタイル分析部１３２０、コンテンツ分析部１３３０、及びネットワーク更新部１３４０を含む。
【００８１】
映像特徴抽出部１３１０は、メインニューラルネットワーク２００から出力される映像Ｙ、スタイルターゲット映像Ｙｓ、及びコンテンツターゲット映像Ｙｃが入力される。
このとき、スタイルターゲット映像Ｙｓは、メインニューラルネットワーク２００を利用して変換しようとするスタイルを含む映像である。
また、コンテンツターゲット映像Ｙｃは、スタイルが変換される前の原本映像であり、メインニューラルネットワーク２００に入力される映像Ｘと同一映像である。
【００８２】
映像特徴抽出部１３１０は、畳み込みニューラルネットワークを含み、畳み込みニューラルネットワークを利用して入力された映像（Ｙｓ、Ｙ、Ｙｃ）の特徴マップ（特徴情報）を抽出する。
畳み込みニューラルネットワークは、複数の畳み込み層を含み、複数の畳み込み層においては、畳み込み演算が行われる。
また、映像特徴抽出部１３１０は、複数の畳み込み層において、畳み込み演算以外に、活性化関数、プーリングなどの演算を行うことができ、畳み込み層ごとに、特徴マップを抽出することができる。
【００８３】
例えば、映像特徴抽出部１３１０は、映像特徴抽出部１３１０に含まれた畳み込み層それぞれにおいて、スタイルターゲット映像Ｙｓの特徴マップ、コンテンツターゲット映像Ｙｃの特徴マップ、映像Ｙの特徴マップを抽出する。
映像特徴抽出部１３１０は、初期畳み込み層において、入力映像のエッジ又はグラジエントのような低いレベルの特徴を抽出し、後方の畳み込み層に行くほど、漸進的に複雑な特徴を抽出する。
ただし、それに限定されるものではない。
【００８４】
スタイル分析部１３２０は、スタイルターゲット映像Ｙｓと出力映像Ｙとのスタイルに関係する差を分析する。
例えば、スタイル分析部１３２０は、スタイルターゲット映像Ｙｓに関係する特徴マップと、出力映像Ｙに関係する特徴マップとの差を分析する。
【００８５】
また、コンテンツ分析部１３３０は、コンテンツターゲット映像Ｙｃと出力映像Ｙとのコンテンツに関係する差を分析する。
例えば、コンテンツ分析部１３３０は、コンテンツターゲット映像Ｙｃに関係する特徴マップと、出力映像Ｙに関係する特徴マップとの差を分析する。
【００８６】
ネットワーク更新部１３４０は、スタイルターゲット映像に関係する特徴マップと、出力映像に関係する特徴マップとの差が小さくなるように、メインニューラルネットワーク２００のカーネルの加重値を調整する。
また、コンテンツターゲット映像に関係する特徴マップと、出力映像に関係する特徴マップとの差が小さくなるように、メインニューラルネットワーク２００のカーネルの加重値を調整する。
ただし、それに限定されるものではない。
【００８７】
図１３においては、本発明の一実施形態によるメインニューラルネットワーク２００を学習させる方法についてのみ説明したが、本発明の一実施形態によるサブニューラルネットワークも、同様の方式で学習させることができる。
特に、本発明の一実施形態による映像処理装置は、映像を処理する過程の一部が類似しているが、異なる結果を出力するニューラルネットワークを、メインニューラルネットワークとサブニューラルネットワークとによって構成することができる。
【００８８】
例えば、第１ニューラルネットワークと第２ニューラルネットワークとのうち一つを、メインニューラルネットワークとして構成し、残りニューラルネットワークにおいて、メインニューラルネットワークと異なる処理過程を有する部分のみをサブニューラルネットワークとして構成することができる。
ただし、それに限定されるものではない。
それにより、映像処理装置は、同様の類似の処理過程については学習を重複させないことにより、ニューラルネットワーク学習の効率性を上昇させることができる。
【００８９】
図１４は、本発明の一実施形態による映像処理装置の概略構成を示すブロック図である。
図１４を参照すると、本発明の一実施形態による映像処理装置１００は、プロセッサ１２０及びメモリ１３０を含む。
本発明の一実施形態によるプロセッサ１２０は、メモリ１３０に保存される１以上のプログラムを実行することができる。
【００９０】
プロセッサ１２０は、シングルコア、デュアルコア、トリプルコア、クアッドコア、及びその倍数のコアを含んでもよい。
また、プロセッサ１２０は、複数のプロセッサを含んでもよい。
例えば、プロセッサ１２０は、メインプロセッサ（ｍａｉｎ  ｐｒｏｃｅｓｓｏｒ；図示せず）、及びスリープモード（ｓｌｅｅｐ  ｍｏｄｅ）で動作するサブプロセッサ（ｓｕｂ  ｐｒｏｃｅｓｓｏｒ；図示せず）によっても具現される。
【００９１】
一実施形態によるメモリ１３０は、映像処理装置１００を駆動して制御するための多様なデータ、プログラム又はアプリケーションを保存することができる。
また、メモリ１３０に保存されるプログラムは、１以上のインストラクションを含み得る。
メモリ１３０に保存されたプログラム（１以上のインストラクション）又はアプリケーションは、プロセッサ１２０によって実行される。
【００９２】
一実施形態によるプロセッサ１２０は、メモリ１３０に保存される１以上のインストラクションを実行することにより、メインニューラルネットワークを利用して第１映像を処理する。
このとき、メインニューラルネットワークは、予め設定された目的により、映像を処理するように学習されたモデルである。
また、メインニューラルネットワークは、複数の畳み込み層を含む畳み込みニューラルネットワークである。
例えば、メインニューラルネットワークは、入力された映像に、予め設定されたスタイルを適用し、スタイルが変換された映像を出力するように学習されたモデルである。
又は、メインニューラルネットワークは、入力された低解像度の映像を高解像度映像に変換し、変換された高解像度映像を出力するように学習されたモデルである。
ただし、それらに限定されるものではない。
【００９３】
プロセッサ１２０は、メインニューラルネットワークを利用して入力された第１映像を処理し、最終出力映像（第２映像）を取得する。
プロセッサ１２０は、第１映像の処理過程で出力される中間結果データを取得し、取得された中間結果データを、サブニューラルネットワークを利用して処理する。
プロセッサ１２０は、サブニューラルネットワークを利用して中間結果データを処理することにより、最終出力映像（第２映像）と異なる中間出力映像（第３映像）を取得する。
このとき、メインニューラルネットワークが、予め設定されたスタイルを適用するように学習されたモデルである場合、最終出力映像と中間出力映像とにスタイルが適用された程度が異なる。
例えば、中間出力映像にスタイルが適用された程度が、最終出力映像にスタイルが適用された程度よりも低い。
ただし、それに限定されるものではない。
【００９４】
一方、プロセッサ１２０は、第１映像（入力映像）から中間出力映像を生成するのに所要する時間（第１時間）と、第１映像から最終出力映像を生成するのに所要する時間（第２時間）とを予測する。
また、プロセッサ１２０は、予測された第１時間と第２時間との差を予め設定された時間と比較することにより、サブニューラルネットワークを利用して中間出力映像を生成するか否かを決定する。
また、プロセッサ１２０は、現在時点から中間出力映像を生成するのに所要する時間、又は最終出力映像を生成するのに所要する時間をディスプレイに表示するように制御する。
【００９５】
また、プロセッサ１２０は、ユーザ入力に基づいて、最終出力映像が生成される前に、メインニューラルネットワークを利用した第１映像の処理を終了することができる。
プロセッサ１２０は、ユーザに中間出力映像を提供する間、ユーザインターフェースを介して、ユーザが第１映像を処理する前に中断できるようにする。
例えば、中間出力映像が表示された状態で、映像処理中断要請を受信すれば、プロセッサ１２０は、メインニューラルネットワークでの第１映像に対する映像処理を中断する。
それにより、プロセッサ１２０は、次の中間出力映像及び最終出力映像を生成しない。
【００９６】
図１５は、本発明の一実施形態によるプロセッサの概略構成を示すブロック図である。
図１５を参照すると、本発明の一実施形態によるプロセッサ１２０は、データ学習部１４１０（ｌｅａｒｎ）及びデータ処理部１４２０を含む。
【００９７】
データ学習部１４１０は、一実施形態によるメインニューラルネットワーク及びサブニューラルネットワークを学習させるために、予め設定された目的による映像処理の基準を学習することができる。
例えば、データ学習部１４１０は、入力映像に、予め設定されたスタイルを適用するために、入力映像のいかなる情報（例えば、特徴情報）を利用するかということに関係する基準を学習する。
また、データ学習部１４１０は、映像の特徴情報を利用し、いかに予め設定されたスタイルを適用するかということに関係する基準を学習する。
データ学習部１４１０は、学習に利用されるデータ（例えば、映像）を取得し、取得されたデータを、データ処理モデル（メインニューラルネットワーク及びサブニューラルネットワーク）に適用することにより、入力映像に、予め設定されたスタイルを適用するための基準を学習することができる。
【００９８】
データ処理モデル（例えば、メインニューラルネットワーク及びサブニューラルネットワーク）は、認識モデルの適用分野、学習の目的、又は装置のコンピュータ性能などを考慮して構築される。
データ処理モデルは、例えば、神経網（ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）をベースとするモデルである。
例えば、ＤＮＮ（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、ＲＮＮ（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、ＢＲＤＮＮ（Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｒｅｃｕｒｒｅｎｔ  Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）のようなモデルが、データ処理モデルとして使用されるが、それらに限定されるものではない。
【００９９】
また、データ学習部１４１０は、例えば、エラー逆伝播法（ｅｒｒｏｒ  ｂａｃｋ−ｐｒｏｐａｇａｔｉｏｎ）又は傾斜下降法（ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ）を含む学習アルゴリズムなどを利用してデータ処理モデルを学習させることができる。
また、データ学習部１４１０は、例えば、学習データを入力値にする指導学習（ｓｕｐｅｒｖｉｓｅｄ  ｌｅａｒｎｉｎｇ）を介して、データ処理モデルを学習させることができる。
また、データ学習部１６１０は、例えば、これといった指導もなしに、データ処理のために、必要なデータの種類を自ら学習することにより、データ処理のための基準を見い出す、非指導学習（ｕｎｓｕｐｅｒｖｉｓｅｄ  ｌｅａｒｎｉｎｇ）を介し、データ処理モデルを学習させることができる。
また、データ学習部１６１０は、例えば、学習による結果値が正しいか否かに関係するフィードバックを利用する強化学習（ｒｅｉｎｆｏｒｃｅｍｅｎｔ  ｌｅａｒｎｉｎｇ）を介し、データ処理モデルを学習させることができる。
【０１００】
また、データ処理モデルが学習されれば、データ学習部１４１０は、学習されたデータ処理モデルを保存する。
その場合、データ学習部１４１０は、学習されたデータ処理モデルを、映像処理装置のメモリに保存する。
又は、データ学習部１４１０は、学習されたデータ処理モデルを、映像処理装置と、有線又は無線のネットワークで接続されたサーバのメモリに保存することもできる。
その場合、学習されたデータ処理モデルが保存されるメモリは、例えば、映像処理装置の少なくとも１つの他の構成要素に関係する命令又はデータを共に保存することもできる。
また、メモリは、ソフトウェア及び／又はプログラムを保存することもできる。
プログラムは、例えば、カーネル、ミドルウェア、アプリケーションプログラミングインターフェース（ＡＰＩ）及び／又はアプリケーションプログラム（又は、「アプリケーション」）などを含み得る。
【０１０１】
データ処理部１４２０は、学習されたメインニューラルネットワークを含むデータ処理モデルに映像を入力し、データ処理モデルは、結果値として、予め設定された目的によって処理された映像を出力する。
例えば、データ処理モデルは、入力映像に予め設定されたスタイルが適用された映像を出力する。
また、出力された結果値（映像）は、メインニューラルネットワーク及びサブニューラルネットワークを含むデータ処理モデルをアップデートするのにも利用される。
【０１０２】
データ学習部１４１０及びデータ処理部１４２０の内の少なくとも一つは、少なくとも１つのハードウェアチップ形態に作製され、映像処理装置に搭載される。
例えば、データ学習部１４１０及びデータ処理部１４２０の内の少なくとも一つは、人工知能（ａｒｔｉｆｉｃｉａｌ  ｉｎｔｅｌｌｉｇｅｎｃｅ：ＡＩ）のための専用ハードウェアチップ形態に作製され、又は既存の汎用プロセッサ（例えば、ＣＰＵ又はａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｃｅｓｓｏｒ）又はグラフィック専用プロセッサ（例えば、ＧＰＵ）の一部として作製され、前述の各種映像処理装置に搭載される。
その場合、データ学習部１４１０及びデータ処理部１４２０は、１つの映像処理装置に搭載されるか、又は別個の映像処理装置にもそれぞれ搭載される。
【０１０３】
例えば、データ学習部１４１０及びデータ処理部１４２０の内の一つは、映像処理装置に含まれ、残りの一つは、サーバに含まれる。
また、データ学習部１４１０及びデータ処理部１４２０は、有線又は無線で通じ、データ学習部１４１０が構築したモデル情報を、データ処理部１４２０に提供することもでき、データ処理部１４２０に入力されたデータが、追加学習データとして、データ学習部１４１０にも提供される。
【０１０４】
一方、データ学習部１４１０及びデータ処理部１４２０の内の少なくとも一つは、ソフトウェアモジュールによっても具現され得る。
データ学習部１４１０及びデータ処理部１４２０の内の少なくとも一つが、ソフトウェアモジュール（又は、インストラクション（ｉｎｓｔｒｕｃｔｉｏｎ）含むプログラムモジュール）によって具現される場合、ソフトウェアモジュールは、コンピュータで読み取り可能な非一時的可読記録媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉａ）に保存される。
また、その場合、少なくとも１つのソフトウェアモジュールは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって提供されるか、あるいは所定のアプリケーションによっても提供され得る。
又は、少なくとも１つのソフトウェアモジュールの内の一部は、ＯＳによって提供され、残り一部は、所定のアプリケーションによって提供され得る。
【０１０５】
図１６は、本発明の一実施形態による映像処理装置及びサーバが互いに連動することにより、データを学習して認識する例を説明するための図である。
図１６を参照すると、サーバ２０００は、予め設定された目的による映像処理の基準を学習し、メインニューラルネットワーク又はサブニューラルネットワークを学習させる。
【０１０６】
その場合、サーバ２０００は、図１５に示したデータ学習部１４１０の機能を実行する。
サーバ２０００は、予め設定された目的により、入力映像を処理するために、いかなる学習データを利用しなければならないかということに関係する基準を学習することもできる。
また、サーバ２０００は、データを利用し、予め設定された目的により、映像を処理するための基準を学習することができる。
また、サーバ２０００は、メインニューラルネットワーク及びサブニューラルネットワークの内の少なくとも一つを、学習データを利用して学習させることができる。
【０１０７】
また、映像処理装置１００は、データをサーバ２０００に伝送し、サーバ２０００がデータを、データ処理モデル（メインニューラルネットワーク及びサブニューラルネットワーク）に適用して処理することを要請することができる。
例えば、サーバ２０００は、データ処理モデル（メインニューラルネットワーク及びサブニューラルネットワーク）を利用して予め設定された目的により、映像を処理する。
例えば、サーバ２０００は、入力された映像に、予め設定されたスタイルを適用し、スタイルが変換された映像を出力する。
【０１０８】
又は、映像処理装置１００は、サーバ２０００によって生成されたデータ処理モデルをサーバ２０００から受信し、受信されたデータ処理モデルを利用してデータを処理することができる。
例えば、映像処理装置１００は、受信されたデータ処理モデル（メインニューラルネットワーク及びサブニューラルネットワーク）を利用して予め設定された目的により、映像を処理する。
例えば、映像処理装置１００は、入力された映像に、予め設定されたスタイルを適用し、スタイルが変換された映像を出力する。
【０１０９】
図１７は、本発明の他の実施形態による映像処理装置の構成を示すブロック図である。
図１７の映像処理装置１７００は、図１４の映像処理装置１００の一実施形態である。
図１７を参照すると、本発明の一実施形態による映像処理装置１７００は、チューナ部１７４０、制御部１７１０、ディスプレイ部１７２０、通信部１７５０、感知部１７３０、入出力部１７７０、ビデオ処理部１７８０、オーディオ処理部１７１５、オーディオ出力部１７２５、保存部１７９０、及び電源部１７６０を含む。
【０１１０】
チューナ部１７４０は、有線又は無線で受信される放送信号に対し、増幅（ａｍｐｌｉｆｉｃａｔｉｏｎ）、混合（ｍｉｘｉｎｇ）、共振（ｒｅｓｏｎａｎｃｅ）などを介して、多くの電波成分のうち、映像処理装置１７００で受信しようとするチャネルの周波数のみをチューニング（ｔｕｎｉｎｇ）して選択する。
放送信号は、オーディオ（ａｕｄｉｏ）、ビデオ（ｖｉｄｅｏ）、及び付加情報（例えば、ＥＰＧ（ｅｌｅｃｔｒｏｎｉｃ  ｐｒｏｇｒａｍ  ｇｕｉｄｅ））を含む。
チューナ部１７４０は、ユーザ入力（例えば、制御装置から受信される制御信号、例えば、チャネル番号入力、チャネルのアップ／ダウン（ｕｐ／ｄｏｗｎ）入力、及びＥＰＧ画面でのチャネル入力）により、チャネル番号に対応する周波数帯域において、放送信号を受信する。
チューナ部１７４０は、地上波放送、ケーブル放送、衛星放送、インターネット放送のような多様なソースから、放送信号を受信することができる。
チューナ部１７４０は、アナログ放送又はデジタル放送のようなソースから、放送信号を受信することもできる。
【０１１１】
通信部１７５０は、制御部１７１０の制御により、外部装置又はサーバと、データ又は信号を送受信する。
制御部１７１０は、通信部１７５０を介して接続された外部装置に、又は外部装置からコンテンツを送／受信したり、外部装置からアプリケーション（Ａｐｐｌｉｃａｔｉｏｎ）をダウンロードしたり、ウェブブラウジングをしたりすることを制御する。
通信部１７５０は、映像処理装置１７００の性能及び構造に対応して無線ＬＡＮ１７５１、例えば、Ｗｉ−Ｆｉ（ｗｉｒｅｌｅｓｓ  ｆｉｄｅｌｉｔｙ）、ブルートゥース（登録商標）（Ｂｌｕｅｔｏｏｔｈ（登録商標））１７５２、及び有線イーサネット（登録商標）（Ｅｔｈｅｒｎｅｔ）１７５３の内の少なくとも１つの方式により、データ又は信号を送受信する。
【０１１２】
ビデオ処理部１７８０は、映像処理装置１７００が受信したビデオデータに対する処理を行う。
ビデオ処理部１７８０においては、ビデオデータに対するデコーディング、スケーリング、ノイズフィルタリング、フレームレート変換、解像度変換のような多様なイメージ処理を行う。
感知部１７３０は、ユーザの音声、ユーザの映像、又はユーザのインタラクションを感知し、マイク１７３１、カメラ部１７３２、及び光受信部１７３３を含む。
【０１１３】
マイク１７３１は、ユーザの発話（ｕｔｔｅｒａｎｃｅ）された音声を受信する。
マイク１７３１は、受信した音声を電気信号に変換し、制御部１７１０に出力する。
ユーザ音声は、例えば、映像処理装置１７００のメニュー又は機能に対応する音声を含み得る。
カメラ部１７３２は、カメラ認識範囲において、ジェスチャを含むユーザのモーションに対応する映像（例えば、連続フレーム）を受信する。
制御部１７１０は、受信したモーションの認識結果を利用して映像処理装置１７００に表示されるメニューを選択したり、モーション認識結果に対応する制御を行ったりする。
【０１１４】
光受信部１７３３は、外部の制御装置から受信した光信号（制御信号を含む）をディスプレイ部１７２０のベゼルの光窓（図示せず）などを介して受信する。
光受信部１７３３は、制御装置から、ユーザ入力（例えば、タッチ、押し（プッシュ）、タッチジェスチャ、音声、又はモーション）に対応する光信号を受信する。
受信した光信号から、制御部１７１０の制御により、制御信号が抽出される。
入出力部１７７０は、制御部１７１０の制御により、映像処理装置１７００の外部から、ビデオ（例えば、動画など）、オーディオ（例えば、音声、音楽など）及び付加情報（例えば、ＥＰＧなど）などを受信する。
【０１１５】
入出力部１７７０は、ＨＤＭＩ（登録商標）ポート（ｈｉｇｈ−ｄｅｆｉｎｉｔｉｏｎ  ｍｕｌｔｉｍｅｄｉａ  ｉｎｔｅｒｆａｃｅ  ｐｏｒｔ）１７７１、コンポーネントジャック（ｃｏｍｐｏｎｅｎｔ  ｊａｃｋ）１７７２、ＰＣ（ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）ポート１７７３、及びＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）ポート１７７４の内の一つ以上を含み得る。
入出力部１７７０は、ＨＤＭＩ（登録商標）ポート１７７１、コンポーネントジャック１７７２、ＰＣポート１７７３、及びＵＳＢポート１７７４の組み合わせを含み得る。
【０１１６】
制御部１７１０は、映像処理装置１７００の全般的な動作、及び映像処理装置１７００の内部構成要素間の信号フローを制御し、データを処理する機能を実行する。
制御部１７１０は、ユーザの入力があるか、あるいは予め設定された保存条件を満足する場合、保存部１７９０に保存されたＯＳ（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）、及び多様なアプリケーションを実行する。
制御部１７１０は、映像処理装置１７００の外部から入力される信号又はデータを保存したり、映像処理装置１７００で実行される多様な作業に対応する、保存領域で使用されるＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１７８１、映像処理装置１７００の制御のための制御プログラムが保存されたＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）１７８２、プロセッサ１７８３、第１〜第ｎインターフェース（１７８５−１〜１７８５−ｎ）、及びグラフィック処理部１７８４を含み得る。
【０１１７】
グラフィック処理部１７８４は、演算部（図示せず）及びレンダリング部（図示せず）を利用してアイコン、イメージ、テキストのような多様な客体（オブジェクト）を含む画面を生成する。
演算部は、感知部１７３０を介して感知されたユーザ入力を利用して画面のレイアウトにより、各客体が表示される座標値、形態、大きさ、カラーのような属性値を演算する。
レンダリング部は、演算部で演算した属性値に基づいて、客体を含む多様なレイアウトの画面を生成する。
レンダリング部で生成された画面は、ディスプレイ部１７２０のディスプレイ領域内に表示される。
【０１１８】
第１インターフェース（１７８５−１）〜第ｎインターフェース（１７８５−ｎ）は、前述の各種構成要素と接続される。
インターフェースの内の一つは、ネットワークを介して、外部装置と接続されるネットワークインターフェースにもなる。
ＲＡＭ１７８１、ＲＯＭ１７８２、プロセッサ１７８３、グラフィック処理部１７８４、第１インターフェース（１７８５−１）〜第ｎインターフェース（１７８５−ｎ）は、内部バス（ｂｕｓ）１７８６を介して、相互接続される。
本実施形態において、「映像処理装置の制御部」という用語は、プロセッサ１７８３、ＲＯＭ１７８２及びＲＡＭ１７８１を含む。
【０１１９】
ディスプレイ部１７２０は、制御部１７１０で処理された映像信号、データ信号、ＯＳＤ（ｏｎ−ｓｃｒｅｅｎ  ｄｉｓｐｌａｙ）信号、制御信号などを変換し、駆動信号を生成する。
ディスプレイ部１７２０は、ＰＤＰ（ｐｌａｓｍａ  ｄｉｓｐｌａｙ  ｐａｎｅｌ）、ＬＣＤ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ）、ＯＬＥＤ（ｏｒｇａｎｉｃ  ｌｉｇｈｔ  ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ）、フレキシブルディスプレイ（ｆｌｅｘｉｂｌｅ  ｄｉｓｐｌａｙ）などによっても具現され、また、三次元ディスプレイ（３Ｄ  ｄｉｓｐｌａｙ）によっても具現される。
また、ディスプレイ部１７２０は、タッチスクリーンによって構成され、出力装置以外に、入力装置として使用することも可能である。
【０１２０】
オーディオ処理部１７１５は、オーディオデータに対する処理を行う。
オーディオ処理部１７１５においては、オーディオデータに対するデコーディング、増幅、ノイズフィルタリングのような多様な処理が行われる。
一方、オーディオ処理部１７１５は、複数のコンテンツに対応するオーディオを処理するために、複数のオーディオ処理モジュールを具備し得る。
【０１２１】
オーディオ出力部１７２５は、制御部１７１０の制御により、チューナ部１７４０を介して受信された放送信号に含まれたオーディオを出力する。
オーディオ出力部１７２５は、通信部１７５０又は入出力部１７７０を介して入力されるオーディオ（例えば、音声、サウンド）を出力する。
また、オーディオ出力部１７２５は、制御部１７１０の制御により、保存部１７９０に保存されたオーディオを出力する。
オーディオ出力部１７２５は、スピーカ１７２６、ヘッドフォン出力端子１７２７、又はＳ／ＰＤＩＦ（Ｓｏｎｙ（登録商標）／Ｐｈｉｌｉｐｓ（登録商標）  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）出力端子１７２８の内の少なくとも一つを含み得る。
オーディオ出力部１７２５は、スピーカ１７２６、ヘッドフォン出力端子１７２７、及びＳ／ＰＤＩＦ出力端子１７２８の組み合わせを含み得る。
【０１２２】
電源部１７６０は、映像処理装置１７００内部の構成要素であり、制御部１７１０の制御により、外部の電源ソースから入力される電源を供給する。
また、電源部１７６０は、制御部１７１０の制御により、映像処理装置１７００内部に位置する１又は２以上のバッテリ（図示せず）から出力される電源を内部の構成要素に供給することもできる。
【０１２３】
保存部１７９０は、制御部１７１０の制御により、映像処理装置１７００を駆動して制御するための多様なデータ、プログラム又はアプリケーションを保存する。
保存部１７９０は、図に示していない放送受信モジュール、チャネル制御モジュール、ボリューム制御モジュール、通信制御モジュール、音声認識モジュール、モーション認識モジュール、光受信モジュール、ディスプレイ制御モジュール、オーディオ制御モジュール、外部入力制御モジュール、電源制御モジュール、無線（例えば、ブルートゥース（登録商標）（Ｂｌｕｅｔｏｏｔｈ（登録商標）））で接続される外部装置の電源制御モジュール、音声データベース（ＤＢ）、又はモーションデータベース（ＤＢ）を含み得る。
【０１２４】
保存部１７９０の図に示していないモジュール、及びデータベースは、映像処理装置１７００において、放送受信の制御機能、チャネル制御機能、ボリューム制御機能、通信制御機能、音声認識機能、モーション認識機能、光受信制御機能、ディスプレイ制御機能、オーディオ制御機能、外部入力制御機能、電源制御機能、又は無線（例えば、ブルートゥース（登録商標）（Ｂｌｕｅｔｏｏｔｈ（登録商標）））で接続される外部装置の電源制御機能を実行するために、ソフトウェア形態でも具現され得る。
制御部１７１０は、保存部１７９０に保存されたそれらのソフトウェアを利用し、それぞれの機能を実行することができる。
【０１２５】
一方、図１４及び図１７に示した映像処理装置（１００、１７００）のブロック図は、本発明の一実施形態のためのブロック図である。
ブロック図の各構成要素は、実際に具現される映像処理装置（１００、１７００）の仕様により、統合、追加又は省略される。
すなわち、必要により、２以上の構成要素が１つの構成要素に合わされたり、１つの構成要素が２以上の構成要素に細分されて構成されたりもする。
また、各ブロックで実行する機能は、実施形態について説明するためのものであり、その具体的な動作や装置は、本発明の権利範囲を制限するものではない。
【０１２６】
本発明の一実施形態による映像処理装置の動作方法は、多様なコンピュータ手段を介して実行されるプログラム命令形態によって具現され、コンピュータ読取可能記録媒体に記録される。
コンピュータ読取可能記録媒体は、プログラム命令、データファイル、データ構造などを、単独又は組み合わせて含み得る。
コンピュータ読取可能記録媒体に記録されるプログラム命令は、本発明のために特別に設計されて構成されたものであってもよく、コンピュータソフトウェア当業者に公知されて使用可能なものであってもよい。
【０１２７】
コンピュータ読取可能記録媒体の例としては、ハードディスク、フロッピィーディスク（登録商標）及び磁気テープのような磁気媒体（ｍａｇｎｅｔｉｃ  ｍｅｄｉａ）、ＣＤ−ＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ）のような光記録媒体（ｏｐｔｉｃａｌ  ｍｅｄｉａ）、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような磁気・光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  ｍｅｄｉａ）、及びＲＯＭ、ＲＡＭ、フラッシュメモリのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。
プログラム命令の例には、コンパイラによって作われるような機械語コードだけではなく、インタープリタなどを使用し、コンピュータによって実行される高級言語コードを含む。
【０１２８】
また、開示した実施形態による電子装置、又は電子装置の動作方法は、コンピュータプログラム製品（ｃｏｍｐｕｔｅｒ  ｐｒｏｇｒａｍ  ｐｒｏｄｕｃｔ）に含まれても提供される。
コンピュータプログラム製品は、商品として、販売者及び購買者の間で取り引きされる。
コンピュータプログラム製品は、Ｓ／Ｗ（ソフトウェア）プログラム、Ｓ／Ｗプログラムが保存されたコンピュータ読取可能記録媒体を含んでもよい。
例えば、コンピュータプログラム製品は、電子装置のメーカー又は電子マーケット（例えば、Ｇｏｏｇｌｅ（登録商標）プレイストア、アプリストア）を介して、電子的に配布されるＳ／Ｗプログラム形態の商品（例えば、ダウンローダブルアプリ）を含んでもよい。
【０１２９】
電子的配布のために、Ｓ／Ｗプログラムの少なくとも一部は、記録媒体に保存されるか、あるいは臨時的にも生成される。
その場合、記録媒体は、メーカーのサーバ、電子マーケットのサーバ、又はＳＷプログラムを臨時的に保存する中継サーバの記録媒体にもなる。
コンピュータプログラム製品は、サーバ及びクライアント装置で構成されるシステムにおいて、サーバの記録媒体、又はクライアント装置の記録媒体を含んでもよい。
又は、サーバ又はクライアント装置と通信接続される第３の装置（例えば、スマートフォン）が存在する場合、コンピュータプログラム製品は、第３の装置の記録媒体を含んでもよい。
又は、コンピュータプログラム製品は、サーバから、クライアント装置又は第３の装置に伝送されたり、第３の装置からクライアント装置に伝送されたりするＳ／Ｗプログラム自体を含んでもよい。
【０１３０】
その場合、サーバ、クライアント装置、及び第３の装置の内の一つが、コンピュータプログラム製品を実行して開示した実施形態による方法を実行することができる。
又は、サーバ、クライアント装置、及び第３の装置の内の２以上が、コンピュータプログラム製品を実行して開示した実施形態による方法を分散させて実施することもできる。
例えば、サーバ（例えば、クラウドサーバ又は人工知能サーバなど）が、サーバに保存されたコンピュータプログラム製品を実行し、サーバと通信接続されたクライアント装置が、開示した実施形態による方法を実行するように制御することができる。
【０１３１】
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【産業上の利用可能性】
【０１３２】
本発明に係る映像処理装置及びその動作方法は、例えば、映像処理関連の技術を含む多様な電子装置に好適に使用される。
【符号の説明】
【０１３３】
１０    入力された映像
１５    予め設定されたスタイル
２０    最終出力映像
３０    中間出力映像
１００、１７００    映像処理装置
１２０    プロセッサ
１３０    メモリ
２００、１１００    メインニューラルネットワーク
２１０、２２０    （第１、第２）畳み込み層
３００、２０５０    サブニューラルネットワーク
３０１〜３０４    （第１〜第４）サブニューラルネットワーク
３１０、７１０    第１映像（入力データ）
３２０、７２０    第２映像（（最終）出力映像）
３３０    第３映像（処理されたデータ）
４５１、５１０、６１０    入力データ
４５２    Ｎ層の畳み込み層
４５３、５４０、６４０    （第１）出力データ
５３０、６３０    １以上のカーネル（第１カーネル）
７０５    予め設定されたスタイル
１１１０、１１２０    （第１、第２）サブニューラルネットワーク
１３１０    映像特徴抽出部
１３２０    スタイル分析部
１３３０    コンテンツ分析部
１３４０    ネットワーク更新部
１４１０    データ学習部
１４２０    データ処理部
２０００    サーバ
【図１】
2020087449.tif 000003
【図２】
2020087449.tif 000004
【図３】
2020087449.tif 000005
【図４】
2020087449.tif 000006
【図５】
2020087449.tif 000007
【図６】
2020087449.tif 000008
【図７】
2020087449.tif 000009
【図８】
2020087449.tif 000010
【図９】
2020087449.tif 000011
【図１０】
2020087449.tif 000012
【図１１】
2020087449.tif 000013
【図１２】
2020087449.tif 000014
【図１３】
2020087449.tif 000015
【図１４】
2020087449.tif 000016
【図１５】
2020087449.tif 000017
【図１６】
2020087449.tif 000018
【図１７】
2020087449.tif 000019