特許第6795411号(P6795411)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECプラットフォームズ株式会社の特許一覧

特許6795411画像補正装置および画像補正方法とプログラム
<>
  • 特許6795411-画像補正装置および画像補正方法とプログラム 図000002
  • 特許6795411-画像補正装置および画像補正方法とプログラム 図000003
  • 特許6795411-画像補正装置および画像補正方法とプログラム 図000004
  • 特許6795411-画像補正装置および画像補正方法とプログラム 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6795411
(24)【登録日】2020年11月16日
(45)【発行日】2020年12月2日
(54)【発明の名称】画像補正装置および画像補正方法とプログラム
(51)【国際特許分類】
   H04N 1/407 20060101AFI20201119BHJP
   G06T 5/00 20060101ALI20201119BHJP
【FI】
   H04N1/407
   G06T5/00 740
【請求項の数】10
【全頁数】11
(21)【出願番号】特願2017-9988(P2017-9988)
(22)【出願日】2017年1月24日
(65)【公開番号】特開2018-121139(P2018-121139A)
(43)【公開日】2018年8月2日
【審査請求日】2019年12月16日
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100124154
【弁理士】
【氏名又は名称】下坂 直樹
(72)【発明者】
【氏名】東原 豊
【審査官】 豊田 好一
(56)【参考文献】
【文献】 特開2009−094947(JP,A)
【文献】 特開2002−044451(JP,A)
【文献】 特開2013−012926(JP,A)
【文献】 特開平08−340448(JP,A)
【文献】 特開2004−120366(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/407
G06T 5/00
(57)【特許請求の範囲】
【請求項1】
所定のビット数の画像データの補正値を有する補正テーブルと、
前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する分離部と、
前記補正値に基づいて、1階導関数が連続である曲線を作成する作成部と、
作成された前記曲線を用いて前記下位ビットデータの補正値を算出する算出部と、
算出された前記補正値で前記画像データを補正して出力する補正部と、を有し、
前記作成部は、処理速度または補正精度に対する要求に応じて選択された方法で、前記曲線を作成する、画像補正装置。
【請求項2】
前記作成部は、所定の前記上位ビットデータの前記補正値と、前記所定の上位ビットデータの一つ前の、および次の、および更に次の前記上位ビットデータの前記補正値と、に基づいて前記曲線を作成する、請求項1記載の画像補正装置。
【請求項3】
前記作成部はベジェ曲線を作成する、請求項1または2記載の画像補正装置。
【請求項4】
前記算出部で算出された補正値を保存する記憶部を有する、請求項1から3の内の1項記載の画像補正装置。
【請求項5】
所定のビット数の画像データの補正値を有する補正テーブルを用いた画像補正方法において、
前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離し、
前記補正値に基づいて、1階導関数が連続である曲線を作成し、
作成された前記曲線を用いて前記下位ビットデータの補正値を算出し、
算出された前記補正値で前記画像データを補正して出力する、画像補正方法であって、
処理速度または補正精度に対する要求に応じて選択された方法で、前記曲線を作成する、画像補正方法
【請求項6】
所定の前記上位ビットデータの前記補正値と、前記所定の上位ビットデータの一つ前の、および次の、および更に次の前記上位ビットデータの前記補正値と、に基づいて前記曲線を作成する、請求項5記載の画像補正方法。
【請求項7】
前記曲線はベジェ曲線である、請求項5または6記載の画像補正方法。
【請求項8】
前記算出された補正値を保存する、請求項5から7の内の1項記載の画像補正方法。
【請求項9】
所定のビット数の画像データの補正値を有する補正テーブルを用いた画像補正をコンピュータに実行させる画像補正プログラムにおいて、
前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する処理と、
前記補正値に基づいて、1階導関数が連続である曲線を作成する処理と、
作成された前記曲線を用いて前記下位ビットデータの補正値を算出する処理と、
算出された前記補正値で前記画像データを補正して出力する処理と、を実行させる画像補正プログラムであって、
前記曲線を作成する処理は、処理速度または補正精度に対する要求に応じて選択された方法で、前記曲線を作成する、画像補正プログラム
【請求項10】
所定の前記上位ビットデータの前記補正値と、前記所定の上位ビットデータの一つ前の、および次の、および更に次の前記上位ビットデータの前記補正値と、に基づいて前記曲線を作成する処理を実行させる、請求項9記載の画像補正プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ガンマ補正などの画像補正を行う技術に関する。
【背景技術】
【0002】
ガンマ補正などの画像補正においては、入力信号に対する出力信号を割り当てたLUT(Look Up Table)により入力信号を出力信号に変換する方法や、高度な算術演算で入力信号を出力信号に変換する方法が行われている。
【0003】
画像の高画質化に伴い画素ごとの輝度や階調を表す画像データのビット数が増すと、LUTを用いる場合、これに対応させてLUTのデータのビット数を増やすとデータ容量が増えてしまい、データを記憶するメモリの記憶容量を増やす必要が生じる。一方、LUTのデータのビット数を増やさずに画像を処理すると、補正の精度が低下して画質が低下してしまう。また、算術演算で処理する場合、データのビット数が増すと演算規模が大きくなり所望の処理速度が得られない、もしくは高速処理できる回路が新たに必要となる、という問題が生じる。
【0004】
特許文献1には、LUTのメモリ容量を削減することのできる階調変換処理装置が開示されている。特許文献1の階調変換処理装置は、デジタル入力された画像データを、上位ビットデータと下位ビットデータとに分離する。LUTは、上位ビットデータを変換するデータと、上位ビットデータを変換するデータに対応した変換曲線を規定する補正係数群とを有している。このLUTから取得した補正係数群から、高次関数の階調変換関数を生成し、下位ビットデータを階調変換関数で演算し、階調変換された画像データを出力する。これにより特許文献1の階調変換処理装置のLUTのメモリ容量は、画像データ全体に対応するビット数のデータを全て備える場合に比べて小さくて済むことになる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−27206号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の階調変換処理装置は、以下の課題を有している。すなわち、階調変換処理装置のLUTは、画像データの上位ビットデータを変換するデータに加えて、上位ビットデータを変換するデータに対応した変換曲線を規定する補正係数群を備える必要がある。この補正係数群の分、データ容量が増えてしまうことから、LUTは大きいメモリ容量を必要としている。
【0007】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、LUTのメモリ容量を削減し、かつ精度の高い画像補正を行う画像補正装置を提供することにある。
【課題を解決するための手段】
【0008】
本発明の画像補正装置は、所定のビット数の画像データの補正値を有する補正テーブルと、前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する分離部と、前記補正値に基づいて、1階導関数が連続である曲線を作成する作成部と、作成された前記曲線を用いて前記下位ビットデータの補正値を算出する算出部と、算出された前記補正値で前記画像データを補正して出力する補正部と、を有する。
【0009】
本発明の画像補正方法は、所定のビット数の画像データの補正値を有する補正テーブルを用いた画像補正方法において、前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離し、前記補正値に基づいて、1階導関数が連続である曲線を作成し、作成された前記曲線を用いて前記下位ビットデータの補正値を算出し、算出された前記補正値で前記画像データを補正して出力する。
【0010】
本発明の画像補正プログラムは、所定のビット数の画像データの補正値を有する補正テーブルを用いた画像補正をコンピュータに実行させる画像補正プログラムにおいて、前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する処理と、前記補正値に基づいて、1階導関数が連続である曲線を作成する処理と、作成された前記曲線を用いて前記下位ビットデータの補正値を算出する処理と、算出された前記補正値で前記画像データを補正して出力する処理と、を実行させる。
【発明の効果】
【0011】
本発明によれば、LUTのメモリ容量を削減し、かつ精度の高い画像補正を行う画像補正装置を提供することができる。
【図面の簡単な説明】
【0012】
図1】本発明の第1の実施形態の画像補正装置の構成を示すブロック図である。
図2】本発明の第2の実施形態の画像補正装置の構成を示すブロック図である。
図3】本発明の第2の実施形態の画像補正装置の動作を示すフローチャートである。
図4】本発明の第2の実施形態の画像補正装置のベジェ曲線を作成する方法を説明するための図である。
【発明を実施するための形態】
【0013】
以下、図を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
(第1の実施形態)
図1は、本発明の第1の実施形態の画像補正装置の構成を示すブロック図である。本実施形態の画像補正装置1は、所定のビット数の画像データの補正値を有する補正テーブル11を有する。さらに、前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する分離部12を有する。さらに、前記補正値に基づいて、1階導関数が連続である曲線を作成する作成部13を有する。さらに、作成された前記曲線を用いて前記下位ビットデータの補正値を算出する算出部14を有する。さらに、算出された前記補正値で前記画像データを補正して出力する補正部15を有する。
【0014】
画像補正装置1によれば、補正テーブル11の有する所定のビット数の画像データの補正値に基づいて作成された曲線によって、所定のビット数よりも大きいビット数の画像データに対する補正値が算出される。補正テーブル11は所定のビット数の画像データの補正値の容量だけで済むため、メモリ容量の削減が可能である。さらに、曲線により、補正テーブル11の有する補正値の間は滑らかに繋がれるため、画像データの補正の精度を高くすることができる。
【0015】
以上のように、本実施形態によれば、補正テーブルのメモリ容量を削減し、かつ精度の高い画像補正を行う画像補正装置を提供することができる。
(第2の実施形態)
図2は、本発明の第2の実施形態の画像補正装置の構成を示すブロック図である。本実施形態の画像補正装置2は、LUT21と、分離回路22と、作成回路23と、算出回路24と、補正回路25と、を有する。画像補正装置2は、輝度のガンマ補正や、コントラスト調整や、階調補正などの画像補正を行うことができる画像補正装置である。
【0016】
LUT21は、輝度や階調などの画像データを表すビット数が所定のビット数である補正値を格納している。例えば、LUT21は、所定のビット数が8ビットのときのガンマ補正の場合、Y=255×(X/255)1/γ(Xは入力画像データで0から255までの整数、Yは出力補正画像データ、γはガンマ値)で算出されるXとYの値を格納している。本実施形態では、これ以降、所定のビット数を8ビットとして説明を行うが、これには限定されない。
【0017】
分離回路22は、所定のビット数よりも大きいビット数の画像データが入力されると、画像データを所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する。本実施形態では、これ以降、所定のビット数よりも大きいビット数を12ビットとして説明を行うが、これには限定されない。所定のビット数が8ビット、所定のビット数よりも大きいビット数が12ビットの場合、所定のビット数に対応する上位ビットデータは8ビット、下位ビットデータは4ビットとなる。
【0018】
作成回路23は、LUT21に格納されており上位ビットデータに対応する補正値に基づいて、下位ビットデータの補正値を算出するための曲線を作成する。曲線の作成の詳細は後述する。曲線は、上位ビットデータの補正値の間を滑らかに繋ぐことができる曲線である。
【0019】
算出回路24は、作成回路23によって作成された曲線を用いて、下位ビットデータの補正値を算出する。下位ビットデータの補正値の算出の詳細は後述する。
【0020】
補正回路25は、算出回路24により算出された下位ビットデータに対応する補正値で、入力された画像データを補正して出力する。画像データの補正は、例えば、入力された画像データを補正値で置き換える、また、入力された画像データに補正値を乗算する等の方法が可能である。
【0021】
本実施形態の画像補正装置2は、コンピュータに実装される。具体的には、画像補正装置2は、プログラムの形式で補助記憶装置に記憶されている。補助記憶装置は、一時的でない有形の媒体である。コンピュータに搭載されたCPU(Central Processing Unit)は、そのプログラムを補助記憶装置から読み出して主記憶装置に展開し、そのプログラムに従って処理を実行する。
【0022】
図3は、本実施形態の画像補正装置2の動作を示すフローチャートである。LUT21は、輝度や階調などの画像データを表すビット数が所定のビット数である補正値を予め格納している。ここでは所定のビット数を8ビットとして説明を行うが、これには限定されない。本フローチャートは、画像補正装置2に画素ごとの画像データが入力されて開始となる。
【0023】
まず、分離回路22は、所定のビット数よりも大きいビット数の画像データが入力されると、画素ごとの画像データを、所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する(ステップS01)。ここでは所定のビット数よりも大きいビット数を12ビットとして説明を行うが、これには限定されない。所定のビット数が8ビット、所定のビット数よりも大きいビット数が12ビットの場合、所定のビット数に対応する上位ビットデータは8ビット、下位ビットデータは4ビットとなる。
【0024】
分離回路22が、12ビットの画像データを上位8ビットデータと下位4ビットデータとに分離する方法は、例えば以下の様である。例えば、12ビットの画像データが「101100111010」の場合、マスクデータを「111111110000」として画像データとの「AND」をとれば、上位8ビットデータである「10110011」を取り出すことができる。また、マスクデータを「000000001111」として画像データとの「AND」をとれば、下位4ビットデータである「1010」を取り出すことができる。
【0025】
次に、作成回路23は、LUT21に格納されており上位ビットデータに対応する補正値に基づいて、下位ビットデータの補正値を算出するための曲線を作成する(ステップS02)。
【0026】
図4は、作成回路23が作成する曲線として、ベジェ曲線を作成する方法を説明するための図である。図4において、横軸(X軸)は10進数で表記した入力画像データを、縦軸(Y軸)は10進数で表記した出力画像データ(補正画像データ)を、各々示す。
【0027】
図4では、12ビットの入力X(t)の上位8ビットデータがA1である場合について、LUT21に格納されている8ビットの画像データの補正値に基づいて、A1を通るベジェ曲線を作成する方法を説明する。
【0028】
まず、作成回路23は、LUT21に格納されている8ビットの画像データの補正値から、上位8ビットデータであるA1の補正値と、上位8ビットデータにおいてA1の1つ前(A0)、およびA1の1つ後(A2)、および更に1つ後(A3)の、補正値を取得する。入力データは12ビットであるので、10進数で表記した場合、A0の16後がA1、A1の16後がA2、A2の16後がA3となる。ここではA0のX値を10進数表記での0と置くと、A0〜A3は以下のように表される。
A0(0、Y0):Y0はA1の1つ前の補正値
A1(16、Y1):Y1はA1の補正値
A2(32、Y2):Y2はA1の1つ後の補正値
A3(48、Y3):Y3はA1の2つ後の補正値
次に、作成回路23は、A0〜A3に基づいてA1〜A2のベジェ曲線を作成する。ベジェ曲線では、A0とA1を通る直線L0と、A2とA3を通る直線L2との交点B1(XB、YB)を基準点とする。すなわち、
始点(X1、Y1)=A1(16、Y1)
基準点(XB、YB)=B1(XB、YB)
終点(X2、Y2)=A2(32、Y2)
このとき、0≦t≦1において、
X(t)=(X2−2XB+X1)t+2(XB−X1)t+X1
Y(t)=(Y2−2YB+Y1)t+2(YB−Y1)t+Y1
で表されるベジェ曲線が得られる。
【0029】
tは、0≦t≦1であり、A1のX=16からA2のX=32の下位4ビットデータ(10進数表記で16、17、18、19、20、・・・、31、32)に対応するものである。例えば、X(0)=X1=16、X(1)=X2=32である。
【0030】
算出回路24は、A1のX1=16からA2のX2=32の下位4ビットデータに対応する10進数表記で16、17、・・・、32ごとにX(t)の式からt値を算出する。そして、算出されたt値を用いてY(t)の式から下位4ビットデータに対応する補正値を算出する(ステップS03)。すなわち、図4に示すように、12ビットに対応する補正点R1(X(t)、Y(t))が求まる。以上のようにしてベジェ曲線を作成することによって、A1からA2の12ビットの画像データX(t)に対応する補正値Y(t)を算出することができる。
【0031】
補正回路25は、算出回路24により算出された下位4ビットデータに対応する補正値で、画像データを補正して出力する(ステップS04)。
【0032】
ベジェ曲線から算出された補正点R1は、A1とA2を結ぶ直線L1に対して差を有する。仮に、8ビットの画像データの補正値の間を直線で結んだL0、L1、L2から12ビットの画像データの補正値を求めた場合、L0とL1の接続部分、およびL1とL2の接続部分は折れ線状態となっている。このため、接続部分では滑らかなグラデーションの表現ができない。これに対して、ベジェ曲線では、8ビットの画像データの補正値が滑らかに結ばれているため、折れ線状態は発生せず、滑らかなグラデーションの表現が可能である。すなわち、補正点R1の直線L1との差は、滑らかなグラデーションを可能とするという画像データの補正の精度を向上させる効果として現れる。
【0033】
曲線が折れ線状態を生じないためには、曲線の1階導関数が連続であればよい。曲線が、曲線の1階導関数が連続でない箇所を有すると、1階導関数が連続でない箇所で折れ線状態が生じてしまう。このため、曲線の1階導関数が連続でない箇所を有することを避けることが望ましい。
【0034】
なお、曲線を描く方法はベジェ曲線には限定されない。曲線は、上位ビットデータの補正値の間を滑らかに繋ぐことができる曲線であればよく、スプライン法、ニアレストネイバー法、リニア法、キュービック法などを用いることができる。曲線を描く方法は、前記のような折れ線状態を有さない曲線が描けるならば、前記の各種方法には限定されない。
【0035】
なお、画像補正装置2は、処理速度や補正精度の要求に応じて、曲線を描く方法を選択することができる。すなわち、画像補正装置2では、作成回路23により、LUT21に保存されている所定のビット数(例えば8ビット)の補正値を用いて、処理速度や補正精度の要求に適した方法を選択して曲線を描くことができる。これにより、処理速度や補正精度の要求に応じた補正値を得ることができる。
【0036】
なお、画像補正装置2は、算出回路24により算出された下位ビットデータに対応する補正値を保存するメモリやHDD(Hard Disk Drive)などの記憶部を備えていてもよい。下位ビットデータに対応する補正値を保存する記憶部を備えていることにより、同じ12ビットの画像データの画素に対して記憶部に保存された補正値を適用することが可能となり、同じ演算を再び行う必要がなくなるため、処理速度を向上させることができる。
【0037】
以上のように、画像補正装置2によれば、LUT21の有する所定のビット数の画像データの補正値に基づいて作成された曲線によって、所定のビット数よりも大きいビット数の画像データに対する補正値が算出される。LUT21は所定のビット数の画像データの補正値の容量だけで済むため、メモリ容量の削減が可能である。さらに、曲線により、LUT21の有する補正値の間は滑らかに繋がれるため、画像データの補正の精度を高くすることができる。
【0038】
以上のように、本実施形態によれば、LUTのメモリ容量を削減し、かつ精度の高い画像補正を行う画像補正装置を提供することができる。
【0039】
本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で種々の変形が可能であり、それらも本発明の範囲内に含まれるものである。
【0040】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
所定のビット数の画像データの補正値を有する補正テーブルと、
前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する分離部と、
前記補正値に基づいて、1階導関数が連続である曲線を作成する作成部と、
作成された前記曲線を用いて前記下位ビットデータの補正値を算出する算出部と、
算出された前記補正値で前記画像データを補正して出力する補正部と、を有する画像補正装置。
(付記2)
前記作成部は、所定の前記上位ビットデータの前記補正値と、前記所定の上位ビットデータの一つ前の、および次の、および更に次の前記上位ビットデータの前記補正値と、に基づいて前記曲線を作成する、付記1記載の画像補正装置。
(付記3)
前記作成部はベジェ曲線を作成する、付記1または2記載の画像補正装置。
(付記4)
前記算出部で算出された補正値を保存する記憶部を有する、付記1から3の内の1項記載の画像補正装置。
(付記5)
所定のビット数の画像データの補正値を有する補正テーブルを用いた画像補正方法において、
前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離し、
前記補正値に基づいて、1階導関数が連続である曲線を作成し、
作成された前記曲線を用いて前記下位ビットデータの補正値を算出し、
算出された前記補正値で前記画像データを補正して出力する、画像補正方法。
(付記6)
所定の前記上位ビットデータの前記補正値と、前記所定の上位ビットデータの一つ前の、および次の、および更に次の前記上位ビットデータの前記補正値と、に基づいて前記曲線を作成する、付記5記載の画像補正方法。
(付記7)
前記曲線はベジェ曲線である、付記5または6記載の画像補正方法。
(付記8)
前記算出された補正値を保存する、付記5から7の内の1項記載の画像補正方法。
(付記9)
所定のビット数の画像データの補正値を有する補正テーブルを用いた画像補正をコンピュータに実行させる画像補正プログラムにおいて、
前記所定のビット数よりも大きいビット数の画像データが入力されると、前記画像データを前記所定のビット数に対応する上位ビットデータと、残りの下位ビットデータとに分離する処理と、
前記補正値に基づいて、1階導関数が連続である曲線を作成する処理と、
作成された前記曲線を用いて前記下位ビットデータの補正値を算出する処理と、
算出された前記補正値で前記画像データを補正して出力する処理と、を実行させる画像補正プログラム。
(付記10)
所定の前記上位ビットデータの前記補正値と、前記所定の上位ビットデータの一つ前の、および次の、および更に次の前記上位ビットデータの前記補正値と、に基づいて前記曲線を作成する処理を実行させる、付記9記載の画像補正プログラム。
(付記11)
前記曲線はベジェ曲線である、付記9または10記載の画像補正プログラム。
(付記12)
前記算出された補正値を保存する処理を実行させる、付記9から11の内の1項記載の画像補正プログラム。
【符号の説明】
【0041】
1、2 画像補正装置
11 補正テーブル
12 分離部
13 作成部
14 算出部
15 補正部
21 LUT
22 分離回路
23 作成回路
24 算出回路
25 補正回路
図1
図2
図3
図4