JP6493454B2 - Electronic camera - Google Patents

Electronic camera Download PDF

Info

Publication number
JP6493454B2
JP6493454B2 JP2017112966A JP2017112966A JP6493454B2 JP 6493454 B2 JP6493454 B2 JP 6493454B2 JP 2017112966 A JP2017112966 A JP 2017112966A JP 2017112966 A JP2017112966 A JP 2017112966A JP 6493454 B2 JP6493454 B2 JP 6493454B2
Authority
JP
Japan
Prior art keywords
image data
circuit
image
imaging
output
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
JP2017112966A
Other languages
Japanese (ja)
Other versions
JP2017153156A (en
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.)
Nikon Corp
Original Assignee
Nikon 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 Nikon Corp filed Critical Nikon Corp
Priority to JP2017112966A priority Critical patent/JP6493454B2/en
Publication of JP2017153156A publication Critical patent/JP2017153156A/en
Application granted granted Critical
Publication of JP6493454B2 publication Critical patent/JP6493454B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Transforming Light Signals Into Electric Signals (AREA)
  • Studio Devices (AREA)

Description

本発明は、電子カメラに関する。   The present invention relates to an electronic camera.

従来から、高速な静止画の連写を可能にするため、特許文献1のような電子カメラが提案されている。この電子カメラは、YCC(YCrCb)変換処理とJPEG(Joint Photographic Experts Group)圧縮処理を行うバックエンジンを複数備えており、連写で得られた一連の画像をこれらのバックエンジンが分担して処理することにより高速化を実現している。   Conventionally, an electronic camera as in Patent Document 1 has been proposed in order to enable continuous shooting of high-speed still images. This electronic camera has multiple back engines that perform YCC (YCrCb) conversion processing and JPEG (Joint Photographic Experts Group) compression processing. These back engines share and process a series of images obtained by continuous shooting. To achieve high speed.

更に、上述した一連の画像にそれぞれ補正処理を施して、この補正された画像を複数のバックエンジンに分配する役割を持つフロントエンジンをも備えており、このフロントエンジンとバックエンジンとの両方でカメラシステムを構成する。   Further, the image processing apparatus further includes a front engine that performs a correction process on each of the series of images described above and distributes the corrected image to a plurality of back engines. The camera is operated by both the front engine and the back engine. Configure the system.

特開2008−219319号公報JP 2008-219319 A

しかし、特許文献1の電子カメラは、連写性能がそれ程必要でない場合もフロントエンジンとバックエンジンとの両方(少なくとも1つずつ)を備えなければならず、そのためシステムが大規模となってコストも増加する問題を抱えていた。   However, the electronic camera disclosed in Patent Document 1 must have both a front engine and a back engine (at least one) even when continuous shooting performance is not so necessary. Had an increasing problem.

即ち、上記の電子カメラは、連写の性能がそれ程必要でない場合には、バックエンジンだけでカメラシステムを構成し、バックエンジンだけで処理できない場合には、フロントエンジンを追加的に利用して対応するというスケーラブルな構成にはなっていなかった。   In other words, the above-mentioned electronic camera can be configured by configuring the camera system with only the back engine when continuous shooting performance is not so necessary, and additionally using the front engine when processing with only the back engine is not possible. It wasn't scalable.

更に、上記の電子カメラでは、光学ファインダを覗いて撮影を行う一眼レフカメラが想定されており、フロントエンジンとバックエンジンとの間で画像データを受け渡すのに一々「メモリ−メモリ」間の転送を利用している。そのため、上記の電子カメラでは、例えば、データの転送要求等のリクエストを発してから、リクエストの結果が返ってくるまでにかかる遅延時間(レイテンシ)が大きく、一眼レフカメラでも最近流行となっているライブビュー(LiveView)には向かない問題もあった。   Furthermore, the above-mentioned electronic camera is assumed to be a single lens reflex camera that takes a picture through an optical viewfinder, and transfer between “memory” and “memory” to transfer image data between the front engine and the back engine. Is used. For this reason, in the above-described electronic camera, for example, a delay time (latency) required from when a request such as a data transfer request is issued until the request result is returned is large, and even a single-lens reflex camera has recently become popular. There was also a problem that was not suitable for LiveView.

また、フロントエンジンは、上述した補正処理を行うものの主たる機能は、複数のバックエンジンに画像を分配することであると考えられ、このフロントエンジンを画像の分配以外の目的に利用する視点はなかった。また、上記の電子カメラでは、高々3コマ/秒の連写ができるような一眼レフカメラが例示されているだけで、一例として10M画素を超えるフル解像度の画像を60fps以上の速度で読み出すような超Highピクセルレート(以下「高ピクセルレート」という。)の撮像センサを使用するようなカメラシステムについては何も言及されていなかった。尚、上記の高ピクセルレートとは、そのまま転送された場合、バックエンジン側で受信できなくなる(正常に画像処理ができなくなる)程度のピクセルレートをいう。   Further, although the front engine performs the above-described correction processing, the main function is considered to distribute images to a plurality of back engines, and there was no viewpoint of using this front engine for purposes other than image distribution. . In addition, the above-described electronic camera is merely an example of a single-lens reflex camera capable of continuous shooting at 3 frames / sec. As an example, a full-resolution image exceeding 10M pixels is read out at a speed of 60 fps or more. No mention was made of a camera system that uses an image sensor with an ultra-high pixel rate (hereinafter referred to as “high pixel rate”). Note that the above high pixel rate means a pixel rate that is not able to be received on the back engine side when it is transferred as it is (cannot perform normal image processing).

そこで、本発明は、上述した課題に鑑みてなされたものであり、バックエンジンだけでも画像処理の行える最小限のカメラシステムを構成することができて、しかもバックエンジンでは受信できないような高ピクセルレートの撮像センサを使用する場合には、フロントエンジンを追加的に利用して対応するというスケーラブルな電子カメラを提供することを目的としている。   Accordingly, the present invention has been made in view of the above-described problems, and can form a minimum camera system that can perform image processing with only the back engine, and yet has a high pixel rate that cannot be received by the back engine. The purpose of the present invention is to provide a scalable electronic camera that uses a front engine in addition when the image sensor is used.

本発明の一態様において、電子カメラは、撮像部と、記憶部と、第1処理部と、第2処理部とを備える。撮像部は、被写体像を撮像して画像データを出力する。記憶部は、撮像部から出力された画像データを記憶する。第1処理部は、記憶部に記憶された画像データを読み出してピクセルレートを低減する。第2処理部は、第1処理部によりピクセルレートが低減された画像データを画像処理する。
本発明の別の態様において、第1の発明に係る電子カメラは、撮像部と、フロントエンジンと、バックエンジンとを備える。撮像部は、被写体像を撮像して画像データを出力する。フロントエンジンは、第1の入力撮像インターフェース、ピクセルレート低減手段、及び出力撮像インターフェースを有する。第1の入力撮像インターフェースは、撮像部と電気的に接続することにより画像データを受信する。ピクセルレート低減手段は、受信した画像データの容量に応じてその画像データのピクセルレートを下げる。出力撮像インターフェースは、ピクセルレートの低減された画像データを出力する。バックエンジンは、第2の入力撮像インターフェース及び画像処理手段を有する。第2の入力撮像インターフェースは、出力撮像インターフェースと電気的に接続することによりピクセルレートの低減された画像データを受信する。画像処理手段は、ピクセルレートの低減された画像データに画像処理を施す。
In one aspect of the present invention, an electronic camera includes an imaging unit, a storage unit, a first processing unit and a second processing unit. The imaging unit captures a subject image and outputs image data. The storage unit stores the image data output from the imaging unit. The first processing section, the image data stored in the storage unit Read out to reduce the pixel rate. The second processing section, the image data pixel rate is reduced by the first processing unit for image processing.
In another aspect of the present invention, an electronic camera according to the first invention includes an imaging unit, a front engine, and a back engine. The imaging unit captures a subject image and outputs image data. The front engine has a first input imaging interface, a pixel rate reduction means, and an output imaging interface. The first input imaging interface receives image data by being electrically connected to the imaging unit. The pixel rate reducing means lowers the pixel rate of the image data according to the capacity of the received image data. The output imaging interface outputs image data with a reduced pixel rate. The back engine has a second input imaging interface and image processing means. The second input imaging interface receives image data with a reduced pixel rate by being electrically connected to the output imaging interface. The image processing means performs image processing on the image data with a reduced pixel rate.

第2の発明は、第1の発明において、ピクセルレート低減手段は、画像データのサイズを縮小する画像縮小手段である。画像縮小手段は、撮像部から受信した画像データのサイズを縮小することにより、ピクセルレートを低減する。   In a second aspect based on the first aspect, the pixel rate reduction means is image reduction means for reducing the size of the image data. The image reduction means reduces the pixel rate by reducing the size of the image data received from the imaging unit.

第3の発明は、第1の発明において、ピクセルレート低減手段は、撮像部から受信した画像データを一時的に記憶する記憶手段であって、記憶手段に記憶した画像データが記憶時よりも低速で読み出されることにより、ピクセルレートを低減する。   In a third aspect based on the first aspect, the pixel rate reduction means is a storage means for temporarily storing the image data received from the imaging unit, and the image data stored in the storage means is slower than at the time of storage. Is read out to reduce the pixel rate.

第4の発明は、第3の発明において、フロントエンジンは、画像圧縮手段と画像伸長手段とを有する。画像圧縮手段は、撮像部から受信した画像データを圧縮する。画像伸長手段は、その画像圧縮手段が圧縮した圧縮データを伸長する。フロントエンジンは、画像圧縮手段で圧縮した圧縮データを記憶手段に一時的に記憶すると共に、記憶手段に記憶した圧縮データを記憶時よりも低速に読み出して画像伸長手段で伸長し、伸長された画像データを出力撮像インターフェースから出力する。   In a fourth aspect based on the third aspect, the front engine includes image compression means and image expansion means. The image compression unit compresses the image data received from the imaging unit. The image decompressing means decompresses the compressed data compressed by the image compressing means. The front engine temporarily stores the compressed data compressed by the image compression unit in the storage unit, reads out the compressed data stored in the storage unit at a lower speed than that at the time of storage, and decompresses the decompressed image by the image decompression unit. Data is output from the output imaging interface.

第5の発明は、第1から第4の何れか1の発明において、フロントエンジンは、画像データ補正手段を更に有する。画像データ補正手段は、撮像部から受信した画像データに補正処理を施す。   In a fifth aspect based on any one of the first to fourth aspects, the front engine further includes image data correction means. The image data correction unit performs a correction process on the image data received from the imaging unit.

第6の発明は、第1から第5の何れか1の発明において、フロントエンジンは、複数のピクセルレート低減手段を有し、各々のピクセルレート低減手段は、撮像部から受信した画像データを同一の又は異なるピクセルレートで低減する。   In a sixth aspect based on any one of the first to fifth aspects, the front engine has a plurality of pixel rate reduction means, and each pixel rate reduction means has the same image data received from the imaging unit. Or at different pixel rates.

第7の発明は、第6の発明において、フロントエンジンは、第1のピクセルレート手段と、第2のピクセルレート手段と、低解像度用出力撮像インターフェースと、高解像度用出力撮像インターフェースとを有する。第1のピクセルレート手段は、撮像部から受信した画像データを第1のピクセルレートで相対的に低解像度の第1の画像データに低減する。第2のピクセルレート手段は、撮像部から受信した画像データを第2のピクセルレートで相対的に高解像度の第2の画像データに低減する。低解像度用出力撮像インターフェースは、第1の画像データを出力する。高解像度用出力撮像インターフェースは、第2の画像データを出力する。   In a seventh aspect based on the sixth aspect, the front engine includes a first pixel rate means, a second pixel rate means, a low resolution output imaging interface, and a high resolution output imaging interface. The first pixel rate means reduces the image data received from the imaging unit to first image data having a relatively low resolution at the first pixel rate. The second pixel rate means reduces the image data received from the imaging unit to the second image data having a relatively high resolution at the second pixel rate. The low resolution output imaging interface outputs the first image data. The high resolution output imaging interface outputs the second image data.

バックエンジンは、低解像度用入力撮像インターフェースと、高解像度用入力撮像インターフェースと、第1の画像処理手段と、第2の画像処理手段とを有する。低解像度用入力撮像インターフェースは、第1の画像データを受信する。高解像度用入力撮像インターフェースは、第2の画像データを受信する。第1の画像処理手段は、第1の画像データを画像処理する。第2の画像処理手段は、第2の画像データを画像処理する。   The back engine includes a low-resolution input imaging interface, a high-resolution input imaging interface, a first image processing unit, and a second image processing unit. The low resolution input imaging interface receives the first image data. The high resolution input imaging interface receives the second image data. The first image processing means performs image processing on the first image data. The second image processing means performs image processing on the second image data.

本発明によれば、バックエンジンだけでも画像処理の行える最小限のカメラシステムを構成することができて、しかもバックエンジンでは受信できないような高ピクセルレートの撮像センサを使用する場合には、フロントエンジンを追加的に利用して対応するというスケーラブルな電子カメラを提供できる。   According to the present invention, it is possible to configure a minimum camera system that can perform image processing only with the back engine, and when using an image sensor with a high pixel rate that cannot be received by the back engine, the front engine is used. It is possible to provide a scalable electronic camera that can be used by additionally using.

第1実施形態の電子カメラの構成例を示すブロック図1 is a block diagram illustrating a configuration example of an electronic camera according to a first embodiment. フロントエンジン12及びバックエンジン13の内部構成を説明する図The figure explaining the internal structure of the front engine 12 and the back engine 13 静止画撮影時の画像データの流れを示す図Diagram showing the flow of image data when shooting still images 第2実施形態の電子カメラの構成例を示すブロック図The block diagram which shows the structural example of the electronic camera of 2nd Embodiment. 電子カメラ2のフロントエンジン12及びバックエンジン13の内部構成例を説明する図The figure explaining the example of an internal structure of the front engine 12 and the back engine 13 of the electronic camera 2. 第3実施形態の電子カメラのフロントエンジン12及びバックエンジン13の構成例を示すブロック図The block diagram which shows the structural example of the front engine 12 and the back engine 13 of the electronic camera of 3rd Embodiment. 従来の電子カメラで利用されるソフトウェアの構造の一例を示す図The figure which shows an example of the structure of the software utilized with the conventional electronic camera 仮想撮像回路を説明する図The figure explaining a virtual imaging circuit 電子カメラ1のソフトウェアの構造の一例を示す図The figure which shows an example of the software structure of the electronic camera 1 電子カメラ50のブロック図の一例を示す図The figure which shows an example of the block diagram of the electronic camera 50 バックエンジン51の画像処理回路51aの構成例を示すブロック図The block diagram which shows the structural example of the image processing circuit 51a of the back engine 51. 電子カメラ50におけるライブビュー動作時の画像データの流れを示す図The figure which shows the flow of the image data at the time of the live view operation | movement in the electronic camera 50 電子カメラ50における静止画撮影時の画像データの流れを示す図The figure which shows the flow of the image data at the time of still image photography in the electronic camera 50 バックエンジン51の画像処理回路51aの他の形態を示すブロック図The block diagram which shows the other form of the image processing circuit 51a of the back engine 51 静止画の短冊分割の処理の一例を説明する図The figure explaining an example of the strip dividing process of a still image

(第1実施形態)
以下、図面に基づいて本発明の実施の形態を詳細に説明する。尚、本発明の実施の形態の内容の理解を容易にするため、本発明の一実施形態の電子カメラ1の基本的な構成を説明した後、比較例として、フロントエンジンを用いない電子カメラ50(従来型の電子カメラ)の構成及び動作について説明する。特に、電子カメラ50では、画像の撮影における基本的な処理や画像データの流れについて説明する。これらの説明を踏まえた上で、電子カメラ1の詳細な構成及び動作について説明する。これにより、電子カメラ1と電子カメラ50との差異点を明確にする。
(First embodiment)
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In order to facilitate understanding of the contents of the embodiment of the present invention, the basic configuration of the electronic camera 1 according to the embodiment of the present invention is described, and then, as a comparative example, an electronic camera 50 that does not use a front engine. The configuration and operation of the (conventional electronic camera) will be described. In particular, in the electronic camera 50, basic processing and image data flow in image shooting will be described. Based on these descriptions, the detailed configuration and operation of the electronic camera 1 will be described. Thereby, the difference between the electronic camera 1 and the electronic camera 50 is clarified.

<電子カメラ1の構成>
図1は、第1実施形態の電子カメラの構成例を示すブロック図である。電子カメラ1は、撮影光学系10と、撮像回路11と、フロントエンジン12と、バックエンジン13と、DRAM(Dynamic Random Access Memory)14と、DRAM15と、Flash−ROM(Read Only Memory)16(図では「Flash」と表記する。)と、LCD(Liquid Crystal Display)パネル17と、レリーズ釦18と、コネクタC1と、コネクタC2とを備える。
<Configuration of electronic camera 1>
FIG. 1 is a block diagram illustrating a configuration example of the electronic camera according to the first embodiment. The electronic camera 1 includes a photographing optical system 10, an imaging circuit 11, a front engine 12, a back engine 13, a DRAM (Dynamic Random Access Memory) 14, a DRAM 15, and a Flash-ROM (Read Only Memory) 16 (see FIG. , “LCD”), an LCD (Liquid Crystal Display) panel 17, a release button 18, a connector C1, and a connector C2.

電子カメラ1は、フロントエンジン12及びバックエンジン13を中心に撮像回路11を始めとする周辺ハードウェアから成る。フロントエンジン12とバックエンジン13とは、それぞれ1つのLSI(SoC:System on Chip)として実装される。尚、「フロントエンジン」と「バックエンジン」とは、特許文献1で使われた名称であるが、以下の説明においてもこの名称をそのまま用いる。但し、同じ名称を用いていてもフロントエンジン12とバックエンジン13の内部構成は、特許文献1と大きく異なる。特許文献1と違って、本実施形態のバックエンジン13は、それ1つでも画像処理の行える最小限のカメラシステムを構成することができ、機能的にはメインエンジンと呼ぶべきものである。   The electronic camera 1 includes peripheral hardware such as an imaging circuit 11 with a front engine 12 and a back engine 13 as the center. The front engine 12 and the back engine 13 are each implemented as one LSI (SoC: System on Chip). Note that “front engine” and “back engine” are names used in Patent Document 1, but these names are also used in the following description. However, even if the same name is used, the internal configurations of the front engine 12 and the back engine 13 are significantly different from those in Patent Document 1. Unlike Patent Document 1, the back engine 13 of this embodiment can constitute a minimum camera system capable of performing image processing, and should be called a main engine functionally.

撮影光学系10は、焦点距離を調整するズームレンズと、撮像回路11内の撮像センサの受光面での結像位置を調整するフォーカスレンズとを含む複数のレンズ群で構成されている。尚、簡単のため、図1では、撮影光学系10を1枚のレンズとして図示する。   The photographing optical system 10 includes a plurality of lens groups including a zoom lens that adjusts the focal length and a focus lens that adjusts the image formation position on the light receiving surface of the image sensor in the image pickup circuit 11. For the sake of simplicity, FIG. 1 shows the photographing optical system 10 as a single lens.

撮像回路11は、撮像センサ(CMOS(Complementary Metal Oxide Semiconductor)センサ、またはCCD(Charge Coupled Device)センサ)の他にTG(Timing Generator)センサやAFE(Analog Front End)等から成る。尚、撮像回路11は、TGとAFEとを内蔵したCMOSセンサを採用しても良い。   The imaging circuit 11 includes a TG (Timing Generator) sensor, an AFE (Analog Front End), and the like in addition to an imaging sensor (CMOS (Complementary Metal Oxide Semiconductor) sensor or CCD (Charge Coupled Device) sensor). The imaging circuit 11 may employ a CMOS sensor incorporating TG and AFE.

画像の撮影時には、先ず、撮影光学系10によって被写体の光学像(被写体像)が撮像センサ上に形成される。次いで、この被写体像が撮像センサによって光電変換(露光)され、最後にデジタルの画像データとなって撮像回路11から出力される。撮像センサの受光面には、例えばBayer配列のカラーフィルタ(CFA:Color Filter Array)が設けられている。この場合、Bayer配列からなるカラーのデジタルの画像データが撮像回路11から出力される。露光や画像データの出力といった撮像回路11の制御は、少数の制御信号や、シリアル通信ポートによって行われる。   When photographing an image, first, an optical image of the subject (subject image) is formed on the image sensor by the photographing optical system 10. Next, this subject image is subjected to photoelectric conversion (exposure) by the image sensor, and finally output as digital image data from the imaging circuit 11. For example, a Bayer array color filter (CFA) is provided on the light receiving surface of the image sensor. In this case, color digital image data having a Bayer array is output from the imaging circuit 11. Control of the imaging circuit 11 such as exposure and output of image data is performed by a small number of control signals and serial communication ports.

フロントエンジン12は、高ピクセルレートの撮像センサが出力する画像データをバックエンジン13で処理するための素子である。フロントエンジン12は、高ピクセルレートの撮像センサが出力する画像データを一旦受信し、そのピクセルレートを低減してからバックエンジン13に送信する。   The front engine 12 is an element for the back engine 13 to process image data output from the high pixel rate imaging sensor. The front engine 12 once receives the image data output from the high-pixel-rate image sensor, reduces the pixel rate, and transmits the image data to the back engine 13.

バックエンジン13は、電子カメラ1の殆どの機能を担う最も重要な素子である。ここで、撮像回路11からフロントエンジン12に向かう矢印の部分は、撮像回路11から出力された画像データが流れることを示しており、実際には、(超)高速のインターフェースで繋がる。   The back engine 13 is the most important element that bears most of the functions of the electronic camera 1. Here, the part of the arrow heading from the image pickup circuit 11 to the front engine 12 indicates that the image data output from the image pickup circuit 11 flows, and is actually connected by an (ultra) high-speed interface.

一方、フロントエンジン12からバックエンジン13に向かう矢印の部分には、ピクセルレートの低減された画像データが流れるが、ここには、フロントエンジン12の他に一般的な撮像センサを含む撮像回路11も繋がる。図中のフロントエンジン12から撮像回路11に向かう矢印は、この撮像回路11を制御するためのシリアル通信ポートや制御信号を表す。   On the other hand, image data with a reduced pixel rate flows in a portion indicated by an arrow from the front engine 12 to the back engine 13. Here, in addition to the front engine 12, an imaging circuit 11 including a general imaging sensor is also included. Connected. An arrow heading from the front engine 12 to the imaging circuit 11 in the figure represents a serial communication port and a control signal for controlling the imaging circuit 11.

更に、図1には、フロントエンジン12とバックエンジン13とを繋ぐ幅広の白矢印もあるが、この白矢印は、フロントエンジン12とバックエンジン13との間の通信インターフェースを表しており、例えば、単純なシリアル通信インターフェースでも良い。尚、フロントエンジン12及びバックエンジン13の内部構成の詳細については、図2、図5で詳しく説明する。   Further, in FIG. 1, there is also a wide white arrow that connects the front engine 12 and the back engine 13, but this white arrow represents a communication interface between the front engine 12 and the back engine 13, for example, A simple serial communication interface may be used. Details of the internal configuration of the front engine 12 and the back engine 13 will be described in detail with reference to FIGS.

DRAM14は、フロントエンジン12と接続しており、例えば、高ピクセルレートの撮像センサが出力する画像データを一時的に記憶する。DRAM15は、バックエンジン13と接続しており、電子カメラ1の様々な処理において画像データを一時的に記憶する他、プログラムで使用する変数の記憶やスタック等に使用される。   The DRAM 14 is connected to the front engine 12 and temporarily stores, for example, image data output from an image sensor with a high pixel rate. The DRAM 15 is connected to the back engine 13, and temporarily stores image data in various processes of the electronic camera 1, and is used for storing variables and stacks used in the program.

Flash−ROM16には、例えば、電子カメラ1における画像の撮影、画像の再生、PC(パーソナルコンピュータ)等への画像の転送といったカメラの機能を実行するプログラム(カメラファームウェア)が記憶される。また、Flash-ROM16には、電子カメラ1の各種調整データやユーザ設定情報等も記憶される。   The Flash-ROM 16 stores, for example, a program (camera firmware) that executes camera functions such as image capturing in the electronic camera 1, image playback, and image transfer to a PC (personal computer). The Flash-ROM 16 also stores various adjustment data of the electronic camera 1 and user setting information.

LCDパネル17は、例えば液晶表示媒体により構成される。LCDパネル17は、画像やGraphicデータ(文字やアイコン等)を表示する。レリーズ釦18は、半押し操作(撮影前におけるオートフォーカス(AF)や自動露出(AE)等の撮影準備の動作開始)と全押し操作(本画像を取得するための撮影の動作開始)との指示入力とを受け付ける。コネクタC1は、着脱自在のUSB(Universal Serial Bus)メモリU1を接続するための接続端子である。コネクタC2は、着脱自在のカード型の不揮発性のメモリカードM1を接続するための接続端子である。図1では、コネクタC1に接続された後のUSBメモリU1と、コネクタC2に接続された後のメモリカードM1を示している。   The LCD panel 17 is composed of, for example, a liquid crystal display medium. The LCD panel 17 displays images and graphic data (characters, icons, etc.). The release button 18 is a half-press operation (start of shooting preparation operations such as autofocus (AF) and automatic exposure (AE) before shooting) and full-press operation (start of shooting operations to acquire the main image). The instruction input is accepted. The connector C1 is a connection terminal for connecting a detachable USB (Universal Serial Bus) memory U1. The connector C2 is a connection terminal for connecting a removable card type non-volatile memory card M1. FIG. 1 shows the USB memory U1 after being connected to the connector C1 and the memory card M1 after being connected to the connector C2.

<電子カメラ50の構成>
次に、比較例として、電子カメラ50の構成について説明する。
<Configuration of electronic camera 50>
Next, a configuration of the electronic camera 50 will be described as a comparative example.

図10は、電子カメラ50のブロック図の一例を示す図である。電子カメラ50では、1つのバックエンジン51を中心に撮像回路52を始めとする周辺ハードウェアから成る。尚、バックエンジン51は、バックエンジン13と同様、1つのLSIとして実装される。   FIG. 10 is a diagram illustrating an example of a block diagram of the electronic camera 50. The electronic camera 50 includes peripheral hardware such as an imaging circuit 52 with a single back engine 51 as the center. Note that the back engine 51 is mounted as a single LSI, similar to the back engine 13.

電子カメラ50は、撮影光学系55、撮像回路52、バックエンジン51、DRAM53、Flash−ROM54、LCDパネル57、レリーズ釦56、コネクタC3、コネクタC4及びバス51rを備える。   The electronic camera 50 includes a photographing optical system 55, an imaging circuit 52, a back engine 51, a DRAM 53, a Flash-ROM 54, an LCD panel 57, a release button 56, a connector C3, a connector C4, and a bus 51r.

撮影光学系55は、図1に示す撮影光学系10と同様の構成である。撮像回路52は、撮像回路11と同様の構成であるが、高ピクセルレートの画像データを出力しない点が異なる。LCDパネル57、レリーズ釦56は、図1に示すLCDパネル17、レリーズ釦18と同様の構成である。コネクタC3は、メモリカードM2を接続するための接続端子であり、コネクタC4は、着脱自在のUSBメモリU2を接続するための接続端子である。図10では、コネクタC3に接続された後のメモリカードM2を示している。   The photographing optical system 55 has the same configuration as the photographing optical system 10 shown in FIG. The imaging circuit 52 has the same configuration as that of the imaging circuit 11 except that image data at a high pixel rate is not output. The LCD panel 57 and the release button 56 have the same configuration as the LCD panel 17 and the release button 18 shown in FIG. The connector C3 is a connection terminal for connecting the memory card M2, and the connector C4 is a connection terminal for connecting a removable USB memory U2. FIG. 10 shows the memory card M2 after being connected to the connector C3.

従来のバックエンジン51は、電子カメラ50の殆どの機能を担う最も重要な素子であり、撮像回路52から出力された画像データに画像処理を施す画像処理回路51a(図では「画像処理」と表記する。)、電子カメラ全般の動作をコントロールするCPU(Central Processing Unit)51b、静止画の圧縮を行うJPEGコーデック51c(図では「JPEG」と表記する。)、画像やGraphicデータをLCDパネル57に表示するLCDコントローラ51d、PC等のホスト機器へ画像データを転送するUSBコントローラ51e(図では「USB」と表記する。)、DRAM53へのデータ読み書きを行うDRAMコントローラ51f(図では「DRAMC」と表記する。)、Flash-ROM54へのデータ読み書きを行うStaticメモリコントローラ51g(図では「SMC」と表記する。)、周辺デバイスとの間でデータや信号をやり取りするSIO(Serial Input/Output)&PIO(Parallel Input/Output)51h、メモリカードM2へのデータ読み書きを行うCARDコントローラ51i等を内部に含む(図10参照)。   The conventional back engine 51 is the most important element that bears most of the functions of the electronic camera 50, and is an image processing circuit 51 a that performs image processing on the image data output from the imaging circuit 52 (denoted as “image processing” in the figure). The CPU (Central Processing Unit) 51b for controlling the overall operation of the electronic camera, the JPEG codec 51c (indicated as “JPEG” in the figure) for compressing still images, images and graphic data are displayed on the LCD panel 57. LCD controller 51d to be displayed, USB controller 51e (denoted as “USB” in the figure) for transferring image data to a host device such as a PC, and DRAM controller 51f (denoted as “DRAMC” in the figure) for reading / writing data to / from the DRAM 53. Static memory controller 51g (in the figure, “SMC”) for reading / writing data from / to the Flash-ROM 54 SIO (Serial Input / Output) & PIO (Parallel Input / Output) 51h for exchanging data and signals with peripheral devices, CARD controller 51i for reading / writing data to / from memory card M2, etc. (See FIG. 10).

尚、画像処理回路51a、CPU51b、JPEGコーデック51c、LCDコントローラ51d、USBコントローラ51e、DRAMコントローラ51f、Staticメモリコントローラ51g、及びSIO&PIO51hは、バス51rを介して互いに接続されている。   The image processing circuit 51a, CPU 51b, JPEG codec 51c, LCD controller 51d, USB controller 51e, DRAM controller 51f, Static memory controller 51g, and SIO & PIO 51h are connected to each other via a bus 51r.

また、図示されてはいないがバックエンジン51には、その他として、いわゆるH.264等の動画コーデック、画像データの転送を行うDMAコントローラ(DMAC)、割り込みコントローラ、A/D変換器、タイマー等も含まれる(バックエンジン13も同様とする)。画像の撮影、画像の再生、PC等への画像の転送といった電子カメラ50の機能は、CPU51bが実行するプログラム(カメラファームウェア)として実装され、そのプログラムは、Flash-ROM54に記憶される。Flash-ROM54には、電子カメラ50の各種調整データやユーザ設定情報等も記憶される。DRAM53は、電子カメラ50の様々な処理において画像データを一時的に記憶する他、プログラムで使用する変数の記憶やスタック等に使用される。   Although not shown, the back engine 51 includes a video codec such as H.264, a DMA controller (DMAC) for transferring image data, an interrupt controller, an A / D converter, a timer, etc. Included (the same applies to the back engine 13). The functions of the electronic camera 50 such as image shooting, image playback, and image transfer to a PC or the like are implemented as a program (camera firmware) executed by the CPU 51b, and the program is stored in the Flash-ROM 54. The Flash-ROM 54 also stores various adjustment data of the electronic camera 50, user setting information, and the like. The DRAM 53 is used not only for temporarily storing image data in various processes of the electronic camera 50 but also for storing and stacking variables used in the program.

図10では、これらの制御信号や通信ポートがバックエンジン51内から撮像回路52に向かう1本の矢印で表されており、バックエンジン51は、これらを駆使して撮像回路52を制御し画像の撮影を行う。撮像回路52から出力された画像データは、バックエンジン51の画像処理回路51aに入って様々な画像処理が施される。ここで、この画像処理は、一般にプリプロセス(Pre-Process)とポストプロセス(Post-Process)の2つに大きく分けられる。撮影時の画像処理がこの2つの処理に明確に分かれる場合があるからである。   In FIG. 10, these control signals and communication ports are represented by a single arrow from the back engine 51 to the image pickup circuit 52. The back engine 51 uses these to control the image pickup circuit 52 to control the image. Take a picture. The image data output from the imaging circuit 52 enters the image processing circuit 51a of the back engine 51 and undergoes various image processing. Here, this image processing is generally roughly divided into two processes, a pre-process and a post-process. This is because image processing at the time of photographing may be clearly divided into these two processes.

プリプロセスは、撮像センサのバラツキ等を補正する処理が主体であり、特許文献1でフロントエンジンの信号処理手段が行っている補正処理に対応する。具体的には、プリプロセスは、欠陥画素補正(DPC:Defect Pixel Correction)、OB(Optical Black)クランプ、シェーディング補正、感度補正等の処理を行う。プリプロセスには、その他にノイズ除去や一部のレンズ収差を補正する処理が含まれたりする。   The preprocess mainly includes a process for correcting variations of the image sensor and corresponds to the correction process performed by the signal processing means of the front engine in Patent Document 1. Specifically, the preprocess performs processing such as defective pixel correction (DPC), OB (Optical Black) clamping, shading correction, sensitivity correction, and the like. The pre-process may include other processes such as noise removal and correction of some lens aberrations.

これらの補正処理とは別にプリプロセスは、3種類の評価値を抽出する3A検波の機能も持つ。この3A検波の機能は、AE(Automatic Exposure)、AF(Automatic Focusing)、AWB(Automatic White Balance)のための各評価値を抽出するものである。電子カメラ50は、各評価値に基づいて、自動露出(AE)、自動焦点調整(AF)、自動ホワイトバランス調整(AWB)の制御を行う。   Apart from these correction processes, the preprocess also has a 3A detection function for extracting three types of evaluation values. This 3A detection function extracts each evaluation value for AE (Automatic Exposure), AF (Automatic Focusing), and AWB (Automatic White Balance). The electronic camera 50 controls automatic exposure (AE), automatic focus adjustment (AF), and automatic white balance adjustment (AWB) based on each evaluation value.

一方、ポストプロセスは、カラー処理が主体であり、特許文献1でバックエンジンが行っているYCC変換/解像度変換の処理に対応する。その意味から、カラープロセス(Color Process)と称しても良い。具体的には、ポストプロセスは、WB調整、色補間、色空間変換、γ補正、YCC変換、偽色除去、エッジ強調、解像度変換等の処理を行う。   On the other hand, the post process mainly includes color processing and corresponds to the YCC conversion / resolution conversion processing performed by the back engine in Patent Document 1. In that sense, it may be referred to as a color process. Specifically, the post process performs processing such as WB adjustment, color interpolation, color space conversion, γ correction, YCC conversion, false color removal, edge enhancement, and resolution conversion.

プリプロセスが施された後でも画像データは、未だ1色/pixelのBayer配列データであるが、ポストプロセスが施された後では、3色/pixelのYCbCrデータに変わっている。このYCbCrデータは、表示や印刷に利用できる画像データである。JPEG(静止画)やH.264(動画)等の画像圧縮でもこのYCbCrデータが利用される。   Even after the preprocess is performed, the image data is still Bayer array data of 1 color / pixel, but after the post process, the image data is changed to YCbCr data of 3 colors / pixel. This YCbCr data is image data that can be used for display and printing. This YCbCr data is also used for image compression such as JPEG (still image) and H.264 (moving image).

画像処理回路51aは、プリプロセスを行うプリプロセス回路とポストプロセスを行うポストプロセス回路(不図示)から成る。ここで、画像処理の動作には、このプリプロセス回路とポストプロセス回路とを直結して2つの処理を一体的に行う1ステップ処理と、プリプロセスの施された1フレーム分の画像データを一旦DRAM53に記憶し、次いで、その画像データをDRAM53から読み出してポストプロセスを施すという2ステップ処理の2つがある。これらの動作を行う画像処理回路51aの内部構成と、その画像データの流れを図11に示す。   The image processing circuit 51a includes a preprocess circuit that performs preprocessing and a postprocess circuit (not shown) that performs postprocessing. Here, in the image processing operation, the preprocess circuit and the postprocess circuit are directly connected to each other, one step process for performing two processes integrally, and one frame of preprocessed image data is temporarily stored. There are two types of two-step processing in which the image data is stored in the DRAM 53 and then the image data is read from the DRAM 53 and subjected to a post process. FIG. 11 shows the internal configuration of the image processing circuit 51a that performs these operations and the flow of the image data.

図11は、バックエンジン51の画像処理回路51aの構成例を示すブロック図である。撮像回路52から出力された画像データを受信するため、画像処理回路51aの前には、入力撮像インターフェース(SIFi)51j(図では「SIFi」と表記する。)が設けられている。「SIFi」は「Sensor InterFace」と「Input」の文字を組み合わせたものである。撮像回路52側には、不図示の出力撮像インターフェースがあり、この出力撮像インターフェースから出力された画像データを入力撮像インターフェース51jが受信する構図になる。   FIG. 11 is a block diagram illustrating a configuration example of the image processing circuit 51 a of the back engine 51. In order to receive the image data output from the imaging circuit 52, an input imaging interface (SIFi) 51j (denoted as “SIFi” in the drawing) is provided in front of the image processing circuit 51a. “SIFi” is a combination of the characters “Sensor InterFace” and “Input”. There is an output imaging interface (not shown) on the imaging circuit 52 side, and the input imaging interface 51j receives the image data output from the output imaging interface.

入力撮像インターフェース51jは、入力信号から有効画素領域やOB領域のデータを取り出すための処理を行い、それらのデータを後方の画像処理回路51aに送っている。画像処理回路51aは、先頭にプリプロセス回路51k(図では「PreProc」と表記する。)が置かれており、プリプロセス回路51kの後方には、2つの入力データの一方選択して出力するセレクタ(Sel)51m(図では「Sel」と表記する。)が置かれ、セレクタ51mの後方には、ポストプロセス回路(PostProc)51n(図では「PostProc」と表記する。)が置かれる構造をしている。   The input imaging interface 51j performs a process for extracting data of the effective pixel area and the OB area from the input signal, and sends these data to the rear image processing circuit 51a. The image processing circuit 51a is preceded by a preprocess circuit 51k (indicated by “PreProc” in the figure), and a selector that selects and outputs one of two input data behind the preprocess circuit 51k. (Sel) 51m (denoted as “Sel” in the figure) is placed, and a post process circuit (PostProc) 51n (denoted as “PostProc” in the figure) is placed behind the selector 51m. ing.

プリプロセス回路51kの出力は、2つあり、第1の出力がセレクタ51mの第1の入力に繋がり、第2の出力がDRAM53に繋がる(正確には、図10に示すDRAMC51fの入力ポートに繋がる)。一方、セレクタ51mの第2の入力は、DRAM53に繋がり(正確にはDRAMC51fの出力ポートに繋がる)、このセレクタ51mの出力が、ポストプロセス回路51nの入力に繋がり、最後にポストプロセス回路51nの出力がDRAM53に繋がる(正確にはDRAMC51fの入力ポートに繋がる)。   The preprocess circuit 51k has two outputs. The first output is connected to the first input of the selector 51m, and the second output is connected to the DRAM 53 (more precisely, it is connected to the input port of the DRAMC 51f shown in FIG. 10). ). On the other hand, the second input of the selector 51m is connected to the DRAM 53 (more precisely, to the output port of the DRAMC 51f), the output of the selector 51m is connected to the input of the post-processing circuit 51n, and finally the output of the post-processing circuit 51n. Is connected to the DRAM 53 (more precisely, it is connected to the input port of the DRAMC 51f).

画像処理回路51aが1ステップ処理を実行する場合には、プリプロセス回路51kの第1の出力から出力される画像データがセレクタ51mによって選択され、その画像データがポストプロセス回路51nに直接入力されるように設定される。入力撮像インターフェース51jから送られてきた画像データは、プリプロセス回路51kに入って先ずプリプロセスが施され、次いで、その画像データ(Bayer)は、プリプロセス回路51kから出力されてセレクタ51mを通り、更にポストプロセス回路51nに入ってポストプロセスが施される。   When the image processing circuit 51a executes one-step processing, the image data output from the first output of the preprocessing circuit 51k is selected by the selector 51m, and the image data is directly input to the post processing circuit 51n. Is set as follows. The image data sent from the input imaging interface 51j enters the preprocess circuit 51k and is first preprocessed. Then, the image data (Bayer) is output from the preprocess circuit 51k and passes through the selector 51m. Further, the post process circuit 51n enters the post process.

ポストプロセスが施された画像データ(YCbCr)は、ポストプロセス回路51nから出力されてDRAM53上に設けられたYCbCrバッファ53aに記憶される(図11参照)。   The post-processed image data (YCbCr) is output from the post-processing circuit 51n and stored in a YCbCr buffer 53a provided on the DRAM 53 (see FIG. 11).

一方、2ステップ処理を行う場合には、入力撮像インターフェース51jから送られてきた画像データは、セレクタ51mの第2の入力データが選択されてポストプロセス回路51nに入るように設定される。この設定の場合には、DRAM53から読み出された画像データは、ポストプロセス回路51nに入力され、ポストプロセスが施される。   On the other hand, when performing the two-step process, the image data sent from the input imaging interface 51j is set so that the second input data of the selector 51m is selected and enters the post-process circuit 51n. In the case of this setting, the image data read from the DRAM 53 is input to the post process circuit 51n and subjected to the post process.

2ステップ処理の全体の動作は、以下のようになる。先ず、入力撮像インターフェース51jから送られてきた画像データがプリプロセス回路51kに入力され、プリプロセスが施される。そして、プリプロセスが施された画像データ(Bayer)は、プリプロセス回路51kの第2の出力から出力されて一旦DRAM53上に設けられたRAWバッファ53dに記憶される(図11参照)。これが1ステップ目の処理である。RAWデータを記録する機能を持つ電子カメラ50の場合には、このRAWバッファ53dに記憶されたBayerデータを記録するのが普通である。   The overall operation of the two-step process is as follows. First, image data sent from the input imaging interface 51j is input to the preprocessing circuit 51k, and preprocessing is performed. The preprocessed image data (Bayer) is output from the second output of the preprocess circuit 51k and temporarily stored in the RAW buffer 53d provided on the DRAM 53 (see FIG. 11). This is the first step. In the case of the electronic camera 50 having a function of recording RAW data, it is normal to record Bayer data stored in the RAW buffer 53d.

次いで、プリプロセスが施されたBayerデータは、RAWバッファ53dから読み出されてセレクタ51mを通り、更にポストプロセス回路51nに入ってポストプロセスが施される。ポストプロセスが施されたYCbCrデータは、ポストプロセス回路51nから出力されてDRAM53上に設けられたYCbCrバッファ53aに記憶される(図11参照)。これが2ステップ目の処理である。   Next, the preprocessed Bayer data is read from the RAW buffer 53d, passes through the selector 51m, and further enters the postprocess circuit 51n to be postprocessed. The post-processed YCbCr data is output from the post-process circuit 51n and stored in the YCbCr buffer 53a provided on the DRAM 53 (see FIG. 11). This is the second step.

画像処理の動作が、この様に2種類あるのは、処理結果であるYCbCrデータの横サイズに起因する。大まかに言うとYCbCrデータの横サイズが予め設定した値より小さい場合、画像処理回路51aは、1ステップ処理、横サイズが大きい場合(予め設定した値以上)、2ステップ処理を行うことになる。この画像処理の動作は、撮影時の電子カメラ50の撮影動作にも関係が深いので、次に、図10に示す電子カメラ50の撮影動作について説明する。   The two types of image processing operations are caused by the horizontal size of YCbCr data as the processing result. Roughly speaking, when the horizontal size of YCbCr data is smaller than a preset value, the image processing circuit 51a performs one-step processing, and when the horizontal size is large (greater than a preset value), two-step processing is performed. Since this image processing operation is also closely related to the shooting operation of the electronic camera 50 at the time of shooting, the shooting operation of the electronic camera 50 shown in FIG. 10 will be described next.

<電子カメラ50の撮影動作>
本実施形態では、ライブビューを重視しているため、電子カメラ50におけるライブビューを利用した撮影動作を例に挙げて説明する。
<Shooting Operation of Electronic Camera 50>
In the present embodiment, since live view is emphasized, a shooting operation using the live view in the electronic camera 50 will be described as an example.

画像の撮影時(撮影モード)には、電子カメラ50が先ずライブビューの動作に入る。ライブビューの動作では、撮像回路52を連続出力モードに設定し、30fpsや60fpsのフレームレートで撮像(露光)と画像データの出力を繰り返す。ライブビューでは、撮影者が被写体の生映像をLCDパネル57で見ながら撮影の構図を決めたり、自動露出(AE)のための測光演算や自動焦点調整(AF)を電子カメラ50側で行ったりする。   At the time of shooting an image (shooting mode), the electronic camera 50 first enters a live view operation. In the live view operation, the imaging circuit 52 is set to the continuous output mode, and imaging (exposure) and output of image data are repeated at a frame rate of 30 fps or 60 fps. In the live view, the photographer decides the composition of the shooting while viewing the live image of the subject on the LCD panel 57, or performs photometric calculation for automatic exposure (AE) and automatic focus adjustment (AF) on the electronic camera 50 side. To do.

電子カメラ内蔵のLCDパネル57は、VGA(640×480)程度のものが多く、LCDパネル57に表示する生映像(スルー画像)のYCbCrデータもその程度で済む。スルー画像は、記録画像よりも画像サイズが小さいので、ライブビューでは、1ステップ処理を用いる。具体的には、ライブビューでは、撮像回路52から連続的(例えば30fps或いは60fps)に出力された画像データを画像処理回路51aに入力し、その画像処理回路51aは、1ステップ処理を行ってスルー画のYCbCrデータを生成する。このスルー画のデータは、一旦DRAM53上のYCbCrバッファ53aに記憶され、次いで、スルー画のデータが読み出されてLCDコントローラ51dに送られLCDパネル57に表示される。この動作を毎フレーム繰り返すことで被写体の生映像を見ることができる。この時の画像データの流れを図12に示す。   The LCD panel 57 with a built-in electronic camera is often about VGA (640 × 480), and YCbCr data of a live image (through image) displayed on the LCD panel 57 is sufficient. Since the through image has a smaller image size than the recorded image, the live view uses a one-step process. Specifically, in live view, image data output continuously (for example, 30 fps or 60 fps) from the imaging circuit 52 is input to the image processing circuit 51a, and the image processing circuit 51a performs a one-step process to perform through. Generate YCbCr data for the image. The live view data is temporarily stored in the YCbCr buffer 53a on the DRAM 53, and then live view data is read out and sent to the LCD controller 51d and displayed on the LCD panel 57. By repeating this operation every frame, it is possible to view a live image of the subject. The flow of the image data at this time is shown in FIG.

<電子カメラ50の画像データの流れ>
図12は、電子カメラ50におけるライブビュー動作時の画像データの流れを示す図である。図12では、プリプロセス回路51kとポストプロセス回路51nを1つにまとめて画像処理回路51aとして表しているが、その内部は、図11のようになっている。
ライブビュー中、プリプロセス回路51kは、適宜3A検波を行って3Aバッファ53bから3A評価値を抽出する。
<Flow of image data of electronic camera 50>
FIG. 12 is a diagram illustrating a flow of image data during a live view operation in the electronic camera 50. In FIG. 12, the pre-processing circuit 51k and the post-processing circuit 51n are collectively shown as an image processing circuit 51a, but the inside is as shown in FIG.
During the live view, the preprocess circuit 51k appropriately performs 3A detection and extracts a 3A evaluation value from the 3A buffer 53b.

図12では、この3A評価値がDRAM53上の3Aバッファ53bに記憶されている。3A評価値は、プリプロセス回路51k内の3A検波回路から出力されるので、少し詳しく描くと図11のようになる。プリプロセス回路51kは、この3A評価値に基づいて輝度調整(AE)や、焦点調整(AF)や、ホワイトバランス調整(AWB)を行う。これによってスルー画の明るさと色が適切に保たれる。   In FIG. 12, the 3A evaluation value is stored in the 3A buffer 53 b on the DRAM 53. Since the 3A evaluation value is output from the 3A detection circuit in the preprocess circuit 51k, it is as shown in FIG. The preprocess circuit 51k performs brightness adjustment (AE), focus adjustment (AF), and white balance adjustment (AWB) based on the 3A evaluation value. As a result, the brightness and color of the through image are maintained appropriately.

測光演算では、静止画撮影の露光条件も計算される。尚、3A評価値の中でデータ量の少ないものは、その検波回路内のSRAM(Static Random Access Memory)に記憶する方がCPU51bからの読み出しが速くなって有利である。プリプロセスでは、欠陥画素補正が行われるが、この欠陥画素の位置(アドレス)を記憶した欠陥画素テーブル53cがDRAM53上に置かれる。プリプロセス回路51k内の欠陥画素補正回路(不図示)は、この欠陥画素テーブル53cの情報を読み出し、その位置の画素が到着したらその周囲の画素から計算された補正値に置き換える処理を行う。   In the photometric calculation, the exposure conditions for still image shooting are also calculated. Of the 3A evaluation values, those having a small amount of data are advantageously stored in an SRAM (Static Random Access Memory) in the detection circuit because reading from the CPU 51b is faster. In the preprocess, defective pixel correction is performed, and a defective pixel table 53 c storing the position (address) of the defective pixel is placed on the DRAM 53. A defective pixel correction circuit (not shown) in the preprocess circuit 51k reads information in the defective pixel table 53c, and performs a process of replacing it with a correction value calculated from the surrounding pixels when the pixel at that position arrives.

このデータの流れを図11と図12に示す。1ステップ処理では、ポストプロセスまで一気に処理されるため、スルー画のYCbCrデータが生成される際のレイテンシが小さい。これにより撮影時のレリーズタイムラグが短縮されるメリットが生まれる。また、1ステップ処理では、画像処理の中間データをDRAM53に記憶することもないのでDRAM53のアクセスが少なく、その分、DRAM53の帯域を余り占有しないで済むメリットもある。このライブビューの動作は、静止画撮影モードの場合も、動画撮影モードの場合も余り変わらない。ライブビュー中にレリーズ釦56が全押しされるとその時の撮影モードに応じて静止画撮影や動画撮影の動作に移る。   The data flow is shown in FIGS. In the one-step processing, since the post-processing is performed all at once, the latency when the YCbCr data of the through image is generated is small. As a result, there is an advantage that the release time lag at the time of shooting is shortened. Further, in the one-step processing, intermediate data for image processing is not stored in the DRAM 53, so that there is little access to the DRAM 53, and there is an advantage that the bandwidth of the DRAM 53 is not so much occupied. The live view operation is not much different in both the still image shooting mode and the moving image shooting mode. When the release button 56 is fully pressed during live view, the operation proceeds to still image shooting or moving image shooting according to the shooting mode at that time.

<静止画撮影の動作>
次に、電子カメラ50の静止画撮影の動作について説明する。図10に示すレリーズ釦56が全押しされた時には、その前に半押しが検出されるので焦点調整(AF)が先に行われ、それが完了すると静止画の撮影動作に移るステップを経る。静止画撮影動作に移ると直前に行われた測光演算を基に被写体の自動露出(AE)が行われる。目標の露光量に達すると露光が終了し、次いで、撮影された静止画の画像データ(以下「静止画データ」という。)が撮像回路52から出力される。
<Operation of still image shooting>
Next, a still image shooting operation of the electronic camera 50 will be described. When the release button 56 shown in FIG. 10 is fully pressed, a half-press is detected before that, so that focus adjustment (AF) is performed first, and when this is completed, a step moves to a still image shooting operation. When moving to a still image shooting operation, automatic exposure (AE) of the subject is performed based on the photometric calculation performed immediately before. When the target exposure amount is reached, the exposure is terminated, and then image data of the captured still image (hereinafter referred to as “still image data”) is output from the imaging circuit 52.

図13は、電子カメラ50における静止画撮影時の画像データの流れを示す図である。この画像データは、図13に示す通り、バックエンジン51の入力撮像インターフェース51jで受信され、次いで、画像処理回路51aに入る。撮影された静止画は、一般的に解像度がスルー画等の動画と比較して大きいので、画像処理回路51aは、2ステップ処理を実行する。その理由を以下に説明する。ポストプロセスは、2次元的なフィルタ処理を幾つも含むが、1枚の画像をプログレシブ走査によって処理していくには、それぞれのフィルタ回路が垂直タップ数分のラインメモリを持たなければならず、回路規模が増大する問題があった。   FIG. 13 is a diagram illustrating a flow of image data when the electronic camera 50 captures a still image. This image data is received by the input imaging interface 51j of the back engine 51 as shown in FIG. 13, and then enters the image processing circuit 51a. Since the captured still image is generally larger in resolution than a moving image such as a through image, the image processing circuit 51a executes a two-step process. The reason will be described below. The post process includes a number of two-dimensional filter processes. In order to process one image by progressive scanning, each filter circuit must have a line memory corresponding to the number of vertical taps. There was a problem that the circuit scale increased.

中には、タップ数の多いフィルタ回路もあり、それが図11に示すポストプロセス回路51nの肥大化を加速させている。スルー画に比べて1枚の巨大な画像(例えば50Mの容量)を1回で処理するには、その画像の横サイズ分の記憶容量を持つラインメモリが必要であるが、そのような大容量のラインメモリをフィルタ回路毎にそのタップ数分だけ持つことは困難になっている。   Some filter circuits have a large number of taps, which accelerates the enlargement of the post-process circuit 51n shown in FIG. In order to process one huge image (for example, 50M capacity) at a time in comparison with a through image, a line memory having a storage capacity equivalent to the horizontal size of the image is required. It is difficult to have as many line memories as the number of taps for each filter circuit.

そこで、回路規模を抑えるには、(A)フィルタ回路の数やタップ数を減らす、(B)ラインメモリ1本当たりの記憶容量を減らす等の方法が考えられる。条件(A)の方法は、画質に影響し、条件(B)の方法は、1回で処理できる画像の大きさに影響する。画質を重視するのであれば、ラインメモリの記憶容量を減らすことになるが、その場合には、高解像度の画像をどのように処理するかが問題となる。この点については、第2実施形態の電子カメラ2の説明の際、後述する。   In order to reduce the circuit scale, methods such as (A) reducing the number of filter circuits and taps, and (B) reducing the storage capacity per line memory can be considered. The method of condition (A) affects the image quality, and the method of condition (B) affects the size of an image that can be processed at one time. If importance is attached to image quality, the storage capacity of the line memory is reduced. In this case, however, how to process a high-resolution image becomes a problem. This point will be described later when the electronic camera 2 of the second embodiment is described.

<静止画の画像処理の詳細について>
次に、図13を基に静止画の画像処理をもう少し具体的に説明する。撮像回路52から出力された画像データは、バックエンジン51の入力撮像インターフェース51jで受信され、次いで、画像処理回路51aに送られてプリプロセスが施され、更に画像処理回路51aから出力されて一旦図中のRAWバッファ53dに記憶される。この時、画像処理回路51aは、ライブビューと同様に欠陥画素テーブル53cの情報が読み出す。
<Details of still image processing>
Next, the image processing of still images will be described more specifically based on FIG. The image data output from the imaging circuit 52 is received by the input imaging interface 51j of the back engine 51, and then sent to the image processing circuit 51a to be preprocessed and further output from the image processing circuit 51a to be temporarily displayed. It is stored in the middle RAW buffer 53d. At this time, the image processing circuit 51a reads the information of the defective pixel table 53c as in the live view.

但し、撮像回路52から出力される画素数がライブビューと静止画撮影とで異なる場合には、画像処理回路51aは、欠陥画素のアドレスも変わってくるので2つのテーブルを用意しておき使い分ける。図13中、撮像回路52から出て入力撮像インターフェース51jを通り、次いで、画像処理回路51aを経由してRAWバッファ53dに向かう矢印が、静止画データの流れを表し、欠陥画素テーブル53cから画像処理回路51aに向かう矢印の方が欠陥画素情報の流れを表す。この部分をもう少し詳しく示したものが図11である。   However, when the number of pixels output from the imaging circuit 52 differs between live view and still image shooting, the image processing circuit 51a also prepares two tables for use because the address of the defective pixel also changes. In FIG. 13, an arrow that exits from the imaging circuit 52, passes through the input imaging interface 51j, and then goes to the RAW buffer 53d via the image processing circuit 51a represents the flow of still image data. The arrow toward the circuit 51a represents the flow of defective pixel information. FIG. 11 shows this part in more detail.

図11に示す通り、静止画データは、「撮像回路52→入力撮像インターフェース51j→プリプロセス回路51k→RAWバッファ53d」と流れ、欠陥画素情報は「欠陥画素テーブル53c→プリプロセス回路51k」と流れる。これが1ステップ目の処理である。   As shown in FIG. 11, still image data flows as “imaging circuit 52 → input imaging interface 51j → preprocess circuit 51k → RAW buffer 53d”, and defective pixel information flows as “defective pixel table 53c → preprocess circuit 51k”. . This is the first step.

続く2ステップ目では、ポストプロセス回路51nは、短冊分割に基づいて、ポストプロセスを実行する。ここで、短冊分割について説明する。   In the subsequent second step, the post process circuit 51n executes the post process based on the strip division. Here, strip division will be described.

図15は、静止画の短冊分割の処理の一例を説明する図である。図15に示す方法により、ポストプロセス回路51nは、大きな画像も処理することができる。つまり、ポストプロセス回路51nは、1枚の大きな画像を図の中の(1)、(2)、(3)のように横サイズの小さな短冊状の部分画像に分割し、この短冊画像を1つずつ処理してDRAM53上で繋ぎ合わせ1枚の画像31を完成させる。   FIG. 15 is a diagram for explaining an example of a strip dividing process for still images. The post process circuit 51n can process a large image by the method shown in FIG. That is, the post-processing circuit 51n divides one large image into small partial images having a small horizontal size as shown in (1), (2), and (3) in the figure. Each image is processed and stitched on the DRAM 53 to complete one image 31.

短冊画像は、横サイズが小さいのでフィルタ回路のラインメモリも小容量で済む。1本のラインメモリの記憶容量から処理可能な短冊画像の横サイズが決まるので、ポストプロセス回路51nは、それを基に元の画像を何個の短冊画像に分割するかを決定する。解像度の大きな画像であれば分割される短冊画像の数も増える。1枚の画像の横サイズが1本のラインメモリの記憶容量以下であれば、ポストプロセス回路51nは、短冊分割せずに処理することができる。図中の実線及び点線の矢印は、各短冊画像の画素データの走査順を表している。上述したフィルタ回路では横(水平)方向のフィルタ処理も行われるので、短冊画像の境界部では、ポストプロセス回路51nは、全フィルタ回路の水平タップの合計分だけ画素が重なるように分割する。   Since the strip image has a small horizontal size, the line memory of the filter circuit can be small in capacity. Since the horizontal size of the strip image that can be processed is determined from the storage capacity of one line memory, the post-processing circuit 51n determines how many strip images the original image is divided based on. If the image has a large resolution, the number of strip images to be divided increases. If the horizontal size of one image is less than or equal to the storage capacity of one line memory, the post process circuit 51n can process without dividing the strip. The solid and dotted arrows in the figure indicate the scanning order of the pixel data of each strip image. Since the filter circuit described above also performs filtering in the horizontal (horizontal) direction, the post-processing circuit 51n divides the pixels so that the pixels overlap each other by the total number of horizontal taps of all filter circuits.

図15では、この重なり部分を示す帯び32、33を明示的にそれぞれ表している。全てのフィルタ処理が済むと境界部では、両方の短冊画像からそれぞれ水平タップ数の半分ずつ画素が減るので、処理後の短冊画像は、境界部で良く合って繋がることになる。図中の縦の点線は、短冊画像の繋ぎ目を表している。この重なり部分ではDRAM53から画素のデータが二重(2回)に読み読み出されるため、短冊画像の横サイズを小さくし過ぎると重なり部分が増大してデータの読み出し回数が増え効率が低下する弊害が出る。この短冊分割処理は、ポストプロセスだけで、プリプロセスの方は通常1フレームの画像全体を1回で処理している。   In FIG. 15, bands 32 and 33 indicating the overlapping portions are explicitly shown. When all the filtering processes are completed, the number of pixels is reduced by half of the number of horizontal taps from both strip images at the boundary portion, so that the processed strip images are well connected at the boundary portion. A vertical dotted line in the figure represents a joint of strip images. In this overlapping portion, pixel data is read and read out from the DRAM 53 twice (twice). Therefore, if the horizontal size of the strip image is made too small, the overlapping portion increases, the number of times of data reading increases, and the efficiency decreases. Get out. This strip dividing process is only a post process, and the preprocess usually processes an entire image of one frame at a time.

すなわち、ポストプロセス回路51nは、プリプロセスの施されたBayerデータをRAWバッファ53d上で幾つかの短冊画像に分割し、それらを1つずつ読み出し画像処理回路51aに入力してポストプロセスを施し、ポストプロセスの施されたYCbCrデータをYCbCrバッファ53aに記憶する。この処理を全ての短冊画像について実行すると、YCbCrバッファ53a上では、画像処理が完了して1つに繋がった画像が出来上がる。   That is, the post process circuit 51n divides the preprocessed Bayer data into several strip images on the RAW buffer 53d, reads them one by one and inputs them to the image processing circuit 51a, and performs the post process. The post-processed YCbCr data is stored in the YCbCr buffer 53a. When this processing is executed for all the strip images, the image processing is completed on the YCbCr buffer 53a, and one connected image is completed.

図13において、RAWバッファ53dから画像処理回路51aを経由してYCbCrバッファ53aに向かう矢印がこの時の画像データの流れを表す。これをもう少し詳しく示したものが図11である。   In FIG. 13, the arrow from the RAW buffer 53d to the YCbCr buffer 53a via the image processing circuit 51a represents the flow of image data at this time. FIG. 11 shows this in more detail.

図11に示す通り、各短冊画像のBayerデータは、「RAWバッファ53d→セレクタ51m→ポストプロセス回路51n→YCbCrバッファ53a」と流れる。これが2ステップ目の処理である。   As shown in FIG. 11, the Bayer data of each strip image flows as “RAW buffer 53d → selector 51m → post process circuit 51n → YCbCr buffer 53a”. This is the second step.

図13では、DRAM53上にYCbCrバッファ53aが3つ設けられているが、これはポストプロセスで3つの異なるサイズの画像を作成するからである。1つ目は、主たる記録画像である大サイズの主画像、2つ目は、撮影結果確認用の中サイズの表示用画像(フリーズ画)、3つ目は、検索用の小サイズのサムネイル(縮小画像)で、これらは全てYCbCrデータの画像である。ポストプロセス回路51nがこれら3つの画像を並列に作成して出力する機能があると、1回の処理で全ての画像が生成されるので処理時間が短縮される。   In FIG. 13, three YCbCr buffers 53a are provided on the DRAM 53 because three different size images are created by the post process. The first is a large main image that is the main recorded image, the second is a medium size display image (freeze image) for confirming the shooting result, and the third is a small thumbnail for search ( These are all images of YCbCr data. If the post-processing circuit 51n has a function of creating and outputting these three images in parallel, the processing time is shortened because all images are generated in one process.

そのような機能が無い場合には、シーケンシャルに作成するので時間が掛かる。ポストプロセスでは、一般に短冊分割が行われるので更に低速となる。静止画は、一般に解像度がスルー画に比べて大きいため短冊分割でポストプロセスを実行する必要があり、それがプリプロセスとポストプロセスを分けて行う2ステップ処理の一因になっている。   If there is no such function, it takes time because it is created sequentially. In the post process, since the strip division is generally performed, the speed is further reduced. Since a still image generally has a resolution higher than that of a through image, it is necessary to execute a post process by dividing into strips, which contributes to a two-step process in which pre-process and post-process are separately performed.

一方、スルー画は、解像度が静止画に比べて小さいのでライブビューでは、プリプロセスとポストプロセスを一体的に行う1ステップ処理が用いられるが、その時には補助的な処理が必要なこともあるので説明しておく。ライブビューの時に撮像回路52から出力される画像データは、必ずしも横サイズ(横画素数)が小さいわけではない。撮像センサで画素加算や間引きが行われる場合、出力される画素数も減るが、その場合でも画像の横サイズは、大きいことが多い。   On the other hand, since the live view has a smaller resolution than the still image, the live view uses a one-step process in which pre-processing and post-processing are integrated, but at that time, auxiliary processing may be required. Let me explain. The image data output from the imaging circuit 52 during live view does not necessarily have a small horizontal size (number of horizontal pixels). When pixel addition or thinning is performed by the image sensor, the number of output pixels also decreases, but even in that case, the horizontal size of the image is often large.

そのため、ライブビューの際に撮像回路52から横サイズの大きな画像データが出力されると上述したフィルタ回路のラインメモリの記憶容量が超えることがあり、バックエンジン51では、図11に示すプリプロセス回路51kから出力された画像データを直接ポストプロセス回路51nに入力してポストプロセスを施すという1ステップ処理ができないことになる。   For this reason, when image data having a large horizontal size is output from the imaging circuit 52 during live view, the storage capacity of the line memory of the filter circuit described above may be exceeded. In the back engine 51, the preprocessing circuit shown in FIG. One-step processing in which the image data output from 51k is directly input to the post-processing circuit 51n and post-processing is performed cannot be performed.

しかし、ライブビューの場合には、最終的に生成されるスルー画のYCbCrデータの画像サイズが小さいという理由で、1ステップ処理ができなくなる問題が回避される。短冊分割を行うのは、大きな画像サイズのままポストプロセスを施すためであるが、ライブビューの場合には、小さな画像サイズのスルー画を生成するだけなのでポストプロセスの前に横方向の縮小を行っても構わない。   However, in the case of live view, the problem that the one-step process cannot be performed is avoided because the image size of the finally generated through image YCbCr data is small. The reason for dividing the strip is to perform post-processing with a large image size, but in the case of live view, only a through image with a small image size is generated, so horizontal reduction is performed before post-processing. It doesn't matter.

つまり、バックエンジン51では、ポストプロセス回路51nの前に横方向の画像縮小回路(不図示)を設け、これで短冊分割が不要になるまで横サイズを縮小してから画像データをポストプロセス回路51nに入力する。ポストプロセス回路51nは、短冊分割なしで目標サイズのスルー画像を生成しなければならないので、内部のフィルタ回路は、そのサイズに対応できるだけのラインメモリを持つ必要がある。スルー画のサイズがVGA(640×480)であればその程度のラインメモリを持つことは困難ではない。   In other words, in the back engine 51, a horizontal image reduction circuit (not shown) is provided in front of the post-processing circuit 51n, and the horizontal size is reduced until strip division is no longer necessary. To enter. Since the post-process circuit 51n must generate a through image of a target size without dividing the strip, the internal filter circuit needs to have a line memory sufficient for the size. If the size of the through image is VGA (640 × 480), it is not difficult to have such a line memory.

尚、ライブビューの際、必要以上のライン数の画像データが撮像回路52から出力されるのであれば、バックエンジン51では、横方向の画像縮小回路の他に縦(垂直)方向の画像縮小回路(不図示)を設けると良い。これにより、バックエンジン51では、不要な画像データをポストプロセス回路51nに流さないで済む。この画像縮小処理は、プリプロセスやポストプロセスにおいて本質的なものではなく、1ステップ処理を行うために設けられた補助的な処理である。   In the live view, if image data having more lines than necessary is output from the imaging circuit 52, the back engine 51 uses an image reduction circuit in the vertical (vertical) direction in addition to the image reduction circuit in the horizontal direction. (Not shown) may be provided. Thereby, the back engine 51 does not have to send unnecessary image data to the post-process circuit 51n. This image reduction process is not essential in the pre-process and post-process, and is an auxiliary process provided for performing a one-step process.

図11において、バックエンジン51では、この画像縮小回路を独立に設けても良いが、予めプリプロセス回路51kかポストプロセス回路51nの適切な場所に入れておくこともできる。例えば、プリプロセス回路51kの最後か、ポストプロセス回路51nの先頭に入れておく。ライブビューの時には、ポストプロセス回路51nは、この画像縮小回路を「実行」に設定して1ステップ処理を行い、静止画撮影の時には、ポストプロセス回路51nは、この画像縮小回路を「バイパス」に設定して2ステップ処理を行う。これにより、ポストプロセス回路51nは、それぞれの動作に適した画像処理を行うことができる。   In FIG. 11, in the back engine 51, this image reduction circuit may be provided independently, but it can also be previously placed in an appropriate place in the pre-process circuit 51k or the post-process circuit 51n. For example, it is placed at the end of the pre-process circuit 51k or the head of the post-process circuit 51n. At the time of live view, the post-processing circuit 51n sets this image reduction circuit to “execute” and performs one-step processing. At the time of still image shooting, the post-processing circuit 51n sets the image reduction circuit to “bypass”. Set and perform two-step processing. Thereby, the post-processing circuit 51n can perform image processing suitable for each operation.

尚、2ステップ処理は、短冊分割でポストプロセスを実行するためであるが、それとは別にもう1つ、2ステップ処理を行う理由がある。それは、最適な自動ホワイトバランス調整(AWB)を行うためである。ポストプロセスにはWB調整も含まれているが、それを実行するには、WBゲイン(WB:White Balance)を設定する必要がある。ポストプロセス回路51nは、AWB評価値を基にWBアルゴリズムを実行してWBゲインを決定するが、これを何時行うかという問題がある。ライブビュー動作時のWBゲインをそのまま使うこともできるが、撮影した静止画の実データに基づいていないという欠点がある。ポストプロセス回路51nは、より適切なAWB調整を行うため、その静止画データから抽出したAWB評価値を基にWBゲインを決定する必要がある。   The two-step process is for executing the post process by dividing into strips, but there is another reason for performing the two-step process separately. This is because optimal white balance adjustment (AWB) is performed. WB adjustment is included in the post process, but in order to execute it, it is necessary to set a WB gain (WB: White Balance). The post-process circuit 51n determines the WB gain by executing the WB algorithm based on the AWB evaluation value, but there is a problem of when to perform this. Although the WB gain at the time of live view operation can be used as it is, there is a drawback that it is not based on the actual data of the captured still image. The post-processing circuit 51n needs to determine the WB gain based on the AWB evaluation value extracted from the still image data in order to perform more appropriate AWB adjustment.

ここで、3A検波は、プリプロセス回路51kで行われるので、撮像回路52から出力された静止画データにプリプロセスを施す際AWB評価値を抽出する。図13では、このAWB評価値がDRAM53上のAWBバッファ53fに記憶されている。画像処理回路51aから出てAWBバッファ53fに向かう矢印が、このAWB評価値の流れを表す。   Here, since the 3A detection is performed by the preprocess circuit 51k, an AWB evaluation value is extracted when preprocessing the still image data output from the imaging circuit 52. In FIG. 13, this AWB evaluation value is stored in the AWB buffer 53 f on the DRAM 53. An arrow from the image processing circuit 51a toward the AWB buffer 53f represents the flow of the AWB evaluation value.

尚、静止画の撮影は、完了しているのでAE評価値とAF評価値の抽出は不要である。この部分をもう少し詳しく示したものが図11であり、AWB評価値は「プリプロセス回路51k→AWBバッファ(図中の3Aバッファの1つ)53f」と流れる。このAWB評価値を基にAWBアルゴリズムが実行されWBゲインが決まる。このWBゲインを図11のポストプロセス回路51nに設定し、次いで、ポストプロセス回路51nは、図中のRAWバッファ53dからプリプロセスの施されたBayerデータを読み出して、ポストプロセスを施す。   Note that the AE evaluation value and the AF evaluation value need not be extracted because the shooting of the still image has been completed. FIG. 11 shows this part in more detail, and the AWB evaluation value flows as “preprocess circuit 51k → AWB buffer (one of 3A buffers in the figure) 53f”. Based on this AWB evaluation value, the AWB algorithm is executed to determine the WB gain. This WB gain is set in the post-process circuit 51n of FIG. 11, and then the post-process circuit 51n reads the preprocessed Bayer data from the RAW buffer 53d in the figure and performs the post-process.

つまり、撮影された静止画データの画像処理は、「(プリプロセス/AWB検波)→AWBアルゴリズム実行→WBゲイン設定→ポストプロセス」の順に行われるため、2ステップ処理が必要となる。以上が、静止画の画像処理の内容である。   That is, since the image processing of the captured still image data is performed in the order of “(preprocess / AWB detection) → AWB algorithm execution → WB gain setting → post process”, two-step processing is necessary. The above is the content of the still image processing.

<静止画撮影時の画像処理について>
次に、静止画撮影時の画像処理について更に説明を続ける。画像処理では、3種類(3つ)の画像(主画像、フリーズ画、サムネイル)が作成されるので、静止画撮影後、撮影結果が確認できるように先ずフリーズ画がLCDパネル57に表示される。
<Image processing during still image shooting>
Next, further description of image processing during still image shooting will be continued. In the image processing, since three types (three) of images (main image, freeze image, thumbnail) are created, after the still image is captured, the freeze image is first displayed on the LCD panel 57 so that the captured result can be confirmed. .

具体的には、図10に示すCPU51bの指示により、不図示のDMAコントローラ(DMAC)は、図13のYCbCrバッファ53aの1つからフリーズ画を読み出し、それを図中のLCDコントローラ51dに送ってLCDパネル57に表示させる。図13では、YCbCrバッファ53aから出てLCDコントローラ51dを経由し、LCDパネル57に向かう矢印がこのフリーズ画の流れを表す。Exif(Exchangeable Image File Format)/DCF規格では、JPEG圧縮された主画像とサムネイルを記録するので、フリーズ画の表示と並行してこれら2つの画像をJPEG圧縮する。フリーズ画を一緒に記録しておくと再生が高速に行われるので、JPEGコーデック51cは、フリーズ画もJPEG圧縮しておくことにする。   Specifically, in response to an instruction from the CPU 51b shown in FIG. 10, a DMA controller (DMAC) (not shown) reads a freeze image from one of the YCbCr buffers 53a in FIG. 13, and sends it to the LCD controller 51d in the figure. It is displayed on the LCD panel 57. In FIG. 13, the arrow that goes out of the YCbCr buffer 53a and goes through the LCD controller 51d toward the LCD panel 57 represents the flow of the freeze image. In the Exif (Exchangeable Image File Format) / DCF standard, a JPEG-compressed main image and thumbnail are recorded, and these two images are JPEG-compressed in parallel with the display of the freeze image. If the freeze image is recorded together, the reproduction is performed at a high speed. Therefore, the JPEG codec 51c determines that the freeze image is also JPEG-compressed.

最近CIPA(Camera & Imaging Products Association)で規格化されたマルチピクチャフォーマット(MPF)では、主画像とサムネイルの他にフリーズ画に相当する「モニタ表示用画像」が記録できるのでそれを利用しても良い。DMAコントローラ(DMAC)は、YCbCrバッファ53aから画像データ(YCbCr)を読み出し、それを図中のJPEGコーデック51cに入力し、JPEGコーデック51cから出力される圧縮データをDRAM53上のJPEGバッファ53e(図では「JPEG」と表記する)に記憶していく。図13では、YCbCrバッファ53aから出てJPEGコーデック51cを通り、JPEGバッファ53eに向かう矢印が、この時のデータの流れを表す。   In the multi-picture format (MPF) recently standardized by CIPA (Camera & Imaging Products Association), it is possible to record “monitor display images” corresponding to freeze images in addition to main images and thumbnails. good. The DMA controller (DMAC) reads the image data (YCbCr) from the YCbCr buffer 53a, inputs it to the JPEG codec 51c in the figure, and outputs the compressed data output from the JPEG codec 51c to the JPEG buffer 53e on the DRAM 53 (in the figure). “JPEG”). In FIG. 13, an arrow that exits from the YCbCr buffer 53a, passes through the JPEG codec 51c, and goes to the JPEG buffer 53e represents the data flow at this time.

DMAコントローラ(DMAC)は、この処理を3つの画像について順次実行する。DMAコントローラ(DMAC)は、3つの画像のJPEG圧縮データをフォーマットに従ってタグ情報と共に1つのJPEGバッファ53e上に配置し、Exif/DCFのファイルやMPFのファイルのファイルイメージを形成していく。このファイルイメージが完成したら、次に、CARDコントローラ51iは、そのデータをメモリカードM1に記録する。つまり、DMAコントローラ(DMAC)は、JPEGバッファ53eからこのファイルイメージを読み出し、それを図中のCARDコントローラ51iに入力してメモリカードM2に記録していく。図13では、JPEGバッファ53eから出てCARDコントローラ51iを通り、メモリカードM2に向かう矢印が、この時のデータの流れを表す。これが終わると静止画のファイルがメモリカードM2に保存され撮影が終了する。   The DMA controller (DMAC) sequentially executes this process for three images. The DMA controller (DMAC) arranges the JPEG compressed data of the three images together with the tag information on one JPEG buffer 53e according to the format, and forms the file image of the Exif / DCF file or the MPF file. When this file image is completed, the CARD controller 51i then records the data on the memory card M1. That is, the DMA controller (DMAC) reads this file image from the JPEG buffer 53e, inputs it to the CARD controller 51i in the figure, and records it on the memory card M2. In FIG. 13, the arrow that exits the JPEG buffer 53e, passes through the CARD controller 51i, and goes to the memory card M2 represents the data flow at this time. When this is finished, the still image file is saved in the memory card M2 and the shooting is finished.

以上は、1枚の静止画を撮影する場合(単写)の処理であるが、単純にこれを繰り返しても高速な連写とはならない。撮影した静止画がメモリカードM2に記録されるまで、撮像回路52は、次の撮影に入らないからである。   The above is the processing for shooting a single still image (single shot), but simply repeating this does not result in high-speed continuous shooting. This is because the imaging circuit 52 does not start the next shooting until the shot still image is recorded in the memory card M2.

静止画撮影の動作は、(I)露光/画像データ出力/プリプロセス、(II)ポストプロセス、(III)フリーズ画表示/JPEG圧縮、(IV)メモリカードM2への記録からなる4つの処理に大別されるが、これらを並列に実行すれば高速に連写を行うことができる。(I)の処理では、撮像回路52とプリプロセス回路51kとが使われ、(II)の処理では、ポストプロセス回路51nが使われ、(III)の処理では、LCDコントローラ51dとLCDパネル57とJPEGコーデック51cが使われ、(IV)の処理では、CARDコントローラ51iとメモリカードM2が使われるが、それぞれの処理で使われるリソースは競合していないことが分かる。   The still image shooting operation includes four processes consisting of (I) exposure / image data output / preprocess, (II) post process, (III) freeze image display / JPEG compression, and (IV) recording to the memory card M2. Although broadly divided, if these are executed in parallel, continuous shooting can be performed at high speed. In the process (I), the imaging circuit 52 and the pre-process circuit 51k are used. In the process (II), the post-process circuit 51n is used. In the process (III), the LCD controller 51d and the LCD panel 57 are used. The JPEG codec 51c is used, and in the process (IV), the CARD controller 51i and the memory card M2 are used, but it can be seen that the resources used in each process do not compete.

従って、バックエンジン51は、これらの処理を並列に実行することができる。並列処理が行われるには更に条件(A)、(B)があって、具体的には、(A)処理前のデータ(ソース・データ)が用意されていること、(B)処理後のデータを記憶するバッファメモリが空いていることの2つである。   Therefore, the back engine 51 can execute these processes in parallel. There are further conditions (A) and (B) for performing parallel processing. Specifically, (A) pre-processing data (source data) is prepared, (B) post-processing The second is that the buffer memory for storing data is free.

例えば、RAWバッファ53dからプリプロセスの施されたBayerデータを読み出してポストプロセスを施している間は、RAWバッファ53dが空いていないので、次のコマの静止画を撮影してプリプロセスの施されたBayerデータをそこに記憶することはできない。同じく、バックエンジン51では、YCbCrバッファ53aから主画像を読み出してJPEG圧縮を施している間、YCbCrバッファ53aが空いていないので、次のコマの主画像を作成してそこに記憶することはできない。   For example, while the preprocessed Bayer data is read from the RAW buffer 53d and the post process is performed, the RAW buffer 53d is not empty, so a still image of the next frame is captured and the pre process is performed. Bayer data cannot be stored there. Similarly, in the back engine 51, while the main image is read from the YCbCr buffer 53a and JPEG compression is performed, the YCbCr buffer 53a is not empty, so the main image of the next frame cannot be created and stored therein. .

逆に、前のコマの処理が早く終了してバッファメモリが空いていても、次のコマのソース・データが用意されていない時には、バックエンジン51では、その処理を実行することができない。つまり、バックエンジン51では、条件(A)、(B)が満たされている間、4つの処理(I)〜(IV)を並列に実行し、満たされない条件が出てきた時には、それに対応する処理を停止する動作になる。これらの条件ができるだけ満たされるようにするには、図13のRAWバッファ53d、YCbCrバッファ53a、JPEGバッファ53eをそれぞれ2つ用意すると良い。   On the contrary, even if the processing of the previous frame is completed early and the buffer memory is free, when the source data of the next frame is not prepared, the back engine 51 cannot execute the processing. That is, in the back engine 51, while the conditions (A) and (B) are satisfied, the four processes (I) to (IV) are executed in parallel. The operation stops. In order to satisfy these conditions as much as possible, two RAW buffers 53d, YCbCr buffers 53a, and JPEG buffers 53e shown in FIG. 13 may be prepared.

つまり、バックエンジン51では、JPEGバッファ53eに記憶された1コマ目のファイルイメージを読み出してメモリカードM2に記録しつつ、それと並行してYCbCrバッファ53aに記憶された2コマ目の3つの画像(主画像、フリーズ画及びサムネイル)をJPEG圧縮して別のJPEGバッファ53eに記憶する。それと並行して、バックエンジン51では、RAWバッファ53dに記憶され3コマ目のBayerデータにポストプロセスを施して別のYCbCrバッファ53aに記憶し、それと並行して4コマ目の静止画データにプリプロセスを施して別のRAWバッファ53dに記憶する並列処理が可能になる。   In other words, the back engine 51 reads out the first frame file image stored in the JPEG buffer 53e and records it in the memory card M2, and at the same time, stores the three images in the second frame stored in the YCbCr buffer 53a ( Main image, freeze image and thumbnail) are JPEG compressed and stored in another JPEG buffer 53e. At the same time, the back engine 51 post-processes the third-bayer Bayer data stored in the RAW buffer 53d and stores it in another YCbCr buffer 53a. Parallel processing is possible in which the process is performed and stored in another RAW buffer 53d.

上記の(I)及び(II)の処理は、RAWバッファ53d、上記の(II)及び(III)の処理は、YCbCrバッファ53a、上記の(III)及び(IV)の処理はJPEGバッファ53eをそれぞれ共有しているので、これらを並列に実行する時には、バックエンジン51では、各処理が必ず異なるバッファを使用するよう排他制御を行う。1コマの処理が終わる度に各処理が2つバッファを入れ換えるようにすれば、この並列処理(連写)を継続して続けることができる。   The processes (I) and (II) are performed by using the RAW buffer 53d, the processes (II) and (III) are performed by using the YCbCr buffer 53a, and the processes (III) and (IV) are performed by using the JPEG buffer 53e. Since these are shared, when these are executed in parallel, the back engine 51 performs exclusive control so that each process always uses a different buffer. This parallel processing (continuous shooting) can be continued if each processing replaces two buffers each time one frame processing is completed.

ここで、4つの処理(I)〜(IV)が並列に実行されている時には、バッファメモリに空きがなく、何れかの処理が早く終了しても次のコマの処理に入ることはできない。一方、上述した4つの処理(I)〜(IV)の処理時間が極端に異なる場合、バックエンジン51では、早く終了した処理が他の処理が終わるのを待つので効率的な並列処理ができない。   Here, when the four processes (I) to (IV) are executed in parallel, there is no space in the buffer memory, and even if one of the processes ends early, the process of the next frame cannot be started. On the other hand, when the processing times of the four processes (I) to (IV) described above are extremely different, the back engine 51 waits for other processes to finish after the process that has been completed earlier, so that efficient parallel processing cannot be performed.

従って、処理時間ができるだけ近接するように工夫する。例えばポストプロセスで3つの画像を並列に作成するとか、JPEGコーデック51cを2つ持って符号量制御(Bit Rate Control)に掛かる時間を短縮するとか等の工夫を行う。多くの場合、RAWバッファ53dとYCbCrバッファ53aとを2つずつ設けると共に、JPEGバッファ53eは、例えば5つ設ける。JPEGバッファ53eには、圧縮されたデータが記憶されるので容量が少なく、それを少し多目に設けることは比較的容易である。   Therefore, it is devised so that the processing times are as close as possible. For example, it is possible to devise such as creating three images in parallel in the post process or shortening the time required for code rate control (Bit Rate Control) by having two JPEG codecs 51c. In many cases, two RAW buffers 53d and two YCbCr buffers 53a are provided, and five JPEG buffers 53e are provided, for example. Since the compressed data is stored in the JPEG buffer 53e, the capacity is small, and it is relatively easy to provide a little more.

尚、メモリカードM2は、着脱式であるため、書込速度の遅いメモリカードが使用された時には、連写のコマ速に影響する。JPEGバッファ53eの数が多いと前のコマの記録が終わるのを待たずに次のコマの圧縮データをそこに蓄積していくことができる。そのため、低速のメモリカードが使われた場合でも高速な連写が或る程度長く続けられる。例えば、上述した数のバッファメモリが設けられていると、以下のコマ数だけは高速な連写ができる。   Since the memory card M2 is detachable, when a memory card with a slow writing speed is used, the frame speed for continuous shooting is affected. If the number of JPEG buffers 53e is large, the compressed data of the next frame can be stored there without waiting for the previous frame to be recorded. For this reason, even when a low-speed memory card is used, high-speed continuous shooting continues for a certain length of time. For example, when the above-mentioned number of buffer memories are provided, high-speed continuous shooting can be performed for the following number of frames.

高速連写のコマ数= 2+2+5+α = 9+α ------- (1)
(1)式の中の「9」はバッファメモリの総数であり、これらのバッファメモリが満杯になるまでは必ず高速連写ができることを示している。
Number of frames for high-speed continuous shooting = 2 + 2 + 5 + α = 9 + α ------- (1)
“9” in the equation (1) is the total number of buffer memories, and indicates that high-speed continuous shooting is always possible until these buffer memories are full.

一方、(1)式の中の「α」は、バッファメモリが満杯になるまでに書き込みが終了しているコマ数を表す。このαは、メモリカードM2の書込速度に依存して変わる。これらのバッファメモリが満杯になった後もメモリカードM2の書込速度に応じたコマ速で連写は続けられるが、バッファメモリが満杯になる前のコマ速よりも当然遅くなっている。高速連写の中にはプリプロセスが施されただけの画像データをひたすらRAWバッファ53dに蓄積していくものもあり、撮像回路52からの画像データ出力が極めて速い場合に利用される。   On the other hand, “α” in the equation (1) represents the number of frames for which writing has been completed before the buffer memory becomes full. This α varies depending on the writing speed of the memory card M2. Even after these buffer memories are full, continuous shooting is continued at the frame speed corresponding to the writing speed of the memory card M2, but it is naturally slower than the frame speed before the buffer memory is full. Some high-speed continuous shootings store image data that has only been preprocessed in the RAW buffer 53d, and are used when image data output from the imaging circuit 52 is extremely fast.

この場合、RAWバッファ53dを多数設けることになるが、RAWバッファ53dは、記憶容量が大きいため記憶容量の大きなDRAMが必要になりコストアップに繋がる。電子カメラ50では、バッファメモリの数を増やすことでそれらが満杯になるまで高速な連写は行えるが、それ以降は、バッファメモリに蓄積された画像データを処理しながら撮影を行うのでコマ速は遅くなる。連写のコマ速が突然遅くなる場合、一旦、電子カメラ50は、ライブビューの動作に戻り、焦点調整(AF)や測光演算(AE)や構図合わせをやり直すことも有益である。ライブビューに入っている時間は長くないので速やかに開始される必要がある。   In this case, a large number of RAW buffers 53d are provided. Since the RAW buffer 53d has a large storage capacity, a DRAM having a large storage capacity is required, leading to an increase in cost. In the electronic camera 50, by increasing the number of buffer memories, high-speed continuous shooting can be performed until they are full. However, since then, shooting is performed while processing image data stored in the buffer memory, the frame speed is high. Become slow. When the continuous shooting frame speed suddenly decreases, it is also useful that the electronic camera 50 once returns to the live view operation and performs focus adjustment (AF), photometry calculation (AE), and composition adjustment again. The live view is not long and needs to be started quickly.

しかし、図11に示す画像処理回路51aの構成では、速やかに開始することが困難である。図中のポストプロセス回路51nは、RAWバッファ53dに記憶されているBayerデータにポストプロセスを施すため使われている。RAWバッファ53dの数が多い時には、ポストプロセス回路51nが空くまでに時間が掛かるため、直ぐライブビューに入ることはできない。そこで、電子カメラ50の動作に対応するため、図14の画像処理回路51aを用いる。   However, with the configuration of the image processing circuit 51a shown in FIG. 11, it is difficult to start quickly. A post-processing circuit 51n in the figure is used to post-process the Bayer data stored in the RAW buffer 53d. When the number of RAW buffers 53d is large, it takes time until the post-processing circuit 51n becomes free, so it is not possible to immediately enter the live view. Therefore, in order to correspond to the operation of the electronic camera 50, the image processing circuit 51a of FIG. 14 is used.

図14は、バックエンジン51の画像処理回路51aの他の形態を示すブロック図である。図14では、第1のポストプロセス回路(PostProc1)51p(図では「PostProc1」と表記する。)と、第2のポストプロセス回路(PostProc2)51q(図では「PostProc2」と表記する。)とが設けられており、丁度、図11の画像処理回路51aのポストプロセス回路51nが、第1のポストプロセス回路51pと第2のポストプロセス回路51qとに置き換わっている。第1のポストプロセス回路51pの入力は、プリプロセス回路51kの第1の出力に常時接続されており、ライブビューの動作時のみ、この第1のポストプロセス回路51pが使われる。   FIG. 14 is a block diagram showing another form of the image processing circuit 51 a of the back engine 51. In FIG. 14, a first post-process circuit (PostProc1) 51p (denoted as “PostProc1” in the figure) and a second post-process circuit (PostProc2) 51q (denoted as “PostProc2” in the figure) are included. The post processing circuit 51n of the image processing circuit 51a of FIG. 11 is replaced with a first post processing circuit 51p and a second post processing circuit 51q. The input of the first post-processing circuit 51p is always connected to the first output of the pre-processing circuit 51k, and this first post-processing circuit 51p is used only during the live view operation.

一方、第2のポストプロセス回路51qの方は、撮影した静止画データの処理に使われる。ライブビューの時には、撮像回路52から出力された画像データが先ず入力撮像インターフェース51jで受信される。次いで、画像データは、プリプロセス回路51kに送られてプリプロセスが施され、更にプリプロセス回路51kの第1の出力から出力されて第1のポストプロセス回路51pに入り、そこでポストプロセスが施されてスルー画のYCbCrデータに変換される。最後にそのデータが第1のポストプロセス回路51pから出力されてDRAM53上の第1のYCbCrバッファ(YCbCr1)53gに記憶される。   On the other hand, the second post-processing circuit 51q is used for processing captured still image data. In live view, the image data output from the imaging circuit 52 is first received by the input imaging interface 51j. Next, the image data is sent to the preprocessing circuit 51k and subjected to preprocessing, and further output from the first output of the preprocessing circuit 51k and enters the first postprocessing circuit 51p, where the postprocessing is performed. And converted to YCbCr data of the through image. Finally, the data is output from the first post-processing circuit 51p and stored in the first YCbCr buffer (YCbCr1) 53g on the DRAM 53.

一方、静止画撮影時には、バックエンジン51では、図14中のセレクタ51mの第2の入力データが選択されて第2のポストプロセス回路51qに入力されるように設定すると共に、プリプロセス回路51kの第1の出力と第1のポストプロセス回路51pを非動作状態に設定する。撮像回路52から出力された画像データは、入力撮像インターフェース51jで受信され、次いで、プリプロセス回路51kに送られてプリプロセスが施される。更に、画像データは、プリプロセス回路51kの第2の出力から出力されて一旦DRAM53上のRAWバッファ53dに記憶される。   On the other hand, at the time of still image shooting, the back engine 51 is set so that the second input data of the selector 51m in FIG. 14 is selected and input to the second post-processing circuit 51q and the pre-processing circuit 51k. The first output and the first post-processing circuit 51p are set to a non-operating state. The image data output from the imaging circuit 52 is received by the input imaging interface 51j, and then sent to the preprocessing circuit 51k to be preprocessed. Further, the image data is output from the second output of the preprocess circuit 51 k and temporarily stored in the RAW buffer 53 d on the DRAM 53.

この時、プリプロセス回路51kの第1の出力と第1のポストプロセス回路51pとは、非動作状態に設定されているので、バックエンジン51内では、無駄な電力消費がない。これが1ステップ目である。次いで、プリプロセスの施されたBayerデータがRAWバッファ53dから読み出されてセレクタ51mを通り、更に第2のポストプロセス回路51qに入ってポストプロセスが施される。   At this time, the first output of the pre-process circuit 51k and the first post-process circuit 51p are set in a non-operating state, so that there is no wasteful power consumption in the back engine 51. This is the first step. Next, the preprocessed Bayer data is read from the RAW buffer 53d, passes through the selector 51m, and further enters the second postprocess circuit 51q to be postprocessed.

図14に示す通り、ポストプロセスの施されたYCbCrデータは、第2のポストプロセス回路51qから出力されてDRAM53上に設けられた第2のYCbCrバッファ(YCbCr2)53h(図では「YCbCr2」と表記する。)に記憶される。短冊分割が必要となる大きな画像の場合、ポストプロセス回路51nは、短冊分割でポストプロセスを実行する。これが2ステップ目である。つまり、ライブビューと静止画撮影のポストプロセスでは使用するリソースが全く異なるので、図14の画像処理回路51aを使えば、連写の途中でライブビューに戻って直ぐにそれを開始する動作が可能になる。以上が静止画撮影時の画像処理の全貌である。   As shown in FIG. 14, the post-processed YCbCr data is output from the second post-processing circuit 51q and provided on the DRAM 53 as a second YCbCr buffer (YCbCr2) 53h (in the figure, expressed as “YCbCr2”) ). In the case of a large image that requires strip division, the post-process circuit 51n executes post-processing by strip division. This is the second step. In other words, since the resources used are completely different between the live view and the still image shooting post-process, the image processing circuit 51a of FIG. 14 can be used to return to the live view in the middle of continuous shooting and start it immediately. Become. The above is the whole image processing at the time of still image shooting.

<動画撮影時の画像処理>
次に、動画撮影時の画像処理についても簡単に説明する。動画撮影のユーザインターフェース(GUI)は、ライブビューに似ているが、その裏で動画フレームの圧縮処理(H.264等)とメモリカードへの記録が行われている点が異なる。つまり、表示用の画像(スルー画)と記録用の画像との2つがあり、最近はHD(High Definition)動画の記録も珍しくないので、この2つの画像は異なることが多い。例えば、LCDパネル57への表示(ライブビュー)は、VGA(640×480)のサイズで行い、記録はHD(720/1080ライン)のサイズで行うような場合であり、記録用の画像の方一般にスルー画に比べて解像度が大きい。2つの異なるサイズの画像を作成する場合、図14の画像処理回路は有用である。
<Image processing during movie shooting>
Next, image processing during moving image shooting will be briefly described. The user interface (GUI) for moving image shooting is similar to live view, except that moving image frame compression processing (such as H.264) and recording to a memory card are performed behind it. That is, there are two images, a display image (through image) and a recording image. Recently, HD (High Definition) moving image recording is not uncommon, and the two images are often different. For example, the display (live view) on the LCD panel 57 is performed in the VGA (640 × 480) size and the recording is performed in the HD (720/1080 line) size. In general, the resolution is higher than that of a through image. The image processing circuit of FIG. 14 is useful when creating images of two different sizes.

つまり、バックエンジン51では、図14に示す通り、ライブビューの画像(スルー画)を第1のポストプロセス回路51pで作成し、記録用の画像を第2のポストプロセス回路51qで作成する。動画撮影時は、バックエンジン51では、図14中のセレクタ51mの第1の入力データが選択されて第2のポストプロセス回路51qに入力されるように設定する。この設定をした場合、プリプロセスが施されてプリプロセス回路51kの第1の出力から出力されたBayerデータが第1のポストプロセス回路51pと、第2のポストプロセス回路51qとの両方に入って2つのサイズの画像が並列に作成される。   That is, in the back engine 51, as shown in FIG. 14, a live view image (through image) is created by the first post-processing circuit 51p, and a recording image is created by the second post-processing circuit 51q. During moving image shooting, the back engine 51 is set so that the first input data of the selector 51m in FIG. 14 is selected and input to the second post-processing circuit 51q. When this setting is made, the Bayer data output from the first output of the preprocess circuit 51k after being preprocessed enters both the first post process circuit 51p and the second post process circuit 51q. Two sizes of images are created in parallel.

この時には、最終的に作成された2つのYCbCrデータは、それぞれ、YCbCr1バッファ53g、YCbCr2バッファ53hに記憶されるだけなので、DRAM53へのアクセスが少なくてその帯域を余り占有しないメリットを有する。特にHDの動画をH.264圧縮して記録する場合、DRAM53へのアクセスが多いので、このメリットは有効である。記録用の動画データをプリプロセス回路51kから第2のポストプロセス回路51qに直接流しているため短冊分割することはできず、第2のポストプロセス回路51qは、入力された画像データから少なくともフルHD(1920×1080)の画像(YCbCr)を直接作成するだけの機能を持たなければならない。   At this time, since the two finally created YCbCr data are only stored in the YCbCr1 buffer 53g and the YCbCr2 buffer 53h, respectively, there is an advantage that the access to the DRAM 53 is small and the bandwidth is not so occupied. This advantage is particularly effective when recording HD video with H.264 compression, since there are many accesses to the DRAM 53. Since the moving image data for recording flows directly from the pre-process circuit 51k to the second post-process circuit 51q, it cannot be divided into strips. The second post-process circuit 51q receives at least full HD from the input image data. It must have a function to create a (1920 × 1080) image (YCbCr) directly.

これは、第2のポストプロセス回路51qに含まれるフィルタ回路が記憶容量の大きなラインメモリを持つことを意味するが、今のところ動画のサイズにはフルHDという上限があるのでそれが可能になっている。コストは、多少上がるもののライブビューの画像(スルー画)と記録用の画像の間にレイテンシがなくて扱い易い。電子カメラ50には、この他に記録した静止画や動画を再生したり、記録した動画や静止画データをPC等のホスト機器に転送したりする機能もあるが、これらは本発明に直接関係しないので説明は省略する。   This means that the filter circuit included in the second post-processing circuit 51q has a line memory with a large storage capacity, but at present, this is possible because there is an upper limit of full HD on the size of the moving image. ing. Although the cost increases slightly, there is no latency between the live view image (through image) and the recording image, and it is easy to handle. The electronic camera 50 also has a function of playing back recorded still images and moving images and transferring recorded moving images and still image data to a host device such as a PC, which are directly related to the present invention. The explanation is omitted here.

ここで、図11や図14の画像処理回路51aを持つバックエンジン51を使用することで、図10に示す基本的な電子カメラ50は構成されるが、画像処理回路51aやJPEGコーデック51cやCPU51b等の処理能力を高めることと、DRAM53の帯域を十分大きく取ることにより、バックエンジン51だけで高性能の電子カメラを実現することができる。   Here, the basic electronic camera 50 shown in FIG. 10 is configured by using the back engine 51 having the image processing circuit 51a of FIGS. 11 and 14, but the image processing circuit 51a, the JPEG codec 51c, and the CPU 51b are configured. Thus, a high-performance electronic camera can be realized by using only the back engine 51 by increasing the processing capacity of the DRAM 53 and the bandwidth of the DRAM 53.

しかし、近年、それだけでは対応できないことも起こりつつある。最近ではCCDセンサに代わってCMOSセンサが多く使われるようになったが、例えば10M画素を超えるフルサイズの画像を60fps以上の高フレームレートで読み出すようなCMOSセンサも技術的には実現可能になっている。撮像回路52から出力された画像データは、先ず、バックエンジンの51入力撮像インターフェース51jで受信され、次いで、それは画像処理回路51a内のプリプロセス回路51kに直接入力されるが、その時には、ピクセルレートが問題になる。例えば、高速なCMOSセンサを含む撮像回路52から出力される画像データのピクセルレート(pixel/sec:pps)は以下のようになる。   However, in recent years, things that cannot be dealt with on their own are starting to occur. Recently, a CMOS sensor has come to be used in place of a CCD sensor. However, a CMOS sensor that reads out a full-size image exceeding 10M pixels at a high frame rate of 60 fps or more can be technically realized. ing. The image data output from the imaging circuit 52 is first received by the 51-input imaging interface 51j of the back engine, and then it is directly input to the preprocessing circuit 51k in the image processing circuit 51a. Becomes a problem. For example, the pixel rate (pixel / sec: pps) of the image data output from the imaging circuit 52 including a high-speed CMOS sensor is as follows.

ピクセルレート= 10Mpixel/frame×60frame/sec =600Mpixel/sec ----- (2)
つまり、「600Mpps」の高ピクセルレートの画像データがプリプロセス回路51kを流れることになるが、高ピクセルレートの画像データを画像処理回路51aに流すことは困難である(通常は200Mpps程度)。(2)式のピクセルレートは、1V期間(Vsyncの周期)中のブランキング期間も画像データが出力されるとした平均的なピクセルレートであり、実際はブランキング期間を除いたもっと短い時間に有効データ(10M画素)が全て出力されるのでピクセルレートは600Mppsより高くなる。高ピクセルレートの撮像センサは、高速に画像データを出力するため一般的な撮像センサよりも高速な出力インターフェースを備える。つまり、そのインターフェースは通常より伝送クロックの周波数が高く、しかも多数の画素のデータを並列に出力するためデータライン数も多い。
Pixel rate = 10Mpixel / frame x 60frame / sec = 600Mpixel / sec ----- (2)
That is, image data with a high pixel rate of “600 Mpps” flows through the preprocess circuit 51k, but it is difficult to flow image data with a high pixel rate into the image processing circuit 51a (usually about 200 Mpps). The pixel rate in equation (2) is an average pixel rate that image data is output during the blanking period in the 1V period (Vsync period), and is actually effective for a shorter time excluding the blanking period. Since all data (10M pixels) is output, the pixel rate is higher than 600Mpps. A high pixel rate imaging sensor has a higher-speed output interface than a general imaging sensor in order to output image data at high speed. That is, the interface has a higher transmission clock frequency than usual and also has a large number of data lines because data of a large number of pixels is output in parallel.

従って、一般的な撮像センサを想定するバックエンジンに超高速の撮像センサを含む撮像回路を直接接続することはできないし、高ピクセルレートの画像データをプリプロセス回路に流すことはできない問題があった。高ピクセルレートの撮像センサの開発の意義としては、多画素でフルサイズの画像を(超)高速に連写する用途の他に、ローリングシャッタに起因する動く被写体の画像の歪みを軽減するという技術的な理由がある。CMOSセンサの電子シャッタは、今のところ全画素が同じタイミングで露光されるグローバルシャッタではなく、ライン読み出しのローリングシャッタが用いられている。そのため、動きの速い被写体の場合、撮影された画像が歪む欠点があった。   Therefore, there is a problem that an imaging circuit including an ultra-high-speed imaging sensor cannot be directly connected to a back engine that assumes a general imaging sensor, and image data at a high pixel rate cannot be flowed to a preprocessing circuit. . The significance of developing a high-pixel-rate imaging sensor is the technology to reduce the distortion of the moving subject image caused by the rolling shutter in addition to the (ultra) high-speed continuous shooting of full-size images with multiple pixels. There is a good reason. As the electronic shutter of the CMOS sensor, a line reading rolling shutter is used instead of a global shutter in which all pixels are exposed at the same timing. For this reason, in the case of a fast-moving subject, there has been a drawback that a photographed image is distorted.

この歪みは、有効画素の読み出し時間を短縮することで軽減されるため、高ピクセルレートの撮像センサが考えられたものと思われる。動きによる画像の歪みを無くすのであればメカニカルシャッタを使えば良いのであるが、今度は60fpsのような(超)高速な連写ができない問題があった。   Since this distortion is reduced by shortening the readout time of effective pixels, it seems that an image sensor with a high pixel rate was considered. A mechanical shutter can be used to eliminate image distortion due to movement, but this time there is a problem that (ultra) high-speed continuous shooting like 60 fps cannot be performed.

そこで、本実施形態の電子カメラ1は、フロントエンジン12を追加的に利用することにより高ピクセルレートの撮像センサが出力する画像データをバックエンジン13で処理できるようにした。フロントエンジン12は、上述した通り、高ピクセルレートの撮像センサが出力する画像データを一旦受信し、そのピクセルレートを低減してからバックエンジン13に送信する点を特徴とする。すなわち、一般的な撮像センサを使用する場合には、フロントエンジン12が不要な電子カメラを構成し、高ピクセルレートの撮像センサを使用する場合には、フロントエンジン12を追加的に利用して電子カメラを構成するように、スケーラブルで柔軟なカメラシステムが実現される。以下、電子カメラ1の詳細な構成について説明する。   In view of this, the electronic camera 1 of the present embodiment is configured so that the back engine 13 can process the image data output from the high pixel rate imaging sensor by additionally using the front engine 12. As described above, the front engine 12 is characterized in that it temporarily receives the image data output from the high-pixel-rate image sensor, and transmits the image data to the back engine 13 after reducing the pixel rate. That is, when a general imaging sensor is used, an electronic camera that does not require the front engine 12 is configured, and when a high pixel rate imaging sensor is used, the front engine 12 is additionally used to perform electronic processing. A scalable and flexible camera system is realized so as to constitute a camera. Hereinafter, a detailed configuration of the electronic camera 1 will be described.

<電子カメラ1の詳細な構成>
図2は、フロントエンジン12及びバックエンジン13の内部構成を説明する図である。また、図2では、電子カメラ1におけるライブビュー動作時の画像データの流れを示している。
<Detailed Configuration of Electronic Camera 1>
FIG. 2 is a diagram illustrating the internal configuration of the front engine 12 and the back engine 13. FIG. 2 shows the flow of image data during a live view operation in the electronic camera 1.

ここで、フロントエンジン12を設けるに当たっては、(A)バックエンジン13の既存の信号をできるだけ利用すること(コストの増加を抑える)、(B)ライブビューの時には、スルー画が作成されるまでのレイテンシができるだけ短いこと(レリーズタイムラグを短縮する)、(C)撮影した静止画データを高解像のままバックエンジンに送信すること、(D)バックエンジン13が持っている機能をできるだけ活かすこと、(E)画像撮影の制御(シーケンス)が複雑にならないこと、といった点に配慮している。   Here, when the front engine 12 is provided, (A) the existing signal of the back engine 13 is used as much as possible (suppresses an increase in cost), and (B) a live view is created until a through image is created. The latency is as short as possible (reducing the release time lag), (C) the captured still image data is transmitted to the back engine with high resolution, and (D) the functions of the back engine 13 are utilized as much as possible. (E) Considering that the control (sequence) of image capturing is not complicated.

図2に示す通り、フロントエンジン12は、入力撮像インターフェース(SIFi)12a(図では「SIFi」と表記する。)、画像縮小回路(Resize1)12b(図では「Resize1」と表記する。)、出力撮像インターフェース(SIFo)12c(図では「SIFo」と表記する。)、SIO12d、DRAMC12e、CPU12f及びバス12pを備える。   As shown in FIG. 2, the front engine 12 includes an input imaging interface (SIFi) 12a (denoted as “SIFi” in the figure), an image reduction circuit (Resize1) 12b (denoted as “Resize1” in the figure), and an output. An imaging interface (SIFo) 12c (indicated as “SIFo” in the figure), an SIO 12d, a DRAM C 12e, a CPU 12f, and a bus 12p are provided.

尚、入力撮像インターフェース12a、画像縮小回路12b、出力撮像インターフェース12c、SIO12d、DRAMC12e及びCPU12fは、バス12pを介して互いに接続されている。   The input imaging interface 12a, the image reduction circuit 12b, the output imaging interface 12c, the SIO 12d, the DRAMC 12e, and the CPU 12f are connected to each other via the bus 12p.

また、バックエンジン13は、入力撮像インターフェース(SIFi)13a(図では「SIFi」と表記する。)、画像処理回路13b、JPEGコーデック13c、LCDコントローラ13d、CPU13e、DRAMC13f、CARDコントローラ13g及びバス13qを備える。   The back engine 13 includes an input imaging interface (SIFi) 13a (denoted as “SIFi” in the figure), an image processing circuit 13b, a JPEG codec 13c, an LCD controller 13d, a CPU 13e, a DRAMC 13f, a CARD controller 13g, and a bus 13q. Prepare.

尚、入力撮像インターフェース13a、画像処理回路13b、JPEGコーデック13c、LCDコントローラ13d、CPU13e、DRAMC13f及びCARDコントローラ13gは、バス13qを介して互いに接続されている。フロントエンジン12及びバックエンジン13の内部の詳細は、順次説明して行く。   The input imaging interface 13a, the image processing circuit 13b, the JPEG codec 13c, the LCD controller 13d, the CPU 13e, the DRAMC 13f, and the CARD controller 13g are connected to each other via a bus 13q. Details of the interiors of the front engine 12 and the back engine 13 will be sequentially described.

図1、図2に示す通り、上記の(A)は、フロントエンジン12から出力される画像データをバックエンジン13の入力撮像インターフェース13aが受信することで達成される。これは、上記の(B)を達成する上でも都合が良い。一方、上記の(C)は、フロントエンジン12がDRAM14(ローカルメモリ)を備えることで達成される。上記の(D)は、入力撮像インターフェース13aが画像データを受信して画像処理を施すことにより達成される。   As shown in FIG. 1 and FIG. 2, the above (A) is achieved when the input imaging interface 13 a of the back engine 13 receives the image data output from the front engine 12. This is convenient in achieving the above (B). On the other hand, the above (C) is achieved by the front engine 12 including the DRAM 14 (local memory). The above (D) is achieved when the input imaging interface 13a receives image data and performs image processing.

フロントエンジン12が出力するピクセルレートの低減された画像データは、バックエンジン13の入力撮像インターフェース13aが受信するので、フロントエンジン12は、バックエンジン13に直接繋がる撮像回路11と同じ出力撮像インターフェースを持たなければならない。   Since the image data with the reduced pixel rate output from the front engine 12 is received by the input imaging interface 13a of the back engine 13, the front engine 12 has the same output imaging interface as the imaging circuit 11 directly connected to the back engine 13. There must be.

つまり、インターフェース的には、バックエンジン13の前に撮像回路11が繋がっているように見える。これは、(E)を達成する上で都合が良い。フロントエンジン12は、撮像回路11から出力される高ピクセルレートの画像データを受信するための入力撮像インターフェース12aも備えている。これらの入力撮像インターフェース12a、13aは、Vsync信号で始まる1フレーム期間の中に、Hsync信号で始まるライン並びの画素データを伝送クロックに載せて送る形式のインターフェースである。つまり、先頭の幾つかのラインと最後の幾つかのラインとが有効画素を含まない垂直ブランキング期間において、その間に有効画素を含むラインが配置される。更に有効画素を含むラインでは、先頭の幾つかの画素と最後の幾つかの画素が有効画素を含まない水平ブランキング期間において、その間に有効画素が隙間なく並べられ伝送クロックに載って画素データが転送される。   That is, in terms of interface, it seems that the imaging circuit 11 is connected in front of the back engine 13. This is convenient for achieving (E). The front engine 12 also includes an input imaging interface 12 a for receiving high pixel rate image data output from the imaging circuit 11. These input imaging interfaces 12a and 13a are interfaces of a format in which pixel data in a line sequence starting with an Hsync signal is placed on a transmission clock during one frame period starting with a Vsync signal. That is, in the vertical blanking period in which the first few lines and the last several lines do not include effective pixels, a line including effective pixels is arranged therebetween. Further, in a line including effective pixels, in the horizontal blanking period in which the first several pixels and the last several pixels do not include effective pixels, the effective pixels are arranged without any gap between them and are placed on the transmission clock to obtain pixel data. Transferred.

従って、これらの入力撮像インターフェース12a、13aは、フロントエンジン12のDRAM14に記憶された画像データを読み出してバックエンジン13のDRAM15に記憶させる転送を行うので、特許文献1に記載のインターフェース(RAW−I/F)とは異なるものである。ここで、CCDセンサは、一般的に、CMOSセンサよりも低速読み出しなのでその撮像回路のデータ出力は各bitが分かれたパラレルインターフェースが多い。   Therefore, these input imaging interfaces 12a and 13a read out the image data stored in the DRAM 14 of the front engine 12 and store it in the DRAM 15 of the back engine 13. Therefore, the interface (RAW-I) described in Patent Document 1 is used. / F) is different. Here, since the CCD sensor is generally read at a lower speed than the CMOS sensor, the data output of the imaging circuit has many parallel interfaces in which each bit is divided.

一方、CMOSセンサは、一般的にCCDセンサよりも高速読み出しなのでパラレルインターフェースでは、bit間のいわゆるSkew(歪み)を合わせるのが困難であり、その撮像回路のデータ出力は、各bitをシリアルに伝送するシリアルインターフェースが多い。   On the other hand, since a CMOS sensor generally reads faster than a CCD sensor, it is difficult to match so-called skew (distortion) between bits with a parallel interface, and the data output of the imaging circuit transmits each bit serially. There are many serial interfaces.

シリアルインターフェースの場合には、CMOSセンサは、データと伝送クロックがそれぞれ正極と負極である1対の信号から成り、更に伝送クロックの立ち上がりと立ち下がりの両方でデータの各bitを伝送するDDR(Double Data Rate)動作を行う。この正負1対のデータ伝送路のことを一般に「Lane」と呼んでいる。   In the case of a serial interface, the CMOS sensor is composed of a pair of signals whose data and transmission clock are positive and negative, respectively, and DDR (Double) that transmits each bit of data at both rising and falling edges of the transmission clock. Data Rate) operation. This pair of positive and negative data transmission paths is generally called “Lane”.

VsyncやHsyncの信号は、データの中に埋め込まれた同期コードとして伝送されることが多い。DDR動作を行っているものの伝送クロックの周波数は、ピクセル周波数の「bit数/2」倍必要である。例えば各画素のデータが「12bit」の場合、伝送クロックの周波数がピクセル周波数の6倍になる。より高速に画像データを出力する場合には、Laneの数を増やすが、その場合には、Lane数分の画素が並列に撮像回路から出力される。特別に高速なCMOSセンサでなくてもBayer配列の場合、Laneが2つありR/GrラインのRとGr、それにGb/BラインのGbとBの画素がそれぞれ別のLaneから出力されることが一般的に多い。   Vsync and Hsync signals are often transmitted as synchronization codes embedded in data. Although the DDR operation is performed, the frequency of the transmission clock needs to be “number of bits / 2” times the pixel frequency. For example, when the data of each pixel is “12 bits”, the frequency of the transmission clock is six times the pixel frequency. When outputting image data at a higher speed, the number of Lanes is increased. In this case, pixels corresponding to the number of Lanes are output in parallel from the imaging circuit. Even if it is not a special high-speed CMOS sensor, in the case of the Bayer array, there are two Lanes, and R and Gr on the R / Gr line, and Gb and B pixels on the Gb / B line are output from different Lanes. There are many in general.

つまり、1つのライン上の2色の画素は色分離されて2つの異なるLaneから出力される。従って、高速に画像データを出力するには、この2つのLaneをベースにそれを2倍(4-Lane)、3倍(6-Lane)、4倍(8-Lane)というようにLaneを増やしていく。高ピクセルレートの画像データを出力する撮像回路は、このLane数が多く、且つ伝送クロックの周波数も高い。   That is, the two color pixels on one line are color-separated and output from two different Lanes. Therefore, in order to output image data at high speed, the two Lanes are used as the base, and the Lane is increased to 2 times (4-Lane), 3 times (6-Lane), 4 times (8-Lane). To go. An imaging circuit that outputs high pixel rate image data has a large number of Lanes and a high transmission clock frequency.

フロントエンジン12は、そのような高ピクセルレートの画像データを受信する。一方、フロントエンジン12とバックエンジン13とは、出力撮像インターフェース12cと入力撮像インターフェース13aで繋がっている。この構成は、ライブビューの際に都合が良い。   The front engine 12 receives such high pixel rate image data. On the other hand, the front engine 12 and the back engine 13 are connected by an output imaging interface 12c and an input imaging interface 13a. This configuration is convenient for live view.

つまり、この構成によれば、低レイテンシでスルー画を作成する上記の(B)が達成されるからである。具体的には、フロントエンジン12の内部回路とバックエンジン13の画像処理回路13bとを直結して1つの大きなパイプラインとして動作させる。   That is, according to this configuration, the above (B) for creating a through image with low latency is achieved. Specifically, the internal circuit of the front engine 12 and the image processing circuit 13b of the back engine 13 are directly connected to operate as one large pipeline.

ライブビューの時には、図1の撮像回路11から出力された画像データが、フロントエンジン12の内部回路を通ってバックエンジン13に送られるが、その際、ピクセルレートの低減された画像データがフロントエンジン12から出力されなければならない。この画像データは、フロントエンジン12の内部回路に留まってから出力されるので、撮像回路11から入力された画像データを同じ画素数のまま低速で出力していては自身のパイプラインが溢れてしまう。   During live view, the image data output from the imaging circuit 11 in FIG. 1 is sent to the back engine 13 through the internal circuit of the front engine 12, and at this time, the image data with a reduced pixel rate is transmitted to the front engine. 12 must be output. Since the image data is output after remaining in the internal circuit of the front engine 12, if the image data input from the image pickup circuit 11 is output at a low speed with the same number of pixels, its own pipeline overflows. .

幸いにもライブビューの時には、フロントエンジン12は、VGA(640×480)程度のスルー画を作成するだけなので、そのフロントエンジン12内で画像を適当なサイズまで縮小しても構わない。撮像回路11から送られてくる画像データのピクセルレートは一定なので、フロントエンジン12は、そのフロントエンジン12内でその画像を縮小すればピクセルレートは低減されることになる。   Fortunately, during live view, the front engine 12 only creates a through image of about VGA (640 × 480), so the image may be reduced to an appropriate size within the front engine 12. Since the pixel rate of the image data sent from the imaging circuit 11 is constant, if the front engine 12 reduces the image in the front engine 12, the pixel rate is reduced.

そこで、フロントエンジン12は、ピクセルレート低減手段として先ず画像縮小回路12bを備える。ライブビューの時には、フロントエンジン12は、撮像回路11から受信した画像データをこの画像縮小回路12bで縮小し、バックエンジン13が受信できるまでピクセルレートを低減してから出力する。   Therefore, the front engine 12 first includes an image reduction circuit 12b as pixel rate reduction means. During live view, the front engine 12 reduces the image data received from the imaging circuit 11 by the image reduction circuit 12b, reduces the pixel rate until it can be received by the back engine 13, and outputs the reduced image data.

この時の画像データの流れを図2に示す。撮像回路11から出力された画像データを受信するため、フロントエンジン12では、そのフロントエンジン12内の先頭に入力撮像インターフェース12aが置かれており、次いで、その後方に画像縮小回路12bが置かれ、更にその後方には、出力撮像インターフェース12cが置かれる構造をしている。   The flow of the image data at this time is shown in FIG. In order to receive the image data output from the imaging circuit 11, the front engine 12 has an input imaging interface 12 a placed at the head in the front engine 12, and then an image reduction circuit 12 b placed behind it. Furthermore, an output imaging interface 12c is placed behind the structure.

ここで、「SIFo」は、「Sensor InterFace」と「Output」の文字を組み合わせたものである。撮像回路11から出力された画像データは、先ずフロントエンジン12の入力撮像インターフェース12aで受信され、次いで、画像縮小回路12bに送られて縮小され、更に出力撮像インターフェース12cに送られ、そこからバックエンジン13に向けて出力される。   Here, “SIFo” is a combination of the characters “Sensor InterFace” and “Output”. The image data output from the imaging circuit 11 is first received by the input imaging interface 12a of the front engine 12, and then sent to the image reduction circuit 12b for reduction, and further sent to the output imaging interface 12c, from which the back engine is sent. 13 is output.

画像縮小回路12bでは、横方向の縮小の他、必要に応じて縦方向の縮小も行いバックエンジン13が受信できるまでピクセルレートを低減する。ピクセルレートが低減されてフロントエンジン12の出力撮像インターフェース12cから出力された画像データは、次いで、バックエンジン13の入力撮像インターフェース13aで受信され、更に画像処理回路13bに入ってプリプロセスとポストプロセスが施される。尚、このバックエンジン13におけるプリプロセスとポストプロセスとの処理は、従来の電子カメラ50と変わりがないので説明を省略する。   The image reduction circuit 12b reduces the pixel rate until it can be received by the back engine 13 by performing reduction in the vertical direction as necessary in addition to reduction in the horizontal direction. The image data output from the output imaging interface 12c of the front engine 12 with the pixel rate reduced is then received by the input imaging interface 13a of the back engine 13, and further enters the image processing circuit 13b for pre-processing and post-processing. Applied. Note that the pre-process and post-process in the back engine 13 are the same as those in the conventional electronic camera 50, and thus description thereof is omitted.

図2において、撮像回路11から出てフロントエンジン12内の入力撮像インターフェース12aと画像縮小回路12bと出力撮像インターフェース12cとを貫き、更にバックエンジン13の入力撮像インターフェース13aと画像処理回路13bを通ってDRAM15上のYCbCrバッファ15aに至る矢印が、ライブビューにおける画像データの流れを表しており、最終的に作成されたスルー画のYCbCrデータは、このYCbCrバッファ15aに記憶される。   In FIG. 2, the image pickup circuit 11 passes through the input image pickup interface 12a, the image reduction circuit 12b, and the output image pickup interface 12c in the front engine 12, and further passes through the input image pickup interface 13a and the image processing circuit 13b of the back engine 13. The arrow leading to the YCbCr buffer 15a on the DRAM 15 represents the flow of image data in the live view, and the finally created through image YCbCr data is stored in the YCbCr buffer 15a.

次いで、このYCbCrデータが読み出されてLCDコントローラ13dに送られLCDパネル17に表示される。   Next, this YCbCr data is read out, sent to the LCD controller 13d, and displayed on the LCD panel 17.

一方、ライブビューの間、バックエンジン13では、測光演算/輝度調整(AE)や焦点調整(AF)やホワイトバランス調整(AWB)の処理も行うので、バックエンジン13内の画像処理回路13bは、適宜3A評価値を抽出してDRAM15上の3Aバッファ15bに記憶する。これらのデータの流れをも併せて図2に示すが、これらは基本的に従来の電子カメラ50(図12参照)と同じである。   On the other hand, during live view, the back engine 13 also performs photometric calculation / brightness adjustment (AE), focus adjustment (AF), and white balance adjustment (AWB), so the image processing circuit 13b in the back engine 13 The 3A evaluation value is extracted as appropriate and stored in the 3A buffer 15b on the DRAM 15. These data flows are also shown in FIG. 2, which are basically the same as those of the conventional electronic camera 50 (see FIG. 12).

但し、図2では、欠陥画素テーブル14aがバックエンジン13のDRAM15上に置かれていない点が従来と異なる。これは、フロントエンジン12で画像の縮小が行われるためである。画像の縮小では、一般的にLPF(ローパスフィルタ)処理と間引きとが行われるが、撮像回路11から出力された画像データには、欠陥画素のデータも含まれているのでそのままLPF処理を施すのは不適切である。   However, FIG. 2 is different from the conventional example in that the defective pixel table 14 a is not placed on the DRAM 15 of the back engine 13. This is because the front engine 12 performs image reduction. In image reduction, LPF (low-pass filter) processing and thinning are generally performed. However, since the image data output from the imaging circuit 11 includes defective pixel data, LPF processing is performed as it is. Is inappropriate.

そこで、本実施形態では、フロントエンジン12にも欠陥画素補正回路(DPC:Defect Pixel Correction)を設ける。この欠陥画素補正回路は、画像縮小回路12bの前に置く必要があり、本実施形態では、後々の都合のため入力撮像インターフェース12aの中に欠陥画素補正回路(不図示)を設けている。   Therefore, in the present embodiment, the front engine 12 is also provided with a defective pixel correction circuit (DPC: Defect Pixel Correction). This defective pixel correction circuit needs to be placed in front of the image reduction circuit 12b. In this embodiment, a defective pixel correction circuit (not shown) is provided in the input imaging interface 12a for the convenience of later.

フロントエンジン12には、DRAM14が接続されており欠陥画素テーブル14aはこのDRAM14上に置かれる。ライブビューの時には、この欠陥画素テーブル14aの情報が読み出されて入力撮像インターフェース12aに送られ、撮像回路11から受信した画像データに含まれる欠陥画素のデータを内部の欠陥画素補正回路で補正する。このデータの流れも図2に示す。   A DRAM 14 is connected to the front engine 12, and the defective pixel table 14 a is placed on the DRAM 14. During live view, information in the defective pixel table 14a is read out and sent to the input imaging interface 12a, and defective pixel data included in the image data received from the imaging circuit 11 is corrected by an internal defective pixel correction circuit. . This data flow is also shown in FIG.

撮像回路11から出力された画像データは、フロントエンジン12を経由してバックエンジン13に入るので、従来の電子カメラ50よりもレイテンシは増えるものの、それは高々ラインレベルのレイテンシである。従って、「メモリtoメモリ」の転送を行っている特許文献1の電子カメラのようなフレームレベルのレイテンシは発生せず、本実施形態では、上述の(B)が達成されている。   Since the image data output from the imaging circuit 11 enters the back engine 13 via the front engine 12, the latency is higher than that of the conventional electronic camera 50, but it is at most a line level latency. Therefore, the frame level latency does not occur as in the electronic camera of Patent Document 1 that performs the transfer of “memory to memory”, and the above-described (B) is achieved in this embodiment.

尚、フロントエンジン12には、CPU12fも含まれており、フロントエンジン12内の処理や撮像回路11の駆動は全てこのCPU12fが制御する。   The front engine 12 also includes a CPU 12f, and the CPU 12f controls all the processing in the front engine 12 and driving of the imaging circuit 11.

一方、図1でレリーズ釦18がバックエンジン13に接続されていることからも分かるように、画像の撮影を始めとするカメラ全般の動作はバックエンジン13内のCPU13eが制御する。   On the other hand, as can be seen from the fact that the release button 18 is connected to the back engine 13 in FIG. 1, the CPU 13e in the back engine 13 controls the overall operation of the camera, including image shooting.

従って、フロントエンジン12もバックエンジン13の制御下に置かれており、フロントエンジン12のCPU12fは、バックエンジン13のCPU12eから画像の撮影に必要なコマンドを受けて、そのコマンドの処理を行いそのレスポンスを返す動作を行う。フロントエンジン12側の細部の処理は、CPU12fが行うので、その分バックエンジン13のCPU13eの負荷が減り、電子カメラ1全体の制御がスムーズに行われるメリットがある。   Accordingly, the front engine 12 is also placed under the control of the back engine 13, and the CPU 12f of the front engine 12 receives a command necessary for photographing an image from the CPU 12e of the back engine 13, processes the command, and responds to the command. The operation that returns is performed. Since the detailed processing on the front engine 12 side is performed by the CPU 12f, there is an advantage that the load on the CPU 13e of the back engine 13 is reduced correspondingly and the entire control of the electronic camera 1 is smoothly performed.

その場合には、フロントエンジン12側の処理で必要になる多数のパラメータ類を予めフロントエンジン12のDRAM14に記憶させておき、バックエンジン13のCPU13eは、露光時間や画像サイズや処理モードといった少数のパラメータだけをコマンドと共にフロントエンジン12のCPU12fに送ると通信のオーバーヘッドが少なくて済む。   In that case, a large number of parameters necessary for processing on the front engine 12 side are stored in advance in the DRAM 14 of the front engine 12, and the CPU 13e of the back engine 13 has a small number of parameters such as exposure time, image size, and processing mode. If only the parameters are sent to the CPU 12f of the front engine 12 together with the command, the communication overhead can be reduced.

図2には、フロントエンジン12のCPU12fとバックエンジン13のCPU13eとの間に双方向の矢印が描かれているが、これは、上述したコマンドや少数のパラメータやレスポンスの流れを表す。この通信は、通信インターフェース(幅広の白矢印)を介して行われる。   In FIG. 2, a bidirectional arrow is drawn between the CPU 12 f of the front engine 12 and the CPU 13 e of the back engine 13, and this represents a flow of the above-described command, a small number of parameters, and a response. This communication is performed via a communication interface (wide white arrow).

バックエンジン13のCPU13eは、コマンドの実行に必要な少数のパラメータだけを送信するが、これは通信のオーバーヘッドを減らす他フロントエンジン12を抽象化する役割も持つ。つまり、本実施形態では、フロントエンジン12のハードウェア構成やその細かな動きを考慮しないで済む。そのため、バックエンジン13のCPU13eが実行するプログラムをフロントエンジン12に依存しない形で作成することができる。   The CPU 13e of the back engine 13 transmits only a small number of parameters necessary for command execution. This also serves to abstract the other front engine 12 to reduce communication overhead. That is, in this embodiment, it is not necessary to consider the hardware configuration of the front engine 12 and its detailed movement. Therefore, the program executed by the CPU 13e of the back engine 13 can be created without depending on the front engine 12.

フロントエンジン12内の処理及び撮像回路11の駆動は、フロントエンジン12のCPU12fが実行するプログラムによって制御される。バックエンジン13側のプログラム(アプリケーション)は、上位のAPI(Application Program Interface)を呼び出してその機能を利用する。これは、プログラムの移植性や再利用を高めることになり、ひいては従来の電子カメラのプログラムとの共通化にも繋がる。これを進めることで上述した(E)が達成される。   Processing in the front engine 12 and driving of the imaging circuit 11 are controlled by a program executed by the CPU 12f of the front engine 12. A program (application) on the back engine 13 side calls an upper API (Application Program Interface) and uses its function. This increases the portability and reuse of the program, which in turn leads to the common use with the program of the conventional electronic camera. (E) mentioned above is achieved by advancing this.

フロントエンジン12側のプログラムは、フロントエンジン12に接続された不図示のFlashメモリに記憶しておくこともできるが、通信インターフェースを介してバックエンジン13からフロントエンジン12側のDRAM14にダウンロードしても良い。これにより、Flashメモリがバックエンジン13側の1つで済むためコストアップが抑えられる。   The program on the front engine 12 side can be stored in a flash memory (not shown) connected to the front engine 12, or downloaded from the back engine 13 to the DRAM 14 on the front engine 12 via the communication interface. good. As a result, only one flash memory is required on the back engine 13 side, so that an increase in cost can be suppressed.

後者の場合には、先ず、バックエンジン13のCPU13eが起動してバックエンジン13側の初期化を行う。次いで、フロントエンジン12のCPU12fが実行するプログラムをFlashメモリ16(図1参照)から読み出し、そのプログラムを通信インターフェースを介してフロントエンジン12のDRAM14にダウンロードする。最後に、フロントエンジン12のCPU12fが、そのプログラムを実行するシーケンスになるのでシステムの起動が少し遅くなる。   In the latter case, first, the CPU 13e of the back engine 13 is activated to initialize the back engine 13 side. Next, the program executed by the CPU 12f of the front engine 12 is read from the flash memory 16 (see FIG. 1), and the program is downloaded to the DRAM 14 of the front engine 12 via the communication interface. Finally, since the CPU 12f of the front engine 12 executes a sequence for executing the program, the startup of the system is slightly delayed.

また、バックエンジン13側からプログラムをダウンロードする場合には、フロントエンジン12は、上述した多数のパラメータ類もDRAM14に一緒にダウンロードしておく。ここまでソフトウェアの視点から2種類のエンジンの動きについて説明したが、ライブビューの動作をソフトウェアの視点から再度説明しておく。   When the program is downloaded from the back engine 13 side, the front engine 12 also downloads the above-described many parameters together with the DRAM 14. So far, the two types of engine movement have been described from the viewpoint of software, but the operation of the live view will be described again from the viewpoint of software.

<ライブビューの動作>
図2に示す通り、先ず、バックエンジン13のCPU13eは、画像処理回路13bをライブビューの処理モードに設定し、次いで、入力撮像インターフェース13aを有効(Active)に設定し、最後にライブビューコマンドをフロントエンジン12のCPU12fに送信する。
<Operation of live view>
As shown in FIG. 2, first, the CPU 13e of the back engine 13 sets the image processing circuit 13b to the live view processing mode, then sets the input imaging interface 13a to active (Active), and finally sets the live view command. It transmits to CPU12f of front engine 12.

コマンドの実行に必要なパラメータとしては、撮像回路11の露光時間(電子シャッタタイム)、撮像回路11の出力モード番号(画素数とフレームレート)、画像縮小回路12bの縮小率等であるが、撮像回路11の出力モードが決まるとバックエンジン13が受信できるピクセルレートまで低減するための縮小率が自動的に決まる。   Parameters necessary for command execution include the exposure time (electronic shutter time) of the imaging circuit 11, the output mode number (number of pixels and frame rate) of the imaging circuit 11, the reduction rate of the image reduction circuit 12b, etc. When the output mode of the circuit 11 is determined, a reduction rate for reducing the pixel rate to a level that can be received by the back engine 13 is automatically determined.

そこで、撮像回路11の出力モードと画像の縮小率との組み合わせを決め、フロントエンジン12側でそのテーブルを持つことにすれば縮小率のパラメータは不要になる。画像の縮小率が決まると画像縮小回路のフィルタ係数も決まるので、そのテーブルも併せて持つことにすればフィルタ係数をコマンドと共に送る必要もない。これらのテーブルも起動時に欠陥画素テーブル14aと共にフロントエンジン12のDRAM14にダウンロードしておく。   Therefore, if the combination of the output mode of the imaging circuit 11 and the image reduction ratio is determined and the table is provided on the front engine 12 side, the parameter of the reduction ratio becomes unnecessary. When the image reduction ratio is determined, the filter coefficient of the image reduction circuit is also determined. Therefore, if the table is also included, it is not necessary to send the filter coefficient together with the command. These tables are also downloaded to the DRAM 14 of the front engine 12 together with the defective pixel table 14a at startup.

結局、本実施形態では、フロントエンジン12のハードウェアに依存するパラメータをコマンドと一緒に送る必要はなく、上述した抽象化が達成されていることが分かる。必要なパラメータは、撮像回路11の駆動に関わるものだけであり、この抽象化されたAPIを用いるとフロントエンジン12と撮像回路11の全体が1つの仮想的な撮像回路として扱うことができる(詳細は、図8に示す仮想撮像回路の説明の際、後述する)。   Eventually, in this embodiment, it is not necessary to send parameters depending on the hardware of the front engine 12 together with the command, and it can be seen that the above-described abstraction is achieved. The necessary parameters are only those related to the driving of the imaging circuit 11, and when this abstracted API is used, the entire front engine 12 and the imaging circuit 11 can be handled as one virtual imaging circuit (details). Will be described later in the description of the virtual imaging circuit shown in FIG.

従って、本実施形態では、バックエンジン13からそれらの機能を利用することが容易になり、従来の電子カメラのソフトウェアとの共通化も図れる。これは、ソフトウェアの再利用の観点から好ましい。つまり、実際の電子カメラでは完全な共通化が困難な場合であっても、僅かな修正により他のカメラでも動くプログラムが得られるのは大きなメリットである。   Therefore, in this embodiment, it becomes easy to use those functions from the back engine 13, and it can be shared with the software of the conventional electronic camera. This is preferable from the viewpoint of software reuse. In other words, it is a great advantage that even if it is difficult to completely share with an actual electronic camera, it is possible to obtain a program that can be operated on other cameras with a slight modification.

フロントエンジン12のCPU12fは、上述したコマンドとパラメータを受信するとそれに基づきフロントエンジン12の内部回路と撮像回路11を作動させる。具体的には、フロントエンジン12のCPU12fは、デバイスドライバを呼び出してライブビューの処理を行わせ、ピクセルレートの低減されたライブビューの画像データをバックエンジン13に送信する。   The CPU 12f of the front engine 12 operates the internal circuit of the front engine 12 and the image pickup circuit 11 based on the command and parameter described above. Specifically, the CPU 12 f of the front engine 12 calls a device driver to perform live view processing, and transmits live view image data with a reduced pixel rate to the back engine 13.

従来の電子カメラ50では、図10に示す通り、撮像回路52がバックエンジン51に直接繋がっているため、撮像ドライバもバックエンジン51に実装されており、抽象化されたAPIは最終的にその撮像ドライバを呼び出すことになる。   In the conventional electronic camera 50, as shown in FIG. 10, since the imaging circuit 52 is directly connected to the back engine 51, an imaging driver is also mounted on the back engine 51. Call the driver.

一方、フロントエンジン12を有する本実施形態の電子カメラ1の場合、そのAPIが後述する仮想撮像ドライバ(図9参照)を呼び出すことになる。実際には、この仮想撮像ドライバが更に通信ドライバを呼び出して上述したコマンドとパラメータをフロントエンジン12に送信し、フロントエンジン12のCPU12fは、そのコマンドを受けて仮想撮像ドライバ及び通信ドライバを呼び出し最終的にライブビューの動作を行う。   On the other hand, in the case of the electronic camera 1 according to the present embodiment having the front engine 12, the API calls a virtual imaging driver (see FIG. 9) described later. Actually, the virtual imaging driver further calls the communication driver and transmits the above-described commands and parameters to the front engine 12, and the CPU 12f of the front engine 12 calls the virtual imaging driver and the communication driver in response to the command. Perform live view operation.

以上より、本実施形態の電子カメラ1では、上述した(C)、(D)に加え、(A)、(B)、(E)も達成することができる。尚、ライブビュー中に被写体の明るさが変化した場合(例えば日陰に入った等)、バックエンジン13のCPU13eは、露光時間を変更するコマンドと新しい露光時間(電子シャッタタイム)をフロントエンジン12のCPU12fに送信する。   As described above, in the electronic camera 1 of the present embodiment, (A), (B), and (E) can be achieved in addition to the above-described (C) and (D). When the brightness of the subject changes during live view (for example, when it enters the shade), the CPU 13e of the back engine 13 sends a command for changing the exposure time and a new exposure time (electronic shutter time) to the front engine 12. It transmits to CPU12f.

<電子カメラ1における静止画撮影の動作>
次に、電子カメラ1の静止画撮影動作について、図1、図3を参照して説明する。
<Operation of Still Image Shooting in Electronic Camera 1>
Next, the still image shooting operation of the electronic camera 1 will be described with reference to FIGS.

図3は、静止画撮影時の画像データの流れを示す図である。ライブビューの最中に図1に示すレリーズ釦18が全押しされると、電子カメラ1は焦点調整(AF)を行ってから被写体の露光に進む。そして、3A検波は、バックエンジン13で行われるのでこの焦点調整(AF)と測光演算(AE)もバックエンジン13のCPU13eで行われる。ここまでの処理は、従来の電子カメラ50と変わりはないが、その後の露光と画像データ出力は、フロントエンジン12が存在するため動作が異なる。バックエンジン13のCPU13eは、先ず、画像処理回路を静止画の処理モードに設定し、次いで、入力撮像インターフェース12aを有効(Active)に設定し、最後に静止画撮影コマンドをフロントエンジン12のCPU12fに送信する。   FIG. 3 is a diagram illustrating a flow of image data during still image shooting. When the release button 18 shown in FIG. 1 is fully pressed during live view, the electronic camera 1 performs focus adjustment (AF) and then proceeds to subject exposure. Since 3A detection is performed by the back engine 13, the focus adjustment (AF) and photometry calculation (AE) are also performed by the CPU 13e of the back engine 13. The processing so far is the same as that of the conventional electronic camera 50, but the subsequent exposure and image data output are different in operation because the front engine 12 exists. The CPU 13e of the back engine 13 first sets the image processing circuit to the still image processing mode, then sets the input imaging interface 12a to active (Active), and finally sends a still image shooting command to the CPU 12f of the front engine 12. Send.

コマンドと共に送信するパラメータは、撮像回路11の露光時間(電子シャッタタイム)と撮像回路11の出力モード番号(フル解像度)等である。静止画撮影は基本的に1-Shot動作なので、連写の場合にはこれらを繰り返し送信する。   The parameters transmitted together with the command are the exposure time (electronic shutter time) of the image pickup circuit 11 and the output mode number (full resolution) of the image pickup circuit 11. Since still image shooting is basically a 1-Shot operation, in the case of continuous shooting, these are repeatedly transmitted.

実際には、バックエンジン13側では、この通信を上述したAPIから行う。このAPIから仮想撮像ドライバが呼び出され、その仮想撮像ドライバから更に通信ドライバが呼び出される。そして、フロントエンジン12のCPU12fにコマンドとパラメータが送られる。フロントエンジン12のCPU12fがこれらの情報を受信するとフロントエンジン12の内部回路と撮像回路11とを作動させて静止画の撮影を行う。   Actually, on the back engine 13 side, this communication is performed from the above-described API. A virtual imaging driver is called from this API, and a communication driver is further called from the virtual imaging driver. Then, commands and parameters are sent to the CPU 12f of the front engine 12. When the CPU 12f of the front engine 12 receives these pieces of information, the internal circuit of the front engine 12 and the imaging circuit 11 are operated to take a still image.

CPU12fは、それらのデバイスドライバを呼び出して先ず撮像回路11に露光を行わせ、次いで撮像回路11から静止画データを出力させる。更に、CPU13eは、フロントエンジン12にそのピクセルレートを低減させ、最後に、CPU12fは、ピクセルレートの低減された静止画データを出力撮像インターフェース12cからバックエンジン13に向けて出力させる。   The CPU 12f calls those device drivers to first cause the image pickup circuit 11 to perform exposure, and then causes the image pickup circuit 11 to output still image data. Further, the CPU 13e causes the front engine 12 to reduce the pixel rate, and finally, the CPU 12f causes the still image data with the reduced pixel rate to be output from the output imaging interface 12c toward the back engine 13.

ここで、仮想撮像ドライバを設けることで静止画撮影の動作においてもAPIから上層では、従来の電子カメラと同じソフトウェアが利用できる。   Here, by providing the virtual imaging driver, the same software as that of the conventional electronic camera can be used in the upper layer from the API even in the operation of still image shooting.

ところで、静止画データのピクセルレートをどのように低減するかという問題が残っている。静止画データを高解像のままバックエンジン13に送信する(C)の条件があるため、ライブビューの時のようにその画像を縮小する方法は使えない。   However, there remains a problem of how to reduce the pixel rate of still image data. Since there is a condition (C) for transmitting still image data to the back engine 13 with high resolution, the method of reducing the image as in live view cannot be used.

基本的には、撮影時の解像度(フル解像度)のままバックエンジン13に送信しなければならない。これは、フロントエンジン12にメモリ(DRAM)14を設けることで達成される。つまり、フロントエンジン12では、撮像回路11から出力された静止画データを一旦このDRAM14に記憶し、その静止画データを記憶時よりも低速で読み出すことでピクセルレートの低減された静止画データをバックエンジン13に送信することができる。   Basically, it must be transmitted to the back engine 13 with the resolution (full resolution) at the time of shooting. This is achieved by providing a memory (DRAM) 14 in the front engine 12. That is, the front engine 12 temporarily stores the still image data output from the imaging circuit 11 in the DRAM 14 and reads the still image data with a reduced pixel rate by reading the still image data at a lower speed than the storage time. It can be transmitted to the engine 13.

つまり、フロントエンジン12は、別のピクセルレート低減手段としてローカルメモリ(DRAM)を備えても良い。フロントエンジン12のDRAM14は、プログラムやパラメータの記憶に利用することを先に述べたが、それは副次的な使い方であり主たる用途は静止画データを一時的に記憶することである。   That is, the front engine 12 may include a local memory (DRAM) as another pixel rate reduction means. As described above, the DRAM 14 of the front engine 12 is used for storing programs and parameters. This is a secondary usage, and the main use is to temporarily store still image data.

<静止画撮影時の画像データの流れ>
次に、静止画撮影時の画像データの流れについて説明する。撮影された静止画データは、撮像回路11から出力されて先ずフロントエンジン12の入力撮像インターフェース12aで受信される。次いで、その静止画データは、内部の欠陥画素補正回路(不図示)で欠陥画素のデータが補正され、更に入力撮像インターフェース12aから出力されてフロントエンジン12のDRAM14上に設けられたRAW1バッファ14bに一旦記憶される。
<Flow of image data when shooting still images>
Next, the flow of image data during still image shooting will be described. The photographed still image data is output from the imaging circuit 11 and first received by the input imaging interface 12a of the front engine 12. Then, the still image data is corrected in the defective pixel data by an internal defective pixel correction circuit (not shown), further output from the input imaging interface 12a, and stored in the RAW1 buffer 14b provided on the DRAM 14 of the front engine 12. Once memorized.

この時は、同じDRAM14から欠陥画素テーブル14aの情報が読み出されて欠陥画素補正回路に入力される。しかし、フロントエンジン12は、ピクセルレートを低減するだけでも良いので、欠陥画素補正を行わずに静止画データをバックエンジン13に送り、バックエンジン13の画像処理回路(プリプロセス回路)に含まれているに欠陥画素補正回路で補正しても構わない。   At this time, information of the defective pixel table 14a is read from the same DRAM 14 and input to the defective pixel correction circuit. However, since the front engine 12 may only reduce the pixel rate, the still image data is sent to the back engine 13 without performing defective pixel correction, and is included in the image processing circuit (preprocess circuit) of the back engine 13. However, it may be corrected by a defective pixel correction circuit.

しかし、バックエンジン13は、ライブビューと静止画撮影とで統一した処理が行えないので制御が複雑になる欠点がある。そのため、静止画撮影時も欠陥画素補正については、フロントエンジン12側で行っている。続いて、フロントエンジン12側では、RAW1バッファ14bから静止画データを読み出し、それをフロントエンジン12の出力撮像インターフェース12cに入力してそこからバックエンジン13に向けて出力する。   However, the back engine 13 has a drawback that the control is complicated because it is not possible to perform unified processing for live view and still image shooting. For this reason, defective pixel correction is performed on the front engine 12 side even during still image shooting. Subsequently, on the front engine 12 side, still image data is read from the RAW 1 buffer 14 b, input to the output imaging interface 12 c of the front engine 12, and output from there to the back engine 13.

この時には、出力撮像インターフェース12cからピクセルレートの低減された静止画データが出力される。DRAM14に記憶された静止画データを「低速」で読み出すと先に述べたが、これは結果的にバックエンジン13側で読み出し可能程度に低速で読み出されることを意味する。   At this time, still image data with a reduced pixel rate is output from the output imaging interface 12c. As described above, the still image data stored in the DRAM 14 is read out at “low speed”, which means that it is read out at a low speed that can be read out on the back engine 13 side.

ここで、図3に示す通り、フロントエンジン12の出力撮像インターフェース12cは、バックエンジン13の入力撮像インターフェース13aに合った伝送速度(伝送クロック)で画像データを送信する。そのため、フロントエンジン12のCPU12fがこの出力撮像インターフェース12cの送信動作に合わせて静止画データをRAW1バッファ14bから読み出すと、結果的に、画像データは、低速で読み出されたことになる。   Here, as shown in FIG. 3, the output imaging interface 12 c of the front engine 12 transmits image data at a transmission speed (transmission clock) that matches the input imaging interface 13 a of the back engine 13. Therefore, when the CPU 12f of the front engine 12 reads still image data from the RAW1 buffer 14b in accordance with the transmission operation of the output imaging interface 12c, as a result, the image data is read at a low speed.

出力撮像インターフェース12cからの送信とRAW1バッファ14bからの読み出しは、一般に非同期である。そのため、フロントエンジン12のCPU12fがRAW1バッファ14bから入力されるデータをそのまま送信していては、バックエンジン13に送られる静止画データに隙間が生じてしまう(歯抜け状になる)。   Transmission from the output imaging interface 12c and reading from the RAW1 buffer 14b are generally asynchronous. Therefore, if the CPU 12f of the front engine 12 transmits the data input from the RAW1 buffer 14b as it is, a gap is generated in the still image data sent to the back engine 13 (becomes a missing tooth shape).

これは、入出力撮像インターフェース12aのフォーマットとして許されないことであり、そのためフロントエンジン12の出力撮像インターフェース12cは、ラインバッファを持たなければならない。   This is not allowed as a format of the input / output imaging interface 12a. Therefore, the output imaging interface 12c of the front engine 12 must have a line buffer.

つまり、出力撮像インターフェース12cは、静止画データを一旦このラインメモリに記憶し、1ライン分の画素のデータが蓄積されたらそれを伝送クロックに載せて隙間なく送信する。このラインバッファを少なくとも2つ設けると送信している間に次のラインのデータが用意されるのでデータの送信がスムーズになる。ライブビューの場合もこれと同様であり、画像縮小回路12bから出力された静止画データは、一旦このラインバッファに記憶してからバックエンジン13に向けて送信される。フロントエンジン12の出力撮像インターフェース12cから出力された静止画データは、この後バックエンジン13に入って画像処理が施される。   That is, the output imaging interface 12c temporarily stores still image data in this line memory, and when pixel data for one line is accumulated, it is transmitted on the transmission clock without any gap. When at least two line buffers are provided, data for the next line is prepared during transmission, so that data transmission is smooth. The same applies to the live view. The still image data output from the image reduction circuit 12b is temporarily stored in the line buffer and then transmitted to the back engine 13. The still image data output from the output imaging interface 12c of the front engine 12 is then input to the back engine 13 for image processing.

この静止画データは、先ず、バックエンジン13の入力撮像インターフェース13aで受信され、次いで、画像処理回路13bに送られて内部のプリプロセス回路(PreProc)でプリプロセスが施される。欠陥画素補正は、予めフロントエンジン12で行われているので、バックエンジン13のプリプロセス回路では残りの処理が施される。   This still image data is first received by the input imaging interface 13a of the back engine 13, and then sent to the image processing circuit 13b to be preprocessed by an internal preprocess circuit (PreProc). Since the defective pixel correction is performed in advance by the front engine 12, the remaining processing is performed in the preprocess circuit of the back engine 13.

プリプロセスの施された静止画データ(Bayer)は、プリプロセス回路から出力されてバックエンジン13のDRAM15上に設けられたRAW2バッファ15cに一旦記憶される。画像処理回路13b内のプリプロセス回路では、AWB検波も行っており、この時、抽出されたAWB評価値が同じDRAM15上に設けられたAWBバッファ15dに記憶される。ここまでが静止画の画像処理の1ステップ目(プリプロセス)であり、この時のデータの流れを図3に示す。   The preprocessed still image data (Bayer) is output from the preprocess circuit and temporarily stored in the RAW2 buffer 15c provided on the DRAM 15 of the back engine 13. The preprocess circuit in the image processing circuit 13b also performs AWB detection. At this time, the extracted AWB evaluation value is stored in the AWB buffer 15d provided on the same DRAM 15. The steps so far are the first step (preprocess) of the still image processing, and the data flow at this time is shown in FIG.

バックエンジン13のCPU13eは、このAWB評価値を基にAWBアルゴリズムを実行してWBゲインを求め、そのWBゲインを画像処理回路13b内のポストプロセス回路(PostProc)に設定する。次いで、画像処理回路13b内のポストプロセス回路は、画像処理の2ステップ目(ポストプロセス)を実行する。静止画は、一般に巨大なので、ポストプロセス回路は、2ステップ目は、短冊分割で実行する。   The CPU 13e of the back engine 13 executes an AWB algorithm based on the AWB evaluation value to obtain a WB gain, and sets the WB gain in a post process circuit (PostProc) in the image processing circuit 13b. Next, the post process circuit in the image processing circuit 13b executes the second step (post process) of the image processing. Since the still image is generally huge, the post-processing circuit executes the second step by dividing into strips.

ポストプロセス回路は、プリプロセスの施された静止画データ(Bayer)をRAW2バッファ15c上で幾つかの短冊画像に分割し、それらを1つずつ読み出し画像処理回路内のポストプロセス回路に入力してポストプロセスを施し、ポストプロセスの施されたYCbCrデータをDRAM15上のYCbCrバッファ15aに記憶していく。ポストプロセス回路は、この処理を全ての短冊画像について実行すると、YCbCrバッファ15a上には画像処理が済んで1つに繋がった画像が出来上がっている。   The post-processing circuit divides the preprocessed still image data (Bayer) into several strip images on the RAW2 buffer 15c, reads them one by one and inputs them to the post-processing circuit in the image processing circuit. Post processing is performed, and the post-processed YCbCr data is stored in the YCbCr buffer 15 a on the DRAM 15. When the post-processing circuit executes this processing for all the strip images, the image processing has been completed on the YCbCr buffer 15a, and an image connected to one is completed.

2ステップ目では、主画像、表示用画像(フリーズ画)、サムネイルの3つが作成されてそれぞれのYCbCrバッファ15aに記憶される。以上が2ステップ目(プリプロセス)であり、この時のデータの流れも図3に示す。この後は、CPU13eの指示により、撮影結果を確認するため先ずフリーズ画をLCDパネル17に表示させる。具体的には、CPU13eの指示により、DMAコントローラは、YCbCrバッファ15aの1つからフリーズ画を読み出し、それをLCDコントローラ13dに送ってLCDパネル17に表示させる。   In the second step, a main image, a display image (freeze image), and a thumbnail are created and stored in each YCbCr buffer 15a. The above is the second step (preprocess), and the data flow at this time is also shown in FIG. Thereafter, a freeze image is first displayed on the LCD panel 17 in order to confirm the photographing result according to an instruction from the CPU 13e. Specifically, in accordance with an instruction from the CPU 13e, the DMA controller reads a freeze image from one of the YCbCr buffers 15a, sends it to the LCD controller 13d, and displays it on the LCD panel 17.

一方、CPU13eの指示により、JPEGコーデック13cは、それと並行して上述した3つの画像をJPEG圧縮する。DMAコントローラは、YCbCrバッファ15aから画像データ(YCbCr)を読み出し、それをJPEGコーデック13cに入力し、JPEGコーデック13cから出力された圧縮データをDRAM15上のJPEGバッファ15eに記憶していく。   On the other hand, in accordance with an instruction from the CPU 13e, the JPEG codec 13c performs JPEG compression on the three images described above in parallel. The DMA controller reads the image data (YCbCr) from the YCbCr buffer 15a, inputs it to the JPEG codec 13c, and stores the compressed data output from the JPEG codec 13c in the JPEG buffer 15e on the DRAM 15.

以上の処理を順次実行して、JPEGコーデック13cは、3つの画像を圧縮する。CPU13eの指示により、CARDコントローラ13gは、3つの画像のJPEG圧縮データをタグ情報と共に1つのJPEGバッファ15e上に配置し、Exif/DCFのファイルやMPFのファイルのファイルイメージを形成していく。CARDコントローラ13gは、このファイルイメージが完成したら各々の画像をメモリカードM1に記録する。   The JPEG codec 13c compresses three images by sequentially executing the above processing. In response to an instruction from the CPU 13e, the CARD controller 13g arranges JPEG compressed data of three images together with tag information on one JPEG buffer 15e, and forms a file image of an Exif / DCF file or an MPF file. When this file image is completed, the CARD controller 13g records each image on the memory card M1.

更に、DMAコントローラは、JPEGバッファ15eからこのファイルイメージを読み出し、それをCARDコントローラ13gに入力してメモリカードに記録していく。この記録が終わると静止画のファイルがメモリカード20上に保存されて撮影が完了する。これらの処理におけるデータの流れも併せて図3に示す。フロントエンジン12側のDRAM14は、静止画のピクセルレートを低減するために設けられたが、ピクセルレートを低減するだけならRAW1バッファ14bは1つあれば良いので、DRAM14の記憶領域は、空きが生じて無駄になる。   Further, the DMA controller reads this file image from the JPEG buffer 15e, inputs it to the CARD controller 13g, and records it on the memory card. When this recording is completed, the still image file is stored on the memory card 20 and the shooting is completed. The data flow in these processes is also shown in FIG. The DRAM 14 on the front engine 12 side is provided to reduce the pixel rate of still images. However, if only the pixel rate is to be reduced, only one RAW1 buffer 14b is required, so that the storage area of the DRAM 14 is vacant. Is wasted.

そこで、この記憶領域を別の目的にも利用する。このDRAM14は、プログラムの記憶やそのプログラムのワークメモリ(変数やスタックの領域)にも使用されるので、それらを除いた記憶領域にRAW1バッファ14bを幾つも割り当てる。これで撮像回路11から出力された静止画データをRAW1バッファ14bに蓄積していく高速な連写(以下、「RAWバッファ連写」という。)行うことができる。   Therefore, this storage area is also used for another purpose. Since this DRAM 14 is also used for program storage and work memory (variable and stack area) of the program, a number of RAW1 buffers 14b are allocated to the storage area excluding them. Thus, high-speed continuous shooting (hereinafter referred to as “RAW buffer continuous shooting”) in which still image data output from the imaging circuit 11 is accumulated in the RAW1 buffer 14b can be performed.

RAW1バッファ14bに静止画データを記憶するのと並行して、出力撮像インターフェース12cは、先に撮影したコマのデータを別のRAW1バッファ14bから読み出しバックエンジン13に送って処理すると長く連写を続けることができる。撮像回路11から出力される画像データは、高ピクセルレートなので、フロントエンジン12のDRAM14は広帯域でなければならない。更にバックエンジン13側のRAW2バッファ15cを複数設けておくと、後段の処理が低速でも画像データの送信が停滞しないので連写が長く続けられる。   Concurrently with storing the still image data in the RAW1 buffer 14b, the output imaging interface 12c reads out the previously captured frame data from another RAW1 buffer 14b and sends it to the back engine 13 for processing. be able to. Since the image data output from the imaging circuit 11 has a high pixel rate, the DRAM 14 of the front engine 12 must have a wide band. Further, if a plurality of RAW2 buffers 15c on the back engine 13 side are provided, the continuous shooting can be continued for a long time because the transmission of image data does not stagnate even if the subsequent processing is slow.

全てのバッファメモリ(RAW1、RAW2、YCbCr、JPEG)が満杯になるか、どこかの画像データの流れが停滞し、それが前方に及んでRAW1バッファ14bが満杯になると高速な連写は一旦停止する。   When all the buffer memories (RAW1, RAW2, YCbCr, JPEG) are full or the flow of some image data is stagnant and it reaches the front and the RAW1 buffer 14b is full, high-speed continuous shooting temporarily stops To do.

それ以降は、蓄積された静止画データが処理されてRAW1バッファ14bが1つ空く度に撮影が行われる動作になるので、連写のコマ速は遅くなる。これは、従来のカメラと同様であるが、連写のコマ速は遅くなる場合には、一旦ライブビューに戻って焦点調整(AF)や測光演算(AE)や構図合わせをやり直すことも有益である。   Thereafter, since the stored still image data is processed and shooting is performed every time one RAW1 buffer 14b is available, the frame speed of continuous shooting is slowed down. This is the same as with a conventional camera, but if the continuous shooting frame rate is slow, it is also useful to return to the live view and adjust the focus (AF), photometry (AE), and composition again. is there.

以上より、本実施形態の電子カメラ1は、低ピクセルレートの場合には、そのままの画像データをバックエンジン13側に転送するので、バックエンジン13だけでも画像処理の行える最小限のカメラシステムを構成することができる。更に、バックエンジン13が受信できないような高ピクセルレートの撮像センサを使用する場合、フロントエンジン12の画像縮小回路12bは、バックエンジン13が受信できるまでピクセルレートを低減できる。つまり、フロントエンジン12を追加的に利用して対応するというスケーラブルな電子カメラを提供できる。   As described above, since the electronic camera 1 according to the present embodiment transfers the image data as it is to the back engine 13 at a low pixel rate, a minimum camera system that can perform image processing with only the back engine 13 is configured. can do. Further, when using an image sensor with a high pixel rate that cannot be received by the back engine 13, the image reduction circuit 12 b of the front engine 12 can reduce the pixel rate until the back engine 13 can receive. That is, it is possible to provide a scalable electronic camera in which the front engine 12 is additionally used for handling.

(第2実施形態)
次に、第2実施形態について説明する。ここで、電子カメラ50の場合、撮像回路52から出力される画像データが高ピクセルレートでないため、ライブビューを行いながらその中の或るフレームを静止画として記録してもその解像度は余り高くない。ライブビューのような高フレームレートで画像データを出力するには画素数を落とさなければならないからである。
(Second Embodiment)
Next, a second embodiment will be described. Here, in the case of the electronic camera 50, since the image data output from the imaging circuit 52 is not at a high pixel rate, the resolution is not so high even if a certain frame is recorded as a still image while performing live view. . This is because the number of pixels must be reduced in order to output image data at a high frame rate as in live view.

そこで、第2実施形態の電子カメラでは、高ピクセルレートの画像データを受信した場合、ライブビューを行いながらその中の或るフレームをフル解像度の静止画として記録する手段を提供する。尚、第1実施形態の電子カメラ1の構成(図1〜図3参照)では、このような手段を提供することが困難である。その理由は、ライブビューの画像データと静止画データの2つを並行してフロントエンジン12からバックエンジン13に送信しなければならないのであるが、図1〜図3に示した2つのエンジン間には、画像データの送信路が1つしかないからである。そこで、第2実施形態の電子カメラでは、画像データの送信路を2つ有するエンジンを用いることにする。   Therefore, the electronic camera according to the second embodiment provides means for recording a certain frame as a full-resolution still image while performing live view when high pixel rate image data is received. In the configuration of the electronic camera 1 of the first embodiment (see FIGS. 1 to 3), it is difficult to provide such means. The reason is that the live view image data and the still image data must be transmitted in parallel from the front engine 12 to the back engine 13, but between the two engines shown in FIGS. This is because there is only one transmission path for image data. Therefore, in the electronic camera of the second embodiment, an engine having two image data transmission paths is used.

尚、第1実施形態と第2実施形態とでは、図1に示す同じ構成要素については同じ符号を付し、ここでは、相違点について主に説明する。   Note that, in the first embodiment and the second embodiment, the same components shown in FIG. 1 are denoted by the same reference numerals, and here, differences will be mainly described.

図4は、第2実施形態の電子カメラの構成例を示すブロック図である。図中のフロントエンジン12からバックエンジン13に向かう実線の矢印は第1の画像データ送信路を表し、同様の点線の矢印は第2の画像データ送信路を表している。実線の矢印の始点には、フロントエンジン12の第1の出力撮像インターフェース12cがあり、実線の矢印の終点には、バックエンジン13の第1の入力撮像インターフェース13aがあって、これらを繋ぐ信号ラインが第1の画像データ送信路になる。   FIG. 4 is a block diagram illustrating a configuration example of the electronic camera according to the second embodiment. In the figure, a solid line arrow from the front engine 12 to the back engine 13 represents a first image data transmission path, and a similar dotted line arrow represents a second image data transmission path. There is a first output imaging interface 12c of the front engine 12 at the start point of the solid line arrow, and there is a first input imaging interface 13a of the back engine 13 at the end point of the solid line arrow. Becomes the first image data transmission path.

一方、点線の矢印の始点には、フロントエンジン12の第2の出力撮像インターフェース12kがあり、点線の矢印の終点には、バックエンジン13の第2の入力撮像インターフェース13kがあって、これらを繋ぐ信号ラインが第2の画像データ送信路になる。   On the other hand, there is a second output imaging interface 12k of the front engine 12 at the start point of the dotted arrow, and there is a second input imaging interface 13k of the back engine 13 at the end point of the dotted arrow. The signal line becomes the second image data transmission path.

第1の画像データ送信路には、相対的に低解像度の画像データが流れ、第2の画像データ送信路には、相対的に高解像度の画像データが流れるという風に使い分けられる。具体的には、第1の画像データ送信路には、ライブビューの画像データを流し、第2の画像データ送信路には、静止画データや記録用の動画データを流す。   The first image data transmission path is used in such a manner that relatively low resolution image data flows, and the second image data transmission path uses relatively high resolution image data. Specifically, live view image data is sent to the first image data transmission path, and still image data and recording moving image data are sent to the second image data transmission path.

この使い分けは固定的であって良い。これらの画像データ送信路に流れる画像データは、バックエンジン13が受信できるようにピクセルレートが低減されていなければならない。フロントエンジン12は、このピクセルレートの低減を行う。2つの画像データを並行して送信するため、フロントエンジン12は、複数のピクセルレート低減手段を持つ。   This usage can be fixed. The image data flowing through these image data transmission paths must have a reduced pixel rate so that the back engine 13 can receive the image data. The front engine 12 performs this pixel rate reduction. In order to transmit two pieces of image data in parallel, the front engine 12 has a plurality of pixel rate reduction means.

そして、バックエンジン13は、これらの2つの画像データを受信して処理する。2つの画像データを並行して送受信するため新たなフロントエンジン12とバックエンジン13とは、内部構成が電子カメラ1(図2、図3参照)、電子カメラ50(図14参照)と異なる。以下、第2実施形態のフロントエンジン12とバックエンジン13の内部構成及び画像データの流れについて説明をする。   The back engine 13 receives and processes these two image data. The new front engine 12 and the back engine 13 for transmitting and receiving two pieces of image data in parallel are different in internal configuration from the electronic camera 1 (see FIGS. 2 and 3) and the electronic camera 50 (see FIG. 14). Hereinafter, an internal configuration and a flow of image data of the front engine 12 and the back engine 13 of the second embodiment will be described.

<フロントエンジン12の内部構成例>
図5は、電子カメラ2のフロントエンジン12及びバックエンジン13の内部構成例を説明する図である。図5では、画像データの流れを示している。そこで、画像データの流れに沿って各々のエンジンの内部構成例を説明する。
<Internal configuration example of front engine 12>
FIG. 5 is a diagram illustrating an example of the internal configuration of the front engine 12 and the back engine 13 of the electronic camera 2. FIG. 5 shows the flow of image data. Therefore, an internal configuration example of each engine will be described along the flow of image data.

撮像回路11から出力された、ピクセルレートの低減が必要な高ピクセルレートの画像データは、先ず、フロントエンジン12の入力撮像インターフェース12aに受信され、次いで、欠陥画素補正回路(DPC:Defect Pixel Correction)で欠陥画素のデータが補正される。フロントエンジン12のDRAM14上には、欠陥画素の位置(アドレス)を記憶した欠陥画素テーブルが置かれており、DPCブロック12gは、このテーブルの情報を読み出して補正を行う。   The high pixel rate image data required to reduce the pixel rate output from the imaging circuit 11 is first received by the input imaging interface 12a of the front engine 12, and then the defective pixel correction circuit (DPC: Defect Pixel Correction). Thus, the defective pixel data is corrected. A defective pixel table storing the positions (addresses) of defective pixels is placed on the DRAM 14 of the front engine 12, and the DPC block 12g reads and corrects the information in this table.

図2と図3では、簡略化のためDPCブロック12gを入力撮像インターフェース12aに含めたが、図5では分かり易くするためこの2つを分けて表した。図5のフロントエンジン12内部の左端の点線枠が図2や図3の入力撮像インターフェース12aに対応する。欠陥画素補正の施された画像データは、3つのピクセルレート低減手段に送られる。その中で第1のピクセルレート低減手段と第2のピクセルレート低減手段は、画像縮小回路を有し、第3のピクセルレート低減手段は、メモリを有する。   In FIG. 2 and FIG. 3, the DPC block 12g is included in the input imaging interface 12a for simplification, but in FIG. 5, the two are shown separately for easy understanding. The dotted line frame at the left end inside the front engine 12 in FIG. 5 corresponds to the input imaging interface 12a in FIGS. Image data subjected to defective pixel correction is sent to three pixel rate reduction means. Among them, the first pixel rate reduction means and the second pixel rate reduction means have an image reduction circuit, and the third pixel rate reduction means has a memory.

図5中の第1の画像縮小回路12bは、第1のピクセルレート低減手段に、第2の画像縮小回路(Resize2)12i(図では「Resize2」と表記する。)は、第2のピクセルレート低減手段に、メモリ(DRAM:RAW1バッファ14b)は、第3のピクセルレート低減手段にそれぞれ対応している。   The first image reduction circuit 12b in FIG. 5 serves as the first pixel rate reduction means, and the second image reduction circuit (Resize2) 12i (denoted as “Resize2” in the drawing) provides the second pixel rate. The memory (DRAM: RAW1 buffer 14b) corresponds to the third pixel rate reducing means.

図5では、第2の画像縮小回路12iの後に2入力のセレクタ(Sel)12j(図では「Sel」と表記する。)が置かれており、セレクタ12jの第1の入力には第2の画像縮小回路12iの出力が繋がり、第2の入力には、RAW1バッファ14bの出力(DRAMCの出力ポート)が繋がる。更に、このセレクタ12jの出力は、第2の出力撮像インターフェース(SIFo2)12k(図では「SIFo2」と表記する。)に繋がる。   In FIG. 5, a two-input selector (Sel) 12j (indicated as “Sel” in the figure) is placed after the second image reduction circuit 12i, and the second input is input to the first input of the selector 12j. The output of the image reduction circuit 12i is connected, and the output of the RAW1 buffer 14b (output port of the DRAMC) is connected to the second input. Further, the output of the selector 12j is connected to a second output imaging interface (SIFo2) 12k (denoted as “SIFo2” in the drawing).

図2や図3の画像データの流れと比較すると、図5のフロントエンジン12内部の左端の点線枠内は、図2や図3の入力撮像インターフェース12aに対応する。また、図5のフロントエンジン12内部の右端の点線枠内は、図2や図3の出力撮像インターフェース12cに対応する。また、図5の第2の画像縮小回路12iは、図2や図3の画像縮小回路12bに対応する。また、図5の点線枠内のブロックは、図2や図3の対応するブロックを使用することによって同様の構成にすることができる。   Compared with the flow of image data in FIGS. 2 and 3, the dotted line frame at the left end in the front engine 12 in FIG. 5 corresponds to the input imaging interface 12 a in FIGS. 2 and 3. 5 corresponds to the output imaging interface 12c in FIG. 2 or FIG. 3. The dotted frame at the right end inside the front engine 12 in FIG. Further, the second image reduction circuit 12i in FIG. 5 corresponds to the image reduction circuit 12b in FIGS. Further, the blocks in the dotted line frame in FIG. 5 can have the same configuration by using the corresponding blocks in FIG. 2 and FIG.

一方、図5の第1の画像縮小回路12b以降のブロックは新たに設けられたものである。図2は、ライブビュー動作時の画像データの流れであるが動画撮影の場合もこれと同じ流れになる。図2では、ライブビューの場合も動画撮影の場合も同じ画像縮小回路12bを用いてピクセルレートを低減し、同じ出力撮像インターフェース12cから画像データを出力している。動画撮影時は、フロントエンジン12から出力された画像データがバックエンジン13の画像処理回路13b内部で2つに分かれ、第1のポストプロセス回路(PostProc1)13j(図では「PostProc1」と表記する。)で表示用のスルー画(YCbCr)が作成され、第2のポストプロセス回路(PostProc2)13p(図では「PostProc2」と表記する。)では、記録用の動画像(YCbCr)が作成される。画像データの送信路が1つの場合、ライブビューと動画撮影の画像データの流れは以上のようになる。   On the other hand, the blocks after the first image reduction circuit 12b in FIG. 5 are newly provided. FIG. 2 shows the flow of image data at the time of live view operation. In FIG. 2, the pixel rate is reduced using the same image reduction circuit 12b in both live view and moving image shooting, and image data is output from the same output imaging interface 12c. At the time of moving image shooting, the image data output from the front engine 12 is divided into two in the image processing circuit 13b of the back engine 13, and is described as a first post-processing circuit (PostProc1) 13j ("PostProc1" in the figure). ), A through image (YCbCr) for display is created, and a moving image (YCbCr) for recording is created in the second post-process circuit (PostProc2) 13p (denoted as “PostProc2” in the figure). When there is one transmission path for image data, the flow of image data for live view and moving image shooting is as described above.

しかし、図5のように画像データの送信路が2つある場合、ライブビューの画像データの流れが変わってくる。具体的には、入力撮像インターフェース12aは、ライブビューの画像データを第1の画像縮小回路12bの方に流している。第1の画像縮小回路12bの後には、第1のプリプロセス回路(PreProc1)12h(図では「PreProc1」と表記する。)が置かれており、その後に第1の出力撮像インターフェース(SIFo1)12c(図では「SIFo1」と表記する。)が置かれる構造をしているが、これは新設されたデータ経路である。   However, when there are two image data transmission paths as shown in FIG. 5, the flow of the live view image data changes. Specifically, the input imaging interface 12a sends live view image data to the first image reduction circuit 12b. A first preprocessing circuit (PreProc1) 12h (denoted as “PreProc1” in the figure) is placed after the first image reduction circuit 12b, and then the first output imaging interface (SIFo1) 12c. (It is written as “SIFo1” in the figure.) This is a newly established data path.

ライブビューの画像データは、常に「第1の画像縮小回路12b→第1のプリプロセス回路12h→第1の出力撮像インターフェース12c」と流れる。これは動画撮影の場合も変わりがない。一方、記録用の動画データの方は「第2の画像縮小回路12i→セレクタ12j→第2の出力撮像インターフェース12k」と流れる。また、静止画データは「RAW1バッファ14b→セレクタ12j→第2の出力撮像インターフェース12k」と流れる。   Live view image data always flows in the order of “first image reduction circuit 12b → first preprocess circuit 12h → first output imaging interface 12c”. This is the same for video shooting. On the other hand, the moving image data for recording flows as “second image reduction circuit 12i → selector 12j → second output imaging interface 12k”. Still image data flows in the order of “RAW1 buffer 14b → selector 12j → second output imaging interface 12k”.

つまり、静止画データと記録用の動画データとは、第2の画像データ送信路(点線の矢印)を通ってバックエンジン13に送信されるが、ライブビューの画像データの方は、常に第1の画像データ送信路(実線の矢印)を通ってバックエンジン13に送信される。第2の画像データ送信路は、図2や図3にあるものと基本的に同じなので、違いはライブビューの画像データが新設された第1の画像データ送信路の方を通って送信されている点である。   In other words, the still image data and the moving image data for recording are transmitted to the back engine 13 through the second image data transmission path (dotted arrow), but the live view image data is always the first. Is transmitted to the back engine 13 through the image data transmission path (solid arrow). Since the second image data transmission path is basically the same as that shown in FIGS. 2 and 3, the difference is that the live view image data is transmitted through the newly established first image data transmission path. It is a point.

画像データ送信路が1つの場合、動画撮影時に送られてくる記録用の動画データをバックエンジン13がライブビュー(スルー画表示)にも利用していたが、画像データ送信路が2つの場合、ライブビュー用の動画データと記録用の動画データが同時に送られてくるので、バックエンジン13では、それらを別々に処理することになる。   When there is one image data transmission path, the back engine 13 uses the moving image data for recording sent at the time of moving image shooting for live view (through image display), but when there are two image data transmission paths, Since the moving image data for live view and the moving image data for recording are sent simultaneously, the back engine 13 processes them separately.

動画撮影時には、記録用の動画データ1つで足りるので無駄にも思われるが、電子カメラ2では、静止画撮影時も動画撮影時もライブビューの画像データを同じ送信路で送ることができるので処理が統一されるメリットがある。つまり、電子カメラ2では、画像データの送信路を2つ設けたために、図14に示すバックエンジン51の構成から図5に示すバックエンジン13の構成に変更している。   When recording a movie, it is useless because only one movie data is required for recording. However, the electronic camera 2 can send live view image data through the same transmission path during both still image shooting and movie shooting. There is a merit that processing is unified. That is, since the electronic camera 2 has two transmission paths for image data, the configuration of the back engine 51 shown in FIG. 14 is changed to the configuration of the back engine 13 shown in FIG.

<バックエンジン13の内部構成例>
次に、バックエンジン13の構成例について図5を用いて説明する。フロントエンジン12の第2の出力撮像インターフェース12kから出力された画像データを受信するために、バックエンジン13には、第2の入力撮像インターフェース(SIFi2)13k(図では「SIFi2」と表記する。)が設けられている。第2の入力撮像インターフェース13kの後には、第2のプリプロセス回路(PreProc2)13m(図では「PreProc2」と表記する。)が置かれ、その後には、2系統の入力の第2セレクタ(Sel)13n(図では「Sel」と表記する。)が置かれ、更にその後に第2のポストプロセス回路13pが置かれる構成になっている。
<Internal configuration example of the back engine 13>
Next, a configuration example of the back engine 13 will be described with reference to FIG. In order to receive the image data output from the second output imaging interface 12k of the front engine 12, the back engine 13 receives a second input imaging interface (SIFi2) 13k (denoted as “SIFi2” in the figure). Is provided. A second pre-process circuit (PreProc2) 13m (indicated as “PreProc2” in the figure) is placed after the second input imaging interface 13k, and then a second selector (Sel for two systems) is input. ) 13n (denoted as “Sel” in the figure), and the second post-processing circuit 13p is further placed thereafter.

第2のプリプロセス回路13mの出力は、第1の出力がこの第2セレクタ13nの第1の入力に繋がり、第2の出力はバックエンジン13のDRAM15上に設けられたRAW2バッファ15cの入力(DRAMCの入力ポート)に繋がっている。   As for the output of the second preprocess circuit 13m, the first output is connected to the first input of the second selector 13n, and the second output is the input of the RAW2 buffer 15c provided on the DRAM 15 of the back engine 13 ( DRAMC input port).

一方、第2セレクタ13nの第2の入力には、同じRAW2バッファ15cの出力(DRAMCの出力ポート)が繋がっており、更にこの第2セレクタ13nの出力が第2のポストプロセス回路13pの入力に繋がり、最後に第2のポストプロセス回路13pの出力がDRAM15上に設けられたYCbCr2バッファ15gの入力(DRAMCの出力ポート)に繋がる。   On the other hand, the second input of the second selector 13n is connected to the output of the same RAW2 buffer 15c (DRAMC output port), and the output of the second selector 13n is connected to the input of the second post-processing circuit 13p. Finally, the output of the second post-processing circuit 13p is connected to the input (DRAMC output port) of the YCbCr2 buffer 15g provided on the DRAM 15.

図5における第2の入力撮像インターフェース13kから第2のポストプロセス回路13pに至る回路は、図14における入力撮像インターフェース51jから第2のポストプロセス回路51qに至る回路と構成が同じであり、図5の回路は、図14の回路を用いることによって構成できる。   The circuit from the second input imaging interface 13k to the second post process circuit 13p in FIG. 5 has the same configuration as the circuit from the input imaging interface 51j to the second post process circuit 51q in FIG. This circuit can be configured by using the circuit shown in FIG.

静止画撮影の場合、バックエンジン13では、第2のプリプロセス回路13mの第2の出力から出力された静止画データがRAW2バッファ15cに送られるようにすると共に、そのRAW2バッファ15cから読み出された静止画データが第2セレクタ13nの第2の入力から入力されて第2のポストプロセス回路13pに送られるように設定する。   In the case of still image shooting, the back engine 13 causes the still image data output from the second output of the second preprocess circuit 13m to be sent to the RAW2 buffer 15c and read out from the RAW2 buffer 15c. The still image data is set to be input from the second input of the second selector 13n and sent to the second post-processing circuit 13p.

撮影された静止画データは、フロントエンジン12の第2の出力撮像インターフェース12kから出力されてバックエンジン13の第2の入力撮像インターフェース13kで受信される。次いで、静止画データは、第2のプリプロセス回路13mに送られてプリプロセスが施され、更に、第2のプリプロセス回路13mの第2の出力から出力されて一旦RAW2バッファ15cに記憶される。   The captured still image data is output from the second output imaging interface 12k of the front engine 12 and received by the second input imaging interface 13k of the back engine 13. Next, the still image data is sent to the second preprocess circuit 13m to be preprocessed, and is further output from the second output of the second preprocess circuit 13m and temporarily stored in the RAW2 buffer 15c. .

第2のプリプロセス回路13mでは、AWB検波も行われており、この時抽出されたAWB評価値が図5のAWBバッファ15dに記憶される。ここまでが静止画の画像処理の1ステップ目(プリプロセス)である。バックエンジン13のCPU13e(図2参照)は、このAWB評価値を基にAWBアルゴリズムを実行してWBゲインを求め、そのWBゲインを第2のポストプロセス回路13pに設定する。   In the second preprocess circuit 13m, AWB detection is also performed, and the AWB evaluation value extracted at this time is stored in the AWB buffer 15d of FIG. This is the first step (preprocessing) of still image processing. The CPU 13e (see FIG. 2) of the back engine 13 executes an AWB algorithm based on the AWB evaluation value to obtain a WB gain, and sets the WB gain in the second post process circuit 13p.

次いで、第2のポストプロセス回路13pは、画像処理の2ステップ目(ポストプロセス)を実行する。2ステップ目の処理は、一般に短冊分割で実行される。第2のポストプロセス回路13pは、先ず、プリプロセスの施された静止画データ(Bayer)をRAW2バッファ15c上で幾つかの短冊画像に分割する。続いて、第2のポストプロセス回路13pは、それらを1つずつ読み出してポストプロセスを施す。更に、第2のポストプロセス回路13pは、ポストプロセスの施されたYCbCrデータを図5のYCbCr2バッファ15gに記憶していく。従って、第2のポストプロセス回路13pが、2ステップ目の処理を全ての短冊画像について実行すると、YCbCr2バッファ15g上には画像処理が済んで1つに繋がった画像が出来上がっている。   Next, the second post-processing circuit 13p executes the second step (post-processing) of image processing. The process of the second step is generally executed by strip division. The second post-processing circuit 13p first divides the preprocessed still image data (Bayer) into several strip images on the RAW2 buffer 15c. Subsequently, the second post process circuit 13p reads them one by one and performs the post process. Further, the second post-processing circuit 13p stores the post-processed YCbCr data in the YCbCr2 buffer 15g of FIG. Therefore, when the second post-processing circuit 13p executes the process of the second step on all the strip images, the image processing is completed on the YCbCr2 buffer 15g, and an image connected to one is completed.

2ステップ目では、主画像,表示用画像(フリーズ画)及びサムネイルの3つが作成されてそれぞれのYCbCr2バッファ15gに記憶される。以上が静止画の画像処理の2ステップ目(プリプロセス)であるが、これらの静止画データの流れは、第2の画像データ送信路を通る点を除くと基本的に図3と変わりがない。静止画撮影におけるこれ以降の処理は以前に説明した通りなので省略する。   In the second step, a main image, a display image (freeze image), and a thumbnail are created and stored in each YCbCr2 buffer 15g. The above is the second step (preprocess) of image processing of still images, but the flow of these still image data is basically the same as in FIG. 3 except for the point passing through the second image data transmission path. . Since the subsequent processing in the still image shooting is as described above, the description is omitted.

一方、動画撮影の場合には、記録用の動画データが第2のプリプロセス回路13mの第1の出力から出力されるようにすると共に、そのデータが第2セレクタ13nの第1の入力から入力されて第2のポストプロセス回路13pに送られるように設定する。   On the other hand, in the case of moving image shooting, recording moving image data is output from the first output of the second preprocess circuit 13m, and the data is input from the first input of the second selector 13n. And set to be sent to the second post-processing circuit 13p.

記録用の動画データは、フロントエンジン12の第2の出力撮像インターフェース12kから出力されてバックエンジン13の第2の入力撮像インターフェース13kで受信される。次いで、記録用の動画データは、第2のプリプロセス回路13mに送られてプリプロセスが施され、更に第2のプリプロセス回路13mの第1の出力から出力されて第2セレクタ13nの第1の入力に入力され、そこから第2のポストプロセス回路13pに送られてポストプロセスが施される。そして、記録用の動画データは、最後に第2のポストプロセス回路13pから出力されて一旦図5のYCbCr2バッファ15gに記憶される。   The moving image data for recording is output from the second output imaging interface 12k of the front engine 12 and received by the second input imaging interface 13k of the back engine 13. Next, the moving image data for recording is sent to the second preprocess circuit 13m to be preprocessed, and is further output from the first output of the second preprocess circuit 13m to be output to the first of the second selector 13n. Is sent to the second post-processing circuit 13p and subjected to post-processing. The moving image data for recording is finally output from the second post process circuit 13p and temporarily stored in the YCbCr2 buffer 15g of FIG.

この記録用の動画データ(YCbCr)は、不図示の動画コーデック(H.264等)で圧縮された後、メモリカードM1に記録されるが詳細は省略する。動画撮影中、第2のプリプロセス回路13mは、一般に被写体が動くので常に焦点調整(AF)を行う必要があり、AF検波回路でAF評価値を抽出しつつそれを用いて焦点調整(AF)を継続して行う。動画撮影中、第2のプリプロセス回路13mは、被写体の明るさとホワイトバランスも適切に保つ必要があり、AE検波回路(AE評価値)とAWB検波回路(AWB評価値)とを適宜稼働させてそれらの調整を行う。尚、3A検波については、後述するライブビュー用の3A検波回路の説明で詳しく述べる。   The moving image data (YCbCr) for recording is compressed by a moving image codec (not shown) (H.264, etc.) and then recorded on the memory card M1, but the details are omitted. During movie shooting, the second pre-process circuit 13m generally needs to perform focus adjustment (AF) at all times because the subject moves. The AF detection circuit extracts the AF evaluation value and uses it to adjust the focus (AF). To continue. During video recording, the second pre-processing circuit 13m needs to keep the brightness and white balance of the subject appropriately, and operates the AE detection circuit (AE evaluation value) and the AWB detection circuit (AWB evaluation value) as appropriate. Make those adjustments. The 3A detection will be described in detail in the description of the 3A detection circuit for live view described later.

ここで、記録用の動画データの流れは、第2の画像データ送信路を通る点を除くと基本的に図2と変わりがない。要するに静止画データと記録用の動画データとの流れは、画像データ送信路が2つの場合も1つの場合も同じであり、画像データ送信路を2つ有する図5のフロントエンジン12とバックエンジン13とは、図14におけるプリプロセス回路51kから第2のポストプロセス回路51qに至る回路を上手く利用するように構成されていることが分かる。   Here, the flow of the moving image data for recording is basically the same as that shown in FIG. 2 except for the point passing through the second image data transmission path. In short, the flow of still image data and moving image data for recording is the same in both cases where there are two image data transmission paths, and the front engine 12 and the back engine 13 of FIG. 5 having two image data transmission paths. Indicates that the circuit from the pre-process circuit 51k to the second post-process circuit 51q in FIG. 14 is configured to be used well.

つまり、図5の2つのエンジンも図2や図3や図14に示したエンジンをベースに作られている。これは以下に説明するライブビューの場合にも当てはまる。   That is, the two engines in FIG. 5 are also made based on the engines shown in FIG. 2, FIG. 3, and FIG. This is also true for the live view described below.

<ライブビューの画像データの流れについて>
次に、ライブビューの画像データの流れについて説明する。既に説明した通り、ライブビューの画像データは、新設された第1の画像データ送信路を通ってフロントエンジン12からバックエンジン13に送信される。フロントエンジン12がライブビューのために新設されたブロックを含むように、バックエンジン13にもライブビューのために新設されたブロックがある。
<Flow of live view image data>
Next, the flow of live view image data will be described. As described above, the live view image data is transmitted from the front engine 12 to the back engine 13 through the newly established first image data transmission path. Just as the front engine 12 includes a new block for live view, the back engine 13 also has a new block for live view.

これらのブロックは、図14における第1のポストプロセス回路51pを有効に利用するために新設された。図5に示す通り、バックエンジン13の先頭には第1の入力撮像インターフェース(SIFi1)13a(図では「SIFi1」と表記する。)が置かれており、その後に2系統の入力の第1セレクタ(Sel)13iが置かれ、更にその後に第1のポストプロセス回路13jが置かれる構成となっている。バックエンジン13に新設されたブロックは、第1の入力撮像インターフェース13aと第1セレクタ13iの2つである。第1の入力撮像インターフェース13aの出力は、第1セレクタ13iの第1の入力に繋がっており、一方、第2のプリプロセス回路13mの第1の出力が同じ第1セレクタ13iの第2の入力に繋がり、更にそのセレクタの出力が第1のポストプロセス回路13jの入力に繋がっている。   These blocks are newly provided to effectively use the first post-processing circuit 51p in FIG. As shown in FIG. 5, a first input imaging interface (SIFi1) 13 a (indicated as “SIFi1” in the figure) is placed at the head of the back engine 13, followed by a first selector for two systems of inputs. (Sel) 13i is placed, and then the first post-processing circuit 13j is placed. Two blocks newly provided in the back engine 13 are the first input imaging interface 13a and the first selector 13i. The output of the first input imaging interface 13a is connected to the first input of the first selector 13i, while the second input of the first selector 13i is the same as the first output of the second preprocess circuit 13m. Further, the output of the selector is connected to the input of the first post-processing circuit 13j.

フロントエンジン12を使用する場合、第1の入力撮像インターフェース13aから出力されたライブビューの画像データが、常に第1のポストプロセス回路13jに送られるように第1セレクタ13iを設定する。   When the front engine 12 is used, the first selector 13i is set so that the live view image data output from the first input imaging interface 13a is always sent to the first post-processing circuit 13j.

一方、バックエンジン13の第2の入力撮像インターフェース13kに撮像回路11を直接接続する場合、第2のプリプロセス回路13mから出力されたライブビューの画像データが第1のポストプロセス回路13jに送られるように第1セレクタ13iを設定する。これは、図14におけるプリプロセス回路51kから第1のポストプロセス回路51pに至るデータ経路に対応している。この場合、第1の入力撮像インターフェース13aは、使われない。   On the other hand, when the imaging circuit 11 is directly connected to the second input imaging interface 13k of the back engine 13, the live view image data output from the second pre-processing circuit 13m is sent to the first post-processing circuit 13j. Thus, the first selector 13i is set. This corresponds to the data path from the preprocess circuit 51k to the first post process circuit 51p in FIG. In this case, the first input imaging interface 13a is not used.

つまり、バックエンジン13内の第1セレクタ13iは、フロントエンジン12から送信されるライブビューの画像データを使うか、或いは、バックエンジン13の第2の入力撮像インターフェース13kに直接接続された撮像回路11から出力されるライブビューの画像データを使うか選択するためのものである。これによって、入力撮像インターフェースを2つ(SIFi1とSIFi2)持つバックエンジンが従来の電子カメラでも使える。   That is, the first selector 13 i in the back engine 13 uses the image data of the live view transmitted from the front engine 12 or the image pickup circuit 11 directly connected to the second input image pickup interface 13 k of the back engine 13. This is for selecting whether to use live view image data output from. This allows a back engine with two input imaging interfaces (SIFi1 and SIFi2) to be used with a conventional electronic camera.

ライブビューの場合、フロントエンジン12の第1の出力撮像インターフェース12cから出力された画像データがバックエンジン13の第1の入力撮像インターフェース13aで受信される。次いで、その画像データは、第1セレクタ13iの第1の入力に入力され、そこから第1のポストプロセス回路13jに送られてポストプロセスが施され、最後に第1のポストプロセス回路13jから出力されて図5のYCbCr1バッファ15fに記憶される。   In the case of live view, the image data output from the first output imaging interface 12 c of the front engine 12 is received by the first input imaging interface 13 a of the back engine 13. Then, the image data is input to the first input of the first selector 13i, sent from there to the first post-processing circuit 13j, subjected to post-processing, and finally output from the first post-processing circuit 13j. And stored in the YCbCr1 buffer 15f of FIG.

このライブビュー用のYCbCrデータ(スルー画)は、YCbCr1バッファ15fから読み出され、LCDコントローラ(不図示)に送られてLCDパネル17(図4参照)に表示される。動画撮影の場合、ライブビューの画像データが第1の画像データ送信路から送信されるのと並行して、記録用の動画データが第2の画像データから送信されることを既に述べた。   The live view YCbCr data (through image) is read from the YCbCr1 buffer 15f, sent to the LCD controller (not shown), and displayed on the LCD panel 17 (see FIG. 4). In the case of moving image shooting, it has already been described that the moving image data for recording is transmitted from the second image data in parallel with the transmission of the live view image data from the first image data transmission path.

一方、静止画撮影の場合、フロントエンジン12では、撮影された静止画データを第2の画像データ送信路から送信するのと並行して、ライブビューの画像データを第1の画像データ送信路から送信することができる。これにより、先に述べた電子カメラの特性が全て実現されると共に、上述した(D)の条件も満たされることになる。   On the other hand, in the case of still image shooting, the front engine 12 transmits live view image data from the first image data transmission path in parallel with transmitting the captured still image data from the second image data transmission path. Can be sent. Thereby, all the characteristics of the electronic camera described above are realized, and the above-mentioned condition (D) is also satisfied.

ライブビューの場合、他にも考慮しなければならないことがある。先ず、ライブビューの画像データは、バックエンジン13でプリプロセスだけが施される点である。ライブビューの画像データは、その前にプリプロセスが施されなければならない。   For live view, there are other things to consider. First, live view image data is only preprocessed by the back engine 13. The live view image data must be preprocessed before that.

バックエンジン13には、第2のプリプロセス回路13mもあるが、これは静止画データや記録用の動画データの処理に使われているためライブビューの画像データのプリプロセスには使えない。ライブビュー用のプリプロセス回路が別に必要となる。フロントエンジン12内の第1のプリプロセス回路12hは、そのためのもので、第1の画像データ送信路と共に新設された。   The back engine 13 also has a second preprocessing circuit 13m, which is used for processing still image data and moving image data for recording, and cannot be used for preprocessing of live view image data. A separate pre-processing circuit for live view is required. The first preprocess circuit 12h in the front engine 12 is provided for this purpose, and is newly installed together with the first image data transmission path.

第1のプリプロセス回路12hがフロントエンジン12にあるのでバックエンジン13のコスト上昇が抑えられ、このバックエンジン13を従来の電子カメラで利用する場合にも都合が良い。   Since the first preprocess circuit 12h is provided in the front engine 12, an increase in the cost of the back engine 13 is suppressed, which is convenient when the back engine 13 is used in a conventional electronic camera.

次に考慮しなければならないことは、3A検波である。第2のプリプロセス回路13mは、静止画データや記録用の動画データを処理しているため、その中に設けられた3A検波回路(不図示)を使うことはできない。   The next thing to consider is 3A detection. Since the second preprocess circuit 13m processes still image data and moving image data for recording, a 3A detection circuit (not shown) provided therein cannot be used.

動画撮影の場合、バックエンジン13では、第2のプリプロセス回路13m内蔵の3A検波回路を使って記録用の動画データから3A評価値を抽出することもできる。しかし、静止画データを処理している場合、バックエンジン13では、画像データが異なるのでその3A検波回路をそのまま用いることはできない。   In the case of moving image shooting, the back engine 13 can also extract a 3A evaluation value from moving image data for recording using a 3A detection circuit built in the second preprocess circuit 13m. However, when processing still image data, the back engine 13 cannot use the 3A detection circuit as it is because the image data is different.

従って、ライブビュー用の3A検波回路が別に必要となるが、これをフロントエンジン12の第1のプリプロセス回路12h内に設けると、3Aのソフトウェア処理をバックエンジン13で行うのが困難になる。3Aの評価値がフロントエンジン12側に存在するため、これをバックエンジン13側のソフトウェアが利用すると、処理が遅くなってしまう。3A処理のソフトウェアをフロントエンジン12側に実装することもできるが、従来とは大幅にシステムが変わるのでソフトウェア共通化が難しい問題がある。   Accordingly, a 3A detection circuit for live view is separately required. However, if this is provided in the first preprocess circuit 12h of the front engine 12, it is difficult to perform 3A software processing by the back engine 13. Since the evaluation value of 3A exists on the front engine 12 side, if the software on the back engine 13 side uses this, the processing is slowed down. Although 3A processing software can be installed on the front engine 12 side, there is a problem that it is difficult to share software because the system changes significantly from the conventional one.

そこで、電子カメラ2では、バックエンジン13側にライブビュー用の3A検波回路を設けることにするが、単純に増設したのでは、バックエンジン13のコストが上昇して従来の電子カメラで使う際に不利となる。即ち、第2実施形態では、バックエンジン13の第2のプリプロセス回路13m内にある3A検波回路を外部に出し、それをライブビューの場合にも使えるようにする。動画撮影の場合には特に問題はないが、静止画撮影の場合には、その3A検波回路を静止画データのために使えない問題が起こる。   Therefore, the electronic camera 2 is provided with a 3A detection circuit for live view on the back engine 13 side. However, when the electronic camera 2 is simply added, the cost of the back engine 13 rises and the conventional electronic camera is used. Disadvantageous. In other words, in the second embodiment, the 3A detection circuit in the second preprocess circuit 13m of the back engine 13 is provided outside so that it can be used even in a live view. There is no particular problem in the case of moving image shooting, but in the case of still image shooting, there is a problem that the 3A detection circuit cannot be used for still image data.

しかし、静止画データ処理では、3A検波回路がフルに使われておらず、必要となるのは、AWB検波回路だけである。そこで、第2実施形態では、3A検波回路を第2のプリプロセス回路13mの外に出すと共に、その第2のプリプロセス回路13mにはAWB検波回路だけを追加する。   However, in the still image data processing, the 3A detection circuit is not fully used, and only the AWB detection circuit is required. Therefore, in the second embodiment, the 3A detection circuit is taken out of the second preprocess circuit 13m, and only the AWB detection circuit is added to the second preprocess circuit 13m.

これにより、バックエンジン13でライブビューの画像データから3A評価値を抽出すると共に、静止画データをバックエンジン13の第2のプリプロセス回路13mで処理しつつ、そこからAWB評価値を抽出することができる。   As a result, the back engine 13 extracts the 3A evaluation value from the live view image data, and the still image data is processed by the second pre-process circuit 13m of the back engine 13 and the AWB evaluation value is extracted therefrom. Can do.

図5において、第2のプリプロセス回路13mの上部にある「3A検波」のブロックが3A検波回路13hを表す。フロントエンジン12から送信されたライブビューの画像データが第1の入力撮像インターフェース13aから入力される場合も、バックエンジン13の第2の入力撮像インターフェース13kに直接接続された撮像回路11からライブビューの画像データが入力される場合も、この3A検波回路13hが使えなければならないので、図5のようにバックエンジン13内の第1セレクタ13iの出力をこの3A検波回路13hの入力に接続する。   In FIG. 5, the “3A detection” block above the second preprocess circuit 13m represents the 3A detection circuit 13h. Even when the live view image data transmitted from the front engine 12 is input from the first input imaging interface 13a, the live view image data is directly connected to the second input imaging interface 13k of the back engine 13. Even when image data is input, the 3A detection circuit 13h must be used. Therefore, the output of the first selector 13i in the back engine 13 is connected to the input of the 3A detection circuit 13h as shown in FIG.

この3A検波回路13hの出力は、図5の3Aバッファ15bの入力(DRAMCの入力ポート)に繋がっており、抽出された3A評価値は、この3Aバッファ15bに記憶される。   The output of the 3A detection circuit 13h is connected to the input (input port of DRAMC) of the 3A buffer 15b in FIG. 5, and the extracted 3A evaluation value is stored in the 3A buffer 15b.

一方、第2のプリプロセス回路13m内に追加されたAWB検波回路の出力は、図5のAWBバッファ15dの入力(DRAMCの入力ポート)に繋がっており、抽出されたAWB評価値は、このAWBバッファ15dに記憶される。これらの評価値を利用することによりバックエンジン13側のソフトウェアで3Aの処理を行うことができる。第2の画像データ送信路は、静止画データや記録用の動画データが流れるので相対的に高解像度の画像用であり、第1の画像データ送信路は、ライブビューの画像データが流れるので相対的に低解像度の画像用である。動画撮影における記録用の動画データとライブビューの画像データとは、フレームレート(fps)が同じであるが、解像度は前者の方が高いので2つの画像データ送信路に流れる画像データのピクセルレートには差が生じることになる。第2の画像データ送信路に流れる画像データの方が一般にピクセルレートが高い。   On the other hand, the output of the AWB detection circuit added in the second preprocess circuit 13m is connected to the input (input port of DRAMC) of the AWB buffer 15d in FIG. 5, and the extracted AWB evaluation value is the AWB. Stored in the buffer 15d. By using these evaluation values, 3A processing can be performed by software on the back engine 13 side. The second image data transmission path is for relatively high-resolution images because still image data and moving image data for recording flow, and the first image data transmission path is relatively free because live view image data flows. For low-resolution images. The video data for recording in video shooting and the live view image data have the same frame rate (fps), but the former has a higher resolution, so the pixel rate of the image data flowing in the two image data transmission paths is the same. Will make a difference. In general, the pixel rate of the image data flowing through the second image data transmission path is higher.

そこで、2つの画像データ送信路の性能に差を持たせてコストを抑えることができる。第1の画像データ送信路の伝送クロック周波数を低くしたり、そのデータラインのLane数を少なくしたりして第2の画像データ送信路よりも低コストなものにする。   Therefore, the cost can be suppressed by providing a difference in the performance of the two image data transmission paths. The transmission clock frequency of the first image data transmission path is lowered or the number of Lanes of the data line is reduced to make the cost lower than that of the second image data transmission path.

以上より、電子カメラ2では、第2実施形態の電子カメラ2では、高ピクセルレートの画像データを受信した場合、例えば、ライブビューを行いながらその中の或るフレームをフル解像度の静止画として記録できる。これにより、電子カメラ2では、2つのエンジンのコストを抑えることができる。   As described above, when the electronic camera 2 of the second embodiment receives high pixel rate image data, the electronic camera 2 records, for example, a certain frame as a full-resolution still image while performing live view. it can. Thereby, in the electronic camera 2, the cost of two engines can be suppressed.

(第3実施形態)
次に、第3実施形態について説明する。ここで、上記の実施形態では、フロントエンジン12を用いた場合、そのDRAM14上に多数のRAW1バッファ14bを設けることができ、それによって高速な静止画の連写を長く続けることができると先に説明した。静止画は、一般に解像度が高いため1コマのRAW1バッファ14bでも記憶容量が大きく、それを多数設けることはコスト的に容易ではない。
(Third embodiment)
Next, a third embodiment will be described. Here, in the above embodiment, when the front engine 12 is used, it is possible to provide a large number of RAW1 buffers 14b on the DRAM 14 so that continuous shooting of high-speed still images can be continued for a long time. explained. Since still images generally have high resolution, even a single frame RAW1 buffer 14b has a large storage capacity, and it is not easy to provide a large number of them.

しかし、撮影した静止画データを一旦圧縮してRAW1バッファ14bに記憶するのであれば、1コマ当たりのデータ量が減るのでより多くのRAW1バッファ14bを設けることができる。そこで、第3実施形態の電子カメラでは、フロントエンジン12に画像圧縮回路を設けることにする。フロントエンジン12のRAW1バッファ14bに記憶される静止画データは元データであるため、上述した画像圧縮は全く歪みのないLossless圧縮か、或いは目立たない程度の歪みしか発生しないNearly Lossless圧縮である必要がある。   However, if the captured still image data is once compressed and stored in the RAW1 buffer 14b, the amount of data per frame is reduced, so that more RAW1 buffers 14b can be provided. Therefore, in the electronic camera of the third embodiment, the front engine 12 is provided with an image compression circuit. Since the still image data stored in the RAW1 buffer 14b of the front engine 12 is the original data, the above-described image compression needs to be lossless compression with no distortion at all, or Nearly Lossless compression that generates only inconspicuous distortion. is there.

尚、第2実施形態と第3実施形態とでは、同じ構成要素については同じ符号を付し、ここでは、相違点について主に説明する。   Note that in the second embodiment and the third embodiment, the same components are denoted by the same reference numerals, and differences will be mainly described here.

図6は、第3実施形態の電子カメラのフロントエンジン12及びバックエンジン13の構成例を示すブロック図である。尚、第3実施形態では、図4に示す電子カメラ2を用いて説明する。ここで、図5と図6との構成上の違いは、フロントエンジン12に画像圧縮回路12m(図では「圧縮」と表記する。)と画像伸長回路12n(図では「伸長」と表記する。)とを新たに設けた点である。   FIG. 6 is a block diagram illustrating a configuration example of the front engine 12 and the back engine 13 of the electronic camera according to the third embodiment. The third embodiment will be described using the electronic camera 2 shown in FIG. Here, the difference in configuration between FIG. 5 and FIG. 6 is expressed as an image compression circuit 12m (denoted as “compression” in the figure) and an image decompression circuit 12n (decompressed in the figure) in the front engine 12. ) And are newly provided.

図6によれば、欠陥画素補正回路(DPC)の出力が画像圧縮回路12mの入力に繋がり、その画像圧縮回路12mの出力がDRAM上のRAW1バッファ14bの入力(DRAMCの入力ポート)に繋がっている。   According to FIG. 6, the output of the defective pixel correction circuit (DPC) is connected to the input of the image compression circuit 12m, and the output of the image compression circuit 12m is connected to the input of the RAW1 buffer 14b (DRAMC input port) on the DRAM. Yes.

欠陥画素補正回路(DPC)から出力された静止画データは、この画像圧縮回路12mで圧縮され、その圧縮されたデータが画像圧縮回路12mから出力されて図中のRAW1バッファ14bに一旦記憶される。画像圧縮では、一般に画素間の相関を利用して圧縮を行うので欠陥画素のデータが含まれていると処理できないが、図6では、先に欠陥画素補正が行われるので問題はない。画像圧縮回路12mは、撮像回路11から出力された高ピクセルレートの静止画データをリアルタイムで圧縮しなければならないので、内部に画像圧縮コアを複数設けて並列に処理する等して、このリアルタイム圧縮を実現する。   The still image data output from the defective pixel correction circuit (DPC) is compressed by the image compression circuit 12m, and the compressed data is output from the image compression circuit 12m and temporarily stored in the RAW1 buffer 14b in the figure. . In image compression, since compression is generally performed using correlation between pixels, processing cannot be performed if defective pixel data is included. However, in FIG. 6, there is no problem because defective pixel correction is performed first. Since the image compression circuit 12m must compress the high-pixel-rate still image data output from the image pickup circuit 11 in real time, this real-time compression is achieved by providing a plurality of image compression cores in the interior and processing them in parallel. Is realized.

リアルタイム処理は、図6の第1の画像縮小回路12bと第2の画像縮小回路12iでも行われており、複数の画素の平均を取る等してリアルタイムでピクセルレートを低減する。   The real-time processing is also performed in the first image reduction circuit 12b and the second image reduction circuit 12i in FIG. 6, and the pixel rate is reduced in real time by taking an average of a plurality of pixels.

一方、図6の第1プリプロセス回路(PreProc1)12hは、ピクセルレートの低減された画像データを処理するので通常のパイプライン回路で良い。圧縮したデータをRAW1バッファ14bに記憶しているので、DRAM14のアクセス回数が減り、結果としてDRAM14の帯域占有が減るメリットも生まれる。画像圧縮回路12mを備えることで同じDRAM14により多くのRAW1バッファ14bを設けることはできる。   On the other hand, the first pre-process circuit (PreProc1) 12h in FIG. 6 processes image data with a reduced pixel rate, and thus may be a normal pipeline circuit. Since the compressed data is stored in the RAW1 buffer 14b, the number of accesses to the DRAM 14 is reduced, resulting in a merit that the bandwidth occupied by the DRAM 14 is reduced. By providing the image compression circuit 12m, many RAW1 buffers 14b can be provided in the same DRAM.

しかし、次に、そこに記憶された静止画データをどのようにしてバックエンジン13に渡すかという課題に直面する。圧縮された静止画データをそのまま送信しても、バックエンジン13は、処理することができない。   However, next, the problem of how to transfer the still image data stored therein to the back engine 13 is faced. Even if the compressed still image data is transmitted as it is, the back engine 13 cannot process it.

そこで、第3実施形態では、フロントエンジン12に画像伸長回路12nを設け、圧縮された静止画データをこれで伸長してからバックエンジン13に送信することにする。   Therefore, in the third embodiment, an image decompression circuit 12n is provided in the front engine 12, and the compressed still image data is decompressed and transmitted to the back engine 13.

つまり、第3実施形態では、伸長された静止画データを送信するので、これまでのバックエンジン13がそのまま使えることと、追加される画像圧縮回路12m及び画像伸長回路12nがフロントエンジン12側に集約されているので、バックエンジン13のコストが抑えられる2つのメリットがある。   That is, in the third embodiment, since the expanded still image data is transmitted, the conventional back engine 13 can be used as it is, and the added image compression circuit 12m and the image expansion circuit 12n are integrated on the front engine 12 side. Therefore, there are two merits that the cost of the back engine 13 can be suppressed.

図6のフロントエンジン12は、上述した通り、画像圧縮回路12mと共に画像伸長回路12nを備えている。画像伸長回路12nの入力には、RAW1バッファ14bの出力(DRAMCの出力ポート)が繋がり、その画像伸長回路12nの出力は、図中のセレクタ12jの第2の入力に繋がっている。静止画の圧縮データは、先ずRAW1バッファ14bから読み出されて画像伸長回路12nに送られ、次いで、その圧縮データが伸長されて画像伸長回路12nから出力され、更にセレクタ12jを通って第2の出力撮像インターフェース12kに送られ、最後にその第2の入力撮像インターフェース12kからバックエンジン13に送信される。   As described above, the front engine 12 of FIG. 6 includes the image compression circuit 12m and the image expansion circuit 12n. The output of the RAW1 buffer 14b (DRAMC output port) is connected to the input of the image expansion circuit 12n, and the output of the image expansion circuit 12n is connected to the second input of the selector 12j in the figure. The compressed data of the still image is first read from the RAW1 buffer 14b and sent to the image decompression circuit 12n. Next, the compressed data is decompressed and output from the image decompression circuit 12n, and further passes through the selector 12j to the second data. It is sent to the output imaging interface 12k, and finally transmitted from the second input imaging interface 12k to the back engine 13.

伸長後の静止画データは、元の量に戻っている(増える)が、第2の画像データ送信路の送信レートに合わせて伸長が行われるので予定通りピクセルレートは低減される。   The decompressed still image data returns to the original amount (increases), but the pixel rate is reduced as planned because the decompression is performed in accordance with the transmission rate of the second image data transmission path.

尚、図5と図6において、フロントエンジン12内の第1のプリプロセス回路12h、バックエンジン13の内の第1のポストプロセス回路13jとは、合わせて1つの画像処理回路(画像処理回路G1:点線の枠内参照)を構成している。尚、図では「画像処理」と表記する。   5 and 6, the first pre-process circuit 12h in the front engine 12 and the first post-process circuit 13j in the back engine 13 are combined into one image processing circuit (image processing circuit G1). : Refers to the dotted frame). In the figure, it is described as “image processing”.

また、バックエンジン13内の第2のプリプロセス回路13mと第2のポストプロセス回路13pとは、合わせて1つの画像処理回路(画像処理回路G2:点線の枠内参照)を構成している。尚、図では「画像処理」と表記する。   In addition, the second pre-process circuit 13m and the second post-process circuit 13p in the back engine 13 together constitute one image processing circuit (image processing circuit G2: refer to the dotted frame). In the figure, it is described as “image processing”.

つまり、バックエンジン13は、低解像度用の第1の入力撮像インターフェース13aが受信した第1の画像データを画像処理回路G1により画像処理を施すと共に、高解像度用の第2の入力撮像インターフェース13kが受信した第2の画像データを画像処理回路G2により画像処理を施す。したがって、バックエンジン13では、第1の画像データと第2の画像データとを独立に画像処理することができる。   In other words, the back engine 13 performs image processing on the first image data received by the first input imaging interface 13a for low resolution by the image processing circuit G1, and the second input imaging interface 13k for high resolution The received second image data is subjected to image processing by the image processing circuit G2. Therefore, the back engine 13 can independently process the first image data and the second image data.

以上が2つの画像データ送信路を備えたフロントエンジン12とバックエンジン13における画像データの流れの全貌である。   The above is the entire picture of the flow of image data in the front engine 12 and the back engine 13 having two image data transmission paths.

続いて、フロントエンジン12のDRAM14上にRAW1バッファ14bを多数設けた時の連写について補足説明する。図3を用いて静止画撮影における画像データの流れを説明した時には、電子カメラ1では、静止画データがRAW1バッファ14bに記憶された後、静止画データを無条件に読み出してバックエンジン13に送信するような記載をしたが、実際は、バックエンジン13側のRAW2バッファ15cが空いていないと送信することはできない。   Next, supplementary explanation will be given for continuous shooting when a large number of RAW1 buffers 14b are provided on the DRAM 14 of the front engine 12. FIG. When the flow of image data in still image shooting is described with reference to FIG. 3, in the electronic camera 1, after the still image data is stored in the RAW 1 buffer 14 b, the still image data is unconditionally read and transmitted to the back engine 13. However, in practice, transmission is not possible unless the RAW2 buffer 15c on the back engine 13 side is empty.

一方、RAW1バッファ14bが空いていない時は、撮像回路11から静止画データを出力することができない。露光終了後に画像データを長く撮像回路11(撮像センサ)内に留めておくことはできないので、RAW1バッファ14bが空いていない時は露光を始めるべきではない。   On the other hand, when the RAW1 buffer 14b is not empty, still image data cannot be output from the imaging circuit 11. Since the image data cannot be kept in the image pickup circuit 11 (image pickup sensor) for a long time after the exposure is completed, the exposure should not be started when the RAW1 buffer 14b is not empty.

つまり、フロントエンジン12は、撮影した静止画データを勝手にバックエンジン13に送信してはならず、また、フロントエンジン12も勝手に静止画の撮影を開始してはならない。   That is, the front engine 12 must not send the captured still image data to the back engine 13 without permission, and the front engine 12 must not start capturing a still image without permission.

画像の撮影のシーケンスは、バックエンジン13側のCPU13eにより撮影シーケンス制御手段として制御されているので、RAW1バッファ14bに静止画データが記憶されており、且つRAW2バッファ15cが空いている時だけフロントエンジン12からバックエンジン13にデータ送信コマンドを発行し、また、RAW1バッファ14bが空いている時だけフロントエンジン12からバックエンジン13に静止画撮影コマンドを送信する。   Since the image capture sequence is controlled by the CPU 13e on the back engine 13 side as the capture sequence control means, the front engine only when the still image data is stored in the RAW1 buffer 14b and the RAW2 buffer 15c is empty. 12 issues a data transmission command to the back engine 13, and transmits a still image shooting command from the front engine 12 to the back engine 13 only when the RAW1 buffer 14b is empty.

つまり、静止画撮影時は、フロントエンジン12がRAW1バッファ14bとRAW2バッファ15cの状態を確認した上でコマンドを発行するが、このうちRAW1バッファ14bの状態を確認する時には、バックエンジン13とフロントエンジン12間の通信が発生する。この場合、撮影シーケンス制御手段は、撮影時において、フロントエンジン12に撮影シーケンスのコマンドを送信する。そして、フロントエンジン12は、コマンドを受信して、撮像回路11の撮像と画像データの読み出しとの少なくとも一方の動作を制御する。これにより、バックエンジン13側で撮影のシーケンスを制御するため、フロントエンジン12側では、高ピクセルレートの撮像センサとの通信制御に特化することができる。すなわち、バックエンジン13側では汎用のバックエンジンを採用できる。   That is, at the time of still image shooting, the front engine 12 issues a command after confirming the state of the RAW1 buffer 14b and the RAW2 buffer 15c. Of these, when confirming the state of the RAW1 buffer 14b, the back engine 13 and the front engine Communication between 12 occurs. In this case, the shooting sequence control means transmits a shooting sequence command to the front engine 12 during shooting. Then, the front engine 12 receives the command and controls at least one of the operation of the imaging circuit 11 and the reading of the image data. Thus, since the shooting sequence is controlled on the back engine 13 side, the front engine 12 side can specialize in communication control with an image sensor having a high pixel rate. That is, a general-purpose back engine can be employed on the back engine 13 side.

一方、バックエンジン13に撮像回路を直接接続している従来の電子カメラの場合、高ピクセルレートの画像データを受信しないことを前提としているため、RAW2バッファが空いていれば静止画の撮影が開始できるという違いがある。   On the other hand, in the case of a conventional electronic camera in which an image pickup circuit is directly connected to the back engine 13, it is assumed that high pixel rate image data is not received. Therefore, if a RAW2 buffer is available, still image shooting starts. There is a difference that you can.

以上より、第3実施形態の電子カメラ2によれば、伸長された静止画データを送信するので、これまでのバックエンジン13がそのまま使える。また、電子カメラ2によれば、追加される画像圧縮回路12m及び画像伸長回路12nがフロントエンジン12側に集約されているので、バックエンジン13のコストを抑えることができる。従って、電子カメラ2によれば、汎用性の高いカメラシステムを構築することができる。   As described above, according to the electronic camera 2 of the third embodiment, since the expanded still image data is transmitted, the conventional back engine 13 can be used as it is. Further, according to the electronic camera 2, the added image compression circuit 12m and the image expansion circuit 12n are integrated on the front engine 12 side, so that the cost of the back engine 13 can be suppressed. Therefore, according to the electronic camera 2, a highly versatile camera system can be constructed.

(第4実施形態)
次に、第4実施形態について説明する。第4実施形態では、上述したコマンドについてより詳細に説明するため、ソフトウェアの視点から静止画の撮影を考察する。目的はソフトウェアの共通化と再利用である。先ず、比較例として、バックエンジンだけを持つ(フロントエンジンを必要としない)従来の電子カメラのソフトウェア(ファームウェア)を説明する。
(Fourth embodiment)
Next, a fourth embodiment will be described. In the fourth embodiment, taking a still image is considered from the viewpoint of software in order to explain the above-described command in more detail. The purpose is to share and reuse software. First, as a comparative example, software (firmware) of a conventional electronic camera having only a back engine (not requiring a front engine) will be described.

図7は、従来の電子カメラで利用されるソフトウェアの構造の一例を示す図である。図7において、ソフトウェアは、アプリケーション層101、ミドルウェア層102、カーネル層103、デバイスドライバ層104及びハードウェア層105を有する。   FIG. 7 is a diagram showing an example of the structure of software used in a conventional electronic camera. In FIG. 7, the software includes an application layer 101, a middleware layer 102, a kernel layer 103, a device driver layer 104, and a hardware layer 105.

最上位層は、アプリケーション層101であり、その製品固有の機能を実現するプログラムで構成される。   The highest layer is the application layer 101, and is configured by a program that realizes a function specific to the product.

図7には、電子カメラの主な機能を実現するアプリケーションプログラムが載っており、これらのプログラムは、その下位にあるプログラムを呼び出すことによって目的の機能を実現する。つまり、下位のプログラムを呼び出すためのAPIが用意されている。APIとしては、例えば、静止画撮影101a、動画撮影101b、ライブビュー101c、画像再生101d、画像通信101e、カメラ設定101fが用意されている。これらのAPIを標準化しておくことでそのアプリケーションプログラム別の電子カメラで利用することができる。アプリケーション層101の下はミドルウェア層102であり汎用的なライブラリソフトもここに含めている。ミドルウェア層102としては、例えば、ミドルウェア102a及びライブラリ102bを有する。   FIG. 7 shows application programs for realizing the main functions of the electronic camera, and these programs realize a target function by calling a program below it. That is, an API for calling a lower-level program is prepared. As the API, for example, still image shooting 101a, moving image shooting 101b, live view 101c, image playback 101d, image communication 101e, and camera setting 101f are prepared. If these APIs are standardized, they can be used in an electronic camera for each application program. Below the application layer 101 is a middleware layer 102, which includes general-purpose library software. For example, the middleware layer 102 includes a middleware 102a and a library 102b.

カーネル層103は、RTOS(Real Time Operating System)103aを有する。また、デバイスドライバ層104は、その他の周辺ドライバ104a、画像処理ドライバ104b、撮像ドライバ104cを有する。ハードウェア層105は、ハードウェア制御用のソフトウェアとして、その他の周辺ハードウェア105a、バックエンジン105b、撮像回路105cを有する
ここで、ライブラリ102bには、ソフトウェアベンダから購入するものもある。ミドルウェア層102は、複数のアプリケーションプログラムが利用するような共通性の高いプログラムで構成されるが、重要なことはハードウェアの詳細構造に依存しないようなプログラムにすることである。例えば、画像のサイズを変更する解像度変換(変倍)等は、画像の撮影でも画像の再生でも利用されるが、その処理は、バックエンジン13内の画像処理回路(ポストプロセス回路)13b(図3参照)で実行される。
The kernel layer 103 includes an RTOS (Real Time Operating System) 103a. The device driver layer 104 includes other peripheral drivers 104a, an image processing driver 104b, and an imaging driver 104c. The hardware layer 105 includes other peripheral hardware 105a, a back engine 105b, and an imaging circuit 105c as hardware control software. Here, some of the library 102b is purchased from a software vendor. The middleware layer 102 is configured by a highly common program that is used by a plurality of application programs. What is important is to make the program independent of the detailed structure of the hardware. For example, resolution conversion (magnification) for changing the size of an image is used for both image shooting and image reproduction. The processing is performed by an image processing circuit (post-processing circuit) 13b in the back engine 13 (see FIG. 3).

しかし、ミドルウェア層102のプログラムは、ポストプロセス回路を直接動かすことはせず、一例として、変倍前の画像データが記憶されたバッファメモリのアドレス、変倍前の画像サイズ、変倍前の画像から解像度変換対象の画素を切り出すための座標値と切り出しサイズ、変倍後の画像データを記憶するバッファメモリのアドレス、変倍後の画像サイズ(または倍率)等の引数を指定して下位のプログラムを呼び出す。   However, the middleware layer 102 program does not directly move the post-processing circuit. For example, the address of the buffer memory in which the image data before scaling is stored, the image size before scaling, and the image before scaling Lower-level program by specifying arguments such as the coordinate value and cut-out size for cutting out the pixels for resolution conversion from, the address of the buffer memory that stores the image data after scaling, and the image size (or magnification) after scaling Call.

例えば、解像度変換の機能を呼び出すAPIでは、その解像度変換の機能の処理を何に行わせるかは指定していない。つまり、解像度変換を行うハードウェアに依存しないようにAPIが構成されている(抽象化)。実際にポストプロセス回路を起動させるのは、このAPIによって呼び出されたプログラムである。   For example, an API that calls a resolution conversion function does not specify what processing of the resolution conversion function is to be performed. That is, the API is configured so as not to depend on hardware for performing resolution conversion (abstraction). It is the program called by this API that actually activates the post-processing circuit.

具体的には、デバイスドライバ層104のプログラムである画像処理ドライバ104bがポストプロセス回路を起動させる。ミドルウェア層102の下は、カーネル層103であり、RTOS103aが置かれている。上述した通り、電子カメラでは、複数の処理が並列に実行されるが、これらの処理を行うプログラムをRTOS103aのタスクとすることで並列処理が実現される。カーネル層103の下は、デバイスドライバ層104であり、その下のハードウェア層105に含まれる色々なハードウェアを動かすプログラムが置かれる。   Specifically, the image processing driver 104b, which is a program for the device driver layer 104, activates the post-process circuit. Below the middleware layer 102 is a kernel layer 103 on which an RTOS 103a is placed. As described above, in the electronic camera, a plurality of processes are executed in parallel. Parallel processing is realized by using a program for performing these processes as a task of the RTOS 103a. Below the kernel layer 103 is a device driver layer 104, and programs for operating various hardware included in the hardware layer 105 thereunder are placed.

ハードウェア層105には、画像処理回路(プリプロセス回路、ポストプロセス回路)、JPEGコーデック、LCDコントローラ、CARDコントローラ、USBコントローラ等を備えるバックエンジン内部の回路の他、撮像回路やバックエンジンに繋がった周辺デバイス等が含まれる。   The hardware layer 105 is connected to an imaging circuit and a back engine in addition to a circuit inside the back engine including an image processing circuit (preprocess circuit, post process circuit), JPEG codec, LCD controller, CARD controller, USB controller, and the like. Peripheral devices are included.

デバイスドライバ層104を設けることでハードウェアが抽象化されるため、ハードウェアが変わっても、デバイスドライバを変更するだけで上位のプログラムは、そのまま動かすことができる。   Since the hardware is abstracted by providing the device driver layer 104, even if the hardware changes, the higher-level program can be moved as it is only by changing the device driver.

但し、上位層のプログラムから下位層のプログラムを呼び出すAPIは、標準化する必要がある。以上のことを踏まえた上で、電子カメラ1のソフトウェアについて説明する。   However, an API that calls a lower layer program from an upper layer program needs to be standardized. Based on the above, the software of the electronic camera 1 will be described.

<電子カメラ1のソフトウェアについて>
電子カメラ1は、フロントエンジン12を新たに備えているが、従来の電子カメラのソフトウェアとの共通化を図るため、このフロントエンジン12を抽象化することを既に説明した。
<About software of electronic camera 1>
Although the electronic camera 1 is newly provided with a front engine 12, it has already been described that the front engine 12 is abstracted so as to be shared with software of a conventional electronic camera.

図8は、仮想撮像回路を説明する図である。具体的には、図8に示す通り、フロントエンジン12とそれに繋がった撮像回路を合わせて仮想的な撮像回路として抽象化する。つまり、フロントエンジン12の出力撮像インターフェース(SIFo1とSIFo2)は、撮像回路が画像データを出力するためのインターフェースと同じものである。これにより、仮想的な撮像回路という抽象化が実現する。この抽象化を行うことにより、図8の左側の回路は、右側の回路のように見える。換言すると、図8の左側の回路と右側の回路とは、等価回路として扱うことができる。これ以降は、仮想的な撮像回路のことを「仮想撮像回路」、従来の電子カメラで使われる撮像回路(図10参照)のことを「普通撮像回路」、電子カメラ1のフロントエンジン12に繋がっている撮像回路(図8の左側)を「高速撮像回路」と呼んで区別する。   FIG. 8 is a diagram illustrating the virtual imaging circuit. Specifically, as shown in FIG. 8, the front engine 12 and the imaging circuit connected thereto are combined and abstracted as a virtual imaging circuit. That is, the output imaging interface (SIFo1 and SIFo2) of the front engine 12 is the same as the interface for the imaging circuit to output image data. Thereby, the abstraction of a virtual imaging circuit is realized. By performing this abstraction, the circuit on the left side of FIG. 8 looks like the circuit on the right side. In other words, the left circuit and the right circuit in FIG. 8 can be treated as equivalent circuits. Thereafter, the virtual imaging circuit is connected to the “virtual imaging circuit”, the imaging circuit used in the conventional electronic camera (see FIG. 10) is connected to the “normal imaging circuit”, and the front engine 12 of the electronic camera 1 is connected. The image pickup circuit (left side in FIG. 8) is called a “high-speed image pickup circuit” for distinction.

抽象化とは、図8に示す高速撮像回路11aとフロントエンジン12とを一体化して仮想的な仮想撮像回路30と見なすことであるが、この仮想撮像回路30が普通撮像回路(例えば、図10に示す撮像回路52)と同じように動作させることが重要である。これにより、従来の電子カメラのソフトウェアがそのまま利用できるからである。これが抽象化の目的である。   The abstraction means that the high-speed imaging circuit 11a and the front engine 12 shown in FIG. 8 are integrated and regarded as a virtual virtual imaging circuit 30, and the virtual imaging circuit 30 is a normal imaging circuit (for example, FIG. 10). It is important to operate in the same manner as the imaging circuit 52) shown in FIG. This is because conventional electronic camera software can be used as it is. This is the purpose of abstraction.

普通撮像回路は、バックエンジン13が直接受信できるピクセルレートの画像データを出力する。一方、仮想撮像回路30から出力される画像データは、ピクセルレートが低減されており、バックエンジン13で直接受信することができるので、機能上の類似性は備えている。   The normal imaging circuit outputs image data having a pixel rate that can be directly received by the back engine 13. On the other hand, the image data output from the virtual imaging circuit 30 has a reduced pixel rate and can be directly received by the back engine 13, and thus has functional similarity.

フロントエンジン12が2つの出力撮像インターフェース(SIFo1とSIFo2)を備えていることに対応して仮想撮像回路30も画像データ出力用のインターフェースを2つ持つが、普通撮像回路の方は、インターフェースが1つなのでその点が大きな違いとなっている。   Corresponding to the front engine 12 having two output imaging interfaces (SIFo1 and SIFo2), the virtual imaging circuit 30 also has two interfaces for image data output, but the normal imaging circuit has one interface. This is a big difference.

但し、ソフトウェア的な観点から見ると、インターフェースの数が異なる点は、特に問題にならない。この違いは、デバイスドライバ層104で遮蔽されて上位層のプログラムには、見えないからである。重要なのは機能上の違いである。その違いとは、仮想撮像回路30は、2つの異なる画像データを同時に出力できる点であり、これは、既に説明したフロントエンジン12の動作に対応している。図8の右側の仮想撮像回路30から外に向かう実線の矢印からは、ライブビューの画像データが出力される。また、点線の矢印からは、静止画データや記録用の動画データが出力される。   However, from the viewpoint of software, the difference in the number of interfaces is not a problem. This difference is because it is shielded by the device driver layer 104 and is not visible to the upper layer program. What is important is the functional difference. The difference is that the virtual imaging circuit 30 can output two different image data simultaneously, and this corresponds to the operation of the front engine 12 already described. Live view image data is output from the solid-line arrow that extends outward from the virtual imaging circuit 30 on the right side of FIG. Still image data and moving image data for recording are output from dotted arrows.

つまり、ライブビューを行いながら撮影された静止画データを出力したり、ライブビューを行いながら記録用の動画データを出力したりする並列動作ができる。   That is, it is possible to perform parallel operations such as outputting still image data shot while performing live view, or outputting moving image data for recording while performing live view.

一方、普通撮像回路から2つの異なる画像データを出力する場合、シーケンシャル動作となる。普通撮像回路の場合、1つの画像データ出力モードが終わってから別の画像データ出力モードに移るが、仮想撮像回路30の場合、1つの画像データ出力モードを動作させたまま別の画像データ出力モードを動作させることができるので、制御のシーケンスが異なっている。   On the other hand, when two different image data are output from the normal imaging circuit, a sequential operation is performed. In the case of a normal imaging circuit, after one image data output mode ends, another image data output mode is shifted to. However, in the case of the virtual imaging circuit 30, another image data output mode is maintained while the one image data output mode is operated. The control sequence is different.

図8の右側の回路と図10の回路とは、見かけ上同じであるものの、制御のシーケンスが異なっているので、電子カメラ1と電子カメラ50とではソフトウェアが若干異なる。   Although the circuit on the right side of FIG. 8 and the circuit of FIG. 10 are the same in appearance, the electronic camera 1 and the electronic camera 50 have slightly different software because the control sequence is different.

しかし、仮想撮像回路30という抽象化によって上位層のソフトウェアは、かなり共通化される。つまり、仮想撮像回路30を動かすのに従来とほぼ同じAPIが使えることになり、上位層のプログラムは、このAPIを呼び出すことによって画像の撮影を行うことができる。上述したように若干の変更は必要なものの、ほぼ同じAPIを用いて作成することができるため、上位層のプログラムは、従来の電子カメラの上位層のプログラムを適宜用いることができる。   However, the upper layer software is considerably shared by the abstraction of the virtual imaging circuit 30. That is, almost the same API can be used to move the virtual imaging circuit 30, and an upper layer program can capture an image by calling this API. As described above, although a slight change is necessary, the upper layer program can be appropriately used as the upper layer program because it can be created using substantially the same API.

図8の右側の回路において、バックエンジン13から仮想撮像回路30に向かう矢印は、仮想撮像回路30を動かすための仮想制御信号である。この仮想制御信号も抽象化の一部であって上述したAPIを用いて制御される。仮想撮像回路30という抽象化を行った結果、バックエンジン13側のソフトウェアは、図9の左側のようになる。   In the circuit on the right side of FIG. 8, an arrow from the back engine 13 toward the virtual imaging circuit 30 is a virtual control signal for moving the virtual imaging circuit 30. This virtual control signal is also part of the abstraction and is controlled using the API described above. As a result of the abstraction of the virtual imaging circuit 30, the software on the back engine 13 side is as shown on the left side of FIG.

図9は、電子カメラ1のソフトウェアの構造の一例を示す図である。図9の左側のデバイスドライバ層104には、ソフトウェアインターフェースの一種である仮想撮像ドライバ104dがあって、これが図8の右側の仮想撮像回路30を動作させる。この仮想撮像ドライバ104dは、上述したAPIを用いて上位層のプログラムから呼び出されるが、その下のハードウェア層105には撮像回路がないため、実際の処理は、図7に示す撮像ドライバ104cとは異なる。つまり、仮想撮像ドライバ104dは、更にその下にある通信ドライバ104eを呼び出し、この通信ドライバ104eが撮像に関わるコマンドとパラメータをフロントエンジン12に送信する。   FIG. 9 is a diagram illustrating an example of the software structure of the electronic camera 1. The device driver layer 104 on the left side of FIG. 9 has a virtual imaging driver 104d which is a kind of software interface, and this operates the virtual imaging circuit 30 on the right side of FIG. The virtual imaging driver 104d is called from the upper layer program using the above-described API, but since there is no imaging circuit in the hardware layer 105 below, the actual processing is the same as the imaging driver 104c shown in FIG. Is different. That is, the virtual imaging driver 104d further calls the communication driver 104e below the virtual imaging driver 104d, and the communication driver 104e transmits commands and parameters relating to imaging to the front engine 12.

上述したAPIは、上位層のプログラムから呼び出されるので、その引数も上位層の情報が少数渡されるだけである。そのため、フロントエンジン12に送られるパラメータも少量になって通信のオーバーヘッドが抑えられる。   Since the API described above is called from the upper layer program, only a small number of upper layer information is passed to the argument. For this reason, the parameters sent to the front engine 12 are also reduced, and communication overhead is suppressed.

図9の左側のハードウェア層105には、通信Interface105dがあり、通信にはこのインターフェースが使われる。仮想撮像回路30からは、画像データが出力されるのでバックエンジン13内部の画像処理回路13bは、通信Interface105dから送られた情報を受信して処理しなければならず、上位層のプログラムが仮想撮像ドライバのAPIを呼び出す時には、図9に示す左側の画像処理ドライバ104bのAPIも併せて呼び出す必要がある。仮想撮像回路30の2つのインターフェースは、この画像処理ドライバ104bが吸収するので上位のAPIからは見えない。   The hardware layer 105 on the left side of FIG. 9 includes a communication interface 105d, and this interface is used for communication. Since image data is output from the virtual imaging circuit 30, the image processing circuit 13b in the back engine 13 must receive and process the information sent from the communication interface 105d, and the upper layer program executes virtual imaging. When calling the driver API, it is necessary to call the API of the left image processing driver 104b shown in FIG. The two interfaces of the virtual imaging circuit 30 are not visible from the higher-level API because the image processing driver 104b absorbs the two interfaces.

図9の左側のデバイスドライバ層104を見ると、図7のデバイスドライバ層104と同様の構成になっており、電子カメラ1のソフトウェアを従来の電子カメラと共通化する目標がかなり達成されていることが分かる。   Looking at the device driver layer 104 on the left side of FIG. 9, the configuration is the same as that of the device driver layer 104 in FIG. I understand that.

続いて、図9の右側に示されたフロントエンジン12側のソフトウェアについて説明する。フロントエンジン12側のソフトウェアもバックエンジン13側と同じように階層化されている。フロントエンジン12側のソフトウェアは、アプリケーション層201、ミドルウェア層202、カーネル層203、デバイスドライバ層204及びハードウェア層205を有する。   Next, the software on the front engine 12 side shown on the right side of FIG. 9 will be described. The software on the front engine 12 side is also hierarchized in the same way as the back engine 13 side. The software on the front engine 12 side includes an application layer 201, a middleware layer 202, a kernel layer 203, a device driver layer 204, and a hardware layer 205.

アプリケーション層201は、静止画撮影201a、動画撮影201b及びライブビュー201cを有する。ミドルウェア層202は、ミドルウェア202a及びライブラリ202bを有する。カーネル層203は、RTOS203aを有する。デバイスドライバ層204は、画像処理ドライバ204a、通信ドライバ204b及び撮像ドライバ204cを有する。ハードウェア層205は、フロントエンジン205a、通信Interface205b及び撮像回路205cを有する。   The application layer 201 includes a still image shooting 201a, a moving image shooting 201b, and a live view 201c. The middleware layer 202 includes middleware 202a and a library 202b. The kernel layer 203 has an RTOS 203a. The device driver layer 204 includes an image processing driver 204a, a communication driver 204b, and an imaging driver 204c. The hardware layer 205 includes a front engine 205a, a communication interface 205b, and an imaging circuit 205c.

一番下層のハードウェア層205の通信Interface205bは、バックエンジン13から送られた情報を受信する。これは物理層の見方であって、この情報をその上のデバイスドライバ層204にある通信ドライバ204bが受信するのが論理層の見方になる。   The communication interface 205b of the lowermost hardware layer 205 receives the information sent from the back engine 13. This is a physical layer view, and the logical layer view is that the communication driver 204b in the device driver layer 204 above receives this information.

フロントエンジン12がレスポンスを返す時には、逆方向に情報が送信される。ハードウェア層205にある撮像回路205cとは、高速撮像回路11aのことであり、この高速撮像回路11aからは高ピクセルレートの画像データが出力される。   When the front engine 12 returns a response, information is transmitted in the reverse direction. The imaging circuit 205c in the hardware layer 205 is the high-speed imaging circuit 11a, and high-speed image data is output from the high-speed imaging circuit 11a.

高速撮像回路11aは、その上のデバイスドライバ層204の撮像ドライバ204cによって駆動される。ハードウェア層205の残り1つは、フロントエンジン12内部ブロックをまとめて表したものであり、これらのブロックは何れも高速撮像回路11aから出力された画像データの処理に関わる。   The high-speed imaging circuit 11a is driven by the imaging driver 204c of the device driver layer 204 thereon. The remaining one of the hardware layers 205 collectively represents the internal blocks of the front engine 12, and these blocks are all related to the processing of image data output from the high-speed imaging circuit 11a.

これらのブロックは、1つ上のデバイスドライバ層204にある画像処理ドライバ204aによって駆動される。その上のソフトウェアもバックエンジン13側と同様の構成となっているが、その中でアプリケーション層201のプログラムについて補足説明する。   These blocks are driven by an image processing driver 204a in the device driver layer 204 one level above. The software on it has the same configuration as that on the back engine 13 side, and supplementary explanation will be given for the program of the application layer 201 therein.

フロントエンジン12側には、静止画撮影201a、動画撮影201b及びライブビュー(LiveView)201c等のアプリケーションプログラムが記載されている。これらのアプリケーションプログラムは、バックエンジン13側のアプリケーションプログラムに対応するコマンドを解釈するだけのプログラムである。静止画撮影201a、動画撮影201b及びライブビュー201cの3つのアプリケーションプログラムは、電子カメラの基本動作モードであり、これらのアプリケーションプログラムは、アプリケーション層201で決定されるが、その情報はアプリケーション層201よりも下位層にも伝えられる必要がある。   On the front engine 12 side, application programs such as still image shooting 201a, moving image shooting 201b, and live view (LiveView) 201c are described. These application programs are only programs that interpret commands corresponding to the application program on the back engine 13 side. The three application programs of still image shooting 201a, moving image shooting 201b, and live view 201c are basic operation modes of the electronic camera. These application programs are determined by the application layer 201, but the information is obtained from the application layer 201. Need to be communicated to the lower layers.

その理由は、動作モードによって画像データの処理内容やデータの経路が変わるからである。そこで、バックエンジン13から受信したコマンドとパラメータを先ずアプリケーションプログラムに渡してそのコマンドを解釈する。これにより、動作モードが確定したら一緒に受信したパラメータを引数にして上述したAPIを呼び出し、モードに応じた動作を行わせる。これにより、フロントエンジン12側のソフトウェアもバックエンジン13側と同様な階層構造となる。   This is because the processing content of the image data and the data path change depending on the operation mode. Therefore, the command and parameters received from the back engine 13 are first passed to the application program to interpret the command. As a result, when the operation mode is determined, the API described above is called by using the parameter received together as an argument, and the operation according to the mode is performed. As a result, the software on the front engine 12 side also has a hierarchical structure similar to that on the back engine 13 side.

しかし、フロントエンジン12側の階層構造は、一例であって、更に単純な階層構造であっても良い。また、フロントエンジン12側の機能は限られているので、汎用のライブラリの使用を少なくしても良い。   However, the hierarchical structure on the side of the front engine 12 is an example, and may be a simpler hierarchical structure. Further, since the functions on the front engine 12 side are limited, the use of a general-purpose library may be reduced.

一方、フロントエンジン12側では、ライブビューを行いながら静止画データをバックエンジン13に送信したり、仮想撮像回路30から出力された画像データを、DRAM14内のRAW1バッファ14bに記憶しながら別のRAW1バッファ(不図示)から読み出した画像データをバックエンジン13に送信したりするような並列処理を行う。そのため、フロントエンジン12側にもRTOS203aを導入してマルチタスク処理を行う必要がある。インターフェースが2つあるために仮想撮像回路30の動作は、普通撮像回路と少し異なると述べたが、その他に違いとして、特に静止画撮影の場合について説明する。   On the other hand, on the front engine 12 side, still image data is transmitted to the back engine 13 while performing live view, or the image data output from the virtual imaging circuit 30 is stored in the RAW1 buffer 14b in the DRAM 14 while another RAW1 is stored. Parallel processing such as transmitting image data read from a buffer (not shown) to the back engine 13 is performed. Therefore, it is necessary to introduce the RTOS 203a on the front engine 12 side to perform multitask processing. Although the operation of the virtual image pickup circuit 30 is slightly different from that of the normal image pickup circuit due to the two interfaces, the case of still image shooting will be described as another difference.

先ず、普通撮像回路と高速撮像回路11aの動作は、(i)被写体を露光して撮像センサに信号電荷を蓄積する、(ii)蓄積された電荷信号をデジタルデータに変換して各々の撮像回路から出力する、の2つから成っている。   First, the operations of the normal imaging circuit and the high-speed imaging circuit 11a are: (i) exposing a subject and accumulating signal charges in an imaging sensor; (ii) converting the accumulated charge signals into digital data, and each imaging circuit. It consists of two outputs:

電子カメラ50における静止画撮影では、条件(ii)で普通撮像回路(図10の撮像回路52)から出力された静止画データがバックエンジン51で受信され、次いでプリプロセス回路でプリプロセスが施されてRAWバッファ53dに記憶されるという動作が行われる。   In still image shooting by the electronic camera 50, still image data output from the normal imaging circuit (imaging circuit 52 in FIG. 10) under the condition (ii) is received by the back engine 51, and then preprocessed by the preprocessing circuit. Then, the operation of storing in the RAW buffer 53d is performed.

一方、図8に示す通り、仮想撮像回路30の動作も、(I)被写体を露光してデジタルの静止画データを生成する、(II)生成された静止画データを高速撮像回路11aから出力する、という2つの条件に分けることができる。   On the other hand, as shown in FIG. 8, the operation of the virtual imaging circuit 30 also includes (I) generating a digital still image data by exposing a subject, and (II) outputting the generated still image data from the high-speed imaging circuit 11a. Can be divided into two conditions.

電子カメラ1における静止画撮影では、仮想撮像回路30が条件(I)と条件(II)との動作を順次行っており、条件(II)の場合、仮想撮像回路30から出力された静止画データが従来の電子カメラと同様、バックエンジン13側で受信されて処理される。仮想撮像回路30の動作は、高速撮像回路11aとフロントエンジン12の動作から成るので、条件(I)と条件(II)とがそれらの何の動作に対応しているのかについて説明する。   In still image shooting with the electronic camera 1, the virtual imaging circuit 30 sequentially performs the operations of the condition (I) and the condition (II). In the case of the condition (II), the still image data output from the virtual imaging circuit 30. Is received and processed by the back engine 13 as in the conventional electronic camera. Since the operation of the virtual imaging circuit 30 includes the operation of the high-speed imaging circuit 11a and the front engine 12, what operation the conditions (I) and (II) correspond to will be described.

高速撮像回路11aの動作は、条件(i)と条件(ii)とから成るが、フロントエンジン12の動作は、(a) 高速撮像回路11aから出力された静止画データをRAW1バッファ14bに記憶する、(b) RAW1バッファ14bに記憶された静止画データを読み出してバックエンジン13に送信する、の2つの条件から成っている。   The operation of the high-speed imaging circuit 11a is composed of the condition (i) and the condition (ii). The operation of the front engine 12 is (a) storing still image data output from the high-speed imaging circuit 11a in the RAW1 buffer 14b. (B) The two conditions are that the still image data stored in the RAW1 buffer 14b is read and transmitted to the back engine 13.

このうち、条件(ii)と、条件(a)とは、並列動作なので、高速撮像回路11aとフロントエンジン12とが連動しているが、条件(i)の方は、高速撮像回路11aの単独の動作になる。条件(b)の動作は、フロントエンジン12とバックエンジン13とが連動しているものの高速撮像回路11aの動作とは独立しており、この時は、送信された静止画データにプリプロセスを施してRAW2バッファ15cに記憶する動作がバックエンジン13側で並行して行われる。フロントエンジン12の条件(b)の動作は、普通撮像回路の条件(ii)の動作や、仮想撮像回路30の条件(II)の動作に対応すると考えるのが自然である。   Among these, since the condition (ii) and the condition (a) are parallel operations, the high-speed imaging circuit 11a and the front engine 12 are interlocked. However, the condition (i) is the single high-speed imaging circuit 11a. It becomes the operation of. The operation of the condition (b) is independent of the operation of the high-speed imaging circuit 11a although the front engine 12 and the back engine 13 are interlocked. At this time, the transmitted still image data is preprocessed. The operation stored in the RAW2 buffer 15c is performed in parallel on the back engine 13 side. It is natural to think that the operation of the condition (b) of the front engine 12 corresponds to the operation of the condition (ii) of the normal imaging circuit and the operation of the condition (II) of the virtual imaging circuit 30.

すると、仮想撮像回路30の条件(I)の動作は「高速撮像回路11aの動作(条件(i))+高速撮像回路11aの動作(条件(ii))+フロントエンジン12の動作(条件(a))」に対応させるのが好ましい。   Then, the operation of the condition (I) of the virtual imaging circuit 30 is “the operation of the high-speed imaging circuit 11a (condition (i)) + the operation of the high-speed imaging circuit 11a (condition (ii)) + the operation of the front engine 12 (condition (a) )) ”.

つまり、高速撮像回路11aによる被写体の露光からRAW1バッファ14bに静止画データが記憶されるまでの動作が仮想撮像回路30の条件(I)の動作に対応し、RAW1バッファ14bに記憶された静止画データを読み出してバックエンジン13に送信する動作が仮想撮像回路30の条件(II)の動作に対応すると考える。仮想撮像回路30の2つの動作を上述したように対応させた場合、仮想撮像回路30の条件(I)の動作と普通撮像回路(例えば、撮像回路52)の条件(i)の動作が同じであり、仮想撮像回路30の条件(II)の動作と普通撮像回路の条件(ii)の動作が同じであると考えることができるか否かを検討する。   That is, the operation from the exposure of the subject by the high-speed imaging circuit 11a to the storage of the still image data in the RAW1 buffer 14b corresponds to the operation of the condition (I) of the virtual imaging circuit 30, and the still image stored in the RAW1 buffer 14b. It is considered that the operation of reading data and transmitting it to the back engine 13 corresponds to the operation of the condition (II) of the virtual imaging circuit 30. When the two operations of the virtual imaging circuit 30 are made to correspond as described above, the operation of the condition (I) of the virtual imaging circuit 30 and the operation of the condition (i) of the normal imaging circuit (for example, the imaging circuit 52) are the same. Yes, it is examined whether the operation of the condition (II) of the virtual imaging circuit 30 and the operation of the condition (ii) of the normal imaging circuit can be considered the same.

これらの動作が同等であれば静止画撮影のソフトウェアも従来の電子カメラがそのまま使えることになる。しかし、2つの撮像回路(普通撮像回路、仮想撮像回路)の動作には違いがある。フロントエンジン12側には、RAW1バッファ14bが幾つも設けられているので、撮影した静止画データをそこに蓄積していく動作を行うことができる(RAWバッファ連写)。   If these operations are the same, the conventional electronic camera can be used as it is for the still image shooting software. However, there are differences in the operation of the two imaging circuits (normal imaging circuit, virtual imaging circuit). Since several RAW1 buffers 14b are provided on the front engine 12 side, it is possible to perform an operation of storing captured still image data therein (RAW buffer continuous shooting).

一方、それと並行して先に撮影された静止画データをRAW1バッファ14bから読み出してバックエンジン13に送信する動作が行われる。   On the other hand, in parallel with this, an operation of reading still image data previously captured from the RAW1 buffer 14b and transmitting it to the back engine 13 is performed.

前者(RAWバッファ連写)は、条件(I)の動作であるが、これは仮想撮像回路30の「露光動作」と考えることができる。後者は、条件(II)の動作であるが、これは仮想撮像回路30の「静止画データの出力動作」と考えることができる。普通撮像回路の露光動作である条件(i)と、静止画データの出力動作である条件(ii)とは不可分な動作であるが、仮想撮像回路30の条件(I)と条件(II)の動作には違いがある。不可分とは、撮影された静止画データを撮像回路から出力するまでは、次の静止画の露光を開始することができない意味である。条件(i)と条件(ii)の動作が不可分であることは、高速撮像回路11aも同じである。   The former (RAW buffer continuous shooting) is an operation of the condition (I), which can be considered as an “exposure operation” of the virtual imaging circuit 30. The latter is an operation under the condition (II), which can be considered as “an output operation of still image data” of the virtual imaging circuit 30. The condition (i) that is the exposure operation of the normal imaging circuit and the condition (ii) that is the output operation of the still image data are inseparable operations, but the conditions (I) and (II) of the virtual imaging circuit 30 There are differences in behavior. Indivisible means that the exposure of the next still image cannot be started until the captured still image data is output from the imaging circuit. The high-speed imaging circuit 11a is the same that the operations of the condition (i) and the condition (ii) are inseparable.

一方、仮想撮像回路30の場合、電子カメラ1では、撮影した静止画データを出力する前に、次の静止画の露光を始めることができる特徴がある。つまり、撮影した静止画データを仮想撮像回路30の中に溜めておくことができる。これは、RAW1バッファ14bを幾つも持っているために生じた特性である。撮影した静止画データを仮想撮像回路30から出力した後で次の静止画の露光を始めるとした場合、RAW1バッファ14bは、1つでも構わないことになり、それを幾つも設ける理由がなくなる。従って、電子カメラ1では、RAW1バッファ14bを幾つも設けることで静止画データの出力動作に依存しない高速な連写が可能になる。   On the other hand, the virtual imaging circuit 30 has a feature that the electronic camera 1 can start exposure of the next still image before outputting the captured still image data. That is, the captured still image data can be stored in the virtual imaging circuit 30. This is a characteristic caused by having several RAW1 buffers 14b. When the exposure of the next still image is started after the captured still image data is output from the virtual imaging circuit 30, there may be one RAW1 buffer 14b, and there is no reason to provide several RAW1 buffers. Therefore, in the electronic camera 1, by providing a number of RAW1 buffers 14b, it is possible to perform high-speed continuous shooting that does not depend on the output operation of still image data.

但し、空いているRAW1バッファ14bが無くなった時には、次の露光を始めてはならない。仮想撮像回路30という抽象化を行うとバックエンジン13側の上位層のプログラムからはRAW1バッファ14bが見えないため、仮想撮像回路30では「State1」の状態を設ける。これにより、仮想撮像回路30では、RAW1バッファ14bが空いていない時には、State1をBUSYに設定し、RAW1バッファ14bが空いた時には、State1をREADYに設定し、この情報を利用する。   However, the next exposure must not be started when there is no more empty RAW1 buffer 14b. When the virtual imaging circuit 30 is abstracted, the RAW1 buffer 14b cannot be seen from the upper-layer program on the back engine 13 side. Therefore, the virtual imaging circuit 30 provides the state “State1”. Thereby, in the virtual imaging circuit 30, when the RAW1 buffer 14b is not empty, State1 is set to BUSY, and when the RAW1 buffer 14b is empty, State1 is set to READY and this information is used.

このState1の状態は、仮想撮像ドライバ104dから上位層のプログラムに伝えられる。静止画撮影を行うプログラムは上述したAPIを呼び出して仮想撮像ドライバ104dからState1の状態を取得し、これがBUSYの時には、仮想撮像回路30は、READYになるまで待ちState1がREADYになったら露光を始める。   The state 1 is transmitted from the virtual imaging driver 104d to the upper layer program. A program for taking a still image calls the above-described API to acquire the state 1 from the virtual imaging driver 104d, and when this is BUSY, the virtual imaging circuit 30 waits until READY and starts exposure when State1 becomes READY. .

一方、撮影した静止画データを仮想撮像回路30から出力する場合にも似たような事情がある。つまり、RAW1バッファ14bが空の時には、仮想撮像回路30は、静止画データを出力することができない。そこで仮想撮像回路30では、もう1つ「State2」の状態を設ける。これにより、仮想撮像回路30では、RAW1バッファ14bに静止画データが記憶されている時には、State2をREADYに設定し、RAW1バッファ14bが空の時は、State2をBUSYに設定し、この情報を利用する。   On the other hand, there is a similar situation when the captured still image data is output from the virtual imaging circuit 30. That is, when the RAW1 buffer 14b is empty, the virtual imaging circuit 30 cannot output still image data. Therefore, the virtual imaging circuit 30 provides another “State 2” state. Thus, in the virtual imaging circuit 30, when still image data is stored in the RAW1 buffer 14b, State2 is set to READY, and when the RAW1 buffer 14b is empty, State2 is set to BUSY and this information is used. To do.

このState2の状態も仮想撮像ドライバ104dから取得される。バックエンジン13側のRAW2バッファ15cが空いていない時には、仮想撮像回路30は、静止画データを出力することができないので、その状態もチェックしなければならない。State1やState2の状態は、仮想撮像ドライバ104dが通信ドライバ104eを介してフロントエンジン12側から取得するが、RAW2バッファ15cの状態は、バックエンジン13側で取得される。   The state 2 is also acquired from the virtual imaging driver 104d. When the RAW2 buffer 15c on the back engine 13 side is not empty, the virtual imaging circuit 30 cannot output still image data, so the state must also be checked. The state 1 and state 2 are acquired from the front engine 12 side by the virtual imaging driver 104d via the communication driver 104e, while the state of the RAW2 buffer 15c is acquired on the back engine 13 side.

画像撮影用のソフトウエアの一つである静止画撮影のプログラムは、先ず、RAW2バッファ15cの状態をチェックし、それが空いている時には、上述したAPIを呼び出して仮想撮像ドライバ104dからState2の状態を取得する。State2の状態がBUSYの時には、静止画撮影のプログラムは、READYになるまで待ちState2がREADYになったら静止画データの出力を開始する。尚、いわゆる処理の終了を定期的にチェックするAPI(ポーリング)の代わりに割り込みを利用して次の露光開始のタイミングや、次の静止画データ出力のタイミングを知る方がプログラムの中断が減るので効率が上がる。   The still image shooting program, which is one of the image shooting software, first checks the state of the RAW2 buffer 15c, and when it is free, calls the above-described API to state the state 2 from the virtual imaging driver 104d. To get. When the state of State2 is BUSY, the still image shooting program waits until it becomes READY, and starts outputting still image data when State2 becomes READY. Note that the interruption of the program is reduced by knowing the timing of the next exposure start and the next still image data output timing by using an interrupt instead of the API (polling) for periodically checking the end of processing. Increases efficiency.

つまり、仮想撮像回路30のState1やState2の状態がREADYになる度に割り込みが発生し、次の露光や静止画データ出力が可能になったことを仮想撮像ドライバ104dから静止画撮影のプログラムに伝える。   That is, an interrupt occurs every time the state 1 or state 2 of the virtual imaging circuit 30 becomes READY, and the virtual imaging driver 104d notifies the still image shooting program that the next exposure or still image data output is possible. .

但し、State2割り込みは、単独ではなくRAW2バッファ15c(図3参照)の状態とのAND(論理積)で発生するようにしておく。割り込みが発生した時には、静止画撮影プログラムが上述したAPIを呼び出して仮想撮像回路30に露光や静止画データの出力を行わせるが、上述したようにこれらの2つは独立した動作であるため、そのAPIも別々に用意する必要がある。   However, the State2 interrupt is generated not by itself but by AND (logical product) with the state of the RAW2 buffer 15c (see FIG. 3). When an interrupt occurs, the still image shooting program calls the above-described API to cause the virtual imaging circuit 30 to perform exposure and output of still image data. However, as described above, these two are independent operations. It is necessary to prepare the API separately.

つまり、静止画撮影のプログラムは、発生した割り込みに応じてそれぞれのAPIを呼び出す。一方、普通撮像回路の場合には、これらの2つが不可分(一体的)な動作であるため、静止画撮影のプログラムは、1つのAPIで呼び出すことができる。仮想撮像回路30の場合には、State1がREADYであれば露光を行うことができ、State2がREADYでRAW2バッファ15cが空いていると静止画データを出力することができる。ここで、この2つの動作の進み方はどちらの方が速いかが問題となる。   That is, the still image shooting program calls each API in response to the generated interrupt. On the other hand, in the case of a normal imaging circuit, since these two operations are inseparable (integral) operations, a still image shooting program can be called with one API. In the case of the virtual imaging circuit 30, exposure can be performed if State1 is READY, and still image data can be output if State2 is READY and the RAW2 buffer 15c is free. Here, the problem is which of the two methods is faster.

仮想撮像回路30の露光動作では、撮影した静止画データをRAW1バッファ14bに記憶するまでの動作が行われ、静止画データの出力動作では、この静止画データをRAW1バッファ14bから読み出してバックエンジン13に送信する動作が行われる。   In the exposure operation of the virtual image pickup circuit 30, the operation until the photographed still image data is stored in the RAW1 buffer 14b is performed. In the output operation of the still image data, the still image data is read from the RAW1 buffer 14b and the back engine 13 is read. The operation to transmit to is performed.

後者の静止画データの出力動作では、ピクセルレートの低減が行われるため、その出力動作の進み方の方が遅れる傾向がある。バックエンジン13側の処理が遅いと、この遅れは更に大きくなる。そのため、RAW2バッファ15cを複数設けて静止画データの出力が滞らないようにしているものの、バックエンジン13側には、他のバッファメモリ(YCbCr1,YCbCr2,JPEG等)も設けられているので限界がある。   In the latter still image data output operation, since the pixel rate is reduced, the output operation tends to be delayed. If the processing on the back engine 13 side is slow, this delay is further increased. For this reason, although a plurality of RAW2 buffers 15c are provided to prevent the output of still image data from being delayed, there is a limit because other buffer memories (YCbCr1, YCbCr2, JPEG, etc.) are also provided on the back engine 13 side. is there.

つまり、RAWバッファ連写の場合、撮影された静止画データが仮想撮像回路30の中に複数残っている状態が発生する。この状態で露光を行う場合も静止画データを出力する場合もそれぞれコマ番号を指定する必要がある。コマ番号を指定しないと撮影順序を取り違えてしまう恐れがあるからである。そこで、上述した2つのAPIにもそれぞれコマ番号という引数を設けることにする。静止画撮影において、仮想撮像回路30の2つの機能(動作)を呼び出すAPI関数としては以下のようなものが考えられる。
露光動作 : SensorExposure(n,・・・)、 ----- (3−1)
静止画データの出力動作 : StillImageDataOut(m,・・・) ----- (3−2)
SensorExposure( )という関数の括弧内の「n」は露光(撮影)時のコマ番号を指定するための引数である。それ以外の引数は「・・・」で表されているが、ここには、露光時間や撮像回路の感度等が入る。
That is, in the case of RAW buffer continuous shooting, a state in which a plurality of still image data that has been shot remains in the virtual imaging circuit 30 occurs. It is necessary to designate a frame number both when performing exposure in this state and when outputting still image data. This is because if the frame number is not specified, there is a risk that the shooting order will be mistaken. Therefore, an argument called a frame number is provided for each of the two APIs described above. In still image shooting, the following API functions that call two functions (operations) of the virtual imaging circuit 30 are considered.
Exposure operation: SensorExposure (n, ...), ----- (3-1)
Still image data output operation: StillImageDataOut (m, ...) ----- (3-2)
“N” in parentheses of the function SensorExposure () is an argument for designating a frame number at the time of exposure (photographing). The other arguments are represented by “...”, But the exposure time, the sensitivity of the imaging circuit, and the like are entered here.

一方、StillImageDataOut( )という関数の括弧内の「m」は仮想撮像回路30から静止画データを出力する時のコマ番号を指定する引数である。最後に露光(撮影)されたコマ番号を「Nmax」とすれば常に「m≦Nmax」となる。露光時のコマ番号nの初期値は「0」であり、静止画撮影プログラムは露光を開始する前にnを「1」増やしてから露光動作のAPI関数を呼び出す。   On the other hand, “m” in parentheses of the function “StillImageDataOut ()” is an argument for designating a frame number when outputting still image data from the virtual imaging circuit 30. If the last exposed (photographed) frame number is “Nmax”, “m ≦ Nmax” is always satisfied. The initial value of the frame number n at the time of exposure is “0”, and the still image shooting program increments n by “1” before starting the exposure, and then calls the API function for the exposure operation.

従って、露光時のコマ番号nは、「1→2→3→・・・」というように単純に1ずつ増えていく。露光時のコマ番号nは、仮想撮像回路30の中に送られ撮影後その中に蓄積されている静止画データとセットで管理される。この管理は、フロントエンジン12側のプログラムで行われる。これにより、仮想撮像回路30内に蓄積されている静止画データがそれぞれ何コマ目に撮影されたものなのか常に知ることができる。静止画撮影プログラムは、露光時のコマ番号nを管理して撮影したコマ数が分かるようにする。   Therefore, the frame number n at the time of exposure is simply increased by 1 as “1 → 2 → 3 →. The frame number n at the time of exposure is managed as a set together with still image data sent to the virtual imaging circuit 30 and stored in the virtual imaging circuit 30 after shooting. This management is performed by a program on the front engine 12 side. As a result, it is possible to always know at which frame each of the still image data stored in the virtual imaging circuit 30 is taken. The still image shooting program manages the frame number n at the time of exposure so that the number of frames shot can be known.

一方、静止画データ出力時のコマ番号mの初期値も「0」であるが、こちらの方は、仮想撮像回路30内に残っている静止画データのどれでも出力することもできるので自由度がある。   On the other hand, the initial value of the frame number m at the time of outputting the still image data is also “0”, but this person can output any of the still image data remaining in the virtual imaging circuit 30, so the degree of freedom. There is.

しかし、通常、撮影した順に静止画データを出力していくので、静止画撮影のプログラムは、出力を開始する前にmを「1」増やしてから静止画データの出力動作のAPI関数を呼び出す。従って、静止画データ出力時のコマ番号mも「1→2→3→・・・」というように単純に1ずつ増えていく。このコマ番号mも仮想撮像回路30の中に送られて内部に残っている静止画データのコマ番号nと比較され、それらのコマ番号が一致した静止画データが選択されて仮想撮像回路30より出力される。   However, since still image data is normally output in the order of shooting, the still image shooting program increments m by “1” before starting output, and then calls an API function for the still image data output operation. Accordingly, the frame number m at the time of outputting the still image data is simply increased by 1 as “1 → 2 → 3 →...”. This frame number m is also sent to the virtual imaging circuit 30 and compared with the frame number n of the still image data remaining inside, and the still image data with the matching frame number is selected and is selected from the virtual imaging circuit 30. Is output.

フロントエンジン12側のプログラムは、バックエンジン13から受信した静止画データ出力コマンドに対するレスポンスの中に出力した静止画データのコマ番号(m=n)を入れて返信する。レスポンスのコマ番号は、先ず、バックエンジン13側の通信ドライバ104eで受信され、次いで、その上の仮想撮像ドライバ104dを介して静止画撮像プログラムに伝えられる。この静止画撮影プログラムがコマ番号をやり取りすることによって、コマ番号を正しく把握しつつ撮影された静止画データを処理していくことができる。   The program on the front engine 12 side returns the frame number (m = n) of the still image data output in the response to the still image data output command received from the back engine 13. The frame number of the response is first received by the communication driver 104e on the back engine 13 side, and then transmitted to the still image capturing program via the virtual image capturing driver 104d thereon. By exchanging the frame number with this still image shooting program, it is possible to process still image data shot while correctly grasping the frame number.

静止画撮影プログラムは、静止画データ出力時のコマ番号mを管理してどの静止画データが出力されたのか分かるようにする。静止画撮影プログラムは、露光時のコマ番号nと静止画データ出力時のコマ番号mの両方を管理することにより、何コマ目の静止画データが未だ仮想撮像回路30内に残っているのか常に知ることができる。   The still image shooting program manages the frame number m at the time of still image data output so that it can know which still image data has been output. The still image shooting program manages both the frame number n at the time of exposure and the frame number m at the time of still image data output, so that it is always possible to determine how many still image data still remain in the virtual imaging circuit 30. I can know.

ところで、「撮影した順に仮想撮像回路30から静止画データを出力する」と先に述べたが、StillImageDataOut( )のようなAPIを用いると仮想撮像回路30内に残っているどの静止画データを出力することもできる。   By the way, “still image data is output from the virtual imaging circuit 30 in the order of shooting” is described above. However, when an API such as StillImageDataOut () is used, any still image data remaining in the virtual imaging circuit 30 is output. You can also

つまり、StillImageDataOut( )のようなAPIは、撮影順とは異なる順序で仮想撮像回路30から静止画データを出力する動作もできる。電子カメラの製品の仕様次第ではあるが、この動作によって、電子カメラに新しい特徴を持たせることができる。   That is, an API such as StillImageDataOut () can also output still image data from the virtual imaging circuit 30 in an order different from the imaging order. Depending on the specifications of the product of the electronic camera, this operation can give the electronic camera a new feature.

具体的には、RAWバッファ連写を行っている時に、突然再生ボタン(PLAYボタン)が押された場合には、再生モードに移る設定にする。この場合、撮影された静止画のどれから再生していくのが適切かと言えば、静止画の再生モードでは最後に撮影された(最新の)静止画からコマ番号を遡って再生していくのが好ましい。   Specifically, when the RAW buffer continuous shooting is performed, if the playback button (PLAY button) is suddenly pressed, the setting is made to shift to the playback mode. In this case, it can be said that it is appropriate to play back from the shot still image, and in the still image playback mode, the frame number is played back from the last shot (latest) still image. Is preferred.

