JP3742066B2 - Camera image processing device - Google Patents

Camera image processing device Download PDF

Info

Publication number
JP3742066B2
JP3742066B2 JP2003100234A JP2003100234A JP3742066B2 JP 3742066 B2 JP3742066 B2 JP 3742066B2 JP 2003100234 A JP2003100234 A JP 2003100234A JP 2003100234 A JP2003100234 A JP 2003100234A JP 3742066 B2 JP3742066 B2 JP 3742066B2
Authority
JP
Japan
Prior art keywords
memory
camera
read
block
write
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.)
Expired - Fee Related
Application number
JP2003100234A
Other languages
Japanese (ja)
Other versions
JP2004312148A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003100234A priority Critical patent/JP3742066B2/en
Publication of JP2004312148A publication Critical patent/JP2004312148A/en
Application granted granted Critical
Publication of JP3742066B2 publication Critical patent/JP3742066B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、カメラ画像処理装置において、同装置内のカメラ用メモリのサイズを削減しつつ、効率良くデータ転送を行うための技術に関している。例えば、本発明は、カメラ内蔵の携帯電話に適用可能な技術を提供する。
【0002】
【従来の技術】
カメラ撮像画像を入力して、同画像をCPUで出力する等、入力と出力とでフレームレートが異なるカメラ画像処理装置においては、従来、入力データの取り込みのために、1フレーム又は2フレームのフレームメモリが必要とされている(例えば、特許文献1や特許文献2を参照)。
【0003】
【特許文献1】
特許第3347064号公報
【特許文献2】
特開平8−163493号公報
【0004】
【発明が解決しようとする課題】
従来の画像処理装置においては、カメラ用メモリとして、1フレーム又は2フレーム分の容量のメモリが必要となり、当該メモリをLSIに搭載する場合に、大きな領域を確保しなければならないと言う問題点がある。
【0005】
又、従来の画像処理装置内にCODECエンジンを搭載して、取込んだカメラ撮像画像に対してJPEG等の画像圧縮を行うとする場合には、CODECエンジン専用のメモリが新たに必要になると言う問題点が発生し得る。
【0006】
更に、CPUによる直接転送あるいはDMA転送によって、カメラ用メモリからデータを読み出す場合には、カメラ用メモリに接続されたメモリコントロールにおいて、メモリに対するアービトレーション処理が行われる。ここで、「アービトレーション処理」とは、メモリアクセス要求に対して優先順位を儲けて、優先順位の高い要求から順次にメモリアクセスしていく処理であり、当然の事ながら、優先順位の低い要求は待たされることとなる。このため、通常、DMAでアクセスすれば、最速で2クロックで1アクセス可能であるが、2クロック以上数クロック分の遅延が発生してしまい、効率的なデータ転送を行うことが出来ないと言う問題点もある。
【0007】
この発明は、上述の様な課題の解消を意図したものであり、LSIに搭載されるカメラ用メモリ及びCODEC用メモリの削減化を図りつつ、データの読み出しにおいて効率的なデータ転送を行うことが出来るカメラ画像処理装置を提供することを、目的としている。換言すれば、本発明の目的とは、少ないメモリ容量で、効率良くカメラ撮像画像の転送及び画像圧縮を行い得る技術を提案することにある。
【0008】
【課題を解決するための手段】
例えば、上記特許文献1(特許第3347064号)においては、入力と出力とで、フレームレートが異なる場合には、メモリの書き込み/読み出し時に、追い越し状態が発生するために、2フレーム分のメモリが必要である旨が提案されている。しかしながら、入力側と出力側とで、レート制限を設けることで、上記追い越し状態の発生を回避することは可能であり、この場合、2フレーム分のメモリを設ける必要性は無い。
【0009】
斯かる着眼点から、本発明の主題は、以下に記載する解決手段の採用を提案する。
【0010】
即ち、この発明に係るカメラ画像処理装置は、1フレーム分のカメラ撮像画像を取込むためのインターフェース回路と、併せて1フレーム以下の記憶容量を成す複数の記憶領域を有するカメラ用メモリと、前記カメラ用メモリへのデータ書込み及び前記カメラ用メモリからのデータ読出しを、それぞれ書込み要求及び読出し要求に応じて、アービトレーション処理を行いつつ制御するメモリコントロール回路と、 前記インターフェース回路より取込まれた前記カメラ撮像画像を複数のブロックに分割し、各ブロック毎に、順次に、当該ブロック内に含まれる全画素の画像データを前記書込み要求と共に前記メモリコントロール回路に転送するブロックデータ転送・書込み制御部とを備えており、前記メモリコントロール回路は、前記書込み要求の受信に応じて、前記カメラ用メモリにおける前記複数の記憶領域の内で、現在読み出し動作中で無い一つの書込み対象記憶領域に、転送されて来る1ブロック内画像データの各々を順次に書込む動作を実行し、前記カメラ撮像画像を表示装置に表示するために前記カメラ撮像画像を一旦留めておくための表示用メモリと、前記書込み対象記憶領域における前記書込み動作の完了タイミングに応じて、前記書込み対象記憶領域から前記1ブロック内画像データの各々を順次に読み出す旨を指令する前記読出し要求を、前記メモリコントロール回路に転送すると共に、前記書込み対象記憶領域から読み出される前記1ブロック内画像データの各々を順次に前記表示用メモリへ転送することで、前記1ブロック内画像データの全てを前記表示用メモリに書き込むブロックデータ読出し・転送制御部とを更に備えており、 前記メモリコントロール回路は、前記読出し要求に応じて前記メモリコントロール回路が前記書込み対象記憶領域からの前記データ読出し動作を開始するタイミングに応じて、当該ブロックに続く直ぐ次のブロックに属する全画素データを、順次に、前記複数の記憶領域の内で、当該ブロックに属する前記全画素データが既に書込まれている前記書込み対象記憶領域以外の、一つの記憶領域に書き込むことを特徴とする。
【0011】
以下、本発明の主題を、その実施の形態を示す図面に基づいて。具体的に記載する。
【0012】
【発明の実施の形態】
(実施の形態1)
図1は、本実施の形態に係るカメラ画像処理装置を示すブロック図であり、本装置の中核部分は、カメラ撮像画像を表示用メモリにまで転送する回路部分である。同図において、カメラモジュール1(CCDカメラ等の撮像装置)は、被写体を撮影することにより得られた1フレーム分の撮像画像を出力する。これに対して、インターフェース回路(I/F回路と称す)2は、カメラモジュール1から出力されて来るラスターデータ形式のカメラ撮像画像を、転送回路内に取り込む。
【0013】
ライトアドレス発生回路3は、I/F回路2より受け取ったカメラ撮像画像(各撮像画素毎のデータ)をカメラ用メモリ5内に書き込むためのライトアドレス(ここでは、1ブロック内の最大画素数を任意値nとすると、一方のブロックに対しては、0,1,2,…,n−1のライトアドレス値を発生し、次のブロックに対しては、n,n+1,n+2,…,2n−1のライトアドレス値を発生する。)を逐次生成して、当該ライトアドレス信号(書込み要求信号)を、ブロック分割されたカメラ撮像画像の該当画素データと共に、メモリコントロール回路6に接続されたアービトレーション用バスに出力する。
【0014】
又、ブロック転送制御回路4は、ライトアドレス発生回路3及び割込み信号発生回路15に接続されている出力端を有しており、「ライトアドレス発生回路3が受信する1フレーム分のカメラ撮像画像を複数のブロック(少なくとも2個のブロック)に分割して、各ブロック毎に、当該ブロック内に属する全画素の画像データの各々を、当該画像データに対するライトアドレス信号と共に、メモリコントロール回路6側へ転送する動作」を、ライトアドレス発生回路3に行なわせるための制御を担う回路部である。
【0015】
例えば、1ブロック内の最大画素数を任意値nとすると、ブロック転送制御回路4は、ライトアドレス発生回路3が受信するラスターデータ形式の各画素データの数を検出し、その値が、「受信画像データがn番目の画素に対応するものである」ことを示すときには、その検出タイミングで、制御信号(例えば、図3に示すFLAG信号)を、ライトアドレス発生回路3及び割込み信号発生回路15に出力する。
【0016】
本例においては、ライトアドレス発生回路3は、このタイミングでFLAG信号を受信しても、ライトアドレスの値を‘n−1’から‘0’にリセットすることなく、次のブロックに属するn個の画素データ用に、‘n’から‘2n−1’まで順にインクリメントすることで、n個のライトアドレスの値を生成・出力する。そして、再び、ブロック転送制御回路4がFLAG信号を発したときに、ライトアドレス発生回路3は、当該FLAG信号受信タイミングに応じて、直ちに、そのときのライトアドレス値‘2n−1’を‘0’にリセットして、その次に受信する画像データのライトアドレス値を‘0’に設定した上で、当該受信画像データを、その次のブロックに属する最初の画像データとして、ライトアドレス値‘0’と共に、メモリコントロール回路6側へ転送する。そして、この様な動作が、両回路部3,4において、続行される。
【0017】
そこで、本実施の形態においては、両回路3,4から成る部分を、「ブロックデータ転送・書込み制御部」と総称する。
【0018】
メモリコントロール回路6は、ブロック分割されたカメラ撮像画像の、カメラ用メモリ5への書込み要求(ライトアドレス信号)、及び、同メモリ5からの読出し要求(リードアドレス信号)に対する調停(アービトレーション処理)を行なう制御回路部である。
【0019】
ここで、カメラ用メモリ5は、1フレーム(1画面)以下分の画像データを総記憶容量として記憶し得る記憶領域(サイズ)を有するストレージデバイスであり、複数の記憶領域より成る。例えば、上記のブロック転送制御におけるブロック数mが最小値の2であるときには、カメラ用メモリ5の総記憶容量は最大値の1フレーム(1画面)分となる。
【0020】
他方、リードアドレス発生回路7は、後述するCPU9又はDMAC10からの転送タイミング信号(例えば図3のFLAG INT信号)の受信タイミングに応じて、それ以降、CPU9又はDMAC10からの読出しアクセス要求毎に、カメラ用メモリ5内の各記憶領域の内で該当する記憶領域から、1ブロック画像データ(即ち、読出し対象の記憶領域内に既に書込まれている1ブロック内に属する全画像データの各々)を順次に読み出すためのリードアドレス(0,1,2,…,n−1)を生成し、各リードアドレス信号を、読出し要求(信号)として、メモリコントロール回路6へ出力する回路部である。
【0021】
尚、DMA転送を行う際に後述する先行読出しを本回路7が実行するときのケースについては、後程、詳述する。
【0022】
又、割込み信号発生回路15は、ブロック転送制御回路4が発するFLAG信号(図3参照)(1ブロック内に属する最後の画素データの転送・対応記憶領域内への書込み完了タイミング)の受信に応じて、直ちに割込み信号を生成し、CPU9又はDMAC10に出力する。
【0023】
これに対して、CPU9は、複数のメモリ5,11,13における、データの読出し及び書込みの制御管理を、CPUバスを通じて行なう部分である。例えば、CPU9は、カメラ側メモリ5の該当記憶領域からの上記画像データの読出し・転送の開始を指令する際には、転送タイミング信号(例えば、図3のFLAGINT信号)を上記割込み信号の受信に応じて直ちに生成し、当該転送タイミング信号を、CPUバスを介して、リードアドレス発生回路7へと転送する。その上で、CPU9は、リードアドレス発生回路7に対して、読出しアクセス要求を発する。又、CPU9は、表示用メモリ11へのデータ書込みをも制御する。
【0024】
又、DMAコントローラ(以後、DMACと称す)10は、カメラ用メモリ5の該当記憶領域から読み出す画像データのDMA転送を行う際の制御を担う中核部分であり、その動作は、例えばCPU9によって起動される、あるいは、別の専用ハードウエアによって起動される。そして、DMAC10は、上記割込み信号の受信タイミングに応じて、転送タイミング信号(例えば、図3のFLAG INT信号)を生成し、当該転送タイミング信号を、CPUバスを介して、リードアドレス発生回路7に転送する。その上で、DMAC10は、リードアドレス発生回路7に対して、読出しアクセス要求を発する。
【0025】
又、メモリ先読み制御回路8は、カメラ用メモリ5に記憶されている1ブロック画像データのDMA転送を行う場合に、DMAC10からの読出しアクセス要求の受信に先だって、カメラ用メモリ5の該当記憶領域から、上記1ブロック画像データ中の数画素分だけの画像データを予め先読みするための動作制御を担う回路部である。
【0026】
従って、本実施の形態においては、CPUバスを介して繋がり合った上記両回路部7,9又は10から成る部分を、あるいは、回路部分10,7,8から成る部分を、「ブロックデータ読出し・転送制御部」と総称する。
【0027】
又、既述した表示用メモリ11は、表示装置としての一例である液晶表示装置(以後、LCDと称す)12にカメラ撮像画像を表示するために、一旦、1フレーム分の当該撮像画像を溜めて置くための、ストレージデバイスである。
【0028】
更に、保存用メモリ13は、CODECエンジン14によって圧縮された各1フレーム分のカメラ撮像画像を保存するためのストレージデバイスである。
【0029】
ここでは、CODECエンジン14は、一旦CPU9側のメモリ11に取り込まれたカメラ撮像画像データに対して、カメラ用メモリ5を圧縮処理用の専用メモリとして利用することで、画像圧縮処理(例えば、JPEGやMPEG)を行う。
【0030】
以上の構成を有する本転送回路は、I/F回路2より取込んだ1フレーム分のカメラ撮像画像(ラスターデータ形式)を表示用メモリ11へと転送するに当り、ブロック転送制御回路4による制御の下で、カメラ撮像画像のブロック転送を実行する。
【0031】
カメラモジュール1で撮像された1画面分のカメラ撮像画像は、ブロック転送制御回路4による制御の下で行われる、ライトアドレス発生回路3内のアドレス値発生動作によって、任意数m(m≧2)のブロックに分割されて、転送される。その際、m個のブロックの内で、少なくとも2ブロック分の画像データを格納し得る記憶領域を、カメラ用メモリ5に用意しておけば良い。この場合、1画面分のブロック分割に関しては、1ブロックのサイズ、即ち、1ブロック内に含まれる画素数nを、どの様なサイズに設定しても良く(従って、nは任意数)、動作上、都合の良い数に、1画面分のカメラ撮像画像をブロック分割すれば良い。特に、カメラ用メモリ5の各記憶領域の記憶容量を極力少なくしたいときには、カメラ撮像画像の入力レートとCPU9又はDMAC10による1ブロック画像データの読み出しレートとが互いに一致する限りにおいて、1画面分のカメラ撮像画像を1ライン単位でブロック分割することも可能である。この場合、カメラ用メモリ5の各記憶領域は、ラインメモリに相当することになる。
【0032】
ここで、図2は、上記ブロック転送方法のイメージを模式的に示す図である。以下、図1及び図2を用いて、ブロック転送方法の動作シーケンス、及び、CPU9による直接的な画像データの読出し・転送動作シーケンスを記載する。
【0033】
先ず、図2に示す様に、1画面のカメラ撮像画像を、各1ブロック内に属する画素データがn個である、m個のブロックに分割するものとする。そのために、カメラ用メモリ5内の記憶領域は、共にn個の画素に対応する画像データ全てを書込み得るだけの容量を有する、2つの記憶領域A,Bより成るものとする。この場合、1番目からm番目迄の各ブロック1,2,3,…,m内に交互に付された符号A又はBは、当該符号に該当するカメラ用メモリ5内の記憶領域A又はBに、当該ブロックi(1≦i≦m)内に属する全画像データを、1番目の画素の画像データからn番目の画素の画像データ迄、順次に転送・格納することを、意味している。尚、再度断っておくが、各領域A,Bの容量は任意値である。
【0034】
ステップ1:
第1番目のブロック1に属するn個の全画像データの各々を、順次に、カメラ用メモリ5内の第1記憶領域Aに転送して書き込む(図2の▲1▼)。
【0035】
このブロック分割・転送処理は、既述した通り、ブロック転送制御回路4によるライトアドレス値発生の制御により実行される。即ち、ブロック転送制御回路4は、ライトアドレス発生回路3において順次に受信するラスターデータを、即ち、1フレーム内の各走査ライン上に順番に位置する各画素の画像データの受信を検出し続け、検出結果が1ブロック内画素数nに達したのを検出した時点で、第1番目のブロック内に属する全画像データの転送が終了したことを指令するパルス信号を、例えば図3のFLAG信号を、ライトアドレス発生回路3及び割込み信号発生回路15に出力する。
【0036】
これにより、第1番目のブロック1に属するn個の全画像データの各々が、その順序で、対応するライトアドレス値0,1,2,…,n−1と共に、メモリコントロール回路6へ転送される。その結果、同回路6は、順次に受信する、第1番目のブロック1に属するn個の全画像データの各々を、ライトアドレス値0,1,2,…,n−1の対応アドレスへの書込み要求に応じて、カメラ用メモリ5の第1記憶領域Aの上記対応アドレスへ、順次に書込む。
【0037】
ステップ2:
第1記憶領域A内の第n番目のアドレスに当該ブロック1内の最後の画像データ(●)を書き込んだ時点(A領域読出しタイミングt1)で、CPU9は、FLAG信号及び割込み信号に基づき生成した読出し・転送開始信号FLAG INTをリードアドレス回路7へ出力する。そして、CPU9からの読出しアクセス要求に応じて、リードアドレス回路7は、読出し要求としてのリードアドレス信号を、そのインクリメント処理によって生成・出力し、この各リードアドレス信号の読出し要求に応じて、メモリコントロール回路6は、カメラ用メモリ5のA領域から、ブロック1内の各画像データを順次に読み出して、リードアドレス回路7側へ転送し、CPU9は、ブロック1内の各画像データを表示用メモリ11へ転送する(図2の▲2▼)。
【0038】
この時、次のブロック2における1ブロック画像データのカメラ用メモリ5への書込みは、連続的に、他方の、空き領域たるB領域に対して行われる。
【0039】
ステップ3:
CPU9は、A領域内の1ブロック画像データの全てを表示用メモリ11に取り込み終えた段階で、その転送動作を終了する(図2の▲2▼終了)。
【0040】
この時点では、メモリコントロール回路6は、ブロック2における1ブロック画像データの、第2記憶領域Bへの書込み動作を、続行している(図2の▲3▼)。
【0041】
ステップ4:
メモリコントロール回路6が、第2記憶領域B内の第n番目のアドレスに、ブロック2における最後の画像(●)を書き込んだ時点(B領域読出しタイミングt2)で(図2の▲3▼終了)、CPU9は、A領域からのデータ読出し・転送動作と同様に、B領域内のブロック2における各1ブロック画像データの読出し・表示用メモリ11への転送動作を、開始する(図2の▲4▼)。
【0042】
この時、既述した通り、ライトアドレス発生回路3は、FLAG信号の指令に応じて、ライトアドレス値を‘0’にリセットして、次のブロック3に属するn個の画素データの各々に対応するライトアドレス信号(その値はそれぞれ0,1,2,3…,n−1)を、各画像データと共に、メモリコントロール回路6側へ転送する。その結果、メモリコントロール回路6は、最初に戻って、カメラ用メモリ5の第1記憶領域A内に、ブロック3に属するn個の画素データの各々を書き込む(図2の▲1▼)。
【0043】
ステップ5:
カメラ撮像画像1画面分の内で、第(m−1)番目のブロックに属する最後の画素における画像データがカメラ用メモリ5の一方の記憶領域内から読み出されて転送された後、最後のブロックmに属する最後の画素における画像データがカメラ用メモリ5の他方の記憶領域内に書込まれる迄、上記の一連の動作が実行される。そして、最後のブロックmに属する最後の画素における画像データがカメラ用メモリ5の他方の記憶領域内に書込まれると、直ちに、CPU9は、最後のブロックmに属する1ブロック画像データの各々の読出し・転送動作へと移行する。
【0044】
尚、カメラ画像の最終画素は領域A又はBに格納された最後の画素に一致するとは限らないため、カメラ撮像画像の最終画素のカメラ用メモリ5への書込み終了タイミングで、CPU9は、最後のデータ読出し・転送動作を開始する。
【0045】
具体的には、ブロック転送制御回路4において、最終画素の画像データが格納対象の記憶領域A,Bに転送されて格納されるタイミングを検出し、そのタイミングにおいてトグル信号(図3のFLAG信号である)を発生させ、FLAG信号の立上りエッジ・立下りエッジのタイミングで、CPU9による転送タイミングを図る。
【0046】
参考例として、FLAG信号及びCPU9又はDMAの転送タイミングを、図3のタイミングチャートに示す。同図においては、FLAG信号のレベルが‘H’の時にA領域へのデータ書込み及びB領域からのデータ読出しを行い、FLAG信号のレベルが‘L’の時にA領域からのデータ読出し及びB領域へのデータ書込みを行う。但し、1フレームの最初のブロックに属する画素データは、A領域にのみ書込まれ、1フレームの最後のブロックに属する画素データは、ブロック数mが奇数のときにはA領域から読み出され、逆に、ブロック数mが偶数のときにはB領域から読み出される。
【0047】
ここで、カメラ用メモリ5からの画像データの読出し・転送に関して、CPU9が直接読み出すこととせずに、DMAコントローラ10がその様な読出しをDMA転送によって行なうこととしても良い。この場合には、DMAC10は、CPU9が発するランダムな読出しアクセス要求とは異なり、読出し対象のアドレス値が‘0’から順番に規定された読出しアクセス要求を発するので、この点を利用して、以下に述べる、アービトレーション処理に起因した遅延時間発生の問題点を克服可能な変形例を実現することが出来る。この改良点について、図1を参照しつつ、以下に記載する。
【0048】
通常、CPU9からの直接の読出しアクセス要求、あるいは、DMAC10からの読出しアクセス要求があった場合には、メモリコントロール回路6におけるアービトレーション処理により、数クロック分の遅延が発生し、その結果、CPU9又はDMAC10が待たされることになり、効率的な転送が行えないと言う事態が生じ得る。現に、CPU9による直接の読出しアクセス要求の場合には、読出しアクセス要求がアットランダムであるため、CPU9からリードアドレス発生回路7に対して読出しアクセス要求が送信されて来ても、別途設けたウエイト時間発生回路(図示せず)によって、数クロック分の時間だけ、CPU9が次の読出しアクセス要求を発するのを待たせている。
【0049】
しかしながら、DMA転送の場合においては、DMAC10から発せられる読出しアクセス要求がそれぞれ規定するアドレスは順番の揃ったものであるので、リードアドレス発生回路7は、上記読出しアクセス要求の受信毎に、 ‘0’から順に‘1’ずつインクリメントしていくことでリードアドレス値を生成することが出来る。
【0050】
そこで、今回のブロック転送によって1ブロック画像データが格納されているカメラ用メモリ5の対象記憶領域から、DMA転送によって各画像データを読み出す場合においては、読み出す際のアドレス値は、‘0’,‘1’,‘2’,…と順番に連続して変化する信号なので、DMAC10からの上記読出しアクセス要求を待つ前に、リードアドレス発生回路7側でリードアドレス信号(先読み用リードアドレス)を‘0’から順に数画素分だけ自動発生させることで、アービトレーション処理による遅延時間分に相当する画素数(数画素分)を、予めカメラ用メモリ5の対象記憶領域から先読みしておく。そして、先読み用リードアドレスに応じてメモリコントロール回路6が先行して読み出した遅延時間分に相当する画素数分の画像データを、リードアドレス発生回路7は、DMAC10からの上記読出しアクセス要求を受信するまでの期間中、一時的に、その内部の記憶部(例えばレジスタ:図示せず)に保有しておく。そして、DMAC10からの読出しアクセス要求があったタイミングに応じて、リードアドレス発生回路7は、先読みしておいた数画素分の画像データを、遅延無く、CPUバス側へ転送する。この様な改良により、効率的にデータの転送を行うことが出来る。
【0051】
例えば、アービトレーション処理により、読み出しアクセス要求後、3クロック分の時間経過後に、カメラ用メモリ5から画像データを出力することが出来る場合には、リードアドレス発生回路7は、3画素分のデータを先読みしておく。
【0052】
尚、画像データの先読みタイミングに関しては、図3におけるFLAG INT信号が発生した時点で先読みを開始し、必要画素数の先読みが完了した時点で、DMAC10の起動を掛ける様にすれば良い。
【0053】
この様な先読み制御を担う回路がメモリ先読み制御回路8であり、同回路8が生成・出力する「カメラ用メモリ5の書込み対象記憶領域から数画素分の画像データを予め読み出すための先読み用リードアドレスを生成する様に指令する」先読み制御信号に応じて、リードアドレス発生回路7は、上記の先読み用リードアドレスを自動的に発生させる。
【0054】
次に、表示用メモリ11に格納されている画像データに対してCODECエンジン14によって画像圧縮した上で、圧縮後の画像データを保存用メモリ13に転送する場合を、考える。この場合、本装置の操作者は、表示用メモリ11に格納されている画像データをプレビュー表示した後に、当該画像データを保存することになるから、CODECエンジン14が動作している期間中、カメラ撮像画像をプレビュー表示する必要性が無い。このため、プレビュー表示のために、一旦、表示用メモリ11内にカメラ撮像画像を転送した後は、カメラ用メモリ5内の画像データは必要でなくなる。
【0055】
そこで、カメラ用メモリ5をCODECエンジン14用の専用メモリとして利用することにより、CODEC用専用メモリを別途設けることがなくなり、本装置内のメモリ数を削減することが出来る。
【0056】
そのため、図1の本装置においては、CODECエンジン14は、アービトレーション用バスを介して、カメラ用メモリ5との間で、信号の授受を行うことが出来る様に、カメラ用メモリ5とも接続されている。
【0057】
ここで、ブロック分割の大きさに応じて、カメラ用メモリ5のサイズを任意に設定することが出来るけれども、カメラ用メモリ5のサイズを、CODECエンジン14が必要とするメモリサイズ(当然ながら1フレーム分の容量は必要ではない)に設定しても良い。そうすれば、効率の良いメモリサイズを実現することが出来る。
【0058】
<本実施の形態の利点>
利点を列挙的に整理すれば、次の通りである。
【0059】
(1) カメラ撮像画像を複数のブロックに分割して転送するので、カメラ画像用メモリ5の記憶容量を1フレーム以下に削減することが可能である。
【0060】
(2) カメラ用メモリ5へのデータ読み出し要求が掛かる前に、予め当該メモリ5から画像データの先読みを行うことにしているので、後程、上記の読み出し要求があった場合に、即座に、撮像画像データの受け渡しを行うことが出来、カメラ用メモリ5から表示用メモリ11への効率的なデータ転送が実現し得る。
【0061】
(3) カメラ用メモリ5をCODECエンジン14の専用メモリとして流用しているので、CODECエンジン14の専用メモリを削減することが出来る。
【0062】
(付記)
以上、本発明の実施の形態を詳細に開示し記述したが、以上の記述は本発明の適用可能な局面を例示したものであって、本発明はこれに限定されるものではない。即ち、記述した局面に対する様々な修正や変形例を、この発明の範囲から逸脱することの無い範囲内で考えることが可能である。
【0063】
例えば、ブロック転送制御回路4によって分割される各ブロック内に含まれる画素数nは、各ブロック毎に、任意の値であっても良い。
【0064】
又、表示装置としては、LCDに代わるその他のフラットディスプレイ、例えば有機ELディスプレイであっても良い。
【0065】
又、本装置は、携帯電話の他に、PDA(personal digital assistant)に適用可能である。
【0066】
又、ライトアドレス発生回路は、FLAG信号の受信毎に、現在のライトアドレス値‘nー1’を‘0’にリセットする動作を行っても良い。
【0067】
【発明の効果】
この発明の主題によれば、カメラ撮像画像を複数のブロックに分割してカメラ用メモリへ転送するので、カメラ用メモリの容量を1フレーム以下に削減することが出来ると言う効果を奏する。
【図面の簡単な説明】
【図1】 この発明の実施の形態1に係るカメラ画像処理装置を示すブロック図である。
【図2】 実施の形態1に係るカメラ画像処理装置の動作を示すイメージ図である。
【図3】 実施の形態1に係るカメラ画像処理装置におけるブロック転送動作を示すタイミングチャートである。
【符号の説明】
1 カメラモジュール、2 インターフェース回路、3 ライトアドレス発生回路、4 ブロック転送制御回路、5 カメラ用メモリ、6 メモリコントロール回路、7 リードアドレス発生回路、8 メモリ先読み制御回路、9 CPU、10 DMAC、11 表示用メモリ、12 表示用LCD、13 保存用メモリ。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for efficiently transferring data in a camera image processing apparatus while reducing the size of a camera memory in the apparatus. For example, the present invention provides a technique applicable to a mobile phone with a built-in camera.
[0002]
[Prior art]
In a camera image processing apparatus in which a frame rate differs between input and output, such as inputting a camera-captured image and outputting the same image by a CPU, conventionally, one frame or two frames are used for capturing input data. A memory is required (see, for example, Patent Document 1 and Patent Document 2).
[0003]
[Patent Document 1]
Japanese Patent No. 3347064
[Patent Document 2]
JP-A-8-163493
[0004]
[Problems to be solved by the invention]
In the conventional image processing apparatus, a memory having a capacity of one frame or two frames is required as a camera memory, and when the memory is mounted on an LSI, a large area must be secured. is there.
[0005]
In addition, when a CODEC engine is installed in a conventional image processing apparatus and image compression such as JPEG is performed on a captured camera image, a memory dedicated to the CODEC engine is newly required. Problems can arise.
[0006]
Further, when data is read from the camera memory by direct transfer or DMA transfer by the CPU, arbitration processing is performed on the memory in the memory control connected to the camera memory. Here, the “arbitration process” is a process in which priority is given to a memory access request, and memory access is sequentially performed from a request with a high priority. As a matter of course, a request with a low priority is You will have to wait. For this reason, normally, when accessing by DMA, one access is possible at the maximum speed of 2 clocks, but a delay of 2 clocks or more and several clocks occurs, and it is said that efficient data transfer cannot be performed. There are also problems.
[0007]
The present invention is intended to solve the above-described problems, and enables efficient data transfer in data reading while reducing the camera memory and CODEC memory mounted on the LSI. An object of the present invention is to provide a camera image processing device that can be used. In other words, an object of the present invention is to propose a technique that can efficiently transfer and compress a camera-captured image with a small memory capacity.
[0008]
[Means for Solving the Problems]
For example, in Patent Document 1 (Japanese Patent No. 3347064), when the frame rate differs between input and output, an overtaking state occurs at the time of writing / reading the memory, so that the memory for two frames is stored. It has been proposed that it is necessary. However, it is possible to avoid the occurrence of the overtaking state by providing rate limiting on the input side and the output side. In this case, there is no need to provide a memory for two frames.
[0009]
From this point of view, the subject of the present invention proposes the adoption of the solution described below.
[0010]
That is, the camera image processing apparatus according to the present invention includes an interface circuit for capturing a camera-captured image for one frame, a camera memory having a plurality of storage areas having a storage capacity of one frame or less, A memory control circuit that controls data writing to the camera memory and data reading from the camera memory in accordance with a write request and a read request while performing an arbitration process; and the camera incorporated from the interface circuit A block data transfer / write control unit that divides a captured image into a plurality of blocks and sequentially transfers image data of all pixels included in the block to the memory control circuit together with the write request for each block. And the memory control circuit includes the write request. In response to receipt of the request, each of the image data in one block transferred is sequentially written to one write target storage area that is not currently being read out of the plurality of storage areas in the camera memory. In accordance with the display memory for temporarily holding the camera-captured image to display the camera-captured image on a display device, and the completion timing of the write operation in the write-target storage area, The read request instructing to sequentially read each of the image data in one block from the write target storage area is transferred to the memory control circuit, and the one block image data read from the write target storage area Are sequentially transferred to the display memory, so that all of the image data in one block is displayed. A block data read / transfer control unit for writing to the memory, wherein the memory control circuit responds to the read request at a timing when the memory control circuit starts the data read operation from the write target storage area. Accordingly, all the pixel data belonging to the next block following the block is sequentially written in the plurality of storage areas in which the all pixel data belonging to the block is already written. It is characterized by writing in one storage area other than the above.
[0011]
The subject matter of the present invention will be described below with reference to the drawings showing embodiments thereof. Describe specifically.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
(Embodiment 1)
FIG. 1 is a block diagram showing a camera image processing apparatus according to the present embodiment. The core part of the apparatus is a circuit part that transfers a camera captured image to a display memory. In the figure, a camera module 1 (an imaging device such as a CCD camera) outputs a captured image for one frame obtained by photographing a subject. On the other hand, the interface circuit (referred to as an I / F circuit) 2 captures the captured image of the raster data format output from the camera module 1 in the transfer circuit.
[0013]
The write address generation circuit 3 writes a camera captured image (data for each imaging pixel) received from the I / F circuit 2 in the camera memory 5 (here, the maximum number of pixels in one block). Assuming an arbitrary value n, write address values 0, 1, 2,..., N−1 are generated for one block, and n, n + 1, n + 2,. 1 is generated sequentially, and the write address signal (write request signal) is connected to the memory control circuit 6 together with the corresponding pixel data of the camera-captured image divided into blocks. Output to the bus.
[0014]
The block transfer control circuit 4 has an output terminal connected to the write address generation circuit 3 and the interrupt signal generation circuit 15. Divided into a plurality of blocks (at least two blocks), and for each block, the image data of all pixels belonging to the block are transferred to the memory control circuit 6 side together with the write address signal for the image data. This is a circuit section that performs control for causing the write address generation circuit 3 to perform “operation to perform”.
[0015]
For example, assuming that the maximum number of pixels in one block is an arbitrary value n, the block transfer control circuit 4 detects the number of pixel data in the raster data format received by the write address generation circuit 3 and the value is “reception”. When it indicates that the image data corresponds to the nth pixel, the control signal (for example, the FLAG signal shown in FIG. 3) is sent to the write address generation circuit 3 and the interrupt signal generation circuit 15 at the detection timing. Output.
[0016]
In this example, even if the write address generation circuit 3 receives the FLAG signal at this timing, the write address generation circuit 3 does not reset the value of the write address from “n−1” to “0”, and the n addresses belonging to the next block By sequentially incrementing from “n” to “2n−1”, n write address values are generated and output. When the block transfer control circuit 4 issues a FLAG signal again, the write address generation circuit 3 immediately changes the write address value “2n−1” at that time to “0” according to the FLAG signal reception timing. After resetting to “0” and setting the write address value of the next received image data to “0”, the received image data is set as the first image data belonging to the next block, and the write address value “0” Then, the data is transferred to the memory control circuit 6 side. Such an operation is continued in both circuit portions 3 and 4.
[0017]
Therefore, in the present embodiment, the part composed of both circuits 3 and 4 is generically referred to as a “block data transfer / write control unit”.
[0018]
The memory control circuit 6 performs arbitration (arbitration processing) for a write request (write address signal) to the camera memory 5 and a read request (read address signal) from the memory 5 for the camera-divided camera image divided into blocks. This is a control circuit unit to be performed.
[0019]
Here, the camera memory 5 is a storage device having a storage area (size) in which image data for one frame (one screen) or less can be stored as a total storage capacity, and includes a plurality of storage areas. For example, when the number of blocks m in the above-described block transfer control is the minimum value 2, the total storage capacity of the camera memory 5 is one frame (one screen) of the maximum value.
[0020]
On the other hand, the read address generation circuit 7 performs a camera for each read access request from the CPU 9 or the DMAC 10 in accordance with the reception timing of a transfer timing signal (for example, the FLAG INT signal in FIG. 3) from the CPU 9 or the DMAC 10 to be described later. 1 block image data (that is, each of all image data belonging to one block already written in the storage area to be read) from the corresponding storage area in the storage memory 5 sequentially. Is a circuit unit that generates read addresses (0, 1, 2,..., N−1) for reading data, and outputs each read address signal to the memory control circuit 6 as a read request (signal).
[0021]
Note that the case where the circuit 7 executes the pre-reading described later when performing DMA transfer will be described in detail later.
[0022]
Further, the interrupt signal generation circuit 15 responds to reception of the FLAG signal (see FIG. 3) generated by the block transfer control circuit 4 (transfer of the last pixel data belonging to one block / writing completion timing in the corresponding storage area). An interrupt signal is immediately generated and output to the CPU 9 or the DMAC 10.
[0023]
On the other hand, the CPU 9 is a part that performs control management of data reading and writing in the plurality of memories 5, 11, and 13 through the CPU bus. For example, when the CPU 9 instructs reading of the image data from the corresponding storage area of the camera-side memory 5 and start of transfer, the CPU 9 receives a transfer timing signal (for example, the FLAGINT signal in FIG. 3) to receive the interrupt signal. In response to this, the transfer timing signal is immediately generated and transferred to the read address generation circuit 7 via the CPU bus. After that, the CPU 9 issues a read access request to the read address generation circuit 7. The CPU 9 also controls data writing to the display memory 11.
[0024]
The DMA controller (hereinafter referred to as DMAC) 10 is a core part that performs control when performing DMA transfer of image data read from the corresponding storage area of the camera memory 5, and its operation is started by the CPU 9, for example. Or is started by another dedicated hardware. Then, the DMAC 10 generates a transfer timing signal (for example, the FLAG INT signal in FIG. 3) according to the reception timing of the interrupt signal, and sends the transfer timing signal to the read address generation circuit 7 via the CPU bus. Forward. Then, the DMAC 10 issues a read access request to the read address generation circuit 7.
[0025]
Further, the memory prefetch control circuit 8 performs the DMA transfer of one block image data stored in the camera memory 5 from the corresponding storage area of the camera memory 5 prior to receiving the read access request from the DMAC 10. The circuit unit is responsible for operation control for prefetching image data corresponding to several pixels in the one-block image data.
[0026]
Therefore, in the present embodiment, the part composed of the circuit parts 7, 9 or 10 connected via the CPU bus, or the part composed of the circuit parts 10, 7, 8 is designated as “block data read / read Collectively referred to as “transfer control unit”.
[0027]
The display memory 11 described above temporarily stores the captured image for one frame in order to display a camera captured image on a liquid crystal display device (hereinafter referred to as LCD) 12 which is an example of a display device. A storage device for storage.
[0028]
Further, the storage memory 13 is a storage device for storing the camera-captured image for each frame compressed by the CODEC engine 14.
[0029]
Here, the CODEC engine 14 uses the camera memory 5 as a dedicated memory for compression processing with respect to the camera captured image data once captured in the memory 11 on the CPU 9 side, thereby performing image compression processing (for example, JPEG And MPEG).
[0030]
The transfer circuit having the above-described configuration is controlled by the block transfer control circuit 4 when transferring the camera-captured image (raster data format) for one frame captured from the I / F circuit 2 to the display memory 11. The block transfer of the camera captured image is executed.
[0031]
A camera-captured image for one screen imaged by the camera module 1 is an arbitrary number m (m ≧ 2) by an address value generating operation in the write address generating circuit 3 performed under the control of the block transfer control circuit 4. It is divided into blocks and transferred. At this time, a storage area capable of storing image data for at least two blocks out of m blocks may be prepared in the camera memory 5. In this case, regarding the block division for one screen, the size of one block, that is, the number of pixels n included in one block may be set to any size (therefore, n is an arbitrary number). In addition, the camera-captured image for one screen may be divided into blocks in a convenient number. In particular, when it is desired to reduce the storage capacity of each storage area of the camera memory 5 as much as possible, as long as the input rate of the image captured by the camera and the readout rate of one block image data by the CPU 9 or DMAC 10 match each other, It is also possible to divide the captured image into blocks in units of one line. In this case, each storage area of the camera memory 5 corresponds to a line memory.
[0032]
Here, FIG. 2 is a diagram schematically showing an image of the block transfer method. Hereinafter, an operation sequence of the block transfer method and a direct image data read / transfer operation sequence by the CPU 9 will be described with reference to FIGS. 1 and 2.
[0033]
First, as shown in FIG. 2, it is assumed that a camera-captured image of one screen is divided into m blocks each having n pixel data belonging to each block. For this purpose, the storage area in the camera memory 5 is composed of two storage areas A and B each having a capacity sufficient to write all image data corresponding to n pixels. In this case, a code A or B alternately assigned to each of the first to mth blocks 1, 2, 3,..., M is a storage area A or B in the camera memory 5 corresponding to the code. Furthermore, all the image data belonging to the block i (1 ≦ i ≦ m) is sequentially transferred / stored from the image data of the first pixel to the image data of the nth pixel. . In addition, although it refuses again, the capacity | capacitance of each area | region A and B is an arbitrary value.
[0034]
Step 1:
Each of all the n pieces of image data belonging to the first block 1 is sequentially transferred and written to the first storage area A in the camera memory 5 ((1) in FIG. 2).
[0035]
This block division / transfer process is executed by the control of the write address value generation by the block transfer control circuit 4 as described above. That is, the block transfer control circuit 4 continues to detect the raster data sequentially received by the write address generation circuit 3, that is, the reception of the image data of each pixel positioned sequentially on each scanning line in one frame, When it is detected that the detection result has reached the number n of pixels in one block, a pulse signal for instructing that transfer of all image data belonging to the first block is completed, for example, the FLAG signal in FIG. To the write address generation circuit 3 and the interrupt signal generation circuit 15.
[0036]
As a result, all the n pieces of image data belonging to the first block 1 are transferred to the memory control circuit 6 together with the corresponding write address values 0, 1, 2,..., N−1 in that order. The As a result, the circuit 6 sequentially receives each of all n pieces of image data belonging to the first block 1 to the corresponding addresses of the write address values 0, 1, 2,..., N−1. In response to the write request, data is sequentially written to the corresponding address in the first storage area A of the camera memory 5.
[0037]
Step 2:
At the time when the last image data (●) in the block 1 is written to the nth address in the first storage area A (A area read timing t1), the CPU 9 generates based on the FLAG signal and the interrupt signal. Read / transfer start signal FLAG INT is output to read address circuit 7. Then, in response to the read access request from the CPU 9, the read address circuit 7 generates and outputs a read address signal as a read request by the increment processing, and in response to the read request of each read address signal, the memory control The circuit 6 sequentially reads out each image data in the block 1 from the area A of the camera memory 5 and transfers it to the read address circuit 7 side, and the CPU 9 transfers each image data in the block 1 to the display memory 11. ((2) in FIG. 2).
[0038]
At this time, the writing of 1-block image data in the next block 2 to the camera memory 5 is continuously performed on the other B area which is an empty area.
[0039]
Step 3:
The CPU 9 ends the transfer operation at the stage where all the 1-block image data in the area A has been taken into the display memory 11 (end (2) in FIG. 2).
[0040]
At this time, the memory control circuit 6 continues the operation of writing one block image data in the block 2 to the second storage area B ((3) in FIG. 2).
[0041]
Step 4:
When the memory control circuit 6 writes the last image (●) in the block 2 to the nth address in the second storage area B (B area read timing t2) (end of (3) in FIG. 2) The CPU 9 starts the transfer operation of each block image data in the block 2 in the B area to the read / display memory 11 in the same manner as the data read / transfer operation from the A area ((4) in FIG. 2). ▼).
[0042]
At this time, as described above, the write address generation circuit 3 resets the write address value to “0” in response to the command of the FLAG signal and corresponds to each of the n pixel data belonging to the next block 3. The write address signal (the values are 0, 1, 2, 3,..., N−1) are transferred to the memory control circuit 6 side together with each image data. As a result, the memory control circuit 6 returns to the beginning and writes each of the n pieces of pixel data belonging to the block 3 in the first storage area A of the camera memory 5 ((1) in FIG. 2).
[0043]
Step 5:
The image data of the last pixel belonging to the (m−1) th block within one screen of the camera-captured image is read from one storage area of the camera memory 5 and transferred. The series of operations described above is executed until the image data at the last pixel belonging to the block m is written into the other storage area of the camera memory 5. As soon as the image data at the last pixel belonging to the last block m is written into the other storage area of the camera memory 5, the CPU 9 reads each block image data belonging to the last block m.・ Transition to transfer operation.
[0044]
Since the last pixel of the camera image does not necessarily match the last pixel stored in the area A or B, the CPU 9 performs the final writing at the timing when the last pixel of the camera captured image is written to the camera memory 5. Start data read / transfer operation.
[0045]
Specifically, the block transfer control circuit 4 detects the timing at which the image data of the final pixel is transferred to the storage areas A and B to be stored, and the toggle signal (the FLAG signal in FIG. And the transfer timing by the CPU 9 is achieved at the timing of the rising edge / falling edge of the FLAG signal.
[0046]
As a reference example, the FLAG signal and the transfer timing of the CPU 9 or DMA are shown in the timing chart of FIG. In the figure, when the level of the FLAG signal is 'H', data is written to the A region and data is read from the B region. When the level of the FLAG signal is 'L', the data is read from the A region and the B region. Write data to. However, the pixel data belonging to the first block of one frame is written only in the A area, and the pixel data belonging to the last block of one frame is read from the A area when the block number m is an odd number. When the block number m is an even number, data is read from the B area.
[0047]
Here, regarding the reading / transfer of the image data from the camera memory 5, the CPU 9 may not read directly but the DMA controller 10 may perform such reading by DMA transfer. In this case, unlike the random read access request issued by the CPU 9, the DMAC 10 issues a read access request in which the address value to be read is defined in order from '0'. As described above, it is possible to realize a modification that can overcome the problem of delay time generation caused by arbitration processing. This improvement will be described below with reference to FIG.
[0048]
Normally, when there is a direct read access request from the CPU 9 or a read access request from the DMAC 10, a delay of several clocks occurs due to the arbitration process in the memory control circuit 6, and as a result, the CPU 9 or the DMAC 10 May cause a situation in which efficient transfer cannot be performed. Actually, in the case of a direct read access request by the CPU 9, since the read access request is at random, even if a read access request is transmitted from the CPU 9 to the read address generation circuit 7, a separate waiting time is provided. A generation circuit (not shown) waits for the CPU 9 to issue the next read access request for a period of several clocks.
[0049]
However, in the case of DMA transfer, the addresses defined by the read access requests issued from the DMAC 10 are in order, so that the read address generation circuit 7 receives “0” every time the read access request is received. The read address value can be generated by incrementing by “1” in order.
[0050]
Therefore, when reading each image data by DMA transfer from the target storage area of the camera memory 5 in which one block image data is stored by the current block transfer, the address value at the time of reading is “0”, “ .., “0”, and so on, before waiting for the read access request from the DMAC 10, the read address signal (pre-read read address) is set to “0”. The number of pixels corresponding to the delay time due to the arbitration process (several pixels) is pre-read from the target storage area of the camera memory 5 in advance by automatically generating several pixels in order from '. Then, the read address generation circuit 7 receives the read access request from the DMAC 10 for image data corresponding to the number of pixels corresponding to the delay time read in advance by the memory control circuit 6 according to the read ahead read address. During this period, the data is temporarily stored in the internal storage unit (for example, a register: not shown). Then, according to the timing when the read access request is made from the DMAC 10, the read address generation circuit 7 transfers the pre-read image data for several pixels to the CPU bus side without delay. With such an improvement, data can be transferred efficiently.
[0051]
For example, if the image data can be output from the camera memory 5 after the time of 3 clocks after the read access request by the arbitration process, the read address generation circuit 7 prefetches the data for 3 pixels. Keep it.
[0052]
Regarding the prefetch timing of the image data, the prefetching may be started when the FLAG INT signal in FIG. 3 is generated, and the DMAC 10 is activated when the prefetching of the required number of pixels is completed.
[0053]
A circuit responsible for such pre-reading control is the memory pre-reading control circuit 8, which is generated and outputted by the “read-ahead read for reading out several pixels of image data in advance from the write target storage area of the camera memory 5. The read address generation circuit 7 automatically generates the read address for prefetching in response to the prefetch control signal for instructing to generate an address.
[0054]
Next, consider a case where the image data stored in the display memory 11 is compressed by the CODEC engine 14 and the compressed image data is transferred to the storage memory 13. In this case, since the operator of the apparatus saves the image data after previewing the image data stored in the display memory 11, the camera is operated during the period when the CODEC engine 14 is operating. There is no need to preview the captured image. For this reason, once the camera-captured image is transferred to the display memory 11 for preview display, the image data in the camera memory 5 is not necessary.
[0055]
Therefore, by using the camera memory 5 as a dedicated memory for the CODEC engine 14, a dedicated CODEC memory is not provided, and the number of memories in the apparatus can be reduced.
[0056]
Therefore, in the present apparatus shown in FIG. 1, the CODEC engine 14 is also connected to the camera memory 5 so that signals can be exchanged with the camera memory 5 via the arbitration bus. Yes.
[0057]
Here, although the size of the camera memory 5 can be arbitrarily set according to the size of the block division, the size of the camera memory 5 is set to the memory size required for the CODEC engine 14 (of course, one frame). The capacity of minutes is not necessary). Then, an efficient memory size can be realized.
[0058]
<Advantages of this embodiment>
The advantages can be summarized as follows.
[0059]
(1) Since the camera-captured image is divided into a plurality of blocks and transferred, the storage capacity of the camera image memory 5 can be reduced to one frame or less.
[0060]
(2) Since the image data is pre-read from the memory 5 in advance before the data read request to the camera memory 5 is made, the image is immediately captured when the read request is made later. Image data can be transferred, and efficient data transfer from the camera memory 5 to the display memory 11 can be realized.
[0061]
(3) Since the camera memory 5 is used as a dedicated memory for the CODEC engine 14, the dedicated memory for the CODEC engine 14 can be reduced.
[0062]
(Appendix)
While the embodiments of the present invention have been disclosed and described in detail above, the above description exemplifies aspects to which the present invention can be applied, and the present invention is not limited thereto. In other words, various modifications and variations to the described aspects can be considered without departing from the scope of the present invention.
[0063]
For example, the number n of pixels included in each block divided by the block transfer control circuit 4 may be an arbitrary value for each block.
[0064]
The display device may be another flat display instead of the LCD, such as an organic EL display.
[0065]
Moreover, this apparatus is applicable to PDA (personal digital assistant) other than a mobile phone.
[0066]
The write address generation circuit may perform an operation of resetting the current write address value “n−1” to “0” every time the FLAG signal is received.
[0067]
【The invention's effect】
According to the subject of the present invention, since the camera-captured image is divided into a plurality of blocks and transferred to the camera memory, there is an effect that the capacity of the camera memory can be reduced to one frame or less.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a camera image processing apparatus according to Embodiment 1 of the present invention.
FIG. 2 is an image diagram showing an operation of the camera image processing apparatus according to the first embodiment.
FIG. 3 is a timing chart showing a block transfer operation in the camera image processing apparatus according to the first embodiment.
[Explanation of symbols]
1 camera module, 2 interface circuit, 3 write address generation circuit, 4 block transfer control circuit, 5 camera memory, 6 memory control circuit, 7 read address generation circuit, 8 memory prefetch control circuit, 9 CPU, 10 DMAC, 11 display Memory, 12 display LCD, 13 storage memory.

Claims (3)

1フレーム分のカメラ撮像画像を取込むためのインターフェース回路と、
併せて1フレーム以下の記憶容量を成す複数の記憶領域を有するカメラ用メモリと、
前記カメラ用メモリへのデータ書込み及び前記カメラ用メモリからのデータ読出しを、それぞれ書込み要求及び読出し要求に応じて、アービトレーション処理を行いつつ制御するメモリコントロール回路と、
前記インターフェース回路より取込まれた前記カメラ撮像画像を複数のブロックに分割し、各ブロック毎に、順次に、当該ブロック内に含まれる全画素の画像データを前記書込み要求と共に前記メモリコントロール回路に転送するブロックデータ転送・書込み制御部とを備えており、
前記メモリコントロール回路は、前記書込み要求の受信に応じて、前記カメラ用メモリにおける前記複数の記憶領域の内で、現在読み出し動作中で無い一つの書込み対象記憶領域に、転送されて来る1ブロック内画像データの各々を順次に書込む動作を実行し、
前記カメラ撮像画像を表示装置に表示するために前記カメラ撮像画像を一旦留めておくための表示用メモリと、
前記書込み対象記憶領域における前記書込み動作の完了タイミングに応じて、前記書込み対象記憶領域から前記1ブロック内画像データの各々を順次に読み出す旨を指令する前記読出し要求を、前記メモリコントロール回路に転送すると共に、前記書込み対象記憶領域から読み出される前記1ブロック内画像データの各々を順次に前記表示用メモリへ転送することで、前記1ブロック内画像データの全てを前記表示用メモリに書き込むブロックデータ読出し・転送制御部とを更に備えており、
前記メモリコントロール回路は、前記読出し要求に応じて前記メモリコントロール回路が前記書込み対象記憶領域からの前記データ読出し動作を開始するタイミングに応じて、当該ブロックに続く直ぐ次のブロックに属する全画素データを、順次に、前記複数の記憶領域の内で、当該ブロックに属する前記全画素データが既に書込まれている前記書込み対象記憶領域以外の、一つの記憶領域に書き込むことを特徴とする、
カメラ画像処理装置。
An interface circuit for capturing an image captured by the camera for one frame;
A camera memory having a plurality of storage areas that together have a storage capacity of one frame or less;
A memory control circuit that controls data writing to the camera memory and data reading from the camera memory while performing arbitration processing in response to a write request and a read request, respectively;
The camera-captured image captured from the interface circuit is divided into a plurality of blocks, and image data of all pixels included in the block are sequentially transferred to the memory control circuit together with the write request for each block. Block data transfer / write control unit
In response to receipt of the write request, the memory control circuit is transferred to one write target storage area that is not currently being read out of the plurality of storage areas in the camera memory. Execute the operation to write each image data sequentially,
A display memory for temporarily holding the camera-captured image in order to display the camera-captured image on a display device;
The read request for instructing to sequentially read the image data in one block from the write target storage area is transferred to the memory control circuit according to the completion timing of the write operation in the write target storage area. At the same time, by sequentially transferring each of the image data in one block read from the write target storage area to the display memory, block data reading / writing to write all of the image data in one block to the display memory is performed. A transfer control unit,
The memory control circuit receives all pixel data belonging to the next block immediately following the block in accordance with the timing at which the memory control circuit starts the data read operation from the write target storage area in response to the read request. In this case, the plurality of storage areas are sequentially written in one storage area other than the write target storage area in which all the pixel data belonging to the block is already written.
Camera image processing device.
請求項1記載のカメラ画像処理装置であって、
前記ブロックデータ読出し・転送制御部は、
前記書込み対象記憶領域における前記書込み動作の完了タイミングに応じてDMA転送を制御するDMAコントローラと、
前記カメラ用メモリの前記書込み対象記憶領域から数画素分の画像データを予め読み出すための先読み用リードアドレスを生成する様に指令する先読み制御信号を、前記DMAコントローラが前記書込み動作の完了タイミングに応じて発する転送タイミング信号の受信に応じて、前記リードアドレス発生回路に出力するメモリ先読み制御回路と、
前記先読み制御信号の受信に応じて、前記先読み用リードアドレスを生成して前記先読み用リードアドレスを前記読出し要求として前記メモリコントロール回路へ出力すると共に、前記先読み用リードアドレスに基づき前記メモリコントロール回路が前記書込み対象記憶領域から先行して読み出した前記数画素分の画像データを、前記DMAコントローラからの読出しアクセス要求を受信する迄の間、保有しておき、前記読出しアクセス要求があり次第、予め保有している前記数画素分の画像データを前記DMAコントローラ側へ転送するリードアドレス発生回路とを備えることを特徴とする、
カメラ画像処理装置。
The camera image processing apparatus according to claim 1,
The block data read / transfer controller is
A DMA controller that controls DMA transfer according to the completion timing of the write operation in the write target storage area;
In response to the completion timing of the write operation, the DMA controller sends a pre-read control signal instructing to generate a pre-read read address for pre-reading image data for several pixels from the write target storage area of the camera memory. A memory prefetch control circuit that outputs to the read address generation circuit in response to reception of a transfer timing signal generated by
In response to receiving the prefetch control signal, the prefetch read address is generated and the prefetch read address is output to the memory control circuit as the read request, and the memory control circuit is configured based on the prefetch read address. The image data for the several pixels read in advance from the write target storage area is held until a read access request is received from the DMA controller, and held in advance as soon as the read access request is received. A read address generation circuit that transfers the image data for the several pixels to the DMA controller side.
Camera image processing device.
請求項1又は2に記載のカメラ画像処理装置であって、
前記カメラ用メモリを専用メモリとして流用しつつ、前記表示用メモリ内に取込まれた前記画像データに対して画像圧縮を行うCODECエンジンを更に備えることを特徴とする、
カメラ画像処理装置。
The camera image processing device according to claim 1 or 2,
Further comprising a CODEC engine that compresses the image data captured in the display memory while diverting the camera memory as a dedicated memory.
Camera image processing device.
JP2003100234A 2003-04-03 2003-04-03 Camera image processing device Expired - Fee Related JP3742066B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003100234A JP3742066B2 (en) 2003-04-03 2003-04-03 Camera image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003100234A JP3742066B2 (en) 2003-04-03 2003-04-03 Camera image processing device

Publications (2)

Publication Number Publication Date
JP2004312148A JP2004312148A (en) 2004-11-04
JP3742066B2 true JP3742066B2 (en) 2006-02-01

Family

ID=33464428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003100234A Expired - Fee Related JP3742066B2 (en) 2003-04-03 2003-04-03 Camera image processing device

Country Status (1)

Country Link
JP (1) JP3742066B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008078809A (en) * 2006-09-19 2008-04-03 Denso Corp Image processor for vehicle

Also Published As

Publication number Publication date
JP2004312148A (en) 2004-11-04

Similar Documents

Publication Publication Date Title
US9082205B2 (en) Image processing apparatus for processing image data to produce compressed image data and display data
US7170553B2 (en) Image processing apparatus, image processing method and portable imaging apparatus
US20060133695A1 (en) Display controller, electronic instrument, and image data supply method
US11758284B2 (en) Image processors and image processing methods
US8081228B2 (en) Apparatus and method for processing image data
EP1892664B1 (en) Image processing device and method
US11237991B2 (en) Image processing accelerator
US20070065022A1 (en) Image signal processing apparatus and method
JP2001238190A (en) Image processing apparatus and its control processing method
CN100551008C (en) Carry out the apparatus and method of Video processing
JP2006203437A (en) Camera and its image processing method
JP2003032539A (en) Camera mount device
US8436915B2 (en) Image processing apparatus
JP3742066B2 (en) Camera image processing device
US20060236000A1 (en) Method and system of split-streaming direct memory access
US10719458B2 (en) Data transfer device, image processing device, and imaging device
JP2003046939A (en) Electronic camera and control ic for electronic camera
JP2000125168A (en) Digital camera
JP4439746B2 (en) Information processing device
JP2002262175A (en) Digital camera
JP5224492B2 (en) Image data transfer control device, image data transfer method, and camera having the image data transfer device
JP2005141637A (en) Memory management device
JP2017220180A (en) Image processing system, image processing device, and image processing method
JP2004094498A (en) Image display system, and display
JP3494436B2 (en) Image processing device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051031

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051109

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20081118

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20091118

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091118

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101118

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees