以下、添付図面を参照して、本発明の実施形態を説明する。
(実施形態1)
図1は、本実施形態に係る液晶表示装置100の構成例を示すブロック図である。液晶表示装置100は、投影光学系101、合成部102、液晶素子103、分離部104、光源105を有する。光源105から出力された光は、分離部104で赤(R)、緑(G)、青(B)に分離され、それぞれ液晶素子103R、103G、103Bに入射する。液晶素子103R、103G、103Bをそれぞれ透過した光は合成部102で合成され、投影光学系101から不図示のスクリーン等に投影される。
投影光学系101は、複数のレンズ、レンズ駆動用のアクチュエータ等からなる。合成部102は、液晶素子103R、103G、103Bを透過した赤(R)、緑(G)、青(B)の光を合成するものであり、例えば、ダイクロイックミラーやプリズムなどからなる。そして、合成部102により赤(R)、緑(G)、青(B)の成分を合成した光は、投影光学系101に送られる。
液晶素子103Rは、赤色に対応する液晶素子であって、光源105から出力された光が分離部104で分離された、赤(R)、緑(G)、青(B)の光のうち、赤(R)の光の透過率を調整するためのものである。液晶素子103Gは、緑色に対応する液晶素子であって、光源105から出力された光が分離部104で分離された、赤(R)、緑(G)、青(B)の光のうち、緑(G)の光の透過率を調整するためのものである。液晶素子103Bは、青色に対応する液晶素子であって、光源105から出力された光が分離部104で分離された、赤(R)、緑(G)、青(B)の光のうち、青(B)の光の透過率を調整するためのものである。
分離部104は、光源105から出力された光を、赤(R)、緑(G)、青(B)に分離するものであり、例えば、ダイクロイックミラーやプリズムなどからなる。光源105は、不図示のスクリーンに画像を投影するための光を出力するものであり、例えば、ハロゲンランプ、キセノンランプ、高圧水銀ランプ、LEDなどで構成される。なお、光源105として、赤(R)、緑(G)、青(B)の各色に対応するLED等を使用する場合には、分離部104はなくてもよい。
光学系制御部106は、アクチュエータを駆動してレンズの位置を調整することで、投影光学系101の制御を行い、スクリーンに投影する画像の拡大、縮小、焦点調整などを制御する。光学系制御部106は、投影光学系101を制御するマイクロプロセッサからなるが、専用のマイクロプロセッサでなく、例えば、ROM112に記憶されたプログラムによって、CPU111が光学系制御部106と同様の処理を実行しても良い。
液晶制御部107は、画像処理部108で処理された画像データに基づいて、画像データに対応する光の透過率となるように、液晶素子103R、103G、103Bそれぞれの液晶素子に印加する電圧を制御するための走査信号を生成する。液晶制御部107は、生成した走査信号を用いて液晶素子103を走査して、液晶素子の透過率を調整する。そのため、液晶素子103を透過し、合成部102により合成された光は、投影光学系101によりスクリーンに投影されると、画像処理部108により入力された画像データに対応する画像がスクリーン上に表示される。
液晶制御部107は、専用のマイクロプロセッサで構成しても、ROM112に記憶されたプログラムによって、CPU111が液晶制御部107と同様の処理を実行するように構成しても良い。
画像処理部108は、表示する画像データに対して、動画のフレーム数や、1フレームの画素数、画像形状などに関する変更処理を施して、液晶制御部107に送信するものであり、例えば画像処理用のマイクロプロセッサからなる。画像処理部108は、表示する画像データに対して、フレーム間引き処理、フレーム補間処理、解像度変換処理、歪み補正処理(キーストン補正処理)といった機能を実行することが可能である。画像処理部108は、画像入力部114から入力された画像データや、通信部115から入力された画像データ、記録再生部116が記録媒体117から読みだした画像データに対して、前述の処理を行う。画像処理部108で行う画像処理については後述する。
また、画像処理部108は、液晶表示装置100を制御するための操作画面用の画像データを生成することもできる。画像処理部108は、専用のマイクロプロセッサである必要はなく、例えば、ROM112に記憶されたプログラムによって、CPU111が画像処理部108と同様の処理を実行しても良い。
光源制御部109は、光源105の点灯・消灯の制御や光量の制御をするものであり、制御用のマイクロプロセッサからなる。なお、光源制御部160は、専用のマイクロプロセッサである必要はなく、例えば、ROM112に記憶されたプログラムによって、CPU111が光源制御部109と同様の処理を実行しても良い。
操作部110は、ユーザの指示を受け付け、CPU111に指示に応じた制御信号を送信するものであり、例えば、スイッチやダイヤル、不図示の表示部上に設けられたタッチパネルなどからなる。また、操作部110は、例えば、リモコンからの信号を受信する信号受信部(赤外線受信部など)で、受信した信号に基づいて所定の指示信号をCPU111に送信するものであってもよい。
CPU111は、液晶表示装置100の各動作ブロックを制御するものあり、操作部110や通信部115から入力された制御信号を受信して、液晶表示装置100の各動作ブロックを制御する。ROM112は、CPU111の処理手順を記述した制御プログラムを記憶するためのものである。また、RAM113は、ワークメモリとして一時的に制御プログラムやデータを格納する。CPU111は、画像入力部114や通信部115から入力された画像データや動画データを一時的に記憶し、ROM112に記憶されたプログラムを用いて、それぞれの画像や映像を再生したりすることもできる。
画像入力部114は、外部装置から画像データを受信するものであり、例えば、コンポジット端子、S映像端子、D端子、コンポーネント端子、アナログRGB端子、DVI−I端子、DVI−D端子、HDMI(登録商標)端子等を含む。また、アナログ映像信号を受信した場合には、受信したアナログ映像信号をデジタル映像信号に変換する。そして、受信した映像信号を、画像処理部108に送信する。ここで外部装置とは、映像信号を出力できるものであればよく、例えば、パーソナルコンピュータ、カメラ、携帯電話、スマートフォン、ハードディスクレコーダ、ゲーム機などである。
通信部115は、制御信号や画像データなどを外部装置に対して送受信するためのものであり、例えば、無線LAN、有線LAN、USB、Bluetooth(登録商標)などで構成され、通信方式を特に限定するものではない。また、画像入力部114の端子が、例えばHDMI(登録商標)端子であれば、その端子を介してCEC通信を行うものであっても良い。
記録再生部116は、記録媒体117に対して画像データの記録(書き込み)、再生(読み出し)を行う。この場合、画像入力部114や通信部115から入力された画像データ等を、記録再生部116により記録媒体117に記録することが可能である。記録媒体117は、液晶表示装置100に対して着脱可能な記録媒体であっても、内蔵型の記録媒体であってもよい。内部バス118は、液晶表示装置100の各ブロックの間で、各種のデータやコマンドを転送するために用いられる。
更に、液晶表示装置100は、表示部や表示制御部を備えていてもよく、表示制御部は表示部に、液晶表示装置100を操作するための操作画面やスイッチアイコン等の画像を表示させることができる。表示部は、液晶ディスプレイ、CRTディスプレイ、有機ELディスプレイ、LEDディスプレイなどのディスプレイであっても、ユーザに液晶表示装置100の状態を認識可能に掲示するために、各動作に対応するLED等を発光させるものであってもよい。
また、液晶表示装置100は、レンズやレンズを駆動するアクチュエータを含む撮像部を有していてもよい。撮像部は、液晶表示装置100の周辺(例えばユーザ)を撮影して画像データを取得したり、投影光学系101により投影された画像を撮影(スクリーン方向を撮影)したりすることができる。CPU111は、撮像部により得られた画像データを、液晶制御部107に送信して投影処理をさせたり、通信部115により外部機器に送信したり、記録再生部116により記録媒体117に記録したりするように制御してもよい。
本実施形態において液晶表示装置100は、投影光学系101、合成部102、光学系制御部106等を有する液晶プロジェクタであるがこれに限らず、これらを有していないモニタ等の画像表示装置であってもよい。また、液晶表示装置100は、液晶素子103や分離部104を有しない有機EL等の画像表示装置であってもよい。
なお、本実施形態の光学系制御部106、液晶制御部107、画像処理部108、光源制御部109、記録再生部116は、これらの各ブロックと同様の処理を行うことができる単数または複数のマイクロプロセッサであってもよい。また、例えばROM112に記憶されたプログラムによって、CPU111が、光学系制御部106、液晶制御部107、画像処理部108、光源制御部109、記録再生部116の各ブロックと同様の処理を実行してもよい。
<本実施形態における投影制御>
図2は、本実施形態における液晶表示装置100による投影制御を示したフローチャートである。本実施形態における投影制御について図2を用いて説明する。操作部110や不図示のリモコンによりユーザが液晶表示装置100の電源のオンを指示すると、CPU111が、不図示の電源部から液晶表示装置100の各部に電源が供給され、図2に示す処理が開始される。図2に示す制御は、CPU111が液晶表示装置100の各部を制御することで行われる。
ステップS201においてCPU111は、液晶表示装置100に画像データが入力されたか否かを判断する。具体的にCPU111は、画像入力部114や通信部115から入力された画像データと、記録再生部116により記録媒体117から読み出された画像データとのうちの、少なくとも1つの画像データが液晶表示装置100に入力されたか否かを判断する。
液晶表示装置100に入力された画像データは、RAM113に一時的に記憶される。液晶表示装置100に入力された画像データは、静止画データや動画像データを含み、ストリーミング形式でもファイル形式でもよい。CPU111は液晶表示装置100に画像データが入力されたと判断した場合にステップS202に処理を進め、画像データが入力されるまでステップS201の処理をくりかえす。
ステップS202においてCPU111は、液晶表示装置100の画質モードがプレゼンテーションモードに設定されているか否かを判断する。本実施形態における液晶表示装置100は、画質モードとして、プレゼンテーションに適した明るさを重視したプレゼンテーションモードを有している。液晶表示装置100は画質モードを複数有していてもよく、複数の画質モードから操作部110により選択可能な構成としてもよい。液晶表示装置100は、例えば、プレゼンテーションモードの他に標準モード(各種のバランスを重視したモード)や写真モード(静止画鑑賞に適したモード)、動画モード(動画視聴に適したモード)、色再現モード(色再現性を重視するモード)等を有する。
ステップS202で画質モードがプレゼンテーションモードに設定されていると判断された場合、ステップS203においてCPU111は、入力された画像データに対して色補正処理を行うように、画像処理部108を制御する。本実施形態において、画像処理部108は図4に示すような機能ブロックで構成され、色補正処理は画質調整部401、色ヒストグラム取得部402、補正処理部403を用いて行われる。図4に示した各機能ブロックは、個々がハードウェアで構成されていてもよいし、一部又は全部のブロックの処理がCPU等の制御部とソフトウェアで実行されることも可能である。色補正処理の詳細は後述する。
ステップS202で画質モードがプレゼンテーションモードでないと判断された場合、ステップS204においてCPU111は、入力された画像データに対して、設定されている画質モードに応じた画質調整処理を行うように、画像処理部108を制御する。設定されている画質モードに応じた画質調整処理は、画像処理部108の画質調整部401で行われる。ROM112には、各画質モードに応じた画質調整用のパラメータが格納されており、CPU111は、各画質モードに応じた画質調整用のパラメータを読み出して、画質調整部401において画像処理を行うよう制御する。
ステップS205においてCPU111は、液晶制御部107に出力する投影画像データを生成するように画像処理部108を制御する。具体的には、画像処理部108におけるOSD重畳部404が、ユーザ等による操作のためのメニュー画面や操作のガイド情報等の画像データを生成し、ステップS309で補正された画像データに重畳する。変形処理部405は、液晶表示装置が画像データを投影するスクリーンに対して正対していない(スクリーン上で画像データに歪みがあり正しく投影されていない)場合、ユーザ等の指示により投影する画像データの歪みを補正する変形処理を行う。そして画像処理部108におけるパネル補正部406が、変形処理部405で変形処理を行った画像データに対して、液晶素子103(103R、103G、103B)の表示特性に応じた補正処理を行う。
ステップS206においてCPU111は、ステップS205において画像処理部108で生成された画像データを液晶制御部107に送信する。そしてCPU111は、液晶制御部107に、送信された画像データの赤(R)、緑(G)、青(B)の各色成分の階調レベルに応じた透過率となるように、液晶素子103R、103G、103Bそれぞれの透過率を制御させる。そして、CPU111は、光源制御部109に光源105からの光の出力を制御させる。
光源105から出力された光は、分離部104により赤(R)、緑(G)、青(B)に分離され、それぞれの光は、液晶素子103R、103G、103Bに供給される。液晶素子103R、103G、103Bに供給された各色の光のうち、画像データの各画素の透過率に応じた光量が透過する。そして、液晶素子103R、103G、103Bを透過した赤(R)、緑(G)、青(B)それぞれの光は、合成部102に供給され合成される。そして、合成部102で合成された光は、投影光学系101を介して、不図示のスクリーンに投影される。以上の投影処理は、CPU111が液晶表示装置100の各部を制御することにより実行され、画像データを投影している間、1フレーム分の画像データ毎に順次、実行されている。
ステップS207においてCPU111は、画質モードが変更されたか否かを判断する。画質モードがユーザ等によって変更された場合には、ステップS202においてCPU111は、設定された画質モードがプレゼンテーションモードか否かを判断する。画質モードが変更されていない場合には、ステップS208においてCPU111は、入力されている画像データの入力経路が変更されたか否かを判断する。例えば、画像データが画像入力部114から入力されている状態から、通信部115からの入力に切り替わった場合に、ステップS208ではYesと判断される。画像データの入力経路が変更されれば(ステップS208でYes)、CPU111は、ステップS202の処理を行い、画質モードがプレゼンテーションモードか否かを判断する。画像データの入力経路が変更されていなければ(ステップS208でNo)、ステップS209においてCPU111は、投影終了の指示を受け付けたかどうかを判断し、投影終了の指示を受け付けた場合には本フローチャートの処理を終了する。投影終了の指示を受け付けていない場合(ステップS209でNo)、CPU111はステップS206の処理を繰り返す。
<色補正処理>
図2のステップS203における色補正処理について、図3及び図4を用いて説明する。図3は本実施形態における色補正処理を示したフローチャートを示す図である。図3に示す処理は、CPU111が画像処理部108を制御することにより、画像処理部108で行われる。図4は画像処理部108の内部の機能ブロック図である。
本実施形態における色補正処理とは、プレゼンテーションモードにおいて投影するようなPC等で作成された画像データを対象に行うもので、画像データに使用されている色の数が自然画等に比べて少ないことを想定している。よって、図3に示す処理では、表示する画像データに含まれる色の中で識別可能に表示したい色(識別色)を検出し、検出した識別色が識別しやすくなるように色補正処理を行う。
ステップS301においてCPU111は、ROM112に格納された液晶表示装置100の表示フレームレートや解像度(画素数)等の情報を用いて、画質モード(プレゼンテーションモード)に応じた画質調整処理を画質調整部401で行うように制御する。ステップS301での画質調整処理とは、IP変換、フレームレート変換、解像度(画素数)変換、γ変換、色域変換、エッジ強調処理など、液晶表示装置100で画像データを投影するための画質調整処理である。これらの画質調整処理は、不図示の統計量取得部を用いて画像データから取得した輝度ヒストグラム、平均輝度レベル(APL)などの統計量情報を用いて行う画像処理でもよく、公知の技術を用いて行われるので詳細は省略する。
ステップS302においてCPU111は、ステップS301で画質調整処理が行われた画像データから色ヒストグラムを取得するように色ヒストグラム取得部402を制御する。色ヒストグラムは、図5(a)に示すようなR、G、Bの3つの軸をもつ3次元の配列で示される。図5(b)は、図5(a)に示した色ヒストグラムの立体的イメージをメモリイメージで表わしたものである。図5(b)に示すように本実施形態において色ヒストグラム取得部402は、R、G、Bの各色の階調値を256階調(8Bit)、分割数を16として色ヒストグラムを取得する。本実施形態において、画像データの画素値は、R、G、Bの各色の階調値で構成され、階調値は0〜255の値である。また、本実施形態において色ヒストグラムは、便宜上、256の階調値を16に分割した、それぞれの範囲の階調値を持つ画素数を頻度として集計する。
ステップS303においてCPU111は、ステップS302で取得した色ヒストグラムに基づいて識別色検出処理を行う。識別色とは、画像データに含まれる色の中で識別できるように表示したい色である。
<識別色検出処理>
識別色検出処理について図6及び図7を用いて説明する。図6は色ヒストグラムを用いた識別色検出処理を示したフローチャートであり、図7は色ヒストグラムの具体例を示す概略図である。図6に示す処理は全てCPU111により行われる。
本実施形態では、Rの色ヒストグラムから識別色のRの階調値を決定し、決定された識別色のRの階調値の画素についてのGの色ヒストグラムから識別色のGの階調値を決定する。そして、決定された識別色のGの階調値の画素についてのBの色ヒストグラムから識別色のBの階調値を決定する。
本実施形態においては、便宜上色ヒストグラムを分割数16で取得する。取得される色ヒストグラムは、図7に示すように階調範囲R1〜R16それぞれの頻度(画素数)で表わされる。階調範囲R1は階調値0〜15、階調範囲R2は階調値16〜31、階調範囲R3は階調値32〜47、階調範囲R4は階調値48〜63、階調範囲R5は階調値64〜79、階調範囲R6は階調値80〜95、階調範囲R7は階調値96〜111に相当する。階調範囲R8は階調値112〜127、階調範囲R9は階調値128〜143、階調範囲R10は階調値144〜159、階調範囲R11は階調値160〜175、階調範囲R12は階調値176〜191、階調範囲R13は階調値192〜207に相当する。また、階調範囲R14は階調値208〜223、階調範囲R15は階調値224〜239、階調範囲R16は階調値240〜255に相当する。
ステップS601では、図3のステップS302で取得した色ヒストグラムに基づいて、R、G、Bのいずれか1つの色ヒストグラムを取得する。本実施形態においては、はじめに画像データを構成する全画素についてのRの色ヒストグラムを取得する。
ステップS602では、ステップS601で取得したRの色ヒストグラムにおいて、予め定められた閾値以上の頻度の階調範囲であるピーク階調を検出する。図7(a)において閾値T1以上の頻度の階調範囲であるピーク階調は、R9、R11、R12、R14、R16である。
ステップS603では、Rの色ヒストグラムにおけるピーク階調の中で、識別色のRの階調範囲を検出する。識別色の階調範囲の1つ目の条件は、ピーク階調の中で階調範囲が隣接するピーク階調がない、または、ピーク階調の中で階調範囲が隣接するピーク階調がある場合には、隣接するピーク階調と比較して頻度の高いピーク階調であることである。更に2つ目の条件は、ピーク階調が複数ある場合、2つのピーク階調の間に予め定められた閾値未満の階調範囲があることである。
よってステップS603では、まず、ピーク階調の中で階調範囲が隣接するピーク階調があるか否かを判断し、ピーク階調の中から識別色の階調候補を決定する。階調範囲が隣接するピーク階調がある場合には、比較して頻度の高いピーク階調が、識別色の階調候補となる。階調範囲が隣接するピーク階調がないピーク階調も、識別色の階調候補となる。
図7(a)では、ピーク階調R9、R11、R12、R14、R16のうち、R11とR12は隣接しているので、頻度の高いR12が識別色の階調となる。また、R9、R14、R16は階調範囲が隣接するピーク階調がないので、R9、R14、R16も識別色の階調候補となる。
次にステップS603では、識別色の階調候補の中から、予め定められた閾値T2未満の頻度の階調範囲が間に存在する識別色の階調候補を、識別色のRの階調範囲として決定する。具体的には、識別色の階調候補が複数ある場合、識別色の階調候補のうちの2つのピーク階調の間に、予め定められた閾値T2未満の階調範囲があるか否かを判断する。2つの識別色の階調候補の間に、予め定められた閾値T2未満の頻度の階調範囲がある場合、該2つの識別色の階調候補が識別色のRの階調範囲となる。2つの識別色の階調候補の間に、予め定められた閾値T2未満の頻度の階調範囲がない場合、該2つの識別色の階調候補のうち頻度の高い識別色の階調候補が識別色のRの階調範囲となる。
図7(a)では、離散ピーク候補R9、R12、R14、R16のうち、識別色のRの階調範囲はR12、R14、R16である。R9は、R9とR12との間に閾値T2未満の頻度の階調範囲がないうえに、R12より頻度が低いので、識別色のRの階調範囲とはならない。
次にステップS604では、ステップS603で検出された識別色のRの階調範囲の階調値を画素値として持つ画素についての、Gの色ヒストグラムを取得する。Gの色ヒストグラムは、ステップS603で検出された識別色のRの階調範囲それぞれに対して取得される。図7(b)にはR12の階調値を持つ画素についてのGの色ヒストグラムを示す。Gの色ヒストグラムは階調範囲G1〜G16それぞれの頻度で表わされる。G1〜G16のそれぞれの階調範囲はR1〜R16と同じ値の階調範囲である。このようなGの色ヒストグラムがR14とR16についてそれぞれ取得される。
ステップS605では、ステップS604で取得されたGの各色ヒストグラムについて、予め定められた閾値T3以上の頻度の階調範囲であるピーク階調を検出する。図7(b)においてピーク階調は、G9、G14である。
ステップS606では、上述したステップS603と同様の処理で、ステップS604で検出されたGの色ヒストグラムにおけるピーク階調の中の、識別色のGの階調範囲を検出する。階調範囲が隣接するピーク階調のうちの頻度の高いピーク階調、または階調範囲が隣接するピーク階調がないピーク階調である識別色の階調候補の中から、閾値T4未満の頻度の階調範囲が間に存在する識別色の階調候補を識別色のGの階調範囲として決定する。図7(b)において離散ピークは、G9、G14である。また、ステップS603で検出された識別色のRの階調範囲であるR14とR16についても同様に、それぞれ識別色のGの階調範囲が決定される。
ステップS607では、ステップS606で検出された識別色のGの階調範囲の階調値を画素値として持つ画素についての、Bの色ヒストグラムを取得する。Bの色ヒストグラムは、ステップS606で検出された識別色のGの階調範囲それぞれに対して取得される。図7(c)にはG14の階調値を持つ画素についてのBの色ヒストグラムを示す。Bの色ヒストグラムは階調範囲B1〜B16とそれぞれの頻度で表わされる。B1〜B16のそれぞれの階調範囲はR1〜R16と同じ値の階調範囲である。このようなBの色ヒストグラムがG9についても取得される。また、識別色のRの階調範囲であるR14とR16でそれぞれ検出された識別色のGの階調範囲についても、Bの色ヒストグラムが取得される。
ステップS608では、ステップS607で取得されたBの各色ヒストグラムについて、予め定められた閾値T5以上の頻度の階調範囲であるピーク階調を検出する。図7(c)においてピーク階調は、B15である。
ステップS609では、上述したステップS603及びS606と同様の処理で、ステップS608で検出されたBの色ヒストグラムにおけるピーク階調の中の、識別色のBの階調範囲を検出する。階調範囲が隣接するピーク階調のうちの頻度の高いピーク階調、または階調範囲が隣接するピーク階調がないピーク階調である識別色の階調候補の中から、閾値T6未満の頻度の階調範囲が間に存在する識別色の階調候補を、識別色のBの階調範囲として決定する。図7(c)においてはピーク階調がB15の1つのみなので、識別色のBの階調範囲はピーク階調であるB15とする。また、識別色のRの階調範囲であるR14とR16でそれぞれ検出された識別色のGの階調範囲についても、取得したBの色ヒストグラムから識別色のBの階調範囲が取得される。
ステップS610では、ステップS603、ステップS606、ステップS609において検出したR、G、Bそれぞれの離散ピークから、識別色を決定する。識別色は、R、G、Bの離散ピークの組み合わせからなる。例えば図7(a)〜(c)からは、色(R12、G14、B15)が識別色として決定される。決定された識別色は、RAM113に記憶される。
識別色は(R12、G14、B15)のように、R、G、B各々の階調値を所定の階調範囲としてもよいし、識別色のR、G、Bそれぞれの階調範囲を決定した後、決定した識別色の各階調範囲内で頻度を比較し、R、G、B各々の階調値を決定してもよい。この場合、上述したように図6に示した処理で決定された識別色のR、G、Bそれぞれの階調範囲内で、色ヒストグラムにおいて最も頻度の高い階調値を識別色の階調値として決定する。例えば、R12の階調範囲(176〜191)から階調値182、G14の階調範囲(208〜223)から階調値221、B15の階調範囲(224〜239)から階調値232を検出し、色(182、221、232)を識別色とする。
CPU111は、ステップS610で識別色を決定したら、図6に示した識別色検出処理を終了し、図3のステップS304の処理に進める。
ステップS304においてCPU111は、ステップS303の処理で識別色が検出されたか否かを判断する。識別色が検出されない場合にCPU111は、ステップS310に処理を進める。ステップS310の処理については後述する。
識別色が検出された場合にCPU111は、ステップS305において識別色の色差ΔEを検出する。識別色の色差ΔEは、識別色のR、G、Bの階調値に基づいて、RGBの座標系からL*a*b*座標系に座標変換を行い、L*a*b*座標系における2つの識別色の距離に相当する。L*a*b*座標系は、ある2色間の距離が人間の感覚的な色差に近い均等色空間座標系の一つであり、色同士の識別のしやすさを判定するのに適した座標系である。色差を検出する座標系は、色の識別のしやすさを判定できる座標系であればよく、L*a*b*座標系に限らない。
本実施形態においては、RGB値から三刺激値XYZに変換し、三刺激値XYZからL*a*b*座標系の値に変換する。RGB値から三刺激値XYZへの変換は、RGBおよび白の座標によって定義が異なり、例えばNTSCの場合、式1のように定義されている。
X=0.6070R+0.1734G+0.2006B
Y=0.2990R+0.5864G+0.1146B (式1)
Z=0.0000R+0.0661G+1.1175B
また、L*a*b*座標系は、国際照明委員会(CIE)で定義されているものであり、三刺激値XYZからの変換式は、式2の様に定義されている。
L*=116×f(Y/Yn)−16
a*=500×[f(X/Xn)−f(Y/Yn)] (式2)
b*=200×[f(Y/Yn)−f(Z/Zn)]
ここでf(x)=x^(1/3) (t>(6/29)^3のとき)
1/3×(29/6)^2×t+4/29 (上記以外のとき)
Xn,Yn,Znは基準となる白のCIEXYZでの三刺激値。
本実施形態において、識別色の色差ΔEは、ステップS303で検出された識別色に白(R、G、B)=(255、255、255)と、黒(R、G、B)=(0、0、0)の2つを追加した色について検出する。白と黒は文字色として使用される場合が多く、画像データの色ヒストグラムでは頻度が低くても、ステップS303で検出された識別色と比較して識別しやすくする必要があるためである。
図8(a)に、本実施形態においてステップS303で検出された識別色C1〜C3と白C4、黒C5の5つの識別色を、L*a*b*座標系の色度図で表した概略図を示す。識別色C1〜C3それぞれのRGB値(R、G、B)を、C1は水色(182、221、232)、C2は薄緑色(215、228、188)、C3は橙色(250、192、144)とする。図8はa*軸とb*軸の2次元で記載してあるが、本来は紙面に垂直方向に明度L*軸を持つ。そのため、C4(白)とC5(黒)は共にa*=0、b*=0でL*の値のみ異なるので、図8(a)の図上では重なっている。
識別色C1〜C5の色差ΔEを、色同士の全ての組み合わせについて検出する。つまり、識別色が5つの場合、1つの識別色について他の4つの識別色との色差ΔEをそれぞれ検出する。色差ΔEはL*a*b*座標系における相互の距離であり、下記の式3で求められる。
ΔE={(ΔL*)^2+(Δa*)^2+(Δb*)^2}^(1/2)
(式3)
図9(a)に識別色C1〜C5の色差ΔEを示す。
次にステップS306でCPU111は、補正対象色があるか否かを判断する。補正対象色とは、色差ΔEが所定の識別閾値ΔE1未満となる組み合わせとなる識別色であり、白と黒以外の識別色である。本実施形態においては、色差ΔEが所定の識別閾値ΔE1未満となる2つの識別色は識別が困難であり、色補正の必要があると判断される。補正対象色がある場合にはステップS307の処理に進み、補正対象色がない場合には、ステップS310の処理に進む。
本実施形態においてはΔE1を15.0とする。図9(a)においては、C1とC2の色差ΔE、C1とC4の色差ΔEが識別閾値ΔE1未満である。よって、補正対象色はC4(白)以外のC1(水色)、C2(薄緑色)の2つである。
<色補正リスト生成方法>
ステップS307においてCPU111は、補正対象色を識別しやすくなるように色補正するための色補正リストを生成する。色補正リストを生成するためにCPU111は、ステップS306における補正対象色それぞれについて補正後の色を決定する。
補正対象色の補正後の色を決定する優先順位は、色差ΔEが所定の識別閾値ΔE1未満となる組み合わせの数N1と、ΔE1≦ΔE<(2*ΔE1)となる数N2とから決定される。補正後の色を決定していく優先順位としてはN1の数が少ない補正対象色、更にはN1+N2の数が少ない補正対象色の優先順位が高い。ΔE1≦ΔE<(2*ΔE1)となる色差ΔEの2色は、L*a*b*座標系における距離が2*ΔE1以下で比較的距離が近い。よって、N1+N2の数が少ない補正対象色は補正対象色の中でも比較的他の補正対象色との距離があるといえる。N1+N2の数が少ない補正対象色から補正することで、結果的に補正対象色を全体に分散させることができる。
図9(a)から、最初にC2(薄緑色)の補正後の色が決定される。まず補正方向(ベクトル)が決定される。補正ベクトルは、補正対象色C2(薄緑色)からの色差ΔEが2*ΔE1未満の全ての識別色から、補正対象色C2(薄緑色)への方向ベクトルに、色差ΔEで重みづけした方向となる。色差ΔEを15.0とすると、図9(a)において補正対象色C2(薄緑色)からの色差ΔEが2*ΔE1未満の識別色は、C1(水色)、C3(橙色)、C4(白)である。よって、C2(薄緑色)の補正ベクトルは式4で表わされる。
ここで、
はC1(水色)からC2(薄緑色)への方向ベクトル、
はC3(橙色)からC2(薄緑色)への方向ベクトル、
はC4(白)からC2(薄緑色)への方向ベクトルである。ΔE12はC1(水色)とC2(薄緑色)の色差、ΔE23はC2(薄緑色)とC3(橙色)の色差、ΔE24はC2(薄緑色)とC4(白)の色差である。
そして、補正対象色C2(薄緑色)からの色差ΔEがΔE1以下の識別色を中心にした半径ΔEの球と、式4で求めた補正ベクトルの延長線上との交点が、補正対象色C2(薄緑色)の補正後の色に決定される。補正対象色C2(薄緑色)からの色差ΔEがΔE1以下の識別色はC1(水色)なので、図8(b)に示すように、C1(水色)を中心にした半径ΔEの球801と、式4で求めた補正ベクトル
の延長線上との交点C2’(黒丸)を補正後の色C2とする。
図9(b)には、補正対象色C2(薄緑色)をC2’に補正した場合の各識別色における色差ΔEを示す。C1(水色)とC4(白)の色差ΔEが、色差閾値ΔE1(15.0)未満であるので、CPU111は次にC1(水色)の補正後の色を決定する。
上述したC2(薄緑色)の補正と同様に、C1(水色)からの色差ΔEが2*ΔE1未満の識別色である、C2’(補正後薄緑色)とC4(白)から、C1(水色)の補正ベクトルは、式5により求められる。
はC2’(補正後薄緑色)からC1(水色)への方向ベクトル、
はC4(白)からC1(水色)への方向ベクトルである。ΔE12はC1(水色)とC2’(補正後薄緑色)の色差である。ΔE14はC1(水色)とC4(白)の色差である。
図8(c)に示すように、補正対象色C1(水色)からの色差ΔEがΔE1以下の識別色(C4)を中心にした半径ΔEの球802と、式5で求めた補正ベクトル
の延長線上との交点が、補正対象色C1(水色)の補正後の色C1’(黒丸)に決定される。
図9(c)に、補正対象色C2(薄緑色)をC2’に補正し、更に補正対象色C1(水色)をC1’に補正した場合の各識別色における色差ΔEを示す。以上の処理により、図3のステップS305で検出された全ての識別色同士の色差ΔEが、色補正により全て15.0以上となる。以上のように、本実施形態においては、識別色同士の色差ΔEが所定値以上となるように色補正を行う。色補正が終了した図9(c)に相当するリストは、色補正リストとしてRAM113に記憶される。
ステップS308においてCPU111は、色補正リストに基づいた3次元LUT(色補正用LUT)を生成する。色補正用LUTは、入力したRGB値に基づいて出力するRGB値を決定するためのテーブルである。
色補正用LUTは、RAM113に格納されているデフォルトの3次元LUTと、ステップS307で生成した色補正リストとに基づいて、色補正を行う色のRGB値が入力された場合に、補正後のRGB値が出力されるように生成される。色補正用LUTは、補正を行う色の近傍はなめらかにつながるように補間して生成され、RAM113に記憶される。本実施形態においてデフォルトの3次元LUTでは、入力したRGB値と同じRGB値が出力されるが、これに限らず任意に設定された3次元LUTでもよい。
ステップS309においてCPU111は、ステップS308で生成された色補正用LUTを用いて画像データの補正処理を行うように補正処理部403を制御する。
ステップS304でNoの(ステップS303で識別色が検出されない)場合と、ステップS306でNoの(補正対象色がない)場合は、ステップS310においてCPU111は、RAM113に格納されているデフォルトの3次元LUTを読み出す。そしてステップS309においてCPU111は、ステップS310で読みだしたデフォルトの3次元LUTを用いて画像データの補正処理を行うように補正処理部403を制御し、図3の処理を終了する。
本実施形態においては、入力された画像データの色ヒストグラムに基づいて、識別色の検出を行ったが特にこの構成に限られない。例えば、ユーザ等が識別したい色をR、G、B値の数値入力や、複数の色を表示したリストからの選択等により設定し、設定された識別色についてステップS305以下の処理を行ってもよい。
また、図3に示す色補正処理において、ステップS307で生成した色補正リストの情報や、ステップS308で生成した色補正用LUTの情報をRAM113に記憶しておいてもよい。その場合、色補正リストの情報や色補正用LUTの情報と、ステップS302で取得した色ヒストグラムの情報やステップS303で検出した識別色の情報とを関連付けて記憶しておくことで、色補正処理が容易に行える。例えば、色補正リストの情報と色ヒストグラムの情報の情報を関連付けて記憶した場合、ステップS302で取得した色ヒストグラムと、RAM113に記憶されている色ヒストグラムが同じであれば、ステップS303からステップS306の処理は行わない。ステップS307においてCPU111は、RAM113に記憶されている色補正リストを読み出し、RAM113から読みだした色補正リストに基づいて、ステップS308で色補正用LUTの生成を行うことができる。
以上のように、本実施形態によれば、画像データの色ヒストグラムから色差の小さい色を検出し、色差が大きくなるように色補正処理を行うため、画像データに含まれる複数の色を識別しやすくすることができる。
(実施形態2)
本実施形態においては、実施形態1における図3に示したステップS307における色補正リストの生成方法とは異なる色補正リストの生成方法を説明する。
図10は、本実施形態における識別色C6〜C11の補正方法を示したL*a*b*座標系の概略図である。図8と同様にa*軸とb*軸の2次元で記載してあるが、本来は紙面に垂直方向に明度L*軸を持つ。識別色C6〜C11は、図3に示すステップS303において検出された識別色である。実施形態1においては、識別色同士の色差ΔEが所定の色差閾値ΔE1以上になるように識別色の補正を行ったが、本実施形態においては、識別色がL*a*b*座標系の原点からみて均等の角度で配置されるように制御する。
本実施形態でCPU111は、60度を識別色の数で割り、L*a*b*座標系原点からみた近接する識別色間の角度を算出する。識別色がC6〜C11の6つの場合は、L*a*b*座標系原点からみた近接する識別色間の角度は60度になる。
次にCPU111は、ステップS302で色ヒストグラム取得部402が取得した色ヒストグラムから、識別色の中で最も頻度の高い色を検出する。本実施形態では、識別色C6が最も頻度が高いとする。そしてCPU111は、最も頻度の高い識別色を基準として、L*a*b*座標系原点からみた近接する識別色間の角度が原点からの距離は変えずに均等になるように、各識別色の補正後の色を決定する。図10における白丸は補正前の識別色C6〜C11を示し、黒丸は識別色C7〜C11それぞれの補正後の色C7’〜C11’を示す。識別色C7〜C11とそれぞれの補正後の色C7’〜C11’が色補正色リストとしてRAM113に記憶される。
本実施形態においては、各識別色の原点からの距離は変えずに、L*a*b*座標系原点からみた近接する識別色間の角度を変えることにより、識別色同士の色差を拡大し、識別色を識別しやすくしている。これは、色相を変更ことになり、補正後の色のL*a*b*座標によっては、表現できない色になる場合があるが、その場合は原点に近づけるか、L*座標を変更することにより、表現可能な色となる。その場合でも、原点からみた角度が均等に保たれているので、色相が異なり識別がしやすい色となる。
以上のように決定した補正後の色C7’〜C11’の色補正リストに基づいて、ステップS308においてCPU111は、色補正用LUTを生成する。
(実施形態3)
本実施形態においては、図3のステップS305において、ステップS303で検出された識別色をRGBの座標系からL*a*b*座標系に座標変換を行う際に、環境光を考慮する。
実施形態1では、式1および式2に基づいてRGB値をL*a*b*値に変換していたが、本実施形態では式1で求めた三刺激値XYZに環境光の三刺激値Xa、Ya,Zaを加算することで、環境光を考慮した三刺激値X’、Y’、Z’を求める。
X’=X+Xa
Y’=Y+Ya (式6)
Z’=Z+Za
このX’、Y’、Z’を式2のX,Y、Zに代入してL*a*b*値を求める。
ここで、環境光の三刺激値Xa、Ya,Zaは、操作部110や不図示のリモコンによってユーザに設定されてもよいし、不図示の照度センサからの環境光の測定値を液晶表示装置100が取得してもよい。環境光の三刺激値Xa、Ya,Zaがユーザに設定される場合、例えば環境光パラメータが、環境光の種類(蛍光灯、白熱灯)と補正強度(切、弱、中、強)で設定できるように構成する。そして、予めROM112に保持されている、各設定に応じた環境光パラメータの三刺激値のテーブルを参照して、環境光の三刺激値Xa、Ya,Zaが決定される。
環境光の影響がある場合、スクリーンに投影された全ての色が環境光の色に近づくため、類似色はより区別がしにくくなるが、本実施形態によれば、環境光の影響を加味して色差ΔEを比較ができるため、より適切な色識別処理が可能となる。
(実施形態4)
上述の実施形態では図2のステップS203において、液晶表示装置100に入力された画像データ全体に対して図3に示す色補正処理を行うのに対し、本実施形態においては、色補正処理を行う領域を判定する。図11は、液晶表示装置100に入力された画像データの概略図である。画像データ1100は領域1101〜1104からなる。領域1101及び領域1103は描画ソフト等で作成された資料、領域1102は写真等の自然画であり、それぞれの領域は同一色の枠で囲われている。領域1104は画像データ1100のうち領域1101〜領域1103に属さない領域であり、描画ソフト等で作成された文字「画質調整方法検討」を含む領域である。
図12は、本実施形態における色補正処理のフローを示す。図3の各処理と同じ処理には同じ番号を付してある。ステップS301で画質調整処理を行った後、ステップS1201においてCPU111は、液晶表示装置100に入力された画像データのフレームにおける同一色の枠で囲われている領域、及び、該同一色の枠で囲われている領域以外の領域を検出する。図11に示す画像データ1100では、同一色の枠で囲われている領域1101〜1103と、それ以外の画像の領域1104が検出される。検出した領域の情報はRAM113に格納される。検出した領域の情報は例えば、該領域の画像データにおける左上の座標と右下の座標を含む。領域の検出は特に上記の処理に限られず、公知の領域検出方法によって、画像フレームにおける領域検出を行ってもよい。
さらにCPU111はステップ1202において、検出した領域および該検出した領域以外の領域について領域毎の色ヒストグラムを取得するように色ヒストグラム取得部402を制御する。図11に示す画像データ1100では、領域1101〜領域1104の4つの領域について色ヒストグラムが取得される。
次にステップS1203においてCPU111は、ステップS1202で取得した各領域の色ヒストグラムに基づいて識別色検出処理を行う。識別色検出処理の方法は、前述した図3に示すステップS303、または図6に示すフローと同様であり、各領域の色ヒストグラムそれぞれについて識別色検出処理を行う。識別色は、領域1101や領域1103のように描画ソフト等で作成された資料の領域や、領域1104のように文字が含まれる領域で検出され、領域1102のような写真等の自然画の領域では検出されない。
そしてステップS1204においてCPU111は、ステップS1203の処理において画像データを構成する領域の中で識別色が検出された領域があるか否かを判断する。ステップS1203の処理において識別色が検出された領域を以下、色補正領域とよぶ。図11の画像データ1100においては、領域1101、1103、1104で識別色が検出され、画像データ1100における色補正領域は、領域1101、1103、1104である。画像データを構成する全ての領域で識別色が検出されない場合、CPU111は、ステップS310に処理を進める。
画像データに色補正領域がある場合、CPU111はステップS1205において、色補正領域である各領域の色ヒストグラムを全て加算した累計色ヒストグラムを取得するように色ヒストグラム取得部402を制御する。累計色ヒストグラムの取得方法は、具体的には例えば、ステップS1202において検出された各領域の色ヒストグラムのうち、ステップS1203において識別色が検出された領域の色ヒストグラムを足し合わせることで取得する。累計ヒストグラムの取得方法は特に上記に限られるものではない。
CPU111はステップS1206において、ステップS1205において取得された累計ヒストグラムに基づいて識別色検出処理を行う。識別色検出処理の方法は、前述した図3に示すステップS303、または図6に示すフローと同様である。
CPU111はステップS1207において、ステップS1206において検出された識別色同士の色差を図3のステップS305と同様の処理で検出する。ステップS1210〜ステップS1210においては、それぞれステップS1206において検出された識別色、及びステップS1207において検出された識別色同士の色差に基づいて、前述のステップS306〜S308と同様の処理を行う。
ステップS1211でCPU111は、ステップS1210で生成された色補正用LUTを用いて、色補正領域の画像データに対して補正処理を行うように補正処理部403を制御して、本処理を終了する。またステップS1212でCPU111は、ステップS310で読み出したデフォルトの3次元LUTを用いて、全領域の画像データ(全画像データ)に対して補正処理を行うように補正処理部403を制御して、本処理を終了する。
以上のように、本実施形態では、画像データの中で識別色が検出された領域に対して色補正処理を行う。画像データに写真などの自然画が含まれる場合に、自然画の部分にも色補正処理を行ってしまうと、本来の自然画の色とは異なる色に補正されてしまい、自然画の表示品質を損なうことがある。本実施形態においては、自然画の表示品質を損なうことなく、自然画以外の領域の画像データに含まれる複数の色を識別しやすくすることができる。
(その他の実施形態)
その他の実施形態として、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を装置に供給する構成であってもよい。このとき、供給された装置の制御部を含むコンピュータ(またはCPUやMPU)は、記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現する。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、上述のプログラムコードの指示に基づき、装置上で稼動しているOS(基本システムやオペレーティングシステム)などが処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現されてもよい。さらに、記憶媒体から読み出されたプログラムコードが、装置に挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれ、前述した実施形態の機能が実現されてもよい。このとき、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行う。