JP2004007511A - Apparatus and method for processing image - Google Patents

Apparatus and method for processing image Download PDF

Info

Publication number
JP2004007511A
JP2004007511A JP2003085177A JP2003085177A JP2004007511A JP 2004007511 A JP2004007511 A JP 2004007511A JP 2003085177 A JP2003085177 A JP 2003085177A JP 2003085177 A JP2003085177 A JP 2003085177A JP 2004007511 A JP2004007511 A JP 2004007511A
Authority
JP
Japan
Prior art keywords
pixel
storage unit
temporary storage
pixels
image
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
JP2003085177A
Other languages
Japanese (ja)
Other versions
JP4155856B2 (en
JP2004007511A5 (en
Inventor
Yoshimasa Okabe
岡部 吉正
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003085177A priority Critical patent/JP4155856B2/en
Publication of JP2004007511A publication Critical patent/JP2004007511A/en
Publication of JP2004007511A5 publication Critical patent/JP2004007511A5/ja
Application granted granted Critical
Publication of JP4155856B2 publication Critical patent/JP4155856B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storing Facsimile Image Data (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To prevent processing losses from being generated when a line update and an image update are made in image processing. <P>SOLUTION: An image processor is provided with an arithmetic circuit 20 which processes mutually-adjoining pixels composed of M pixels arranged in a horizontal direction and N pixels arranged in a vertical direction, and forms an output pixel. A first temporary storage portion 21 readably stores pixels from the Mth pixel up to the last pixel of each horizontal pixel array of an image. A second temporary storage portion 22 readably stores pixels from the head pixel up to (M-1)th pixel of each horizontal pixel array of the image. A third temporary storage portion 23 delays the pixels stored in the first portion 21, has pixels input from the second portion 22, and simultaneously outputs mutually-adjoining pixels composed of M pixels arranged in the horizontal direction and N pixels arranged in the vertical direction to the arithmetic circuit 20. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置及び画像処理方法に関する。特に、本発明はデジタルカメラやデジタルビデオのような携帯機器に適した画像処理装置及び画像処理方法に関する。
【0002】
【従来の技術】
デジタルカメラやデジタルビデオのような撮影装置では、撮像素子の出力信号をA/D変換して得られた生データ(RGBデータ)は、まずメモリに格納される。メモリに格納された生データは、画像処理回路によりYCデータに変換される。画像処理回路は、メモリから読み出した生データを書き込むための一時記憶回路と、一時記憶回路から読み出した複数画素の生データを使用して演算処理を行う演算回路とを備えている。図38は、変換処理のためにメモリから読み出した生データを一時記憶回路に書き込む順序の一例を示している。詳細には、1つの画像300内で水平方向画素列(ライン)毎に生データが順次読み出される。変換処理には、水平方向及び/又は垂直方向に隣接する複数の画素が必要となる。従って、図38に示す書き込み順序を採用する場合、一時記憶回路として、画像300の1ラインに含まれる画素を記憶可能な大容量のラインメモリが必要となり、画像処理回路は大規模になる。
【0003】
特許文献1には、図39に示すように画像300を複数のブロック(画像ブロック301)に分割し、画像ブロック301毎にメモリから生データを読み出して処理することが記載されている。この図39に示す読み出し方法を採用すれば、ラインメモリは画像ブロック301の1ラインに含まれる画素を記憶可能な記憶容量を有していればよい。このラインメモリの記憶容量低減により、画像処理回路の規模を縮小することができる。
【0004】
【特許文献1】
特開2000−354193号公報(図3)
【0005】
【発明が解決しようとする課題】
しかし、図39に示すように1つの画像300を画像ブロック301に分割すると、ライン更新の頻度が増加する。また、1つの画像300を画像ブロック301に分割すると、画像ブロック301の更新が必要となる。例えば、画像300の垂直方向の画素数が1218個であり、かつ画像300に含まれる画像ブロック301の総数が476個であるとすると、図38に示す処理におけるライン更新回数は1217回であるのに対し、図39に示す処理におけるライン更新回数は、1個の画像ブロック301のライン更新回数(65回)と画像ブロック301の総数(475個)の積である30875回に達する。
【0006】
個々の画像ブロック301における生データの読み出しを、図39に示すように単にライン毎に行うと、ライン更新時及び画像ブロック更新時にメモリから一時記憶回路に読み出された生データに変換処理が不可能な組合せが生じる。一時記憶回路に記憶された生データが変換処理不可能な組合せである間、演算回路は有効な出力画素を生成することができず、単に一時記憶回路を構成するラインメモリやレジスタの値がシフトされる。
【0007】
水平方向に3個、垂直方向に3個の画素を使用して変換処理を実行する場合を例とすると、ライン更新時には、少なくとも図40に示すように新しいラインの先頭から3個目の画素302を一時記憶回路に書き込むまで、変換処理を行うことができない。また、画像ブロック301の更新時には、少なくとも図41に示すように第3番目のラインの先頭から3個目の画素302を書き込むまで、変換処理を行うことができない。前述のように画像300を画像ブロック301に分割した場合、多数のライン更新及び画像ブロック更新が行われる。従って、このライン更新及び画像ブロック更新時の処理の時間的ロスは無視できない程度であり、処理速度を低下させ、消費電力を増大させる。
【0008】
そこで、本発明は、ライン更新時及び画像更新時の処理ロスをなくし、それによって処理速度の向上と消費電力の低減を図ることを課題としている。
【0009】
【課題を解決するための手段】
本発明の第1の態様は、画像を記憶する画像記憶部と、前記画像に含まれる水平方向にM個で垂直方向にN個の互いに隣接する画素を演算処理して出力画素を生成し、Mは2以上の整数で、Nは1以上の整数である演算部と、前記画像の各水平方向画素列の第M番目の画素から最後尾の画素までを、読み出し可能に記憶する第1の一時記憶部と、前記画像の各水平方向画素列の先頭の画素から第M−1番目の画素までを、読み出し可能に記憶する第2の一時記憶部と、前記第1の一時記憶部に記憶された画素を遅延させると共に、前記第2の一時記憶部から画素が入力され、前記水平方向にM個で垂直方向にN個の互いに隣接する画素を前記演算部に同時に出力する第3の一時記憶部とを備える、画像処理装置を提供する。
【0010】
前記画像は、1フレーム分の画像と、1フレーム分の画像を分割した画像ブロックの両方を含む。
【0011】
画像処理装置は、1つの水平方向画素列の最後尾の出力画素の生成に使用される画素が前記第3の一時記憶部に記憶される前に、次の水平方向画素列の先頭の画素から第M−1番目の画素までを前記画像記憶部から読み出して前記第2の一時記憶部に書き込み、かつ前記1つの水平方向画素列に対応する最後尾の出力画素の生成に使用される画素が前記第3の一時記憶部から前記演算部に出力されると、前記次のラインの先頭の画素から第M−1番目の画素を前記第2の一時記憶部から読み出して前記第3の一時記憶部に書き込む、制御部をさらに備える。
【0012】
ライン更新時、すなわち1つの水平方向画素列に対応する最後尾の出力画素が生成された後、次の水平方向画素列に対応する最初の出力画素を演算部が生成する時には、第3の一時記憶部に次の水平方向画素列の先頭の画素から第M番目の画素までがすでに記憶されている必要がある。本発明の第1の態様では、ライン更新前に、次の水平方向画素列の先頭の画素から第M−1番目の画素はライン更新前に第2の一時記憶手段に記憶され、かつ第2の一時記憶手段から第3の一時記憶手段に転送される。従って、ライン更新時であっても、第3の一時記憶手段は演算部に対して出力画素の生成に必要な有効な画素の組を出力することができる。換言すれば、ライン更新時の処理のロスを解消することができる。
【0013】
また、前記Nは2以上の整数であり、前記制御部は、前記画像の第1番目から第N番目の水平方向画素列に属する画素に対して、垂直方向に並ぶN個の画素を前記画像記憶部から順次読み出して前記第1の一時記憶部又は前記第2の一時記憶部に書き込む操作を、読み出し位置を水平方向に移動しつつ繰り返すことが好ましい。
【0014】
画像更新時、すなわち1つの画像中の最後の水平方向画素列に対応する最後尾の出力画素が生成された後、次の画像中の最初の水平方向画素列に対応する出力画素が生成される時には、第3の一時記憶手段に次の画像の第1番目から第N番目の水平画素列に属する画素が記憶されている必要がある。画像の第1番目から第N番目の水平方向画素列を、前述のように読み出して第2及び第3の一時記憶部に書き込むことにより、画像更新時であっても、第3の一時記憶手段は演算部に対して出力画素の生成に必要な有効な画素の組を出力することができる。換言すれば、画像更新時の処理のロスを解消することができる。
【0015】
さらに、前記演算部は単位時間毎に1個の出力画素を生成し、前記第1の一時記憶部はN個のRAMを備え、前記制御部は、書き込み中である前記RAMの前回の書き込みアドレスが前回の読み出しアドレスの直前であれば、前記単位時間内に1個の画素を、前記画像記憶部から読み出して前記RAM又は前記第2の一時記憶部に書き込み、書き込み中である前記RAMの前回の書き込みアドレスが前回の読み出しアドレスの直前より1つ以上前であれば、前記単位時間内に2個の画素を、前記画像記憶部から読み出して前記RAM及び/又は前記第3の一時記憶部に書き込むことが好ましい。
【0016】
RAMの書き込みアドレスと読み出しアドレスをこのように制御することで、画像処理に不具合を生じることなく、RAMの記憶容量を効率的に利用することができる。
【0017】
本発明の第2の態様は、画像記憶部に記憶された画像に含まれる水平方向にM個で垂直方向にN個の互いに隣接する画素を演算処理して出力画素を生成し、Mは2以上の整数で、Nは1以上の整数である、画像処理方法であって、前記画像記憶部から読み出し位置を水平方向に移動しつつ画素を読み出して第1の一時記記憶部に書き込み、前記第1の一時記憶部から画素を読み出して、第3の一時記憶手段に書き込み、前記第3の一時記憶手段で遅延させて、前記水平方向にM個で垂直方向にN個の互いに隣接する画素を演算部に出力し、前記演算回路により前記M×N個の画素から出力画素を生成し、1つの水平方向画素列に対応する最後尾の出力画素の生成に使用される画素が前記第3の一時記憶部に記憶される前に、次の水平方向画素列の先頭の画素から第M−1番目の画素までを前記画像記憶部から読み出して第2の一時記憶部に書き込み、前記1つの水平方向画素列に対応する最後尾の出力画素の生成に使用される画素が前記第3の一時記憶部から前記演算部に出力されると、前記第2の一時記憶部から前記次のラインの先頭の画素から第M−1番目の画素までを読み出して前記第3の一時記憶部に書き込む、画像処理方法を提供する。
【0018】
本発明では、予め第2の一時記憶手段に記憶した各水平方向画素列の先頭の画素から先頭より第M−1番目の画素を記憶し、ライン更新前に読み出して第3の一時記憶手段に記憶させるので、ライン更新時の処理ロスをなくし、処理速度の向上と消費電力の低減を図ることができる。また、画像の第1番目から第N番目の水平画素列に属する複数の画素を、水平方向に読み出し位置を移動させつつ垂直方向に読み出すことで、画像更新時の処理ロスをなくし、処理速度の向上と消費電力の低減を図ることができる。さらに、第1の記憶手段であるRAMに対する画素の書き込み速度を、書き込みアドレスと読み出しアドレスの距離に応じて異ならせることにより、画像処理に不具合を生じることなく、RAMの記憶容量を効率的に利用することができる。
【0019】
【発明の実施の形態】
図1は本発明の実施形態に係る画像形成装置の実施形態であるYC処理回路4を備えるデジタルカメラの画像処理システム1を示し、図3はYC処理回路4の詳細を示している。この画像処理システム1は、CCD等を備える撮像回路2、DRAM等からなるメモリ3、YC処理回路4、SRAM5、解像度変換回路6、JPEG圧縮処理のような圧縮処理を行う圧縮処理回路7、ICカード等の記録媒体8、及び制御回路9を備えている。
【0020】
この画像処理システム1の動作を図2を参照して説明すると、まず、ステップS2−1において撮像回路2で生成された生データ(RGBデータ)がメモリ3に書き込まれる。次に、ステップS2−2においてYC処理回路4がメモリ3から読み出した生データに基づいてYCデータを生成し、生成したYCデータをSRAM5に書き込む。ステップS2−3で解像度変化を行う場合には、ステップS2−4において解像度変換回路6がYCデータを解像度変換する。ステップS2−5において、解像度変換されたYCデータがSRAM5とメモリ3に書き込まれる。ステップS2−2において解像度変換を実行しない場合には、YC処理回路4で生成されたYCデータがSRAM5とメモリ3に書き込まれる。ステップS2−6において、圧縮処理回路7がSRAM5に記憶されたYCデータに圧縮処理を行う。圧縮処理で作成された圧縮データはメモリ3に書き込まれる。ステップS2−7において、メモリ3内の圧縮データが記録媒体8に書き込まれる。
【0021】
本実施形態では、図4に示すように、メモリ3に記憶されている生データは、水平方向に1602個で垂直方向に1218個の画素で1フレーム分の画像11を構成している。以下の説明では、図5に示すように各画素12の画像11上の位置をX座標とY座標で表記する。例えば、(67,2)と表記された画素12は画像11の左端から67番目で上端から2番目の画素である。また、以下の説明において、水平方向画素列を必要に応じてラインと呼ぶ。
【0022】
また、YC処理回路4は、図4及び図5に示すように、1フレーム分の画像11を、水平方向及び垂直方向に隣接する66個の画素12からなる画像ブロック13に分割して処理する。後述するように、演算回路20は水平方向及び垂直方向に3個の互いに隣接する9個の画素12の画素データから出力画素のYCデータを生成する。従って、水平方向に隣接する2つの画像ブロック13の境界に位置する水平方向の2個の画素12が、両方の画像ブロック13の処理に使用される。同様に、垂直方向に隣接する2つの画像ブロック13の境界に位置する垂直方向に2個の画素12が両方の画像ブロック13の処理に使用される。1フレーム分の画像11には水平方向に25個、垂直方向に19個で、合計475個の画像ブロック13が含まれている。
【0023】
図6に示すように、各画素12の生データ(以下、画素データという。)は、画素データ部14aの付随情報として偶奇ビット14bと有効ビット14cを備えている。偶奇ビット14bは、その画素12が偶数番目のラインに属するのか、奇数番目のラインに属するのかを示す。有効ビット14cは、その画素12の画素データ部14aが有効なデータであるか否かを示す。
【0024】
図3を参照すると、YC処理回路4は、メモリ3に記憶された画素12の生データを演算処理する演算回路20と、メモリ3に記憶された画素12の画素データを演算可能な組合せで出力するための、第1の一時記憶部21、第2の一時記憶部22、第3の一時記憶部23、第1の選択部26、及び第2の選択部27を備えている。
【0025】
演算回路20は、図8(A)から(C)に示すように、水平方向に3個で垂直方向に3個の互いに隣接する9個の画素12の画素データに対して重み付け加算を実行する。例えば、図8(A)に示すように、(1,1)から(3,3)までの9個の画素12の重み付け加算により、(1,1)の出力画素が得られる。演算回路20は、この重み付け加算を実行するために、乗算器31a,31b,31cと、これらの乗算器31a〜31cの出力を合計する加算器32とを備えている。演算回路20は単位時間毎に1個の出力画素を生成する。
【0026】
第1の一時記憶部21は、それぞれメモリ3から読み出された画素データを記憶する3個のRAM21a,21b,21cを備えている。後に詳述するように、これら3個のRAM21a〜21cには各画像ブロック13中の各ラインの先頭から第3番目の画素12から最後尾(第66番目)の画素12の画素データが記憶記憶される。図7に示すように、各RAM21a〜21cは1番から64番までのアドレス33を備え、各アドレス33に1画素分の画素データを読み書き可能に記憶することができる。
【0027】
第2の一時記憶部22は、それぞれ1個の画素12の生データを記憶する6個のレジスタ22ad,22ae,22bd,22be,22cd,22ceを備えている。後に詳述するように、これらの6個のレジスタ22ad〜22ceは各画像ブロック13中の各ラインの先頭(第1番目)の画素12から第2番目の画素12までを記憶するためのものである。レジスタ22ad,22aeが第1の一時記憶部21のRAM21aに対応している。また、レジスタ22bd,22beがRAM21bに対応している。さらに、レジスタ22cd,22ceがRAM21cに対応している。
【0028】
第3の一時記憶部23は、それぞれ1個の画素12の画素データを記憶する9個のレジスタ23aa,23ab,23ac,23ba,23bb,23bc,23ca,23cb,23ccを備えている。レジスタ23aa〜23bbが第1の一時記憶部21のRAM21aに対応している。また、レジスタ23ba〜23bcがRAM21bに対応している。さらに、レジスタ23ca〜23ccがRAM21cに対応している。
【0029】
第1の選択部26は、実線で示す上位置と、点線で示す下位置とに切り替え可能である。第1の選択部26が上位置にある時には、レジスタ23aa〜23ccが3個ずつ直列に接続される。具体的には、レジスタ23aa〜23ac、レジスタ23ba〜23bc、及びレジスタ23ca〜23cbが直列に接続される。従って、第1の選択部26が上位置にある時には、第3の一時記憶部23のレジスタ23aa〜23ac、レジスタ23ba〜23bc、及びレジスタ23ca〜23cbは、それぞれRAM21a〜21cからの出力を遅延させて第2の選択部27を介して演算回路20に出力する。
【0030】
第1の選択部26が下位置にある時には、第3の一時記憶部23は第2の一時記憶部22に接続される。具体的には、第2の一時記憶部22のレジスタ22ad,22aeが第3の一時記憶部23のレジスタ23ab,23acに接続される。また、第2の一時記憶部22のレジスタ22bd,22beが第3の一時記憶部23のレジスタ23bb,23bcに記憶される。さらに、第2の一時記憶部22のレジスタ22cd,22ceが第3の一時記憶部23のレジスタ23cb,23ccに接続される。従って、第1の選択部26が下位置に切り替えられると、第3の一時記憶部23のレジスタ23ab,23ac、レジスタ23bb,23bc、及びレジスタ23cb,23ccに対して、第2の一時記憶部22のレジスタ22ad,22ae、レジスタ22bd,22be、及びレジスタ22cd,22ceから画素データが出力される。
【0031】
第2の選択部27は、最新のラインの画素データを演算回路20の乗算器31aに入力し、最新のラインの1つ前のラインの画素データを乗算器31bに入力し、かつ最新のラインの2つ前のラインの画素データを乗算器31cに入力するように、第3の一時記憶部23と演算回路20との接続を切り替える機能を有する。
【0032】
制御回路9は、メモリ9、RAM21a〜21c、レジスタ22ad〜22ce、レジスタ23aa〜23cc、第1の選択部26、及び第2の選択部27を制御し、それによってメモリ9から第1の一時記憶部21及び第2の一時記憶部22への画素データの転送、第1の一時記憶部21及び第2の一時記憶部22から第3の一時記憶部23への画素データの転送、及び第3の一時記憶部23から演算回路20への画素データの転送を実行する。また、制御回路9は演算回路20を制御して演算処理と生成された画素データのSRAM5への転送を実行する。
【0033】
また、制御回路9のクロック制御部9aには、第3の一時記憶部23を介して画素データが入力される。クロック制御部9aは、偶奇ビット14b及び有効ビット14cに基づいて、第3の一時記憶部23に記憶された画素データにより演算回路20が有効な出力画素を生成可能であるか否かを判断する。第3の一時記憶部23に記憶された画素データにより演算回路20が有効な出力画素を生成可能でないと判断した場合、クロック制御部9aは演算回路20に対するクロック信号の供給を停止し、演算回路20による演算処理を禁止する。これにより無効な画素データが入力された時に、演算回路20が無駄に電力を消費するのを防止している。
【0034】
次に、YC処理回路4は、1フレーム分の画像11を、水平方向及び垂直方向に隣接する66個の画素12からなる合計475個の画像ブロック13に分割して処理する。画像ブロック13の処理順序は、図4において矢印Aで示す通りである。詳細には、画像11の左上隅の画像ブロック13から処理を開始し、ライン毎に画像ブロック13の処理を順次実行する。
【0035】
各画像ブロック13に対してYC処理回路4により実行される処理は、3つの段階に大別することができる。第1の段階では、メモリ3から読み出された画素データが第1の一時記憶部21又は第2の一時記憶部22に書き込まれる。第2の段階では、第1の一時記憶部21又は第2の一時記憶部22から読み出された画素データが第3の一時記憶部23に書き込まれる。第3の段階では第3の一時記憶部23から読み出された画素データに基づいて、演算回路20が出力画素を生成する。後に詳述するように、本実施形態では、第2の段階において、第2の一時記憶部22を設けることでライン更新時の時間的ロスを解消している。
【0036】
第1の段階におけるメモリ3から読み出された画素データの書き込み先は、図9に示す通りである。詳細には、各ラインの先頭の2画素、すなわち第1番目から第2番目の画素12の画素データは、第2の一時記憶部22に書き込まれる。一方、各ラインの第3番目から最後(第66番目)までの画素12の画素データは、第1の一時記憶部21に書き込まれる。
【0037】
第1の段階において、各画像ブロック13に属する画素12の画素データをメモリ3から読み出して第1の一時記憶部21又は第2の一時記憶部22に書き込む順序は、図10に示す通りである。詳細には、画像ブロック13内の第4番目から第66番目のラインについては、矢印Bで示すように、各ライン毎に水平方向に1画素移動しつつ第1の一時記憶部21又は第2の一時記憶部22に画素データが書き込まれる。一方、画像ブロック13内の第1番目から第3番目のラインについては、矢印Cで示すように、垂直方向に並ぶ3個の画素12をメモリ3から順次読み出して第1の一時記憶部21又は第2の一時記憶部22に書き込む操作が、読み出し位置を水平方向に移動しつつ繰り返される。後に詳述するように、本実施形態では、各画像ブロック13の処理開始時に、水平方向ではなく垂直方向に画素データの読み出すことで、画像ブロック更新時の時間的ロスを解消している。
【0038】
第1の段階において、メモリ3から画素データを読み出して、対応するRAM21a〜21cに書き込む順序は、図7において矢印Dに示すようにRAM21a〜21cのアドレス33を水平方向に移動する。
【0039】
第2の段階において第1の一時記憶部21のRAM21a,21b,21cから画素データを読み出して、第3の一時記憶部23の対応するレジスタ23aa,23ba,23caに書き込む順序は、図7において矢印Dに示すようにRAM21a〜21cのアドレス33を水平方向に移動する。
【0040】
ここで図7を参照して、第1の一時記憶部21のRAM21a〜21cにおける読み出しポイントと書き込みポイントの関係を説明する。前述のようにRAM21a〜21cの番地は1番から64番まである。読み出しポイントとは、画素データを読み出したRAM21a〜21cのアドレスである。また、書き込みポイントとはメモリ3から新たに読み出した画素データを書き込んだRAMのアドレスである。
【0041】
各RAM21a〜21cにおいて、今回の書き込みポイントが前回の読み出しポイントを追い越すことはできない。例えば、図7に示すように前回の読み出しポイントが61番である場合、書き込みポイントは60番より前である必要がある。その理由は、今回の書き込みポイントが前回の読み出しポイントを追い越すということは、RAM21a〜21cに記憶されている画素データの内、未だ出力画素の生成に使用されていない画素データが記憶されているアドレス33に対して、メモリ3から読み出された新たな画素データを上書きすることになるからである。
【0042】
書き込みポイントは、読み出しポイントを追い越さない限り、読み出しポイントから遅れてもよい。例えば、図7に示すように読み出しポイントが61番である場合、書き込みポインは60番より前であればよい。しかし、書き込みポイントが読み出しポイントに近付いていることが好ましい。理想的には、書き込みポイントが読み出しポイントの直前であることが好ましい。例えば、図7に示すように、読み出しポイントが61番である場合、書き込みポイントが60番であることが理想的である。書き込みポイントが読み出しポイントの直前であるということは、RAM21a〜21cのあるアドレス33から画素データが第3の一時記憶部23に出力されると、直ぐにそのアドレス33に対してメモリ3から読み出された新たな画素データが上書きされる状態であることを意味する。この状態では、書き込みポイントが読み込みポイントに対して遅れることができる余地が最大であり、RAM21a〜21cの記憶容量が最も効率的に利用されている。
【0043】
メモリ3から画素データを読み出して第1の一時記憶部21のRAM21a〜21cや第2の一時記憶部22のレジスタ22ad〜22ceに書き込む速度は、前記の書き込みポイントと読み出しポイントに関する条件に基づいて決定される。具体的には、書き込み中であるRAMの前回の書き込みポイントが前回の読み出しポイントの直前の場合には、単位時間内にRAM21a〜21c及びレジスタ22ad〜22ceのいずれか1個に1個の画素12の画素データが書き込まれる。一方、書き込み中であるRAMの前回の書き込みポイントが前回の読み込みポイントの直前でない場合には、RAM21a〜21cのいずれか2個、又はRAM21a〜21cのいずれか1個とレジスタ22ad〜22ceのいずれか1個に対して、単位時間内にメモリ3から読み出された画素データが書き込まれる。
【0044】
以上のような各RAM21a〜21cにおけるアドレス管理と、RAM21a〜21c及びレジスタ22ad〜22ceに対する単位時間当たりの画素数の書き込み速度の調整は制御回路9により実行される。
【0045】
第3の段階において、演算回路20が出力画素を生成してSRAM5に出力する順序は、図11に示す通りである。詳細には、矢印Eで示すように、各画像ブロック13毎に水平方向に1画素移動しつつ出力画素が生成される。演算処理回路21は、水平方向及び垂直方向に3個の隣接する画素12から出力画素を生成するので、出力画素の画素ブロック12’に含まれる画素数は、メモリ3に記憶された画像11の画素ブロック12(図4参照)の画素数から減少している。詳細には、出力画素の画素ブロック12’には、水平方向及び垂直方向に64個で合計4096個の出力画素が含まれる。
【0046】
次に、YC処理回路4の動作を説明する。図12のフローチャートは単位時間毎のYC処理回路4の動作を示している。制御回路9によりこの動作が実行される。図12において、ステップS12−1が前述の第1の段階、ステップS12−2からS12−5、及びステップS12−7,12−8が第2の段階、ステップS12−6が第3の段階にそれぞれ対応している。前述のように単位時間毎に演算回路20が1個の出力画素を生成する。
【0047】
図12のステップS12−1において、メモリ3からの画素データの読み出し方法が決定され、決定された読み出し方法に基づいて画素データの読み出しが実行される。詳細には、読み出し速度、読み出した画素データの書き込み先、及び読み出し方向が決定される。
【0048】
図13を参照すると、まずステップS13−1において、書き込み中のRAM21a〜21bの前回の書き込みポイントが前回の読み出しポイントの直前であるか否かが判断される(条件1)。直前であれば、ステップS13−2において単位時間内の読み出し画素数は1個に決定され、直前でない場合にはステップS13−3において単位時間内の読み出し画素数は2個に決定される。このように書き込みポイントと読み出しポイントの距離に基づいて、読み出し速度が決定される。
【0049】
次に、ステップS13−4において、第2の一時記憶部22のレジスタ22ad〜22ceに次のラインの最初の出力画素の生成に必要な画素データが記憶されているか否かが判断される(条件2)。当該画素データが記憶されている場合には、ステップS13−5において、メモリ3から読み出された画素データは第1の一時記憶部21のRAM21a〜21cに書き込まれる。一方、当該画素データが記憶されていない場合には、ステップS13−6において、メモリ3から読み出された画素データは、第2の一時記憶部22のレジスタ22ad〜22ceに書き込まれ、又はレジスタ22ad〜22ceと第1の一時記憶部21のRAM21a〜21cに書き込まれる。このように第2の一時記憶部22の記憶される画素データに基づいて、画素データの書き込み先が決定される。
【0050】
続いて、ステップS13−7において、前回にメモリ3から読み出し、第1の一時記憶部21のRAM21a〜21c及び/又は第2の一時記憶部22のレジスタ22ad〜22ceに書き込んだ画素データが、画像ブロック13の最初の3行のラインに属する画素であるか否かが判断される(条件3)。当該画素データが最初の3行のラインに属する場合には、ステップS13−8において読み出し方向は水平方向に決定される。一方、当該画素データが最初の3行のラインに属さない場合には、ステップS13−9において読み出し方向は垂直は方向に決定される。このように読み出し中の画素12が画像ブロックの最初のラインの画素であるか否かに基づいて、読み出し方向が決定される。
【0051】
図14は、条件1、2、及び3と読み出し方法、すなわちロード方法の関係を示している。読み出し速度、書き込み先、及び読み出し方向(ロード方向)がそれぞれ2種類存在するので、合計8種類のロード方法A〜Hが存在する。例えば、書き込み中のRAM21a〜21cの前回の書き込みポイントが前回の読み出しポイントの直前であり(条件1)、第2の一時記憶部22に次ラインの最初の出力画素の生成に必要な画素が記憶され(条件2)、かつ前回メモリ3からRAM21a〜21c等に書き込んだ画素12が画像ブロック13の最初の3行のラインの画素12でない場合(条件3)、ロード方法Aが採用されてメモリ3からRAM21a〜21cに対して1個の画素12の画素データが水平方向にロードされる。
【0052】
ステップS12−1においてメモリ3からの読み出しを実行した後、ステップS12−2において、前回生成した出力画素が画像ブロック13’中のラインの最後尾の出力画素であるか否か、すなわちライン更新時であるか否かが判断される。当該出力画素がラインの最後尾の画素である場合、すなわちライン更新時でない場合には、ステップS12−7に移行する。一方、ライン更新時である場合には、ステップS12−3に移行する。
【0053】
ライン更新時でない場合はステップS12−7及びS12−8が実行される。まず、ステップS12−7において、第3の一時記憶部22の画素データを1つシフトする。例えば、レジスタ22aa〜22acについては、レジスタ22aaの画素データがレジスタ22abにシフトされ、レジスタ22abの画素データがレジスタ22acにシフトされる。次に、ステップS12−8において、第1の一時記憶部21に記憶された画素データを読み出して、第3の一時記憶部23に記憶させる。詳細には、RAM21a〜21cから画素データを読み出し、レジスタ23aa,23ba,23caに書き込む。
【0054】
次に、ステップS12−6において、第3の一時記憶部23に記憶された画素データが第2の選択部27を介して演算回路20に出力される。詳細には、第3の一時記憶部23が備える9個のレジスタ23aa〜23ccから演算回路20の乗算器31a〜31cに画素データが出力される。演算回路20は入力された画素データから出力画素を生成する。
【0055】
ライン更新時はステップS12−3からステップS12−5が実行される。まず、ステップS12−3では、第1の選択部26を下位置に切り替えて、第2の一時記憶部22に記憶された画素データを読み出し、第3の一時記憶部23に記憶させる。詳細には、レジスタ22ad,22aeからレジスタ23ab,23acへ、レジスタ22bd,33beからレジスタ23bb,23bcへ、又はレジスタ22cd,22ceからレジスタ23cb,23ccへ、画像データが出力される。次に、ステップS12−4で第1の一時記憶部21に記憶された画素データを読み出し、第3の一時記憶部23に記憶させる。詳細には、RAM21a〜21cから画素データを読み出し、レジスタ23aa,23ba,23caに書き込む。次に、ステップS12−5で第2の選択部27を切り替える。第2の選択部27は、最新のラインの画素データを演算回路20の乗算器31aに入力し、最新のラインの1つ前のラインの画素データを乗算器31bに入力し、かつ最新のラインの2つ前のラインの画素データを乗算器31cに入力するように切り替えられる。その後、ステップS12−6において、第3の一時記憶部23に記憶された画素データを第2の選択部27を介して演算回路20に出力し、演算回路20は入力された画素データから出力画素を生成する。
【0056】
図15から図19は、YC処理回路4が図12のフローチャートの処理を単位時間間隔で繰り返して、メモリ3内に記憶された画素データに対してYC処理を実行した例である。
【0057】
まず、図15及び図16は、1フレームの画像の(62,63)の出力画素が生成される時刻tから時刻t+143までの各時刻におけるYC処理回路4の動作状態を示している。図15及び図16において、項目1はメモリ3からRAM21a〜21cやレジスタ22ad〜22ceへの画素データのロード方法を示している。項目2はメモリ3から読み出した画素データの書き込み先を示している。項目3はメモリ3からRAM21a〜21c等に書き込む画素である。項目2及び項目3は、単位時間に2個の画素12の画素データを読み出す場合の、画素データの書き込み先と読み出される画素である。項目6及び項目7は、その時刻のRAM21a〜21bの読み出しポイント及び書き込みポイント(図7参照)である。項目8は第1の選択部26の切替状態である。項目9は出力画素である。
【0058】
図17は、図12のステップS12−1の処理により、画素データがメモリ3から読み出され、第1の記憶部21のRAM21a〜21c又は第2の一時記憶部22のレジスタ22ad〜22ceに書き込まれる時刻を示している。また、図18は、図12のステップS12−4,S12−8の処理により、画素データがRAM21a〜21cから読み出され、第3の一時記憶部23のレジスタ23aa,23ba,23caに書き込まれる時刻を示している。さらに、図19は、図12のステップS12−6の処理により、出力画素が生成される時刻を示している。これら図17から図19では、画素12を示すブロック内の数字が時刻を示している。例えば、図17において(65,1)の画素12に表示された数字“4”は、この画素が時刻4にメモリ3から読み出されることを示している。また、図17から図19は、1番目の画像ブロック13a,13a’(図4及び図11参照)に属する(63,63)の出力画素が生成される時刻1から、2番目の画像ブロック13b,13b’に属する(78,2)の出力画素が生成される時刻144までを示している。図17から図19において、ブロック内の数字が時刻を示している。図17から図19における各画素の時刻は、図15及び図16においてtが0である場合に対応している。
【0059】
図18に示すように、第1の一時記憶部21の各RAM21a〜21cから第3の一時記憶部23への画素データの書き込みは、単に水平方向に1画素ずつ進行する。また、図19に示すように、演算回路20により出力画素の生成も水平方向に1画素ずつ進行する。これに対し、メモリ3から第1の一時記憶部21の各RAM21a〜21c、又は第2の一時記憶部22のレジスタ22ad〜22ceへの画素データの書き込み(図12のステップS12−1)は、図13及び図14に従って実行されるので、図17に示すように読み出し方向が変化し、読み出し速度や、読み出し先も変化する。
【0060】
図13のステップS13−4からステップS13−6、及び図14における条件2により、第2の一時記憶部22に次のラインの最初の出力画素の生成に必要な画素が記憶されていない場合には、第2の一時記憶部22のレジスタ22ad〜22ceに次のラインの先頭の画素12から第2番目の画素12の画素データが記憶される。例えば、図15から図17において、時刻4〜9、時刻68、69、132、及び133では、メモリ3から読み出したラインの第1番目又は第2番目の画素12の画素データを、そのラインに対応するRAM20a〜20cではなく、レジスタ22ad〜22ceを書き込んでいる。そして、レジスタ22ad〜22ceに記憶された画素データは、図12のステップS12−2においてライン更新時であれば、ステップS12−3において第3の一時記憶部23に書き込まれる。第2の一時記憶部22から第3の一時記憶部23に書き込まれた画素データは、ステップS12−4において第1の一時記憶部21から第3の一時記憶部23に書き込まれた次ラインの第3番目の画素と共に、ステップS12−6において演算回路20に出力され、演算回路20に出力画素の生成に必要なすべての画素データが供給される。このように第1の一時記憶部21のRAM21a〜RAM21bとは別に第2の一時記憶部22を設け、ライン更新よりも前に、次のラインの第1番目と第2番目の画素の画素データを第2の一時記憶部22に予め記憶させておくことにより、ライン更新時の時間的ロスを解消することができる。
【0061】
図13のステップS13−7、及び図14における条件3に基づいて、メモリ3から第1の一時記憶部21及び第2の一時記憶部22への画素データの読み出す方向が変更される。ステップS13−7において、前回にメモリ3から第1の一時記憶部21又は第2に一時記憶部22に書き込んだ画素データが最初の3行以内のラインの画素12の画素データでない場合、次ラインの生成に必要な画素データのうち2行のライン分の画素データはRAM21a〜21cに既に記憶されている。従って、この場合は読み出し方向を水平に維持しても、画像ブロック更新時のロスは生じない。しかし、ステップS13−7において、前回にメモリ3から第1の一時記憶部21又は第2に一時記憶部22に書き込んだ画素データが最初の3行以内のラインの画素12の画素データの場合、次ラインの生成は次の画像ブロック13の行についての生成であり、次ラインの生成に必要な画素は未だまったくRAM21a〜21bに記憶されていない。従って、読み出し方向が水平のままであると画像ブロック更新時のロスが発生する。そこで、この場合には読み出し方向を垂直方向に変更する。このように画像ブロック13の最初の3行以内のラインで読み出し方向を垂直とすることにより、前の画像ブロック13の最後の出力画素の生成後、直ちに次の画像ブロック13の最初の出力画素を生成することができ、画像ブロック更新時の時間的ロスを低減することができる。例えば、図19に示すように、第1の画像ブロック13a’(図11参照)の最後の出力画素(64,64)が時刻66に生成され、その直後の時刻67に第2の画像ブロック13b’の最初の出力画素(65,1)が生成されている。これは図17に示すように、時刻4以降に第2の画像ブロック13b’の最初の3行のラインに属する画素12の画素データを垂直方向に読み出したことにより可能となっている。
【0062】
図13のステップS13−1からステップS13−3、及び図14における条件1により、RAM21a〜21cの書き込みポイントと読み出しポイントの距離に応じて、メモリ3から画素データを読み出してRAM21a〜21c又はレジスタ22ad〜22ceへ書き込む速度が、単位時間当たり1画素と2画素に変更される。図13のステップS13−1において読み出しポイントが書き込みポイントの直前の場合には、前述のようにRAM21a〜21cの記憶容量が最も効率的に利用されている理想的な状態である。従って、これ以上読み出しポイントが書き込みポイントに接近しないように、単位時間当たりに1画素(演算回路20の出力画素生成速度と同じ速度)でメモリ3からRAM21a〜21cに画素データを読み出す。一方、図13のステップS13−1において読み出しポイントが書き込みポイントの直前でない場合には、書き込みポイントは読み出しポイントから遅れているので、書き込みポイントが読み出しポイントに追いつくように、単位時間当たりに2画素(演算回路20の出力画素生成速度の2倍の速度)でメモリ3からRAM21a〜21cに画素データを読み出す。画像ブロック13は水平方向に66個の画素を備えるのに対し、RAM21a〜21cはそれよりも少ない64個のアドレス33を有する。しかし、書き込みポイントが読み出しポイントを追い越すことなく、かつ書き込みポイントが読み出しポイントに近付くようにRAM21a〜21cへの書き込み速度を制御することで、RAM21a〜21cの記憶容量が効率的に利用し、それによつて前述のライン更新時や画像ブロック更新時に時間的ロスが生じない処理を実現することができる。
【0063】
次に、図12、及び図20から図37を参照して、図15の時刻t+1から時刻t+10(図17から図19の時刻1から時刻11)までの間のYC処理回路4の動作を詳細に説明する。
【0064】
図20は図12のステップS12−1の直前に第1の一時記憶部21のRAM21a〜21c及び第2の一時記憶部22のレジスタ22ad〜22ceに記憶されている画素データを示している。RAM21aには画素(3,64)〜(66,64)の画素データが保持されている。また、RAM21bには画素(3,65)〜(66,65)の画素12の画素データが保持されている。さらに、RAM21cには画素(64,63)〜(66,63)、及び画素(3,66)〜(63,66)の画素12の画素データが保持されている。レジスタ22ad〜22ceには、6個の画素(1,64)〜(2,66)の画素データが保持されている。
【0065】
図12のステップS12−1において、画素(64,63)の画素データを記憶しているRAM21cのアドレス33に対して、メモリ3から読み出された画素(64,66)の画素データが上書きされる。図21はこの上書き後にRAM21a〜21c及びレジスタ22ad〜22ceに保持されている画素データを示している。
【0066】
この上書きは図14により決定されている。まず、条件1ついては、書込中のRAM21cの前回の書き込みポイントは画素(63,66)を記憶するアドレスであり、前回の読み出しポイントは画素(64,63)を記憶するアドレスであるため、書き込みポイントは読み出しポイントの直前にある。条件2については、第2の一時記憶部22には次ライン(第64行)の生成に必要な画素(1,64)〜(2,66)は既に記憶されている。条件3については、メモリ3から読み出す画素(64,66)は画像ブロック13の最初の3行内の画素ではない。従って、ロード方法Aが選択され、画素(64,66)の画素データをメモリ3から読み出して、RAM21cに書き込んでいる。なお、画素(64,66)のデータを上書きすることにより、画素(64,63)のデータはRAM21cから消去されるが、この画素(64,63)は再度出力画素生成に使用することはないので、不都合はない。
【0067】
図22は、時刻t+1のステップS12−1において画素(64,66)の画素データをメモリ3からRAM21cに書き込んだ直後、すなわち第3の一時記憶手段23をシフトする直前の第3の一時記憶手段23に保持されている画素データの状態を示すしている。レジスタ23aa〜23acには画素(62,64)〜(64,64)が保持され、レジスタ23ba〜23bcには画素(62,65)〜(64,65)が保持され、レジスタ23ca〜23ccには画素(62,63)〜(64,63)が保持されている。演算回路20は、時刻tにおいて、これらの9画素の画素データから画素(62,63)を新たに生成して出力している。
【0068】
図23は、時刻t+1のステップS12−7において第3の一時記憶部23をシフトした直後に第3の一時記憶手段23に保持されている画素データの状態を示している。前回(時刻t)において生成した画素(62,63)は、画像ブロック13のライン(63行)の最後尾の画素(64,63)には該当しない(ステップS12−2)。従って、ステップS12−8で第3の一時記憶部23の値をシフトする。具体的には、レジスタ23abの画素データをレジスタ23acにシフトし、レジスタ23aaの画素データをレジスタ23abにシフトして書き換える。同様に他のレジスタ23bb、23bc、23cb、23ccの画素データも書き換える。
【0069】
図24は、時刻t+1のステップS12−8直後に第3の一時記憶部23に保持されている画素データの状態を示している。ステップS12−8では、RAM21cから画素(65,63)を読み出してレジスタ23caに書き込み、RAM21aから画素(65,64)を読み出してレジスタ23aaに書き込み、RAM21bから画素(65,64)を読み出してレジスタ23baに書き込む。ステップS12−7で6個の画素(63,64)〜(64,65)が既に第3の一時記憶部23に記憶済みであるので、9個の画素(63,64)〜(65,65)が第3の一時記憶部23に記憶されたことになる。画素(65,63)の画素データをRAM21cから読み出すのはこれが最後なので、以後画素(65,63)の画素データをRAM21cに記憶しておく必要はない。すなわち、画素(65,63)の画素データを上書きによって消去しても以後の画像処理上支障をきたすことはない。
【0070】
図25は、時刻t+1において生成される出力画素と、第3の一時記憶部23に保持されている画素データの状態、すなわちステップS12−6の直後の状態を示している。ステップS12−6では、第3の一時記憶部23に記憶されている9個の画素(63,65)〜(65,65)の画素データを第2の選択部27を介して演算回路20に入力し、演算回路20で出力画素(63,63)を生成する。レジスタ23aa〜23acには64行目の画素が記憶され、レジスタ23ba〜23bcには65行目の画素が記憶され、レジスタ23ca〜23ccには63行目の画素が記憶されている。従って、第2の選択部22は、レジスタ23aa〜23acを乗算器31bに接続し、レジスタ23ba〜23bcを乗算器31cに接続し、レジスタ23ca〜23ccを乗算器31cに接続する。
【0071】
時刻t+2における動作は、時刻t+1における動作と同様である。図26は、時刻t+2において画素(64,63)を生成した直後の画素データの保持状態、すなわち時刻t+3におけるステップS12−1直前の状態を示している。RAM21aには画素(3,64)〜(66,64)の画素データが保持され、RAM21bには画素(3,65)〜(66,65)の画素データが保持され、RAM21cには画素(66,63)〜(66,63)及び画素(3,66)〜(65,66)の画素データが保持されている。また、第2の一時記憶部22には6個の画素(1,64)〜(2,66)の画素データが保持されている。
【0072】
図27は、時刻t+3におけるステップS12−1直後の第1の一時記憶部21及び第2の一時記憶部22に保持されている画素データの状態を示している。ステップS12−1では、条件1〜3の判定結果に基づいて、画素(66,63)の画素データを記憶していたRAM21cの記憶領域に対して、メモリ3から読み出された画素(66,66)の画素データが上書きされる。
【0073】
図28は、時刻t+3のステップS12−3において第2の一時記憶部22に記憶されている6個の画素(1,64)〜(2,66)を読み出して第3の一時記憶部23に書き込んだ直後の、第3の一時記憶部23に保持されている画素データの状態を示している。前回(時刻t+2)に生成した画素(64,63)は、画像ブロック13のライン(63行)の最後尾の画素(64,63)に相当する。従って、ステップS12−2に従い、ステップS12−3において第2の一時記憶部22から第3の一時記憶部23へ画素データがロードされる。具体的には、第1の選択部26が下位置に切り替えられ、レジスタ22adの画素データをレジスタ23abに、レジスタ22aeの画素データをレジスタ23acに、レジスタ22bdの画素データをレジスタ23bbに、レジスタ22beの画素データをレジスタ23bcに、レジスタ22cdの画素データをレジスタ23cbに、レジスタ22ceの画素データをレジスタ23ccに、それぞれ書き込む。
【0074】
図29は、時刻t+3のステップS12−4において第1の一時記憶部21のRAM21a〜21cから3個の画素(3,64)〜(3,66)の画素データを読み出して第3の一時記憶部23に書き込んだ直後の、第3の一時記憶部23に保持されている画素データの状態を示している。第3の一時記憶部23の画素データが図27の状態とになった後、ステップS12−5において第2の選択部27を切り替える。具体的には、レジスタ23aa〜23acを乗算器31aに、レジスタ23ba〜23bcを乗算器31bに、レジスタ23ca〜23ccを乗算器31cに、それぞれ接続するように第2の選択部27を切り替える。その後、ステップS12−6において、第3の一時記憶部23に記憶された9個の画素の画素データが演算回路20にされ、出力画素(1,64)が生成される。なお、上記の動作終了後、第1の選択部26の設定は上位置に戻される。
【0075】
図30は、時刻t+3において画素(1,64)を生成した直後、すなわち時刻t+4のステップS12−1の直前の第1の一時記憶部21及び第2の一時記憶部22の画素データの保持状態を示している。RAM21aには画素(3,64)〜(66,64)の画素データが保持され、RAM21bには画素(3,65)〜(66,65)の画素データが保持され、RAM21cには画素(3,66)〜(66,66)の画素データが保持されている。第2の一時記憶部22には6個の画素(1,64)〜(2,66)の画素データが保持されている。
【0076】
図31は、時刻t+4のステップS12−1直後の第1の一時記憶部21及び第2の一時記憶部22に保持されている画素データの状態を示している。ステップS12−1では、画素(1,64)を記憶していたレジスタ22aeに対して、メモリ3から読み出された画素(65,1)の画素データが上書きされる。画素データの読み出し速度、読み出し先、及び読み出し方向は、図13及び図14に従って決定される。まず、条件1については、書込中のRAM21cの前回の書き込みポイントは画素(66,66)の画素データを記憶するアドレスであり、前回の読み出しポイントは画素(3,66)の画素データを記憶するアドレスであるため、書き込みポイントは読み出しポイントの直前にある。また、条件2については、第2の一時記憶部22には次ライン(第1行)の生成に必要な画素(65,1)〜(66,3)は未だ記憶されていない。さらに、条件3については、前記メモリ3から読み出してRAM21cに書き込んだ画素(66,66)は画像ブロック13の最初の3行内の画素ではない。従って、ロード方法Bが選択され、画素(65,1)の画素データをメモリ3から読み出して、レジスタ22aeに書き込んでいる。
【0077】
図32は、時刻t+4のステップS12−6において、出力画素(2,64)を生成した直後の第3の一時記憶部23に保持されている画素データの状態を示している。時刻t+4のステップS12−2では、前回生成した画素(1,64)は画像ブロック13のラインの最後尾の画素に該当しないことが判定される。また、ステップS12−7において、第3の一時記憶部23の画素データがシフトされ、ステップS12−8において、各RAM21a〜21cから第3の一時記憶部23に画素(4,64)〜(4,66)の画素データがロードされる。その後、ステップS12−6において、第3の一時記憶部23に記憶された9個の画素の画素データが演算回路20に入力され、出力画素(2,64)が生成される。
【0078】
図33は時刻t+5のステップS12−1の直前における第1の一時記憶部21及び第2の一時記憶部22に保持されている画素データの状態を示し、図34は時刻t+5のステップS12−1の直後における第1の一時記憶部21及び第2の一時記憶部22に保持されている画素データの状態を示している。メモリ3からの画素データの読み出し速度、読み出し先、及び読み出し方向は、図13及び図14に従って決定される。条件1についは、書込中のRAM21cの前回の書き込みポイントは画素(66,66)を記憶するアドレスであり、前回の読み出しポイントは画素(4,66)を記憶するアドレスであるため、書き込みポイントは読み出しポイントの直前ではない。また、条件2については、第2の一時記憶部22に次ライン(第1行)の生成に必要な画素(65,1)〜(66,3)の画素データは未だ記憶されていない。さらに、条件3についは、前回にメモリ3から読み出してレジスタ22aeに書き込んだ画素(65,1)は画像ブロック13の最初の3行内の画素である。従って、ロード方法Hが選択され、画素(65,2)の画素データをメモリ3から読み出してレジスタ22beに書き込むと共に、画素(67,1)の画素データをメモリ3から読み出してRAM21aに書き込む。
【0079】
図35は、時刻t+5のステップS12−6において出力画素(3,64)を生成した直後の第3の一時記憶部23に保持されている画素データの状態を示している。時刻t+5のステップS12−2では、前回生成した画素(2,64)は画像ブロック13のラインの最後尾の画素に該当しないことが判定される。また、ステップS12−7において、第1の一時記憶部21の画素データをシフトする。そしてステップS12−8において、各RAM21a〜21cから画素(5,64)〜(5,66)の画素データを読み出して第3の一時記憶部23に書き込む。その後、ステップS12−6において、第3の一時記憶部23に記憶された9個の画素の画素データが演算回路20に入力され出力画素(3,64)が生成される。
【0080】
時刻t+6〜t+9では、時刻t+5と同様に、メモリ3から第1及び第2の一時記憶部21,22に対して垂直方向に読み出された画素データが書きこまれる(図10の矢印C参照)。また、時刻T+6〜T+9間に、4個の出力画素(4,67)〜(7,64)が生成される。図36に示すように、時刻t+10のステップS12−1直前では、6個の画素(65,1)〜(65,3)の画素データが第2の一時記憶部22に記憶されている。また、画素(67,1)、(68,1)がRAM21aに、画素(67,2)、(68,2)がRAM21bに、画素(67,3)がRAM21cに、それぞれ記憶されている。
【0081】
時刻t+10のステップS12−1では、図13及び図14に従ってロード方法Gが選択され、図37に示すようにメモリ3から読み出された画素(68,3)、(69,1)がRAM21aに記憶される。ステップS12−2において前回生成した画素(7,64)はラインの最後尾の画素ではないので、ステップS12−7において第1の一時記憶部21の値をシフトし、ステップS12−8において、各RAM21a〜21cから画素(10,64)〜(10,66)の画素データを読み出してレジスタ23aa、23ba、23caに記憶する。最後に、ステップS12−6において、第3の一時記憶部23に記憶された9個の画素(8,64)〜(10,66)の画素データに基づいて演算回路20で出力画素(10,64)を生成する。
【0082】
前記実施形態では、水平方向に3個で垂直方向に3個の互いに隣接する9個の画素から出力画素を生成する場合を例に本発明を説明した(図8(A)から(C)参照)。Mは2以上の整数で、Nは2以上の整数であり、演算回路が水平方向にM個で垂直方向にN個の画素から出力画素を生成する場合には、第1の一時記憶部は各ラインの第M番目の画素から最後尾の画素までを読み出し可能に記憶し、第2の一時記憶部は各ラインの先頭の画素から第M−1番目の画素までを読み出し可能に記憶するものであればよい。また、この場合、画像ブロックの第1番目から第N番目のラインに属する画素について、図10の矢印Cで示すようにメモリから第1及び第2の一時記憶部に対して垂直方向に画素データをロードすればよい。
【0083】
本発明は、前記実施形態に限定されず、種々の変形が可能である。例えば、図1の画像処理システム1において解像度変換回路6に本発明を適用することができる。また、デジタルカメラ以外の、デジタルビデオ等の他の機器が備える画像処理システムに本発明を適用することができる。また、1フレームの画像を画像ブロックに分割することなく処理する場合にも本発明を適用することができる。
【0084】
【発明の効果】
以上の説明から明らかなように、本発明では、ライン更新前に、次の水平方向画素列の先頭の画素から第M−1番目の画素はライン更新前に第2の一時記憶手段に記憶され、かつ第2の一時記憶手段から第3の一時記憶手段に転送される。従って、ライン更新時であっても、第3の一時記憶手段は演算部に対して出力画素の生成に必要な有効な画素の組を出力することができる。換言すれば、ライン更新時の処理のロスを解消することができる。
【0085】
また、画像の第1番目から第N番目の水平方向画素列を、前述のように読み出して第2及び第3の一時記憶部に書き込むことにより、画像更新時であっても、第3の一時記憶手段は演算部に対して出力画素の生成に必要な有効な画素の組を出力することができる。換言すれば、画像更新時の処理のロスを解消することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るYC処理回路を備えるデジタルカメラの画像処理システムを示すブロック図である。
【図2】図1の画像処理システムの動作を説明するためのフローチャートである。
【図3】YC処理回路を示す回路図である。
【図4】1フレーム分の画像を示す図である。
【図5】画素に対する座標の割り当てを示す図である。
【図6】画素データの構造を示す概略図である。
【図7】RAMを示す概略図である。
【図8】(A)、(B)、及び(C)は、出力画素の生成方法を説明するための図である。
【図9】画像ブロック中の各画素の画素データの書き込み先を説明するための図である。
【図10】画像ブロック中での画素データの画素データの書き込み順序を示す図である。
【図11】出力画素の出力順序を示す図である。
【図12】YC処理回路の動作を説明するためのフローチャートである。
【図13】ステップS12−1のサブルーチンのフローチャートである。
【図14】第1及び第2の記憶部に対するロード方法の決定条件を示すテーブルである。
【図15】時刻tから時刻t+143までのYC処理回路の動作を説明するためのテーブルである。
【図16】時刻tから時刻t+143までのYC処理回路の動作を説明するためのテーブルである。
【図17】各画素の画素データがメモリからRAMへ転送される時刻を示す図である。
【図18】RAMに記憶された画素データが第3の一時記憶部に転送される時刻を示す図である。
【図19】各生成画素の生成時刻を示す図である。
【図20】時刻t直後に第1及び第2の一時記憶部に保持されている画素データを示す模式図である。
【図21】時刻t+1においてメモリからRAMへ画素データを読み出した後に第1及び第2の一時記憶部に保持されている画素データを示す模式図である。
【図22】時刻t+1における第3の一時記憶部のレジスタのシフト前に第3の一時記憶部に保持されている画素データを示す模式図である。
【図23】時刻t+1における第3の一時記憶部のレジスタのシフト後に第3の一時記憶部に保持されている画素データを示す模式図である。
【図24】時刻t+1においてRAMから第3の一時記憶部に1画素分ずつ画素データを転送した後に第3の一時記憶部に保持されている画素データを示す模式図である。
【図25】時刻t+1において出力画素を生成する際の第3の一時記憶部に保持されている画素データを示す模式図である。
【図26】時刻t+2直後に第1及び第2の一時記憶部に保持されている画素データを示す模式図である。
【図27】時刻t+3においてメモリからRAMへ画素データを読み出した後に第1及び第2の一時記憶部に保持されている画素データを示す模式図である。
【図28】第2の一時記憶部から第3の一時記憶部に画素データを転送した後に第3の一時記憶部に保持されている画素データを示す模式図である。
【図29】時刻t+3においてRAMから第3の一時記憶部に1画素分ずつ画素データを転送した後に第3の一時記憶部に保持されている画素データを示す模式図である。
【図30】時刻t+3直後に第1及び第2の一時記憶部に保持されている画素データを示す模式図である。
【図31】時刻t+4においてメモリからRAMへ画素データを読み出した後に第1及び第2の一時記憶部に保持されている画素データを示す模式図である。
【図32】時刻t+4において出力画素を生成した後に第3の一時記憶部に保持されている画素データを示す模式図である。
【図33】時刻t+4直後に第1及び第2の一時記憶部に保持されている画素データを示す模式図である。
【図34】時刻t+5においてメモリからRAM及びレジスタへ画素データを読み出した後に第1及び第2の一時記憶部に保持されている画素データを示す模式図である。
【図35】時刻t+5において出力画素を生成した後に第3の一時記憶部に保持されている画素データを示す模式図である。
【図36】時刻t+9直後に第1及び第2の一時記憶部に保持されている画素データを示す模式図である。
【図37】時刻t+10においてメモリからRAM及びレジスタへ画素データを読み出した後に第1及び第2の一時記憶部に保持されている画素データを示す模式図である。
【図38】1フレーム分の画素データの書き込み順序を示す模式図である。
【図39】画像ブロック毎の画素データの書き込み順序を示す模式図である。
【図40】ライン更新時のロスを説明するための模式図である。
【図41】画像ブロック更新時のロスを説明するための模式図である。
【符号の説明】
1 画像処理システム
2 撮像回路
3 メモリ
4 YC処理回路
5 SRAM
6 解像度変換回路
7 圧縮処理回路
8 記録媒体
9 制御回路
9a クロック制御部
11 画像
12 画素
13 画素ブロック
14a 画素データ部
14b 偶奇ビット
14c 有効ビット
20 演算回路
21 第1の一時記憶部
21a,21b,21c RAM
22 第2の一時記憶部
23 第3の一時記憶部
26 第1の選択部
27 第2の選択部
31a,31b,31c 乗算器
32 加算器
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing device and an image processing method. In particular, the present invention relates to an image processing apparatus and an image processing method suitable for a portable device such as a digital camera and a digital video.
[0002]
[Prior art]
In a photographing apparatus such as a digital camera or digital video, raw data (RGB data) obtained by A / D converting an output signal of an image sensor is first stored in a memory. The raw data stored in the memory is converted into YC data by the image processing circuit. The image processing circuit includes a temporary storage circuit for writing raw data read from the memory, and an arithmetic circuit for performing arithmetic processing using raw data of a plurality of pixels read from the temporary storage circuit. FIG. 38 shows an example of the order in which the raw data read from the memory for the conversion process is written in the temporary storage circuit. Specifically, raw data is sequentially read out for each horizontal pixel column (line) in one image 300. The conversion process requires a plurality of pixels that are horizontally and / or vertically adjacent. Therefore, when the writing order shown in FIG. 38 is adopted, a large-capacity line memory capable of storing pixels included in one line of the image 300 is required as a temporary storage circuit, and the image processing circuit becomes large-scale.
[0003]
Patent Literature 1 describes that an image 300 is divided into a plurality of blocks (image blocks 301) as shown in FIG. 39, and raw data is read from a memory and processed for each image block 301. If the reading method shown in FIG. 39 is adopted, the line memory only needs to have a storage capacity capable of storing the pixels included in one line of the image block 301. By reducing the storage capacity of the line memory, the scale of the image processing circuit can be reduced.
[0004]
[Patent Document 1]
JP 2000-354193 A (FIG. 3)
[0005]
[Problems to be solved by the invention]
However, when one image 300 is divided into image blocks 301 as shown in FIG. 39, the frequency of line updates increases. When one image 300 is divided into image blocks 301, the image blocks 301 need to be updated. For example, if the number of pixels in the vertical direction of the image 300 is 1218 and the total number of image blocks 301 included in the image 300 is 476, the number of line updates in the processing illustrated in FIG. 38 is 1217. In contrast, the number of line updates in the processing shown in FIG. 39 reaches 30875 times, which is the product of the number of line updates (65 times) of one image block 301 and the total number of image blocks 301 (475).
[0006]
If the reading of the raw data in each image block 301 is simply performed for each line as shown in FIG. 39, the conversion process is not performed on the raw data read from the memory to the temporary storage circuit at the time of updating the line and at the time of updating the image block. Possible combinations occur. While the raw data stored in the temporary storage circuit is a combination that cannot be converted, the arithmetic circuit cannot generate valid output pixels, and the values of the line memories and registers that constitute the temporary storage circuit simply shift. Is done.
[0007]
Taking a case where the conversion process is performed using three pixels in the horizontal direction and three pixels in the vertical direction as an example, at the time of line update, at least the third pixel 302 from the head of a new line as shown in FIG. Until is written into the temporary storage circuit, the conversion process cannot be performed. Further, at the time of updating the image block 301, the conversion process cannot be performed until at least the third pixel 302 from the head of the third line is written as shown in FIG. When the image 300 is divided into the image blocks 301 as described above, a large number of line updates and image block updates are performed. Therefore, the time loss of the processing at the time of updating the line and the image block is not negligible, and lowers the processing speed and increases the power consumption.
[0008]
Therefore, an object of the present invention is to eliminate processing loss at the time of updating a line and at the time of updating an image, thereby improving processing speed and reducing power consumption.
[0009]
[Means for Solving the Problems]
According to a first aspect of the present invention, there is provided an image storage unit for storing an image, and an output pixel is generated by performing an arithmetic operation on M horizontally and N vertically adjacent pixels included in the image, M is an integer greater than or equal to 2 and N is an integer greater than or equal to 1 and a first unit that readablely stores from the Mth pixel to the last pixel of each horizontal pixel column of the image. A temporary storage unit, a second temporary storage unit that readablely stores the first pixel to the (M-1) th pixel of each horizontal pixel column of the image in a readable manner, and a first temporary storage unit. And a third temporary pixel that receives the pixels from the second temporary storage unit and simultaneously outputs M horizontally and N vertically adjacent pixels to the arithmetic unit. An image processing apparatus comprising: a storage unit.
[0010]
The image includes both an image for one frame and an image block obtained by dividing the image for one frame.
[0011]
The image processing apparatus starts with the first pixel in the next horizontal pixel row before the pixel used to generate the last output pixel in one horizontal pixel row is stored in the third temporary storage section. Pixels used for generating the last output pixel corresponding to the one horizontal pixel column are read out from the image storage unit up to the (M-1) th pixel and written in the second temporary storage unit. When output from the third temporary storage unit to the calculation unit, the (M-1) th pixel from the head pixel of the next line is read out from the second temporary storage unit and the third temporary storage unit is read out. And a control unit that writes to the unit.
[0012]
When the line is updated, that is, after the last output pixel corresponding to one horizontal pixel column is generated, and the arithmetic unit generates the first output pixel corresponding to the next horizontal pixel column, the third temporary pixel is output. It is necessary that the storage unit has already stored the pixels from the first pixel to the Mth pixel of the next horizontal pixel row. In the first aspect of the present invention, before the line is updated, the (M-1) th pixel from the first pixel of the next horizontal pixel row is stored in the second temporary storage unit before the line is updated, and Is transferred from the temporary storage means to the third temporary storage means. Therefore, even at the time of updating the line, the third temporary storage unit can output a valid pixel set necessary for generating an output pixel to the calculation unit. In other words, it is possible to eliminate the processing loss at the time of updating the line.
[0013]
Further, the N is an integer of 2 or more, and the control unit sets the N pixels arranged in the vertical direction to the pixels belonging to the first to Nth horizontal pixel columns of the image in the image. It is preferable that the operation of sequentially reading from the storage unit and writing the data in the first temporary storage unit or the second temporary storage unit is repeated while moving the read position in the horizontal direction.
[0014]
At the time of updating the image, that is, after the last output pixel corresponding to the last horizontal pixel column in one image is generated, the output pixel corresponding to the first horizontal pixel column in the next image is generated. Sometimes, it is necessary that the pixels belonging to the first to Nth horizontal pixel columns of the next image are stored in the third temporary storage means. By reading out the first to Nth horizontal pixel columns of the image as described above and writing them in the second and third temporary storage units, the third temporary storage unit can be used even when the image is updated. Can output a set of effective pixels necessary for generating an output pixel to the arithmetic unit. In other words, the loss of processing at the time of updating the image can be eliminated.
[0015]
Further, the operation unit generates one output pixel per unit time, the first temporary storage unit includes N RAMs, and the control unit determines a previous write address of the RAM being written. Is immediately before the previous read address, one pixel is read from the image storage unit in the unit time and written in the RAM or the second temporary storage unit, and the last pixel in the RAM being written is read out. If the write address is one or more before the immediately preceding read address, two pixels are read from the image storage unit within the unit time and stored in the RAM and / or the third temporary storage unit. It is preferable to write.
[0016]
By controlling the write address and the read address of the RAM in this manner, the storage capacity of the RAM can be efficiently used without causing a problem in image processing.
[0017]
According to a second aspect of the present invention, an output pixel is generated by performing arithmetic processing on M pixels in the horizontal direction and N pixels adjacent to each other in the vertical direction included in the image stored in the image storage unit. An image processing method, wherein N is an integer of 1 or more, wherein a pixel is read out from the image storage unit while horizontally moving a readout position from the image storage unit, and is written to a first temporary storage unit; Pixels are read from the first temporary storage unit, written to the third temporary storage unit, and delayed by the third temporary storage unit, so that M pixels in the horizontal direction and N pixels in the vertical direction are adjacent to each other. To the calculation unit, the calculation circuit generates output pixels from the M × N pixels, and the pixel used to generate the last output pixel corresponding to one horizontal pixel column is the third pixel. Before the next horizontal pixel From the first pixel to the (M-1) th pixel are read from the image storage unit and written into the second temporary storage unit, and are used to generate the last output pixel corresponding to the one horizontal pixel row. Is output from the third temporary storage unit to the arithmetic unit, the pixels from the first pixel to the (M-1) th pixel of the next line are read out from the second temporary storage unit and 3. An image processing method for writing in a temporary storage unit.
[0018]
In the present invention, the (M-1) th pixel from the first pixel from the top of each horizontal pixel row stored in the second temporary storage unit in advance is stored, read out before the line is updated, and stored in the third temporary storage unit. Since the data is stored, the processing loss at the time of updating the line can be eliminated, and the processing speed can be improved and the power consumption can be reduced. Further, by reading a plurality of pixels belonging to the first to Nth horizontal pixel columns of the image in the vertical direction while moving the reading position in the horizontal direction, the processing loss at the time of updating the image is eliminated, and the processing speed is reduced. Improvement and reduction of power consumption can be achieved. Further, by making the writing speed of the pixel to the RAM, which is the first storage means, different according to the distance between the write address and the read address, the storage capacity of the RAM is efficiently used without causing a problem in image processing. can do.
[0019]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 shows an image processing system 1 of a digital camera including a YC processing circuit 4 which is an embodiment of an image forming apparatus according to an embodiment of the present invention, and FIG. 3 shows details of the YC processing circuit 4. The image processing system 1 includes an imaging circuit 2 having a CCD or the like, a memory 3 such as a DRAM, a YC processing circuit 4, an SRAM 5, a resolution conversion circuit 6, a compression processing circuit 7 for performing a compression process such as a JPEG compression process, and an IC. A recording medium 8 such as a card and a control circuit 9 are provided.
[0020]
The operation of the image processing system 1 will be described with reference to FIG. 2. First, raw data (RGB data) generated by the imaging circuit 2 is written to the memory 3 in step S2-1. Next, in step S2-2, the YC processing circuit 4 generates YC data based on the raw data read from the memory 3, and writes the generated YC data into the SRAM 5. If the resolution is changed in step S2-3, the resolution conversion circuit 6 converts the resolution of the YC data in step S2-4. In step S2-5, the resolution-converted YC data is written to the SRAM 5 and the memory 3. If resolution conversion is not to be performed in step S2-2, the YC data generated by the YC processing circuit 4 is written to the SRAM 5 and the memory 3. In step S2-6, the compression processing circuit 7 performs a compression process on the YC data stored in the SRAM 5. The compressed data created by the compression process is written to the memory 3. In step S2-7, the compressed data in the memory 3 is written to the recording medium 8.
[0021]
In the present embodiment, as shown in FIG. 4, the raw data stored in the memory 3 constitutes an image 11 for one frame with 1602 pixels in the horizontal direction and 1218 pixels in the vertical direction. In the following description, the position of each pixel 12 on the image 11 is represented by an X coordinate and a Y coordinate as shown in FIG. For example, the pixel 12 described as (67, 2) is the 67th pixel from the left end of the image 11 and the second pixel from the upper end. In the following description, a horizontal pixel column is called a line as necessary.
[0022]
The YC processing circuit 4 divides the image 11 for one frame into an image block 13 composed of 66 pixels 12 adjacent in the horizontal and vertical directions, as shown in FIGS. . As described later, the arithmetic circuit 20 generates YC data of an output pixel from pixel data of nine pixels 12 adjacent to each other in the horizontal direction and the vertical direction. Therefore, two pixels 12 in the horizontal direction located at the boundary between two image blocks 13 adjacent in the horizontal direction are used for processing both image blocks 13. Similarly, two pixels 12 in the vertical direction located at the boundary between two image blocks 13 adjacent in the vertical direction are used for processing both image blocks 13. The image 11 for one frame includes a total of 475 image blocks 13 including 25 in the horizontal direction and 19 in the vertical direction.
[0023]
As shown in FIG. 6, the raw data of each pixel 12 (hereinafter referred to as pixel data) includes an even / odd bit 14b and a valid bit 14c as accompanying information of the pixel data section 14a. The even-odd bit 14b indicates whether the pixel 12 belongs to an even-numbered line or an odd-numbered line. The valid bit 14c indicates whether or not the pixel data portion 14a of the pixel 12 is valid data.
[0024]
Referring to FIG. 3, the YC processing circuit 4 outputs an arithmetic circuit 20 for performing arithmetic processing on raw data of the pixel 12 stored in the memory 3 and a pixel data of the pixel 12 stored in the memory 3 in an operable combination. A first temporary storage unit 21, a second temporary storage unit 22, a third temporary storage unit 23, a first selection unit 26, and a second selection unit 27.
[0025]
As shown in FIGS. 8A to 8C, the arithmetic circuit 20 performs weighted addition on the pixel data of three pixels 12 adjacent to each other in the horizontal direction and three pixels in the vertical direction. . For example, as shown in FIG. 8A, an output pixel of (1, 1) is obtained by weighted addition of nine pixels 12 from (1, 1) to (3, 3). The arithmetic circuit 20 includes multipliers 31a, 31b, 31c and an adder 32 for summing the outputs of the multipliers 31a to 31c in order to execute the weighted addition. The arithmetic circuit 20 generates one output pixel per unit time.
[0026]
The first temporary storage unit 21 includes three RAMs 21a, 21b, and 21c that store pixel data read from the memory 3, respectively. As will be described in detail later, the three RAMs 21a to 21c store pixel data of the third pixel 12 to the last (66th) pixel 12 from the head of each line in each image block 13. Is done. As shown in FIG. 7, each of the RAMs 21a to 21c is provided with an address 33 from No. 1 to No. 64, and can store pixel data of one pixel in each address 33 in a readable and writable manner.
[0027]
The second temporary storage unit 22 includes six registers 22ad, 22ae, 22bd, 22be, 22cd, and 22ce for storing raw data of one pixel 12, respectively. As will be described in detail later, these six registers 22ad to 22ce are for storing the pixels from the head (first) pixel 12 to the second pixel 12 of each line in each image block 13. is there. The registers 22ad and 22ae correspond to the RAM 21a of the first temporary storage unit 21. The registers 22bd and 22be correspond to the RAM 21b. Further, the registers 22cd and 22ce correspond to the RAM 21c.
[0028]
The third temporary storage unit 23 includes nine registers 23aa, 23ab, 23ac, 23ba, 23bb, 23bc, 23ca, 23cb, and 23cc for storing pixel data of one pixel 12, respectively. The registers 23aa to 23bb correspond to the RAM 21a of the first temporary storage unit 21. The registers 23ba to 23bc correspond to the RAM 21b. Further, the registers 23ca to 23cc correspond to the RAM 21c.
[0029]
The first selector 26 can be switched between an upper position indicated by a solid line and a lower position indicated by a dotted line. When the first selector 26 is at the upper position, three registers 23aa to 23cc are connected in series by three. Specifically, registers 23aa to 23ac, registers 23ba to 23bc, and registers 23ca to 23cb are connected in series. Therefore, when the first selection unit 26 is at the upper position, the registers 23aa to 23ac, the registers 23ba to 23bc, and the registers 23ca to 23cb of the third temporary storage unit 23 delay the output from the RAMs 21a to 21c, respectively. And outputs it to the arithmetic circuit 20 via the second selector 27.
[0030]
When the first selection unit 26 is at the lower position, the third temporary storage unit 23 is connected to the second temporary storage unit 22. Specifically, the registers 22ad and 22ae of the second temporary storage unit 22 are connected to the registers 23ab and 23ac of the third temporary storage unit 23. The registers 22bd and 22be of the second temporary storage unit 22 are stored in the registers 23bb and 23bc of the third temporary storage unit 23. Further, the registers 22cd and 22ce of the second temporary storage unit 22 are connected to the registers 23cb and 23cc of the third temporary storage unit 23. Therefore, when the first selection unit 26 is switched to the lower position, the second temporary storage unit 22 is replaced with the registers 23ab and 23ac, the registers 23bb and 23bc, and the registers 23cb and 23cc of the third temporary storage unit 23. The pixel data is output from the registers 22ad and 22ae, the registers 22bd and 22be, and the registers 22cd and 22ce.
[0031]
The second selector 27 inputs the pixel data of the latest line to the multiplier 31a of the arithmetic circuit 20, inputs the pixel data of the line immediately before the latest line to the multiplier 31b, and The function of switching the connection between the third temporary storage unit 23 and the arithmetic circuit 20 so as to input the pixel data of the line two lines before to the multiplier 31c.
[0032]
The control circuit 9 controls the memory 9, the RAMs 21a to 21c, the registers 22ad to 22ce, the registers 23aa to 23cc, the first selection unit 26, and the second selection unit 27. Transfer of the pixel data to the unit 21 and the second temporary storage unit 22, transfer of the pixel data from the first temporary storage unit 21 and the second temporary storage unit 22 to the third temporary storage unit 23, and the third Of the pixel data from the temporary storage unit 23 to the arithmetic circuit 20. Further, the control circuit 9 controls the arithmetic circuit 20 to execute arithmetic processing and transfer generated pixel data to the SRAM 5.
[0033]
Further, the pixel data is input to the clock control unit 9 a of the control circuit 9 via the third temporary storage unit 23. The clock control unit 9a determines whether the arithmetic circuit 20 can generate a valid output pixel based on the pixel data stored in the third temporary storage unit 23 based on the even / odd bit 14b and the valid bit 14c. . When it is determined that the arithmetic circuit 20 cannot generate a valid output pixel based on the pixel data stored in the third temporary storage unit 23, the clock control unit 9a stops supplying the clock signal to the arithmetic circuit 20, and The arithmetic processing by 20 is prohibited. This prevents the arithmetic circuit 20 from wastefully consuming power when invalid pixel data is input.
[0034]
Next, the YC processing circuit 4 processes the image 11 for one frame by dividing it into a total of 475 image blocks 13 including 66 pixels 12 adjacent in the horizontal and vertical directions. The processing order of the image blocks 13 is as shown by the arrow A in FIG. Specifically, the processing is started from the image block 13 at the upper left corner of the image 11, and the processing of the image block 13 is sequentially executed for each line.
[0035]
The processing performed by the YC processing circuit 4 on each image block 13 can be roughly divided into three stages. In the first stage, the pixel data read from the memory 3 is written to the first temporary storage unit 21 or the second temporary storage unit 22. In the second stage, the pixel data read from the first temporary storage unit 21 or the second temporary storage unit 22 is written to the third temporary storage unit 23. In the third stage, the arithmetic circuit 20 generates an output pixel based on the pixel data read from the third temporary storage unit 23. As will be described in detail later, in the present embodiment, in the second stage, the provision of the second temporary storage unit 22 eliminates the time loss at the time of updating the line.
[0036]
The write destination of the pixel data read from the memory 3 in the first stage is as shown in FIG. More specifically, the pixel data of the first two pixels of each line, that is, the first to second pixels 12 are written to the second temporary storage unit 22. On the other hand, the pixel data of the pixels 12 from the third to the last (66th) of each line is written to the first temporary storage unit 21.
[0037]
In the first stage, the order in which pixel data of the pixels 12 belonging to each image block 13 are read from the memory 3 and written in the first temporary storage unit 21 or the second temporary storage unit 22 is as shown in FIG. . More specifically, for the fourth to 66th lines in the image block 13, the first temporary storage unit 21 or the second temporary storage unit 21 moves one pixel in the horizontal direction for each line as shown by the arrow B. The pixel data is written to the temporary storage unit 22 of. On the other hand, for the first to third lines in the image block 13, as shown by the arrow C, the three pixels 12 arranged in the vertical direction are sequentially read from the memory 3 and the first temporary storage unit 21 or The operation of writing to the second temporary storage unit 22 is repeated while moving the reading position in the horizontal direction. As will be described in detail later, in the present embodiment, at the start of processing of each image block 13, pixel data is read out not in the horizontal direction but in the vertical direction, thereby eliminating the time loss at the time of updating the image block.
[0038]
In the first stage, the order in which pixel data is read from the memory 3 and written into the corresponding RAMs 21a to 21c is to move the address 33 of the RAMs 21a to 21c in the horizontal direction as shown by an arrow D in FIG.
[0039]
In the second stage, the order in which pixel data is read from the RAMs 21a, 21b, and 21c of the first temporary storage unit 21 and written into the corresponding registers 23aa, 23ba, and 23ca of the third temporary storage unit 23 is indicated by an arrow in FIG. As shown in D, the address 33 of the RAMs 21a to 21c is moved in the horizontal direction.
[0040]
Here, with reference to FIG. 7, the relationship between read points and write points in the RAMs 21a to 21c of the first temporary storage unit 21 will be described. As described above, the addresses of the RAMs 21a to 21c are from No. 1 to No. 64. The read point is an address of the RAM 21a to 21c from which the pixel data has been read. The writing point is the address of the RAM where the pixel data newly read from the memory 3 is written.
[0041]
In each of the RAMs 21a to 21c, the current writing point cannot overtake the previous reading point. For example, as shown in FIG. 7, when the previous read point is No. 61, the write point needs to be before No. 60. The reason for this is that the current writing point overtakes the previous reading point, which means that among the pixel data stored in the RAMs 21a to 21c, the address at which the pixel data not yet used for generating the output pixel is stored. This is because new pixel data read from the memory 3 is overwritten on the pixel 33.
[0042]
The write point may be behind the read point as long as it does not overtake the read point. For example, when the read point is No. 61 as shown in FIG. 7, the write point may be before the No. 60. However, it is preferred that the write point be closer to the read point. Ideally, the writing point is preferably immediately before the reading point. For example, as shown in FIG. 7, when the read point is No. 61, the write point is ideally No. 60. The fact that the write point is immediately before the read point means that when pixel data is output from the address 33 in the RAMs 21a to 21c to the third temporary storage unit 23, the pixel data is immediately read from the memory 3 for that address 33. New pixel data is overwritten. In this state, the room where the writing point can be delayed from the reading point is the largest, and the storage capacity of the RAMs 21a to 21c is used most efficiently.
[0043]
The speed at which pixel data is read from the memory 3 and written to the RAMs 21a to 21c of the first temporary storage unit 21 and the registers 22ad to 22ce of the second temporary storage unit 22 is determined based on the above-described conditions regarding the write point and the read point. Is done. Specifically, when the last writing point of the RAM being written is immediately before the last reading point, one pixel 12 is stored in any one of the RAMs 21a to 21c and the registers 22ad to 22ce within a unit time. Is written. On the other hand, if the previous write point of the RAM being written is not immediately before the previous read point, any two of the RAMs 21a to 21c or any one of the RAMs 21a to 21c and any of the registers 22ad to 22ce Pixel data read from the memory 3 within a unit time is written into one pixel.
[0044]
The address management in the RAMs 21a to 21c and the adjustment of the writing speed of the number of pixels per unit time to the RAMs 21a to 21c and the registers 22ad to 22ce as described above are executed by the control circuit 9.
[0045]
In the third stage, the order in which the arithmetic circuit 20 generates output pixels and outputs the output pixels to the SRAM 5 is as shown in FIG. More specifically, as shown by an arrow E, output pixels are generated while moving one pixel in the horizontal direction for each image block 13. The arithmetic processing circuit 21 generates an output pixel from three adjacent pixels 12 in the horizontal direction and the vertical direction. Therefore, the number of pixels included in the pixel block 12 ′ of the output pixel corresponds to the number of pixels of the image 11 stored in the memory 3. It is reduced from the number of pixels in the pixel block 12 (see FIG. 4). More specifically, the pixel block 12 'of output pixels includes a total of 4096 output pixels in the horizontal and vertical directions, that is, 64 output pixels.
[0046]
Next, the operation of the YC processing circuit 4 will be described. The flowchart of FIG. 12 shows the operation of the YC processing circuit 4 for each unit time. This operation is performed by the control circuit 9. In FIG. 12, step S12-1 is the first stage, steps S12-2 to S12-5, steps S12-7 and 12-8 are the second stage, and step S12-6 is the third stage. Each corresponds. As described above, the arithmetic circuit 20 generates one output pixel for each unit time.
[0047]
In step S12-1 in FIG. 12, a method of reading pixel data from the memory 3 is determined, and pixel data is read based on the determined reading method. Specifically, the read speed, the write destination of the read pixel data, and the read direction are determined.
[0048]
Referring to FIG. 13, first, in step S13-1, it is determined whether or not the previous writing point of the RAMs 21a to 21b during writing is immediately before the previous reading point (condition 1). If it is immediately before, in step S13-2, the number of readout pixels in a unit time is determined to be one, and if it is not immediately before, in step S13-3, the number of readout pixels in a unit time is determined to be two. As described above, the reading speed is determined based on the distance between the writing point and the reading point.
[0049]
Next, in step S13-4, it is determined whether or not pixel data necessary for generating the first output pixel of the next line is stored in the registers 22ad to 22ce of the second temporary storage unit 22 (condition). 2). If the pixel data is stored, the pixel data read from the memory 3 is written to the RAMs 21a to 21c of the first temporary storage unit 21 in step S13-5. On the other hand, if the pixel data is not stored, the pixel data read from the memory 3 is written to the registers 22ad to 22ce of the second temporary storage unit 22 or the register 22ad in step S13-6. To 22ce and the RAMs 21a to 21c of the first temporary storage unit 21. As described above, the writing destination of the pixel data is determined based on the pixel data stored in the second temporary storage unit 22.
[0050]
Subsequently, in step S13-7, the pixel data previously read from the memory 3 and written in the RAMs 21a to 21c of the first temporary storage unit 21 and / or the registers 22ad to 22ce of the second temporary storage unit 22 are stored in the image data. It is determined whether or not the pixel belongs to the first three lines of the block 13 (condition 3). If the pixel data belongs to the first three lines, the reading direction is determined to be horizontal in step S13-8. On the other hand, if the pixel data does not belong to the first three lines, the vertical reading direction is determined in step S13-9. As described above, the reading direction is determined based on whether the pixel 12 being read is a pixel on the first line of the image block.
[0051]
FIG. 14 shows the relationship between the conditions 1, 2, and 3 and the read method, that is, the load method. Since there are two types of read speed, write destination, and read direction (load direction), there are a total of eight types of load methods A to H. For example, the last writing point of the RAMs 21 a to 21 c during writing is immediately before the previous reading point (condition 1), and the second temporary storage unit 22 stores the pixels necessary for generating the first output pixel of the next line. (Condition 2), and when the pixel 12 previously written from the memory 3 to the RAM 21a to 21c is not the pixel 12 of the first three lines of the image block 13 (condition 3), the loading method A is adopted and the memory 3 , The pixel data of one pixel 12 is loaded in the RAM 21a to 21c in the horizontal direction.
[0052]
After reading out from the memory 3 in step S12-1, in step S12-2, it is determined whether the output pixel generated last time is the last output pixel of the line in the image block 13 ', that is, at the time of line update. Is determined. When the output pixel is the last pixel of the line, that is, when the line is not updated, the process proceeds to step S12-7. On the other hand, if it is time to update the line, the process moves to step S12-3.
[0053]
If it is not time to update the line, steps S12-7 and S12-8 are executed. First, in step S12-7, the pixel data in the third temporary storage unit 22 is shifted by one. For example, regarding the registers 22aa to 22ac, the pixel data of the register 22aa is shifted to the register 22ab, and the pixel data of the register 22ab is shifted to the register 22ac. Next, in step S12-8, the pixel data stored in the first temporary storage unit 21 is read out and stored in the third temporary storage unit 23. Specifically, pixel data is read from the RAMs 21a to 21c and written to the registers 23aa, 23ba, and 23ca.
[0054]
Next, in step S12-6, the pixel data stored in the third temporary storage unit 23 is output to the arithmetic circuit 20 via the second selection unit 27. Specifically, the pixel data is output from the nine registers 23 aa to 23 cc included in the third temporary storage unit 23 to the multipliers 31 a to 31 c of the arithmetic circuit 20. The arithmetic circuit 20 generates an output pixel from the input pixel data.
[0055]
At the time of updating the line, steps S12-3 to S12-5 are executed. First, in step S12-3, the first selection unit 26 is switched to the lower position, the pixel data stored in the second temporary storage unit 22 is read, and stored in the third temporary storage unit 23. Specifically, the image data is output from the registers 22ad and 22ae to the registers 23ab and 23ac, from the registers 22bd and 33be to the registers 23bb and 23bc, or from the registers 22cd and 22ce to the registers 23cb and 23cc. Next, in step S12-4, the pixel data stored in the first temporary storage unit 21 is read out and stored in the third temporary storage unit 23. Specifically, pixel data is read from the RAMs 21a to 21c and written to the registers 23aa, 23ba, and 23ca. Next, the second selector 27 is switched in step S12-5. The second selector 27 inputs the pixel data of the latest line to the multiplier 31a of the arithmetic circuit 20, inputs the pixel data of the line immediately before the latest line to the multiplier 31b, and Is switched to input the pixel data of the line two lines before to the multiplier 31c. Then, in step S12-6, the pixel data stored in the third temporary storage unit 23 is output to the arithmetic circuit 20 via the second selecting unit 27, and the arithmetic circuit 20 outputs the output pixel data from the input pixel data. Generate
[0056]
FIGS. 15 to 19 show an example in which the YC processing circuit 4 repeats the processing of the flowchart in FIG. 12 at unit time intervals, and executes the YC processing on the pixel data stored in the memory 3.
[0057]
First, FIGS. 15 and 16 show the operating state of the YC processing circuit 4 from time t to time t + 143 when the (62, 63) output pixel of one frame image is generated. 15 and 16, item 1 indicates a method of loading pixel data from the memory 3 to the RAMs 21a to 21c and the registers 22ad to 22ce. Item 2 indicates a write destination of the pixel data read from the memory 3. Item 3 is a pixel to be written from the memory 3 to the RAM 21a to 21c or the like. Items 2 and 3 are the write destinations of the pixel data and the pixels to be read when reading the pixel data of the two pixels 12 per unit time. Item 6 and item 7 are the read and write points (see FIG. 7) of the RAMs 21a to 21b at that time. Item 8 is a switching state of the first selection unit 26. Item 9 is an output pixel.
[0058]
FIG. 17 shows that the pixel data is read from the memory 3 and written into the RAMs 21 a to 21 c of the first storage unit 21 or the registers 22 ad to 22 ce of the second temporary storage unit 22 by the process of step S <b> 12-1 of FIG. 12. Shows the time of day. FIG. 18 shows the time at which pixel data is read from the RAMs 21 a to 21 c and written into the registers 23 aa, 23 ba, and 23 ca of the third temporary storage unit 23 by the processes of steps S 12-4 and S 12-8 of FIG. Is shown. FIG. 19 shows the time at which an output pixel is generated by the process of step S12-6 in FIG. In FIGS. 17 to 19, the numbers in the blocks indicating the pixels 12 indicate the time. For example, the number “4” displayed on the pixel 12 at (65, 1) in FIG. 17 indicates that this pixel is read from the memory 3 at time 4. FIGS. 17 to 19 show the second image block 13b from time 1 when output pixels (63, 63) belonging to the first image blocks 13a and 13a '(see FIGS. 4 and 11) are generated. , 13b ′ until time 144 when an output pixel of (78, 2) is generated. 17 to 19, the numbers in the blocks indicate the time. The time of each pixel in FIGS. 17 to 19 corresponds to the case where t is 0 in FIGS.
[0059]
As shown in FIG. 18, writing of pixel data from each of the RAMs 21a to 21c of the first temporary storage unit 21 to the third temporary storage unit 23 simply proceeds in the horizontal direction one pixel at a time. Further, as shown in FIG. 19, the generation of output pixels by the arithmetic circuit 20 also proceeds in the horizontal direction one pixel at a time. On the other hand, writing of pixel data from the memory 3 to each of the RAMs 21a to 21c of the first temporary storage unit 21 or the registers 22ad to 22ce of the second temporary storage unit 22 (step S12-1 in FIG. 12) Since the processing is performed according to FIGS. 13 and 14, the reading direction changes as shown in FIG. 17, and the reading speed and the reading destination also change.
[0060]
When the pixels necessary for generating the first output pixel of the next line are not stored in the second temporary storage unit 22 according to Steps S13-4 to S13-6 in FIG. 13 and Condition 2 in FIG. Stores pixel data of the first pixel 12 to the second pixel 12 of the next line in the registers 22ad to 22ce of the second temporary storage unit 22. For example, in FIGS. 15 to 17, at times 4 to 9, and at times 68, 69, 132, and 133, the pixel data of the first or second pixel 12 of the line read from the memory 3 is stored in the line. The registers 22ad to 22ce are written instead of the corresponding RAMs 20a to 20c. Then, the pixel data stored in the registers 22ad to 22ce is written to the third temporary storage unit 23 in step S12-3 if the line is updated in step S12-2 in FIG. The pixel data written from the second temporary storage unit 22 to the third temporary storage unit 23 is the pixel data of the next line written from the first temporary storage unit 21 to the third temporary storage unit 23 in step S12-4. In step S12-6, the pixel data is output to the arithmetic circuit 20 together with the third pixel, and all the pixel data necessary for generating the output pixel is supplied to the arithmetic circuit 20. As described above, the second temporary storage unit 22 is provided separately from the RAMs 21a and 21b of the first temporary storage unit 21, and before the line update, the pixel data of the first and second pixels of the next line is updated. Is stored in the second temporary storage unit 22 in advance, thereby eliminating the time loss at the time of updating the line.
[0061]
The direction in which pixel data is read from the memory 3 to the first temporary storage unit 21 and the second temporary storage unit 22 is changed based on step S13-7 in FIG. 13 and condition 3 in FIG. In step S13-7, if the pixel data previously written from the memory 3 to the first temporary storage unit 21 or the second temporary storage unit 22 is not the pixel data of the pixels 12 in the first three lines or less, the next line The pixel data for two lines out of the pixel data necessary for the generation of are already stored in the RAMs 21a to 21c. Therefore, in this case, even when the reading direction is kept horizontal, no loss occurs when updating the image block. However, in step S13-7, if the pixel data previously written from the memory 3 to the first temporary storage unit 21 or the second temporary storage unit 22 is the pixel data of the pixels 12 in the first three lines or less, The generation of the next line is for the next row of the image block 13, and the pixels necessary for the generation of the next line have not yet been stored in the RAMs 21a to 21b. Therefore, if the reading direction remains horizontal, a loss occurs when updating the image block. Therefore, in this case, the reading direction is changed to the vertical direction. By making the readout direction vertical in the lines within the first three rows of the image block 13 in this way, immediately after the last output pixel of the previous image block 13 is generated, the first output pixel of the next image block 13 is It can be generated, and time loss at the time of updating an image block can be reduced. For example, as shown in FIG. 19, the last output pixel (64, 64) of the first image block 13a ′ (see FIG. 11) is generated at time 66, and at time 67 immediately after that, the second image block 13b is generated. ', The first output pixel (65, 1) has been generated. This is made possible by reading pixel data of the pixels 12 belonging to the first three lines of the second image block 13b 'in the vertical direction after time 4, as shown in FIG.
[0062]
According to steps S13-1 to S13-3 in FIG. 13 and condition 1 in FIG. 14, pixel data is read from the memory 3 and stored in the RAM 21a to 21c or the register 22ad according to the distance between the writing point and the reading point of the RAM 21a to 21c. The speed of writing to .about.22ce is changed to 1 pixel and 2 pixels per unit time. When the read point is immediately before the write point in step S13-1 in FIG. 13, it is an ideal state in which the storage capacities of the RAMs 21a to 21c are most efficiently used as described above. Accordingly, pixel data is read from the memory 3 to the RAMs 21a to 21c at one pixel per unit time (the same speed as the output pixel generation speed of the arithmetic circuit 20) so that the read point does not approach the write point any more. On the other hand, if the read point is not immediately before the write point in step S13-1 in FIG. 13, the write point is behind the read point, so that two pixels per unit time (2 pixels per unit time) so that the write point catches up with the read point. The pixel data is read from the memory 3 to the RAMs 21a to 21c at a speed twice as fast as the output pixel generation speed of the arithmetic circuit 20). The image block 13 has 66 pixels in the horizontal direction, while the RAMs 21a to 21c have 64 addresses 33, which are smaller than that. However, by controlling the writing speed to the RAMs 21a to 21c so that the writing point does not pass the reading point and the writing point approaches the reading point, the storage capacity of the RAMs 21a to 21c is efficiently used. Thus, it is possible to realize a process that does not cause a time loss at the time of updating the line or the image block.
[0063]
Next, with reference to FIG. 12 and FIGS. 20 to 37, the operation of the YC processing circuit 4 from time t + 1 to time t + 10 in FIG. 15 (time 1 to time 11 in FIGS. 17 to 19) will be described in detail. Will be described.
[0064]
FIG. 20 shows pixel data stored in the RAMs 21a to 21c of the first temporary storage unit 21 and the registers 22ad to 22ce of the second temporary storage unit 22 immediately before step S12-1 in FIG. The RAM 21a holds pixel data of the pixels (3, 64) to (66, 64). The RAM 21b holds pixel data of the pixels 12 of the pixels (3, 65) to (66, 65). Further, the RAM 21c holds pixel data of the pixels 12 of the pixels (64, 63) to (66, 63) and the pixels (3, 66) to (63, 66). The registers 22ad to 22ce hold pixel data of six pixels (1, 64) to (2, 66).
[0065]
In step S12-1 of FIG. 12, the pixel data of the pixel (64, 66) read from the memory 3 is overwritten on the address 33 of the RAM 21c storing the pixel data of the pixel (64, 63). You. FIG. 21 shows the pixel data held in the RAMs 21a to 21c and the registers 22ad to 22ce after this overwriting.
[0066]
This overwriting is determined by FIG. First, regarding the condition 1, the previous writing point of the RAM 21c during writing is an address for storing the pixel (63, 66), and the previous reading point is an address for storing the pixel (64, 63). The point is immediately before the read point. Regarding the condition 2, the pixels (1, 64) to (2, 66) necessary for generating the next line (the 64th row) are already stored in the second temporary storage unit 22. For condition 3, the pixels (64, 66) read from memory 3 are not pixels in the first three rows of image block 13. Therefore, the loading method A is selected, and the pixel data of the pixel (64, 66) is read from the memory 3 and written to the RAM 21c. By overwriting the data of the pixel (64, 66), the data of the pixel (64, 63) is erased from the RAM 21c, but this pixel (64, 63) is not used again for generating the output pixel. So there is no inconvenience.
[0067]
FIG. 22 shows the third temporary storage unit immediately after the pixel data of the pixel (64, 66) is written from the memory 3 to the RAM 21c in step S12-1 at the time t + 1, that is, immediately before shifting the third temporary storage unit 23. 23 shows the state of the pixel data stored in the storage area 23. Registers 23aa to 23ac hold pixels (62, 64) to (64, 64), registers 23ba to 23bc hold pixels (62, 65) to (64, 65), and registers 23ca to 23cc Pixels (62, 63) to (64, 63) are held. At time t, the arithmetic circuit 20 newly generates pixels (62, 63) from the pixel data of these nine pixels and outputs the pixels.
[0068]
FIG. 23 shows the state of the pixel data stored in the third temporary storage unit 23 immediately after shifting the third temporary storage unit 23 in step S12-7 at time t + 1. The pixel (62, 63) generated at the previous time (time t) does not correspond to the last pixel (64, 63) of the line (63 rows) of the image block 13 (step S12-2). Therefore, the value of the third temporary storage unit 23 is shifted in step S12-8. Specifically, the pixel data of the register 23ab is shifted to the register 23ac, and the pixel data of the register 23aa is shifted and rewritten to the register 23ab. Similarly, the pixel data of the other registers 23bb, 23bc, 23cb, and 23cc is rewritten.
[0069]
FIG. 24 shows the state of the pixel data stored in the third temporary storage unit 23 immediately after step S12-8 at time t + 1. In step S12-8, the pixel (65, 63) is read from the RAM 21c and written into the register 23ca, the pixel (65, 64) is read from the RAM 21a and written into the register 23aa, and the pixel (65, 64) is read from the RAM 21b and stored in the register 23ca. Write to 23ba. Since the six pixels (63, 64) to (64, 65) have already been stored in the third temporary storage unit 23 in step S12-7, the nine pixels (63, 64) to (65, 65) ) Is stored in the third temporary storage unit 23. This is the last time that the pixel data of the pixel (65, 63) is read from the RAM 21c, so that it is not necessary to store the pixel data of the pixel (65, 63) in the RAM 21c. That is, even if the pixel data of the pixel (65, 63) is erased by overwriting, no problem occurs in the subsequent image processing.
[0070]
FIG. 25 shows the output pixel generated at time t + 1 and the state of the pixel data held in the third temporary storage unit 23, that is, the state immediately after step S12-6. In step S12-6, the pixel data of the nine pixels (63, 65) to (65, 65) stored in the third temporary storage unit 23 is sent to the arithmetic circuit 20 via the second selection unit 27. The arithmetic circuit 20 generates the output pixels (63, 63). The registers 23aa to 23ac store pixels on the 64th row, the registers 23ba to 23bc store pixels on the 65th row, and the registers 23ca to 23cc store pixels on the 63rd row. Accordingly, the second selector 22 connects the registers 23aa to 23ac to the multiplier 31b, connects the registers 23ba to 23bc to the multiplier 31c, and connects the registers 23ca to 23cc to the multiplier 31c.
[0071]
The operation at time t + 2 is the same as the operation at time t + 1. FIG. 26 shows the state of holding the pixel data immediately after generating the pixel (64, 63) at time t + 2, that is, the state immediately before step S12-1 at time t + 3. The RAM 21a holds the pixel data of the pixels (3, 64) to (66, 64), the RAM 21b holds the pixel data of the pixels (3, 65) to (66, 65), and the RAM 21c holds the pixel (66). , 63) to (66, 63) and pixel data of pixels (3, 66) to (65, 66). The second temporary storage unit 22 holds pixel data of six pixels (1, 64) to (2, 66).
[0072]
FIG. 27 shows the state of the pixel data held in the first temporary storage unit 21 and the second temporary storage unit 22 immediately after step S12-1 at time t + 3. In step S12-1, based on the determination results of the conditions 1 to 3, the pixels (66, 63) read from the memory 3 are stored in the storage area of the RAM 21c in which the pixel data of the pixels (66, 63) are stored. 66) The pixel data is overwritten.
[0073]
FIG. 28 shows that the six pixels (1, 64) to (2, 66) stored in the second temporary storage unit 22 are read out at step S12-3 at time t + 3 and stored in the third temporary storage unit 23. The state of the pixel data stored in the third temporary storage unit 23 immediately after writing is shown. The pixel (64, 63) generated last time (time t + 2) corresponds to the last pixel (64, 63) of the line (63 rows) of the image block 13. Therefore, according to step S12-2, the pixel data is loaded from the second temporary storage unit 22 to the third temporary storage unit 23 in step S12-3. Specifically, the first selector 26 is switched to the lower position, the pixel data of the register 22ad is stored in the register 23ab, the pixel data of the register 22ae is stored in the register 23ac, the pixel data of the register 22bd is stored in the register 23bb, and the register 22be is stored. Is written to the register 23bc, the pixel data of the register 22cd is written to the register 23cb, and the pixel data of the register 22ce is written to the register 23cc.
[0074]
FIG. 29 shows that the pixel data of the three pixels (3, 64) to (3, 66) are read from the RAMs 21 a to 21 c of the first temporary storage unit 21 at step S12-4 at time t + 3, and the third temporary storage is performed. The state of the pixel data held in the third temporary storage unit 23 immediately after writing to the unit 23 is shown. After the pixel data in the third temporary storage unit 23 is in the state shown in FIG. 27, the second selection unit 27 is switched in step S12-5. Specifically, the second selector 27 is switched so that the registers 23aa to 23ac are connected to the multiplier 31a, the registers 23ba to 23bc are connected to the multiplier 31b, and the registers 23ca to 23cc are connected to the multiplier 31c. Then, in step S12-6, the pixel data of the nine pixels stored in the third temporary storage unit 23 is made to the arithmetic circuit 20, and the output pixel (1, 64) is generated. After the above operation is completed, the setting of the first selector 26 is returned to the upper position.
[0075]
FIG. 30 shows the state of holding the pixel data in the first temporary storage unit 21 and the second temporary storage unit 22 immediately after generating the pixel (1, 64) at time t + 3, that is, immediately before step S12-1 at time t + 4. Is shown. The RAM 21a holds the pixel data of the pixels (3, 64) to (66, 64), the RAM 21b holds the pixel data of the pixels (3, 65) to (66, 65), and the RAM 21c stores the pixel data of the pixel (3). , 66) to (66, 66) are held. The second temporary storage unit 22 holds pixel data of six pixels (1, 64) to (2, 66).
[0076]
FIG. 31 shows the state of the pixel data stored in the first temporary storage unit 21 and the second temporary storage unit 22 immediately after step S12-1 at time t + 4. In step S12-1, the pixel data of the pixel (65, 1) read from the memory 3 is overwritten on the register 22ae storing the pixel (1, 64). The read speed, read destination, and read direction of the pixel data are determined according to FIGS. First, regarding the condition 1, the previous writing point of the RAM 21c during writing is an address for storing the pixel data of the pixel (66, 66), and the previous reading point stores the pixel data of the pixel (3, 66). The write point is immediately before the read point. As for the condition 2, the pixels (65, 1) to (66, 3) required for generating the next line (first row) are not yet stored in the second temporary storage unit 22. Further, regarding the condition 3, the pixels (66, 66) read from the memory 3 and written into the RAM 21c are not the pixels in the first three rows of the image block 13. Therefore, the loading method B is selected, and the pixel data of the pixel (65, 1) is read from the memory 3 and written into the register 22ae.
[0077]
FIG. 32 shows the state of the pixel data stored in the third temporary storage unit 23 immediately after the output pixel (2, 64) is generated at step S12-6 at time t + 4. In step S12-2 at time t + 4, it is determined that the pixel (1, 64) generated last time does not correspond to the last pixel of the line of the image block 13. In step S12-7, the pixel data in the third temporary storage unit 23 is shifted. In step S12-8, the pixels (4, 64) to (4) are stored in the third temporary storage unit 23 from the RAMs 21a to 21c. , 66) is loaded. Thereafter, in step S12-6, the pixel data of the nine pixels stored in the third temporary storage unit 23 is input to the arithmetic circuit 20, and an output pixel (2, 64) is generated.
[0078]
FIG. 33 shows the state of the pixel data stored in the first temporary storage unit 21 and the second temporary storage unit 22 immediately before step S12-1 at time t + 5, and FIG. 34 shows the state of step S12-1 at time t + 5. 2 shows the state of the pixel data stored in the first temporary storage unit 21 and the second temporary storage unit 22 immediately after. The reading speed, the reading destination, and the reading direction of the pixel data from the memory 3 are determined according to FIGS. For condition 1, the previous write point of the RAM 21c during writing is an address for storing the pixel (66, 66), and the previous read point is an address for storing the pixel (4, 66). Is not immediately before the read point. As for the condition 2, the pixel data of the pixels (65, 1) to (66, 3) necessary for generating the next line (first row) has not been stored in the second temporary storage unit 22 yet. Further, for the condition 3, the pixel (65, 1) previously read from the memory 3 and written in the register 22ae is a pixel in the first three rows of the image block 13. Accordingly, the loading method H is selected, and the pixel data of the pixel (65, 2) is read from the memory 3 and written into the register 22be, and the pixel data of the pixel (67, 1) is read from the memory 3 and written into the RAM 21a.
[0079]
FIG. 35 shows the state of the pixel data held in the third temporary storage unit 23 immediately after the output pixel (3, 64) is generated in step S12-6 at time t + 5. In step S12-2 at time t + 5, it is determined that the previously generated pixel (2, 64) does not correspond to the last pixel of the line of the image block 13. In step S12-7, the pixel data in the first temporary storage unit 21 is shifted. Then, in step S12-8, the pixel data of the pixels (5, 64) to (5, 66) is read from each of the RAMs 21a to 21c and written to the third temporary storage unit 23. Thereafter, in step S12-6, the pixel data of the nine pixels stored in the third temporary storage unit 23 is input to the arithmetic circuit 20, and output pixels (3, 64) are generated.
[0080]
From time t + 6 to t + 9, similarly to time t + 5, the pixel data read in the vertical direction from the memory 3 to the first and second temporary storage units 21 and 22 is written (see arrow C in FIG. 10). ). Further, four output pixels (4, 67) to (7, 64) are generated between times T + 6 to T + 9. As shown in FIG. 36, immediately before step S12-1 at time t + 10, pixel data of six pixels (65, 1) to (65, 3) is stored in the second temporary storage unit 22. The pixels (67, 1) and (68, 1) are stored in the RAM 21a, the pixels (67, 2) and (68, 2) are stored in the RAM 21b, and the pixel (67, 3) is stored in the RAM 21c.
[0081]
At step S12-1 at time t + 10, the loading method G is selected according to FIGS. 13 and 14, and the pixels (68, 3) and (69, 1) read from the memory 3 are stored in the RAM 21a as shown in FIG. It is memorized. Since the pixel (7, 64) generated last time in step S12-2 is not the last pixel of the line, the value in the first temporary storage unit 21 is shifted in step S12-7, and in step S12-8, The pixel data of the pixels (10, 64) to (10, 66) are read from the RAMs 21a to 21c and stored in the registers 23aa, 23ba, and 23ca. Finally, in step S12-6, the arithmetic circuit 20 outputs the output pixel (10, 10) based on the pixel data of the nine pixels (8, 64) to (10, 66) stored in the third temporary storage unit 23. 64).
[0082]
In the above-described embodiment, the present invention has been described by taking as an example a case where output pixels are generated from three pixels in the horizontal direction and three adjacent pixels in the vertical direction (see FIGS. 8A to 8C). ). M is an integer of 2 or more, and N is an integer of 2 or more. When the arithmetic circuit generates output pixels from M pixels in the horizontal direction and N pixels in the vertical direction, the first temporary storage unit The second temporary storage unit readablely stores from the first pixel to the (M-1) th pixel of each line from the first pixel to the last pixel of each line. Should be fine. Further, in this case, for the pixels belonging to the first to Nth lines of the image block, the pixel data is vertically transferred from the memory to the first and second temporary storage units as indicated by arrow C in FIG. Just load it.
[0083]
The present invention is not limited to the above embodiment, and various modifications are possible. For example, the present invention can be applied to the resolution conversion circuit 6 in the image processing system 1 of FIG. In addition, the present invention can be applied to an image processing system provided in another device such as a digital video other than the digital camera. The present invention is also applicable to a case where one frame image is processed without being divided into image blocks.
[0084]
【The invention's effect】
As is clear from the above description, in the present invention, before the line is updated, the (M-1) th pixel from the first pixel of the next horizontal pixel row is stored in the second temporary storage unit before the line is updated. And from the second temporary storage means to the third temporary storage means. Therefore, even at the time of updating the line, the third temporary storage unit can output a valid pixel set necessary for generating an output pixel to the calculation unit. In other words, it is possible to eliminate the processing loss at the time of updating the line.
[0085]
In addition, by reading out the first to Nth horizontal pixel columns of the image as described above and writing them in the second and third temporary storage units, even when the image is updated, the third temporary pixel column is read. The storage means can output an effective set of pixels necessary for generating an output pixel to the arithmetic unit. In other words, the loss of processing at the time of updating the image can be eliminated.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an image processing system of a digital camera including a YC processing circuit according to an embodiment of the present invention.
FIG. 2 is a flowchart for explaining the operation of the image processing system of FIG. 1;
FIG. 3 is a circuit diagram showing a YC processing circuit.
FIG. 4 is a diagram showing an image for one frame.
FIG. 5 is a diagram showing assignment of coordinates to pixels.
FIG. 6 is a schematic diagram showing a structure of pixel data.
FIG. 7 is a schematic diagram showing a RAM.
FIGS. 8A, 8B, and 8C are diagrams for explaining a method of generating an output pixel.
FIG. 9 is a diagram for explaining a write destination of pixel data of each pixel in an image block.
FIG. 10 is a diagram illustrating a writing order of pixel data of pixel data in an image block.
FIG. 11 is a diagram illustrating an output order of output pixels.
FIG. 12 is a flowchart illustrating the operation of the YC processing circuit.
FIG. 13 is a flowchart of a subroutine of step S12-1.
FIG. 14 is a table showing conditions for determining a loading method for first and second storage units;
FIG. 15 is a table illustrating the operation of the YC processing circuit from time t to time t + 143.
FIG. 16 is a table for explaining the operation of the YC processing circuit from time t to time t + 143.
FIG. 17 is a diagram illustrating a time when pixel data of each pixel is transferred from a memory to a RAM.
FIG. 18 is a diagram illustrating a time when pixel data stored in a RAM is transferred to a third temporary storage unit.
FIG. 19 is a diagram illustrating the generation time of each generated pixel.
FIG. 20 is a schematic diagram showing pixel data held in first and second temporary storage units immediately after time t.
FIG. 21 is a schematic diagram showing pixel data held in first and second temporary storage units after reading pixel data from a memory to a RAM at a time t + 1.
FIG. 22 is a schematic diagram showing pixel data held in the third temporary storage unit before the register of the third temporary storage unit is shifted at time t + 1.
FIG. 23 is a schematic diagram illustrating pixel data held in the third temporary storage unit after the register of the third temporary storage unit is shifted at time t + 1.
FIG. 24 is a schematic diagram showing pixel data stored in a third temporary storage unit after pixel data has been transferred one pixel at a time from a RAM to a third temporary storage unit at time t + 1.
FIG. 25 is a schematic diagram illustrating pixel data held in a third temporary storage unit when an output pixel is generated at time t + 1.
FIG. 26 is a schematic diagram showing pixel data held in first and second temporary storage units immediately after time t + 2.
FIG. 27 is a schematic diagram illustrating pixel data stored in first and second temporary storage units after reading pixel data from a memory to a RAM at a time t + 3.
FIG. 28 is a schematic diagram showing pixel data held in the third temporary storage unit after transferring pixel data from the second temporary storage unit to the third temporary storage unit;
FIG. 29 is a schematic diagram showing pixel data stored in the third temporary storage unit after pixel data has been transferred one pixel at a time from the RAM to the third temporary storage unit at time t + 3.
FIG. 30 is a schematic diagram showing the pixel data stored in the first and second temporary storage units immediately after time t + 3.
FIG. 31 is a schematic diagram showing pixel data held in first and second temporary storage units after reading pixel data from a memory to a RAM at time t + 4.
FIG. 32 is a schematic diagram illustrating pixel data held in a third temporary storage unit after an output pixel is generated at time t + 4.
FIG. 33 is a schematic diagram showing pixel data held in first and second temporary storage units immediately after time t + 4.
FIG. 34 is a schematic diagram showing pixel data held in first and second temporary storage units after reading pixel data from a memory to a RAM and a register at time t + 5.
FIG. 35 is a schematic diagram illustrating pixel data held in a third temporary storage unit after an output pixel is generated at time t + 5.
FIG. 36 is a schematic diagram showing pixel data held in first and second temporary storage units immediately after time t + 9.
FIG. 37 is a schematic diagram showing pixel data held in first and second temporary storage units after reading pixel data from a memory to a RAM and a register at time t + 10.
FIG. 38 is a schematic diagram showing a writing order of pixel data for one frame.
FIG. 39 is a schematic diagram showing a writing order of pixel data for each image block.
FIG. 40 is a schematic diagram for explaining a loss at the time of updating a line.
FIG. 41 is a schematic diagram for explaining a loss at the time of updating an image block.
[Explanation of symbols]
1 Image processing system
2 Imaging circuit
3 memory
4 YC processing circuit
5 SRAM
6. Resolution conversion circuit
7 Compression processing circuit
8 Recording media
9 Control circuit
9a Clock control unit
11 images
12 pixels
13 pixel block
14a Pixel data section
14b Even-odd bit
14c Valid bit
20 arithmetic circuit
21 First temporary storage unit
21a, 21b, 21c RAM
22 Second temporary storage unit
23 Third temporary storage unit
26 First Selection Unit
27 Second Selection Unit
31a, 31b, 31c Multiplier
32 adder

Claims (7)

画像を記憶する画像記憶部と、
前記画像に含まれる水平方向にM個で垂直方向にN個の互いに隣接する画素を演算処理して出力画素を生成し、Mは2以上の整数で、Nは1以上の整数である演算部と、
前記画像の各水平方向画素列の第M番目の画素から最後尾の画素までを、読み出し可能に記憶する第1の一時記憶部と、
前記画像の各水平方向画素列の先頭の画素から第M−1番目の画素までを、読み出し可能に記憶する第2の一時記憶部と、
前記第1の一時記憶部に記憶された画素を遅延させると共に、前記第2の一時記憶部から画素が入力され、前記水平方向にM個で垂直方向にN個の互いに隣接する画素を前記演算部に同時に出力する第3の一時記憶部と
を備える、画像処理装置。
An image storage unit for storing an image,
A computing unit that computes M horizontally and N vertically adjacent pixels contained in the image to generate output pixels, where M is an integer of 2 or more and N is an integer of 1 or more. When,
A first temporary storage unit that readablely stores from the Mth pixel to the last pixel of each horizontal pixel column of the image,
A second temporary storage unit that readablely stores the pixels from the first pixel to the (M-1) th pixel of each horizontal pixel column of the image,
The pixels stored in the first temporary storage unit are delayed, and pixels are input from the second temporary storage unit, and the M pixels in the horizontal direction and the N pixels adjacent to each other in the vertical direction are subjected to the arithmetic operation. An image processing device comprising: a third temporary storage unit that outputs the image data to the unit at the same time.
1つの水平方向画素列の最後尾の出力画素の生成に使用される画素が前記第3の一時記憶部に記憶される前に、次の水平方向画素列の先頭の画素から第M−1番目の画素までを前記画像記憶部から読み出して前記第2の一時記憶部に書き込み、かつ
前記1つの水平方向画素列に対応する最後尾の出力画素の生成に使用される画素が前記第3の一時記憶部から前記演算部に出力されると、前記次のラインの先頭の画素から第M−1番目の画素を前記第2の一時記憶部から読み出して前記第3の一時記憶部に書き込む、制御部をさらに備える、請求項1に記載の画像処理装置。
Before the pixel used to generate the last output pixel of one horizontal pixel column is stored in the third temporary storage unit, the (M−1) th pixel from the first pixel of the next horizontal pixel column is stored. Pixels are read from the image storage unit and written to the second temporary storage unit, and the pixel used for generating the last output pixel corresponding to the one horizontal pixel column is the third temporary pixel. When output from the storage unit to the arithmetic unit, the (M-1) th pixel from the head pixel of the next line is read from the second temporary storage unit and written to the third temporary storage unit. The image processing device according to claim 1, further comprising a unit.
前記Nは2以上の整数であり、
前記制御部は、前記画像の第1番目から第N番目の水平方向画素列に属する画素に対して、垂直方向に並ぶN個の画素を前記画像記憶部から順次読み出して前記第1の一時記憶部又は前記第2の一時記憶部に書き込む操作を、読み出し位置を水平方向に移動しつつ繰り返す、請求項2に記載の画像処理装置。
N is an integer of 2 or more;
The control unit sequentially reads N pixels arranged in the vertical direction from the image storage unit for pixels belonging to the first to Nth horizontal pixel columns of the image, and stores the first temporary storage in the first temporary storage. The image processing apparatus according to claim 2, wherein an operation of writing to the storage unit or the second temporary storage unit is repeated while moving a reading position in a horizontal direction.
前記演算部は単位時間毎に1個の出力画素を生成し、
前記第1の一時記憶部はN個のRAMを備え、
前記制御部は、書き込み中である前記RAMの前回の書き込みアドレスが前回の読み出しアドレスの直前であれば、前記単位時間内に1個の画素を、前記画像記憶部から読み出して前記RAM又は前記第2の一時記憶部に書き込み、書き込み中である前記RAMの前回の書き込みアドレスが前回の読み出しアドレスの直前より1つ以上前であれば、前記単位時間内に複数個の画素を、前記画像記憶部から読み出して前記RAM及び/又は前記第3の一時記憶部に書き込む、請求項3に記載の画像処理装置。
The arithmetic unit generates one output pixel per unit time,
The first temporary storage unit includes N RAMs,
If the previous write address of the RAM being written is immediately before the previous read address, the control unit reads one pixel from the image storage unit within the unit time and reads out the one pixel from the image storage unit. If the last write address of the RAM being written to and being written to the RAM is one or more times before the immediately preceding read address, a plurality of pixels are stored in the image storage unit within the unit time. The image processing apparatus according to claim 3, wherein the image processing apparatus reads data from the memory and writes the data to the RAM and / or the third temporary storage unit.
画像記憶部に記憶された画像に含まれる水平方向にM個で垂直方向にN個の互いに隣接する画素を演算処理して出力画素を生成し、Mは2以上の整数で、Nは1以上の整数である、画像処理方法であって、
前記画像記憶部から読み出し位置を水平方向に移動しつつ画素を読み出して第1の一時記記憶部に書き込み、
前記第1の一時記憶部から画素を読み出して、第3の一時記憶手段に書き込み、
前記第3の一時記憶手段で遅延させて、前記水平方向にM個で垂直方向にN個の互いに隣接する画素を演算部に出力し、
前記演算回路により前記M×N個の画素から出力画素を生成し、
1つの水平方向画素列に対応する最後尾の出力画素の生成に使用される画素が前記第3の一時記憶部に記憶される前に、次の水平方向画素列の先頭の画素から第M−1番目の画素までを前記画像記憶部から読み出して第2の一時記憶部に書き込み、
前記1つの水平方向画素列に対応する最後尾の出力画素の生成に使用される画素が前記第3の一時記憶部から前記演算部に出力されると、前記第2の一時記憶部から前記次のラインの先頭の画素から第M−1番目の画素までを読み出して前記第3の一時記憶部に書き込む、画像処理方法。
An M is an integer greater than or equal to 2 and N is greater than or equal to 1 and an output pixel is generated by arithmetically processing M horizontally and N vertically adjacent pixels included in the image stored in the image storage unit. An image processing method, which is an integer of
Pixels are read out from the image storage unit while moving the readout position in the horizontal direction, and written to the first temporary storage unit;
Reading a pixel from the first temporary storage unit and writing it to a third temporary storage unit;
Outputting the M pixels in the horizontal direction and the N pixels adjacent to each other in the vertical direction to the arithmetic unit by delaying in the third temporary storage means;
Generating an output pixel from the M × N pixels by the arithmetic circuit;
Before the pixel used for generating the last output pixel corresponding to one horizontal pixel column is stored in the third temporary storage unit, the M-th to M-th pixels are output from the first pixel in the next horizontal pixel column. Up to the first pixel is read from the image storage unit and written to the second temporary storage unit,
When a pixel used to generate the last output pixel corresponding to the one horizontal pixel row is output from the third temporary storage unit to the arithmetic unit, the next temporary storage unit outputs the next pixel from the second temporary storage unit. An image processing method of reading out from the top pixel to the (M-1) th pixel of the line and writing the readout into the third temporary storage unit.
前記Nは2以上の整数であり、
前記画像の第1番目から第N番目の水平画素列に属する複数の画素に対して、垂直方向に並ぶN個の画素を前記画像記憶部から順次読み出して前記第1の一時記憶部又は前記第2の一時記憶部に書き込む操作を、読み出し位置を水平方向に移動しつつ繰り返す、請求項5に記載の画像処理方法。
N is an integer of 2 or more;
For a plurality of pixels belonging to the first to Nth horizontal pixel columns of the image, N pixels arranged in a vertical direction are sequentially read out from the image storage unit and the first temporary storage unit or the 6. The image processing method according to claim 5, wherein the operation of writing to the second temporary storage unit is repeated while moving the read position in the horizontal direction.
前記演算部は単位時間毎に1個の出力画素を生成し、
前記第1の記憶部はN個のRAMを備え、
書き込み中である前記RAMの前回の書き込みアドレスが前回の読み出しアドレスの直前であれば、前記単位時間内に1個の画素を、前記画像記憶部から読み出して前記第2の一時記憶部又は前記第3の一時記憶部に書き込み、
書き込み中であるRAMの前回の書き込みアドレスが前回の読み出しアドレスの直前より1つ以上前であれば、前記単位時間内に複数個の画素を、前記画像記憶部から読み出して前記RAM又は前記第3の一時記憶部に書き込む、
請求項5に記載の画像処理方法。
The arithmetic unit generates one output pixel per unit time,
The first storage unit includes N RAMs,
If the previous write address of the RAM being written is immediately before the previous read address, one pixel is read from the image storage unit within the unit time and the second temporary storage unit or the second 3 is written in the temporary storage unit,
If the last write address of the RAM being written is one or more before the immediately preceding read address, a plurality of pixels are read from the image storage unit within the unit time, and the RAM or the third pixel is read. Write to the temporary storage of
The image processing method according to claim 5.
JP2003085177A 2002-03-27 2003-03-26 Image processing apparatus and image processing method Expired - Fee Related JP4155856B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003085177A JP4155856B2 (en) 2002-03-27 2003-03-26 Image processing apparatus and image processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002087854 2002-03-27
JP2003085177A JP4155856B2 (en) 2002-03-27 2003-03-26 Image processing apparatus and image processing method

Publications (3)

Publication Number Publication Date
JP2004007511A true JP2004007511A (en) 2004-01-08
JP2004007511A5 JP2004007511A5 (en) 2006-03-02
JP4155856B2 JP4155856B2 (en) 2008-09-24

Family

ID=30446089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003085177A Expired - Fee Related JP4155856B2 (en) 2002-03-27 2003-03-26 Image processing apparatus and image processing method

Country Status (1)

Country Link
JP (1) JP4155856B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101556931B1 (en) 2009-02-24 2015-10-02 삼성전자주식회사 Apparatus and method for processing image data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101556931B1 (en) 2009-02-24 2015-10-02 삼성전자주식회사 Apparatus and method for processing image data

Also Published As

Publication number Publication date
JP4155856B2 (en) 2008-09-24

Similar Documents

Publication Publication Date Title
JP4772281B2 (en) Image processing apparatus and image processing method
JP2006186917A (en) Image processing apparatus and image processing method
JP2013062714A (en) Imaging apparatus and signal transfer apparatus
JP2004304387A (en) Image processing apparatus
JP2005018730A (en) Line buffer for color interpolation, and line data providing device and method
US7808539B2 (en) Image processor that controls transfer of pixel signals between an image sensor and a memory
US6542429B2 (en) Method of controlling line memory
EP1492326B1 (en) Image processing device and image processing method
JP4155856B2 (en) Image processing apparatus and image processing method
JP2000311241A (en) Image processor
JP5718029B2 (en) Imaging device
JP2004080427A (en) Imaging apparatus and image form converting method
JPH07105907B2 (en) Image signal processing apparatus and processing method thereof
JP2002199281A (en) Image processing apparatus
JP4725053B2 (en) Liquid crystal driving device and liquid crystal driving method
JP4525382B2 (en) Display device and imaging device
JP2009033438A (en) Imaging apparatus
JP4008400B2 (en) Image processing apparatus, image processing method, image reading apparatus, and image forming apparatus
JPS60103779A (en) Picture signal processor
JPH09128475A (en) Information reader
JP2001186455A (en) Digital image processor and digital image processing method
JP2006060307A (en) Image processor and image processing method for correcting defective pixel
JP2008281536A (en) Image processing apparatus, image processing program, and imaging device
JP2000032355A (en) Device and method for camera control and storage medium
JP2003047013A (en) Imaging apparatus

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071106

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071211

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080430

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

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

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4155856

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130718

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees