JP4432786B2 - カメラ装置、画像処理方法 - Google Patents

カメラ装置、画像処理方法 Download PDF

Info

Publication number
JP4432786B2
JP4432786B2 JP2005021928A JP2005021928A JP4432786B2 JP 4432786 B2 JP4432786 B2 JP 4432786B2 JP 2005021928 A JP2005021928 A JP 2005021928A JP 2005021928 A JP2005021928 A JP 2005021928A JP 4432786 B2 JP4432786 B2 JP 4432786B2
Authority
JP
Japan
Prior art keywords
data
pixel
image processing
pixel position
image data
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
JP2005021928A
Other languages
English (en)
Other versions
JP2006211402A (ja
Inventor
正人 曽雌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2005021928A priority Critical patent/JP4432786B2/ja
Publication of JP2006211402A publication Critical patent/JP2006211402A/ja
Application granted granted Critical
Publication of JP4432786B2 publication Critical patent/JP4432786B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、デジタルスチルカメラ、デジタルビデオカメラなどのカメラ装置、同カメラ装置における画像処理方法に関する。
デジタルスチルカメラ、デジタルビデオカメラなどのカメラ装置では、CCD(Charge Coupled Device)などの撮像素子によって入力された元画像データ(ベイヤーデータ)がバッファメモリに転送され展開記憶され、その後、YUVデータへの変換、画像の拡大/縮小、MPEG4デコード時のデブロックフィルタ処理などの画像処理が施されている。
通常、ベイヤーデータに対する画像処理を実行する場合、例えばYUVデータに変換する場合には、YUVデータを1ピクセル生成するのに、該当ピクセルの周辺の複数ピクセル、例えば縦5ピクセル×横5ピクセルのベイヤーデータが必要となる。
従来では、周辺のピクセルを含む画像処理を実行する画像処理方法として、撮像素子で得た画像データ(ベイヤーデータ)を所定数ライン単位で順次画像処理回路に転送する場合に、次に転送する所定数ライン分の画像データのうちの上位1乃至複数ライン分の画像データを付加した状態で転送する方法が考えられている(特許文献1)。
特開2003−18610号公報
このように、特許文献1に記載されている画像処理方法では、所定数ライン分の画像データを転送する場合に、次に転送する所定数ライン分の画像データのうちの一部を付加して転送することで、画像処理に必要となるデータを補っていた。
ところで、元のベイヤーデータを所望の画像サイズのYUVデータに変換する場合、例えば640×480ピクセルのベイヤーデータを640×480ピクセルのYUVデータに変換したい場合には、YUVデータを1ピクセル生成するのに該当ピクセルの周辺の複数ピクセルを用いるため、元のベイヤーデータの周辺に複数のピクセルが必要となる。
この場合、特許文献1に記載された画像処理方法では、次に転送する所定数ライン分の画像データのうちの一部を付加して転送するだけであるため、所望の画像サイズのYUVデータを生成することができない。
これに対し、ベイヤーデータの外周に画像処理に必要なデータ(リングピクセル)を付加する方法がある。この場合では、バッファメモリに展開されたベイヤーデータに対して、リングピクセル分のデータを外周にコピーすることになり、ベイヤーデータとリングピクセルによるメモリ上での占有領域が大きくなり、メモリを有効に使えなくなるという問題があった。また、元のベイヤーデータより大きな画像サイズになるため、メモリから画像処理を実行する回路へ転送するデータ量が増えることになり、画像処理速度が遅くなるという問題があった。
さらに、YUV422の元画像の場合、2ピクセル分がパッキングされて1データになっているため、左右方向へのリングピクセルの付加が必要な量が奇数ピクセルの場合にも、偶数ピクセル分データを付加しなければならないため、その分のメモリ上での占有領域が大きくなり、メモリを有効に使えないという問題があった。
本発明の課題は、元画像データにリングピクセルなどの画像データを付加して画像処理をする場合においても、メモリを有効に利用できるようにすると共に、画像処理の処理速度低下を招かないカメラ装置、画像処理方法、及び画像処理方法を提供することにある。
請求項1記載の発明は、元画像データに所定の画像データを付加して画像処理を実行するカメラ装置において、複数のピクセル位置の各々に対応するデータを含む元画像データを記憶する記憶手段と、画像データに対して複数のピクセル位置のデータをもとにした画像処理を実行する画像処理手段と、前記画像処理手段による画像処理の対象としてデータを転送すべきピクセル位置を発生する発生手段と、前記発生手段によって発生されたピクセル位置に対応するデータが、前記記憶手段により記憶された元画像データにあるか否かを判定する判定手段と、前記判定手段によってデータが無いと判定されたピクセル位置を前記記憶手段に記憶されたデータが有るピクセル位置に変換するピクセル変換手段と、前記判定手段による判定結果に基づいて、前記発生手段により発生されたピクセル位置あるいは前記ピクセル変換手段によって変換されたピクセル位置の何れかを選択する選択手段と、前記選択手段によって選択されたピクセル位置に対応して前記記憶手段に記憶されたデータを前記画像処理手段に転送する転送手段とを具備したことを特徴とする。
請求項2記載の発明は、請求項1記載の発明において、前記画像データを構成する各データのピクセル位置を、前記記憶手段に記憶された元画像データのデータ位置に変換する変換手段を備え、前記転送手段は、前記発生手段により順次発生されるピクセル位置に対応して前記変換手段により順次変換されるデータ位置のデータを前記画像処理手段に順次転送することを特徴とする。
請求項3記載の発明は、請求項1記載の発明において、前記画像処理手段は、処理すべき画像データを構成する複数のデータの転送順序に基づいて各データのピクセル位置を認識して画像処理を実行し、前記発生手段は、前記画像処理手段がピクセル位置を認識するデータの転送順序に対応して順次ピクセル位置を発生することを特徴とする。
請求項4記載の発明は、請求項1記載の発明において、前記画像処理手段は、画像処理の結果として出力すべきピクセル範囲に対して、このピクセル範囲の周辺に位置するピクセル位置のデータを必要とする画像処理であり、前記発生手段は、前記元画像データ全体のピクセル範囲が前記画像処理手段による画像処理の結果として出力されるよう、前記元画像データ全体のピクセル範囲の周辺に位置するピクセル位置を含むピクセル位置を発生することを特徴とする。
請求項5記載の発明は、請求項1記載の発明において、前記記憶手段には元画像データとして、撮像素子によって取得されたベイヤーデータあるいはYUVデータが記憶され、前記記憶手段に前記YUVデータが記憶されている場合に、複数ピクセルのデータを1ピクセル単位のデータに変換して転送することを特徴とする。
請求項6記載の発明は、請求項1記載の発明において、前記発生手段は、前記記憶手段に記憶される元画像データの上下左右方向の周辺に位置するピクセル位置を含めて指定するもので、前記発生手段によって上下左右方向で発生されるピクセル位置の数をカウントするカウント手段と、前記カウント手段によってカウントされる数が所定値となるまで、前記記憶手段により記憶された元画像データに対応するデータが無いピクセル位置を発生するピクセル位置発生手段とを具備したことを特徴とする。
請求項7記載の発明は、請求項6記載の発明において、前記カウント手段によりカウントされる所定値は、左右方向と上下方向で個別に設定されることを特徴とする。
請求項8記載の発明は、メモリに記憶された画像データを画像処理手段に順次転送して、複数のピクセル位置のデータをもとにした画像処理を実行させるカメラ装置において、前記メモリに記憶された複数のピクセル位置の各々に対応するデータを含む画像データを一時記憶する記憶手段と、前記記憶手段に記憶された画像データを前記画像処理手段に転送する毎に、前記記憶手段に記憶された画像データの周辺に付加するピクセルのピクセル数をカウントする付加ピクセルカウント手段と、前記付加ピクセルカウント手段によって所定のピクセル数がカウントされた後の前記画像処理手段に転送するデータのピクセル位置を逐次順番に発生するピクセル位置発生手段と、前記付加ピクセルカウント手段によって所定のピクセル数までカウントされていない場合に、前記記憶手段に記憶されたデータに対する所定のピクセル位置を指定するピクセル位置指定手段と、前記付加ピクセルカウント手段によって所定のピクセル数までカウントされていない場合に、前記ピクセル位置指定手段によって指定されたピクセル位置を選択し、前記付加ピクセルカウント手段によって所定のピクセル数までカウントされている場合に、前記ピクセル位置発生手段によって発生されたピクセル位置を選択して、前記記憶手段に記憶された該当するピクセル位置のデータを転送する転送手段とを具備したことを特徴とする。
請求項9記載の発明は、元画像データに所定の画像データを付加して画像処理を実行する画像処理方法において、複数のピクセル位置の各々に対応するデータを含む元画像データを記憶する記憶ステップと、複数のピクセル位置のデータをもとにした画像処理の対象としてデータを転送すべきピクセル位置を発生する発生ステップと、前記発生ステップによって発生されたピクセル位置に対応するデータが、前記記憶ステップにより記憶された元画像データにあるか否かを判定する判定ステップと、前記判定ステップによってデータが無いと判定されたピクセル位置を前記記憶ステップにより記憶されたデータが有るピクセル位置に変換するピクセル変換ステップと、前記判定ステップによる判定結果に基づいて、前記発生ステップにより発生されたピクセル位置あるいは前記ピクセル変換ステップによって変換されたピクセル位置の何れかを選択する選択ステップと、前記選択ステップによって選択されたピクセル位置に応じて前記記憶ステップにより記憶されたデータを前記画像処理の対象として転送する転送ステップとを具備したことを特徴とする。
請求項1及び9記載の発明によれば、画像処理の対象としてデータを転送する際に、転送すべきピクセル位置に対応するデータがない場合、すなわち元画像データに付加すべきピクセル位置が発生された場合には、このピクセル位置を記憶手段に記憶された実データを示すピクセル位置に変換し、該当するデータ位置のデータを画像処理手段に転送するので、画像処理の結果として得られる画像データのサイズを減少させることなく、且つ、元画像データに対してデータを付加する処理をメモリ上で行った上でデータ転送する必要がないため処理スピードが向上され、またメモリの記憶容量を元画像データに対してデータを付加するための処理のために消費されないので有効に利用することができる。
請求項2記載の発明によれば、請求項1の発明の効果に加えて、前記記憶手段としての実メモリの構成やデータの格納形式を変更する場合でも、前記画像処理手段、前記発生手段、前記判定手段、前記ピクセル変換手段の変更などを行うことなく、前記変換手段のみを変更することで対応できるので、メモリ利用の自由度が増し、メモリ増設なども容易になる。
請求項3記載の発明によれば、請求項1の発明の効果に加えて、画像処理手段に対して処理対象となる画像データを受け渡す場合に、大容量のバッファ領域を必要とすることがなく、メモリを節約することができる。
請求項4記載の発明によれば、請求項1の発明の効果に加えて、周辺ピクセルの情報を必要とする画像処理を、元画像データのサイズを減少させることなく実行することができる。
請求項5記載の発明によれば、請求項1の発明の効果に加えて、元画像データとしてベイヤーデータまたはYUVデータとすることができ、複数のピクセル位置のデータがパッキングされたYUVデータの場合には、これをベイヤーデータと同様に1ピクセル単位のデータに変換することができるので、元画像データがYUVデータである場合であっても、元画像データに対するデータの付加をメモリの記憶容量を消費することなく実行することができる。
請求項6記載の発明によれば、請求項1の発明の効果に加えて、元画像データに付加されるデータのピクセル位置を元画像の上下左右方向のそれぞれについてカウントできるようにすることで、上下左右方向に付加するピクセル数を画像処理に応じて設定することが可能となる。
請求項7記載の発明によれば、請求項6の発明の効果に加えて、元画像データに付加するピクセル数を上下左右方向で個別に設定することで、画像処理に応じて上下左右方向で異なるピクセル数のデータを付加することが可能となる。
請求項8記載の発明によれば、メモリに記憶された画像データを画像処理の対象として転送する際に、画像データに対する付加ピクセル数を所定のピクセル数までカウントされていない場合には、ピクセル位置指定手段によって指示された元画像データ中の所定のピクセル位置のデータを転送することで、画像データに対して所定のピクセル数のデータを付加して画像処理に供することができ、これにより処理スピードが向上され、またメモリの記憶容量を元画像データに対してデータを付加するための処理のために消費されないので有効に利用することができる。
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施形態におけるカメラ装置の画像処理に関連する主要な構成を示すブロック図である。
図1に示すように、本実施形態におけるカメラ装置には、CPU1、ASIC(Application Specific Integrated Circuit)2、RAM3、ROM4、光学レンズ系5、CCD6、サンプルホールド回路(S/H)7、A/D変換回路(A/D)8、キー入力部9、LCD(Liquid Crystal Display)10などを有して構成されている。
CPU1は、ROM4に記憶されたプログラムを実行することによりカメラ装置全体の制御を司るもので、コントロールバス11を介してASIC2に制御信号を出力し、ASIC2における各種のデータ入出力処理や画像処理などを制御する。
ASIC2は、CPU1の制御のもとで、本実施形態における画像データへのデータ付加を伴う画像処理など各種処理を実行する。ASIC2では、撮像系からの画像データの入力、キー入力部9におけるキー入力制御、LCD10における表示制御などを実行する。また、ASIC2は、画像データについてRAM3とのDMA(Direct Memory Access)制御を行いながら各種の画像処理を行う。
RAM3は、画像データなどを記憶するもので、データバス12を通じてASIC2との間でデータが転送される。ROM4は、CPU1により実行されるプログラムを格納する。
撮像系には、光学レンズ系5、CCD6、サンプルホールド回路7、及びA/D変換回路8が含まれている。撮影モードにおいては、光学レンズ系5に対して、モータの駆動により絞り位置や通常撮影に応じたレンズ位置に移動される。光学レンズ系5の撮影光軸後方に配置された撮像素子であるCCD6は、走査駆動されて、一定周期毎に結像した光像に対応する光電変換出力を行う。この光電変換出力は、アナログ値の信号の状態でRGBの各原色成分毎に適宜ゲイン調整された後に、サンプルホールド回路7でサンプルホールドされ、A/D変換回路8でデジタルデータに変換される。
キー入力部9は、電源キー、シャッタキー、モードスイッチ、メニューキー、選択キー、ズームボタン、及び十字キー(カーソルキー)等から構成され、それらのキー操作に伴なう信号がASIC2(後述するキー入力制御部21)へ送出される。
LCD10は、撮影モード時に電子ファインダとしてスルー画像をリアルタイム表示したり、シャッタキーの操作に伴って撮像された撮影画像を表示する。
なお、図示していないが、図1に示す構成の他に音声入出力やストロボ駆動に関係する機能、また撮像された画像を記録するための記録媒体として着脱自在に装着されているメモリカードや固定的に内蔵されている内蔵メモリが設けられる。
図2は、図1に示すASIC2の詳細な構成を示すブロック図である。
ASIC2には、LCD制御部20、キー入力制御部21、CCD制御部22、データインタフェース(I/F)部23、画像データ転送部24の他、画像データ処理ブロックとして画像処理部25、画素数変換部26、デブロッキングフィルタ部27などの機能が設けられている。
LCD制御部20は、LCD10を駆動して画像の表示を制御する。
キー入力制御部21は、キー入力部9に対するユーザ操作に伴うキー入力情報を取り込む。
CCD制御部22は、撮像系(CCD6)の制御を行い、CCD6により取得された画像データ(ベイヤーデータ)を取り込み、データインタフェース部23に出力する。
データインタフェース部23は、CCD制御部22の制御によりCCD6から取得された画像データのRAM3への書き込みや、RAM3に書き込まれた画像データの読み込み、あるいは画像データ転送部24から画像データ処理ブロックにより各種画像処理された後の画像データのRAM3への書き込みなどのデータ制御を行う。
画像データ転送部24は、データインタフェース部23と画像データ処理ブロックとの間のデータ転送を制御する。画像データ転送部24は、CPU1の制御により、データインタフェース部23を介して入力される画像データを、画像データ処理ブロックの何れか、すなわち画像処理部25、画素数変換部26、デブロッキングフィルタ部27の何れかに転送し、各画像処ブロックにおいて処理された画像データをデータインタフェース部23に転送する。画像データ転送部24は、画像データ処理ブロックに画像データを転送する際、画像処理の対象となる元画像データに対して、画像処理で必要とするリングピクセルを元画像の周辺に付加して画像データ処理ブロックに転送する。画像データ転送部24は、元画像データに対して付加するリングピクセルを、CPU1の制御により画像処理の内容に応じてピクセル数を選択的に変更することができる。
画像処理部25は、例えばベイヤーデータをYUVデータに変換する画像処理を実行する。
画素数変換部26は、画像を拡大あるいは縮小するために、画像データに対する補間処理によって画像数を変換する拡大・縮小処理を行う。
デブロッキングフィルタ部27は、MPEG4デコード時にブロッキングノイズを緩和するためのフィルタ処理を実行する。
画像データ処理ブロックにおける画像処理では、処理対象とする注目ピクセルに対して、その周辺のピクセルのデータを用いて処理を実行する。従って、例えば画像処理によって得られるYUVデータの画像サイズを元画像データと同じにする場合、元画像の周辺にリングピクセルを付加し、このリングピクセルの画像データを含めて画像処理を実行することで対応する。本実施形態では、画像処理に必要なリングピクセルを、RAM3に展開記憶された画像データに対して付加するのではなく、RAM3に記憶された元画像データを画像データ処理ブロックに転送する際に、画像データ転送部24において画像処理の必要性に応じてリングピクセルのデータを付加していく。画像データ処理ブロックでは、処理すべき画像データを構成する複数のデータの転送順序に基づいて各データのピクセル位置を認識しながらそれぞれの画像処理を実行し、画像データ転送部24は、画像データ処理ブロックにおいて画像処理を実行する際に認識されるデータの転送順序に対応して順次ピクセル位置を発生させながら、該当するデータを画像データ処理ブロックに順次転送する。
次に、本実施形態におけるカメラ装置における画像処理の動作について説明する。
以下の説明では、横640×縦480のベイヤーデータを同じ画像サイズのYUV422の画像データへ変換する場合を例にして説明する。なお、データバス12は32ビットバスとし、DMAは16バーストとする。
まず、撮像系(CCD6)により撮影された画像データがCCD制御部22により取り込まれ、データインタフェース部23を介してRAM3に書き込まれる。図3には、RAM3に展開記憶された画像データ(ベイヤーデータ)を示している。図3に示すベイヤーデータは、1ピクセルが8ビットのデータである。
ここで、ベイヤーデータを画像処理部25においてYUVデータに変換するために、図4に示すように、ベイヤーデータ(画像処理部25が処理するデータブロック)の周辺に3ピクセル分のリングピクセルが必要であるものとする。
画像データ転送部24は、データインタフェース部23を介して、RAM3に記憶されたベイヤーデータを順次読み込み、図5に示すように、所定単位(ベルト単位)のデータ毎に垂直方向に分割(例えば16ピクセル単位で30分割)し、必要に応じてリングピクセル(例えば3ピクセル)を付加しながら、画像処理部25に対して垂直方向に1ピクセル単位(8ビット)でデータを転送する(画像データ転送部24についての詳細な構成と動作については後述する)。図5では、1つのベルトの上下左右にそれぞれ3ピクセルのデータを付加して画像処理部25に転送する。
RAM3に記憶されたベイヤーデータ全体については、図6に示すように、ベルト単位で画像処理部25にデータが転送される。1ベルト目のデータについては、画像データ転送部24によりベルトの上に3ピクセル分のラインを付加して19ライン目まで(16ライン+下リングピクセル3ライン)を転送する。すなわち、1ベルト目と2ベルト目の間のように、画像データが存在する場合には、画像データ転送部24によりリングピクセル付加を行わず、元のデータを画像処理部25に出力する。2ベルト目から29ベルト目までは22ライン(3+16+3ライン)となる。また、30ベルト目(最終ベルト)では19ライン目(上リングピクセル3ライン+16ライン)を転送し、画像データ転送部24によりベルトの下に3ピクセル分のラインを付加して転送する。
なお、図6では、各ベルトの上下のリングピクセルのみについて説明しているが、各ベルトの左右に対してそれぞれ3ピクセルのリングピクセルのデータが画像データ転送部24により付加されて画像処理部25に転送される(詳細については後述する)。
画像処理部25は、画像データ転送部24から所定の順番で転送されたデータに対して、分割単位(ベルト単位)ごとに各データのピクセル位置を認識しながらデータを処理し、640×16ピクセルのYUVデータを生成し、画像データ転送部24に出力する。
画像データ転送部24は、画像処理部25からの画像データを、データインタフェース部23を介してRAM3に書き込む。
このように、画像処理部25においてベイヤーデータをYUVデータに変換する処理にリングピクセルのデータが必要な場合に、RAM3に展開記憶されたベイヤーデータに対して付加するのではなく、画像データ転送部24において、画像処理部25に対してデータを出力する直前に付加するようにしているため、RAM3では元画像データのみを記憶させておくだけで良く画像データの占有領域を増大させることがない。
次に、画像データに対してリングピクセルを付加する処理を実行するための画像データ転送部24の詳細な構成と動作について説明する。
まず、画像データ転送部24のリングピクセルを付加する機能構成の概略について説明する。
(1)画像データ記憶。
まず、CCD6によって取得された画像データ(各ピクセル位置のデータを含む)を実メモリ(入力バッファ)に記憶する。ここでは、例えばベルト単位で複数回に分けてCCD6により取得された画像データが読み込まれて一時記憶されるものとする。例えば、実メモリ(入力バッファ)に記憶されるデータのデータ長を32ビットとして記憶する。
なお、実メモリ(入力バッファ)はベルト単位で画像データを記憶するだけでなく、画像データ全体を記憶する構成(記憶容量)とすることもできる。また、データ長も32ビットに限らない。
(2)ピクセル範囲設定。
画像データ処理ブロックに転送する画像データにおけるピクセル範囲(Xmin Ymin,Xmax,Ymax)と、このピクセル範囲の周辺に画像処理の内容に応じて付加されるリングピクセルを含む全体のピクセル範囲(Xmin0 ,Ymin0,Xmax0,Ymax0)を設定する。ここでは、ピクセル範囲(Xmin Ymin,Xmax,Ymax)は、1つのベルトの画像データとなる。
(3)ピクセル位置指定。
全体のピクセル範囲(Xmin0 ,Ymin0,Xmax0,Ymax0)における転送すべきピクセル位置(X,Y)を逐次順番に指定する。図7には、全体のピクセル範囲における画像データのピクセル範囲と、転送すべきピクセル位置を示している。
例えば、実メモリ(入力バッファ)にはベルト単位で画像データが記憶される場合には、複数のベルトのそれぞれについて順番に処理する。1つのベルトの画像データに対する処理は、Y方向、X方向の順で順次ピクセル位置を更新していく。
なお、前述した説明では、実メモリにベルト単位で画像データが記憶される場合を例にして説明しているが、ベルト単位に分割した処理に限定されるものではない。また、この画像データに対するピクセル位置の指定順序は、Y方向、X方向の順に限定されない。
(4)ピクセル位置判定。
ピクセル位置(X,Y)がピクセル範囲(Xmin Ymin,Xmax,Ymax)に含まれるか否か、すなわち指定されたピクセル位置に対応するデータの有無を判定する。ここでは条件(X<Xmin)or(X>Xmax)or(Y<Ymin)or(Y>Ymax)を満たす場合に、指定されたピクセル位置に対応するデータが存在しないと判定することができる。
(4)ピクセル位置変換。
転送すべきピクセル位置(X,Y)を、ピクセル範囲(Xmin Ymin,Xmax,Ymax)内の転送対象とするデータのピクセル位置に変換する。
例えば、2×2ピクセルが単位ブロックであるベイヤーデータなどの場合に、(X<Xmin)の場合は、(Xmin+((Xmin−1−X)/2)の余り)をXに変換し、(X>Xmax)の場合は、(Xmax+((X−Xmin+1)/2)の余り)をXに変換し、(Y<Ymin)の場合は、(Ymin+((Ymin−1−Y)/2)の余り)をYに変換し、(Y>Ymax)の場合は、(Ymax+((Y−Ymin+1)/2)の余り)をYに変換する。
(5)ピクセル位置選択。
ピクセル位置判定の判定結果に基づいて、ピクセル位置指定において転送すべきとして指定されたピクセル位置(X,Y)か、ピクセル位置変換によって変換されたピクセル位置(X,Y)の何れかを選択する。すなわち、ピクセル位置指定により指定されたピクセル位置に対応するデータが存在しないと判定した場合には、ピクセル位置変換によって変換されたピクセル位置(X,Y)を選択する。
(6)メモリアドレス変換。
ピクセル位置選択によって選択されたピクセル位置(X,Y)を、画像データが記憶された実メモリのメモリアドレス及びデータビット位置に変換する。
ここでは、CCD6によって取得されたデータ(画素情報)を一時記憶する実メモリ(入力バッファ)の構成および格納方法に応じて、適宜ピクセル位置とメモリアドレスの変換を行う。例えば、1画素が8ビット、実メモリのデータ長が32ビットなどの場合は、メモリアドレスおよびデータビット位置によって1つのピクセル位置が指定される。
(7)データ転送制御。
メモリアドレス変換による変換により得られたメモリアドレス(及びデータビット位置)に従い、所定タイミングによるデータ転送を制御する。
次に、画像データ転送部24の詳細について説明する。図8は、画像データ転送部24のリングピクセルを付加するための構成を示すブロック図である。
図8に示すように、画像データ転送部24には、入力バッファ30、アドレス生成部31、垂直ラインカウンタ32、垂直リングピクセルカウンタ33、水平ピクセルカウンタ34、水平リングピクセルカウンタ35、データ選択部36、データセレクタ37が設けられている。
入力バッファ30は、データインタフェース部23から入力されるデータを記憶するもので、例えば入力データ用に32ビット×16バースト×32ライン分のバッファ領域、出力データ用に32ビット×16バースト×16ライン分のバッファ領域が設けられている。なお、入力バッファ30のバッファ領域はこれに限るものではない。
アドレス生成部31は、垂直ラインカウンタ32のカウンタ値と垂直リングピクセルカウンタ33によるカウンタ値に応じた入力バッファ30のアドレスを生成する。入力バッファ30が示すアドレスにより、32ビット(4ピクセル)のデータが読み出される。
垂直ラインカウンタ32は、入力バッファ30に記憶されたデータのアドレスを生成するためにライン数をカウントする。
垂直リングピクセルカウンタ33は、入力バッファ30に記憶されたデータに付加する垂直方向のリングピクセル(垂直リングピクセル)の数をカウントする。
水平ピクセルカウンタ34は、入力バッファ30に記憶されたデータの1ライン中のピクセル位置をカウントする。
水平リングピクセルカウンタ35は、入力バッファ30に記憶されたデータに付加する水平方向のリングピクセル(水平リングピクセル)の数をカウントする。
データ選択部36は、水平ピクセルカウンタ34あるいは水平リングピクセルカウンタ35の何れかを選択し、この選択されたカウンタによりカウントされた値を出力する。
データセレクタ37は、データ選択部36から出力された値をもとに、アドレス生成部31が示すアドレスのデータ(32ビット)から1ピクセル(8ビット)分のデータを選択して画像処理部25に出力する。なお、データセレクタ37は、画像データが記憶される入力バッファ30の構成やバッファリングの方法に応じて、画像処理部25に転送すべきデータ(例えば1ピクセル)を選択できるように構成される。
次に、図8に示す画像データ転送部24におけるリングピクセルを付加する動作について説明する。
画像データ転送部24の入力バッファ30には、入力データ用に32ビット×16バースト×32ライン分の記憶容量が設けられており、RAM3に記憶されたベイヤーデータが1ピクセル8ビットなので64ピクセル×32ライン分を取り込むことができる。画像データのサイズが水平640ピクセルなので(図3)、この入力バッファ30への取り込みを10回繰り返すことで1ベルト分のデータを処理することができる。
なお、出力データ用に32ビット×16バースト×16ライン分の記憶容量が設けられ、画像処理部25における画像処理によって得られるYUV422の画像データが32ビットで2ピクセル分なので、32ピクセル×16ライン分を取り込むことができる。画像サイズが水平640ピクセルなので、この入力バッファ30のデータ取り込みを20回繰り返すことで1ベルト分のデータを処理できる。
まず、1ベルト目については、RAM3から読み込まれたデータ(32ビット×16バースト×19ライン分)が、図9のように入力バッファ30に書き込まれる。
図9において記載されている番号は、ライン番号と水平ピクセル番号を表したもので、1−1は1ライン目の1ピクセル、2−5は2ライン目の5ピクセルを示している。入力バッファ30への書き込み時には、32ビット毎に32ライン分あけてデータ書き込みを行う。例えば、1−1,1−2,1−3,1−4のデータ(32ビット)を書き込んだ後は、32ライン分の容量のあとに1−5,1−6,1−7,1−8のデータを書き込む。
画像データ転送部24は、垂直ラインカウンタ32と水平ピクセルカウンタ34によって、入力バッファ30に記憶された転送すべきデータに対応するピクセル位置をカウントし、また入力バッファ30に記憶されたデータに対して付加するリングピクセルをカウントする(ピクセル範囲設定、ピクセル位置指定)。
画像処理部25へのデータは、垂直ラインカウンタ32によりカウントされるベルトのライン数分連続したバッファアドレスからデータを読み出し、この読み出した32ビット中の8ビットを水平ピクセルカウンタ34によりカウントされる値に応じて選択して出力する。
ここでは、図4に示すように、入力バッファ30に記憶されたデータに対して3ピクセル分のリングピクセルを付加するため、垂直リングピクセルカウンタ33と水平ピクセルカウンタ34によって3ピクセルをカウントする。
垂直ラインカウンタ32、垂直リングピクセルカウンタ33、水平ピクセルカウンタ34、水平リングピクセルカウンタ35の初期値をそれぞれ1とする。垂直ラインカウンタ32は、垂直リングピクセルカウンタ33がリングピクセル分のカウントを終了するまでカウントが停止される。また、水平ピクセルカウンタ34は、水平リングピクセルカウンタ35がリングピクセル分のカウントを終了するまでカウントが停止される。
アドレス生成部31は、垂直リングピクセルカウンタ33によりカウントされるリングピクセルの位置が奇数位置である場合には、垂直ラインカウンタ32によりカウントされているカウンタ値に+1した値に応じたアドレスを生成し、偶数位置である場合にはカウンタ値に応じたアドレスを生成する。
また、データ選択部36は、水平リングピクセルカウンタ35によりカウントされるリングピクセルの位置が奇数位置である場合には、水平ピクセルカウンタ34によりカウントされているカウンタ値に+1した値、偶数位置である場合にはカウンタ値を選択する。
データセレクタ37は、データ選択部36によって選択されたカウンタ値に応じて、アドレス生成部31が生成したアドレスに記憶された32ビット中の8ビットを選択して画像処理部25に出力する(メモリアドレス変換)。
垂直リングピクセルカウンタ33と水平リングピクセルカウンタ35によりリングピクセル分のカウントが終了するまでは、垂直ラインカウンタ32と水平ピクセルカウンタ34のカウント値に該当するピクセル位置に対応するデータがないものとし(ピクセル位置判定)、垂直ラインカウンタ32と水平ピクセルカウンタ34によりカウントされたカウント値をもとに、入力バッファ30に記憶されたデータを出力するためのピクセル位置をアドレス生成部31とデータ選択部36によって求める(ピクセル位置選択、ピクセル位置変換)。
従って、1ベルト目では、図10中に矢印で示すように、入力バッファ30に記憶されたデータが2−2,1−2,2−2,1−2,2−2、3−2,4−2…の順番で画像処理部25に出力される。
同様に、ベルトの最後でもリングピクセル分カウンタを停止し、垂直リングピクセルカウンタ33が奇数位置では、垂直ラインカウンタ32によるラインカウンタ値+1、偶数位置ではラインカウンタ値によりバッファアドレスを生成し、水平ピクセルカウンタ34が奇数位置では水平ピクセルカウンタ値−1、偶数位置では水平ピクセルカウンタ値により、32ビット中8ビットを選択することで図10に示すような順番でデータを画像処理部25に出力する。
2ベルト目から最終ベルトの1つ前のベルトまでについては、上下に位置するベルトのデータ(3ライン)を用いるため、水平方向(左右)のみについて前述と同様にしてリングピクセルの付加を行う。図11には、2ベルト目のデータを示す。図11に示すように、上リングピクセル3ラインは、14〜16ラインのデータがリングピクセルとして付加され、下リングピクセル3ラインは、33〜35ラインのデータが付加されている。
最終ベルトのベルト開始位置でのリングピクセル付加は、垂直リングピクセルカウンタ33が奇数位置では、垂直ラインカウンタ32によるラインカウンタ値−1、偶数位置ではラインカウンタ値によりバッファアドレスを生成し、水平リングピクセルカウンタ35が奇数位置を示す場合には水平ピクセルカウンタ34による水平ピクセルカウンタ値+1、偶数位置では水平ピクセルカウンタ値により32ビット中8ビットを選択して出力する。また、ベルトの終了位置では、垂直リングピクセルカウンタ33が奇数位置では、垂直ラインカウンタ32によるラインカウンタ値−1、偶数位置ではラインカウンタ値によりバッファアドレスを生成し、水平リングピクセルカウンタ35が奇数位置を示す場合には水平ピクセルカウンタ34による水平ピクセルカウンタ値−1、偶数位置では水平ピクセルカウンタ値により、32ビット中8ビットを選択して出力する。
このようにして、本実施形態では、画像データ処理ブロックに対してデータを出力する直前に、画像データ転送部24によってリングピクセルを付加するようにしているため、RAM3に記憶された元画像データに対する加工を行うことが無い。従って、処理スピードを速くすることができ、RAM3において画像データを記憶するために要する容量を少なくして、RAM3の容量をより有効に活用することができる。
なお、前述した説明では、リングピクセルとして3ピクセル分のデータを付加するものとして説明しているが、リングピクセルのピクセル数は任意に変更することができる。また、上下左右方向に付加するリングピクセルのピクセル数についても個別に変更することができる。すなわち、前述したように、画像データ転送部24の垂直リングピクセルカウンタ33及び水平リングピクセルカウンタ35において付加すべきピクセル数をカウントし、このカウント値に応じて画像処理部25に出力すべきデータのピクセル位置を求めてデータを出力することができる。これにより、画像データ処理ブロックにおいて実行される、リングピクセルを利用した各種の画像処理に対応することができる。
また、前述した説明では、CCD6を含む撮像系により取得されてRAM3に記憶されたベイヤーデータに対してリングピクセルを付加する場合について説明しているが、同様にして、RAM3に記憶された元画像データをYUVデータとし、このYUVデータに対してリングピクセルを付加して画像データ処理ブロックに出力することもできる。
例えば、YUV422データは、2ピクセルが32ビットデータにパッキングされている。画像データ処理ブロックでは、1ピクセル単位でデータが必要とすると、元画像データの最外周に当たるYUVデータの1ピクセル分(24ビットデータ)を水平、垂直リングピクセルカウンタ分繰り返し出力することでリングピクセルを付加する。これにより、例えば1ベルト目では、図12に示すように、元画像データの外周部のデータがリングピクセルとして付加された例を示している。
なお、RAM3からの2ピクセル分(32ビットデータ)から1ピクセル分(24ビットデータ)へのデータの変換は図13に示すように行う。図13(a)に示すように、2ピクセルがパッキングされた32ビットデータを、図13(b)に示すように、1ピクセルが24ビットのデータに変換する。
このようにして、YUV422データを元画像データとする場合には、2ピクセル分パッキングされたデータを1ピクセル単位に変換してリングピクセルとして付加することができる。こうして、ベイヤーデータだけでなく、元画像データをYUVデータデータとした場合にも対応することができる。
また、前述した説明では、デジタルスチルカメラやデジタルビデオカメラなどのカメラ装置を対象としているが、カメラ機能付きの携帯電話機や携帯型の情報処理装置(PDA(personal digital assistant)やPC(Personal Computer)など)に適用することもできる。
さらに、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組み合わせにより種々の発明が抽出され得る。例えば、実施の形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも1つが解決でき、発明の効果の欄で述べられている効果の少なくとも1つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
本発明の実施形態におけるカメラ装置の画像処理に関連する主要な構成を示すブロック図。 図1に示すASIC2の詳細な構成を示すブロック図。 本実施形態におけるRAM3に展開記憶された画像データ(ベイヤーデータ)の一例を示す図。 本実施形態におけるベイヤーデータの周辺に付加されるリングピクセルを示す図。 本実施形態における画像処理部25へのデータ転送を説明するための図。 本実施形態における画像処理部25へのベルト単位でのデータ転送を説明するための図。 本実施形態における全体のピクセル範囲における画像データのピクセル範囲と転送すべきピクセル位置を示す図。 本実施形態における画像データ転送部24のリングピクセルを付加するための構成を示すブロック図。 本実施形態における入力バッファ30に記憶されるデータの一例を示す図。 本実施形態における1ベルト目に付加されるリングピクセルを示す図。 本実施形態における2ベルト目に付加されるリングピクセルを示す図。 本実施形態における元画像データをYUVデータとした場合の1ベルト目に付加されるリングピクセルを示す図。 本実施形態における2ピクセル分(32ビットデータ)から1ピクセル分(24ビットデータ)へのデータの変換を示す図。
符号の説明
1…CPU、2…ASIC、3…RAM、4…ROM、5…光学レンズ系、6…CCD、7…サンプルホールド回路、8…A/D変換回路、9…キー入力部、10…LCD、11…コントロールバス、12…データバス、20…LCD制御部、21…キー入力制御部、22…CCD制御部、23…データインタフェース部、24…画像データ転送部、25…画像処理部25、26…画素数変換部、27…デブロッキングフィルタ部、30…入力バッファ、31…アドレス生成部、32…垂直ラインカウンタ、33…垂直リングピクセルカウンタ、34…水平ピクセルカウンタ、35…水平リングピクセルカウンタ、36…データ選択部、37…データセレクタ。

Claims (9)

  1. 元画像データに所定の画像データを付加して画像処理を実行するカメラ装置において、
    複数のピクセル位置の各々に対応するデータを含む元画像データを記憶する記憶手段と、
    画像データに対して複数のピクセル位置のデータをもとにした画像処理を実行する画像処理手段と、
    前記画像処理手段による画像処理の対象としてデータを転送すべきピクセル位置を発生する発生手段と、
    前記発生手段によって発生されたピクセル位置に対応するデータが、前記記憶手段により記憶された元画像データにあるか否かを判定する判定手段と、
    前記判定手段によってデータが無いと判定されたピクセル位置を前記記憶手段に記憶されたデータが有るピクセル位置に変換するピクセル変換手段と、
    前記判定手段による判定結果に基づいて、前記発生手段により発生されたピクセル位置あるいは前記ピクセル変換手段によって変換されたピクセル位置の何れかを選択する選択手段と、
    前記選択手段によって選択されたピクセル位置に対応して前記記憶手段に記憶されたデータを前記画像処理手段に転送する転送手段と
    を具備したことを特徴とするカメラ装置。
  2. 前記画像データを構成する各データのピクセル位置を、前記記憶手段に記憶された元画像データのデータ位置に変換する変換手段を備え、
    前記転送手段は、前記発生手段により順次発生されるピクセル位置に対応して前記変換手段により順次変換されるデータ位置のデータを前記画像処理手段に順次転送することを特徴とする請求項1記載のカメラ装置。
  3. 前記画像処理手段は、処理すべき画像データを構成する複数のデータの転送順序に基づいて各データのピクセル位置を認識して画像処理を実行し、
    前記発生手段は、前記画像処理手段がピクセル位置を認識するデータの転送順序に対応して順次ピクセル位置を発生することを特徴とする請求項1記載のカメラ装置。
  4. 前記画像処理手段は、画像処理の結果として出力すべきピクセル範囲に対して、このピクセル範囲の周辺に位置するピクセル位置のデータを必要とする画像処理であり、
    前記発生手段は、前記元画像データ全体のピクセル範囲が前記画像処理手段による画像処理の結果として出力されるよう、前記元画像データ全体のピクセル範囲の周辺に位置するピクセル位置を含むピクセル位置を発生することを特徴とする請求項1記載のカメラ装置。
  5. 前記記憶手段には元画像データとして、撮像素子によって取得されたベイヤーデータあるいはYUVデータが記憶され、
    前記記憶手段に前記YUVデータが記憶されている場合に、複数ピクセルのデータを1ピクセル単位のデータに変換して転送することを特徴とする請求項1記載のカメラ装置。
  6. 前記発生手段は、
    前記記憶手段に記憶される元画像データの上下左右方向の周辺に位置するピクセル位置を含めて指定するもので、
    前記発生手段によって上下左右方向で発生されるピクセル位置の数をカウントするカウント手段と、
    前記カウント手段によってカウントされる数が所定値となるまで、前記記憶手段により記憶された元画像データに対応するデータが無いピクセル位置を発生するピクセル位置発生手段と
    を具備したことを特徴とする請求項1記載のカメラ装置。
  7. 前記カウント手段によりカウントされる所定値は、左右方向と上下方向で個別に設定されることを特徴とする請求項6記載のカメラ装置。
  8. メモリに記憶された画像データを画像処理手段に順次転送して、複数のピクセル位置のデータをもとにした画像処理を実行させるカメラ装置において、
    前記メモリに記憶された複数のピクセル位置の各々に対応するデータを含む画像データを一時記憶する記憶手段と、
    前記記憶手段に記憶された画像データを前記画像処理手段に転送する毎に、前記記憶手段に記憶された画像データの周辺に付加するピクセルのピクセル数をカウントする付加ピクセルカウント手段と、
    前記付加ピクセルカウント手段によって所定のピクセル数がカウントされた後の前記画像処理手段に転送するデータのピクセル位置を逐次順番に発生するピクセル位置発生手段と、
    前記付加ピクセルカウント手段によって所定のピクセル数までカウントされていない場合に、前記記憶手段に記憶されたデータに対する所定のピクセル位置を指定するピクセル位置指定手段と、
    前記付加ピクセルカウント手段によって所定のピクセル数までカウントされていない場合に、前記ピクセル位置指定手段によって指定されたピクセル位置を選択し、前記付加ピクセルカウント手段によって所定のピクセル数までカウントされている場合に、前記ピクセル位置発生手段によって発生されたピクセル位置を選択して、前記記憶手段に記憶された該当するピクセル位置のデータを転送する転送手段と
    を具備したことを特徴とするカメラ装置。
  9. 元画像データに所定の画像データを付加して画像処理を実行する画像処理方法において、
    複数のピクセル位置の各々に対応するデータを含む元画像データを記憶する記憶ステップと、
    複数のピクセル位置のデータをもとにした画像処理の対象としてデータを転送すべきピクセル位置を発生する発生ステップと、
    前記発生ステップによって発生されたピクセル位置に対応するデータが、前記記憶ステップにより記憶された元画像データにあるか否かを判定する判定ステップと、
    前記判定ステップによってデータが無いと判定されたピクセル位置を前記記憶ステップにより記憶されたデータが有るピクセル位置に変換するピクセル変換ステップと、
    前記判定ステップによる判定結果に基づいて、前記発生ステップにより発生されたピクセル位置あるいは前記ピクセル変換ステップによって変換されたピクセル位置の何れかを選択する選択ステップと、
    前記選択ステップによって選択されたピクセル位置に対応して前記記憶ステップにより記憶されたデータを前記画像処理の対象として転送する転送ステップとを具備したことを特徴とする画像処理方法。
JP2005021928A 2005-01-28 2005-01-28 カメラ装置、画像処理方法 Active JP4432786B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005021928A JP4432786B2 (ja) 2005-01-28 2005-01-28 カメラ装置、画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005021928A JP4432786B2 (ja) 2005-01-28 2005-01-28 カメラ装置、画像処理方法

Publications (2)

Publication Number Publication Date
JP2006211402A JP2006211402A (ja) 2006-08-10
JP4432786B2 true JP4432786B2 (ja) 2010-03-17

Family

ID=36967751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005021928A Active JP4432786B2 (ja) 2005-01-28 2005-01-28 カメラ装置、画像処理方法

Country Status (1)

Country Link
JP (1) JP4432786B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4905080B2 (ja) * 2006-11-22 2012-03-28 カシオ計算機株式会社 転送回路、転送制御方法、撮像装置、制御プログラム
JP5152670B2 (ja) * 2008-12-23 2013-02-27 カシオ計算機株式会社 画像処理装置、画像処理方法、及びプログラム
GB2488591A (en) * 2011-03-04 2012-09-05 Sony Corp Image Interpolation Including Enhancing Artefacts
JP6361290B2 (ja) 2014-05-30 2018-07-25 セイコーエプソン株式会社 画像処理装置、表示装置および画像処理方法

Also Published As

Publication number Publication date
JP2006211402A (ja) 2006-08-10

Similar Documents

Publication Publication Date Title
US7693350B2 (en) Pixel interpolation device and camera adapted to perform pixel interpolation of captured image
US7170553B2 (en) Image processing apparatus, image processing method and portable imaging apparatus
JP5593060B2 (ja) 画像処理装置、および画像処理装置の動作方法
JP4432786B2 (ja) カメラ装置、画像処理方法
JP5154361B2 (ja) 撮像装置及び撮像装置の制御方法
JP4687116B2 (ja) カメラ装置
JP6016423B2 (ja) 信号処理装置、撮像装置及び信号処理方法
US7545416B2 (en) Image processing device and camera including CPU which determines whether processing performed using external memory
JP5829122B2 (ja) 撮像装置および評価値生成装置
JP2010176547A (ja) 画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラム
US20230269344A1 (en) Imaging element, imaging apparatus, operation method of imaging element, and program
US8155471B2 (en) Image processing apparatus and method that may blur a background subject to highlight a main subject
JP4547321B2 (ja) 動きベクトル検出装置及び撮像装置
JP4749701B2 (ja) オンスクリーンディスプレイ装置
JP4905080B2 (ja) 転送回路、転送制御方法、撮像装置、制御プログラム
JP7022866B2 (ja) 撮像素子、撮像装置、撮像素子の作動方法、及びプログラム
JP7159555B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2007228233A (ja) 撮影装置
JP5867903B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2009033438A (ja) 撮像装置
JP4525382B2 (ja) 表示装置及び撮像装置
JP2018005389A (ja) 画像変形回路、画像処理装置、及び画像変形方法
JP4715210B2 (ja) カメラ装置
JP6350151B2 (ja) 画像処理装置及び画像処理方法
WO2020066186A1 (ja) 撮像素子、撮像装置、画像データ出力方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091126

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091214

R150 Certificate of patent or registration of utility model

Ref document number: 4432786

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3