JP2014120961A - 画像処理装置、画像処理方法、及びプログラム - Google Patents

画像処理装置、画像処理方法、及びプログラム Download PDF

Info

Publication number
JP2014120961A
JP2014120961A JP2012275278A JP2012275278A JP2014120961A JP 2014120961 A JP2014120961 A JP 2014120961A JP 2012275278 A JP2012275278 A JP 2012275278A JP 2012275278 A JP2012275278 A JP 2012275278A JP 2014120961 A JP2014120961 A JP 2014120961A
Authority
JP
Japan
Prior art keywords
area
image data
image processing
stored
predetermined
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.)
Granted
Application number
JP2012275278A
Other languages
English (en)
Other versions
JP5843168B2 (ja
Inventor
Masato Soshi
正人 曽雌
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 JP2012275278A priority Critical patent/JP5843168B2/ja
Publication of JP2014120961A publication Critical patent/JP2014120961A/ja
Application granted granted Critical
Publication of JP5843168B2 publication Critical patent/JP5843168B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Input (AREA)
  • Storing Facsimile Image Data (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】リングバッファ専用の記憶領域を不要とし、メモリを有効利用する。
【解決手段】画像処理装置は、少なくとも、元画像データの記憶領域と該元画像に対する画像処理後の画像データを記憶する処理後の記憶領域とを有するRAM32と、所定の画像処理を施す画像変換部43、画像補正部44、及び画素数変換部46と、所定の画像処理のための作業領域を、処理済みの画像データが未格納である記憶領域と読み出し済みの画像データが格納されていた記憶領域とにRAM32利用状況に基づいて確保し、元画像データの記憶領域に格納されている元画像データを、所定のベルト単位で逐次読み出して画像処理部に供給し、所定の画像処理が施された画像データを、作業領域を介して、処理後の記憶領域に逐次格納する画像データ転送部45、47とを備えている。
【選択図】図2

Description

本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
従来より、デジタルカメラや、携帯電話等の撮影機能を有する画像処理装置では、画像を生成する場合、撮像素子から取り込んだベイヤデータ(元画像データ)に対して、JPEG(Joint Photographic Experts Group)変換、YUVデータへの変換、シェーディング補正や、エッジ強調などの画像補正、ノイズリダクション、歪曲補正、拡大・縮小などの各処理を行っている。
上述したような各処理を行う場合に、画像全体を処理しようとすると、各処理回路が非常に大きくなってしまうため、画像を横方向に所定のライン数ごとに分割し、分割した画像データごとに中間的な画像処理を含む各種画像処理を行っている。このとき、画像処理装置では、画像処理の過程における中間的な画像データを一時的に保持しておくために、メモリ上に所定の領域を確保し、該領域をリングバッファとして用いる技術が知られている(例えば、特許文献1、2参照)。
リングバッファは、メモリを有効に使うため、中間的な画像データをより少ない領域の使用にとどめるための手法である。メモリは、プログラム、スタック、プログラム処理のためのデータ、CCDから取り込んだベイヤデータ、表示データなどのために使用される。このため、大きな領域が必要な画像データの使用量を少なくすることで、他で必要な領域が大きく取れることになる。このため、画像処理などの処理速度をアップさせることができるという利点がある。
図9は、従来技術によるメモリ利用状況を説明するための概念図である。例えば、JPEG変換モジュールは、ベイヤデータを直接処理することができないため、また、サイズの変更、色調整などのために、一時的にベイヤデータ1をYUVデータ2に変換し、そのYUVデータを2JPEGデータ3に変換する。この一時的に必要なYUVデータ2をリングバッファ4に巡回的に格納することで、リングバッファ4を使用しない場合に比べ、メモリ上の画像データの使用量を少なくしている。リングバッファ4は、使用するデータ量に関係なく、固定された一部の領域のみを使用するものである。データ量が一部の領域を超えてしまう場合に、その領域の先頭に戻り、領域を巡回的に使用するためリングバッファと呼ばれている。
このため、リングバッファ4へのデータ入力側、リングバッファ4からのデータ出力側における、2つのモジュールのデータ処理速度が異なる場合には、読み出しが行われていない領域へのデータの上書きや、書き込みされていない領域からのデータ読み込みが行われてしまう可能性がある。そこで、データ入力側のモジュールがデータ出力側を制御するか、データ出力側のモジュールがデータ入力側を制御することで、未書き込み領域の読み出しを行わせないようにしたり、読み込みが終わっていない領域への新規書き込みを行わせないようにしたりしている。制御するモジュールに対し、制御されるモジュールは、処理終了ラインを通知し、その情報と自身の処理終了ラインとリングバッファのライン数とにより、RAMアクセスの制御を行う。
図10は、従来技術において、データ出力側モジュールと入力側モジュールとの動作制御方法を示すブロック図である。データ出力側モジュール12は、自身が必要なライン数までリングバッファ11へのデータ書き込みが行われると、リングバッファ11からデータ読み込みを開始する。その後、データ出力側モジュール12の処理速度が入力側より遅い場合には、読み込んでいないデータが上書きされないように、データ出力側モジュール12からデータ入力側モジュール10に対してデータ書き込みを停止するように制御する(データ書き込み制御)。逆に、データ出力側モジュール12の処理速度がデータ入力側モジュール10より速い場合には、書き込み終わっていないラインのデータ読み込みをしないように、データ入力側モジュー10ルからデータ出力側モジュール12による読み込みを制御する(データ書き込み終了ライン通知)。
特開2010−86497号公報 特開2007−88806号公報
しかしながら、上記従来技術では、図11に示すように、元画像データの記憶領域20、処理後の画像データの記憶領域21以外に、中間データを一時的に保持するために、メモリの一部にリングバッファのための記憶領域22を、別途確保しなければならないという問題があった。また、画像サイズの拡大、処理経路の増加に伴い、リングバッファ22のために必要とされるメモリ容量が増大するという問題があった。
そこで本発明は、リングバッファ専用の記憶領域を不要とし、メモリを有効利用することができる画像処理装置、画像処理方法、及びプログラムを提供することを目的とする。
この発明は、少なくとも、元画像データを記憶する第1の領域と前記元画像に対する画像処理後の画像データを記憶する第2の領域とを有する記憶手段と、所定の画像処理を施す画像処理手段と、前記記憶手段の第1の領域に格納されている元画像データを、所定の分割単位で逐次読み出して前記画像処理手段に供給し、前記画像処理手段によって画像処理された画像データを前記記憶手段の第2の領域に逐次格納する過程で、前記画像処理手段による所定の画像処理のための作業領域を、前記第2の領域内の処理済みの画像データが未格納である領域と前記第1の領域内の読み出し済みの画像データが格納されていた領域とに、前記記憶手段の利用状況に基づいて確保する画像データ転送手段とを備えることを特徴とする画像処理装置である。
この発明は、メモリ内の第1の領域に格納されている元画像データを、所定の分割単位で逐次読み出すステップと、前記所定の分割単位で逐次読み出される元画像データに対して所定の画像処理を施すステップと、前記所定の画像処理のための作業領域を、前記第2の領域内の処理済みの画像データが未格納である領域と前記第1の領域内の読み出し済みの画像データが格納されていた領域とに、前記メモリの利用状況に基づいて確保するステップと、前記所定の画像処理が施された画像データを、前記作業領域を介して前記メモリの第2の領域に逐次格納するステップとを含むことを特徴とする画像処理方法である。
この発明は、コンピュータに、メモリ内の第1の領域に格納されている元画像データを、所定の分割単位で逐次読み出す機能、前記所定の分割単位で逐次読み出される元画像データに対して所定の画像処理を施す機能、前記所定の画像処理のための作業領域を、前記第2の領域内の処理済みの画像データが未格納である領域と前記第1の領域内の読み出し済みの画像データが格納されていた領域とに、前記メモリの利用状況に基づいて確保する機能、前記所定の画像処理が施された画像データを、前記作業領域を介して前記メモリの第2の領域に逐次格納する機能を実行させることを特徴とするプログラムである。
この発明によれば、リングバッファ用の記憶領域を不要とし、メモリを有効利用することができるという利点が得られる。
本発明の実施形態によるデジタルカメラの略構成を示すブロック図である。 本実施形態によるASIC31の構成を示すブロック図である。 本実施形態によるメモリ利用状況を説明するための概念図である。 本実施形態による画像データ転送部45の動作を説明するためのフローチャートである。 本実施形態の画像データ転送部45によるベルト単位でのRAM32の使用例を示す概念図である。 本実施形態による画像データ転送部47の動作を説明するためのフローチャートである。 本実施形態の画像データ転送部47によるベルト単位でのRAM32の使用例を示す概念図である。 本実施形態の画像データ転送部47によるベルト単位でのRAM32の使用例を示す概念図である。 従来技術によるメモリ利用状況を説明するための概念図である。 従来技術において、データ出力側モジュールと入力側モジュールとの動作制御方法を示すブロック図である。 従来技術でのメモリ利用状態を示す模式図である。
以下、本発明の実施の形態を、図面を参照して説明する。
A.実施形態の構成
図1は、本発明の実施形態によるデジタルカメラの略構成を示すブロック図である。図において、CPU30は、所定のプログラムを実行することにより、後述する当該デジタルカメラの各部の動作(撮影、画像処理など)を制御する。ASIC31は、後述するCCD33から入力したベイヤデータに対して、YUVデータ変換、エッジ強調やシェーディング補正などの画像補正、画像の拡大や縮小を行う。また、ASIC31は、後述するCCD33から入力された画像データに対して各種画像処理等を施してLCD35に表示する。
RAM32は、CPU30や、ASIC31の動作に係る各種パラメータや、撮像された画像データ、該画像データに対して画像処理を施した後の画像データなどを保存するとともに、画像処理での途中結果を一時保存する。CCD33は、レンズ等の光学系を通して結像された画像を電気信号として取り込み、撮像画像データ(以下、元画像データ、またはベイヤデータという)としてASIC31に供給する。
ROM34は、CPU39、ASIC31で実行される所定のプログラムや、動作パラメータなどを記憶する。LCD35は、各種メニュー画面や、メニュー画面での各種設定項目、動作パラメータ、撮影時のスルー画像、撮影された元画像データなどを表示する。キーボード36は、各種撮影パラメータ、動作モードを設定・指定するためのボタンや、シャッタボタンなどからなる。電源部37は、各種バッテリ(一次電池、二次電池など)からなり、上述した各部を動作させるための電源を供給する。
次に、図2は、本実施形態によるASIC31の構成を示すブロック図である。図において、ASIC31は、DMAC(Dynamic Memory Access Controller)40、メモリ制御部41、CCD制御部42、画像変換部43、画像補正部44、画像データ転送部45、画素数変換部46、画像データ転送部47、キーボード制御部48、及びLCD制御部49からなる。
DMAC40は、CPU30を介さずに、メモリ制御部41を用いてRAM32や、ROM34に直接アクセスし、元画像データの保存や、読み込み、あるいは、後述する各種画像処理部への引き渡しなどを制御する。メモリ制御部41は、DMAC40による制御の下、直接、RAM32や、ROM34にアクセスして、DMAC40とRAM32や、ROM34との間でデータの受け渡しを行う。CCD制御部42は、CCD33を駆動制御し、CCD33で取り込んだ元画像データをDMAC40に供給する。
画像変換部43は、画像データ転送部45を介して供給される元画像データをYUVデータに変換し、画像補正部44に供給する。画像補正部44は、供給される画像データに対して、エッジ強調や、シェーディング補正などの画像補正を行い、画像転送部45に供給する。画像データ転送部45は、上記画像変換部43、画像補正部44、がRAM32との間で画像データの入出力を行う場合に、DMAC40との間で転送処理を制御する。このとき、画像補正部44による画像補正後の中間データは、後述するリングバッファA、Bに一時的に格納される。
画素数変換部46は、供給される画像データの拡大や、縮小を行う。画像データ転送部47は、上記画素数変換部46がRAM3との間で画像データの入出力を行う場合に、DMAC40との間で転送処理を制御する。このとき、後述するリングバッファA、Bに一時的に格納された、画像補正部44による画像補正後の中間データが画素数変換部46に供給される。キーボード制御部48は、キーボード36の入力(スキャン)を制御する。LCD制御部49は、DMAC40から供給される元画像データや、画像処理が施された画像データなどのLCD35への表示を制御する
図3は、本実施形態によるメモリ利用状況を説明するための概念図である。本実施形態では、処理後の画像データの記憶領域51の未使用領域を、リングバッファAの記憶領域52として、画像処理前の元画像データの記憶領域50の利用可能領域を、リングバッファAの記憶領域52として、画像処理の進捗状況に基づく所定のタイミングで切り替えながら用いることを特徴としている。すなわち、画像処理が進むにつれて、元画像データは使用済みとなるので、元画像データの記憶領域50には、利用可能な記憶領域が発生することになる。また、処理後の画像データの記憶領域51には、画像処理が進むにつれて、処理後の画像データが記憶されていくが、画像処理の初期においては未使用領域がある。そこで、本実施形態では、画像処理が開始されると、まず、処理後の画像データの記憶領域51の未使用領域の一部を、リングバッファAの記憶領域52として用い、その後、所定のタイミングで、元画像データの記憶領域50の一部を、リングバッファBの記憶領域53として用いるように切り替えるようなっている。本実施形態では、元画像データの記憶領域50に作業領域として十分な利用可能な記憶領域が確保できる程度に画像処理が進んだタイミングでリングバッファAからリングバッファBへと切り替える。
なお、本実施形態におけるリングバッファA、Bは、移動しながら作業領域を確保していくバッファであり、巡回的に使用される、いわゆるリングバッファではないが、従来技術において、画像処理途中の中間データを一時的に保持するために用いたリングバッファに相当する作業領域として機能するので、以下の説明においてもリングバッファということにする。但し、本実施形態のリングバッファA、Bは、上述したように、従来のリングバッファのように専用にメモリ上に確保されたものでなく、元画像データの記憶領域50の読み出し済みの画像データが格納されていた領域、あるいは処理後の画像データの記憶領域51の未使用領域を切り替えて用いる点で異なる。
B.実施形態の動作
次に、上述した実施形態の動作について説明する。
図4は、本実施形態による画像データ転送部45の動作を説明するためのフローチャートである。また、図5は、本実施形態の画像データ転送部45によるベルト単位でのRAM32の使用例を示す概念図である。また、図6は、本実施形態による画像データ転送部47の動作を説明するためのフローチャートである。図7(a)〜(d)、及び図8(a)〜(d)は、本実施形態の画像データ転送部47によるベルト単位でのRAM32の使用例を示す概念図である。
なお、以下の説明では、ベイヤデータは、16bit/pix、中間データ、及び画像拡大縮小後の最終データは、YYUVデータの16bit/pixとする。また、入力画像サイズは、320x240、出力画像サイズは、入力画像を4倍した640x480とする。また、中間画像は、320x240のYYUVデータの16bit/pixで、320x60ピクセル分のリングバッファAを確保するものとする。
画像データ転送部45は、リングバッファAの開始アドレスを算出し、リングバッファ変更信号をディセーブル(無効)として出力し、最初はリングバッファAを使用する(ステップS10)。図6(a)に示すように、入力画像の先頭アドレスを0x00000000、出力画像の先頭アドレスを0x00025800とする。また、リングバッファAのサイズは、(320×60×16)/8=38400(16進で0x00009600)バイトになる。リングバッファAの開始アドレスは、出力画像の先頭アドレス+出力画像のデータサイズ−リングバッファのサイズ=0x00025800+0x000BB800−0x00009600=0x000D7A00となる。
次に、画像データ転送部45は、処理内容に応じてベルトのライン数を算出する(ステップS12)。各処理部が処理できるベルトのライン数はMAX32ラインとする。各処理部ともにMAXで使用すると仮定すると、画像データ転送部45が処理するベルトのライン数は、入力側、出力側ともに30ラインとなり、画像データ転送部47が処理するベルトのライン数は、入力側が15ライン、出力側は拡大されて30ラインとなる。
次に、画像データ転送部45は、入力画像の読み込み中にリングバッファを変更してもいいリングバッファ変更アドレスADDRa(=開始アドレス+リングバッファサイズ)を算出する(ステップS14)。この場合、リングバッファ変更アドレスADDRa=入力開始アドレス+リングバッファサイズ=0x00009600となる。次に、画像データ転送部45は、ベルト単位入力開始アドレスADDRbを算出する(ステップS16)。この場合、最初のベルトであるので、ベルト単位入力開始アドレスADDRb=0x00000000になる。
次に、画像データ転送部45は、ADDRa>ADDRbであるか否かを判断する(ステップS18)。ここでは、ADDRa>ADDRbであるので(ステップS18のYES)、画像データ転送部45は、ベルト単位出力開始アドレスを算出し、該ベルト単位出力開始アドレスに従って、ベルト単位でのデータ入出力を行うとともに、出力したライン数の算出する(ステップS24)。具体的には、第1ベルト目の場合、ベルト単位出力開始アドレスは、リングバッファAの開始アドレス「0x000D7A00」となる。画像データ転送部45は、元画像データの30ライン分(図5の0x00000000〜0x00004B00の第1ベルト)を画像変換部43へ供給し、画像補正部44からの出力データ(30ライン分)を、図6(a)に示すように、処理後の画像データの記憶領域51に設定されたリングバッファAの記憶領域52(0x000D7A00〜)に出力する。出力ライン数は30ラインとなる。
次に、画像データ転送部45は、全ての処理が終了したか否かを判断し(ステップS26)、終了していない場合には(ステップS26のNO)、ステップS16に戻り、上述した処理を繰り返し、第2ベルト目に対する処理を行う。第2ベルトの場合には、ステップS16で、ベルト単位入力開始アドレスADDRbに30ライン分加算し、ベルト単位入力開始アドレスADDRb=0x00004B00になる(図6(b)参照、第2ベルト)。この場合、第1ベルトと同様に、ADDRa>ADDRbと判断されるので(ステップS18のYES)、画像データ転送部45は、ステップS24で、ベルト単位出力開始アドレスを算出し(0x000D7A00+30ライン=0x000C500)、該ベルト単位出力開始アドレスに従って、元画像データの30ライン分(0x00004B00〜の第2ベルト)を画像変換部43へ供給し、画像補正部44からの出力データ(30ライン分)を、図6(b)に示すように、処理後の画像データの記憶領域51に設定されたリングバッファAの記憶領域52(0x000C500〜)に出力する。出力ライン数は60ラインとなる。
次に、画像データ転送部45は、再び、ステップS16に戻り、上述した処理を繰り返し、第3ベルト目に対する処理を行う。第3ベルト目の処理では、図6(c)に示すように、ベルト単位入力開始アドレスADDRb=0x00009600になり、ADDRa=ADDRbとなるので(ステップS18のNO)、画像データ転送部45は、リングバッファ変更信号がイネーブルであるか否かを判断する(ステップS20)。この場合、先のステップS10で、リングバッファ変更信号はディセーブル(無効)であるので(ステップS20のNO)、画像データ転送部45は、出力したライン数60を変更ライン数LNcとして出力するとともに、リングバッファ変更信号をイネーブルにして画像データ転送部47に出力し、リングバッファBに変更する(ステップS23)。
次に、画像データ転送部45は、ステップS24で、ベルト単位出力開始アドレスを算出する。ここからは、リングバッファBを用いるので、ベルト単位出力開始アドレス=0x00000000となり、該ベルト単位出力開始アドレスに従って、元画像データの30ライン分(0x00009600〜の第3ベルト)を画像変換部43へ供給し、画像補正部44からの出力データ(30ライン分)を、図6(c)に示すように、元画像データの記憶領域50の空き領域に設定されたリングバッファBの記憶領域53(0x0000000〜)に出力する。出力ライン数は90ラインとなる。
次に、画像データ転送部45は、再び、ステップS16に戻り、上述した処理を繰り返し、第4ベルト目に対する処理を行う。第4ベルト目の処理では、図6(d)に示すように、ベルト単位入力開始アドレスADDRb=0x00012C00になり、ADDRa<ADDRbとなり(ステップS18のNO)、この場合、先のステップS22で、リングバッファ変更信号はイネーブル(有効)であるので(ステップS20のYES)、画像データ転送部45は、ステップS24で、ベルト単位出力開始アドレスを算出する。この場合、リングバッファBを用いるので、ベルト単位出力開始アドレス=0x00004B00となり、該ベルト単位出力開始アドレスに従って、元画像データの30ライン分(0x00012C00〜の第4ベルト)を画像変換部43へ供給し、画像補正部44からの出力データ(30ライン分)を、図6(d)に示すように、元画像データの記憶領域50の空き領域に設定されたリングバッファBの記憶領域53(0x0004B00〜)に出力する。出力ライン数は120ラインとなる。
その後、画像データ転送部45は、元画像データを読出して画像変換部43に供給するとともに、画像補正部44からの処理済みの中間データを、元画像データの記憶領域50の空き領域に設定されたリングバッファBに格納するという処理を最終ベルトまで繰り返す。そして、元画像データの全てに対して処理が終了すると(ステップS26のYES)、当該処理を終了する。
一方、画像データ転送部47は、まず、処理内容によりベルトのライン数を算出する(ステップS30)。本実施形態では、上述したように、画像データ転送部47が処理するベルトのライン数は、入力側が15ライン、出力側は拡大されて30ラインとなる。次に、画像データ転送部47は、リングバッファA、またはBに入力データがあるか否かを判断する(ステップS32)。そして、入力データがない場合には(ステップS32のNO)、ステップS32に戻り、入力データがあるまで待機する。
一方、リングバッファA、またはBに入力データがある場合には(ステップS32のYES)、画像データ転送部47は、リングバッファ変更信号がイネーブルであるか否かを判断する(ステップS34)。例えば、前述した画像データ転送部45の処理においては、第1ベルトから第2ベルトまでは、リングバッファ変更信号はディセーブルである。このように、リングバッファ変更信号がディセーブルである場合には(ステップS34のNO)、画像データ転送部47は、リングバッファAを使用するバッファとして選択する(ステップS40)。次に、画像データ転送部47は、リングバッファAから中間データを入力して画素数変換部46に供給し、画素数変換部46からの画像データを処理後の画像データの記憶領域51に格納し、入力したライン数LNdを算出する(ステップS42)。
具体的には、画像データ転送部47は、図7(a)に示すように、処理後の画像データの記憶領域51に設定された、リングバッファAの記憶領域52(0x000D7A00)から第1ベルトの中間データ(15ライン)を画素数変換部46に供給し、画素数変換部46からの拡大処理されたデータ(30ライン:第1ベルトの前半)を、処理後の画像データの記憶領域51(0x00025800〜)に格納する。このとき、入力ベルトは15ラインなので、入力したライン数LNd=15になる。
次に、画像データ転送部47は、全ての処理が終了したか否かを判断し(ステップS44)、終了していない場合には(ステップS44のNO)、ステップS32に戻り、上述した処理を繰り返す。この場合も、リングバッファ変更信号はディセーブルであるので、画像データ転送部47は、図7(b)に示すように、処理後の画像データの記憶領域51に設定された、リングバッファAの記憶領域52から次の中間データ(15ライン)を画素数変換部46に供給し、画素数変換部46からの拡大処理された画像データ(30ライン:第1ベルトの後半)を、処理後の画像データの記憶領域51(0x0002A300〜)に格納する。このとき、入力ベルトは15ラインなので、入力したライン数LNd=30になる。
以下、同様にして、画像データ転送部47は、図7(c)に示すように、処理後の画像データの記憶領域51に設定された、リングバッファAの記憶領域52から次の中間データ(15ライン:第2ベルトの前半)を画素数変換部46に供給し、画素数変換部46からの拡大処理された画像データ(30ライン:第2ベルトの前半)を、処理後の画像データの記憶領域51(0x0002EE00〜)に格納する。このとき、入力ベルトは15ラインなので、入力したライン数LNd=45になる。
さらに、画像データ転送部47は、図7(d)に示すように、処理後の画像データの記憶領域51に設定された、リングバッファAの記憶領域52から次の中間データ(15ライン:第2ベルトの後半)を画素数変換部46に供給し、画素数変換部46からの拡大処理された画像データ(30ライン:第2ベルトの後半)を、処理後の画像データの記憶領域51(0x0002EE00〜)に格納する。このとき、入力ベルトは15ラインなので、入力したライン数LNd=60になる。
なお、各画像データ転送部45、47は、非同期で動作しているため、上述した処理の間に、リングバッファ変更信号がイネーブルになるが、画像データ転送部45の変更ライン数LNcは60ラインであるため、LNd<LNcとなり、リングバッファの変更は行われない。
そして、図7(d)に示す段階、すなわち、第2ベルトの後半に対する処理が終了した時点で、入力したライン数LNd=60になり、LNd<LNcでなくなるので(ステップS36のNO)、リングバッファBを使用するように切り替える(ステップS38)。リングバッファBの開始アドレスは、入力される元画像の先頭アドレスになるため、0x00000000になる。次に、画像データ転送部47は、リングバッファBから中間データを入力して画素数変換部46に供給し、画素数変換部46からの画像データを処理後の画像データの記憶領域51に格納し、入力したライン数LNdを算出する(ステップS42)。
具体的には、画像データ転送部47は、図8(a)に示すように、元画像データの記憶領域50に設定された、リングバッファBの記憶領域53(0x00000000)から次の中間データ(15ライン:第3ベルトの前半)を画素数変換部46に供給し、画素数変換部46からの拡大処理された画像データ(30ライン:第3ベルトの前半)を、処理後の画像データの記憶領域51に格納する。このとき、入力ベルトは15ラインなので、入力したライン数LNd=75になる。
次に、画像データ転送部47は、この場合も、リングバッファ変更信号はイネーブルであり、LNd>LNcであるので、画像データ転送部47は、図8(b)に示すように、元画像データの記憶領域50に設定された、リングバッファBの記憶領域53から次の中間データ(15ライン:第3ベルトの後半)を画素数変換部46に供給し、画素数変換部46からの拡大処理された画像データ(30ライン:第3ベルトの後半)を、処理後の画像データの記憶領域51に格納する。このとき、入力ベルトは15ラインなので、入力したライン数LNd=90になる。
以下、同様にして、画像データ転送部47は、図8(c)に示すように、元画像データの記憶領域50に設定された、リングバッファBの記憶領域53から次の中間データ(15ライン:第3ベルトの前半)を画素数変換部46に供給し、画素数変換部46からの拡大処理された画像データ(30ライン:第4ベルトの前半)を、処理後の画像データの記憶領域51に格納する。このとき、入力ベルトは15ラインなので、入力したライン数LNd=105になる。
さらに、画像データ転送部47は、図8(d)に示すように、元画像データの記憶領域50に設定された、リングバッファBの記憶領域53から次の中間データ(15ライン:第4ベルトの後半)を画素数変換部46に供給し、画素数変換部46からの拡大処理された画像データ(30ライン:第4ベルトの後半)を、処理後の画像データの記憶領域51に格納する。このとき、入力ベルトは15ラインなので、入力したライン数LNd=120になる。
その後、画像データ転送部47は、元画像データの記憶領域50に設定された、リングバッファBから中間データを読出して画素数変換部46に供給するとともに、画素数変換部46からの画像データを、処理後の画像データの記憶領域51に格納するという処理を最終ベルトまで繰り返す。そして、全てに対して処理が終了すると(ステップS44のYES)、当該処理を終了する。
上述した実施形態によれば、使用する前の元画像データの記憶領域50の読み出し済みの利用可能領域、及び処理済みの画像データの記憶領域51の未使用領域に、RAM32の利用状況に応じてリングバッファに用いる記憶領域を確保するようにしたので、入出力画像データの記憶領域とは別に必要であったリングバッファ専用の記憶領域が不要となり、メモリを有効利用することができる。
また、本実施形態によれば、RAM32の利用状況に基づく所定のタイミングで、処理済みの画像データの記憶領域51の未格納である記憶領域に確保したリングバッファAから、元画像データの記憶領域50の読み出し済みの画像データが格納されていた記憶領域に確保したリングバッファBへと切り替えるようにしたので、画像処理によるメモリ使用に支障をきたすことなく、リングバッファ専用の記憶領域を不要とし、メモリを有効利用することができる。
また、本実施形態によれば、元画像データの記憶領域50における空き領域のサイズが、画像処理で必要とする作業領域のサイズ以上になるまでは、処理後の画像データ51の記憶領域に確保したリングバッファAを作業領域として用い、元画像データの記憶領域50における空き領域のサイズが、画像処理で必要とする作業領域のサイズ以上になった後の所定タイミングで、元画像データの記憶領域50に確保したリングバッファBへと切り替えるようにしたので、画像処理によるメモリ使用に支障をきたすことなく、リングバッファ専用の記憶領域を不要とし、メモリを有効利用することができる。
また、本実施形態によれば、元画像データの記憶領域50における空き領域のサイズが、画像処理で必要とする作業領域のサイズ以上になった後、処理後の画像データ51の記憶領域に確保したリングバッファAのサイズが画像処理で必要とする作業領域のサイズ未満になるまでの間の所定タイミングで、画像処理を行うための作業領域を、元画像データの記憶領域50における空き領域へと切り替えるようにしたので、画像処理によるメモリ使用に支障をきたすことなく、リングバッファ専用の記憶領域を不要とし、メモリを有効利用することができる。
また、本実施形態によれば、元画像データの記憶領域50における空き領域のサイズが、画像処理で必要とする作業領域のサイズ以上になったタイミングで、画像処理を行うための作業領域を、元画像データの記憶領域50における空き領域へと切り替えるようにしたので、画像処理によるメモリ使用に支障をきたすことなく、リングバッファ専用の記憶領域を不要とし、メモリを有効利用することができる。
また、本実施形態によれば、画像変換部43と画像補正部44による画像処理後の中間データを一時的に格納する作業領域として、処理後の画像データの記憶領域51に確保したリングバッファAと元画像データの記憶領域50に確保したリングバッファBとを用いるようにしたので、画像処理によるメモリ使用に支障をきたすことなく、リングバッファ専用の記憶領域を不要とし、メモリを有効利用することができる。
なお、本実施形態において、画像データ転送部45、47の処理内容の違いにより双方に処理速度に違いがあると、画像データ転送部45の処理が待ち合わず、画像データ転送部47に対する中間データの準備が遅れる可能性がある。本実施形態では、リングバッファA、Bの容量を調整することで、画像データ転送部45、47の処理速度の違いを吸収することが可能である。但し、何らかの理由で双方の処理速度の違いを吸収できない場合には、画像データ転送部47による処理(リングバッファA、Bからのデータの読み込み)を待機させる必要が生じる。このような場合には、例えば、画像データ転送部45によるベルト単位での処理が終了する度に(リングバッファA、Bに格納した後)、終了した旨を画像データ転送部47に通知するようにしてもよい。画像データ転送部47は、画像データ転送部45からあるベルトに対する処理が終了した旨の通知を受信すると、処理が終了したベルトに対する処理を実行すればよい。あるいは、画像データ転送部45、47の処理進捗状況を管理する管理手段を別途設け、該管理手段で画像データ転送部45、及び画像転送部47による処理の進捗程度を調整するようにしてもよい。
以上、この発明のいくつかの実施形態について説明したが、この発明は、これらに限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲を含むものである。
以下に、本願出願の特許請求の範囲に記載された発明を付記する。
(付記1)
付記1に記載の発明は、少なくとも、元画像データを記憶する第1の領域と前記元画像に対する画像処理後の画像データを記憶する第2の領域とを有する記憶手段と、所定の画像処理を施す画像処理手段と、前記記憶手段の第1の領域に格納されている元画像データを、所定の分割単位で逐次読み出して前記画像処理手段に供給し、前記画像処理手段によって画像処理された画像データを前記記憶手段の第2の領域に逐次格納する過程で、前記画像処理手段による所定の画像処理のための作業領域を、前記第2の領域内の処理済みの画像データが未格納である領域と前記第1の領域内の読み出し済みの画像データが格納されていた領域とに、前記記憶手段の利用状況に基づいて確保する画像データ転送手段とを備えることを特徴とする画像処理装置である。
(付記2)
付記2に記載の発明は、前記画像データ転送手段は、前記所定の画像処理を行うための作業領域を、前記記憶手段の利用状況に基づく所定のタイミングで、前記第2の領域内の処理済みの画像データが未格納である領域から、前記第1の領域内の読み出し済みの画像データが格納されていた領域へと切り替えることを特徴とする付記1に記載の画像処理装置である。
(付記3)
付記3に記載の発明は、前記画像データ転送手段は、前記第1の領域内の読み出し済みの画像データが格納されていた領域のサイズが前記所定の画像処理で必要とする作業領域のサイズ以上になるまでの間、前記所定の画像処理を行うための作業領域を、前記第2の領域内の処理済みの画像データが未格納である領域に確保し、前記第1の領域内の読み出し済みの画像データが格納されていた領域のサイズが前記所定の画像処理で必要とする作業領域のサイズ以上になった後の所定タイミングで、前記所定の画像処理を行うための作業領域を、前記第1の領域内の読み出し済みの画像データが格納されていた領域へと切り替えることを特徴とする付記2に記載の画像処理装置である。
(付記4)
付記4に記載の発明は、前記画像データ転送手段は、前記第1の領域内の読み出し済みの画像データが格納されていた領域のサイズが前記所定の画像処理で必要とする作業領域のサイズ以上になった後、前記第2の領域内の処理済みの画像データが未格納である領域のサイズが前記所定の画像処理で必要とする作業領域のサイズ未満になるまでの間の所定タイミングで、前記所定の画像処理を行うための作業領域を、前記第1の領域内の読み出し済みの画像データが格納されていた領域へと切り替えることを特徴とする付記3に記載の画像処理装置である。
(付記5)
付記5に記載の発明は、前記画像データ転送手段は、前記第1の領域内の読み出し済みの画像データが格納されていた領域のサイズが前記所定の画像処理で必要とする作業領域のサイズ以上になったタイミングで、前記所定の画像処理を行うための作業領域を、前記第1の領域内の読み出し済みの画像データが格納されていた領域へと切り替えることを特徴とする付記4に記載の画像処理装置である。
(付記6)
付記6に記載の発明は、前記画像処理手段は、前記第1の領域に格納されている元画像データに対して所定の分割単位で第1の画像処理を行う第1の画像処理手段と、この第1の画像処理手段によって前記第1の画像処理が施された後の画像データに対して所定の分割単位で第2の画像処理を行う第2の画像処理手段とを備え、前記作業領域は、前記第1の画像処理手段による第1の画像処理結果を一時的に格納する作業領域であることを特徴とする付記1乃至5のいずれかに記載の画像処理装置である。
(付記7)
付記7に記載の発明は、メモリ内の第1の領域に格納されている元画像データを、所定の分割単位で逐次読み出すステップと、前記所定の分割単位で逐次読み出される元画像データに対して所定の画像処理を施すステップと、前記所定の画像処理のための作業領域を、前記第2の領域内の処理済みの画像データが未格納である領域と前記第1の領域内の読み出し済みの画像データが格納されていた領域とに、前記メモリの利用状況に基づいて確保するステップと、前記所定の画像処理が施された画像データを、前記作業領域を介して前記メモリの第2の領域に逐次格納するステップとを含むことを特徴とする画像処理方法である。
(付記8)
付記8に記載の発明は、コンピュータに、メモリ内の第1の領域に格納されている元画像データを、所定の分割単位で逐次読み出す機能、前記所定の分割単位で逐次読み出される元画像データに対して所定の画像処理を施す機能、前記所定の画像処理のための作業領域を、前記第2の領域内の処理済みの画像データが未格納である領域と前記第1の領域内の読み出し済みの画像データが格納されていた領域とに、前記メモリの利用状況に基づいて確保する機能、前記所定の画像処理が施された画像データを、前記作業領域を介して前記メモリの第2の領域に逐次格納する機能を実行させることを特徴とするプログラムである。
30 CPU
31 ASIC
32 RAM
33 CCD
34 ROM
35 LCD
36 キーボード
37 電源部
40 DMAC
41 メモリ制御部
42 CCD制御部
43 画像変換部
44 画像補正部
45 画像データ転送部
46 画素数変換部
47 画像データ転送部
48 キーボード制御部
49 LCD制御部
50 元画像データの記憶領域
51 処理後の画像データの記憶領域
52 リングバッファAの記憶領域
53 リングバッファBの記憶領域

Claims (8)

  1. 少なくとも、元画像データを記憶する第1の領域と前記元画像に対する画像処理後の画像データを記憶する第2の領域とを有する記憶手段と、
    所定の画像処理を施す画像処理手段と、
    前記記憶手段の第1の領域に格納されている元画像データを、所定の分割単位で逐次読み出して前記画像処理手段に供給し、前記画像処理手段によって画像処理された画像データを前記記憶手段の第2の領域に逐次格納する過程で、前記画像処理手段による所定の画像処理のための作業領域を、前記第2の領域内の処理済みの画像データが未格納である領域と前記第1の領域内の読み出し済みの画像データが格納されていた領域とに、前記記憶手段の利用状況に基づいて確保する画像データ転送手段と
    を備えることを特徴とする画像処理装置。
  2. 前記画像データ転送手段は、
    前記所定の画像処理を行うための作業領域を、前記記憶手段の利用状況に基づく所定のタイミングで、前記第2の領域内の処理済みの画像データが未格納である領域から、前記第1の領域内の読み出し済みの画像データが格納されていた領域へと切り替える
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記画像データ転送手段は、
    前記第1の領域内の読み出し済みの画像データが格納されていた領域のサイズが前記所定の画像処理で必要とする作業領域のサイズ以上になるまでの間、前記所定の画像処理を行うための作業領域を、前記第2の領域内の処理済みの画像データが未格納である領域に確保し、前記第1の領域内の読み出し済みの画像データが格納されていた領域のサイズが前記所定の画像処理で必要とする作業領域のサイズ以上になった後の所定タイミングで、前記所定の画像処理を行うための作業領域を、前記第1の領域内の読み出し済みの画像データが格納されていた領域へと切り替える
    ことを特徴とする請求項2に記載の画像処理装置。
  4. 前記画像データ転送手段は、
    前記第1の領域内の読み出し済みの画像データが格納されていた領域のサイズが前記所定の画像処理で必要とする作業領域のサイズ以上になった後、前記第2の領域内の処理済みの画像データが未格納である領域のサイズが前記所定の画像処理で必要とする作業領域のサイズ未満になるまでの間の所定タイミングで、前記所定の画像処理を行うための作業領域を、前記第1の領域内の読み出し済みの画像データが格納されていた領域へと切り替える
    ことを特徴とする請求項3に記載の画像処理装置。
  5. 前記画像データ転送手段は、
    前記第1の領域内の読み出し済みの画像データが格納されていた領域のサイズが前記所定の画像処理で必要とする作業領域のサイズ以上になったタイミングで、前記所定の画像処理を行うための作業領域を、前記第1の領域内の読み出し済みの画像データが格納されていた領域へと切り替える
    ことを特徴とする請求項4に記載の画像処理装置。
  6. 前記画像処理手段は、
    前記第1の領域に格納されている元画像データに対して所定の分割単位で第1の画像処理を行う第1の画像処理手段と、
    この第1の画像処理手段によって前記第1の画像処理が施された後の画像データに対して所定の分割単位で第2の画像処理を行う第2の画像処理手段と
    を備え、
    前記作業領域は、前記第1の画像処理手段による第1の画像処理結果を一時的に格納する作業領域である
    ことを特徴とする請求項1乃至5のいずれかに記載の画像処理装置。
  7. メモリ内の第1の領域に格納されている元画像データを、所定の分割単位で逐次読み出すステップと、
    前記所定の分割単位で逐次読み出される元画像データに対して所定の画像処理を施すステップと、
    前記所定の画像処理のための作業領域を、前記第2の領域内の処理済みの画像データが未格納である領域と前記第1の領域内の読み出し済みの画像データが格納されていた領域とに、前記メモリの利用状況に基づいて確保するステップと、
    前記所定の画像処理が施された画像データを、前記作業領域を介して前記メモリの第2の領域に逐次格納するステップと
    を含むことを特徴とする画像処理方法。
  8. コンピュータに、
    メモリ内の第1の領域に格納されている元画像データを、所定の分割単位で逐次読み出す機能、
    前記所定の分割単位で逐次読み出される元画像データに対して所定の画像処理を施す機能、
    前記所定の画像処理のための作業領域を、前記第2の領域内の処理済みの画像データが未格納である領域と前記第1の領域内の読み出し済みの画像データが格納されていた領域とに、前記メモリの利用状況に基づいて確保する機能、
    前記所定の画像処理が施された画像データを、前記作業領域を介して前記メモリの第2の領域に逐次格納する機能
    を実行させることを特徴とするプログラム。
JP2012275278A 2012-12-18 2012-12-18 画像処理装置、画像処理方法、及びプログラム Expired - Fee Related JP5843168B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012275278A JP5843168B2 (ja) 2012-12-18 2012-12-18 画像処理装置、画像処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012275278A JP5843168B2 (ja) 2012-12-18 2012-12-18 画像処理装置、画像処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2014120961A true JP2014120961A (ja) 2014-06-30
JP5843168B2 JP5843168B2 (ja) 2016-01-13

Family

ID=51175437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012275278A Expired - Fee Related JP5843168B2 (ja) 2012-12-18 2012-12-18 画像処理装置、画像処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5843168B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019053498A (ja) * 2017-09-14 2019-04-04 カシオ計算機株式会社 メモリ制御装置及びメモリ制御方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319761A (ja) * 1994-05-27 1995-12-08 Fuji Xerox Co Ltd 画像処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319761A (ja) * 1994-05-27 1995-12-08 Fuji Xerox Co Ltd 画像処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019053498A (ja) * 2017-09-14 2019-04-04 カシオ計算機株式会社 メモリ制御装置及びメモリ制御方法
JP7006063B2 (ja) 2017-09-14 2022-01-24 カシオ計算機株式会社 メモリ制御装置及びメモリ制御方法

Also Published As

Publication number Publication date
JP5843168B2 (ja) 2016-01-13

Similar Documents

Publication Publication Date Title
JP6238184B2 (ja) 撮像装置
JP4692621B2 (ja) 情報処理装置、バッファ制御方法およびコンピュータプログラム
JP6530658B2 (ja) 撮像装置およびその制御方法、プログラムならびに記録媒体
KR20100096523A (ko) 영상 데이터 처리 장치 및 방법
JP5152670B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP5154361B2 (ja) 撮像装置及び撮像装置の制御方法
JP6006083B2 (ja) 撮像装置および撮像方法
US8054345B2 (en) Electronic zooming apparatus and digital camera
JP5843168B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP7332376B2 (ja) 撮像装置およびその制御方法ならびにプログラム
JP2010028758A (ja) 画像処理装置及び方法、プログラム、並びに撮像装置
JP5867903B2 (ja) 画像処理装置、画像処理方法、及びプログラム
KR101646673B1 (ko) 화상 처리 장치, 방법, 및 상기 방법을 수행하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 매체
KR102400009B1 (ko) 다중 카메라를 포함하는 모바일 장치
JP2021184576A (ja) 撮像装置および撮像装置の制御方法
JP4987800B2 (ja) 撮像装置
JP4211572B2 (ja) 撮像装置
JP2019022031A (ja) 撮像装置
JP2009210928A (ja) 画像表示装置
JP5605761B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2005020521A (ja) 撮像装置及びこの撮像装置を備える携帯型電話機
JP5665309B2 (ja) 撮像装置
JP2009278199A (ja) 撮像装置
JP2008035161A (ja) 撮像装置
JP2008131472A (ja) 転送装置、転送制御プログラム及び撮像装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150929

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151105

R150 Certificate of patent or registration of utility model

Ref document number: 5843168

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees