JP4506092B2 - 画像処理方法および画像処理装置ならびに表示デバイス - Google Patents
画像処理方法および画像処理装置ならびに表示デバイス Download PDFInfo
- Publication number
- JP4506092B2 JP4506092B2 JP2003088888A JP2003088888A JP4506092B2 JP 4506092 B2 JP4506092 B2 JP 4506092B2 JP 2003088888 A JP2003088888 A JP 2003088888A JP 2003088888 A JP2003088888 A JP 2003088888A JP 4506092 B2 JP4506092 B2 JP 4506092B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- rgb
- image processing
- pixel
- display
- 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
Images
Landscapes
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
- Liquid Crystal Display Device Control (AREA)
- Processing Of Color Television Signals (AREA)
Description
【発明の属する技術分野】
本発明は、RGBサブピクセルを用いてカラー表示を行う表示デバイスに適用される画像処理装置、画像処理プログラム、画像処理方法、並びにこれらを採用した表示デバイスに関するものである。
【0002】
【従来の技術】
カラー液晶ディスプレイ(LCD)やカラー有機ELディスプレイ(OLED)は、携帯電話やノートパソコンをはじめ、薄型テレビやカーナビゲーションシステム、携帯用ゲーム機、PDA、携帯用DVDプレーヤ等といった各種画像情報機器を提供する上で欠くことができない表示デバイスとなってきている。
【0003】
このような表示デバイスは、例えば図4に示すように、3つのRGB発光素子(以下RGBサブピクセル:Sub pixelという。)からなる表示画素(以下、ピクセル:pixelという。)を所定の順序で一方向、図の例では水平方向(x方向)に並べて1ラインを構成し、このラインをさらにこれと直交する方向、つまり垂直方向(y方向)に複数配設することで二次元方向に広がる表示画面を構成し、この3つのRGBサブピクセルを1つのピクセルとして用いることで様々なカラー表示を可能としている。
【0004】
ところで、最近では、このような表示デバイスを用いて高精細な文字描画を可能とする、サブピクセルフォントレンダリング(Sub Pixel Font Rendering Technology)という新しい描画技術が注目されている。
この技術は、例えば、以下の非特許文献1や特許文献1等に示すように、RGB各サブピクセルをそれぞれ個別のモノクロ画素として扱うことで擬似的に解像度の向上を図るようにしたものであり、RGBサブピクセルを1つのピクセルとしてまとめて取り合う従来の描画に対してサブピクセルの並び方向に3倍の高精細描画を可能としたものである(図4の例では水平方向に3倍の高精細描画が可能)。
【0005】
尚、文字表示に関しては、既にMicrosoftのClearType等でこのような、いわゆるサブピクセル描画が行われている。
【0006】
【非特許文献1】
URL http://grc.com
【特許文献1】
特開2002−318561号公報
【0007】
【発明が解決しようとする課題】
ところで、このようなサブピクセル描画で利用されるRGB各サブピクセルは、それぞれ異なる色で発光するため3つのサブピクセルを個別に取り扱うだけでは、意図しない色にじみが発生してしまう。
そのため、従来ではこれを抑えるためにサブピクセル方向へ数サブピクセルの範囲でローパスフィルタ処理を施すようにしており、これによって色にじみを人間の知覚し難い範囲に抑制することが可能となる。
【0008】
しかしながら、このようなローパスフィルタ処理を施すような従来方法によれば、意図しない色にじみを抑制することは可能となるが、表示がぼやける方向に働いてしまい、解像度が低下するといった問題があった。
そこで、本発明はこのような課題を有効に解決するために案出されたものであり、その目的は、色にじみを防ぎながら表示のぼやけをなくして、サブピクセル値をできるだけ維持した高解像度表示を実現することができる新規な画像処理装置及び画像処理プログラム並びに画像処理方法、表示デバイスを提供するものである。
【0009】
【課題を解決するための手段】
〔発明1〕
上記課題を解決するために発明1の画像処理装置は、
RGBそれぞれのサブピクセルを用いてカラー表示するソース画像の1ライン毎の画像データを取得し、その画像データの画像値と注目画素に対応する誤差値を元にRGBそれぞれのサブピクセル値を計算するサブピクセル値計算部と、このサブピクセル値計算部で得られたサブピクセル値と実際に表示するピクセル値との関係により誤差値を計算する誤差計算部と、この誤差計算部で得られた誤差値を拡散して誤差バッファ中に蓄積された誤差値を更新する誤差拡散部と、上記サブピクセル値計算部で計算されたサブピクセルのRGB値を一つのRGBピクセル値として計算する表示ピクセル値計算部と、この表示ピクセル値計算部で得られた一つのRGBピクセル値を表示画面に表示する表示部と、を備えたことを特徴とするものである。
【0010】
これによって、RGB各サブピクセル単位で誤差拡散処理を実施することができるため、いわゆるサブピクセル描画を行った際の見かけ上の解像度を高めることができる。
すなわち、本発明は、サブピクセル描画を行った際に発生する色にじみを防ぐために従来から行われていたローパスフィルタ処理に代えて、あるいはローパスフィルタ処理と共に、誤差拡散処理を採用したものである。
【0011】
この誤差拡散処理とは、プリンタ等で利用されている中間調画像を美しく表示するための疑似中間調処理として代表的なものであり、後述する実施の形態で詳述するように対象画素の誤差をその周囲の画素に拡散(分配)して低周波数成分の見かけ上の階調を向上させて解像度を高める処理である。
この結果、色にじみを防ぐことができることは勿論、従来行われていたローパスフィルタ処理のような、表示がぼやけるといった不都合を招くことがなくなり、サブピクセル値をできるだけ維持した高解像度表示を確実に実現することができる。
【0012】
〔発明2〕
発明2の表示デバイスは、このような構成をした発明1に記載の画像処理装置を備えたことを特徴とするものである。
これによって、LCD等からなる表示画面にカラー画像を表示するに際して色にじみや表示のぼやけがない、サブピクセルを効果的に利用した高解像度な表示を行うことが可能となる。
【0013】
〔発明3〕
発明3の画像処理プログラムは、
コンピュータを、
RGBそれぞれのサブピクセルを用いてカラー表示するソース画像の1ライン毎の画像データを取得し、その画像データの画像値と注目画素に対応する誤差値を元にRGBそれぞれのサブピクセル値を計算するサブピクセル値計算手段と、このサブピクセル値計算手段で得られたサブピクセル値と実際に表示するピクセル値との関係により誤差値を計算する誤差計算手段と、この誤差計算部で得られた誤差値を拡散して誤差バッファ中に蓄積された誤差値を更新する誤差拡散手段と、上記サブピクセル値計算手段で計算されたサブピクセルのRGB値を一つのRGBピクセル値として計算する表示ピクセル値計算手段と、この表示ピクセル値計算手段で得られた一つのRGBピクセル値を表示画面に表示する表示手段と、して機能させることを特徴とするものである。
【0014】
これによって、発明1と同様な効果を得ることができると共に、これら各手段をソフトウェア上で実現することができるため、専用のハードウェアを製作して各機能を実現する場合に比べて、経済的かつ容易に実現することが可能となる。
〔発明4〕
発明4の画像処理プログラムは、
発明3に記載の画像処理プログラムにおいて、
上記コンピュータは、表示デバイスのコンピュータであることを特徴とするものである。
【0015】
すなわち、多くの表示デバイスにその本来の機能を発揮するために元々備わっているコンピュータシステムをそのまま利用すれば、別個、新たにコンピュータシステムを用意して実現する場合に比べて、さらに経済的かつ容易に実現することができる。
〔発明5〕
発明5の表示デバイスは、
発明3に記載の画像処理プログラムによって動作するコンピュータを備えたことを特徴とするものである。
【0016】
これによって、発明1に示すような効果をソフトウェア上で実現することができるため、専用のハードウェアを組み込んで実現する場合に比べてデバイスがコンパクトになると共に、安価に製造・提供することが可能となる。
〔発明6〕
発明6の画像処理方法は、
RGBそれぞれのサブピクセルからなるピクセルを縦横に連続して配置した表示画面に、サブピクセル単位の解像度をもつ画像データをそのサブピクセルを用いて描画するようにした画像処理方法において、
上記画像データに対して誤差拡散処理を行って表示すべき各サブピクセル値を決定し、その決定したサブピクセル値によりピクセル表示を行うようにしたことを特徴とするものである。
【0017】
これによって、発明1と同様に、RGB各サブピクセル単位で誤差拡散処理を実施することができるため、色にじみを防ぐことができることは勿論、従来行われていたローパスフィルタ処理のような、表示がぼやけるといった不都合を招くことがなくなり、サブピクセル値をできるだけ維持した高解像度表示を確実に実現することができる。
【0018】
〔発明7〕
発明7の画像処理方法は、
発明6に記載の画像表示方法において、
上記誤差拡散処理は、上記画像データの各サブピクセル単位に行うようにしたことを特徴とするものである。
【0019】
これによって、ピクセル単位で誤差拡散処理を行うよりも、さらに高い解像度を維持することができるため、より高画質化を達成することができる。
〔発明8〕
発明8の画像処理方法は、
RGBそれぞれのサブピクセルからなるピクセルを縦横に連続して配置した表示画面に、サブピクセル単位の解像度をもつ画像データをそのサブピクセルを用いて描画するようにした画像処理方法において、
上記画像データを輝度と色差に変換し、そのサブピクセル単位の輝度と色差に対してそれぞれ誤差拡散処理を行い、得られた輝度と色差をRGBに変換してサブピクセル値を求め、その輝度と色差それぞれに対して誤差拡散処理を行って表示すべき各サブピクセル値を決定し、その決定したサブピクセル値によりピクセル表示を行うようにしたことを特徴とするものである。
【0020】
すなわち、人間の目は色差に対する感度よりも輝度に対する感度が高いため、画像の種類によっては別々に処理した方が良い場合がある。
従って、本発明のように輝度と色差それぞれに対して誤差拡散処理を行うようにすれば、人間の視覚特性にあった輝度、色差という空間データを用いて処理することができるため、さらなる高画質化及び処理速度の向上等が期待できる。
【0021】
〔発明9〕
発明9の画像処理方法は、
発明8に記載の画像処理方法において、
上記誤差拡散処理をそのサブピクセル単位の輝度のみ、あるいは色差のみに対して行うようにしたことを特徴とするものである。
【0022】
これによって、輝度と色差との両方に対して誤差拡散処理する場合に比べて処理量が大幅に減少するため、処理時間の短縮を図ることができる。特に、この誤差拡散処理は大量の情報を短時間で処理する必要があるため、本発明のように輝度あるいは色差のいずれか一方にのみ処理を施すようにすれば、高速なプロセッサを備えていない表示デバイスや動画等を表示する際には有効である。
【0023】
〔発明10〕
発明10の画像処理方法は、
発明9に記載の画像処理方法において、
上記誤差拡散処理をその輝度あるいは色差のいずれか一方にのみ行った際に、上記誤差拡散処理を施さない他方に対してローパスフィルタ処理を行うようにしたことを特徴とするものである。
【0024】
これによって、発明9のように処理時間の短縮を図りながら、より高画質化を達成することができる。
〔発明11〕
発明11の画像処理方法は、
発明6〜9のいずれかに記載の画像処理方法において、
上記誤差拡散処理は、上記画像データを元のビット数よりも大きいビット数のデータに拡張して計算するようにしたことを特徴とするものである。
【0025】
これによって、誤差拡散の計算時に発生する丸め誤差を減らすことができるため、処理時間を短縮することができると共に、メモリやプロセッサパワー等の必要リソースの低減を図ることができる。
【0026】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照しながら詳述する。
図1は、本発明に係る画像処理装置10の実施の一形態を示したものである。
図示するように、この画像処理装置10は、画像ラインバッファ12と、サブピクセル値計算部14と、誤差計算部16と、誤差拡散部18と、誤差バッファ20と、表示ピクセル値計算部22と、表示部24とから主に構成されており、液晶ディスプレイ等のカラー表示デバイスに組み込まれて用いられるようになっている。
【0027】
ここで、画像ラインバッファ12は、RGBそれぞれのサブピクセルを用いてカラー表示するソース画像Sの1ライン毎の画像データを取得して蓄積する機能を提供するようになっており、サブピクセル値計算部14は、この画像ラインバッファ12に蓄積された画像値と注目画素に対応する誤差値を元にRGBそれぞれのサブピクセル値を計算する機能を提供するようになっている。
【0028】
また、誤差計算部16は、このサブピクセル値計算部14で得られたサブピクセル値と実際に表示するピクセル値との関係により誤差値を計算する機能を提供するようになっており、誤差拡散部18は、この誤差計算部16で得られた誤差値を拡散して誤差バッファ20中に蓄積された誤差値を更新する機能を提供するようになっている。
【0029】
さらに、誤差バッファ20は、このように分散された誤差値を一時的に蓄積する機能を提供するものであり、また、表示ピクセル値計算部22は、サブピクセル値計算部で計算されたサブピクセルのRGB値を一つのRGBピクセル値として計算する機能を提供するようになっており、さらに表示部24は、この表示ピクセル値計算部22で得られた一つのRGBピクセル値をLCD等の表示デバイスの表示画面に表示する機能をそれぞれ提供するようになっている。
【0030】
尚、これら各部12,14,16,18,20,22,24は、液晶ディスプレイ等のカラー表示デバイスに、その本来の機能等を発揮するために元々から備えられたコンピュータシステム(CPUやメインメモリ、バス、入出力インタフェース、ストレージ等)及びこの動作の係わる各種制御プログラムによってソフトウェア上で実現可能となっている。
【0031】
次に、以上のような構成をした画像処理装置10を用いた本発明の画像処理の流れを図2及び図3のフロー、並びに図4に示す概念図等の各図を参照しながら説明する。
対象となるソース画像Sに対して本発明の処理を行うためには、図2のフローに示すように、先ず最初のステップS100において、誤差バッファ20内に蓄積された誤差値の全クリアを行う。
【0032】
ここで、この誤差バッファ20に蓄積される誤差値は、採用する誤差拡散の誤差拡散マトリクス(係数マトリクス)によって異なってくるが、本実施の形態では、一般的に多用されているJavis-Judice-Ninke型を用いた。
このJavis-Judice-Ninke型の誤差拡散マトリクスは、以下の表1に示すように、Xを注目画素とすると注目画素Xにおける誤差値を48等分し、その一つ右隣にそのうちの7を、二つ右隣に5を、次の行の二つ左隣に3を、その行の一つ左隣に5を、その行の同じ位置(列)に7を、その行の一つ右隣に5を、その行の二つ右隣3を、さらにその次の行(2行先)の二つ左隣に1を、その行の一つ左隣に3を、その行の同じ位置(列)に5を、その行の一つ右隣に3を、その行の二つ右隣に1をそれぞれ分配するようにしたものである。
【0033】
つまり、このJavis-Judice-Ninke型は、分散範囲が注目画素Xのラインを含めて3ライン(3行)に亘り、かつ、その分配量が注目画素Xの下流側近傍には多く分配され、Xより離れるに従ってその分配量が減るようになった誤差拡散マトリクスである。
【0034】
【表1】
【0035】
従って、この表1からも分かるように、Javis-Judice-Ninke型の誤差拡散マトリクスによる誤差としては注目画素Xのラインを含めて3ライン分保持する必要があるため、R、G、Bそれぞれサブピクセル解像度に相当する3ライン分の誤差バッファを確保し、最初のステップS100において、そのバッファ全てに0を代入することにより全クリアを行うことになる。
【0036】
尚、本実施の形態では、誤差拡散マトリクスとしてJavis-Judice-Ninke型を採用したが、発明で利用できる誤差拡散マトリクスは、このJavis-Judice-Ninke型の他に、Floyd-Steinberg型、Shiau-Fan型等の他、どのような誤差拡散マトリクスでも適用可能である。
次に、このようにして誤差バッファ20の全クリアを行ったならば、本発明では図4に示すようにソース画像の左上を始点として通常のラスタスキャンにより画像の処理を行っていくため、ライン(行)のカウンタであるyに0を代入して初期化を行う(ステップS102)。
【0037】
次に、ステップS104に移行して、y行目の1ライン分のサブピクセル解像度をもつRGBデータを取得し、それぞれR(x)、G(x)、B(x)という形でアクセスできるようにする。ここで、xは0からwidth−1までの値をとる変数である。尚、このwidthとは1ラインのピクセル解像度でのピクセル数をいう。
次に、ステップS106に移行して横方向のカウンタであるxに0を代入して初期化すると共に、後の計算で用いる一つ手前(一つ左)のG、Bの値であるprevG、p r evBを仮にG(0)、B(0)で初期化する。
【0038】
次に、ステップS108に移行してサブピクセル値の計算に用いるR、G、Bの平均値aveR、aveG、aveBを以下の式により求める。
aveR=(R(x)+R(x+1)+R(x+2))/3
aveG=(G(x)+G(x+1)+G(x+2))/3
aveB=(B(x)+B(x+1)+B(x+2))/3
次に、ステップS110に移行して、先ずRサブピクセルの値(SubR(x))を以下の式を用いて計算する。
SubR(x)=aveR+(R(x)−aveR)/n(n≧1)+errorR(x)
PixelR=INT(SubR(x))
ここで、errorR(x)はR分の誤差バッファにおけるxの位置での誤差値である。
【0039】
また、(R(x)−aveR)をnで割っているが、nが1の場合にはSubR(x)=R(x)+errorR(x)となり、サブピクセルデータのR(x)をそのまま使用することになる。
ただし、その場合には輝度の変化が激しいため、画像データによっては誤差拡散を用いても色にじみが見える場合も出てくる可能性がある。また、誤差マトリクスの種類によっても誤差が収束しない等の場合が出てくる可能性がある。
【0040】
そのため、nの値を誤差マトリクスに応じて適切に設定することによりこれらの問題を解決することができる。
本実施の形態においては上記のようにJavis-Judice-Ninke型を用いているため、n=3に設定することとする。
また、SubR(x)は、これ以外の計算式によっても求めることができることは勿論である。
【0041】
また、PixelRは、表示データのR分を示し、INT()は四捨五入による整数化を示す(RGB24ビットの表示デバイスならばR分は8ビット、つまり0〜255の整数値にする必要があるため)
次に、このようにしてRサブピクセル値SubR(x)、PixelRが計算されたならば、
ステップS112に移行して、今度は仮のSubG′(x)とSubB′(x)を以下の式によって求める。この二つの値は誤差の計算を行うために求めるサブピクセル単位の仮のGとBである。
SubG′(x)=aveG+(G(x)−aveG)/n(n≧1)+errorG(x)
SubB′(x)=aveB+(B(x)−aveB)/n(n≧1)+errorB(x)
次に、このようにして仮のSubG′(x)とSubB′(x)が計算されたならば、さらにステップ114に移行して各RGBの誤差を計算する。
【0042】
ここで誤差をどのようにするかはいろいろ考えられるが、本実施の形態では以下の式でサブピクセルRに対する誤差を計算した。
errorR=SubR(x)−PixelR
errorG=SubG′(x)−prevG
errorB=SubB′(x)−prevB
ここで、R分の誤差値errorRは良いとして、errorG及びerrorBの考え方であるが、現在注目しているピクセルはRピクセルであり、Rのみが点灯するピクセルと考えることができる。
【0043】
そのため、G及びBに関しては、簡易的にその注目ピクセルの一つ手前(一つ左)のG及びBのピクセル値をその注目ピクセルのG値及びB値と考えることとしたのが上記の式である。
従って、その一つ手前のG、Bの値であるprevG、prevBを仮のサブピクセル値SubG′(x)及びSubB′(x)から引いたものをそれぞれG分の誤差値errorG、B分の誤差値errorBとする。
【0044】
次に、このようにして誤差が計算されたならステップS116に移行して、計算した誤差を上記のような誤差拡散マトリクスに基づき分配(拡散)する。
すなわち、R分の誤差バッファに関しては、前述のように対象ラインのR分の誤差バッファをerrorR(x)、次のラインのR分の誤差バッファをerrorR′(x)、さらにその次のラインのR分の誤差バッファをerrorR′′(x)とすると、以下のような12種類の計算を行い、誤差を拡散することができる。
1.errorR(x+1) =errorR(x+1) +(7×errorR)/48
2.errorR(x+2) =errorR(x+2) +(5×errorR)/48
3.errorR′(x-2) =errorR′(x-2) +(3×errorR)/48
4.errorR′(x-1) =errorR′(x-1) +(5×errorR)/48
5.errorR′(x) =errorR′(x) +(7×errorR)/48
6.errorR′(x+1) =errorR′(x+1) +(5×errorR)/48
7.errorR′(x+2) =errorR′(x+2) +(3×errorR)/48
8.errorR′′(x-2)=errorR′′(x-2)+(1×errorR)/48
9.errorR′′(x-1)=errorR′′(x-1)+(3×errorR)/48
10.errorR′′(x) =errorR′′(x) +(5×errorR)/48
11.errorR′′(x+1)=errorR′′(x+1)+(3×errorR)/48
12.errorR′′(x+2)=errorR′′(x+2)+(1×errorR)/48
次に、ステップS118〜S122及び図3に示すようにステップS124〜S128を経て、Rと同様にGのサブピクセル値とBのサブピクセル値をそれぞれ計算し、結果として求められたPixelR、PixelG、PixelBを表示デバイスに表示する24ビットの表示ピクセル値として決定する(ステップS130)。
【0045】
次に、ステップS132に移行してprevG=PixelG、prevB=PixelBに設定すると共に次のステップS134でxに1を足して次のサブピクセルRGB単位の処理を行う。
ただし、1を足した結果、次の判断ステップS136において、xがwidth以上になると判断したとき(NO)は、そのラインのピクセルは全て終了したことになるため、誤差バッファのローテーションを行う(ステップS138)。
【0046】
すなわち、次のライン分の誤差バッファが注目行の誤差バッファとなるようにし、2行先の誤差バッファだったバッファを次の行の誤差バッファにし、2行先分の誤差バッファをクリアすることになる(ステップS140)。
一方、この判断ステップS136において、xがwidthより小さいと判断されれば(YES)、ステップS108まで戻ってxがwidth以上になるまで同様な処理が繰り返されることになる。
【0047】
そして、次の判断ステップS142において、この処理行が最終行か否かが判断され、最終行であると判断された場合(YES)には、そのまま処理を終了するが、最終行でないと判断された場合(NO)には、yを1インクリメントしてから(ステップS144)、ステップS104まで戻って同様に次の行から1行分の処理を再開することになる。
【0048】
尚、上記実施の形態は注目ピクセルが中間のピクセルでのケースを示したものであってピクセルの左端と右端ではそれぞれ境界における例外処理が必要であるが、ここでは説明を割愛する。
また、本実施の形態では、計算は実数で行ったが、整数であっても勿論、構わない。また、その場合には、例えば、8ビットの画像データ(RGBでは24ビット)を16ビット(RGBでは48ビット)に拡張(正規化)し、16ビットで計算した後、8ビットに戻すことにより計算による丸め誤差を減らすことが可能である。
【0049】
次に、このような処理の流れを具体的な数値を用いて説明する。
例えば、ソース画像の10行目の左端のピクセルから処理を考える。
このとき、誤差バッファ20には既に10行目と11行目分の誤差が蓄積されており、12行目分はクリアされた段階である。
この条件で、例えば、R分の誤差バッファには左端から以下の表2に示すような値が入っているとする。
【0050】
尚、ここでは、列が4列で終わっているが、実際にはwidth列まで当然にデータが存在する。また、G、B分の誤差バッファに関しても便宜上Rと同じ値が入っているものとする。
【0051】
【表2】
【0052】
次に、サブピクセル解像度の画像データ(表示の横3倍の解像度)は以下の表3に示すように、左からRGBRGBRGB…というデータになっている。
ここでは列が9列で終わっているが、当然に実際にはwidth列×3までデータが存在する。
【0053】
【表3】
【0054】
そして、これら具体的な数値を元に実際に上記フローに沿って計算していくと、
y=10,x=0、prevG=128、prevB=128
aveR=(R(x)+R(x+1)+R(x+2))/3
=(128+128+200)/3=152
aveG=(G(x)+G(x+1)+G(x+2))/3
=(128+200+200)/3=176
aveB=(B(x)+B(x+1)+B(x+2))/3
=(128+200+200)/3=176
SubR(0)=aveR+(R(x)−aveR)/n(n≧1)+errorR(x)
=152+(128−152)/3+10=154
PixelR=INT(SubR(x))=154
SubG′(0)=aveG+(G(x)−aveG)/n(n≧1)+errorG(x )
=176+(128−173)/3+10=170
SubB′(0)=aveB+(B(x)−aveB)/n(n≧1)+errorB(x)
=176+(128−173)/3+10=170
errorR=SubR(x)−PixelR=154−154=0;
errorG=SubG′(x)−prevG=170−128=42
errorB=SubB′(x)−prevB=170−128=42
という誤差が求まる。
【0055】
ここで、errorRの誤差は0のため、拡散しても誤差バッファの値は変わらないが、errorGの誤差を拡散すると誤差バッファは以下の表4に示すように変更される。
【0056】
【表4】
【0057】
尚、今回の計算は、注目画素が左端の画素のため、その注目画素の左側には誤差は分配されない(できない)。また、errorBに関しても同様に誤差バッファが変更されることになる。
これによって、色にじみを防ぐことができることは勿論、従来行われていたローパスフィルタ処理のような、表示がぼやけるといった不都合を招くことがなくなり、サブピクセル値をできるだけ維持した高解像度表示を確実に実現することができる。
【0058】
次に、本発明の第二の実施の形態を図5及び図6のフローチャート図を参照しながら説明する。
すなわち、本実施の形態はRGB値を輝度(Y)、色差(Cr、Cb)値に変換し、そのY、Cr、Cbに対して誤差拡散処理を施すようにしたものである。
本実施の形態では、図5に示すように最初のステップS200において、上記実施の形態で説明したRGB値の場合と同様に、先ず誤差バッファ20を全クリアする。ここで、誤差バッファはY、Cr、Cbに関する3ライン分のバッファとなる。
【0059】
次に、ラインカウンタyに0を代入して初期化(ステップS202)してから、y行目1ライン分のサブピクセル解像度をもつYCCデータを取得する(ステップS204)。
ここで、RGBとYCCとの相互変換はいろいろな式が考えられるが、本実施の形態では以下のCCIR601という国際規格に基づく変換式を用いてRGBとYCC間の相互変換をすることとした。
【0060】
そのため、ここでは以下の式のR、G、Bにサブピクセル解像度のR(x)、G(x)、B(x)を代入することによってサブピクセル解像度Y(x)、Cr(x)、Cb(x)を1ライン分求める。
Y =0.299×R+0.587×G+0.114×B
Cr=0.511×R−0.428×G−0.083×B
Cb=−0.172×R−0.339×G−0.511×B
R=Y +1.371×Cr
G=Y−0.336×Cb−0.698×Cr
B=Y+1.723×Cb
次に、ステップS206に移行して横方向のカウンタであるxに0を代入して初期化すると共に、後の計算で用いる一つ手前のG、Bの値であるprevG、prevBを仮にG(0)、B(0)で初期化する。
【0061】
次に、ステップS208に移行してサブピクセル値の計算に用いるY、Cr、Cbの平均値aveY、aveCr、aveCbを次式により求める。
aveY =(Y(x)+Y(x+1)+Y(x+2))/3
aveCr=(Cr(x)+Cr(x+1)+Cr(x+2))/3
aveCb=(Cb(x)+Cb(x+1)+Cb(x+2))/3
次に、ステップS210に移行してRサブピクセル分のSubY(x)、SubCr(x)、SubCb(x)を計算する。
【0062】
計算はそれぞれ誤差を足すということで以下の式により行う。また、nの考え方は上記第一の実施の形態と同様である。
SubY(x) =aveY+(Y(x)−aveY)/n+errorY(x)
SubCr(x)=aveCr+(Cr(x)−aveCr)/n+errorCr(x)
SubCb(x)=aveCb+(Cb(x)−aveCb)/n+errorCb(x)
次に、ステップ212に移行してRサブピクセルの表示値PixelRを計算する。計算は上記YCC→RGB変換式に基づき、以下の式を用いて決定する。
PixelR=INT(SubY(x)+1.371SubCr(x))
次に、ステップ214に移行して誤差拡散を行うための前準備としてしきい値(仮の真値、表示する値)に相当するSubY′(x)、SubCr′(x)、SubCb′(x)を簡易的に次式により求める。
SubY′(x)=0.299PixelR+0.587prevG+0.114prevB
SubCr′(x)=0.511PixelR−0.428prevG−0.083prevB
SubCb′(x)=−0.172PixelR−0.339prevG+0.511prevB
次に、ステップ216に移行して以下の式により各YCCの誤差を計算してから、ステップ2186に移行して計算した各誤差をJavis-Judice-Ninke型の誤差拡散マトリクスに基づき分配(拡散)する。
errorY=SubY(x)−SubY′(x)
errorCr=SubCr(x)−SubCr′(x)
errorCb=SubCb(x)−SubCb′(x)
そして、以下のステップS220〜S228及び図6に示すステップS230〜S238に示すように、Rと同様に、Gのサブピクセル値、Bのサブピクセル値をそれぞれ計算し、結果として求められたPixelR、PixelG、PixelBが表示デバイスに表示する24ビットRGB値ということになる(ステップS240)。
【0063】
次に、ステップS242に移行してprevG=PixelG、prevB=PixelBに設定してから、ステップS244に移行してxに1を足して次のサブピクセル単位の処理を行う。
ただし、次の判断ステップS246において、この1を足した結果、xがwidth以上(NO)になれば、そのラインのピクセルは全て処理したことになるため、次のステップS248に移行して誤差ローテンションを行う。
【0064】
すなわち、次のライン分の誤差バッファが注目行の誤差バッファとなるようにし、2行先の誤差バッファだったバッファを次の行の誤差バッファにし、2行先分の誤差バッファをクリアする(ステップS250)。
一方、上記判断ステップS246において、xがwidthよりも小さいとき(YES)は、ステップS208まで戻ってxがwidthに達するまで同様な処理を繰り返すことになる。
【0065】
そして、次の判断ステップS252において、この処理行が最終行に達したか否かを判断し、最終行に達したと判断した(YES)ときはそのまま処理を終了するが、最終行に達していないとき(NO)は、ステップS254に移行してyを1インクリメントしてからステップS204まで戻り、同様な処理を最終行に達するまで繰り返すことになる。
【0066】
このように、輝度と色差それぞれに対して誤差拡散処理を行うようにすれば、人間の視覚特性にあった輝度、色差という空間データを用いて処理することができるため、さらなる高画質化及び処理速度の向上等が期待できる。
尚、本実施の形態でも上記実施の形態と同様に、ピクセルの左端と右端ではそれぞれ境界における例外処理が必要であり、その説明は割愛する。
【0067】
また、本実施の形態ではYCC全てに対して誤差拡散処理を行ったが、人間の目には輝度Yに関する感度が高く色差(Cr、Cb)に関する感度は低いため、誤差拡散処理をYに対してのみ行うだけであっても良い。
これにより、処理量が激減して処理速度が速くなるといった効果が得られる。
また、その場合に色差に関しては従来例にあるような周辺画素値を用いたローパスフィルタ処理を行うことにより、色差のずれを抑えることも可能である。
【0068】
また、これとは反対に、色差(Cr、Cb)のみに誤差拡散処理を施すことも可能である。
その場合に輝度Yに関してはローパスフィルタをかけることも可能であり、これによって、処理時間を減らしながら色にじみを抑えることが可能となる。
さらに、本実施の形態では、画像ラインバッファ12によってソース画像Sの1ライン毎の画像データを取得して蓄積するようにしたが、この画像ラインバッファ12は必ずしも必要となるものでなく、画像データを蓄積せずに取得と同時にそのサブピクセル値を計算するようなケースでは、省略することも可能である。
【図面の簡単な説明】
【図1】画像処理装置の実施の一形態を示すブロック図である。
【図2】ある画像処理方法の前半の流れを示すフローチャート図である。
【図3】ある画像処理方法の後半の流れを示すフローチャート図である。
【図4】サブピクセル及びピクセルの配置の一例を部分拡大概念図である。
【図5】他の画像処理方法の前半の流れを示すフローチャート図である。
【図6】他の画像処理方法の後半の流れを示すフローチャート図である。
【符号の説明】
10…画像処理装置、12…画像ラインバッファ、14…サブピクセル値計算部、16…誤差拡散部、18…誤差拡散部、20…誤差バッファ、22…表示ピクセル値計算部、24…表示部、S…ソース画像。
Claims (3)
- RGBそれぞれのサブピクセルからなるピクセルを縦横に連続して配置した表示画面に、サブピクセル単位の解像度をもつ画像データをそのサブピクセルを用いて描画するようにした画像処理方法において、
上記画像データを輝度と色差に変換し、そのピクセル単位の輝度と色差に対してRGBのサブピクセル単位でそれぞれ誤差拡散処理を行い、得られた輝度と色差をRGBに変換してサブピクセル値を求めて表示すべき各サブピクセル値を決定し、その決定したサブピクセル値によりピクセル表示を行うようにしたことを特徴とする画像処理方法。 - RGBそれぞれのサブピクセルからなるピクセルを縦横に連続して配置した表示画面に、サブピクセル単位の解像度をもつ画像データをそのサブピクセルを用いて描画するようにした画像処理装置であって、
上記画像データを輝度と色差に変換する手段と、そのピクセル単位の輝度と色差に対してRGBのサブピクセル単位でそれぞれ誤差拡散処理を行う手段と、得られた輝度と色差をRGBに変換してサブピクセル値を求めて表示すべき各サブピクセル値を決定する手段と、その決定したサブピクセル値によりピクセル表示を行う手段とを備えたことを特徴とする画像処理装置。 - 請求項2に記載の画像処理装置を備えたことを特徴とする表示デバイス。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003088888A JP4506092B2 (ja) | 2003-03-27 | 2003-03-27 | 画像処理方法および画像処理装置ならびに表示デバイス |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003088888A JP4506092B2 (ja) | 2003-03-27 | 2003-03-27 | 画像処理方法および画像処理装置ならびに表示デバイス |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004294898A JP2004294898A (ja) | 2004-10-21 |
JP4506092B2 true JP4506092B2 (ja) | 2010-07-21 |
Family
ID=33402901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003088888A Expired - Fee Related JP4506092B2 (ja) | 2003-03-27 | 2003-03-27 | 画像処理方法および画像処理装置ならびに表示デバイス |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4506092B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4631322B2 (ja) * | 2004-06-18 | 2011-02-16 | 東芝ライテック株式会社 | 画像表示装置及び画像表示プログラム |
US8547394B2 (en) | 2010-05-21 | 2013-10-01 | Seiko Epson Corporation | Arranging and processing color sub-pixels |
CN116347089B (zh) * | 2023-05-25 | 2024-07-12 | 广州匠芯创科技有限公司 | Jpeg图像处理方法及其装置、电子设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0764505A (ja) * | 1993-08-26 | 1995-03-10 | Fujitsu General Ltd | Pdp駆動方法 |
JPH08248410A (ja) * | 1995-03-15 | 1996-09-27 | Toshiba Corp | カラー画像表示装置 |
JPH09114429A (ja) * | 1995-10-18 | 1997-05-02 | Sanyo Electric Co Ltd | 画像処理装置 |
JP2002135608A (ja) * | 2000-10-25 | 2002-05-10 | Victor Co Of Japan Ltd | 表示装置の誤差拡散処理方法 |
JP2005538396A (ja) * | 2002-09-06 | 2005-12-15 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | カラー画像を変換するための方法および装置 |
-
2003
- 2003-03-27 JP JP2003088888A patent/JP4506092B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0764505A (ja) * | 1993-08-26 | 1995-03-10 | Fujitsu General Ltd | Pdp駆動方法 |
JPH08248410A (ja) * | 1995-03-15 | 1996-09-27 | Toshiba Corp | カラー画像表示装置 |
JPH09114429A (ja) * | 1995-10-18 | 1997-05-02 | Sanyo Electric Co Ltd | 画像処理装置 |
JP2002135608A (ja) * | 2000-10-25 | 2002-05-10 | Victor Co Of Japan Ltd | 表示装置の誤差拡散処理方法 |
JP2005538396A (ja) * | 2002-09-06 | 2005-12-15 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | カラー画像を変換するための方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2004294898A (ja) | 2004-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1417666B1 (en) | Methods and systems for sub-pixel rendering with gamma adjustment and adaptive filtering | |
US7969456B2 (en) | Methods and systems for sub-pixel rendering with adaptive filtering | |
JP5430068B2 (ja) | 表示装置 | |
US7965305B2 (en) | Color display system with improved apparent resolution | |
EP1077445A2 (en) | Device dependent rendering of characters | |
JP4002871B2 (ja) | デルタ構造ディスプレイでのカラー映像の表現方法及びその装置 | |
CN112562576B (zh) | 显示屏光学外部补偿方法、装置及存储介质 | |
KR20110020711A (ko) | 표시단위의 인접영역에서의 픽셀들을 고려한 색역매핑 | |
KR20020008047A (ko) | 표시 방법 | |
US11074888B2 (en) | Image data processing method and apparatus, image display method and apparatus, storage medium and display device | |
US20150235393A1 (en) | Image device and data processing system | |
JP4507279B2 (ja) | 画像処理装置、画像処理方法及びそのプログラム | |
US20070122061A1 (en) | Image processing device, image processing program, and computer-readable recording medium | |
KR20060007054A (ko) | 이미지 데이터의 래스터화를 슈퍼샘플링하는 방법 및시스템 | |
US9591259B2 (en) | Display device and display method | |
JP4506092B2 (ja) | 画像処理方法および画像処理装置ならびに表示デバイス | |
US7940283B2 (en) | Method and apparatus for pixel sampling | |
KR20050088191A (ko) | 저비용 수퍼샘플링 래스터화 | |
CN113793249A (zh) | 一种Pentile图像转换为RGB图像的方法、装置及存储介质 | |
CN101123061A (zh) | 一种子像素格式数据到另一种子像素数据格式的转换 | |
JP2015106318A (ja) | 画像処理装置および画像処理方法 | |
WO2017084038A1 (zh) | 一种图像显示方法、装置、电子设备及存储介质 | |
CN112236811B (zh) | 图像处理装置及记录介质 | |
JP4270795B2 (ja) | カラーディスプレイ用のサブピクセルを再マッピングする方法および装置 | |
JP3466139B2 (ja) | 表示装置、表示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090910 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090915 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100126 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100318 |
|
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: 20100406 |
|
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: 20100419 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 3 |
|
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: 20140514 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |