JP6284332B2 - 画像処理装置、画像処理方法、および撮像装置 - Google Patents

画像処理装置、画像処理方法、および撮像装置 Download PDF

Info

Publication number
JP6284332B2
JP6284332B2 JP2013207603A JP2013207603A JP6284332B2 JP 6284332 B2 JP6284332 B2 JP 6284332B2 JP 2013207603 A JP2013207603 A JP 2013207603A JP 2013207603 A JP2013207603 A JP 2013207603A JP 6284332 B2 JP6284332 B2 JP 6284332B2
Authority
JP
Japan
Prior art keywords
unit
image
processing
image processing
clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013207603A
Other languages
English (en)
Other versions
JP2015072583A (ja
Inventor
英 池田
英 池田
上野 晃
晃 上野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Corp filed Critical Olympus Corp
Priority to JP2013207603A priority Critical patent/JP6284332B2/ja
Priority to US14/454,313 priority patent/US9197812B2/en
Publication of JP2015072583A publication Critical patent/JP2015072583A/ja
Application granted granted Critical
Publication of JP6284332B2 publication Critical patent/JP6284332B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/60Noise processing, e.g. detecting, correcting, reducing or removing noise
    • H04N25/61Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Power Sources (AREA)
  • Advance Control (AREA)
  • Microcomputers (AREA)

Description

本発明は、画像処理装置、画像処理方法、および撮像装置に関する。
近年、デジタルスチルカメラやビデオカメラなどの撮像装置の高機能化に伴って、撮影した画像の画像データに対する画像処理が複雑化している。一般的な撮像装置における処理フローでは、まず、撮像処理部が、撮像素子が撮像した撮影画像の画素信号に対して撮像処理を行って、撮像処理後の画像データを一旦メモリに格納する。続いて、画像処理部が、メモリに格納された撮像処理後の画像データを読み出して高画質化処理などの様々な画像処理を行って、画像処理後の画像データを再びメモリに格納する。その後、例えば、画像処理後の画像データを表示デバイスに表示させる場合には、表示処理部が、メモリに格納された画像データを読み出して表示用の変換処理を行って、表示デバイスに表示させる。
このような撮像装置における一連の処理フローにおいては、画像処理部が撮像処理後の画像データに対して実行する画像処理の内容が、撮像装置の動作モードなどの設定によって異なってくる。例えば、撮影画像に対応した縮小画像、いわゆる、サムネイル画像を生成する画像処理では、オプティカルブラック(OB)/ホワイトバランス(WB)処理、三板化処理、ノイズ低減処理、ローパスフィルタ(LPF)処理、縮小処理、色変換処理などの演算処理を順次行ってサムネイル画像を生成する。また、例えば、撮影画像の一部を拡大した部分拡大画像、いわゆる、デジタルズーム画像を生成する画像処理では、OB/WB処理、三板化処理、ノイズ低減処理、拡大処理、エッジ強調処理などの演算処理を順次行ってデジタルズーム画像を生成する。
このように、撮像装置に備えた画像処理部では、実行するそれぞれの画像処理毎に、撮像処理後の画像データに対して行う画像処理、すなわち、演算処理の内容や演算処理を実行する順番が異なる。このため、画像処理部では、実行する演算処理の内容毎にブロック化されたそれぞれの演算部が準備し、複数の演算部を直列に接続したパイプラインを構成して一連の様々な画像処理を実現する処理形態が採用されている。このパイプラインの処理形態では、画素毎や画像を分割した領域毎に、前段の演算部が画像データに対する演算処理を実行し、演算処理が完了した画像データを順次、後段の演算部に受け渡していくことによって、それぞれの演算部が並列に演算処理を行う。
このような画像処理部では、パイプラインを構成する演算部や、パイプラインにおいて実行するそれぞれの演算処理の順番を入れ替えることによって、撮像装置の動作モードなどに応じて異なる様々な画像処理に対応する。このため、画像処理部は、実行する様々な画像処理に応じて、パイプラインを構成する演算部の組み合わせや、パイプライン上に配置する演算部の順番を自由に入れ替えることができる構成を備えている。このとき、画像処理部では、パイプラインを構成するそれぞれの演算部同士での画像データの受け渡しを同期させることが必要である。
例えば、特許文献1に開示された技術では、演算処理を実行する演算部に相当するそれぞれの処理ステージの間に、前段の処理ステージから出力された画像データを受け取って、受け取った画像データを後段の処理ステージに引き渡すためのバッファを配置した構成の画像処理装置が開示されている。特許文献1に開示された画像処理装置では、2個のバッファによってダブルバッファを構成し、制御装置が、ダブルバッファの切り替えと、それぞれの処理ステージによる画像データに対する処理の実行開始とを制御している。そして、特許文献1に開示された画像処理装置では、前段の処理ステージによって処理された画像データは、ダブルバッファを介して次段の処理ステージに渡され、次段の処理ステージによって処理された画像データは、ダブルバッファを介してさらに次段の処理ステージに渡されるというように、各処理ステージで処理された画像データが順次、ダブルバッファを介して受け渡されて、一連のパイプラインの処理を実現している。なお、特許文献1に開示された画像処理装置では、それぞれの処理ステージが画像データを順次出力することによって、各処理ステージが同時に、並列に動作している。
特開平10−334225号公報
しかしながら、パイプラインが構成された一連の画像処理において、それぞれの演算部が演算処理を行う処理量は、演算対象の画像データのデータ量によって異なる。この演算対象の画像データのデータ量は、例えば、演算を実行する画像の大きさや、演算を実行する画像内の領域の大きさなどによって異なる。このため、例えば、処理量の少ない演算部では、実際に画像データに対する処理を実行していない、待ち時間、アイドル時間、スタンバイ時間、遊び時間などと呼ばれる未処理時間が存在している。
ところが、特許文献1に開示された画像処理装置では、それぞれの処理ステージにおける処理量が異なる場合でも、パイプライン内で処理量が最大の処理ステージが処理を実行している期間内中、全ての処理ステージが動作している。このため、特許文献1に開示された画像処理装置では、いずれかの処理ステージが処理を実行していない状態(未処理時間)であっても、全ての処理ステージを動作させるためのクロック信号を供給する必要があり、この未処理時間の間のクロック信号の供給によって、従来の画像処理装置が余分な電力を消費してしまう、という問題がある。
本発明は、上記の課題認識に基づいてなされたものであり、複数の演算部を直列に接続したパイプラインが構成された処理形態の画像処理において、それぞれの演算部における処理の内容に応じて消費電力を低減することができる画像処理装置、画像処理方法、および撮像装置を提供することを目的としている。
上記の課題を解決するため、本発明の画像処理装置は、入力された画像データに対して演算処理を行って出力する複数の演算部を有し、画像処理の動作モードの設定に応じて、パイプラインを構成する前記演算部の組み合わせと、該パイプライン上に配置するぞれぞれの前記演算部の順番との少なくとも一方を変更して、前記画像処理の動作モードの設定に応じた画像処理を実行する画像処理装置であって、前記画像処理を実行する対象の画像データを記憶部から読み出して、前記パイプラインを構成する初段の前記演算部に出力する画像データ入力部と、前記パイプラインを構成する最終段の前記演算部から出力された演算処理後の画像データを受けて、前記記憶部に出力する画像データ出力部とを備えた画像データ転送部と、前記画像データ転送部に備えた前記画像データ入力部および前記画像データ出力部と、前記パイプラインを構成するそれぞれの前記演算部とのそれぞれに対応し、入力された複数のクロック信号の中から、対応する前記画像データ入力部および前記画像データ出力部と、前記演算部に供給するクロック信号を選択して出力する複数のクロック選択部と、前記パイプライン上で、第1のクロック信号が入力される前記演算部と、前記第1のクロック信号と異なる周波数の第2のクロック信号が入力される前記演算部との間に配置され、一方のクロック信号のタイミングで出力された演算処理後の画像データを、他方のクロック信号のタイミングで出力するデータ受け渡し部と、前記画像処理の動作モードに応じて、それぞれの前記クロック選択部による前記クロック信号の選択と、前記パイプラインを構成する前記演算部および前記データ受け渡し部の組み合わせと、該パイプライン上に配置する前記演算部および前記データ受け渡し部の順番とを制御する制御部と、を備えることを特徴とする。
また、本発明の画像処理方法は、入力された画像データに対して演算処理を行って出力する複数の演算部を有し、画像処理の動作モードの設定に応じて、パイプラインを構成する前記演算部の組み合わせと、該パイプライン上に配置するぞれぞれの前記演算部の順番との少なくとも一方を変更して、前記画像処理の動作モードの設定に応じた画像処理を実行する画像処理装置による画像処理方法であって、前記パイプラインを構成する初段の前記演算部に出力する画像データ入力部に、前記画像処理を実行する対象の画像データを記憶部から読み出して転送させ、前記記憶部に出力する画像データ出力部に、前記パイプラインを構成する最終段の前記演算部から出力された演算処理後の画像データを受けて転送させる画像データ転送手順と、前記画像データ入力部および前記画像データ出力部と、前記パイプラインを構成するそれぞれの前記演算部とのそれぞれに対応した複数のクロック選択部に、入力された複数のクロック信号の中から、対応する前記画像データ入力部および前記画像データ出力部と、前記演算部に供給するクロック信号を選択して出力させるクロック選択手順と、前記パイプライン上で、第1のクロック信号が入力される前記演算部と、前記第1のクロック信号と異なる周波数の第2のクロック信号が入力される前記演算部との間に配置されたデータ受け渡し部に、一方のクロック信号のタイミングで出力された演算処理後の画像データを、他方のクロック信号のタイミングで出力させるデータ受け渡し手順と、制御部に、それぞれの前記クロック選択部による前記クロック信号の選択と、前記パイプラインを構成する前記演算部および前記データ受け渡し部の組み合わせと、該パイプライン上に配置する前記演算部および前記データ受け渡し部の順番とを、前記画像処理の動作モードに応じて制御させる制御手順と、を含むことを特徴とする。
また、本発明の撮像装置は、複数の画素を有し、入射した被写体光に応じたそれぞれの前記画素の信号を光電変換した画素信号を出力する固体撮像装置と、前記固体撮像装置が出力した画素信号に応じた画像データを記憶する記憶部と、前記記憶部に記憶された前記画像データに対して、画像処理の動作モードの設定に応じた画像処理を実行する、上記本発明の画像処理装置と、を備えることを特徴とする。
本発明によれば、複数の演算部を直列に接続したパイプラインが構成された処理形態の画像処理において、それぞれの演算部における処理の内容に応じて消費電力を低減することができるという効果が得られる。
本発明の実施形態における撮像装置の概略構成を示したブロック図である。 本実施形態の撮像装置に備えた画像処理部の構成の一例を示したブロック図である。 本実施形態の撮像装置に備えた画像処理部内のクロック生成部の構成および動作の一例を説明する図である。 本実施形態の撮像装置に備えた画像処理部によって第1の画像処理を実行するときのパイプラインの構成を示した図である。 本実施形態の撮像装置に備えた画像処理部によって第2の画像処理を実行するときのパイプラインの構成を示した図である。 本実施形態の撮像装置に備えた画像処理部によって第3の画像処理を実行するときのパイプラインの構成を示した図である。
以下、本発明の実施形態について、図面を参照して説明する。 図1は、本実施形態における撮像装置の概略構成を示したブロック図である。図1に示した撮像装置10は、イメージセンサ100と、撮像処理部200と、DMA(Direct Memory Access)転送部310と、画像処理部400と、DMA転送部320と、表示処理部500と、表示デバイス501と、DMA転送部330と、メモリ600と、を備えている。
撮像装置10内のDMA転送部310、DMA転送部320、DMA転送部330、およびメモリ600は、データバス700を介してそれぞれ接続され、DMA転送によって、メモリ600への画像データの格納(書き込み)、およびメモリ600からの画像データの取得(読み出し)を行う。
イメージセンサ100は、不図示のレンズによって結像された被写体の光学像を光電変換するCCD(Charge Copled Device:電荷結合素子)イメージセンサや、CMOS(Complementary Metal−Oxide Semiconductor:相補型金属酸化膜半導体)イメージセンサに代表される固体撮像装置である。イメージセンサ100は、撮像した撮影画像の画素信号、すなわち、入射した被写体光に応じたそれぞれの画素の画素信号を撮像処理部200に出力する。なお、以下の説明においては、イメージセンサ100がベイヤー配列のカラーフィルタが撮像面に貼付されている固体撮像装置であり、ベイヤー配列の撮影画像の画素信号を撮像処理部200に出力するものとして説明する。
撮像処理部200は、イメージセンサ100から入力されたベイヤー配列の撮影画像の画素信号に対して、例えば、A/D(アナログ/デジタル)変換、画素欠陥補正、シェーディング補正、暗電流補正などの各種の処理を施し、撮像処理を施した後のベイヤー配列の画像データ(以下、「撮像処理データ」という)を生成する。そして、撮像処理部200は、生成した撮像処理データを、DMA転送部310に出力する。
DMA転送部310は、撮像処理部200から入力された撮像処理データを、DMA転送によってメモリ600に格納する(書き込む)。
DMA転送部320は、DMA転送部310によってメモリ600に格納された撮像処理データを取得し(読み出し)、取得した撮像処理データを画像処理部400に出力する。
画像処理部400は、DMA転送部320から入力されたベイヤー配列の撮像処理データに対して予め定められた種々の画像処理を施し、画像処理を施した後の画像データ(以下、「画像処理データ」という)を生成する。そして、画像処理部400は、生成した画像処理データを、DMA転送部320に出力する。
画像処理部400が行う画像処理は、例えば、オプティカルブラック(OB)/ホワイトバランス(WB)処理、三板化処理(デモザイキング処理)、ノイズ低減処理、ローパスフィルタ(LPF)処理、縮小処理、色変換処理、拡大処理、エッジ強調処理、歪み補正処理、高画質化処理など、様々な演算処理を組み合わせた処理である。
OB/WB処理は、撮影画像の黒レベル(OB)の補正やホワイトバランス(WB)などを補正する処理である。三板化処理は、ベイヤー配列の画像データを、YC変換処理によってY(輝度)データとCb(色差:青)データおよびCr(色差:赤)データとに変換したり、RGB変換処理によって赤色(R)データと、緑色(G)データと、青色(B)データとに変換したりする処理である。ノイズ低減処理は、画像全体のノイズを低減する処理である。LPF処理は、画像内の高周波成分の抑圧を行う処理である。縮小処理は、画像を縮小した縮小画像を生成する処理である。色変換処理は、画像全体の色味を変換する処理である。拡大処理は、画像の全体または一部を拡大した拡大画像を生成する処理である。エッジ強調処理は、画像内で輝度や色の変化が大きいエッジの位置を強調した画像を生成する処理である。歪み補正処理は、光学系の歪みを補正する処理である。高画質化処理は、画像を高画質化する処理である。なお、本実施形態においては、画像処理部400において画像処理を実行する際のそれぞれの演算処理に関しては、何ら限定しない。
このため、画像処理部400は、上述したそれぞれの演算処理を実行する複数の演算部を備え、撮像装置10における画像処理の動作モードなどの設定に基づいて、画像処理を実行するために必要な演算部を直列に接続したパイプラインを構成することによって、一連の様々な画像処理を実行する。このとき、画像処理部400は、撮像装置10が撮像処理データに対して実行する画像処理の内容に応じて、パイプラインを構成するそれぞれの演算部の組み合わせや、パイプライン上に配置するそれぞれの演算部の順番、すなわち、演算処理を実行する順番を、自由に入れ替える。なお、パイプラインを構成するそれぞれの演算部の組み合わせや、パイプライン上に配置するそれぞれの演算部の順番を入れ替える構成としては、例えば、それぞれの演算処理を実行する演算部同士の物理的な接続を切り替えるクロスバスイッチを用いる構成などが考えられるが、本実施形態においては、画像処理部400内にパイプラインを構成するための構成に関しては、何ら限定しない。なお、画像処理部400のより詳細な構成に関しては、後述する。
DMA転送部320は、画像処理部400から入力された画像処理データを、DMA転送によってメモリ600に格納する(書き込む)。
DMA転送部330は、DMA転送部320によってメモリ600に格納された画像処理データを取得し(読み出し)、取得した画像処理データを表示処理部500に出力する。
表示処理部500は、DMA転送部330から入力された画像処理データの画像を表示デバイス501が表示することができる大きさの画像に縮小するリサイズ処理や、OSD(On−Screen Display)表示用のデータを重畳する重畳処理などの表示用の変換処理を施し、表示用の変換処理を施した後の画像処理データを、表示デバイス501に出力する。
表示デバイス501は、TFT(Thin Film Transistor:薄膜トランジスター)−LCD(Liquid Crystal Display:液晶ディスプレイ)や、有機EL(Electro Luminescence)ディスプレイなどの表示装置であり、表示処理部500から出力された表示処理後の画像処理データに応じた画像を表示する。
なお、表示デバイス501は、EVF(Electronic View Finder:電子ビューファインダ)などの表示デバイスや、テレビなどの外部ディスプレイであってもよい。また、図1においては、表示デバイス501も撮像装置10の構成要素としているが、表示デバイス501は、撮像装置10に着脱可能な構成であってもよい。
メモリ600は、撮像装置10に備えたそれぞれの構成要素からアクセスされるDRAM(Dynamic Random Access Memory)などのメモリである。メモリ600は、撮像装置10内のそれぞれの構成要素の処理過程における様々なデータを一時記録する。
なお、図1では、撮像装置10内のDMA転送部310、DMA転送部320、およびDMA転送部330のそれぞれがデータバス700を介してメモリ600にアクセスする構成を示しているが、例えば、不図示のメモリコントローラによってメモリ600に対するアクセス制御がされる構成であってもよい。この場合には、撮像装置10内のそれぞれのDMA転送部は、DMA転送におけるメモリ600へのアクセス要求をメモリコントローラに対して出力し、メモリコントローラが、それぞれのDMA転送部から入力されたDMA転送におけるメモリ600へのアクセス要求に応じて、接続されているメモリ600へのデータの格納(書き込み)、およびメモリ600からのデータの取得(読み出し)の制御を行うことになる。
また、画像処理部400によって画像処理が施され、DMA転送部320によってメモリ600に格納された画像処理データは、例えば、不図示の記録処理部に対応したDMA転送部によって取得され(読み出され)、不図示の記録処理部によって、撮像装置10に着脱可能な不図示の記録媒体に記録される構成であってもよい。ここで、記録媒体としては、例えば、SDメモリカード(SD Memory Card)やコンパクトフラッシュ(CompactFlash:CF(登録商標))などが考えられる。また、不図示の記録媒体に記録される画像処理データは、例えば、画像処理部400に備えた演算部によって、JPEG圧縮処理などの画像処理が施させることが考えられる。
このような構成によって、撮像装置10では、イメージセンサ100によって撮影された被写体の画素信号に対して撮像処理部200が撮像処理を施した撮像処理データを一旦メモリ600に格納する。続いて、撮像装置10では、メモリ600に格納されている撮像処理データに対して画像処理部400が画像処理を施した画像処理データを再びメモリ600に格納する。その後、撮像装置10では、メモリ600に格納されている画像処理データに対して表示処理部500が表示処理を施した画像処理データを、表示デバイス501に表示させる。なお、撮像装置10内のそれぞれの構成要素は、例えば、CPU(Central Processing Unit)などの不図示の制御部によって制御される。
次に、撮像装置10に備えた画像処理部400について説明する。図2は、本実施形態の撮像装置10に備えた画像処理部400の構成の一例を示したブロック図である。図2には、それぞれの演算処理を実行する4つの演算部を備えた画像処理部400の構成の一例を示している。また、図2には、DMA転送部320、データバス700、メモリ600、および制御部800など、画像処理部400に関連する構成要素も併せて示している。なお、図2には、入力DMA部321が、メモリ600に記憶されている撮像処理データを取得して(読み出して)画像処理部400に出力し、出力DMA部322が、画像処理部400が出力した画像処理データをメモリ600に格納する(書き込む)DMA転送部320の構成を示している。
図2に示した画像処理部400は、4つの演算部411〜414と、クロック生成部420と、データ受け渡し部450と、7つのクロック選択部431〜434、441、442、および451と、を備えている。
演算部411〜414のそれぞれは、画像処理部400が実行する画像処理における演算処理を実行するそれぞれの演算回路であり、入力された画像データに対して演算処理を施し、演算処理を施した後の画像データを出力する。演算部411〜414のそれぞれは、制御部800による制御に応じて、画像処理部400内でパイプラインを構成する際の演算部の組み合わせや、パイプライン上に配置する演算部の順番が変更される。
図2には、画像処理部400内のパイプライン上に、演算部411、演算部412、演算部413、演算部414の順番で、演算部411〜414のそれぞれを配置した一例を示している。このパイプラインの配置では、DMA転送部320内の入力DMA部321がメモリ600から取得して(読み出して)出力した撮像処理データを、パイプラインの初段に配置された演算部411が最初に演算処理を行い、演算部411が演算処理した画像データを、演算部412、演算部413、演算部414の順番で順次演算処理する。そして、パイプラインの最終段に配置された演算部414が処理した画像処理データを、DMA転送部320内の出力DMA部322がメモリ600に格納する(書き込む)。
なお、演算部411〜414のそれぞれが実行する演算処理の内容は、従来の画像処理部に備えた演算部のそれぞれが実行する演算処理の内容と同様であるため、詳細な説明は省略する。
データ受け渡し部450は、当該データ受け渡し部450に接続された前段の演算部と後段の演算部との間で、画像データの受け渡しを行う、バッファである。データ受け渡し部450は、例えば、画像データの書き込みと読み出しとを異なるタイミングで行うことができるデュアルポート(2ポート)SRAM(Static Random Access Memory)などのメモリで構成される。データ受け渡し部450は、前段の演算部が画像データを出力するタイミングで画像データを格納し、後段の演算部に画像データを入力するタイミングで、格納している画像データを出力することによって、前段の演算部が演算処理を施した演算処理後の画像データを、後段の演算部に引き渡す。
データ受け渡し部450は、演算部411〜414と同様に、パイプラインを構成する構成要素として、制御部800による制御に応じて、画像処理部400内で構成されるパイプライン上の配置、すなわち、いずれの演算部の間に配置されるかが変更される。図2には、画像処理部400内のパイプライン上の演算部411と演算部412との間に、データ受け渡し部450を配置した一例を示している。より具体的には、画像処理部400内のパイプライン上に、演算部411、データ受け渡し部450、演算部412、演算部413、演算部414の順番で、演算部411〜414およびデータ受け渡し部450のそれぞれを配置した一例を示している。
このパイプラインの配置では、前段の演算部411が画像データを出力するタイミングで、出力された画像データをデータ受け渡し部450内に格納し、後段の演算部412に画像データを入力するタイミングで、格納している画像データを出力することによって、演算部411と演算部412との間で、前段の演算部411が演算処理を施した演算処理後の画像データを、後段の演算部412に引き渡す。
なお、図2においては、演算部411と演算部412との間に、データ受け渡し部450を配置した場合の一例を示しているが、上述したように、制御部800による制御に応じて、パイプライン上の配置が変更される。従って、データ受け渡し部450は、演算部412と演算部413との間や、演算部413と演算部414との間などに配置することもできる。
また、図2においては、画像処理部400に1つのデータ受け渡し部450を備えた構成を示しているが、画像処理部400内に備えるデータ受け渡し部450の数は1つに限定されるものではなく、複数のデータ受け渡し部450を備える構成であってもよい。この場合、パイプライン上の複数の箇所にデータ受け渡し部450を配置することができる。つまり、画像処理部400に複数のデータ受け渡し部450を備えている場合には、図2に示した演算部411と演算部412との間の他に、演算部412と演算部413との間や、演算部413と演算部414との間などにも配置することができる。
クロック生成部420は、制御部800による制御に応じて、画像処理部400内に備えた演算部411〜414およびデータ受け渡し部450が動作するクロック信号を生成する。クロック生成部420は、生成したそれぞれのクロック信号を、クロック選択部431〜434、441、442、および451のそれぞれに出力する。図2には、画像処理部400に入力された第1のクロックCLK1に基づいて生成した第2のクロックCLK2を出力するクロック生成部420の一例を示している。
ここで、クロック生成部420について説明する。図3は、本実施形態の撮像装置10に備えた画像処理部400内のクロック生成部420の構成および動作の一例を説明する図である。図3(a)には、クロック生成部420の構成の一例を示し、図3(b)および図3(c)には、クロック生成部420が第1のクロックCLK1に基づいて第2のクロックCLK2を生成する際のタイミングチャートの一例を示している。
まず、クロック生成部420の構成について説明する。図3(a)に示したクロック生成部420は、カウンタ421と、デコーダ422と、マスク処理部423と、を備えている。カウンタ421は、第1のクロックCLK1のタイミングで計数(カウント)するカウンタである。デコーダ422は、カウンタ421がカウントしたカウント値が制御部800によって設定された値のときに、第1のクロックCLK1のクロックパルスの出力をマスクするための制御信号(以下、「マスク信号」という)を出力する。マスク処理部423は、デコーダ422から入力されたマスク信号に基づいて、第1のクロックCLK1のクロックパルスをマスクする。
続いて、クロック生成部420の動作について説明する。図3(b)に示したタイミングチャートは、クロック生成部420が、第1のクロックCLK1の周波数の半分(1/2)の周波数である第2のクロックCLK2を生成して出力する場合のタイミングチャートである。図3(c)に示したタイミングチャートは、クロック生成部420が、第1のクロックCLK1の周波数の3/4の周波数である第2のクロックCLK2を生成して出力する場合のタイミングチャートである。図3(b)および図3(c)のタイミングチャートのそれぞれには、第1のクロックCLK1、カウンタ421のカウント値、デコーダ422が出力するマスク信号、および第2のクロックCLK2のそれぞれのタイミングを示している。
第1のクロックCLK1の周波数の半分(1/2)の周波数である第2のクロックCLK2を生成する場合、制御部800は、例えば、カウンタ値が奇数であるとき(例えば、カウンタ421の最下位ビットの値が“1”であるとき)に、第1のクロックCLK1のクロックパルスをマスクするように設定する。そして、図3(b)に示したように、カウンタ421は、第1のクロックCLK1の立ち上がりのタイミングでカウントする。また、デコーダ422は、制御部800による設定に応じて、カウンタ値が奇数であるときに、第1のクロックCLK1のクロックパルスをマスクすることを表す(図3(b)においては“High”レベルのときにマスクすることを表す)マスク信号を出力する。また、マスク処理部423は、マスク信号に応じて第1のクロックCLK1のクロックパルスをマスクする。これにより、第1のクロックCLK1の“High”レベルのクロックパルスが半分マスクされた、すなわち、第1のクロックCLK1の周波数の1/2の周波数の第2のクロックCLK2が生成される。
また、第1のクロックCLK1の周波数の3/4の周波数である第2のクロックCLK2を生成する場合、制御部800は、例えば、カウンタ値が“3”であるときに、第1のクロックCLK1のクロックパルスをマスクするように設定する。そして、図3(c)に示したように、カウンタ421は、第1のクロックCLK1の立ち上がりのタイミングでカウントする。また、デコーダ422は、制御部800による設定に応じて、カウンタ値が“3”であるときに、第1のクロックCLK1のクロックパルスをマスクすることを表す(図3(c)においては“High”レベルのときにマスクすることを表す)マスク信号を出力する。また、マスク処理部423は、マスク信号に応じて第1のクロックCLK1のクロックパルスをマスクする。これにより、第1のクロックCLK1の“High”レベルのクロックパルスが1/4だけマスクされた、すなわち、第1のクロックCLK1の周波数の3/4の周波数の第2のクロックCLK2が生成される。
なお、カウンタ421が図3(b)と同様にカウントし、制御部800が、カウンタ421の下位から2ビット目の値が“1”であるときに、第1のクロックCLK1のクロックパルスをマスクするように設定することによって、図3(c)と同様の第2のクロックCLK2を生成することもできる。
このように、クロック生成部420では、簡易的な方法で、第1のクロックCLK1と異なる周波数(第1のクロックCLK1よりも低い周波数)の第2のクロックCLK2を生成することができる。
なお、クロック生成部420における第2のクロックCLK2の生成方法は、上述した方法に限定されるものではない。例えば、クロック生成部420に分周回路を備え、入力された第1のクロックCLK1を分周することによって、第2のクロックCLK2を生成する構成にすることもできる。また、クロック生成部420が生成するクロック信号は、1つのクロック信号に限定されるのもではなく、複数のクロック信号を生成することもできる。例えば、図3(b)に示した第1のクロックCLK1の周波数の1/2の周波数の第2のクロックCLK2と、3/4の周波数の第2のクロックCLK2とを同時に生成し、それぞれの第2のクロックCLK2を同時に出力する構成にすることもできる。
なお、クロック生成部420が生成する第2のクロックCLK2は、上述したように、第1のクロックCLK1よりも周波数が低いクロック信号に限定されるものではない。例えば、第1のクロックCLK1よりも周波数が高い第2のクロックCLK2を生成する構成にすることもできる。この場合、例えば、クロック生成部420内にPLL(Phase Locked Loop)を備えることによって、第1のクロックCLK1よりも周波数が高い第2のクロックCLK2を生成する構成などが考えられる。
また、クロック生成部420内に第2のクロックCLK2を出力する発振器を備える構成にすることもできる。さらに、第1のクロックCLK1を出力する発振器を備える構成にしてもよい。
クロック選択部431〜434、441、442、および451は、制御部800による制御に応じて、入力された複数のクロック信号から、対応する構成要素が動作するクロック信号を選択して出力する。図2には、画像処理部400に入力された第1のクロックCLK1と、クロック生成部420が生成した第2のクロックCLK2とがクロック選択部431〜434、441、442、および451のそれぞれに入力され、選択したクロック信号を対応する構成要素に出力する一例を示している。
より具体的には、図2に示した画像処理部400では、クロック選択部431が演算部411に、クロック選択部432が演算部412に、クロック選択部433が演算部413に、クロック選択部434が演算部414にそれぞれ対応している。そして、クロック選択部431〜434のそれぞれは、入力された第1のクロックCLK1または第2のクロックCLK2のいずれか一方のクロック信号を、対応する演算部が動作するクロック信号として選択して出力している。
また、図2に示した画像処理部400では、クロック選択部451がデータ受け渡し部450に対応している。そして、クロック選択部451は、入力された第1のクロックCLK1または第2のクロックCLK2のいずれか一方のクロック信号を、データ受け渡し部450が画像データを格納する際のクロック信号として選択し、入力された第1のクロックCLK1または第2のクロックCLK2のいずれか他方のクロック信号を、データ受け渡し部450が画像データを出力する際のクロック信号として選択し、選択したそれぞれのクロック信号をデータ受け渡し部450に出力している。図2に示したパイプラインにおけるデータ受け渡し部450の配置では、クロック選択部451は、前段の演算部411が動作する1つのクロック信号と、後段の演算部412が動作する1つのクロック信号とをそれぞれ選択して、データ受け渡し部450に出力する。
また、図2に示した画像処理部400では、クロック選択部441がDMA転送部320内の入力DMA部321に、クロック選択部442がDMA転送部320内の出力DMA部322にそれぞれ対応している。そして、クロック選択部441およびクロック選択部442は、入力された第1のクロックCLK1または第2のクロックCLK2のいずれか一方のクロック信号を、対応するDMA転送部がメモリ600にアクセスするためのクロック信号として選択して出力している。
なお、クロック生成部420が複数の第2のクロックCLK2を生成して同時に出力する構成である場合には、クロック選択部431〜434、441、442、および451のそれぞれは、入力された第1のクロックCLK1と、複数の第2のクロックCLK2とから、対応する構成要素が必要な数のクロック信号を選択して出力する。
制御部800は、撮像装置10の構成要素、すなわち、撮像装置10全体を制御する。また、制御部800は、撮像装置10における画像処理の動作モードなどの設定や、画像処理部400が実行する画像処理の内容に応じた設定値(例えば、演算処理のパラメータなど)に応じて、画像処理部400に関連する各構成要素の動作を制御する。
より具体的には、制御部800は、撮像装置10における画像処理の動作モードなどの設定に応じて、画像処理部400内に構成するパイプラインにおける演算部411〜414およびデータ受け渡し部450の組み合わせや、パイプライン上に配置する演算部411〜414の順番や、パイプライン上に配置するデータ受け渡し部450の位置を変更する。
また、制御部800は、撮像装置10における画像処理の動作モードなどの設定や、画像処理部400が実行する画像処理の内容に応じた演算処理のパラメータに応じて、クロック生成部420が生成する第2のクロックCLK2の周波数や、画像処理部400に関連する各構成要素が動作するために必要なクロック信号を変更する。
より具体的には、制御部800は、撮像装置10における画像処理の動作モードなどの設定や、画像処理部400に備えた演算部411〜414が実行する演算処理のパラメータに応じて、クロック生成部420が第2のクロックCLK2を生成する際の設定(例えば、第1のクロックCLK1のクロックパルスをマスクする際の設定)や、クロック選択部431〜434、441、442、および451が選択するクロック信号を変更する。
また、制御部800は、画像処理部400に備えた演算部411〜414が、画素毎や画像を分割した領域毎に演算処理を実行する場合、すなわち、演算部411〜414が予め定めた画像データの範囲毎に演算処理を実行する場合には、それぞれの画素や領域毎に演算処理を行うタイミングに応じて、クロック生成部420が生成する第2のクロックCLK2の周波数や、クロック選択部431〜434、441、442、および451が選択するクロック信号を、画素毎や領域毎に変更することもできる。
このように、撮像装置10では、制御部800が、画像処理部400に関連する構成要素毎に選択するクロック信号を変更することによって、それぞれの構成要素が処理を実行するために適切なクロック信号を供給することができる。より具体的には、従来の画像処理装置では、画像データに対して実際に演算処理を実行していない状態(未処理時間)であっても、一様に同じクロック信号をそれぞれの構成要素に供給していたが、撮像装置10では、例えば、演算処理を行う処理量が少ない構成要素には遅いクロック信号(周波数の低いクロック信号)を供給するなど、構成要素毎に供給するクロック信号を変更することができる。これにより、撮像装置10では、画像処理部400に備えた演算部411〜414のそれぞれが、画像データに対して実際に演算処理を実行していない未処理時間を削減することができ、この未処理時間の間のクロック信号の供給による画像処理部400の余分な電力消費を削減することができる。
ここで、本実施形態の撮像装置10における画像処理の動作モードに応じた画像処理部400の動作の一例について説明する。
<第1の画像処理動作>
図4は、本実施形態の撮像装置10に備えた画像処理部400によって第1の画像処理を実行するときのパイプラインの構成を示した図である。第1の画像処理は、イメージセンサ100が撮像した撮影画像に対応した縮小画像、いわゆる、サムネイル画像を生成する画像処理である。第1の画像処理では、オプティカルブラック(OB)/ホワイトバランス(WB)処理、三板化処理、ノイズ低減処理、ローパスフィルタ(LPF)処理、縮小処理、色変換処理などの演算処理を順次行ってサムネイル画像を生成する。
図4に示したパイプラインの構成では、演算部411がOB/WB処理を実行し、演算部412が三板化処理を実行し、演算部413がノイズ低減処理を実行し、演算部414がLPF処理を実行し、演算部415が縮小処理を実行し、演算部416が色変換処理を実行する。
第1の画像処理においては、OB/WB処理、三板化処理、ノイズ低減処理、LPF処理、縮小処理までの演算処理は、イメージセンサ100が撮像した撮影画像の全体の領域の画像データが演算処理を施す演算対象の画像データであるため、演算処理を行う処理量が多い。しかし、色変換処理は、縮小処理によって縮小された画像の全体の領域の画像データが演算処理を施す演算対象の画像データであるため、演算処理を行う処理量が少なくなる。このため、色変換処理を、OB/WB処理、三板化処理、ノイズ低減処理、LPF処理、縮小処理までの演算処理と同じクロック信号のタイミングで実行すると、色変換処理の演算が先に完了し、実際に色変換処理の演算を実行していない未処理時間が発生してしまう。
例えば、演算部415による縮小処理において、VGAサイズの画像をQVGAサイズに縮小する場合には、演算処理を施す画像のサイズが1/4倍のサイズ、つまり、演算処理の処理量が1/4倍になる。このため、色変換処理を行う演算部416が動作するクロック信号の周波数を、OB/WB処理、三板化処理、ノイズ低減処理、LPF処理、縮小処理までの演算処理を行う演算部411〜415が動作するクロック信号と同じ周波数にすると、演算部416が色変換処理を実行する期間の内、75%に相当する期間が、実際に色変換処理を実行していない未処理時間となり、演算部416が余分な電力を消費していることになる。
そこで、制御部800は、図4に示したように、第1の画像処理において縮小処理を行う演算部415と色変換処理を行う演算部416との間にデータ受け渡し部450を配置し、データ受け渡し部450が、演算部415が縮小処理を施した画像データを、演算部416に引き渡すようにパイプラインを構成する。そして、制御部800は、演算部416による色変換処理を遅いクロック信号(周波数の低いクロック信号)で実行させることによって、演算部416の未処理時間を削減する。
より具体的には、制御部800は、クロック生成部420に、第1のクロックCLK1よりも周波数が低い第2のクロックCLK2を生成させる。また、制御部800は、図4に示したように、演算部411〜415までを第1のクロックCLK1で動作させ、演算部416を第2のクロックCLK2で動作させるように、演算部411〜416およびデータ受け渡し部450のそれぞれに対応するクロック選択部が選択するクロック信号を変更する。また、制御部800は、入力DMA部321を第1のクロックCLK1で動作させ、出力DMA部322を第2のクロックCLK2で動作させるように、入力DMA部321および出力DMA部322のそれぞれに対応するクロック選択部が選択するクロック信号も変更する。
なお、クロック生成部420に生成させる第2のクロックCLK2の周波数は、画像処理部400が実行する第1の画像処理の内容、すなわち、縮小画像の生成に関わる演算処理のパラメータ(例えば、縮小画像の縮小率を決定するパラメータ)に応じて決定する。
例えば、演算部415による縮小処理においてVGAサイズの画像をQVGAサイズに縮小する場合には、上述したように、画像のサイズが1/4倍のサイズになる。すなわち、縮小画像の縮小率は1/4である。このため、制御部800は、クロック生成部420に、第1のクロックCLK1の1/4の周波数の、第2のクロックCLK2の周波数を生成させ、演算部416に供給するように設定する。より具体的には、例えば、第1のクロックCLK1の周波数が200MHzである場合には、200MHz/4=50Mhzの周波数の第2のクロックCLK2をクロック生成部420に生成させ、演算部416に供給させる。これにより、演算部416は、同じ期間で色変換処理を実行すると共に、消費電力を1/4に低減することができる。なお、このとき、データ受け渡し部450は、演算部415が縮小処理を施した画像データを200MHzのタイミングで格納し、格納している画像データを、50MHzのタイミングで演算部416に出力する。
このように、第1の画像処理動作では、図4に示したように、縮小処理を行う演算部415と色変換処理を行う演算部416との間で、クロック信号を切り替えることによって、第1の画像処理に要する期間を延長することなく、第1の画像処理における演算部416の消費電力を低減することができる。
<第2の画像処理動作>
図5は、本実施形態の撮像装置10に備えた画像処理部400によって第2の画像処理を実行するときのパイプラインの構成を示した図である。第2の画像処理は、イメージセンサ100が撮像した撮影画像の一部を拡大した部分拡大画像、いわゆる、デジタルズーム画像を生成する画像処理である。第2の画像処理では、OB/WB処理、三板化処理、ノイズ低減処理、拡大処理、エッジ強調処理などの演算処理を順次行ってデジタルズーム画像を生成する。
図5に示したパイプラインの構成では、演算部411がOB/WB処理を実行し、演算部412が三板化処理を実行し、演算部413がノイズ低減処理を実行し、演算部414が拡大処理を実行し、演算部415がエッジ強調処理を実行する。
第2の画像処理においては、エッジ強調処理は、拡大処理によって拡大された画像の全体の領域の画像データが演算処理を施す演算対象の画像データであるため、演算処理を行う処理量が多い。しかし、OB/WB処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理は、イメージセンサ100が撮像した撮影画像の一部の領域の画像データが演算処理を施す演算対象の画像データであるため、演算処理を行う処理量が少なくなる。このため、OB/WB処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を、エッジ強調処理と同じクロック信号のタイミングで実行すると、エッジ強調処理が完了するまで次のOB/WB処理、三板化処理、ノイズ低減処理、拡大処理の演算を開始することができない処理の待ち時間(未処理時間)が発生してしまう。つまり、実際にOB/WB処理、三板化処理、ノイズ低減処理、拡大処理の演算処理を実行していない未処理時間が発生してしまう。
例えば、演算部414による拡大処理において、QVGAサイズの画像をVGAサイズに拡大する場合には、エッジ強調処理を施す画像のサイズが4倍のサイズ、つまり、演算処理の処理量が4倍になる。このため、OB/WB処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を行う演算部411〜414が動作するクロック信号の周波数を、エッジ強調処理を行う演算部415が動作するクロック信号と同じ周波数にすると、演算部415がエッジ強調処理を実行する期間の25%に相当する期間で、OB/WB処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を完了することになる。言い換えれば、OB/WB処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を4倍(400%)の速度で実行することによって、エッジ強調処理の処理期間の75%に相当する期間が、実際にOB/WB処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を実行していない未処理時間となり、演算部411〜414が余分な電力を消費していることになる。
そこで、制御部800は、図5に示したように、第2の画像処理において拡大処理を行う演算部414とエッジ強調処理を行う演算部415との間にデータ受け渡し部450を配置し、データ受け渡し部450が、演算部414が拡大処理を施した画像データを、演算部415に引き渡すようにパイプラインを構成する。そして、制御部800は、演算部411〜414によるOB/WB処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を遅いクロック信号(周波数の低いクロック信号)で実行させることによって、演算部411〜414の未処理時間を削減する。
より具体的には、制御部800は、クロック生成部420に、第1のクロックCLK1よりも周波数が低い第2のクロックCLK2を生成させる。また、制御部800は、図5に示したように、演算部411〜414までを第2のクロックCLK2で動作させ、演算部415を第1のクロックCLK1で動作させるように、演算部411〜415およびデータ受け渡し部450のそれぞれに対応するクロック選択部が選択するクロック信号を変更する。また、制御部800は、入力DMA部321を第2のクロックCLK2で動作させ、出力DMA部322を第1のクロックCLK1で動作させるように、入力DMA部321および出力DMA部322のそれぞれに対応するクロック選択部が選択するクロック信号も変更する。
なお、クロック生成部420に生成させる第2のクロックCLK2の周波数は、画像処理部400が実行する第2の画像処理の内容、すなわち、部分拡大画像の生成に関わる演算処理のパラメータ(例えば、部分拡大画像の拡大率を決定するパラメータ)に応じて決定する。
例えば、演算部414による拡大処理においてQVGAサイズの画像をVGAサイズに拡大する場合には、上述したように、画像のサイズが4倍のサイズになる。すなわち、部分拡大画像の拡大率は4である。このため、制御部800は、第1のクロックCLK1が4倍の周波数のクロック信号であると考え、クロック生成部420に逆に、第1のクロックCLK1の1/4の周波数の、第2のクロックCLK2の周波数を生成させ、演算部411〜414に供給するように設定する。より具体的には、例えば、第1のクロックCLK1の周波数が200MHzである場合には、200MHz/4=50Mhzの周波数の第2のクロックCLK2をクロック生成部420に生成させ、演算部411〜414に供給させる。これにより、演算部411〜414は、演算部415がエッジ強調処理を実行する期間と同じ期間で、OB/WB処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を実行すると共に、消費電力を1/4に低減することができる。なお、このとき、データ受け渡し部450は、演算部414が拡大処理を施した画像データを50MHzのタイミングで格納し、格納している画像データを、200MHzのタイミングで演算部415に出力する。
このように、第2の画像処理動作では、図5に示したように、拡大処理を行う演算部414とエッジ強調処理を行う演算部415との間で、クロック信号を切り替えることによって、第2の画像処理に要する期間を延長することなく、第2の画像処理における演算部411〜414の消費電力を低減することができる。
なお、本第2の画像処理動作では、OB/WB処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理を遅いクロック信号(周波数の低いクロック信号)で実行させる場合について説明した。しかし、演算部415が実行するエッジ強調処理を、演算部411〜414によるOB/WB処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理よりも速いクロック信号(周波数の高いクロック信号)で実行させることによって、第2の画像処理の全体の処理時間を短縮する構成にすることもできる。
例えば、演算部414による拡大処理において、QVGAサイズの画像をVGAサイズに拡大する場合には、エッジ強調処理の処理量が4倍であるため、演算部415が動作するクロック信号を4倍にする。より具体的には、制御部800は、クロック生成部420に、第1のクロックCLK1よりも周波数が4倍高い第2のクロックCLK2を生成させる。また、制御部800は、演算部411〜414までを第1のクロックCLK1で動作させ、演算部415を第2のクロックCLK2で動作させるように、演算部411〜415、データ受け渡し部450、入力DMA部321、および出力DMA部322のそれぞれに対応するクロック選択部が選択するクロック信号を変更する。これにより、OB/WB処理、三板化処理、ノイズ低減処理、拡大処理までの演算処理とエッジ強調処理との処理時間が同等になり、演算部411〜414が、エッジ強調処理が完了するまで次のOB/WB処理、三板化処理、ノイズ低減処理、拡大処理の演算の開始を待つ時間(未処理時間)を削減することができ、第2の画像処理の全体の処理時間を短縮することができる。
<第3の画像処理動作>
図6は、本実施形態の撮像装置10に備えた画像処理部400によって第3の画像処理を実行するときのパイプラインの構成を示した図である。一般的にカメラの光学系、すなわち、撮像装置10に備えたレンズにおいては、光学系の歪みが存在する。このため、イメージセンサ100から入力されたベイヤー配列の撮影画像の画素信号に対して撮像処理部200が撮像処理を施してメモリ600に格納した(書き込んだ)撮像処理データは、レンズによる光学系の歪みを持った画像データになっている。第3の画像処理は、イメージセンサ100が撮像した撮影画像に含まれる光学系の歪みを補正した歪み補正画像を生成する画像処理である。第3の画像処理では、OB/WB処理、三板化処理、ノイズ低減処理、歪み補正処理、高画質化処理、色変換処理などの演算処理を順次行って歪み補正画像を生成する。
図6に示したパイプラインの構成では、演算部411がOB/WB処理を実行し、演算部412が三板化処理を実行し、演算部413がノイズ低減処理を実行し、演算部414が歪み補正処理を実行し、演算部415が高画質化処理を実行し、演算部416が色変換処理を実行する。
第3の画像処理においては、OB/WB処理、三板化処理、ノイズ低減処理、歪み補正処理までの演算処理は、撮像装置10が表示デバイス501への表示や不図示の記録媒体への記録を行う画像の領域と、その周辺の領域との画像データが演算処理を施す演算対象の画像データである、すなわち、表示や記録を行う画像のサイズよりも大きいサイズの画像に対して演算処理を行うため、演算処理を行う処理量が多い。しかし、高画質化処理と色変換処理とは、歪み補正処理によって歪みが補正された画像の領域の画像データが演算処理を施す演算対象の画像データである、すなわち、表示や記録を行うサイズの画像に対して行う演算処理であるため、演算処理を行う処理量が少なくなる。このため、高画質化処理と色変換処理とを、OB/WB処理、三板化処理、ノイズ低減処理、歪み補正処理までの演算処理と同じクロック信号のタイミングで実行すると、高画質化処理と色変換処理との演算が先に完了し、実際に高画質化処理と色変換処理との演算を実行していない未処理時間が発生してしまう。これにより、高画質化処理を行う演算部415と、色変換処理を行う演算部416が余分な電力を消費してしまう。
そこで、制御部800は、図6に示したように、第3の画像処理において歪み補正処理を行う演算部414と高画質化処理を行う演算部415との間にデータ受け渡し部450を配置し、データ受け渡し部450が、演算部414が歪み補正処理を施した画像データを、演算部415に引き渡すようにパイプラインを構成する。そして、制御部800は、演算部415による高画質化処理と演算部416による色変換処理とを、遅いクロック信号(周波数の低いクロック信号)で実行させることによって、演算部415と演算部416との未処理時間を削減する。
より具体的には、制御部800は、クロック生成部420に、第1のクロックCLK1よりも周波数が低い第2のクロックCLK2を生成させる。また、制御部800は、図6に示したように、演算部411〜414までを第1のクロックCLK1で動作させ、演算部415と演算部416とを第2のクロックCLK2で動作させるように、演算部411〜416およびデータ受け渡し部450のそれぞれに対応するクロック選択部が選択するクロック信号を変更する。また、制御部800は、入力DMA部321を第1のクロックCLK1で動作させ、出力DMA部322を第2のクロックCLK2で動作させるように、入力DMA部321および出力DMA部322のそれぞれに対応するクロック選択部が選択するクロック信号も変更する。
なお、クロック生成部420に生成させる第2のクロックCLK2の周波数は、画像処理部400が実行する第3の画像処理の内容、すなわち、歪み補正画像の生成に関わる演算処理のパラメータ(例えば、光学系の歪み量に応じて決定した補正量、すなわち、歪み補正量のパラメータ)に応じて決定する。
このように、第3の画像処理動作では、図6に示したように、歪み補正処理を行う演算部414と高画質化処理を行う演算部415との間で、クロック信号を切り替えることによって、第3の画像処理に要する期間を短縮しつつ、第3の画像処理における演算部415と演算部416との消費電力を低減することができる。
なお、歪み補正処理では、表示や記録を行う画像の領域とその周辺の領域とを合わせた、イメージセンサ100が撮像した撮影画像の全ての領域(表示や記録を行う画像の領域とその周辺の領域とを合わせた領域)を予め定めた複数の領域に分割し、分割した領域毎に補正が行われる。このとき、歪み補正量は、分割した領域毎にそれぞれ異なる。これは、樽型歪みのような光学系の歪み量は、レンズの光学中心付近の方が少なく、レンズの外周部になるほど多くなるからである。従って、歪み補正量も、画像の中心の方が少なく、周辺の方が多くなる。例えば、撮影画像の全ての領域を9分割した場合には、画像の4角の領域の歪み補正量が最も多く、4角の領域のそれぞれの間に位置する4つの領域の歪み補正量は4角の領域よりも少なくなり、画像の中心の1つの領域の歪み補正量が最も少なくなる。これにより、歪み補正処理では、画像の中心の領域よりも周辺の領域の方がより多くの画像データを用いて演算処理を実行することになり、演算部414が実行する歪み補正処理の処理量も、画像の中心の領域よりも周辺の領域の方が多くなる。このため、制御部800は、歪み補正処理を行うそれぞれの領域毎に、クロック生成部420に生成させる第2のクロックCLK2の周波数を変更することが望ましい。これにより、画像の4角の領域の歪み補正量に合わせて画像全体の歪み補正処理を行うよりも、さらに第3の画像処理の全体の処理時間を短縮しつつ、第3の画像処理における演算部415と演算部416との消費電力を低減することができる。
上記に述べたとおり、本発明を実施するための形態によれば、撮像装置に備えた画像処理部が実行する画像処理の動作モードなどの設定や、画像処理の内容に応じた演算処理のパラメータなどの設定値に応じて、画像処理部内でパイプラインを構成するそれぞれの演算部を動作させるために供給するクロック信号を、演算部毎に適切な周波数のクロック信号に切り替える。より具体的には、例えば、演算処理を行う処理量が少ない演算部に遅いクロック信号(周波数の低いクロック信号)を供給するなど、演算部毎に供給するクロック信号を変更する。これにより、本発明を実施するための形態では、画像処理部内のそれぞれの演算部の処理内容に応じて実際に演算処理を実行していない状態となっている未処理時間を削減することができる。このことにより、本発明を実施するための形態では、未処理時間の間のクロック信号の供給によって演算処理を実行していない演算部が消費する余分な電力を削減し、画像処理部が画像処理を実行する際の消費電力を低減することができる。
なお、本実施形態においては、画像処理部400内に1つのデータ受け渡し部450を備えた構成の場合について説明したが、画像処理部400内に備えるデータ受け渡し部450の数は1つに限定されるものではなく、複数のデータ受け渡し部450を備える構成であってもよい。このとき、それぞれのデータ受け渡し部450に対応するクロック選択部451は、対応するデータ受け渡し部450の前後の演算部が動作するためのクロック信号を選択するため、それぞれのクロック選択部451は、異なる2つのクロック信号を選択してもよい。
また、本実施形態においては、制御部800が画像処理部400の外部の構成要素である場合について説明したが、制御部800における第2のクロックCLK2の周波数や、それぞれの演算部に供給するクロック信号の選択を変更する機能を、画像処理部400内に備える構成にすることもできる。
また、本実施形態においては、クロック生成部420が画像処理部400の内部の構成要素である場合について説明したが、クロック生成部420を画像処理部400の外部の構成要素とする構成にすることもできる。
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
10・・・撮像装置
100・・・イメージセンサ(固体撮像装置)
200・・・撮像処理部
310,320,330・・・DMA転送部(画像処理装置)
321・・・入力DMA部(画像処理装置)
322・・・出力DMA部(画像処理装置)
400・・・画像処理部(画像処理装置)
411,412,413,414,415,416・・・演算部(画像処理装置,演算部)
420・・・クロック生成部(画像処理装置,クロック生成部)
421・・・カウンタ(クロック生成部)
422・・・デコーダ(クロック生成部)
423・・・マスク処理部(クロック生成部)
431,432,433,434,441,442,451・・・クロック選択部(画像処理装置,クロック選択部)
450・・・データ受け渡し部(画像処理装置,データ受け渡し部)
500・・・表示処理部
501・・・表示デバイス
600・・・メモリ(記憶部)
700・・・データバス
800・・・制御部(画像処理装置,制御部)

Claims (9)

  1. 入力された画像データに対して演算処理を行って出力する複数の演算部を有し、画像処理の動作モードの設定に応じて、パイプラインを構成する前記演算部の組み合わせと、該パイプライン上に配置するぞれぞれの前記演算部の順番との少なくとも一方を変更して、前記画像処理の動作モードの設定に応じた画像処理を実行する画像処理装置であって、
    前記画像処理を実行する対象の画像データを記憶部から読み出して、前記パイプラインを構成する初段の前記演算部に出力する画像データ入力部と、前記パイプラインを構成する最終段の前記演算部から出力された演算処理後の画像データを受けて、前記記憶部に出力する画像データ出力部とを備えた画像データ転送部と、
    前記画像データ転送部に備えた前記画像データ入力部および前記画像データ出力部と、前記パイプラインを構成するそれぞれの前記演算部とのそれぞれに対応し、入力された複数のクロック信号の中から、対応する前記画像データ入力部および前記画像データ出力部と、前記演算部に供給するクロック信号を選択して出力する複数のクロック選択部と、
    前記パイプライン上で、第1のクロック信号が入力される前記演算部と、前記第1のクロック信号と異なる周波数の第2のクロック信号が入力される前記演算部との間に配置され、一方のクロック信号のタイミングで出力された演算処理後の画像データを、他方のクロック信号のタイミングで出力するデータ受け渡し部と、
    前記画像処理の動作モードに応じて、それぞれの前記クロック選択部による前記クロック信号の選択と、前記パイプラインを構成する前記演算部および前記データ受け渡し部の組み合わせと、該パイプライン上に配置する前記演算部および前記データ受け渡し部の順番とを制御する制御部と、
    を備えることを特徴とする画像処理装置。
  2. 当該画像処理装置は、さらに、
    前記第1のクロック信号に基づいて前記第2のクロック信号を生成するクロック生成部、
    を備え、
    前記制御部は、さらに、
    前記クロック生成部が生成する前記第2のクロック信号の周波数を制御する、
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記制御部は、
    少なくとも、前記画像処理の動作モードの設定、当該画像処理装置が実行する画像処理の内容に応じた設定値、または当該画像処理装置が前記画像データに対して実行する画像処理の範囲のいずれか1つに基づいて、前記クロック生成部が生成する前記第2のクロック信号の周波数を制御する、
    ことを特徴とする請求項2に記載の画像処理装置。
  4. 前記制御部は、
    前記第1のクロック信号の周波数よりも低い周波数の前記第2のクロック信号を生成するように、前記クロック生成部を制御する、
    ことを特徴とする請求項3に記載の画像処理装置。
  5. 前記画像処理の動作モードは、
    前記画像データによって構成される画像を縮小した縮小画像を生成する設定であり、
    前記制御部は、
    前記画像を縮小する際の縮小率の設定値に基づいて前記第2のクロック信号の周波数を決定し、
    前記画像データ入力部と、前記パイプライン上に配置された、縮小処理を行う前記演算部と、該縮小処理を行う前記演算部よりも前段の前記演算部に対応するそれぞれの前記クロック選択部に前記第1のクロック信号を選択させ、
    前記パイプライン上に配置された、前記縮小処理を行う前記演算部よりも後段の前記演算部と前記画像データ出力部とに対応するそれぞれの前記クロック選択部に前記第2のクロック信号を選択させる、
    ことを特徴とする請求項4に記載の画像処理装置。
  6. 前記画像処理の動作モードは、
    前記画像データによって構成される画像の一部を拡大した部分拡大画像を生成する設定であり、
    前記制御部は、
    前記画像を拡大する際の拡大率の設定値に基づいて前記第2のクロック信号の周波数を決定し、
    前記画像データ入力部と、前記パイプライン上に配置された、拡大処理を行う前記演算部と、該拡大処理を行う前記演算部よりも前段の前記演算部に対応するそれぞれの前記クロック選択部に前記第2のクロック信号を選択させ、
    前記パイプライン上に配置された、前記拡大処理を行う前記演算部よりも後段の前記演算部と前記画像データ出力部とに対応するそれぞれの前記クロック選択部に前記第1のクロック信号を選択させる、
    ことを特徴とする請求項4に記載の画像処理装置。
  7. 前記画像処理の動作モードは、
    前記画像データによって構成される画像の歪みを補正した歪み補正画像を生成する設定であり、
    前記制御部は、
    前記画像の歪みを補正する際の歪み補正量の設定値に基づいて前記第2のクロック信号の周波数を決定し、
    前記画像データ入力部と、前記パイプライン上に配置された、歪み補正処理を行う前記演算部と、該歪み補正処理を行う前記演算部よりも前段の前記演算部に対応するそれぞれの前記クロック選択部に前記第1のクロック信号を選択させ、
    前記パイプライン上に配置された、前記歪み補正処理を行う前記演算部よりも後段の前記演算部と前記画像データ出力部とに対応するそれぞれの前記クロック選択部に前記第2のクロック信号を選択させる、
    ことを特徴とする請求項4に記載の画像処理装置。
  8. 入力された画像データに対して演算処理を行って出力する複数の演算部を有し、画像処理の動作モードの設定に応じて、パイプラインを構成する前記演算部の組み合わせと、該パイプライン上に配置するぞれぞれの前記演算部の順番との少なくとも一方を変更して、前記画像処理の動作モードの設定に応じた画像処理を実行する画像処理装置による画像処理方法であって、
    前記パイプラインを構成する初段の前記演算部に出力する画像データ入力部に、前記画像処理を実行する対象の画像データを記憶部から読み出して転送させ、前記記憶部に出力する画像データ出力部に、前記パイプラインを構成する最終段の前記演算部から出力された演算処理後の画像データを受けて転送させる画像データ転送手順と、
    前記画像データ入力部および前記画像データ出力部と、前記パイプラインを構成するそれぞれの前記演算部とのそれぞれに対応した複数のクロック選択部に、入力された複数のクロック信号の中から、対応する前記画像データ入力部および前記画像データ出力部と、前記演算部に供給するクロック信号を選択して出力させるクロック選択手順と、
    前記パイプライン上で、第1のクロック信号が入力される前記演算部と、前記第1のクロック信号と異なる周波数の第2のクロック信号が入力される前記演算部との間に配置されたデータ受け渡し部に、一方のクロック信号のタイミングで出力された演算処理後の画像データを、他方のクロック信号のタイミングで出力させるデータ受け渡し手順と、
    制御部に、それぞれの前記クロック選択部による前記クロック信号の選択と、前記パイプラインを構成する前記演算部および前記データ受け渡し部の組み合わせと、該パイプライン上に配置する前記演算部および前記データ受け渡し部の順番とを、前記画像処理の動作モードに応じて制御させる制御手順と、
    を含むことを特徴とする画像処理方法。
  9. 複数の画素を有し、入射した被写体光に応じたそれぞれの前記画素の信号を光電変換した画素信号を出力する固体撮像装置と、
    前記固体撮像装置が出力した画素信号に応じた画像データを記憶する記憶部と、
    前記記憶部に記憶された前記画像データに対して、画像処理の動作モードの設定に応じた画像処理を実行する、請求項1から請求項7のいずれか1の項に記載の画像処理装置と、
    を備えることを特徴とする撮像装置。
JP2013207603A 2013-10-02 2013-10-02 画像処理装置、画像処理方法、および撮像装置 Active JP6284332B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013207603A JP6284332B2 (ja) 2013-10-02 2013-10-02 画像処理装置、画像処理方法、および撮像装置
US14/454,313 US9197812B2 (en) 2013-10-02 2014-08-07 Image processing device, image processing method, and imaging apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013207603A JP6284332B2 (ja) 2013-10-02 2013-10-02 画像処理装置、画像処理方法、および撮像装置

Publications (2)

Publication Number Publication Date
JP2015072583A JP2015072583A (ja) 2015-04-16
JP6284332B2 true JP6284332B2 (ja) 2018-02-28

Family

ID=52739789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013207603A Active JP6284332B2 (ja) 2013-10-02 2013-10-02 画像処理装置、画像処理方法、および撮像装置

Country Status (2)

Country Link
US (1) US9197812B2 (ja)
JP (1) JP6284332B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9753522B2 (en) 2015-03-02 2017-09-05 Sandisk Technologies Llc Dynamic clock rate control for power reduction
US9467150B2 (en) * 2015-03-02 2016-10-11 Sandisk Technologies Llc Dynamic clock rate control for power reduction
JP2017199221A (ja) * 2016-04-28 2017-11-02 日立オートモティブシステムズ株式会社 電子制御装置
WO2017203656A1 (ja) * 2016-05-26 2017-11-30 オリンパス株式会社 演算装置、画像処理装置および画像処理方法
JP6762365B2 (ja) * 2016-08-02 2020-09-30 オリンパス株式会社 画像処理装置、画像処理方法およびプログラム
JP7017800B2 (ja) * 2019-04-15 2022-02-09 株式会社アクセル 演算装置、演算システム、及び演算方法
US11611430B2 (en) 2019-04-15 2023-03-21 Axell Corporation Arithmetic apparatus, arithmetic system and arithmetic method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0230289A (ja) * 1988-07-20 1990-01-31 Konica Corp 映像信号変換装置
JPH10334225A (ja) 1997-06-02 1998-12-18 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JP2006039754A (ja) * 2004-07-23 2006-02-09 Canon Inc 画像処理装置及びその方法
JP4533447B2 (ja) * 2008-06-30 2010-09-01 オリンパス株式会社 画像処理装置
JP5784299B2 (ja) * 2010-11-01 2015-09-24 オリンパス株式会社 データ処理装置および画像処理装置
JP5197804B2 (ja) * 2011-06-08 2013-05-15 キヤノン株式会社 データ処理装置及びその制御方法
JP2013008265A (ja) * 2011-06-27 2013-01-10 Sharp Corp パイプライン演算装置
US9743057B2 (en) * 2012-05-31 2017-08-22 Apple Inc. Systems and methods for lens shading correction
US9014504B2 (en) * 2012-05-31 2015-04-21 Apple Inc. Systems and methods for highlight recovery in an image signal processor

Also Published As

Publication number Publication date
JP2015072583A (ja) 2015-04-16
US9197812B2 (en) 2015-11-24
US20150092074A1 (en) 2015-04-02

Similar Documents

Publication Publication Date Title
JP6284332B2 (ja) 画像処理装置、画像処理方法、および撮像装置
JP5423235B2 (ja) 撮像装置
US8194155B2 (en) Information processing apparatus, buffer control method, and computer program
US9569160B2 (en) Display processing device and imaging apparatus
US8798386B2 (en) Method and system for processing image data on a per tile basis in an image sensor pipeline
WO2020027902A1 (en) Combined monochrome and chromatic camera sensor
US9554070B2 (en) Imaging device for reducing pressure on data bus bandwidth
JP6325886B2 (ja) 表示処理装置および撮像装置
JP4189252B2 (ja) 画像処理装置及びカメラ
US9363440B2 (en) Imaging device and imaging method that sets a phase difference between first and second synchronization signals
JP5829122B2 (ja) 撮像装置および評価値生成装置
US8970766B2 (en) Imaging device
JP2010134743A (ja) 画像処理装置
JP5820720B2 (ja) 撮像装置
US8537244B2 (en) Image processing apparatus and method, and computer-readable medium having stored thereon computer program for executing the method
JP2012028997A (ja) 画像処理装置およびカメラ
JP2014082768A (ja) 撮像装置およびその制御方法
JP2022008593A (ja) 撮像素子、撮像装置、撮像方法及びプログラム
JP2014099714A (ja) 画像処理装置、撮像装置、画像処理方法及びプログラム
JP5392060B2 (ja) 画像データ処理装置
US9979919B2 (en) Solid-state imaging device and imaging system
JP3810685B2 (ja) 解像度変換装置およびデジタル・カメラ
US20230388661A1 (en) Integrated circuit with multi-application image processing
JP2006303693A (ja) 縮小画像の生成機能を備える電子カメラ
JP2004241813A (ja) 撮像装置およびデジタル画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170803

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180130

R151 Written notification of patent or utility model registration

Ref document number: 6284332

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250