JP4136255B2 - Image processing apparatus and method - Google Patents

Image processing apparatus and method Download PDF

Info

Publication number
JP4136255B2
JP4136255B2 JP2000053737A JP2000053737A JP4136255B2 JP 4136255 B2 JP4136255 B2 JP 4136255B2 JP 2000053737 A JP2000053737 A JP 2000053737A JP 2000053737 A JP2000053737 A JP 2000053737A JP 4136255 B2 JP4136255 B2 JP 4136255B2
Authority
JP
Japan
Prior art keywords
matrix
image data
horizontal
vertical
averaging
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000053737A
Other languages
Japanese (ja)
Other versions
JP2001245141A5 (en
JP2001245141A (en
Inventor
克己 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2000053737A priority Critical patent/JP4136255B2/en
Publication of JP2001245141A publication Critical patent/JP2001245141A/en
Publication of JP2001245141A5 publication Critical patent/JP2001245141A5/ja
Application granted granted Critical
Publication of JP4136255B2 publication Critical patent/JP4136255B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4015Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Color Television Image Signal Generators (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は画像処理装置及びその方法に関し、特にベイヤー配列画像から縮小画像を生成する画像処理装置及びその方法に関する。
【0002】
【従来の技術】
一般に、デジタルスチルカメラやデジタルビデオカメラ等の撮像装置において、その撮像センサによって撮影・出力される被写体の画像データは、原色系であればRGBのベイヤー配列である。このRGBのベイヤー配列とは、解像度の上で重要なGを市松状に配置することによって、奇数/偶数番走査線からRG/BG信号、又はBG/RG信号を検出する配列である。ベイヤー配列の種類としては、図2の(A)〜(D)に示す4種類が一般的である。
【0003】
この様なベイヤー配列をなすRGB画像データを縮小する方法としては、RGBそれぞれについて、注目画素に存在しない他の2つの要素(色成分)を、周辺画素を利用して線形もしくは、適応的に補間する方法が良く知られている。
【0004】
ただし、入力とする画像サイズに対して間引き処理を行って出力画像サイズを十分に縮小する様な場合には、生成される画質よりも、ハードウエア上の制限や入出力のレーテンシの観点から、画素を補間せずに入力されたベイヤー配列に基づいてRGB画像を作成することがある。この方法の具体例について、図3を参照して以下に説明する。
【0005】
図3は、従来の縮小画像生成回路の構成を示す図である。該構成によれば、ライン毎に入力されるベイヤー配列画像のRGBそれぞれの画素に対して、多段のローパスフィルタ(以降、LPF)処理と画素間引き処理を水平及び垂直方向にて行なうことにより、入力原画像サイズを徐々に縮小していく。
【0006】
図3に示す302が、RGB縮小サムネイル画像の生成を実現する縮小部である。入力されたベイヤー配列画像は、水平LPF302にて水平方向の高周波成分がカットされる。そして水平間引き部304において所望の間隔にて水平方向に画素をサンプリングすることによって、水平方向が縮小された一次的な画像を作成する。更に、以上の水平方向と同様の処理を次段の垂直LPF305及び垂直間引き部306において行うことにより、水平・垂直方向ともに縮小された画像が生成される。
【0007】
この水平方向及び垂直方向のLPF処理及び間引き処理を複数回繰り返すこと、即ち縮小部を複数段備えることによって、入力画像サイズから所望の締小率のRGB画像を生成して出力することができた。
【0008】
【発明が解決しようとする課題】
しかしながら、上記従来の縮小画像生成回路においては、縮小率が大きくなるに従ってより多くの縮小部を備える必要がある。
【0009】
縮小率に応じた十分な段数のLPF及び間引き部による処理が行えなかった場合には、生成される縮小画像にはモアレが発生してしまい、著しい画質劣化が生じてしまう。
【0010】
また、画像データがライン順次に入力される場合には、垂直方向のLPFを実現するためのタップメモリが必要となるため、備えるべきメモリ容量が莫大になってしまうという問題がある。
【0011】
また、上記のように縮小画像生成処理をハードウエアによって実現する場合には、フィルタ段数は固定となるため、処理できる縮小率の範囲が限定されてしまい、汎用性に乏しい。
【0012】
ここで、上述したようなLPFを使用した縮小方法の他にも、図4に示すような領域積分方法によって縮小画像を生成する方法も知られている。この方法によれば、固定サイズ(この場合9×9)のマトリクスを各RGBプレーン上に敷き詰め、該マトリクス単位で平均化を行って1画素として出力することによって、縮小画像を得る。
【0013】
しかしながらこの方法においても、入力画像サイズと出力画像サイズの関係によっては、マトリクス処理の対象とならない画素が水平、垂直とも数多く発生してしまう場合があり、入力情報を十分に使用することができないという問題があった。図4に示す例では、水平/垂直それぞれ42/28画素が切り捨てられてしまう。
【0014】
そこで領域積分方法を適用した縮小を行う際に、マトリクス処理の対象外となる画素を無くそうとすると、マトリクスサイズの制御や平均時の計算方法等が複雑になってしまうため、ハードウエアで実現する事が非常に困難であった。
【0015】
本発明は上述した問題を解決するために成されたものであり、ベイヤー配列をなす原画像から、少ないメモリ容量にて良質な縮小画像を生成することが可能な画像処理装置及びその方法を提供することを目的とする。
【0016】
【課題を解決するための手段】
上記目的を達成するための一手段として、本発明の画像処理装置は以下の構成を備える。
【0017】
即ち、各成分がベイヤー配列をなす画像データを入力し、その縮小画像データを出力する画像処理装置であって、各成分がベイヤー配列をなす画像データを該成分毎のプレーンに分離する分離手段と、前記画像データの水平及び垂直方向の縮小率に基づいて、各プレーン毎にマトリクスの水平及び垂直方向のサイズを決定するマトリクス決定手段と、各プレーン毎に、前記マトリクス決定手段において決定されたマトリクスの水平方向サイズに基づいて、画像データを水平方向に積分して平均化する水平平均化手段と、各プレーン毎に、前記水平平均化手段において水平方向に平均化された画像データを、前記マトリクスの垂直方向サイズに基づいて垂直方向に積分して平均化する垂直平均化手段と、前記垂直平均化手段において垂直方向に平均化された各プレーンの画像データを、前記ベイヤー配列に応じて点順次に出力する出力手段と、を有することを特徴とする。
【0018】
更に、前記垂直平均化手段において垂直方向に平均化された各プレーンの画像データのそれぞれ1ライン分を保持する保持手段を備え、前記出力手段は、前記ベイヤー配列に応じて前記保持手段に保持された画像データを読み出すことによって各プレーンの画像データを点順次に出力することを特徴とする。
【0019】
【発明の実施の形態】
以下、本発明に係る一実施形態について、図面を参照して詳細に説明する。
【0020】
図1は、本実施形態における縮小画像作成回路の構成を示すブロック図である。以下、各構成について詳細に説明する。
【0021】
[RGB分離回路102]
RGB分離回路102には、図2に示す4種類のベイヤー配列のいずれかの形態を有する画像が、ライン単位で水平方向の画素順次に入力される。ただしRGB分離回路102へは、図2に示すいずれのベイヤー配列が入力されるかを表す2ビットの識別信号がパラメータとして入力される必要がある。RGB分離回路102からは、現タイミングにおけるデータがR,G,Bのどの成分であるかを示す同期信号が出力される。
【0022】
[任意サイズ積分マトリクス発生部106]
任意サイズ積分マトリクス発生部106は、RGB分離回路102からの出力同期信号を入力し、図5に示す各積分マトリクスの右端列と右下端を示すそれぞれのパルス信号MAT_H,R_MAT_CLRを出力する。
【0023】
ここで図5は、入力画像を水平方向3000画素、垂直方向2000画素からなるベイヤー配列とし、出力サムネイル画像サイズを水平方向162画素、垂直方向108画素とする場合について、特にRBプレーンの例を示してある。即ち、RBプレーンにおける処理対象となる画素数は、ベイヤー配列の特性により水平/垂直方向にそれぞれ1500/1000画素となる。尚、Gプレーンについては1500/2000画素となる。
【0024】
任意サイズ積分マトリクス発生部106では、水平/垂直方向の縮小率を決定する。図5に示す例によれば、水平方向の縮小率THINhは162/1500=0.108、即ちTHINh=10.8%である。同様に、垂直方向のRBプレーンの縮小率THINrbvは108/1000=0.108、即ちTHINrbv=10.8%である。また、Gプレーンの縮小率THINgvは108/2000=0.054、即ちTHINgv=5.4%(右に1ビットシフト)となる。
【0025】
本実施形態においては、除算の結果として余りが生じる場合にも問題はなく、商をパラメータ精度として存在する桁数で丸めることで、処理可能である。
【0026】
上述したようにして縮小率を設定した任意サイズマトリクス発生部106では、以下に示すBresenhamの原理を応用したアルゴリズムによって、各プレーン上のマトリクスの右端列のタイミング(MAT_H)を発生する。即ち、任意サイズマトリクス発生部106は、以下に示す論理回路を実現する。
【0027】
TMP = THINh − 100
IF(TMP > 0) THEN
MAT_H = 1
TMP = TMP − 100
ELSE
MAT_H = 0
TMP = TMP + THINh …(1)
ここで、THINh=10.8であり、MAT_Hはマトリクス右端列を表す信号である。即ち、MAT_Hが「1」であれば、マトリクス右端を示す。尚、TMPは任意サイズマトリクス発生部106内にフリップフロップを適宜備えることによって実現される変数を示す。
【0028】
任意サイズ積分マトリクス発生部106においては即ち、水平方向の縮小率THINhと100%との差分に対して、THINhを画素毎に足しこんでいき、その累積が100%を越えた時点で、マトリクス右端列を検出する。
【0029】
尚、任意サイズ積分マトリクス発生部106では、垂直方向についても上記水平方向の場合と同様の論理回路を構成することによって、マトリクスの右下端のタイミングを示す信号R_MAT_CLRを発生する。任意サイズマトリクス発生部106においては、この水平、垂直2方向についての論理回路を、RGBの各プレーンに対して構成する。
【0030】
任意サイズマトリクス発生部106から出力されるマトリクスのサイズは、水平/垂直ともに、縮小率が0でない場合にはN(自然数)、もしくはN+1の2種類のみ、即ち、必ず偶数と奇数の2つの値の組み合わせとなる。図5に示す例では、水平方向サイズが9画素のマトリクスと10画素のマトリクスが発生していることが分かる。尚、この2種類の値は、縮小率を決定した時点で自明となるため、縮小率(即ち入/出力画像サイズ)とともに、本装置にパラメータとして予め与えられる。
【0031】
以上説明したように任意サイズマトリクス発生部106によれば、入出力画像サイズによらず、入力画像データの全てを有効に活用することができる。
【0032】
[水平積分&平均回路103]
水平積分&平均回路103においても、RGBの各プレーン毎に処理部を設ける。ここで図6に、水平積分&平均回路103におけるRプレーン処理部についての主な構成を示す。
【0033】
上述したように、任意サイズ積分マトリクス発生部106から発生されるマトリクスの水平/垂直方向それぞれのサイズは、必ず偶数と奇数の2つの値の組み合わせとなることを利用して、マトリクスの水平方向におけるサイズが偶数である場合のサイズ(画素数)の逆数をパラメータEVEN_NUM_H、奇数である場合のサイズ(画素数)の逆数をパラメータODD_NUM_Hとすれば、以下の論理を図6に示すように回路化することで、マトリクスの水平ラインの積分及び平均処理を自動的に行うことが可能となる。
【0034】
IF(MAT_H = 1)THEN
IF(ODD_EVEN = 0)
R_AVE = R_SUM_H × EVEN_NUM_H
ELSE
R_AVE = R_SUM_H ×ODD_NUM_H
ODD_EVEN = 0
ELSE
ODD_EVEN = NOT ODD_EVEN
R_SUM_H = R_SUM_H + R_DATA …(2)
ここで、ODD_EVENは回路内に備える1ビットのフリップフロップ(不図示)に対応し、マトリクス内の画素数が奇数/偶数のいずれであるかを判別するために使用される変数を示す。R_DATAは入力データ、R_SUM_Hは水平方向のR値の累計を示し、R_AVEがRプレーン上のマトリクスの一行の平均値を表す信号として得られる。ただし、MAT_H=1の場合のみ、R_AVEの値は有効となる。
【0035】
水平積分&平均回路103においては即ち、マトリクス右端列において、マトリクスサイズが偶数であるか奇数であるかに応じて、水平方向の累積値に該マトリクス内の画素数の逆数を乗じることによって平均値を算出する。一方、マトリクス右端列でなければ、偶奇判定のための変数ODD_EVENの設定処理と共に、水平方向のR値を累積する。
【0036】
図6によれば即ち、入力されたR_DATAが積分回路601で積分され、R_SUM_Hを出力する。マトリクス右端列を示すMAT_Hは、ベイヤー配列の特性に基づき1/2分周回路603で1/2分周され、マルチプレクサ604に対するイネーブル信号として入力される。マルチプレクサ604へはEVEN_NUM_H及びODD_NUM_Hが入力されており、不図示のODD_EVEN信号を選択信号として、そのいずれかがMAT_Hのタイミングで出力され、乗算器602においてR_SUM_Hと乗算される。この乗算結果が、Rプレーン上のマトリクスの一行の平均値を表すR_AVEが信号となる。
【0037】
水平積分&平均回路103においては、B,Gプレーンについても図6と同様の回路構成を備える。
【0038】
[垂直積分&平均回路104]
垂直積分&平均回路104においても、RGBの各プレーン毎に処理部を設ける。ここで図7に、メモリ107及び垂直積分&平均回路104におけるRプレーン処理部についての主な構成を示す。
【0039】
垂直積分&平均回路104では、各マトリクスの水平方向に平均化されたデータについて、更に垂直方向に積分及び平均を行なうことにより、マトリクス全体の平均化を行う。
【0040】
水平積分&平均回路103から入力されるR_AVE信号は、マトリクスの先頭ライン(MAT_FIRST_LINE)においてメモリ107へ書き込まれ、それ以外の場合には加算器701において、同一マトリクス内の前ラインまでの積分結果R_INTGと加算(積分)される。また、マトリクスの最終行において加算器701の出力を平均化する。
【0041】
ここでも水平積分&平均回路103と同様に、任意サイズ積分マトリクス発生部106から発生されるマトリクスの水平/垂直方向それぞれのサイズが必ず偶数と奇数の2つの値の組み合わせとなることを利用する。即ち、マトリクスの垂直方向におけるサイズが偶数である場合のサイズ(画素数)の逆数をパラメータEVEN_NUM_V、奇数である場合のサイズ(画素数)の逆数をパラメータODD_NUM_Vとし、マトリクス内においてライン数の偶奇を判定して選択し、乗算を行うことにより、Rプレーン上のマトリクス内の平均値を表すR_MAT_AVEを得る。このR_MAT_AVEはデコーダ703を介してメモリ107へ書き込まれる。このデコーダ703における動作は、以下の論理に従う。
【0042】
IF(R_MAT_CLR = 1)
THEN
MEM = R_MAT_AVE
ELSE IF(MAT_FIRST_LINE = 1)
THEN
MEM = R_AVE
ELSE
MEM = R_INTG …(3)
ここでR_MAT_CLR信号は、任意サイズ積分マトリクス発生部106にて発生した水平方向と垂直方向のタイミングパルスのANDゲート出力により得られる、マトリクスの右下端を表す信号である。またMAT_FIRST_LINE信号は、各マトリクスの先頭ラインであることを示す信号である。
【0043】
デコーダ703においては即ち、マトリクス右下端であればR_MAT_AVEをメモリ107へ書き込み、マトリクス先頭ラインであればR_AVEをメモリ107に書き込み、その他の場合はマトリクス内の累積値であるR_INTGをメモリ107に書き込む。
【0044】
図7によれば即ち、Rラインの有効同期信号に基づいて、立ち上がり検出回路704でブロックの開始を検出し、それを1/2分周回路705で1/2分周した信号をマルチプレクサ706のイネーブル信号として入力する。マルチプレクサ706へはEVEN_NUM_V及びODD_NUM_Vが入力されており、不図示の選択信号によってそのいずれかが上記ブロック開始のタイミングで出力され、乗算器702においてR_AVEの累積値と乗算される。この乗算結果がマルチプレクサ707を介して、Rプレーン上のマトリクス内の平均値を表すR_OUT信号として出力される。
【0045】
マルチプレクサ707は、後段のRGB点順次並び替え部105の制御に基づいて、乗算器702における乗算結果であるR_MAT_AVE、もしくはメモリ107に既に格納されているRの平均値(R_MAT_AVE)のいずれかを、Rライン有効同期信号に基づいてR_OUT信号として出力する。
【0046】
以上のように、垂直積分&平均回路104においてマトリクスの垂直方向にも平均化された結果は、各色成分毎にR_OUT,G_OUT,B_OUTとして出力される。
【0047】
以上説明したように、水平積分&平均回路103及び垂直積分&平均回路104においては、2つのマトリクスサイズに応じた逆数をパラメータとし、そのいずれかを自動的に選択して乗算を行うことによって縮小画像を出力する。即ち、縮小率に応じた縮小が可能であることから、本実施形態の縮小画像生成回路においては縮小率に汎用性があることが分かる。
【0048】
[RGB点順時並び替え部105]
図8は、メモリ107及びRGB点順時並び替え部105の主な構成を示すブロック図である。
【0049】
RGB点順時並び替え部105においては、垂直積分&平均回路104からRGBそれぞれの出力データR_OUT,G_OUT,B_OUTを取り出し、一旦802等の記憶素子に保持した後、RGBの点順時にて出力する。尚、図8において、データ同期信号はRGB分離回路102から入力され、マトリクスの右下端を表すR_MAT_CLR等のマトリクス同期信号は垂直積分&平均回路104から入力される。
【0050】
図2に示したようなベイヤー配列によれば、奇数/偶数ラインの組によってRGBの各色成分が揃うため、RGB点順時並び替え部105からデータが出力されるラインは、必ず原画像の偶数ライン目となることは明らかである。ただし原画像において、RもしくはB成分のいずれかが偶数ラインで、もう一方が奇数ラインで入力される。即ち、コントローラ801は現在入力されている原画像のベイヤー配列の種類に基づいて、RGB各プレーンにおけるマトリクス右下端画素の位置関係を判断し、点順時にて出力する。
【0051】
以下、点順次並び替え部105における動作について、具体的に説明する。
【0052】
図9は、入力画像が図2の(A)に示すベイヤー配列をなす場合の、RGB点順次出力を示すタイミングチャートである。
【0053】
同図によれば、コントローラ801は、例えばRプレーンについてマトリクスの最終ラインであるX番目(Xは自然数)ライン時には、垂直積分&平均回路104よりR_OUTが入力されるが、この出力は行わない。上述したように垂直積分&平均回路104において、R_OUTはR_MAT_CLR信号に同期してメモリ107に書き込まれている。
【0054】
そして、Rのマトリクスにおける最終ラインの次ライン(X+1番目ライン)において、該ラインは必ずG,Bの各マトリクスの最終ラインとなるので、コントローラ801はメモリ107に対して制御信号R_Memoryを出力することによって、メモリ107に保持されたRデータを、G,Bプレーンのマトリクス右下端を示すタイミング信号B_MAT_CLRに同期して、マルチプレクサ707を介して読み出すことにより、R_OUT,G_OUT,B_OUTの順に出力する。
【0055】
以上のようにして、R,G,B各プレーンについて垂直積分&平均回路104でマトリクス内の積分&平均化したデータ(R_OUT,G_OUT,B_OUT)を画素毎に、RGB順に点順次出力する。この出力が即ち、本実施形態の縮小画像生成回路において出力される縮小画像データとなる。
【0056】
尚、入力画像が図2の(B)に示すベイヤー配列をなす場合であっても、そのタイミングチャートは図9に示す様になることは言うまでもない。また、入力画像が図2の(C),(D)のいずれかに示すベイヤー配列をなす場合には、図9においてRとBを入れ換えたタイミングチャートが得られることは言うまでもない。
【0057】
従って本実施形態の縮小画像生成回路においては、垂直積分&平均回路104及びRGB点順次並べ替え部105において使用されるメモリ107の容量として、RGB毎に縮小画像の1ライン分、即ち計3ライン分のみを用意すれば良い。
【0058】
[処理フローチャート]
ここで、以上説明した本実施形態の縮小画像生成回路における処理を簡単にまとめて、図10のフローチャートを参照して説明する。
【0059】
まずステップS101において、RGB分離回路102でベイヤー配列の種類に応じてRGBプレーンを分離する。
【0060】
そしてステップS102で、任意サイズ積分マトリクス発生部106で縮小率に応じた最適な縦横任意サイズのマトリクスを発生させる。
【0061】
そしてステップS103で、水平積分&平均回路103においてマトリクス内を水平方向に積分してその平均化パラメータを自動的に選択して平均化する。
【0062】
そしてステップS104で、更に垂直積分&平均回路104においてマトリクス内を垂直方向に積分してその平均化パラメータを自動的に選択して平均化する。
【0063】
最後にステップS105で、RGB点順次並び替え部105において各RGBプレーンのマトリクスの積分結果を任意のベイヤー配列からRGB点順時に並び替えて出力する。
【0064】
以上説明したように本実施形態の縮小画像生成回路によれば、ベイヤー配列をなす原画像について、RGB分離回路102でベイヤー配列の種類に応じてRGBプレーンを分離し、任意サイズ積分マトリクス発生部106で縮小率に応じた最適な縦横任意サイズのマトリクスを発生させ、水平積分&平均回路103においてマトリクス内を水平方向に積分して平均化し、更に垂直積分&平均回路104においてマトリクス内を垂直方向に積分して平均化し、RGB点順次並び替え部105において各RGBプレーンのマトリクスの積分結果を任意のベイヤー配列からRGB点順時に並び替えて出力する。このとき、垂直積分&平均回路104における出力を保持するメモリ107の容量として、RGB毎に縮小画像の1ライン分のみを用意すれば良い。
【0065】
また、本実施形態の縮小画像生成回路においては、入出力画像サイズによらず、入力画像データの全てを有効に活用することができ、かつ、縮小率の汎用性に富む。
【0066】
即ち本実施形態の縮小画像生成回路によれば、使用メモリサイズが小さく、かつ処理可能な縮小率範囲に汎用性があり、かつ入力画像データを十分に有効活用して、縮小画像を生成することが可能である。
【0067】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0068】
【発明の効果】
以上説明したように本発明によれば、ベイヤー配列をなす原画像から、少ないメモリ容量にて良質な縮小画像を生成することが可能となる。
【図面の簡単な説明】
【図1】本発明に係る一実施形態における縮小画像生成回路の構成を示すブロック図である。
【図2】原画像のベイヤー配列の種類を示す図である。
【図3】従来の縮小画像生成回路の構成を示すブロック図である。
【図4】従来の領域積分法による縮小画像生成方法を説明するための図である。
【図5】本実施形態におけるマトリクスを説明するための図である。
【図6】本実施形態における水平積分&平均回路の構成を示す図である。
【図7】本実施形態における垂直積分&平均回路の構成を示す図である。
【図8】本実施形態におけるRGB点順次並び替え部の構成を示す図である。
【図9】本実施形態におけるRGB点順次出力を示すタイミングチャートである。
【図10】本実施形態の縮小画像生成回路における処理を示すフローチャートである。
【符号の説明】
101 縮小画像生成回路
102 RGB分離回路
103 水平積分&平均回路
104 垂直積分&平均回路
105 RGB点順次並び替え回路
106 任意サイズ積分マトリクス発生部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and method, and more particularly to an image processing apparatus and method for generating a reduced image from a Bayer array image.
[0002]
[Prior art]
In general, in an imaging apparatus such as a digital still camera or a digital video camera, image data of a subject photographed and output by the imaging sensor is an RGB Bayer array in the primary color system. This RGB Bayer array is an array that detects RG / BG signals or BG / RG signals from odd / even scanning lines by arranging Gs that are important in terms of resolution in a checkered pattern. As types of the Bayer array, four types shown in FIGS. 2A to 2D are common.
[0003]
As a method for reducing RGB image data having such a Bayer array, other two elements (color components) that do not exist in the target pixel are linearly or adaptively interpolated using peripheral pixels for each of RGB. How to do is well known.
[0004]
However, if the output image size is sufficiently reduced by performing a thinning process on the input image size, from the viewpoint of hardware limitations and input / output latency rather than the generated image quality, An RGB image may be created based on the Bayer array input without interpolating pixels. A specific example of this method will be described below with reference to FIG.
[0005]
FIG. 3 is a diagram showing a configuration of a conventional reduced image generation circuit. According to this configuration, the multi-stage low-pass filter (hereinafter referred to as LPF) process and the pixel thinning process are performed in the horizontal and vertical directions for each of the RGB pixels of the Bayer array image input for each line. Gradually reduce the original image size.
[0006]
Reference numeral 302 shown in FIG. 3 denotes a reduction unit that realizes generation of an RGB reduced thumbnail image. In the input Bayer array image, horizontal high-frequency components are cut by the horizontal LPF 302. The horizontal thinning unit 304 samples pixels in the horizontal direction at a desired interval, thereby creating a primary image in which the horizontal direction is reduced. Further, the same processing as in the horizontal direction is performed in the vertical LPF 305 and the vertical thinning unit 306 in the next stage, thereby generating an image reduced in both the horizontal and vertical directions.
[0007]
By repeating this horizontal and vertical LPF processing and thinning processing a plurality of times, that is, by providing a plurality of reduction units, it was possible to generate and output an RGB image having a desired reduction ratio from the input image size. .
[0008]
[Problems to be solved by the invention]
However, the conventional reduced image generation circuit needs to include more reduction units as the reduction ratio increases.
[0009]
If the LPF having a sufficient number of stages according to the reduction ratio and the processing by the thinning unit cannot be performed, moire occurs in the generated reduced image, and the image quality is significantly deteriorated.
[0010]
In addition, when image data is input line-sequentially, a tap memory for realizing the LPF in the vertical direction is necessary, and there is a problem that the memory capacity to be provided becomes enormous.
[0011]
Further, when the reduced image generation process is realized by hardware as described above, the number of filter stages is fixed, so that the range of reduction ratios that can be processed is limited and the versatility is poor.
[0012]
Here, in addition to the reduction method using the LPF as described above, a method of generating a reduced image by a region integration method as shown in FIG. 4 is also known. According to this method, a reduced size image is obtained by spreading a matrix of a fixed size (9 × 9 in this case) on each RGB plane, averaging the matrix units, and outputting them as one pixel.
[0013]
However, even in this method, depending on the relationship between the input image size and the output image size, many pixels that are not subject to matrix processing may be generated both horizontally and vertically, and input information cannot be used sufficiently. There was a problem. In the example shown in FIG. 4, the horizontal / vertical 42/28 pixels are discarded.
[0014]
Therefore, when performing reduction using the region integration method, if you try to eliminate pixels that are not subject to matrix processing, the control of the matrix size, the calculation method at the time of averaging, etc. will be complicated, so it will be realized in hardware. It was very difficult to do.
[0015]
The present invention has been made to solve the above-described problems, and provides an image processing apparatus and method capable of generating a high-quality reduced image with a small memory capacity from an original image having a Bayer array. The purpose is to do.
[0016]
[Means for Solving the Problems]
As a means for achieving the above object, an image processing apparatus of the present invention comprises the following arrangement.
[0017]
That is, an image processing apparatus that inputs image data in which each component forms a Bayer array and outputs the reduced image data, and a separation unit that separates the image data in which each component forms a Bayer array into planes for each component Matrix determining means for determining the horizontal and vertical sizes of the matrix for each plane based on the horizontal and vertical reduction ratios of the image data, and the matrix determined by the matrix determining means for each plane. Horizontal averaging means for integrating and averaging the image data in the horizontal direction based on the horizontal size of the image, and the image data averaged in the horizontal direction in the horizontal averaging means for each plane Vertical averaging means for integrating and averaging in the vertical direction based on the vertical direction size, and in the vertical direction in the vertical averaging means The disproportionation image data of each plane has, and having and an output means for sequentially outputting points in accordance with the Bayer array.
[0018]
The image processing apparatus further includes a holding unit that holds one line of image data of each plane averaged in the vertical direction by the vertical averaging unit, and the output unit is held by the holding unit according to the Bayer arrangement. The image data of each plane is output dot-sequentially by reading out the image data.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment according to the present invention will be described in detail with reference to the drawings.
[0020]
FIG. 1 is a block diagram showing a configuration of a reduced image creation circuit in the present embodiment. Hereinafter, each configuration will be described in detail.
[0021]
[RGB separation circuit 102]
An image having any one of the four types of Bayer arrays shown in FIG. 2 is sequentially input to the RGB separation circuit 102 in units of lines in the horizontal direction. However, a 2-bit identification signal indicating which Bayer array shown in FIG. 2 is input to the RGB separation circuit 102 needs to be input as a parameter. The RGB separation circuit 102 outputs a synchronization signal indicating which component of R, G, and B the data at the current timing is.
[0022]
[Arbitrary Size Integration Matrix Generation Unit 106]
The arbitrary size integration matrix generation unit 106 receives the output synchronization signal from the RGB separation circuit 102 and outputs the respective pulse signals MAT_H and R_MAT_CLR indicating the right end column and the lower right end of each integration matrix shown in FIG.
[0023]
Here, FIG. 5 shows an example of the RB plane particularly in the case where the input image is a Bayer array composed of 3000 pixels in the horizontal direction and 2000 pixels in the vertical direction, and the output thumbnail image size is 162 pixels in the horizontal direction and 108 pixels in the vertical direction. It is. That is, the number of pixels to be processed in the RB plane is 1500/1000 pixels in the horizontal / vertical directions, respectively, due to the characteristics of the Bayer array. The G plane is 1500/2000 pixels.
[0024]
The arbitrary size integration matrix generation unit 106 determines the reduction ratio in the horizontal / vertical direction. According to the example shown in FIG. 5, the horizontal reduction ratio THIN h is 162/1500 = 0.108, that is, THIN h = 10.8%. Similarly, the reduction ratio THIN rbv of the RB plane in the vertical direction is 108/1000 = 0.108, that is, THIN rbv = 10.8%. Further, the reduction rate THIN gv of the G plane is 108/2000 = 0.054, that is, THIN gv = 5.4% (shifted to the right by 1 bit).
[0025]
In the present embodiment, there is no problem even when a remainder is generated as a result of division, and processing can be performed by rounding the quotient by the number of digits existing as parameter accuracy.
[0026]
In the arbitrary size matrix generation unit 106 in which the reduction ratio is set as described above, the timing (MAT_H) of the right end column of the matrix on each plane is generated by an algorithm applying the Bresenham principle described below. That is, the arbitrary size matrix generator 106 implements the following logic circuit.
[0027]
TMP = THIN h − 100
IF (TMP> 0) THEN
MAT_H = 1
TMP = TMP − 100
ELSE
MAT_H = 0
TMP = TMP + THIN h … (1)
Here, THIN h = 10.8, and MAT_H is a signal representing the right end column of the matrix. That is, if MAT_H is “1”, it indicates the right end of the matrix. TMP indicates a variable realized by appropriately providing a flip-flop in the arbitrary size matrix generation unit 106.
[0028]
In the arbitrary size integration matrix generator 106, that is, when THIN h is added for each pixel with respect to the difference between the horizontal reduction rate THIN h and 100%, and when the accumulation exceeds 100%, The rightmost column of the matrix is detected.
[0029]
The arbitrary size integration matrix generator 106 generates a signal R_MAT_CLR indicating the timing of the lower right end of the matrix by configuring the same logic circuit in the vertical direction as in the horizontal direction. In the arbitrary size matrix generation unit 106, logic circuits in the horizontal and vertical directions are configured for each of the RGB planes.
[0030]
The size of the matrix output from the arbitrary size matrix generator 106 is N (natural number) or N + 1 only when the reduction ratio is not 0 in both horizontal and vertical directions, that is, always two values, even and odd. It becomes a combination. In the example shown in FIG. 5, it can be seen that a matrix with a horizontal size of 9 pixels and a matrix with 10 pixels are generated. Since these two types of values are self-evident when the reduction ratio is determined, the two kinds of values are given in advance as parameters to the apparatus together with the reduction ratio (that is, the input / output image size).
[0031]
As described above, according to the arbitrary size matrix generation unit 106, it is possible to effectively utilize all of the input image data regardless of the input / output image size.
[0032]
[Horizontal integration & averaging circuit 103]
Also in the horizontal integration & averaging circuit 103, a processing unit is provided for each RGB plane. Here, FIG. 6 shows a main configuration of the R plane processing unit in the horizontal integration & averaging circuit 103.
[0033]
As described above, the horizontal / vertical direction sizes of the matrix generated from the arbitrary size integration matrix generation unit 106 are always a combination of two values, an even number and an odd number. If the reciprocal of the size (number of pixels) when the size is even is the parameter EVEN_NUM_H, and the reciprocal of the size (number of pixels) when the size is the odd is the parameter ODD_NUM_H, the following logic is circuitized as shown in FIG. Thus, integration and averaging of the horizontal lines of the matrix can be automatically performed.
[0034]
IF (MAT_H = 1) THEN
IF (ODD_EVEN = 0)
R_AVE = R_SUM_H × EVEN_NUM_H
ELSE
R_AVE = R_SUM_H × ODD_NUM_H
ODD_EVEN = 0
ELSE
ODD_EVEN = NOT ODD_EVEN
R_SUM_H = R_SUM_H + R_DATA… (2)
Here, ODD_EVEN corresponds to a 1-bit flip-flop (not shown) provided in the circuit, and indicates a variable used to determine whether the number of pixels in the matrix is odd or even. R_DATA represents input data, R_SUM_H represents the total of R values in the horizontal direction, and R_AVE is obtained as a signal representing the average value of one row of the matrix on the R plane. However, the value of R_AVE is valid only when MAT_H = 1.
[0035]
In the horizontal integration & averaging circuit 103, that is, in the right end column of the matrix, the average value is obtained by multiplying the accumulated value in the horizontal direction by the inverse of the number of pixels in the matrix depending on whether the matrix size is even or odd. Is calculated. On the other hand, if the matrix is not the rightmost column, the horizontal R value is accumulated together with the setting process of the variable ODD_EVEN for even / odd determination.
[0036]
That is, according to FIG. 6, the input R_DATA is integrated by the integration circuit 601 and R_SUM_H is output. MAT_H indicating the right end column of the matrix is divided by ½ by the ½ divider circuit 603 based on the characteristics of the Bayer array, and input as an enable signal to the multiplexer 604. EVEN_NUM_H and ODD_NUM_H are input to the multiplexer 604, and an ODD_EVEN signal (not shown) is selected as a selection signal, one of which is output at the timing of MAT_H, and multiplied by R_SUM_H in the multiplier 602. R_AVE representing the average value of one row of the matrix on the R plane is a signal as a result of this multiplication.
[0037]
The horizontal integration & averaging circuit 103 has the same circuit configuration as that of FIG. 6 for the B and G planes.
[0038]
[Vertical integration & averaging circuit 104]
Also in the vertical integration & averaging circuit 104, a processing unit is provided for each of the RGB planes. FIG. 7 shows a main configuration of the R plane processing unit in the memory 107 and the vertical integration & averaging circuit 104.
[0039]
The vertical integration & averaging circuit 104 averages the entire matrix by further integrating and averaging the data averaged in the horizontal direction of each matrix in the vertical direction.
[0040]
The R_AVE signal input from the horizontal integration & averaging circuit 103 is written to the memory 107 at the first line (MAT_FIRST_LINE) of the matrix. In other cases, the adder 701 integrates up to the previous line within the same matrix R_INTG. And added (integrated). Also, the output of the adder 701 is averaged in the last row of the matrix.
[0041]
Here, as in the horizontal integration & averaging circuit 103, the fact that the size in the horizontal / vertical direction of the matrix generated from the arbitrary size integration matrix generation unit 106 is always a combination of two values, even and odd, is used. In other words, the inverse of the size (number of pixels) when the size in the vertical direction of the matrix is an even number is parameter EVEN_NUM_V, and the inverse of the size (number of pixels) when it is an odd number is parameter ODD_NUM_V. R_MAT_AVE representing the average value in the matrix on the R plane is obtained by determining, selecting, and performing multiplication. This R_MAT_AVE is written into the memory 107 via the decoder 703. The operation in the decoder 703 follows the following logic.
[0042]
IF (R_MAT_CLR = 1)
THEN
MEM = R_MAT_AVE
ELSE IF (MAT_FIRST_LINE = 1)
THEN
MEM = R_AVE
ELSE
MEM = R_INTG (3)
Here, the R_MAT_CLR signal is a signal representing the lower right end of the matrix obtained by AND gate output of horizontal and vertical timing pulses generated by the arbitrary size integration matrix generator 106. The MAT_FIRST_LINE signal is a signal indicating that it is the first line of each matrix.
[0043]
That is, in the decoder 703, R_MAT_AVE is written to the memory 107 if it is the lower right corner of the matrix, R_AVE is written to the memory 107 if it is the first line of the matrix, and R_INTG that is an accumulated value in the matrix is written to the memory 107 in other cases.
[0044]
According to FIG. 7, that is, on the basis of the effective synchronization signal of the R line, the rising edge detection circuit 704 detects the start of the block, and the signal obtained by dividing the signal by 1/2 by the 1/2 divider circuit 705 is sent to the multiplexer 706. Input as an enable signal. EVEN_NUM_V and ODD_NUM_V are input to the multiplexer 706, one of which is output at the start timing of the block by a selection signal (not shown), and is multiplied by the accumulated value of R_AVE in the multiplier 702. The multiplication result is output as an R_OUT signal representing the average value in the matrix on the R plane via the multiplexer 707.
[0045]
Based on the control of the RGB point sequential rearrangement unit 105 in the subsequent stage, the multiplexer 707 calculates either R_MAT_AVE, which is a multiplication result in the multiplier 702, or an average value of R (R_MAT_AVE) already stored in the memory 107. The R_OUT signal is output based on the R line effective synchronization signal.
[0046]
As described above, the result of averaging in the vertical direction of the matrix in the vertical integration & averaging circuit 104 is output as R_OUT, G_OUT, and B_OUT for each color component.
[0047]
As described above, in the horizontal integration & averaging circuit 103 and the vertical integration & averaging circuit 104, the reciprocal corresponding to two matrix sizes is used as a parameter, and one of them is automatically selected and reduced by performing multiplication. Output an image. That is, since reduction according to the reduction ratio is possible, it can be seen that the reduction ratio is versatile in the reduced image generation circuit of the present embodiment.
[0048]
[RGB Sorting Unit 105]
FIG. 8 is a block diagram illustrating main configurations of the memory 107 and the RGB point order rearrangement unit 105.
[0049]
The RGB point order rearrangement unit 105 extracts RGB output data R_OUT, G_OUT, and B_OUT from the vertical integration & averaging circuit 104, temporarily stores them in a storage element such as 802, and then outputs them in RGB point order. . In FIG. 8, the data synchronization signal is input from the RGB separation circuit 102, and the matrix synchronization signal such as R_MAT_CLR representing the lower right end of the matrix is input from the vertical integration & averaging circuit 104.
[0050]
According to the Bayer array as shown in FIG. 2, each color component of RGB is arranged by an odd / even line pair. Therefore, a line from which data is output from the RGB dot order rearrangement unit 105 is always an even number of the original image. It is clear that it will be a line. However, in the original image, either the R or B component is input as an even line and the other as an odd line. That is, the controller 801 determines the positional relationship of the lower right pixel of the matrix in each RGB plane based on the type of Bayer array of the original image that is currently input, and outputs it in dot order.
[0051]
Hereinafter, the operation in the dot sequential rearrangement unit 105 will be specifically described.
[0052]
FIG. 9 is a timing chart showing RGB point sequential output when the input image has the Bayer arrangement shown in FIG.
[0053]
According to the figure, the controller 801 receives R_OUT from the vertical integration & averaging circuit 104 at the Xth (X is a natural number) line which is the last line of the matrix for the R plane, for example, but does not perform this output. As described above, in the vertical integration & averaging circuit 104, R_OUT is written in the memory 107 in synchronization with the R_MAT_CLR signal.
[0054]
Then, in the next line (X + 1th line) of the last line in the R matrix, the line is always the last line of the G and B matrices, so the controller 801 outputs the control signal R_Memory to the memory 107. Thus, the R data held in the memory 107 is read out through the multiplexer 707 in synchronization with the timing signal B_MAT_CLR indicating the lower right end of the matrix of the G and B planes, and is output in the order of R_OUT, G_OUT, and B_OUT.
[0055]
As described above, the data (R_OUT, G_OUT, B_OUT) integrated and averaged in the matrix by the vertical integration & averaging circuit 104 for each of the R, G, and B planes is output dot-sequentially in RGB order for each pixel. This output is reduced image data output in the reduced image generation circuit of this embodiment.
[0056]
Needless to say, even if the input image has the Bayer arrangement shown in FIG. 2B, the timing chart is as shown in FIG. Needless to say, when the input image has the Bayer arrangement shown in any of (C) and (D) of FIG. 2, a timing chart in which R and B are interchanged in FIG. 9 can be obtained.
[0057]
Therefore, in the reduced image generation circuit of this embodiment, the capacity of the memory 107 used in the vertical integration & averaging circuit 104 and the RGB dot sequential rearrangement unit 105 is one line of the reduced image for each RGB, that is, a total of three lines. You only need to prepare the minutes.
[0058]
[Processing flowchart]
Here, processing in the reduced image generation circuit of the present embodiment described above will be briefly summarized and described with reference to the flowchart of FIG.
[0059]
First, in step S101, the RGB separation circuit 102 separates the RGB planes according to the type of the Bayer array.
[0060]
In step S102, the arbitrary size integration matrix generating unit 106 generates a matrix having an optimum vertical and horizontal arbitrary size according to the reduction ratio.
[0061]
In step S103, the horizontal integration & averaging circuit 103 integrates the matrix in the horizontal direction and automatically selects and averages the averaging parameters.
[0062]
In step S104, the vertical integration & averaging circuit 104 further integrates the matrix in the vertical direction and automatically selects and averages the averaging parameter.
[0063]
Finally, in step S105, the RGB point sequential rearrangement unit 105 rearranges and outputs the matrix integration results of each RGB plane from an arbitrary Bayer array in the order of RGB points.
[0064]
As described above, according to the reduced image generation circuit of the present embodiment, the RGB separation circuit 102 separates the RGB planes according to the type of the Bayer array with respect to the original image forming the Bayer array, and the arbitrary size integration matrix generation unit 106 To generate an optimal matrix of arbitrary vertical and horizontal sizes according to the reduction ratio, and the horizontal integration & averaging circuit 103 integrates and averages the matrix in the horizontal direction, and the vertical integration & averaging circuit 104 further vertically converts the matrix in the vertical direction. Integration and averaging are performed, and the RGB point sequential rearrangement unit 105 rearranges and outputs the integration results of the matrix of each RGB plane from an arbitrary Bayer array in the order of RGB points. At this time, as the capacity of the memory 107 that holds the output in the vertical integration & averaging circuit 104, only one line of the reduced image needs to be prepared for each RGB.
[0065]
In the reduced image generation circuit of the present embodiment, all of the input image data can be effectively used regardless of the input / output image size, and the versatility of the reduction rate is high.
[0066]
That is, according to the reduced image generation circuit of the present embodiment, the size of the memory used is small, the range of reduction rates that can be processed is versatile, and the input image data is sufficiently utilized to generate a reduced image. Is possible.
[0067]
Note that the present invention can be applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, and a printer), and a device (for example, a copying machine and a facsimile device) including a single device. You may apply to.
[0068]
【The invention's effect】
As described above, according to the present invention, it is possible to generate a high-quality reduced image with a small memory capacity from an original image having a Bayer array.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a reduced image generation circuit according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating types of Bayer arrangement of original images.
FIG. 3 is a block diagram showing a configuration of a conventional reduced image generation circuit.
FIG. 4 is a diagram for explaining a reduced image generation method by a conventional region integration method.
FIG. 5 is a diagram for explaining a matrix in the present embodiment.
FIG. 6 is a diagram showing a configuration of a horizontal integration & averaging circuit in the present embodiment.
FIG. 7 is a diagram showing a configuration of a vertical integration & averaging circuit in the present embodiment.
FIG. 8 is a diagram illustrating a configuration of an RGB dot sequential rearrangement unit in the present embodiment.
FIG. 9 is a timing chart showing RGB point sequential output in the present embodiment.
FIG. 10 is a flowchart showing processing in the reduced image generation circuit of the present embodiment.
[Explanation of symbols]
101 Reduced Image Generation Circuit 102 RGB Separation Circuit 103 Horizontal Integration & Average Circuit 104 Vertical Integration & Average Circuit 105 RGB Point Sequential Rearrangement Circuit 106 Arbitrary Size Integration Matrix Generation Unit

Claims (10)

各成分がベイヤー配列をなす画像データを入力し、その縮小画像データを出力する画像処理装置であって、
各成分がベイヤー配列をなす画像データを該成分毎のプレーンに分離する分離手段と、
前記画像データの水平及び垂直方向の縮小率に基づいて、各プレーン毎にマトリクスの水平及び垂直方向のサイズを決定するマトリクス決定手段と、
各プレーン毎に、前記マトリクス決定手段において決定されたマトリクスの水平方向サイズに基づいて、画像データを水平方向に積分して平均化する水平平均化手段と、
各プレーン毎に、前記水平平均化手段において水平方向に平均化された画像データを、前記マトリクスの垂直方向サイズに基づいて垂直方向に積分して平均化する垂直平均化手段と、
前記垂直平均化手段において垂直方向に平均化された各プレーンの画像データを、前記ベイヤー配列に応じて点順次に出力する出力手段と、
を有することを特徴とする画像処理装置。
An image processing apparatus for inputting image data in which each component forms a Bayer array and outputting the reduced image data,
Separating means for separating image data in which each component forms a Bayer array into planes for each component;
Matrix determining means for determining the horizontal and vertical sizes of the matrix for each plane based on the horizontal and vertical reduction ratios of the image data;
Horizontal averaging means for integrating and averaging the image data in the horizontal direction based on the horizontal size of the matrix determined by the matrix determination means for each plane;
For each plane, vertical averaging means for integrating and averaging the image data averaged in the horizontal direction in the horizontal averaging means in the vertical direction based on the vertical size of the matrix;
Output means for outputting the image data of each plane averaged in the vertical direction in the vertical averaging means in a dot-sequential manner according to the Bayer arrangement;
An image processing apparatus comprising:
更に、前記垂直平均化手段において垂直方向に平均化された各プレーンの画像データのそれぞれ1ライン分を保持する保持手段を備え、
前記出力手段は、前記ベイヤー配列に応じて前記保持手段に保持された画像データを読み出すことによって各プレーンの画像データを点順次に出力することを特徴とする請求項1記載の画像処理装置。
And a holding means for holding one line of image data of each plane averaged in the vertical direction in the vertical averaging means,
The image processing apparatus according to claim 1, wherein the output unit outputs the image data of each plane in a dot-sequential manner by reading out the image data held in the holding unit according to the Bayer arrangement.
前記マトリクス決定手段は、各プレーン毎のマトリクスの水平及び垂直方向のサイズとして、連続する2つの自然数を決定することを特徴とする請求項2記載の画像処理装置。  3. The image processing apparatus according to claim 2, wherein the matrix determining means determines two consecutive natural numbers as the horizontal and vertical sizes of the matrix for each plane. 前記マトリクス決定手段は、前記マトリクスの水平方向のタイミング信号を発生し、
前記水平平均化手段は、前記マトリクスの水平方向のタイミング信号に基づいて画像データを水平方向に積分し、前記マトリクスの水平方向サイズに基づいて画像データを水平方向に平均化することを特徴とする請求項3記載の画像処理装置。
The matrix determination means generates a horizontal timing signal of the matrix;
The horizontal averaging means integrates image data in a horizontal direction based on a horizontal timing signal of the matrix, and averages the image data in a horizontal direction based on a horizontal size of the matrix. The image processing apparatus according to claim 3.
前記水平平均化手段は、前記マトリクス決定手段において前記マトリクスの水平方向のサイズとして決定された前記連続する2つの自然数について、いずれかの逆数を前記積分結果に乗じることによって画像データを水平方向に平均化することを特徴とする請求項4記載の画像処理装置。  The horizontal averaging means averages image data in the horizontal direction by multiplying the integration result by one of the reciprocal numbers of the two consecutive natural numbers determined as the horizontal size of the matrix by the matrix determining means. The image processing apparatus according to claim 4, wherein: 前記マトリクス決定手段は、前記マトリクスの垂直方向のタイミング信号を発生し、
前記垂直平均化手段は、前記マトリクスの垂直方向のタイミング信号に基づいて画像データを垂直方向に積分し、前記マトリクスの垂直方向サイズに基づいて画像データを垂直方向に平均化することを特徴とする請求項3記載の画像処理装置。
The matrix determining means generates a timing signal in a vertical direction of the matrix;
The vertical averaging means integrates image data in a vertical direction based on a vertical timing signal of the matrix, and averages the image data in a vertical direction based on a vertical size of the matrix. The image processing apparatus according to claim 3.
前記垂直平均化手段は、前記マトリクス決定手段において前記マトリクスの垂直方向のサイズとして決定された前記連続する2つの自然数について、いずれかの逆数を前記積分結果に乗じることによって画像データを垂直方向に平均化することを特徴とする請求項6記載の画像処理装置。  The vertical averaging means averages the image data in the vertical direction by multiplying the integration result by either reciprocal of the two consecutive natural numbers determined as the vertical size of the matrix by the matrix determination means. The image processing apparatus according to claim 6, wherein: 各成分がベイヤー配列をなす画像データを入力する入力手段と、
前記画像データを各成分毎に独立して縮小する縮小手段と、
前記縮小手段から出力される各成分の画像データによって1画素が揃う毎に、該各成分の画像データを点順次に出力する出力手段と、
を有することを特徴とする画像処理装置。
Input means for inputting image data in which each component forms a Bayer array;
Reduction means for reducing the image data independently for each component;
Output means for outputting the image data of each component dot-sequentially each time one pixel is aligned by the image data of each component output from the reduction means;
An image processing apparatus comprising:
各成分がベイヤー配列をなす画像データを入力し、その縮小画像データを出力する画像処理装置における画像処理方法であって、
分離手段が、各成分がベイヤー配列をなす画像データを該成分毎のプレーンに分離する分離工程と、
前記画像データの水平及び垂直方向の縮小率に基づいて、決定手段が、各プレーン毎にマトリクスの水平及び垂直方向のサイズを決定するマトリクス決定工程と、
各プレーン毎に、前記マトリクス決定工程において決定されたマトリクスの水平方向サイズに基づいて、水平平均化手段が、画像データを水平方向に積分して平均化する水平平均化工程と、
各プレーン毎に、前記水平平均化工程において水平方向に平均化された画像データを、垂直平均化手段が、前記マトリクスの垂直方向サイズに基づいて垂直方向に積分して平均化する垂直平均化工程と、
前記垂直平均化工程において垂直方向に平均化された各プレーンの画像データを、出力手段が、前記ベイヤー配列に応じて点順次に出力する出力工程と、
を有することを特徴とする画像処理方法。
An image processing method in an image processing apparatus for inputting image data in which each component forms a Bayer array and outputting the reduced image data,
Separating means includes a separation step of each component to separate the image data constituting the Bayer array plane for each said component,
A matrix determination step in which the determining means determines the horizontal and vertical sizes of the matrix for each plane based on the horizontal and vertical reduction ratios of the image data;
For each plane, based on the horizontal size of the matrix determined in the matrix determining step, horizontal averaging means integrates and averages the image data in the horizontal direction, and a horizontal averaging step;
For each plane, a vertical averaging step in which the vertical averaging means integrates and averages the image data averaged in the horizontal direction in the horizontal averaging step in the vertical direction based on the vertical size of the matrix. When,
An output step in which the output means outputs the image data of each plane averaged in the vertical direction in the vertical averaging step in a dot-sequential manner according to the Bayer arrangement;
An image processing method comprising:
画像処理装置の画像処理方法であって、
入力手段が、各成分がベイヤー配列をなす画像データを入力する工程と
縮小手段が、前記画像データを各成分毎に独立して縮小する工程と
出力手段が、該縮小された各成分の画像データによって1画素が揃う毎に、該各成分の画像データを点順次に出力する工程と、
を有することを特徴とする画像処理方法。
An image processing method of an image processing apparatus,
The input means, the steps of each component for inputting image data constituting the Bayer array,
Reduction means comprises the steps of reducing independently the image data for each component,
An output means for outputting the image data of each component dot-sequentially every time one pixel is aligned with the reduced image data of each component ;
An image processing method comprising:
JP2000053737A 2000-02-29 2000-02-29 Image processing apparatus and method Expired - Fee Related JP4136255B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000053737A JP4136255B2 (en) 2000-02-29 2000-02-29 Image processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000053737A JP4136255B2 (en) 2000-02-29 2000-02-29 Image processing apparatus and method

Publications (3)

Publication Number Publication Date
JP2001245141A JP2001245141A (en) 2001-09-07
JP2001245141A5 JP2001245141A5 (en) 2007-04-12
JP4136255B2 true JP4136255B2 (en) 2008-08-20

Family

ID=18575077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000053737A Expired - Fee Related JP4136255B2 (en) 2000-02-29 2000-02-29 Image processing apparatus and method

Country Status (1)

Country Link
JP (1) JP4136255B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103563350A (en) * 2011-05-31 2014-02-05 松下电器产业株式会社 Image processing device, image processing method, and digital camera

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3947969B2 (en) 2002-05-15 2007-07-25 ソニー株式会社 Image processing apparatus, image processing method, recording medium, and program
JP4285948B2 (en) 2002-06-18 2009-06-24 オリンパス株式会社 Imaging device
US8040385B2 (en) 2002-12-02 2011-10-18 Olympus Corporation Image pickup apparatus
CN100350794C (en) * 2002-12-02 2007-11-21 奥林巴斯株式会社 Image pickup apparatus
EP1592236A1 (en) 2003-01-29 2005-11-02 Olympus Corporation Image sensing apparatus
JP4748702B2 (en) * 2003-06-10 2011-08-17 三星電子株式会社 Luminance noise filtering method and luminance noise filtering system
KR100510532B1 (en) * 2003-06-10 2005-08-26 삼성전자주식회사 Adaptive noise reduction filter for Bayer pattern color signal, digital image signal processor having it, and method thereof
JP3942569B2 (en) 2003-09-04 2007-07-11 オリンパス株式会社 Imaging apparatus and image data conversion method
JP2006065497A (en) * 2004-08-25 2006-03-09 Sanyo Electric Co Ltd Data processor, and method and program for processing data
JP4573769B2 (en) * 2005-12-20 2010-11-04 富士通セミコンダクター株式会社 Image processing circuit and image processing method
JP5280448B2 (en) * 2008-08-04 2013-09-04 パナソニック株式会社 Image processing apparatus, image processing method, image processing program, and semiconductor integrated circuit
JP4764905B2 (en) * 2008-08-11 2011-09-07 キヤノン株式会社 Imaging system
JP5572940B2 (en) * 2008-10-30 2014-08-20 株式会社ニコン Imaging device
JP5697418B2 (en) * 2010-11-30 2015-04-08 キヤノン株式会社 Image processing apparatus and control method thereof
JP5853166B2 (en) 2011-06-08 2016-02-09 パナソニックIpマネジメント株式会社 Image processing apparatus, image processing method, and digital camera
CN110139039B (en) * 2019-05-24 2021-09-21 安翰科技(武汉)股份有限公司 Compression processing method and system for capsule endoscope bayer image

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103563350A (en) * 2011-05-31 2014-02-05 松下电器产业株式会社 Image processing device, image processing method, and digital camera
CN103563350B (en) * 2011-05-31 2016-09-28 松下知识产权经营株式会社 Image processing apparatus, image processing method and digital camera

Also Published As

Publication number Publication date
JP2001245141A (en) 2001-09-07

Similar Documents

Publication Publication Date Title
JP4136255B2 (en) Image processing apparatus and method
EP1288855B1 (en) System and method for concurrently demosaicing and resizing raw data images
US5488674A (en) Method for fusing images and apparatus therefor
EP0633535B1 (en) Image processor
EP0597555B1 (en) Image processing apparatus
US8836813B2 (en) Image processing device and image processing method
EP0918439A1 (en) Device and method for converting two-dimensional video into three-dimensional video
JP2004208336A (en) Full color image adaptive interpolation arrangement using luminance gradients
EP1764737A2 (en) Image processing and resizing
US20070133902A1 (en) Method and circuit for integrated de-mosaicing and downscaling preferably with edge adaptive interpolation and color correlation to reduce aliasing artifacts
JP2004264920A (en) Device and method for creating thumbnail image and improving quality of resized image
JP4019201B2 (en) System and method for tone recovery using discrete cosine transform
EP1592235A1 (en) Image processing device, image processing program and program-recorded recording medium
US7746519B2 (en) Method and device for scanning images
EP0547881B1 (en) Method and apparatus for implementing two-dimensional digital filters
US7149364B2 (en) Mean filter device and filtering method
JP2004023384A (en) Method for interpolating pixel signal such as tesselated green signal in interleave relation of single-plate color camera
JP4132264B2 (en) Image signal processing circuit
US20060170954A1 (en) Method and system for generating synchronous multidimensional data streams from a one -dimensional data stream
US7092035B1 (en) Block move engine with scaling and/or filtering for video or graphics
JP2006303693A (en) Electronic camera provided with function of generating reduced picture
JP4424097B2 (en) Electronic zoom device
JPH10233900A (en) Image reader
JP2005308934A (en) Image processing method
US6947608B2 (en) Equalizing circuit and method, and image processing circuit and method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070220

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080514

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees