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

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

▶ 日本放送協会の特許一覧

<>
  • 特許6514481-画像処理装置、及びプログラム 図000002
  • 特許6514481-画像処理装置、及びプログラム 図000003
  • 特許6514481-画像処理装置、及びプログラム 図000004
  • 特許6514481-画像処理装置、及びプログラム 図000005
  • 特許6514481-画像処理装置、及びプログラム 図000006
  • 特許6514481-画像処理装置、及びプログラム 図000007
  • 特許6514481-画像処理装置、及びプログラム 図000008
  • 特許6514481-画像処理装置、及びプログラム 図000009
  • 特許6514481-画像処理装置、及びプログラム 図000010
  • 特許6514481-画像処理装置、及びプログラム 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6514481
(24)【登録日】2019年4月19日
(45)【発行日】2019年5月15日
(54)【発明の名称】画像処理装置、及びプログラム
(51)【国際特許分類】
   G06T 5/40 20060101AFI20190425BHJP
【FI】
   G06T5/40
【請求項の数】2
【全頁数】16
(21)【出願番号】特願2014-212931(P2014-212931)
(22)【出願日】2014年10月17日
(65)【公開番号】特開2016-81346(P2016-81346A)
(43)【公開日】2016年5月16日
【審査請求日】2017年8月29日
【権利譲渡・実施許諾】特許権者において、実施許諾の用意がある。
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】松尾 康孝
(72)【発明者】
【氏名】境田 慎一
(72)【発明者】
【氏名】三須 俊枝
【審査官】 ▲広▼島 明芳
(56)【参考文献】
【文献】 特開2013−029953(JP,A)
【文献】 特開2013−171405(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00 − 5/50
H04N 1/407
(57)【特許請求の範囲】
【請求項1】
画像データを量子化する量子化テーブルを生成する画像処理装置であって、
前記画像データが有する画素の階調値と、前記階調値となる画素の頻度との関係を示すヒストグラムデータを生成するヒストグラム生成手段と、
前記画像データが有する画素に量子化値を割り当てる場合に、前記量子化値ごとに割り当てる画素数が閾値として設定された閾値テーブルを取得、又は生成する閾値テーブル入力手段と、
前記ヒストグラム生成手段から得られる前記ヒストグラムデータで示される前記階調値の低い方又は高い方から順に、前記階調値ごとの画素のカウント数に対応する数の量子化値を割り当て、割り当てた量子化値の数が前記閾値に達した場合に前記量子化値を次の量子化値に切り替えて全ての階調値に対して量子化値を割り当てることで、前記画像データを量子化する量子化テーブルを生成する量子化テーブル生成手段と
を有し、
前記量子化テーブル生成手段は、
前記画像データをスペクトル解析した結果に基づいて判定されたグラデーション領域に含まれる画素の量子化値を割り当てる画素数の最大値を、他の量子化値に対する最大値よりも小さくして、前記画像データを量子化する量子化テーブルを再度生成する画像処理装置。
【請求項2】
コンピュータを請求項1に記載の画像処理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、及びプログラムに関する。
【背景技術】
【0002】
従来、画像処理では、画像を量子化する処理が行われる場合がある。この量子化は、例えば10ビットの画像を8ビットの画像に変換する等の画像のビット数を変更する処理である。この際に用いられるロイドマックス(Lloyd−Max)量子化法は、量子化の際、量子化する前の画像と量子化した後の画像の差分を最小にし、量子化による画像の劣化を少なくする手法の一つである。スカラ量子化の一種であるロイドマックス量子化法においては、輝度ヒストグラム(Histogram)頻度が高い階調の値付近に多くの階調を割り当てる(例えば、非特許文献1、及び非特許文献2等)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】"Least squares quantization in PCM"S.P.Lloyd,IEEE Trans.Information Theory,vol.IT−28,pp.129−136,Mar.1982.
【非特許文献2】"Quantizing for minimum distortion"J.Max,IEEE Trans.Information Theory,vol.IT−7,pp.7−12,Mar.1960.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来のロイドマックス量子化法では、フィードバック(Feedback)処理を行うため、計算コストが大きくなってしまう問題があった。
【0005】
本発明の1つの側面は、量子化の際の計算コストを少なくすることを目的とする。
【課題を解決するための手段】
【0006】
一態様における、画像データを量子化する量子化テーブルを生成する画像処理装置であって、前記画像データが有する画素の階調値と、前記階調値となる画素の頻度との関係を示すヒストグラムデータを生成するヒストグラム生成手段と、前記画像データが有する画素に量子化値を割り当てる場合に、前記量子化値ごとに割り当てる画素数が閾値として設定された閾値テーブルを取得、又は生成する閾値テーブル入力手段と、前記ヒストグラム生成手段から得られる前記ヒストグラムデータで示される前記階調値の低い方又は高い方から順に、前記階調値ごとの画素のカウント数に対応する数の量子化値を割り当て、割り当てた量子化値の数が前記閾値に達した場合に前記量子化値を次の量子化値に切り替えて全ての階調値に対して量子化値を割り当てることで、前記画像データを量子化する量子化テーブルを生成する量子化テーブル生成手段と、を有し、前記量子化テーブル生成手段は、前記画像データをスペクトル解析した結果に基づいて判定されたグラデーション領域に含まれる画素の量子化値を割り当てる画素数の最大値を、他の量子化値に対する最大値よりも小さくして、前記画像データを量子化する量子化テーブルを再度生成することを特徴とする。
【0007】
フィードフォワード処理により、繰り返し演算を行わずに量子化できるため、量子化の際の計算コストを少なくできる。
【0008】
前記画像データをスペクトル解析する解析手段を有し、前記閾値テーブル入力手段は、前記解析手段によるスペクトル解析の結果に対応して前記閾値が設定された閾値テーブルを修正することを特徴とする。
【0009】
フィードフォワード処理により、繰り返し演算を行うことなく量子化が行え、量子化の際の計算コストを少なくできる。さらに、スペクトル解析の結果に基づいて生成されることによって、グラデーション領域を判定することができる。
【0010】
前記解析手段は、前記スペクトル解析の結果から、周波数のパワーの割合の値によりグラデーション領域を判定し、前記閾値テーブル入力手段は、前記グラデーション領域と判定された領域に対して前記量子化値を割り当てる割合が大きくなる前記閾値テーブルを取得、又は生成することを特徴とする。
【0011】
フィードフォワード処理により、繰り返し演算を行うことなく量子化が行え、量子化の際の計算コストを少なくできる。さらに、スペクトル解析の結果に基づいて生成されることによって、階調値を細かく量子化することができる。
【0012】
前記閾値テーブル入力手段は、前記量子化値を割り当てる割合が均等となるように前記閾値が設定された閾値テーブルを取得、又は生成することを特徴とする。
【0013】
フィードフォワード処理により、繰り返し演算を行うことなく量子化が行え、量子化の際の計算コストを少なくできる。さらに、量子化値は、割り当てる割合が均等になる閾値テーブルによって割り当てられる。したがって、割り当てる割合が均等になる閾値テーブルによって、ヒストグラムを平滑にすることができる。
【図面の簡単な説明】
【0014】
図1】本発明の一実施形態に係る画像処理システムの構成の一例を説明するブロック図である。
図2】本発明の一実施形態に係る画像処理装置の機能構成の一例を説明する機能ブロック図である。
図3】本発明の一実施形態に係る画像処理装置による全体処理の一例を説明するフローチャートである。
図4】本発明の一実施形態に係るヒストグラムの一例を説明する図である。
図5】本発明の一実施形態に係るブロック領域の一例を説明する図である。
図6】本発明の一実施形態に係るスペクトル解析におけるグラデーション領域解析処理の一例を説明する図である。
図7】本発明の一実施形態に係る第1モード用の閾値テーブルの一例を説明する図である。
図8】本発明の一実施形態に係る第2モード用の閾値テーブルの一例を説明する図である。
図9】本発明の一実施形態に係る量子化テーブルを生成する処理の一例を説明する図である。
図10】本発明の一実施形態に係る量子化テーブルの一例を説明する図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態について説明する。
【0016】
<全体構成>
図1は、本発明の一実施形態に係る画像処理システムの構成の一例を説明するブロック図である。図1に示す画像処理システム1は、画像処理装置10と、送信装置11とを有する。
【0017】
画像処理装置10は、画像処理システム1に入力される画像データを用いて、ヒストグラム生成処理及びスペクトル解析処理等により画像を量子化するための量子化テーブルを生成する。画像を量子化するとは、例えば画素の階調値が10ビット(1024階調)の画像データを、8ビットの画像データ(256階調)に量子化することをいうが、量子化前後のビット数については、これに限定されるものではない。なお、量子化を行うため、量子化後のビット数は、量子化前のビット数よりも少なくなる。また、画像処理装置10は、生成した量子化テーブルを用いて入力される画像データの量子化処理を行ってもよい。
【0018】
画像処理装置10は、例えば電子回路基板等で実現される。電子回路基板には、例えばFPGA(Field−Programmable Gate Array)等が実装され、画像処理装置10が行う各種の処理は、実装されたFPGA等によって実行される。なお、本実施形態は、FPGA等のPLD(Programmable Logic Device)を用いる場合に限られない。本実施形態は、例えば画像処理装置10が行う処理の全部、又は一部がASIC(Application Specific Integrated Circuit)によって実現される形態でもよい。
【0019】
また、画像処理装置10は、電子回路基板に限られない。画像処理装置10は、例えばPC(Personal Computer)等でもよい。画像処理装置10がPCである場合、画像処理装置10は、CPU(Central Processing Unit)を有し、CPUがプログラムを実行することによって各種の処理を実現してもよい。
【0020】
送信装置11は、画像処理装置10が出力する処理後画像データ(例えば、8ビットの画像データ)、及び量子化テーブルデータ等の各種データを、所定の画像復元機能を有する受信装置に送信する。
【0021】
受信側(図示せず)では、受信装置は、送信装置11が送信する画像データ、及び量子化テーブルデータ等を受信し、受信した画像データ、及び量子化テーブルデータを利用して、画像データに対して階調復元等の処理を行う。階調復元処理とは、例えば階調値が8ビット(256階調)の画像データを10ビットの画像データ(1024階調)に逆量子化する処理をいうが、これに限定されるものではない。また、本実施形態では、受信側で階調復元以外の処理が行われてもよい。
【0022】
<画像処理装置10の機能構成例>
次に、上述した画像処理システム1における画像処理装置10の機能構成例について、図を用いて説明する。図2は、本発明の一実施形態に係る画像処理装置の機能構成の一例を説明する機能ブロック図である。
【0023】
図2に示す画像処理装置10は、入力手段10F1と、ヒストグラム生成手段10F2と、解析手段の一例としてのスペクトル解析手段10F3と、閾値テーブル入力手段10F4と、量子化テーブル生成手段10F5と、量子化手段10F6とを有する。
【0024】
入力手段10F1は、画像データ、動作モードデータ、及び閾値テーブルデータ等を入力する。動作モードとは、量子化テーブル生成手段10F5において、例えば10ビットの階調値に対して8ビットの量子化値を割り当てる動作内容を設定するものであり、動作モードに応じて閾値テーブルが設定される。閾値テーブルデータは、予め設定された複数の動作モードに対応させて複数の閾値テーブルを有していてもよい。
【0025】
また、入力手段10F1は、入力した画像データに対し、閾値テーブルを取得又は生成するための基準となる所定のブロック領域に分割したり、所定のブロック領域においてスペクトラム解析を行う基準となる小ブロック領域に分割する。これらの分割データは、スペクトル解析手段10F3や閾値テーブル入力手段10F4に出力される。入力手段10F1は、例えば入出力用のインタフェース、及びFPGA等の電子回路によって実現される。
【0026】
ヒストグラム生成手段10F2は、入力手段10F1が入力した画像データが有する画素の階調値と、その階調値となる画素の頻度(カウント数)との関係を示すヒストグラムデータを生成するヒストグラム生成処理を行う。ヒストグラム生成手段10F2は、例えばFPGA等の電子回路によって実現される。
【0027】
スペクトル解析手段10F3は、入力手段10F1が入力した画像データをスペクトル解析(spectrum analysis)する。例えば、スペクトル解析手段10F3は、画像データを小ブロック領域ごとに解析し、小ブロック領域ごとに解析結果を出力する。また、スペクトル解析は、例えばDCT(Discrete Cosine Transform)、又はFFT(Fast Fourier Transform)等を用いて行う。小ブロック領域とは、例えば縦軸方向が8画素、横軸方向が8画素、あるいは縦軸方向が16画素、横軸方向が16画素の領域であるが、これに限定されるものではない。
【0028】
スペクトル解析の解析結果は、例えば小ブロック領域がグラデーション(gradation)領域であるか否かを判定するのに用いる、所定の小ブロック領域についての周波数スペクトル(frequency spectrum)のデータである。
【0029】
スペクトル解析手段10F3は、スペクトル解析の結果から、周波数のパワーの割合の値により、その小ブロック領域がグラデーション領域であるか否かを判定することができる。スペクトル解析手段10F3は、例えばFPGA等の電子回路によって実現される。
【0030】
閾値テーブル入力手段10F4は、閾値テーブルデータを取得、又は生成する処理を行う。例えば、閾値テーブル入力手段10F4は、画像データが有する画素に対して量子化値を割り当てる場合に、量子化値ごとに割り当てる画素数が閾値として設定された閾値テーブルを取得、又は生成する。
【0031】
具体的には、閾値テーブル入力手段10F4は、設定される動作モードに対応させてブロック領域ごとの閾値テーブルを取得、又は生成する。例えば、ある動作モードでは量子化値を割り当てる割合が均等となるような閾値テーブルであり、他の動作モードではスペクトル解析の結果に対応して、均等の量子化テーブルが修正される。
【0032】
この量子化テーブルの修正は、例えば、スペクトル解析の結果でグラデーション領域と判定された階調値の範囲に対して、量子化値を割り当てる割合を大きくするものである。閾値テーブル入力手段10F4は、例えばFPGA等の電子回路によって実現される。
【0033】
量子化テーブル生成手段10F5は、ヒストグラム生成手段10F2からのヒストグラムデータで示される階調値ごとの画素のカウント数と、閾値テーブル入力手段10F4からの閾値テーブルで設定された閾値とに応じて、階調値ごとに量子化値をそれぞれ割り当てて画像データを量子化する量子化テーブルを生成する。例えば、量子化テーブル生成手段10F5は、ヒストグラム生成手段10F2から得られるヒストグラムデータで示される階調値の低い方又は高い方から順に、階調値ごとの画素のカウント数に対応する数の量子化値を割り当てる。また、量子化テーブル生成手段10F5は、割り当てた量子化値が閾値に達した場合に次の量子化値に切り替えて全ての階調値に対して量子化値を割り当てることで、画像データを量子化する量子化テーブルを生成する。量子化テーブル生成手段10F5は、例えばFPGA等の電子回路によって実現される。
【0034】
量子化手段10F6は、量子化テーブル生成手段10F5で生成した量子化テーブルを用いて、例えば10ビットの画像データの量子化を行い、8ビットの処理後画像データ及び量子化テーブルを図1に示す送信装置11に出力する。なお、本実施形態において、画像処理装置10は、量子化手段10F6を有しない構成であってもよく、その場合には、入力された10ビットの画像データ及び量子化テーブルが出力され、他の装置において量子化テーブルを用いて8ビットの画像データを生成してもよい。本実施形態では、図1の送信装置11は、画像処理装置10が出力する量子化テーブルデータ、及び処理後画像データを受信側の受信装置等に送信する。
【0035】
なお、各部は、電子回路によって実現される場合に限られない。各部は、全部、又は一部がプログラムによって実現されてもよい。
【0036】
従来、ロイドマックス量子化は、繰り返し演算によって入力画像と、量子化後の画像と、の差分の最小化を図ったため、計算コストが高くなる場合が多かった。本発明の一実施形態は、ヒストグラム、及び閾値テーブルのデータに基づいて量子化値を割り当てるフィードフォワード処理を行うため、繰り返し演算を行うことなく量子化が行える。繰り返し演算を行わないことによって、画像処理装置10は、計算コストを少なくできる。また、収束するまで繰り返し行う処理がないため計算時間を一定にすることができ、電子回路で実現する場合、電子回路の制御等を簡易にすることができる。
【0037】
<全体処理>
図3は、本発明の一実施形態に係る画像処理装置による全体処理の一例を説明するフローチャートである。
【0038】
図3の例において、ステップS0201では、画像処理装置10の入力手段10F1は、画像データを入力する。次に、ステップS0202では、画像処理装置10のヒストグラム生成手段10F2は、ヒストグラムデータを生成するヒストグラム生成処理を行う。図4は、本発明の一実施形態に係るヒストグラムの一例を説明する図である。
【0039】
図4で示すように、ヒストグラムは、縦軸を度数とする「頻度」、及び横軸を画像における画素の輝度値等である「階調値」とするグラフである。ヒストグラム生成処理は、画像データを所定の大きさに分割したブロック領域ごとに行われる。ブロック領域に分割するための情報は、予め画像処理装置10に入力される。
【0040】
図5は、本発明の一実施形態に係るブロック領域の一例を説明する図である。図5(A)は、本発明の一実施形態に係る画像データを3×3の9のブロック領域に分割する場合の一例を示す図である。
【0041】
入力処理で入力される画像2は、図5(A)で図示するように、画像の縦、及び横方向についてそれぞれ3分割される。同一の被写体で各ヒストグラムのデータ量が同じとなるように、ブロック領域21は、各ブロック領域の有する画素数が等分割となるように生成されるのが好ましい。ブロック領域21は、例えば画像2の面積が9等分となるように生成される。
【0042】
なお、実施形態は、3×3の9のブロック領域に分割する場合に限られず、例えば図5(B)に示すように4×4の16のブロック領域に分割してもよい。
【0043】
図3に戻り、次に、ステップS0203では、画像処理装置10のスペクトル解析手段10F3は、画像データをスペクトル解析する解析処理を行う。スペクトル解析では、入力処理で入力されるブロック領域の画像データについて、小ブロック領域ごとに解析し、小ブロック領域ごとに解析結果を出力する。また、スペクトル解析では、解析結果に基づいてグラデーション領域であるか否かを判定してもよい。
【0044】
図6は、本発明の一実施形態に係るスペクトル解析におけるグラデーション領域解析処理の一例を説明する図である。
【0045】
図6の例では、小ブロック領域が縦軸方向16画素、かつ、横軸方向16画素である場合の例を示す図である。グラデーション領域解析処理は、ブロック領域に例えばDCTを行う。DCTの結果に基づいて、グラデーション領域解析処理は、図6に示すように、水平周波数、及び垂直周波数がともに最高周波数の1/8以下となる周波数のパワーの割合を算出する処理である。グラデーション領域解析処理は、割合を例えば0.00乃至1.00の範囲の値で出力する。値が大きい場合、対象となるブロック領域は、低周波帯域のパワーの割合が高い領域である。小ブロック領域がグラデーション領域であるか否かの判定は、例えばパワーの割合の値が所定の値以上である場合、画像処理装置10がグラデーション領域であると判定する方法等で実現される。
【0046】
図3に戻り、次に、ステップS0204では、画像処理装置10の閾値テーブル入力手段10F4は、閾値テーブルを取得又は生成する処理を行う。ここで、ステップS0204の処理を行うために、ステップS0202と同様に、ブロック領域に分割するための情報は、予め画像処理装置10に入力される。また、ステップS0204の処理を行うために、ステップS0203と小ブロック領域に係る情報が、予め画像処理装置10に入力される。また、ステップS0204の処理を行うために、ステップS0203で出力される解析結果が、予め画像処理装置10に入力される。また、ステップS0204の処理を行うために、動作モードが外部スイッチ(図示せず)等によって予め画像処理装置10に入力される。
【0047】
例えば、ステップS0204では、予め閾値テーブルを外部から取得しない場合、閾値テーブル入力手段10F4は、閾値テーブルを生成する処理を行う。また、予め閾値テーブルを外部から取得する場合、閾値テーブル入力手段10F4は、閾値テーブルを取得する処理を行う。
【0048】
また、ステップS0204では、閾値テーブルを生成する処理では、画像処理装置10は、入力する動作モードによって行う処理を切り替えることができる。動作モードは、例えば量子化値を均等に割り当てるヒストグラム平滑化モード(以下、「第1モード」という。)、及びグラデーション領域に重みをつけて割り当てる疑似輪郭抑制モード(以下、「第2モード」という。)等があるが、これに限定されるものではない。
【0049】
ステップS0204では、画像処理装置10は、第1モード、及び第2モードいずれの場合でも上述した図5に示すブロック領域21ごとに処理を行う。
【0050】
以下、画像処理装置10が10ビット(bit)である1024階調のデータを、8ビットである256階調のデータに量子化する場合を例に、上述した第1モード及び第2モードの閾値テーブルについて説明する。
【0051】
<第1モード用の閾値テーブルの一例>
図7は、本発明の一実施形態に係る第1モード用の閾値テーブルの一例を説明する図である。図7に示す閾値テーブルの項目としては、例えば「量子化値(8ビット)」、「閾値」等であるが、これに限定されるものではない。ここで閾値とは、階調値ごとのカウント数(頻度)と比較される値である。カウント数が閾値に達している場合、画像処理装置10は、次の量子化値について処理を開始する。閾値は、割り当てる量子化値を切り替えるための基準となる値である。
【0052】
ステップS0204の閾値テーブルを生成する処理において、第1モードの場合、画像処理装置10は、図7のように、量子化値ごとに割り当てられる画素の数(以下、カウント数という。)が均等となるように閾値を設定する処理を行う。具体的には、図7に示すように、画像データのブロック領域の総画素数256×256=65536に対して、8ビット分の総数256で除算した結果(65526/256=256)を閾値に設定する。図7に示すように、量子化値ごとにそれぞれ同じ値の閾値が設定される場合は、画像処理装置10が量子化値ごとにそれぞれ同じ数の画素を生成し、画像処理装置10が量子化値ごとに均等に割り当てを行う。カウント数が図7に示す「閾値」に達する場合、画像処理装置10は、画素を割り当てる量子化値を次の量子化値とする。次の量子化値は、例えば割り当てを行っている量子化値に1を加えた量子化値である。例えば図7の場合、量子化値「0」に256の画素を割り当てた場合、画像処理装置10は、次の画素には量子化値「1」を割り当てる処理を行う。なお、第1モードの場合、上述したスペクトル解析手段10F3における処理を行わずに、閾値テーブルを生成することができる。
【0053】
<第2モード用の閾値テーブルの一例>
図8は、本発明の一実施形態に係る第2モード用の閾値テーブルの一例を説明する図である。図8に示す閾値テーブルの項目は、上述した図7と同様であるが、これに限定されるものではない。
【0054】
ステップS0204において、画像処理装置10は、第2モードの場合、ブロック領域内に小ブロック領域のグラデーション領域であるか否かを判定する。また、グラデーション領域である場合は、グラデーション領域である量子化値の範囲を判定する。
【0055】
グラデーション領域であるか否かの判定は、画像処理装置10がステップS0203のスペクトル解析の解析結果に基づいて行う。画像処理装置10は、例えば解析結果として得られる周波数スペクトルにおいて、高周波のない、滑らかな領域をグラデーション領域と判定する。また、判定は、例えば上述した図6で説明した方法等で実現される。画像処理装置10は、例えば小ブロック領域の周波数において、周波数の低い方から10パーセントのパワーの合計が、全体のパワーの98パーセントを超える場合、グラデーション領域と判定する。
【0056】
小ブロック領域がグラデーション領域と判定される場合、画像処理装置10は、グラデーション領域に重みをつけて閾値を割り当てる。
【0057】
図8の例では、図7と同様に、図5のブロック領域21ごとに処理を行う場合の例を示している。図8の例は、第2モードであり、かつ、ブロック領域21に含まれる小ブロック領域21Gがグラデーション領域であると判定された場合に用いる閾値テーブルを説明する図である。
【0058】
図8は、グラデーション領域用の閾値が図7の閾値と比較して、小さくなるように設定される点が異なる。図8は、量子化値「100」乃至「102」がグラデーション領域用となる場合の例である。
【0059】
図8の場合、グラデーション領域である小ブロック領域21Gに対応する閾値は、閾値テーブル3に、図7の場合より「α」だけ小さい値で設定される。つまり、図8の閾値テーブル3に示すように、グラデーション領域用の閾値は、第1モードで均等になるように設定した閾値から「α」引いた値が設定される。閾値が小さい値となると、カウント数は、閾値に達するのが早くなるため、生成される画素に割り当てられる量子化値が細かく切り替わる場合が多くなる。図8の場合、例えば量子化値「100」に割り当てられる画素の数は、256より少ない数である。図7の場合と比較して、図8の場合は、同様の画像であっても量子化値「100」に割り当てられる画素が少なくなる。
【0060】
したがって、図8の場合は、画像処理装置10が、それぞれの値が近い値の輝度値の画素であっても別の量子化値に割り当てる可能性を図7の場合より多くできる。つまり、グラデーション領域と判定された領域に対して量子化値を割り当てる割合が大きくなる。別の量子化値が割り当てられると、それぞれの画素が別の出力値で出力されるため、出力を行う装置(図示せず)は、グラデーション領域のようにそれぞれの輝度値が近い値である画素が近接している箇所でも同じ出力値で一様に出力するのではなく、細かく出力値を変化させることで、輝度値の変化があることを表現できる。
【0061】
第2モードでは、図8の閾値テーブル3に示すように、閾値を小さくすることによって、グラデーション領域を量子化値「100」乃至「102」の前後に拡大させることができ、さらに、グラデーション領域外の閾値を大きくすることで、グラデーション領域内の各階調値を細かく量子化することができ、疑似輪郭を抑制することができる。
【0062】
また、図8の場合、量子化値「100」乃至「102」に割り当てられる画素は、それぞれ「α」少なくなるように設定されているため、グラデーション領域用の量子化値「100」乃至「102」に割り当てられる画素は、図7の場合と比較して、合計して「3α」少ない。このため、グラデーション領域内の各量子化値を細かく量子化することができ、疑似輪郭を抑制することができる。また、第2にモードでは、「3α」減らした分をグラデーション領域用以外の量子化値「0」乃至「99」、及び量子化値「103」乃至「255」に画素を割り当てる。グラデーション領域用以外の量子化値への割り当ては、例えば割り当てられる画素が各量子化値に、それぞれ均等に割り当てられるように行われる。
【0063】
図3に戻り、次に、ステップS0205では、画像処理装置10の量子化テーブル生成手段10F5は、量子化テーブルを生成する処理を行う。ステップS0205の処理では、ステップS0203の解析結果と、ステップS0204で生成される閾値テーブル、又は入力される閾値テーブルとが用いられる。量子化テーブルを生成する処理は、例えば図5のブロック領域21ごとに量子化値を割り当てる処理である。
【0064】
<量子化テーブルを生成する処理の一例>
図9は、本発明の一実施形態に係る量子化テーブルを生成する処理の一例を説明する図である。量子化テーブルを生成する処理を、図9(A)で図示する10ビットの階調値400乃至407の値に対して、8ビットの量子化値100乃至102を割り当てる場合を例に説明する。
【0065】
図9(A)は、ステップS0202の解析結果の一例である。図9(A)は、図5のブロック領域21のヒストグラムの一例を示す図である。量子化テーブルを生成する処理では、量子化値は、例えば値の低い階調値から割り当てられる。なお、高い方から割り当ててもよい。
【0066】
図9(B)は、量子化値「100」の割り当ての一例を説明する図である。図9(B)では、量子化値「100」が、最も低い値である10ビットの階調値400から順に割り当てた場合を示す。割り当てる量は、ステップS0204で生成される閾値テーブル、又は入力される閾値テーブルの量子化値「100」に設定される閾値で決定される。
【0067】
図9(B)の例では、量子化値「100」に対応する閾値に達するまでに、斜線部分(階調値402の途中)までが割り当てられたことを示す。
【0068】
ステップS0205では、量子化テーブル生成手段10F5は、図9(B)に示すように、量子化値「100」の割り当てが対応する閾値に達した場合に、量子化値「100」を次の量子化値「101」に切り替えて割り当てを行う。図9(C)は、量子化値「101」の割り当ての一例を説明する図である。図9(C)では、図9(B)の量子化値「100」の割り当て後、量子化値「101」が、最も低い値である10ビットの階調値402の途中から順に、量子化値「101」の閾値に達するまで割り当てを行い、階調値403の途中まで割り当てられたことを示す。
【0069】
また、図9(D)は、量子化値「102」の割り当ての一例を説明する図である。図9(D)の処理は、図9(B)、及び図9(C)と同様に、図9(C)の量子化値「101」の割り当てが閾値に達した場合、次の量子化値「102」に切り替えて最も低い値である10ビットの階調値403の途中から順に割り当てを行う処理である。
【0070】
なお、図9(D)の例において、階調値402には、量子化値「100」及び量子化値「101」が割り当てられているが、この場合には、例えば先に割り当てられた量子化値「100」を優先する。したがって、量子化テーブルの階調値402に対して量子化値「100」が設定される。設定方法については、上記の例に限定されるものではない。
【0071】
なお、上述した割り当ての処理は、第1モードの場合、図7で示した閾値テーブル3に設定された「閾値」に基づいて行う処理である。割り当ての処理は、第2モードの場合、図8で示した閾値テーブル3に設定された「閾値」に基づいて行う処理である。画像処理装置10は、図9(B)で図示するように、階調値「400」の画素を量子化値「100」に割り当てる場合、量子化値「100」に割り当てた画素の数をカウント数としてカウントする処理を行う。つまり、量子化値「100」に割り当てた画素がある毎に、画像処理装置10は、カウント数をカウントアップする処理を行う。カウント数が図7又は図8で示した閾値テーブル3に設定された「閾値」に達した場合、画像処理装置10は、次の量子化値である量子化値「101」に画素を割り当てる。
【0072】
画像処理装置10が量子化値「101」に画素を割り当てる場合、画像処理装置10は、量子化値「100」の場合と同様に、量子化値「101」に割り当てる画素の数をカウント数としてカウントする処理を行う。量子化値「101」に画素を割り当てる処理は、量子化値「100」の場合と同様に、図7又は図8の閾値テーブル3に基づいて、量子化値「101」に設定される「閾値」にカウント数が達するまで行われる処理である。
【0073】
図9で示すように、量子化テーブルを生成する処理は、ヒストグラムの階調値に対して閾値テーブルに基づいて量子化値を割り当て、最終的に全ての階調値に対して量子化値を割り当てる。
【0074】
なお、同じ分割領域に位置し、かつ、同一の輝度値である画素は、同一の量子化値に割り当てられるのが望ましいので、多数の方の量子化値に揃えて割り当てられてもよい。例えば、図9(D)の場合において、「402」の階調値である画素が複数存在する場合を例に説明する。「402」の階調値である画素のうち、同じ分割領域に位置する画素がある場合、同じ分割領域に位置する「402」の階調値である画素は、すべて同じ量子化値に揃えて割り当てられるのが望ましい。例えば、同じ分割領域に位置する「402」の階調値である画素は、すべて量子化値「100」に揃えて割り当てられるのが望ましい。同じブロック領域に位置し、かつ、同一の輝度値である画素は、同一の被写体、即ち同一の色を示す場合が多いため、同じ量子化値で出力されることが望ましい場合が多い。したがって、同じブロック領域に位置し、かつ、同一の輝度値である画素は、同じ量子化値で出力されるように、同じ量子化値に割り当てられることによって、画質の向上を図ることができる。但し、割り当て処理は、上述の方法に限られない。割り当て処理は、別の方法によって各画素の位置を特定し、各画素の位置ごとに割り当てを行う処理でもよい。
【0075】
ヒストグラムに基づいて量子化値を割り当てることによって、頻度の高い階調値付近には、多くの量子化値を割り当てることができる。
【0076】
動作モードが上述した第1モードの場合、閾値テーブルは、各量子化値に割り当てられる画素の数が均等になるように設定される。したがって、第1モードの場合、画像処理装置10は、閾値テーブルによって、ヒストグラムを平滑にすることができる。
【0077】
動作モードが上述した第2モードの場合、閾値テーブルは、グラデーション領域に割り当てられる量子化値が多くなるように設定される。したがって、第2モードの場合、画像処理装置10は、閾値テーブルによって、階調値を細かく量子化することができる。
【0078】
ここで、第2モードの場合の閾値を小さくする範囲の設定について説明する。先ず、グラデーション領域の範囲は10ビット階調値の値で求まる。この範囲が、例えば「400」〜「419」だったとすると、一旦、第1モードである仮定して、図9の手順により、この範囲が該当する8ビット階調値の範囲を求める。これが、例えば、「110」〜「115」に該当しており、グラデーション領域なのでこの範囲の閾値を半分(256/2)にするならば、減らした分だけ上側、下側にグラデーション領域となる8ビット階調値の範囲を拡げる必要がある。すなわち、上、下側にそれぞれ、3量子化値(閾値が256/2)をグラデーション領域に拡張し、結局8ビットのグラデーション領域は「107」〜「118」となる。また、均等から減らした画素(256/2x12)の分だけ残りの「0」〜「106」及び「119」〜「255」の量子化値で均等に多く負担する(閾値が大きくなる)。
【0079】
なお、本実施形態は、図3で示された全体処理に限られない。本実施形態は、各処理が並行、又は分散して処理されてもよい。例えばステップS0202の処理、及びステップS0203の処理は、並行して処理されてもよい。
【0080】
<量子化テーブルの一例>
図10は、本発明の一実施形態に係る量子化テーブルの一例を説明する図である。
【0081】
量子化テーブル4は、図9で説明した割り当てが行われる場合に生成される量子化テーブルデータの一例である。すなわち、量子化テーブルとは、8ビット量子化値への割り当て、及び同一輝度値における同一量子化値への揃えが完了後の、図9における横軸の10ビット階調値毎の縦軸に割り当てられた8ビット階調値の対応表である。
【0082】
量子化テーブル4で図示するように、図9(B)で階調値「400」に量子化値「100」が割り当てられる場合、量子化テーブル4は、階調値「400」に対する量子化値に「100」が設定される。同様に、階調値「401」乃至「405」に対して、図9で説明した割り当てによって決定した量子化値がそれぞれ設定される。
【0083】
図3に戻り、次に、ステップS0206では、画像処理装置10の量子化手段10F6は、生成した量子化テーブルを用いて画像データを量子化する処理を行う。次に、ステップS0207では、画像処理装置10の量子化手段10F6は、処理後画像データ及び量子化テーブルデータを図1の送信装置11に出力する処理を行う。
【0084】
図1の送信装置11は、量子化テーブル4に設定される量子化値を、量子化テーブルデータとして受信側に送信する。量子化テーブルデータの各量子化値は、量子化テーブル4の一行に相当するデータが10ビットの階調値にそれぞれ対応する。10ビットの場合、階調値が1024段階である。10ビットの階調値、かつ、RGBの3色カラーである場合、量子化テーブルデータは、1024段階×3色=3072個の量子化値を示すデータである。
【0085】
受信側では、受信装置は、受信する画像データに含まれる画素を、量子化テーブルデータに基づいて階調復元の処理を行う。具体的には、図10の場合、受信側では、受信装置は、例えば画像データに含まれる階調値「100」の8ビット画素を、「400」の10ビット画素にする処理を行う。例えば8ビット階調値が複数の10ビットに対応しているとき、10ビット階調値の中央値を選択する。
【0086】
<実行プログラム>
ここで、上述した画像処理装置10は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)等の揮発性の記憶媒体、ROM(Read Only Memory)等の不揮発性の記憶媒体、マウスやキーボード、ポインティングデバイス等の入力装置、画像やデータを表示する表示部、並びに外部と通信するためのインタフェースを備えたコンピュータによって構成することができる。
【0087】
したがって、画像処理装置10が有する各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現可能となる。また、これらのプログラムは、磁気ディスク(フロッピィーディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記録媒体に格納して頒布することもできる。
【0088】
つまり、上述した各構成における処理をコンピュータに実行させるための実行プログラムを生成し、例えば汎用のPCやサーバ等にそのプログラムをインストールすることにより、本実施形態における画像処理を実現することができる。
【0089】
上述したように、本実施形態によれば、量子化の際の計算コストを少なくすることができる。また、本実施形態によれば、出現頻度の高い階調値付近に多くの量子化値を割りつけ、かつヒストグラム平滑化も考慮したフィードフォワード処理による量子化テーブルを生成することができる。
【0090】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【0091】
1 画像処理システム
10 画像処理装置
10F1 入力手段
10F2 ヒストグラム生成手段
10F3 スペクトル解析手段
10F4 閾値テーブル入力手段
10F5 量子化テーブル生成手段
10F6 量子化手段
11 送信装置
2 画像
21 ブロック領域
21G グラデーション領域
3 閾値テーブル
4 量子化テーブル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10