すると、中断された連写の最後に撮影された静止画データを先に出力して再生することになるが、StillImageDataOut( )のようなAPI関数であれば、コマ番号mを指定して静止画データを出力することができるので目的の再生が実現される。   Then, the still image data captured at the end of the interrupted continuous shooting is output and played back first, but if it is an API function such as StillImageDataOut (), the frame number m is specified to specify the still image. Since data can be output, the desired reproduction is realized.

尚、StillImageDataOut( )の引数は、コマ番号m以外、必要なものがあれば適宜追加しても良い。(3−1)の露光動作及び(3−2)の静止画データの出力動作のAPIを用意することにより電子カメラ1は多様な動作を行うことができる。   It should be noted that the arguments of StillImageDataOut () may be appropriately added if necessary except for the frame number m. The electronic camera 1 can perform various operations by preparing APIs for the exposure operation (3-1) and the still image data output operation (3-2).

ところで、従来の電子カメラの静止画撮影では、普通撮像回路の露光動作と、静止画データの出力動作が不可分(一体的)に行われるため1つのAPIで呼び出されることを先に述べた。   By the way, as described above, in the still image shooting of the conventional electronic camera, the exposure operation of the normal imaging circuit and the output operation of the still image data are performed inseparably (integrated), so that it is called by one API.

そこで、静止画撮影時の普通撮像回路の動作を見ていくことにする。この普通撮像回路の動作は、例えば、以下の2つの条件に分類される。
[1]露光動作が終わると自動的に静止画データの出力が始まるもの
[2]露光動作開始時と静止画データ出力開始時にそれぞれ別の操作が必要なもの
条件[1]のタイプは、2つの動作が文字通り不可分であり1つのAPIで呼び出すしかない。一方、条件[2]のタイプは、2つの動作が別々の操作によって起こるので不可分とは別の意味になる。
Therefore, let us examine the operation of the normal imaging circuit during still image shooting. The operation of this normal imaging circuit is classified into the following two conditions, for example.
[1] Still image data output automatically starts after the exposure operation is completed. [2] Different operations are required at the start of the exposure operation and at the start of the still image data output. The type of the condition [1] is 2 One action is literally inseparable and can only be called with one API. On the other hand, the type of condition [2] has a different meaning from inseparable because the two operations are caused by different operations.

つまり、撮影(露光)した静止画データを出力するまでは、次の露光を始めないというシステム的な意味の不可分性である。上位層の静止画撮影プログラムからは、この2つが1つの動作に見えても良いので、1つのAPIで呼び出しているが、そのAPIによって呼び出される撮像ドライバ104c(図7参照)の中では、2つのシーケンシャルな動作に分かれている。つまり、条件[2]のタイプの2つの動作は、撮像ドライバ104cの中で分かれて実行されており、静止画撮像プログラムから見えないだけである。   That is, it is inseparable in the system sense that the next exposure is not started until the captured (exposed) still image data is output. From the still image shooting program of the upper layer, these two may appear to be one operation, so that they are called by one API, but in the imaging driver 104c (see FIG. 7) called by the API, 2 It is divided into three sequential operations. That is, the two operations of the condition [2] type are executed separately in the imaging driver 104c, and are only invisible to the still image imaging program.

しかし、2つの動作に分かれているのなら静止画撮影プログラムのAPIからそれらを呼び出しても良い。つまり、(3−1)の露光動作及び(3−2)の静止画データの出力動作のAPIが利用できることになるが、それは、普通撮像回路を仮想撮像回路30のように眺めることを意味する。そのような見方をする場合には、仮想撮像回路30内のRAW1バッファ14bの数が1つと考えなければならない。RAW1バッファ14bが1つであれば、そこに記憶された静止画データを出力しないと次の露光が始められない不可分性が再現される。   However, if it is divided into two operations, they may be called from the API of the still image shooting program. In other words, the API for the exposure operation of (3-1) and the output operation of the still image data of (3-2) can be used, which means that the normal imaging circuit is viewed like the virtual imaging circuit 30. . In such a view, the number of RAW1 buffers 14b in the virtual imaging circuit 30 must be considered as one. If there is one RAW1 buffer 14b, the inseparability that the next exposure cannot be started unless the still image data stored therein is output is reproduced.

また、仮想撮像回路30のState1とState2との2つの状態が普通撮像回路にもそのまま適用される。つまり、普通撮像回路内にある1つの仮想的なRAW1バッファが空いている時には、State1がREADYでState2がBUSY、そこに撮影された静止画データが記憶されている時はState1がBUSYでState2がREADYになる。   In addition, the two states of State 1 and State 2 of the virtual imaging circuit 30 are also applied to the normal imaging circuit as they are. In other words, when one virtual RAW1 buffer in the normal imaging circuit is free, State1 is READY and State2 is BUSY, and when still image data is stored there, State1 is BUSY and State2 is Become READY.

これらの状態によって割り込みが発生するようにすれば、普通撮像回路の露光や静止画データ出力のタイミングが分かるので、この割り込みを利用して連写を続けていくことができる。このState1とState2の状態は、図7の撮像ドライバ104cから上位層の静止画撮影プログラムに伝えられる。普通撮像回路の場合、露光動作終了から静止画データの出力動作開始まで時間を置いてはならない(電荷信号が劣化するため)。   If an interrupt is generated according to these states, the timing of exposure of the normal imaging circuit and the output of the still image data can be known, so that continuous shooting can be continued using this interrupt. The states of State1 and State2 are transmitted from the imaging driver 104c in FIG. 7 to the still image shooting program in the upper layer. In the case of a normal imaging circuit, there should be no time from the end of the exposure operation to the start of the still image data output operation (because the charge signal deteriorates).

従って、静止画撮影プログラムは、上述した(3−1)の露光動作及び(3−2)の静止画データの出力動作のAPIを続けて呼び出すようにする。その場合には、静止画撮影プログラムは、2つコマ番号を一致(m=n)させなければならない。RAW1バッファ14bが1つしかないので、これは当然のことである。この点に注意すれば従来の電子カメラでも(3)のAPIを用いて静止画の撮影を行うことができる。続いて、条件[1]のタイプの普通撮像回路に移るが、こちらは2つのAPIに分けることはできず、1つのAPIでその機能(動作)を呼び出すしかない。   Accordingly, the still image shooting program continuously calls the API for the exposure operation (3-1) and the output operation for the still image data (3-2) described above. In that case, the still image shooting program must match the two frame numbers (m = n). This is natural because there is only one RAW1 buffer 14b. If attention is paid to this point, it is possible to shoot a still image using the API of (3) even with a conventional electronic camera. Subsequently, the process proceeds to the normal imaging circuit of the condition [1] type. However, this cannot be divided into two APIs, and only the function (operation) is called by one API.

しかし、仮想撮像回路30と普通撮像回路の機能(動作)を呼び出すAPIを条件[1]のタイプのAPIに合わせることはできる。先ず、露光時のコマ番号nと静止画データ出力時のコマ番号mの他に、露光動作を表す「exp_op」と静止画データの出力動作を表す「dout_op」という合計4つの引数を導入する。「exp_op」や「dout_op」の「op」は「operation」を意味する。「exp_op」と「dout_op」は「1」と「0」の値を取るが、「1」は「動作状態」を表し「0」は「非動作状態」を表している。更に静止画撮影プログラムから呼ばれるAPI関数として以下のものを1つだけ用意する。
SendorDrive(exp_op,n,dout_op,m,・・・) ----- (4)
条件[1]のタイプの普通撮像回路の場合には、静止画撮影プログラムが上述した引数を以下のように設定してこのAPI関数を呼び出す。
However, the API that calls the functions (operations) of the virtual imaging circuit 30 and the normal imaging circuit can be matched with the API of the condition [1] type. First, in addition to the frame number n at the time of exposure and the frame number m at the time of still image data output, a total of four arguments of “exp_op” representing the exposure operation and “dout_op” representing the output operation of the still image data are introduced. “Op” in “exp_op” and “dout_op” means “operation”. “Exp_op” and “dout_op” take values of “1” and “0”, but “1” represents an “operating state” and “0” represents a “non-operating state”. Furthermore, only one of the following API functions called from the still image shooting program is prepared.
SendorDrive (exp_op, n, dout_op, m, ...) ----- (4)
In the case of a normal imaging circuit of the condition [1] type, the still image shooting program sets the above-described arguments as follows and calls this API function.

条件[1]のタイプの普通撮像回路 :SendorDrive(1,n,1,n,・・・) ----- (5)
ここで、露光動作と静止画データの出力動作の2つが不可分に行われるので、(5)のAPI関数のように1回のAPIコールで良いことになる。このAPI関数によって図7に示す撮像ドライバ104cが呼び出され、その中で先ず露光動作が行われ、それが終了すると自動的に静止画データの出力動作が行われる。
Condition [1] type normal imaging circuit: SendorDrive (1, n, 1, n, ...) ----- (5)
Here, since the exposure operation and the still image data output operation are performed inseparably, one API call is sufficient as in the API function (5). The imaging driver 104c shown in FIG. 7 is called by this API function, in which the exposure operation is first performed, and when it is completed, the still image data output operation is automatically performed.

続いて、条件[2]のタイプの普通撮像回路であるが、これも(5)のAPI関数をそのまま利用することができる。但し、この場合、撮像ドライバ104cの中で露光動作と静止画データの出力動作が分かれて実行される。撮像ドライバ104cは、普通撮像回路を操作して先ず露光動作を行い、それが終わると別の操作を行って静止画データの出力を行う。静止画撮影プログラムからは、これらが1つの動作に見えるので、普通撮像回路のタイプ応じて撮像ドライバ104cを用意する必要がある。   Subsequently, the normal imaging circuit of the type of condition [2], the API function of (5) can be used as it is. However, in this case, the exposure operation and the still image data output operation are executed separately in the imaging driver 104c. The imaging driver 104c operates the normal imaging circuit to perform the exposure operation first, and when it is finished, performs another operation to output still image data. Since these appear to be one operation from the still image shooting program, it is necessary to prepare the imaging driver 104c according to the type of the normal imaging circuit.

しかし、条件[2]のタイプの場合には、静止画撮影プログラムから(4)のAPI関数を2回呼び出すことによってこの2つの動作を行わせることもできる。この場合には、以下の(6−1)、(6−2)の順に呼び出す。   However, in the case of the condition [2] type, these two operations can be performed by calling the API function (4) twice from the still image shooting program. In this case, calls are made in the order of the following (6-1) and (6-2).

条件[2]のタイプの普通撮像回路 :
SendorDrive(1,n,0,0,・・・) ----- (6−1)
SendorDrive(0,0,1,n,・・・) ----- (6−2)
ここで、(6−1)のAPI関数は、1回目のAPIコールであるが引数の値より露光動作であることが分かる。(6−2)のAPI関数は、2回目のAPIコールであるが、その引数の値から静止画データの出力動作を呼び出したことが分かる。(6−1)のAPI関数は、静止画撮影プログラムからも2つの動作に見えるが、露光時のコマ番号と静止画データ出力時のコマ番号が共に「n」で一致しているので不可分な動作になっていることが分かる。つまり、2つの動作を表す引数を導入することにより1つのAPI関数で2つの動作を呼び出すことができる。従って、(6−1)及び(6−2)のAPI関数を見れば、仮想撮像回路30の2つの動作を呼び出すのにこのAPI関数をどのように使えば良いか容易に分かる。それは以下のようになる。
Conditional imaging circuit of type [2]:
SendorDrive (1, n, 0,0, ...) ----- (6-1)
SendorDrive (0,0,1, n, ...) ----- (6-2)
Here, the API function (6-1) is the first API call, but it can be seen from the value of the argument that it is an exposure operation. The API function (6-2) is the second API call, and it can be seen that the output operation of the still image data is called from the value of the argument. The API function (6-1) appears to be two operations from the still image shooting program, but it is inseparable because the frame number at the time of exposure and the frame number at the time of outputting the still image data are both coincident with “n”. You can see that it is working. That is, by introducing arguments representing two operations, two operations can be called with one API function. Therefore, by looking at the API functions (6-1) and (6-2), it is easy to see how to use this API function to call the two operations of the virtual imaging circuit 30. It looks like this:

仮想撮像回路30の露光動作 : SendorDrive(1,n,0,0,・・・)
仮想撮像回路30の静止画データの出力動作: SendorDrive(0,0,1,m,・・・)
仮想撮像回路30の2つの動作は、独立した動作なので露光時のコマ番号は「n」、静止画データ出力時のコマ番号は「m」のように別々の値が設定されている。この設定をすれば、静止画撮影の場合に使われるAPIを電子カメラ50と電子カメラ1、2で或る程度共通化することができる。
Exposure operation of the virtual imaging circuit 30: SendorDrive (1, n, 0, 0, ...)
Still image data output operation of the virtual imaging circuit 30: SendorDrive (0, 0, 1, m, ...)
Since the two operations of the virtual imaging circuit 30 are independent operations, different values are set such that the frame number at the time of exposure is “n” and the frame number at the time of still image data output is “m”. If this setting is made, the API used in the case of still image shooting can be shared by the electronic camera 50 and the electronic cameras 1 and 2 to some extent.

しかし、(4)のAPIは、無理に合わせたようなところがあるので使い難いことが想定される。そこで、使い難い場合には、引数や関数名を見直して使い易いAPIを用意することが好ましい。即ち、重要な点は、APIを一致させることではない。APIは、或る程度まとまった処理(マクロ的機能)を行う関数であるが、これらのAPIを幾つか組み合わせることで、大きなアプリケーションプログラムの機能が実現されている。つまり、適切なAPIを幾つも用意することが重要になってくる。   However, it is assumed that the API of (4) is difficult to use because there are places where it is forcibly matched. Therefore, when it is difficult to use, it is preferable to prepare an easy-to-use API by reviewing arguments and function names. That is, the important point is not to make the APIs coincide. The API is a function that performs a certain amount of processing (macro function), but a large application program function is realized by combining several of these APIs. In other words, it is important to prepare several appropriate APIs.

また、APIの標準化を進めることで、それらが他の機種でも利用できるようになるメリットも出てくる(ソフトウェアの部品化・共通化)。つまり、仮想撮像回路30という抽象化は、ソフトウェア的に見るとAPIを導入したことになる。   In addition, by standardizing APIs, there will be a merit that they can be used on other models (software componentization and commonization). In other words, the abstraction of the virtual imaging circuit 30 is an API introduced from the viewpoint of software.

上述したようなAPI関数を呼び出すだけで仮想撮像回路30が目的の動作をするので、静止画撮影プログラムは、フロントエンジン12の複雑な動きを知らなくてもその機能が利用できるようになっている。   Since the virtual imaging circuit 30 performs the intended operation only by calling the API function as described above, the still image shooting program can use the function without knowing the complicated movement of the front engine 12. .

仮想撮像回路30という抽象化によって静止画撮影プログラムが容易に作成できることをこれまで説明してきたが、この抽象化を行った場合、ライブビューや動画撮影の動作がどのようになるか簡単に見ていくことにする。   Although it has been explained so far that a still image shooting program can be easily created by the abstraction of the virtual imaging circuit 30, when this abstraction is performed, it will be easy to see how live view and video shooting operations will be. I will go.

ライブビューは、静止画撮影モードと動画撮影モードとの2つの画像撮影モードで動作している。画像撮影の場合には、撮影時に設定されている撮影モードでカメラが起動し、ライブビューを行うプログラムが先ず動作してライブビューが始まる。画像の撮影は、レリーズ釦18が全押しされた時に行われ、それまではライブビューの動作が続く。ライブビューの間は被写体の生画像(スルー画)をLCDパネル17に表示しており、ユーザはこれを見て撮影時の構図を決めたりシャッタチャンスを知ったりする。   The live view operates in two image shooting modes, a still image shooting mode and a moving image shooting mode. In the case of image shooting, the camera is activated in the shooting mode set at the time of shooting, and the program for performing live view is first operated to start live view. The image is taken when the release button 18 is fully pressed, and the live view operation continues until then. During the live view, a raw image (through image) of the subject is displayed on the LCD panel 17, and the user determines the composition at the time of shooting and knows the shutter chance by watching this.

また、ライブビューの間、適宜3A検波が行われており、そこで抽出されたAE評価値やAWB評価値を用いてスルー画の明るさや色が調整される。静止画撮影モードの場合には、AE撮影のための測光演算も行われる。レリーズ釦18が全押しされると撮影モードに応じてそれぞれの撮影動作に入るが、全押しより先に半押しが行われているのでその時に被写体への焦点調整(AF)が行われる。   Further, 3A detection is appropriately performed during the live view, and the brightness and color of the through image are adjusted using the AE evaluation value and the AWB evaluation value extracted there. In the still image shooting mode, photometric calculation for AE shooting is also performed. When the release button 18 is fully pressed, each shooting operation starts depending on the shooting mode. However, since the half-press is performed before the full-press, the focus adjustment (AF) on the subject is performed at that time.

この焦点調整(AF)は、AF評価値を利用して行われる。つまり、ライブビューのプログラムの中からは、スルー画データ出力、スルー画表示、輝度調整、WB調整(AWBアルゴリズムを含む)、焦点調整(AF)等を行う幾つものプログラムが呼び出されている。   This focus adjustment (AF) is performed using the AF evaluation value. That is, several programs for performing live image data output, live view display, brightness adjustment, WB adjustment (including AWB algorithm), focus adjustment (AF), and the like are called from the live view program.

これらのプログラムもAPIから呼び出される(割り込みを契機に呼び出されるものもある)。その中で仮想撮像回路30が関係するのは、スルー画データの出力である。ライブビューのプログラムは、スルー画データを出力するためのAPIを呼び出すが、これは、専用のAPIであっても良い。   These programs are also called from the API (some are called when triggered by an interrupt). Among them, the virtual imaging circuit 30 is related to the output of through image data. The live view program calls an API for outputting live view image data, but this may be a dedicated API.

このAPIから更に仮想撮像ドライバ104dと画像処理ドライバ104bが呼び出される(図9の左側)。以下では、フロントエンジン12の第1の画像データ送信路に対応する仮想撮像回路30のインターフェースのことを「第1のインターフェース」、第2の画像データ送信路に対応するインターフェースのことを「第2のインターフェース」と呼ぶことにする。仮想撮像ドライバ104dは、第1のインターフェースからスルー画用の画像データが出力されるように仮想撮像回路30を設定する。   The virtual imaging driver 104d and the image processing driver 104b are further called from this API (left side in FIG. 9). Hereinafter, the interface of the virtual imaging circuit 30 corresponding to the first image data transmission path of the front engine 12 is referred to as “first interface”, and the interface corresponding to the second image data transmission path is referred to as “second interface”. Will be referred to as the "interface". The virtual imaging driver 104d sets the virtual imaging circuit 30 so that image data for a through image is output from the first interface.

一方、画像処理ドライバ104bは、スルー画用の画像データが図5の第1のポストプロセス回路13jで処理されるように画像処理回路を設定する。この場合、画像処理ドライバ104bは、画像処理回路の設定を先に行う。これにより、仮想撮像回路30の第1のインターフェース(第1の出力撮像インターフェース12cから第2の入力撮像インターフェース13aに向かう実線の矢印:図5参照)からスルー画用の画像データが出力されると、それが、第1のポストプロセス回路13jで処理されて作成されたスルー画のYCbCrデータが、図5のYCbCr1バッファ15fに記憶される。   On the other hand, the image processing driver 104b sets the image processing circuit so that the image data for the through image is processed by the first post-processing circuit 13j in FIG. In this case, the image processing driver 104b first sets the image processing circuit. As a result, when the image data for the through image is output from the first interface of the virtual imaging circuit 30 (solid line arrow from the first output imaging interface 12c to the second input imaging interface 13a: see FIG. 5). The YCbCr data of the through image created by processing it in the first post-processing circuit 13j is stored in the YCbCr1 buffer 15f of FIG.

このスルー画のYCbCrデータは、図2と同じ経路でLCDコントローラ13dに送られLCDパネル17に表示される。YCbCr1バッファ15fは、複数(3つの場合が多い)あって、先に出力されたスルー画のYCbCrデータをLCDパネル17に表示している間に次のYCbCrデータを別のYCbCr1バッファ15fに記憶しており、これらのYCbCr1バッファ15fを切り換えながらスルー画の表示を続ける。   The through image YCbCr data is sent to the LCD controller 13d through the same route as in FIG. There are a plurality of YCbCr1 buffers 15f (in many cases, there are three cases), and while the YCbCr data of the through image output previously is displayed on the LCD panel 17, the next YCbCr data is stored in another YCbCr1 buffer 15f. The display of the through image is continued while switching the YCbCr1 buffer 15f.

上述したプログラムの中でスルー画表示に関わるプログラムは、適宜このYCbCr1バッファ15fの切り換えを行わなければならない。仮想撮像回路30から出力されたスルー画用の画像データは、図5の3A検波回路13hにも送られ3Aの評価値が抽出される。その中のAE評価値とAWB評価値を用いてスルー画の輝度調整とWB調整が適宜行われる。上述したプログラムは呼び出される度にこれらの処理を行う。   Among the programs described above, the program related to the live view display must switch the YCbCr1 buffer 15f as appropriate. The image data for the through image output from the virtual imaging circuit 30 is also sent to the 3A detection circuit 13h in FIG. 5, and the 3A evaluation value is extracted. Using the AE evaluation value and the AWB evaluation value among them, the brightness adjustment and the WB adjustment of the through image are appropriately performed. The above-described program performs these processes each time it is called.

またこのAE評価値から静止画撮影用の測光演算も行われる。レリーズ釦18の半押しが検出された時には、焦点調整(AF)プログラムが呼び出され、AF評価値を基に被写体に焦点を合わせる。半押しだけで全押しが行われなかった場合、焦点調整(AF)の終了後もライブビューを続ける。   Also, photometry calculation for still image shooting is performed from this AE evaluation value. When half-press of the release button 18 is detected, a focus adjustment (AF) program is called to focus on the subject based on the AF evaluation value. If half-pressed but not fully pressed, live view continues after focus adjustment (AF) ends.

半押し後に全押しが行われた場合、画像の撮影に進むが、これ以降は、撮影モードによって動作が異なっている。先ず簡単な動画撮影モードの場合から説明する。動画撮影の場合にはライブビューを続けたまま、図8に示す仮想撮像回路30から記録用の動画データを出力する。   When the half-press is performed and then the full-press is performed, the process proceeds to image shooting. First, the case of the simple moving image shooting mode will be described. In the case of moving image shooting, the moving image data for recording is output from the virtual imaging circuit 30 shown in FIG. 8 while continuing the live view.

つまり、仮想撮像回路30の第1のインターフェースからスルー画用の画像データを出力したまま、第2のインターフェース(第2の出力撮像インターフェース12kから第2の入力撮像インターフェース13kに向かう点線の矢印:図5参照)から記録用の動画データを出力する。基となる1つの画像データを仮想撮像回路30の内部で分けて2つのインターフェースから出力するだけなので、この制御は容易である。全押し後は、ライブビューのプログラムを実行したまま、先ず動画撮影プログラムが呼び出され、その動画撮影プログラムの中で記録用の動画データを出力するためのAPIが呼び出される。   That is, while the image data for the through image is output from the first interface of the virtual imaging circuit 30, the second interface (dotted arrow heading from the second output imaging interface 12k to the second input imaging interface 13k: FIG. 5) to output recording moving image data. This control is easy because only one piece of image data serving as a base is divided inside the virtual imaging circuit 30 and output from two interfaces. After being fully pressed, the moving image shooting program is first called while the live view program is being executed, and an API for outputting moving image data for recording is called in the moving image shooting program.

このAPIから更に仮想撮像ドライバ104dと画像処理ドライバ104bが呼び出される。仮想撮像ドライバは104d、仮想撮像回路30の第2のインターフェースから記録用の動画データを出力するように設定する。   The virtual imaging driver 104d and the image processing driver 104b are further called from this API. The virtual imaging driver 104d is set to output moving image data for recording from the second interface of the virtual imaging circuit 30.

一方、画像処理ドライバ104bは、そのデータが図5の第2のプリプロセス回路13mと第2のポストプロセス回路13pで処理されるように設定する。この場合も画像処理回路を先に設定する。仮想撮像回路30の第2のインターフェースがスルー画用の画像データが出力されると、それが第2のプリプロセス回路13mと第2のポストプロセス回路13pで処理されて作成された記録用のYCbCrデータが図5のYCbCr2バッファ15gに記憶される。   On the other hand, the image processing driver 104b is set so that the data is processed by the second pre-process circuit 13m and the second post-process circuit 13p in FIG. Also in this case, the image processing circuit is set first. When the image data for the through image is output from the second interface of the virtual image pickup circuit 30, it is processed by the second pre-process circuit 13m and the second post-process circuit 13p to create the YCbCr for recording. Data is stored in the YCbCr2 buffer 15g of FIG.

この記録用のYCbCrデータは、不図示の動画コーデック(H.264等)に送られて圧縮されるが、これ以降の処理は仮想撮像回路30に関係がないので説明を省略する。動画撮影の場合、仮想撮像回路30から2つの異なる画像データを同時に出力しながら処理が行われている。画像データの中で記録用の動画データの方が一般に解像度は高い。尚、動画撮影中は被写体に焦点を合わせ続ける必要があり、上述した焦点調整(AF)プログラムは、AF評価値を基に焦点調整(AF)の処理を続ける。   The YCbCr data for recording is sent to a moving image codec (not shown) (H.264, etc.) and compressed, but the subsequent processing is not related to the virtual imaging circuit 30 and will not be described. In the case of moving image shooting, processing is performed while simultaneously outputting two different image data from the virtual imaging circuit 30. Among image data, moving image data for recording generally has a higher resolution. Note that it is necessary to keep focusing on the subject during moving image shooting, and the focus adjustment (AF) program described above continues the focus adjustment (AF) process based on the AF evaluation value.

続いて、ライブビューと静止画撮影の動作が並列に行われる場合について説明する。これには、2つの場合が考えられる。通常の静止画撮影では、焦点調整(AF)が終了するとライブビューを停止して静止画撮影の動作に入るが、ライブビューを続けたまま静止画の撮影を行う動作が第1の場合である。   Next, a case where live view and still image shooting operations are performed in parallel will be described. There are two possible cases. In normal still image shooting, when the focus adjustment (AF) is completed, the live view is stopped and the still image shooting operation is started. However, the first operation is to perform still image shooting while continuing the live view. .

第1の場合、ライブビュー中の或るフレームを取りだして静止画として記録する動作になる。高速撮像回路11aは、フル解像度の画像データをライブビューのフレームレートで出力することもできるので、ライブビューを続けたまま解像度の高い静止画を撮影することができる。   In the first case, a certain frame in the live view is taken out and recorded as a still image. Since the high-speed imaging circuit 11a can also output full-resolution image data at the frame rate of the live view, it can shoot a still image with a high resolution while continuing the live view.

この場合の仮想撮像回路30の動作は、動画撮影の場合に似ている。但し、撮影された静止画データが間欠的に仮想撮像回路30から出力される点は、動画撮影の場合と異なる。ライブビュー中にレリーズ釦18が全押しされると焦点調整(AF)終了直後のフレームが静止画として取り出されるが、その静止画データは、通常の静止画撮影の場合と同じように仮想撮像回路30の内部に蓄積される。この処理は、仮想撮像回路30の露光動作に対応するので既に説明したAPI関数を用いて行うことができる。撮影された静止画データは、続いて仮想撮像回路から出力することになるが、この静止画データの出力動作も既に説明したAPI関数を用いて行うことができる。ライブビューが続いている以外は、通常の静止画撮影の動作と同じであることが分かる。   The operation of the virtual imaging circuit 30 in this case is similar to that for moving image shooting. However, the point that the captured still image data is intermittently output from the virtual imaging circuit 30 is different from the case of moving image shooting. When the release button 18 is fully pressed during live view, the frame immediately after the end of the focus adjustment (AF) is taken out as a still image. The still image data is a virtual imaging circuit as in the case of normal still image shooting. 30 is stored inside. Since this processing corresponds to the exposure operation of the virtual imaging circuit 30, it can be performed using the API function already described. The captured still image data is subsequently output from the virtual imaging circuit, and the output operation of this still image data can also be performed using the API function already described. It can be seen that the operation is the same as that of normal still image shooting except that the live view continues.

続いて、第2の場合について説明するがこれは既に述べたことである。つまり、既に述べたRAWバッファ連写が行われてそれが中断または終了した時に、仮想撮像回路30の中に蓄積された静止画データの出力が終わらないうちにライブビューを再開する場合である。RAWバッファ連写が行われている間はライブビューが行われない。撮影された静止画データは、仮想撮像回路の第2のインターフェースから出力されているが、第1のインターフェースが空いているので、そこからライブビューの画像データを並行して出力することができる。   Subsequently, the second case will be described, which has already been described. That is, the live view is resumed before the output of the still image data stored in the virtual imaging circuit 30 is finished when the RAW buffer continuous shooting described above is performed and interrupted or terminated. Live view is not performed while RAW buffer continuous shooting is performed. The photographed still image data is output from the second interface of the virtual imaging circuit, but since the first interface is free, live view image data can be output from there in parallel.

この場合のライブビューの動作は、上述した説明と同じである。この再開されたライブビューの間にレリーズ釦18が全押しされた場合、再び静止画撮影の動作に入る。これは通常の静止画撮影と同じ動作である。仮想撮像回路30のState1がREADYであれば静止画の撮影を行うことができるので、既に説明したAPIを呼び出して静止画の露光を行う。これ以降は、これまでに説明したことと同じなので省略する。つまり、ライブビューや動画撮影の場合も仮想撮像回路30のAPIを用いて処理することができる。   The live view operation in this case is the same as described above. When the release button 18 is fully pressed during the resumed live view, the operation of still image shooting is started again. This is the same operation as normal still image shooting. If State 1 of the virtual imaging circuit 30 is READY, a still image can be taken, and the already-described API is called to expose the still image. The subsequent steps are the same as those described so far, and will be omitted. In other words, live view or moving image shooting can be processed using the API of the virtual imaging circuit 30.

以上より、第4実施形態では、ソフトウェアの共通化と再利用とが容易となり、汎用性の高いカメラシステムを構築することができる。   As described above, in the fourth embodiment, software can be easily shared and reused, and a highly versatile camera system can be constructed.

1、2・・・電子カメラ、11・・・撮像回路、12・・・フロントエンジン、13・・・バックエンジン 1, 2 ... Electronic camera, 11 ... Imaging circuit, 12 ... Front engine, 13 ... Back engine

Claims (9)

被写体像を撮像して画像データを出力する撮像部と、
前記撮像部から出力された画像データを記憶する記憶部と、
前記記憶部に記憶された画像データを読み出してピクセルレートを低減する第1処理部と、
前記第1処理部によりピクセルレートが低減された画像データを画像処理する第2処理部と、
を備える電子カメラ。
An imaging unit that captures a subject image and outputs image data;
A storage unit for storing image data output from the imaging unit;
A first processing unit for reducing the pixel rate Read out the image data stored in the storage unit,
A second processing unit for processing an image data pixel rate is reduced by the first processing unit,
With electronic camera.
請求項1に記載の電子カメラにおいて、  The electronic camera according to claim 1,
前記第1処理部は、前記記憶部に記憶された画像データを記憶時よりも低速で読み出してピクセルレートを低減する電子カメラ。  The first processing unit is an electronic camera that reads out image data stored in the storage unit at a lower speed than that at the time of storage and reduces a pixel rate.
請求項1または2に記載の電子カメラにおいて、
前記撮像部から出力された画像データを圧縮する圧縮部を備え、
前記記憶部は、前記圧縮部により圧縮された画像データを記憶し、
前記第1処理部は、前記記憶部に記憶された圧縮された画像データを記憶時よりも低速で読み出して画像処理する電子カメラ。
The electronic camera according to claim 1 or 2 ,
A compression unit for compressing the image data output from the imaging unit;
The storage unit stores the image data compressed by the compression unit,
Wherein the first processing unit, an electronic camera for image processing reads the compressed image data stored in the storage unit even slower than the time stored.
請求項に記載の電子カメラにおいて、
前記圧縮部により圧縮された画像データを伸長する画像伸長部を備え、
前記第1処理部は、前記画像伸長部により伸長された画像データを画像処理する電子カメラ。
The electronic camera according to claim 3 .
An image decompression unit for decompressing the image data compressed by the compression unit;
Wherein the first processing unit, an electronic camera that performs image processing on the image data expanded by the image expansion section.
請求項1から請求項の何れか1項に記載の電子カメラにおいて、
前記第1処理部は、前記撮像部から出力された画像データが前記記憶部に書き込まれる単位時間あたりのデータ量よりも少ないデータ量を、単位時間あたりに読み出す電子カメラ。
The electronic camera according to any one of claims 1 to 4 ,
Wherein the first processing unit, an electronic camera image data output from the imaging unit a smaller amount of data than the data amount per unit are written in the storage unit time, read out per unit time.
請求項1から請求項5の何れか1項に記載の電子カメラにおいて、
前記第1処理部は、前記撮像部から出力された画像データのデータ量に基づいて、前記撮像部から出力された画像データのピクセルレートを低減する電子カメラ。
The electronic camera according to any one of claims 1 to 5,
The first processing unit is an electronic camera that reduces a pixel rate of image data output from the imaging unit based on a data amount of image data output from the imaging unit.
請求項1から請求項6の何れか1項に記載の電子カメラにおいて、
前記第1処理部は、前記撮像部から出力された画像データを第1のピクセルレートで第1の解像度の第1の画像データに低減する第1のピクセルレート部と、前記撮像部から出力された画像データを第2のピクセルレートで前記第1の解像度と異なる第2の解像度の第2の画像データに低減する第2のピクセルレート部とを有し、
前記第2処理部は、前記第1の画像データを画像処理する第1の処理部と、前記第2の画像データを画像処理する第2の処理部とを有する電子カメラ。
The electronic camera according to any one of claims 1 to 6 ,
Said first processing portion includes a first pixel rate portion to reduce the image data output from the imaging unit to the first image data of the first resolution in the first pixel rate, the output from the imaging unit A second pixel rate unit that reduces the image data obtained at a second pixel rate to a second image data having a second resolution different from the first resolution,
The second processing unit, the first and the processing unit, an electronic camera and a second processing unit for the second image processing the image data of the first image processing image data.
請求項に記載の電子カメラにおいて、
前記第2のピクセルレート部は、前記第1のピクセルレート部よりも高解像度の画像処理をする電子カメラ。
The electronic camera according to claim 7 ,
The second pixel rate unit is an electronic camera that performs image processing with a higher resolution than the first pixel rate unit.
請求項1から請求項の何れか1項に記載の電子カメラにおいて、
前記第1処理部は、前記画像データに補正処理を施す電子カメラ。
The electronic camera according to any one of claims 1 to 8 ,
Wherein the first processing unit, an electronic camera which performs correction processing on the image data.
JP2017112966A 2017-06-07 2017-06-07 Electronic camera Active JP6493454B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017112966A JP6493454B2 (en) 2017-06-07 2017-06-07 Electronic camera

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017112966A JP6493454B2 (en) 2017-06-07 2017-06-07 Electronic camera

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012037746A Division JP2013175824A (en) 2012-02-23 2012-02-23 Electronic camera

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019041765A Division JP2019092223A (en) 2019-03-07 2019-03-07 Electronic camera

Publications (2)

Publication Number Publication Date
JP2017153156A JP2017153156A (en) 2017-08-31
JP6493454B2 true JP6493454B2 (en) 2019-04-03

Family

ID=59741109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017112966A Active JP6493454B2 (en) 2017-06-07 2017-06-07 Electronic camera

Country Status (1)

Country Link
JP (1) JP6493454B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7214511B2 (en) * 2019-03-07 2023-01-30 キヤノン株式会社 Image processing device, imaging device, image processing method and program
CN112449085A (en) * 2019-08-30 2021-03-05 北京小米移动软件有限公司 Image processing method and device, electronic equipment and readable storage medium
JP7332399B2 (en) 2019-09-06 2023-08-23 キヤノン株式会社 Image processing device and its control method
JP7348783B2 (en) * 2019-09-11 2023-09-21 キヤノン株式会社 Imaging device, its control method, program and recording medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4725183B2 (en) * 2005-05-11 2011-07-13 ソニー株式会社 Imaging apparatus and method
JP4887727B2 (en) * 2005-10-20 2012-02-29 ソニー株式会社 Image signal processing apparatus, camera system, and image signal processing method
JP4301308B2 (en) * 2007-03-02 2009-07-22 ソニー株式会社 Imaging apparatus and image processing method
JP2009010821A (en) * 2007-06-29 2009-01-15 Sony Corp Imaging device and imaging method, recording medium, and program

Also Published As

Publication number Publication date
JP2017153156A (en) 2017-08-31

Similar Documents

Publication Publication Date Title
US11024342B2 (en) Digital image processing apparatus and method of controlling the same
US7573504B2 (en) Image recording apparatus, image recording method, and image compressing apparatus processing moving or still images
JP6493454B2 (en) Electronic camera
KR101245485B1 (en) Methods, computer program products and apparatus providing improved image capturing
JP4304795B2 (en) Electronic camera
US9635269B2 (en) Electronic apparatus and method
US7365777B2 (en) Digital camera
JP2013175824A (en) Electronic camera
JP2006339784A (en) Imaging apparatus, image processing method, and program
JP5906846B2 (en) Electronic camera
JP5820720B2 (en) Imaging device
JP5959194B2 (en) Imaging device
WO2020137663A1 (en) Imaging element, imaging device, imaging element operation method, and program
JP2013211724A (en) Imaging apparatus
JP7460595B2 (en) Image pickup device, image data processing method for image pickup device, and program
JP2013211715A (en) Imaging device
JP2019092223A (en) Electronic camera
JP2014096654A (en) Imaging apparatus and program
JP7370764B2 (en) Imaging device and imaging method
JP7410088B2 (en) Imaging device, imaging device, image data output method, and program
US9277119B2 (en) Electronic apparatus, method for controlling the same, and computer readable recording medium
US11659275B2 (en) Information processing apparatus that performs arithmetic processing of neural network, and image pickup apparatus, control method, and storage medium
JP2004078075A (en) On-screen display device
JP2024079753A (en) Image pickup device, image data processing method for image pickup device, and program
JP2004289635A (en) Digital camera

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180501

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180831

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190218

R150 Certificate of patent or registration of utility model

Ref document number: 6493454

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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