JP7141295B2 - 画像処理装置およびその制御方法 - Google Patents

画像処理装置およびその制御方法 Download PDF

Info

Publication number
JP7141295B2
JP7141295B2 JP2018186872A JP2018186872A JP7141295B2 JP 7141295 B2 JP7141295 B2 JP 7141295B2 JP 2018186872 A JP2018186872 A JP 2018186872A JP 2018186872 A JP2018186872 A JP 2018186872A JP 7141295 B2 JP7141295 B2 JP 7141295B2
Authority
JP
Japan
Prior art keywords
data
memory
rows
pixels
columns
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
JP2018186872A
Other languages
English (en)
Other versions
JP2020057922A5 (ja
JP2020057922A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2018186872A priority Critical patent/JP7141295B2/ja
Priority to US16/587,677 priority patent/US10855945B2/en
Publication of JP2020057922A publication Critical patent/JP2020057922A/ja
Publication of JP2020057922A5 publication Critical patent/JP2020057922A5/ja
Application granted granted Critical
Publication of JP7141295B2 publication Critical patent/JP7141295B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/71Charge-coupled device [CCD] sensors; Charge-transfer registers specially adapted for CCD sensors
    • H04N25/75Circuitry for providing, modifying or processing image signals from the pixel array
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/40Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled
    • H04N25/44Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by partially reading an SSIS array
    • H04N25/441Extracting pixel data from image sensors by controlling scanning circuits, e.g. by modifying the number of pixels sampled or to be sampled by partially reading an SSIS array by reading contiguous pixels from selected rows or columns of the array, e.g. interlaced scanning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/71Charge-coupled device [CCD] sensors; Charge-transfer registers specially adapted for CCD sensors
    • H04N25/74Circuitry for scanning or addressing the pixel array
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/76Addressed sensors, e.g. MOS or CMOS sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)
  • Studio Devices (AREA)

Description

本発明は画像処理装置およびその制御方法に関する。
撮像素子からのデータ読み出しの高速化が常に求められており、様々な方法が提案されている。例えば、複数行のデータを同時に読み出す方法が知られている。しかし、後段の回路が複数行のデータをまとめて処理できない場合、メモリを用いて複数行のデータを後段の回路に合わせて並べ替える必要がある(特許文献1)。
特開2013-62714号公報
特許文献1には、並べ替えにSRAMを用いるが記載されている。しかし、SRAMを用いる方法では、同時読み出しする行数に等しい容量のSRAMが必要であるため、同時読み出しする行の数が増えると、並べ替えのための回路規模が増大する。あるいは、後段の回路における処理レートが低下する。
本発明はこのような従来技術の課題を少なくとも軽減することを目的とする。従って本発明の目的は、撮像素子から同時に読み出された複数行のデータを、少ない回路規模で高速に並べ替え可能な画像処理装置およびその制御方法を提供することである。
上述の目的は、撮像素子の、M行N列の画素からなる領域のm行(2≦m<M)から同時に読み出されたデータを、第1のメモリにn列(2≦n<N)分格納する第1の並べ替え制御手段と、転送制御手段であって、第1のメモリに格納されたm行n列の画素分のデータを、o行p列(2≦o<m,2≦p≦n)の画素分のデータずつ第2のメモリに格納することを繰り返し、M行N列の画素分のデータを第2のメモリに格納し、第2のメモリから、撮像素子におけるo行N列の画素の並びとなるように、o行p列の画素分のデータずつ第3のメモリに格納することを繰り返し、第2のメモリに格納されたM行N列の画素分のデータを第3のメモリに転送する、転送制御手段と、第3のメモリに格納されたデータを1行ずつ出力することにより、データを撮像素子の1行N列の画素の並びで出力する第2の並べ替え制御手段と、を有することを特徴とする画像処理装置によって達成される。
本発明によれば、撮像素子から同時に読み出された複数行のデータを、少ない回路規模で高速に並べ替え可能な画像処理装置およびその制御方法を提供することができる。
第1実施形態におけるデータ並べ替え動作を説明するための図 実施形態に係る画像処理装置の一例としてデジタルカメラの機能構成例を示すブロック図 第1実施形態に係るデータの並べ替え動作を説明するための図 第1実施形態に係るデータの並べ替え動作を説明するための図 第1実施形態に係る読み出しアドレス生成方法を説明するための図 第1実施形態における撮影動作に関するフローチャート 第1実施形態の変形例に関する図 第1実施形態における読み出しアドレス生成動作に関するフローチャート 第1実施形態におけるデータ並べ替え動作に関するフローチャート 第2実施形態におけるデータ並べ替え動作を説明するための図 第2実施形態における撮影動作に関するフローチャート 第3実施形態におけるデータ並べ替え動作を説明するための図 第3実施形態における撮影動作に関するフローチャート
●(第1実施形態)
以下、添付図面を参照して本発明をその例示的な実施形態に基づいて詳細に説明する。なお、説明する実施形態は単なる例示であり、本発明の範囲を限定するものではない。例えば、以下では本発明をデジタルカメラに適用した実施形態を説明する。しかし、デジタルカメラは本発明を適用可能な画像処理装置の一例にすぎない。本発明は撮像素子から読み出されたデータを取り扱い可能な任意の電子機器において実施可能である。このような電子機器には、デジタルカメラやデジタルビデオカメラといった撮像装置はもちろん、パーソナルコンピュータ、タブレット端末、携帯電話機、ゲーム機、ドライブレコーダ、ロボット、ドローンなどが含まれるが、これらに限定されない。
図2は、本発明の第1実施形態に係る画像処理装置としてのデジタルカメラ200の機能構成例を示すブロック図である。
結像光学部201はフォーカスレンズを含む複数のレンズ、絞り、レンズや絞りの駆動回路などを有する。結像光学部201はデジタルカメラ200から取り外し可能であってもなくてもよい。
撮像素子202は例えばCMOSイメージセンサであり、光電変換部を備える画素が二次元配置された画素アレイと、制御信号を画素アレイに供給する水平走査回路、垂直走査回路などを有する。撮像素子202は、画素アレイから信号を複数行ずつ同時に(並列に)読み出すモードを有する。このモードでは、撮像素子202から水平1画素(列)×垂直複数画素(行)ずつデータが読み出される。
A/D変換回路203は、撮像素子202から読み出されたアナログ画像信号をデジタル画像データに変換する。なお、A/D変換回路203は撮像素子202に含まれていてもよい。A/D変換回路203は、撮像素子202から同時に出力される画素データと等しい数だけ設けられている。ここでは複数行同時(並列)に読み出されたデータが直列に出力されるものとし、A/D変換回路203は1つであるものとする。
並べ替え回路204は、同時に読み出された複数行の撮像素子データを、1行ずつ読み出した場合と同様の順序に並べ替える。転送制御回路205は、並べ替え回路204が並べ替えた画像データの、DRAM206へ書き込み/読み出しを制御する。転送制御回路205は、並べ替え回路204の1回のアクセスでDRAM206へ転送する画像データのバースト長が、制御部208から設定されたバースト長以下となるようにデータ転送を制御する。
信号処理回路207は画像データに対して様々な画像処理を適用する。信号処理回路207が適用する画像処理には、ノイズ低減処理、ホワイトバランス調整処理、色補間処理、AF評価値および/またはAE評価値の生成処理、被写体領域の検出および/または追尾処理、符号化処理、復号処理などがある。ただし、これらは例示であり、1つ以上が含まれなくてもよく、また他の処理が含まれてもよい。
制御部208は例えばCPUなどのプログラマブルプロセッサであり、ROM211に記憶されたプログラムをシステムメモリ212にロードして実行することにより、デジタルカメラ200の機能を実現する。
表示部209は例えばタッチディスプレイであり、撮影で得られた画像、デジタルカメラ200の情報、グラフィカルユーザインタフェース(GUI)などを表示する表示装置である。なお、本実施形態のデジタルカメラ200では、撮影スタンバイ時や動画撮影中に、撮影した動画を表示部209に継続的に表示することにより、表示部209を電子ビューファインダ(EVF)として機能させる。
記録部210は、例えばメモリカードである記録媒体へデータを書き込んだり、記録媒体に記録されているデータを読み出したりする。
ROM211は制御部208を構成するプロセッサが実行可能なプログラム、各種の設定値、デジタルカメラ200の固有情報、GUIデータなどを記憶する。ROM211は書き換え可能であってよい。
システムメモリ212はプログラムを実行するために用いられたり、表示部209用のビデオメモリとして用いられたり、バッファメモリなどとして用いられたりする。
操作部213は、ユーザがデジタルカメラ200に指示を入力するためのスイッチ、ボタン、キー、タッチパネルなどの入力デバイス群の総称である。操作部213を通じた入力はバス220を通じて制御部208が検知し、制御部208は検知した入力に応じた動作を実現するために必要な制御を実行する。
バス220は、上述した各ブロック201~205、207~213を相互に通信可能に接続する。
図1は、図2のうち、撮像素子から同時に読み出した複数行データを、1行ずつ読み出した場合と同じ順序に並べ替えるための構成を説明する図である。
ここでは、撮像素子202が有する画素アレイを構成する画素のうち、M行N列の画素からなる領域のm行(2≦m<M)から同時にデータを読み出すものとする。具体的には、水平4000画素(列)、垂直2000画素(行)からなる領域から、100行ずつ同時に読み出すものとする。
110は、撮像素子202から出力されるデータの並びを模式的に示している。110に示すように、100行同時に読み出す場合、垂直方向に100画素読み出すごとに水平方向に1画素ずつ読み出し位置が進んでいく。111は、並べ替え回路204へ入力されるデータの並びを模式的に示しており、110で示したのと同じ順序である。ここでは、同時に読み出された100行分の画素データが、上の行のデータから順に1つずつ直列に出力されるものとする。
並べ替え回路204は、第1並べ替え制御回路100および第2並べ替え制御回路102を有する。また、第1並べ替え制御回路100は第1SRAM101を有する。また、第2並べ替え制御回路102は第2SRAM103(第3のメモリ)を有する。第1SRAM101(第1のメモリ)は、m行n列(2≦n<N)の画素分のデータを格納する容量を有する。つまり、第1SRAM101は、撮像素子202のM行N列の画素からなる領域のm行(2≦m<M)から同時に読み出されたデータを、n列(2≦n<N)分格納する。ここでは、第1SRAM101が100行250列の画素分のデータを格納する容量を有するものとする。また、第2SRAM103は、o行M列(2≦o<m)の画素分のデータを格納する容量を有する。
第1並べ替え制御回路100は、第1SRAM101に格納されたm行n列の画素分のデータを、o行p列(2≦o<m,2≦p≦n)の画素分のデータずつ、転送制御回路205に出力する。また、第2並べ替え制御回路102は、第2SRAM10に格納されたo行M列の画素分のデータを1行ずつ出力する。
DRAM206(第2のメモリ)は動作モードの1つとしてバーストモードを有する。バーストモードは、1回の命令で、連続する複数のアドレスに対するアクセス(データの書き込みまたは読み出し)を実行するモードである。そして、バーストモードにおいて1回の命令で書き込みもしくは読み出しするデータ量がバースト長であり、DRAM206には複数のバースト長が設定可能である。
本実施形態において転送制御回路205は、1回のアクセスでDRAM206へ転送するデータ量が制御部208から設定されたバースト長以下となるようにデータ転送を制御する。本実施形態では、制御部208からバースト長として1000画素分のデータ量(A/D変換回路の分解能(ビット数)に応じて決まる)が設定されているものとする。
転送制御回路205は、バースト長が1000画素分のデータ量以下となるようにDRAM206にアクセス(データの書き込みおよび読み出し)する。一方で、バースト長が短いとDRAMアクセス効率が低下するため、1000画素分のデータ量に近いバースト長でDRAMアクセスすることが望ましい。そのため、第1並べ替え制御回路100は、o行p列のoおよびpの積がバースト長以下になる様に決定する。ここでは、バースト長が1000画素であるため、第1並べ替え制御回路100は、例えばoを4、pをnに等しい250に決定する。従って、本実施形態において第1並べ替え制御回路100は、第1SRAM101に格納された100行250列の画素分のデータを、4行250列の画素分のデータずつ、転送制御回路205に出力する。
112は、第1並べ替え制御回路100の動作を模式的に示しており、第1SRAM101に格納された100行250列の画素分のデータを、4行250列の画素分のデータを単位として、出力データ1から順に出力する。
出力データ25を出力すると、第1並べ替え制御回路100は、次に入力される250列(251画素目~500画素目)×100行の画素分のデータを250列×4行の画素分のデータ単位で出力する。以降同様にして、4000列×100行分のデータを並べ替えて出力したら、次に入力される4000列×100行(101行目~200行目)のデータについて同様に処理する。このようにして、4000列×2000行のデータを並べ替える。
第1並べ替え制御回路100が、バースト長に等しい1000画素単位でデータを出力するため、転送制御回路205は効率よくDRAM206にデータを書き込みできる。113は、転送制御回路205の出力データの並びを模式的に示し、112で示した第1並べ替え制御回路100の出力データの並びと同じである。
転送制御回路205は、出力データ1から順に、バースト長に等しい1000画素分のデータを単位としてDRAM206へ書き込むため、DRAM206に効率よくデータを書き込むことができる。114は、DRAM206の連続したアドレスに書き込まれるデータの並びを撮像素子202の画素の並びを用いて示しており、113に示した転送制御回路205の出力データの並びと同じである。
115は、転送制御回路205が、DRAM206から読み出すデータの並びを模式的に示す。転送制御回路205は、入力データ1から順に、撮像素子202における画素の並びでo行p列(4行×250列)の画素分ずつDRAM206からデータを読み出す。ここで、転送制御回路205は、撮像素子202におけるo行N列(4行×4000列)の画素の並びとなるように、o行p列の画素分ずつデータを読み出す。データの書き込み時と同様、バースト長に等しい1000画素分ずつデータを読み出すことにより、DRAM206から効率よくデータを読み出すことができる。
転送制御回路205は、順次DRAM206からデータを読み出し、4000画素×100行分のデータを読み出したら、次の4000画素×100行分(101行目~200行目)のデータを読み出す。転送制御回路205は、同様にして4000画素×2000行分のデータを読み出す。
116は、転送制御回路205から第2並べ替え制御回路102の第2SRAM103に入力されるデータの並びを示す。第2並べ替え制御回路102に入力されるデータの並びは、転送制御回路205がDRAM206から読み出すデータの並びと同じである。
117は、第2並べ替え制御回路102の出力データの並びを示す。第2並べ替え制御回路102は、4000画素×4行分の記憶容量を有する第2SRAM103を用いて、4000画素×4行の単位で入力されたデータを、4000画素×1行の単位に並べ替える。つまり、第2並べ替え制御回路102は、第2SRAM103からデータを1行ずつ出力することで、データを撮像素子202の1行N列の画素の並びで出力する。
118は、並べ替え回路204の出力データの並びを示し、第2並べ替え制御回路102の出力データの並びと同じである。図1に示す様に、第1SRAM101、DRAM206、第2SRAM103を用い、撮像素子202の複数行から同時に読み出されたデータを、1行ずつ読み出した場合と同じ順序に並べ替えることができる。
SRAMのみを用いて同様の並べ替えを実現するには、4000画素×100行=400,000画素分のデータを記憶可能な容量のSRAMが必要となる。一方、本実施形態の構成の場合、第1SRAM101の容量は250画素×100行=25,000画素分、第2SRAM103の容量は4000画素×4行=16,000画素分でよいため、全体で41,000画素分の記憶容量ですむ。
また、DRAMのみを用いて同様の並べ替えを実現する場合、DRAMの書き込みおよび読み出しアドレスが連続しないため、バースト長に対して1回のアクセスで読み書きするデータ量が極端に少なく、データの書き込みおよび読み出し効率が大幅に低下する。これに対し、本実施形態の構成では、DRAMへのデータの書き込みおよび読み出しをDRAMのバースト長に等しいデータ量ずつ行うため、データの書き込みおよび読み出し効率がよい。
図3を用いて、第1並べ替え制御回路100によるデータ並べ替え動作を説明する。301は撮像素子202における画素(データ)の並びを示しており、水平4000画素(列)×垂直2000画素(行)が行列状に配置されている。302は、撮像素子202から読み出されるデータの並びを示し、ここでは100行同時に読み出されるものとする。したがって、撮像素子からA/D変換回路203には、100画素分のデータが並列に入力される。
303は、第1SRAM101へ入力されるデータの並びを示し、撮像素子202から読み出されるデータの並びと同じである。第1SRAM101は、水平250画素(列)×垂直100画素(行)分のデータを格納する容量を有する。第1並べ替え制御回路100は、第1SRAM101に格納された100行×250列の画素分のデータを、4行ずつ、垂直方向の並び順に水平250画素分(すなわち、4行×250列の画素ブロックを単位として)出力する。これにより、DRAM206には、撮像素子202から読み出された並びと異なる並びでデータが書き込まれる。このように、第1並べ替え制御回路100は、第1SRAM101を用いてデータを並べ替える。
304は、第1SRAM101の出力データの並びを示している。第1並べ替え制御回路100は、第1SRAM101から、4行×250列の画素を単位として、順次データを出力する。図において矢印で示すように、まず第1~4行目(H1-V1~H250-V4)のデータを、H1-V1、H1-V2、H1-V3、H1-V4、H2-V1、...のように、垂直方向に4画素出力し、水平方向に1画素移動するという順序で出力する。次に、第1並べ替え制御回路100は、第5~8行目について同様にデータを出力する。その後、第97~100行のデータを出力すると、第1並べ替え制御回路100は水平方向の次の250画素(第251~500画素)について、4行ずつ同様にしてデータを出力する。そして、第3751~4000画素の第97~100行のデータを出力すると、第1並べ替え制御回路100は、第101~104行目の第1~250画素のデータを出力する。このような順序で、第1並べ替え制御回路100は撮像素子202から読み出された水平4000画素(列)×垂直2000画素(行)分のデータを出力する。
次に、図4を用いて、転送制御回路205および第2並べ替え制御回路102によるデータ並べ替え動作を説明する。401は、転送制御回路205がDRAM206に書き込んだデータの並びを示している。上述した様に、転送制御回路205は、第1並べ替え制御回路100の出力データを同じ並びでDRAM206に書き込む。したがって、401に示したデータの並びは、図3の304に示したデータの並びと等しい。
402は、転送制御回路205がDRAM206から読み出すデータの並びを示している。転送制御回路205は、DRAM206から、4行×250列の画素分を単位としてデータを読み出す。ただし、書き込み時とは異なり、水平方向に4000画素分を読み出してから、次の4行のデータを読み出す。
すなわち、転送制御回路205は、まず(H1-V1~H250-V4)のデータをDRAM206から読み出す。ここで、DRAM206の次に連続したアドレス領域に書き込まれているのは(H1-V5~H250-V8)のデータである。しかし、転送制御回路205が次に読み出すのは同じ行(V1~V4)の第251~500画素(H251-V1~H500-V4)のデータである。そのため、転送制御回路205は、読み出しアドレスをジャンプさせてデータを読み出す。
本実施形態では、転送制御回路205がDRAM206からデータを読み出す際のアドレスを制御するために、制御部208が予め転送制御回路205に、オフセットデータ転送量1~3と、オフセット1~3とをそれぞれ設定する。そして、転送制御回路205は、オフセットデータ転送量x(x=1,2,3)として設定された量のデータを読み出すと、オフセットxだけ読み出しアドレスをジャンプさせて読み出しを実行する。
本実施形態では
・オフセットデータ転送量1:4行×250列の画素分のデータ量
・オフセットデータ転送量2:4行×4000列の画素分のデータ量
・オフセットデータ転送量3:100行×4000列の画素分のデータ量
がそれぞれ設定される。対応するオフセット1~3は、図4の402に矢印で示す順序で4行×250列の画素分のデータ量を読み出すためのアドレスジャンプ量に相当する。
したがって、転送制御回路205は、オフセットデータ転送量1に相当する4行×250列の画素分のデータ量を読み出すと、次に読み出すDRAMアドレスをオフセット1だけジャンプさせる。以降同様に、4行×250列の画素分のデータを読み出すごとに、読み出しアドレスをオフセット1だけジャンプさせて、4行×250列の画素分のデータを読み出す。
このようにして、オフセットデータ転送量2に相当する水平4000×垂直4画素分のデータを読み出すと、転送制御回路205は、次に読み出すDRAMアドレスをオフセット2だけジャンプさせる。そして、転送制御回路205は、次の4行分のデータについて、オフセットデータ転送量1とオフセット1を用いた読み出しを行う。以降同様に、水平4000×垂直4画素分のデータを読み出すごとに、読み出しアドレスをオフセット2だけジャンプさせ、オフセットデータ転送量1とオフセット1を用いた読み出しを行う。
オフセットデータ転送量1、2およびオフセット1、2を用いた読み出しを繰り返し、オフセットデータ転送量3に相当する4000画素×100行分のデータ量を読み出すと、転送制御回路205は、次に読み出すDRAMアドレスをオフセット3だけジャンプさせる。そして、転送制御回路205は、次の100行分のデータについて、オフセットデータ転送量1、2とオフセット1、2を用いた読み出しを行う。以降同様に、水平4000×垂直100画素分のデータを読み出すごとに、読み出しアドレスをオフセット3だけジャンプさせ、オフセットデータ転送量1、2とオフセット1、2を用いた読み出しを行う。
このように、転送制御回路205は、オフセットデータ転送量1~3とオフセット1~3とを用いたデータ読み出しを繰り返し、水平4000×垂直2000画素分のデータを読み出す。
なお、転送制御回路205が読み出したデータは、第2SRAM103に順次書き込まれる。上述の通り、第2SRAM103は4行×4000列の画素分のデータを格納する容量を有している。転送制御回路205は、オフセットデータ転送量1とオフセット1とを用いた読み出しにより、4行×4000列の並びで第2SRAM103にデータを書き込む。
従って、404に示す様に、第2SRAM103から1行(水平4000画素×垂直1画素)分ずつデータを出力することにより、撮像素子202から1行ずつ読み出した場合と同じ並びでデータを出力することができる。
次に、上述したオフセットデータ転送量1~3とオフセット1~3とを用いた読み出しを実現する、転送制御回路205のアドレス生成動作について説明する。図5は、転送制御回路205が有するアドレス生成部の機能構成例を示すブロック図である。
アドレス生成部は、転送量カウンタ501、オフセット値算出器502、アドレスカウンタ503を有する。これらはいずれも制御部208から設定可能なパラメータを保持している。具体的には、転送量カウンタ501に設定可能なパラメータは、総データ転送量、バースト長、オフセットデータ転送量1~3である。また、オフセット値算出器502に設定可能なパラメータは、オフセット1~3である。また、アドレスカウンタ503に設定可能なパラメータは、スタートアドレスである。これらのパラメータは、撮像素子202からデータの読み出しを開始する前に制御部208から設定される。
転送制御回路205は、DRAM206からのデータ読み出しを制御部208から指示されると、上述した読み出し動作を開始する。転送量カウンタ501はDRAM206から読み出されたデータ量をカウントする。例えば転送量カウンタ501には1回の読み出しごとにクロックCLKが供給され、転送量カウンタ501は、クロックの数×バースト長を、DRAM206から読み出されたデータ量(データ転送量)としてカウントする。
DRAM206からは、1回の読み出し動作でバースト長に等しい量のデータが読み出されるため、DRAM206に与えるアドレスもバースト長に応じた単位で増加する。ここでは、制御部208から設定されたバースト長がアドレスの増加単位に等しいものとする。したがって、転送量カウンタは、バースト長をデータ転送量としてオフセット値算出器502に出力する。
転送量カウンタ501は、カウントしているデータ転送量がオフセットデータ転送量1に到達したら、オフセットタイミング1をオフセット値算出器502に報知する。同様に、転送量カウンタ501は、カウントしているデータ転送量がオフセットデータ転送量2、およびオフセットデータ転送量3に到達したら、オフセットタイミング2、およびオフセットタイミング3をオフセット値算出器502に報知する。また、転送量カウンタ501は、カウントしているデータ転送量が総データ転送量に到達したら、データ転送完了を制御部208に通知する。
オフセット値算出器502は、転送量カウンタ501からオフセットタイミング1~3の報知を伴わずにデータ転送量を受信した場合、アドレスカウンタ503にアドレス加算値として、転送量カウンタ501から受信したデータ転送量を出力する。
一方、オフセット値算出器502は、転送量カウンタ501からオフセットタイミング1~3のいずれか報知を伴ってデータ転送量を受信した場合、報知されたタイミングに対応するオフセットをデータ転送量に加算した値をアドレス加算値として出力する。
アドレスカウンタ503は、設定されているスタートアドレスに、オフセット値算出器502から入力されるアドレス加算値を累積加算して、読み出しアドレスとして出力する。
図8は、このような読み出しアドレスの生成方法をフローチャートで示したものである。S1201で転送制御回路205は読み出しデータ量がオフセットデータ転送量1の倍数に達したか否かを判定し、達したと判定されればS203に処理を進め、判定されなければS1201を繰り返し実行する。
S1203で転送制御回路205は読み出しデータ量がオフセットデータ転送量2の倍数に達したか否かを判定し、達したと判定されればS1207に、判定されなければS1205に処理を進める。
S1205で転送制御回路205は、読み出しアドレスをオフセット1だけジャンプ(増加)させて、処理をS1201に戻す。
S1207で転送制御回路205は読み出しデータ量がオフセットデータ転送量3の倍数に達したか否かを判定し、達したと判定されればS1211に、判定されなければS1209に処理を進める。
S1209で転送制御回路205は、読み出しアドレスをオフセット2だけジャンプ(増加)させて、処理をS1201に戻す。
S1211で転送制御回路205は読み出しデータ量が総データ転送量に達したか否かを判定し、達したと判定されれば処理を終了し、判定されなければS1213に処理を進める。
S1213で転送制御回路205は、読み出しアドレスをオフセット3だけジャンプ(増加)させて、処理をS1201に戻す。
図6は、本実施形態におけるデジタルカメラ200の撮影時の動作に関するフローチャートである。
S601で制御部208は、例えば操作部213を通じてユーザーから撮影開始指示を受信したか否かを判定する。撮影開始指示は例えばシャッターボタンの全押し操作であってよい。撮影開始指示を受信したと判定された場合、制御部208は処理をS602に進め、撮影開始指示を受信したと判定されない場合、制御部208はS601の処理を繰り返し実行する。なお、撮影開始指示の受信を待機している状態で、制御部208は、例えば表示部209をEVFとして機能させるための制御を実行する。
S602で制御部208は、転送制御回路205に、DRAMスタートアドレス、総データ転送量、バースト長、オフセットデータ転送量1~3、オフセット1~3を設定する。これらの値は、例えば予めROM211に記憶しておくことができる。
S603で制御部208は、撮像素子202、並べ替え回路204、転送制御回路205、信号処理回路207に撮影処理の開始を指示する。これにより、撮像素子202の露光動作が実行され、撮像素子202から複数行同時にデータが読み出される。そして、並べ替え回路204および転送制御回路205によって上述した並べ替え処理が実行され、撮像素子202から1行ずつ読み出した場合と同じ並びでデータが信号処理回路207に出力される。信号処理回路207は、画像データに対して予め定められた画像処理を適用し、記録用の画像データファイルと、表示用の画像データを生成する。制御部208は、画像データファイルを記録部210を通じて記録するとともに、表示用の画像データを表示部209に表示させる。
S604で制御部208は、撮影処理が完了したか否かを判定し、完了したと判定されれば処理をS605に進め、判定されなければ撮影処理の完了を待機する。
S605で制御部208は、撮像素子202、並べ替え回路204、転送制御回路205、信号処理回路207に撮像処理の終了を指示し、処理を終了する。
図9は、S603において並べ替え回路204、転送制御回路205、およびDRAM206によって実現される並べ替え処理をフローチャートで示したものである。
S1301で並べ替え回路204は、撮像素子202から複数行同時に読み出され、A/D変換回路203が出力するデータの取得を開始する。
S1303で並べ替え回路204の第1並べ替え制御回路100は、取得したデータを第1SRAM101に、図3の303に示した並びで記録する。そして、転送制御回路205は、第1SRAM101から図3の304で示した並びで、第1の単位(ここでは4行×250列の画素分)ずつDRAM206に書き込む。これにより、第1の単位での並べ替えが行われる。
S1305で転送制御回路205は、図5および図8を用いて説明したアドレス制御を行い、DRAM206から、第1の単位ごとに、不連続なアドレスからデータを読み出す。これにより図4の402に示した並びでデータが読み出され、データが並び替えられる。転送制御回路205は、読み出したデータを並べ替え回路204の第2並べ替え制御回路102が有する第2SRAM103に順次書き込む。これにより、第2SRAM103には、図4の404に示す並びでデータが書き込まれる。
S1307で第2並べ替え制御回路102は、第2SRAM103の先頭アドレスから順次データを読み出して出力する。これにより、撮像素子202から1行ずつ読み出した場合のデータの並びと等しい並びのデータが、並べ替え回路204から出力される。
S1309で並べ替え回路204は、撮像素子202から読み出された全てのデータについて出力を完了したかどうか判定し、出力が完了したと判定されれば処理を終了し、判定されなければS1301からS1307の処理を繰り返し実行する。
(変形例)
なお、ここでは、撮像素子202の水平4000画素(列)×垂直2000画素(行)の範囲から、垂直100画素(行)を同時に読み出し、DRAM206への書き込みおよび読み出しを250列×4行の画素ブロック単位で行う例を説明した。しかし、読み出し範囲、同時に読み出す行数、DRAM206の書き込みおよび読み出し単位は他の値であってもよい。
また、第1SRAM101と第2SRAM103は、同一メモリの異なるメモリ空間であってもよい。また、ユーザーから設定された静止画・動画・ライブビュー等の撮影モードによって、制御部208が、撮像素子202からの読み出し範囲、同時に読み出す行数、第1SRAM101と第2SRAM103として割り当てるメモリ空間のサイズを変更してもよい。このとき、第1SRAM101と第2SRAM103の必要メモリサイズが最小になるように、制御部208が第1SRAM101で並べ替える行数の単位を変更してもよい。撮像素子202から読み出す範囲の水平画素数および同時に読み出す行数に応じて、必要メモリサイズが最小になるように第1SRAM101と第2SRAM103のサイズ割り当てを変更する例を図7に示す。
図7(a)は、先に説明した、水平4000画素(列)の範囲を100行同時に読み出す場合の必要メモリサイズを説明する図である。1行ずつ読み出した場合と同じ並びへの並べ替えを仮にSRAMのみを用いて実行する場合、必要なSRAMのサイズ(記憶容量)は、4000画素×100行=400000画素分に相当する。一方、第1SRAM101で4行単位で並べ替える場合に必要となるSRAMのサイズは、第1SRAM101が250画素×100行=25000画素分、第2SRAM103が4000画素×4行=16000画素分の計41000画素分である。上述の通り、第1SRAM101での並べ替えは、DRAM206のバースト長に等しいデータ量とするために、水平250画素を単位としている。
ここで、第1SRAM101で8行単位で並べ替えを行うようにした場合、必要なSRAMのサイズは、第1SRAM101が125画素×100行=12500画素分、第2SRAM103が4000画素×8行=32000画素分の計44500画素分である。ここでも、第1SRAM101での並べ替えは、DRAM206のバースト長に等しいデータ量とするため、水平125画素を単位としている。
また、第1SRAM101で2行単位で並べ替えを行うようにした場合、必要なSRAMのサイズは、第1SRAM101が500画素×100行=50000画素分、第2SRAM103が4000画素×2行=8000画素分の計58000画素分である。ここでも、第1SRAM101での並べ替えは、DRAM206のバースト長に等しいデータ量とするため、水平500画素を単位としている。
このように、第1SRAM101において、水平4000画素の範囲を100行同時に読み出す場合、8行または2行単位で並べ替えるよりも、4行単位で並べ替える方が、必要なSRAMの総サイズを小さくできる。よって、撮像素子202から水平サイズが4000画素の範囲を100行同時に読み出す撮影モードが設定された場合、制御部208は、第1SRAM101で4行単位で並べ替えるように第1SRAM101と第2SRAM103のサイズを割り当てればよい。
図7(b)は、水平16000画素の範囲を100行同時に読み出す場合の必要メモリサイズを説明する図である。1行ずつ読み出した場合と同じ並びへの並べ替えを仮にSRAMのみを用いて実行する場合、必要なSRAMのサイズ(記憶容量)は、16000画素×100行=1600000画素分に相当する。一方、第1SRAM101で4行単位で並べ替える場合に必要となるSRAMのサイズは、第1SRAM101が250画素×100行=25000画素分、第2SRAM103が16000画素×4行=64000画素分の計89000画素分である。第1SRAM101での並べ替えは、DRAM206のバースト長に等しいデータ量とするために、水平250画素を単位としている。
第1SRAM101で8行単位で並べ替えを行うようにした場合、必要なSRAMのサイズは、第1SRAM101が125画素×100行=12500画素分、第2SRAM103が16000画素×8行=128000画素分の計140500画素分である。第1SRAM101での並べ替えは、DRAM206のバースト長に等しいデータ量とするため、水平125画素を単位としている。
また、第1SRAM101で2行単位で並べ替えを行うようにした場合、必要なSRAMのサイズは、第1SRAM101が500画素×100行=50000画素分、第2SRAM103が16000画素×2行=32000画素分の計82000画素分である。ここでも、第1SRAM101での並べ替えは、DRAM206のバースト長に等しいデータ量とするため、水平500画素を単位としている。
このように、水平16000画素の範囲を100行同時に読み出す場合、第1SRAM101において、4行または8行単位で並べ替えるよりも、2行単位で並べ替える方が、必要なSRAMの総サイズを小さくできる。よって、撮像素子202から水平サイズが16000画素の範囲を100行同時に読み出す撮影モードが設定された場合、制御部208は、第1SRAM101で2行単位で並べ替えるように第1SRAM101と第2SRAM103のサイズを割り当てればよい。
図7(c)は、水平4000画素の範囲を200行同時に読み出す場合の必要メモリサイズを説明する図である。1行ずつ読み出した場合と同じ並びへの並べ替えを仮にSRAMのみを用いて実行する場合、必要なSRAMのサイズ(記憶容量)は、4000画素×200行=800000画素分に相当する。一方、第1SRAM101で4行単位で並べ替える場合に必要となるSRAMのサイズは、第1SRAM101が250画素×200行=50000画素分、第2SRAM103が4000画素×4行=16000画素分の計66000画素分である。第1SRAM101での並べ替えは、DRAM206のバースト長に等しいデータ量とするために、水平250画素を単位としている。
第1SRAM101で8行単位で並べ替えを行うようにした場合、必要なSRAMのサイズは、第1SRAM101が125画素×200行=25000画素分、第2SRAM103が4000画素×8行=32000画素分の計57000画素分である。第1SRAM101での並べ替えは、DRAM206のバースト長に等しいデータ量とするため、水平125画素を単位としている。
また、第1SRAM101で2行単位で並べ替えを行うようにした場合、必要なSRAMのサイズは、第1SRAM101が500画素×200行=100000画素分、第2SRAM103が4000画素×2行=8000画素分の計108000画素分である。ここでも、第1SRAM101での並べ替えは、DRAM206のバースト長に等しいデータ量とするため、水平500画素を単位としている。
このように、水平4000画素の範囲を200行同時に読み出す場合、第1SRAM101において、2行または4行単位で並べ替えるよりも、8行単位で並べ替える方が、必要なSRAMの総サイズを小さくできる。よって、撮像素子202から水平サイズが4000画素の範囲を200行同時に読み出す撮影モードが設定された場合、制御部208は、第1SRAM101で8行単位で並べ替えるように第1SRAM101と第2SRAM103のサイズを割り当てればよい。
なお、本実施形態では、DRAM206のバースト長を1000画素分のデータ量とした。しかし、これは単なる1例であり、DRAM206アクセス効率が極端に低下するようなバースト長でなければ、他のバースト長でもよい。
また、本実施形態では、第1SRAM101および第2SRAM103を並べ替え回路204が有する構成としたが、撮像素子202や転送制御回路205など、他の機能ブロックが有する構成でもよい。
また、本実施形態の転送制御回路205は、1つの書き込みポート、1つの読み出しポートについて、1つのアドレス制御部でアドレスジャンプ制御しながらDRAMアクセスする構成であった。しかし、複数のポートがそれぞれアドレス制御部を持ち、個別にアドレス制御しながらDRAMアクセスしてもよい。例えば、同時に読み出した100行データを4行単位で並べ替えた場合に、それぞれ25(=100行/4行)の異なるアドレス制御部、書き込みポート、読み出しポートを用いて個別にDRAM206にアクセスしてもよい。また、アドレス制御部の数と、書き込みポートおよび読み出しポートの数とは同じでなくてもよい。
また、本実施形態では、制御部208が設定するバースト長を、第1SRAM101および第2SRAM103と転送制御回路205との間のデータバス幅で規定される値で設定したが、他のバス幅で規定される値で設定してもよい。例えば、転送制御回路205とDRAM206との間のデータバス幅で規定される値でバースト長を設定してもよい。
また、本実施形態では、制御部208が設定するバースト長を、転送制御回路205がDRAM206の1回のアクセスで転送するデータのバースト長と等しい値としたが、他の値でもよい。例えば、制御部208が設定するバースト長を、DRAM206へアクセス可能な最大バースト長と等しい値としてもよい。
本実施形態によれば、SRAMとDRAMとを組み合わせて用いることにより、回路規模の増大および読み出しレートの低下を抑制しつつ、撮像素子の複数行から同時に読み出されたデータを、1行ずつ読み出した場合と同じ並びに並べ替えることができる。
●(第2実施形態)
次に、本発明の第2実施形態を説明する。本実施形態では、第1実施形態で説明した構成において、撮像素子202から同時に読み出される行数が、第1SRAMで並べ替える第1の単位で行数で割り切れない場合(すなわち、mがoの倍数でない場合)の動作に関する。
ここでは一例として、撮像素子202から98行ずつ同時に読み出され、第1SRAMでは第1実施形態と同様に4行単位で並べ替える場合(m=98、o=4の場合)を説明する。
図10は、撮像素子202から同時に読み出された98行のデータを、1行ずつ読み出した場合と同じ順序に並べ替えるための本実施形態に係る構成を模式的に示す図である。転送制御回路205およびDRAM206の構成は第1実施形態と同じであるため、説明を省略する。
並べ替え回路804は、第1並べ替え制御回路800を有しており、撮像素子202から98行同時に読み出されてA/D変換されたデータを4行単位に並べ替えて転送制御回路205へ出力する。ここで、98は4で割り切れないため、本実施形態では、第1並び替え制御回路800が有するダミー画素挿入部804が、第1SRAM801に書き込まれる行数を4の倍数となるようにダミー画素からなる行(ダミー行)を挿入する。
挿入するダミー行の数は、m mod o(mをoで割った際の余り)で求めるこができる。したがって、ここで説明する例では、ダミー画素挿入部804は、入力データにダミー行を2行挿入する。これにより、第1並び替え制御回路800は、100行(=98行+2行)のデータを第1SRAM801に書き込む。
転送制御回路205は、第1実施形態と同様に、水平250画素(列)×垂直4画素(行)を単位として第1SRAM801からDRAM206にデータを書き込む。810はDRAM206に書き込まれるデータの並びを示している。また、転送制御回路205は、第1の実施形態と同様のアドレス制御によってDRAM206からデータを読み出すことによってデータを並べ替える。811は、DRAM206から読み出されるデータの並びを示している。転送制御回路205は、DRAM206から読み出したデータを、第2並べ替え制御回路802が有する第2SRAM803に書き込む。
第2SRAM803に書き込まれるデータには、ダミー行が含まれている。そのため、第2並べ替え制御回路802のダミー画素削除部805は、第2SRAM803から読み出されるデータが、ダミー行に該当する場合にはそれを出力しないことにより削除する。これにより、812に示す様に、並べ替え回路804から出力されるデータにはダミーデータは含まれず、かつ撮像素子202から1行ずつ読み出した場合と同じ並びとなる。
挿入するダミー行の数および挿入位置(例えば先頭に挿入するか、末尾に挿入するか)は、制御部208がダミー画素挿入部804およびダミー画素削除部805に設定するものとする。ダミー画素挿入部804は、設定された位置に設定された行数のダミー画素を挿入(追加)する。一方、ダミー画素削除部805は、第2SRAM803に記憶された(あるいは読み出された)データから、ダミー画素を削除する。
図11は、本実施形態におけるデジタルカメラ200の撮影時の動作に関するフローチャートである。第1実施形態と同様の処理は図6と同じ参照数字を付してある。
S903以外は第1実施形態と同様である。S903で制御部208が、並べ替え回路804にダミー行挿入位置、ダミー行数を設定すること、S603において、上述した並び替え回路804のダミー画素挿入部804およびダミー画素削除部805がダミーがその挿入および削除を実施する。
具体的には、図9のS1303で並べ替え回路804の第1並べ替え制御回路800は、取得したデータにダミー画素挿入部804でダミー画素を挿入してから、第1SRAM801に、図10の810に示した並びでデータを記録する。
また、S1307で第2並べ替え制御回路102は、第2SRAM803の先頭アドレスから順次データを読み出す。そして、ダミー画素削除部805でダミー画素を削除して出力する。これにより、撮像素子202から1行ずつ読み出した場合のデータの並びと等しい並びのデータが、並べ替え回路804から出力される。
以上説明したように、本実施形態によれば、撮像素子から同時に読み出される行数が、第1SRAMを用いて並べ替える第1の単位の行数の倍数でない場合であっても、第1実施形態と同様の効果を実現できる。
なお、本実施形態では、第1SRAMの並べ替え単位の行数が4であり、撮像素子から98行同時に読み出される際に、ダミー行を2行追加する例を説明した。しかし、並べ替え単位の行数、同時読み出し行数、ダミー行の数は他の値であってもよい。
また、本実施形態では、第1SRAM801および第2SRAM803を並べ替え回路804が有する構成としたが、撮像素子202や転送制御回路205など、他の機能ブロックが有する構成でもよい。
●(第3実施形態)
次に、本発明の第3の実施形態を説明する。本実施形態でも第2実施形態と同様、第1実施形態で説明した構成において、撮像素子202から同時に読み出される行数が、第1SRAMで並べ替える第1の単位で行数で割り切れない場合の動作に関する。本実施形態ではダミー画素を用いない点で第2実施形態と異なる。
第2実施形態との相違が明確になる様、ここでも一例として、撮像素子202から98行ずつ同時に読み出され、第1SRAMでは第1実施形態と同様に4行単位で並べ替える場合を説明する。
図12は、撮像素子202から同時に読み出された98行のデータを、1行ずつ読み出した場合と同じ順序に並べ替えるための本実施形態に係る構成を模式的に示す図である。転送制御回路205およびDRAM206の構成は第1実施形態と同じであるため、説明を省略する。並べ替え回路1004についても、構成は第1実施形態と同様であり、動作が異なる。
本実施形態における第1並べ替え制御回路1000は、同時に読み出される98行の中で、並べ替える行数の単位を途中で切り替える。第1並べ替え制御回路1000は、1~96行までは4行単位で並べ替えを行い、残りの97~98行は2行単位で並べ替えを行う。並べ替えを途中で切り替えたデータは、1010に示す並びで転送制御回路205によってDRAM206に書き込まれる。
転送制御回路205は、DRAM206から1011に示す並びでデータを読み出し、第2並べ替え制御回路1002の第2SRAM1003に書き込む。転送制御回路205は、2行単位で並べ替えられてDRAM206に書き込まれたデータについては、2行単位で読み出して第2SRAM1003に書き込む。
並べ替え単位を切り換える位置(例えば行番号)および変更後の並べ替え単位(行数)は、制御部208が第1並び替え制御回路1000および転送制御回路205に設定するものとする。第1並び替え制御回路1000は、設定された位置から、第1SRAM1001から読み出す行数の単位を、設定された行数に変更する。一方、転送制御回路205は、DRAM206からデータを読み出す際、並べ替えの単位が変更されたデータについては変更後の行数を単位として読み出して第2SRAM1003に書き込む。
図13は、本実施形態におけるデジタルカメラ200の撮影時の動作に関するフローチャートである。第1実施形態と同様の処理は図6と同じ参照数字を付してある。
S1103以外は第1実施形態と同様である。S1103で制御部208が、第1並び替え制御回路1000と転送制御回路205に、並べ替え単位を切り換える位置(例えば行番号)および変更後の並べ替え単位(行数)を設定する。また、転送制御回路205に、変更後の並べ替え単位に応じたオフセットデータ転送量1’とオフセット1’を第1並び替え制御回路1000に設定する。また、S603において、第1並び替え制御回路1000および転送制御回路205が、上述した並び替え単位の変更を実施する。
具体的には、図9のS1303で並べ替え回路1004の第1並べ替え制御回路1000は、取得したデータのうち、並べ替え単位を切り換える位置(ここでは97行目)以降のデータについては、並べ替え単位の行数を2行とする。1行目~96行目までは並べ替え単位の行数は4行である。そして、転送制御回路205は、DRAM206に図12の1010に示した並びでデータを記録する。
また、S1307で転送制御回路205は、DRAM206からデータを読み出す際、並べ替えの単位に応じてデータを読み出す。したがって、転送制御回路205は、並べ替え単位が変更された行のデータを読み出す場合には、オフセットデータ転送量1とオフセット1の代わりにオフセットデータ転送量1’とオフセット1’を用いてアドレス制御を行う。
第2並べ替え制御回路102は、第2SRAM1003の先頭アドレスから順次データを読み出す。これにより、撮像素子202から1行ずつ読み出した場合のデータの並びと等しい並びのデータが、並べ替え回路1004から出力される。
本実施形態においても、第2実施形態と同様の効果が得られる。なお、本実施形態では、第1SRAMの並べ替え単位の行数が4であり、撮像素子から98行同時に読み出される際に、並べ替え単位の行数を4行から2行に変更する例を説明した。しかし、並べ替え単位の行数、同時読み出し行数、変更後の並び替え単位の行数は他の値であってもよい。
また、本実施形態では、第1SRAM1001および第2SRAM1003を並べ替え回路1004が有する構成としたが、撮像素子202や転送制御回路205など、他の機能ブロックが有する構成でもよい。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
204、804、1004…並べ替え回路、100、800、1000…第1並べ替え制御回路、101、801、1001…第1SRAM101、102、802、1002…第2並べ替え制御回路、103、803、1003…第2SRAM103、205…転送制御回路、206…DRAM

Claims (12)

  1. 撮像素子の、M行N列の画素からなる領域のm行(2≦m<M)から同時に読み出されたデータを、第1のメモリにn列(2≦n<N)分格納する第1の並べ替え制御手段と、
    転送制御手段であって、
    前記第1のメモリに格納されたm行n列の画素分のデータを、o行p列(2≦o<m,2≦p≦n)の画素分のデータずつ第2のメモリに格納することを繰り返し、前記M行N列の画素分のデータを前記第2のメモリに格納し、
    前記第2のメモリから、前記撮像素子におけるo行N列の画素の並びとなるように、前記o行p列の画素分のデータずつ第3のメモリに格納することを繰り返し、前記第2のメモリに格納された前記M行N列の画素分のデータを前記第3のメモリに転送する、
    転送制御手段と、
    前記第3のメモリに格納されたデータを1行ずつ出力することにより、データを前記撮像素子の1行N列の画素の並びで出力する第2の並べ替え制御手段と、
    を有することを特徴とする画像処理装置。
  2. 前記第2のメモリがバーストモードを有し、前記oおよび前記pの値が、前記第2のメモリに設定されたバースト長以下になるように定められることを特徴とする請求項1に記載の画像処理装置。
  3. 前記第2のメモリがバーストモードを有し、前記oおよび前記pの値が、前記第2のメモリに設定されたバースト長に等しくなるように定められることを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記mが前記oの倍数でない場合、
    前記第1の並べ替え制御手段は、m mod oに等しい行数のダミーデータを挿入して前記第1のメモリにn列の画素分のデータを格納し、
    前記第2の並べ替え制御手段は、前記第3のメモリに格納されたデータのうち、前記ダミーデータを出力しない、
    ことを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
  5. 前記mが前記oの倍数でない場合、前記転送制御手段は、前記oの値を途中で変更することを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
  6. 前記第1のメモリおよび前記第3のメモリは、割り当てられたサイズを有するメモリ空間であり、
    前記撮像素子を有する撮像装置に設定されている撮影モードに応じて、前記M、前記N、前記m、前記第1のメモリおよび前記第3のメモリに割り当てるサイズの1つ以上を変更する制御手段をさらに有することを特徴とする請求項1から5のいずれか1項に記載の画像処理装置。
  7. 前記第1のメモリおよび前記第3のメモリは、割り当てられたサイズを有するメモリ空間であり、
    前記oの値に応じて、前記第1のメモリおよび前記第3のメモリに割り当てるサイズを変更する制御手段をさらに有することを特徴とする請求項1から5のいずれか1項に記載の画像処理装置。
  8. 前記制御手段は、前記第1のメモリおよび前記第3のメモリに割り当てるサイズが最小となるように、前記oの値を決定することを特徴とする請求項6または7に記載の画像処理装置。
  9. 前記第1のメモリおよび前記第3のメモリがSRAMにより構成され、前記第2のメモリがDRAMにより構成されることを特徴とする請求項1から8のいずれか1項に記載の画像処理装置。
  10. 撮像素子と、
    前記撮像素子から読み出されたデータを処理する請求項1から9のいずれか1項に記載の画像処理装置と、
    前記画像処理装置の前記第2の並べ替え制御手段が出力するデータを処理する信号処理回路と、
    を有することを特徴とする撮像装置。
  11. 画像処理装置が実行する画像処理方法であって、
    撮像素子の、M行N列の画素からなる領域のm行(2≦m<M)から同時に読み出されたデータを、第1のメモリにn列(2≦n<N)分格納する取得工程と、
    前記第1のメモリに格納されたm行n列の画素分のデータを、o行p列(2≦o<m,2≦p≦n)の画素分のデータずつ第2のメモリに格納することを繰り返し、前記M行N列の画素分のデータを前記第2のメモリに格納する格納工程と、
    前記第2のメモリから、前記撮像素子におけるo行N列の画素の並びとなるように、前記o行p列の画素分のデータずつ第3のメモリに格納することを繰り返し、前記第2のメモリに格納された前記M行N列の画素分のデータを前記第3のメモリに転送する転送工程と、
    前記第3のメモリに格納されたデータを1行ずつ出力することにより、データを前記撮像素子の1行N列の画素の並びで出力する出力工程と、
    を有することを特徴とする画像処理方法。
  12. コンピュータを、請求項1から9のいずれか1項に記載の画像処理装置が有する各手段として機能させるためのプログラム。
JP2018186872A 2018-10-01 2018-10-01 画像処理装置およびその制御方法 Active JP7141295B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018186872A JP7141295B2 (ja) 2018-10-01 2018-10-01 画像処理装置およびその制御方法
US16/587,677 US10855945B2 (en) 2018-10-01 2019-09-30 Image processing apparatus and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018186872A JP7141295B2 (ja) 2018-10-01 2018-10-01 画像処理装置およびその制御方法

Publications (3)

Publication Number Publication Date
JP2020057922A JP2020057922A (ja) 2020-04-09
JP2020057922A5 JP2020057922A5 (ja) 2021-11-11
JP7141295B2 true JP7141295B2 (ja) 2022-09-22

Family

ID=69946818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018186872A Active JP7141295B2 (ja) 2018-10-01 2018-10-01 画像処理装置およびその制御方法

Country Status (2)

Country Link
US (1) US10855945B2 (ja)
JP (1) JP7141295B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012114594A (ja) 2010-11-22 2012-06-14 Olympus Corp 撮像装置
JP2013062714A (ja) 2011-09-14 2013-04-04 Olympus Corp 撮像装置および信号転送装置
JP2018125730A (ja) 2017-02-01 2018-08-09 キヤノン株式会社 撮像装置およびその制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050013130A (ko) * 2002-06-12 2005-02-02 소니 가부시끼 가이샤 고체 촬상 소자, 고체 촬상 소자의 구동 방법, 촬상 방법및 촬상 장치
JP5721518B2 (ja) * 2011-04-21 2015-05-20 キヤノン株式会社 撮像素子及び撮像装置
US8576979B2 (en) * 2011-10-11 2013-11-05 Omnivision Technologies, Inc. Arithmetic counter circuit, configuration and application for high performance CMOS image sensors
JP2020021989A (ja) * 2018-07-30 2020-02-06 キヤノン株式会社 撮像装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012114594A (ja) 2010-11-22 2012-06-14 Olympus Corp 撮像装置
JP2013062714A (ja) 2011-09-14 2013-04-04 Olympus Corp 撮像装置および信号転送装置
JP2018125730A (ja) 2017-02-01 2018-08-09 キヤノン株式会社 撮像装置およびその制御方法

Also Published As

Publication number Publication date
US20200106981A1 (en) 2020-04-02
US10855945B2 (en) 2020-12-01
JP2020057922A (ja) 2020-04-09

Similar Documents

Publication Publication Date Title
JP5901186B2 (ja) 固体撮像装置及びその駆動方法
US11363230B2 (en) Image sensor module and image sensor device including the same
US7693350B2 (en) Pixel interpolation device and camera adapted to perform pixel interpolation of captured image
US8817139B2 (en) Image pickup device and signal transmitting device
JP2005044098A (ja) 画像処理装置及び画像処理方法
JP5578915B2 (ja) 固体撮像装置及びその駆動方法
JP4806595B2 (ja) 固体撮像素子駆動装置及びデジタルカメラ
US20060044420A1 (en) Image pickup apparatus
JP4687116B2 (ja) カメラ装置
JP2005018730A (ja) 色補間用ラインバッファおよびラインデータ提供装置および方法
JP7141295B2 (ja) 画像処理装置およびその制御方法
JP4854620B2 (ja) 電子ズーム装置およびプログラム
JP5718029B2 (ja) 撮像装置
JP2005045514A (ja) 画像処理装置及び画像処理方法
JP6235788B2 (ja) 撮像装置及びその制御方法
JP2020021989A (ja) 撮像装置
US11108984B2 (en) Image processing device and control method therefor, and storage medium
CN105100587B (zh) 摄像装置及其控制方法
JP5884604B2 (ja) 画像記録装置、撮像装置、画像記録プログラム、および画像表示プログラム
JP3858447B2 (ja) 電子カメラ装置
JP2006157152A (ja) 撮像装置と撮像方法
JP6659195B2 (ja) 撮像装置およびその制御方法、プログラム
JP7110007B2 (ja) 画像処理装置、撮像装置、画像処理装置の制御方法、プログラムおよび記憶媒体
JPWO2020137665A1 (ja) 撮像素子、撮像装置、撮像方法及びプログラム
JP2019024172A (ja) 撮像装置およびその制御方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210928

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220728

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220909

R151 Written notification of patent or utility model registration

Ref document number: 7141295

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151