JP2022536327A - カメラ装置及びカメラ装置のイメージ生成方法 - Google Patents
カメラ装置及びカメラ装置のイメージ生成方法 Download PDFInfo
- Publication number
- JP2022536327A JP2022536327A JP2021572932A JP2021572932A JP2022536327A JP 2022536327 A JP2022536327 A JP 2022536327A JP 2021572932 A JP2021572932 A JP 2021572932A JP 2021572932 A JP2021572932 A JP 2021572932A JP 2022536327 A JP2022536327 A JP 2022536327A
- Authority
- JP
- Japan
- Prior art keywords
- data
- image
- resolution
- bayer
- processor
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 107
- 238000012549 training Methods 0.000 claims description 31
- 238000013527 convolutional neural network Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 description 180
- 238000013135 deep learning Methods 0.000 description 143
- 239000000872 buffer Substances 0.000 description 68
- 238000004422 calculation algorithm Methods 0.000 description 62
- 230000008569 process Effects 0.000 description 58
- 230000006870 function Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 31
- 230000015654 memory Effects 0.000 description 28
- 238000007781 pre-processing Methods 0.000 description 28
- 238000005516 engineering process Methods 0.000 description 25
- 238000004566 IR spectroscopy Methods 0.000 description 14
- 238000013528 artificial neural network Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 14
- 230000003287 optical effect Effects 0.000 description 13
- 230000008901 benefit Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 12
- 238000005070 sampling Methods 0.000 description 10
- 238000013136 deep learning model Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 239000007788 liquid Substances 0.000 description 8
- 238000003672 processing method Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 6
- 239000003086 colorant Substances 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 210000004027 cell Anatomy 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000004040 coloring Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 239000011365 complex material Substances 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000005498 polishing Methods 0.000 description 2
- 238000002203 pretreatment Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000012780 transparent material Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000002620 method output Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000003381 stabilizer Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
- H04N23/815—Camera processing pipelines; Components thereof for controlling the resolution by using a single image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/10—Circuitry of solid-state image sensors [SSIS]; Control thereof for transforming different wavelengths into image signals
- H04N25/11—Arrangement of colour filter arrays [CFA]; Filter mosaics
- H04N25/13—Arrangement of colour filter arrays [CFA]; Filter mosaics characterised by the spectral characteristics of the filter elements
- H04N25/134—Arrangement of colour filter arrays [CFA]; Filter mosaics characterised by the spectral characteristics of the filter elements based on three different wavelength filter elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Studio Devices (AREA)
- Image Processing (AREA)
- Color Television Image Signal Generators (AREA)
Abstract
一実施例に係るカメラ装置は、第1解像度を有する第1ベイヤーデータを生成するイメージセンサー及び前記第1ベイヤーデータを利用して第2解像度を有する第2ベイヤーデータを出力するプロセッサを含むことができる。
Description
本発明は、カメラモジュール及びこれを含む移動端末装置、イメージ生成方法に関する発明であって、より具体的に深層学習(Deep Learning)アルゴリズムを利用して低解像度のイメージを高解像度のイメージに生成する技術に関する発明である。
技術が発展するにつれカメラモジュールの小型化が可能になり、小型カメラモジュールは、スマートフォンをはじめとする携帯電話やPDAなど様々なIT機器に適用されて使われている。このようなカメラモジュールは、CCDやCMOSなどのイメージセンサーを主な部品で製作されていて、画像の大きさを調節するために焦点調整ができるように製造されている。
このようなカメラモジュールは、複数のレンズとアクチュエータ(Actuator)を含んで構成されて、アクチュエータが、各レンズを移動させてその相対的な距離を変化させることによって光学的な焦点距離が調節される方式で対象体に対する物体を撮影することができる。
具体的にカメラモジュールは、外部から受信した光信号を電気信号に変換するイメージセンサーとイメージセンサーで光を集光させるレンズとIR(Infrared)フィルター、これらを内部に含むハウジング、及びイメージセンサーの信号を処理する印刷回路基板をなどを含んでおり、アクチュエータは、VCM(Voice Coil Motor)アクチュエータまたはMEMS(Micro Electromechanical Systems)アクチュエータなどのアクチュエータによってレンズの焦点距離が調節される。
一方、技術が発展によって解像度が高いイメージの実現が可能になるにつれ、遠くにある対象体を撮影したイメージを高解像度で実現することができる技術に対する要求も増えている。
一般にカメラは遠くにある対象体を撮影するためにズーム(Zoom)機能が搭載されているが、ズーム機能は大きくカメラ内部の実際のレンズが移動して対象体を拡大する光学ズームと、対象体を撮影した画像データの一部画面をデジタル処理方式で拡大表示する効果を得るデジタルズーム方式で分けられる。
レンズの移動を利用して対象体に対するイメージを得る光学ズームの場合、比較的高い解像度を有するイメージを取得できるが、これはカメラ内部の構造が複雑になり部品追加によって費用が増加する問題が存在する。また、光学ズームを利用して対象体を拡大できる領域は限界があって、このような部分についてはソフトウェアで補正をする技術などが開発されている。
このような方法の他にも、ボイスコイルモーター(VCM,Voice Coil Motor)またはMEMS(Micro-Electro Mechanical Systems)技術でセンサーを揺らすセンサーシフト(Shift)技術、レンズをVCMなどで揺らしてピクセル情報を得るOIS(Optical Image Stabilizer)技術、センサーとレンズとの間のフィルター(Filter)を揺らす技術などカメラ内部の部品を動かす方式でピクセル情報をより多く生成して高解像度イメージを実現する技術が存在する。
しかし、このような技術の短所は、多くの時差のデータを合成するため、動く物体を撮影した場合、モーションブラー(Motion Blur)や、アーチファクト(Artifact)のような現象が発生する可能性があり、これによってイメージの画質を低下させる問題が発生する可能性がある。
また、これを実現するための複雑な装置が、カメラ内部に挿入されるにつれカメラモジュールの大きさが大きくなり、部品を揺らす方法で実現をするので、カメラが設置された車両では使うのが難しく、固定的な環境でだけ使用が可能な問題が存在する。
一方、TVで一般に使われているソフトウェアアルゴリズムを利用した高解像度の実現技術は、シングルフレームSR(Single-Frame Super Resolution)またはマルチフレームSR(Multi-frame Super Resolution)技術などが存在する。
このような技術の場合、アーチファクト(Artifact)問題は発生することはないが、モバイル、車両、IoTなど小型カメラモジュールが適用されることができる装置には適用し難いアルゴリズムであり、またこのような技術を実現するためには、別途のイメージプロセッサが装着されるがなければ実現し難い問題点が存在する。
そこで、本発明は、前述した通り従来技術が有する問題点を解決するために考案された発明であって、モーションブラー(Motion Blur)や、アーチファクト(Artifact)のような問題点が発生しないと共に、高解像度イメージを生成できるカメラモジュール及びこれを含んだ移動端末装置を提供する。
具体的に、ディープラーニング技術に基づいた高解像度の実現アルゴリズムが適用されたチップ(Chip)をオンザフライ(On The Fly)形態でカメラモジュールまたはカメラモジュールが装着されている移動端末装置に搭載してより効率よく高解像度イメージを生成できるカメラモジュール及びこれを含んだ移動端末装置を提供する。
一実施例に係るカメラ装置は、第1解像度を有する第1ベイヤーデータを生成するイメージセンサー及び前記第1ベイヤーデータを基にディープラーニングを行って前記第1解像度より高い第2解像度を有する第2ベイヤーデータを出力するプロセッサを含むことができる。
前記プロセッサは、前記第1ベイヤーデータを波長帯域別に配列した第1配列データを生成した後、生成された前記第1配列データを基にディープラーニングを行って前記第2配列データを生成することができる。
前記プロセッサは、前記第2配列データを基に前記第2ベイヤーデータを生成することができる。
前記プロセッサは、前記第2ベイヤーデータを基に前記第2解像度を有するイメージを生成することができる。
前記プロセッサは、前記第1ベイヤーデータを波長帯域別に配列した第1配列データを生成する第1データ整列部、前記第1配列データを基にディープラーニングを行って第2配列データを出力するディープラーニングプロセッサ及び前記第2配列データをベイヤーパターンで配列した第2ベイヤーデータを生成する第2データ整列部を含むことができる。
前記プロセッサは、前記第1ベイヤーデータをライン別に保存する少なくとも1つの第1ラインバッファー(Line Buffer)、前記第1ラインバッファーから出力される情報を受信して波長帯域別に配列した第1配列データを生成する第1データ整列部、前記第1配列データを基にディープラーニングを行って第2配列データを生成するディープラーニングプロセッサ、第2配列データをベイヤーパターンで配列した第2配列データを生成する第2データ整列部及び前記第2データ整列部から出力されたデータをライン別に保存する少なくとも1つの第2ラインバッファーを含むことができる。
他の実施例に係るカメラ装置のイメージ生成方法は、第1解像度を有する第1ベイヤーデータを生成する段階、前記第1ベイヤーデータを波長帯域別に分類した第1配列データを生成する段階、前記第1配列データを基にディープラーニングを行って第2配列データを生成する段階、前記第2配列データを基に前記第1解像度より高い第2解像度を有する第2ベイヤーデータを生成することができる。
前記第2ベイヤーデータを生成する段階は、前記第2配列データをベイヤーパターンで配列して生成する段階を含むことができる。
前記カメラ装置のイメージ生成方法は、前記第1ベイヤーデータは複数の行データを含み、前記第1配列データを生成する段階は、既設定されたN+1個の行ラインを介して出力される前記第1ベイヤーデータを基に前記第1配列データを生成する段階を含むことができる。
前記既設定されたN+1個の行ラインを介して出力される段階は、受信される前記第1ベイヤーデータの複数の行データのうちN個の行データを順に保存した後、前記N+1番目の行を伝送する時、前記N個の行データを共に出力する段階を含むことができる。
高解像度を実現するためのディープラーニング基盤のアルゴリズムは、フレームバッファー(Frame Buffer)を使ったので、通常のPC及びサーバーではリアルタイム駆動が難しかったが、一実施例に係るカメラモジュール及びこれを含む移動端末装置とイメージ生成方法は、いくつかのラインバッファー(Line Buffer)だけを使う方式で高解像度を実現して、ネットワーク構成は最適化させる方式で高解像度イメージを生成するので、比較的大きさが小さい小型チップ(Chip)で実現することができる長所が存在する。
また、本技術が適用されたチップは、小型の大きさで製作できるので、搭載される装置の使用目的に応じて多様な位置に多様な方式で搭載されることができて、設計の自由度が増加することができる。さらに、既存のディープラーニング方式のアルゴリズムを行うための高価なプロセッサが必要でなく、より経済的に高解像度イメージを生成することができる。
さらに、イメージセンサーモジュール、カメラモジュール、APモジュールのいずれの位置にも搭載可能な方式で本技術の実施ができるので、ズーム機能がないカメラモジュールまたは特定倍率に対する固定ズームだけ支援するカメラモジュールに本技術を適用させて連続ズーム機能を使うことができる。
さらに、特定倍率に対して光学的に連続ズームだけ支援するカメラモジュールでも本技術を適用させてより広い倍率区間で連続ズーム機能を活用できる効果が存在する。
さらに、高解像度のデータを生成するにあたり、RGBイメージでないロー(Raw)データであるベイヤーデータの解像度を高めてデジタルズームを行うため、RGBイメージに対して解像度を高める場合より、情報量が多くて画質が高い高解像度イメージを取得することができる。さらに、高解像度のベイヤーデータを出力することによって、データの線形性を維持して後処理過程でのイメージプロセッシングに対する性能向上を得ることができる。
本明細書に記載された実施例と図面に図示された構成は、開示された発明の好ましい一例であり、本出願の出願時点において、本明細書の実施例と図面を代替できる様々な変形例があり得る。
また、本明細書で使った用語は、実施例を説明するために使われたもので、開示された発明を制限及び/または限定しようとする意図ではない。単数の表現は、文脈上明白に異なるように意味しない限り、複数の表現を含む。
本明細書で、“含む”、“備える”または“有する”等の用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定しようとするのであって、1つまたはそれ以上の別の特徴や数字、段階、動作、構成要素、部品またはこれらを組み合わせたものの存在または付加の可能性を予め排除することなく、本明細書で使った“第1”、“第2”等のように序数を含む用語は、多様な構成要素を説明するのに使われることができるが、前記構成要素は、前記用語によって限定されない。
以下では、添付した図面を参考にして本発明の実施例について本発明が属する技術分野において通常の知識を有する者が容易に実施することができるように詳細に説明する。そして図面で本発明を明確に説明するために説明と関係ない部分は省略する。
図1~図12は、本発明で図21は、本発明の第2実施例に係るイメージ処理装置及びイメージ処理方法に関する図である。
図1は、本発明の第1実施例に係るカメラモジュール100の一部構成要素を図示したブロック図であり、図2は、第1実施例に係るイメージ生成部200の一部構成要素を図示した図で、図3は、第1実施例によりプロセッサ220が行うディープラーニング過程の一例を図示した図である。
図1を参照すると、一実施例に係るカメラモジュール100は、外部対象体に対するイメージを取得するイメージセンサー110と、イメージセンサー110が取得したイメージをイメージ生成部200に伝送する伝送部120を含んでいて、イメージ生成部200は、伝送部120が送信したイメージを受信してこれをプロセッサ220に送信する受信部210、受信部210から受信したイメージをディープラーニングトレーニングを行った結果導き出されたアルゴリズムを適用させて、受信したイメージの解像度と異なる解像度を有するイメージを生成するプロセッサ220、及びプロセッサ220が生成したイメージを受信して外部装置に送信する出力部230等を含むことができる。ここで、ディープラーニングトレーニングを行った結果導き出されたアルゴリズムは、前述した畳み込みニューラルネットワークであり得る。プロセッサ220は、ディープラーニング基盤アルゴリズムを利用して学習されたプロセッサであり得る。パイプラインプロセッサ(pipelined processor)を含みことができ、第1ベイヤーデータから第2ベイヤーデータを生成するように学習された畳み込みニューラルネットワークを含むことができる。
具体的に、イメージセンサー110は、カメラモジュールのレンズ120を介して入ってくる光を電気信号に変化するCMOS(Complementary Metal Oxide Semiconductor)またはCCD(Charge Coupled Device)のようなイメージセンサーを含むことができる。
伝送部120は、イメージセンサー110が取得したイメージをイメージ生成装置200の受信部210に伝送することができる。図1では、伝送部120とイメージセンサー110を区別される構成要素として図示したが、これに限定されず後述する伝送部120の役割をイメージセンサー110が同時に行うこともできる。
具体的に、伝送部120は、イメージセンサー110が取得したイメージからベイヤーパターン(Bayer Pattern)の情報を抽出した後、これに対する情報を受信部210に伝送することができる。
イメージ生成部200は、伝送部120が送信したイメージを受信して、これをプロセッサ220に送信する送信部210、送信部210から受信したイメージをディープラーニング(Deep Learning)トレーニングによって生成されたアルゴリズムを利用してより高い解像度を有するイメージを生成するプロセッサ220、及びプロセッサ220が生成したイメージを受信して外部に送信する出力部230等を含むことができる。
具体的に、プロセッサ220は、受信部210から第1解像度を有するベイヤーイメージを受信した後、ディープラーニングトレーニングによって生成されたアルゴリズムを利用して、第2解像度を有するベイヤーイメージを生成した後、生成された第2ベイヤーイメージを出力部230に伝送することができる。ここで、第2解像度は、第1解像度とは異なる解像度値を有する解像度を意味して、具体的に第1解像度よりもさらに高いか低い解像度を意味することがある。第2解像度が有することができる解像度値は、使用者の目的に応じて使用者が自由に設定変更することができる。
従って、一実施例に係るカメラモジュール100は、図面には図示しなかったが第2解像度に対する情報の入力を受ける入力部をさらに含むことができて、使用者はこれにより所望の解像度に対する情報をカメラモジュール100に入力することができる。
例えば、使用者は、解像度が高いイメージを得ようとする場合、第2解像度を第1解像度とは差が大きく存在する解像度に設定することができて、比較的早期に新しいイメージを取得したい場合、第1解像度と解像度との差が大きく出なかった解像度で第2解像度値を自由に設定することができる。
また、プロセッサ220は、プロセッサを介して行われる少なくとも1つのプログラム命令が保存されたメモリー(Memory、図示せず)を介して実現されることができる。
具体的に、メモリーは、SRAM、DRAMなどの揮発性メモリーを含むことができる。但し、これに限定されず、場合に基づいでメモリーはフラッシュメモリ、ROM(Read Only Memory)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)等の非揮発性メモリーを含んでもよい。
通常のカメラ装置あるいはカメラモジュールは、イメージセンサーからベイヤーパターンの伝達を受けて、色をつける過程(色補間過程、Color InterpolationあるいはDemosaicing)を経てイメージ形態のデータを出力するが、一実施例に係る伝送部120は、イメージセンサー110から受信したイメージからベイヤーパターン(Bayer Pattern)情報を含んでいる情報を抽出して、抽出された情報を外部に送信することができる。
ここで、ベイヤーパターンは、カメラ装置またはカメラモジュール100に含まれた光信号を電気信号に変換するイメージセンサー110が出力する加工されなかったデータ(Raw Data)を含むことができる。
これについて具体的に説明すると、カメラモジュール100に含まれたレンズ120を介して伝達される光信号は、R、G、Bの色を検出できるイメージセンサーに配置された各画素を介して電気信号に変換されることができる。
仮にカメラモジュール100の仕様が500万画素とするならば、R、G、Bの色を感知できる画素が500万個含まれたイメージセンサーが含まれていると考えることができる。画素数が500万個であるが、実際に各色(color)を感知するのではなく、白黒の明るさだけを感知する単色(monochrome)画素がR、G、Bフィルターのいずれかと結合された形態で見ることができる。
即ち、イメージセンサーは、画素数だけ配列された単色画素セル上にR、G、Bのカラーフィルターが特定のパターンをもって配置されている。従って、R、G、Bの色パターンが使用者(即ち、人)の視覚特性により交差して配置され、これをベイヤーパターン(Bayer Pattern)と呼ぶ。
一般にベイヤーパターンは、イメージ形態のデータよりデータ量が小さい。従って、高仕様のプロセッサを有しないカメラモジュールが装着された装置であっても、イメージ形態のデータより比較的早くベイヤーパターンのイメージ情報を伝送して受信できて、これに基づいて多様な解像度を有するイメージに変換させることができる長所が存在する。
一例として、カメラモジュールが車両に搭載されて、カメラモジュールが100Mbit/sの全二重(Full-duplex)伝送速度を有する低電圧差別信号方式(LVDS)が利用される環境内でもイメージ処理をするのに多くのプロセッサが必要でなく過負荷がかからなくて車両を利用する運転者または運転者の安全の危害にならない。
また、車両内通信網によって伝達されるデータの大きさを減らすことができて、自律走行車両に適用しても車両に配置された複数のカメラの作動に係る通信方式、通信速度などにより発生する問題を除去できる効果が存在する。
また、伝送部120は、受信部210にベイヤーパターンのイメージ情報を送信するにあたり、ベイヤーパターン形態のフレームをイメージセンサー110から受信した後、1/nの大きさにダウンサンプリングした後の情報を送信することができる。
具体的に、伝送部120は、ダウンサンプリング以前に受信されたベイヤーパターンのデータに対してガウシアンフィルター(Gaussian Filter)等によるスムージング(smoothing)を行った後、ダウンサンプリングを行うことができる。その後、ダウンサンプリングされた映像データを基盤にフレームパケットを生成した後、完成されたフレームパケットを受信部210に送信することができる。但し、このような機能は、伝送部120ではなくプロセッサ220で一度にまとめて行ってもよい。
また、伝送部120は、低電圧差動シグナリング方式(LVDS)のようなシリアル通信方式でベイヤーパターン情報を送信するためにベイヤーパターンを直列データに変換するシリアライザ(Serializer、図示せず)を含むことができる。
シリアライザは、通常的にデータを一時的に保存するバッファー及び送信されるデータの周期を形成する位相同期ループ(PLL)を含むか共に実現されることができる。
これまで一実施例に係るカメラモジュール100の一般的な構成要素について記載した。以下、プロセッサ220に適用されるアルゴリズムの生成方法及び特徴について記載する。
一実施例に係るカメラモジュール100のプロセッサ220に適用されるアルゴリズムは、入力されたイメージの解像度よりさらに高い解像度を有するイメージを生成するアルゴリズムであって、ディープラーニングトレーニングを繰り返し行って生成された最適なアルゴリズムを意味することがある。ディープラーニングトレーニングによって生成されるアルゴリズムである畳み込みニューラルネットワークは、第1解像度を有する第1ベイヤーデータを受信して第2解像度を有する第2ベイヤーデータを生成するように学習されることができる。
ディープラーニングとは、深層学習と表現されるが、多くの非線形転換器法の組み合わせにより高い水準の抽象化(abstractions、多量のデータや複雑な資料の中から核心的な内容または機能を要約する作業)を試みる機械学習(machine learning)に関するアルゴリズムの集合を意味する。
具体的に、ディープラーニングは、ある学習データをコンピュータが理解できる形態(例えば、イメージの場合はピクセル(Pixel)情報を列ベクトルで表現するなど)で表現(Representation)してこれを学習に適用するために多くの研究(どうすればより良い表現技法を作るか、またどのようにこれらを学習するモデルを作るか)に対する学習手法で、DNN(Deep Neural Networks)及びDBN(Deep Belief Networks)などの学習手法を含むことができる。
一例として、ディープラーニングは、まず周辺環境を認知して、現在の環境状態をプロセッサに伝達することができる。プロセッサは、これに合う行動(Action)を行って、環境はさらにその行動に係る補償値をプロセッサに知らせる。そして、プロセッサは補償値を最大にする行動を選ぶことになる。このような過程に介して学習過程が繰り返し進行されることができる。
先述した通り、ディープラーニングを行いながら利用される学習データは、実際の解像度が低いベイヤーイメージを解像度が高いベイヤーイメージに変換しながら得た結果であってもよく、シミュレーションにより得た情報であってもよい。
仮に、シミュレーション過程を行う場合、シミュレーションの環境に合わせて(イメージの背景、色の種類など)調整することによってさらに速くデータを取得することができる。以下、図3と図4において一実施例に係るプロセッサ220に適用されるアルゴリズムが生成される方法に対して具体的に記載する。
図3は、一実施例に係るディープラーニングトレーニングの実行過程を図示した図で、図4は別の実施例に係るディープラーニングトレーニングの実行過程を図示した図である。
図3のディープラーニングは、深層ニューラルネットワーク(Deep Neural Network,DNN)アルゴリズムが適用されたディープラーニングであって、DNNアルゴリズムが適用されることにより新しい解像度を有するイメージを生成する過程を図示した図である。
深層ニューラルネットワーク(DNN)は、入力層(input layer)と出力層(output layer)との間に多重の隠れ層(hidden layer)が存在する深層(deep)ニューラルネットワーク、動物の視覚皮質の構造と類似するニューロンの間の連結パターンを形成する畳み込み(convolutional)ニューラルネットワーク、時間に応じて毎瞬間毎にニューラルネットワークを積み上げる再帰(recurrent)ニューラルネットワークで具体化されることができる。畳み込みニューラルネットワークは、FCN(Fully Convolutional Network)、U-Net、MobileNet、RDN(Residual Dense Network)、及びRCAN(Residual Channel Attention Network)中少なくとも1つのモデルであり得る。その他にも多様なモデルを利用できることは当然である。
具体的にDNNは畳み込み(Convolution)とサブサンプリング(Sub-Sampling)を繰り返してデータの量を減らし、歪曲させてニューラルネットワークを分類する。即ち、DNNは、特徴抽出と分類行為により部類結果を出力するが、主にイメージを分析するのに使われて、畳み込みは映像フィルタリングを意味する。
図3を参照してDNNアルゴリズムが適用されたプロセッサ220が行う過程を説明すると、プロセッサ220は、受信部210から受信した第1解像度を有するベイヤーイメージ10を基に倍率を高めようとする領域に対して畳み込みとサブサンプリング(Sub-Sampling)を行う。
倍率を高めるとは、イメージセンサー110が取得したイメージの中で特定の部分だけを拡大するのを意味する。従って、使用者によって選択されなかった部分は、使用者が関心がない部分であるから解像度を高める過程を行う必要がないため、使用者によって選択された部分に対してのみ畳み込みとサブサンプリング過程を行うことができる。
サブサンプリングは、映像の大きさを減らす過程を意味する。一例として、サブサンプリングは、マックス-プール(Max Pool)方法を使うことができる。マックス-プールは、該当領域で最大値を選択する技法であって、ニューロンが最も大きい信号に反応するのと類似している。サブサンプリングは、ノイズを減少させて、学習の速度を増加させることができる長所が存在する。
畳み込みとサブサンプリングが行われると、図3に図示されたように複数のイメージ20が出力されることができる。その後、出力されたイメージを基にアップスケール(Up Scale)方式で利用して互いに異なる特徴を有する複数のイメージを出力させることができる。アップスケール方式は、互いに異なるr^2個のフィルターを利用してイメージをr*r倍にスケールを高めるのを意味する。
アップスケールにより複数のイメージが図3に図示されたように出力されると(30)、プロセッサ220は、このようなイメージを基に組み替えて最終的に第2解像度を有する第2ベイヤーイメージ40を出力することができる。
図4のディープラーニングは、図3のディープラーニングと異なる方式でディープラーニングを行う方法を図示した図面であり、具体的に反復的学習によって形成されるアルゴリズムの生成過程について説明した図である。
図4に係るディープラーニングの場合、互いに異なる解像度を有する第1サンプルデータ(X)と第2サンプルデータ(Z)の入力を受けた後、これに基づいてディープラーニングトレーニングを行うことができる。
具体的に、図4に係るディープラーニングは、第1サンプルデータ(X)を入力データとして、ディープラーニングトレーニングを行った出力データ(Y)と第2サンプルデータ(Z)を比較して分析して生成されたパラメータを基により高い解像度を有するイメージを生成するアルゴリズムを生成することができる。
ここで、出力データ(Y)は、実際のディープラーニングのより出力されたデータで、第2サンプルデータ(Z)は、使用者が入力するデータであって、第1サンプルデータ(X)をアルゴリズムに入力した時、最も理想的に出力され得るデータを意味してもよい。
従って、図4に係るアルゴリズムは、出力結果として最も理想的な第2サンプルデータ(Z)と実際の出力データである第1出力データ(Y)を比較して分析して差異点を引き出した後、差異点を相殺する方向にアルゴリズムにフィードバックを与えることができる。
具体的に、出力データに影響を与えるパラメータを分析した後、パラメータを変更したり削除または新しいパラメータを生成する方式でフィードバックを与えて理想的な出力データである第2サンプルデータ(Z)と実際の出力データである第1出力データ(Y)の差が無いようにすることができる。
一例として、図4に図示しらようにアルゴリズムに影響を与えるレイヤーが計3個で(L1、L2、L3)、各レイヤーに計8個のパラメータ(P11、P12、P13、P21、P22、P31、P32)が存在すると仮定する。
かかる場合にP22パラメータの値を増加させる方向でパラメータを変更したところ、実際出力されたデータである第1出力データ(Y)と最も理想的な出力データである第2サンプルデータ(Z)の差が増加するならば、フィードバックは、P22パラメータを減少させる方向でアルゴリズムを変更することができる。
これとは逆に、P33パラメータの値を増加させる方向でパラメータを変更したところ、実際出力されたデータである第1出力データ(Y)と最も理想的な出力データである第2サンプルデータ(Z)の差が減少したとすると、フィードバックは、P33パラメータを増加させる方向でアルゴリズムを変更することができる。
即ち、このような方法によりディープラーニングが適用されたアルゴリズムは、実際出力される第1出力データ(Y)が、最も理想的な出力データである第2サンプルデータ(Z)と類似するように出力されるようにすることができる。
そしてこの場合、第2サンプルデータ(Z)の解像度は、第1出力データ(Y)の解像度と同じか高く、第2サンプルデータ(Z)の解像度は、第1出力データ(Y)の解像度と同じであってもよい。
一般に、ディープラーニングをすることができるプロセッサを小型のチップで実現するためには、ディープラーニングのプロセスとメモリーゲート(gate)数が最小化されなければならないが、ここでゲート数に最も大きく影響を与える要素は、アルゴリズム複雑度とクロック(Clock)当たり処理されるデータ量であり、プロセッサが処理するデータの量は入力解像度により変わる。
従って、一実施例に係るプロセッサ220は、ゲートの数を減らすために入力解像度を減らした後に、後ほどアップスケーリング(Up Scailing)という方式で高倍率のイメージを生成するので、より速くイメージを生成できる長所が存在する。
例えば、入力解像度が8Mp(Mega Pixel)のイメージを2倍ズームしようとすると、1/4領域(2Mp)を基に横と縦をそれぞれ2倍ずつアップスケーリング(Up scailing)して2倍ズームをする。そして、1/4領域(2Mp)を1/4ダウンスケーリング(down scaling)して解像度が0.5Mpであるイメージをディープラーニング処理入力データで使った後、生成されたイメージを基に横と縦をそれぞれ4倍ずつアップスケーリング(Up scailing)する方式で4倍ズームをすると、2倍ズームをしたのと同じ領域のズーム映像を生成することができる。
従って、一実施例に係るカメラモジュール100及びイメージ生成方法は、入力解像度損失による性能低下を防止するために、ディープラーニングが解像度損失に対応する倍率だけ学習をさせてイメージを生成するので、性能低下を最小化できる長所が存在する。
また、高解像度のイメージを実現するためのディープラーニング基盤のアルゴリズムは、一般にフレームバッファー(Frame Buffer)を使うが、フレームバッファーの場合、通常のPC及びサーバーではその特性上リアルタイム駆動が難しいことがある。
しかし、一実施例に係るプロセッサ220は、ディープラーニングによりすでに生成されているアルゴリズム適用するので、低仕様カメラモジュール及びこれを含む多くの装置で簡単に適用が可能で、このようなアルゴリズムを具体的に適用することにおいていくつかのラインバッファー(Line Buffer)だけを使う方式で高解像度を実現するので、比較的大きさが小さい小型チップ(Chip)でプロセッサを実現することができる効果も存在する。
図5は、一実施例に係るプロセッサ220の一部構成要素を図示したブロック図である。
図5を参照すると、一実施例に係るプロセッサは、第1ベイヤーデータを受信する複数のラインバッファー11、ラインバッファーを介して出力された第1ベイヤーデータを波長帯域別に配列する第1配列データを生成する第1データ整列部221、予め設定されているアルゴリズムによりディープラーニングを行うディープラーニングプロセッサ222、ディープラーニングプロセッサ222を介して出力された第2配列データをベイヤーパターンで配列して第2ベイヤーデータを生成する第2データ整列部223、及び第2データ整列部223を介して出力された第2ベイヤーデータを出力する複数のラインバッファー12を含むことができる。
第1ベイヤーデータは先述したベイヤーパターンを含んでいる情報として、図5でベイヤーデータとして記述したが、ベイヤーイメージまたはベイヤーパターンで定義されてもよい。
また、図5では、第1データ整列部221と第2データ整列部223を便宜上別個の構成要素で図示したが、これに限定されず、ディープラーニングプロセッサ222が後述する例では、第1データ整列部221と第2データ整列部223が行う機能を一緒に行うこともできる。
図5を参考にすると、イメージセンサー110により受信された第1解像度を有する第1ベイヤーデータは、使用者によって選択された領域に対するイメージ情報をN+1個のラインバッファー(11a、11b、~11n、11n+1)に転送されることができる。先述した通り、使用者によって選択された領域に対してのみ第2解像度を有するベイヤーイメージを生成するので、使用者によって選択されなかった領域に対するイメージ情報はラインバッファー11に送信されない。
具体的に、第1ベイヤーデータは、複数の行データを含み、このような複数の行データは、複数のラインバッファー11を介して第1データ整列部221に送信されることができる。
例えば、ディープラーニングプロセッサ222によりディープラーニングを行うべき領域が3×3領域ならば計3つのラインが第1データ整列部221またはプロセッサ220に同時に送信されてからディープラーニングを行うことができる。従って、3つのライン中最初のラインに対する情報は、第1ラインバッファー11aに送信された後、第1ラインバッファー11aに保存されて、3つのライン中二つ目のラインに対する情報は、第2ラインバッファー11bに送信された後、第2ラインバッファー11bに保存されることができる。
その後三つ目のラインの場合、以後で受信されるラインに対する情報がないため、ラインバッファー11に保存されずすぐにプロセッサ220または第1データ整列部221に送信されることができる。
この時第1データ整列部221またはプロセッサ220は、3つのラインに対する情報を同時に受信しなければならないので、第1ラインバッファー11aと第2ラインバッファー11bに保存されている最初のラインに対する情報と二つ目のラインに対する情報も同時にプロセッサ220または第1イメージ整列部219に送信されることができる。
これとは逆に、ディープラーニングプロセッサ222にてディープラーニングを行わなければならない領域が(N+1)×(N+1)領域であるなら、総N+1個のラインが第1データ整列部221またはプロセッサ220に同時に送信されてからディープラーニングを行うことができる。従って、(N+1)個のライン中最初のラインに対する情報は第1ラインバッファー11aに送信された後、第1ラインバッファー11a保存されて、(N+1)個のライン中二つ目のラインに対する情報は、第2ラインバッファー11bに送信された後、第2ラインバッファー11bに保存され、(N+1)個のライン中N番目のラインに対する情報は、第Nラインバッファー11nに送信された後、第Nラインバッファー11nに保存されることができる。
その後(N+1)番目のラインの場合、以後で受信されるラインに対する情報がないため、ラインバッファー11に保存されずすぐにプロセッサ220または第1データ整列部221に送信されて、先述した通りこの時第1データ整列部221またはプロセッサ220は、N+1個のラインに対する情報を同時に受信しなければならないので、ラインバッファー11a~11nに保存されている最初のラインからN番目のラインに対する情報も同時にプロセッサ220または第1イメージ整列部219に送信されることができる。
第1イメージ整列部219は、ラインバッファー11からベイヤーデータを受信した後、ベイヤーデータを波長帯域別に配列して第1配列データを生成した後、生成された第1配列データをディープラーニングプロセッサ222に送信することができる。
第1イメージ整列部219は、受信した情報を特定波長または特定色別(red、Green、Blue)に分類して配列した第1配列データを生成してもよい。
その後、ディープラーニングプロセッサ222は、第1イメージ整列部219を介して受信した第1配列データを基にディープラーニングを行って第2配列データを生成することができる。
具体的に、ディープラーニングを行うことは、先に図3と図4により説明した通り、最適なアルゴリズムを生成するために推論または反復的学習によりアルゴリズムを生成する過程を意味することもあるが、同時にこのような過程によって生成されたアルゴリズムを実行することもディープラーニングを行うと見ることができる。
従って、ディープラーニングプロセッサ222は、第1イメージ整列部219を介して受信した第1配列データを基にディープラーニングを行って、第1解像よりも高い解像度を有する第2解像度を有する第2配列データを生成することができる。
例えば、先述した通り3×3領域に対して、第1配列データを受信したら3×3領域に対してディープラーニングを行って、(n+1)×(n+1)領域に対して第1配列データを受信したら(n+1)×(n+1)領域に対してディープラーニングを行うことができる。
その後、ディープラーニングプロセッサ222により生成された第2配列データは、第2データ整列部223に送信されて、第2データ整列部223は、第2配列データをベイヤーパターンを有する第2ベイヤーデータに変換させることができる。
その後、変換された第2ベイヤーデータは、複数のラインバッファー12aを介して外部に出力されて、出力された第2ベイヤーデータは、さらに別の過程によって第1解像よりも高い解像度である第2解像度を有しているイメージで生成されることができる。
図6と図7は、プロセッサ220によって、第1解像度イメージを有する第1ベイヤーイメージが第2解像度を有する第2ベイヤーイメージに変換された様子を図示した図である。
第1解像度を有するベイヤーイメージ10で使用者が特定領域を選択した場合、その領域に対してプロセッサ220は、イメージ変換過程を行うことができ、行った結果、図6と図7に図示されたように第2解像度を有するベイヤーイメージ40が生成されることができる。
図8は、一実施例に係る移動端末装置400の一部構成要素を図示したブロック図である。
図8を参照すると、一実施例に係る移動端末装置400は、フィルター110、レンズ120、イメージセンサー130、送信部140、ドライバーIC150、アクチュエータ160、受信部210、プロセッサ220、出力部230及びISP310を含んでいるAP300を含むことができる。
イメージセンサー130、送信部140、受信部210、プロセッサ220及び出力部230は、図1と図2で説明した構成と同じ役割をする構成要素であるため、これに対する説明は省略する。
フィルター110は外部から流入される光を選択的に遮断する役割をして、通常レンズ120の上部に位置することができる。
レンズ120は、ガラスのような透明な物質の面を球面のように綺麗に磨いて物体から来る光を集めたり発散させて光学的像を結ぶようにする装置であって、カメラモジュール100に使われる通常のレンズ120は、複数の互いに異なる特徴を有するレンズを備えることができる。
ドライバーIC150(Driver IC)は、画面に文字や映像イメージが表示されるように、パネルに駆動信号及びデータを電気信号で提供する半導体(IC)を意味し、後述するがドライバーICは、移動端末装置400の多様な位置に配置されることができる。また、ドライバーIC(150m Driver IC)は、アクチュエータ160を駆動することができる。
アクチュエータは、レンズまたはレンズを含む鏡筒の位置を調節して焦点を調節することができる。例えば、アクチュエータ160は、VCM(Voice Coil Motor)方式であり得る。レンズ120は、可変焦点レンズを含んでもよい。可変焦点レンズを含む場合、ドライバーICは、可変焦点レンズを駆動することができる。例えば、レンズは液体を含む液体レンズを含むことができ、この場合ドライバーICは、液体レンズの液体を調節して焦点を調節することができる。
AP300(Application Processor)は、モバイル用メモリーチップに移動端末装置400で各種アプリケーシヨン作動とグラフィック処理を担当する核心半導体を意味する。AP300は、コンピュータの中央処理装置(CPU)の機能とメモリー、ハードディスク、グラフィックカードなどその他装備の連結を制御するチップセットの機能のいずれも含んでいるSoC(System on Chip)形態で実現されることができる。
映像信号処理部(ISP、Image Signal Processing)300は、MIPI(Mobile Industry Processor Interface)通信を利用してプロセッサ220が生成した第2ベイヤーイメージを受信して映像信号処理過程を行うことができる。
映像信号処理部300は、映像信号を処理しながら複数のサブ過程を含むことができる。例えば、受信した映像に対してガンマ値補正(gamma correction)、色彩補正(color correction)、自動露出(auto exposure correction)、自動ホワイト値補正(auto white balance)過程のうちで1つ以上を含むことができる。図9~図11は、移動端末装置400内部でドライバーIC150とプロセッサ220が配置されることができる様々な実施例をブロック図で表示した図である。
図9~図11に図示されたそれぞれの構成要素は先に説明したので、これ以上説明せずドライバーIC150とプロセッサ220が配置されることができる位置を中心に説明する。
一実施例で、ドライバーIC150とプロセッサ220は、図7に図示されたようにカメラモジュール100中でそれぞれ別個のモジュールで独立的に実現されることができる。
具体的に、プロセッサ220はチップ形態で実現されてイメージ生成部200に含まれて、ドライバーIC150は、イメージ生成部200及びプロセッサ220と独立的に別個のチップで実現されることができる。
図9では、イメージ生成部200が、受信部210、プロセッサ220、出力部230をそれぞれ含むと図示したが、これに限定されずイメージ生成部200がプロセッサ220だけを含んでいて、プロセッサ220が先述した受信部210と出力部230を役割を同時に行ってもよい。
図9のような形態でドライバーIC150とプロセッサ220が実現される場合、イメージ生成部200が実現されたチップを既存カメラモジュールに挿入する方式で本技術を適用させることができて、既存カメラモジュールが持っている構造と関係なく本技術を実施できる効果が存在する。
別の実施例で、ドライバーIC150とプロセッサ220は、図8に図示されたようにカメラモジュール100に含まれているイメージ生成部200内で1つのモジュールで共に実現されることができる。
具体的に、イメージ生成部200は1つのチップで実現されるが、かかる場合イメージ生成部200がドライバーIC150及びプロセッサ220がするの役割を同時に行うことができる。
図10では、イメージ生成部200が、受信部210、プロセッサ220、出力部230をそれぞれ含むと図示したが、これに限定されずイメージ生成部200が、プロセッサ220とドライバーIC150だけを含んでいて、プロセッサ220が先述した受信部210と出力部230及びドライバーIC150の役割を同時に行ってもよい。
図10のような形態でドライバーIC150とプロセッサ220が実現される場合、1つのチップを利用してドライバーIC150がする役割とプロセッサ220がする役割を同時に行うことができるので、より経済的にカメラモジュール100を製作できる効果が存在する。
さらに別の実施例で、ドライバーIC150とプロセッサ220は、図9に図示されたようにドライバーIC150は、カメラモジュール100の内部に装着されて、プロセッサ220は、カメラモジュール100と別個に移動端末装置400の内部に配置されることができる。
具体的に、プロセッサ220は、チップ形態で実現されてイメージ生成部200に含まれて、ドライバーIC150は、イメージ生成部200及びプロセッサ220と独立的に実現されながらカメラモジュール100の内部に配置されることができる。
図11では、イメージ生成部200が、受信部210、プロセッサ220、出力部230をそれぞれ含むと図示したが、これに限定されずイメージ生成部200が、プロセッサ220だけを含んでいて、プロセッサ220が先述した受信部210と出力部230を役割を同時に行ってもよい。
図11のような形態でドライバーIC150とプロセッサ220が実現される場合、イメージ生成部200が実現されたチップを既存カメラモジュールに挿入する方式で本技術を実施できて、既存カメラモジュールが持っている構造と関係なく本技術を実施できる長所が存在する。さらに、高イメージセンサーに比べてモジュール自体の厚さを減らすことができる効果が存在する。
図12は、一実施例に係るイメージ生成方法の順序を図示したフローチャートである。
図12を参照すると、イメージセンサー110から第1解像度を有する第1ベイヤーイメージを受信することができる(S110)。
その後、使用者から第2解像度に対する情報を受信することができる。図面には図示しないが、使用者から別途の入力装置を介して第2解像度に対する情報を受信することができる(S120)。
使用者から第2解像度に対する情報を受信したら、その後使用者が設定した第2解像度を有するベイヤーイメージを生成するようにディープラーニングを介して生成されたアルゴリズムを利用して第2ベイヤーイメージを生成することができる(S130、S140)。
これまで図面を基にカメラモジュール100及びこれを含む移動端末装置400とイメージ生成方法について調べた。
高解像度を実現するためのディープラーニング基盤のアルゴリズムの場合、フレームバッファー(Frame Buffer)を使うと、一般PC及びサーバーではリアルタイム駆動が難しい問題が存在する。しかし、一実施例に係るカメラモジュール及びこれを含む移動端末装置とイメージ生成方法は、いくつかのラインバッファー(Line Buffer)だけを使う方式で高解像度を実現するので、比較的大きさが小さい小型チップ(Chip)で実現することができる長所が存在する。
また、本技術が適用されたチップは、小型の大きさで製作されることができて、搭載される装置の使用目的に応じて多様な位置に多様な方式で搭載されることができ、設計の自由度が増加して、ディープラーニングによって生成されたアルゴリズムが適用されたプロセッサを利用して高価なプロセッサが必要でなく、より経済的に高解像度イメージを生成できる長所が存在する。
また、簡単なチップをカメラモジュールに搭載する方式で本技術の実施が可能であるため、ズーム機能がないカメラモジュールまたは特定倍率に対する固定ズームだけ支援するカメラモジュールに対して本技術を適用させて連続ズーム機能を使うことができる。
また、特定倍率に対して光学的に連続ズームだけ支援するカメラモジュールにも本技術を適用させてさらに広い倍率区間で連続ズーム機能を活用できる効果が存在する。また、学習された畳み込みニューラルネットワークを利用して出力された第1ベイヤーデータは、映像信号処理部に入力される。APの映像信号処理部のデモザイク(demosaic、RGB変換)を行ってRGBイメージを生成することができる。
第1ベイヤーデータから第2ベイヤーデータを生成するプロセッサは、映像信号処理部前段(APのソフトウェアロジック、即ちISP前段前処理ロジック)で実現されたり、別途のチップで実現されたり、カメラモジュール内に実現されることができる。
ロー(raw)データであるベイヤーデータは、ビット解像度(bit resolution)が10ビット(bit)以上である一方、ISPのイメージ処理過程を経たRGBデータの場合、ISPでNoise/Artifact Reduction and Compressionのようなデータ損失が発生して、RGBデータは、8ビット(bit)で含んでいる情報が相当減る。また、ISPは、トーンマッピング(Tone mapping)のような非線形処理を含んでいて、イメージ復元(Image Restoration)を処理するのが難しくなるが、ベイヤーデータは。光に比例する線形性を有していて、イメージ復元を処理しやすくなる。また、信号対ノイズ比(PSNR)もベイヤーデータを利用するものであるRGBデータを利用することに比べて同じアルゴリズムを利用する場合、2~4dB程度高まるようになり、これによりAPで行われるmulti-frame De-noiseやSRなどが効果的に処理されることができる。即ち、ベイヤーデータを利用することによって、高解像度変換の性能が向上することができて、ベイヤーデータを出力するため、APの追加的なイメージ処理性能も向上することができる。
前記のように、図1~図12を参照して本発明の第1実施例に係るカメラ装置及びカメラ装置のイメージ生成方法について説明した。以下、図13~図18を参照して、本発明の第2実施例に係るイメージ処理装置及びイメージ処理方法について説明する。本発明の第2実施例に係るイメージ処理装置及びイメージ処理方法に対する詳細な説明は、本発明の第1実施例に係るイメージング過程、カメラモジュール、イメージ生成部、イメージング装置、移動端末装置、カメラ装置、及びイメージング方法と、名称、用語、及び機能において、各実施例に対する詳細な説明に基づいて、互いに同じか異なることがある。
図13は、本発明の第2実施例に係るイメージ処理装置1130のブロック図である。本発明の第2実施例に係るイメージ処理装置1130は、カメラモジュール1110及びAPモジュール1120で構成され、APモジュール1120は、第1処理部1121及び第2処理部1122で構成される。また、1つ以上のプロセッサをさらに含んでもよく、1つ以上のメモリーまたは通信部をさらに含んでもよい。イメージ処理装置1130は、イメージを処理する機能を含む装置を意味し、イメージを処理するモジュールからイメージ処理部を含む移動端末のように、電子装置のうちのいずれかを意味する。
カメラモジュール1110はイメージセンサーを含む。
より具体的に、カメラモジュール1110は、イメージセンサーから第1解像度のベイヤーデータを出力する。カメラモジュール1110は、図14のようにレンズ1111、イメージセンサー1112、イメージセンサー1112が実装されるセンサーボード1113、及び外部とデータを送受信するコネクター1114で構成されることができる。前記構成が1つのモジュールで形成されてもよい。即ち、カメラモジュール以外の構成と区別される1つの独立的な装置で、他のモジュールとはデータを送受信する形態で実現されることができる。
レンズ1120は、ガラスのような透明な物質の面を球面のように綺麗に磨いて物体から来る光を集めたり発散させて光学的像を結ぶようにする装置であって、カメラモジュール1110に使われる通常のレンズ1111は、複数の互いに異なる特徴を有するレンズを備えることができる。レンズ1111の上部には、外部から流入する光を選択的に遮断する役割をするフィルターが形成されることができる。
イメージセンサー1112は、カメラモジュールのレンズを通して入ってくる光を電気信号に変化するCMOS(Complementary Metal Oxide Semiconductor)またはCCD(Charge Coupled Device)のようなイメージセンサーを含むことができる。イメージセンサー1112は、取得したイメージをカラーフィルターを介してベイヤーパターン(Bayer Pattern)の情報を含むベイヤーデータを生成することができる。ベイヤーデータは、イメージセンサー1112のスペックまたは該当イメージを生成時設定されたズーム倍率により第1解像度を有することができる。イメージセンサー1112は、センサーボード1113上に形成されることができる。レンズ1111もセンサーボード1113上に形成されることができる。
レンズ1111を介して伝達される光信号は、R、G、B色を検出できるイメージセンサー1112に配置された各画素を介して電気信号に変換されることができる。仮にカメラモジュール1110の仕様が500万画素だとすると、R、G、B色を感知できる画素が500万個含まれたイメージセンサー1112が含まれていると考えられる。画素数が500万個であるが、実際に各色(color)を感知するのではなく白黒の明るさだけを感知する単色(monochrome)画素がR、G、Bフィルターののいずれかと結合された形態で見ることができる。即ち、イメージセンサー1112は、画素数だけ配列された単色画素セル上にR、G、B色フィルターが特定のパターンをもって配置されている。従って、R、G、B色パターンが使用者(即ち、人)の視覚特性により交差して配置され、これをベイヤーパターン(Bayer Pattern)と呼ぶ。一般にベイヤーパターンは、イメージ形態のデータよりもデータの量が小さい。従って、高仕様のプロセッサを有していなかったカメラモジュール1110が装着された装置であってもイメージ形態のデータよりも比較的速くベイヤーパターンのイメージ情報を伝送して受信できて、これに基づいて多様な解像度のイメージに変換させることができる長所が存在する。
一例として、カメラモジュール1110が車両に搭載されて、カメラモジュール1110が100Mbit/sの全二重(Full-duplex)伝送速度を有する低電圧差別信号方式(LVDS)が利用される環境内でもイメージ処理をするのに多くのプロセッサが必要でなく過負荷がかからず車両を利用する運転者または運転者の安全の危害にならない。また、車両内通信網によって伝達されるデータの大きさを減らすことができて。自律走行車両に適用しても車両に配置された複数のカメラの作動に係る通信方式、通信速度などにより発生する問題を除去できる効果が存在する。
また、イメージセンサー1112は、第1処理部1121にベイヤーパターンのベイヤーデータを送信するにあたり、ベイヤーパターン形態のフレームを1/nの大きさにダウンサンプリングした後のデータを送信することができる。ダウンサンプリング以前に受信されたベイヤーパターンのデータに対してガウシアンフィルター(Gaussian Filter)等を介したスムージング(smoothing)を行った後、ダウンサンプリングを行うことができる。以後、ダウンサンプリングされた映像データを基盤にフレームパケットを生成した後、完成されたフレームパケットを第1処理部1121に送信することができる。但し、このような機能は、イメージセンサーでなく第1処理部1121で実行されてもよい。
また、イメージセンサー1112は、低電圧差動シグナリング方式(LVDS)のようなシリアル通信方式でベイヤーデータを送信するためにベイヤーパターンを直列データに変換するシリアライザ(Serializer、図示せず)を含むことができる。シリアライザは、通常、データを一時的に保存するバッファー及び送信されるデータの周期を形成する位相同期ループ(PLL)を含むか共に実現されることができる。
コネクター1114は、カメラモジュール1110で生成されたデータを外部に出力したり、外部からデータを受信する。コネクター1114は、通信部で形成されることができて、通信ラインまたはデータラインで形成されることができる。コネクター1114は、イメージセンサー1112で生成されて出力されるベイヤーデータを第1処理部1121に伝達することができる。ここで、外部と連結されるラインで形成されるコネクター1114は、MIPI(Mobile Industry Processor Interface)で実現されることができる。MIPIは、モバイル機器を構成する各構成要素の間のインターフニースであり、再使用性及び互換性が強化されたインターフニースとしてDSI(DISPlay Serial Interface)及びCSI(Camera Serial Interface)等を含む。カメラモジュール1110のコネクター1114は、CSIで実現されることができる。
カメラモジュール1110は、ドライバーIC及びアクチュエータをさらに含むことができる。
ドライバーIC(Driver IC)は、画面に文字や映像イメージが表示されるようにパネルに駆動信号及びデータを電気信号で提供する半導体(IC)を意味して、移動端末装置の多様な位置に配置されることができる。さらに、ドライバーICは、アクチュエータを駆動することができる。アクチュエータは、レンズまたはレンズを含む鏡筒の位置を調節して焦点を調節することができる。例えば、アクチュエータは、VCM(Voice Coil Motor)方式であり得る。この時、レンズは可変焦点レンズを含んでもよい。可変焦点レンズを含む場合、ドライバーICは、可変焦点レンズを駆動することができる。例えば、レンズは液体を含む液体レンズを含むことができ、この場合ドライバーICは、液体レンズの液体を調節して焦点を調節することができる。
APモジュール1120は、カメラモジュール1110から出力される第1出力データを受信する。
より具体的に、APモジュール1120は、イメージセンサー1112から出力される第1ベイヤーデータをカメラモジュール1110から受信する。AP(Application Processor)120は、モバイル用メモリーチップでイメージ処理装置1130がモバイル装置である場合、モバイル装置での各種アプリケーシヨン作動とグラフィック処理を担当する核心半導体を意味する。APモジュール1120は、コンピュータの中央処理装置(CPU)の機能とメモリー、ハードディスク、グラフィックカードなどその他の装備の連結を制御するチップセットの機能を全て含んでいるSoC(System on Chip)形態で実現されることができる。
APモジュール1120は、第1処理部1121及び第2処理部1122を含む。
第1処理部1121は、第1解像度の前記第1ベイヤーデータを利用して第2解像度の第2ベイヤーデータを生成する。
より具体的に、第1処理部1121は、イメージセンサー1112で生成されて出力されるイメージデータであるベイヤーデータの解像度を高める。即ち、第1解像度の第1ベイヤーデータから第2解像度の第2ベイヤーデータを生成する。ここで、第2解像度は、第1解像度と異なる解像度値を有する解像度を意味し、第2解像度は、第1解像度よりも高いこともある。第1解像度は、カメラモジュール1110が出力するベイヤーデータの解像度であってもよく、第2解像度は使用者の設定により変わるか、予め設定された解像度であり得る。ここで、イメージセンサー1112は、RGBイメージセンサーであり得る。
イメージ処理装置1130は、使用者から解像度に対する情報の入力を受ける入力部(図示せず)をさらに含むことができる。使用者は、入力部を介して第1処理部1121で生成しようする第2解像度に対する情報を入力することができる。例えば、使用者は、解像度が高いイメージを得たい場合、第2解像度を第1解像度と差が大きい解像度に設定することができ、比較的早期に新しいイメージを取得したい場合、第1解像度と差が大きく出なかった解像度に第2解像度を設定することができる。
第1処理部1121は、スーパーレゾリューション(SR,Super Resolution)を行うために、第1解像度の第1ベイヤーデータから第2解像度の第2ベイヤーデータを生成することができる。スーパーレゾリューションは、低解像度イメージに基づいて高解像度イメージを生成する過程であり、物理的な光学ズームでなくイメージ処理を介して低解像度イメージから高解像度イメージを生成するデジタルズームの機能をする。スーパーレゾリューションは、圧縮またはダウンサンプリングされたイメージの品質を改善するのに利用されるか、装置的限界による解像度のイメージの品質を向上させるのに利用されることができる。その他にも多様な分野でイメージの解像度を高めるのに利用されることができる。
スーパーレゾリューションのように、解像度を高める過程を行うにあたり、RGBイメージでなくベイヤーデータを利用して解像度を高める過程を行うことによって、解像度を高めた結果の品質を高めることができる。ベイヤーデータは、イメージセンサー1112が生成して出力したロー(Raw)データであるため、イメージ処理を行って生成されたRGBイメージに比べて多くの情報を含んでいる。
RGBデータも10-bit以上で処理する可能性もあるが、現在はディスプレイなどにだけ適用されていて、既存RGBデータを利用する場合、各チャネル当たり8-bitのデータを有している。また、ISP端で行われるdemosaicなどにより情報が失われることもある。しかし、これに対して、ベイヤーデータは、加工されなかった現在モバイルで使われるフォーマット上で10-bitデータを有している。12-bitまたは14-bit形態のベイヤーデータも可能である。このように、ベイヤーデータを利用する場合、スーパーレゾリューションに使われる入力の情報量がRGBデータ対比多くなるので、ベイヤーデータを利用して解像度を高めることが、RGBイメージを利用して解像度を高めることに比べて処理品質が優秀である。
第1処理部1121は、ベイヤーデータだけでなくIRデータの解像度を高めることもできる。イメージセンサー1112が、ToFセンサーである場合、ToFセンサーが生成してカメラモジュール1110が出力する第3解像度のIRデータを利用して、第4解像度のIRデータを生成することができる。第3解像度は、ToFセンサー1120が出力するIRデータの解像度であってもよく、第4解像度は、使用者の設定により変わるか、予め設定された解像度であり得る。第4解像度は、第2解像度と同じ解像度値を有する解像度であり得る。IRデータから生成されるIRイメージを利用して、ベイヤーデータから生成されるRGBイメージの画質を改善する場合、IRイメージとRGBイメージの大きさ、即ち解像度が同じになるようにIRデータが有する第4解像度が、第2ベイヤーデータが有する第2解像度と同じになるようにIRデータを生成することができる。
第2処理部1122は、第1処理部1121から出力される第2出力データを受信してイメージ処理を行う。
より具体的に、第2処理部1122は、第1処理部1121から出力される第2出力データに対するイメージ信号処理(ISP,Image Signal Processing)を行ってイメージを生成する。第2処理部1122は、ISPプロセッサ(Image Signal Processor)であり得る。MIPI(Mobile Industry Processor Interface)通信を利用して、第1処理部1121が出力した第2出力データを受信して、イメージ信号処理過程を行うことができる。
第2処理部1122は、第2出力データが第2ベイヤーデータの時、第2ベイヤーデータからRGBイメージを生成することができる。この時、第2処理部1122は、映像信号を処理しながら複数のサブ過程を行うことができる。例えば、受信した映像に対してガンマ値補正(gamma correction)、色彩補正(color correction)、自動露出(auto exposure correction)、自動ホワイト値補正(auto white balance)過程のうちいずれか1つ以上を行うことができる。
第1処理部1121が、ベイヤーデータだけでなくIRデータを出力する場合、第2処理部1122は、第1処理部1121の第2出力データであるベイヤーデータから生成されるRGBイメージ及びIRデータから生成されるIRイメージを演算して画質が改善されたRGBイメージを生成することができる。低照度環境でベイヤーデータだけで生成されるRGBイメージは、明るさが低いか、ノイズが酷く画質が非常に低下する。ベイヤーデータだけでRGBイメージを生成するに発生し得る画質低下を改善するために、IRイメージを利用することができる。即ち、RGBイメージ及びIRイメージを演算して画質が改善された第2RGBイメージを生成することができる。RGBイメージセンサー及びToFイメージセンサーを含むカメラモジュール1110を利用して、各データの解像度を高めるズーム機能だけでなく高解像度IRデータを利用して、RGBイメージの低照度を改善することができる。ベイヤーデータまたはIRデータは、解像度を高める過程を介して高解像度RGBイメージ、高解像度IRイメージ、及び高解像度深さイメージを生成することができる。また、IRイメージは、RGBイメージよりも解像度が非常に低いので(11Mp以下)、IRデータを高解像度で処理する処理部は、チップ(chip)形態での実現に適する。小型化チップを作るためには、アルゴリズムロジック(logic)と演算時必要なデータメモリーを最小化することが重要であるが、カメラ装置の解像度がメモリーと演算量に直結するためである。IRデータの解像度を高める過程は、ベイヤーデータの解像度を高める第1処理部1121のチップを利用してもよい。第1処理部1121チップの一部を使いながら、IRデータの解像度を高めるように学習されたweight値だけスイッチングすれば良い。このように解像度が改善されたIRイメージを利用して、低照度状況でのRGBイメージを改善するようになると、さらに高い改善効果が現れることができて、深さ映像と演算(fusion)を介して多様なアプリケーシヨン(例えば、顔認識、物体認識、大きさ認識など)に適用すれと認識率が向上する。
第1処理部1121は、前記第1ベイヤーデータから前記第2ベイヤーデータを生成することができる。ここで、ディープラーニングを行うとの意味は、ディープラーニングを介して導き出された畳み込みニューラルネットワークを利用して、第2ベイヤーデータを生成することを意味する。ディープラーニング以外の解像度を高めるアルゴリズムを利用して、第1ベイヤーデータから第2ベイヤーデータを生成してもよい。スーパーレゾリューション(SR)に利用される様々なアルゴリズムを利用できることは当然である。第1処理部1121が第1出力データの解像度を高める過程は、以後図18及び図3~図7を参照して詳しく説明する。
第1処理部1121は、第2処理部1122と区分されるチップ形態で実現されることができる。第1ベイヤーデータから第2ベイヤーデータを生成する第1処理部1121とイメージ信号処理を行う第2処理部1122を別途のチップで実現することができる。第1処理部1121を小型チップで形成してAPモジュール上に適用することによって、ISPである第2処理部1122のようなAPモジュールの既存構成を変更せずに、ベイヤーデータの解像度を高める構成だけをAPモジュール上に追加することができる。
図15のように、イメージ処理装置1130がモバイル装置である場合、カメラモジュール1110は、モバイル装置に含まれるカメラ装置であって、モバイル装置の各種アプリケーシヨンを処理するAPモジュール1120が形成されて、第1処理部1121はAPモジュール上にISPプロセッサである第2処理部1122と区分される別途のチップ形態で実現されることができる。
カメラモジュール1110で生成されて出力される第1出力データであるベイヤーデータは、加工されなかったロー(Raw)データであり、この時、ベイヤーデータは、ベイヤーローデータ(Bayer raw data)で表すことができる。ベイヤーデータは、MIPI通信を介してAPモジュール上にチップ形態で形成される第1処理部1121が受信する。第1処理部1121は、ディープラーニングを行って学習された畳み込みニューラルネットワークを利用して第1ベイヤーデータから第2ベイヤーデータを生成する。第1処理部1121は、ディープラーニングネットワークチップ(Deep Learning Network Chip)で表すことができる。第1処理部1121が、低解像度ベイヤーローデータを受信して処理することによって、MIPI帯域幅に対する考慮やカメラモジュールとの別途の制御信号に対する追加的な作業が必要でない。従って、既存の装置をそのままで利用できて、互換性が高く、設計の自由度も高くなる。
第1処理部1121は、第1ベイヤーデータを利用して第2ベイヤーデータを生成して、第1処理部1121で出力される第2出力データは、第2処理部1122が受信してイメージ信号処理を行ってイメージを生成する。
第1処理部1121は、前記APモジュール上に前記第2処理部と区分されるIPブロック形態で実現されてもよい。
IP(intellectual property)ブロックとは、再使用可能なロジックユニット、セル、または、チップレイアウト設計を称して、特定当事者の知的財産として考慮されるブロックを意味する。IPブロックは、IPコアであり得る。IPブロックは、設計に存在するライセンスされた及び/または自身所有の知的財産(例えば、特許、ソースコード著作権、営業秘密、ノウハウなど)を有する当事者によってIC設計内でビルディングブロックとして使われることができる。IPブロックは、APモジュールのようなチップの設計のために、該当チップに適用されることができる設計ブロックで、IPブロックを利用することによって、チップ設計を容易にすることができる。複数のIPブロックを利用することによってSoCのようなチップ設計をすることができる。
APモジュールにはモバイル装置で機能を行う様々なアプリケーシヨンのIPブロックを含む。LTE modem、GrAPhic Processing Unit(GPU)、wi-fi、DISPlay Processing Unit(DPU)、Video Processing Unit(VPU)、Digital Signal Processor(DSP)、Hexagon Vector eXtensions(HVX)、All-Ways Aware、Audio、Central Processing Unit(CPU)、Location、Securityなどモバイル装置に必要な機能を行うアプリケーシヨンのIPブロックとカメラ装置から受信するイメージ信号に対してイメージ信号処理を行う第2処理部1122に該当するCamera Image Signal Processor(ISP)を含むことができる。
第1処理部1121及び第2処理部1122は、図16のように、APモジュールのIPブロックで実現されることができる。第2処理部1122は、イメージ信号処理(ISP)IPブロックであり得る。第1ベイヤーデータから第2ベイヤーデータを生成する第1処理部1121をIPブロックで構成して、APモジュールの既存チップ上に追加することができる。この時、第1処理部1121のIPブロックは、第2処理部であるイメージ信号処理IPブロックと区分されるように形成されることができる。
第1処理部1121が前記APモジュール上に第2処理部と区分されるIPブロック形態で形成される場合、図17のように、カメラモジュール1110から出力される第1出力データであるベイヤーデータは、APモジュールのIPブロックで形成された第1処理部1121が受信する。以後、第1処理部(1121)IPブロックで第1ベイヤーデータを利用して第2ベイヤーデータを生成して、第1処理部(1121)IPブロックで出力される第2出力データは、第2処理部(1122)IPブロックが受信してイメージ信号処理を行ってイメージを生成する。
第1処理部1121は、図18のように、第1解像度の第1ベイヤーデータから第2解像度のベイヤーデータを生成するディープラーニングネットワーク(Deep Learning Network)121-1を含み、第1解像度の第1ベイヤーデータから第2解像度のベイヤーデータを生成するのに利用されるディープラーニングパラメータであるベイヤーパラメータ1121-2を保存することができる。ディープラーニングパラメータ1121-2は、メモリー上に保存されていることができる。第1処理部1121は、チップ(chip)の形態で実現されて第1ベイヤーデータから第2ベイヤーデータを生成することができる。
第1処理部1121は、1つ以上のプロセッサを含むことができ、プロセッサを介して行われる少なくとも1つのプログラム命令は、1つ以上のメモリーに保存されることができる。メモリーは、SRAM、DRAMなどの揮発性メモリーを含むことができる。但し、これに限定されず、場合によってメモリー1115は、フラッシュメモリ、ROM(Read Only Memory)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)等の非揮発性メモリーを含んでもよい。
通常のカメラ装置あるいはカメラモジュール1110は、イメージセンサーからベイヤーパターンの伝達を受けて色をつける過程(色補間過程、Color InterpolationあるいはDemosaic)を経てイメージ形態のデータを出力するが、イメージからベイヤーパターン(Bayer Pattern)情報を含んでいる情報を抽出して、抽出された情報を含むデータを外部に送信することができる。ここで、ベイヤーパターンは、カメラ装置またはカメラモジュール1110に含まれた光信号を電気信号に変換するイメージセンサーが出力する加工されなかったデータ(Raw Data)を含むことができる。
第1処理部1121に適用されるディープラーニングアルゴリズム(モデル)は、入力されたイメージデータの解像度よりもさらに高い解像度のイメージデータを生成するアルゴリズムであって、ディープラーニングトレーニング(training)を介して学習を繰り返し行って生成された最適なアルゴリズムを意味することがある。
ディープラーニングとは、深層学習とも表現されるが、多くの非線形転換手法の組み合わせによって高い水準の抽象化(abstractions、多量のデータや複雑な資料の中で核心的な内容または機能を要約する作業)を試みる機械学習(machine learning)に関するアルゴリズムの集合を意味する。
具体的に、ディープラーニングは、ある学習データをコンピュータが理解できる形態(例えば、イメージの場合はピクセル(Pixel)情報を列ベクトルで表現するなど)で表現(Representation)して、これを学習に適用するためのモデルを導き出す(どのようにすればより良い表現手法を作り、またどのようにこれらを学習するモデルを作るかに対する)学習手法で、DNN(Deep Neural Networks)及びDBN(Deep Belief Networks)などの学習手法を含むことができる。
第1処理部1121は、第1ベイヤーデータから第2ベイヤーデータを生成する。第1解像度の第1ベイヤーデータから第2解像度の第2ベイヤーデータを生成する方法の一例として、図3のディープラーニングモデルを利用することができる。
図3のディープラーニングモデルは、深層ニューラルネットワーク(Deep Neural Network,DNN)アルゴリズムが適用されたディープラーニングモデルであって、DNNアルゴリズムが適用されることにより新しい解像度のデータを生成する過程を図示した図である。
深層ニューラルネットワーク(DNN)は、入力層(input layer)と出力層(output layer)との間に多重の隠れ層(hidden layer)が存在する深層(deep)ニューラルネットワーク、動物の視覚皮質の構造と類似するようにニューロンの間の連結パターンを形成する畳み込み(convolutional)ニューラルネットワーク、時間により瞬間毎にニューラルネットワークを積み上げる再帰(recurrent)ニューラルネットワークで具体化されることができる。
具体的に、DNNは畳み込み(Convolution)とサブサンプリング(Sub-Sampling)を繰り返してデータの量を減らし、歪曲させてニューラルネットワークを分類する。即ち、DNNは、特徴抽出と分類行為を介して分類結果を出力するが、主にイメージを分析するのに使われて、畳み込みは映像フィルタリングを意味する。
図3を参照してDNNアルゴリズムが適用された第1処理部1121がディープラーニングを行う過程を説明すると、第1処理部1121は、第1解像度のベイヤーデータ110を基に倍率を高めようとする領域に対して畳み込みとサブサンプリング(Sub-Sampling)を行う。
倍率を高めるとは、第1ベイヤーデータの中で特定の部分だけを拡大することを意味する。従って、使用者によって選択されなかった部分は、使用者が関心がない部分であるため、解像度を高める過程を行う必要がないため使用者によって選択された部分についてのみ畳み込みとサブサンプリング過程を行うことができる。これにより、不要な演算を行わないことで、演算量を減らすことができて処理速度を高めることができる。
サブサンプリングは、イメージの大きさを減らす過程を意味する。この時、サブサンプリングは、マックス-プール(Max Pool)方法などを使うことができる。マックス-プールは、該当領域で最大値を選択する手法であって、ニューロンが最も大きい信号に反応するのと似ている。サブサンプリングは、ノイズを減少させて、学習の速度を増加させることができる長所が存在する。
畳み込みとサブサンプリングが行われると、図3に図示されたように複数のイメージデータ120が出力されることができる。ここで、複数のイメージデータ120は、特徴マップであり得る。その後複数のイメージデータを基にアップスケール(Up Scale)方式で利用して互いに異なる特徴を有する複数のイメージデータを出力させることができる。アップスケール方式は、互いに異なるr^2個のフィルターを利用してイメージをr*r倍にスケールを高めることを意味する。
アップスケールにより複数のイメージデータが、図3に図示されたように出力されると130、第1処理部1121はこのようなイメージデータを基に再組み合わせをして最終的に第2解像度の第2ベイヤーデータ140を出力することができる。
第1処理部1121がディープラーニングを行って第1ベイヤーデータから第2ベイヤーデータを生成するのに利用するディープラーニングパラメータは、ディープラーニングトレーニングを介して導き出されることができる。
ディープラーニングは、トレーニング(Training)とインファレンス(inference)に分けることができる。トレーニングは、入力データを介してディープラーニングモデルを学習する過程を意味して、インファレンスは、学習されたディープラーニングモデルでイメージ処理などを行う過程を意味する。即ち、トレーニングを介して導き出されるディープラーニングモデルのパラメータを適用したディープラーニングモデルを利用してイメージを処理する。
ディープラーニングを行って第1ベイヤーデータから第2ベイヤーデータを生成するために、ベイヤーデータ処理に必要な第1ディープラーニングパラメータをトレーニングを介して導き出さなければならない。トレーニングを介して第1ディープラーニングパラメータが導き出されると、該当ベイヤーパラメータを適用したディープラーニングモデルを利用してディープラーニングを行うことによって第1ベイヤーデータから第2ベイヤーデータを生成するインファレンスを行うことができる。従って、ディープラーニングを行うためのパラメータを導き出すためのトレーニング過程が行われるべきである。
ディープラーニングトレーニング過程は、図4のように反復的な学習を介して行われることができる。互いに異なる解像度を有する第1サンプルデータ(X)と第2サンプルデータ(Z)の入力を受けた後、これを基にディープラーニングトレーニングを行うことができる。
具体的に、第1サンプルデータ(X)を入力データとして、ディープラーニングトレーニングを行った第1出力データ(Y)と第2サンプルデータ(Z)を比較して分析して生成されたパラメータを基にさらに高い解像度のベイヤーデータを生成するアルゴリズムを生成することができる。
ここで、第1出力データ(Y)は、実際のディープラーニングを行って出力されたデータであり、第2サンプルデータ(Z)は、使用者が入力するデータであって、第1サンプルデータ(X)をアルゴリズムに入力した時、最も理想的に出力されることができるデータを意味することがある。ここで、第1サンプルデータ(X)は、第2サンプルデータ(Z)をダウンサンプリングして解像度を低くしたデータであり得る。この時、ダウンサンプリング程度は、ディープラーニングを介して拡大する比率、即ちデジタルズームを行うズーム比率により異なることがある。例えば、ディープラーニングを介して行われるズーム比率が3倍で、第2サンプルデータ(Z)の解像度が9MP(Mega Pixel)の場合、第1サンプリングデータ(X)の解像度が1MPであってこそ、ディープラーニングを行って解像度が3倍大きくなった第1出力データ(Y)の解像度9MPになるので、9Mの第2サンプルデータ(Z)を1/9にダウンサンプリングして1MPの第1サンプルデータ(Y)を生成することができる。
第1サンプルデータ(X)の入力に係るディープラーニングを行って出力される第1出力データ(Y)と第2サンプルデータ(Z)を比較して分析して、二つのデータ間差を算出して、二つのデータ間差を減らす方向でディープラーニングモデルのパラメータにフィードバックを与えることができる。この時、二つのデータ間差は損失関数の中の1つである平均自乗誤差であるMSE(Mean Squared Error)方式により算出されることができる。この他にCEE(Cross Entropy Error)等多様な損失関数を利用することができる。
具体的に、出力データに影響を与えるパラメータを分析した後、パラメータを変更したり削除または新しいパラメータを生成する方式でフィードバックを与えて第2サンプルデータ(Z)と実際の出力データである第1出力データ(Y)の差が無いようにすることができる。
図4に図示されたように、アルゴリズムに影響を与えるレイヤーが計3個で(L1、L2、L3)、各レイヤーに計8個のパラメータ(P11、P12、P13、P21、P22、P31、P32)が存在すると仮定することができる。かかる場合、P22パラメータの値を増加させる方向でパラメータを変更したところ、第1出力データ(Y)と第2サンプルデータ(Z)の差が増加するなら、フィードバックはP22パラメータを減少させる方向でアルゴリズムを変更することができる。これとは逆に、P33パラメータの値を増加させる方向でパラメータを変更したところ、第1出力データ(Y)と第2サンプルデータ(Z)の差が減少したなら、フィードバックはP33パラメータを増加させる方向でアルゴリズムを変更することができる。
即ち、このような方法によりディープラーニングが適用されたアルゴリズムは、第1出力データ(Y)が第2サンプルデータ(Z)と似ているように出力されるように、パラメータを導き出すことができる。この時、第2サンプルデータ(Z)の解像度は、第1出力データ(Y)の解像度と同じか高くなり、第2サンプルデータ(Z)の解像度は、第1出力データ(Y)の解像度と同じであり得る。
ディープラーニングトレーニングは、図4のように、出力結果と比較対象が存在して、比較対象との比較により学習を行う場合だけでなく、補償値を利用してトレーニングを行うこともできる。この場合、まず周辺環境を認知して現在の環境状態をディープラーニングトレーニングを行うプロセッサに伝達することができる。プロセッサは、これに合う行動(Action)を行って、環境はさらにその行動に係る補償値をプロセッサに知らせる。そしてプロセッサは補償値を最大にする行動を選ぶようになる。このような過程に介して学習を繰り返し進めることによって、トレーニングを行うことができる。その他にも多様なディープラーニングトレーニング方法を利用してディープラーニングトレーニングを行うことができる。
一般に、ディープラーニングができるプロセッサを小型のチップで実現するためには、ディープラーニングのプロセスとメモリーゲート(gate)数が最小化されなければならないが、ここでゲート数に最も大きく影響を与える要素はアルゴリズム複雑度とクロック(Clock)当たり処理されるデータ量であり、プロセッサが処理するデータの量は入力解像度により異なる。
従って、一実施例に係るプロセッサ1220は、ゲートの数を減らすために入力解像度を減らした後、後でアップスケーリング(Up Scailing)する方式で高配率のイメージを生成するので、より速くイメージを生成できる長所が存在する。
例えば、入力解像度が8Mp(Mega Pixel)のイメージを2倍ズームをするとすると、1/4領域(2Mp)を基に横と縦を各々2倍ずつアップスケーリング(Up scailing)して2倍ズームをする。そして1/4領域(2Mp)を1/4ダウンスケーリング(down scaling)して解像度が0.5Mpであるイメージをディープラーニング処理入力データとして使った後、生成されたイメージを基に横と縦を各々4倍ずつアップスケーリング(Up scailing)する方式で4倍ズームをすると、2倍ズームをしたのと同じ領域のズーム映像を生成することができる。
従って、入力解像度損失に係る性能低下を防止するために、ディープラーニングが解像度損失に対応する倍率だけ学習をさせてイメージを生成するので、性能低下を最小化できる長所が存在する。
また、高解像度のイメージを実現するためのディープラーニング基盤のアルゴリズムは、一般にフレームバッファー(Frame Buffer)を使うが、フレームバッファーの場合、通常のPC及びサーバーでは、その特性上リアルタイム駆動が難しいこともある。
しかし、本発明の第2実施例に係る第1処理部1121は、ディープラーニングを介してすでに生成されているアルゴリズム適用するので、低仕様カメラモジュール及びこれを含む色々な装置で簡単に適用が可能で、このようなアルゴリズムを具体的に適用することにおいていくつかのラインバッファー(Line Buffer)だけを使う方式で高解像度を実現するので、比較的大きさが小さい小型チップ(Chip)でプロセッサを実現することができる効果も存在する。
第1処理部1121は、前記第1ペイトデータをライン別に保存する少なくとも1つのラインバッファーを含み、前記ラインバッファーに所定個数ラインの第1ベイヤーデータが保存された場合、前記ラインバッファーに保存された第1ベイヤーデータに対する第2ベイヤーデータ生成を行うことができる。第1処理部1121は、第1ベイヤーデータをライン別に分けて受信するが、ライン別に受信する第1ベイヤーデータをラインバッファーに保存する。第1処理部1121はすべてのラインの第1ベイヤーデータを受信した後、第2ベイヤーデータを生成せずに、一定個数ラインの第1ベイヤーデータが保存された場合、前記ラインバッファーに保存された第1ベイヤーデータに対する第2ベイヤーデータ生成を行うことができる。解像度を9倍即ち、3倍ズームに該当する解像度を高めようとする場合、3つのラインの第1ベイヤーデータがラインバッファーに保存された場合、保存された3つのラインの第1ベイヤーデータに対する第2ベイヤーデータを生成する。ラインバッファーが形成される具体的な構成は図5を参照して説明する。
図5を参照すると、第1処理部121は、第1ベイヤーデータを受信する複数のラインバッファー11、ラインバッファーを介して出力された第1ベイヤーデータを波長帯域別に配列する第1配列データを生成する第1データ整列部221、ディープラーニングを行うディープラーニングプロセッサ222、ディープラーニングプロセッサ222を介して出力された第2配列データをベイヤーパターンで配列して第2ベイヤーデータを生成する第2データ整列部223及び第2データ整列部223を介して出力された第2ベイヤーデータを出力する複数のラインバッファー12を含むことができる。
第1ベイヤーデータは、先述したベイヤーパターンを含んでいる情報として、図5でベイヤーデータで記述したが、ベイヤーイメージまたはベイヤーパターンと定義されてもよい。
また、図5では、第1データ整列部221と第2データ整列部223を便宜上別個の構成要素で図示したが、これに限定されず、ディープラーニングプロセッサ222が後述する第1データ整列部221と第2データ整列部223が行う機能を行ってもよい。
図5を参考にすると、第1解像度の第1ベイヤーデータは、使用者によって選択された領域に対するイメージ情報を(n+1)個のラインバッファー11a、11b、~11n、11n+1に転送されることができる。先述した通り、使用者によって選択された領域に対してのみ第2解像度のベイヤーイメージを生成するので、使用者によって選択されなかった領域に対するイメージ情報は、ラインバッファー11に送信されない。
具体的に、第1ベイヤーデータは、複数の行データを含んでいて、このような複数の行データは、複数のラインバッファー11を介して第1データ整列部221に送信されることができる。
例えば、ディープラーニングプロセッサ222によってディープラーニングを行うべき領域が3×3領域であるない、計3つのラインが第1データ整列部221またはディープラーニングプロセッサ222で同時に送信されてこそディープラーニングを行うことができる。従って、3つのラインのうち最初のラインに対する情報は、第1ラインバッファー11aに送信された後、第1ラインバッファー11aに保存されて、3つのラインのうち二番目のラインに対する情報は、第2ラインバッファー11bに送信された後、第2ラインバッファー11bに保存されることができる。
その後三番目のラインの場合、以後受信されるラインに対する情報がないために、ラインバッファー11に保存されず直ちにディープラーニングプロセッサ222または第1データ整列部221に送信されることができる。
この時、第1データ整列部221またはディープラーニングプロセッサ222は、3つのラインに対する情報を同時に受信しなければならないため、第1ラインバッファー11aと第2ラインバッファー11bに保存されている最初のラインに対する情報と二番目のラインに対する情報も同時にディープラーニングプロセッサ222または第1イメージ整列部219に送信されることができる。
これとは逆に、ディープラーニングプロセッサ222によってディープラーニングを行うべき領域が(N+1)×(N+1)領域なら、総(N+1)個のラインが第1データ整列部221またはディープラーニングプロセッサ222に同時に送信されてこそディープラーニングを行うことができる。従って、(N+1)個のラインのうち最初のラインに対する情報は、第1ラインバッファー11aに送信された後、第1ラインバッファー11aに保存されて、(N+1)個のラインのうち二番目のラインに対する情報は、第2ラインバッファー11bに送信された後、第2ラインバッファー11bに保存されて、(N+1)個のラインのうちN番目のラインに対する情報は、第Nラインバッファー11nに送信された後、第Nラインバッファー11nに保存されることができる。
その後、(N+1)番目のラインの場合、以後で受信されるラインに対する情報がないために、ラインバッファー11に保存されず直ちにディープラーニングプロセッサ222または第1データ整列部221に送信されて、先述した通りこの際、第1データ整列部221またはディープラーニングプロセッサ222は、(N+1)個のラインに対する情報を同時に受信しなければならないので、ラインバッファー11a~11nに保存されている最初のラインからN番目のラインに対する情報も同時にディープラーニングプロセッサ222または第1イメージ整列部219に送信されることができる。
第1イメージ整列部219は、ラインバッファー11からベイヤーデータを受信した後、ベイヤーデータを波長帯域別に配列して、第1配列データを生成した後、生成された第1配列データをディープラーニングプロセッサ222に送信することができる。
第1イメージ整列部219は、受信した情報を特定波長または特定色別(Red、Green、Blue)に分類して配列した第1配列データを生成してもよい。
その後、ディープラーニングプロセッサ222は、第1イメージ整列部219を介して受信した第1配列データを基にディープラーニングを行って、第2配列データを生成することができる。
従って、ディープラーニングプロセッサ222は、第1イメージ整列部219を介して受信した第1配列データを基にディープラーニングを行って、第1解像よりも高い解像度の第2解像度の第2配列データを生成することができる。
例えば、先述した通り、3×3領域に対して第1配列データを受信すると、3×3領域に対してディープラーニングを行って、(n+1)×(n+1)領域に対して第1配列データを受信すると、(n+1)×(n+1)領域に対してディープラーニングを行うことができる。
その後、ディープラーニングプロセッサ222によって生成された第2配列データは、第2データ整列部223に送信されて、第2データ整列部223は、第2配列データをベイヤーパターンを有する第2ベイヤーデータに変換させることができる。
その後変換された第2ベイヤーデータは、複数のラインバッファー12aを介して外部に出力されて、出力された第2ベイヤーデータはさらに他の過程のよつて第1解像度よりも高い解像度である第2解像度を有しているベイヤーデータで生成することができる。
図6及び図7は、第1処理部1121によって第1解像度の第1ベイヤーデータのイメージが第2解像度の第2ベイヤーデータに変換されたイメージを図示した図である。
第1解像度のベイヤーデータ10で使用者が特定領域を選択した場合、その領域に対して第1処理部1121は、解像度を変換して、その結果として図6及び図7に図示されたように第2解像度のベイヤーデータ40が生成されることができる。
第1処理部1121は、前記第2ベイヤーデータを前処理することができる。第1処理部1121は、第1解像度の第1ベイヤーデータを利用して第2解像度の第2ベイヤーデータを生成して、生成された第2ベイヤーデータに対する前処理を行うことができる。この時、第1処理部1121は、ホワイトバランス(white balance)、デノイジング(de-nosing)、デフォーカス(de-focus)、デブラー(de-blur)、デモザイク(di-mosaic)中少なくとも1つ以上を行うことができる。その他にも、前処理に該当する様々な前処理を行うことができる。
第1処理部1121でベイヤーデータの解像度を高めるスーパーレゾリューションだけでなく、第2処理部1122で処理できるイメージ前処理を行うことによって、第2処理部1122の演算量を減らすことができる。即ち、第2処理部1122の前処理機能を第1処理部1121が行って機能を分担して、ISPの負担を減らすことができる。第1処理部1121は、前処理を行う前処理部をさらに含んでもよい。
この時、第1処理部1121は、ディープラーニングを行って学習された畳み込みニューラルネットワークを利用して、前記第2ベイヤーデータを前処理することができる。第1処理部1121が行う前処理過程のうちベイヤーデータの解像度を高める過程と同じディープラーニングネットワークを利用して処理できる前処理過程がある場合、該当前処理過程に対するディープラーニングパラメータを保存して、該当ディープラーニングパラメータを利用して前処理過程を行うことができる。1つ以上の前処理過程に対する別途のディープラーニングネットワーク及び該当ディープラーニングパラメータを保存するメモリーを含んでもよい。
第1処理部1121は、前記第2ペイトデータを前処理してRGBイメージまたはycbcrイメージを生成することができる。第2解像度を有する第2ベイヤーデータに対して前処理を行うことによって前処理された第3ベイヤーデータを生成し、さらに、前処理を介してRGBイメージまたはRGBイメージで変換されたycbcrイメージを生成することができる。第1処理部1121は、複数の前処理過程を行うが、行われる前処理過程により多様なデータを出力することができる。即ち、第2ベイヤーデータからRGBイメージ以前に該当する第3ベイヤーデータを生成することができる。第3ベイヤーデータは、RGBイメージではないか、ホワイトバランスのような前処理を介して、ホワイトバランスが行われたたベイヤーデータである第3ベイヤーデータを生成することができる。または、第2ベイヤーデータに対してRGBイメージを生成するための前処理過程を行って、RGBイメージを生成することができる。さらに、前記のように生成されたRGBイメージをycbcr変換を介してycbcrイメージを生成することができる。RGBイメージからycbcrイメージに変換した場合、ディスプレイ上に直ちにycbcrイメージを表示することができる。
第1処理部1121で行われた前処理過程は、使用者の設定、使用環境、または、第2処理部1122のISPの作業状態により異なることがある。第1処理部1121は、前処理を行って第2処理部1122のISPの機能を分担して、これは使用者の設定によりどのような前処理過程を第1処理部1121で行うのか設定されることができる。または、使用環境や、ISPの現在の作業状況によりISP機能の分担が必要な場合、第1処理部1121でどのような前処理過程を行うのか設定されることができる。これは、1つ以上のプロセッサで環境情報を受信して第1処理部1121での前処理実行設定値を決めることができる。または、ルックアップテーブル(LUT)で環境情報などに係る設定値を保存して、第1処理部1121での前処理実行設定値を適用することができる。
本発明の他の実施例に係るイメージ処理装置2100は、図19のように、カメラモジュール2110、ベイヤーデータ処理モジュール2120、及びAPモジュール2130で構成されることができる。図13または図16のイメージ処理装置1130の第1処理部1121をAPモジュール内でない別途のモジュールであるベイヤーデータ処理モジュール2120で構成することができる。ベイヤーデータ処理モジュール2120をAPモジュール2130と別途のモジュールで実現する以外には図19のイメージ処理装置2100で行われるイメージ処理過程は、図13のイメージ処理装置1130で行われるイメージ処理過程と対応するが、以下、図19のイメージ処理装置2100について図13のイメージ処理装置1130で行われるイメージ処理過程と重複する説明は省略して簡略に説明する。
カメラモジュール2110はイメージセンサーを含み、ベイヤーデータ処理モジュール2120は、カメラモジュール2110から出力される第1解像度の第1ベイヤーデータを利用して、第2解像度の第2ベイヤーデータを生成する。ベイヤーデータ処理モジュール2120は、APモジュール2130と区分される別途のチップ形態で実現されることができる。
ベイヤーデータ処理モジュール2120は、前記第1ベイヤーデータから前記第2ベイヤーデータを生成できて、ベイヤーデータ処理モジュール2120は、前記第2ベイヤーデータを前処理する前処理部を含むことができる。この時、前処理部は、前記第2ベイヤーデータを前処理することによって、第3ベイヤーデータ、RGBイメージ、またはycbcrイメージのいずれかを生成することができる。
APモジュール2130は、ベイヤーデータ処理モジュール2120から出力される出力データを受信してイメージ処理を行う。
本発明のさらに他の実施例に係るイメージ処理装置は、第1解像度の第1ベイヤーデータを利用して第2解像度の第2ベイヤーデータを生成する第1処理部を含むが、前記第1処理部は、APモジュールに形成されるイメージ信号処理部と区分されて形成されることができる。ここで、第1処理部1121は、図13または図16のイメージ処理装置1130の第1処理部1121、図19のイメージ処理装置2100のベイヤーデータ処理モジュール2120に対応する構成で、本発明のさらに他の実施例に係るイメージ処理装置は、第1処理部を含むことができ、第1処理部は、前記第1ベイヤーデータから前記第2ベイヤーデータを生成できて、前記第2ベイヤーデータを前処理する前処理部を含むことができる。この時、前処理部は、前記第2ベイヤーデータを前処理することによって、第3ベイヤーデータ、RGBイメージ、またはycbcrイメージのいずれかを生成することができる。
図20は、本発明の第2実施例に係るイメージ処理方法のフローチャートで、図21は、本発明の他の実施例に係るイメージ処理方法のフローチャートである。図20及び図21の各段階に対する詳細な説明は、図13~図19のイメージ処理装置に対する詳細な説明に対応するため、以下、重複する説明は省略する。
本発明の第2実施例に係るイメージ処理方法は、1つ以上のプロセッサを含むイメージ処理装置でイメージを処理する方法に関するものである。
S11段階で、第1解像度を有する第1ベイヤーデータを受信して、S12段階でディープラーニングを行って学習された畳み込みニューラルネットワークを利用してS13段階で第2解像度を有する第2ベイヤーデータを生成する。
S13段階以後、S21段階で第2ベイヤーデータに対して前処理を行うことができ、前処理を行った後、S22段階で第3ベイヤーデータ、RGBイメージまたはycbcrイメージのいずれかを生成する段階をさらに含むことができる。以後、イメージ信号処理を介し得ディスプレイに出力されることができるイメージを生成できる段階をさらに含むことができる。
本実施例に係る変形例は、図1~図12を参照して説明した第1実施例の一部構成と図13~図21を参照して説明した第2実施例の一部構成を共に含むことができる。即ち、変形例は、図1~図12を参照して説明した実施例を含むが、図1~図12を参照して説明した実施例の一部構成が省略されて対応する図13~図21を参照して説明した実施例の一部構成を含むことができる。または、変形例は、図13~図21を参照して説明した実施例の一部構成が省略されて対応する図1~図12を参照して説明した実施例の一部構成を含むことができる。
以上で実施例に説明された特徴、構造、効果などは少なくとも1つの実施例に含まれて、必ず1つの実施例にだけ限定されない。さらに、各実施例で例示された特徴、構造、効果などは、実施例が属する分野の通常の知識を有する者によって他の実施例に対しても組み合わせまたは変形されて実施可能である。従って、このような組み合わせと変形に関係する内容は、実施例の範囲に含まれると解釈されなければならない。
一方、本発明の実施例は、コンピュータで読み込むことができる記録媒体にコンピュータが読み込むことができるコードで実現することができる。コンピュータが読み込むことができる記録媒体は、コンピュータシステムによって読み込まれることができるデータが保存されるすべての種類の記録装置を含む。
コンピュータが読み込むことができる記録媒体の例としては、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データ保存装置などがあり、さらに、コンピュータが読み込むことができる記録媒体は、ネットワークに連結されたコンピュータシステムに分散して、分散方式でコンピュータが読み込むことができるコードが保存されて行われることができる。そして本発明を実現するための機能的な(functional)プログラム、コード及びコードセグメントは、本発明が属する技術分野のプログラマーによって容易に推論されることができる。
これまで実施例が、たとえ限定された実施例と図面によって説明されたが、該当技術分野で通常の知識を有する者なら、前記記載から多様な修正及び変形が可能である。例えば、説明された技術が説明された方法と異なる順序で実行されたり、及び/または説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合または組み合わせたり、他の構成要素または均等物に代わったり、置換されても適切な結果が達成されることができる。従って、他の実施例及び特許請求範囲と均等なものなども後述する特許請求範囲の範囲に属する。
Claims (10)
- 第1解像度を有する第1ベイヤーデータを生成するイメージセンサーと、
前記第1ベイヤーデータを利用して第2解像度を有する第2ベイヤーデータを出力するプロセッサと、を含むカメラ装置。 - 前記プロセッサは、
第1ベイヤーデータを利用して、第2解像度を有する第2ベイヤーデータを出力するように学習された畳み込みニューラルネットワークを含む請求項1に記載のカメラ装置。 - 前記畳み込みニューラルネットワークのトレーニングセットは、
第1解像度を有する第1ベイヤーデータ及び第2解像度を有する第2ベイヤーデータを含む請求項2に記載のカメラ装置。 - 前記第2解像度は、前記第1解像度より高い請求項1に記載のカメラ装置。
- 前記第2ベイヤーデータをImage Signal Processorで出力する請求項1に記載のカメラ装置。
- 前記プロセッサは、
前記第1ベイヤーデータを受信する受信部と、
前記第1ベイヤーデータを利用して、第2解像度を有する第2ベイヤーデータを出力する畳み込みニューラルネットワークと、を含む請求項1に記載のカメラ装置。 - 第1解像度を有する第1ベイヤーデータの入力を受ける段階と
学習された畳み込みニューラルネットワークを利用して、前記第1ベイヤーデータから第2解像度を有する第2ベイヤーデータを出力する段階と、を含む方法。 - 前記第1ベイヤーデータは、イメージセンサーから出力されるデータである請求項7に記載の方法。
- 前記畳み込みニューラルネットワークのトレーニングセットは、
第1解像度を有する第1ベイヤーデータ及び第2解像度を有する第2ベイヤーデータを含む請求項7に記載の方法。 - 前記第2ベイヤーデータをImage Signal Processorで出力する請求項7に記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190070298A KR102242939B1 (ko) | 2019-06-13 | 2019-06-13 | 카메라 장치 및 카메라 장치의 이미지 생성 방법 |
KR10-2019-0070298 | 2019-06-13 | ||
KR10-2019-0130677 | 2019-10-21 | ||
KR1020190130677A KR20210047070A (ko) | 2019-10-21 | 2019-10-21 | 이미지 처리 장치 및 이미지 처리 방법 |
PCT/KR2020/007738 WO2020251337A1 (ko) | 2019-06-13 | 2020-06-15 | 카메라 장치 및 카메라 장치의 이미지 생성 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022536327A true JP2022536327A (ja) | 2022-08-15 |
Family
ID=73781462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021572932A Pending JP2022536327A (ja) | 2019-06-13 | 2020-06-15 | カメラ装置及びカメラ装置のイメージ生成方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220253978A1 (ja) |
EP (1) | EP3985961A4 (ja) |
JP (1) | JP2022536327A (ja) |
CN (1) | CN114270799B (ja) |
TW (1) | TW202105028A (ja) |
WO (1) | WO2020251337A1 (ja) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2001271847A1 (en) * | 2000-07-06 | 2002-01-21 | The Trustees Of Columbia University In The City Of New York | Method and apparatus for enhancing data resolution |
KR20180008244A (ko) * | 2016-07-14 | 2018-01-24 | 엘지이노텍 주식회사 | 이미지 생성 방법 및 생성 장치 |
KR101791573B1 (ko) * | 2016-10-21 | 2017-10-31 | 서강대학교산학협력단 | 컨볼루션 신경망을 이용한 비디오 스트림에 대한 수퍼 해상도 장치 및 방법 |
JP6236731B1 (ja) * | 2017-03-10 | 2017-11-29 | 株式会社ツバサファクトリー | 超解像度処理装置、超解像度処理方法およびコンピュータプログラム |
RU2652722C1 (ru) * | 2017-05-03 | 2018-04-28 | Самсунг Электроникс Ко., Лтд. | Обработка данных для сверхразрешения |
KR102326165B1 (ko) * | 2017-08-23 | 2021-11-16 | 엘지디스플레이 주식회사 | 영상 처리 방법 및 이를 이용한 표시 장치 |
US10643306B2 (en) * | 2017-10-11 | 2020-05-05 | Qualcomm Incoporated | Image signal processor for processing images |
US10733714B2 (en) * | 2017-11-09 | 2020-08-04 | Samsung Electronics Co., Ltd | Method and apparatus for video super resolution using convolutional neural network with two-stage motion compensation |
CN109658348A (zh) * | 2018-11-16 | 2019-04-19 | 天津大学 | 基于深度学习的联合噪声估计和图像去噪方法 |
-
2020
- 2020-06-15 WO PCT/KR2020/007738 patent/WO2020251337A1/ko active Application Filing
- 2020-06-15 EP EP20823426.0A patent/EP3985961A4/en active Pending
- 2020-06-15 TW TW109120316A patent/TW202105028A/zh unknown
- 2020-06-15 JP JP2021572932A patent/JP2022536327A/ja active Pending
- 2020-06-15 US US17/617,832 patent/US20220253978A1/en not_active Abandoned
- 2020-06-15 CN CN202080057178.3A patent/CN114270799B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114270799A (zh) | 2022-04-01 |
US20220253978A1 (en) | 2022-08-11 |
CN114270799B (zh) | 2024-04-05 |
TW202105028A (zh) | 2021-02-01 |
EP3985961A1 (en) | 2022-04-20 |
WO2020251337A1 (ko) | 2020-12-17 |
EP3985961A4 (en) | 2023-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220138964A1 (en) | Frame processing and/or capture instruction systems and techniques | |
US20210390658A1 (en) | Image processing apparatus and method | |
CN115004680A (zh) | 图像处理装置和图像处理方法 | |
CN112750092A (zh) | 训练数据获取方法、像质增强模型与方法及电子设备 | |
KR102242939B1 (ko) | 카메라 장치 및 카메라 장치의 이미지 생성 방법 | |
KR20220030877A (ko) | 다양한 인트라-프레임 아날로그 비닝을 사용하는 이미지 센서 | |
US8125541B2 (en) | Image-sensing apparatus | |
KR20220132301A (ko) | 신경망 처리 장치를 포함하는 애플리케이션 프로세서, 및 이의 동작 방법 | |
US11302035B2 (en) | Processing images using hybrid infinite impulse response (TTR) and finite impulse response (FIR) convolution block | |
KR102494123B1 (ko) | 이미지 센서, 카메라 모듈 및 카메라 모듈을 포함하는 광학 기기 | |
CN114208147B (zh) | 图像传感器、相机模块和包括相机模块的光学装置 | |
EP3985961A1 (en) | Camera device and image generation method of camera device | |
US20220417428A1 (en) | Camera device and image generation method of camera device | |
KR102371944B1 (ko) | 카메라 장치 및 카메라 장치의 이미지 생성 방법 | |
US20220156532A1 (en) | Fusing fbis & dvs data streams using a neural network | |
US20240119561A1 (en) | Image processing device and image processing method | |
KR20210047070A (ko) | 이미지 처리 장치 및 이미지 처리 방법 | |
KR20210044648A (ko) | 영상 처리 장치 및 이를 포함하는 광학 기기 | |
KR20220159852A (ko) | 이미지 처리 모듈 | |
US20230232121A1 (en) | Imaging device and imaging method | |
KR20120049669A (ko) | 자동초점 기능이 내장된 고정초점 카메라 모듈 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211214 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230608 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240410 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240521 |