JP3806624B2 - データ補正回路 - Google Patents
データ補正回路 Download PDFInfo
- Publication number
- JP3806624B2 JP3806624B2 JP2001253825A JP2001253825A JP3806624B2 JP 3806624 B2 JP3806624 B2 JP 3806624B2 JP 2001253825 A JP2001253825 A JP 2001253825A JP 2001253825 A JP2001253825 A JP 2001253825A JP 3806624 B2 JP3806624 B2 JP 3806624B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- correction
- value
- values
- bit number
- 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
Links
- 238000012937 correction Methods 0.000 title claims description 107
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Description
【発明の属する技術分野】
この発明は、データ補正回路に関し、特にたとえばディジタルガンマ補正回路に適用され、入力データに非線形補正を施す、データ補正回路に関する。
【0002】
【従来技術】
ガンマ特性は非線形であるため、ディジタルガンマ補正回路では、複数の画素データ値に複数のガンマ補正値が個別に割り当てられたLUT(Look Up Table)が用いられる。画素データが入力されると、この画素データ値に対応するガンマ補正値がLUTから読み出され、これによってガンマ補正が施された補正画素データが得られる。
【0003】
【発明が解決しようとする課題】
しかし、画素データのビット数が増えると、LUTに格納すべきガンマ補正値の数が多くなる。このため、画素データの多ビット化が進むにつれて、LUTのメモリ容量が大きくなってしまう。
【0004】
それゆえに、この発明の主たる目的は、メモリ容量を抑えつつ、多ビットデータに非線形補正を施すことができる、データ補正回路を提供することである。
【0005】
【課題を解決するための手段】
この発明に従うデータ補正回路は、第1ビット数の入力データに非線形補正を施して補正データを出力するデータ補正回路において、第1ビット数よりも少ない第2ビット数で表される複数の数値にそれぞれ割り当てられた複数の補正値を格納するメモリ、入力データの上位に存在する第2ビット数のデータ値に基づいてメモリから少なくとも2つの補正値を読み出す読み出し手段、および読み出し手段によって読み出された補正値と入力データの下位に存在する第3ビット数のデータ値とに基づいて補正データを生成する生成手段を備え、メモリは、複数の数値にそれぞれ割り当てられた複数の第1補正値を格納する第1テーブル、および複数の数値にそれぞれ割り当てられた複数の第2補正値を格納する第2テーブルを含み、読み出し手段は、第2ビット数のデータ値に等しい数値に割り当てられた第1補正値を第1テーブルから読み出す第1読み出し手段、および第2ビット数のデータ値に所定値を加算した加算値に等しい数値に割り当てられた第2補正値を第2テーブルから読み出す第2読み出し手段を含み、所定値は入力データ値のうち第2ビット数よりも1つ下位に存在するデータ値であることを特徴とする。
【0006】
【作用】
第1ビット数の入力データに非線形補正を施して補正データを出力するために、メモリには、第1ビット数よりも少ない第2ビット数で表される複数の数値に割り当てられた複数の補正値が格納される。読み出し手段は、入力データの上位に存在する第2ビット数のデータ値に基づいてメモリから少なくとも2つの補正値を読み出す。補正データは、読み出された補正値と入力データの下位に存在する第3ビット数のデータ値とに基づいて、生成手段によって生成される。
【0007】
つまり、メモリから読み出す少なくとも2つの補正値は、入力データの上位に存在する第2ビット数のデータ値に基づいて特定される。また、補正データの生成は、読み出された補正値と入力データの下位に存在する第3ビット数のデータ値とに基づいて行なわれる。
【0008】
好ましくは、第2ビット数および第3ビット数の和は第1ビット数に等しく、読み出し手段によって読み出される補正値は2つである。このとき、生成手段は、読み出された2つの補正値に第3ビット数のデータ値に従う重み付けを施す。
【0009】
メモリは、好ましくは、複数の数値に割り当てられた複数の第1補正値を格納する第1テーブルと、複数の数値に割り当てられた複数の第2補正値を格納する第2テーブルとを含む。読み出し手段は、第2ビット数のデータ値に等しい数値に割り当てられた第1補正値を第1テーブルから読み出し、第2ビット数のデータ値に所定値を加算した加算値に等しい数値に割り当てられた第2補正値を第2テーブルから読み出す。所定値は、好ましくは、入力データ値のうち第2ビット数よりも1つ下位に存在するデータ値とされる。
【0010】
【発明の効果】
この発明によれば、入力データの上位に存在する第2ビット数のデータ値に基づいてメモリから補正値を読み出すようにしたため、メモリ容量を抑えることができる。また、メモリから読み出された補正値と入力データの下位に存在する第3ビット数のデータ値とに基づいて補正データを生成するようにしたため、多ビットデータに非線形補正を施すことができる。
【0011】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【0012】
【実施例】
図1を参照して、この実施例のディジタルカメラ10は、イメージセンサ12を含む。イメージセンサ12は被写体の光学像を取り込み、光電変換によって画像信号を生成する。イメージセンサ12の受光面はたとえば原色ベイヤ配列の色フィルタによって覆われ、画像信号を形成する各々の画素信号はR,GおよびBのいずれか1つの色情報を有する。画像信号はラスタスキャン方式でイメージセンサ12から読み出され、CDS/AGC回路14は、読み出された画像信号に周知のノイズ除去およびレベル調整を施す。このような調整を施された画像信号は、A/D変換器16によってディジタル信号である画像データに変換され、変換された画像データが信号処理回路18に与えられる。
【0013】
信号処理回路18は、与えられた画像データに色分離,白バランス調整,ガンマ補正,YUV変換などの処理を施し、YUV形式の画像データを出力する。これらの処理のうち、ガンマ補正は、ガンマ補正回路20によって行なわれる。信号処理回路18から出力された画像信号はビデオエンコーダ22によってコンポジット画像信号に変換され、変換されたコンポジット画像信号がディスプレイ24に供給される。この結果、被写体のリアルタイム動画像が画面に表示される。
【0014】
ガンマ補正回路20は、具体的には図2に示すように構成される。画像データを形成する各々の画素データは14ビットであり、IN[13:0]と定義される。この14ビットのうち第3ビットつまりIN[3]は加算器20aの一方入力端子ならびにセレクタ20nおよび20pの制御端子に与えられ、下位3ビットつまりIN[2:0]は減算器20mの一方入力端子,セレクタ20nの0側入力端子およびセレクタ20pの1側入力端子に与えられる。減算器20mの他方入力端子には16進数で“8”を示す3ビットの数値データつまり“0x8”が与えられ、減算器20mは“0x08”からIN[2:0]が示す数値を減算する。減算値は、セレクタ20nの1側入力端子およびセレクタ20pの0側入力端子に与えられる。
【0015】
セレクタ20nおよび20pは、制御端子の入力が“1”を示すとき1側入力端子を選択し、制御端子の入力が“0”を示すとき0側入力端子を選択する。したがって、IN[3]が“1”を示すときは、減算値がセレクタ20nから出力され、IN[2:0]がセレクタ20pから出力される。これに対して、画素データのIN[3]が“0”を示すときは、画素データのIN[2:0]がセレクタ20nから出力され、減算値がセレクタ20pから出力される。セレクタ20pの出力はcoef1[2:0]と定義され、セレクタ20nの出力はcoef2[2:0]と定義される。
【0016】
画素データの上位10ビットつまりIN[13:4]は、加算器20aの他方入力端子およびメモリコントローラ20fに与えられる。加算器20aはIN[13:4]が示す数値にIN[3]が示す数値を加算し、11ビットの加算値を出力する。加算値の最上位ビットつまりADD[10]はセレクタ20dの制御端子に与えられ、加算値の下位10ビットつまりADD[9:0]はメモリコントローラ20bに与えられる。メモリコントローラ20bに与えられるADD[9:0]はadrs1と定義され、メモリコントローラ20fに与えられるIN[13:4]はadrs2と定義され、そしてADD[10]はadrovfと定義される。
【0017】
メモリコントローラ20bは、ADD[9:0]に対応する12ビットのガンマ補正値をEvenLUT20cから読み出し、読み出したガンマ補正値をセレクタ20dの0側入力端子に与える。セレクタ20dの1側入力端子には、16進数で“fff”を示す12ビットの数値データつまり“0xfff”が与えられる。セレクタ20dは、adrovfが“1”を示すとき“0xfff”を出力し、adrvofが“0”を示すときガンマ補正値を出力する。セレクタ20dの出力は、m1out[11:0]と定義される。一方、メモリコントローラ20fは、adrs2に対応する12ビットのガンマ補正値をOddLUT20gから読み出す。読み出されたガンマ補正値は、m2out[11:0]と定義される。
【0018】
掛け算器20eはm1out[11:0]にcoef1[2:0]を掛け算し、掛け算器20eはm2out[11:0]にcoef2[2:0]を掛け算する。掛け算器20eおよび20hから出力された掛け算値は加算器20jで互いに加算される。割り算器20kは加算器20jから出力された加算値を“0x8”で割り算し、割り算値をOUT[11:0]として出力する。この割り算値が、補正画素データである。
【0019】
EvenLUT20cおよびOddLUT20gはいずれも、10ビットで表現される複数のアドレス値に個別に割り当てられた複数のガンマ補正値を格納するテーブルである。各々のガンマ補正値は、上述の通り12ビットで表現される。アドレス値を横軸とし、ガンマ補正値を縦軸とすると、各々のガンマ補正値を線で結ぶことによって、図3に示すようなガンマ補正曲線が描かれる。図3から分かるように、横軸方向において偶数番目に存在するガンマ補正値がEvenLUT20cに格納され、横軸方向において奇数番目に存在するガンマ補正値がOddLUT20gに格納される。このとき、EvenLUT20cにおいてアドレスmが割り当てられたガンマ補正値と、OddLUT20gにおいてアドレスmに割り当てられたガンマ補正値とは、互いに隣接する。つまり、ガンマ補正曲線上に存在するガンマ補正値に割り当てられたアドレス値は、m→m→m+1→m+1→m+2→…の要領で2つ毎にインクリメントされる。
【0020】
IN[13:0]とadrs1,adrs2,coef1[2:0],coef2[2:0]およびadrovfとの関係を表1に示す。
【0021】
【表1】
【0022】
表1を横方向に眺めると、IN[13:4]であるadrs2は、IN[13:0]の下位4ビットが“1111”から“0000”に戻るときにインクリメントされる。一方、IN[13:4]とIN[3]との加算値であるadrs1は、adrs2がインクリメントされることなく下位3ビットが“111”から“000”に戻るときインクリメントされる。したがって、adrs1は、adrs2の更新タイミングの中間地点で更新される。
【0023】
coef1[2:0]は、IN[3]が“0”のとき“0x8”からIN[2:0]を減算した減算値に等しく、IN[13:0]の第3ビットが“1”のときIN[2:0]に等しい。これに対して、coef2[2:0]は、IN[3]が“0”のときIN[2:0]に等しく、IN[3]が“1”のとき“0x8”からIN[2:0]を減算した減算値に等しい。したがって、coef1[2:0]およびcoef2[2:0]は互いに相補的な値をとり、coef1[2:0]およびcoef2[2:0]の合計値は常に“8”を示す。
【0024】
adrovfは、IN[13:4]にIN[3]を加算した加算値の最上位ビットである。このため、adrovfは、IN[13:0]が“16376”〜“16383”をとるときに“1”を示し、これ以外の値をとるときは“0”を示す。
【0025】
adrs1およびadrs2が同じ値をとるのはIN[3]が“0”のときであり、このときは、EvenLUT20cおよびOddLUT20gの同じアドレスからガンマ補正値が読み出される。読み出し先アドレスがmであれば、図4に示す黒丸で示す2つのガンマ補正値がEvenLUT20cおよびOddLUT20gから読み出される。EvenLUT20cから読み出されたガンマ補正値は掛け算器20eによってcoef1[2:0]と掛け算され、OddLUT20gから読み出されたガンマ補正値は掛け算器20hによってcoef2[2:0]と掛け算される。
【0026】
IN[3]が“0”のとき、coef1[2:0]は“0x8”からIN[2:0]を減算した減算値に等しく、coef2[2:0]はIN[2:0]に等しい。このため、IN[2:0]が小さいほどcoef1[2:0]が大きくなり、EvenLUT20cから読み出されたガンマ補正値に対する重み付け量が大きくなる。掛け器20eおよび20hで求められた掛け算値を加算器20jで互いに加算し、加算値を“0x8”で割り算することによって、図4に四角で示す補正値が求められる。この補正値が、補正画素データとなる。
【0027】
一方、IN[3]が“1”をとるときは、EvenLUT20cおよびOddLUT20gの異なるアドレスからガンマ補正値が読み出される。OddLUT20gの読み出し先アドレスが“m”であれば、EvenLUT20cの読み出し先アドレスは“m+1”であり、図5に黒丸で示すガンマ補正値がEvenLUT20cおよびOddLUT20gから読み出される。IN[3]が“1”のとき、coef1[2:0]はIN[2:0]に等しく、coef2[2:0]は“0x8”からIN[2:0]を減算した減算値に等しい。このため、IN[2:0]が小さいほどcoef2[2:0]が大きくなり、OddLUT20cから読み出されたガンマ補正値に対する重み付け量が大きくなる。掛け器20eおよび20hから出力された掛け算値を加算器20jで互いに加算し、加算値を“0x8”で割り算することによって、図5に四角で示す補正画素データが得られる。
【0028】
この実施例によれば、14ビットの入力画素データにガンマ補正のような非線形補正を施して補正画素データを出力するために、10ビットで表される複数の数値に割り当てられた複数のガンマ補正値がEvenLUT20cおよびOddLUT20gに格納される。メモリコントローラ20bおよび20fはそれぞれ、入力画素データの上位に存在する10ビットのデータ値に基づいて、EvenLUT20cおよびOddLUT20gからガンマ補正値を読み出す。補正画素データは、読み出されたガンマ補正値と入力画素データの下位に存在する4ビット数のデータ値とに基づいて、掛け算器20eおよび20h,加算器20jならびに割り算器20kによって生成される。
【0029】
このように、EvenLUT20cおよびOddLUT20gから読み出す2つのガンマ補正値は、入力画素データの上位に存在する10ビットのデータ値に基づいて特定される。このため、LUTの容量を抑えることができる。また、補正画素データの生成は、読み出されたガンマ補正値と入力画素データの下位に存在する4ビットのデータ値とに基づいて行なわれる。このため、多ビットの画素データに適切にガンマ補正を施すことができる。
【0030】
なお、この実施例ではガンマ補正回路を用いて説明したが、この発明は、入力データに非線形補正を施すあらゆるデータ補正回路に適用できる。
【図面の簡単な説明】
【図1】この発明の一実施例を示すブロック図である。
【図2】ガンマ補正回路を示すブロック図である。
【図3】図1実施例の動作の一部を示す図解図である。
【図4】図1実施例の動作の他の一部を示すフロー図である。
【図5】図1実施例の動作のその他の一部を示すフロー図である。
【符号の説明】
10…ディジタルカメラ
20…ガンマ補正回路
20a,20j…加算器
20b,20f…メモリコントローラ
20c…EvenLUT
20g…OddLUT
20m…減算器
20e,20h…掛け算器
Claims (4)
- 第1ビット数の入力データに非線形補正を施して補正データを出力するデータ補正回路において、
前記第1ビット数よりも少ない第2ビット数で表される複数の数値にそれぞれ割り当てられた複数の補正値を格納するメモリ、
前記入力データの上位に存在する前記第2ビット数のデータ値に基づいて前記メモリから少なくとも2つの補正値を読み出す読み出し手段、および
前記読み出し手段によって読み出された補正値と前記入力データの下位に存在する第3ビット数のデータ値とに基づいて前記補正データを生成する生成手段を備え、
前記メモリは、前記複数の数値にそれぞれ割り当てられた複数の第1補正値を格納する第1テーブル、および前記複数の数値にそれぞれ割り当てられた複数の第2補正値を格納する第2テーブルを含み、
前記読み出し手段は、前記第2ビット数のデータ値に等しい数値に割り当てられた第1補正値を前記第1テーブルから読み出す第1読み出し手段、および前記第2ビット数のデータ値に所定値を加算した加算値に等しい数値に割り当てられた第2補正値を前記第2テーブルから読み出す第2読み出し手段を含み、
前記所定値は前記入力データ値のうち前記第2ビット数よりも1つ下位に存在するデータ値であることを特徴とする、データ補正回路。 - 前記第2ビット数および前記第3ビット数の和は前記第1ビット数に等しく、
前記読み出し手段によって読み出される補正値は2つであり、
前記生成手段は読み出された2つの補正値に前記第3ビット数のデータ値に従う重み付けを施す、請求項1記載のデータ補正回路。 - 前記入力データは画素データであり、前記非線形補正はガンマ補正である、請求項1または2記載のデータ補正回路。
- 請求項1ないし3のいずれかに記載のデータ補正装置を備える、ディジタルカメラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001253825A JP3806624B2 (ja) | 2001-08-24 | 2001-08-24 | データ補正回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001253825A JP3806624B2 (ja) | 2001-08-24 | 2001-08-24 | データ補正回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003069857A JP2003069857A (ja) | 2003-03-07 |
JP3806624B2 true JP3806624B2 (ja) | 2006-08-09 |
Family
ID=19082088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001253825A Expired - Fee Related JP3806624B2 (ja) | 2001-08-24 | 2001-08-24 | データ補正回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3806624B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009094947A (ja) * | 2007-10-11 | 2009-04-30 | Sanyo Electric Co Ltd | 補正演算回路 |
US9020998B2 (en) | 2008-10-14 | 2015-04-28 | Dolby Laboratories Licensing Corporation | Efficient computation of driving signals for devices with non-linear response curves |
-
2001
- 2001-08-24 JP JP2001253825A patent/JP3806624B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003069857A (ja) | 2003-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101051604B1 (ko) | 화상 처리 장치 및 방법 | |
EP1067507A1 (en) | Image display | |
US7755681B2 (en) | Apparatus and method of gamma correction in digital image processing device | |
JP2924079B2 (ja) | ガンマ補正回路 | |
GB2203013A (en) | Aperture correction circuits | |
US5652620A (en) | Color video camera | |
JP5977565B2 (ja) | 画像処理装置 | |
US10387999B2 (en) | Image processing apparatus, non-transitory computer-readable medium storing computer program, and image processing method | |
JP3806624B2 (ja) | データ補正回路 | |
US20070165122A1 (en) | Video signal clamping circuit | |
JP4645466B2 (ja) | 撮像装置 | |
JP3045245B2 (ja) | ガンマ補正回路 | |
US9013626B2 (en) | Signal processing circuit of solid-state imaging element, signal processing method of solid-state imaging element, and electronic apparatus | |
US20040091167A1 (en) | Image data processor and image data processing method | |
JP3791061B2 (ja) | 信号圧縮回路 | |
JP3722740B2 (ja) | 映像処理装置及び映像処理方法 | |
JP2935389B2 (ja) | 映像信号処理装置及び非線形信号処理装置 | |
JP3360412B2 (ja) | 階調補正装置 | |
JP3586238B2 (ja) | 撮像装置 | |
JP2003348442A (ja) | テレビジョンカメラ装置 | |
JPH10173958A (ja) | 映像信号処理装置 | |
US8373779B2 (en) | Imaging apparatus, signal processing circuit, signal processing apparatus, signal processing method, and computer program product | |
JPH05207329A (ja) | デジタルビデオカメラの信号処理回路 | |
JP3986257B2 (ja) | 映像信号処理装置 | |
JP2001510004A (ja) | ダイナミックレンジ変更回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040507 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060406 |
|
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: 20060502 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060515 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090519 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100519 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110519 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120519 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130519 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130519 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130519 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |