画像処理装置及び画像処理方法
【課題】回路規模の増大を低減、かつ、撮像素子の画素から画素信号を取得する仕様に対して汎用性を持ちつつ、画像データを並び替えることができる画像処理及び画像処理方法を提供すること。
【解決手段】FIFO22は、撮像素子における1行の画素を複数に分割するその分割数の記憶領域を有し、その各記憶領域は撮像素子における少なくとも1行分の画素数を記憶できる。FIFO書き込み部21は、分割した1行の画素の画素データを、分割した数の少なくとも1行の画素数の記憶領域にそれぞれ撮像素子において配置されていた順番で記憶する。SDRAMアドレス制御部25は、分割した数の1行の画素数の記憶領域に記憶された画素の画素データをSDRAMの同じ記憶領域に記憶する。さらに、SDRAM書き込み指定部26は、画素の画素データ以外をSDRAMに書き込むことを禁止する。
【解決手段】FIFO22は、撮像素子における1行の画素を複数に分割するその分割数の記憶領域を有し、その各記憶領域は撮像素子における少なくとも1行分の画素数を記憶できる。FIFO書き込み部21は、分割した1行の画素の画素データを、分割した数の少なくとも1行の画素数の記憶領域にそれぞれ撮像素子において配置されていた順番で記憶する。SDRAMアドレス制御部25は、分割した数の1行の画素数の記憶領域に記憶された画素の画素データをSDRAMの同じ記憶領域に記憶する。さらに、SDRAM書き込み指定部26は、画素の画素データ以外をSDRAMに書き込むことを禁止する。
【発明の詳細な説明】
【技術分野】
【0001】
画像処理装置及び画像処理方法に関するものである。
【背景技術】
【0002】
従来、デジタルカメラ等の撮像装置は、CCD(Charge Coupled Devices)イメージセンサやCMOS(Complementary MOS)イメージセンサなどの撮像素子、画像データを各種処理する画像処理回路、記憶手段としてのSDRAM(SynchronousDynamic Random Access Memory)、外部記憶手段としての記録メディアを有している。
【0003】
撮像素子は光を電気信号(画素信号)として検出し、その画素信号をA/D(アナログ/デジタル)変換部に出力する。A/D変換部は、その画素信号をデジタル信号(画素データ)に変換し、複数の画素にて構成される1つのフレームの画像データ(フレームデータ)を画素ごとに取得する。そして、フレームデータがSDRAM(SynchronousDynamic Random Access Memory)に一旦格納される。
【0004】
画像処理回路は、1フレームのフレームデータに対して各種画像処理を実行する。このとき、画像処理回路は、各処理段階でのフレームデータをSDRAMに暫定的に格納する。そして、画像処理回路は、SDRAMに格納した各種画像処理後の最終的な1フレームのフレームデータを記録メディアに格納、又は、表示装置に表示する。
【0005】
近年、撮像素子は、画像処理回路への転送速度の高速化及び転送効率の向上と、回路規模の縮小のため、1フレームにおいて格子状に配置された画素を、純粋に順番通りに取得するのではなく、様々な方式が提案されている。
【0006】
例えば、撮像素子は、1行中にある各画素の画素信号を3つのバスから取得している。図9に示すように、撮像素子50における1行目の各画素P1〜P9を3個おきに1つの組として、各画素P1〜P9を3つの組のいずれかの組に振り分ける。また、各組毎に第1〜第3信号線B1〜B3を設け、その各信号線B1〜B3をそれぞれ対応する組に属する画素P1〜P9と接続する。そして、各組に振り分けられた各画素P1〜P9の画素信号を、それぞれ第1〜第3信号線B1〜B3を介して、第1〜第3分割ライン画素信号Ld1〜Ld3として取得する。
【0007】
それぞれ第1〜第3信号線B1〜B3を介して出力された第1〜第3分割ライン画素信号Ld1〜Ld3は、A/D変換部にてデジタル変換されて、図10に示すように、SRAM54の所定の記憶領域K1に第1〜第3分割ラインデジタルデータDd1〜Dd3として格納される。
【0008】
詳述すると、図9において、画素P3,P6,P9の3個の画素信号G3,G6,G9よりなる第1分割ライン画素信号Ld1は、画素P3,P6,P9の画素信号G3,G6,G9がそれぞれデジタル変換されて3個の画素データのデジタル画素信号(以下、画素データという)GD3,GD6,GD9よりなる第1分割ラインデジタルデータDd1に変換される。また、画素P2,P5,P8の3個の画素信号G2,G5,G8よりなる第2分割ライン画素信号Ld2は、画素P2,P5,P8の画素信号G2,G5,G8がそれぞれデジタル変換されて3個の画素データGD2,GD5,GD8よりなる第2分割ラインデジタルデータDd2に変換される。さらに、画素P1,P4,P7の3個の画素信号G1,G4,G7よりなる第3分割ライン画素信号Ld3は、画素P1,P4,P7の画素信号G1,G4,G7がそれぞれデジタル変換されて3個の画素データGD1,GD4,GD7よりなる第3分割ラインデジタルデータDd3に変換される。
【0009】
そして、各画素P1〜P9の画素信号G1〜G9が画素データGD1〜GD9に変換されてなる第1〜第3分割ラインデジタルデータDd1〜Dd3は、SRAM54に格納される。
【0010】
このとき、A/D変換部は、第1分割ラインデジタルデータDd1、第2分割ラインデジタルデータDd2、第3分割ラインデジタルデータDd3の順番で、第1〜第3分割ラインデジタルデータDd1〜Dd3を出力するため、SRAM54には、図10に示すように、その順番で格納される。
【0011】
上記の第1〜第3分割ラインデジタルデータDd1〜Dd3の順番でSRAM54に格納されると、被写体と異なる画像になってしまうため、図9に示す撮像素子50において取得される前の第1〜第3分割ライン画素信号Ld1〜Ld3の順番に戻す必要があった。
【0012】
このため、上記の対策として、図11に示すように、画像処理回路53は、SRAM(Static Random Access Memory)54及び並び換え回路55を設けている(例えば、特許文献1、特許文献2)。
【0013】
画像処理回路53は、SRAM54に格納した第1〜第3分割ラインデジタルデータDd1〜Dd3をSRAM54に格納する。そして、並び替え回路55は、SRAM54に格納された第1〜第3分割ラインデジタルデータDd1〜Dd3を図9に示す撮像素子50において取得される前の第1〜第3分割ライン画素信号Ld〜Ld3に対応した順番に戻していた。そして、元の順番に戻された第1〜第3分割ラインデジタルデータDd1〜Dd3は、SDRAM書き込み回路56を介してSDRAM57に書き込まれていた。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2006−80853号公報
【特許文献2】特開2000−69502号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
ところで、この種の撮像装置においては、近年、撮像素子50の高画素化に伴う高画素高画質化や連写機能などの搭載による高機能化が進んでいる。このような高画素高画質化や高機能化が進むと、上記画像処理回路が処理するデータ量の増大化や新機能を処理するための回路が必要になり、それに伴って回路規模が増大する。
【0016】
しかしながら、一方で、小型化や低価格化が要求されている撮像装置にあっては、回路規模の縮小が要求されている。上記のように、フレームデータの転送速度の高速化や撮像素子50の回路規模縮小のため、1行の各画素P1〜P9の画素信号G1〜G9を複数のバスから分割して取得していたが、画像処理回路53においてSRAM54及び並び替え回路55が必要になって回路規模が増大してしまう。
【0017】
また、この種の撮像素子50では、画素P1〜P9から画素信号G1〜G9を取得するバス(信号線)の本数が異なる場合がある。このため、画像処理回路53は、撮像素子50の各画素P1〜P9から画素信号G1〜G9を取得する仕様に対応した並び替え回路55が必要になってしまう。
【0018】
この画像処理装置及び画像処理方法は、回路規模の増大を低減、かつ、撮像素子の画素から画素信号を取得する仕様に対して汎用性を持ちつつ、画像データを並び替えることを目的とする。
【課題を解決するための手段】
【0019】
この画像処理装置は、画素を格子状に配置して構成された撮像素子においてそれぞれ各行の画素の画素信号を複数の信号線に分けて取得し、それぞれ前記複数の信号線を介して取得された各画素の画素データを記憶領域に記憶し、かつ、各記憶領域から前記画素の画素データをメモリに出力するFIFOを有する画像処理装置であって、FIFOは、前記複数の信号線を介して取得された各画素の画素データの組を、前記組ごとに記憶する記憶領域を設け、前記各記憶領域は、少なくともそれぞれ1行分の前記画素データが記憶できる記憶領域であり、前記各組の各画素の画素データを、対応する少なくとも1行分の前記画素データを記憶できる記憶領域に対して、それぞれ撮像素子において配置されていた順番で記憶するFIFO書き込み部と、前記記憶領域に記憶された対応する組の各画素の画素データを、前記メモリの同じ記憶領域に記憶するメモリアドレス制御部と、少なくとも1行分の前記画素データが記憶できる各記憶領域に含まれる画素データ以外のデータをメモリへ書き込み禁止する書き込み指定部とを有するようにした。
【0020】
この画像処理装置によれば、複数の信号線から出力されて順番が入れ替わった撮像素子における1行の画素の画素データを、出力される信号線ごとに撮像素子における配置でメモリに記憶する。このため、従来、画像データをメモリに記憶する際、必要だった画像処理装置は、撮像素子における1行の画素の画素データをメモリに重なることなく記憶し、撮像素子における配置でメモリに記憶することができる。これにより、従来、必要だったSRAMや並び替え回路を用いることなく、メモリに撮像素子の画素の画素データを記憶することができる。
【発明の効果】
【0021】
開示された画像処理及び画像処理方法は、回路規模の増大を低減、かつ、撮像素子の画素から電気信号を取得する仕様に対して汎用性を持ちつつ、画像データを並び替えることができる。
【図面の簡単な説明】
【0022】
【図1】本実施形態の画像処理回路の概略構成図である。
【図2】撮像素子の概略構成図である。
【図3】本実施形態のSDRAM書き込み回路の電気ブロック図である。
【図4】本実施形態のFIFO書き込み部の電気ブロック図である。
【図5】本実施形態の第1設定テーブルの説明図である。
【図6】本実施形態のFIFOの説明図である。
【図7】本実施形態のSDRAMアドレス制御部の電気ブロック図である。
【図8】本実施形態の第2設定テーブルの説明図である。
【図9】撮像素子の説明図である。
【図10】従来のSRAMの説明図である。
【図11】従来の画像処理回路の概略構成図である。
【発明を実施するための形態】
【0023】
以下、実施形態を図1〜図8に従って説明する。
図1は、デジタルカメラ1の概略的な電気構成を示す電気ブロック図である。
デジタルカメラ1は、撮像部3、画像処理装置としての画像処理回路4、SDRAM5、画像処理部6、記録メディア7を有している。
【0024】
デジタルカメラ1では、撮像部3にて取得した被写体に基づく画像データ(以下、フレームデータという)を画像処理回路4を介してSDRAM5に一旦格納する。画像処理部6は、SDRAM5に格納された1フレームのフレームデータを読み出し、その読み出したフレームデータに対して各種画像処理を実行する。このとき、画像処理部6は、各処理段階でのフレームデータをSDRAM5に暫定的に格納する。そして、画像処理部6は、SDRAM5に格納した画像処理後の最終的な1フレームのフレームデータを記録メディア7に格納する。
【0025】
撮像部3は、撮像素子50及びA/D変換部9を含んでいる。
撮像素子50は、1フレームを格子状に複数の画素を配置して構成している。本実施形態では、説明の便宜上、図2に示すように、撮像素子50は、縦9個、横9個の格子状に画素P1〜P9が配置されている。撮像素子50には、同種の色フィルタ成分{赤(R)、青(B)、緑(G)}がベイヤ配列されたカラーフィルタ12が形成されている。
【0026】
各画素P1〜P9は受光素子(図示しない)を有している。受光素子は、光学レンズ(図示しない)などを通じて入射した被写体からの光を、カラーフィルタ12を介して受光して電気信号(以下、画素信号という)に変換する。従って、撮像素子50の各画素P1〜P9は対応する色フィルタ成分{赤(R)、青(B)、緑(G)}のカラーフィルタ12を通過した光を画素信号に変換する。
【0027】
そして、撮像素子50は、格子状に配置された各画素P1〜P9の画素信号を、各行毎に、第1行目の9個の画素P1〜P9から第9行目の9個の画素P1〜P9までの順番で出力する。
【0028】
詳述すると、各行において、その行の9個の各画素P1〜P9を順番にスキャンして各画素P1〜P9の画素信号G1〜G9を順次読み出し、各行毎の第1〜第9ライン画素信号L1〜L9をそれぞれ出力する。この時、前記図11で説明したように、9個の画素P1〜P9に対して3つの第1〜第3信号線B1〜B3が設けられ、各画素P1〜P9に対応する第1〜第3信号線B1〜B3からそれぞれ分割ライン信号を出力する。
【0029】
ここで、本実施形態では、第1〜第3信号線B1〜B3にそれぞれ出力される分割ライン画素信号を、総称してライン信号という。そして、第1行目に設けた第1〜第3信号線B1〜B3からそれぞれ出力される分割ライン画素信号を第1〜第3分割ライン電気信号Ld1〜Ld3という。そして、第1〜第3分割ライン画素信号Ld1〜Ld3を総称して第1ライン画素信号L1という。
【0030】
因みに、第9行目に設けた第1〜第3信号線B1〜B3からそれぞれ出力される分割ライン画素信号は第25〜第27分割ライン画素信号Ld25〜Ld27という。そして、第25〜第27分割ライン画素信号Ld25〜Ld27を総称して第9ライン画素信号L9という。
【0031】
そして、1つの行の各画素P1〜P9の画素信号G1〜G9をライン画素信号として取得すると、次の行の各画素P1〜P9についても、同様な方法で各画素P1〜P9の画素信号G1〜G9をライン画素信号として取得する。これを第9行目まで第1行目から順番に続ける。
【0032】
そして、撮像素子50は、第1〜第9行目の各画素P1〜P9から順番に取得した第1〜第9ライン画素信号L1〜L9(第1〜第27分割ライン画素信号Ld1〜Ld27)をA/D変換部9に順次出力する。
【0033】
A/D変換部9は、撮像素子50から第1行目から第9行目の各画素P1〜P9の画素信号G1〜G9が第1〜第9ライン画素信号L1〜L9(第1〜第27分割ライン画素信号Ld1〜Ld27)となって入力される。
【0034】
A/D変換部9は、各信号線B1〜B3を介して取得したそれぞれ3個の画素の画素信号よりなる第1〜第27分割ライン画素信号Ld1〜Ld27(アナログ信号)をデジタル信号(以下、画素データという)に変換し、その3個の画素の画素データよりなる第1〜第27分割ラインデジタルデータDd1〜Dd27として画像処理回路4に出力する。
【0035】
詳述すると、A/D変換部9は、第1行目の第1〜第3分割ラインデジタルデータDd1〜Dd3(総称して第1ラインデジタルデータD1という)、次に、第2行目の第4〜第6分割ラインデジタルデータDd4〜Dd6(総称して第2ラインデジタルデータD2)、・・・・・・、そして、最後に、第9行目の第25〜第27分割ラインデジタルデータDd25〜Dd27(総称して第9ラインデジタルデータD9)の順番で変換する。
【0036】
すなわち、A/D変換部9は、アナログ信号である3画素の画素信号よりなる第1〜第27分割ライン画素信号Ld1〜Ld27を、後段の画像処理回路4で処理できるように、デジタル信号であるそれぞれ3個の画素の画素データよりなる第1〜第27分割ラインデジタルデータDd1〜Dd27に変換している。
【0037】
このとき、A/D変換部9は、各行毎の第1〜第9ライン画素信号L1〜L9が区切られて入力されるため、対応する各行毎に第1〜第9ライン画素信号L1〜L9をそれぞれ第1〜第9ラインデジタルデータD1〜D9に変換して画像処理回路4に出力している。
【0038】
画像処理回路4は、SDRAM書き込み回路15を有している。
図3に示すように、SDRAM書き込み回路15は、FIFO書き込み部21、FIFO(First In First Out)22、SDRAMリクエスト制御部23、SDRAMデータ制御部24、メモリアドレス制御部としてのSDRAMアドレス制御部25、SDRAM書き込み指定部26、第2基準値設定レジスタR2を含んでいる。
【0039】
図4に示すように、FIFO書き込み部21は、画素データカウンタ36、ラインカウンタ37、第1プログラムカウンタ38、FIFOデータ制御部39を有している。
画素データカウンタ36は、撮像部3から第1〜第9ラインデジタルデータD1〜D9(第1〜第27分割ラインデジタルデータDd1〜Dd27)が、順番に1画素分の画素データごとに順次入力される。画素データカウンタ36は、順次入力される1画素分の画素データをカウントする。
【0040】
画素データカウンタ36は、第1基準値設定レジスタR1から撮像素子50の1行に配置された画素の数「9」を第1基準値T1として入力する。この第1基準値T1に基づいて、画素データカウンタ36は、カウント値「9」になって、次の新たな行の画素データが入力されると、カウント値を「9」から「1」にリセットし、以後、同様なカウント動作を繰り返す。つまり、画素データカウンタ36は、それぞれ第1〜第9ラインデジタルデータD1〜D9ごとの画像データを入力するごとに、「9」から「1」にリセットする。
【0041】
そして、画素データカウンタ36は、その時々のカウント値を第1カウント値Sc1として第1プログラムカウンタ38に出力する。
ラインカウンタ37は、撮像部3から第1〜第9ラインデジタルデータD1〜D9(第1〜第27分割ラインデジタルデータDd1〜Dd27)が順番に1画素分の画素データ毎に順次入力される。ラインカウンタ37は、3画素分の画素データを入力すると、すなわち、1つの分割ラインデジタルデータを入力する毎に「1」カウントする。なお、ラインカウンタ37は、カウント値が「3」になって、次に新たな行の画素データが入力されると、カウント値を「3」から「1」にリセットし、以後、同様なカウント動作を繰り返す。つまり、ラインカウンタ37は、それぞれ第1〜第9ラインデジタルデータD1〜D9毎の画像データを入力するごとに、「3」から「1」にリセットする。
【0042】
そして、ラインカウンタ37は、その時々のカウント値を第2カウント値Sc2として第1プログラムカウンタ38に出力する。
第1プログラムカウンタ38は、画素データカウンタ36からの第1カウント値Sc1と、ラインカウンタ37からの第2カウント値Sc2とが入力される。
【0043】
第1プログラムカウンタ38は、入力された第1カウント値Sc1と第2カウント値Sc2のカウント値に基づいて、第1〜第9ラインデジタルデータD1〜D9ごとに、順次入力されてくる画素データを、図6に示すFIFO22の各アドレスA1〜A27のどのアドレスに書き込むかを設定する。そして、順次入力されてくる各画素データについて設定したアドレスをFIFOアドレス信号SfとしてFIFO22に出力する。
【0044】
第1プログラムカウンタ38は、第1カウント値Sc1と同第1プログラムカウンタ38に設けた第1テーブル41に基づいて、順次入力されてくる各画素データを、FIFO22の各アドレスA1〜A27のどのアドレスに書き込むかを設定する。
【0045】
図5は、第1テーブル41の内容を示す。第1テーブル41は、第1カウント値Sc1に対するFIFO22のアドレスのデータが記憶されている。
因みに、第1プログラムカウンタ38は、第1カウント値Sc1が「1」のとき、アドレスA3、第1カウント値「2」のとき、アドレスA6,第1カウント値Sc1が「3」のとき、アドレスA9となるFIFOアドレス信号Sfをそれぞれ出力することになる。
【0046】
また、第1プログラムカウンタ38は、第1カウント値Sc1が「4」のとき、アドレスA11、第1カウント値「5」のとき、アドレスA14,第1カウント値Sc1が「6」のとき、アドレスA17となるFIFOアドレス信号Sfをそれぞれ出力することになる。
【0047】
さらに、第1プログラムカウンタ38は、第1カウント値Sc1が「7」のとき、アドレスA19、第1カウント値が「8」のとき、アドレスA22,第1カウント値Sc1が「9」のとき、アドレスA25となるFIFOアドレス信号Sfをそれぞれ出力することになる。
【0048】
例えば、第1ラインデジタルデータD1の画素データが順次入力される場合、第1カウント値Sc1が「1」〜「3」の時は、第1分割ラインデジタルデータDd1の各画素データGD1a,GD1b,GD1cが、入力された順番にアドレスA3、アドレスA6、アドレスA9と指定される。
【0049】
また、第1カウント値Sc1が「4」〜「6」の時は、第2分割ラインデジタルデータDd2の各画素データGD2a,GD2b,GD2cが、入力された順番にアドレスA11、アドレスA14、アドレスA17と指定される。
【0050】
さらに、第1カウント値Sc1が「7」〜「9」の時は、第3分割ラインデジタルデータDd3の各画素データGD3a,GD3b,GD3cが、入力された順番にアドレスA19、アドレスA22、アドレスA25と指定される。
【0051】
つまり、第1〜第9ラインデジタルデータD1における各画素データGD1a〜GD3cは、画素データカウンタ36の第1カウント値Sc1と第1テーブル41とによって、FIFO22に記憶されるアドレスが設定される。
【0052】
また、第1プログラムカウンタ38は、FIFOアドレス信号Sfを出力するたびに、FIFOデータ制御部39にFIFO書き込み信号Sw1を出力する。FIFO書き込み信号Sw1は、FIFOデータ制御部39にFIFO書き込み信号Sw1を出力する。FIFO書き込み信号Sw1は、FIFOデータ制御部39がFIFO22に対して書き込みすることを命令する信号である。
【0053】
FIFOデータ制御部39は、撮像部3から第1〜第9ラインデジタルデータD1〜D9(第1〜第27分割ラインデジタルデータDd1〜Dd27)が、順番に1画素分の画素データごとに順次入力される。また、FIFOデータ制御部39は、第1プログラムカウンタ38がFIFOアドレス信号Sfを出力するたびに、同第1プログラムカウンタ38から出力されるFIFO書き込み信号Sw1が入力される。そして、FIFOデータ制御部39は、FIFO書き込み信号Sw1が入力されるたびに、順次入力される1画素分の画素データをFIFO22に出力する。
【0054】
FIFO22は、第1プログラムカウンタ38からFIFOアドレス信号Sf、及び、FIFOデータ制御部39から1画素分の画素データが入力される。FIFO22は、入力されたFIFOアドレス信号Sfに基づいてアクセスされて指定されたアドレスの記憶領域K2に1画素分のデジタル画素信号を記憶する。
【0055】
従って、図6に示すように、FIFO22は、第1〜第9ラインデジタルデータD1〜D9において、対応する3つの第1〜第27分割ラインデジタルデータDd1〜Dd27中の各画素P1〜P9の画素データGD1a〜GD1c,GD2a〜GD2c,GD3a〜GD3cが間隔を空けて記憶される。
【0056】
例えば、第1ラインデジタルデータD1を構成する画素データGD1a〜GD1c,GD2a〜GD2c,GD3a〜GD3cよりなる第1〜第3分割ラインデジタルデータDd1〜Dd3は、9個の記憶領域K2で構成された第1〜第3メモリ領域M1〜M3に第1〜第3分割ラインデジタルデータDd1〜Dd3がそれぞれ分けられて記憶されている。
【0057】
このとき、第1〜第3メモリ領域M1〜M3は、それぞれ2/3の領域(6個の記憶領域K2)には何も書き込まれていない。すなわち、第1〜第3メモリ領域M1〜M3は、2/3の領域(6個の記憶領域K2)が何も書き込まれていない空データになっている。このため、それぞれ画素データGD1a〜GD1c,GD2a〜GD2c,GD3a〜GD3cよりなる第1〜第3分割ラインデジタルデータDd1〜Dd3は、その画素数(9個)の3倍の27個の記憶領域K2で構成された第1〜第3メモリ領域M1〜M3にそれぞれ配分されて記憶されている。
【0058】
ここで、本実施形態では、第1〜第3メモリ領域M1〜M3の9個の記憶領域K2の全体内容を、1つの全体内容として「メモリ領域データ」という。そして、第1メモリ領域M1に設けた9個の記憶領域K2の全体内容を「第1メモリ領域データDm1」という。また、第2メモリ領域M2に設けた9個の記憶領域K2の全体内容を「第2メモリ領域データDm2」という。さらに、第3メモリ領域M3に設けた9個の記憶領域K2の全体内容を「第3メモリ領域データDm3」という。
【0059】
そして、FIFO22は、後述するSDRAMリクエスト制御部23からSDRAM書き込み信号Sw2が入力されると、このFIFO22は、入力されたSDRAM書き込み信号Sw2に応答して第1〜第3メモリ領域M1〜M3に記憶した第1〜第3メモリ領域データDm1〜Dm3をSDRAMデータ制御部24に出力する。
【0060】
SDRAMリクエスト制御部23はFIFO22を監視し、第1〜第9ラインデジタルデータD1〜D9において、対応するそれぞれの第1〜第27分割ラインデジタルデータDd1〜Dd27がFIFO22に記憶されると、後述するSDRAM5に書き込みリクエスト信号Srを出力する。
【0061】
すなわち、SDRAMリクエスト制御部23は、FIFO22が第1〜第9ラインデジタルデータD1〜D9ごとに、対応するそれぞれの第1〜第27分割ラインデジタルデータDd1〜Dd27をSDRAM5に出力する準備が整うと、それぞれ対応する3個の第1〜第27分割ラインデジタルデータDd1〜Dd27を含む第1〜第3メモリ領域データDm1〜Dm3を出力してもよいか否かの許可をSDRAM5に求める。
【0062】
換言すると、SDRAM5は、FIFO22からの書き込み・読み出しだけではなく、画像処理部6などからの書き込み・読み出しもある。従って、SDRAMリクエスト制御部23は、FIFO22から第1〜第3メモリ領域データDm1〜Dm3を出力する前に、SDRAM5に画像処理部6などから書き込み・読み出しされているか否かを確認している。
【0063】
そして、SDRAMリクエスト制御部23からの書き込みリクエスト信号Srに応答して書き込み応答信号SoがSDRAM5から出力されると、SDRAMリクエスト制御部23は、SDRAM5に画像処理部6などからの書き込み・読み出しがないことを確認し、SDRAM書き込み信号Sw2をFIFO22及びSDRAMデータ制御部24に出力する。すなわち、SDRAMリクエスト制御部23は、FIFO22及びSDRAMデータ制御部24に対して、SDRAM5への第1〜第3メモリ領域データDm1〜Dm3の出力を命令する。
【0064】
反対に、書き込みリクエスト信号Srに応答して書き込み応答信号SoがSDRAM5から出力されないと、SDRAMリクエスト制御部23は、SDRAM5に画像処理部6などからの書き込み・読み出しがあることを確認し、SDRAM書き込み信号Sw2をFIFO22及びSDRAMデータ制御部24に出力しない。すなわち、SDRAMリクエスト制御部23は、FIFO22及びSDRAMデータ制御部24に対して、SDRAM5への第1〜第3メモリ領域データDm1〜Dm3の出力を待機させる。
【0065】
SDRAMデータ制御部24は、FIFO22から第1〜第3メモリ領域データDm1〜Dm3、及び、SDRAMリクエスト制御部23からSDRAM書き込み信号Sw2が入力される。また、SDRAMデータ制御部24は、第2基準値設定レジスタR2に記憶されている各メモリ領域データDm1〜Dm3に含まれる記憶領域K2の数「9」、及び、第1〜第3メモリ領域データDm1〜Dm3の数「3」が入力される。SDRAMデータ制御部24は、入力されたSDRAM書き込み信号Sw2に応答して、FIFO22からの第1〜第3メモリ領域データDm1〜Dm3をSDRAM5に出力する。
【0066】
SDRAMデータ制御部24は、画素カウンタ(図示しない)を備えている。そして、SDRAMデータ制御部24は、この画素カウンタにて、順番にFIFO22から出力されてくる第1〜第3メモリ領域データDm1〜Dm3の画素データ(空データを含む)の数をカウントする。
【0067】
SDRAMデータ制御部24は、順番に入力されてくる第1〜第3メモリ領域データDm1〜Dm3を記憶する記憶領域K2のFIFOデータを画素カウンタにてカウントするごとに、書き込みデータ入力信号SiをSDRAMアドレス制御部25及びSDRAM書き込み指定部26に出力する。
【0068】
書き込みデータ入力信号Siは、それぞれ第1〜第3メモリ領域データDm1〜Dm3を記憶する記憶領域K2のFIFOデータがSDRAMデータ制御部24に入力されたことを知らせる信号である。
【0069】
また、SDRAMデータ制御部24は、記憶領域カウンタ(図示しない)を備えている。記憶領域カウンタ(図示しない)は、それぞれ第1〜第3メモリ領域データDm1〜Dm3を記憶する9個の記憶領域K2のFIFOデータを全て入力するごとに、「1」カウントアップする。つまり、記憶領域カウンタは、いま、第1〜第3メモリ領域データDm1〜Dm3の中のどのメモリ領域データの記憶領域K2のFIFOデータを入力しているかを示すカウンタである。
【0070】
因みに、カウンタ値「1」のとき、第1メモリ領域データDm1を、カウンタ値「2」のとき、第2メモリ領域データDm2を、カウント値が「3」のとき、第3メモリ領域データDm3を入力していることを示している。従って、カウント値「3」であって、第3メモリ領域データDm3を構成する9個の記憶領域K2のFIFOデータ全てを入力すると、記憶領域カウンタは、カウント値が「3」から「1」にリセットされ、新たな第1メモリ領域データDm1を入力することを示していることになる。
【0071】
そして、SDRAMデータ制御部24は、記憶領域カウンタが「1」カウントアップ、または、リセットするごとに、SDRAMアドレス制御部25に対して第1ラインフィード信号SL1を出力する。第1ラインフィード信号SL1は、SDRAM5に出力される第1〜第3メモリ領域データDm1〜Dm3の切替わりを知らせる信号である。
【0072】
詳述すると、まず、SDRAMデータ制御部24は、第1メモリ領域データDm1中の最初のFIFOデータが入力されると、画素カウンタを「1」カウントアップし、その入力された1個のFIFOデータをSDRAM5に出力する。このとき、記憶領域カウンタのカウント値は「1」である。
【0073】
そして、SDRAMデータ制御部24は、画素カウンタのカウント値が「9」になるまで、すなわち、第1メモリ領域データDm1の9個全てのFIFOデータをSDRAM5に出力すると、画素カウンタの「9」のカウント値を「0」にリセットし、記憶領域カウンタのカウント値を「1」から「2」にカウントアップする。
【0074】
このとき、画素カウンタのカウント値がカウントアップされるごとに、書き込みデータ入力信号SiがSDRAMアドレス制御部25及びSDRAM書き込み指定部26に対して出力される。又、記憶領域カウンタのカウンタ値がカウントされると、SDRAMアドレス制御部25に対して第1ラインフィード信号SL1を出力する。
【0075】
記憶領域カウンタのカウンタ値を「1」から「2」にカウントアップすると、SDRAMデータ制御部24には、第2メモリ領域データDm2のFIFOデータが順次入力される。SDRAMデータ制御部24は、順次入力される第2メモリ領域データDm2の各FIFOデータをSDRAM5に出力するとともに画素カウンタにてカウントする。
【0076】
そして、SDRAMデータ制御部24は、画素カウンタのカウンタ値が「9」になるまで、すなわち、第2メモリ領域データDm2の9個全てのFIFOデータをSDRAM5に出力すると、画素カウンタの「9」のカウント値を「1」にリセットし、記憶領域カウンタのカウント値を「2」から「3」にカウントアップする。
【0077】
このとき、同様に、画素カウンタのカウント値がカウントアップされるごとに、書き込みデータ入力信号SiがSDRAMアドレス制御部25及びSDRAM書き込み指定部26に対して出力される。又、記憶領域カウンタのカウント値がカウントアップされると、SDRAMアドレス制御部25に対して第1ラインフィード信号SL1を出力する。
【0078】
記憶領域カウンタのカウント値を「2」から「3」にカウントアップすると、SDRAMデータ制御部24は、第3メモリ領域データDm3のFIFOデータが順次入力される。SDRAMデータ制御部24は、順次入力される第3メモリ領域データDm3の各FIFOデータをSDRAM5に出力するとともに画素カウンタにてカウントする。
【0079】
そして、SDRAMデータ制御部24は、画素カウンタのカウント値が「9」になるまで、すなわち、第3メモリ領域データDm3の9個全てのFIFOデータをSDRAM5に出力すると、画素カウンタの「9」のカウント値を「1」にリセットし、記憶領域カウンタのカウント値を「3」から「1」にリセットする。
【0080】
このとき、同様に、画素カウンタのカウント値がカウントアップされるごとに、書き込みデータ入力信号SiがSDRAMアドレス制御部25及びSDRAM書き込み指定部26に対して出力される。又、記憶領域カウンタのカウント値がリセットされると、SDRAMアドレス制御部25に対して第1ラインフィード信号SL1を出力する。
【0081】
これによって、SDRAMデータ制御部24は、書き込みデータ入力信号Si及び第1ラインフィード信号SL1を出力することによって、第1〜第3メモリ領域データDm1〜Dm3における各FIFOデータの入力と、第1〜第3メモリ領域データDm1〜Dm3の切替わりとをSDRAMアドレス制御部25に知らせている。
【0082】
図7に示すように、SDRAMアドレス制御部25は、第2プログラムカウンタ40、乗算器42、加算器43を有している。
第2プログラムカウンタ40は、SDRAMデータ制御部24から第1ラインフィード信号SL1が入力される。第2プログラムカウンタ40は、第1ラインフィード信号SL1を「1」からカウントし、そのカウント値が「3」になって、新たな第1ラインフィード信号SL1を入力すると、「3」から「1」にリセットし、再び「3」になるまでカウントする。すなわち、第2プログラムカウンタ40は、各行の第1〜第3メモリ領域データDm1〜Dm3の全FIFOデータがSDRAMデータ制御部24において出力されると、カウント値「3」になる。そして、次の新たな行の第1〜第3メモリ領域データDm1〜Dm3のうち最初の第1メモリ領域データDm1の全FIFOデータが出力されると、カウント値が「3」から「1」にリセットされる。
【0083】
第2プログラムカウンタ40は、図8に示すような第2テーブル45を有している。そして、第2プログラムカウンタ40は、同第2プログラムカウンタ40の第3カウント値Sc3と第2テーブル45に基づいて、順次入力されてくる各行の第1〜第3メモリ領域データDm1〜Dm3のFIFOデータをSDRAM5に記憶させる際の先頭アドレスを設定するためのパラメータ値Tpを設定する。
【0084】
図8は、第2テーブル45の内容を示す。第2テーブル45は、第2プログラムカウンタ40の第3カウント値Sc3に対するパラメータ値Tpのデータが記憶されている。
因みに、第2プログラムカウンタ40は、カウント値が「1」のとき、パラメータ値Tpが「0」、第3カウント値Sc3が「2」のとき、パラメータ値Tpが「0」、第3カウント値Sc3が「3」のとき、パラメータ値Tpが「1」となる。つまり、第2プログラムカウンタ40は、1行分の第1〜第3メモリ領域データDm1〜Dm3の全FIFOデータがSDRAMデータ制御部24において出力されるごとに、「1」のパラメータ値Tpを設定する。
【0085】
そして、第2プログラムカウンタ40は、設定したパラメータ値Tpを乗算器42に出力する。
乗算器42は、第2プログラムカウンタ40からパラメータ値Tpが入力される。また、乗算器42は、第3基準値設定レジスタR3からそれぞれ第1〜第3メモリ領域Dm1〜Dm3を構成するFIFOデータの数の「9」が係数値として入力される。そして、乗算器42は、パラメータ値Tpと係数値「9」を乗算し、その乗算結果を乗算値J1として加算器43に出力する。
【0086】
因みに、第2プログラムカウンタ40のカウント値が「1」であってパラメータ値Tpが「0」のときには、乗算値J1は「0」となる。また、カウント値「2」であってパラメータ値Tpが「0」のときには、乗算値J1は「9」となる。
【0087】
つまり、乗算器42は、1行分の第1〜第3メモリ領域データDm1〜Dm3の全FIFOデータがSDRAMデータ制御部24において出力されるごとに、「9」の乗算値J1を加算器43に出力する。
【0088】
加算器43は、乗算器42から乗算値J1が入力される。また、加算器43は、第4基準値設定レジスタR4に記憶されている前先頭アドレス値Hpが入力される。第4基準値設定レジスタR4は、初期状態の時には、SDRAM5の先頭アドレスA1を示す数「1」が前先頭アドレス値Hpとして初期設定されている。
【0089】
加算器43は、前先頭アドレス値Hpと乗算値J1を加算し、その加算値を先頭アドレス値SaとしてSDRAM5に出力する。このとき、第4基準値設定レジスタR4の前先頭アドレス値Hpは、加算器43から出力された先頭アドレス値Saの値に書き換え、新たな前先頭アドレス値Hpに更新する。そして、加算器43は、第4基準値設定レジスタR4に新たに書き換えられた前先頭アドレス(先頭アドレス値Sa)と、新たに入力されてくる「0」又は「9」の乗算値J1を加算する。
【0090】
つまり、加算器43は、1行分の第1〜第3メモリ領域データDm1〜Dm3の全FIFOデータがSDRAMデータ制御部24において出力されるごとに、「9」の乗算値J1と前先頭アドレス値Hpが加算された新たな先頭アドレス値SaがSDRAM5に出力される。
【0091】
因みに、1行分の第1〜第3メモリ領域データDm1〜Dm3の全FIFOデータが出力されるごとに、先頭アドレス値Saの値が「1」→「10」→「19」→「28」→「37」→「46」→「55」→「64」→「73」となる。
【0092】
従って、SDRAM5は、1行分の第1〜第3メモリ領域データDm1〜Dm3の全FIFOデータが出力されるごとに、次の1行分の第1〜第3メモリ領域データDm1〜Dm3の全FIFOデータを記憶する先頭アドレスが先頭アドレス値Saによって指定されることになる。
【0093】
SDRAM書き込み指定部26は、FIFO書き込み部21からFIFOアドレス信号Sf、及び、SDRAMデータ制御部24から書き込みデータ入力信号Siが入力される。SDRAM書き込み指定部26は、FIFOアドレス信号Sfに基づいて、SDRAMデータ制御部24から入力される9個のFIFOデータを含む第1〜第3メモリ領域データDm1〜Dm3中の第1〜第27分割ラインデジタルデータDd1〜Dd27の画素データを除く空データが記憶されているFIFOデータはSDRAM5への書き込みを禁止している。
【0094】
すなわち、FIFOアドレス信号Sfは、3個の画素の画素データよりなる第1〜第27分割ラインデジタルデータDd1〜Dd27がFIFO22に格納されるアドレスを指定している。従って、SDRAM書き込み指定部26は、入力されるFIFOアドレス信号Sfによって、FIFO22の9個のFIFOデータ信号を有する第1〜第3メモリ領域データDm1〜Dm3に含まれる3個の画素データよりなる第1〜第27分割ラインデジタルデータDd1〜Dd27が格納されている記憶領域K2のアドレスを知ることができる。
【0095】
そして、SDRAM書き込み指定部26は、入力される書き込みデータ入力信号Siに応答して、3個の画素の画素データよりなる第1〜第27分割ラインデジタルデータDd1〜Dd27以外のデータ(空データ)がSDRAM5に出力されるとき、SDRAM5への書き込みを禁止するための書き込み禁止信号SkをSDRAM5に出力するようになっている。
【0096】
従って、SDRAM書き込み指定部26は、SDRAM5の同じアドレスに書き込まれる各ラインデジタルデータD1〜D9に対応する第1〜第3メモリ領域データDm1〜Dm3のうち、第1〜第27分割ラインデジタルデータDd1〜Dd27だけを書き込むようにしている。
【0097】
すなわち、SDRAM書き込み回路15は、図6に示すように、各ラインデジタルデータD1〜D9に対応する第1〜第27分割ラインデジタルデータDd1〜Dd27をFIFO22に格納し、そのFIFO22に記憶された第1〜第3メモリ領域データDm1〜Dm3をSDRAM5に書き込む。このとき、SDRAM書き込み回路15は、第1〜第3メモリ領域データDm1〜Dm3のうち、第1〜第27分割ラインデジタルデータDd1〜Dd27だけを書き込んでいる。
【0098】
つまり、SDRAM書き込み回路15は、図6に示す9画素の第1〜第3メモリ領域データDm1〜Dm3を順番にSDRAM5に書き込むことによって、第1〜第27分割ラインデジタルデータDd1〜Dd27が重なり合わずに、撮像素子50における第1〜第27分割ラインデジタルデータDd1〜Dd27の順番に並び換えることができる。
【0099】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
(1)FIFO書き込み部21は、図6に示すように、FIFO22においてアドレスを飛ばして指定されたSDRAM5のアドレスA3,A6,A9,A11,A14,A17,A19,A22,A25の記憶領域に第1〜第27分割ラインデジタルデータDd1〜Dd27(画素データGD1a,GD1b,GD1c,GD2a,GD2b,GD2c,GD3a,GD3b,GD3c)を書き込む。SDRAMアドレス制御部25は、各ラインデジタルデータD1〜D9に対応する第1〜第3メモリ領域データDm1〜Dm3をSDRAM5の同じアドレスに書き込む先頭アドレス値SaをSDRAM5に出力する。
【0100】
このとき、SDRAM書き込み指定部26は、SDRAMデータ制御部24から出力される第1〜第3メモリ領域データDm1〜Dm3のうち、第1〜第27分割ラインデジタルデータDd1〜Dd27(画素データGD1a,GD1b,GD1c,GD2a,GD2b,GD2c,GD3a,GD3b,GD3c)だけをSDRAM5に書き込むような書き込み禁止信号SkをSDRAM5に出力する。
【0101】
このため、SDRAM書き込み回路15は、従来、必要であったSRAM54及び並び替え回路55を用いずに、第1〜第27分割ラインデジタルデータDd1〜Dd27を撮像素子50における順番でSDRAM5に書き込むことができる。
【0102】
(2)FIFO書き込み部21は、画素データGD1a,GD1b,GD1c,GD2a,GD2b,GD2c,GD3a,GD3b,GD3cを、第1テーブル41に基づいてFIFO22に書き込むアドレスを指定している。
【0103】
また、SDRAMアドレス制御部25は、第2テーブル45に基づいて、各ラインデジタルデータD1〜D9をSDRAM5に書き込む先頭アドレスを指定している。
さらに、SDRAM書き込み指定部26は、第1テーブル41に基づいて第1〜第3メモリ領域データDm1〜Dm3のうち、第1〜第27分割ラインデジタルデータDd1〜Dd27(画素データGD1a,GD1b,GD1c,GD2a,GD2b,GD2c,GD3a,GD3b,GD3c)だけをSDRAM5に書き込んでいる。
【0104】
このため、SDRAM書き込み回路15は、撮像素子の画素信号を取得する仕様に対応して第1テーブル41及び第2テーブル45を設定することによって、撮像素子の画素信号を取得する仕様が変更しても回路変更をせずに、第1〜第27分割ラインデジタルデータDd1〜Dd27を撮像素子50における順番でSDRAM5に書き込むことができる。
【0105】
尚、上記実施の形態は、以下の態様で実施してもよい。
・上記実施形態において、第1テーブル41は、画素データカウンタ36の第1カウント値Sc1に応じたアドレスが設定されていた。これに限らず、第1テーブル41は、1つ前にFIFO22に記憶された記憶領域K2のアドレスに対して、そのとき格納する記憶領域K2までいくつアドレスを飛ばして格納するかを設定してもよい。さらに、第1テーブル41は、上記のアドレスをいくつ飛ばしてFIFOの記憶領域K2に格納するかの設定を指定する回数繰り返す、又は、指定する設定に移行するようにしてもよい。
【0106】
これにより、画像データが増大しても、第1テーブル41は、アドレスの設定を画像データの数分設けずにアドレスを設定することができるため、第1テーブル41の設定数を少なくでき、回路規模の増大を防ぐことができる。
【0107】
・上記実施形態において、図9に示すように、撮像素子50における1行目の各画素P1〜P9を3個おきに1つの組として、各画素P1〜P9を3つの組のいずれかの組に振り分ける。また、各組毎に第1〜第3信号線B1〜B3を設け、その各信号線B1〜B3をそれぞれ対応する組に属する画素P1〜P9と接続する。そして、各組に振り分けられた各画素P1〜P9の画素信号を、それぞれ第1〜第3信号線B1〜B3を介して、第1〜第3分割ライン画素信号Ld1〜Ld3として取得していた。
【0108】
これに限らず、どのように1行の各画素P1〜P9に信号線B1〜B3を接続してもよく、また、信号線は何本でもよい。つまり、画素P1〜P9から画素信号を取得する方法は、撮像素子50の仕様である。このため、画像処理回路4は、第1テーブル41及び第2テーブル45の設定を変更することで、撮像素子50の仕様変更に対応することができる。
【符号の説明】
【0109】
5 メモリ(SDRAM)
21 FIFO書き込み部
22 FIFO
25 メモリアドレス制御部(SDRAMアドレス制御部)
26 書き込み指定部(SDRAM書き込み指定部)
38 第1プログラムカウンタ
40 第2プログラムカウンタ
50 撮像素子
B1〜B3 信号線
Dd1〜Dd27 画像データ(分割ラインデジタルデータ)
K2 記憶領域
P1〜P9 画素
【技術分野】
【0001】
画像処理装置及び画像処理方法に関するものである。
【背景技術】
【0002】
従来、デジタルカメラ等の撮像装置は、CCD(Charge Coupled Devices)イメージセンサやCMOS(Complementary MOS)イメージセンサなどの撮像素子、画像データを各種処理する画像処理回路、記憶手段としてのSDRAM(SynchronousDynamic Random Access Memory)、外部記憶手段としての記録メディアを有している。
【0003】
撮像素子は光を電気信号(画素信号)として検出し、その画素信号をA/D(アナログ/デジタル)変換部に出力する。A/D変換部は、その画素信号をデジタル信号(画素データ)に変換し、複数の画素にて構成される1つのフレームの画像データ(フレームデータ)を画素ごとに取得する。そして、フレームデータがSDRAM(SynchronousDynamic Random Access Memory)に一旦格納される。
【0004】
画像処理回路は、1フレームのフレームデータに対して各種画像処理を実行する。このとき、画像処理回路は、各処理段階でのフレームデータをSDRAMに暫定的に格納する。そして、画像処理回路は、SDRAMに格納した各種画像処理後の最終的な1フレームのフレームデータを記録メディアに格納、又は、表示装置に表示する。
【0005】
近年、撮像素子は、画像処理回路への転送速度の高速化及び転送効率の向上と、回路規模の縮小のため、1フレームにおいて格子状に配置された画素を、純粋に順番通りに取得するのではなく、様々な方式が提案されている。
【0006】
例えば、撮像素子は、1行中にある各画素の画素信号を3つのバスから取得している。図9に示すように、撮像素子50における1行目の各画素P1〜P9を3個おきに1つの組として、各画素P1〜P9を3つの組のいずれかの組に振り分ける。また、各組毎に第1〜第3信号線B1〜B3を設け、その各信号線B1〜B3をそれぞれ対応する組に属する画素P1〜P9と接続する。そして、各組に振り分けられた各画素P1〜P9の画素信号を、それぞれ第1〜第3信号線B1〜B3を介して、第1〜第3分割ライン画素信号Ld1〜Ld3として取得する。
【0007】
それぞれ第1〜第3信号線B1〜B3を介して出力された第1〜第3分割ライン画素信号Ld1〜Ld3は、A/D変換部にてデジタル変換されて、図10に示すように、SRAM54の所定の記憶領域K1に第1〜第3分割ラインデジタルデータDd1〜Dd3として格納される。
【0008】
詳述すると、図9において、画素P3,P6,P9の3個の画素信号G3,G6,G9よりなる第1分割ライン画素信号Ld1は、画素P3,P6,P9の画素信号G3,G6,G9がそれぞれデジタル変換されて3個の画素データのデジタル画素信号(以下、画素データという)GD3,GD6,GD9よりなる第1分割ラインデジタルデータDd1に変換される。また、画素P2,P5,P8の3個の画素信号G2,G5,G8よりなる第2分割ライン画素信号Ld2は、画素P2,P5,P8の画素信号G2,G5,G8がそれぞれデジタル変換されて3個の画素データGD2,GD5,GD8よりなる第2分割ラインデジタルデータDd2に変換される。さらに、画素P1,P4,P7の3個の画素信号G1,G4,G7よりなる第3分割ライン画素信号Ld3は、画素P1,P4,P7の画素信号G1,G4,G7がそれぞれデジタル変換されて3個の画素データGD1,GD4,GD7よりなる第3分割ラインデジタルデータDd3に変換される。
【0009】
そして、各画素P1〜P9の画素信号G1〜G9が画素データGD1〜GD9に変換されてなる第1〜第3分割ラインデジタルデータDd1〜Dd3は、SRAM54に格納される。
【0010】
このとき、A/D変換部は、第1分割ラインデジタルデータDd1、第2分割ラインデジタルデータDd2、第3分割ラインデジタルデータDd3の順番で、第1〜第3分割ラインデジタルデータDd1〜Dd3を出力するため、SRAM54には、図10に示すように、その順番で格納される。
【0011】
上記の第1〜第3分割ラインデジタルデータDd1〜Dd3の順番でSRAM54に格納されると、被写体と異なる画像になってしまうため、図9に示す撮像素子50において取得される前の第1〜第3分割ライン画素信号Ld1〜Ld3の順番に戻す必要があった。
【0012】
このため、上記の対策として、図11に示すように、画像処理回路53は、SRAM(Static Random Access Memory)54及び並び換え回路55を設けている(例えば、特許文献1、特許文献2)。
【0013】
画像処理回路53は、SRAM54に格納した第1〜第3分割ラインデジタルデータDd1〜Dd3をSRAM54に格納する。そして、並び替え回路55は、SRAM54に格納された第1〜第3分割ラインデジタルデータDd1〜Dd3を図9に示す撮像素子50において取得される前の第1〜第3分割ライン画素信号Ld〜Ld3に対応した順番に戻していた。そして、元の順番に戻された第1〜第3分割ラインデジタルデータDd1〜Dd3は、SDRAM書き込み回路56を介してSDRAM57に書き込まれていた。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2006−80853号公報
【特許文献2】特開2000−69502号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
ところで、この種の撮像装置においては、近年、撮像素子50の高画素化に伴う高画素高画質化や連写機能などの搭載による高機能化が進んでいる。このような高画素高画質化や高機能化が進むと、上記画像処理回路が処理するデータ量の増大化や新機能を処理するための回路が必要になり、それに伴って回路規模が増大する。
【0016】
しかしながら、一方で、小型化や低価格化が要求されている撮像装置にあっては、回路規模の縮小が要求されている。上記のように、フレームデータの転送速度の高速化や撮像素子50の回路規模縮小のため、1行の各画素P1〜P9の画素信号G1〜G9を複数のバスから分割して取得していたが、画像処理回路53においてSRAM54及び並び替え回路55が必要になって回路規模が増大してしまう。
【0017】
また、この種の撮像素子50では、画素P1〜P9から画素信号G1〜G9を取得するバス(信号線)の本数が異なる場合がある。このため、画像処理回路53は、撮像素子50の各画素P1〜P9から画素信号G1〜G9を取得する仕様に対応した並び替え回路55が必要になってしまう。
【0018】
この画像処理装置及び画像処理方法は、回路規模の増大を低減、かつ、撮像素子の画素から画素信号を取得する仕様に対して汎用性を持ちつつ、画像データを並び替えることを目的とする。
【課題を解決するための手段】
【0019】
この画像処理装置は、画素を格子状に配置して構成された撮像素子においてそれぞれ各行の画素の画素信号を複数の信号線に分けて取得し、それぞれ前記複数の信号線を介して取得された各画素の画素データを記憶領域に記憶し、かつ、各記憶領域から前記画素の画素データをメモリに出力するFIFOを有する画像処理装置であって、FIFOは、前記複数の信号線を介して取得された各画素の画素データの組を、前記組ごとに記憶する記憶領域を設け、前記各記憶領域は、少なくともそれぞれ1行分の前記画素データが記憶できる記憶領域であり、前記各組の各画素の画素データを、対応する少なくとも1行分の前記画素データを記憶できる記憶領域に対して、それぞれ撮像素子において配置されていた順番で記憶するFIFO書き込み部と、前記記憶領域に記憶された対応する組の各画素の画素データを、前記メモリの同じ記憶領域に記憶するメモリアドレス制御部と、少なくとも1行分の前記画素データが記憶できる各記憶領域に含まれる画素データ以外のデータをメモリへ書き込み禁止する書き込み指定部とを有するようにした。
【0020】
この画像処理装置によれば、複数の信号線から出力されて順番が入れ替わった撮像素子における1行の画素の画素データを、出力される信号線ごとに撮像素子における配置でメモリに記憶する。このため、従来、画像データをメモリに記憶する際、必要だった画像処理装置は、撮像素子における1行の画素の画素データをメモリに重なることなく記憶し、撮像素子における配置でメモリに記憶することができる。これにより、従来、必要だったSRAMや並び替え回路を用いることなく、メモリに撮像素子の画素の画素データを記憶することができる。
【発明の効果】
【0021】
開示された画像処理及び画像処理方法は、回路規模の増大を低減、かつ、撮像素子の画素から電気信号を取得する仕様に対して汎用性を持ちつつ、画像データを並び替えることができる。
【図面の簡単な説明】
【0022】
【図1】本実施形態の画像処理回路の概略構成図である。
【図2】撮像素子の概略構成図である。
【図3】本実施形態のSDRAM書き込み回路の電気ブロック図である。
【図4】本実施形態のFIFO書き込み部の電気ブロック図である。
【図5】本実施形態の第1設定テーブルの説明図である。
【図6】本実施形態のFIFOの説明図である。
【図7】本実施形態のSDRAMアドレス制御部の電気ブロック図である。
【図8】本実施形態の第2設定テーブルの説明図である。
【図9】撮像素子の説明図である。
【図10】従来のSRAMの説明図である。
【図11】従来の画像処理回路の概略構成図である。
【発明を実施するための形態】
【0023】
以下、実施形態を図1〜図8に従って説明する。
図1は、デジタルカメラ1の概略的な電気構成を示す電気ブロック図である。
デジタルカメラ1は、撮像部3、画像処理装置としての画像処理回路4、SDRAM5、画像処理部6、記録メディア7を有している。
【0024】
デジタルカメラ1では、撮像部3にて取得した被写体に基づく画像データ(以下、フレームデータという)を画像処理回路4を介してSDRAM5に一旦格納する。画像処理部6は、SDRAM5に格納された1フレームのフレームデータを読み出し、その読み出したフレームデータに対して各種画像処理を実行する。このとき、画像処理部6は、各処理段階でのフレームデータをSDRAM5に暫定的に格納する。そして、画像処理部6は、SDRAM5に格納した画像処理後の最終的な1フレームのフレームデータを記録メディア7に格納する。
【0025】
撮像部3は、撮像素子50及びA/D変換部9を含んでいる。
撮像素子50は、1フレームを格子状に複数の画素を配置して構成している。本実施形態では、説明の便宜上、図2に示すように、撮像素子50は、縦9個、横9個の格子状に画素P1〜P9が配置されている。撮像素子50には、同種の色フィルタ成分{赤(R)、青(B)、緑(G)}がベイヤ配列されたカラーフィルタ12が形成されている。
【0026】
各画素P1〜P9は受光素子(図示しない)を有している。受光素子は、光学レンズ(図示しない)などを通じて入射した被写体からの光を、カラーフィルタ12を介して受光して電気信号(以下、画素信号という)に変換する。従って、撮像素子50の各画素P1〜P9は対応する色フィルタ成分{赤(R)、青(B)、緑(G)}のカラーフィルタ12を通過した光を画素信号に変換する。
【0027】
そして、撮像素子50は、格子状に配置された各画素P1〜P9の画素信号を、各行毎に、第1行目の9個の画素P1〜P9から第9行目の9個の画素P1〜P9までの順番で出力する。
【0028】
詳述すると、各行において、その行の9個の各画素P1〜P9を順番にスキャンして各画素P1〜P9の画素信号G1〜G9を順次読み出し、各行毎の第1〜第9ライン画素信号L1〜L9をそれぞれ出力する。この時、前記図11で説明したように、9個の画素P1〜P9に対して3つの第1〜第3信号線B1〜B3が設けられ、各画素P1〜P9に対応する第1〜第3信号線B1〜B3からそれぞれ分割ライン信号を出力する。
【0029】
ここで、本実施形態では、第1〜第3信号線B1〜B3にそれぞれ出力される分割ライン画素信号を、総称してライン信号という。そして、第1行目に設けた第1〜第3信号線B1〜B3からそれぞれ出力される分割ライン画素信号を第1〜第3分割ライン電気信号Ld1〜Ld3という。そして、第1〜第3分割ライン画素信号Ld1〜Ld3を総称して第1ライン画素信号L1という。
【0030】
因みに、第9行目に設けた第1〜第3信号線B1〜B3からそれぞれ出力される分割ライン画素信号は第25〜第27分割ライン画素信号Ld25〜Ld27という。そして、第25〜第27分割ライン画素信号Ld25〜Ld27を総称して第9ライン画素信号L9という。
【0031】
そして、1つの行の各画素P1〜P9の画素信号G1〜G9をライン画素信号として取得すると、次の行の各画素P1〜P9についても、同様な方法で各画素P1〜P9の画素信号G1〜G9をライン画素信号として取得する。これを第9行目まで第1行目から順番に続ける。
【0032】
そして、撮像素子50は、第1〜第9行目の各画素P1〜P9から順番に取得した第1〜第9ライン画素信号L1〜L9(第1〜第27分割ライン画素信号Ld1〜Ld27)をA/D変換部9に順次出力する。
【0033】
A/D変換部9は、撮像素子50から第1行目から第9行目の各画素P1〜P9の画素信号G1〜G9が第1〜第9ライン画素信号L1〜L9(第1〜第27分割ライン画素信号Ld1〜Ld27)となって入力される。
【0034】
A/D変換部9は、各信号線B1〜B3を介して取得したそれぞれ3個の画素の画素信号よりなる第1〜第27分割ライン画素信号Ld1〜Ld27(アナログ信号)をデジタル信号(以下、画素データという)に変換し、その3個の画素の画素データよりなる第1〜第27分割ラインデジタルデータDd1〜Dd27として画像処理回路4に出力する。
【0035】
詳述すると、A/D変換部9は、第1行目の第1〜第3分割ラインデジタルデータDd1〜Dd3(総称して第1ラインデジタルデータD1という)、次に、第2行目の第4〜第6分割ラインデジタルデータDd4〜Dd6(総称して第2ラインデジタルデータD2)、・・・・・・、そして、最後に、第9行目の第25〜第27分割ラインデジタルデータDd25〜Dd27(総称して第9ラインデジタルデータD9)の順番で変換する。
【0036】
すなわち、A/D変換部9は、アナログ信号である3画素の画素信号よりなる第1〜第27分割ライン画素信号Ld1〜Ld27を、後段の画像処理回路4で処理できるように、デジタル信号であるそれぞれ3個の画素の画素データよりなる第1〜第27分割ラインデジタルデータDd1〜Dd27に変換している。
【0037】
このとき、A/D変換部9は、各行毎の第1〜第9ライン画素信号L1〜L9が区切られて入力されるため、対応する各行毎に第1〜第9ライン画素信号L1〜L9をそれぞれ第1〜第9ラインデジタルデータD1〜D9に変換して画像処理回路4に出力している。
【0038】
画像処理回路4は、SDRAM書き込み回路15を有している。
図3に示すように、SDRAM書き込み回路15は、FIFO書き込み部21、FIFO(First In First Out)22、SDRAMリクエスト制御部23、SDRAMデータ制御部24、メモリアドレス制御部としてのSDRAMアドレス制御部25、SDRAM書き込み指定部26、第2基準値設定レジスタR2を含んでいる。
【0039】
図4に示すように、FIFO書き込み部21は、画素データカウンタ36、ラインカウンタ37、第1プログラムカウンタ38、FIFOデータ制御部39を有している。
画素データカウンタ36は、撮像部3から第1〜第9ラインデジタルデータD1〜D9(第1〜第27分割ラインデジタルデータDd1〜Dd27)が、順番に1画素分の画素データごとに順次入力される。画素データカウンタ36は、順次入力される1画素分の画素データをカウントする。
【0040】
画素データカウンタ36は、第1基準値設定レジスタR1から撮像素子50の1行に配置された画素の数「9」を第1基準値T1として入力する。この第1基準値T1に基づいて、画素データカウンタ36は、カウント値「9」になって、次の新たな行の画素データが入力されると、カウント値を「9」から「1」にリセットし、以後、同様なカウント動作を繰り返す。つまり、画素データカウンタ36は、それぞれ第1〜第9ラインデジタルデータD1〜D9ごとの画像データを入力するごとに、「9」から「1」にリセットする。
【0041】
そして、画素データカウンタ36は、その時々のカウント値を第1カウント値Sc1として第1プログラムカウンタ38に出力する。
ラインカウンタ37は、撮像部3から第1〜第9ラインデジタルデータD1〜D9(第1〜第27分割ラインデジタルデータDd1〜Dd27)が順番に1画素分の画素データ毎に順次入力される。ラインカウンタ37は、3画素分の画素データを入力すると、すなわち、1つの分割ラインデジタルデータを入力する毎に「1」カウントする。なお、ラインカウンタ37は、カウント値が「3」になって、次に新たな行の画素データが入力されると、カウント値を「3」から「1」にリセットし、以後、同様なカウント動作を繰り返す。つまり、ラインカウンタ37は、それぞれ第1〜第9ラインデジタルデータD1〜D9毎の画像データを入力するごとに、「3」から「1」にリセットする。
【0042】
そして、ラインカウンタ37は、その時々のカウント値を第2カウント値Sc2として第1プログラムカウンタ38に出力する。
第1プログラムカウンタ38は、画素データカウンタ36からの第1カウント値Sc1と、ラインカウンタ37からの第2カウント値Sc2とが入力される。
【0043】
第1プログラムカウンタ38は、入力された第1カウント値Sc1と第2カウント値Sc2のカウント値に基づいて、第1〜第9ラインデジタルデータD1〜D9ごとに、順次入力されてくる画素データを、図6に示すFIFO22の各アドレスA1〜A27のどのアドレスに書き込むかを設定する。そして、順次入力されてくる各画素データについて設定したアドレスをFIFOアドレス信号SfとしてFIFO22に出力する。
【0044】
第1プログラムカウンタ38は、第1カウント値Sc1と同第1プログラムカウンタ38に設けた第1テーブル41に基づいて、順次入力されてくる各画素データを、FIFO22の各アドレスA1〜A27のどのアドレスに書き込むかを設定する。
【0045】
図5は、第1テーブル41の内容を示す。第1テーブル41は、第1カウント値Sc1に対するFIFO22のアドレスのデータが記憶されている。
因みに、第1プログラムカウンタ38は、第1カウント値Sc1が「1」のとき、アドレスA3、第1カウント値「2」のとき、アドレスA6,第1カウント値Sc1が「3」のとき、アドレスA9となるFIFOアドレス信号Sfをそれぞれ出力することになる。
【0046】
また、第1プログラムカウンタ38は、第1カウント値Sc1が「4」のとき、アドレスA11、第1カウント値「5」のとき、アドレスA14,第1カウント値Sc1が「6」のとき、アドレスA17となるFIFOアドレス信号Sfをそれぞれ出力することになる。
【0047】
さらに、第1プログラムカウンタ38は、第1カウント値Sc1が「7」のとき、アドレスA19、第1カウント値が「8」のとき、アドレスA22,第1カウント値Sc1が「9」のとき、アドレスA25となるFIFOアドレス信号Sfをそれぞれ出力することになる。
【0048】
例えば、第1ラインデジタルデータD1の画素データが順次入力される場合、第1カウント値Sc1が「1」〜「3」の時は、第1分割ラインデジタルデータDd1の各画素データGD1a,GD1b,GD1cが、入力された順番にアドレスA3、アドレスA6、アドレスA9と指定される。
【0049】
また、第1カウント値Sc1が「4」〜「6」の時は、第2分割ラインデジタルデータDd2の各画素データGD2a,GD2b,GD2cが、入力された順番にアドレスA11、アドレスA14、アドレスA17と指定される。
【0050】
さらに、第1カウント値Sc1が「7」〜「9」の時は、第3分割ラインデジタルデータDd3の各画素データGD3a,GD3b,GD3cが、入力された順番にアドレスA19、アドレスA22、アドレスA25と指定される。
【0051】
つまり、第1〜第9ラインデジタルデータD1における各画素データGD1a〜GD3cは、画素データカウンタ36の第1カウント値Sc1と第1テーブル41とによって、FIFO22に記憶されるアドレスが設定される。
【0052】
また、第1プログラムカウンタ38は、FIFOアドレス信号Sfを出力するたびに、FIFOデータ制御部39にFIFO書き込み信号Sw1を出力する。FIFO書き込み信号Sw1は、FIFOデータ制御部39にFIFO書き込み信号Sw1を出力する。FIFO書き込み信号Sw1は、FIFOデータ制御部39がFIFO22に対して書き込みすることを命令する信号である。
【0053】
FIFOデータ制御部39は、撮像部3から第1〜第9ラインデジタルデータD1〜D9(第1〜第27分割ラインデジタルデータDd1〜Dd27)が、順番に1画素分の画素データごとに順次入力される。また、FIFOデータ制御部39は、第1プログラムカウンタ38がFIFOアドレス信号Sfを出力するたびに、同第1プログラムカウンタ38から出力されるFIFO書き込み信号Sw1が入力される。そして、FIFOデータ制御部39は、FIFO書き込み信号Sw1が入力されるたびに、順次入力される1画素分の画素データをFIFO22に出力する。
【0054】
FIFO22は、第1プログラムカウンタ38からFIFOアドレス信号Sf、及び、FIFOデータ制御部39から1画素分の画素データが入力される。FIFO22は、入力されたFIFOアドレス信号Sfに基づいてアクセスされて指定されたアドレスの記憶領域K2に1画素分のデジタル画素信号を記憶する。
【0055】
従って、図6に示すように、FIFO22は、第1〜第9ラインデジタルデータD1〜D9において、対応する3つの第1〜第27分割ラインデジタルデータDd1〜Dd27中の各画素P1〜P9の画素データGD1a〜GD1c,GD2a〜GD2c,GD3a〜GD3cが間隔を空けて記憶される。
【0056】
例えば、第1ラインデジタルデータD1を構成する画素データGD1a〜GD1c,GD2a〜GD2c,GD3a〜GD3cよりなる第1〜第3分割ラインデジタルデータDd1〜Dd3は、9個の記憶領域K2で構成された第1〜第3メモリ領域M1〜M3に第1〜第3分割ラインデジタルデータDd1〜Dd3がそれぞれ分けられて記憶されている。
【0057】
このとき、第1〜第3メモリ領域M1〜M3は、それぞれ2/3の領域(6個の記憶領域K2)には何も書き込まれていない。すなわち、第1〜第3メモリ領域M1〜M3は、2/3の領域(6個の記憶領域K2)が何も書き込まれていない空データになっている。このため、それぞれ画素データGD1a〜GD1c,GD2a〜GD2c,GD3a〜GD3cよりなる第1〜第3分割ラインデジタルデータDd1〜Dd3は、その画素数(9個)の3倍の27個の記憶領域K2で構成された第1〜第3メモリ領域M1〜M3にそれぞれ配分されて記憶されている。
【0058】
ここで、本実施形態では、第1〜第3メモリ領域M1〜M3の9個の記憶領域K2の全体内容を、1つの全体内容として「メモリ領域データ」という。そして、第1メモリ領域M1に設けた9個の記憶領域K2の全体内容を「第1メモリ領域データDm1」という。また、第2メモリ領域M2に設けた9個の記憶領域K2の全体内容を「第2メモリ領域データDm2」という。さらに、第3メモリ領域M3に設けた9個の記憶領域K2の全体内容を「第3メモリ領域データDm3」という。
【0059】
そして、FIFO22は、後述するSDRAMリクエスト制御部23からSDRAM書き込み信号Sw2が入力されると、このFIFO22は、入力されたSDRAM書き込み信号Sw2に応答して第1〜第3メモリ領域M1〜M3に記憶した第1〜第3メモリ領域データDm1〜Dm3をSDRAMデータ制御部24に出力する。
【0060】
SDRAMリクエスト制御部23はFIFO22を監視し、第1〜第9ラインデジタルデータD1〜D9において、対応するそれぞれの第1〜第27分割ラインデジタルデータDd1〜Dd27がFIFO22に記憶されると、後述するSDRAM5に書き込みリクエスト信号Srを出力する。
【0061】
すなわち、SDRAMリクエスト制御部23は、FIFO22が第1〜第9ラインデジタルデータD1〜D9ごとに、対応するそれぞれの第1〜第27分割ラインデジタルデータDd1〜Dd27をSDRAM5に出力する準備が整うと、それぞれ対応する3個の第1〜第27分割ラインデジタルデータDd1〜Dd27を含む第1〜第3メモリ領域データDm1〜Dm3を出力してもよいか否かの許可をSDRAM5に求める。
【0062】
換言すると、SDRAM5は、FIFO22からの書き込み・読み出しだけではなく、画像処理部6などからの書き込み・読み出しもある。従って、SDRAMリクエスト制御部23は、FIFO22から第1〜第3メモリ領域データDm1〜Dm3を出力する前に、SDRAM5に画像処理部6などから書き込み・読み出しされているか否かを確認している。
【0063】
そして、SDRAMリクエスト制御部23からの書き込みリクエスト信号Srに応答して書き込み応答信号SoがSDRAM5から出力されると、SDRAMリクエスト制御部23は、SDRAM5に画像処理部6などからの書き込み・読み出しがないことを確認し、SDRAM書き込み信号Sw2をFIFO22及びSDRAMデータ制御部24に出力する。すなわち、SDRAMリクエスト制御部23は、FIFO22及びSDRAMデータ制御部24に対して、SDRAM5への第1〜第3メモリ領域データDm1〜Dm3の出力を命令する。
【0064】
反対に、書き込みリクエスト信号Srに応答して書き込み応答信号SoがSDRAM5から出力されないと、SDRAMリクエスト制御部23は、SDRAM5に画像処理部6などからの書き込み・読み出しがあることを確認し、SDRAM書き込み信号Sw2をFIFO22及びSDRAMデータ制御部24に出力しない。すなわち、SDRAMリクエスト制御部23は、FIFO22及びSDRAMデータ制御部24に対して、SDRAM5への第1〜第3メモリ領域データDm1〜Dm3の出力を待機させる。
【0065】
SDRAMデータ制御部24は、FIFO22から第1〜第3メモリ領域データDm1〜Dm3、及び、SDRAMリクエスト制御部23からSDRAM書き込み信号Sw2が入力される。また、SDRAMデータ制御部24は、第2基準値設定レジスタR2に記憶されている各メモリ領域データDm1〜Dm3に含まれる記憶領域K2の数「9」、及び、第1〜第3メモリ領域データDm1〜Dm3の数「3」が入力される。SDRAMデータ制御部24は、入力されたSDRAM書き込み信号Sw2に応答して、FIFO22からの第1〜第3メモリ領域データDm1〜Dm3をSDRAM5に出力する。
【0066】
SDRAMデータ制御部24は、画素カウンタ(図示しない)を備えている。そして、SDRAMデータ制御部24は、この画素カウンタにて、順番にFIFO22から出力されてくる第1〜第3メモリ領域データDm1〜Dm3の画素データ(空データを含む)の数をカウントする。
【0067】
SDRAMデータ制御部24は、順番に入力されてくる第1〜第3メモリ領域データDm1〜Dm3を記憶する記憶領域K2のFIFOデータを画素カウンタにてカウントするごとに、書き込みデータ入力信号SiをSDRAMアドレス制御部25及びSDRAM書き込み指定部26に出力する。
【0068】
書き込みデータ入力信号Siは、それぞれ第1〜第3メモリ領域データDm1〜Dm3を記憶する記憶領域K2のFIFOデータがSDRAMデータ制御部24に入力されたことを知らせる信号である。
【0069】
また、SDRAMデータ制御部24は、記憶領域カウンタ(図示しない)を備えている。記憶領域カウンタ(図示しない)は、それぞれ第1〜第3メモリ領域データDm1〜Dm3を記憶する9個の記憶領域K2のFIFOデータを全て入力するごとに、「1」カウントアップする。つまり、記憶領域カウンタは、いま、第1〜第3メモリ領域データDm1〜Dm3の中のどのメモリ領域データの記憶領域K2のFIFOデータを入力しているかを示すカウンタである。
【0070】
因みに、カウンタ値「1」のとき、第1メモリ領域データDm1を、カウンタ値「2」のとき、第2メモリ領域データDm2を、カウント値が「3」のとき、第3メモリ領域データDm3を入力していることを示している。従って、カウント値「3」であって、第3メモリ領域データDm3を構成する9個の記憶領域K2のFIFOデータ全てを入力すると、記憶領域カウンタは、カウント値が「3」から「1」にリセットされ、新たな第1メモリ領域データDm1を入力することを示していることになる。
【0071】
そして、SDRAMデータ制御部24は、記憶領域カウンタが「1」カウントアップ、または、リセットするごとに、SDRAMアドレス制御部25に対して第1ラインフィード信号SL1を出力する。第1ラインフィード信号SL1は、SDRAM5に出力される第1〜第3メモリ領域データDm1〜Dm3の切替わりを知らせる信号である。
【0072】
詳述すると、まず、SDRAMデータ制御部24は、第1メモリ領域データDm1中の最初のFIFOデータが入力されると、画素カウンタを「1」カウントアップし、その入力された1個のFIFOデータをSDRAM5に出力する。このとき、記憶領域カウンタのカウント値は「1」である。
【0073】
そして、SDRAMデータ制御部24は、画素カウンタのカウント値が「9」になるまで、すなわち、第1メモリ領域データDm1の9個全てのFIFOデータをSDRAM5に出力すると、画素カウンタの「9」のカウント値を「0」にリセットし、記憶領域カウンタのカウント値を「1」から「2」にカウントアップする。
【0074】
このとき、画素カウンタのカウント値がカウントアップされるごとに、書き込みデータ入力信号SiがSDRAMアドレス制御部25及びSDRAM書き込み指定部26に対して出力される。又、記憶領域カウンタのカウンタ値がカウントされると、SDRAMアドレス制御部25に対して第1ラインフィード信号SL1を出力する。
【0075】
記憶領域カウンタのカウンタ値を「1」から「2」にカウントアップすると、SDRAMデータ制御部24には、第2メモリ領域データDm2のFIFOデータが順次入力される。SDRAMデータ制御部24は、順次入力される第2メモリ領域データDm2の各FIFOデータをSDRAM5に出力するとともに画素カウンタにてカウントする。
【0076】
そして、SDRAMデータ制御部24は、画素カウンタのカウンタ値が「9」になるまで、すなわち、第2メモリ領域データDm2の9個全てのFIFOデータをSDRAM5に出力すると、画素カウンタの「9」のカウント値を「1」にリセットし、記憶領域カウンタのカウント値を「2」から「3」にカウントアップする。
【0077】
このとき、同様に、画素カウンタのカウント値がカウントアップされるごとに、書き込みデータ入力信号SiがSDRAMアドレス制御部25及びSDRAM書き込み指定部26に対して出力される。又、記憶領域カウンタのカウント値がカウントアップされると、SDRAMアドレス制御部25に対して第1ラインフィード信号SL1を出力する。
【0078】
記憶領域カウンタのカウント値を「2」から「3」にカウントアップすると、SDRAMデータ制御部24は、第3メモリ領域データDm3のFIFOデータが順次入力される。SDRAMデータ制御部24は、順次入力される第3メモリ領域データDm3の各FIFOデータをSDRAM5に出力するとともに画素カウンタにてカウントする。
【0079】
そして、SDRAMデータ制御部24は、画素カウンタのカウント値が「9」になるまで、すなわち、第3メモリ領域データDm3の9個全てのFIFOデータをSDRAM5に出力すると、画素カウンタの「9」のカウント値を「1」にリセットし、記憶領域カウンタのカウント値を「3」から「1」にリセットする。
【0080】
このとき、同様に、画素カウンタのカウント値がカウントアップされるごとに、書き込みデータ入力信号SiがSDRAMアドレス制御部25及びSDRAM書き込み指定部26に対して出力される。又、記憶領域カウンタのカウント値がリセットされると、SDRAMアドレス制御部25に対して第1ラインフィード信号SL1を出力する。
【0081】
これによって、SDRAMデータ制御部24は、書き込みデータ入力信号Si及び第1ラインフィード信号SL1を出力することによって、第1〜第3メモリ領域データDm1〜Dm3における各FIFOデータの入力と、第1〜第3メモリ領域データDm1〜Dm3の切替わりとをSDRAMアドレス制御部25に知らせている。
【0082】
図7に示すように、SDRAMアドレス制御部25は、第2プログラムカウンタ40、乗算器42、加算器43を有している。
第2プログラムカウンタ40は、SDRAMデータ制御部24から第1ラインフィード信号SL1が入力される。第2プログラムカウンタ40は、第1ラインフィード信号SL1を「1」からカウントし、そのカウント値が「3」になって、新たな第1ラインフィード信号SL1を入力すると、「3」から「1」にリセットし、再び「3」になるまでカウントする。すなわち、第2プログラムカウンタ40は、各行の第1〜第3メモリ領域データDm1〜Dm3の全FIFOデータがSDRAMデータ制御部24において出力されると、カウント値「3」になる。そして、次の新たな行の第1〜第3メモリ領域データDm1〜Dm3のうち最初の第1メモリ領域データDm1の全FIFOデータが出力されると、カウント値が「3」から「1」にリセットされる。
【0083】
第2プログラムカウンタ40は、図8に示すような第2テーブル45を有している。そして、第2プログラムカウンタ40は、同第2プログラムカウンタ40の第3カウント値Sc3と第2テーブル45に基づいて、順次入力されてくる各行の第1〜第3メモリ領域データDm1〜Dm3のFIFOデータをSDRAM5に記憶させる際の先頭アドレスを設定するためのパラメータ値Tpを設定する。
【0084】
図8は、第2テーブル45の内容を示す。第2テーブル45は、第2プログラムカウンタ40の第3カウント値Sc3に対するパラメータ値Tpのデータが記憶されている。
因みに、第2プログラムカウンタ40は、カウント値が「1」のとき、パラメータ値Tpが「0」、第3カウント値Sc3が「2」のとき、パラメータ値Tpが「0」、第3カウント値Sc3が「3」のとき、パラメータ値Tpが「1」となる。つまり、第2プログラムカウンタ40は、1行分の第1〜第3メモリ領域データDm1〜Dm3の全FIFOデータがSDRAMデータ制御部24において出力されるごとに、「1」のパラメータ値Tpを設定する。
【0085】
そして、第2プログラムカウンタ40は、設定したパラメータ値Tpを乗算器42に出力する。
乗算器42は、第2プログラムカウンタ40からパラメータ値Tpが入力される。また、乗算器42は、第3基準値設定レジスタR3からそれぞれ第1〜第3メモリ領域Dm1〜Dm3を構成するFIFOデータの数の「9」が係数値として入力される。そして、乗算器42は、パラメータ値Tpと係数値「9」を乗算し、その乗算結果を乗算値J1として加算器43に出力する。
【0086】
因みに、第2プログラムカウンタ40のカウント値が「1」であってパラメータ値Tpが「0」のときには、乗算値J1は「0」となる。また、カウント値「2」であってパラメータ値Tpが「0」のときには、乗算値J1は「9」となる。
【0087】
つまり、乗算器42は、1行分の第1〜第3メモリ領域データDm1〜Dm3の全FIFOデータがSDRAMデータ制御部24において出力されるごとに、「9」の乗算値J1を加算器43に出力する。
【0088】
加算器43は、乗算器42から乗算値J1が入力される。また、加算器43は、第4基準値設定レジスタR4に記憶されている前先頭アドレス値Hpが入力される。第4基準値設定レジスタR4は、初期状態の時には、SDRAM5の先頭アドレスA1を示す数「1」が前先頭アドレス値Hpとして初期設定されている。
【0089】
加算器43は、前先頭アドレス値Hpと乗算値J1を加算し、その加算値を先頭アドレス値SaとしてSDRAM5に出力する。このとき、第4基準値設定レジスタR4の前先頭アドレス値Hpは、加算器43から出力された先頭アドレス値Saの値に書き換え、新たな前先頭アドレス値Hpに更新する。そして、加算器43は、第4基準値設定レジスタR4に新たに書き換えられた前先頭アドレス(先頭アドレス値Sa)と、新たに入力されてくる「0」又は「9」の乗算値J1を加算する。
【0090】
つまり、加算器43は、1行分の第1〜第3メモリ領域データDm1〜Dm3の全FIFOデータがSDRAMデータ制御部24において出力されるごとに、「9」の乗算値J1と前先頭アドレス値Hpが加算された新たな先頭アドレス値SaがSDRAM5に出力される。
【0091】
因みに、1行分の第1〜第3メモリ領域データDm1〜Dm3の全FIFOデータが出力されるごとに、先頭アドレス値Saの値が「1」→「10」→「19」→「28」→「37」→「46」→「55」→「64」→「73」となる。
【0092】
従って、SDRAM5は、1行分の第1〜第3メモリ領域データDm1〜Dm3の全FIFOデータが出力されるごとに、次の1行分の第1〜第3メモリ領域データDm1〜Dm3の全FIFOデータを記憶する先頭アドレスが先頭アドレス値Saによって指定されることになる。
【0093】
SDRAM書き込み指定部26は、FIFO書き込み部21からFIFOアドレス信号Sf、及び、SDRAMデータ制御部24から書き込みデータ入力信号Siが入力される。SDRAM書き込み指定部26は、FIFOアドレス信号Sfに基づいて、SDRAMデータ制御部24から入力される9個のFIFOデータを含む第1〜第3メモリ領域データDm1〜Dm3中の第1〜第27分割ラインデジタルデータDd1〜Dd27の画素データを除く空データが記憶されているFIFOデータはSDRAM5への書き込みを禁止している。
【0094】
すなわち、FIFOアドレス信号Sfは、3個の画素の画素データよりなる第1〜第27分割ラインデジタルデータDd1〜Dd27がFIFO22に格納されるアドレスを指定している。従って、SDRAM書き込み指定部26は、入力されるFIFOアドレス信号Sfによって、FIFO22の9個のFIFOデータ信号を有する第1〜第3メモリ領域データDm1〜Dm3に含まれる3個の画素データよりなる第1〜第27分割ラインデジタルデータDd1〜Dd27が格納されている記憶領域K2のアドレスを知ることができる。
【0095】
そして、SDRAM書き込み指定部26は、入力される書き込みデータ入力信号Siに応答して、3個の画素の画素データよりなる第1〜第27分割ラインデジタルデータDd1〜Dd27以外のデータ(空データ)がSDRAM5に出力されるとき、SDRAM5への書き込みを禁止するための書き込み禁止信号SkをSDRAM5に出力するようになっている。
【0096】
従って、SDRAM書き込み指定部26は、SDRAM5の同じアドレスに書き込まれる各ラインデジタルデータD1〜D9に対応する第1〜第3メモリ領域データDm1〜Dm3のうち、第1〜第27分割ラインデジタルデータDd1〜Dd27だけを書き込むようにしている。
【0097】
すなわち、SDRAM書き込み回路15は、図6に示すように、各ラインデジタルデータD1〜D9に対応する第1〜第27分割ラインデジタルデータDd1〜Dd27をFIFO22に格納し、そのFIFO22に記憶された第1〜第3メモリ領域データDm1〜Dm3をSDRAM5に書き込む。このとき、SDRAM書き込み回路15は、第1〜第3メモリ領域データDm1〜Dm3のうち、第1〜第27分割ラインデジタルデータDd1〜Dd27だけを書き込んでいる。
【0098】
つまり、SDRAM書き込み回路15は、図6に示す9画素の第1〜第3メモリ領域データDm1〜Dm3を順番にSDRAM5に書き込むことによって、第1〜第27分割ラインデジタルデータDd1〜Dd27が重なり合わずに、撮像素子50における第1〜第27分割ラインデジタルデータDd1〜Dd27の順番に並び換えることができる。
【0099】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
(1)FIFO書き込み部21は、図6に示すように、FIFO22においてアドレスを飛ばして指定されたSDRAM5のアドレスA3,A6,A9,A11,A14,A17,A19,A22,A25の記憶領域に第1〜第27分割ラインデジタルデータDd1〜Dd27(画素データGD1a,GD1b,GD1c,GD2a,GD2b,GD2c,GD3a,GD3b,GD3c)を書き込む。SDRAMアドレス制御部25は、各ラインデジタルデータD1〜D9に対応する第1〜第3メモリ領域データDm1〜Dm3をSDRAM5の同じアドレスに書き込む先頭アドレス値SaをSDRAM5に出力する。
【0100】
このとき、SDRAM書き込み指定部26は、SDRAMデータ制御部24から出力される第1〜第3メモリ領域データDm1〜Dm3のうち、第1〜第27分割ラインデジタルデータDd1〜Dd27(画素データGD1a,GD1b,GD1c,GD2a,GD2b,GD2c,GD3a,GD3b,GD3c)だけをSDRAM5に書き込むような書き込み禁止信号SkをSDRAM5に出力する。
【0101】
このため、SDRAM書き込み回路15は、従来、必要であったSRAM54及び並び替え回路55を用いずに、第1〜第27分割ラインデジタルデータDd1〜Dd27を撮像素子50における順番でSDRAM5に書き込むことができる。
【0102】
(2)FIFO書き込み部21は、画素データGD1a,GD1b,GD1c,GD2a,GD2b,GD2c,GD3a,GD3b,GD3cを、第1テーブル41に基づいてFIFO22に書き込むアドレスを指定している。
【0103】
また、SDRAMアドレス制御部25は、第2テーブル45に基づいて、各ラインデジタルデータD1〜D9をSDRAM5に書き込む先頭アドレスを指定している。
さらに、SDRAM書き込み指定部26は、第1テーブル41に基づいて第1〜第3メモリ領域データDm1〜Dm3のうち、第1〜第27分割ラインデジタルデータDd1〜Dd27(画素データGD1a,GD1b,GD1c,GD2a,GD2b,GD2c,GD3a,GD3b,GD3c)だけをSDRAM5に書き込んでいる。
【0104】
このため、SDRAM書き込み回路15は、撮像素子の画素信号を取得する仕様に対応して第1テーブル41及び第2テーブル45を設定することによって、撮像素子の画素信号を取得する仕様が変更しても回路変更をせずに、第1〜第27分割ラインデジタルデータDd1〜Dd27を撮像素子50における順番でSDRAM5に書き込むことができる。
【0105】
尚、上記実施の形態は、以下の態様で実施してもよい。
・上記実施形態において、第1テーブル41は、画素データカウンタ36の第1カウント値Sc1に応じたアドレスが設定されていた。これに限らず、第1テーブル41は、1つ前にFIFO22に記憶された記憶領域K2のアドレスに対して、そのとき格納する記憶領域K2までいくつアドレスを飛ばして格納するかを設定してもよい。さらに、第1テーブル41は、上記のアドレスをいくつ飛ばしてFIFOの記憶領域K2に格納するかの設定を指定する回数繰り返す、又は、指定する設定に移行するようにしてもよい。
【0106】
これにより、画像データが増大しても、第1テーブル41は、アドレスの設定を画像データの数分設けずにアドレスを設定することができるため、第1テーブル41の設定数を少なくでき、回路規模の増大を防ぐことができる。
【0107】
・上記実施形態において、図9に示すように、撮像素子50における1行目の各画素P1〜P9を3個おきに1つの組として、各画素P1〜P9を3つの組のいずれかの組に振り分ける。また、各組毎に第1〜第3信号線B1〜B3を設け、その各信号線B1〜B3をそれぞれ対応する組に属する画素P1〜P9と接続する。そして、各組に振り分けられた各画素P1〜P9の画素信号を、それぞれ第1〜第3信号線B1〜B3を介して、第1〜第3分割ライン画素信号Ld1〜Ld3として取得していた。
【0108】
これに限らず、どのように1行の各画素P1〜P9に信号線B1〜B3を接続してもよく、また、信号線は何本でもよい。つまり、画素P1〜P9から画素信号を取得する方法は、撮像素子50の仕様である。このため、画像処理回路4は、第1テーブル41及び第2テーブル45の設定を変更することで、撮像素子50の仕様変更に対応することができる。
【符号の説明】
【0109】
5 メモリ(SDRAM)
21 FIFO書き込み部
22 FIFO
25 メモリアドレス制御部(SDRAMアドレス制御部)
26 書き込み指定部(SDRAM書き込み指定部)
38 第1プログラムカウンタ
40 第2プログラムカウンタ
50 撮像素子
B1〜B3 信号線
Dd1〜Dd27 画像データ(分割ラインデジタルデータ)
K2 記憶領域
P1〜P9 画素
【特許請求の範囲】
【請求項1】
画素を格子状に配置して構成された撮像素子においてそれぞれ各行の画素の画素信号を複数の信号線に分けて取得し、それぞれ前記複数の信号線を介して取得された各画素の画素データを記憶領域に記憶し、かつ、各記憶領域から前記画素の画素データをメモリに出力するFIFOを有する画像処理装置であって、
FIFOは、
前記複数の信号線を介して取得された各画素の画素データの組を、前記組ごとに記憶する記憶領域を設け、前記各記憶領域は、少なくともそれぞれ1行分の前記画素データが記憶できる記憶領域であり、
前記各組の各画素の画素データを、対応する少なくとも1行分の前記画素データを記憶できる記憶領域に対して、それぞれ撮像素子において配置されていた順番で記憶するFIFO書き込み部と、
前記記憶領域に記憶された対応する組の各画素の画素データを、前記メモリの同じ記憶領域に記憶するメモリアドレス制御部と、
少なくとも1行分の前記画素データが記憶できる各記憶領域に含まれる画素データ以外のデータをメモリへ書き込み禁止する書き込み指定部と
を有することを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記FIFO書き込み部は、
前記各組の各画素の画素データを記憶する前記FIFOの記憶領域のアドレスを指定する第1プログラムカウンタを有し、
前記メモリアドレス制御部は、
前記1行分の画素データが記憶できる各記憶領域に記憶された各画素の画素データを、前記メモリの同じ記憶領域に記憶するように前記メモリの記憶領域のアドレスを指定する第2プログラムカウンタを有することを特徴とする画像処理装置。
【請求項3】
画素を格子状に配置して構成された撮像素子においてそれぞれ各行の画素の画素信号を複数の信号線に分けて取得し、それぞれ前記複数の信号線を介して取得された各画素の画素データを記憶領域に記憶し、かつ、各記憶領域から前記画素の画素データをメモリに出力するFIFOを有する画像処理装置の画像処理方法であって、
FIFOは、
前記複数の信号線を介して取得された各画素の画素データの組を、前記組ごとに記憶する記憶領域を設け、前記各記憶領域は、少なくともそれぞれ1行分の前記画素データが記憶できる記憶領域であり、
前記各組の各画素の画素データを、対応する少なくとも1行分の前記画素データを記憶できる記憶領域に対して、それぞれ撮像素子において配置されていた順番で記憶し、
前記記憶領域に記憶された対応する組の各画素の画素データを、前記メモリの同じ記憶領域に記憶し、
少なくとも1行分の前記画素データが記憶できる各記憶領域に含まれる画素データ以外のデータをメモリへ書き込み禁止することを特徴とする画像処理装置の画像処理方法。
【請求項1】
画素を格子状に配置して構成された撮像素子においてそれぞれ各行の画素の画素信号を複数の信号線に分けて取得し、それぞれ前記複数の信号線を介して取得された各画素の画素データを記憶領域に記憶し、かつ、各記憶領域から前記画素の画素データをメモリに出力するFIFOを有する画像処理装置であって、
FIFOは、
前記複数の信号線を介して取得された各画素の画素データの組を、前記組ごとに記憶する記憶領域を設け、前記各記憶領域は、少なくともそれぞれ1行分の前記画素データが記憶できる記憶領域であり、
前記各組の各画素の画素データを、対応する少なくとも1行分の前記画素データを記憶できる記憶領域に対して、それぞれ撮像素子において配置されていた順番で記憶するFIFO書き込み部と、
前記記憶領域に記憶された対応する組の各画素の画素データを、前記メモリの同じ記憶領域に記憶するメモリアドレス制御部と、
少なくとも1行分の前記画素データが記憶できる各記憶領域に含まれる画素データ以外のデータをメモリへ書き込み禁止する書き込み指定部と
を有することを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記FIFO書き込み部は、
前記各組の各画素の画素データを記憶する前記FIFOの記憶領域のアドレスを指定する第1プログラムカウンタを有し、
前記メモリアドレス制御部は、
前記1行分の画素データが記憶できる各記憶領域に記憶された各画素の画素データを、前記メモリの同じ記憶領域に記憶するように前記メモリの記憶領域のアドレスを指定する第2プログラムカウンタを有することを特徴とする画像処理装置。
【請求項3】
画素を格子状に配置して構成された撮像素子においてそれぞれ各行の画素の画素信号を複数の信号線に分けて取得し、それぞれ前記複数の信号線を介して取得された各画素の画素データを記憶領域に記憶し、かつ、各記憶領域から前記画素の画素データをメモリに出力するFIFOを有する画像処理装置の画像処理方法であって、
FIFOは、
前記複数の信号線を介して取得された各画素の画素データの組を、前記組ごとに記憶する記憶領域を設け、前記各記憶領域は、少なくともそれぞれ1行分の前記画素データが記憶できる記憶領域であり、
前記各組の各画素の画素データを、対応する少なくとも1行分の前記画素データを記憶できる記憶領域に対して、それぞれ撮像素子において配置されていた順番で記憶し、
前記記憶領域に記憶された対応する組の各画素の画素データを、前記メモリの同じ記憶領域に記憶し、
少なくとも1行分の前記画素データが記憶できる各記憶領域に含まれる画素データ以外のデータをメモリへ書き込み禁止することを特徴とする画像処理装置の画像処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2010−193111(P2010−193111A)
【公開日】平成22年9月2日(2010.9.2)
【国際特許分類】
【出願番号】特願2009−34589(P2009−34589)
【出願日】平成21年2月17日(2009.2.17)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】
【公開日】平成22年9月2日(2010.9.2)
【国際特許分類】
【出願日】平成21年2月17日(2009.2.17)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】
[ Back to top ]